diff --git a/3rdparty/genie/build/gmake.darwin/genie.make b/3rdparty/genie/build/gmake.darwin/genie.make index 811b331c0e2b0..80630e0ec2677 100644 --- a/3rdparty/genie/build/gmake.darwin/genie.make +++ b/3rdparty/genie/build/gmake.darwin/genie.make @@ -52,11 +52,11 @@ ifeq ($(config),release) DEFINES += -DNDEBUG -DLUA_COMPAT_MODULE -DLUA_USE_MACOSX INCLUDES += -I"../../src/host/lua-5.3.0/src" ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP -MP $(DEFINES) $(INCLUDES) - ALL_ASMFLAGS += $(ASMFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os -m64 -mmacosx-version-min=10.6 - ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os -m64 -mmacosx-version-min=10.6 - ALL_CXXFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os -m64 -mmacosx-version-min=10.6 - ALL_OBJCFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os -m64 -mmacosx-version-min=10.6 - ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os -m64 -mmacosx-version-min=10.6 + ALL_ASMFLAGS += $(ASMFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os $(MPARAM) -mmacosx-version-min=10.6 + ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os $(MPARAM) -mmacosx-version-min=10.6 + ALL_CXXFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os $(MPARAM) -mmacosx-version-min=10.6 + ALL_OBJCFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os $(MPARAM) -mmacosx-version-min=10.6 + ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os $(MPARAM) -mmacosx-version-min=10.6 ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) ALL_LDFLAGS += $(LDFLAGS) -L"." -mmacosx-version-min=10.6 LIBDEPS += @@ -139,11 +139,11 @@ ifeq ($(config),debug) DEFINES += -D_DEBUG -DLUA_COMPAT_MODULE -DLUA_USE_MACOSX INCLUDES += -I"../../src/host/lua-5.3.0/src" ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP -MP $(DEFINES) $(INCLUDES) - ALL_ASMFLAGS += $(ASMFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g -m64 -mmacosx-version-min=10.6 - ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g -m64 -mmacosx-version-min=10.6 - ALL_CXXFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g -m64 -mmacosx-version-min=10.6 - ALL_OBJCFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g -m64 -mmacosx-version-min=10.6 - ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g -m64 -mmacosx-version-min=10.6 + ALL_ASMFLAGS += $(ASMFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g $(MPARAM) -mmacosx-version-min=10.6 + ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g $(MPARAM) -mmacosx-version-min=10.6 + ALL_CXXFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g $(MPARAM) -mmacosx-version-min=10.6 + ALL_OBJCFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g $(MPARAM) -mmacosx-version-min=10.6 + ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g $(MPARAM) -mmacosx-version-min=10.6 ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) ALL_LDFLAGS += $(LDFLAGS) -L"." -mmacosx-version-min=10.6 LIBDEPS += @@ -227,11 +227,11 @@ ifeq ($(config),releaseuniv32) DEFINES += -DNDEBUG -DLUA_COMPAT_MODULE -DLUA_USE_MACOSX INCLUDES += -I"../../src/host/lua-5.3.0/src" ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP -MP $(DEFINES) $(INCLUDES) - ALL_ASMFLAGS += $(ASMFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os -arch i386 -arch ppc -m64 -mmacosx-version-min=10.6 - ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os -arch i386 -arch ppc -m64 -mmacosx-version-min=10.6 - ALL_CXXFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os -arch i386 -arch ppc -m64 -mmacosx-version-min=10.6 - ALL_OBJCFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os -arch i386 -arch ppc -m64 -mmacosx-version-min=10.6 - ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os -arch i386 -arch ppc -m64 -mmacosx-version-min=10.6 + ALL_ASMFLAGS += $(ASMFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os -arch i386 -arch ppc $(MPARAM) -mmacosx-version-min=10.6 + ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os -arch i386 -arch ppc $(MPARAM) -mmacosx-version-min=10.6 + ALL_CXXFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os -arch i386 -arch ppc $(MPARAM) -mmacosx-version-min=10.6 + ALL_OBJCFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os -arch i386 -arch ppc $(MPARAM) -mmacosx-version-min=10.6 + ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os -arch i386 -arch ppc $(MPARAM) -mmacosx-version-min=10.6 ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) ALL_LDFLAGS += $(LDFLAGS) -L"." -arch i386 -arch ppc -mmacosx-version-min=10.6 LIBDEPS += @@ -315,11 +315,11 @@ ifeq ($(config),debuguniv32) DEFINES += -D_DEBUG -DLUA_COMPAT_MODULE -DLUA_USE_MACOSX INCLUDES += -I"../../src/host/lua-5.3.0/src" ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP -MP $(DEFINES) $(INCLUDES) - ALL_ASMFLAGS += $(ASMFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g -arch i386 -arch ppc -m64 -mmacosx-version-min=10.6 - ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g -arch i386 -arch ppc -m64 -mmacosx-version-min=10.6 - ALL_CXXFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g -arch i386 -arch ppc -m64 -mmacosx-version-min=10.6 - ALL_OBJCFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g -arch i386 -arch ppc -m64 -mmacosx-version-min=10.6 - ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g -arch i386 -arch ppc -m64 -mmacosx-version-min=10.6 + ALL_ASMFLAGS += $(ASMFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g -arch i386 -arch ppc $(MPARAM) -mmacosx-version-min=10.6 + ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g -arch i386 -arch ppc $(MPARAM) -mmacosx-version-min=10.6 + ALL_CXXFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g -arch i386 -arch ppc $(MPARAM) -mmacosx-version-min=10.6 + ALL_OBJCFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g -arch i386 -arch ppc $(MPARAM) -mmacosx-version-min=10.6 + ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g -arch i386 -arch ppc $(MPARAM) -mmacosx-version-min=10.6 ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) ALL_LDFLAGS += $(LDFLAGS) -L"." -arch i386 -arch ppc -mmacosx-version-min=10.6 LIBDEPS += diff --git a/3rdparty/genie/build/gmake.freebsd/genie.make b/3rdparty/genie/build/gmake.freebsd/genie.make index 15c88d5c9bb34..ca03504cc93e2 100644 --- a/3rdparty/genie/build/gmake.freebsd/genie.make +++ b/3rdparty/genie/build/gmake.freebsd/genie.make @@ -52,11 +52,11 @@ ifeq ($(config),release) DEFINES += -DNDEBUG -DLUA_COMPAT_MODULE -DLUA_USE_POSIX -DLUA_USE_DLOPEN INCLUDES += -I"../../src/host/lua-5.3.0/src" ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP -MP $(DEFINES) $(INCLUDES) - ALL_ASMFLAGS += $(ASMFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os -m64 -Wno-implicit-fallthrough - ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os -m64 -Wno-implicit-fallthrough - ALL_CXXFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os -m64 -Wno-implicit-fallthrough - ALL_OBJCFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os -m64 -Wno-implicit-fallthrough - ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os -m64 -Wno-implicit-fallthrough + ALL_ASMFLAGS += $(ASMFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os $(MPARAM) -Wno-implicit-fallthrough + ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os $(MPARAM) -Wno-implicit-fallthrough + ALL_CXXFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os $(MPARAM) -Wno-implicit-fallthrough + ALL_OBJCFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os $(MPARAM) -Wno-implicit-fallthrough + ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os $(MPARAM) -Wno-implicit-fallthrough ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) ALL_LDFLAGS += $(LDFLAGS) -L"." -s -rdynamic LIBDEPS += @@ -139,11 +139,11 @@ ifeq ($(config),debug) DEFINES += -D_DEBUG -DLUA_COMPAT_MODULE -DLUA_USE_POSIX -DLUA_USE_DLOPEN INCLUDES += -I"../../src/host/lua-5.3.0/src" ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP -MP $(DEFINES) $(INCLUDES) - ALL_ASMFLAGS += $(ASMFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g -m64 -Wno-implicit-fallthrough - ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g -m64 -Wno-implicit-fallthrough - ALL_CXXFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g -m64 -Wno-implicit-fallthrough - ALL_OBJCFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g -m64 -Wno-implicit-fallthrough - ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g -m64 -Wno-implicit-fallthrough + ALL_ASMFLAGS += $(ASMFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g $(MPARAM) -Wno-implicit-fallthrough + ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g $(MPARAM) -Wno-implicit-fallthrough + ALL_CXXFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g $(MPARAM) -Wno-implicit-fallthrough + ALL_OBJCFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g $(MPARAM) -Wno-implicit-fallthrough + ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g $(MPARAM) -Wno-implicit-fallthrough ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) ALL_LDFLAGS += $(LDFLAGS) -L"." -rdynamic LIBDEPS += diff --git a/3rdparty/genie/build/gmake.linux/genie.make b/3rdparty/genie/build/gmake.linux/genie.make index 251cf897bee6d..e41a020ce9f4e 100644 --- a/3rdparty/genie/build/gmake.linux/genie.make +++ b/3rdparty/genie/build/gmake.linux/genie.make @@ -52,11 +52,11 @@ ifeq ($(config),release) DEFINES += -DNDEBUG -DLUA_COMPAT_MODULE -DLUA_USE_POSIX -DLUA_USE_DLOPEN -D_FILE_OFFSET_BITS=64 INCLUDES += -I"../../src/host/lua-5.3.0/src" ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP -MP $(DEFINES) $(INCLUDES) - ALL_ASMFLAGS += $(ASMFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os -m64 -Wno-implicit-fallthrough - ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os -m64 -Wno-implicit-fallthrough - ALL_CXXFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os -m64 -Wno-implicit-fallthrough - ALL_OBJCFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os -m64 -Wno-implicit-fallthrough - ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os -m64 -Wno-implicit-fallthrough + ALL_ASMFLAGS += $(ASMFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os $(MPARAM) -Wno-implicit-fallthrough + ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os $(MPARAM) -Wno-implicit-fallthrough + ALL_CXXFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os $(MPARAM) -Wno-implicit-fallthrough + ALL_OBJCFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os $(MPARAM) -Wno-implicit-fallthrough + ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os $(MPARAM) -Wno-implicit-fallthrough ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) ALL_LDFLAGS += $(LDFLAGS) -L"." -s -rdynamic LIBDEPS += @@ -139,11 +139,11 @@ ifeq ($(config),debug) DEFINES += -D_DEBUG -DLUA_COMPAT_MODULE -DLUA_USE_POSIX -DLUA_USE_DLOPEN -D_FILE_OFFSET_BITS=64 INCLUDES += -I"../../src/host/lua-5.3.0/src" ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP -MP $(DEFINES) $(INCLUDES) - ALL_ASMFLAGS += $(ASMFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g -m64 -Wno-implicit-fallthrough - ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g -m64 -Wno-implicit-fallthrough - ALL_CXXFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g -m64 -Wno-implicit-fallthrough - ALL_OBJCFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g -m64 -Wno-implicit-fallthrough - ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g -m64 -Wno-implicit-fallthrough + ALL_ASMFLAGS += $(ASMFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g $(MPARAM) -Wno-implicit-fallthrough + ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g $(MPARAM) -Wno-implicit-fallthrough + ALL_CXXFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g $(MPARAM) -Wno-implicit-fallthrough + ALL_OBJCFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g $(MPARAM) -Wno-implicit-fallthrough + ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g $(MPARAM) -Wno-implicit-fallthrough ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) ALL_LDFLAGS += $(LDFLAGS) -L"." -rdynamic LIBDEPS += diff --git a/hash/a2600.xml b/hash/a2600.xml index f1c66a274a442..4709643c958c4 100644 --- a/hash/a2600.xml +++ b/hash/a2600.xml @@ -6186,6 +6186,47 @@ MOS Atari-made game NTSC ROMs had a CO16xxx number and PAL ROMs had CO17xxx numb + + + Fix-It Felix Sr. + 2013 + Cybearg + + + + + + + + + + + Fix-It Felix Sr. (PAL) + 2013 + Cybearg + + + + + + + + + + + + Fix-It Felix Sr. (PAL60) + 2013 + Cybearg + + + + + + + + + Festival (PAL) 1983 diff --git a/hash/abc832_flop.xml b/hash/abc832_flop.xml index cc39b1704a132..44f8181bb3901 100644 --- a/hash/abc832_flop.xml +++ b/hash/abc832_flop.xml @@ -406,4 +406,60 @@ license:CC0-1.0 + + Teletex 800 + 1986 + Luxor + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/hash/amiga_cd.xml b/hash/amiga_cd.xml new file mode 100644 index 0000000000000..231745ce83cac --- /dev/null +++ b/hash/amiga_cd.xml @@ -0,0 +1,166 @@ + + + + + + + + + + Kang Fu + 1996 + GREat Effects Development (GREED) + + + + + + + + + + + + Aminet Games + 2000 + Schatztruhe + + + + + + + + + + Ten on Ten Compilation (Europe) + 1995 + Almathera + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/hash/amiga_hardware.xml b/hash/amiga_hardware.xml index 79401555fdd35..7d08fb3c08b9c 100644 --- a/hash/amiga_hardware.xml +++ b/hash/amiga_hardware.xml @@ -143,4 +143,28 @@ license:CC0-1.0 + + Rainbow II Diashow Professional V1.92 + 1992 + Omega Datentechnik + + + + + + + + + + RainbowPainter V0.99b + 1992 + Omega Datentechnik + + + + + + + + diff --git a/hash/apple2_flop_misc.xml b/hash/apple2_flop_misc.xml index f7a0b9fcf0407..b030248391f72 100644 --- a/hash/apple2_flop_misc.xml +++ b/hash/apple2_flop_misc.xml @@ -49,6 +49,25 @@ Generated by SLIST 0.2.1 + + Apple II Diagnostic Disk (version 3.1)(800K 3.5") + 1991 + Apple Computer + + + + + + + + + + AppleWorks (Version 1.2, USA) 1983 diff --git a/hash/cassvisn_cart.xml b/hash/cassvisn_cart.xml index 9fbb64e17bb68..fc95747bfd9ed 100644 --- a/hash/cassvisn_cart.xml +++ b/hash/cassvisn_cart.xml @@ -29,7 +29,7 @@ Note on PRG size (from CPU documentation) Physically, 128 * 15 * 12 = 23,040 bits Logically, 127 * 15 * 12 = 22,860 bits (as final word of each page is inaccessible by the CPU) -the ROM files below store 12 bit in a 16-bit word with 4 bits unused, so 128 * 15 * (12+4) +the ROM files below store 12 bit in a 16-bit word with 4 bits unused, so 128 * 15 * (12+4) --> @@ -43,7 +43,7 @@ the ROM files below store 12 bit in a 16-bit word with 4 bits unused, so 128 * 1 - + @@ -65,7 +65,7 @@ the ROM files below store 12 bit in a 16-bit word with 4 bits unused, so 128 * 1 - + Galaxian @@ -76,7 +76,7 @@ the ROM files below store 12 bit in a 16-bit word with 4 bits unused, so 128 * 1 - + @@ -92,7 +92,7 @@ the ROM files below store 12 bit in a 16-bit word with 4 bits unused, so 128 * 1 - + @@ -211,5 +211,5 @@ the ROM files below store 12 bit in a 16-bit word with 4 bits unused, so 128 * 1 - + diff --git a/hash/cd32.xml b/hash/cd32.xml index 4e27a0023e68b..035ba8699f0e4 100644 --- a/hash/cd32.xml +++ b/hash/cd32.xml @@ -75,7 +75,6 @@ license:CC0-1.0 James Pond 3: Operation Starfi5h [Kixx] John Barnes European Football Jungle Strike - Kang Fu (AmigaCD) Karaoke: Julsånger I Kingpin: Arcade Sports Bowling Labyrinth Of Time, The diff --git a/hash/cdtv.xml b/hash/cdtv.xml index 011f89b0a2a5a..c592be9bebdff 100644 --- a/hash/cdtv.xml +++ b/hash/cdtv.xml @@ -2665,129 +2665,4 @@ cd32: boot OK - - - - - - Ten on Ten Compilation (Europe) - 1995 - Almathera - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/hash/cpc_cass.xml b/hash/cpc_cass.xml index e3a81eed1d775..a5b562bb3d130 100644 --- a/hash/cpc_cass.xml +++ b/hash/cpc_cass.xml @@ -449,6 +449,8 @@ Please stick to using the floppy versions for the time being... 3D Boxing (UK) 1985 Amsoft + + @@ -489,6 +491,8 @@ Please stick to using the floppy versions for the time being... 3D Fight (France) 1985 Loriciels + + @@ -501,6 +505,8 @@ Please stick to using the floppy versions for the time being... 3D Grand Prix (UK) 1985 Amsoft + + @@ -573,6 +579,8 @@ Please stick to using the floppy versions for the time being... 3D Stunt Rider (UK) 1985 Amsoft + + @@ -598,6 +606,8 @@ Please stick to using the floppy versions for the time being... 3D-Invaders (UK) 1985 Amsoft + + @@ -623,6 +633,8 @@ Please stick to using the floppy versions for the time being... 3D-Sub (France) 1985 Loriciels + + @@ -647,6 +659,7 @@ Please stick to using the floppy versions for the time being... 4 Game Pack No. 1 (UK) 1991 Atlantis Software + @@ -664,6 +677,7 @@ Please stick to using the floppy versions for the time being... 4 Game Pack No. 2 (UK) 1992 Atlantis Software + @@ -681,6 +695,7 @@ Please stick to using the floppy versions for the time being... 4 Game Pack No. 3 (UK) 1992 Atlantis Software + @@ -799,7 +814,8 @@ Please stick to using the floppy versions for the time being... 500cc Grand Prix (UK) 1986 - Microids + Microïds + @@ -809,9 +825,11 @@ Please stick to using the floppy versions for the time being... - Le 5eme Axe (France) + Le 5ème Axe (France) 1985 Loriciels + + @@ -915,6 +933,7 @@ Please stick to using the floppy versions for the time being... A 320 (France) 1988 Loriciels + @@ -1227,6 +1246,8 @@ Please stick to using the floppy versions for the time being... Admiral Graf Spee (UK) 1984 Amsoft + + @@ -1240,6 +1261,7 @@ Please stick to using the floppy versions for the time being... Admiral Graf Spee (Spain) 1984 Amsoft + @@ -1250,9 +1272,9 @@ Please stick to using the floppy versions for the time being... - Advanced Destroyer Simulator (Spain) + A.D.S. - Advanced Destroyer Simulator (Spain) 1990 - Loriciels + Futura / Proein Soft Line @@ -1471,6 +1493,8 @@ Please stick to using the floppy versions for the time being... L'Aigle d'Or (France) 1986 Loriciels + + @@ -1485,9 +1509,9 @@ Please stick to using the floppy versions for the time being... - Air Traffic Control (UK) + Heathrow International Air Traffic Control (UK) 1984 - Hewson + Hewson Consultants @@ -1532,6 +1556,8 @@ Please stick to using the floppy versions for the time being... Airwolf (UK) 1985 Amsoft + + @@ -1544,6 +1570,8 @@ Please stick to using the floppy versions for the time being... Airwolf (UK, alt) 1985 Amsoft + + @@ -1636,9 +1664,11 @@ Please stick to using the floppy versions for the time being... - Alex Higgins World Pool (UK) + Alex Higgins' World Pool (UK) 1985 Amsoft + + @@ -1648,9 +1678,11 @@ Please stick to using the floppy versions for the time being... - Alex Higgins World Snooker (UK) + Alex Higgins' World Snooker (UK) 1985 Amsoft + + @@ -1687,6 +1719,8 @@ Please stick to using the floppy versions for the time being... Alien (UK) 1985 Amsoft + + @@ -1723,8 +1757,10 @@ Please stick to using the floppy versions for the time being... Alien Break-In (UK) 1985 Amsoft + + - + @@ -1855,6 +1891,8 @@ Please stick to using the floppy versions for the time being... Alpine Games (UK) 1987 Atlantis Software + + @@ -2098,6 +2136,8 @@ Please stick to using the floppy versions for the time being... American Football (UK) 1984 Amsoft + + @@ -2160,9 +2200,11 @@ Please stick to using the floppy versions for the time being... - Amlettres (France) + Amlettres - Traitement de Textes (France) 1984 Amsoft France + + @@ -2201,9 +2243,10 @@ Please stick to using the floppy versions for the time being... - Amsbase (Spain) + Amsbase - Base de Datos (Spain) 1984 Amsoft + @@ -2242,6 +2285,8 @@ Please stick to using the floppy versions for the time being... AmsGolf (UK) 1984 Amsoft + + @@ -2345,6 +2390,7 @@ Please stick to using the floppy versions for the time being... Amstest 1985 Amsoft + @@ -2537,9 +2583,11 @@ Please stick to using the floppy versions for the time being... - Amstroid (France) + Amstroïd (France) 1985 Sprites + + @@ -2587,7 +2635,7 @@ Please stick to using the floppy versions for the time being... Anarchy (UK) 1988 - Hewson + Hewson Consultants @@ -2693,9 +2741,11 @@ Please stick to using the floppy versions for the time being... - Animal / Vegetable / Mineral (UK) + Animal, Vegetable, Mineral (UK) 1984 Amsoft + + @@ -2705,7 +2755,7 @@ Please stick to using the floppy versions for the time being... - Animal / Vegetal / Mineral (France) + Animal, Vegetal, Mineral (France) 1984 Amsoft @@ -2717,9 +2767,10 @@ Please stick to using the floppy versions for the time being... - Animal / Vegetable / Mineral (Spain) + Animal, Vegetable, Mineral (Spain) 1984 Amsoft + @@ -2872,6 +2923,8 @@ Please stick to using the floppy versions for the time being... L'Apprenti Sorcier (France) 1985 Amsoft + + @@ -3267,6 +3320,8 @@ Please stick to using the floppy versions for the time being... Asalto (Spain) 1985 Amsoft + + @@ -3368,6 +3423,8 @@ Please stick to using the floppy versions for the time being... Astro Attack (UK) 1984 Amsoft + + @@ -3427,7 +3484,7 @@ Please stick to using the floppy versions for the time being... Athlete (France) 1986 - Microids + Microïds @@ -3464,6 +3521,8 @@ Please stick to using the floppy versions for the time being... Atom Smasher (Spain) 1984 Amsoft + + @@ -3476,6 +3535,8 @@ Please stick to using the floppy versions for the time being... Atom Smasher (UK) 1984 Amsoft + + @@ -3488,6 +3549,7 @@ Please stick to using the floppy versions for the time being... Atomic Driver (France) 1988 Loriciels + @@ -3606,6 +3668,9 @@ Please stick to using the floppy versions for the time being... Automec (France) 1985 Loriciels + + + @@ -3795,6 +3860,7 @@ Please stick to using the floppy versions for the time being... Bactron (UK) 1986 Loriciels + @@ -3807,6 +3873,8 @@ Please stick to using the floppy versions for the time being... Bactron (France) 1986 Loriciels + + @@ -4375,7 +4443,7 @@ Please stick to using the floppy versions for the time being... Battle Valley (UK) 1988 - Hewson + Hewson Consultants @@ -4703,6 +4771,8 @@ Please stick to using the floppy versions for the time being... Billar - Snooker (UK) 1984 Amsoft + + @@ -4715,6 +4785,8 @@ Please stick to using the floppy versions for the time being... Billy La Banlieue (France) 1986 Loriciels + + @@ -4726,7 +4798,8 @@ Please stick to using the floppy versions for the time being... Billy La Banlieue (Spain) 1986 - Loriciels + Loriciels / Proein Soft Line + @@ -4848,6 +4921,7 @@ Please stick to using the floppy versions for the time being... Birdie (UK) 1987 Ere Informatique + @@ -4983,6 +5057,8 @@ Please stick to using the floppy versions for the time being... Blagger (UK, AMSoft) 1985 Amsoft + + @@ -5330,6 +5406,8 @@ Please stick to using the floppy versions for the time being... Boinggg! (UK) 1988 Atlantis Software + + @@ -5676,6 +5754,8 @@ Please stick to using the floppy versions for the time being... Braxx Bluff (UK) 1985 Amsoft + + @@ -5773,6 +5853,8 @@ Please stick to using the floppy versions for the time being... Bridge-It (UK) 1984 Amsoft + + @@ -6718,6 +6800,8 @@ Please stick to using the floppy versions for the time being... Catastrophes - Ile Infernale (UK) 1985 Amsoft + + @@ -6802,6 +6886,7 @@ Please stick to using the floppy versions for the time being... Cavemania (UK) 1991 Atlantis Software + @@ -6838,6 +6923,9 @@ Please stick to using the floppy versions for the time being... Centre Court (Spain) 1984 Amsoft + + + @@ -7335,7 +7423,7 @@ Please stick to using the floppy versions for the time being... Chicago 90 (France) 1989 - Microids + Microïds @@ -7360,6 +7448,8 @@ Please stick to using the floppy versions for the time being... Des Chiffres et des Lettres (France) 1987 Loriciels + + @@ -7372,6 +7462,8 @@ Please stick to using the floppy versions for the time being... Les Chiffres Magiques (France) 1984 Amsoft + + @@ -7441,7 +7533,7 @@ Please stick to using the floppy versions for the time being... The Chip Factory Featuring 'Technician Ted' (UK) 1984 - Hewson + Hewson Consultants @@ -7729,7 +7821,7 @@ Please stick to using the floppy versions for the time being... City Slicker (UK) 1986 - Hewson + Hewson Consultants @@ -7742,6 +7834,8 @@ Please stick to using the floppy versions for the time being... Classic Adventure (UK) 1984 Amsoft + + @@ -7868,6 +7962,8 @@ Please stick to using the floppy versions for the time being... Classic Racing (UK) 1985 Amsoft + + @@ -8059,6 +8155,9 @@ Please stick to using the floppy versions for the time being... Codename Mat (UK) 1985 Amsoft + + + @@ -8980,9 +9079,9 @@ Please stick to using the floppy versions for the time being... - Cours de Solfege, Niveau 1 (France) + Cours de Solfège, Niveau 1 (France) 1984 - TMPI + Techni-Musique & Parole Informatique (TMPI) @@ -8992,9 +9091,11 @@ Please stick to using the floppy versions for the time being... - La Course a la Boussole (France) + La Course à la Boussole (France) 1984 Amsoft + + @@ -9089,6 +9190,7 @@ Please stick to using the floppy versions for the time being... Crack-Up (UK) 1989 Atlantis Software + @@ -9173,6 +9275,8 @@ Please stick to using the floppy versions for the time being... Crazy Golf (UK) 1984 Amsoft + + @@ -9196,7 +9300,7 @@ Please stick to using the floppy versions for the time being... Crazy Shot (Spain) 1989 - Loriciels + Loriciels / Proein Soft Line @@ -9291,6 +9395,8 @@ Please stick to using the floppy versions for the time being... Crossfire (UK) 1990 Atlantis Software + + @@ -9385,6 +9491,8 @@ Please stick to using the floppy versions for the time being... Cubit (UK) 1985 Amsoft + + @@ -9556,7 +9664,9 @@ Please stick to using the floppy versions for the time being... Cybernoid (UK) 1988 - Hewson + Hewson Consultants + + @@ -9568,7 +9678,9 @@ Please stick to using the floppy versions for the time being... Cybernoid II (UK) 1988 - Hewson + Hewson Consultants + + @@ -9617,6 +9729,8 @@ Please stick to using the floppy versions for the time being... Cyrus II Chess (UK) 1985 Amsoft + + @@ -10485,7 +10599,7 @@ Please stick to using the floppy versions for the time being... Deliverance (UK) 1990 - Hewson + Hewson Consultants @@ -10498,7 +10612,7 @@ Please stick to using the floppy versions for the time being... Deliverance (Spain) 1990 - Hewson + Hewson Consultants @@ -10691,6 +10805,9 @@ Please stick to using the floppy versions for the time being... Detective (UK) 1984 Amsoft + + + @@ -10763,6 +10880,8 @@ Please stick to using the floppy versions for the time being... DFM 464 (UK) 1984 Amsoft + + @@ -10789,9 +10908,11 @@ Please stick to using the floppy versions for the time being... - Le Diamant de l'Ile Maudite (France) + Le Diamant de l'Île Maudite (France) 1985 Loriciels + + @@ -10833,6 +10954,8 @@ Please stick to using the floppy versions for the time being... Dianne - Mission Rubidiums (France) 1985 Loriciels + + @@ -11360,6 +11483,8 @@ Please stick to using the floppy versions for the time being... Doors of Doom (UK) 1985 Amsoft + + @@ -11691,6 +11816,8 @@ Please stick to using the floppy versions for the time being... Dragon's Gold (UK) 1985 Amsoft + + @@ -11731,7 +11858,8 @@ Please stick to using the floppy versions for the time being... The Dragontorc of Avalon (UK) 1985 - Hewson + Hewson Consultants + @@ -11917,9 +12045,11 @@ Please stick to using the floppy versions for the time being... - Dungeons Amethysts Alchemists (UK) + Dungeons, Amethysts, Alchemists (UK) 1987 Atlantis Software + + @@ -12156,6 +12286,9 @@ Please stick to using the floppy versions for the time being... Easi-Amsword (UK) 1984 Amsoft + + + @@ -12168,6 +12301,9 @@ Please stick to using the floppy versions for the time being... Easi-Amsword (Spain) 1984 Amsoft + + + @@ -12177,9 +12313,11 @@ Please stick to using the floppy versions for the time being... - Easy Topword (Germany) + Easy-Topword - Textverarbeitung (Germany) 1984 - Schneider Computer Software + Schneider Computer Division + + @@ -12273,7 +12411,7 @@ Please stick to using the floppy versions for the time being... Eddie Edwards Super Ski (UK) 1988 - Loriciels + Loriciels / Microïds @@ -12295,9 +12433,12 @@ Please stick to using the floppy versions for the time being... - Edit-Music (France) + Music Edit (France) 1985 Sprites + + + @@ -12426,6 +12567,8 @@ Please stick to using the floppy versions for the time being... Electro Freddy (UK) 1984 Amsoft + + @@ -12485,7 +12628,7 @@ Please stick to using the floppy versions for the time being... Eliminator (UK) 1988 - Hewson + Hewson Consultants @@ -12599,6 +12742,8 @@ Please stick to using the floppy versions for the time being... Empire (France, Loriciels) 1985 Loriciels + + @@ -12898,6 +13043,8 @@ Please stick to using the floppy versions for the time being... Escape From Khoshima (UK) 1986 Atlantis Software + + @@ -13144,7 +13291,8 @@ Please stick to using the floppy versions for the time being... Evening Star (UK) 1987 - Hewson + Hewson Consultants + @@ -13186,7 +13334,7 @@ Please stick to using the floppy versions for the time being... Everyone's A Wally - Meet The Gang (UK, Mikro-Gen) 1985 - Mikro-gen + Mikro-Gen @@ -13234,7 +13382,8 @@ Please stick to using the floppy versions for the time being... Exolon (UK) 1987 - Hewson + Hewson Consultants + @@ -13246,7 +13395,7 @@ Please stick to using the floppy versions for the time being... Exolon (Spain) 1987 - Hewson + Hewson Consultants / Erbe Software @@ -13565,7 +13714,8 @@ Please stick to using the floppy versions for the time being... Fantasia Diamond (UK) 1985 - Hewson + Hewson Consultants + @@ -13623,6 +13773,8 @@ Please stick to using the floppy versions for the time being... The Fantastic Voyage (UK) 1985 Amsoft + + @@ -13632,7 +13784,7 @@ Please stick to using the floppy versions for the time being... - Fantome City (France) + Fantôme City (France) 1986 Coktel Vision @@ -13973,7 +14125,8 @@ Please stick to using the floppy versions for the time being... Firelord (UK) 1986 - Hewson + Hewson Consultants + @@ -14114,6 +14267,8 @@ Please stick to using the floppy versions for the time being... Flash (France) 1987 Loriciels + + @@ -14608,6 +14763,8 @@ Please stick to using the floppy versions for the time being... Frank 'N' Stein (UK) 1985 Amsoft + + @@ -14849,6 +15006,8 @@ Please stick to using the floppy versions for the time being... Fruit Machine (UK) 1984 Amsoft + + @@ -14897,6 +15056,8 @@ Please stick to using the floppy versions for the time being... Fu-Kung In Las Vegas (UK) 1985 Amsoft + + @@ -15076,6 +15237,7 @@ Please stick to using the floppy versions for the time being... Fusion II (France) 1988 Loriciels + @@ -15182,6 +15344,8 @@ Please stick to using the floppy versions for the time being... The Galactic Plague (UK) 1984 Amsoft + + @@ -15235,6 +15399,9 @@ Please stick to using the floppy versions for the time being... The Game of Dragons (UK) 1985 Amsoft + + + @@ -15466,6 +15633,9 @@ Please stick to using the floppy versions for the time being... Gatecrasher (UK) 1986 Amsoft + + + @@ -15686,6 +15856,9 @@ Please stick to using the floppy versions for the time being... Gems of Stradus (UK, Amsoft, BASIC 1.0) 1985 Amsoft + + + @@ -15875,9 +16048,11 @@ Please stick to using the floppy versions for the time being... - Gestion de Fichier CPC 464 (France) + Gestion de Fichier (France) 1984 Sprites + + @@ -16080,6 +16255,8 @@ Please stick to using the floppy versions for the time being... Glen Hoddle Soccer (UK) 1985 Amsoft + + @@ -16293,7 +16470,8 @@ Please stick to using the floppy versions for the time being... Grand Prix 500cc (France) 1986 - Microids + Microïds + @@ -16305,7 +16483,7 @@ Please stick to using the floppy versions for the time being... Grand Prix 500cc (Spain) 1986 - Microids + Microïds / Proein Soft Line @@ -16330,6 +16508,8 @@ Please stick to using the floppy versions for the time being... Grand Prix Driver (UK) 1984 Amsoft + + @@ -16484,6 +16664,8 @@ Please stick to using the floppy versions for the time being... Graphisto (France, BASIC 1.0) 1985 Sprites + + @@ -16777,7 +16959,7 @@ Please stick to using the floppy versions for the time being... Guardians (UK) 1991 - Loriciels + Loriciel @@ -16894,6 +17076,8 @@ Please stick to using the floppy versions for the time being... Gunfighter (UK) 1990 Atlantis Software + + @@ -17129,6 +17313,8 @@ Please stick to using the floppy versions for the time being... Happy Letters (UK) 1984 Amsoft + + @@ -17141,6 +17327,8 @@ Please stick to using the floppy versions for the time being... Happy Numbers (UK) 1984 Amsoft + + @@ -17153,6 +17341,8 @@ Please stick to using the floppy versions for the time being... Happy Writing (UK) 1984 Amsoft + + @@ -17200,7 +17390,7 @@ Please stick to using the floppy versions for the time being... Harricana - Raid International Motoneige (France) 1990 - Loriciels + Loriciel @@ -17213,6 +17403,8 @@ Please stick to using the floppy versions for the time being... Harrier Attack (UK) 1984 Amsoft + + @@ -17273,6 +17465,8 @@ Please stick to using the floppy versions for the time being... Haunted Hedges (UK) 1984 Amsoft + + @@ -17501,6 +17695,8 @@ Please stick to using the floppy versions for the time being... Heliot (France) 1984 Sprites + + @@ -17813,7 +18009,7 @@ Please stick to using the floppy versions for the time being... Hit Sports 1991 - Loriciels + Loriciel @@ -18060,11 +18256,13 @@ Please stick to using the floppy versions for the time being... Loriciels + + @@ -18075,13 +18273,16 @@ Please stick to using the floppy versions for the time being... Les Hits 2 de Loriciels (France) 1987 Loriciels + + + @@ -18128,6 +18329,8 @@ Please stick to using the floppy versions for the time being... Hobgoblin (UK) 1991 Atlantis Software + + @@ -18446,6 +18649,8 @@ Please stick to using the floppy versions for the time being... Hunchback (UK, v1) 1985 Amsoft + + @@ -18458,6 +18663,8 @@ Please stick to using the floppy versions for the time being... Hunchback (UK, v2) 1985 Amsoft + + @@ -18562,6 +18769,8 @@ Please stick to using the floppy versions for the time being... Hunter Killer (UK) 1984 Amsoft + + @@ -18855,7 +19064,8 @@ Please stick to using the floppy versions for the time being... Impossaball (UK) 1987 - Hewson + Hewson Consultants + @@ -19044,6 +19254,8 @@ Please stick to using the floppy versions for the time being... Infernal Runner (France) 1985 Loriciels + + @@ -19448,6 +19660,8 @@ Please stick to using the floppy versions for the time being... Isoleur (France) 1985 Sprites + + @@ -19731,6 +19945,8 @@ Please stick to using the floppy versions for the time being... Jammin (UK) 1985 Amsoft + + @@ -19807,6 +20023,8 @@ Please stick to using the floppy versions for the time being... Jet-Boot Jack (UK) 1984 Amsoft + + @@ -20181,6 +20399,7 @@ Please stick to using the floppy versions for the time being... K.Y.A. (France) 1987 Loriciels + @@ -21027,6 +21246,8 @@ Please stick to using the floppy versions for the time being... Laserwarp (UK) 1985 Amsoft + + @@ -21164,6 +21385,8 @@ Please stick to using the floppy versions for the time being... League Challenge (UK) 1987 Atlantis Software + + @@ -22040,6 +22263,8 @@ Please stick to using the floppy versions for the time being... Macrocosmica (UK) 1986 Amsoft + + @@ -22381,6 +22606,8 @@ Please stick to using the floppy versions for the time being... Manic Miner (UK, Amsoft, BASIC 1.0) 1984 Amsoft + + @@ -22466,6 +22693,8 @@ Please stick to using the floppy versions for the time being... Map Rally (UK) 1984 Amsoft + + @@ -22513,7 +22742,7 @@ Please stick to using the floppy versions for the time being... Marauder (UK) 1988 - Hewson + Hewson Consultants @@ -22574,6 +22803,8 @@ Please stick to using the floppy versions for the time being... Marius Tresor Foot (France) 1985 Loriciels + + @@ -22658,6 +22889,8 @@ Please stick to using the floppy versions for the time being... MasterChess (UK, Amsoft) 1984 Amsoft + + @@ -22951,7 +23184,7 @@ Please stick to using the floppy versions for the time being... Maze Mania (Spain) 1989 - Hewson + Hewson Consultants / Erbe Software @@ -23248,7 +23481,7 @@ Please stick to using the floppy versions for the time being... - Menace sur l'Arctique (France) + Les Aventures du Ka 6 - Menace sur l'Arctique (France) 1987 Chip @@ -23460,7 +23693,7 @@ Please stick to using the floppy versions for the time being... - Meurtre a Grande Vitesse (France) + Meurtre à Grande Vitesse (France) 1985 Cobra Soft @@ -24065,6 +24298,7 @@ Please stick to using the floppy versions for the time being... Mobile Man (France) 1990 Loriciels + @@ -24322,7 +24556,7 @@ Please stick to using the floppy versions for the time being... Moon Blaster (UK) 1990 - Loriciels + Loriciel @@ -24340,6 +24574,7 @@ Please stick to using the floppy versions for the time being... Moontorc (UK) 1991 Atlantis Software + @@ -24608,6 +24843,8 @@ Please stick to using the floppy versions for the time being... Mr. Wong's Loopy Laundry (UK, v2) 1984 Amsoft + + @@ -24620,6 +24857,8 @@ Please stick to using the floppy versions for the time being... Mr. Wong's Loopy Laundry (UK) 1984 Amsoft + + @@ -24855,6 +25094,8 @@ Please stick to using the floppy versions for the time being... Mutant Monty (UK) 1984 Amsoft + + @@ -24922,9 +25163,12 @@ Please stick to using the floppy versions for the time being... - Le Mystere de Kikekankoi (France) + Le Mystère de Kikekankoi (France) 1985 Loriciels + + + @@ -25139,7 +25383,7 @@ Please stick to using the floppy versions for the time being... Nebulus (UK) 1988 - Hewson + Hewson Consultants @@ -25211,7 +25455,8 @@ Please stick to using the floppy versions for the time being... Netherworld (UK) 1988 - Hewson + Hewson Consultants + @@ -25812,6 +26057,8 @@ Please stick to using the floppy versions for the time being... Nuclear Defence (UK) 1986 Amsoft + + @@ -25847,7 +26094,8 @@ Please stick to using the floppy versions for the time being... Number Painter (UK) 1984 - ASK + Applied Systems Knowledge (ASK) + @@ -25961,7 +26209,7 @@ Please stick to using the floppy versions for the time being... Ocean Conqueror (UK) 1988 - Hewson + Hewson Consultants @@ -26039,6 +26287,8 @@ Please stick to using the floppy versions for the time being... Oh Mummy (UK) 1984 Amsoft + + @@ -26051,6 +26301,8 @@ Please stick to using the floppy versions for the time being... Oh Mummy (Spain) 1984 Amsoft + + @@ -26121,9 +26373,10 @@ Please stick to using the floppy versions for the time being... - Olympiad (UK) + Olympiad '86 (UK) 1986 Atlantis Software + @@ -26649,7 +26902,7 @@ Please stick to using the floppy versions for the time being... Panza Kick Boxing (France) 1990 - Loriciels + Futura @@ -26666,7 +26919,7 @@ Please stick to using the floppy versions for the time being... Panza Kick Boxing (Spain) 1990 - Loriciels + Futura / Proein Soft Line @@ -26920,9 +27173,11 @@ Please stick to using the floppy versions for the time being... - Pearl Harbour (France, BASIC 1.0) + Pearl Harbor (France, BASIC 1.0) 1985 Sprites + + @@ -27057,6 +27312,7 @@ Please stick to using the floppy versions for the time being... Periscope Up (UK) 1989 Atlantis Software + @@ -27213,11 +27469,13 @@ Please stick to using the floppy versions for the time being... Loriciels + + @@ -27326,7 +27584,7 @@ Please stick to using the floppy versions for the time being... Pinball Magic (France) 1990 - Loriciels + Loriciel @@ -27463,6 +27721,8 @@ Please stick to using the floppy versions for the time being... Pitman Typing Tutor (UK) 1984 Amsoft + + @@ -27475,6 +27735,8 @@ Please stick to using the floppy versions for the time being... La Plaga Galactica (Spain) 1984 Amsoft + + @@ -27559,9 +27821,11 @@ Please stick to using the floppy versions for the time being... - Planete Base (France) + Planète Base (France) 1985 Loriciels + + @@ -27835,6 +28099,8 @@ Please stick to using the floppy versions for the time being... Pouvoir (France) 1986 Loriciels + + @@ -28138,6 +28404,8 @@ Please stick to using the floppy versions for the time being... The Prize (UK) 1985 Amsoft + + @@ -28150,6 +28418,7 @@ Please stick to using the floppy versions for the time being... Pro Golf (UK) 1987 Atlantis Software + @@ -28598,6 +28867,8 @@ Please stick to using the floppy versions for the time being... Punchy (UK) 1985 Amsoft + + @@ -28651,6 +28922,8 @@ Please stick to using the floppy versions for the time being... Pyjamarama (UK, Amsoft) 1984 Amsoft + + @@ -28728,6 +29001,8 @@ Please stick to using the floppy versions for the time being... Qabbalah (UK) 1986 Amsoft + + @@ -28740,6 +29015,8 @@ Please stick to using the floppy versions for the time being... Quack A Jack (UK) 1984 Amsoft + + @@ -28751,7 +29028,9 @@ Please stick to using the floppy versions for the time being... Quad (Spain) 1987 - Microids + Microïds + + @@ -28763,7 +29042,7 @@ Please stick to using the floppy versions for the time being... Quadrel (France) 1991 - Loriciels + Loriciel @@ -28781,6 +29060,8 @@ Please stick to using the floppy versions for the time being... Quaterne (France) 1985 Sprites + + @@ -29099,6 +29380,8 @@ Please stick to using the floppy versions for the time being... Rally II (France) 1985 Loriciels + + @@ -29108,9 +29391,9 @@ Please stick to using the floppy versions for the time being... - Rally II (UK) + Grand Prix Rally II (UK) 1985 - Loriciels + Loriciels / Amsoft @@ -29218,7 +29501,7 @@ Please stick to using the floppy versions for the time being... Ranarama (Spain) 1987 - Hewson + Hewson Consultants / Erbe Software @@ -29230,7 +29513,8 @@ Please stick to using the floppy versions for the time being... Ranarama (UK) 1987 - Hewson + Hewson Consultants + @@ -29578,6 +29862,8 @@ Please stick to using the floppy versions for the time being... Relief Action (France) 1987 Loriciels + + @@ -29749,6 +30035,7 @@ Please stick to using the floppy versions for the time being... Revenge of the C5 (UK) 1986 Atlantis Software + @@ -29761,6 +30048,8 @@ Please stick to using the floppy versions for the time being... Reversi Champion (France) 1986 Loriciels + + @@ -30366,6 +30655,8 @@ Please stick to using the floppy versions for the time being... Roland Ahoy! (UK) 1984 Amsoft + + @@ -30378,6 +30669,7 @@ Please stick to using the floppy versions for the time being... Roland en el Espacio (Spain) 1984 Indescomp + @@ -30390,6 +30682,8 @@ Please stick to using the floppy versions for the time being... Roland Goes Digging (UK) 1984 Amsoft + + @@ -30402,6 +30696,8 @@ Please stick to using the floppy versions for the time being... Roland Goes Square Bashing (UK) 1984 Amsoft + + @@ -30413,7 +30709,9 @@ Please stick to using the floppy versions for the time being... Roland in the Caves (UK) 1984 - Indescomp + Amsoft + + @@ -30426,6 +30724,8 @@ Please stick to using the floppy versions for the time being... Roland in Time (UK) 1984 Amsoft + + @@ -30437,7 +30737,9 @@ Please stick to using the floppy versions for the time being... Roland on the Ropes (UK) 1984 - Zigurat + Amsoft + + @@ -30450,6 +30752,8 @@ Please stick to using the floppy versions for the time being... Roland on the Run (UK) 1984 Amsoft + + @@ -30915,6 +31219,7 @@ Please stick to using the floppy versions for the time being... Salut l'Artiste (France) 1984 Amsoft + @@ -30999,6 +31304,8 @@ Please stick to using the floppy versions for the time being... Sapiens (France) 1986 Loriciels + + @@ -31035,6 +31342,7 @@ Please stick to using the floppy versions for the time being... S.A.S. Assault Course. (UK) 1986 Atlantis Software + @@ -31117,6 +31425,8 @@ Please stick to using the floppy versions for the time being... Satellite Warrior (UK) 1985 Amsoft + + @@ -31177,9 +31487,10 @@ Please stick to using the floppy versions for the time being... - Schneider Basic-Lehrbuch Teil 1 (Germany) + Schneider BASIC-Lehrbuch Teil 1 (Germany) 1984 - Amsoft + Schneider Computer Division + @@ -31204,9 +31515,10 @@ Please stick to using the floppy versions for the time being... - Schneider Basic-Lehrbuch Teil 2 (Germany) + Schneider BASIC-Lehrbuch Teil 2 (Germany) 1985 - Amsoft + Schneider Computer Division + @@ -31282,6 +31594,8 @@ Please stick to using the floppy versions for the time being... The Scout Steps Out (UK) 1985 Amsoft + + @@ -31419,6 +31733,8 @@ Please stick to using the floppy versions for the time being... Le Secret du Tombeau (France) 1986 Loriciels + + @@ -31430,7 +31746,8 @@ Please stick to using the floppy versions for the time being... El Secreto de la Tumba (Spain) 1986 - Loriciels + Loriciels / Proein Soft Line + @@ -31793,7 +32110,7 @@ Please stick to using the floppy versions for the time being... Sherman M4 (Spain) 1990 - Loriciels + Loriciel @@ -32279,6 +32596,7 @@ Please stick to using the floppy versions for the time being... Skatin' USA (UK) 1990 Atlantis Software + @@ -32343,7 +32661,7 @@ Please stick to using the floppy versions for the time being... Skweek (Spain) 1989 - Loriciels + Loriciels / Proein Soft Line @@ -32488,6 +32806,7 @@ Please stick to using the floppy versions for the time being... Snoball in Hell! (UK) 1989 Atlantis Software + @@ -32925,7 +33244,8 @@ Please stick to using the floppy versions for the time being... Southern Belle (UK) 1985 - Hewson + Hewson Consultants + @@ -33025,6 +33345,8 @@ Please stick to using the floppy versions for the time being... Space Hawks (UK) 1984 Amsoft + + @@ -33037,6 +33359,7 @@ Please stick to using the floppy versions for the time being... Space Racer (France) 1988 Loriciels + @@ -33108,7 +33431,8 @@ Please stick to using the floppy versions for the time being... Space Trader (UK) 1986 - Amsoft + Atlantis Software + @@ -33335,6 +33659,7 @@ Please stick to using the floppy versions for the time being... Spindrone (UK) 1988 Atlantis Software + @@ -33494,6 +33819,8 @@ Please stick to using the floppy versions for the time being... Spooky Castle (UK) 1990 Atlantis Software + + @@ -34163,6 +34490,8 @@ Please stick to using the floppy versions for the time being... Stock-Aid (Spain) 1984 Amsoft + + @@ -34187,6 +34516,8 @@ Please stick to using the floppy versions for the time being... Stockmarket (UK) 1985 Amsoft + + @@ -34270,7 +34601,8 @@ Please stick to using the floppy versions for the time being... Stormlord (UK) 1989 - Hewson + Hewson Consultants + @@ -34789,6 +35121,8 @@ Please stick to using the floppy versions for the time being... Subterranean Stryker (UK) 1986 Amsoft + + @@ -34813,6 +35147,8 @@ Please stick to using the floppy versions for the time being... Sultan's Maze (Spain) 1984 Amsoft + + @@ -34825,6 +35161,8 @@ Please stick to using the floppy versions for the time being... Sultan's Maze (UK, BASIC 1.0) 1984 Amsoft + + @@ -35035,6 +35373,8 @@ Please stick to using the floppy versions for the time being... Super Pipeline II (UK) 1985 Amsoft + + @@ -35143,7 +35483,9 @@ Please stick to using the floppy versions for the time being... Super Ski (France) 1988 - Microids + Microïds + + @@ -35155,7 +35497,7 @@ Please stick to using the floppy versions for the time being... Super Skweek (France) 1990 - Loriciels + Loriciel @@ -35172,7 +35514,7 @@ Please stick to using the floppy versions for the time being... Super Skweek (Spain) 1990 - Loriciels + Loriciels / Proein Soft Line @@ -35327,6 +35669,7 @@ Please stick to using the floppy versions for the time being... Superkid (UK) 1990 Atlantis Software + @@ -35339,6 +35682,7 @@ Please stick to using the floppy versions for the time being... Superkid in Space (UK) 1991 Atlantis Software + @@ -35494,6 +35838,7 @@ Please stick to using the floppy versions for the time being... The Survivors (UK) 1988 Atlantis Software + @@ -35776,6 +36121,8 @@ Please stick to using the floppy versions for the time being... Tank Commander (UK) 1986 Amsoft + + @@ -35836,6 +36183,7 @@ Please stick to using the floppy versions for the time being... Tapper (UK) 1986 Amsoft + @@ -35908,6 +36256,7 @@ Please stick to using the floppy versions for the time being... Tascopy 464 (Spain) 1984 Microbyte + @@ -35937,6 +36286,7 @@ Please stick to using the floppy versions for the time being... Tasprint 464 (Spain) 1984 Microbyte + @@ -35970,7 +36320,7 @@ Please stick to using the floppy versions for the time being... - Teach Yourself Amstrad Basic Part 1 (UK) + Teach Yourself Amstrad BASIC Part 1 (UK) 1984 Amsoft @@ -35987,7 +36337,7 @@ Please stick to using the floppy versions for the time being... - Teach Yourself Amstrad Basic Part 2 (UK) + Teach Yourself Amstrad BASIC Part 2 (UK) 1985 Amsoft @@ -36185,7 +36535,7 @@ Please stick to using the floppy versions for the time being... Le Temps des Heros (Europe?) 1991 - Loriciels + Loriciel @@ -36228,6 +36578,7 @@ Please stick to using the floppy versions for the time being... Ten-Pin Challenge (UK) 1987 Atlantis Software + @@ -36240,6 +36591,9 @@ Please stick to using the floppy versions for the time being... Tennis 3D (France) 1986 Loriciels + + + @@ -36251,7 +36605,7 @@ Please stick to using the floppy versions for the time being... Tennis Cup (France) 1989 - Loriciels + Loriciel @@ -36983,6 +37337,8 @@ Please stick to using the floppy versions for the time being... Tie Break (France) 1985 Sprites + + @@ -37096,6 +37452,8 @@ Please stick to using the floppy versions for the time being... Timeman One (UK) 1984 Amsoft + + @@ -37108,6 +37466,8 @@ Please stick to using the floppy versions for the time being... Timeman Two (UK) 1984 Amsoft + + @@ -37413,6 +37773,8 @@ Please stick to using the floppy versions for the time being... Tombstowne (UK) 1985 Amsoft + + @@ -37449,6 +37811,8 @@ Please stick to using the floppy versions for the time being... Tony Truand (France) 1985 Loriciels + + @@ -37582,6 +37946,8 @@ Please stick to using the floppy versions for the time being... Torann (France) 1985 Loriciels + + @@ -37765,6 +38131,8 @@ Please stick to using the floppy versions for the time being... Traffic (UK) 1985 Amsoft + + @@ -38874,7 +39242,7 @@ Please stick to using the floppy versions for the time being... Uridium (UK) 1987 - Hewson + Hewson Consultants @@ -38899,6 +39267,8 @@ Please stick to using the floppy versions for the time being... Vagan Attack (UK) 1985 Atlantis Software + + @@ -40177,6 +40547,8 @@ Please stick to using the floppy versions for the time being... Wordhang (UK) 1984 Amsoft + + @@ -40411,6 +40783,8 @@ Please stick to using the floppy versions for the time being... World-Wise (UK) 1984 Amsoft + + @@ -40420,9 +40794,11 @@ Please stick to using the floppy versions for the time being... - World-Wise (France) + Le Géographe - France (France) 1984 Amsoft + + @@ -40599,6 +40975,8 @@ Please stick to using the floppy versions for the time being... Xanagrams (UK) 1984 Amsoft + + @@ -40925,7 +41303,7 @@ Please stick to using the floppy versions for the time being... Zapp (UK) 1985 - Hewson + Hewson Consultants @@ -40973,7 +41351,8 @@ Please stick to using the floppy versions for the time being... Zedis II (Spain) 1984 - Amsoft + Microbyte + @@ -41092,6 +41471,8 @@ Please stick to using the floppy versions for the time being... Zox 2099 (France) 1987 Loriciels + + @@ -41115,7 +41496,7 @@ Please stick to using the floppy versions for the time being... Zynaps (UK) 1987 - Hewson + Hewson Consultants @@ -41127,7 +41508,7 @@ Please stick to using the floppy versions for the time being... Zynaps (Spain) 1987 - Hewson + Hewson Consultants / Erbe Software @@ -41139,7 +41520,7 @@ Please stick to using the floppy versions for the time being... Zynaps (UK, alt) 1987 - Hewson + Hewson Consultants diff --git a/hash/ibm5170.xml b/hash/ibm5170.xml index 2426cdd0a5de2..df45744489ee7 100644 --- a/hash/ibm5170.xml +++ b/hash/ibm5170.xml @@ -4414,183 +4414,364 @@ license:CC0-1.0 - - Windows NT 3.1 Workstation (3.10.511.1) - 1993 - Microsoft - - - - - - - - - - Windows NT 3.1 Workstation (3.10.511.1) [3.5" floppy] - 1993 + + Windows NT 3.1 (3.10.528.1) [3.5" floppy] + 1994 Microsoft - - - - - - - - - - - - - - - - - - - - - - - - Windows NT 3.5 Workstation (3.50.807) - 1994 + + Windows NT 3.1 (3.10.511.1) [3.5" floppy] + 1993 Microsoft + - - + - - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - Windows NT 3.5 Workstation (3.50.807) [3.5" floppies] + + Windows NT Advanced Server 3.1 (3.10.511.1) [3.5" floppy] + 1993 + Microsoft + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Windows NT Workstation 3.5 (3.50.807.1) [3.5" floppies] 1994 Microsoft @@ -4711,26 +4892,140 @@ license:CC0-1.0 - - Windows NT 3.51 Workstation (3.51.1057.1) + + Windows NT Workstation 3.51 (3.51.1057.1) [3.5" floppies] 1995 Microsoft - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -22444,6 +22739,25 @@ Add-on pack to Syndicate. It requires the original game and includes 3 new weapo + + + Transport Tycoon (German) + 1994 + MicroPose + + + + + + + + + + + + + + Tubular Worlds 1994 diff --git a/hash/ibm5170_cdrom.xml b/hash/ibm5170_cdrom.xml index fca6dbbb011fb..63870ca280274 100644 --- a/hash/ibm5170_cdrom.xml +++ b/hash/ibm5170_cdrom.xml @@ -6615,6 +6615,34 @@ Unemulated optional [Gravis Gamepad], [Gravis Gamepad Pro], [Gravis Grip 4-playe + + + Transport Tycoon + 1994 + MicroProse + + + + + + + + + + + + Transport Tycoon Deluxe + 1995 + MicroProse + + + + + + + + + Turrican II - The Final Fight 1996 @@ -7476,38 +7504,1272 @@ Installation and Open Circulation CDs are bootable. - - Windows NT 3.1 Workstation (3.10.511.1) + + Windows NT 3.1 (3.10.528.1, MSDN, en-US) + 1994 + Microsoft + + + + + + + + + + + + + + + + Windows NT 3.1 (3.10.528.1, en-US) + 1993 + Microsoft + + + + + + + + + + + + + + + Windows NT 3.1 (3.10.511.1, en-US) + 1993 + Microsoft + + + + + + + + + + + + + + + + + + + + Windows NT Advanced Server 3.1 (3.10.528.1, en-US) + 1993 + Microsoft + + + + + + + + + + + Windows NT Advanced Server 3.1 (3.10.511.1, en-US) + 1993 + Microsoft + + + + + + + + + + + + + + + + + + + + + Windows NT 3.1 (3.10.528.1, MSDN, da-DK) + 1993 + Microsoft + + + + + + + + + + Windows NT 3.1 (3.10.511.1, MSDN, de-DE) + 1994 + Microsoft + + + + + + + + + + Windows NT 3.1 (3.10.511.1, MSDN, es-ES) + 1994 + Microsoft + + + + + + + + + + Windows NT 3.1 (3.10.528.1, MSDN, fi-FI) + 1994 + Microsoft + + + + + + + + + + Windows NT 3.1 (3.10.511.1, MSDN, fr-FR) + 1994 + Microsoft + + + + + + + + + + Windows NT 3.1 (3.10.511.1, MSDN, it-IT) + 1994 + Microsoft + + + + + + + + + + Windows NT 3.1 (3.10.511.1, MSDN, nl-NL) 1993 Microsoft + - - + - - Windows NT 3.51 Workstation (3.51.1057.1) + + Windows NT 3.1 (3.10.528.1, MSDN, no-NO) + 1993 + Microsoft + + + + + + + + + + Windows NT 3.1 (3.10.528.1, MSDN, pt-BR) + 1994 + Microsoft + + + + + + + + + + Windows NT 3.1 (3.10.511.1, MSDN, sv-SE) + 1993 + Microsoft + + + + + + + + + + Windows NT Workstation 3.5 (3.50.807.1) + 1994 + Microsoft + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Windows NT Server 3.5 (3.50.807.1) + 1994 + Microsoft + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Windows NT Workstation 3.51 (3.51.1057.1) 1995 Microsoft - - + + + + + + + + + + + + + + + + + + + - - Windows 2000 Professional (with Service Pack 4) (en 5.00.2195.6717) - 1999 + + Windows NT Server 3.51 (3.51.1057.1) + 1995 + Microsoft + + + + + + + + + + + + + + + + + + + + + + + + + + + Windows NT Workstation 4.0 with Service Pack 1 (4.0.1381.2) + 1996 Microsoft + + + + + + + + + + + + + + + + + + + + + + + + + + + Windows NT Workstation 4.0 (4.0.1381.1) + 1996 + Microsoft + + + + + + + + + + + + + + + + + + + + + + + + + + + Windows NT Server 4.0 with Service Pack 1 (4.0.1381.2) + 1996 + Microsoft + + + + + + + + + + + + + + + + + + + + + + + + + + + + Windows NT Server 4.0 (4.0.1381.1) + 1996 + Microsoft + + + + + + + + + + + + + + + + + + + + + + + + + + + Windows NT Server, Terminal Server Edition 4.0 (4.0.419.1) + 1998 + Microsoft + + + + + + + + + + + + + + + + + + + + + + + + + + + Windows NT Server, Enterpise Edition 4.0 (4.0.1381.4) + 1997 + Microsoft + + + + + + + + + + + + + + + + + + Windows NT 4.0 Service Pack 2 + 1996 + Microsoft + + + + + + + + + + + + Windows NT 4.0 Service Pack 3 + 1997 + Microsoft + + + + + + + + + + + + Windows NT 4.0 Service Pack 4 + 1998 + Microsoft + + + + + + + + + + + + Windows NT 4.0 Service Pack 5 + 1999 + Microsoft + + + + + + + + + + + + + + Windows NT 4.0 Service Pack 6a + 2000 + Microsoft + + + + + + + + + + + + + Windows 2000 Professional with Service Pack 4 (5.00.2195.6717) + 2003 + Microsoft + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Windows 2000 Server with Service Pack 4 (5.00.2195.6717) + 2003 + Microsoft + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Windows 2000 Advanced Server with Service Pack 4 (5.00.2195.6717) + 2003 + Microsoft + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Windows 2000 Professional with Service Pack 3 (5.00.2195.5438) + 2002 + Microsoft + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Windows 2000 Server with Service Pack 3 (5.00.2195.5438) + 2002 + Microsoft + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Windows 2000 Advanced Server with Service Pack 3 (5.00.2195.5438) + 2002 + Microsoft + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Windows 2000 Professional with Service Pack 2 (5.00.2195.2951) + 2001 + Microsoft + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Windows 2000 Server with Service Pack 2 (5.00.2195.2951) + 2001 + Microsoft + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Windows 2000 Advanced Server with Service Pack 2 (5.00.2195.2951) + 2001 + Microsoft + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Windows 2000 Professional with Service Pack 1 (5.00.2195.1620) + 2000 + Microsoft + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Windows 2000 Server with Service Pack 1 (5.00.2195.1620) + 2000 + Microsoft + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Windows 2000 Advanced Server with Service Pack 1 (5.00.2195.1620) + 2000 + Microsoft + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Windows 2000 Professional (5.00.2195.1) + 1999 + Microsoft + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Windows 2000 Server (5.00.2195.1) + 1999 + Microsoft + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Windows 2000 Advanced Server (5.00.2195.1) + 1999 + Microsoft + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Windows 2000 MultiLanguage Version + 2000 + Microsoft + + + + + + + + + + + + + + + + + + + + Windows 2000 Service Pack 1 + 2000 + Microsoft + + + + + + + + + + + + Windows 2000 Service Pack 2 + 2001 + Microsoft + + + + + + + + + + + + Windows 2000 Service Pack 3 + 2002 + Microsoft + + + + + + + + + + + + Windows 2000 Service Pack 4 + 2003 + Microsoft + + + - + diff --git a/hash/ibm5170_hdd.xml b/hash/ibm5170_hdd.xml index a139633a3e2ee..cf8c52dc7d11d 100644 --- a/hash/ibm5170_hdd.xml +++ b/hash/ibm5170_hdd.xml @@ -324,24 +324,24 @@ license:CC0-1.0 - - Windows NT 3.1 Workstation (3.10.511.1) + + Windows NT 3.1 (3.10.511.1) 1993 Microsoft - + - - Windows NT 3.51 Workstation (3.51.1057.1) + + Windows NT Workstation 3.51 (3.51.1057.1) 1995 Microsoft - + diff --git a/hash/leapfrog_leappad_cart.xml b/hash/leapfrog_leappad_cart.xml index a093848c7f60c..de911e1850533 100644 --- a/hash/leapfrog_leappad_cart.xml +++ b/hash/leapfrog_leappad_cart.xml @@ -1276,4 +1276,228 @@ license:CC0-1.0 + + Oyako Eigo Step 1-gatsu gou - Doubutsuen ni Ikou! (Japan) + 2003 + LeapFrog / Benesse + + + + + + + + + + + + Oyako Eigo Jump 5-gatsu gou - Okashi no Kuni no Daibouken (Japan) + 2003 + LeapFrog / Benesse + + + + + + + + + + + + Oyako Eigo Jump 9-gatsu gou - Monjaa Gou de Tankenja! (Japan) + 2003 + LeapFrog / Benesse + + + + + + + + + + + + Oyako Eigo Jump 1-gatsu gou - Shougakkou Taiken Report (Japan) + 2004 + LeapFrog / Benesse + + + + + + + + + + + + Korasho Land 1: Gakkou e Ikou! (Japan) + 2004 + LeapFrog / Benesse + + + + + + + + + + + + + Korasho Land 4: Machi no Naka o Tanken! (Japan) + 2005 + LeapFrog / Benesse + + + + + + + + + + + + Korasho Land 2: Tanoshii Ichinichi (Japan) + 2004 + LeapFrog / Benesse + + + + + + + + + + + + Korasho Land 3: Tanjoubi Omedetou (Japan) + 2004 + LeapFrog / Benesse + + + + + + + + + + + + Korasho Land 5: Bokutatchi no Ichinen (Japan) + 2005 + LeapFrog / Benesse + + + + + + + + + + + + Oyako Eigo Step - March 2006 Welcome gou (Japan) + 2006 + LeapFrog / Benesse + + + + + + + + + + + + Oyako Eigo Step - May 2006, July 2006 (Japan) + 2006 + LeapFrog / Benesse + + + + + + + + + + + + Oyako Eigo Step - September 2006, November 2006 (Japan) + 2006 + LeapFrog / Benesse + + + + + + + + + + + + Oyako Eigo Step - January 2007 (Japan) + 2007 + LeapFrog / Benesse + + + + + + + + + + + + Shimajirou to Ribby no ABC Adventure / Touch and Step Game de Asobou! (Japan) + 2007 + LeapFrog / Benesse + + + + + + + + + + + + Shimajirou to Ribby no Eigo Jiten / Onahashi CoCoPad Time Machine de Daibouken! (Japan) + 2007 + LeapFrog / Benesse + + + + + + + + + + + + Shimajirou to Ribby no CoCoPad Game Party / Shougakkou Tanken (Japan) + 2007 + LeapFrog / Benesse + + + + + + + + + diff --git a/hash/mac_cdrom.xml b/hash/mac_cdrom.xml index f9746295ab0a9..a04038bd3afa3 100644 --- a/hash/mac_cdrom.xml +++ b/hash/mac_cdrom.xml @@ -29,11 +29,13 @@ PPC750 - PowerPC 750 (G3) CPU + Chex Quest 1996 General Mills + @@ -41,24 +43,26 @@ PPC750 - PowerPC 750 (G3) CPU + Hexen: Beyond Heretic 1995 GT Interactive + + + + id Anthology 1996 id Software - @@ -67,6 +71,7 @@ PPC750 - PowerPC 750 (G3) CPU + System Software 7.0a9 ("Big Bang" pre-release) 1991 @@ -78,6 +83,7 @@ PPC750 - PowerPC 750 (G3) CPU + System Software 7.1 (US English) 1992 @@ -89,6 +95,7 @@ PPC750 - PowerPC 750 (G3) CPU + Performa CD (System 7.1.2P for Quadra 630 and LC/Performa 580) (US English) 1994 @@ -100,6 +107,7 @@ PPC750 - PowerPC 750 (G3) CPU + System Software 7.5 (US English) 1994 @@ -111,6 +119,7 @@ PPC750 - PowerPC 750 (G3) CPU + System Software 7.5.3 (US English) 1996 @@ -122,6 +131,7 @@ PPC750 - PowerPC 750 (G3) CPU + Mac OS 7.6 (US English) 1997 @@ -134,6 +144,7 @@ PPC750 - PowerPC 750 (G3) CPU + Mac OS 7.6 (German) 1997 @@ -146,6 +157,7 @@ PPC750 - PowerPC 750 (G3) CPU + Mac OS 7.6.1 (US English) 1997 @@ -158,6 +170,7 @@ PPC750 - PowerPC 750 (G3) CPU + Mac OS 8 (Japanese) 1997 @@ -170,6 +183,7 @@ PPC750 - PowerPC 750 (G3) CPU + Mac OS 8.1 (US English) 1998 @@ -182,6 +196,7 @@ PPC750 - PowerPC 750 (G3) CPU + My First Math Adventure: Adding and Subtracting @@ -194,6 +209,7 @@ PPC750 - PowerPC 750 (G3) CPU + Power Macintosh 6100/7100/8100 CD (System Software 7.1.2P) (US English) 1994 @@ -206,6 +222,7 @@ PPC750 - PowerPC 750 (G3) CPU + The Ultimate Doom 1995 diff --git a/hash/megadriv.xml b/hash/megadriv.xml index 0aa3bfbab94d1..e829d519ede6f 100644 --- a/hash/megadriv.xml +++ b/hash/megadriv.xml @@ -3006,6 +3006,58 @@ Crashes after EA logo, requires better [VDP] irq handling + + Fix-it Felix Jr. + 2014 + Airwalk Studios + + + + + + + + + + + Fix-it Felix Jr. (v1.0) + 2013 + Airwalk Studios + + + + + + + + + + Wreck It Ralph (Russian translation bootleg) + 2022 + T+Rus Pirates + + + + + + + + + + + Wreck It Ralph (Russian translation bootleg, alt) + 2022 + T+Rus Pirates + + + + + + + + + Fever Pitch (Europe) 1995 diff --git a/hash/microvision.xml b/hash/microvision.xml index 914aad3f7b8b3..50d6ad200e544 100644 --- a/hash/microvision.xml +++ b/hash/microvision.xml @@ -258,7 +258,7 @@ The "butmask" feature indicates cartridge button restrict mask (active-low) MicroBird 2018 - Ayza + azya @@ -271,7 +271,7 @@ The "butmask" feature indicates cartridge button restrict mask (active-low) Tetris (TMS1100 version) 2019 - Ayza + azya @@ -285,7 +285,7 @@ The "butmask" feature indicates cartridge button restrict mask (active-low) Tetris (8021 version) 2018 - Ayza + azya diff --git a/hash/nes.xml b/hash/nes.xml index 57d16689c65dc..4508925253f04 100644 --- a/hash/nes.xml +++ b/hash/nes.xml @@ -28760,6 +28760,24 @@ license:CC0-1.0 + + + PCM Demo With Graphics + 2009 + frantik + + + + + + + + + + + + + Peepar Time (Japan) 1990 diff --git a/hash/psx.xml b/hash/psx.xml index 830916100bee3..07265667d80d9 100644 --- a/hash/psx.xml +++ b/hash/psx.xml @@ -34348,6 +34348,36 @@ For an overview of US PS1 discs that have not been dumped and added to redump's + + + Transport Tycoon (Europe) + 1997 + Ocean Software Limited + + + + + + + + + + + + + + + Aerial + 2022 + Inufuto + + + + + + + + + AntiAir + 2024 + Inufuto + + + + + + + + + Ascend + 2022 + Inufuto + + + + + + + + + Battlot + 2022 + Inufuto + + + + + + + + + Bootskell + 2022 + Inufuto + + + + + + + + + Cacorm + 2022 + Inufuto + + + + + + + + + Cavit + 2022 + Inufuto + + + + + + + + + Cracky + 2023 + Inufuto + + + + + + + + + Guntus + 2022 + Inufuto + + + + + + + + + Hopman + 2023 + Inufuto + + + + + + + + + Lift + 2022 + Inufuto + + + + + + + + + Mazy + 2022 + Inufuto + + + + + + + + + Neuras + 2022 + Inufuto + + + + + + + + + Osotos + 2024 + Inufuto + + + + + + + + + Ruptus + 2022 + Inufuto + + + + + + + + + Yewdow + 2023 + Inufuto + + + + + + + diff --git a/hash/pv2000.xml b/hash/pv2000.xml index 27597313d8c0a..e49b94f8e3f6d 100644 --- a/hash/pv2000.xml +++ b/hash/pv2000.xml @@ -154,4 +154,193 @@ No known undumped carts + + + + + Aerial + 2022 + Inufuto + + + + + + + + + AntiAir + 2024 + Inufuto + + + + + + + + + Ascend + 2022 + Inufuto + + + + + + + + + Battlot + 2022 + Inufuto + + + + + + + + + Bootskell + 2022 + Inufuto + + + + + + + + + Cacorm + 2022 + Inufuto + + + + + + + + + Cavit + 2022 + Inufuto + + + + + + + + + Cracky + 2023 + Inufuto + + + + + + + + + Cross Chase + 2021 + Fabrizio Caruso + + + + + + + + + Guntus + 2022 + Inufuto + + + + + + + + + Hopman + 2023 + Inufuto + + + + + + + + + Lift + 2022 + Inufuto + + + + + + + + + Mazy + 2022 + Inufuto + + + + + + + + + Neuras + 2022 + Inufuto + + + + + + + + + Osotos + 2024 + Inufuto + + + + + + + + + Ruptus + 2022 + Inufuto + + + + + + + + + Yewdow + 2023 + Inufuto + + + + + + diff --git a/hash/spectrum_betadisc_flop.xml b/hash/spectrum_betadisc_flop.xml index e404b705bb405..82c61ccf73838 100644 --- a/hash/spectrum_betadisc_flop.xml +++ b/hash/spectrum_betadisc_flop.xml @@ -146,6 +146,18 @@ license:CC0-1.0 + + Batty + 1998 + Nova + Freeze after the title screen (kempston mouse needed?) + + + + + + + Bobby Carrot 2018 @@ -172,6 +184,230 @@ license:CC0-1.0 + + Delta's Shadow (demo v1.6, English, AY chip sound) + 2021 + ZX Online + + + + + + + + + + + + Delta's Shadow (demo v1.0, English, AY chip sound) + 2020 + ZX Online + + + + + + + + + + + + Delta's Shadow (demo v1.0, English, Turbo Sound) + 2020 + ZX Online + + + + + + + + + + + + Delta's Shadow (demo v1.6, English, Turbo Sound) + 2021 + ZX Online + + + + + + + + + + + + Delta's Shadow (demo v1.0, Polish, AY chip sound) + 2020 + ZX Online + + + + + + + + + + + + Delta's Shadow (demo v1.0, Polish, Turbo Sound) + 2020 + ZX Online + + + + + + + + + + + + Delta's Shadow (demo v1.6, Polish, AY chip sound) + 2021 + ZX Online + + + + + + + + + + + + Delta's Shadow (demo v1.6, Polish, Turbo Sound) + 2021 + ZX Online + + + + + + + + + + + + Delta's Shadow (demo v1.0, Russian, AY chip sound) + 2021 + ZX Online + + + + + + + + + + + + Delta's Shadow (demo v1.0, Russian, Turbo Sound) + 2021 + ZX Online + + + + + + + + + + + + Delta's Shadow (demo v1.6, Russian, AY chip sound) + 2021 + ZX Online + + + + + + + + + + + + Delta's Shadow (demo v1.6, Russian, Turbo Sound) + 2021 + ZX Online + + + + + + + + + + + + Delta's Shadow (demo v1.0, Spanish, AY chip sound) + 2021 + ZX Online + + + + + + + + + + + + Delta's Shadow (demo v1.0, Spanish, Turbo Sound) + 2021 + ZX Online + + + + + + + + + + + + Delta's Shadow (demo v1.6, Spanish, AY chip sound) + 2021 + ZX Online + + + + + + + + + + + + Delta's Shadow (demo v1.6, Spanish, Turbo Sound) + 2021 + ZX Online + + + + + + + + + + Dizzy and the Mushrooms Pie (English) 2019 @@ -491,6 +727,17 @@ license:CC0-1.0 + + Mysterious Dimensions + 2016 + Hooy-Program + + + + + + + R-Type (mod) 2019 @@ -531,7 +778,6 @@ license:CC0-1.0 19?? Proxima - diff --git a/hash/spectrum_cass.xml b/hash/spectrum_cass.xml index ede63cf5ad068..7d3b910bfe34b 100644 --- a/hash/spectrum_cass.xml +++ b/hash/spectrum_cass.xml @@ -5335,6 +5335,35 @@ no loading screen, no custom loader + + Bounce Panic + Hangman + 1983 + Poppy Soft + + + + + + + + + + + + + + + + Boxform + 1988 + Boxoft + + + + + + + Brian vs. The Bullies 2012 @@ -6543,9 +6572,11 @@ no loading screen, no custom loader - Commando (Loriciels) + Commando (Sprites) 1984 - Loriciels + Sprites + + @@ -11437,6 +11468,17 @@ Expects you to press a key after the title screen appears, or it will miss the n + + The Final Glide + 1983 + Rickshaw / Softek + + + + + + + Flight Simulation (release 2) 1983 @@ -14531,7 +14573,7 @@ Expects you to press a key after the title screen appears, or it will miss the n International Karate (set 2, Endurance Games) 1985 - System 3 Software + Endurance Games @@ -14546,8 +14588,8 @@ Expects you to press a key after the title screen appears, or it will miss the n International Karate (set 3) - 19?? - <unknown> + 1985 + System 3 Software @@ -14562,8 +14604,8 @@ Expects you to press a key after the title screen appears, or it will miss the n International Karate (set 4, Endurance Games) - 19?? - <unknown> + 1985 + Endurance Games @@ -14623,7 +14665,7 @@ Expects you to press a key after the title screen appears, or it will miss the n Into the Eagle's Nest (Players) 1987 - Pandora / Players + Players Software @@ -14799,8 +14841,8 @@ Expects you to press a key after the title screen appears, or it will miss the n ISO-Copy 2 v2.0 - 19?? - <unknown> + 1984 + Individual Software @@ -14810,8 +14852,8 @@ Expects you to press a key after the title screen appears, or it will miss the n ISO-Copy v1.0 - 19?? - <unknown> + 1984 + Individual Software @@ -15163,7 +15205,7 @@ Expects you to press a key after the title screen appears, or it will miss the n - Jet Set Willy Room Designer (Master) + Jet Set Willy Room Designer (master tape) 1985 R.D. Foord Software @@ -15180,8 +15222,8 @@ Expects you to press a key after the title screen appears, or it will miss the n Jet Set Willy Room Designer (v5 - Development Master) - 19?? - <unknown> + 1985 + R.D. Foord Software @@ -15196,8 +15238,8 @@ Expects you to press a key after the title screen appears, or it will miss the n Jet Set Willy Room Designer (v5, set 1) - 19?? - <unknown> + 1985 + R.D. Foord Software @@ -15212,8 +15254,8 @@ Expects you to press a key after the title screen appears, or it will miss the n Jet Set Willy Room Designer (v5, set 2) - 19?? - <unknown> + 1985 + R.D. Foord Software @@ -15223,8 +15265,8 @@ Expects you to press a key after the title screen appears, or it will miss the n Jet Set Willy Room Designer (v1) - 19?? - <unknown> + 1985 + R.D. Foord Software @@ -16455,8 +16497,8 @@ Side B: Laser Shoot (original release) Kokotoni Wilf (Encore) - 1984 - Elite Systems / Encore + 1989 + Encore @@ -16466,7 +16508,7 @@ Side B: Laser Shoot (original release) Kokotoni Wilf (MCM) - 1984 + 1989 MCM Software @@ -16555,8 +16597,9 @@ Side B: Laser Shoot (original release) Kong Strikes Back (set 2, Zafiro) - 19?? - <unknown> + 1985 + Zafi Chip + @@ -16566,8 +16609,8 @@ Side B: Laser Shoot (original release) Kong Strikes Back (set 3) - 19?? - <unknown> + 1984 + Ocean @@ -16577,8 +16620,9 @@ Side B: Laser Shoot (original release) Kong Strikes Back (set 4, Zafiro) - 19?? - <unknown> + 1985 + Zafi Chip + @@ -16588,8 +16632,9 @@ Side B: Laser Shoot (original release) Kliatba Noci (set 1) - 19?? - <unknown> + 1993 + Ultrasoft + @@ -16599,8 +16644,9 @@ Side B: Laser Shoot (original release) Kliatba Noci (set 2) - 19?? - <unknown> + 1993 + Ultrasoft + @@ -17995,6 +18041,22 @@ Side B: Laser Shoot (original release) + + Micro Drivin' (PD) + 1988 + Sprectum PD Adventures + + + + + + + + + + + + Microprose Soccer (release 2 - 128K) 1989 @@ -30454,6 +30516,22 @@ Side B: Laser Shoot (original release) + + TX-3 + 19?? + <unknown> + + + + + + + + + + + + @@ -34015,6 +34093,17 @@ Side B - Game 5 : Grand Prix Drivers + + Crook + 198? + <unknown> + + + + + + + Quattro Adventure @@ -40503,6 +40592,7 @@ Side B - 9 - Confusion (original release) 1987 Hobby Press + @@ -43742,9 +43832,10 @@ Side B: Once Upon a Lily Pad - Abbey of Crime (English Beta) - 19?? + Abbey of Crime (English beta) + 2003 <unknown> + @@ -46949,6 +47040,25 @@ Side B: Once Upon a Lily Pad + + Answer Back Factfile 500 - Super Sports + 1985 + Kosmos Software + + + + + + + + + + + + + + + Answer Back Junior 1985 @@ -46993,7 +47103,7 @@ Side B: Once Upon a Lily Pad - Antennas And Feeders + Antennas and Feeders 1983 PW Publishing @@ -47003,6 +47113,17 @@ Side B: Once Upon a Lily Pad + + Antony and Cleopatra + 1983 + Akadimias + + + + + + + The Anttilis Mission (master tape) 1992 @@ -54426,6 +54547,17 @@ Side B: Once Upon a Lily Pad + + Britain in the Age of Total War + 1984 + Akadimias + + + + + + + Britain Invaded 1985 @@ -65047,6 +65179,22 @@ Side B: Once Upon a Lily Pad + + The Crystal of Chantie (PD) + 198? + Spectrum PD Adventures + + + + + + + + + + + + The Crystal of Power 1989 @@ -72231,6 +72379,18 @@ Side B - Game 1: The Dragonstar Trilogy Part III (Delta 4 Software) + + Éditeur de Manoir + 2012 + Gilles Marty + + + + + + + + Editor Musical 198? @@ -81657,7 +81817,9 @@ Side B - Game 1: The Dragonstar Trilogy Part III (Delta 4 Software) Gestion de Stock 1984 Sprites + + @@ -83349,6 +83511,17 @@ Tape 1 - Side B: + + Graph + 1984 + AVC Software + + + + + + + Graphic Creator 1982 @@ -90169,6 +90342,8 @@ Game 7: What's Your Name? Simulator (S.H. Eye-Tea Productions, 1994) Inferno (set 1) 1993 Proxima Software + + @@ -90179,7 +90354,9 @@ Game 7: What's Your Name? Simulator (S.H. Eye-Tea Productions, 1994) Inferno (set 2, Sintech) 1993 - Proxima Software / Sintech + Sintech + + @@ -90235,11 +90412,13 @@ Game 7: What's Your Name? Simulator (S.H. Eye-Tea Productions, 1994) 1982 ACS + + @@ -90248,14 +90427,16 @@ Game 7: What's Your Name? Simulator (S.H. Eye-Tea Productions, 1994) Infrared (set 2) - 19?? - <unknown> + 1982 + ACS + + @@ -90264,20 +90445,33 @@ Game 7: What's Your Name? Simulator (S.H. Eye-Tea Productions, 1994) Infrared (set 3) - 19?? - <unknown> + 1982 + ACS + + + + Infrared (Elettronica) + 1983 + Elettronica CS + + + + + + + Ingrid's Back! 1988 @@ -90315,20 +90509,20 @@ Game 7: What's Your Name? Simulator (S.H. Eye-Tea Productions, 1994) - Inheritance (Mikro-Gen) + Inheritance (release 2) 1982 - Mikro-Gen + Hessel Software - + - Inheritance - Release 1 - 19?? - <unknown> + Inheritance (release 1) + 1982 + Hessel Software @@ -90337,12 +90531,12 @@ Game 7: What's Your Name? Simulator (S.H. Eye-Tea Productions, 1994) - Inheritance - Release 2 - 19?? - <unknown> + Inheritance (Mikro-Gen) + 1982 + Mikro-Gen - + @@ -90446,23 +90640,23 @@ Game 7: What's Your Name? Simulator (S.H. Eye-Tea Productions, 1994) - Inside Outing - Double Case (Dro Soft) + Inside Outing 1988 - Dro Soft + The Edge - - + + - - Inside Outing - 19?? - <unknown> + + Inside Outing (Dro Soft, double case) + 1988 + Dro Soft - - + + @@ -90597,33 +90791,35 @@ Game 7: What's Your Name? Simulator (S.H. Eye-Tea Productions, 1994) - Intercepteur Cobalt (Software Center) + Intercepteur Cobalt 1984 - Software Center + ERE Informatique + - - + + - - + + - - Intercepteur Cobalt - 19?? - <unknown> + + Intercepteur Cobalt (Software Center) + 1984 + Software Center + - - + + - - + + @@ -90658,55 +90854,61 @@ Game 7: What's Your Name? Simulator (S.H. Eye-Tea Productions, 1994) Intermediate English 1 1982 - Rose + Rose Software + + - - Intermediate English 2 - Release 1 - 19?? - <unknown> + + Intermediate English 2 (release 1) + 1982 + Rose Software + + - - Intermediate English 2 - Release 3 - 19?? - <unknown> + + Intermediate English 2 (release 3) + 1982 + Rose Software + + - + Intermediate Level Geography - 19?? - <unknown> + 1985 + Scisoft @@ -90719,10 +90921,10 @@ Game 7: What's Your Name? Simulator (S.H. Eye-Tea Productions, 1994) - + Intermediate Level Maths - 19?? - <unknown> + 1984 + Scisoft @@ -90959,7 +91161,7 @@ Game 7: What's Your Name? Simulator (S.H. Eye-Tea Productions, 1994) International Manager (set 3, Cult Games) 1986 - D&H Games / Cult Games + Cult Games @@ -91000,7 +91202,7 @@ Game 7: What's Your Name? Simulator (S.H. Eye-Tea Productions, 1994) - International Rugby (set 1) + International Rugby (Artic Computing) 1985 Artic Computing @@ -91011,9 +91213,9 @@ Game 7: What's Your Name? Simulator (S.H. Eye-Tea Productions, 1994) - International Rugby (set 2, Micro Value) + International Rugby (Micro Value) 1985 - Artic Computing Ltd / Micro Value + Micro Value @@ -91022,9 +91224,9 @@ Game 7: What's Your Name? Simulator (S.H. Eye-Tea Productions, 1994) - International Rugby (set 3, Blue Ribbon) + International Rugby (Blue Ribbon) 1985 - Artic Computing Ltd / Blue Ribbon + Blue Ribbon @@ -91142,7 +91344,7 @@ Game 7: What's Your Name? Simulator (S.H. Eye-Tea Productions, 1994) - Intruder Alert (set 2, Ver.II) + Intruder Alert (set 2, ver.II) 1989 Compass Software @@ -91175,7 +91377,7 @@ Game 7: What's Your Name? Simulator (S.H. Eye-Tea Productions, 1994) - Invaders (1982, Artic) (set 1) + Invaders (1982, Artic) 1982 Artic Computing @@ -91186,9 +91388,9 @@ Game 7: What's Your Name? Simulator (S.H. Eye-Tea Productions, 1994) - Invaders (1982, Artic) (set 2, Aackosoft) + Invaders (1982, Aackosoft) 1982 - Artic Computing Ltd / Aackosoft + Aackosoft @@ -91197,9 +91399,9 @@ Game 7: What's Your Name? Simulator (S.H. Eye-Tea Productions, 1994) - Invaders (1982, Artic) (set 3, ZX Data) + Invaders (1982, ZX Data) 1982 - Artic Computing Ltd / ZX Data + ZX Data @@ -91208,7 +91410,7 @@ Game 7: What's Your Name? Simulator (S.H. Eye-Tea Productions, 1994) - Invaders (1983, DK'Tronics Ltd) + Invaders (1983, DK'Tronics) 1983 DK'Tronics @@ -91241,7 +91443,7 @@ Game 7: What's Your Name? Simulator (S.H. Eye-Tea Productions, 1994) - Invaders From Planet X (set 3, Mastering Tape) + Invaders From Planet X (set 3, master tape) 1991 Compass Software @@ -91456,8 +91658,8 @@ Game 7: What's Your Name? Simulator (S.H. Eye-Tea Productions, 1994) Invincible Island - 19?? - <unknown> + 1983 + Richard Shepherd @@ -91588,7 +91790,7 @@ Game 7: What's Your Name? Simulator (S.H. Eye-Tea Productions, 1994) - Isotopia - +2a + Isotopia (+2a release) 2007 OCTOCOM @@ -91599,9 +91801,9 @@ Game 7: What's Your Name? Simulator (S.H. Eye-Tea Productions, 1994) - Isotopia - 128k - 19?? - <unknown> + Isotopia (128K release) + 2007 + OCTOCOM @@ -92287,8 +92489,8 @@ Game 7: What's Your Name? Simulator (S.H. Eye-Tea Productions, 1994) Jack And The Beanstalk (Zenobi) - 19?? - <unknown> + 1988 + Zenobi Software @@ -92296,10 +92498,10 @@ Game 7: What's Your Name? Simulator (S.H. Eye-Tea Productions, 1994) - - Jack And The Beanstalk - 19?? - <unknown> + + Jack and the Beanstalk (Thor) + 1984 + Thor Computer Software @@ -94704,8 +94906,8 @@ Created by Mark Jeffries Juggernaut - 19?? - <unknown> + 1985 + CRL Group @@ -94911,10 +95113,10 @@ Created by Mark Jeffries - + Junior Maths Tape 1 - 19?? - <unknown> + 1983 + The Hicks Consortium @@ -95304,7 +95506,7 @@ Created by Mark Jeffries Kat Trap - 1987 + 1986 Streetwise @@ -95315,8 +95517,8 @@ Created by Mark Jeffries Kat Trap (Bug-Byte) - 19?? - <unknown> + 1987 + Bug-Byte Software @@ -95348,8 +95550,8 @@ Created by Mark Jeffries Kempston Toolkit - 19?? - <unknown> + 1987 + Kempston Micro Electronics @@ -95374,7 +95576,7 @@ Created by Mark Jeffries - Kendo Warrior (set 1) + Kendo Warrior 1989 Byte Back @@ -95385,9 +95587,9 @@ Created by Mark Jeffries - Kendo Warrior (set 2, MCM) - 19?? - <unknown> + Kendo Warrior (MCM) + 1989 + MCM Software @@ -95429,7 +95631,7 @@ Created by Mark Jeffries - Kenny Dalglish Soccer Match (set 1) + Kenny Dalglish Soccer Match 1990 Impressions @@ -95440,9 +95642,9 @@ Created by Mark Jeffries - Kenny Dalglish Soccer Match (set 2, EDOS) - 19?? - <unknown> + Kenny Dalglish Soccer Match (EDOS) + 1993 + EDOS @@ -95463,8 +95665,8 @@ Created by Mark Jeffries Kentilla (set 2, Mastertronic) - 19?? - <unknown> + 1986 + Mastertronic @@ -95658,31 +95860,31 @@ Created by Mark Jeffries - Killer Kong (Prism) + Killer Kong (set 2) 1983 - Prism Leisure Corporation + Blaby Computer Games - - + + - - Killer Kong (set 2) - 19?? - <unknown> + + Killer Kong (Prism) + 1983 + Prism Leisure Corporation - - + + Killer Kong - 19?? - <unknown> + 1983 + Blaby Computer Games @@ -95774,8 +95976,8 @@ Created by Mark Jeffries King Otto's Quest - 19?? - <unknown> + 1996 + Stephen Robertson @@ -95795,9 +95997,9 @@ Created by Mark Jeffries - Kingdom (Richard Francis Altwasser) (set 2) - 19?? - <unknown> + Kingdom (type-in from book "Cambridge Colour Collection") + 1982 + Richard Francis Altwasser @@ -95829,8 +96031,8 @@ Created by Mark Jeffries Klub Uzivatelu Desktopu 1 - 19?? - <unknown> + 1993 + Proxima Software @@ -95840,8 +96042,8 @@ Created by Mark Jeffries Klub Uzivatelu Desktopu 2 - 19?? - <unknown> + 1993 + Proxima Software @@ -95852,7 +96054,7 @@ Created by Mark Jeffries Klub Uzivatelu Desktopu 3 1993 - Proxima + Proxima Software @@ -95860,6 +96062,16 @@ Created by Mark Jeffries + + Klub Uzivatelu Desktopu 4 + 1993 + Proxima Software + + + + + + Knight Driver @@ -95873,23 +96085,23 @@ Created by Mark Jeffries - Knight Fall (System 4) + Knight Fall 1987 - System 4 + Pirate Software - - + + - Knight Fall - 19?? - <unknown> + Knight Fall (System 4) + 1987 + System 4 - - + + @@ -95906,23 +96118,23 @@ Created by Mark Jeffries - Knight Life (Zenobi) + Knight Life 1995 - Zenobi Software + Stephen Boyd - - + + - Knight Life - 19?? - <unknown> + Knight Life (Zenobi) + 1995 + Zenobi Software - - + + @@ -95965,8 +96177,8 @@ Created by Mark Jeffries Knockout (Vinsoft) - 19?? - <unknown> + 1989 + Vinsoft @@ -95979,42 +96191,42 @@ Created by Mark Jeffries - - Knockout (Americana) - 19?? - <unknown> + + Knockout (Alligata) + 1985 + Alligata Software - - + + - - + + - - Knockout (Alligata) - 19?? - <unknown> + + Knockout (Americana) + 1985 + Alligata Software - - + + - - + + - + Knockout - 19?? - <unknown> + 1983 + Mikro-Gen @@ -96049,10 +96261,10 @@ Created by Mark Jeffries - + Know Your Own PSI-Q - 19?? - <unknown> + 1985 + Mirrorsoft @@ -96065,10 +96277,10 @@ Created by Mark Jeffries - + Know Your Tables - 19?? - <unknown> + 1983 + Collins Educational @@ -96093,20 +96305,20 @@ Created by Mark Jeffries - Knuckle Busters (Dro Soft) - 1988 - Dro Soft + Knuckle Busters + 1987 + Melbourne House - - + + - + Knuckle Busters (Ricochet) - 19?? - <unknown> + 1987 + Ricochet @@ -96114,13 +96326,13 @@ Created by Mark Jeffries - - Knuckle Busters - 19?? - <unknown> + + Knuckle Busters (Dro Soft) + 1988 + Dro Soft - - + + @@ -96136,21 +96348,21 @@ Created by Mark Jeffries - - Kobyashi Naru (Zenobi) - 19?? - <unknown> + + Kobyashi Naru + 1987 + Mastertronic - - + + - + Kobyashi Naru (set 2) - 19?? - <unknown> + 1987 + Mastertronic @@ -96158,13 +96370,13 @@ Created by Mark Jeffries - - Kobyashi Naru - 19?? - <unknown> + + Kobyashi Naru (Zenobi) + 1992 + Zenobi Software - - + + @@ -96213,10 +96425,10 @@ Created by Mark Jeffries - + Kon - 19?? - <unknown> + 1984 + Anthony P. Hamilton @@ -96242,8 +96454,8 @@ Created by Mark Jeffries Konami's Golf (set 2) - 19?? - <unknown> + 1986 + Imagine Software @@ -96252,6 +96464,17 @@ Created by Mark Jeffries + Konami's Tennis + 1986 + Imagine Software + + + + + + + + Konami's Tennis (The Hit Squad) 1989 The Hit Squad @@ -96262,13 +96485,13 @@ Created by Mark Jeffries - - Konami's Tennis - 19?? - <unknown> + + Konami's Tennis (Erbe) + 1986 + Erbe Software - - + + @@ -96284,7 +96507,7 @@ Created by Mark Jeffries - + Kong (set 2) (Anirog) 1983 Anirog @@ -96295,7 +96518,6 @@ Created by Mark Jeffries - Kong's Revenge 1991 @@ -96356,7 +96578,7 @@ Created by Mark Jeffries - Kopykat - Release 1 + Kopykat (release 1) 1983 Medsoft @@ -96372,9 +96594,9 @@ Created by Mark Jeffries - Kopykat - Release 2 + Kopykat (release 2) 19?? - <unknown> + Medsoft @@ -96388,9 +96610,9 @@ Created by Mark Jeffries - Kopykat - Release 3 (set 2) + Kopykat (release 3, set 2) 19?? - <unknown> + Medsoft @@ -96399,9 +96621,9 @@ Created by Mark Jeffries - Kopykat - Release 3 + Kopykat (release 3, set 1) 19?? - <unknown> + Medsoft @@ -96410,9 +96632,9 @@ Created by Mark Jeffries - Kopykat - Release 4 (set 2) + Kopykat (release 4, set 2) 19?? - <unknown> + Medsoft @@ -96421,9 +96643,9 @@ Created by Mark Jeffries - Kopykat - Release 4 + Kopykat (release 4, set 1) 19?? - <unknown> + Medsoft @@ -96476,31 +96698,20 @@ Created by Mark Jeffries - Krakatoa (Paxman) + Krakatoa 1984 - Paxman Promotions + Abbex Electronics - + - Krakatoa (Profisoft) - 19?? - <unknown> - - - - - - - - - Krakatoa (set 2) - 19?? - <unknown> + Krakatoa (two sides) + 1984 + Abbex Electronics @@ -96513,13 +96724,24 @@ Created by Mark Jeffries - - Krakatoa - 19?? - <unknown> + + Krakatoa (Profisoft) + 1984 + Profisoft - + + + + + + + Krakatoa (Paxman) + 1984 + Paxman Promotions + + + @@ -96585,6 +96807,17 @@ Created by Mark Jeffries + Krazy Kong + 1983 + PSS + + + + + + + + Krazy Kong (Soft & Easy) 1983 Soft & Easy @@ -96595,10 +96828,10 @@ Created by Mark Jeffries - + Krazy Kong (C-Tech) - 19?? - <unknown> + 1982 + C-Tech @@ -96611,17 +96844,6 @@ Created by Mark Jeffries - - Krazy Kong - 19?? - <unknown> - - - - - - - Kriss Kross 19?? @@ -96889,6 +97111,7 @@ Created by Mark Jeffries La Abadia del Crimen (set 1) 1988 Opera Soft + @@ -96900,6 +97123,7 @@ Created by Mark Jeffries La Abadia del Crimen (set 2) 19?? <unknown> + @@ -96911,6 +97135,7 @@ Created by Mark Jeffries La Abadia del Crimen (MCM) 1988 MCM Software + @@ -96922,6 +97147,7 @@ Created by Mark Jeffries La Alhambra 1992 Pepsi Soft + @@ -96933,6 +97159,7 @@ Created by Mark Jeffries La Aventura del Dragon 1991 Pepsi Soft + @@ -96944,6 +97171,7 @@ Created by Mark Jeffries La Aventura Espacial 1990 Aventuras AD + @@ -96960,6 +97188,7 @@ Created by Mark Jeffries La Aventura Espacial (IBSA) 1990 IBSA + @@ -96976,6 +97205,7 @@ Created by Mark Jeffries La Aventura Original 1989 Aventuras AD + @@ -96992,6 +97222,7 @@ Created by Mark Jeffries La Aventura Original (IBSA) 1989 IBSA + @@ -97031,9 +97262,10 @@ Created by Mark Jeffries - La Constitucion Espanola + La Constitucion Española 19?? - <unknown> + Investronica + @@ -97062,6 +97294,7 @@ Created by Mark Jeffries La Corona Magica 1990 OMK Software + @@ -97089,6 +97322,9 @@ Created by Mark Jeffries La Grande Boucle 1985 Sprites + + + @@ -97101,6 +97337,7 @@ Created by Mark Jeffries 198? Club Soft + @@ -97108,10 +97345,12 @@ Created by Mark Jeffries - + La Historia Interminable II (System 4) 1991 System 4 + + @@ -97123,6 +97362,8 @@ Created by Mark Jeffries La Princesa 1985 Software Center + + @@ -97139,6 +97380,7 @@ Created by Mark Jeffries La Pulga 1983 Investronica + @@ -97176,7 +97418,7 @@ Created by Mark Jeffries Labyrinth (Axis) 1983 - Axis + Axis Software @@ -97184,10 +97426,10 @@ Created by Mark Jeffries - + Labyrinth (Christor Buening) - 19?? - <unknown> + 1983 + Christor Buening @@ -97195,8 +97437,8 @@ Created by Mark Jeffries - - Labyrinth + + Labyrinth (unknown) 19?? <unknown> @@ -97255,10 +97497,21 @@ Created by Mark Jeffries - + + Land of Mire Mare (v1.06, 5678 keys) + 2014 + Luca Bordoni + + + + + + + + Land of Mire Mare (v1.03, QAOPM keys) - 19?? - <unknown> + 2014 + Luca Bordoni @@ -97266,10 +97519,10 @@ Created by Mark Jeffries - + Land of Mire Mare (v1.03, WASDM keys) - 19?? - <unknown> + 2014 + Luca Bordoni @@ -97277,10 +97530,10 @@ Created by Mark Jeffries - - Land of Mire Mare (v1.03) - 19?? - <unknown> + + Land of Mire Mare (v1.03, 5678 keys) + 2014 + Luca Bordoni @@ -97288,10 +97541,10 @@ Created by Mark Jeffries - - Land of Mire Mare (v1.05) - 19?? - <unknown> + + Land of Mire Mare (v1.05, QAOPM keys) + 2014 + Luca Bordoni @@ -97299,10 +97552,10 @@ Created by Mark Jeffries - - Land of Mire Mare (v1.06, Special Edition) - 19?? - <unknown> + + Land of Mire Mare (v1.06, Special Edition, 5678 keys) + 2014 + Luca Bordoni @@ -97310,10 +97563,10 @@ Created by Mark Jeffries - - Land of Mire Mare (v1.06) - 19?? - <unknown> + + Land of Mire Mare (v1.06, cursor keys) + 2014 + Luca Bordoni @@ -97333,9 +97586,9 @@ Created by Mark Jeffries - Lander (R D Foord Software) + Lander (R.D. Foord Software) 19?? - <unknown> + R.D. Foord Software @@ -97435,6 +97688,7 @@ Created by Mark Jeffries Laser Attack 19?? <unknown> + @@ -97534,8 +97788,8 @@ Created by Mark Jeffries Laser Squad (Blade) - 19?? - <unknown> + 1988 + Blade Software @@ -97553,27 +97807,63 @@ Created by Mark Jeffries 1988 Blade Software + + + + + + Laser Squad (System 4, small case) + 1988 + System 4 + + + + + + + + + + + + + + Laser Squad (System 4, large case) + 1990 + System 4 + + + + + + + + + + + + Laser Squad - Expansion Kit One 1988 @@ -97935,9 +98225,9 @@ Created by Mark Jeffries - League Table (Football Follower) - 19?? - <unknown> + League Table (26 Oct) + 1985 + Hobby Software @@ -97946,9 +98236,9 @@ Created by Mark Jeffries - League Table - 19?? - <unknown> + League Table (23 May 85) + 1985 + Hobby Software @@ -98625,8 +98915,12 @@ Lacks game introduction, bad dump or alternate version? Les Diamants de Kheops - 19?? + 198? Sprites + + + + @@ -98691,7 +98985,7 @@ Lacks game introduction, bad dump or alternate version? Letta-Head 1985 - Bradway + Bradway Software @@ -98704,10 +98998,10 @@ Lacks game introduction, bad dump or alternate version? - + Letta-Head Plus (set 2) - 19?? - <unknown> + 1985 + Bradway Software @@ -98720,10 +99014,10 @@ Lacks game introduction, bad dump or alternate version? - + Letta-Head Plus - 19?? - <unknown> + 1985 + Bradway Software @@ -98738,8 +99032,8 @@ Lacks game introduction, bad dump or alternate version? Letters (Chalksoft) - 19?? - <unknown> + 1984 + Chalksoft @@ -98764,9 +99058,9 @@ Lacks game introduction, bad dump or alternate version? - Liberator (PJ Soft) + Liberator (P.J.) 1989 - P.J. + P.J. Software @@ -98774,10 +99068,10 @@ Lacks game introduction, bad dump or alternate version? - - Liberator - 19?? - <unknown> + + Liberator (Lyversoft) + 1984 + Lyversoft @@ -98790,11 +99084,13 @@ Lacks game introduction, bad dump or alternate version? 1989 Domark + + @@ -118021,6 +118317,20 @@ Nothing happens after loading the cassette + + Play for Peace + 1989 + Top Games + + + + + + + + + + Play It Again Sam 1986 @@ -126865,6 +127175,19 @@ Game 4 - Char-Wallah + + Ruleta Parlante + 1985 + Creativos Editoriales + + + + + + + + + Rulett (128K) 2005 @@ -134396,10 +134719,11 @@ Game 4 - Char-Wallah - - Space Raiders - Invasores Galácticos (Portuguese) + + Space Raiders - Invasores Galácticos 1983 - TMX Portugal Ltda + TMX Portugal + @@ -134407,6 +134731,18 @@ Game 4 - Char-Wallah + + Space Raiders - Invasores Galácticos (alt) + 1983 + TMX Portugal + + + + + + + + Space Resque 1982 @@ -140232,6 +140568,8 @@ Game 4 - Char-Wallah Super Sabre 1984 Sprites + + @@ -146463,6 +146801,22 @@ Game 4 - Char-Wallah + + Time Warrior (Guild) + 199? + The Guild + + + + + + + + + + + + Time Watch (alt) 1986 @@ -151402,9 +151756,9 @@ Version without loading screen, maybe a pre-release - Videomaster - Master Tape - 19?? - <unknown> + Videomaster (master tape) + 1991 + Chris Brown @@ -151934,56 +152288,90 @@ Version without loading screen, maybe a pre-release - - Vowels of the Earth - 19?? - <unknown> + + Vowels of the Earth: Part 1 - The Quest for 'A' + 1986 + I.E.C. Software + + - + + + + Vowels of the Earth: Part 2 - In Search of 'E' + 1986 + I.E.C. Software + + - + + - + + + + Vowels of the Earth: Part 3 - Discovering 'I' + 1986 + I.E.C. Software + + - + + - + + + + Vowels of the Earth: Part 4 - Go for 'O' + 1986 + I.E.C. Software + + - + + - + + + + Vowels of the Earth: Part 5 - The Hunt for 'U' + 1987 + I.E.C. Software + + - + + @@ -154270,6 +154658,24 @@ Version without loading screen, maybe a pre-release + + Winning Games on the ZX Spectrum + 1984 + Ellis Horwood + + + + + + + + + + + + + + Winter Olympiad (Micro Value) 1988 @@ -160922,6 +161328,24 @@ Side B - Game 2: Superkid in Space (Atlantis Software) + + A to Z + 1984 + I.E.C. Software + + + + + + + + + + + + + + A Toda Maquina 1989 @@ -166860,16 +167284,18 @@ Tape 2 - Side B: Star Wars - + Ian Botham's Test Match & Superfile - 19?? - <unknown> + 1985 + Tynesoft + + @@ -166903,8 +167329,8 @@ Tape 2 - Side B: Star Wars - - Impulsoft Cassette 001 + + Impuls Cassette 001 1982 Impulsoft @@ -166914,10 +167340,10 @@ Tape 2 - Side B: Star Wars - - Impulsoft Cassette 003 - 19?? - <unknown> + + Impuls Cassette 003 + 1982 + Impulsoft @@ -166925,10 +167351,10 @@ Tape 2 - Side B: Star Wars - - Impulsoft Cassette 007 - 19?? - <unknown> + + Impuls Cassette 007 + 1983 + Impulsoft @@ -166998,13 +167424,15 @@ Tape 2 - Side B: Star Wars Interrupt Sound Effects & Characterset Collection 19?? - <unknown> + Sigmasoft + + @@ -167124,8 +167552,8 @@ Tape 2 - Side B: Star Wars Jega Tape 2 - 19?? - <unknown> + 1982 + Jega Software @@ -167180,10 +167608,11 @@ Tape 2 - Side A - Game 3: Hydrofool (Faster Than Light) - - K'set (Issue 01) - 19?? - <unknown> + + K'set № 1 (Octubre 85) + 1985 + Ediciones y Textos + @@ -167196,10 +167625,11 @@ Tape 2 - Side A - Game 3: Hydrofool (Faster Than Light) - - K'set (Issue 02) - 19?? - <unknown> + + K'set № 1 (Noviembre 85) + 1985 + Ediciones y Textos + @@ -167334,7 +167764,7 @@ Tape 2 - Side A - Game 3: Hydrofool (Faster Than Light) - Konami's Coin-Op Hits +2 + Konami's Coin-Op Hits (Spectrum +2) 1986 Imagine Software @@ -167361,8 +167791,8 @@ Tape 2 - Side A - Game 3: Hydrofool (Faster Than Light) Konami's Coin-Op Hits - 19?? - <unknown> + 1986 + Imagine Software @@ -167386,9 +167816,9 @@ Tape 2 - Side A - Game 3: Hydrofool (Faster Than Light) - Krazy Kong & Panic Island & Rocket Raider + Krazy Kong + Panic Island + Rocket Raider 19?? - <unknown> + C-Tech @@ -167402,7 +167832,7 @@ Tape 2 - Side A - Game 3: Hydrofool (Faster Than Light) - Krazy Kong & Panic Island + Krazy Kong + Panic Island 1982 C-Tech @@ -167427,6 +167857,7 @@ Tape 2 - Side A - Game 3: Hydrofool (Faster Than Light) La Rana Z-Man 1984 Ventamatic + @@ -167435,19 +167866,18 @@ Tape 2 - Side A - Game 3: Hydrofool (Faster Than Light) - Las Cuatro en Raya & Rescate del Tesoro (set 1) + Las Cuatro en Raya + Rescate del Tesoro (set 1) 1984 Investronica - + + + @@ -167455,19 +167885,18 @@ Side B: Rescate del Tesoro (original release) - Las Cuatro en Raya & Rescate del Tesoro (set 2) - 19?? - <unknown> - + Las Cuatro en Raya + Rescate del Tesoro (set 2) + 1984 + Investronica + + + @@ -167538,26 +167967,30 @@ Side B: Rescate del Tesoro (original release) - + Leaderboard Par 3 - 19?? - <unknown> + 1988 + U.S. Gold + + + + @@ -167710,6 +168143,213 @@ Side B - Game 3: Capricornio 1 [Galaxians] (Artic Computing Ltd) + + Libreria de Software Spectrum № 1 (Febrero 85) (covertape) + 1985 + Grupo de Trabajo Software + + + + + + + + + + + + + + + + + Libreria de Software Spectrum № 1 (Febrero 85) (covertape, alt) + 1985 + Grupo de Trabajo Software + + + + + + + + + + + + + + + + + Libreria de Software Spectrum № 2 (covertape) + 1985 + Grupo de Trabajo Software + + + + + + + + + + + + + + + + + Libreria de Software Spectrum № 2 (covertape, alt) + 1985 + Grupo de Trabajo Software + + + + + + + + + + + + + + + + + Libreria de Software Spectrum № 3 (covertape) + 1985 + Grupo de Trabajo Software + + + + + + + + + + + + + + + + + Libreria de Software Spectrum № 3 (covertape, alt) + 1985 + Grupo de Trabajo Software + + + + + + + + + + + + + + + + + Libreria de Software Spectrum № 4 (covertape) + 1985 + Grupo de Trabajo Software + + + + + + + + + + + + + + + + + Libreria de Software Spectrum № 4 (covertape, alt) + 1985 + Grupo de Trabajo Software + + + + + + + + + + + + + + + + + Libreria de Software Spectrum № 4 (covertape, alt 2) + 1985 + Grupo de Trabajo Software + + + + + + + + + + + + + + + Libreria de Software Spectrum № 5 (covertape) + 1985 + Grupo de Trabajo Software + + + + + + + + + + + + + + + + + Libreria de Software Spectrum № 5 (covertape, alt) + 1985 + Grupo de Trabajo Software + + + + + + + + + + + + + + + Libreria de Software Spectrum (Issue 11) 1986 @@ -167751,10 +168391,11 @@ Side B - Game 3: Capricornio 1 [Galaxians] (Artic Computing Ltd) - - Libreria De Software Spectrum (Issue 26) (Gluman) - 19?? - <unknown> + + Libreria de Software Spectrum № 26 (covertape, Gluman) + 1987 + Grupo de Trabajo Software + @@ -167762,22 +168403,6 @@ Side B - Game 3: Capricornio 1 [Galaxians] (Artic Computing Ltd) - - Librería De Software Spectrum (Issue 04) - 19?? - <unknown> - - - - - - - - - - - - Lightgun Games (48K) 1989 @@ -176821,10 +177446,11 @@ Side A - Game 4: Space Rocus [Planetoids] (Sinclair Research) - - Videospectrum (Issue 01) - 19?? - <unknown> + + Revista de Software VideoSpectrum № 1 (Spanish release, covertape) + 1984 + Geasa + @@ -176837,10 +177463,219 @@ Side A - Game 4: Space Rocus [Planetoids] (Sinclair Research) - - Videospectrum (Issue 10) - 19?? - <unknown> + + Revista de Software VideoSpectrum № 1 (Portuguese release, covertape) + 1984 + Edições Latinas + + + + + + + + + + + + + + + Revista de Software VideoSpectrum № 2 (covertape) + 1984 + Geasa + + + + + + + + + + + + + + + Revista de Software VideoSpectrum № 3 (Spanish release, covertape) + 1984 + Geasa + + + + + + + + + + + + + + + Revista de Software VideoSpectrum № 3 (Portuguese release, covertape) + 1984 + Edições Latinas + + + + + + + + + + + + + + + Revista de Software VideoSpectrum № 4 (Spanish release, covertape) + 1984 + Geasa + + + + + + + + + + + + + + + Revista de Software VideoSpectrum № 4 (Portuguese release, covertape) + 1984 + Edições Latinas + + + + + + + + + + + + + + + + + Revista de Software VideoSpectrum № 5 (covertape) + 1985 + Geasa + + + + + + + + + + + + + + + Revista de Software VideoSpectrum № 6 (Spanish release, covertape) + 1985 + Geasa + + + + + + + + + + + + + + + Revista de Software VideoSpectrum № 6 (Portuguese release, covertape) + 1985 + Edições Latinas + + + + + + + + + + + + + + + + + Revista de Software VideoSpectrum № 7 (covertape) + 1985 + Geasa + + + + + + + + + + + + + + + Revista de Software VideoSpectrum № 8 (covertape) + 1985 + Geasa + + + + + + + + + + + + + + + Revista de Software VideoSpectrum № 9 (covertape) + 1985 + Geasa + + + + + + + + + + + + + + + Revista de Software VideoSpectrum № 10 (covertape) + 1985 + Geasa + @@ -176853,10 +177688,11 @@ Side A - Game 4: Space Rocus [Planetoids] (Sinclair Research) - - Videospectrum (Issue 12) - 19?? - <unknown> + + Revista de Software VideoSpectrum № 12 (covertape) + 1985 + Geasa + @@ -176869,10 +177705,11 @@ Side A - Game 4: Space Rocus [Planetoids] (Sinclair Research) - - Videospectrum (Issue 14) - 19?? - <unknown> + + Revista de Software VideoSpectrum № 14 (covertape) + 1985 + Geasa + @@ -176885,10 +177722,11 @@ Side A - Game 4: Space Rocus [Planetoids] (Sinclair Research) - - Videospectrum (Issue 15) - 19?? - <unknown> + + Revista de Software VideoSpectrum № 15 (covertape) + 1985 + Geasa + @@ -176901,10 +177739,11 @@ Side A - Game 4: Space Rocus [Planetoids] (Sinclair Research) - - Videospectrum (Issue 16) - 19?? - <unknown> + + Revista de Software VideoSpectrum № 16 (covertape) + 1985 + Geasa + @@ -176917,10 +177756,28 @@ Side A - Game 4: Space Rocus [Planetoids] (Sinclair Research) - - Videospectrum (Issue 20) - 19?? - <unknown> + + Revista de Software VideoSpectrum № 17 (covertape) + 1985 + Geasa + + + + + + + + + + + + + + + Revista de Software VideoSpectrum № 20 (covertape) + 1986 + Geasa + @@ -176933,10 +177790,11 @@ Side A - Game 4: Space Rocus [Planetoids] (Sinclair Research) - - Videospectrum (Issue 21) - 19?? - <unknown> + + Revista de Software VideoSpectrum № 21 (covertape) + 1986 + Geasa + @@ -176949,10 +177807,11 @@ Side A - Game 4: Space Rocus [Planetoids] (Sinclair Research) - - Videospectrum (Issue 22) - 19?? - <unknown> + + Revista de Software VideoSpectrum № 22 (covertape) + 1986 + Geasa + @@ -176965,10 +177824,11 @@ Side A - Game 4: Space Rocus [Planetoids] (Sinclair Research) - - Videospectrum (Issue 23) - 19?? - <unknown> + + Revista de Software VideoSpectrum № 23 (covertape) + 1986 + Geasa + @@ -176981,10 +177841,11 @@ Side A - Game 4: Space Rocus [Planetoids] (Sinclair Research) - - Videospectrum (Issue 24) - 19?? - <unknown> + + Revista de Software VideoSpectrum № 24 (covertape) + 1986 + Geasa + @@ -176997,10 +177858,28 @@ Side A - Game 4: Space Rocus [Planetoids] (Sinclair Research) - - Videospectrum (Issue 26) - 19?? - <unknown> + + Revista de Software VideoSpectrum № 25 (covertape) + 1986 + Geasa + + + + + + + + + + + + + + + Revista de Software VideoSpectrum № 26 (covertape) + 1986 + Geasa + @@ -177013,10 +177892,44 @@ Side A - Game 4: Space Rocus [Planetoids] (Sinclair Research) + + Revista de Software VideoSpectrum № 28 (covertape) + 1986 + Geasa + + + + + + + + + + + + + + + Revista de Software VideoSpectrum № 31 (covertape) + 1987 + Geasa + + + + + + + + + + + + + View To A Kill Pack - 19?? - <unknown> + 1988 + Paxman Promotions diff --git a/hash/videopac.xml b/hash/videopac.xml index 90d66391b4d22..95dccb9a9b626 100644 --- a/hash/videopac.xml +++ b/hash/videopac.xml @@ -18,13 +18,10 @@ TODO: - add serials for radiola and jopacs Undumped (or dumped but not public): -- G7400 service test cartridge - misc. homebrew cartridges Protos: - Catburglar (youtube.com/watch?v=DDsWDFxy0oE) -- Spaans (Spanish to Dutch translator) -- Melrep - Crazy Horses http://www.ozyr.com/rene/PICS/protos.jpg @@ -57,7 +54,6 @@ http://www.ozyr.com/rene/PICS/odyssey3_set.jpg There is an Odyssey³ Command Center Voice Module, could be differences to released Odyssey² version. Do Videopac+/Odyssey3 versions exist?: -- Syracuse (France) - Robot City (USA) - Interpol (USA) @@ -834,7 +830,7 @@ distinguished by the changed copyright from Magnavox to N.A.P. (North American P - + Electronic Volleyball (Europe, USA) 1979 Philips @@ -849,7 +845,7 @@ distinguished by the changed copyright from Magnavox to N.A.P. (North American P - + Volleyball (France) 1979 Radiola @@ -1608,6 +1604,7 @@ distinguished by the changed copyright from Magnavox to N.A.P. (North American P + The Great Wall Street Fortune Hunt (Europe, USA) 1983 Philips @@ -2060,6 +2057,18 @@ distinguished by the changed copyright from Magnavox to N.A.P. (North American P + + Melrep (Europe, prototype) + 198? + Philips + + + + + + + + Pinball! (USA, prototype) @@ -2099,7 +2108,7 @@ distinguished by the changed copyright from Magnavox to N.A.P. (North American P - + Service Test Cartridge (Europe) 198? Philips @@ -2138,6 +2147,18 @@ distinguished by the changed copyright from Magnavox to N.A.P. (North American P + + Spaans (Europe, prototype) + 198? + Philips + + + + + + + + Spider-Man (Europe, prototype, set 1) 198? @@ -2529,6 +2550,21 @@ distinguished by the changed copyright from Magnavox to N.A.P. (North American P + + + Service Test Cartridge (Europe, plus) + 1983 + Philips + + + + + + + + + + Stone Sling (Europe, plus) 198? @@ -2542,6 +2578,19 @@ distinguished by the changed copyright from Magnavox to N.A.P. (North American P + + Syracuse+ (France, plus, prototype) + 198? + Brandt + + + + + + + + + Terrahawks (Europe, plus) 198? @@ -2608,7 +2657,7 @@ distinguished by the changed copyright from Magnavox to N.A.P. (North American P Norseman (Europe) 1983 GST Video - + diff --git a/scripts/src/3rdparty.lua b/scripts/src/3rdparty.lua index 0858f10d88a5c..10e3efeb16ac7 100755 --- a/scripts/src/3rdparty.lua +++ b/scripts/src/3rdparty.lua @@ -1499,7 +1499,7 @@ end MAME_DIR .. "3rdparty/bx/include/compat/freebsd", } - configuration { "linux*" } + configuration { "linux*", "not mingw*" } includedirs { MAME_DIR .. "3rdparty/bgfx/3rdparty/directx-headers/include/wsl/stubs", MAME_DIR .. "3rdparty/bx/include/compat/linux", diff --git a/scripts/src/bus.lua b/scripts/src/bus.lua index d7fdfe15364fb..404c309386420 100644 --- a/scripts/src/bus.lua +++ b/scripts/src/bus.lua @@ -3372,6 +3372,14 @@ if (BUSES["RS232"]~=null) then MAME_DIR .. "src/devices/bus/rs232/xvd701.cpp", MAME_DIR .. "src/devices/bus/rs232/xvd701.h", } + + dependency { + { MAME_DIR .. "src/devices/bus/rs232/teletex800.cpp", GEN_DIR .. "emu/layout/teletex800.lh" }, + } + + custombuildtask { + layoutbuildtask("emu/layout", "teletex800"), + } end --------------------------------------------------- @@ -4688,8 +4696,14 @@ if (BUSES["ZORRO"]~=null) then MAME_DIR .. "src/devices/bus/amiga/zorro/action_replay.h", MAME_DIR .. "src/devices/bus/amiga/zorro/buddha.cpp", MAME_DIR .. "src/devices/bus/amiga/zorro/buddha.h", + MAME_DIR .. "src/devices/bus/amiga/zorro/picasso2.cpp", + MAME_DIR .. "src/devices/bus/amiga/zorro/picasso2.h", + MAME_DIR .. "src/devices/bus/amiga/zorro/rainbow2.cpp", + MAME_DIR .. "src/devices/bus/amiga/zorro/rainbow2.h", MAME_DIR .. "src/devices/bus/amiga/zorro/ripple.cpp", MAME_DIR .. "src/devices/bus/amiga/zorro/ripple.h", + MAME_DIR .. "src/devices/bus/amiga/zorro/toccata.cpp", + MAME_DIR .. "src/devices/bus/amiga/zorro/toccata.h", } end @@ -5755,6 +5769,8 @@ if (BUSES["H89BUS"]~=null) then files { MAME_DIR .. "src/devices/bus/heathzenith/h89/cards.cpp", MAME_DIR .. "src/devices/bus/heathzenith/h89/cards.h", + MAME_DIR .. "src/devices/bus/heathzenith/h89/cdr_fdc_880h.cpp", + MAME_DIR .. "src/devices/bus/heathzenith/h89/cdr_fdc_880h.h", MAME_DIR .. "src/devices/bus/heathzenith/h89/h89bus.cpp", MAME_DIR .. "src/devices/bus/heathzenith/h89/h89bus.h", MAME_DIR .. "src/devices/bus/heathzenith/h89/h17_fdc.cpp", diff --git a/scripts/src/cpu.lua b/scripts/src/cpu.lua index f94f56dc077ef..014c27a25d300 100644 --- a/scripts/src/cpu.lua +++ b/scripts/src/cpu.lua @@ -1738,6 +1738,7 @@ end -------------------------------------------------- -- MOS Technology 6502 and its many derivatives --@src/devices/cpu/m6502/deco16.h,CPUS["M6502"] = true +--@src/devices/cpu/m6502/g65sc02.h,CPUS["M6502"] = true --@src/devices/cpu/m6502/gew7.h,CPUS["M6502"] = true --@src/devices/cpu/m6502/gew12.h,CPUS["M6502"] = true --@src/devices/cpu/m6502/m3745x.h,CPUS["M6502"] = true @@ -1754,8 +1755,6 @@ end --@src/devices/cpu/m6502/m6510.h,CPUS["M6502"] = true --@src/devices/cpu/m6502/m6510t.h,CPUS["M6502"] = true --@src/devices/cpu/m6502/m65ce02.h,CPUS["M6502"] = true ---@src/devices/cpu/m6502/m65c02.h,CPUS["M6502"] = true ---@src/devices/cpu/m6502/m65sc02.h,CPUS["M6502"] = true --@src/devices/cpu/m6502/m740.h,CPUS["M6502"] = true --@src/devices/cpu/m6502/m7501.h,CPUS["M6502"] = true --@src/devices/cpu/m6502/m8502.h,CPUS["M6502"] = true @@ -1765,6 +1764,7 @@ end --@src/devices/cpu/m6502/st2xxx.h,CPUS["ST2XXX"] = true --@src/devices/cpu/m6502/st2204.h,CPUS["ST2XXX"] = true --@src/devices/cpu/m6502/st2205u.h,CPUS["ST2XXX"] = true +--@src/devices/cpu/m6502/w65c02.h,CPUS["M6502"] = true --@src/devices/cpu/m6502/w65c02s.h,CPUS["M6502"] = true --@src/devices/cpu/m6502/xavix.h,CPUS["XAVIX"] = true --@src/devices/cpu/m6502/xavix.h,CPUS["XAVIX2000"] = true @@ -1775,6 +1775,8 @@ if CPUS["M6502"] then files { MAME_DIR .. "src/devices/cpu/m6502/deco16.cpp", MAME_DIR .. "src/devices/cpu/m6502/deco16.h", + MAME_DIR .. "src/devices/cpu/m6502/g65sc02.cpp", + MAME_DIR .. "src/devices/cpu/m6502/g65sc02.h", MAME_DIR .. "src/devices/cpu/m6502/gew7.cpp", MAME_DIR .. "src/devices/cpu/m6502/gew7.h", MAME_DIR .. "src/devices/cpu/m6502/gew12.cpp", @@ -1807,12 +1809,8 @@ if CPUS["M6502"] then MAME_DIR .. "src/devices/cpu/m6502/m6510.h", MAME_DIR .. "src/devices/cpu/m6502/m6510t.cpp", MAME_DIR .. "src/devices/cpu/m6502/m6510t.h", - MAME_DIR .. "src/devices/cpu/m6502/m65c02.cpp", - MAME_DIR .. "src/devices/cpu/m6502/m65c02.h", MAME_DIR .. "src/devices/cpu/m6502/m65ce02.cpp", MAME_DIR .. "src/devices/cpu/m6502/m65ce02.h", - MAME_DIR .. "src/devices/cpu/m6502/m65sc02.cpp", - MAME_DIR .. "src/devices/cpu/m6502/m65sc02.h", MAME_DIR .. "src/devices/cpu/m6502/m740.cpp", MAME_DIR .. "src/devices/cpu/m6502/m740.h", MAME_DIR .. "src/devices/cpu/m6502/m7501.cpp", @@ -1825,6 +1823,8 @@ if CPUS["M6502"] then MAME_DIR .. "src/devices/cpu/m6502/r65c19.h", MAME_DIR .. "src/devices/cpu/m6502/rp2a03.cpp", MAME_DIR .. "src/devices/cpu/m6502/rp2a03.h", + MAME_DIR .. "src/devices/cpu/m6502/w65c02.cpp", + MAME_DIR .. "src/devices/cpu/m6502/w65c02.h", MAME_DIR .. "src/devices/cpu/m6502/w65c02s.cpp", MAME_DIR .. "src/devices/cpu/m6502/w65c02s.h", } @@ -1833,7 +1833,6 @@ if CPUS["M6502"] then { MAME_DIR .. "src/devices/cpu/m6502/odeco16.lst", GEN_DIR .. "emu/cpu/m6502/deco16.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/ddeco16.lst" }, {"@echo Generating deco16 instruction source file...", PYTHON .. " $(1) s deco16 $(<) $(2) $(@)" }}, { MAME_DIR .. "src/devices/cpu/m6502/om4510.lst", GEN_DIR .. "emu/cpu/m6502/m4510.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm4510.lst" }, {"@echo Generating m4510 instruction source file...", PYTHON .. " $(1) s m4510 $(<) $(2) $(@)" }}, { MAME_DIR .. "src/devices/cpu/m6502/om6502.lst", GEN_DIR .. "emu/cpu/m6502/m6502.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm6502.lst" }, {"@echo Generating m6502 instruction source file...", PYTHON .. " $(1) s m6502 $(<) $(2) $(@)" }}, - { MAME_DIR .. "src/devices/cpu/m6502/om65c02.lst", GEN_DIR .. "emu/cpu/m6502/m65c02.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm65c02.lst" }, {"@echo Generating m65c02 instruction source file...", PYTHON .. " $(1) s m65c02 $(<) $(2) $(@)" }}, { MAME_DIR .. "src/devices/cpu/m6502/om65ce02.lst", GEN_DIR .. "emu/cpu/m6502/m65ce02.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm65ce02.lst" }, {"@echo Generating m65ce02 instruction source file...", PYTHON .. " $(1) s m65ce02 $(<) $(2) $(@)" }}, { MAME_DIR .. "src/devices/cpu/m6502/om6509.lst", GEN_DIR .. "emu/cpu/m6502/m6509.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm6509.lst" }, {"@echo Generating m6509 instruction source file...", PYTHON .. " $(1) s m6509 $(<) $(2) $(@)" }}, { MAME_DIR .. "src/devices/cpu/m6502/om6510.lst", GEN_DIR .. "emu/cpu/m6502/m6510.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm6510.lst" }, {"@echo Generating m6510 instruction source file...", PYTHON .. " $(1) s m6510 $(<) $(2) $(@)" }}, @@ -1841,6 +1840,7 @@ if CPUS["M6502"] then { MAME_DIR .. "src/devices/cpu/m6502/dr65c02.lst", GEN_DIR .. "emu/cpu/m6502/r65c02.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", }, {"@echo Generating r65c02 instruction source file...", PYTHON .. " $(1) s r65c02 - $(<) $(@)" }}, { MAME_DIR .. "src/devices/cpu/m6502/or65c19.lst", GEN_DIR .. "emu/cpu/m6502/r65c19.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dr65c19.lst" }, {"@echo Generating r65c19 instruction source file...", PYTHON .. " $(1) s r65c19 $(<) $(2) $(@)" }}, { MAME_DIR .. "src/devices/cpu/m6502/orp2a03.lst", GEN_DIR .. "emu/cpu/m6502/rp2a03.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/drp2a03.lst" }, {"@echo Generating rp2a03 instruction source file...", PYTHON .. " $(1) s rp2a03_core $(<) $(2) $(@)" }}, + { MAME_DIR .. "src/devices/cpu/m6502/ow65c02.lst", GEN_DIR .. "emu/cpu/m6502/w65c02.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dw65c02.lst" }, {"@echo Generating w65c02 instruction source file...", PYTHON .. " $(1) s w65c02 $(<) $(2) $(@)" }}, { MAME_DIR .. "src/devices/cpu/m6502/ow65c02s.lst", GEN_DIR .. "emu/cpu/m6502/w65c02s.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dw65c02s.lst" }, {"@echo Generating w65c02s instruction source file...", PYTHON .. " $(1) s w65c02s $(<) $(2) $(@)" }}, } @@ -1850,12 +1850,12 @@ if CPUS["M6502"] then { MAME_DIR .. "src/devices/cpu/m6502/m6502.cpp", GEN_DIR .. "emu/cpu/m6502/m6502.hxx" }, { MAME_DIR .. "src/devices/cpu/m6502/m6509.cpp", GEN_DIR .. "emu/cpu/m6502/m6509.hxx" }, { MAME_DIR .. "src/devices/cpu/m6502/m6510.cpp", GEN_DIR .. "emu/cpu/m6502/m6510.hxx" }, - { MAME_DIR .. "src/devices/cpu/m6502/m65c02.cpp", GEN_DIR .. "emu/cpu/m6502/m65c02.hxx" }, { MAME_DIR .. "src/devices/cpu/m6502/m65ce02.cpp", GEN_DIR .. "emu/cpu/m6502/m65ce02.hxx" }, { MAME_DIR .. "src/devices/cpu/m6502/m740.cpp", GEN_DIR .. "emu/cpu/m6502/m740.hxx" }, { MAME_DIR .. "src/devices/cpu/m6502/r65c02.cpp", GEN_DIR .. "emu/cpu/m6502/r65c02.hxx" }, { MAME_DIR .. "src/devices/cpu/m6502/r65c19.cpp", GEN_DIR .. "emu/cpu/m6502/r65c19.hxx" }, { MAME_DIR .. "src/devices/cpu/m6502/rp2a03.cpp", GEN_DIR .. "emu/cpu/m6502/rp2a03.hxx" }, + { MAME_DIR .. "src/devices/cpu/m6502/w65c02.cpp", GEN_DIR .. "emu/cpu/m6502/w65c02.hxx" }, { MAME_DIR .. "src/devices/cpu/m6502/w65c02s.cpp", GEN_DIR .. "emu/cpu/m6502/w65c02s.hxx" }, } end @@ -1905,7 +1905,6 @@ if opt_tool(CPUS, "M6502") then table.insert(disasm_custombuildtask, { MAME_DIR .. "src/devices/cpu/m6502/odeco16.lst", GEN_DIR .. "emu/cpu/m6502/deco16d.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/ddeco16.lst" }, {"@echo Generating deco16 disassembler source file...", PYTHON .. " $(1) d deco16 $(<) $(2) $(@)" }}) table.insert(disasm_custombuildtask, { MAME_DIR .. "src/devices/cpu/m6502/om4510.lst", GEN_DIR .. "emu/cpu/m6502/m4510d.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm4510.lst" }, {"@echo Generating m4510 disassembler source file...", PYTHON .. " $(1) d m4510 $(<) $(2) $(@)" }}) table.insert(disasm_custombuildtask, { MAME_DIR .. "src/devices/cpu/m6502/om6502.lst", GEN_DIR .. "emu/cpu/m6502/m6502d.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm6502.lst" }, {"@echo Generating m6502 disassembler source file...", PYTHON .. " $(1) d m6502 $(<) $(2) $(@)" }}) - table.insert(disasm_custombuildtask, { MAME_DIR .. "src/devices/cpu/m6502/om65c02.lst", GEN_DIR .. "emu/cpu/m6502/m65c02d.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm65c02.lst" }, {"@echo Generating m65c02 disassembler source file...", PYTHON .. " $(1) d m65c02 $(<) $(2) $(@)" }}) table.insert(disasm_custombuildtask, { MAME_DIR .. "src/devices/cpu/m6502/om65ce02.lst", GEN_DIR .. "emu/cpu/m6502/m65ce02d.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm65ce02.lst" }, {"@echo Generating m65ce02 disassembler source file...", PYTHON .. " $(1) d m65ce02 $(<) $(2) $(@)" }}) table.insert(disasm_custombuildtask, { MAME_DIR .. "src/devices/cpu/m6502/om6509.lst", GEN_DIR .. "emu/cpu/m6502/m6509d.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm6509.lst" }, {"@echo Generating m6509 disassembler source file...", PYTHON .. " $(1) d m6509 $(<) $(2) $(@)" }}) table.insert(disasm_custombuildtask, { MAME_DIR .. "src/devices/cpu/m6502/om6510.lst", GEN_DIR .. "emu/cpu/m6502/m6510d.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm6510.lst" }, {"@echo Generating m6510 disassembler source file...", PYTHON .. " $(1) d m6510 $(<) $(2) $(@)" }}) @@ -1913,18 +1912,19 @@ if opt_tool(CPUS, "M6502") then table.insert(disasm_custombuildtask, { MAME_DIR .. "src/devices/cpu/m6502/dr65c02.lst", GEN_DIR .. "emu/cpu/m6502/r65c02d.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", }, {"@echo Generating r65c02 disassembler source file...", PYTHON .. " $(1) d r65c02 - $(<) $(@)" }}) table.insert(disasm_custombuildtask, { MAME_DIR .. "src/devices/cpu/m6502/or65c19.lst", GEN_DIR .. "emu/cpu/m6502/r65c19d.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dr65c19.lst" }, {"@echo Generating r65c19 disassembler source file...", PYTHON .. " $(1) d r65c19 $(<) $(2) $(@)" }}) table.insert(disasm_custombuildtask, { MAME_DIR .. "src/devices/cpu/m6502/orp2a03.lst", GEN_DIR .. "emu/cpu/m6502/rp2a03d.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/drp2a03.lst" }, {"@echo Generating rp2a03 disassembler source file...", PYTHON .. " $(1) d rp2a03 $(<) $(2) $(@)" }}) + table.insert(disasm_custombuildtask, { MAME_DIR .. "src/devices/cpu/m6502/ow65c02.lst", GEN_DIR .. "emu/cpu/m6502/w65c02d.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dw65c02.lst" }, {"@echo Generating w65c02 disassembler source file...", PYTHON .. " $(1) d w65c02 $(<) $(2) $(@)" }}) table.insert(disasm_dependency, { MAME_DIR .. "src/devices/cpu/m6502/deco16d.cpp", GEN_DIR .. "emu/cpu/m6502/deco16d.hxx" }) table.insert(disasm_dependency, { MAME_DIR .. "src/devices/cpu/m6502/m4510d.cpp", GEN_DIR .. "emu/cpu/m6502/m4510d.hxx" }) table.insert(disasm_dependency, { MAME_DIR .. "src/devices/cpu/m6502/m6502d.cpp", GEN_DIR .. "emu/cpu/m6502/m6502d.hxx" }) table.insert(disasm_dependency, { MAME_DIR .. "src/devices/cpu/m6502/m6509d.cpp", GEN_DIR .. "emu/cpu/m6502/m6509d.hxx" }) table.insert(disasm_dependency, { MAME_DIR .. "src/devices/cpu/m6502/m6510d.cpp", GEN_DIR .. "emu/cpu/m6502/m6510d.hxx" }) - table.insert(disasm_dependency, { MAME_DIR .. "src/devices/cpu/m6502/m65c02d.cpp", GEN_DIR .. "emu/cpu/m6502/m65c02d.hxx" }) table.insert(disasm_dependency, { MAME_DIR .. "src/devices/cpu/m6502/m65ce02d.cpp", GEN_DIR .. "emu/cpu/m6502/m65ce02d.hxx" }) table.insert(disasm_dependency, { MAME_DIR .. "src/devices/cpu/m6502/m740d.cpp", GEN_DIR .. "emu/cpu/m6502/m740d.hxx" }) table.insert(disasm_dependency, { MAME_DIR .. "src/devices/cpu/m6502/r65c02d.cpp", GEN_DIR .. "emu/cpu/m6502/r65c02d.hxx" }) table.insert(disasm_dependency, { MAME_DIR .. "src/devices/cpu/m6502/r65c19d.cpp", GEN_DIR .. "emu/cpu/m6502/r65c19d.hxx" }) table.insert(disasm_dependency, { MAME_DIR .. "src/devices/cpu/m6502/rp2a03d.cpp", GEN_DIR .. "emu/cpu/m6502/rp2a03d.hxx" }) + table.insert(disasm_dependency, { MAME_DIR .. "src/devices/cpu/m6502/w65c02d.cpp", GEN_DIR .. "emu/cpu/m6502/w65c02d.hxx" }) table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/deco16d.cpp") table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/deco16d.h") @@ -1936,8 +1936,6 @@ if opt_tool(CPUS, "M6502") then table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/m6509d.h") table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/m6510d.cpp") table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/m6510d.h") - table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/m65c02d.cpp") - table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/m65c02d.h") table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/m65ce02d.cpp") table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/m65ce02d.h") table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/m740d.cpp") @@ -1948,6 +1946,8 @@ if opt_tool(CPUS, "M6502") then table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/r65c19d.h") table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/rp2a03d.cpp") table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/rp2a03d.h") + table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/w65c02d.cpp") + table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/w65c02d.h") end if opt_tool(CPUS, "XAVIX") then diff --git a/scripts/target/mame/tiny.lua b/scripts/target/mame/tiny.lua index 402027691c163..246282a344a74 100644 --- a/scripts/target/mame/tiny.lua +++ b/scripts/target/mame/tiny.lua @@ -154,12 +154,12 @@ files{ MAME_DIR .. "src/mame/shared/s11c_bg.h", MAME_DIR .. "src/mame/shared/williamssound.cpp", MAME_DIR .. "src/mame/shared/williamssound.h", - MAME_DIR .. "src/mame/midway/williamsblitter.cpp", - MAME_DIR .. "src/mame/midway/williamsblitter.h", MAME_DIR .. "src/mame/midway/williams.cpp", MAME_DIR .. "src/mame/midway/williams.h", MAME_DIR .. "src/mame/midway/williams_m.cpp", MAME_DIR .. "src/mame/midway/williams_v.cpp", + MAME_DIR .. "src/mame/midway/williamsblitter.cpp", + MAME_DIR .. "src/mame/midway/williamsblitter.h", MAME_DIR .. "src/mame/gaelco/gaelco.cpp", MAME_DIR .. "src/mame/gaelco/gaelco.h", MAME_DIR .. "src/mame/gaelco/gaelco_v.cpp", diff --git a/src/devices/bus/a2bus/4play.cpp b/src/devices/bus/a2bus/4play.cpp index d267b5c0059e5..39f77ddd62cb7 100644 --- a/src/devices/bus/a2bus/4play.cpp +++ b/src/devices/bus/a2bus/4play.cpp @@ -70,14 +70,14 @@ static INPUT_PORTS_START( a24play ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(3) PORT_START("p4") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(3) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(3) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(3) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(3) - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(3) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_PLAYER(3) - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(3) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(3) + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(4) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(4) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(4) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(4) + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(4) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_PLAYER(4) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(4) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(4) INPUT_PORTS_END //------------------------------------------------- diff --git a/src/devices/bus/a2bus/a2superdrive.cpp b/src/devices/bus/a2bus/a2superdrive.cpp index f9ce022a672b0..922c9bc0403d6 100644 --- a/src/devices/bus/a2bus/a2superdrive.cpp +++ b/src/devices/bus/a2bus/a2superdrive.cpp @@ -74,11 +74,10 @@ class a2bus_superdrive_device: virtual void write_c800(uint16_t offset, uint8_t data) override; private: + void w65c02_mem(address_map &map) ATTR_COLD; - void m65c02_mem(address_map &map) ATTR_COLD; - - void m65c02_w(offs_t offset, uint8_t value); - uint8_t m65c02_r(offs_t offset); + void w65c02_w(offs_t offset, uint8_t value); + uint8_t w65c02_r(offs_t offset); void phases_w(uint8_t phases); void sel35_w(int sel35); @@ -111,10 +110,10 @@ const tiny_rom_entry *a2bus_superdrive_device::device_rom_region() const return ROM_NAME( superdrive ); } -void a2bus_superdrive_device::m65c02_mem(address_map &map) +void a2bus_superdrive_device::w65c02_mem(address_map &map) { map(0x0000, 0x7fff).ram().share(m_ram); - map(0x0a00, 0x0aff).rw(FUNC(a2bus_superdrive_device::m65c02_r), FUNC(a2bus_superdrive_device::m65c02_w)); + map(0x0a00, 0x0aff).rw(FUNC(a2bus_superdrive_device::w65c02_r), FUNC(a2bus_superdrive_device::w65c02_w)); map(0x8000, 0xffff).rom().region(SUPERDRIVE_ROM_REGION, 0x0000); } @@ -123,7 +122,7 @@ void a2bus_superdrive_device::device_add_mconfig(machine_config &config) { W65C02S(config, m_65c02, DERIVED_CLOCK(2, 7)); /* ~ 2.046 MHz */ - m_65c02->set_addrmap(AS_PROGRAM, &a2bus_superdrive_device::m65c02_mem); + m_65c02->set_addrmap(AS_PROGRAM, &a2bus_superdrive_device::w65c02_mem); SWIM1(config, m_fdc, C16M); @@ -221,7 +220,7 @@ void a2bus_superdrive_device::write_c800(uint16_t offset, uint8_t data) /* uc 65c02 i/o at $0a00 */ -void a2bus_superdrive_device::m65c02_w(offs_t offset, uint8_t value) +void a2bus_superdrive_device::w65c02_w(offs_t offset, uint8_t value) { // $00-$0f = swim registers // $40 = head sel low @@ -265,7 +264,7 @@ void a2bus_superdrive_device::m65c02_w(offs_t offset, uint8_t value) } } -uint8_t a2bus_superdrive_device::m65c02_r(offs_t offset) +uint8_t a2bus_superdrive_device::w65c02_r(offs_t offset) { floppy_image_device *floppy = nullptr; diff --git a/src/devices/bus/a2bus/transwarp.cpp b/src/devices/bus/a2bus/transwarp.cpp index da737f84e2fd0..34b3a3305b9fe 100644 --- a/src/devices/bus/a2bus/transwarp.cpp +++ b/src/devices/bus/a2bus/transwarp.cpp @@ -22,7 +22,7 @@ #include "emu.h" #include "transwarp.h" #include "cpu/m6502/m6502.h" -#include "cpu/m6502/m65c02.h" +#include "cpu/m6502/w65c02.h" //************************************************************************** @@ -65,7 +65,7 @@ class a2bus_transwarp_device: uint8_t dma_r(offs_t offset); void dma_w(offs_t offset, uint8_t data); - void m65c02_mem(address_map &map) ATTR_COLD; + void w65c02_mem(address_map &map) ATTR_COLD; void hit_slot(int slot); void hit_slot_joy(); @@ -77,7 +77,7 @@ class a2bus_transwarp_device: DEFINE_DEVICE_TYPE_PRIVATE(A2BUS_TRANSWARP, device_a2bus_card_interface, a2bus_transwarp_device, "a2twarp", "Applied Engineering TransWarp") -void a2bus_transwarp_device::m65c02_mem(address_map &map) +void a2bus_transwarp_device::w65c02_mem(address_map &map) { map(0x0000, 0xffff).rw(FUNC(a2bus_transwarp_device::dma_r), FUNC(a2bus_transwarp_device::dma_w)); } @@ -169,8 +169,8 @@ ioport_constructor a2bus_transwarp_device::device_input_ports() const void a2bus_transwarp_device::device_add_mconfig(machine_config &config) { - M65C02(config, m_ourcpu, DERIVED_CLOCK(1, 2)); - m_ourcpu->set_addrmap(AS_PROGRAM, &a2bus_transwarp_device::m65c02_mem); + W65C02(config, m_ourcpu, DERIVED_CLOCK(1, 2)); + m_ourcpu->set_addrmap(AS_PROGRAM, &a2bus_transwarp_device::w65c02_mem); } //************************************************************************** diff --git a/src/devices/bus/amiga/zorro/a2052.cpp b/src/devices/bus/amiga/zorro/a2052.cpp index 66eb712f7ffd4..a342e4eb26753 100644 --- a/src/devices/bus/amiga/zorro/a2052.cpp +++ b/src/devices/bus/amiga/zorro/a2052.cpp @@ -1,5 +1,5 @@ -// license:GPL-2.0+ -// copyright-holders:Dirk Best +// license: GPL-2.0+ +// copyright-holders: Dirk Best /*************************************************************************** Commodore A2052 @@ -21,12 +21,20 @@ DEFINE_DEVICE_TYPE(ZORRO_A2052, bus::amiga::zorro::a2052_device, "zorro_a2052", "CBM A2052 Fast Memory") - namespace bus::amiga::zorro { -//------------------------------------------------- -// input_ports - device-specific input ports -//------------------------------------------------- +a2052_device::a2052_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + device_t(mconfig, ZORRO_A2052, tag, owner, clock), + device_zorro2_card_interface(mconfig, *this), + m_config(*this, "config"), + m_ram_size(0) +{ +} + + +//************************************************************************** +// INPUT DEFINITIONS +//************************************************************************** static INPUT_PORTS_START( a2052 ) PORT_START("config") @@ -43,31 +51,21 @@ ioport_constructor a2052_device::device_input_ports() const //************************************************************************** -// LIVE DEVICE +// MACHINE EMULATION //************************************************************************** -//------------------------------------------------- -// a2052_device - constructor -//------------------------------------------------- - -a2052_device::a2052_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : - device_t(mconfig, ZORRO_A2052, tag, owner, clock), - device_zorro2_card_interface(mconfig, *this), - m_config(*this, "config") -{ -} - -//------------------------------------------------- -// device_start - device-specific startup -//------------------------------------------------- - void a2052_device::device_start() { + // setup ram + m_ram = make_unique_clear(0x200000/2); + + // register for save states + save_pointer(NAME(m_ram), 0x200000/2); } //************************************************************************** -// IMPLEMENTATION +// AUTOCONFIG //************************************************************************** void a2052_device::autoconfig_base_address(offs_t address) @@ -79,7 +77,7 @@ void a2052_device::autoconfig_base_address(offs_t address) m_slot->space().unmap_readwrite(0xe80000, 0xe8007f); // install access to the rom space - m_slot->space().install_ram(address, address + m_ram.size()*2 - 1, &m_ram[0]); + m_slot->space().install_ram(address, address + (m_ram_size << 20) - 1, m_ram.get()); // we're done m_slot->cfgout_w(0); @@ -99,20 +97,20 @@ void a2052_device::cfgin_w(int state) { case 0: autoconfig_board_size(BOARD_SIZE_512K); - m_ram.resize(0x080000/2); + m_ram_size = 0x080000 >> 20; break; case 1: autoconfig_board_size(BOARD_SIZE_1M); - m_ram.resize(0x100000/2); + m_ram_size = 0x100000 >> 20; break; case 2: autoconfig_board_size(BOARD_SIZE_2M); - m_ram.resize(0x200000/2); + m_ram_size = 0x200000 >> 20; break; } - autoconfig_product(0x0a); - autoconfig_manufacturer(0x0202); + autoconfig_product(10); + autoconfig_manufacturer(514); autoconfig_serial(0x00000000); autoconfig_link_into_memory(true); @@ -123,8 +121,8 @@ void a2052_device::cfgin_w(int state) // install autoconfig handler m_slot->space().install_readwrite_handler(0xe80000, 0xe8007f, - read16_delegate(*this, FUNC(amiga_autoconfig::autoconfig_read)), - write16_delegate(*this, FUNC(amiga_autoconfig::autoconfig_write)), 0xffff); + read16_delegate(*this, FUNC(amiga_autoconfig::autoconfig_read)), + write16_delegate(*this, FUNC(amiga_autoconfig::autoconfig_write)), 0xffffffff); } } diff --git a/src/devices/bus/amiga/zorro/a2052.h b/src/devices/bus/amiga/zorro/a2052.h index 89cb17ee09bd1..6bea75b19a5da 100644 --- a/src/devices/bus/amiga/zorro/a2052.h +++ b/src/devices/bus/amiga/zorro/a2052.h @@ -1,5 +1,5 @@ -// license:GPL-2.0+ -// copyright-holders:Dirk Best +// license: GPL-2.0+ +// copyright-holders: Dirk Best /*************************************************************************** Commodore A2052 @@ -23,12 +23,9 @@ namespace bus::amiga::zorro { // TYPE DEFINITIONS //************************************************************************** -// ======================> a2052_device - class a2052_device : public device_t, public device_zorro2_card_interface, public amiga_autoconfig { public: - // construction/destruction a2052_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); protected: @@ -43,12 +40,13 @@ class a2052_device : public device_t, public device_zorro2_card_interface, publi private: required_ioport m_config; - std::vector m_ram; + std::unique_ptr m_ram; + int m_ram_size; }; } // namespace bus::amiga::zorro -// device type definition +// device type declaration DECLARE_DEVICE_TYPE_NS(ZORRO_A2052, bus::amiga::zorro, a2052_device) #endif // MAME_BUS_AMIGA_ZORRO_A2052_H diff --git a/src/devices/bus/amiga/zorro/a2058.cpp b/src/devices/bus/amiga/zorro/a2058.cpp index 4077306ad6bfc..905334ed1bbd4 100644 --- a/src/devices/bus/amiga/zorro/a2058.cpp +++ b/src/devices/bus/amiga/zorro/a2058.cpp @@ -1,5 +1,5 @@ -// license:GPL-2.0+ -// copyright-holders:Dirk Best +// license: GPL-2.0+ +// copyright-holders: Dirk Best /*************************************************************************** Commodore A2058 @@ -21,12 +21,20 @@ DEFINE_DEVICE_TYPE(ZORRO_A2058, bus::amiga::zorro::a2058_device, "zorro_a2058", "CBM A2058 Fast Memory") - namespace bus::amiga::zorro { -//------------------------------------------------- -// input_ports - device-specific input ports -//------------------------------------------------- +a2058_device::a2058_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + device_t(mconfig, ZORRO_A2058, tag, owner, clock), + device_zorro2_card_interface(mconfig, *this), + m_config(*this, "config"), + m_ram_size(0) +{ +} + + +//************************************************************************** +// INPUT DEFINITIONS +//************************************************************************** static INPUT_PORTS_START( a2058 ) PORT_START("config") @@ -44,25 +52,9 @@ ioport_constructor a2058_device::device_input_ports() const //************************************************************************** -// LIVE DEVICE +// MACHINE EMULATION //************************************************************************** -//------------------------------------------------- -// a2058_device - constructor -//------------------------------------------------- - -a2058_device::a2058_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : - device_t(mconfig, ZORRO_A2058, tag, owner, clock), - device_zorro2_card_interface(mconfig, *this), - m_config(*this, "config"), - m_ram_size(0) -{ -} - -//------------------------------------------------- -// device_start - device-specific startup -//------------------------------------------------- - void a2058_device::device_start() { // setup ram @@ -74,7 +66,7 @@ void a2058_device::device_start() //************************************************************************** -// IMPLEMENTATION +// AUTOCONFIG //************************************************************************** void a2058_device::autoconfig_base_address(offs_t address) @@ -122,8 +114,8 @@ void a2058_device::cfgin_w(int state) return; } - autoconfig_product(0x0a); - autoconfig_manufacturer(0x0202); + autoconfig_product(10); + autoconfig_manufacturer(514); autoconfig_serial(0x00000000); autoconfig_link_into_memory(true); @@ -134,8 +126,8 @@ void a2058_device::cfgin_w(int state) // install autoconfig handler m_slot->space().install_readwrite_handler(0xe80000, 0xe8007f, - read16_delegate(*this, FUNC(amiga_autoconfig::autoconfig_read)), - write16_delegate(*this, FUNC(amiga_autoconfig::autoconfig_write)), 0xffff); + read16_delegate(*this, FUNC(amiga_autoconfig::autoconfig_read)), + write16_delegate(*this, FUNC(amiga_autoconfig::autoconfig_write)), 0xffffffff); } } diff --git a/src/devices/bus/amiga/zorro/a2058.h b/src/devices/bus/amiga/zorro/a2058.h index 1b9badf9382fb..aeecdbc070255 100644 --- a/src/devices/bus/amiga/zorro/a2058.h +++ b/src/devices/bus/amiga/zorro/a2058.h @@ -1,5 +1,5 @@ -// license:GPL-2.0+ -// copyright-holders:Dirk Best +// license: GPL-2.0+ +// copyright-holders: Dirk Best /*************************************************************************** Commodore A2058 @@ -23,12 +23,9 @@ namespace bus::amiga::zorro { // TYPE DEFINITIONS //************************************************************************** -// ======================> a2058_device - class a2058_device : public device_t, public device_zorro2_card_interface, public amiga_autoconfig { public: - // construction/destruction a2058_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); protected: @@ -49,7 +46,7 @@ class a2058_device : public device_t, public device_zorro2_card_interface, publi } // namespace bus::amiga::zorro -// device type definition +// device type declaration DECLARE_DEVICE_TYPE_NS(ZORRO_A2058, bus::amiga::zorro, a2058_device) #endif // MAME_BUS_AMIGA_ZORRO_A2058_H diff --git a/src/devices/bus/amiga/zorro/a2065.cpp b/src/devices/bus/amiga/zorro/a2065.cpp index 0c283e19f1628..819bc10da78f7 100644 --- a/src/devices/bus/amiga/zorro/a2065.cpp +++ b/src/devices/bus/amiga/zorro/a2065.cpp @@ -1,5 +1,5 @@ -// license:GPL-2.0+ -// copyright-holders:Dirk Best +// license: GPL-2.0+ +// copyright-holders: Dirk Best /*************************************************************************** Commodore A2065 @@ -11,27 +11,29 @@ #include "emu.h" #include "a2065.h" - -//************************************************************************** -// CONSTANTS / MACROS -//************************************************************************** - #define VERBOSE 1 #include "logmacro.h" //************************************************************************** -// DEVICE DEFINITIONS +// TYPE DEFINITIONS //************************************************************************** DEFINE_DEVICE_TYPE(ZORRO_A2065, bus::amiga::zorro::a2065_device, "zorro_a2065", "CBM A2065 Ethernet Card") - namespace bus::amiga::zorro { -//------------------------------------------------- -// device_add_mconfig - add device configuration -//------------------------------------------------- +a2065_device::a2065_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + device_t(mconfig, ZORRO_A2065, tag, owner, clock), + device_zorro2_card_interface(mconfig, *this), + m_lance(*this, "lance") +{ +} + + +//************************************************************************** +// MACHINE DEFINITIONS +//************************************************************************** void a2065_device::device_add_mconfig(machine_config &config) { @@ -43,24 +45,9 @@ void a2065_device::device_add_mconfig(machine_config &config) //************************************************************************** -// LIVE DEVICE +// MACHINE EMULATION //************************************************************************** -//------------------------------------------------- -// a2065_device - constructor -//------------------------------------------------- - -a2065_device::a2065_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : - device_t(mconfig, ZORRO_A2065, tag, owner, clock), - device_zorro2_card_interface(mconfig, *this), - m_lance(*this, "lance") -{ -} - -//------------------------------------------------- -// device_start - device-specific startup -//------------------------------------------------- - void a2065_device::device_start() { // setup ram @@ -71,9 +58,41 @@ void a2065_device::device_start() save_pointer(NAME(m_ram), 0x4000); } +uint16_t a2065_device::host_ram_r(offs_t offset) +{ + // logerror("host read offset %04x\n", offset); + return m_ram[offset & 0x3fff]; +} + +void a2065_device::host_ram_w(offs_t offset, uint16_t data, uint16_t mem_mask) +{ + // logerror("host write %04x = %04x\n", offset, data); + COMBINE_DATA(&m_ram[offset]); +} + +uint16_t a2065_device::lance_ram_r(offs_t offset) +{ + offset = (offset >> 1) & 0x3fff; + // logerror("lance read offset %04x\n", offset); + return m_ram[offset]; +} + +void a2065_device::lance_ram_w(offs_t offset, uint16_t data, uint16_t mem_mask) +{ + offset = (offset >> 1) & 0x3fff; + // logerror("lance write %04x = %04x\n", offset, data); + COMBINE_DATA(&m_ram[offset]); +} + +void a2065_device::lance_irq_w(int state) +{ + // default is irq 2, can be changed via jumper + m_slot->int2_w(!state); +} + //************************************************************************** -// IMPLEMENTATION +// AUTOCONFIG //************************************************************************** void a2065_device::autoconfig_base_address(offs_t address) @@ -87,19 +106,19 @@ void a2065_device::autoconfig_base_address(offs_t address) // install autoconfig handler to new location m_slot->space().install_readwrite_handler(address, address + 0x7f, read16_delegate(*this, FUNC(amiga_autoconfig::autoconfig_read)), - write16_delegate(*this, FUNC(amiga_autoconfig::autoconfig_write)), 0xffff); + write16_delegate(*this, FUNC(amiga_autoconfig::autoconfig_write)), 0xffffffff); // install access to lance registers m_slot->space().install_read_handler(address + 0x4000, address + 0x4003, - read16m_delegate(*m_lance, FUNC(am7990_device::regs_r)), 0xffff); + read16m_delegate(*m_lance, FUNC(am7990_device::regs_r)), 0xffffffff); m_slot->space().install_write_handler(address + 0x4000, address + 0x4003, - write16sm_delegate(*m_lance, FUNC(am7990_device::regs_w)), 0xffff); + write16sm_delegate(*m_lance, FUNC(am7990_device::regs_w)), 0xffffffff); // install access to onboard ram (32k) m_slot->space().install_read_handler(address + 0x8000, address + 0x8000 + 0x7fff, - read16sm_delegate(*this, FUNC(a2065_device::host_ram_r)), 0xffff); + read16sm_delegate(*this, FUNC(a2065_device::host_ram_r)), 0xffffffff); m_slot->space().install_write_handler(address + 0x8000, address + 0x8000 + 0x7fff, - write16s_delegate(*this, FUNC(a2065_device::host_ram_w)), 0xffff); + write16s_delegate(*this, FUNC(a2065_device::host_ram_w)), 0xffffffff); // we're done m_slot->cfgout_w(0); @@ -115,8 +134,8 @@ void a2065_device::cfgin_w(int state) autoconfig_board_type(BOARD_TYPE_ZORRO2); autoconfig_board_size(BOARD_SIZE_64K); - autoconfig_product(0x70); - autoconfig_manufacturer(0x0202); + autoconfig_product(112); + autoconfig_manufacturer(514); autoconfig_serial(0x00123456); // last 3 bytes = last 3 bytes of mac address autoconfig_link_into_memory(false); @@ -128,40 +147,8 @@ void a2065_device::cfgin_w(int state) // install autoconfig handler m_slot->space().install_readwrite_handler(0xe80000, 0xe8007f, read16_delegate(*this, FUNC(amiga_autoconfig::autoconfig_read)), - write16_delegate(*this, FUNC(amiga_autoconfig::autoconfig_write)), 0xffff); + write16_delegate(*this, FUNC(amiga_autoconfig::autoconfig_write)), 0xffffffff); } } -uint16_t a2065_device::host_ram_r(offs_t offset) -{ - // logerror("host read offset %04x\n", offset); - return m_ram[offset & 0x3fff]; -} - -void a2065_device::host_ram_w(offs_t offset, uint16_t data, uint16_t mem_mask) -{ - // logerror("host write %04x = %04x\n", offset, data); - COMBINE_DATA(&m_ram[offset]); -} - -uint16_t a2065_device::lance_ram_r(offs_t offset) -{ - offset = (offset >> 1) & 0x3fff; - // logerror("lance read offset %04x\n", offset); - return m_ram[offset]; -} - -void a2065_device::lance_ram_w(offs_t offset, uint16_t data, uint16_t mem_mask) -{ - offset = (offset >> 1) & 0x3fff; - // logerror("lance write %04x = %04x\n", offset, data); - COMBINE_DATA(&m_ram[offset]); -} - -void a2065_device::lance_irq_w(int state) -{ - // default is irq 2, can be changed via jumper - m_slot->int2_w(!state); -} - } // namespace bus::amiga::zorro diff --git a/src/devices/bus/amiga/zorro/a2065.h b/src/devices/bus/amiga/zorro/a2065.h index 7730370255ed4..3e638d845859b 100644 --- a/src/devices/bus/amiga/zorro/a2065.h +++ b/src/devices/bus/amiga/zorro/a2065.h @@ -1,5 +1,5 @@ -// license:GPL-2.0+ -// copyright-holders:Dirk Best +// license: GPL-2.0+ +// copyright-holders: Dirk Best /*************************************************************************** Commodore A2065 @@ -24,12 +24,9 @@ namespace bus::amiga::zorro { // TYPE DEFINITIONS //************************************************************************** -// ======================> a2065_device - class a2065_device : public device_t, public device_zorro2_card_interface, public amiga_autoconfig { public: - // construction/destruction a2065_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); uint16_t host_ram_r(offs_t offset); @@ -40,7 +37,6 @@ class a2065_device : public device_t, public device_zorro2_card_interface, publi void lance_irq_w(int state); protected: - // device-level overrides virtual void device_add_mconfig(machine_config &config) override ATTR_COLD; virtual void device_start() override ATTR_COLD; @@ -58,7 +54,7 @@ class a2065_device : public device_t, public device_zorro2_card_interface, publi } // namespace bus::amiga::zorro -// device type definition +// device type declaration DECLARE_DEVICE_TYPE_NS(ZORRO_A2065, bus::amiga::zorro, a2065_device) #endif // MAME_BUS_AMIGA_ZORRO_A2065_H diff --git a/src/devices/bus/amiga/zorro/buddha.cpp b/src/devices/bus/amiga/zorro/buddha.cpp index c515096a28af7..685bdd2780d21 100644 --- a/src/devices/bus/amiga/zorro/buddha.cpp +++ b/src/devices/bus/amiga/zorro/buddha.cpp @@ -1,5 +1,5 @@ -// license:GPL-2.0+ -// copyright-holders:Dirk Best +// license: GPL-2.0+ +// copyright-holders: Dirk Best /*************************************************************************** Buddha @@ -35,28 +35,42 @@ DEFINE_DEVICE_TYPE(ZORRO_BUDDHA, bus::amiga::zorro::buddha_device, "zorro_buddha", "Buddha IDE controller") - namespace bus::amiga::zorro { -//------------------------------------------------- -// mmio_map - device-specific memory mapped I/O -//------------------------------------------------- +buddha_device::buddha_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + device_t(mconfig, ZORRO_BUDDHA, tag, owner, clock), + device_zorro2_card_interface(mconfig, *this), + m_ata_0(*this, "ata_0"), + m_ata_1(*this, "ata_1"), + m_bootrom(*this, "bootrom"), + m_ide_interrupts_enabled(false), + m_ide_0_interrupt(0), + m_ide_1_interrupt(0) +{ +} + + +//************************************************************************** +// ADDRESS MAPS +//************************************************************************** void buddha_device::mmio_map(address_map &map) { - map(0x7fe, 0x7ff).rw(FUNC(buddha_device::speed_r), FUNC(buddha_device::speed_w)); - map(0x800, 0x8ff).rw(FUNC(buddha_device::ide_0_cs0_r), FUNC(buddha_device::ide_0_cs0_w)); - map(0x900, 0x9ff).rw(FUNC(buddha_device::ide_0_cs1_r), FUNC(buddha_device::ide_0_cs1_w)); - map(0xa00, 0xaff).rw(FUNC(buddha_device::ide_1_cs0_r), FUNC(buddha_device::ide_1_cs0_w)); - map(0xb00, 0xbff).rw(FUNC(buddha_device::ide_1_cs1_r), FUNC(buddha_device::ide_1_cs1_w)); - map(0xf00, 0xf3f).r(FUNC(buddha_device::ide_0_interrupt_r)); - map(0xf40, 0xf7f).r(FUNC(buddha_device::ide_1_interrupt_r)); - map(0xfc0, 0xfff).w(FUNC(buddha_device::ide_interrupt_enable_w)); + map(0x07fe, 0x07ff).rw(FUNC(buddha_device::speed_r), FUNC(buddha_device::speed_w)); + map(0x0800, 0x08ff).rw(FUNC(buddha_device::ide_0_cs0_r), FUNC(buddha_device::ide_0_cs0_w)); + map(0x0900, 0x09ff).rw(FUNC(buddha_device::ide_0_cs1_r), FUNC(buddha_device::ide_0_cs1_w)); + map(0x0a00, 0x0aff).rw(FUNC(buddha_device::ide_1_cs0_r), FUNC(buddha_device::ide_1_cs0_w)); + map(0x0b00, 0x0bff).rw(FUNC(buddha_device::ide_1_cs1_r), FUNC(buddha_device::ide_1_cs1_w)); + map(0x0f00, 0x0f3f).r(FUNC(buddha_device::ide_0_interrupt_r)); + map(0x0f40, 0x0f7f).r(FUNC(buddha_device::ide_1_interrupt_r)); + map(0x0fc0, 0x0fff).w(FUNC(buddha_device::ide_interrupt_enable_w)); + map(0x1000, 0xffff).r(FUNC(buddha_device::rom_r)).umask16(0xff00); } -//------------------------------------------------- -// device_add_mconfig - add device configuration -//------------------------------------------------- + +//************************************************************************** +// MACHINE DEFINITIONS +//************************************************************************** void buddha_device::device_add_mconfig(machine_config &config) { @@ -67,17 +81,18 @@ void buddha_device::device_add_mconfig(machine_config &config) m_ata_1->irq_handler().set(FUNC(buddha_device::ide_1_interrupt_w)); } -//------------------------------------------------- -// rom_region - device-specific ROM region -//------------------------------------------------- + +//************************************************************************** +// ROM DEFINITIONS +//************************************************************************** ROM_START( buddha ) - ROM_REGION16_BE(0x10000, "bootrom", ROMREGION_ERASEFF) + ROM_REGION(0x8000, "bootrom", 0) ROM_DEFAULT_BIOS("v103-17") ROM_SYSTEM_BIOS(0, "v103-8", "Version 103.8") - ROMX_LOAD("buddha_103-8.rom", 0x0000, 0x8000, CRC(44f81426) SHA1(95555c6690b5c697e1cdca2726e47c1c6c194d7c), ROM_SKIP(1) | ROM_BIOS(0)) + ROMX_LOAD("buddha_103-8.rom", 0x0000, 0x8000, CRC(44f81426) SHA1(95555c6690b5c697e1cdca2726e47c1c6c194d7c), ROM_BIOS(0)) ROM_SYSTEM_BIOS(1, "v103-17", "Version 103.17") - ROMX_LOAD("buddha_103-17.rom", 0x0000, 0x8000, CRC(2b7b24e0) SHA1(ec17a58962c373a2892090ec9b1722d2c326d631), ROM_SKIP(1) | ROM_BIOS(1)) + ROMX_LOAD("buddha_103-17.rom", 0x0000, 0x8000, CRC(2b7b24e0) SHA1(ec17a58962c373a2892090ec9b1722d2c326d631), ROM_BIOS(1)) ROM_END const tiny_rom_entry *buddha_device::device_rom_region() const @@ -87,28 +102,9 @@ const tiny_rom_entry *buddha_device::device_rom_region() const //************************************************************************** -// LIVE DEVICE +// MACHINE EMULATION //************************************************************************** -//------------------------------------------------- -// buddha_device - constructor -//------------------------------------------------- - -buddha_device::buddha_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : - device_t(mconfig, ZORRO_BUDDHA, tag, owner, clock), - device_zorro2_card_interface(mconfig, *this), - m_ata_0(*this, "ata_0"), - m_ata_1(*this, "ata_1"), - m_ide_interrupts_enabled(false), - m_ide_0_interrupt(0), - m_ide_1_interrupt(0) -{ -} - -//------------------------------------------------- -// device_start - device-specific startup -//------------------------------------------------- - void buddha_device::device_start() { save_item(NAME(m_ide_interrupts_enabled)); @@ -116,10 +112,6 @@ void buddha_device::device_start() save_item(NAME(m_ide_1_interrupt)); } -//------------------------------------------------- -// device_reset - device-specific reset -//------------------------------------------------- - void buddha_device::device_reset() { m_ide_interrupts_enabled = false; @@ -127,58 +119,10 @@ void buddha_device::device_reset() m_ide_1_interrupt = 0; } - -//************************************************************************** -// IMPLEMENTATION -//************************************************************************** - -void buddha_device::autoconfig_base_address(offs_t address) -{ - LOG("autoconfig_base_address received: 0x%06x\n", address); - LOG("-> installing buddha\n"); - - // stop responding to default autoconfig - m_slot->space().unmap_readwrite(0xe80000, 0xe8007f); - - // buddha registers - m_slot->space().install_device(address, address + 0xfff, *this, &buddha_device::mmio_map); - - // install autoconfig handler to new location - m_slot->space().install_readwrite_handler(address, address + 0x7f, - read16_delegate(*this, FUNC(amiga_autoconfig::autoconfig_read)), - write16_delegate(*this, FUNC(amiga_autoconfig::autoconfig_write)), 0xffff); - - // install access to the rom space - m_slot->space().install_rom(address + 0x1000, address + 0xffff, memregion("bootrom")->base() + 0x1000); - - // we're done - m_slot->cfgout_w(0); -} - -void buddha_device::cfgin_w(int state) +uint8_t buddha_device::rom_r(offs_t offset) { - LOG("configin_w (%d)\n", state); - - if (state == 0) - { - // setup autoconfig - autoconfig_board_type(BOARD_TYPE_ZORRO2); - autoconfig_board_size(BOARD_SIZE_64K); - autoconfig_link_into_memory(false); - autoconfig_rom_vector_valid(true); - autoconfig_multi_device(false); - autoconfig_8meg_preferred(false); - autoconfig_can_shutup(true); - autoconfig_product(0x00); - autoconfig_manufacturer(0x1212); - autoconfig_serial(0x00000000); - autoconfig_rom_vector(0x1000); - - // install autoconfig handler - m_slot->space().install_readwrite_handler(0xe80000, 0xe8007f, - read16_delegate(*this, FUNC(amiga_autoconfig::autoconfig_read)), - write16_delegate(*this, FUNC(amiga_autoconfig::autoconfig_write)), 0xffff); - } + // the first 0x800 bytes cannot be read + return m_bootrom[0x800 + offset]; } uint16_t buddha_device::speed_r(offs_t offset, uint16_t mem_mask) @@ -218,24 +162,14 @@ void buddha_device::ide_1_interrupt_w(int state) uint16_t buddha_device::ide_0_interrupt_r(offs_t offset, uint16_t mem_mask) { - uint16_t data; - - data = m_ide_0_interrupt << 15; - -// LOG("ide_0_interrupt_r %04x [mask = %04x]\n", data, mem_mask); - - return data; +// LOG("ide_0_interrupt_r %04x [mask = %04x]\n", m_ide_0_interrupt << 15, mem_mask); + return m_ide_0_interrupt << 15; } uint16_t buddha_device::ide_1_interrupt_r(offs_t offset, uint16_t mem_mask) { - uint16_t data; - - data = m_ide_1_interrupt << 15; - -// LOG("ide_1_interrupt_r %04x [mask = %04x]\n", data, mem_mask); - - return data; +// LOG("ide_1_interrupt_r %04x [mask = %04x]\n", m_ide_1_interrupt << 15, mem_mask); + return m_ide_1_interrupt << 15; } void buddha_device::ide_interrupt_enable_w(offs_t offset, uint16_t data, uint16_t mem_mask) @@ -248,82 +182,96 @@ void buddha_device::ide_interrupt_enable_w(offs_t offset, uint16_t data, uint16_ uint16_t buddha_device::ide_0_cs0_r(offs_t offset, uint16_t mem_mask) { - uint16_t data = m_ata_0->cs0_r((offset >> 1) & 0x07, swapendian_int16(mem_mask)); - data = swapendian_int16(data); - - LOG("ide_0_cs0_r(%04x) %04x [mask = %04x]\n", offset, data, mem_mask); - - return data; + return m_ata_0->cs0_swap_r((offset >> 1) & 0x07, mem_mask); } void buddha_device::ide_0_cs0_w(offs_t offset, uint16_t data, uint16_t mem_mask) { - LOG("ide_0_cs0_w(%04x) %04x [mask = %04x]\n", offset, data, mem_mask); - - mem_mask = swapendian_int16(mem_mask); - data = swapendian_int16(data); - - m_ata_0->cs0_w((offset >> 1) & 0x07, data, mem_mask); + m_ata_0->cs0_swap_w((offset >> 1) & 0x07, data, mem_mask); } uint16_t buddha_device::ide_0_cs1_r(offs_t offset, uint16_t mem_mask) { - uint16_t data = m_ata_0->cs1_r((offset >> 1) & 0x07, swapendian_int16(mem_mask)); - data = swapendian_int16(data); - - LOG("ide_0_cs1_r(%04x) %04x [mask = %04x]\n", offset, data, mem_mask); - - return data; + return m_ata_0->cs1_swap_r((offset >> 1) & 0x07, mem_mask); } void buddha_device::ide_0_cs1_w(offs_t offset, uint16_t data, uint16_t mem_mask) { - LOG("ide_0_cs1_w(%04x) %04x [mask = %04x]\n", offset, data, mem_mask); - - mem_mask = swapendian_int16(mem_mask); - data = swapendian_int16(data); - - m_ata_0->cs1_w((offset >> 1) & 0x07, data, mem_mask); + m_ata_0->cs1_swap_w((offset >> 1) & 0x07, data, mem_mask); } uint16_t buddha_device::ide_1_cs0_r(offs_t offset, uint16_t mem_mask) { - uint16_t data = m_ata_1->cs0_r((offset >> 1) & 0x07, swapendian_int16(mem_mask)); - data = swapendian_int16(data); - - LOG("ide_1_cs0_r(%04x) %04x [mask = %04x]\n", offset, data, mem_mask); - - return data; + return m_ata_1->cs0_swap_r((offset >> 1) & 0x07, mem_mask); } void buddha_device::ide_1_cs0_w(offs_t offset, uint16_t data, uint16_t mem_mask) { - LOG("ide_1_cs0_w(%04x) %04x [mask = %04x]\n", offset, data, mem_mask); + m_ata_1->cs0_swap_w((offset >> 1) & 0x07, data, mem_mask); +} - mem_mask = swapendian_int16(mem_mask); - data = swapendian_int16(data); +uint16_t buddha_device::ide_1_cs1_r(offs_t offset, uint16_t mem_mask) +{ + return m_ata_1->cs1_swap_r((offset >> 1) & 0x07, mem_mask); +} - m_ata_1->cs0_w((offset >> 1) & 0x07, data, mem_mask); +void buddha_device::ide_1_cs1_w(offs_t offset, uint16_t data, uint16_t mem_mask) +{ + m_ata_1->cs1_swap_w((offset >> 1) & 0x07, data, mem_mask); } -uint16_t buddha_device::ide_1_cs1_r(offs_t offset, uint16_t mem_mask) + +//************************************************************************** +// AUTOCONFIG +//************************************************************************** + +void buddha_device::autoconfig_base_address(offs_t address) { - uint16_t data = m_ata_1->cs1_r((offset >> 1) & 0x07, swapendian_int16(mem_mask)); - data = swapendian_int16(data); + LOG("autoconfig_base_address received: 0x%06x\n", address); + LOG("-> installing buddha\n"); - LOG("ide_1_cs1_r(%04x) %04x [mask = %04x]\n", offset, data, mem_mask); + // stop responding to initial location + m_slot->space().unmap_readwrite(0xe80000, 0xe8ffff); - return data; + // install buddha memory access to final location + m_slot->space().install_device(address, address + 0xffff, *this, &buddha_device::mmio_map); + + // install autoconfig handler to new location + m_slot->space().install_readwrite_handler(address, address + 0x7f, + read16_delegate(*this, FUNC(amiga_autoconfig::autoconfig_read)), + write16_delegate(*this, FUNC(amiga_autoconfig::autoconfig_write)), 0xffffffff); + + // we're done + m_slot->cfgout_w(0); } -void buddha_device::ide_1_cs1_w(offs_t offset, uint16_t data, uint16_t mem_mask) +void buddha_device::cfgin_w(int state) { - LOG("ide_1_cs1_w(%04x) %04x [mask = %04x]\n", offset, data, mem_mask); + LOG("configin_w (%d)\n", state); - mem_mask = swapendian_int16(mem_mask); - data = swapendian_int16(data); + if (state == 0) + { + // buddha memory is also active at this point + m_slot->space().install_device(0xe80000, 0xe8ffff, *this, &buddha_device::mmio_map); - m_ata_1->cs1_w((offset >> 1) & 0x07, data, mem_mask); + // setup autoconfig + autoconfig_board_type(BOARD_TYPE_ZORRO2); + autoconfig_board_size(BOARD_SIZE_64K); + autoconfig_link_into_memory(false); + autoconfig_rom_vector_valid(true); + autoconfig_multi_device(false); + autoconfig_8meg_preferred(false); + autoconfig_can_shutup(true); + autoconfig_product(0); + autoconfig_manufacturer(4626); + autoconfig_serial(0x00000000); + autoconfig_rom_vector(0x1000); + + // install autoconfig handler + m_slot->space().install_readwrite_handler(0xe80000, 0xe8007f, + read16_delegate(*this, FUNC(amiga_autoconfig::autoconfig_read)), + write16_delegate(*this, FUNC(amiga_autoconfig::autoconfig_write)), 0xffffffff); + } } } // namespace bus::amiga::zorro diff --git a/src/devices/bus/amiga/zorro/buddha.h b/src/devices/bus/amiga/zorro/buddha.h index 9ea0f3c063190..6a3e6d7b8886d 100644 --- a/src/devices/bus/amiga/zorro/buddha.h +++ b/src/devices/bus/amiga/zorro/buddha.h @@ -1,5 +1,5 @@ -// license:GPL-2.0+ -// copyright-holders:Dirk Best +// license: GPL-2.0+ +// copyright-holders: Dirk Best /*************************************************************************** Buddha @@ -24,8 +24,6 @@ namespace bus::amiga::zorro { // TYPE DEFINITIONS //************************************************************************** -// ======================> buddha_device - class buddha_device : public device_t, public device_zorro2_card_interface, public amiga_autoconfig { public: @@ -33,7 +31,6 @@ class buddha_device : public device_t, public device_zorro2_card_interface, publ buddha_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); protected: - // device-level overrides virtual void device_add_mconfig(machine_config &config) override ATTR_COLD; virtual const tiny_rom_entry *device_rom_region() const override ATTR_COLD; @@ -47,6 +44,8 @@ class buddha_device : public device_t, public device_zorro2_card_interface, publ virtual void autoconfig_base_address(offs_t address) override; private: + void mmio_map(address_map &map) ATTR_COLD; + // speed register uint16_t speed_r(offs_t offset, uint16_t mem_mask = ~0); void speed_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); @@ -68,10 +67,11 @@ class buddha_device : public device_t, public device_zorro2_card_interface, publ void ide_0_interrupt_w(int state); void ide_1_interrupt_w(int state); - void mmio_map(address_map &map) ATTR_COLD; + uint8_t rom_r(offs_t offset); required_device m_ata_0; required_device m_ata_1; + required_region_ptr m_bootrom; bool m_ide_interrupts_enabled; int m_ide_0_interrupt; @@ -80,7 +80,7 @@ class buddha_device : public device_t, public device_zorro2_card_interface, publ } // namespace bus::amiga::zorro -// device type definition +// device type declaration DECLARE_DEVICE_TYPE_NS(ZORRO_BUDDHA, bus::amiga::zorro, buddha_device) #endif // MAME_BUS_AMIGA_ZORRO_BUDDHA_H diff --git a/src/devices/bus/amiga/zorro/cards.cpp b/src/devices/bus/amiga/zorro/cards.cpp index 83f30491bc727..2d32dac9631c0 100644 --- a/src/devices/bus/amiga/zorro/cards.cpp +++ b/src/devices/bus/amiga/zorro/cards.cpp @@ -16,7 +16,10 @@ #include "a590.h" #include "action_replay.h" #include "buddha.h" +#include "picasso2.h" +#include "rainbow2.h" #include "ripple.h" +#include "toccata.h" void a1000_expansion_cards(device_slot_interface &device) @@ -46,7 +49,11 @@ void zorro2_cards(device_slot_interface &device) device.option_add("a2091", ZORRO_A2091); device.option_add("a2232", ZORRO_A2232); device.option_add("buddha", ZORRO_BUDDHA); + device.option_add("picasso2p", ZORRO_PICASSO2P); + device.option_add("rainbow2", ZORRO_RAINBOW2); + device.option_add("framemaster", ZORRO_FRAMEMASTER); device.option_add("ripple", ZORRO_RIPPLE); + device.option_add("toccata", ZORRO_TOCCATA); } void zorro3_cards(device_slot_interface &device) @@ -57,5 +64,9 @@ void zorro3_cards(device_slot_interface &device) device.option_add("a2091", ZORRO_A2091); device.option_add("a2232", ZORRO_A2232); device.option_add("buddha", ZORRO_BUDDHA); + device.option_add("picasso2p", ZORRO_PICASSO2P); + device.option_add("rainbow2", ZORRO_RAINBOW2); + device.option_add("framemaster", ZORRO_FRAMEMASTER); device.option_add("ripple", ZORRO_RIPPLE); + device.option_add("toccata", ZORRO_TOCCATA); } diff --git a/src/devices/bus/amiga/zorro/picasso2.cpp b/src/devices/bus/amiga/zorro/picasso2.cpp new file mode 100644 index 0000000000000..9863b954523a3 --- /dev/null +++ b/src/devices/bus/amiga/zorro/picasso2.cpp @@ -0,0 +1,212 @@ +// license: GPL-2.0+ +// copyright-holders: Dirk Best +/*************************************************************************** + + Village Tronic Picasso II/Picasso II+ + + RTG graphics card for Amiga 2000/3000/4000 + + Hardware: + - Cirrus Logic CL-GD5426 or CL-GD5428 + - 1 or 2 MB RAM + - 25 MHz (only II+) and 14.31818 MHz XTAL + + TODO: + - Not working, VGA core needs work + - Interrupts? + - Segmented mode (jumper setting, autoconfig id 13) + +***************************************************************************/ + +#include "emu.h" +#include "picasso2.h" +#include "screen.h" + +#define VERBOSE (LOG_GENERAL) + +#include "logmacro.h" + + +//************************************************************************** +// TYPE DEFINITIONS +//************************************************************************** + +DEFINE_DEVICE_TYPE(ZORRO_PICASSO2P, bus::amiga::zorro::picasso2p_device, "zorro_picasso2p", "Picasso II+ RTG") + +namespace bus::amiga::zorro { + +picasso2p_device::picasso2p_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + device_t(mconfig, ZORRO_PICASSO2P, tag, owner, clock), + device_memory_interface(mconfig, *this), + device_zorro2_card_interface(mconfig, *this), + m_vga(*this, "vga"), + m_autoconfig_memory_done(false) +{ + m_vga_space_config = address_space_config("vga_regs", ENDIANNESS_BIG, 8, 12, 0, address_map_constructor(FUNC(picasso2p_device::vga_map), this)); +} + + +//************************************************************************** +// ADDRESS MAPS +//************************************************************************** + +void picasso2p_device::mmio_map(address_map &map) +{ + map(0x0000, 0x0fff).rw(FUNC(picasso2p_device::vga0_r), FUNC(picasso2p_device::vga0_w)).umask16(0xffff); + map(0x1000, 0x1fff).rw(FUNC(picasso2p_device::vga1_r), FUNC(picasso2p_device::vga1_w)).umask16(0xffff); + map(0x46e8, 0x46e8).w(m_vga, FUNC(cirrus_gd5428_vga_device::mode_setup_w)); +} + +void picasso2p_device::vga_map(address_map &map) +{ + map(0x102, 0x102).unmaprw(); // TODO + map(0x3b0, 0x3df).m(m_vga, FUNC(cirrus_gd5428_vga_device::io_map)); +} + + +//************************************************************************** +// MACHINE DEFINITIONS +//************************************************************************** + +void picasso2p_device::device_add_mconfig(machine_config &config) +{ + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_raw(25.1748_MHz_XTAL, 900, 0, 640, 526, 0, 480); + screen.set_screen_update(m_vga, FUNC(cirrus_gd5428_vga_device::screen_update)); + + CIRRUS_GD5428_VGA(config, m_vga, 0); + m_vga->set_screen("screen"); + m_vga->set_vram_size(0x200000); +} + + +//************************************************************************** +// MACHINE EMULATION +//************************************************************************** + +void picasso2p_device::device_start() +{ +} + +void picasso2p_device::device_reset() +{ + m_autoconfig_memory_done = false; +} + +device_memory_interface::space_config_vector picasso2p_device::memory_space_config() const +{ + return space_config_vector { + std::make_pair(0, &m_vga_space_config) + }; +} + +uint8_t picasso2p_device::vga0_r(offs_t offset) +{ + LOG("vga0_r: %04x\n", offset); + return space(0).read_byte(offset); +} + +void picasso2p_device::vga0_w(offs_t offset, uint8_t data) +{ + LOG("vga0_w: %04x = %02x\n", offset, data); + space(0).write_byte(offset, data); +} + +uint8_t picasso2p_device::vga1_r(offs_t offset) +{ + LOG("vga1_r: %04x (%04x)\n", offset, offset | 1); + return space(0).read_byte(offset | 1); +} + +void picasso2p_device::vga1_w(offs_t offset, uint8_t data) +{ + LOG("vga1_w: %04x (%04x) = %02x\n", offset, offset | 1, data); + space(0).write_byte(offset | 1, data); +} + + +//************************************************************************** +// AUTOCONFIG +//************************************************************************** + +void picasso2p_device::autoconfig_base_address(offs_t address) +{ + LOG("autoconfig_base_address received: 0x%06x\n", address); + + if (!m_autoconfig_memory_done) + { + LOG("-> installing picasso2p memory\n"); + + m_slot->space().install_readwrite_handler(address, address + 0x1fffff, + emu::rw_delegate(m_vga, FUNC(cirrus_gd5428_vga_device::mem_r)), + emu::rw_delegate(m_vga, FUNC(cirrus_gd5428_vga_device::mem_w)), 0xffffffff); + + m_autoconfig_memory_done = true; + + // configure next + cfgin_w(0); + } + else + { + LOG("-> installing picasso2p registers\n"); + + // install picasso registers + m_slot->space().install_device(address, address + 0x0ffff, *this, &picasso2p_device::mmio_map); + + // stop responding to default autoconfig + m_slot->space().unmap_readwrite(0xe80000, 0xe8007f); + + // we're done + m_slot->cfgout_w(0); + } +} + +void picasso2p_device::cfgin_w(int state) +{ + LOG("configin_w (%d)\n", state); + + if (state != 0) + return; + + if (!m_autoconfig_memory_done) + { + LOG("autoconfig for memory\n"); + + // setup autoconfig for memory + autoconfig_board_type(BOARD_TYPE_ZORRO2); + autoconfig_board_size(BOARD_SIZE_2M); + autoconfig_link_into_memory(false); + autoconfig_rom_vector_valid(false); + autoconfig_multi_device(false); // ? + autoconfig_8meg_preferred(false); + autoconfig_can_shutup(true); // ? + autoconfig_product(11); + autoconfig_manufacturer(2167); + autoconfig_serial(0x00000000); + autoconfig_rom_vector(0x0000); + + // install autoconfig handler + m_slot->space().install_readwrite_handler(0xe80000, 0xe8007f, + read16_delegate(*this, FUNC(amiga_autoconfig::autoconfig_read)), + write16_delegate(*this, FUNC(amiga_autoconfig::autoconfig_write)), 0xffffffff); + } + else + { + LOG("autoconfig for registers\n"); + + // setup autoconfig for registers + autoconfig_board_type(BOARD_TYPE_ZORRO2); + autoconfig_board_size(BOARD_SIZE_64K); + autoconfig_link_into_memory(false); + autoconfig_rom_vector_valid(false); + autoconfig_multi_device(false); // ? + autoconfig_8meg_preferred(false); + autoconfig_can_shutup(true); // ? + autoconfig_product(12); + autoconfig_manufacturer(2167); + autoconfig_serial(0x00000000); + autoconfig_rom_vector(0x0000); + } +} + +} // namespace bus::amiga::zorro diff --git a/src/devices/bus/amiga/zorro/picasso2.h b/src/devices/bus/amiga/zorro/picasso2.h new file mode 100644 index 0000000000000..d75d49b6f7b81 --- /dev/null +++ b/src/devices/bus/amiga/zorro/picasso2.h @@ -0,0 +1,63 @@ +// license: GPL-2.0+ +// copyright-holders: Dirk Best +/*************************************************************************** + + Village Tronic Picasso II/Picasso II+ + + RTG graphics card for Amiga 2000/3000/4000 + +***************************************************************************/ + +#ifndef MAME_BUS_AMIGA_ZORRO_PICASSO2_H +#define MAME_BUS_AMIGA_ZORRO_PICASSO2_H + +#pragma once + +#include "zorro.h" +#include "machine/autoconfig.h" +#include "video/pc_vga_cirrus.h" + + +namespace bus::amiga::zorro { + +class picasso2p_device : public device_t, public device_memory_interface, public device_zorro2_card_interface, public amiga_autoconfig +{ +public: + picasso2p_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + +protected: + virtual void device_add_mconfig(machine_config &config) override ATTR_COLD; + + virtual void device_start() override ATTR_COLD; + virtual void device_reset() override ATTR_COLD; + + // device_memory_interface + virtual space_config_vector memory_space_config() const override; + + // device_zorro2_card_interface overrides + virtual void cfgin_w(int state) override; + + // amiga_autoconfig overrides + virtual void autoconfig_base_address(offs_t address) override; + +private: + void mmio_map(address_map &map) ATTR_COLD; + void vga_map(address_map &map) ATTR_COLD; + + uint8_t vga0_r(offs_t offset); + void vga0_w(offs_t offset, uint8_t data); + uint8_t vga1_r(offs_t offset); + void vga1_w(offs_t offset, uint8_t data); + + required_device m_vga; + address_space_config m_vga_space_config; + + bool m_autoconfig_memory_done; +}; + +} // namespace bus::amiga::zorro + +// device type declaration +DECLARE_DEVICE_TYPE_NS(ZORRO_PICASSO2P, bus::amiga::zorro, picasso2p_device) + +#endif // MAME_BUS_AMIGA_ZORRO_PICASSO2_H diff --git a/src/devices/bus/amiga/zorro/rainbow2.cpp b/src/devices/bus/amiga/zorro/rainbow2.cpp new file mode 100644 index 0000000000000..90e4907accaaa --- /dev/null +++ b/src/devices/bus/amiga/zorro/rainbow2.cpp @@ -0,0 +1,218 @@ +// license: GPL-2.0+ +// copyright-holders: Dirk Best +/*************************************************************************** + + Omega Datentechnik Rainbow II (2145/32) + Ingenieurbuero Helfrich Rainbow II (2195/32) + BSC FrameMaster (2049/32, 2092/32) + + 24-bit framebuffer for Amiga 2000/3000/4000 + + Hardware: + - ADV7120 RAMDAC + - 30 MHz XTAL + - 1.5 MB RAM with space for 0.5 more as alpha channel + - Fixed resolution 768x576 (PAL) and 768x480 (NTSC) + - 15.75 kHz or 31.5 kHz + - 24-bit color + + TODO: + - ROM sockets are unsupported + - Rest of the jumpers + - Verify autoconfig IDs and include additional models + - Interlace (pending MAME support) + +***************************************************************************/ + +#include "emu.h" +#include "rainbow2.h" + +#define VERBOSE (LOG_GENERAL) + +#include "logmacro.h" + + +//************************************************************************** +// TYPE DEFINITIONS +//************************************************************************** + +DEFINE_DEVICE_TYPE(ZORRO_RAINBOW2, bus::amiga::zorro::rainbow2_device, "zorro_rainbow2", "Rainbow II Framebuffer") +DEFINE_DEVICE_TYPE(ZORRO_FRAMEMASTER, bus::amiga::zorro::framemaster_device, "zorro_framemaster", "FrameMaster Framebuffer") + +namespace bus::amiga::zorro { + +rainbow2_device::rainbow2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, device_type type, uint16_t manufacturer) : + device_t(mconfig, type, tag, owner, clock), + device_zorro2_card_interface(mconfig, *this), + m_screen(*this, "screen"), + m_jumper(*this, "jumper") +{ + m_manufacturer = manufacturer; +} + +rainbow2_device::rainbow2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + rainbow2_device(mconfig, tag, owner, clock, ZORRO_RAINBOW2, 2145) +{ +} + +framemaster_device::framemaster_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + rainbow2_device(mconfig, tag, owner, clock, ZORRO_FRAMEMASTER, 2092) +{ +} + + +//************************************************************************** +// INPUT DEFINITIONS +//************************************************************************** + +static INPUT_PORTS_START( rainbow2 ) + PORT_START("jumper") + PORT_CONFNAME(0x01, 0x01, "JP5") + PORT_CONFSETTING(0x00, "Test Signal") + PORT_CONFSETTING(0x01, DEF_STR(Normal)) +INPUT_PORTS_END + +ioport_constructor rainbow2_device::device_input_ports() const +{ + return INPUT_PORTS_NAME( rainbow2 ); +} + + +//************************************************************************** +// MACHINE DEFINITIONS +//************************************************************************** + +void rainbow2_device::device_add_mconfig(machine_config &config) +{ + // default to PAL + SCREEN(config, m_screen, SCREEN_TYPE_RASTER); + m_screen->set_raw(30_MHz_XTAL, 960, 0, 768, 625, 0, 576); // exact values not known + m_screen->set_screen_update(FUNC(rainbow2_device::screen_update)); +} + + +//************************************************************************** +// MACHINE EMULATION +//************************************************************************** + +void rainbow2_device::device_start() +{ + // setup ram + m_vram = make_unique_clear(0x200000/2); + + // register for save states + save_pointer(NAME(m_vram), 0x200000/2); + save_item(NAME(m_control)); + +} + +void rainbow2_device::device_reset() +{ + m_control = 0; +} + +void rainbow2_device::control_w(offs_t offset, uint8_t data) +{ + // 3--- enable ROM + // -2-- normal (PAL) or complement mode (NTSC) + // --1- video out enable + // ---0 interlace (0) or non-interlace (1) + + LOG("control_w: %02x\n", data); + + if (BIT(data, 2)) + { + // NTSC + rectangle v(0, 768 - 1, 0, 480 - 1); + m_screen->configure(960, 525, v, attotime::from_ticks(960 * 525, 30_MHz_XTAL).as_attoseconds()); + } + else + { + // PAL + rectangle v(0, 768 - 1, 0, 576 - 1); + m_screen->configure(960, 625, v, attotime::from_ticks(960 * 625, 30_MHz_XTAL).as_attoseconds()); + } + + m_control = data & 0x0f; +} + +uint32_t rainbow2_device::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) +{ + if (BIT(m_jumper->read(), 0) == 0) + { + // test signal enabled + bitmap.fill(rgb_t::white(), cliprect); + } + else if (BIT(m_control, 1) == 0) + { + // video disabled + bitmap.fill(rgb_t::black(), cliprect); + } + else + { + unsigned i = 0; + + for (unsigned y = screen.visible_area().min_y; y <= screen.visible_area().max_y; y++) + { + for (unsigned x = screen.visible_area().min_x; x <= screen.visible_area().max_x; x++) + { + uint32_t *const vram = reinterpret_cast(&m_vram[0]); + bitmap.pix(y, x) = vram[i++]; + } + } + } + + return 0; +} + + +//************************************************************************** +// AUTOCONFIG +//************************************************************************** + +void rainbow2_device::autoconfig_base_address(offs_t address) +{ + LOG("autoconfig_base_address received: 0x%06x\n", address); + LOG("-> installing rainbow2\n"); + + // stop responding to default autoconfig + m_slot->space().unmap_readwrite(0xe80000, 0xe8007f); + + // video memory + m_slot->space().install_ram(address, address + 0x1fffff, m_vram.get()); + + // control register + m_slot->space().install_write_handler(address + 0x1ffff8, address + 0x1ffff8, + emu::rw_delegate(*this, FUNC(rainbow2_device::control_w))); + + // we're done + m_slot->cfgout_w(0); +} + +void rainbow2_device::cfgin_w(int state) +{ + LOG("configin_w (%d)\n", state); + + if (state == 0) + { + // setup autoconfig + autoconfig_board_type(BOARD_TYPE_ZORRO2); + autoconfig_board_size(BOARD_SIZE_2M); + autoconfig_link_into_memory(false); + autoconfig_rom_vector_valid(false); + autoconfig_multi_device(false); + autoconfig_8meg_preferred(false); + autoconfig_can_shutup(true); // ? + autoconfig_product(32); + autoconfig_manufacturer(m_manufacturer); + autoconfig_serial(0x00000000); + autoconfig_rom_vector(0x0000); + + // install autoconfig handler + m_slot->space().install_readwrite_handler(0xe80000, 0xe8007f, + read16_delegate(*this, FUNC(amiga_autoconfig::autoconfig_read)), + write16_delegate(*this, FUNC(amiga_autoconfig::autoconfig_write)), 0xffffffff); + } +} + +} // namespace bus::amiga::zorro diff --git a/src/devices/bus/amiga/zorro/rainbow2.h b/src/devices/bus/amiga/zorro/rainbow2.h new file mode 100644 index 0000000000000..f676e7766ad99 --- /dev/null +++ b/src/devices/bus/amiga/zorro/rainbow2.h @@ -0,0 +1,68 @@ +// license: GPL-2.0+ +// copyright-holders: Dirk Best +/*************************************************************************** + + Omega Datentechnik Rainbow II + Ingenieurbuero Helfrich Rainbow II + BSC FrameMaster + + 24-bit framebuffer for Amiga 2000/3000/4000 + +***************************************************************************/ + +#ifndef MAME_BUS_AMIGA_ZORRO_RAINBOW2_H +#define MAME_BUS_AMIGA_ZORRO_RAINBOW2_H + +#pragma once + +#include "zorro.h" +#include "machine/autoconfig.h" +#include "screen.h" + + +namespace bus::amiga::zorro { + +class rainbow2_device : public device_t, public device_zorro2_card_interface, public amiga_autoconfig +{ +public: + rainbow2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + +protected: + rainbow2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, device_type type, uint16_t manufacturer); + + virtual ioport_constructor device_input_ports() const override ATTR_COLD; + virtual void device_add_mconfig(machine_config &config) override ATTR_COLD; + + virtual void device_start() override ATTR_COLD; + virtual void device_reset() override ATTR_COLD; + + // device_zorro2_card_interface overrides + virtual void cfgin_w(int state) override; + + // amiga_autoconfig overrides + virtual void autoconfig_base_address(offs_t address) override; + +private: + void control_w(offs_t offset, uint8_t data); + uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); + + required_device m_screen; + std::unique_ptr m_vram; + required_ioport m_jumper; + uint16_t m_manufacturer; + uint8_t m_control; +}; + +class framemaster_device : public rainbow2_device +{ +public: + framemaster_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); +}; + +} // namespace bus::amiga::zorro + +// device type declaration +DECLARE_DEVICE_TYPE_NS(ZORRO_RAINBOW2, bus::amiga::zorro, rainbow2_device) +DECLARE_DEVICE_TYPE_NS(ZORRO_FRAMEMASTER, bus::amiga::zorro, framemaster_device) + +#endif // MAME_BUS_AMIGA_ZORRO_RAINBOW2_H diff --git a/src/devices/bus/amiga/zorro/ripple.cpp b/src/devices/bus/amiga/zorro/ripple.cpp index 39ca1c350da98..fc6a2c9bf155e 100644 --- a/src/devices/bus/amiga/zorro/ripple.cpp +++ b/src/devices/bus/amiga/zorro/ripple.cpp @@ -179,26 +179,49 @@ void ripple_ide_device::autoconfig_base_address(offs_t address) // flash occupies our space until the ide registers are switched in m_slot->space().install_readwrite_handler(address, address + 0x1ffff, emu::rw_delegate(m_flash, FUNC(intelfsh8_device::read)), - emu::rw_delegate(m_flash, FUNC(intelfsh8_device::write)), 0xff00); + emu::rw_delegate(m_flash, FUNC(intelfsh8_device::write)), 0xff00ff00); // install write tap to handle switching in ide registers m_write_tap.remove(); - m_write_tap = m_slot->space().install_write_tap( - address, address + 0x1ffff, - "rom_disable_w", - [this] (offs_t offset, uint16_t &data, uint16_t mem_mask) - { - m_write_tap.remove(); - - // ripple registers are now available - m_slot->space().install_device(m_base_address, m_base_address + 0x1ffff, *this, &ripple_ide_device::mmio_map); - - // we need to repeat the write here as this tap won't hit it yet - // the initial write will instead hit the flash, but it's harmless - m_slot->space().write_word(offset, data, mem_mask); - }, - &m_write_tap - ); + + if (m_slot->space().data_width() == 16) + { + m_write_tap = m_slot->space().install_write_tap( + address, address + 0x1ffff, + "flash_disable_w", + [this] (offs_t offset, uint16_t &data, uint16_t mem_mask) + { + m_write_tap.remove(); + + // ripple registers are now available + m_slot->space().install_device(m_base_address, m_base_address + 0x1ffff, *this, &ripple_ide_device::mmio_map); + + // we need to repeat the write here as this tap won't hit it yet + // the initial write will instead hit the flash, but it's harmless + m_slot->space().write_word(offset, data, mem_mask); + }, + &m_write_tap + ); + } + else + { + m_write_tap = m_slot->space().install_write_tap( + address, address + 0x1ffff, + "flash_disable_w", + [this] (offs_t offset, uint32_t &data, uint32_t mem_mask) + { + m_write_tap.remove(); + + // ripple registers are now available + m_slot->space().install_device(m_base_address, m_base_address + 0x1ffff, *this, &ripple_ide_device::mmio_map); + + // we need to repeat the write here as this tap won't hit it yet + // the initial write will instead hit the flash, but it's harmless + m_slot->space().write_dword(offset, data, mem_mask); + }, + &m_write_tap + ); + } // we're done m_slot->cfgout_w(0); @@ -226,7 +249,7 @@ void ripple_ide_device::cfgin_w(int state) // install autoconfig handler m_slot->space().install_readwrite_handler(0xe80000, 0xe8007f, read16_delegate(*this, FUNC(amiga_autoconfig::autoconfig_read)), - write16_delegate(*this, FUNC(amiga_autoconfig::autoconfig_write)), 0xffff); + write16_delegate(*this, FUNC(amiga_autoconfig::autoconfig_write)), 0xffffffff); } } diff --git a/src/devices/bus/amiga/zorro/ripple.h b/src/devices/bus/amiga/zorro/ripple.h index d967f4c158495..9849cb4bf3843 100644 --- a/src/devices/bus/amiga/zorro/ripple.h +++ b/src/devices/bus/amiga/zorro/ripple.h @@ -18,6 +18,7 @@ #include "machine/intelfsh.h" #include "bus/ata/ataintf.h" + namespace bus::amiga::zorro { class ripple_ide_device : public device_t, public device_zorro2_card_interface, public amiga_autoconfig diff --git a/src/devices/bus/amiga/zorro/toccata.cpp b/src/devices/bus/amiga/zorro/toccata.cpp new file mode 100644 index 0000000000000..39a34861acad1 --- /dev/null +++ b/src/devices/bus/amiga/zorro/toccata.cpp @@ -0,0 +1,322 @@ +// license: GPL-2.0+ +// copyright-holders: Dirk Best +/*************************************************************************** + + MacroSystem Toccata + + 16bit/48KHz Audio Digitizer + + Hardware: + - AD1848KP SoundPort + - 2x 7202LA 1024x9 FIFO + - XTAL 24.576 MHz (also seen with 24.582) and 16.9344 MHz + - MC33078 + - GALs for autoconfig and other logic + - 3 stereo inputs, 1 stereo output + + Notes: + - Needs more testing + + TODO: + - Verify data lanes + - Audio input + +***************************************************************************/ + +#include "emu.h" +#include "toccata.h" + +#define LOG_IRQ (1U << 1) +#define LOG_FIFO (1U << 2) +#define LOG_REG (1U << 3) +#define LOG_AD1848 (1U << 4) + +#define VERBOSE (LOG_GENERAL) + +#include "logmacro.h" + + +//************************************************************************** +// TYPE DEFINITIONS +//************************************************************************** + +DEFINE_DEVICE_TYPE(ZORRO_TOCCATA, bus::amiga::zorro::toccata_device, "zorro_toccata", "Toccata SoundCard") + +namespace bus::amiga::zorro { + +toccata_device::toccata_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + device_t(mconfig, ZORRO_TOCCATA, tag, owner, clock), + device_zorro2_card_interface(mconfig, *this), + m_ad1848(*this, "ad1848"), + m_fifo(*this, "fifo%u", 0U) +{ +} + + +//************************************************************************** +// ADDRESS MAPS +//************************************************************************** + +void toccata_device::mmio_map(address_map &map) +{ + map(0x0000, 0x0001).mirror(0x97fe).rw(FUNC(toccata_device::status_r), FUNC(toccata_device::control_w)).umask16(0xff00); + map(0x2000, 0x2001).mirror(0x97fe).rw(FUNC(toccata_device::fifo_r), FUNC(toccata_device::fifo_w)); + map(0x6000, 0x6001).mirror(0x97fe).rw(FUNC(toccata_device::ad1848_idx_r), FUNC(toccata_device::ad1848_idx_w)).umask16(0x00ff); + map(0x6800, 0x6801).mirror(0x97fe).rw(FUNC(toccata_device::ad1848_data_r), FUNC(toccata_device::ad1848_data_w)).umask16(0x00ff); +} + + +//************************************************************************** +// MACHINE DEFINITIONS +//************************************************************************** + +void toccata_device::device_add_mconfig(machine_config &config) +{ + AD1848(config, m_ad1848, 0); + m_ad1848->drq().set(FUNC(toccata_device::drq_w)); + + IDT7202(config, m_fifo[0]); + m_fifo[0]->hf_handler().set(FUNC(toccata_device::playback_hf_w)); + + IDT7202(config, m_fifo[1]); + m_fifo[1]->hf_handler().set(FUNC(toccata_device::record_hf_w)); +} + + +//************************************************************************** +// MACHINE EMULATION +//************************************************************************** + +void toccata_device::device_start() +{ + // register for save states + save_item(NAME(m_status)); + save_item(NAME(m_control)); +} + +void toccata_device::device_reset() +{ +} + +void toccata_device::update_interrupts() +{ + if ((BIT(m_control, 7) && BIT(m_status, 3)) || (BIT(m_control, 6) && BIT(m_status, 2))) + { + LOGMASKED(LOG_IRQ, "generating interrupt, control = %02x, status = %02x\n", m_control, m_status); + + m_status &= ~(1 << 7); + m_slot->int6_w(1); + } +} + +void toccata_device::playback_hf_w(int state) +{ + LOGMASKED(LOG_IRQ, "playback_hf_w: %d, status %02x\n", state, m_status); + + if (BIT(m_control, 7) && BIT(m_control, 4)) + { + m_status &= ~(1 << 3); + m_status |= state << 3; + + LOGMASKED(LOG_IRQ, "playback interrupts enabled, status now %02x\n", m_status); + + update_interrupts(); + } +} + +void toccata_device::record_hf_w(int state) +{ + LOGMASKED(LOG_IRQ, "record_hf_w: %d, status %02x\n", state, m_status); + + if (BIT(m_control, 7) && BIT(m_control, 3)) + { + m_status &= ~(1 << 2); + m_status |= state << 2; + + LOGMASKED(LOG_IRQ, "record interrupts enabled, status now %02x\n", m_status); + + update_interrupts(); + } +} + +void toccata_device::drq_w(int state) +{ + if (BIT(m_control, 2) && BIT(m_control, 4) && state) + { + uint8_t tmp = 0; + + // 16-bit stereo, bytes swapped + tmp = m_fifo[0]->data_byte_r(); + m_ad1848->dack_w(m_fifo[0]->data_byte_r()); + m_ad1848->dack_w(tmp); + + tmp = m_fifo[0]->data_byte_r(); + m_ad1848->dack_w(m_fifo[0]->data_byte_r()); + m_ad1848->dack_w(tmp); + } +} + +uint8_t toccata_device::status_r(offs_t offset) +{ + // 7------- interrupt pending (active low) + // -6------ unknown + // --5----- unknown + // ---4---- unknown + // ----3--- playback fifo half empty + // -----2-- record fifo half full + // ------1- unknown + // -------0 unknown + + uint8_t data = m_status; + + if (!machine().side_effects_disabled()) + { + LOGMASKED(LOG_REG, "status_r: %02x\n", m_status); + + // reading the status clears the interrupt + m_status = 0x80; + m_slot->int6_w(0); + } + + return data; +} + +void toccata_device::control_w(offs_t offset, uint8_t data) +{ + // 7------- playback interrupt enable + // -6------ record interrupt enable + // --5----- unknown + // ---4---- fifo playback + // ----3--- fifo record + // -----2-- enable fifo + // ------1- card reset + // -------0 card active + + LOGMASKED(LOG_REG, "control_w: %02x\n", data); + + if (BIT(data, 1)) + { + // reset card + LOG("card reset\n"); + + m_status = 0x80; + m_control = 0x00; + + m_fifo[0]->reset(); + m_fifo[1]->reset(); + m_ad1848->reset(); + } + else + { + // not sure + if (data == 0x01) + { + LOG("fifo reset\n"); + + m_status = 0x80; + + m_fifo[0]->reset(); + m_fifo[1]->reset(); + } + + m_control = data; + + update_interrupts(); + } +} + +uint16_t toccata_device::fifo_r(offs_t offset, uint16_t mem_mask) +{ + uint16_t data = 0; + + if (ACCESSING_BITS_0_7) + data |= m_fifo[1]->data_byte_r() << 0; + + if (ACCESSING_BITS_8_15) + data |= m_fifo[1]->data_byte_r() << 8; + + LOGMASKED(LOG_FIFO, "fifo_r: %04x & %04x\n", data, mem_mask); + + return data; +} + +void toccata_device::fifo_w(offs_t offset, uint16_t data, uint16_t mem_mask) +{ + LOGMASKED(LOG_FIFO, "fifo_w: %04x & %04x\n", data, mem_mask); + + if (ACCESSING_BITS_0_7) + m_fifo[0]->data_byte_w(data >> 0); + + if (ACCESSING_BITS_8_15) + m_fifo[0]->data_byte_w(data >> 8); +} + +uint8_t toccata_device::ad1848_idx_r(offs_t offset) +{ + return m_ad1848->read(0); +} + +void toccata_device::ad1848_idx_w(offs_t offset, uint8_t data) +{ + LOGMASKED(LOG_AD1848, "ad1848_idx_w: %02x\n", data); + m_ad1848->write(0, data); +} + +uint8_t toccata_device::ad1848_data_r(offs_t offset) +{ + return m_ad1848->read(1); +} + +void toccata_device::ad1848_data_w(offs_t offset, uint8_t data) +{ + LOGMASKED(LOG_AD1848, "ad1848_data_w: %02x\n", data); + m_ad1848->write(1, data); +} + + +//************************************************************************** +// AUTOCONFIG +//************************************************************************** + +void toccata_device::autoconfig_base_address(offs_t address) +{ + LOG("autoconfig_base_address received: 0x%06x\n", address); + LOG("-> installing toccata\n"); + + // stop responding to default autoconfig + m_slot->space().unmap_readwrite(0xe80000, 0xe8007f); + + // toccata registers + m_slot->space().install_device(address, address + 0x0ffff, *this, &toccata_device::mmio_map); + + // we're done + m_slot->cfgout_w(0); +} + +void toccata_device::cfgin_w(int state) +{ + LOG("configin_w (%d)\n", state); + + if (state == 0) + { + // setup autoconfig + autoconfig_board_type(BOARD_TYPE_ZORRO2); + autoconfig_board_size(BOARD_SIZE_64K); + autoconfig_link_into_memory(false); + autoconfig_rom_vector_valid(false); + autoconfig_multi_device(false); + autoconfig_8meg_preferred(false); + autoconfig_can_shutup(true); + autoconfig_product(12); + autoconfig_manufacturer(18260); + autoconfig_serial(0x00000000); + autoconfig_rom_vector(0x0000); + + // install autoconfig handler + m_slot->space().install_readwrite_handler(0xe80000, 0xe8007f, + read16_delegate(*this, FUNC(amiga_autoconfig::autoconfig_read)), + write16_delegate(*this, FUNC(amiga_autoconfig::autoconfig_write)), 0xffffffff); + } +} + +} // namespace bus::amiga::zorro diff --git a/src/devices/bus/amiga/zorro/toccata.h b/src/devices/bus/amiga/zorro/toccata.h new file mode 100644 index 0000000000000..c0ec756b4cab0 --- /dev/null +++ b/src/devices/bus/amiga/zorro/toccata.h @@ -0,0 +1,73 @@ +// license: GPL-2.0+ +// copyright-holders: Dirk Best +/*************************************************************************** + + MacroSystem Toccata + + 16bit/48KHz Audio Digitizer + +***************************************************************************/ + +#ifndef MAME_BUS_AMIGA_ZORRO_TOCCATA_H +#define MAME_BUS_AMIGA_ZORRO_TOCCATA_H + +#pragma once + +#include "zorro.h" +#include "machine/7200fifo.h" +#include "machine/autoconfig.h" +#include "sound/ad1848.h" + + +namespace bus::amiga::zorro { + +class toccata_device : public device_t, public device_zorro2_card_interface, public amiga_autoconfig +{ +public: + toccata_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + +protected: + virtual void device_add_mconfig(machine_config &config) override ATTR_COLD; + + virtual void device_start() override ATTR_COLD; + virtual void device_reset() override ATTR_COLD; + + // device_zorro2_card_interface overrides + virtual void cfgin_w(int state) override; + + // amiga_autoconfig overrides + virtual void autoconfig_base_address(offs_t address) override; + +private: + void mmio_map(address_map &map) ATTR_COLD; + + void update_interrupts(); + + void playback_hf_w(int state); + void record_hf_w(int state); + void drq_w(int state); + + uint8_t status_r(offs_t offset); + void control_w(offs_t offset, uint8_t data); + + uint16_t fifo_r(offs_t offset, uint16_t mem_mask = ~0); + void fifo_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); + + uint8_t ad1848_idx_r(offs_t offset); + void ad1848_idx_w(offs_t offset, uint8_t data); + uint8_t ad1848_data_r(offs_t offset); + void ad1848_data_w(offs_t offset, uint8_t data); + + required_device m_ad1848; + required_device_array m_fifo; + + uint8_t m_status = 0; + uint8_t m_control = 0; +}; + +} // namespace bus::amiga::zorro + +// device type declaration +DECLARE_DEVICE_TYPE_NS(ZORRO_TOCCATA, bus::amiga::zorro, toccata_device) + +#endif // MAME_BUS_AMIGA_ZORRO_TOCCATA_H diff --git a/src/devices/bus/amiga/zorro/zorro.cpp b/src/devices/bus/amiga/zorro/zorro.cpp index e83f939760e30..ed3c60ee7eba3 100644 --- a/src/devices/bus/amiga/zorro/zorro.cpp +++ b/src/devices/bus/amiga/zorro/zorro.cpp @@ -199,6 +199,10 @@ void zorro2_bus_device::device_reset() // call base device zorro_bus_device_base::device_reset(); + // reset zorro cards + for (device_zorro2_card_interface &card : m_dev) + card.device().reset(); + // initiate autoconfig m_autoconfig_device = 0; diff --git a/src/devices/bus/bbc/internal/stl4m32.cpp b/src/devices/bus/bbc/internal/stl4m32.cpp index c875f69b0a4df..c6d8903a91a84 100644 --- a/src/devices/bus/bbc/internal/stl4m32.cpp +++ b/src/devices/bus/bbc/internal/stl4m32.cpp @@ -59,7 +59,7 @@ ROM_END void bbc_stl4m32_device::device_add_mconfig(machine_config &config) { - //M65SC02(config.replace(), m_maincpu, DERIVED_CLOCK(1, 4)); + //G65SC02(config.replace(), m_maincpu, DERIVED_CLOCK(1, 4)); /* 5 x 32K rom sockets */ BBC_ROMSLOT32(config, m_rom[4], bbc_rom_devices, nullptr); diff --git a/src/devices/bus/bbc/tube/tube_6502.cpp b/src/devices/bus/bbc/tube/tube_6502.cpp index 8cb22337e406b..360362634f72b 100644 --- a/src/devices/bus/bbc/tube/tube_6502.cpp +++ b/src/devices/bus/bbc/tube/tube_6502.cpp @@ -130,12 +130,12 @@ ROM_END void bbc_tube_6502_device::device_add_mconfig(machine_config &config) { - M65SC02(config, m_maincpu, 12_MHz_XTAL / 4); // G65SC02 + G65SC02(config, m_maincpu, 12_MHz_XTAL / 4); // G65SC02 m_maincpu->set_addrmap(AS_PROGRAM, &bbc_tube_6502_device::tube_6502_mem); TUBE(config, m_ula); - m_ula->pnmi_handler().set_inputline(m_maincpu, M65C02_NMI_LINE); - m_ula->pirq_handler().set_inputline(m_maincpu, M65C02_IRQ_LINE); + m_ula->pnmi_handler().set_inputline(m_maincpu, G65SC02_NMI_LINE); + m_ula->pirq_handler().set_inputline(m_maincpu, G65SC02_IRQ_LINE); m_ula->prst_handler().set(FUNC(bbc_tube_6502_device::prst_w)); RAM(config, m_ram).set_default_size("64K").set_default_value(0); @@ -155,7 +155,7 @@ void bbc_tube_6502e_device::device_add_mconfig(machine_config &config) { bbc_tube_6502_device::device_add_mconfig(config); - M65SC02(config.replace(), m_maincpu, 12_MHz_XTAL / 4); // G65SC02 + G65SC02(config.replace(), m_maincpu, 12_MHz_XTAL / 4); // G65SC02 m_maincpu->set_addrmap(AS_PROGRAM, &bbc_tube_6502e_device::tube_6502e_mem); m_ram->set_default_size("256K").set_default_value(0); @@ -165,7 +165,7 @@ void bbc_tube_65c102_device::device_add_mconfig(machine_config &config) { bbc_tube_6502_device::device_add_mconfig(config); - R65C02(config.replace(), m_maincpu, 16_MHz_XTAL / 4); // R65C102 + R65C102(config.replace(), m_maincpu, 16_MHz_XTAL); // R65C102 m_maincpu->set_addrmap(AS_PROGRAM, &bbc_tube_65c102_device::tube_6502_mem); } diff --git a/src/devices/bus/bbc/tube/tube_6502.h b/src/devices/bus/bbc/tube/tube_6502.h index ddfc337109f8d..367a6ed162392 100644 --- a/src/devices/bus/bbc/tube/tube_6502.h +++ b/src/devices/bus/bbc/tube/tube_6502.h @@ -18,7 +18,8 @@ #pragma once #include "tube.h" -#include "cpu/m6502/m65sc02.h" +#include "cpu/m6502/g65sc02.h" +#include "cpu/m6502/r65c02.h" #include "machine/ram.h" #include "machine/tube.h" diff --git a/src/devices/bus/bbc/tube/tube_matchbox.cpp b/src/devices/bus/bbc/tube/tube_matchbox.cpp index a2cf0bb009b68..019999744929d 100644 --- a/src/devices/bus/bbc/tube/tube_matchbox.cpp +++ b/src/devices/bus/bbc/tube/tube_matchbox.cpp @@ -20,7 +20,7 @@ #include "cpu/arm/arm.h" #include "cpu/i86/i286.h" -#include "cpu/m6502/m65c02.h" +#include "cpu/m6502/r65c02.h" #include "cpu/m6809/m6809.h" #include "cpu/m68000/m68000.h" #include "cpu/ns32000/ns32000.h" @@ -44,10 +44,10 @@ class bbc_tube_matchbox_device : public device_t, public device_bbc_tube_interfa , m_ram(*this, "ram") , m_soft_dip(0) , m_prst(0) - , m_m65c102(*this, "m65c102") - , m_m65c102_rom(*this, "m65c102_rom") - , m_m65c102_view(*this, "m65c102_view") - , m_m65c102_bank(*this, "m65c102_bank%u", 0) + , m_r65c102(*this, "r65c102") + , m_r65c102_rom(*this, "r65c102_rom") + , m_r65c102_view(*this, "r65c102_view") + , m_r65c102_bank(*this, "r65c102_bank%u", 0) , m_z80(*this, "z80") , m_z80_rom(*this, "z80_rom") , m_z80_view(*this, "z80_view") @@ -98,15 +98,15 @@ class bbc_tube_matchbox_device : public device_t, public device_bbc_tube_interfa int m_prst; // 65C102 - required_device m_m65c102; - required_region_ptr m_m65c102_rom; - memory_passthrough_handler m_m65c102_rom_shadow_tap; - memory_view m_m65c102_view; - required_memory_bank_array<8> m_m65c102_bank; + required_device m_r65c102; + required_region_ptr m_r65c102_rom; + memory_passthrough_handler m_r65c102_rom_shadow_tap; + memory_view m_r65c102_view; + required_memory_bank_array<8> m_r65c102_bank; - void m65c102_mem(address_map &map) ATTR_COLD; - void m65c102_reset(uint8_t dip); - void m65c102_bank_w(offs_t offset, uint8_t data); + void r65c102_mem(address_map &map) ATTR_COLD; + void r65c102_reset(uint8_t dip); + void r65c102_bank_w(offs_t offset, uint8_t data); // Z80 required_device m_z80; @@ -179,23 +179,23 @@ class bbc_tube_matchbox_device : public device_t, public device_bbc_tube_interfa //------------------------------------------------- -// ADDRESS_MAP( m65c102_mem ) +// ADDRESS_MAP( r65c102_mem ) //------------------------------------------------- -void bbc_tube_matchbox_device::m65c102_mem(address_map &map) +void bbc_tube_matchbox_device::r65c102_mem(address_map &map) { - map(0x0000, 0xffff).view(m_m65c102_view); - m_m65c102_view[0](0x0000, 0xffff).rw(m_ram, FUNC(ram_device::read), FUNC(ram_device::write)); - m_m65c102_view[0](0xf800, 0xffff).rom().region("m65c102_rom", 0); - m_m65c102_view[1](0x0000, 0x1fff).bankrw("m65c102_bank0"); - m_m65c102_view[1](0x2000, 0x3fff).bankrw("m65c102_bank1"); - m_m65c102_view[1](0x4000, 0x5fff).bankrw("m65c102_bank2"); - m_m65c102_view[1](0x6000, 0x7fff).bankrw("m65c102_bank3"); - m_m65c102_view[1](0x8000, 0x9fff).bankrw("m65c102_bank4"); - m_m65c102_view[1](0xa000, 0xbfff).bankrw("m65c102_bank5"); - m_m65c102_view[1](0xc000, 0xdfff).bankrw("m65c102_bank6"); - m_m65c102_view[1](0xe000, 0xffff).bankrw("m65c102_bank7"); - m_m65c102_view[1](0xfee0, 0xfee7).w(FUNC(bbc_tube_matchbox_device::m65c102_bank_w)); + map(0x0000, 0xffff).view(m_r65c102_view); + m_r65c102_view[0](0x0000, 0xffff).rw(m_ram, FUNC(ram_device::read), FUNC(ram_device::write)); + m_r65c102_view[0](0xf800, 0xffff).rom().region("r65c102_rom", 0); + m_r65c102_view[1](0x0000, 0x1fff).bankrw("r65c102_bank0"); + m_r65c102_view[1](0x2000, 0x3fff).bankrw("r65c102_bank1"); + m_r65c102_view[1](0x4000, 0x5fff).bankrw("r65c102_bank2"); + m_r65c102_view[1](0x6000, 0x7fff).bankrw("r65c102_bank3"); + m_r65c102_view[1](0x8000, 0x9fff).bankrw("r65c102_bank4"); + m_r65c102_view[1](0xa000, 0xbfff).bankrw("r65c102_bank5"); + m_r65c102_view[1](0xc000, 0xdfff).bankrw("r65c102_bank6"); + m_r65c102_view[1](0xe000, 0xffff).bankrw("r65c102_bank7"); + m_r65c102_view[1](0xfee0, 0xfee7).w(FUNC(bbc_tube_matchbox_device::r65c102_bank_w)); map(0xfef8, 0xfeff).rw("ula", FUNC(tube_device::parasite_r), FUNC(tube_device::parasite_w)); } @@ -353,7 +353,7 @@ ioport_constructor bbc_tube_matchbox_device::device_input_ports() const //------------------------------------------------- ROM_START( matchbox ) - ROM_REGION(0x0800, "m65c102_rom", 0) + ROM_REGION(0x0800, "r65c102_rom", 0) ROM_LOAD("client65v2.bin", 0x0000, 0x0800, CRC(866a5b7b) SHA1(40e2de0443e3447483fe6ee43fe66bac87fed1c4)) // latest from https://mdfs.net/Software/Tube/Matchbox/ ROM_REGION(0x1000, "z80_rom", 0) @@ -402,8 +402,8 @@ void bbc_tube_matchbox_device::device_add_mconfig(machine_config &config) RAM(config, m_ram).set_default_size("2MB"); // 65C102 - M65C02(config, m_m65c102, 32_MHz_XTAL); - m_m65c102->set_addrmap(AS_PROGRAM, &bbc_tube_matchbox_device::m65c102_mem); + R65C102(config, m_r65c102, 32_MHz_XTAL); + m_r65c102->set_addrmap(AS_PROGRAM, &bbc_tube_matchbox_device::r65c102_mem); SOFTWARE_LIST(config, "flop_ls_6502").set_original("bbc_flop_6502"); @@ -472,7 +472,7 @@ void bbc_tube_matchbox_device::device_start() void bbc_tube_matchbox_device::device_reset_after_children() { - m_m65c102->set_input_line(INPUT_LINE_RESET, ASSERT_LINE); + m_r65c102->set_input_line(INPUT_LINE_RESET, ASSERT_LINE); m_z80->set_input_line(INPUT_LINE_RESET, ASSERT_LINE); m_i80286->set_input_line(INPUT_LINE_RESET, ASSERT_LINE); m_m6809->set_input_line(INPUT_LINE_RESET, ASSERT_LINE); @@ -486,8 +486,8 @@ void bbc_tube_matchbox_device::device_reset_after_children() switch (m_copro) { case 0x00: case 0x01: case 0x02: case 0x03: - m65c102_reset(m_copro); - m_m65c102->set_input_line(INPUT_LINE_RESET, m_prst); + r65c102_reset(m_copro); + m_r65c102->set_input_line(INPUT_LINE_RESET, m_prst); break; case 0x04: case 0x05: case 0x06: case 0x07: @@ -534,15 +534,15 @@ void bbc_tube_matchbox_device::device_reset_after_children() // device_reset - device-specific reset //------------------------------------------------- -void bbc_tube_matchbox_device::m65c102_reset(uint8_t copro) +void bbc_tube_matchbox_device::r65c102_reset(uint8_t copro) { - address_space &program = m_m65c102->space(AS_PROGRAM); + address_space &program = m_r65c102->space(AS_PROGRAM); // address map during booting - m_m65c102_view.select(0); + m_r65c102_view.select(0); - m_m65c102_rom_shadow_tap.remove(); - m_m65c102_rom_shadow_tap = program.install_read_tap( + m_r65c102_rom_shadow_tap.remove(); + m_r65c102_rom_shadow_tap = program.install_read_tap( 0x0fef8, 0xfeff, "rom_shadow_r", [this](offs_t offset, u8 &data, u8 mem_mask) @@ -550,119 +550,119 @@ void bbc_tube_matchbox_device::m65c102_reset(uint8_t copro) if (!machine().side_effects_disabled()) { // delete this tap - m_m65c102_rom_shadow_tap.remove(); + m_r65c102_rom_shadow_tap.remove(); // address map after booting - m_m65c102_view.select(1); + m_r65c102_view.select(1); } // return the original data return data; }, - &m_m65c102_rom_shadow_tap); + &m_r65c102_rom_shadow_tap); for (int i = 0; i < 8; i++) { - m_m65c102_bank[i]->set_base(m_ram->pointer() + (i * 0x2000)); + m_r65c102_bank[i]->set_base(m_ram->pointer() + (i * 0x2000)); } switch (copro & 3) { case 0: // 3MHz - m_m65c102->set_clock_scale(1.0 / 11); + m_r65c102->set_clock_scale(1.0 / 11); // original startup banner - m_m65c102_rom[0x06f] = '6'; - m_m65c102_rom[0x070] = '5'; - m_m65c102_rom[0x071] = 'C'; - m_m65c102_rom[0x072] = '1'; - m_m65c102_rom[0x073] = '0'; - m_m65c102_rom[0x074] = '2'; - m_m65c102_rom[0x075] = ' '; - m_m65c102_rom[0x076] = 'C'; - m_m65c102_rom[0x077] = 'o'; - m_m65c102_rom[0x078] = '-'; - m_m65c102_rom[0x079] = 'P'; - m_m65c102_rom[0x07a] = 'r'; - m_m65c102_rom[0x07b] = 'o'; - m_m65c102_rom[0x07c] = 'c'; - m_m65c102_rom[0x07d] = 'e'; - m_m65c102_rom[0x07e] = 's'; - m_m65c102_rom[0x07f] = 's'; - m_m65c102_rom[0x080] = 'o'; - m_m65c102_rom[0x081] = 'r'; + m_r65c102_rom[0x06f] = '6'; + m_r65c102_rom[0x070] = '5'; + m_r65c102_rom[0x071] = 'C'; + m_r65c102_rom[0x072] = '1'; + m_r65c102_rom[0x073] = '0'; + m_r65c102_rom[0x074] = '2'; + m_r65c102_rom[0x075] = ' '; + m_r65c102_rom[0x076] = 'C'; + m_r65c102_rom[0x077] = 'o'; + m_r65c102_rom[0x078] = '-'; + m_r65c102_rom[0x079] = 'P'; + m_r65c102_rom[0x07a] = 'r'; + m_r65c102_rom[0x07b] = 'o'; + m_r65c102_rom[0x07c] = 'c'; + m_r65c102_rom[0x07d] = 'e'; + m_r65c102_rom[0x07e] = 's'; + m_r65c102_rom[0x07f] = 's'; + m_r65c102_rom[0x080] = 'o'; + m_r65c102_rom[0x081] = 'r'; break; case 1: // 4MHz - m_m65c102->set_clock_scale(1.0 / 8); + m_r65c102->set_clock_scale(1.0 / 8); // patch startup banner - m_m65c102_rom[0x06f] = '0'; - m_m65c102_rom[0x070] = '4'; - m_m65c102_rom[0x071] = 'M'; - m_m65c102_rom[0x072] = 'H'; - m_m65c102_rom[0x073] = 'z'; - m_m65c102_rom[0x074] = ' '; - m_m65c102_rom[0x075] = '6'; - m_m65c102_rom[0x076] = '5'; - m_m65c102_rom[0x077] = 'C'; - m_m65c102_rom[0x078] = '1'; - m_m65c102_rom[0x079] = '0'; - m_m65c102_rom[0x07a] = '2'; - m_m65c102_rom[0x07b] = ' '; - m_m65c102_rom[0x07c] = 'C'; - m_m65c102_rom[0x07d] = 'o'; - m_m65c102_rom[0x07e] = '-'; - m_m65c102_rom[0x07f] = 'P'; - m_m65c102_rom[0x080] = 'r'; - m_m65c102_rom[0x081] = 'o'; + m_r65c102_rom[0x06f] = '0'; + m_r65c102_rom[0x070] = '4'; + m_r65c102_rom[0x071] = 'M'; + m_r65c102_rom[0x072] = 'H'; + m_r65c102_rom[0x073] = 'z'; + m_r65c102_rom[0x074] = ' '; + m_r65c102_rom[0x075] = '6'; + m_r65c102_rom[0x076] = '5'; + m_r65c102_rom[0x077] = 'C'; + m_r65c102_rom[0x078] = '1'; + m_r65c102_rom[0x079] = '0'; + m_r65c102_rom[0x07a] = '2'; + m_r65c102_rom[0x07b] = ' '; + m_r65c102_rom[0x07c] = 'C'; + m_r65c102_rom[0x07d] = 'o'; + m_r65c102_rom[0x07e] = '-'; + m_r65c102_rom[0x07f] = 'P'; + m_r65c102_rom[0x080] = 'r'; + m_r65c102_rom[0x081] = 'o'; break; case 2: // 16MHz - m_m65c102->set_clock_scale(1.0 / 2); + m_r65c102->set_clock_scale(1.0 / 2); // patch startup banner - m_m65c102_rom[0x06f] = '1'; - m_m65c102_rom[0x070] = '6'; - m_m65c102_rom[0x071] = 'M'; - m_m65c102_rom[0x072] = 'H'; - m_m65c102_rom[0x073] = 'z'; - m_m65c102_rom[0x074] = ' '; - m_m65c102_rom[0x075] = '6'; - m_m65c102_rom[0x076] = '5'; - m_m65c102_rom[0x077] = 'C'; - m_m65c102_rom[0x078] = '1'; - m_m65c102_rom[0x079] = '0'; - m_m65c102_rom[0x07a] = '2'; - m_m65c102_rom[0x07b] = ' '; - m_m65c102_rom[0x07c] = 'C'; - m_m65c102_rom[0x07d] = 'o'; - m_m65c102_rom[0x07e] = '-'; - m_m65c102_rom[0x07f] = 'P'; - m_m65c102_rom[0x080] = 'r'; - m_m65c102_rom[0x081] = 'o'; + m_r65c102_rom[0x06f] = '1'; + m_r65c102_rom[0x070] = '6'; + m_r65c102_rom[0x071] = 'M'; + m_r65c102_rom[0x072] = 'H'; + m_r65c102_rom[0x073] = 'z'; + m_r65c102_rom[0x074] = ' '; + m_r65c102_rom[0x075] = '6'; + m_r65c102_rom[0x076] = '5'; + m_r65c102_rom[0x077] = 'C'; + m_r65c102_rom[0x078] = '1'; + m_r65c102_rom[0x079] = '0'; + m_r65c102_rom[0x07a] = '2'; + m_r65c102_rom[0x07b] = ' '; + m_r65c102_rom[0x07c] = 'C'; + m_r65c102_rom[0x07d] = 'o'; + m_r65c102_rom[0x07e] = '-'; + m_r65c102_rom[0x07f] = 'P'; + m_r65c102_rom[0x080] = 'r'; + m_r65c102_rom[0x081] = 'o'; break; case 3: // 64MHz - m_m65c102->set_clock_scale(1.0 * 2); + m_r65c102->set_clock_scale(1.0 * 2); // patch startup banner - m_m65c102_rom[0x06f] = '6'; - m_m65c102_rom[0x070] = '4'; - m_m65c102_rom[0x071] = 'M'; - m_m65c102_rom[0x072] = 'H'; - m_m65c102_rom[0x073] = 'z'; - m_m65c102_rom[0x074] = ' '; - m_m65c102_rom[0x075] = '6'; - m_m65c102_rom[0x076] = '5'; - m_m65c102_rom[0x077] = 'C'; - m_m65c102_rom[0x078] = '1'; - m_m65c102_rom[0x079] = '0'; - m_m65c102_rom[0x07a] = '2'; - m_m65c102_rom[0x07b] = ' '; - m_m65c102_rom[0x07c] = 'C'; - m_m65c102_rom[0x07d] = 'o'; - m_m65c102_rom[0x07e] = '-'; - m_m65c102_rom[0x07f] = 'P'; - m_m65c102_rom[0x080] = 'r'; - m_m65c102_rom[0x081] = 'o'; + m_r65c102_rom[0x06f] = '6'; + m_r65c102_rom[0x070] = '4'; + m_r65c102_rom[0x071] = 'M'; + m_r65c102_rom[0x072] = 'H'; + m_r65c102_rom[0x073] = 'z'; + m_r65c102_rom[0x074] = ' '; + m_r65c102_rom[0x075] = '6'; + m_r65c102_rom[0x076] = '5'; + m_r65c102_rom[0x077] = 'C'; + m_r65c102_rom[0x078] = '1'; + m_r65c102_rom[0x079] = '0'; + m_r65c102_rom[0x07a] = '2'; + m_r65c102_rom[0x07b] = ' '; + m_r65c102_rom[0x07c] = 'C'; + m_r65c102_rom[0x07d] = 'o'; + m_r65c102_rom[0x07e] = '-'; + m_r65c102_rom[0x07f] = 'P'; + m_r65c102_rom[0x080] = 'r'; + m_r65c102_rom[0x081] = 'o'; break; } } @@ -872,7 +872,7 @@ void bbc_tube_matchbox_device::pnmi_w(int state) switch (m_copro) { case 0x00: case 0x01: case 0x02: case 0x03: - m_m65c102->set_input_line(M65C02_NMI_LINE, state); + m_r65c102->set_input_line(R65C02_NMI_LINE, state); break; case 0x04: case 0x05: case 0x06: case 0x07: m_z80->set_input_line(INPUT_LINE_NMI, state); @@ -904,7 +904,7 @@ void bbc_tube_matchbox_device::pirq_w(int state) switch (m_copro) { case 0x00: case 0x01: case 0x02: case 0x03: - m_m65c102->set_input_line(M65C02_IRQ_LINE, state); + m_r65c102->set_input_line(R65C02_IRQ_LINE, state); break; case 0x04: case 0x05: case 0x06: case 0x07: m_z80->set_input_line(INPUT_LINE_IRQ0, state); @@ -943,12 +943,12 @@ void bbc_tube_matchbox_device::prst_w(int state) // 65C102 //------------------------------------------------- -void bbc_tube_matchbox_device::m65c102_bank_w(offs_t offset, uint8_t data) +void bbc_tube_matchbox_device::r65c102_bank_w(offs_t offset, uint8_t data) { if (BIT(data, 7)) - m_m65c102_bank[offset & 7]->set_base(m_ram->pointer() + (data & 0x7f) * 0x2000 + 0x100000); // external RAM + m_r65c102_bank[offset & 7]->set_base(m_ram->pointer() + (data & 0x7f) * 0x2000 + 0x100000); // external RAM else - m_m65c102_bank[offset & 7]->set_base(m_ram->pointer() + (data & 0x07) * 0x2000); // internal RAM + m_r65c102_bank[offset & 7]->set_base(m_ram->pointer() + (data & 0x07) * 0x2000); // internal RAM } diff --git a/src/devices/bus/bbc/tube/tube_rc6502.cpp b/src/devices/bus/bbc/tube/tube_rc6502.cpp index 85f3fce1f1140..70a0d1ea2d190 100644 --- a/src/devices/bus/bbc/tube/tube_rc6502.cpp +++ b/src/devices/bus/bbc/tube/tube_rc6502.cpp @@ -135,8 +135,8 @@ void bbc_tube_rc6502_device::device_add_mconfig(machine_config &config) add_common_devices(config); TUBE(config, m_ula); - m_ula->pnmi_handler().set_inputline(m_maincpu, M65C02_NMI_LINE); - m_ula->pirq_handler().set_inputline(m_maincpu, M65C02_IRQ_LINE); + m_ula->pnmi_handler().set_inputline(m_maincpu, W65C02_NMI_LINE); + m_ula->pirq_handler().set_inputline(m_maincpu, W65C02_IRQ_LINE); m_ula->prst_handler().set(FUNC(bbc_tube_rc6502_device::prst_w)); } diff --git a/src/devices/bus/c64/fcc.cpp b/src/devices/bus/c64/fcc.cpp index 484716a0056ff..96b0c172c129e 100644 --- a/src/devices/bus/c64/fcc.cpp +++ b/src/devices/bus/c64/fcc.cpp @@ -42,7 +42,7 @@ void c64_final_chesscard_device::c64_fcc_map(address_map &map) void c64_final_chesscard_device::device_add_mconfig(machine_config &config) { - M65SC02(config, m_maincpu, 5_MHz_XTAL); + G65SC02(config, m_maincpu, 5_MHz_XTAL); m_maincpu->set_addrmap(AS_PROGRAM, &c64_final_chesscard_device::c64_fcc_map); GENERIC_LATCH_8(config, m_mainlatch).data_pending_callback().set(FUNC(c64_final_chesscard_device::mainlatch_int)); diff --git a/src/devices/bus/c64/fcc.h b/src/devices/bus/c64/fcc.h index dffa04c29a05f..7123336d64acb 100644 --- a/src/devices/bus/c64/fcc.h +++ b/src/devices/bus/c64/fcc.h @@ -12,7 +12,7 @@ #pragma once #include "exp.h" -#include "cpu/m6502/m65sc02.h" +#include "cpu/m6502/g65sc02.h" #include "machine/gen_latch.h" @@ -48,7 +48,7 @@ class c64_final_chesscard_device : public device_t, virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override; private: - required_device m_maincpu; + required_device m_maincpu; required_device m_mainlatch; required_device m_sublatch; diff --git a/src/devices/bus/cbmiec/fd2000.cpp b/src/devices/bus/cbmiec/fd2000.cpp index 4b4834271a1c9..91b3cc9ae44e3 100644 --- a/src/devices/bus/cbmiec/fd2000.cpp +++ b/src/devices/bus/cbmiec/fd2000.cpp @@ -219,7 +219,7 @@ void fd2000_device::floppy_formats(format_registration &fr) void fd2000_device::add_common_devices(machine_config &config) { - M65C02(config, m_maincpu, 24_MHz_XTAL / 12); + W65C02(config, m_maincpu, 24_MHz_XTAL / 12); via6522_device &via(R65C22(config, G65SC22P2_TAG, 24_MHz_XTAL / 12)); via.readpa_handler().set(FUNC(fd2000_device::via_pa_r)); diff --git a/src/devices/bus/cbmiec/fd2000.h b/src/devices/bus/cbmiec/fd2000.h index 04ac1264f7943..d632e77c11f15 100644 --- a/src/devices/bus/cbmiec/fd2000.h +++ b/src/devices/bus/cbmiec/fd2000.h @@ -12,7 +12,7 @@ #pragma once #include "cbmiec.h" -#include "cpu/m6502/m65c02.h" +#include "cpu/m6502/w65c02.h" #include "imagedev/floppy.h" #include "machine/6522via.h" #include "machine/upd765.h" @@ -58,7 +58,7 @@ class fd2000_device : public device_t, void add_common_devices(machine_config &config); - required_device m_maincpu; + required_device m_maincpu; required_device m_fdc; required_device m_floppy0; diff --git a/src/devices/bus/cbmiec/serialbox.cpp b/src/devices/bus/cbmiec/serialbox.cpp index 9d9dcc114cf72..950cf46b96426 100644 --- a/src/devices/bus/cbmiec/serialbox.cpp +++ b/src/devices/bus/cbmiec/serialbox.cpp @@ -71,7 +71,7 @@ void cbm_serial_box_device::serial_box_mem(address_map &map) void cbm_serial_box_device::device_add_mconfig(machine_config &config) { - M65C02(config, m_maincpu, XTAL(4'000'000)/4); + W65C02(config, m_maincpu, XTAL(4'000'000)/4); m_maincpu->set_addrmap(AS_PROGRAM, &cbm_serial_box_device::serial_box_mem); } diff --git a/src/devices/bus/cbmiec/serialbox.h b/src/devices/bus/cbmiec/serialbox.h index 4b51d5752efb3..268013ffb45a5 100644 --- a/src/devices/bus/cbmiec/serialbox.h +++ b/src/devices/bus/cbmiec/serialbox.h @@ -12,7 +12,7 @@ #pragma once #include "cbmiec.h" -#include "cpu/m6502/m65c02.h" +#include "cpu/m6502/w65c02.h" @@ -43,7 +43,7 @@ class cbm_serial_box_device : public device_t, public device_cbm_iec_interface void cbm_iec_reset(int state) override; private: - required_device m_maincpu; + required_device m_maincpu; void serial_box_mem(address_map &map) ATTR_COLD; }; diff --git a/src/devices/bus/econet/e01.cpp b/src/devices/bus/econet/e01.cpp index c660cc6f39309..e46ac49e379ce 100644 --- a/src/devices/bus/econet/e01.cpp +++ b/src/devices/bus/econet/e01.cpp @@ -245,7 +245,7 @@ void econet_e01_device::e01_mem(address_map &map) void econet_e01_device::device_add_mconfig(machine_config &config) { // basic machine hardware - M65C02(config, m_maincpu, XTAL(8'000'000)/4); // Rockwell R65C102P3 + R65C102(config, m_maincpu, XTAL(8'000'000)); // Rockwell R65C102P3 m_maincpu->set_addrmap(AS_PROGRAM, &econet_e01_device::e01_mem); MC146818(config, m_rtc, 32.768_kHz_XTAL); diff --git a/src/devices/bus/econet/e01.h b/src/devices/bus/econet/e01.h index e99d99c105676..10d556e770017 100644 --- a/src/devices/bus/econet/e01.h +++ b/src/devices/bus/econet/e01.h @@ -14,7 +14,7 @@ #include "econet.h" #include "bus/centronics/ctronics.h" #include "bus/scsi/scsi.h" -#include "cpu/m6502/m65c02.h" +#include "cpu/m6502/r65c02.h" #include "imagedev/floppy.h" #include "machine/6522via.h" #include "machine/buffer.h" @@ -81,7 +81,7 @@ class econet_e01_device : public device_t, static void floppy_formats_afs(format_registration &fr); - required_device m_maincpu; + required_device m_maincpu; required_device m_fdc; required_device m_adlc; required_device m_rtc; diff --git a/src/devices/bus/heathzenith/h89/cards.cpp b/src/devices/bus/heathzenith/h89/cards.cpp index 618f07d4f6a13..0f22c6401f883 100644 --- a/src/devices/bus/heathzenith/h89/cards.cpp +++ b/src/devices/bus/heathzenith/h89/cards.cpp @@ -9,6 +9,7 @@ #include "emu.h" #include "cards.h" +#include "cdr_fdc_880h.h" #include "h_88_3.h" #include "h_88_5.h" #include "mms77316_fdc.h" @@ -24,6 +25,7 @@ void h89_left_cards(device_slot_interface &device) void h89_right_cards(device_slot_interface &device) { + device.option_add("cdr_fdc", H89BUS_CDR_FDC_880H); device.option_add("h_88_3", H89BUS_H_88_3); device.option_add("ha_88_3", H89BUS_HA_88_3); device.option_add("h_88_5", H89BUS_H_88_5); diff --git a/src/devices/bus/heathzenith/h89/cdr_fdc_880h.cpp b/src/devices/bus/heathzenith/h89/cdr_fdc_880h.cpp new file mode 100644 index 0000000000000..ed33daa4a8867 --- /dev/null +++ b/src/devices/bus/heathzenith/h89/cdr_fdc_880h.cpp @@ -0,0 +1,399 @@ +// license:BSD-3-Clause +// copyright-holders:Mark Garlanger +/*************************************************************************** + + CDR FDC-880H soft-sectored floppy controller + + Supports up to 4 floppy drives, both 5.25" and 8" drives. + +****************************************************************************/ + +#include "emu.h" + +#include "cdr_fdc_880h.h" + +#include "imagedev/floppy.h" +#include "machine/wd_fdc.h" + +#define LOG_REG (1U << 1) // Shows register setup +#define LOG_LINES (1U << 2) // Show control lines +#define LOG_DRIVE (1U << 3) // Show drive select +#define LOG_FUNC (1U << 4) // Function calls +#define LOG_ERR (1U << 5) // log errors +#define LOG_WAIT (1U << 6) // wait mode +#define LOG_DATA (1U << 7) // data read/writes + +#define VERBOSE (0xff) + +#include "logmacro.h" + +#define LOGREG(...) LOGMASKED(LOG_REG, __VA_ARGS__) +#define LOGLINES(...) LOGMASKED(LOG_LINES, __VA_ARGS__) +#define LOGDRIVE(...) LOGMASKED(LOG_DRIVE, __VA_ARGS__) +#define LOGFUNC(...) LOGMASKED(LOG_FUNC, __VA_ARGS__) +#define LOGERR(...) LOGMASKED(LOG_ERR, __VA_ARGS__) +#define LOGWAIT(...) LOGMASKED(LOG_WAIT, __VA_ARGS__) +#define LOGDATA(...) LOGMASKED(LOG_DATA, __VA_ARGS__) + +#ifdef _MSC_VER +#define FUNCNAME __func__ +#else +#define FUNCNAME __PRETTY_FUNCTION__ +#endif + + +namespace { + +class cdr_fdc_880h_device : public device_t, public device_h89bus_right_card_interface +{ +public: + cdr_fdc_880h_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock = 0); + + virtual void write(u8 select_lines, u8 offset, u8 data) override; + virtual u8 read(u8 select_lines, u8 offset) override; + + // The controller has two 16L8 PALs which are not dumped (z15 and z20 from schematics). + static constexpr feature_type unemulated_features() { return feature::DISK; } + +protected: + + virtual void device_start() override ATTR_COLD; + virtual void device_reset() override ATTR_COLD; + virtual void device_add_mconfig(machine_config &config) override ATTR_COLD; + + void cmd_w(u8 val); + void data_w(u8 val); + u8 data_r(); + u8 status_r(); + + void set_irq(int state); + void set_drq(int state); + +private: + /// Bits set in cmd_ControlPort_c + static constexpr u8 ctrl_EnableIntReq_c = 7; + static constexpr u8 ctrl_SetMFMRecording_c = 6; + static constexpr u8 ctrl_DriveType_c = 5; + static constexpr u8 ctrl_Mode_c = 4; + + static constexpr XTAL MASTER_CLOCK = XTAL(4'000'000); + static constexpr XTAL FIVE_IN_CLOCK = MASTER_CLOCK / 4; + static constexpr XTAL EIGHT_IN_CLOCK = MASTER_CLOCK / 2; + + required_device m_fdc; + required_device_array m_floppies; + + bool m_irq_allowed; + + bool m_irq; + bool m_drq; + + bool m_double_density; + bool m_five_in_drive; + bool m_mode_operate; + s8 m_drive; +}; + + +cdr_fdc_880h_device::cdr_fdc_880h_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock): + device_t(mconfig, H89BUS_CDR_FDC_880H, tag, owner, 0), + device_h89bus_right_card_interface(mconfig, *this), + m_fdc(*this, "cdr_fdc_880h"), + m_floppies(*this, "cdr_fdc_880h:%u", 0U) +{ +} + +void cdr_fdc_880h_device::cmd_w(u8 val) +{ + LOGREG("%s: val: %d\n", FUNCNAME, val); + + u8 drive = BIT(val, 0, 3); + + if (drive & 0x01) + { + m_drive = 0; + } + else if (drive & 0x02) + { + m_drive = 1; + } + else if (drive & 0x04) + { + m_drive = 2; + } + else if (drive & 0x08) + { + m_drive = 3; + } + else + { + m_drive = -1; + } + m_mode_operate = bool(BIT(val, ctrl_Mode_c)); + m_five_in_drive = bool(BIT(val, ctrl_DriveType_c)); + m_double_density = !bool(BIT(val, ctrl_SetMFMRecording_c)); + m_irq_allowed = bool(BIT(val, ctrl_EnableIntReq_c)); + + m_fdc->dden_w(!m_double_density); + + LOGLINES("%s: intrq allowed: %d\n", FUNCNAME, m_irq_allowed); + + set_slot_int5(m_irq_allowed ? m_irq : CLEAR_LINE); + + LOGDRIVE("%s: floppydrive: %d, 5.25 in: %d\n", FUNCNAME, m_drive, m_five_in_drive); + + if (m_drive >= 0) + { + m_fdc->set_floppy(m_floppies[m_drive]->get_device()); + } + + for (auto &elem : m_floppies) + { + floppy_image_device *floppy = elem->get_device(); + if (floppy) + { + floppy->mon_w(m_drive == -1); + } + } + + m_fdc->set_clock(m_five_in_drive ? FIVE_IN_CLOCK : EIGHT_IN_CLOCK); +} + +void cdr_fdc_880h_device::data_w(u8 val) +{ + LOGDATA("%s: val: %d\n", FUNCNAME, val); + + if (!m_drq && !m_irq) + { + LOGWAIT("%s: wait state\n", FUNCNAME); + + set_slot_wait(ASSERT_LINE); + return; + } + + m_fdc->data_w(val); +} + +void cdr_fdc_880h_device::write(u8 select_lines, u8 offset, u8 data) +{ + if (!(select_lines & h89bus_device::H89_CASS)) + { + return; + } + + LOGREG("%s: reg: %d val: 0x%02x\n", FUNCNAME, offset, data); + + switch (offset) + { + case 0: + case 1: + case 2: + // read not supported on these addresses + LOGERR("%s: Unexpected port read reg: %d\n", FUNCNAME, offset); + break; + case 3: // Select Port + cmd_w(data); + break; + case 4: // Command Port + m_fdc->cmd_w(data); + break; + case 5: // Track Port + m_fdc->track_w(data); + break; + case 6: // Sector Port + m_fdc->sector_w(data); + break; + case 7: // Data Port + data_w(data); + break; + } +} + +u8 cdr_fdc_880h_device::status_r() +{ + u8 data = 0; + + switch(m_drive) + { + case 0: + data |= 0x0e; + break; + case 1: + data |= 0x0d; + break; + case 2: + data |= 0x0b; + break; + case 3: + data |= 0x07; + break; + case -1: + default: + data |= 0x0f; + break; + } + data |= m_mode_operate ? 0x10 : 0; + data |= m_five_in_drive ? 0 : 0x20; + data |= m_double_density ? 0x40 : 0; + data |= m_irq ? 0 : 0x80; + + return data; +} + +u8 cdr_fdc_880h_device::data_r() +{ + u8 data = 0; + + if (!m_drq && !m_irq) + { + LOGWAIT("%s: wait state\n", FUNCNAME); + + if (!machine().side_effects_disabled()) + { + set_slot_wait(ASSERT_LINE); + } + } + else + { + data = m_fdc->data_r(); + } + + LOGDATA("%s: data: %d\n", FUNCNAME, data); + + return data; +} + +u8 cdr_fdc_880h_device::read(u8 select_lines, u8 offset) +{ + if (!(select_lines & h89bus_device::H89_CASS)) + { + return 0; + } + + u8 value = 0; + + switch (offset) + { + case 0: + case 1: + case 2: + // read not supported on these addresses + LOGERR("%s: Unexpected port read reg: %d\n", FUNCNAME, offset); + break; + case 3: // ?? + value = status_r(); + break; + case 4: // Drive Status Port + value = m_fdc->status_r(); + break; + case 5: // Track Port + value = m_fdc->track_r(); + break; + case 6: // Sector Port + value = m_fdc->sector_r(); + break; + case 7: // Data Port + value = data_r(); + break; + } + + LOGREG("%s: reg: %d val: 0x%02x\n", FUNCNAME, offset, value); + + return value; +} + +void cdr_fdc_880h_device::device_start() +{ + save_item(NAME(m_irq_allowed)); + save_item(NAME(m_irq)); + save_item(NAME(m_drq)); +} + +void cdr_fdc_880h_device::device_reset() +{ + m_irq_allowed = false; + m_irq = false; + + set_slot_int5(CLEAR_LINE); + set_slot_wait(CLEAR_LINE); + + for (auto &elem : m_floppies) + { + if (elem) + { + floppy_image_device *const floppy = elem->get_device(); + if (floppy) + { + // turn on motor of all installed 8" floppies + floppy->mon_w(0); + } + } + } +} + +static void cdr_floppies(device_slot_interface &device) +{ + // 5.25" SS 48tpi + device.option_add("5_ss_dd", FLOPPY_525_SSDD); + // 5.25" SS 96tpi + device.option_add("5_ss_qd", FLOPPY_525_SSQD); + // 5.25" DS 48tpi + device.option_add("5_ds_dd", FLOPPY_525_DD); + // 5.25" DS 96tpi + device.option_add("5_ds_qd", FLOPPY_525_QD); + + // 8" SSSD + device.option_add("8_ss_sd", FLOPPY_8_SSSD); + // 8" DSSD + device.option_add("8_ds_sd", FLOPPY_8_DSSD); + // 8" SSDD + device.option_add("8_ss_dd", FLOPPY_8_SSDD); + // 8" DSDD + device.option_add("8_ds_dd", FLOPPY_8_DSDD); +} + +void cdr_fdc_880h_device::device_add_mconfig(machine_config &config) +{ + FD1797(config, m_fdc, EIGHT_IN_CLOCK); + m_fdc->intrq_wr_callback().set(FUNC(cdr_fdc_880h_device::set_irq)); + m_fdc->drq_wr_callback().set(FUNC(cdr_fdc_880h_device::set_drq)); + + FLOPPY_CONNECTOR(config, m_floppies[0], cdr_floppies, "5_ds_qd", floppy_image_device::default_mfm_floppy_formats); + m_floppies[0]->enable_sound(true); + FLOPPY_CONNECTOR(config, m_floppies[1], cdr_floppies, "5_ds_qd", floppy_image_device::default_mfm_floppy_formats); + m_floppies[1]->enable_sound(true); + FLOPPY_CONNECTOR(config, m_floppies[2], cdr_floppies, "5_ds_qd", floppy_image_device::default_mfm_floppy_formats); + m_floppies[2]->enable_sound(true); + FLOPPY_CONNECTOR(config, m_floppies[3], cdr_floppies, "5_ds_qd", floppy_image_device::default_mfm_floppy_formats); + m_floppies[3]->enable_sound(true); +} + +void cdr_fdc_880h_device::set_irq(int state) +{ + LOGLINES("set irq, allowed: %d state: %d\n", m_irq_allowed, state); + + m_irq = state; + + if (m_irq) + { + set_slot_wait(CLEAR_LINE); + } + + set_slot_int5(m_irq_allowed ? m_irq : CLEAR_LINE); +} + +void cdr_fdc_880h_device::set_drq(int state) +{ + LOGLINES("set drq state: %d\n", state); + + m_drq = state; + + if (m_drq) + { + set_slot_wait(CLEAR_LINE); + } + +} +} + +DEFINE_DEVICE_TYPE_PRIVATE(H89BUS_CDR_FDC_880H, device_h89bus_right_card_interface, cdr_fdc_880h_device, "cdr_fdc_880h", "CDR FDC-880H Soft-sectored Controller"); diff --git a/src/devices/bus/heathzenith/h89/cdr_fdc_880h.h b/src/devices/bus/heathzenith/h89/cdr_fdc_880h.h new file mode 100644 index 0000000000000..f884da58405c7 --- /dev/null +++ b/src/devices/bus/heathzenith/h89/cdr_fdc_880h.h @@ -0,0 +1,18 @@ +// license:BSD-3-Clause +// copyright-holders:Mark Garlanger +/*************************************************************************** + + CDR FDC-880H soft-sectored floppy controller + +****************************************************************************/ + +#ifndef MAME_BUS_HEATHZENITH_H89_CDR_FDC_880H_H +#define MAME_BUS_HEATHZENITH_H89_CDR_FDC_880H_H + +#pragma once + +#include "h89bus.h" + +DECLARE_DEVICE_TYPE(H89BUS_CDR_FDC_880H, device_h89bus_right_card_interface) + +#endif // MAME_BUS_HEATHZENITH_H89_CDR_FDC_880H_H diff --git a/src/devices/bus/heathzenith/h89/h89bus.cpp b/src/devices/bus/heathzenith/h89/h89bus.cpp index 17a6fab2dd64b..1b05c49e4800a 100644 --- a/src/devices/bus/heathzenith/h89/h89bus.cpp +++ b/src/devices/bus/heathzenith/h89/h89bus.cpp @@ -123,6 +123,10 @@ ROM_START(h89bus) // MMS (Magnolia Micro Systems) I/O decoding ROM_SYSTEM_BIOS(2, "444-61c", "MMS decoding (444-61c)") ROMX_LOAD( "444-61c.bin", 0x000000, 0x000100, CRC(e7122061) SHA1(33c124f44c0f9cb99c9b17ad15411b4bc6407eae), ROM_BIOS(2)) + + // CDR Systems + ROM_SYSTEM_BIOS(3, "cdr86", "CDR decoding (CDR86)") + ROMX_LOAD( "cdr86.bin", 0x000000, 0x000100, CRC(d35e4063) SHA1(879f9d265d77f8a74c70febd9a80d6896ab8ec7e), ROM_BIOS(3)) ROM_END //************************************************************************** diff --git a/src/devices/bus/isa/finalchs.cpp b/src/devices/bus/isa/finalchs.cpp index 2ee3b169371dd..6fb49bbf5c6c4 100644 --- a/src/devices/bus/isa/finalchs.cpp +++ b/src/devices/bus/isa/finalchs.cpp @@ -123,7 +123,7 @@ ioport_constructor isa8_finalchs_device::device_input_ports() const void isa8_finalchs_device::device_add_mconfig(machine_config &config) { - M65SC02(config, m_maincpu, 5_MHz_XTAL); + G65SC02(config, m_maincpu, 5_MHz_XTAL); m_maincpu->set_addrmap(AS_PROGRAM, &isa8_finalchs_device::finalchs_mem); GENERIC_LATCH_8(config, m_mainlatch); diff --git a/src/devices/bus/isa/finalchs.h b/src/devices/bus/isa/finalchs.h index b7977b901e1f0..9083f9529a355 100644 --- a/src/devices/bus/isa/finalchs.h +++ b/src/devices/bus/isa/finalchs.h @@ -12,7 +12,7 @@ #pragma once #include "isa.h" -#include "cpu/m6502/m65sc02.h" +#include "cpu/m6502/g65sc02.h" #include "machine/gen_latch.h" @@ -35,7 +35,7 @@ class isa8_finalchs_device : virtual ioport_constructor device_input_ports() const override ATTR_COLD; private: - required_device m_maincpu; + required_device m_maincpu; required_device m_mainlatch; required_device m_sublatch; diff --git a/src/devices/bus/odyssey2/rally.cpp b/src/devices/bus/odyssey2/rally.cpp index 491a725367f42..37ad1d2c89c8d 100644 --- a/src/devices/bus/odyssey2/rally.cpp +++ b/src/devices/bus/odyssey2/rally.cpp @@ -14,6 +14,9 @@ Used in: #55 and #58 also work on the G7000. +It's used by the Videopac+ Service Test cartridge too, with 2 7segs added. The +7segs are just for showing error codes, it will still work fine without them. + ******************************************************************************/ #include "emu.h" @@ -25,12 +28,16 @@ namespace { // initialization //------------------------------------------------- +// Rally / shared + class o2_rally_device : public device_t, public device_o2_cart_interface { public: o2_rally_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); protected: + o2_rally_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock); + virtual void device_start() override ATTR_COLD; virtual void cart_init() override; @@ -41,16 +48,19 @@ class o2_rally_device : public device_t, public device_o2_cart_interface virtual void write_p1(u8 data) override { m_control = data; } virtual void io_write(offs_t offset, u8 data) override; -private: u8 m_control = 0; u8 m_bank = 0; }; -o2_rally_device::o2_rally_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : - device_t(mconfig, O2_ROM_RALLY, tag, owner, clock), +o2_rally_device::o2_rally_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock) : + device_t(mconfig, type, tag, owner, clock), device_o2_cart_interface(mconfig, *this) { } +o2_rally_device::o2_rally_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : + o2_rally_device(mconfig, O2_ROM_RALLY, tag, owner, clock) +{ } + void o2_rally_device::device_start() { save_item(NAME(m_control)); @@ -64,6 +74,35 @@ void o2_rally_device::cart_init() } +// Service Test Cartridge + +class o2_testpl_device : public o2_rally_device +{ +public: + o2_testpl_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + +protected: + virtual void device_start() override ATTR_COLD; + + virtual void io_write(offs_t offset, u8 data) override; + +private: + output_finder<2> m_digit_out; +}; + +o2_testpl_device::o2_testpl_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : + o2_rally_device(mconfig, O2_ROM_TESTPL, tag, owner, clock), + m_digit_out(*this, "tc_digit%u", 0U) +{ } + +void o2_testpl_device::device_start() +{ + o2_rally_device::device_start(); + + m_digit_out.resolve(); +} + + //------------------------------------------------- // mapper specific handlers //------------------------------------------------- @@ -81,7 +120,23 @@ void o2_rally_device::io_write(offs_t offset, u8 data) m_bank = data; } +void o2_testpl_device::io_write(offs_t offset, u8 data) +{ + o2_rally_device::io_write(offset, data); + + // write to 7segs if P11 is low + if (~m_control & 2) + { + static const u8 ls48_map[0x10] = + { 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7c,0x07,0x7f,0x67,0x58,0x4c,0x62,0x69,0x78,0x00 }; + + m_digit_out[0] = ls48_map[data >> 4]; + m_digit_out[1] = ls48_map[data & 0xf]; + } +} + } // anonymous namespace DEFINE_DEVICE_TYPE_PRIVATE(O2_ROM_RALLY, device_o2_cart_interface, o2_rally_device, "o2_rally", "Videopac+ 60 Cartridge") +DEFINE_DEVICE_TYPE_PRIVATE(O2_ROM_TESTPL, device_o2_cart_interface, o2_testpl_device, "o2_testpl", "Videopac+ Service Test Cartridge") diff --git a/src/devices/bus/odyssey2/rally.h b/src/devices/bus/odyssey2/rally.h index 9f022d020312f..b9715050e494a 100644 --- a/src/devices/bus/odyssey2/rally.h +++ b/src/devices/bus/odyssey2/rally.h @@ -14,5 +14,6 @@ #include "slot.h" DECLARE_DEVICE_TYPE(O2_ROM_RALLY, device_o2_cart_interface) +DECLARE_DEVICE_TYPE(O2_ROM_TESTPL, device_o2_cart_interface) #endif // MAME_BUS_ODYSSEY2_RALLY_H diff --git a/src/devices/bus/odyssey2/slot.cpp b/src/devices/bus/odyssey2/slot.cpp index dba3fa09ff33d..a5090c41f4a53 100644 --- a/src/devices/bus/odyssey2/slot.cpp +++ b/src/devices/bus/odyssey2/slot.cpp @@ -27,22 +27,14 @@ DEFINE_DEVICE_TYPE(O2_CART_SLOT, o2_cart_slot_device, "o2_cart_slot", "Odyssey 2 // device_o2_cart_interface - constructor //------------------------------------------------- -device_o2_cart_interface::device_o2_cart_interface(const machine_config &mconfig, device_t &device) - : device_interface(device, "odyssey2cart") - , m_rom_size(0) - , m_exrom_size(0) - , m_voice_size(0) -{ -} - - -//------------------------------------------------- -// ~device_o2_cart_interface - destructor -//------------------------------------------------- +device_o2_cart_interface::device_o2_cart_interface(const machine_config &mconfig, device_t &device) : + device_interface(device, "odyssey2cart"), + m_rom_size(0), + m_exrom_size(0), + m_voice_size(0) +{ } -device_o2_cart_interface::~device_o2_cart_interface() -{ -} +device_o2_cart_interface::~device_o2_cart_interface() { } //************************************************************************** @@ -53,24 +45,18 @@ device_o2_cart_interface::~device_o2_cart_interface() // o2_cart_slot_device - constructor //------------------------------------------------- -o2_cart_slot_device::o2_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) - : device_t(mconfig, O2_CART_SLOT, tag, owner, clock) - , device_cartrom_image_interface(mconfig, *this) - , device_single_card_slot_interface(mconfig, *this) - , m_type(O2_STD) - , m_cart(nullptr) - , m_b(0) -{ -} +o2_cart_slot_device::o2_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : + device_t(mconfig, O2_CART_SLOT, tag, owner, clock), + device_cartrom_image_interface(mconfig, *this), + device_single_card_slot_interface(mconfig, *this), + m_type(O2_STD), + m_cart(nullptr), + m_conf(*this, "CONF"), + m_b(0) +{ } +o2_cart_slot_device::~o2_cart_slot_device() { } -//------------------------------------------------- -// o2_cart_slot_device - destructor -//------------------------------------------------- - -o2_cart_slot_device::~o2_cart_slot_device() -{ -} //------------------------------------------------- // device_start - device-specific startup @@ -88,8 +74,8 @@ void o2_cart_slot_device::device_start() struct o2_slot { - int pcb_id; - const char *slot_option; + int pcb_id; + const char *slot_option; }; // Here, we take the feature attribute from .xml (i.e. the PCB name) and we assign a unique ID to it @@ -102,17 +88,20 @@ static const o2_slot slot_list[] = { O2_CHESS, "o2_chess" }, { O2_HOMECOMP, "o2_homecomp" }, { O2_TEST, "o2_test" }, + { O2_TESTPL, "o2_testpl" }, { O2_VOICE, "o2_voice" } }; static int o2_get_pcb_id(const char *slot) { if (slot) + { for (auto & elem : slot_list) { if (!strcmp(elem.slot_option, slot)) return elem.pcb_id; } + } return 0; } @@ -262,14 +251,42 @@ int o2_cart_slot_device::t0_read() int o2_cart_slot_device::b_read() { + int b_user = m_conf->read() & 3; + int b = b_user & 1; + if (m_cart) { - int b = m_cart->b_read(); - const bool override = b != -1; - return override ? b : m_b; + // cartridge may override pin B setting + int b_cart = m_cart->b_read(); + + if (b_cart >= 0) + b = b_cart; + else if (b_user & 2) + b = m_b; } - else - return 0; + + return b; +} + + +/*------------------------------------------------- + input ports +-------------------------------------------------*/ + +// Pin B only affects Videopac+ consoles: cartridges can decide whether to mask display edges or not, +// by wiring the pin to either VCC or GND. + +static INPUT_PORTS_START( o2_cart_slot ) + PORT_START("CONF") + PORT_CONFNAME( 0x03, 0x02, "Cartridge Pin B" ) + PORT_CONFSETTING( 0x02, "Auto" ) // get setting from softwarelist + PORT_CONFSETTING( 0x00, "0" ) + PORT_CONFSETTING( 0x01, "1" ) +INPUT_PORTS_END + +ioport_constructor o2_cart_slot_device::device_input_ports() const +{ + return INPUT_PORTS_NAME(o2_cart_slot); } @@ -291,5 +308,6 @@ void o2_cart(device_slot_interface &device) device.option_add_internal("o2_chess", O2_ROM_CHESS); device.option_add_internal("o2_homecomp", O2_ROM_HOMECOMP); device.option_add_internal("o2_test", O2_ROM_TEST); + device.option_add_internal("o2_testpl", O2_ROM_TESTPL); device.option_add_internal("o2_voice", O2_ROM_VOICE); } diff --git a/src/devices/bus/odyssey2/slot.h b/src/devices/bus/odyssey2/slot.h index ce59d0704a83c..7f57a796f9381 100644 --- a/src/devices/bus/odyssey2/slot.h +++ b/src/devices/bus/odyssey2/slot.h @@ -34,7 +34,7 @@ on Videopac+, B is used for video mixer override */ -/* PCB */ +// PCB enum { O2_STD = 0, @@ -44,6 +44,7 @@ enum O2_CHESS, O2_HOMECOMP, O2_TEST, + O2_TESTPL, O2_VOICE }; @@ -94,14 +95,14 @@ class device_o2_cart_interface : public device_interface // ======================> o2_cart_slot_device class o2_cart_slot_device : public device_t, - public device_cartrom_image_interface, - public device_single_card_slot_interface + public device_cartrom_image_interface, + public device_single_card_slot_interface { public: // construction/destruction template - o2_cart_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt) - : o2_cart_slot_device(mconfig, tag, owner, 0) + o2_cart_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt) : + o2_cart_slot_device(mconfig, tag, owner, 0) { option_reset(); opts(*this); @@ -142,9 +143,13 @@ class o2_cart_slot_device : public device_t, protected: // device_t implementation virtual void device_start() override ATTR_COLD; + virtual ioport_constructor device_input_ports() const override ATTR_COLD; +private: int m_type; device_o2_cart_interface* m_cart; + + required_ioport m_conf; int m_b; }; diff --git a/src/devices/bus/rs232/teletex800.cpp b/src/devices/bus/rs232/teletex800.cpp index ff42dce6ad317..0bde70f4f677c 100644 --- a/src/devices/bus/rs232/teletex800.cpp +++ b/src/devices/bus/rs232/teletex800.cpp @@ -10,27 +10,10 @@ #include "machine/z80ctc.h" #include "machine/z80daisy.h" #include "machine/z80sio.h" +#include "teletex800.lh" namespace { -ROM_START( teletex800 ) - ROM_REGION( 0x1000, "z80", 0 ) - ROM_LOAD( "ix44_ver1.1.u57", 0x0000, 0x1000, CRC(5c11b89c) SHA1(4911332709a8dcda12e72bcdf7a0acd58d65cbfd) ) -ROM_END - -static const z80_daisy_config z80_daisy_chain[] = -{ - { nullptr } -}; - -static void printer_devices(device_slot_interface &device) -{ - device.option_add("printer", SERIAL_PRINTER); -} - -static INPUT_PORTS_START( teletex800 ) -INPUT_PORTS_END - class teletex_800_device : public device_t, public device_rs232_port_interface { public: @@ -42,7 +25,21 @@ class teletex_800_device : public device_t, public device_rs232_port_interface m_sio(*this, "sio"), m_acia(*this, "acia"), m_pia(*this, "pia"), - m_pia_cp(*this, "pia_cp") + m_pia_cp(*this, "pia_cp"), + m_bat_led(*this, "bat_led"), + m_pr_led(*this, "pr_led"), + m_telex_led(*this, "telex_led"), + m_mem_led(*this, "mem_led"), + m_obs_led(*this, "obs_led"), + m_write_led(*this, "write_led"), + m_log_led(*this, "log_led"), + m_queue_led(*this, "queue_led"), + m_all_led(*this, "all_led"), + m_time_led(*this, "time_led"), + m_date_led(*this, "date_led"), + m_year_led(*this, "year_led"), + m_rx_digits(*this, "rx_digit%u", 0U), + m_tx_digits(*this, "tx_digit%u", 0U) { } @@ -54,6 +51,8 @@ class teletex_800_device : public device_t, public device_rs232_port_interface virtual void device_add_mconfig(machine_config &config) override { + config.set_default_layout(layout_teletex800); + // main board Z80(config, m_maincpu, XTAL(4'915'200)); m_maincpu->set_daisy_config(z80_daisy_chain); @@ -65,7 +64,7 @@ class teletex_800_device : public device_t, public device_rs232_port_interface ACIA6850(config, m_acia); PIA6821(config, m_pia); - RS232_PORT(config, "printer", printer_devices, "printer"); + RS232_PORT(config, "pr", printer_devices, "printer"); // control panel PIA6821(config, m_pia_cp); @@ -77,6 +76,24 @@ class teletex_800_device : public device_t, public device_rs232_port_interface } virtual void device_start() override + { + m_bat_led.resolve(); + m_pr_led.resolve(); + m_telex_led.resolve(); + m_mem_led.resolve(); + m_obs_led.resolve(); + m_write_led.resolve(); + m_log_led.resolve(); + m_queue_led.resolve(); + m_all_led.resolve(); + m_time_led.resolve(); + m_date_led.resolve(); + m_year_led.resolve(); + m_rx_digits.resolve(); + m_tx_digits.resolve(); + } + + virtual void device_reset() override { } @@ -88,6 +105,21 @@ class teletex_800_device : public device_t, public device_rs232_port_interface required_device m_pia; required_device m_pia_cp; + output_finder<> m_bat_led; + output_finder<> m_pr_led; + output_finder<> m_telex_led; + output_finder<> m_mem_led; + output_finder<> m_obs_led; + output_finder<> m_write_led; + output_finder<> m_log_led; + output_finder<> m_queue_led; + output_finder<> m_all_led; + output_finder<> m_time_led; + output_finder<> m_date_led; + output_finder<> m_year_led; + output_finder<2> m_rx_digits; + output_finder<2> m_tx_digits; + void program_map(address_map &map) { map(0x0000, 0x0fff).rom().region("z80", 0); @@ -96,6 +128,32 @@ class teletex_800_device : public device_t, public device_rs232_port_interface void io_map(address_map &map) { } + + constexpr static const z80_daisy_config z80_daisy_chain[] = + { + { nullptr } + }; + + static void printer_devices(device_slot_interface &device) + { + device.option_add("printer", SERIAL_PRINTER); + } + + INPUT_CHANGED_MEMBER( write ) { }; + INPUT_CHANGED_MEMBER( all ) { }; + INPUT_CHANGED_MEMBER( clock ) { }; + + static INPUT_PORTS_START( teletex800 ) + PORT_START("BTN") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("SKRIV") PORT_CHANGED_MEMBER(DEVICE_SELF, FUNC(teletex_800_device::write), 0) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("ALLA") PORT_CHANGED_MEMBER(DEVICE_SELF, FUNC(teletex_800_device::all), 0) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("KLOCK") PORT_CHANGED_MEMBER(DEVICE_SELF, FUNC(teletex_800_device::clock), 0) + INPUT_PORTS_END + + constexpr ROM_START( teletex800 ) + ROM_REGION( 0x1000, "z80", 0 ) + ROM_LOAD( "ix44_ver1.1.u57", 0x0000, 0x1000, CRC(5c11b89c) SHA1(4911332709a8dcda12e72bcdf7a0acd58d65cbfd) ) + ROM_END }; } // anonymous namespace diff --git a/src/devices/bus/sg1000_exp/sk1100.cpp b/src/devices/bus/sg1000_exp/sk1100.cpp index f65451827bdc5..f0ad03885629b 100644 --- a/src/devices/bus/sg1000_exp/sk1100.cpp +++ b/src/devices/bus/sg1000_exp/sk1100.cpp @@ -90,7 +90,7 @@ static INPUT_PORTS_START( sk1100_keys ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME(u8"\u2193") PORT_CODE(KEYCODE_DOWN) PORT_CHAR(UCHAR_MAMEKEY(DOWN)) // U+2193 = ↓ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME(u8"] \u30E0 } \u300d LIST") PORT_CODE(KEYCODE_BACKSLASH) PORT_CHAR(']', 0x30e0) PORT_CHAR('}', 0x300d) // ム 」 - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME(u8"[ \u309C { \u300c THEN") PORT_CODE(KEYCODE_CLOSEBRACE) PORT_CHAR('[', 0x309c) PORT_CHAR('{', 0x300c) // ゜ 「 + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME(u8"[ \u309C { \u300c THEN") PORT_CODE(KEYCODE_CLOSEBRACE) PORT_CHAR('[', 0x309c) PORT_CHAR('{', 0x300c) // ゜ 「 PORT_START("PA5") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME(u8"6 \u30AA & COLOR") PORT_CODE(KEYCODE_6) PORT_CHAR('6', 0x30aa) PORT_CHAR('&', 0x30a9) // オ ォ diff --git a/src/devices/bus/spectrum/neogs.cpp b/src/devices/bus/spectrum/neogs.cpp index 3a8eea7cbb014..de36a3c5fdf24 100644 --- a/src/devices/bus/spectrum/neogs.cpp +++ b/src/devices/bus/spectrum/neogs.cpp @@ -77,7 +77,8 @@ class neogs_device : public device_t, public device_zxbus_card_interface , m_ram(*this, RAM_TAG) , m_rom(*this, "maincpu") , m_bank_rom(*this, "bank_rom") - , m_bank_ram(*this, "bank_ram") + , m_bank_ram0(*this, "bank_ram0") + , m_bank_ram1(*this, "bank_ram1") , m_view(*this, "view") , m_dac(*this, "dac%u", 0U) , m_sdcard(*this, "sdcard") @@ -103,7 +104,8 @@ class neogs_device : public device_t, public device_zxbus_card_interface required_device m_ram; required_region_ptr m_rom; memory_bank_creator m_bank_rom; - memory_bank_creator m_bank_ram; + memory_bank_creator m_bank_ram0; + memory_bank_creator m_bank_ram1; memory_view m_view; required_device_array m_dac; required_device m_sdcard; @@ -153,12 +155,18 @@ class neogs_device : public device_t, public device_zxbus_card_interface void neogs_device::update_config() { - if (m_gscfg0 & 4) // EXPAG - ; - if (m_gscfg0 & 1) // NOROM { - m_bank_ram->set_entry(m_mpag % (m_ram->size() / 0x8000)); + if (BIT(m_gscfg0, 3)) // EXPAG + { + m_bank_ram0->set_entry(((m_mpag << 1) | BIT(m_mpag, 7))% (m_ram->size() / 0x4000)); + m_bank_ram1->set_entry(((m_mpagx << 1) | BIT(m_mpagx, 7)) % (m_ram->size() / 0x4000)); + } + else + { + m_bank_ram0->set_entry(((m_mpag << 1) | 0) % (m_ram->size() / 0x4000)); + m_bank_ram1->set_entry(((m_mpag << 1) | 1) % (m_ram->size() / 0x4000)); + } m_view.select(BIT(m_gscfg0, 1)); // RAMRO } else @@ -348,9 +356,11 @@ void neogs_device::map_memory(address_map &map) map(0x0000, 0xffff).view(m_view); m_view[0](0x0000, 0x3fff).rw(FUNC(neogs_device::ram_bank_r<0>), FUNC(neogs_device::ram_bank_w<0>)); - m_view[0](0x8000, 0xffff).bankrw(m_bank_ram); + m_view[0](0x8000, 0xbfff).bankrw(m_bank_ram0); + m_view[0](0xc000, 0xffff).bankrw(m_bank_ram1); m_view[1](0x0000, 0x3fff).r(FUNC(neogs_device::ram_bank_r<0>)); - m_view[1](0x8000, 0xffff).bankrw(m_bank_ram); + m_view[1](0x8000, 0xbfff).bankrw(m_bank_ram0); + m_view[1](0xc000, 0xffff).bankrw(m_bank_ram1); } void neogs_device::map_io(address_map &map) @@ -441,7 +451,8 @@ void neogs_device::device_start() m_spi_clock = timer_alloc(FUNC(neogs_device::spi_clock), this); m_bank_rom->configure_entries(0, m_rom.bytes() / 0x8000, &m_rom[0], 0x8000); - m_bank_ram->configure_entries(0, m_ram->size() / 0x8000, m_ram->pointer(), 0x8000); + m_bank_ram0->configure_entries(0, m_ram->size() / 0x4000, m_ram->pointer(), 0x4000); + m_bank_ram1->configure_entries(0, m_ram->size() / 0x4000, m_ram->pointer(), 0x4000); m_maincpu->space(AS_PROGRAM).install_read_tap(0x6000, 0x7fff, "dac_w", [this](offs_t offset, u8 &data, u8 mem_mask) @@ -456,6 +467,21 @@ void neogs_device::device_start() m_zxbus->install_device(0x0000, 0xffff, *this, &neogs_device::neogsmap); m_neogs_led.resolve(); + + save_item(NAME(m_data_in)); + save_item(NAME(m_data_out)); + save_item(NAME(m_command_in)); + save_item(NAME(m_status)); + save_item(NAME(m_spi_ctrl)); + save_item(NAME(m_spi_data_out)); + save_item(NAME(m_spi_data_in_latch)); + save_item(NAME(m_spi_clock_cycles)); + save_item(NAME(m_spi_clock_state)); + save_item(NAME(m_mpag)); + save_item(NAME(m_mpagx)); + save_item(NAME(m_gscfg0)); + save_pointer(NAME(m_vol), 6); + save_pointer(NAME(m_sample), 6); } void neogs_device::device_reset() diff --git a/src/devices/bus/vme/sys68k_cpu1.cpp b/src/devices/bus/vme/sys68k_cpu1.cpp index 090701cfb2fa9..f40eea95ed121 100644 --- a/src/devices/bus/vme/sys68k_cpu1.cpp +++ b/src/devices/bus/vme/sys68k_cpu1.cpp @@ -663,8 +663,8 @@ ioport_constructor vme_sys68k_cpu1_card_device::device_input_ports() const /* Driver */ /* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */ //COMP( 1983, fccpu1, 0, 0, fccpu1, force68k, vme_sys68k_cpu1_card_device, empty_init, "Force Computers GmbH", "SYS68K/CPU-1", MACHINE_NO_SOUND_HW ) -//COMP( 1989, fccpu6, 0, 0, fccpu6, force68k, vme_sys68k_cpu1_card_device, empty_init, "Force Computers GmbH", "SYS68K/CPU-6", MACHINE_IS_SKELETON ) -//COMP( 1989, fccpu6a, 0, 0, fccpu6a, force68k, vme_sys68k_cpu1_card_device, empty_init, "Force Computers GmbH", "SYS68K/CPU-6a", MACHINE_IS_SKELETON ) -//COMP( 1989, fccpu6v, 0, 0, fccpu6v, force68k, vme_sys68k_cpu1_card_device, empty_init, "Force Computers GmbH", "SYS68K/CPU-6v", MACHINE_IS_SKELETON ) -//COMP( 1989, fccpu6va, 0, 0, fccpu6va, force68k, vme_sys68k_cpu1_card_device, empty_init, "Force Computers GmbH", "SYS68K/CPU-6va", MACHINE_IS_SKELETON ) -//COMP( 1989, fccpu6vb, 0, 0, fccpu6vb, force68k, vme_sys68k_cpu1_card_device, empty_init, "Force Computers GmbH", "SYS68K/CPU-6vb", MACHINE_IS_SKELETON ) +//COMP( 1989, fccpu6, 0, 0, fccpu6, force68k, vme_sys68k_cpu1_card_device, empty_init, "Force Computers GmbH", "SYS68K/CPU-6", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +//COMP( 1989, fccpu6a, 0, 0, fccpu6a, force68k, vme_sys68k_cpu1_card_device, empty_init, "Force Computers GmbH", "SYS68K/CPU-6a", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +//COMP( 1989, fccpu6v, 0, 0, fccpu6v, force68k, vme_sys68k_cpu1_card_device, empty_init, "Force Computers GmbH", "SYS68K/CPU-6v", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +//COMP( 1989, fccpu6va, 0, 0, fccpu6va, force68k, vme_sys68k_cpu1_card_device, empty_init, "Force Computers GmbH", "SYS68K/CPU-6va", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +//COMP( 1989, fccpu6vb, 0, 0, fccpu6vb, force68k, vme_sys68k_cpu1_card_device, empty_init, "Force Computers GmbH", "SYS68K/CPU-6vb", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/devices/bus/vme/sys68k_iscsi.cpp b/src/devices/bus/vme/sys68k_iscsi.cpp index 2d0ee64b60578..184cc5d0643df 100644 --- a/src/devices/bus/vme/sys68k_iscsi.cpp +++ b/src/devices/bus/vme/sys68k_iscsi.cpp @@ -486,4 +486,4 @@ void vme_sys68k_iscsi1_card_device::not_implemented_w(uint8_t data){ // This info isn't kept in a card driver atm so storing it as a comment for later use // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -//COMP( 1986, fcscsi1, 0, 0, fcscsi1, fcscsi1, driver_device, 0, "Force Computers Gmbh", "SYS68K/SCSI-1", MACHINE_IS_SKELETON ) +//COMP( 1986, fcscsi1, 0, 0, fcscsi1, fcscsi1, driver_device, 0, "Force Computers Gmbh", "SYS68K/SCSI-1", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/devices/cpu/ccpu/ccpu.cpp b/src/devices/cpu/ccpu/ccpu.cpp index 6fd7cdb744fdd..367df58c595b3 100644 --- a/src/devices/cpu/ccpu/ccpu.cpp +++ b/src/devices/cpu/ccpu/ccpu.cpp @@ -22,18 +22,18 @@ DEFINE_DEVICE_TYPE(CCPU, ccpu_cpu_device, "ccpu", "Cinematronics CPU") MACROS ***************************************************************************/ -#define READOP(a) (m_cache.read_byte(a)) +#define READOP(a) (m_cache.read_byte(a)) -#define RDMEM(a) (m_data.read_word((a) & 0xfff)) -#define WRMEM(a,v) (m_data.write_word((a), (v))) +#define RDMEM(a) (m_data.read_word((a) & 0xfff)) +#define WRMEM(a,v) (m_data.write_word((a), (v))) -#define READPORT(a) (m_io.read_byte(a)) -#define WRITEPORT(a,v) (m_io.write_byte((a), (v))) +#define READPORT(a) (m_io.read_byte(a)) +#define WRITEPORT(a,v) (m_io.write_byte((a), (v))) #define SET_A0 do { m_a0flag = m_A; } while (0) -#define SET_CMP_VAL(x) do { m_cmpacc = *m_acc; m_cmpval = (x) & 0xfff; } while (0) -#define SET_NC(a) do { m_ncflag = ~(a); } while (0) -#define SET_MI(a) do { m_nextnextmiflag = (a); } while (0) +#define SET_CMP_VAL(x) do { m_cmpacc = *m_acc; m_cmpval = (x) & 0xfff; } while (0) +#define SET_NC(a) do { m_ncflag = ~(a); } while (0) +#define SET_MI(a) do { m_nextnextmiflag = (a); } while (0) #define TEST_A0 (m_a0flag & 1) #define TEST_NC ((m_ncflag >> 12) & 1) @@ -52,10 +52,10 @@ DEFINE_DEVICE_TYPE(CCPU, ccpu_cpu_device, "ccpu", "Cinematronics CPU") #define STANDARD_ACC_OP(resexp,cmpval) \ do { \ uint16_t result = resexp; \ - SET_A0; /* set the A0 bit based on the previous 'A' value */ \ - SET_CMP_VAL(cmpval); /* set the compare values to the previous accumulator and the cmpval */ \ - SET_NC(result); /* set the NC flag based on the unmasked result */ \ - *m_acc = result & 0xfff; /* store the low 12 bits of the new value */ \ + SET_A0; /* set the A0 bit based on the previous 'A' value */ \ + SET_CMP_VAL(cmpval); /* set the compare values to the previous accumulator and the cmpval */ \ + SET_NC(result); /* set the NC flag based on the unmasked result */ \ + *m_acc = result & 0xfff; /* store the low 12 bits of the new value */ \ } while (0) @@ -92,12 +92,15 @@ uint8_t ccpu_cpu_device::read_jmi() } -void ccpu_cpu_device::wdt_timer_trigger() +void ccpu_cpu_device::wdt_trigger(int state) { + if (!state) + return; + m_waiting = false; m_watchdog++; if (m_watchdog >= 3) - m_PC = 0; + device_reset(); } diff --git a/src/devices/cpu/ccpu/ccpu.h b/src/devices/cpu/ccpu/ccpu.h index f51cc9bf700fd..d5ee13d85aea1 100644 --- a/src/devices/cpu/ccpu/ccpu.h +++ b/src/devices/cpu/ccpu/ccpu.h @@ -27,7 +27,7 @@ class ccpu_cpu_device : public cpu_device // public because the cinemat driver accesses A/P/X/Y through state interace - should there be a proper public interface to read registers? enum { - CCPU_PC=1, + CCPU_PC = 1, CCPU_FLAGS, CCPU_A, CCPU_B, @@ -50,7 +50,7 @@ class ccpu_cpu_device : public cpu_device template void set_vector_func(T &&... args) { m_vector_callback.set(std::forward(args)...); } uint8_t read_jmi(); - void wdt_timer_trigger(); + void wdt_trigger(int state); protected: // device-level overrides @@ -75,27 +75,27 @@ class ccpu_cpu_device : public cpu_device address_space_config m_data_config; address_space_config m_io_config; - uint16_t m_PC; - uint16_t m_A; - uint16_t m_B; - uint8_t m_I; - uint16_t m_J; - uint8_t m_P; - uint16_t m_X; - uint16_t m_Y; - uint16_t m_T; - uint16_t * m_acc; - - uint16_t m_a0flag, m_ncflag, m_cmpacc, m_cmpval; - uint16_t m_miflag, m_nextmiflag, m_nextnextmiflag; - uint16_t m_drflag; - - devcb_read8 m_external_input; - vector_delegate m_vector_callback; - - uint8_t m_waiting; - uint8_t m_watchdog; - uint8_t m_extinput; + uint16_t m_PC; + uint16_t m_A; + uint16_t m_B; + uint8_t m_I; + uint16_t m_J; + uint8_t m_P; + uint16_t m_X; + uint16_t m_Y; + uint16_t m_T; + uint16_t * m_acc; + + uint16_t m_a0flag, m_ncflag, m_cmpacc, m_cmpval; + uint16_t m_miflag, m_nextmiflag, m_nextnextmiflag; + uint16_t m_drflag; + + devcb_read8 m_external_input; + vector_delegate m_vector_callback; + + uint8_t m_waiting; + uint8_t m_watchdog; + uint8_t m_extinput; int m_icount; diff --git a/src/devices/cpu/e0c6200/e0c6200.cpp b/src/devices/cpu/e0c6200/e0c6200.cpp index e8c8852af9c96..83c3eec704bd2 100644 --- a/src/devices/cpu/e0c6200/e0c6200.cpp +++ b/src/devices/cpu/e0c6200/e0c6200.cpp @@ -4,17 +4,17 @@ Seiko Epson E0C6200 CPU core and E0C62 MCU family - References: - - 1998 MF297-06a E0C6200/E0C6200A Core CPU Manual - - 1998 MF1049-01a E0C6S46 Technical Manual +References: +- 1998 MF297-06a E0C6200/E0C6200A Core CPU Manual +- 1998 MF1049-01a E0C6S46 Technical Manual - E0C6200 is a CPU core used as the basis of many chips, it is not standalone. - Seiko Epson often changed prefixes of their device names. Depending on when, - the E0C6200 is known as SMC6200, E0C6200, S1C6200. +E0C6200 is a CPU core used as the basis of many chips, it is not standalone. +Seiko Epson often changed prefixes of their device names. Depending on when, +the E0C6200 is known as SMC6200, E0C6200, S1C6200. - TODO: - - RLC is part of the r,q opcodes and requires that r == q, what happens otherwise? - - documentation is conflicting on whether or not the zero flag is set on RLC/RRC +TODO: +- RLC is part of the r,q opcodes and requires that r == q, what happens otherwise? +- documentation is conflicting on whether or not the zero flag is set on RLC/RRC */ @@ -839,7 +839,7 @@ void e0c6200_cpu_device::execute_one() // illegal opcode default: - logerror("unknown opcode $%03X at $%04X\n", m_op, m_prev_pc); + op_illegal(); break; } // 0xff0 diff --git a/src/devices/cpu/e0c6200/e0c6200.h b/src/devices/cpu/e0c6200/e0c6200.h index 0024092e02ad7..58c4769d55c3e 100644 --- a/src/devices/cpu/e0c6200/e0c6200.h +++ b/src/devices/cpu/e0c6200/e0c6200.h @@ -91,6 +91,7 @@ class e0c6200_cpu_device : public cpu_device void inc_x(); void inc_y(); void do_branch(int condition = 1); + void op_illegal(); // opcode handlers u8 op_inc(u8 x); diff --git a/src/devices/cpu/e0c6200/e0c6200op.cpp b/src/devices/cpu/e0c6200/e0c6200op.cpp index 93ab8011f7d86..d637c3cb3121a 100644 --- a/src/devices/cpu/e0c6200/e0c6200op.cpp +++ b/src/devices/cpu/e0c6200/e0c6200op.cpp @@ -116,6 +116,11 @@ void e0c6200_cpu_device::do_branch(int condition) m_pc = m_jpc | (m_op & 0xff); } +void e0c6200_cpu_device::op_illegal() +{ + logerror("unknown opcode $%03X at $%04X\n", m_op, m_prev_pc); +} + // common opcodes (simpler ones are handled directly) // note: it is implied that all opcodes below except RRC take 7 clock cycles (5 already deducted) diff --git a/src/devices/cpu/e0c6200/e0c6s46.cpp b/src/devices/cpu/e0c6200/e0c6s46.cpp index fcc9ac6c5cfcf..02b8d25faca53 100644 --- a/src/devices/cpu/e0c6200/e0c6s46.cpp +++ b/src/devices/cpu/e0c6200/e0c6s46.cpp @@ -2,16 +2,18 @@ // copyright-holders:hap /* - Seiko Epson E0C6S46 MCU - QFP5-128pin, see manual for pinout + Seiko Epson E0C6S46 family - TODO: - - OSC3 - - K input interrupts - - finish i/o ports - - serial interface - - buzzer envelope addition - - add mask options for ports (eg. buzzer on output port R4x is optional) +E0C6S46: 6144x12 ROM, 640x4 RAM, 2*80x4 VRAM, LCD has 16 commons and 40 segments +E0C6S48: 8192x12 ROM, 768x4 RAM, 2*102x4 VRAM, LCD has 16 commons and 51 segments + +TODO: +- finish i/o ports +- serial interface +- buzzer envelope addition +- what happens if OSC3 is selected while OSCC (bit 2) is low? +- K input interrupt can trigger if input is active while writing to the mask register +- add mask options for ports (eg. buzzer on output port R4x is optional) */ @@ -28,36 +30,59 @@ enum IRQREG_INPUT1 }; +// device definitions DEFINE_DEVICE_TYPE(E0C6S46, e0c6s46_device, "e0c6s46", "Seiko Epson E0C6S46") +DEFINE_DEVICE_TYPE(E0C6S48, e0c6s48_device, "e0c6s48", "Seiko Epson E0C6S48") // internal memory maps -void e0c6s46_device::e0c6s46_program(address_map &map) +void e0c6s46_device::program_map(address_map &map) { map(0x0000, 0x17ff).rom(); } +void e0c6s48_device::program_map(address_map &map) +{ + map(0x0000, 0x1fff).rom(); +} -void e0c6s46_device::e0c6s46_data(address_map &map) +void e0c6s46_device::data_map(address_map &map) { map(0x0000, 0x027f).ram(); - map(0x0e00, 0x0e4f).ram().share("vram1"); - map(0x0e80, 0x0ecf).ram().share("vram2"); + map(0x0e00, 0x0e4f).ram().share(m_vram[0]); + map(0x0e80, 0x0ecf).ram().share(m_vram[1]); map(0x0f00, 0x0f7f).rw(FUNC(e0c6s46_device::io_r), FUNC(e0c6s46_device::io_w)); } +void e0c6s48_device::data_map(address_map &map) +{ + map(0x0000, 0x02ff).ram(); + map(0x0e00, 0x0e65).ram().share(m_vram[0]); + map(0x0e80, 0x0ee5).ram().share(m_vram[1]); + map(0x0f00, 0x0f7f).rw(FUNC(e0c6s48_device::io_r), FUNC(e0c6s48_device::io_w)); +} -// device definitions -e0c6s46_device::e0c6s46_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : - e0c6200_cpu_device(mconfig, E0C6S46, tag, owner, clock, address_map_constructor(FUNC(e0c6s46_device::e0c6s46_program), this), address_map_constructor(FUNC(e0c6s46_device::e0c6s46_data), this)), - m_vram1(*this, "vram1"), - m_vram2(*this, "vram2"), - m_pixel_update_cb(*this), + +// constructor +e0c6s46_device::e0c6s46_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, address_map_constructor program, address_map_constructor data) : + e0c6200_cpu_device(mconfig, type, tag, owner, clock, program, data), + m_vram(*this, "vram%u", 1U), + m_write_segs(*this), + m_write_contrast(*this), + m_pixel_cb(*this), m_write_r(*this), m_read_p(*this, 0), - m_write_p(*this) + m_write_p(*this), + m_osc3(0) { } +e0c6s46_device::e0c6s46_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : + e0c6s46_device(mconfig, E0C6S46, tag, owner, clock, address_map_constructor(FUNC(e0c6s46_device::program_map), this), address_map_constructor(FUNC(e0c6s46_device::data_map), this)) +{ } + +e0c6s48_device::e0c6s48_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : + e0c6s46_device(mconfig, E0C6S48, tag, owner, clock, address_map_constructor(FUNC(e0c6s48_device::program_map), this), address_map_constructor(FUNC(e0c6s48_device::data_map), this)) +{ } //------------------------------------------------- @@ -68,15 +93,24 @@ void e0c6s46_device::device_start() { e0c6200_cpu_device::device_start(); - m_pixel_update_cb.resolve(); + // misc init + m_osc1 = clock(); + if (m_osc3 == 0) + m_osc3 = m_osc1; - // create timers m_core_256_handle = timer_alloc(FUNC(e0c6s46_device::core_256_cb), this); - m_core_256_handle->adjust(attotime::from_ticks(64, unscaled_clock())); + m_core_256_handle->adjust(attotime::from_ticks(64, m_osc1)); m_prgtimer_handle = timer_alloc(FUNC(e0c6s46_device::prgtimer_cb), this); - m_prgtimer_handle->adjust(attotime::never); m_buzzer_handle = timer_alloc(FUNC(e0c6s46_device::buzzer_cb), this); - m_buzzer_handle->adjust(attotime::never); + m_osc_change = timer_alloc(FUNC(e0c6s46_device::osc_change), this); + m_lcd_driver = timer_alloc(FUNC(e0c6s46_device::lcd_driver_cb), this); + m_lcd_driver->adjust(attotime::from_ticks(1024, m_osc1)); + + m_pixel_cb.resolve(); + + const u32 render_buf_size = m_vram[0].bytes() * 2 * 4; + m_render_buf = make_unique_clear(render_buf_size); + save_pointer(NAME(m_render_buf), render_buf_size); // zerofill memset(m_port_r, 0x0, sizeof(m_port_r)); @@ -195,6 +229,8 @@ void e0c6s46_device::device_reset() m_data->write_byte(0xf7d, 0x0); m_data->write_byte(0xf7e, 0x0); + m_write_contrast(m_lcd_contrast); + // reset ports for (int i = 0; i < 5; i++) write_r(i, m_port_r[i]); @@ -212,9 +248,9 @@ void e0c6s46_device::execute_one() { // E0C6S46 has no support for SLP opcode if (m_op == 0xff9) - return; - - e0c6200_cpu_device::execute_one(); + op_illegal(); + else + e0c6200_cpu_device::execute_one(); } @@ -268,7 +304,17 @@ void e0c6s46_device::execute_set_input(int line, int state) int port = line >> 2 & 1; u8 bit = 1 << (line & 3); + u8 prev = m_port_k[port]; m_port_k[port] = (m_port_k[port] & ~bit) | (state ? bit : 0); + + // set interrupt on falling/rising edge of input + u8 dfk = (port == 0) ? m_dfk0 : 0xf; + u8 edge = ~(prev ^ dfk) & (m_port_k[port] ^ dfk) & bit; + if (m_irqmask[IRQREG_INPUT0 + port] & edge) + { + m_irqflag[IRQREG_INPUT0 + port] |= edge; + m_possible_irq = true; + } } @@ -353,7 +399,7 @@ TIMER_CALLBACK_MEMBER(e0c6s46_device::core_256_cb) // clock-timer, stopwatch timer, and some features of the buzzer all run // from the same internal 256hz timer (64 ticks high+low at default clock of 32768hz) m_256_src_pulse ^= 1; - m_core_256_handle->adjust(attotime::from_ticks(64, unscaled_clock())); + m_core_256_handle->adjust(attotime::from_ticks(64, m_osc1)); // clock stopwatch on falling edge of pulse+on m_swl_cur_pulse = m_256_src_pulse | (m_stopwatch_on ^ 1); @@ -370,6 +416,12 @@ TIMER_CALLBACK_MEMBER(e0c6s46_device::core_256_cb) clock_clktimer(); } +TIMER_CALLBACK_MEMBER(e0c6s46_device::osc_change) +{ + // set MCU instruction clock on CLKCHG change + set_clock((m_osc & 8) ? m_osc3 : m_osc1); +} + // clock-timer @@ -463,7 +515,7 @@ bool e0c6s46_device::prgtimer_reset_prescaler() // only 2 to 7 are clock dividers u8 sel = m_prgtimer_select & 7; if (sel >= 2) - m_prgtimer_handle->adjust(attotime::from_ticks(2 << (sel ^ 7), unscaled_clock())); + m_prgtimer_handle->adjust(attotime::from_ticks(2 << (sel ^ 7), m_osc1)); return (sel >= 2); } @@ -501,7 +553,7 @@ void e0c6s46_device::schedule_buzzer() high -= m_bz_duty_ratio; low -= high; - m_buzzer_handle->adjust(attotime::from_ticks(m_bz_pulse ? high : low, mul * unscaled_clock())); + m_buzzer_handle->adjust(attotime::from_ticks(m_bz_pulse ? high : low, mul * m_osc1)); } TIMER_CALLBACK_MEMBER(e0c6s46_device::buzzer_cb) @@ -545,13 +597,11 @@ void e0c6s46_device::clock_bz_1shot() // LCD Driver //------------------------------------------------- -u32 e0c6s46_device::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +TIMER_CALLBACK_MEMBER(e0c6s46_device::lcd_driver_cb) { - // call this 32 times per second (osc1/1024: 32hz at default clock of 32768hz) + // this gets called 32 times per second (osc1/1024: 32hz at default clock of 32768hz) for (int bank = 0; bank < 2; bank++) { - const u8* vram = bank ? m_vram2 : m_vram1; - // determine operating mode bool lcd_on = false; int pixel = 0; @@ -563,25 +613,47 @@ u32 e0c6s46_device::screen_update(screen_device &screen, bitmap_ind16 &bitmap, c lcd_on = true; // draw pixels - for (int offset = 0; offset < 0x50; offset++) + for (int offset = 0; offset < m_vram[0].bytes(); offset++) { for (int c = 0; c < 4; c++) { if (lcd_on) - pixel = vram[offset] >> c & 1; + pixel = m_vram[bank][offset] >> c & 1; // 16 COM(common) pins, 40 SEG(segment) pins int seg = offset / 2; int com = bank * 8 + (offset & 1) * 4 + c; - if (!m_pixel_update_cb.isnull()) - m_pixel_update_cb(bitmap, cliprect, m_lcd_contrast, seg, com, pixel); - else if (cliprect.contains(seg, com)) - bitmap.pix(com, seg) = pixel; + const u8 width = m_vram[0].bytes() * 4 / 8; + m_render_buf[com * width + seg] = pixel; + m_write_segs(seg << 4 | com, pixel); } } } + m_lcd_driver->adjust(attotime::from_ticks(1024, m_osc1)); +} + +u32 e0c6s46_device::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +{ + const u8 *src = lcd_buffer(); + const u8 width = m_vram[0].bytes() * 4 / 8; + + for (int x = 0; x < width; x++) + { + for (int y = 0; y < 16; y++) + { + int dx = x; + int dy = y; + + if (!m_pixel_cb.isnull()) + m_pixel_cb(dx, dy); + + if (cliprect.contains(dx, dy)) + bitmap.pix(dy, dx) = src[y * width + x]; + } + } + return 0; } @@ -745,8 +817,13 @@ void e0c6s46_device::io_w(offs_t offset, u8 data) // d0,d1: CPU operating voltage // d2: OSC3 on (high freq) // d3: clock source OSC1 or OSC3 - if (data & 8) - logerror("io_w selected OSC3! PC=$%04X\n", m_prev_pc); + if ((m_osc ^ data) & 8) + { + if (m_osc1 == m_osc3) + logerror("io_w unhandled OSC change, PC=$%04X\n", m_prev_pc); + else + m_osc_change->adjust(attotime::zero); + } m_osc = data; break; @@ -760,6 +837,7 @@ void e0c6s46_device::io_w(offs_t offset, u8 data) case 0x72: // contrast adjustment (0=light, 15=dark) m_lcd_contrast = data; + m_write_contrast(data); break; // SVD circuit (supply voltage detection) diff --git a/src/devices/cpu/e0c6200/e0c6s46.h b/src/devices/cpu/e0c6200/e0c6s46.h index 3f1e09e6c9e3f..e0b7148423e40 100644 --- a/src/devices/cpu/e0c6200/e0c6s46.h +++ b/src/devices/cpu/e0c6200/e0c6s46.h @@ -2,7 +2,7 @@ // copyright-holders:hap /* - Seiko Epson E0C6S46 MCU + Seiko Epson E0C6S46 family */ @@ -11,6 +11,19 @@ #include "e0c6200.h" +// for the 2 K input ports, use set_input_line(line, state) +enum +{ + E0C6S46_LINE_K00 = 0, + E0C6S46_LINE_K01, + E0C6S46_LINE_K02, + E0C6S46_LINE_K03, + E0C6S46_LINE_K10, + E0C6S46_LINE_K11, + E0C6S46_LINE_K12, + E0C6S46_LINE_K13 +}; + enum { E0C6S46_PORT_R0X = 0, @@ -28,28 +41,13 @@ enum E0C6S46_PORT_P3X }; -// for the 2 K input ports, use set_input_line(line, state) -enum -{ - E0C6S46_LINE_K00 = 0, - E0C6S46_LINE_K01, - E0C6S46_LINE_K02, - E0C6S46_LINE_K03, - E0C6S46_LINE_K10, - E0C6S46_LINE_K11, - E0C6S46_LINE_K12, - E0C6S46_LINE_K13 -}; - - -// lcd driver -#define E0C6S46_PIXEL_UPDATE(name) void name(bitmap_ind16 &bitmap, const rectangle &cliprect, int contrast, int seg, int com, int state) +// no pinout diagram here, refer to the manual class e0c6s46_device : public e0c6200_cpu_device { public: - typedef device_delegate pixel_update_delegate; + using pixel_delegate = device_delegate; e0c6s46_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); @@ -60,14 +58,24 @@ class e0c6s46_device : public e0c6200_cpu_device template auto read_p() { return m_read_p[Port].bind(); } template auto write_p() { return m_write_p[Port].bind(); } - template void set_pixel_update_cb(T &&... args) { m_pixel_update_cb.set(std::forward(args)...); } + // LCD segment outputs: COM0-COM15 as a0-a3, SEG0-SEGx as a4-a10 + auto write_segs() { return m_write_segs.bind(); } - u8 io_r(offs_t offset); - void io_w(offs_t offset, u8 data); + // LCD contrast (adjusts VL pins overall voltage level) + auto write_contrast() { return m_write_contrast.bind(); } + // screen update (optional) + const u8 *lcd_buffer() { return &m_render_buf[0]; } // get intermediate LCD pixel buffer u32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + template void set_pixel_callback(T &&... args) { m_pixel_cb.set(std::forward(args)...); } // transform pixel x/y + + // OSC3 (set fast oscillator, via resistor) + void set_osc3(u32 osc) { m_osc3 = osc; } + protected: + e0c6s46_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, address_map_constructor program, address_map_constructor data); + // device-level overrides virtual void device_start() override ATTR_COLD; virtual void device_reset() override ATTR_COLD; @@ -77,21 +85,31 @@ class e0c6s46_device : public e0c6200_cpu_device virtual void execute_one() override; virtual bool check_interrupt() override; - void e0c6s46_data(address_map &map) ATTR_COLD; - void e0c6s46_program(address_map &map) ATTR_COLD; + u8 io_r(offs_t offset); + void io_w(offs_t offset, u8 data); + + required_shared_ptr_array m_vram; private: - required_shared_ptr m_vram1; - required_shared_ptr m_vram2; + void program_map(address_map &map) ATTR_COLD; + void data_map(address_map &map) ATTR_COLD; u8 m_irqflag[6]; u8 m_irqmask[6]; u8 m_osc; u8 m_svd; + // lcd driver u8 m_lcd_control; u8 m_lcd_contrast; - pixel_update_delegate m_pixel_update_cb; + devcb_write8 m_write_segs; + devcb_write8 m_write_contrast; + + emu_timer *m_lcd_driver; + TIMER_CALLBACK_MEMBER(lcd_driver_cb); + + std::unique_ptr m_render_buf; + pixel_delegate m_pixel_cb; // i/o ports devcb_write8::array<5> m_write_r; @@ -151,9 +169,25 @@ class e0c6s46_device : public e0c6200_cpu_device void schedule_buzzer(); void reset_buzzer(); void clock_bz_1shot(); + + u32 m_osc1; + u32 m_osc3; + emu_timer *m_osc_change; + TIMER_CALLBACK_MEMBER(osc_change); +}; + +class e0c6s48_device : public e0c6s46_device +{ +public: + e0c6s48_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + +private: + void program_map(address_map &map) ATTR_COLD; + void data_map(address_map &map) ATTR_COLD; }; DECLARE_DEVICE_TYPE(E0C6S46, e0c6s46_device) +DECLARE_DEVICE_TYPE(E0C6S48, e0c6s48_device) #endif // MAME_CPU_E0C6200_E0C6S46_H diff --git a/src/devices/cpu/e132xs/e132xsdrc_ops.hxx b/src/devices/cpu/e132xs/e132xsdrc_ops.hxx index 82f915354e970..5b5b88fb74879 100644 --- a/src/devices/cpu/e132xs/e132xsdrc_ops.hxx +++ b/src/devices/cpu/e132xs/e132xsdrc_ops.hxx @@ -665,6 +665,7 @@ void hyperstone_device::generate_divsu(drcuml_block &block, compiler_state &comp { UML_DTEST(block, I1, 0x8000000000000000LL); UML_JMPc(block, uml::COND_NZ, no_result); + UML_DSEXT(block, I0, I0, SIZE_DWORD); } if (SIGNED) diff --git a/src/devices/cpu/h8/h8_dma.cpp b/src/devices/cpu/h8/h8_dma.cpp index 3edb36c70e05b..9ba510fff068e 100644 --- a/src/devices/cpu/h8/h8_dma.cpp +++ b/src/devices/cpu/h8/h8_dma.cpp @@ -79,7 +79,7 @@ void h8gen_dma_device::start_stop_test() } else { if(m_dmach[i >> 1] && (m_dmach[i >> 1]->m_state[i & 1].m_flags & h8_dma_state::ACTIVE)) { logerror("forced abort %d\n", i); - exit(0); + m_dmach[i >> 1]->abort(i & 1); } } } diff --git a/src/devices/cpu/h8/h8_dma.h b/src/devices/cpu/h8/h8_dma.h index 0a4426cf29e6d..6a6dc246cb602 100644 --- a/src/devices/cpu/h8/h8_dma.h +++ b/src/devices/cpu/h8/h8_dma.h @@ -181,6 +181,7 @@ class h8gen_dma_channel_device : public device_t { bool transfer_test_interrupt(int vector); void set_dreq(int state); void start(int submodule); + void abort(int submodule) { dma_done(submodule); } protected: required_device m_cpu; diff --git a/src/devices/cpu/i86/i286.cpp b/src/devices/cpu/i86/i286.cpp index b18abd01f8920..bfe4dc7c72831 100644 --- a/src/devices/cpu/i86/i286.cpp +++ b/src/devices/cpu/i86/i286.cpp @@ -384,21 +384,16 @@ void i80286_cpu_device::execute_set_input(int inptnum, int state) { if(inptnum == INPUT_LINE_NMI) { - if(m_nmi_state == state) - { - return; - } - m_nmi_state = state; - if(state != CLEAR_LINE) + if(!m_nmi_state && state) { m_pending_irq |= NMI_IRQ; } + m_nmi_state = state; } else if(inptnum == INPUT_LINE_A20) m_amask = m_a20_callback(state); else { - m_irq_state = state; if(state == CLEAR_LINE) { m_pending_irq &= ~INT_IRQ; @@ -760,7 +755,7 @@ void i80286_cpu_device::code_descriptor(uint16_t selector, uint16_t offset, int throw TRAP(FAULT_GP, IDXTBL(selector)); if(!PRES(r)) - throw TRAP(FAULT_NP, IDXTBL(selector)); // this order is important + throw TRAP(FAULT_NP, IDXTBL(selector)); // this order is important if(offset > LIMIT(desc)) throw TRAP(FAULT_GP, 0); @@ -774,7 +769,8 @@ void i80286_cpu_device::code_descriptor(uint16_t selector, uint16_t offset, int m_prev_ip = m_ip = offset; } else - { // systemdescriptor + { + // systemdescriptor uint16_t gatesel = GATESEL(desc); if(!gate) diff --git a/src/devices/cpu/i86/i86.cpp b/src/devices/cpu/i86/i86.cpp index 55f6de6b45832..9d6ca4cf384e8 100644 --- a/src/devices/cpu/i86/i86.cpp +++ b/src/devices/cpu/i86/i86.cpp @@ -367,7 +367,6 @@ i8086_common_cpu_device::i8086_common_cpu_device(const machine_config &mconfig, , m_int_vector(0) , m_pending_irq(0) , m_nmi_state(0) - , m_irq_state(0) , m_test_state(1) , m_pc(0) , m_lock(false) @@ -489,7 +488,6 @@ void i8086_common_cpu_device::device_start() save_item(NAME(m_int_vector)); save_item(NAME(m_pending_irq)); save_item(NAME(m_nmi_state)); - save_item(NAME(m_irq_state)); save_item(NAME(m_AuxVal)); save_item(NAME(m_OverVal)); save_item(NAME(m_ZeroVal)); @@ -555,9 +553,7 @@ void i8086_common_cpu_device::device_reset() m_NT = 1; // 8086 NT always 1 m_MF = 1; // 8086 MF always 1, 80286 always 0 m_int_vector = 0; - m_pending_irq = 0; - m_nmi_state = 0; - m_irq_state = 0; + m_pending_irq &= INT_IRQ; m_no_interrupt = 0; m_fire_trap = 0; m_prefix_seg = 0; @@ -577,7 +573,7 @@ void i8086_common_cpu_device::device_reset() void i8086_common_cpu_device::interrupt(int int_num, int trap) { - PUSH( CompressFlags() ); + PUSH(CompressFlags()); m_TF = m_IF = 0; if (int_num == -1) @@ -599,15 +595,11 @@ void i8086_common_cpu_device::execute_set_input( int inptnum, int state ) { if (inptnum == INPUT_LINE_NMI) { - if ( m_nmi_state == state ) - { - return; - } - m_nmi_state = state; - if (state != CLEAR_LINE) + if (!m_nmi_state && state) { m_pending_irq |= NMI_IRQ; } + m_nmi_state = state; } else if (inptnum == INPUT_LINE_TEST) { @@ -615,7 +607,6 @@ void i8086_common_cpu_device::execute_set_input( int inptnum, int state ) } else { - m_irq_state = state; if (state == CLEAR_LINE) { m_pending_irq &= ~INT_IRQ; diff --git a/src/devices/cpu/i86/i86.h b/src/devices/cpu/i86/i86.h index 5f67265638ea9..3ceb94f672d29 100644 --- a/src/devices/cpu/i86/i86.h +++ b/src/devices/cpu/i86/i86.h @@ -290,7 +290,6 @@ class i8086_common_cpu_device : public cpu_device, public i386_disassembler::con uint32_t m_int_vector; uint32_t m_pending_irq; uint32_t m_nmi_state; - uint32_t m_irq_state; uint8_t m_no_interrupt; uint8_t m_fire_trap; uint8_t m_test_state; diff --git a/src/devices/cpu/i960/i960.cpp b/src/devices/cpu/i960/i960.cpp index 1038451bc3a40..7d31ad031bf63 100644 --- a/src/devices/cpu/i960/i960.cpp +++ b/src/devices/cpu/i960/i960.cpp @@ -1538,7 +1538,7 @@ void i960_cpu_device::execute_op(uint32_t opcode) t1 = get_1_ri(opcode); t2 = get_2_ri(opcode); - set_ri64(opcode, mul_32x32(t1, t2)); + set_ri64(opcode, mulu_32x32(t1, t2)); break; case 0x1: // ediv diff --git a/src/devices/cpu/m6502/dm65c02.lst b/src/devices/cpu/m6502/dw65c02.lst similarity index 99% rename from src/devices/cpu/m6502/dm65c02.lst rename to src/devices/cpu/m6502/dw65c02.lst index cb76456593b22..d253cfa2774cd 100644 --- a/src/devices/cpu/m6502/dm65c02.lst +++ b/src/devices/cpu/m6502/dw65c02.lst @@ -1,6 +1,6 @@ # license:BSD-3-Clause # copyright-holders:Olivier Galibert -# m65c02 +# w65c02 brk_c_imp ora_idx nop_imm nop_c_imp tsb_zpg ora_zpg asl_c_zpg nop_c_imp php_imp ora_imm asl_acc nop_c_imp tsb_aba ora_aba asl_c_aba nop_c_imp bpl_rel ora_idy ora_zpi nop_c_imp trb_zpg ora_zpx asl_c_zpx nop_c_imp clc_imp ora_aby inc_acc nop_c_imp trb_aba ora_abx asl_c_abx nop_c_imp jsr_adr and_idx nop_imm nop_c_imp bit_zpg and_zpg rol_c_zpg nop_c_imp plp_imp and_imm rol_acc nop_c_imp bit_aba and_aba rol_c_aba nop_c_imp diff --git a/src/devices/cpu/m6502/g65sc02.cpp b/src/devices/cpu/m6502/g65sc02.cpp new file mode 100644 index 0000000000000..e9e62cd488032 --- /dev/null +++ b/src/devices/cpu/m6502/g65sc02.cpp @@ -0,0 +1,46 @@ +// license:BSD-3-Clause +// copyright-holders:Olivier Galibert +/*************************************************************************** + + g65sc02.cpp + + 65c02 with internal static registers, making clock stoppable? + + TODO: + - none of the CPU type differences are currently emulated (eg. BE pin, ML pin), + are any of them meaningful to MAME? + +***************************************************************************/ + +#include "emu.h" +#include "g65sc02.h" + +DEFINE_DEVICE_TYPE(G65SC02, g65sc02_device, "g65sc02", "GTE G65SC02") +DEFINE_DEVICE_TYPE(G65SC12, g65sc12_device, "g65sc12", "GTE G65SC12") +DEFINE_DEVICE_TYPE(G65SC102, g65sc102_device, "g65sc102", "GTE G65SC102") +DEFINE_DEVICE_TYPE(G65SC112, g65sc112_device, "g65sc112", "GTE G65SC112") + +g65sc02_device::g65sc02_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : + w65c02_device(mconfig, type, tag, owner, clock) +{ +} + +g65sc02_device::g65sc02_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + g65sc02_device(mconfig, G65SC02, tag, owner, clock) +{ +} + +g65sc12_device::g65sc12_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + g65sc02_device(mconfig, G65SC12, tag, owner, clock) +{ +} + +g65sc102_device::g65sc102_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + g65sc02_device(mconfig, G65SC102, tag, owner, clock) +{ +} + +g65sc112_device::g65sc112_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + g65sc02_device(mconfig, G65SC112, tag, owner, clock) +{ +} diff --git a/src/devices/cpu/m6502/g65sc02.h b/src/devices/cpu/m6502/g65sc02.h new file mode 100644 index 0000000000000..e98f068b60d89 --- /dev/null +++ b/src/devices/cpu/m6502/g65sc02.h @@ -0,0 +1,54 @@ +// license:BSD-3-Clause +// copyright-holders:Olivier Galibert +/*************************************************************************** + + g65sc02.h + + 65c02 with internal static registers, making clock stoppable? + +***************************************************************************/ + +#ifndef MAME_CPU_M6502_G65SC02_H +#define MAME_CPU_M6502_G65SC02_H + +#include "w65c02.h" + +class g65sc02_device : public w65c02_device { +public: + g65sc02_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + +protected: + g65sc02_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); +}; + +class g65sc12_device : public g65sc02_device { +public: + g65sc12_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); +}; + +class g65sc102_device : public g65sc02_device { +public: + g65sc102_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + +protected: + virtual uint64_t execute_clocks_to_cycles(uint64_t clocks) const noexcept override { return (clocks + 4 - 1) / 4; } + virtual uint64_t execute_cycles_to_clocks(uint64_t cycles) const noexcept override { return (cycles * 4); } +}; + +class g65sc112_device : public g65sc02_device { +public: + g65sc112_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); +}; + +enum { + G65SC02_IRQ_LINE = m6502_device::IRQ_LINE, + G65SC02_NMI_LINE = m6502_device::NMI_LINE, + G65SC02_SET_OVERFLOW = m6502_device::V_LINE +}; + +DECLARE_DEVICE_TYPE(G65SC02, g65sc02_device) +DECLARE_DEVICE_TYPE(G65SC12, g65sc12_device) +DECLARE_DEVICE_TYPE(G65SC102, g65sc102_device) +DECLARE_DEVICE_TYPE(G65SC112, g65sc112_device) + +#endif // MAME_CPU_M6502_G65SC02_H diff --git a/src/devices/cpu/m6502/gew12.cpp b/src/devices/cpu/m6502/gew12.cpp index b087b18f43dae..2459bb1351785 100644 --- a/src/devices/cpu/m6502/gew12.cpp +++ b/src/devices/cpu/m6502/gew12.cpp @@ -19,7 +19,7 @@ DEFINE_DEVICE_TYPE(GEW12, gew12_device, "gew12", "Yamaha YMW728-F (GEW12)") gew12_device::gew12_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) - : m6502_mcu_device_base(mconfig, GEW12, tag, owner, clock) + : m6502_mcu_device_base(mconfig, GEW12, tag, owner, clock) , device_mixer_interface(mconfig, *this, 2) , m_in_cb(*this, 0xff), m_out_cb(*this) , m_rom(*this, DEVICE_SELF) @@ -36,7 +36,7 @@ void gew12_device::device_add_mconfig(machine_config &config) void gew12_device::device_start() { - m65c02_device::device_start(); + w65c02_device::device_start(); m_bank_mask = device_generic_cart_interface::map_non_power_of_two( unsigned(m_rom->bytes() >> 14), @@ -61,7 +61,7 @@ void gew12_device::device_start() void gew12_device::device_reset() { - m6502_mcu_device_base::device_reset(); + m6502_mcu_device_base::device_reset(); internal_update(); m_irq_pending = 0; @@ -142,9 +142,9 @@ void gew12_device::internal_irq(int num, int state) void gew12_device::irq_update() { if (m_irq_pending & m_irq_enable) - set_input_line(M65C02_IRQ_LINE, ASSERT_LINE); + set_input_line(W65C02_IRQ_LINE, ASSERT_LINE); else - set_input_line(M65C02_IRQ_LINE, CLEAR_LINE); + set_input_line(W65C02_IRQ_LINE, CLEAR_LINE); } diff --git a/src/devices/cpu/m6502/gew12.h b/src/devices/cpu/m6502/gew12.h index bc4f2a8ac59b8..101116c69031d 100644 --- a/src/devices/cpu/m6502/gew12.h +++ b/src/devices/cpu/m6502/gew12.h @@ -11,9 +11,9 @@ #define MAME_CPU_M6502_GEW12_H #include "m6502mcu.h" -#include "m65c02.h" +#include "w65c02.h" -class gew12_device : public m6502_mcu_device_base, public device_mixer_interface { +class gew12_device : public m6502_mcu_device_base, public device_mixer_interface { public: gew12_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); @@ -27,7 +27,7 @@ class gew12_device : public m6502_mcu_device_base, public device_ virtual void device_reset() override ATTR_COLD; virtual void internal_update(u64 current_time) override; - using m6502_mcu_device_base::internal_update; + using m6502_mcu_device_base::internal_update; enum { diff --git a/src/devices/cpu/m6502/gew7.cpp b/src/devices/cpu/m6502/gew7.cpp index 7fd85ad253861..2594a2166efc6 100644 --- a/src/devices/cpu/m6502/gew7.cpp +++ b/src/devices/cpu/m6502/gew7.cpp @@ -19,7 +19,7 @@ DEFINE_DEVICE_TYPE(GEW7, gew7_device, "gew7", "Yamaha YMW270-F (GEW7)") gew7_device::gew7_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) - : m6502_mcu_device_base(mconfig, GEW7, tag, owner, clock) + : m6502_mcu_device_base(mconfig, GEW7, tag, owner, clock) , device_mixer_interface(mconfig, *this, 2) , m_in_cb(*this, 0xff), m_out_cb(*this) , m_rom(*this, DEVICE_SELF) @@ -43,7 +43,7 @@ void gew7_device::device_add_mconfig(machine_config &config) void gew7_device::device_start() { - m6502_mcu_device_base::device_start(); + m6502_mcu_device_base::device_start(); m_bank_mask = device_generic_cart_interface::map_non_power_of_two( unsigned(m_rom->bytes() >> 14), @@ -68,7 +68,7 @@ void gew7_device::device_start() void gew7_device::device_reset() { - m6502_mcu_device_base::device_reset(); + m6502_mcu_device_base::device_reset(); internal_update(); m_timer_stat = m_timer_en = 0; @@ -117,7 +117,7 @@ void gew7_device::timer_stat_w(u8 data) m_timer_stat &= ~data; if (!(m_timer_stat & 3)) - set_input_line(M65C02_IRQ_LINE, CLEAR_LINE); + set_input_line(W65C02_IRQ_LINE, CLEAR_LINE); internal_update(); } @@ -165,7 +165,7 @@ u64 gew7_device::timer_update(int num, u64 current_time) if (elapsed > m_timer_count[num]) { m_timer_stat |= (1 << num); - set_input_line(M65C02_IRQ_LINE, ASSERT_LINE); + set_input_line(W65C02_IRQ_LINE, ASSERT_LINE); } m_timer_count[num] -= elapsed; diff --git a/src/devices/cpu/m6502/gew7.h b/src/devices/cpu/m6502/gew7.h index 6a2a6de27eb9d..5c9a891559eac 100644 --- a/src/devices/cpu/m6502/gew7.h +++ b/src/devices/cpu/m6502/gew7.h @@ -11,10 +11,10 @@ #define MAME_CPU_M6502_GEW7_H #include "m6502mcu.h" -#include "m65c02.h" +#include "w65c02.h" #include "sound/gew7.h" -class gew7_device : public m6502_mcu_device_base, public device_mixer_interface +class gew7_device : public m6502_mcu_device_base, public device_mixer_interface { public: gew7_device(const machine_config& mconfig, const char* tag, device_t* owner, uint32_t clock); @@ -32,7 +32,7 @@ class gew7_device : public m6502_mcu_device_base, public device_m virtual void device_reset() override ATTR_COLD; virtual void internal_update(u64 current_time) override; - using m6502_mcu_device_base::internal_update; + using m6502_mcu_device_base::internal_update; u8 timer_stat_r(); void timer_stat_w(u8 data); diff --git a/src/devices/cpu/m6502/m6502.txt b/src/devices/cpu/m6502/m6502.txt index 788ab6fad3d62..2d4564ee0be21 100644 --- a/src/devices/cpu/m6502/m6502.txt +++ b/src/devices/cpu/m6502/m6502.txt @@ -86,11 +86,11 @@ several other CMOS variants additional commands atari lynx bastian schicks bll -integrated m65sc02 cpu core -no bbr bbs instructions, else m65c02 compatible +integrated g65sc02 cpu core +no bbr bbs instructions, else w65c02 compatible watara supervision -integrated m65c02 cpu core (or m65sc02 or m65ce02?) +integrated w65c02 cpu core (or g65sc02 or m65ce02?) gte65816 (nintendo snes) diff --git a/src/devices/cpu/m6502/m65ce02.cpp b/src/devices/cpu/m6502/m65ce02.cpp index a787eb9dcef3a..22e6bd5f3c5ca 100644 --- a/src/devices/cpu/m6502/m65ce02.cpp +++ b/src/devices/cpu/m6502/m65ce02.cpp @@ -20,7 +20,7 @@ m65ce02_device::m65ce02_device(const machine_config &mconfig, const char *tag, d } m65ce02_device::m65ce02_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : - m65c02_device(mconfig, type, tag, owner, clock), TMP3(0), Z(0), B(0) + w65c02_device(mconfig, type, tag, owner, clock), TMP3(0), Z(0), B(0) { } @@ -31,7 +31,7 @@ std::unique_ptr m65ce02_device::create_disassembler() void m65ce02_device::init() { - m65c02_device::init(); + w65c02_device::init(); state_add(M65CE02_Z, "Z", Z); state_add(M65CE02_B, "B", B).callimport().formatstr("%2s"); save_item(NAME(B)); @@ -51,7 +51,7 @@ void m65ce02_device::device_start() void m65ce02_device::device_reset() { - m65c02_device::device_reset(); + w65c02_device::device_reset(); Z = 0x00; B = 0x0000; } diff --git a/src/devices/cpu/m6502/m65ce02.h b/src/devices/cpu/m6502/m65ce02.h index 3cf488208a135..cf0a48e9a5bd9 100644 --- a/src/devices/cpu/m6502/m65ce02.h +++ b/src/devices/cpu/m6502/m65ce02.h @@ -12,9 +12,9 @@ #pragma once -#include "m65c02.h" +#include "w65c02.h" -class m65ce02_device : public m65c02_device { +class m65ce02_device : public w65c02_device { public: m65ce02_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); diff --git a/src/devices/cpu/m6502/m65sc02.cpp b/src/devices/cpu/m6502/m65sc02.cpp deleted file mode 100644 index b9245b5fe13df..0000000000000 --- a/src/devices/cpu/m6502/m65sc02.cpp +++ /dev/null @@ -1,19 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Olivier Galibert -/*************************************************************************** - - m65sc02.cpp - - Rockwell-class 65c02 with internal static registers, making clock stoppable? - -***************************************************************************/ - -#include "emu.h" -#include "m65sc02.h" - -DEFINE_DEVICE_TYPE(M65SC02, m65sc02_device, "m65sc02", "GTE G65SC02") - -m65sc02_device::m65sc02_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : - r65c02_device(mconfig, M65SC02, tag, owner, clock) -{ -} diff --git a/src/devices/cpu/m6502/m65sc02.h b/src/devices/cpu/m6502/m65sc02.h deleted file mode 100644 index 686411c0b22d8..0000000000000 --- a/src/devices/cpu/m6502/m65sc02.h +++ /dev/null @@ -1,29 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Olivier Galibert -/*************************************************************************** - - m65sc02.h - - Rockwell-class 65c02 with internal static registers, making clock stoppable? - -***************************************************************************/ - -#ifndef MAME_CPU_M6502_M65SC02_H -#define MAME_CPU_M6502_M65SC02_H - -#include "r65c02.h" - -class m65sc02_device : public r65c02_device { -public: - m65sc02_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); -}; - -enum { - M65SC02_IRQ_LINE = m6502_device::IRQ_LINE, - M65SC02_NMI_LINE = m6502_device::NMI_LINE, - M65SC02_SET_OVERFLOW = m6502_device::V_LINE -}; - -DECLARE_DEVICE_TYPE(M65SC02, m65sc02_device) - -#endif // MAME_CPU_M6502_M65SC02_H diff --git a/src/devices/cpu/m6502/m7501.cpp b/src/devices/cpu/m6502/m7501.cpp index 59f62ed804626..30921d1664f45 100644 --- a/src/devices/cpu/m6502/m7501.cpp +++ b/src/devices/cpu/m6502/m7501.cpp @@ -11,7 +11,7 @@ #include "emu.h" #include "m7501.h" -DEFINE_DEVICE_TYPE(M7501, m7501_device, "m7501", "M7501") +DEFINE_DEVICE_TYPE(M7501, m7501_device, "m7501", "MOS Technology 7501") m7501_device::m7501_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : m6510_device(mconfig, M7501, tag, owner, clock) diff --git a/src/devices/cpu/m6502/om65c02.lst b/src/devices/cpu/m6502/ow65c02.lst similarity index 99% rename from src/devices/cpu/m6502/om65c02.lst rename to src/devices/cpu/m6502/ow65c02.lst index a3a0d1e6cdefe..d4debf9f1fc7d 100644 --- a/src/devices/cpu/m6502/om65c02.lst +++ b/src/devices/cpu/m6502/ow65c02.lst @@ -1,6 +1,6 @@ # license:BSD-3-Clause # copyright-holders:Olivier Galibert -# m65c02 opcodes +# w65c02 opcodes adc_c_aba TMP = read_pc(); diff --git a/src/devices/cpu/m6502/oxavix2000.lst b/src/devices/cpu/m6502/oxavix2000.lst index 536a1414bcfce..f3f248026c380 100644 --- a/src/devices/cpu/m6502/oxavix2000.lst +++ b/src/devices/cpu/m6502/oxavix2000.lst @@ -482,7 +482,7 @@ asr_abx prefetch(); cmc_imp - fatalerror("unhandled opcode %02x%04x: %02x\n", m_codebank, PPC, inst_state); + logerror("unhandled opcode %02x%04x: %02x\n", m_codebank, PPC, inst_state); read_pc(); prefetch(); diff --git a/src/devices/cpu/m6502/r65c02.cpp b/src/devices/cpu/m6502/r65c02.cpp index 80187c5fb836b..9dc65010c8cc4 100644 --- a/src/devices/cpu/m6502/r65c02.cpp +++ b/src/devices/cpu/m6502/r65c02.cpp @@ -5,6 +5,10 @@ r65c02.cpp Rockwell 65c02, CMOS variant with bitwise instructions + Also licensed to Ricoh, who sold it as RP65C02. + + TODO: + - are any of the CPU subtype differences meaningful to MAME? ***************************************************************************/ @@ -13,14 +17,26 @@ #include "r65c02d.h" DEFINE_DEVICE_TYPE(R65C02, r65c02_device, "r65c02", "Rockwell R65C02") +DEFINE_DEVICE_TYPE(R65C102, r65c102_device, "r65c102", "Rockwell R65C102") +DEFINE_DEVICE_TYPE(R65C112, r65c112_device, "r65c112", "Rockwell R65C112") + +r65c02_device::r65c02_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : + w65c02_device(mconfig, type, tag, owner, clock) +{ +} r65c02_device::r65c02_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : r65c02_device(mconfig, R65C02, tag, owner, clock) { } -r65c02_device::r65c02_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : - m65c02_device(mconfig, type, tag, owner, clock) +r65c102_device::r65c102_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + r65c02_device(mconfig, R65C102, tag, owner, clock) +{ +} + +r65c112_device::r65c112_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + r65c02_device(mconfig, R65C112, tag, owner, clock) { } diff --git a/src/devices/cpu/m6502/r65c02.h b/src/devices/cpu/m6502/r65c02.h index a28ccd9d9325c..d9be47465eea2 100644 --- a/src/devices/cpu/m6502/r65c02.h +++ b/src/devices/cpu/m6502/r65c02.h @@ -11,9 +11,9 @@ #ifndef MAME_CPU_M6502_R65C02_H #define MAME_CPU_M6502_R65C02_H -#include "m65c02.h" +#include "w65c02.h" -class r65c02_device : public m65c02_device { +class r65c02_device : public w65c02_device { public: r65c02_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); @@ -25,6 +25,20 @@ class r65c02_device : public m65c02_device { r65c02_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); }; +class r65c102_device : public r65c02_device { +public: + r65c102_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + +protected: + virtual uint64_t execute_clocks_to_cycles(uint64_t clocks) const noexcept override { return (clocks + 4 - 1) / 4; } + virtual uint64_t execute_cycles_to_clocks(uint64_t cycles) const noexcept override { return (cycles * 4); } +}; + +class r65c112_device : public r65c02_device { +public: + r65c112_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); +}; + enum { R65C02_IRQ_LINE = m6502_device::IRQ_LINE, R65C02_NMI_LINE = m6502_device::NMI_LINE, @@ -32,5 +46,7 @@ enum { }; DECLARE_DEVICE_TYPE(R65C02, r65c02_device) +DECLARE_DEVICE_TYPE(R65C102, r65c102_device) +DECLARE_DEVICE_TYPE(R65C112, r65c112_device) #endif // MAME_CPU_M6502_R65C02_H diff --git a/src/devices/cpu/m6502/m65c02.cpp b/src/devices/cpu/m6502/w65c02.cpp similarity index 54% rename from src/devices/cpu/m6502/m65c02.cpp rename to src/devices/cpu/m6502/w65c02.cpp index e79380fe83dc7..c482b31d44929 100644 --- a/src/devices/cpu/m6502/m65c02.cpp +++ b/src/devices/cpu/m6502/w65c02.cpp @@ -2,7 +2,7 @@ // copyright-holders:Olivier Galibert /*************************************************************************** - m65c02.cpp + w65c02.cpp WDC W65C02, CMOS variant with some additional instructions (but not the bitwise ones) @@ -10,24 +10,24 @@ ***************************************************************************/ #include "emu.h" -#include "m65c02.h" -#include "m65c02d.h" +#include "w65c02.h" +#include "w65c02d.h" -DEFINE_DEVICE_TYPE(M65C02, m65c02_device, "m65c02", "WDC W65C02") +DEFINE_DEVICE_TYPE(W65C02, w65c02_device, "w65c02", "WDC W65C02") -m65c02_device::m65c02_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : - m6502_device(mconfig, M65C02, tag, owner, clock) +w65c02_device::w65c02_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + m6502_device(mconfig, W65C02, tag, owner, clock) { } -m65c02_device::m65c02_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : +w65c02_device::w65c02_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : m6502_device(mconfig, type, tag, owner, clock) { } -std::unique_ptr m65c02_device::create_disassembler() +std::unique_ptr w65c02_device::create_disassembler() { - return std::make_unique(); + return std::make_unique(); } -#include "cpu/m6502/m65c02.hxx" +#include "cpu/m6502/w65c02.hxx" diff --git a/src/devices/cpu/m6502/m65c02.h b/src/devices/cpu/m6502/w65c02.h similarity index 79% rename from src/devices/cpu/m6502/m65c02.h rename to src/devices/cpu/m6502/w65c02.h index 5a89f30123601..552565d4203a1 100644 --- a/src/devices/cpu/m6502/m65c02.h +++ b/src/devices/cpu/m6502/w65c02.h @@ -2,29 +2,29 @@ // copyright-holders:Olivier Galibert /*************************************************************************** - m65c02.h + w65c02.h WDC W65C02, CMOS variant with some additional instructions (but not the bitwise ones) ***************************************************************************/ -#ifndef MAME_CPU_M6502_M65C02_H -#define MAME_CPU_M6502_M65C02_H +#ifndef MAME_CPU_M6502_W65C02_H +#define MAME_CPU_M6502_W65C02_H #pragma once #include "m6502.h" -class m65c02_device : public m6502_device { +class w65c02_device : public m6502_device { public: - m65c02_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + w65c02_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); virtual std::unique_ptr create_disassembler() override; virtual void do_exec_full() override; virtual void do_exec_partial() override; protected: - m65c02_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + w65c02_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); #define O(o) void o ## _full(); void o ## _partial() @@ -67,11 +67,11 @@ class m65c02_device : public m6502_device { }; enum { - M65C02_IRQ_LINE = m6502_device::IRQ_LINE, - M65C02_NMI_LINE = m6502_device::NMI_LINE, - M65C02_SET_OVERFLOW = m6502_device::V_LINE + W65C02_IRQ_LINE = m6502_device::IRQ_LINE, + W65C02_NMI_LINE = m6502_device::NMI_LINE, + W65C02_SET_OVERFLOW = m6502_device::V_LINE }; -DECLARE_DEVICE_TYPE(M65C02, m65c02_device) +DECLARE_DEVICE_TYPE(W65C02, w65c02_device) -#endif // MAME_CPU_M6502_M65C02_H +#endif // MAME_CPU_M6502_W65C02_H diff --git a/src/devices/cpu/m6502/m65c02d.cpp b/src/devices/cpu/m6502/w65c02d.cpp similarity index 59% rename from src/devices/cpu/m6502/m65c02d.cpp rename to src/devices/cpu/m6502/w65c02d.cpp index 2c7b3b81fc337..919d2ddf6f563 100644 --- a/src/devices/cpu/m6502/m65c02d.cpp +++ b/src/devices/cpu/m6502/w65c02d.cpp @@ -2,17 +2,17 @@ // copyright-holders:Olivier Galibert /*************************************************************************** - m65c02d.cpp + w65c02d.cpp - MOS Technology 6502, CMOS variant with some additional instructions + WDC W65C02, CMOS variant with some additional instructions (but not the bitwise ones), disassembler ***************************************************************************/ #include "emu.h" -#include "m65c02d.h" -#include "cpu/m6502/m65c02d.hxx" +#include "w65c02d.h" +#include "cpu/m6502/w65c02d.hxx" -m65c02_disassembler::m65c02_disassembler() : m6502_base_disassembler(disasm_entries) +w65c02_disassembler::w65c02_disassembler() : m6502_base_disassembler(disasm_entries) { } diff --git a/src/devices/cpu/m6502/m65c02d.h b/src/devices/cpu/m6502/w65c02d.h similarity index 57% rename from src/devices/cpu/m6502/m65c02d.h rename to src/devices/cpu/m6502/w65c02d.h index 77b134c4b950b..1e9edec6a1449 100644 --- a/src/devices/cpu/m6502/m65c02d.h +++ b/src/devices/cpu/m6502/w65c02d.h @@ -2,25 +2,25 @@ // copyright-holders:Olivier Galibert /*************************************************************************** - m65c02d.h + w65c02d.h - MOS Technology 6502, CMOS variant with some additional instructions + WDC W65C02, CMOS variant with some additional instructions (but not the bitwise ones), disassembler ***************************************************************************/ -#ifndef MAME_CPU_M6502_M65C02D_H -#define MAME_CPU_M6502_M65C02D_H +#ifndef MAME_CPU_M6502_W65C02D_H +#define MAME_CPU_M6502_W65C02D_H #pragma once #include "m6502d.h" -class m65c02_disassembler : public m6502_base_disassembler +class w65c02_disassembler : public m6502_base_disassembler { public: - m65c02_disassembler(); - virtual ~m65c02_disassembler() = default; + w65c02_disassembler(); + virtual ~w65c02_disassembler() = default; private: static const disasm_entry disasm_entries[0x100]; diff --git a/src/devices/cpu/m6502/w65c02s.cpp b/src/devices/cpu/m6502/w65c02s.cpp index 171db777dc207..17c61bafc4ead 100644 --- a/src/devices/cpu/m6502/w65c02s.cpp +++ b/src/devices/cpu/m6502/w65c02s.cpp @@ -21,7 +21,7 @@ w65c02s_device::w65c02s_device(const machine_config &mconfig, const char *tag, d } w65c02s_device::w65c02s_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : - m65c02_device(mconfig, type, tag, owner, clock) + w65c02_device(mconfig, type, tag, owner, clock) { } diff --git a/src/devices/cpu/m6502/w65c02s.h b/src/devices/cpu/m6502/w65c02s.h index a5848f86e684b..7a3da04bcd5b0 100644 --- a/src/devices/cpu/m6502/w65c02s.h +++ b/src/devices/cpu/m6502/w65c02s.h @@ -12,9 +12,9 @@ #ifndef MAME_CPU_M6502_W65C02S_H #define MAME_CPU_M6502_W65C02S_H -#include "m65c02.h" +#include "w65c02.h" -class w65c02s_device : public m65c02_device { +class w65c02s_device : public w65c02_device { public: w65c02s_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); diff --git a/src/devices/cpu/m6502/xavix.cpp b/src/devices/cpu/m6502/xavix.cpp index c8f98a0e8f76e..2a5392679ca56 100644 --- a/src/devices/cpu/m6502/xavix.cpp +++ b/src/devices/cpu/m6502/xavix.cpp @@ -345,5 +345,4 @@ void xavix_device::state_string_export(const device_state_entry &entry, std::str - #include "cpu/m6502/xavix.hxx" diff --git a/src/devices/cpu/m6800/m6800.cpp b/src/devices/cpu/m6800/m6800.cpp index 993b3f5f72be1..580a9798ea420 100644 --- a/src/devices/cpu/m6800/m6800.cpp +++ b/src/devices/cpu/m6800/m6800.cpp @@ -141,8 +141,8 @@ System dependencies: u16 must be 16 bit unsigned int /* macros for CC -- CC bits affected should be reset before calling */ #define SET_Z(a) if(!(a))SEZ -#define SET_Z8(a) SET_Z((u8)(a)) -#define SET_Z16(a) SET_Z((u16)(a)) +#define SET_Z8(a) SET_Z(u8(a)) +#define SET_Z16(a) SET_Z(u16(a)) #define SET_N8(a) CC|=(((a)&0x80)>>4) #define SET_N16(a) CC|=(((a)&0x8000)>>12) #define SET_H(a,b,r) CC|=((((a)^(b)^(r))&0x10)<<1) @@ -202,7 +202,7 @@ const u8 m6800_cpu_device::flags8d[256]= /* decrement */ #define SET_FLAGS16(a,b,r) {SET_N16(r);SET_Z16(r);SET_V16(a,b,r);SET_C16(r);} /* for treating an u8 as a signed s16 */ -#define SIGNED(b) ((s16)(b&0x80?b|0xff00:b)) +#define SIGNED(b) (s16(b&0x80?b|0xff00:b)) /* Macros for addressing modes */ #define DIRECT IMMBYTE(EAD) @@ -245,9 +245,9 @@ const u8 m6800_cpu_device::flags8d[256]= /* decrement */ /* include the opcode functions */ #include "6800ops.hxx" -/* Note: don't use 0 cycles here for invalid opcodes so that we don't */ -/* hang in an infinite loop if we hit one */ -#define XX 4 // invalid opcode unknown cc +// to prevent the possibility of MAME locking up, don't use 0 cycles here +#define XX 4 // illegal opcode unknown cycle count + const u8 m6800_cpu_device::cycles_6800[256] = { /* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ @@ -289,7 +289,8 @@ const u8 m6800_cpu_device::cycles_nsc8105[256] = /*E*/ 5, 5, 5,XX, 5, 5, 5, 6, 5, 5, 5, 5, 5, 6,XX, 7, /*F*/ 4, 4, 4,XX, 4, 4, 4, 5, 4, 4, 4, 4, 4, 5,XX, 6 }; -#undef XX // /invalid opcode unknown cc + +#undef XX // /illegal opcode unknown cc const m6800_cpu_device::op_func m6800_cpu_device::m6800_insn[0x100] = { diff --git a/src/devices/cpu/m6800/m6801.cpp b/src/devices/cpu/m6800/m6801.cpp index 260333574a630..e289a5544bace 100644 --- a/src/devices/cpu/m6800/m6801.cpp +++ b/src/devices/cpu/m6800/m6801.cpp @@ -130,9 +130,9 @@ enum #define TSR_ICF1 0x40 #define TSR_ICF2 0x80 -/* Note: don't use 0 cycles here for invalid opcodes so that we don't */ -/* hang in an infinite loop if we hit one */ -#define XX 4 // invalid opcode unknown cc +// to prevent the possibility of MAME locking up, don't use 0 cycles here +#define XX 4 // illegal opcode unknown cycle count + const u8 m6801_cpu_device::cycles_6803[256] = { /* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ @@ -174,7 +174,8 @@ const u8 m6801_cpu_device::cycles_63701[256] = /*E*/ 4, 4, 4, 5, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, /*F*/ 4, 4, 4, 5, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5 }; -#undef XX // /invalid opcode unknown cc + +#undef XX // /illegal opcode unknown cc const m6800_cpu_device::op_func m6801_cpu_device::m6803_insn[0x100] = { diff --git a/src/devices/cpu/m6805/hd6305.cpp b/src/devices/cpu/m6805/hd6305.cpp index 2fab40f86c6ed..2cc866c7494f6 100644 --- a/src/devices/cpu/m6805/hd6305.cpp +++ b/src/devices/cpu/m6805/hd6305.cpp @@ -1,14 +1,20 @@ // license:BSD-3-Clause -// copyright-holders:Aaron Giles, Vas Crabb +// copyright-holders:Aaron Giles, Vas Crabb, Olivier Galibert +/* + +Hitachi HD6305 series + +TODO: +- HD6305xx has a 14-bit address space, not 13 (memory_access in m6805.h) +- add unimplemented opcodes: STOP, WAIT, DAA, and HD63705Z0 also has MUL +- add HD63705Z0 peripherals + +*/ #include "emu.h" #include "hd6305.h" #include "m6805defs.h" -/**************************************************************************** - * HD6305 section - ****************************************************************************/ - hd6305_device::hd6305_device( machine_config const &mconfig, char const *tag, @@ -16,44 +22,22 @@ hd6305_device::hd6305_device( uint32_t clock, device_type const type, configuration_params const ¶ms, - address_map_constructor internal_map) - : m6805_base_device(mconfig, tag, owner, clock, type, params, internal_map) + address_map_constructor internal_map) : + m6805_base_device(mconfig, tag, owner, clock, type, params, internal_map), + m_sci_clk(*this), + m_sci_tx(*this), + m_read_port(*this, 0xff), + m_write_port(*this) { + std::fill(m_port_ddr_override.begin(), m_port_ddr_override.end(), 0x00); } -hd6305v0_device::hd6305v0_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) - : hd6305_device( - mconfig, - tag, - owner, - clock, - HD6305V0, - { s_hmos_s_ops, s_hmos_cycles, 14, 0x00ff, 0x00c0, 0x1fff, 0x1ffc }, - address_map_constructor(FUNC(hd6305v0_device::internal_map), this)), - m_read_port(*this, 0xff), - m_write_port(*this), - m_sci_clk(*this), - m_sci_tx(*this) -{ -} +// common peripherals -void hd6305v0_device::internal_map(address_map &map) +void hd6305_device::device_start() { - map(0x0000, 0x0003).rw(FUNC(hd6305v0_device::port_r), FUNC(hd6305v0_device::port_w)); - map(0x0004, 0x0007).rw(FUNC(hd6305v0_device::port_ddr_r), FUNC(hd6305v0_device::port_ddr_w)); - map(0x0008, 0x0008).rw(FUNC(hd6305v0_device::timer_data_r), FUNC(hd6305v0_device::timer_data_w)); - map(0x0009, 0x0009).rw(FUNC(hd6305v0_device::timer_ctrl_r), FUNC(hd6305v0_device::timer_ctrl_w)); - map(0x000a, 0x000a).rw(FUNC(hd6305v0_device::misc_r), FUNC(hd6305v0_device::misc_w)); - map(0x0010, 0x0010).rw(FUNC(hd6305v0_device::sci_ctrl_r), FUNC(hd6305v0_device::sci_ctrl_w)); - map(0x0011, 0x0011).rw(FUNC(hd6305v0_device::sci_ssr_r), FUNC(hd6305v0_device::sci_ssr_w)); - map(0x0012, 0x0012).rw(FUNC(hd6305v0_device::sci_data_r), FUNC(hd6305v0_device::sci_data_w)); - map(0x0040, 0x00ff).ram(); - map(0x1000, 0x1fff).rom().region(DEVICE_SELF, 0); -} + m6805_base_device::device_start(); -void hd6305v0_device::device_start() -{ - hd6305_device::device_start(); save_item(NAME(m_port_data)); save_item(NAME(m_port_ddr)); save_item(NAME(m_tdr)); @@ -68,13 +52,13 @@ void hd6305v0_device::device_start() save_item(NAME(m_sci_tx_byte)); save_item(NAME(m_sci_tx_step)); - m_timer_timer = timer_alloc(FUNC(hd6305v0_device::timer_cb), this); - m_timer_sci = timer_alloc(FUNC(hd6305v0_device::sci_cb), this); + m_timer_timer = timer_alloc(FUNC(hd6305_device::timer_cb), this); + m_timer_sci = timer_alloc(FUNC(hd6305_device::sci_cb), this); } -void hd6305v0_device::device_reset() +void hd6305_device::device_reset() { - hd6305_device::device_reset(); + m6805_base_device::device_reset(); std::fill(m_port_data.begin(), m_port_data.end(), 0x00); std::fill(m_port_ddr.begin(), m_port_ddr.end(), 0x00); @@ -98,50 +82,63 @@ void hd6305v0_device::device_reset() m_sci_tx(1); } -u8 hd6305v0_device::port_r(offs_t port) +template +u8 hd6305_device::port_r() { - if(m_port_ddr[port] == 0xff) - return m_port_data[port]; + const u8 ddr = m_port_ddr[Port] & ~m_port_ddr_override[Port]; + if(ddr == 0xff) + return m_port_data[Port]; - return (m_port_ddr[port] & m_port_data[port]) | (m_read_port[port]() & ~m_port_ddr[port]); + return (m_port_data[Port] & ddr) | (m_read_port[Port]() & ~ddr); } -void hd6305v0_device::port_w(offs_t port, u8 data) +template +void hd6305_device::port_w(u8 data) { - m_port_data[port] = data; - if(m_port_ddr[port] != 0x00) - m_write_port[port](data | ~m_port_ddr[port]); + if(data != m_port_data[Port]) { + m_port_data[Port] = data; + m_write_port[Port](Port, data | ~m_port_ddr[Port], m_port_ddr[Port]); + } } -u8 hd6305v0_device::port_ddr_r(offs_t port) +template +u8 hd6305_device::port_ddr_r() { - return m_port_ddr[port]; + return m_port_ddr[Port]; } -void hd6305v0_device::port_ddr_w(offs_t port, u8 data) +template +void hd6305_device::port_ddr_w(u8 data) { - logerror("port %d ddr %c%c%c%c%c%c%c%c\n", - port, - BIT(data, 7) ? 'o': 'i', - BIT(data, 6) ? 'o': 'i', - BIT(data, 5) ? 'o': 'i', - BIT(data, 4) ? 'o': 'i', - BIT(data, 3) ? 'o': 'i', - BIT(data, 2) ? 'o': 'i', - BIT(data, 1) ? 'o': 'i', - BIT(data, 0) ? 'o': 'i'); - m_port_ddr[port] = data; + if(data != m_port_ddr[Port]) { + logerror("port %d ddr %c%c%c%c%c%c%c%c\n", + Port, + BIT(data, 7) ? 'o': 'i', + BIT(data, 6) ? 'o': 'i', + BIT(data, 5) ? 'o': 'i', + BIT(data, 4) ? 'o': 'i', + BIT(data, 3) ? 'o': 'i', + BIT(data, 2) ? 'o': 'i', + BIT(data, 1) ? 'o': 'i', + BIT(data, 0) ? 'o': 'i'); + + m_port_ddr[Port] = data; + m_write_port[Port](Port, m_port_data[Port] | ~data, data); + } } -void hd6305v0_device::timer_update_regs() +void hd6305_device::timer_update_regs() { + if(machine().side_effects_disabled()) + return; + u32 counter = m_prescaler; u64 tc = machine().time().as_ticks(clock())/4; u32 cycles = tc - m_timer_last_update; u32 next_counter = counter + cycles; u32 shift = BIT(m_tcr, 0, 3); - u32 steps = shift ? (((next_counter >> (shift-1)) + 1) >> 1) - (((counter >> (shift-1)) + 1) >> 1): cycles; + u32 steps = shift ? (((next_counter >> (shift-1)) + 1) >> 1) - (((counter >> (shift-1)) + 1) >> 1) : cycles; m_tdr -= steps; m_prescaler = next_counter & 0x7f; @@ -149,11 +146,11 @@ void hd6305v0_device::timer_update_regs() if(!m_tdr && steps) { m_tcr |= 0x80; if(!BIT(m_tcr, 6)) - m_pending_interrupts |= 1 << M6805V0_INT_TIMER1; + m_pending_interrupts |= 1 << HD6305_INT_TIMER1; } } -void hd6305v0_device::timer_wait_next_timeout() +void hd6305_device::timer_wait_next_timeout() { u32 shift = BIT(m_tcr, 0, 3); u32 cycles; @@ -171,45 +168,45 @@ void hd6305v0_device::timer_wait_next_timeout() m_timer_timer->adjust(attotime::from_ticks(cycles*4, clock())); } -u8 hd6305v0_device::timer_data_r() +u8 hd6305_device::timer_data_r() { timer_update_regs(); return m_tdr; } -void hd6305v0_device::timer_data_w(u8 data) +void hd6305_device::timer_data_w(u8 data) { timer_update_regs(); m_tdr = data; timer_wait_next_timeout(); } -u8 hd6305v0_device::timer_ctrl_r() +u8 hd6305_device::timer_ctrl_r() { timer_update_regs(); return m_tcr; } -void hd6305v0_device::timer_ctrl_w(u8 data) +void hd6305_device::timer_ctrl_w(u8 data) { timer_update_regs(); u8 old = m_tcr; m_tcr = (m_tcr & data & 0x80) | (data & 0x7f); if((old ^ m_tcr) & 0x7f) { logerror("timer ctrl %02x irq=%s, %s clock=%s%s prescale=%d\n", data, - BIT(m_tcr, 7) ? "on" : "off", - BIT(m_tcr, 6) ? "disabled" : "enabled", - BIT(m_tcr, 4, 2) == 0 ? "e" : BIT(m_tcr, 4, 2) == 1 ? "e&timer" : BIT(m_tcr, 4, 2) == 2 ? "off" : "timer", - BIT(m_tcr, 3) ? " reset prescaler" : "", - 1 << BIT(m_tcr, 0, 3) - ); + BIT(m_tcr, 7) ? "on" : "off", + BIT(m_tcr, 6) ? "disabled" : "enabled", + BIT(m_tcr, 4, 2) == 0 ? "e" : BIT(m_tcr, 4, 2) == 1 ? "e&timer" : BIT(m_tcr, 4, 2) == 2 ? "off" : "timer", + BIT(m_tcr, 3) ? " reset prescaler" : "", + 1 << BIT(m_tcr, 0, 3)); + if(BIT(m_tcr, 4, 2) != 0) logerror("WARNING: timer mode not implemented\n"); } if((m_tcr & 0xc0) == 0x80) - m_pending_interrupts |= 1 << M6805V0_INT_TIMER1; + m_pending_interrupts |= 1 << HD6305_INT_TIMER1; else - m_pending_interrupts &= ~(1 << M6805V0_INT_TIMER1); + m_pending_interrupts &= ~(1 << HD6305_INT_TIMER1); if(BIT(m_tcr, 3)) { m_prescaler = 0x7f; m_tcr &= ~0x08; @@ -219,37 +216,37 @@ void hd6305v0_device::timer_ctrl_w(u8 data) } -TIMER_CALLBACK_MEMBER(hd6305v0_device::timer_cb) +TIMER_CALLBACK_MEMBER(hd6305_device::timer_cb) { timer_update_regs(); timer_wait_next_timeout(); } -u8 hd6305v0_device::misc_r() +u8 hd6305_device::misc_r() { return m_mr; } -void hd6305v0_device::misc_w(u8 data) +void hd6305_device::misc_w(u8 data) { m_mr = (m_mr & data & 0x80) | (data & 0x60) | 0x1f; logerror("misc %02x int2=%s, %s int=%s\n", data, - BIT(m_mr, 7) ? "on" : "off", - BIT(m_mr, 6) ? "disabled" : "enabled", - BIT(m_mr, 5) ? "edge" : "level"); + BIT(m_mr, 7) ? "on" : "off", + BIT(m_mr, 6) ? "disabled" : "enabled", + BIT(m_mr, 5) ? "edge" : "level"); } -void hd6305v0_device::sci_timer_step() +void hd6305_device::sci_timer_step() { m_timer_sci->adjust(attotime::from_ticks(1 << (BIT(m_scr, 0, 4) + 2), clock())); } -TIMER_CALLBACK_MEMBER(hd6305v0_device::sci_cb) +TIMER_CALLBACK_MEMBER(hd6305_device::sci_cb) { if(m_sci_tx_step == 16) { m_ssr |= 0x80; if(!BIT(m_ssr, 5)) - m_pending_interrupts |= 1 << M6805V0_INT_SCI; + m_pending_interrupts |= 1 << HD6305_INT_SCI; if(m_sci_tx_filled) { m_sci_tx_filled = false; @@ -275,50 +272,50 @@ TIMER_CALLBACK_MEMBER(hd6305v0_device::sci_cb) sci_timer_step(); } -u8 hd6305v0_device::sci_ctrl_r() +u8 hd6305_device::sci_ctrl_r() { return m_scr; } -void hd6305v0_device::sci_ctrl_w(u8 data) +void hd6305_device::sci_ctrl_w(u8 data) { m_scr = data; logerror("sci ctrl %02x d3=%s d4=%s d5=%s rate=%d\n", data, - BIT(data, 7) ? "data_out" : "gpio", - BIT(data, 6) ? "data_in" : "gpio", - BIT(data, 5) == 0 ? "gpio" : BIT(data, 4) ? "clock_in" : "clock_out", - clock()/(1 << (BIT(data, 0, 4) + 3)) - ); + BIT(data, 7) ? "data_out" : "gpio", + BIT(data, 6) ? "data_in" : "gpio", + BIT(data, 5) == 0 ? "gpio" : BIT(data, 4) ? "clock_in" : "clock_out", + clock()/(1 << (BIT(data, 0, 4) + 3))); } -u8 hd6305v0_device::sci_ssr_r() +u8 hd6305_device::sci_ssr_r() { return m_ssr; } -void hd6305v0_device::sci_ssr_w(u8 data) +void hd6305_device::sci_ssr_w(u8 data) { m_ssr = ((m_ssr & data) & 0xc0) | (data & 0x38) | 7; logerror("sci ssr w %02x sci irq=%s, %s timer2 irq=%s, %s%s\n", data, - BIT(m_ssr, 7) ? "on" : "off", - BIT(m_ssr, 5) ? "disabled" : "enabled", - BIT(m_ssr, 6) ? "on" : "off", - BIT(m_ssr, 4) ? "disabled" : "enabled", - BIT(m_ssr, 3) ? "reset sci prescaler" : ""); + BIT(m_ssr, 7) ? "on" : "off", + BIT(m_ssr, 5) ? "disabled" : "enabled", + BIT(m_ssr, 6) ? "on" : "off", + BIT(m_ssr, 4) ? "disabled" : "enabled", + BIT(m_ssr, 3) ? "reset sci prescaler" : ""); if((m_ssr & 0xa0) == 0x80) - m_pending_interrupts |= 1 << M6805V0_INT_SCI; + m_pending_interrupts |= 1 << HD6305_INT_SCI; else - m_pending_interrupts &= ~(1 << M6805V0_INT_SCI); + m_pending_interrupts &= ~(1 << HD6305_INT_SCI); } -u8 hd6305v0_device::sci_data_r() +u8 hd6305_device::sci_data_r() { - logerror("sci data r\n");\ + if(!machine().side_effects_disabled()) + logerror("sci data r\n"); return 0x00; } -void hd6305v0_device::sci_data_w(u8 data) +void hd6305_device::sci_data_w(u8 data) { m_sci_tx_data = data; if(m_sci_tx_step == 0) { @@ -333,80 +330,178 @@ void hd6305v0_device::sci_data_w(u8 data) m_sci_tx_filled = true; } -void hd6305v0_device::execute_set_input(int inputnum, int state) +void hd6305_device::execute_set_input(int inputnum, int state) { // TODO: edge vs. level on int1 - if (inputnum == M6805V0_INT_IRQ1 || inputnum == M6805V0_INT_IRQ2) - { - if (m_irq_state[inputnum] != state) - { + if(inputnum == HD6305_INT_IRQ1 || inputnum == HD6305_INT_IRQ2) { + if(m_irq_state[inputnum] != state) { m_irq_state[inputnum] = state; - if (state != CLEAR_LINE) - { + if(state != CLEAR_LINE) m_pending_interrupts |= 1 << inputnum; - } } } } -void hd6305v0_device::interrupt_vector() +void hd6305_device::interrupt_vector() { - if ((m_pending_interrupts & (1 << M6805V0_INT_IRQ1)) != 0) - { - m_pending_interrupts &= ~(1 << M6805V0_INT_IRQ1); + if((m_pending_interrupts & (1 << HD6305_INT_IRQ1)) != 0) { + m_pending_interrupts &= ~(1 << HD6305_INT_IRQ1); rm16(0x1ffa, m_pc); } - else if ((m_pending_interrupts & (1 << M6805V0_INT_IRQ2)) != 0) - { - m_pending_interrupts &= ~(1 << M6805V0_INT_IRQ2); + else if((m_pending_interrupts & (1 << HD6305_INT_IRQ2)) != 0) { + m_pending_interrupts &= ~(1 << HD6305_INT_IRQ2); rm16(0x1ff8, m_pc); } - else if ((m_pending_interrupts & (1 << M6805V0_INT_TIMER1)) != 0) - { + else if((m_pending_interrupts & (1 << HD6305_INT_TIMER1)) != 0) { // TODO: 1ff6 when in wait... - m_pending_interrupts &= ~(1 << M6805V0_INT_TIMER1); + m_pending_interrupts &= ~(1 << HD6305_INT_TIMER1); rm16(0x1ff8, m_pc); } - else if ((m_pending_interrupts & (1 << M6805V0_INT_TIMER2)) != 0) - { - m_pending_interrupts &= ~(1 << M6805V0_INT_TIMER2); + else if((m_pending_interrupts & (1 << HD6305_INT_TIMER2)) != 0) { + m_pending_interrupts &= ~(1 << HD6305_INT_TIMER2); rm16(0x1ff4, m_pc); } - else if ((m_pending_interrupts & (1 << M6805V0_INT_SCI)) != 0) - { - m_pending_interrupts &= ~(1 << M6805V0_INT_SCI); + else if((m_pending_interrupts & (1 << HD6305_INT_SCI)) != 0) { + m_pending_interrupts &= ~(1 << HD6305_INT_SCI); rm16(0x1ff4, m_pc); } } -hd6305y2_device::hd6305y2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) - : hd6305_device( +/**************************************************************************** + * HD6305V0 section + ****************************************************************************/ + +hd6305v0_device::hd6305v0_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + hd6305_device( + mconfig, + tag, + owner, + clock, + HD6305V0, + { s_hmos_s_ops, s_hd6305_cycles, 14, 0x00ff, 0x00c0, 0x1fff, 0x1ffc }, + address_map_constructor(FUNC(hd6305v0_device::internal_map), this)) +{ +} + +void hd6305v0_device::internal_map(address_map &map) +{ + map(0x0000, 0x0000).rw(FUNC(hd6305v0_device::port_r<0>), FUNC(hd6305v0_device::port_w<0>)); + map(0x0001, 0x0001).rw(FUNC(hd6305v0_device::port_r<1>), FUNC(hd6305v0_device::port_w<1>)); + map(0x0002, 0x0002).rw(FUNC(hd6305v0_device::port_r<2>), FUNC(hd6305v0_device::port_w<2>)); + map(0x0003, 0x0003).rw(FUNC(hd6305v0_device::port_r<3>), FUNC(hd6305v0_device::port_w<3>)); + map(0x0004, 0x0004).rw(FUNC(hd6305v0_device::port_ddr_r<0>), FUNC(hd6305v0_device::port_ddr_w<0>)); + map(0x0005, 0x0005).rw(FUNC(hd6305v0_device::port_ddr_r<1>), FUNC(hd6305v0_device::port_ddr_w<1>)); + map(0x0006, 0x0006).rw(FUNC(hd6305v0_device::port_ddr_r<2>), FUNC(hd6305v0_device::port_ddr_w<2>)); + map(0x0007, 0x0007).rw(FUNC(hd6305v0_device::port_ddr_r<3>), FUNC(hd6305v0_device::port_ddr_w<3>)); + map(0x0008, 0x0008).rw(FUNC(hd6305v0_device::timer_data_r), FUNC(hd6305v0_device::timer_data_w)); + map(0x0009, 0x0009).rw(FUNC(hd6305v0_device::timer_ctrl_r), FUNC(hd6305v0_device::timer_ctrl_w)); + map(0x000a, 0x000a).rw(FUNC(hd6305v0_device::misc_r), FUNC(hd6305v0_device::misc_w)); + map(0x0010, 0x0010).rw(FUNC(hd6305v0_device::sci_ctrl_r), FUNC(hd6305v0_device::sci_ctrl_w)); + map(0x0011, 0x0011).rw(FUNC(hd6305v0_device::sci_ssr_r), FUNC(hd6305v0_device::sci_ssr_w)); + map(0x0012, 0x0012).rw(FUNC(hd6305v0_device::sci_data_r), FUNC(hd6305v0_device::sci_data_w)); + map(0x0040, 0x00ff).ram(); + map(0x1000, 0x1fff).rom().region(DEVICE_SELF, 0); +} + + +/**************************************************************************** + * HD6305Y0 section + ****************************************************************************/ + +hd6305y0_device::hd6305y0_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + hd6305_device( + mconfig, + tag, + owner, + clock, + HD6305Y0, + { s_hmos_s_ops, s_hd6305_cycles, 14, 0x00ff, 0x00c0, 0x1fff, 0x1ffc }, + address_map_constructor(FUNC(hd6305y0_device::internal_map), this)) +{ +} + +void hd6305y0_device::internal_map(address_map &map) +{ + map(0x0000, 0x0000).rw(FUNC(hd6305y0_device::port_r<0>), FUNC(hd6305y0_device::port_w<0>)); + map(0x0001, 0x0001).rw(FUNC(hd6305y0_device::port_r<1>), FUNC(hd6305y0_device::port_w<1>)); + map(0x0002, 0x0002).rw(FUNC(hd6305y0_device::port_r<2>), FUNC(hd6305y0_device::port_w<2>)); + map(0x0003, 0x0003).r(FUNC(hd6305y0_device::port_r<3>)); + map(0x0004, 0x0004).w(FUNC(hd6305y0_device::port_ddr_w<0>)); + map(0x0005, 0x0005).w(FUNC(hd6305y0_device::port_ddr_w<1>)); + map(0x0006, 0x0006).w(FUNC(hd6305y0_device::port_ddr_w<2>)); + map(0x0007, 0x0007).w(FUNC(hd6305y0_device::port_ddr_w<6>)); + map(0x0008, 0x0008).rw(FUNC(hd6305y0_device::timer_data_r), FUNC(hd6305y0_device::timer_data_w)); + map(0x0009, 0x0009).rw(FUNC(hd6305y0_device::timer_ctrl_r), FUNC(hd6305y0_device::timer_ctrl_w)); + map(0x000a, 0x000a).rw(FUNC(hd6305y0_device::misc_r), FUNC(hd6305y0_device::misc_w)); + map(0x000b, 0x000b).rw(FUNC(hd6305y0_device::port_r<4>), FUNC(hd6305y0_device::port_w<4>)); + map(0x000c, 0x000c).rw(FUNC(hd6305y0_device::port_r<5>), FUNC(hd6305y0_device::port_w<5>)); + map(0x000d, 0x000d).rw(FUNC(hd6305y0_device::port_r<6>), FUNC(hd6305y0_device::port_w<6>)); + map(0x0010, 0x0010).rw(FUNC(hd6305y0_device::sci_ctrl_r), FUNC(hd6305y0_device::sci_ctrl_w)); + map(0x0011, 0x0011).rw(FUNC(hd6305y0_device::sci_ssr_r), FUNC(hd6305y0_device::sci_ssr_w)); + map(0x0012, 0x0012).rw(FUNC(hd6305y0_device::sci_data_r), FUNC(hd6305y0_device::sci_data_w)); + map(0x0040, 0x013f).ram(); + map(0x0140, 0x1fff).rom().region(DEVICE_SELF, 0); +} + +void hd6305y0_device::device_reset() +{ + hd6305_device::device_reset(); + + // ports E and F are write-only + m_port_ddr[4] = m_port_ddr[5] = 0xff; +} + + +/**************************************************************************** + * HD6305Y2 section + ****************************************************************************/ + +hd6305y2_device::hd6305y2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + hd6305_device( mconfig, tag, owner, clock, HD6305Y2, - { s_hmos_s_ops, s_hmos_cycles, 14, 0x00ff, 0x00c0, 0x1fff, 0x1ffc }, + { s_hmos_s_ops, s_hd6305_cycles, 14, 0x00ff, 0x00c0, 0x1fff, 0x1ffc }, address_map_constructor(FUNC(hd6305y2_device::internal_map), this)) { } void hd6305y2_device::internal_map(address_map &map) { - // TODO: ports, timer, SCI + map(0x0000, 0x0000).rw(FUNC(hd6305y2_device::port_r<0>), FUNC(hd6305y2_device::port_w<0>)); + map(0x0001, 0x0001).rw(FUNC(hd6305y2_device::port_r<1>), FUNC(hd6305y2_device::port_w<1>)); + map(0x0002, 0x0002).rw(FUNC(hd6305y2_device::port_r<2>), FUNC(hd6305y2_device::port_w<2>)); + map(0x0003, 0x0003).r(FUNC(hd6305y2_device::port_r<3>)); + map(0x0004, 0x0004).w(FUNC(hd6305y2_device::port_ddr_w<0>)); + map(0x0005, 0x0005).w(FUNC(hd6305y2_device::port_ddr_w<1>)); + map(0x0006, 0x0006).w(FUNC(hd6305y2_device::port_ddr_w<2>)); + map(0x0008, 0x0008).rw(FUNC(hd6305y2_device::timer_data_r), FUNC(hd6305y2_device::timer_data_w)); + map(0x0009, 0x0009).rw(FUNC(hd6305y2_device::timer_ctrl_r), FUNC(hd6305y2_device::timer_ctrl_w)); + map(0x000a, 0x000a).rw(FUNC(hd6305y2_device::misc_r), FUNC(hd6305y2_device::misc_w)); + map(0x0010, 0x0010).rw(FUNC(hd6305y2_device::sci_ctrl_r), FUNC(hd6305y2_device::sci_ctrl_w)); + map(0x0011, 0x0011).rw(FUNC(hd6305y2_device::sci_ssr_r), FUNC(hd6305y2_device::sci_ssr_w)); + map(0x0012, 0x0012).rw(FUNC(hd6305y2_device::sci_data_r), FUNC(hd6305y2_device::sci_data_w)); + // All other page zero addresses up to 0x001f are reserved map(0x0040, 0x013f).ram(); } -hd63705z0_device::hd63705z0_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) - : hd6305_device( + +/**************************************************************************** + * HD63705Z0 section + ****************************************************************************/ + +hd63705z0_device::hd63705z0_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + hd6305_device( mconfig, tag, owner, clock, HD63705Z0, - { s_hmos_b_ops, s_hmos_cycles, 16, 0x017f, 0x0100, 0x1fff, 0x1ffa }, + { s_hmos_b_ops, s_hd63705_cycles, 16, 0x017f, 0x0100, 0x1fff, 0x1ffa }, address_map_constructor(FUNC(hd63705z0_device::internal_map), this)) { } @@ -420,28 +515,20 @@ void hd63705z0_device::internal_map(address_map &map) void hd63705z0_device::execute_set_input(int inputnum, int state) { - if (inputnum == INPUT_LINE_NMI) - { - if (m_nmi_state != state) - { + if(inputnum == INPUT_LINE_NMI) { + if(m_nmi_state != state) { m_nmi_state = state; - if (state != CLEAR_LINE) - { + if(state != CLEAR_LINE) m_pending_interrupts |= 1 << HD63705_INT_NMI; - } } } - else if (inputnum <= HD63705_INT_ADCONV) - { - if (m_irq_state[inputnum] != state) - { + else if(inputnum <= HD63705_INT_ADCONV) { + if(m_irq_state[inputnum] != state) { m_irq_state[inputnum] = state; - if (state != CLEAR_LINE) - { + if(state != CLEAR_LINE) m_pending_interrupts |= 1 << inputnum; - } } } } @@ -451,43 +538,35 @@ void hd63705z0_device::interrupt_vector() // Need to add emulation of other interrupt sources here KW-2/4/99 // This is just a quick patch for Namco System 2 operation - if ((m_pending_interrupts & (1 << HD63705_INT_IRQ1)) != 0) - { + if((m_pending_interrupts & (1 << HD63705_INT_IRQ1)) != 0) { m_pending_interrupts &= ~(1 << HD63705_INT_IRQ1); rm16(0x1ff8, m_pc); } - else if ((m_pending_interrupts & (1 << HD63705_INT_IRQ2)) != 0) - { + else if((m_pending_interrupts & (1 << HD63705_INT_IRQ2)) != 0) { m_pending_interrupts &= ~(1 << HD63705_INT_IRQ2); rm16(0x1fec, m_pc); } - else if ((m_pending_interrupts & (1 << HD63705_INT_ADCONV)) != 0) - { + else if((m_pending_interrupts & (1 << HD63705_INT_ADCONV)) != 0) { m_pending_interrupts &= ~(1 << HD63705_INT_ADCONV); rm16(0x1fea, m_pc); } - else if ((m_pending_interrupts & (1 << HD63705_INT_TIMER1)) != 0) - { + else if((m_pending_interrupts & (1 << HD63705_INT_TIMER1)) != 0) { m_pending_interrupts &= ~(1 << HD63705_INT_TIMER1); rm16(0x1ff6, m_pc); } - else if ((m_pending_interrupts & (1 << HD63705_INT_TIMER2)) != 0) - { + else if((m_pending_interrupts & (1 << HD63705_INT_TIMER2)) != 0) { m_pending_interrupts &= ~(1 << HD63705_INT_TIMER2); rm16(0x1ff4, m_pc); } - else if ((m_pending_interrupts & (1 << HD63705_INT_TIMER3)) != 0) - { + else if((m_pending_interrupts & (1 << HD63705_INT_TIMER3)) != 0) { m_pending_interrupts &= ~(1<(0x1ff2, m_pc); } - else if ((m_pending_interrupts & (1 << HD63705_INT_PCI)) != 0) - { + else if((m_pending_interrupts & (1 << HD63705_INT_PCI)) != 0) { m_pending_interrupts &= ~(1 << HD63705_INT_PCI); rm16(0x1ff0, m_pc); } - else if ((m_pending_interrupts & (1 << HD63705_INT_SCI)) != 0) - { + else if((m_pending_interrupts & (1 << HD63705_INT_SCI)) != 0) { m_pending_interrupts &= ~(1 << HD63705_INT_SCI); rm16(0x1fee, m_pc); } @@ -499,8 +578,7 @@ void hd63705z0_device::interrupt() // pending_interrupts until the interrupt is taken, no matter what the // external IRQ pin does. - if (BIT(m_pending_interrupts, HD63705_INT_NMI)) - { + if(BIT(m_pending_interrupts, HD63705_INT_NMI)) { pushword(m_pc); pushbyte(m_x); pushbyte(m_a); @@ -516,10 +594,8 @@ void hd63705z0_device::interrupt() m_icount -= 11; burn_cycles(11); } - else if ((m_pending_interrupts & ((1 << M6805_IRQ_LINE) | HD63705_INT_MASK)) != 0) - { - if ((CC & IFLAG) == 0) - { + else if((m_pending_interrupts & ((1 << M6805_IRQ_LINE) | HD63705_INT_MASK)) != 0) { + if((CC & IFLAG) == 0) { // standard IRQ pushword(m_pc); pushbyte(m_x); @@ -542,5 +618,6 @@ void hd63705z0_device::interrupt() DEFINE_DEVICE_TYPE(HD6305V0, hd6305v0_device, "hd6305v0", "Hitachi HD6305V0") +DEFINE_DEVICE_TYPE(HD6305Y0, hd6305y0_device, "hd6305y0", "Hitachi HD6305Y0") DEFINE_DEVICE_TYPE(HD6305Y2, hd6305y2_device, "hd6305y2", "Hitachi HD6305Y2") DEFINE_DEVICE_TYPE(HD63705Z0, hd63705z0_device, "hd63705z0", "Hitachi HD63705Z0") diff --git a/src/devices/cpu/m6805/hd6305.h b/src/devices/cpu/m6805/hd6305.h index 33122f8e4a9a0..2d7cc46bfc5c0 100644 --- a/src/devices/cpu/m6805/hd6305.h +++ b/src/devices/cpu/m6805/hd6305.h @@ -1,5 +1,5 @@ // license:BSD-3-Clause -// copyright-holders:Aaron Giles +// copyright-holders:Aaron Giles, Vas Crabb, Olivier Galibert #ifndef MAME_CPU_M6805_HD6305_H #define MAME_CPU_M6805_HD6305_H @@ -15,15 +15,19 @@ // device type declarations DECLARE_DEVICE_TYPE(HD6305V0, hd6305v0_device) +DECLARE_DEVICE_TYPE(HD6305Y0, hd6305y0_device) DECLARE_DEVICE_TYPE(HD6305Y2, hd6305y2_device) DECLARE_DEVICE_TYPE(HD63705Z0, hd63705z0_device) - // ======================> hd6305_device class hd6305_device : public m6805_base_device { +public: + auto write_sci_tx() { return m_sci_tx.bind(); } + auto write_sci_clk() { return m_sci_clk.bind(); } + protected: // construction/destruction hd6305_device( @@ -35,49 +39,54 @@ class hd6305_device : public m6805_base_device configuration_params const ¶ms, address_map_constructor internal_map); + virtual void device_start() override ATTR_COLD; + virtual void device_reset() override ATTR_COLD; + virtual void execute_set_input(int inputnum, int state) override; virtual bool execute_input_edge_triggered(int inputnum) const noexcept override { return inputnum == INPUT_LINE_NMI; } + virtual void interrupt_vector() override; virtual bool test_il() override { return m_nmi_state != CLEAR_LINE; } -}; -// ======================> hd6305v0_device + template u8 port_r(); + template void port_w(u8 data); + template u8 port_ddr_r(); + template void port_ddr_w(u8 data); -class hd6305v0_device : public hd6305_device -{ -public: - // construction/destruction - hd6305v0_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + u8 timer_data_r(); + void timer_data_w(u8 data); + u8 timer_ctrl_r(); + void timer_ctrl_w(u8 data); + void timer_update_regs(); + void timer_wait_next_timeout(); - auto write_sci_tx() { return m_sci_tx.bind(); } - auto write_sci_clk() { return m_sci_clk.bind(); } + u8 misc_r(); + void misc_w(u8 data); - auto read_porta() { return m_read_port [0].bind(); } - auto write_porta() { return m_write_port[0].bind(); } - auto read_portb() { return m_read_port [1].bind(); } - auto write_portb() { return m_write_port[1].bind(); } - auto read_portc() { return m_read_port [2].bind(); } - auto write_portc() { return m_write_port[2].bind(); } - auto read_portd() { return m_read_port [3].bind(); } - auto write_portd() { return m_write_port[3].bind(); } + u8 sci_ctrl_r(); + void sci_ctrl_w(u8 data); + u8 sci_ssr_r(); + void sci_ssr_w(u8 data); + u8 sci_data_r(); + void sci_data_w(u8 data); -protected: - virtual void device_start() override ATTR_COLD; - virtual void device_reset() override ATTR_COLD; - virtual void execute_set_input(int inputnum, int state) override; - virtual void interrupt_vector() override; + void sci_timer_step(); + + TIMER_CALLBACK_MEMBER(timer_cb); + TIMER_CALLBACK_MEMBER(sci_cb); -private: - devcb_read8::array<4> m_read_port; - devcb_write8::array<4> m_write_port; devcb_write_line m_sci_clk; devcb_write_line m_sci_tx; + // maximum 9 I/O ports + devcb_read8::array<9> m_read_port; + devcb_write8::array<9> m_write_port; + std::array m_port_data; + std::array m_port_ddr; + std::array m_port_ddr_override; + emu_timer *m_timer_timer; emu_timer *m_timer_sci; - std::array m_port_data; - std::array m_port_ddr; - u64 m_timer_last_update; u8 m_tdr; @@ -91,35 +100,57 @@ class hd6305v0_device : public hd6305_device bool m_sci_tx_filled; u8 m_sci_tx_byte; u8 m_sci_tx_step; +}; + +// ======================> hd6305v0_device + +class hd6305v0_device : public hd6305_device +{ +public: + // construction/destruction + hd6305v0_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + + auto read_porta() { return m_read_port [0].bind(); } + auto write_porta() { return m_write_port[0].bind(); } + auto read_portb() { return m_read_port [1].bind(); } + auto write_portb() { return m_write_port[1].bind(); } + auto read_portc() { return m_read_port [2].bind(); } + auto write_portc() { return m_write_port[2].bind(); } + auto read_portd() { return m_read_port [3].bind(); } + auto write_portd() { return m_write_port[3].bind(); } +private: void internal_map(address_map &map) ATTR_COLD; +}; - u8 port_r(offs_t port); - void port_w(offs_t port, u8 data); - u8 port_ddr_r(offs_t port); - void port_ddr_w(offs_t port, u8 data); +// ======================> hd6305y0_device - u8 timer_data_r(); - void timer_data_w(u8 data); - u8 timer_ctrl_r(); - void timer_ctrl_w(u8 data); - void timer_update_regs(); - void timer_wait_next_timeout(); +class hd6305y0_device : public hd6305_device +{ +public: + // construction/destruction + hd6305y0_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - u8 misc_r(); - void misc_w(u8 data); + auto read_porta() { return m_read_port [0].bind(); } + auto write_porta() { return m_write_port[0].bind(); } + auto read_portb() { return m_read_port [1].bind(); } + auto write_portb() { return m_write_port[1].bind(); } + auto read_portc() { return m_read_port [2].bind(); } + auto write_portc() { return m_write_port[2].bind(); } + auto read_portd() { return m_read_port [3].bind(); } + auto write_porte() { return m_write_port[4].bind(); } + auto write_portf() { return m_write_port[5].bind(); } + auto read_portg() { return m_read_port [6].bind(); } + auto write_portg() { return m_write_port[6].bind(); } - u8 sci_ctrl_r(); - void sci_ctrl_w(u8 data); - u8 sci_ssr_r(); - void sci_ssr_w(u8 data); - u8 sci_data_r(); - void sci_data_w(u8 data); + // port G voltage can override DDR, and read the input pins no matter the DDR value + void read_portg_override_mask(u8 mask) { m_port_ddr_override[6] = mask; } - void sci_timer_step(); +protected: + virtual void device_reset() override ATTR_COLD; - TIMER_CALLBACK_MEMBER(timer_cb); - TIMER_CALLBACK_MEMBER(sci_cb); +private: + void internal_map(address_map &map) ATTR_COLD; }; // ======================> hd6305y2_device @@ -130,6 +161,14 @@ class hd6305y2_device : public hd6305_device // construction/destruction hd6305y2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + auto read_porta() { return m_read_port [0].bind(); } + auto write_porta() { return m_write_port[0].bind(); } + auto read_portb() { return m_read_port [1].bind(); } + auto write_portb() { return m_write_port[1].bind(); } + auto read_portc() { return m_read_port [2].bind(); } + auto write_portc() { return m_write_port[2].bind(); } + auto read_portd() { return m_read_port [3].bind(); } + private: void internal_map(address_map &map) ATTR_COLD; }; @@ -152,13 +191,14 @@ class hd63705z0_device : public hd6305_device }; /**************************************************************************** - * 6805V0 section + * HD6305 section ****************************************************************************/ -#define M6805V0_INT_IRQ1 0x00 -#define M6805V0_INT_IRQ2 0x01 -#define M6805V0_INT_TIMER1 0x02 -#define M6805V0_INT_TIMER2 0x03 -#define M6805V0_INT_SCI 0x04 + +#define HD6305_INT_IRQ1 0x00 +#define HD6305_INT_IRQ2 0x01 +#define HD6305_INT_TIMER1 0x02 +#define HD6305_INT_TIMER2 0x03 +#define HD6305_INT_SCI 0x04 /**************************************************************************** * HD63705 section diff --git a/src/devices/cpu/m6805/m6805.cpp b/src/devices/cpu/m6805/m6805.cpp index a5d854c776b85..5feef38faef71 100644 --- a/src/devices/cpu/m6805/m6805.cpp +++ b/src/devices/cpu/m6805/m6805.cpp @@ -242,20 +242,23 @@ const m6805_base_device::op_handler_table m6805_base_device::s_hc_b_ops = #undef big +// to prevent the possibility of MAME locking up, don't use 0 cycles here +#define XX 4 // illegal opcode unknown cycle count + const m6805_base_device::cycle_count_table m6805_base_device::s_hmos_cycles = { /* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ /*0*/ 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, /*1*/ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, /*2*/ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - /*3*/ 6, 0, 0, 6, 6, 0, 6, 6, 6, 6, 6, 0, 6, 6, 0, 6, - /*4*/ 4, 0, 0, 4, 4, 0, 4, 4, 4, 4, 4, 0, 4, 4, 0, 4, - /*5*/ 4, 0, 0, 4, 4, 0, 4, 4, 4, 4, 4, 0, 4, 4, 0, 4, - /*6*/ 7, 0, 0, 7, 7, 0, 7, 7, 7, 7, 7, 0, 7, 7, 0, 7, - /*7*/ 6, 0, 0, 6, 6, 0, 6, 6, 6, 6, 6, 0, 6, 6, 0, 6, - /*8*/ 9, 6, 0,11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - /*9*/ 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, - /*A*/ 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 0, 8, 2, 0, + /*3*/ 6,XX,XX, 6, 6,XX, 6, 6, 6, 6, 6,XX, 6, 6,XX, 6, + /*4*/ 4,XX,XX, 4, 4,XX, 4, 4, 4, 4, 4,XX, 4, 4,XX, 4, + /*5*/ 4,XX,XX, 4, 4,XX, 4, 4, 4, 4, 4,XX, 4, 4,XX, 4, + /*6*/ 7,XX,XX, 7, 7,XX, 7, 7, 7, 7, 7,XX, 7, 7,XX, 7, + /*7*/ 6,XX,XX, 6, 6,XX, 6, 6, 6, 6, 6,XX, 6, 6,XX, 6, + /*8*/ 9, 6,XX,11,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX, + /*9*/ XX,XX,XX,XX,XX,XX,XX, 2, 2, 2, 2, 2, 2, 2,XX, 2, + /*A*/ 2, 2, 2, 2, 2, 2, 2,XX, 2, 2, 2, 2,XX, 8, 2,XX, /*B*/ 4, 4, 4, 4, 4, 4, 4, 5, 4, 4, 4, 4, 3, 7, 4, 5, /*C*/ 5, 5, 5, 5, 5, 5, 5, 6, 5, 5, 5, 5, 4, 8, 5, 6, /*D*/ 6, 6, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 5, 9, 6, 7, @@ -269,14 +272,14 @@ const m6805_base_device::cycle_count_table m6805_base_device::s_cmos_cycles = /*0*/ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, /*1*/ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, /*2*/ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - /*3*/ 5, 0, 0, 5, 5, 0, 5, 5, 5, 5, 5, 0, 5, 4, 0, 5, - /*4*/ 3, 0, 0, 3, 3, 0, 3, 3, 3, 3, 3, 0, 3, 3, 0, 3, - /*5*/ 3, 0, 0, 3, 3, 0, 3, 3, 3, 3, 3, 0, 3, 3, 0, 3, - /*6*/ 6, 0, 0, 6, 6, 0, 6, 6, 6, 6, 6, 0, 6, 5, 0, 6, - /*7*/ 5, 0, 0, 5, 5, 0, 5, 5, 5, 5, 5, 0, 5, 4, 0, 5, - /*8*/ 9, 6, 0,10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, - /*9*/ 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, - /*A*/ 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 0, 6, 2, 0, + /*3*/ 5,XX,XX, 5, 5,XX, 5, 5, 5, 5, 5,XX, 5, 4,XX, 5, + /*4*/ 3,XX,XX, 3, 3,XX, 3, 3, 3, 3, 3,XX, 3, 3,XX, 3, + /*5*/ 3,XX,XX, 3, 3,XX, 3, 3, 3, 3, 3,XX, 3, 3,XX, 3, + /*6*/ 6,XX,XX, 6, 6,XX, 6, 6, 6, 6, 6,XX, 6, 5,XX, 6, + /*7*/ 5,XX,XX, 5, 5,XX, 5, 5, 5, 5, 5,XX, 5, 4,XX, 5, + /*8*/ 9, 6,XX,10,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX, 2, 2, + /*9*/ XX,XX,XX,XX,XX,XX,XX, 2, 2, 2, 2, 2, 2, 2,XX, 2, + /*A*/ 2, 2, 2, 2, 2, 2, 2,XX, 2, 2, 2, 2,XX, 6, 2,XX, /*B*/ 3, 3, 3, 3, 3, 3, 3, 4, 3, 3, 3, 3, 2, 5, 3, 4, /*C*/ 4, 4, 4, 4, 4, 4, 4, 5, 4, 4, 4, 4, 3, 6, 4, 5, /*D*/ 5, 5, 5, 5, 5, 5, 5, 6, 5, 5, 5, 5, 4, 7, 5, 6, @@ -290,14 +293,14 @@ const m6805_base_device::cycle_count_table m6805_base_device::s_hc_cycles = /*0*/ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, /*1*/ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, /*2*/ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - /*3*/ 5, 0, 0, 5, 5, 0, 5, 5, 5, 5, 5, 0, 5, 4, 0, 5, - /*4*/ 3, 0,11, 3, 3, 0, 3, 3, 3, 3, 3, 0, 3, 3, 0, 3, - /*5*/ 3, 0, 0, 3, 3, 0, 3, 3, 3, 3, 3, 0, 3, 3, 0, 3, - /*6*/ 6, 0, 0, 6, 6, 0, 6, 6, 6, 6, 6, 0, 6, 5, 0, 6, - /*7*/ 5, 0, 0, 5, 5, 0, 5, 5, 5, 5, 5, 0, 5, 4, 0, 5, - /*8*/ 9, 6, 0,10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, - /*9*/ 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, - /*A*/ 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 0, 6, 2, 0, + /*3*/ 5,XX,XX, 5, 5,XX, 5, 5, 5, 5, 5,XX, 5, 4,XX, 5, + /*4*/ 3,XX,11, 3, 3,XX, 3, 3, 3, 3, 3,XX, 3, 3,XX, 3, + /*5*/ 3,XX,XX, 3, 3,XX, 3, 3, 3, 3, 3,XX, 3, 3,XX, 3, + /*6*/ 6,XX,XX, 6, 6,XX, 6, 6, 6, 6, 6,XX, 6, 5,XX, 6, + /*7*/ 5,XX,XX, 5, 5,XX, 5, 5, 5, 5, 5,XX, 5, 4,XX, 5, + /*8*/ 9, 6,XX,10,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX, 2, 2, + /*9*/ XX,XX,XX,XX,XX,XX,XX, 2, 2, 2, 2, 2, 2, 2,XX, 2, + /*A*/ 2, 2, 2, 2, 2, 2, 2,XX, 2, 2, 2, 2,XX, 6, 2,XX, /*B*/ 3, 3, 3, 3, 3, 3, 3, 4, 3, 3, 3, 3, 2, 5, 3, 4, /*C*/ 4, 4, 4, 4, 4, 4, 4, 5, 4, 4, 4, 4, 3, 6, 4, 5, /*D*/ 5, 5, 5, 5, 5, 5, 5, 6, 5, 5, 5, 5, 4, 7, 5, 6, @@ -305,6 +308,50 @@ const m6805_base_device::cycle_count_table m6805_base_device::s_hc_cycles = /*F*/ 3, 3, 3, 3, 3, 3, 3, 4, 3, 3, 3, 3, 2, 5, 3, 4 }; +const m6805_base_device::cycle_count_table m6805_base_device::s_hd6305_cycles = +{ + /* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ + /*0*/ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + /*1*/ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + /*2*/ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + /*3*/ 5,XX,XX, 5, 5,XX, 5, 5, 5, 5, 5,XX, 5, 4,XX, 5, + /*4*/ 2,XX,XX, 2, 2,XX, 2, 2, 2, 2, 2,XX, 2, 2,XX, 2, + /*5*/ 2,XX,XX, 2, 2,XX, 2, 2, 2, 2, 2,XX, 2, 2,XX, 2, + /*6*/ 6,XX,XX, 6, 6,XX, 6, 6, 6, 6, 6,XX, 6, 5,XX, 6, + /*7*/ 5,XX,XX, 5, 5,XX, 5, 5, 5, 5, 5,XX, 5, 4,XX, 5, + /*8*/ 8, 5,XX,10,XX,XX,XX,XX,XX,XX,XX,XX,XX, 2, 4, 4, + /*9*/ XX,XX,XX,XX,XX,XX,XX, 2, 1, 1, 2, 2, 2, 1,XX, 2, + /*A*/ 2, 2, 2, 2, 2, 2, 2,XX, 2, 2, 2, 2,XX, 5, 2,XX, + /*B*/ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 5, 3, 3, + /*C*/ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 6, 4, 4, + /*D*/ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 6, 5, 5, + /*E*/ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 5, 4, 4, + /*F*/ 3, 3, 3, 3, 3, 3, 3, 4, 3, 3, 3, 3, 2, 5, 3, 4 +}; + +const m6805_base_device::cycle_count_table m6805_base_device::s_hd63705_cycles = +{ + /* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ + /*0*/ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + /*1*/ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + /*2*/ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + /*3*/ 5,XX,XX, 5, 5,XX, 5, 5, 5, 5, 5,XX, 5, 4,XX, 5, + /*4*/ 2,XX,11, 2, 2,XX, 2, 2, 2, 2, 2,XX, 2, 2,XX, 2, + /*5*/ 2,XX,XX, 2, 2,XX, 2, 2, 2, 2, 2,XX, 2, 2,XX, 2, + /*6*/ 6,XX,XX, 6, 6,XX, 6, 6, 6, 6, 6,XX, 6, 5,XX, 6, + /*7*/ 5,XX,XX, 5, 5,XX, 5, 5, 5, 5, 5,XX, 5, 4,XX, 5, + /*8*/ 9, 6,XX,11,XX,XX,XX,XX,XX,XX,XX,XX,XX, 2, 4, 4, + /*9*/ XX,XX,XX,XX,XX,XX,XX, 2, 1, 1, 2, 2, 2, 1,XX, 2, + /*A*/ 2, 2, 2, 2, 2, 2, 2,XX, 2, 2, 2, 2,XX, 6, 2,XX, + /*B*/ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 6, 3, 3, + /*C*/ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 7, 4, 4, + /*D*/ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 7, 5, 5, + /*E*/ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 6, 4, 4, + /*F*/ 3, 3, 3, 3, 3, 3, 3, 4, 3, 3, 3, 3, 2, 6, 3, 4 +}; + +#undef XX // /illegal opcode unknown cc + //------------------------------------------------- // m6809_base_device - constructor @@ -349,11 +396,7 @@ void m6805_base_device::device_start() space(AS_PROGRAM).specific(m_program13); } - // get the minimum not including the zero placeholders for illegal instructions - m_min_cycles = *std::min_element( - std::begin(m_params.m_cycles), - std::end(m_params.m_cycles), - [] (u8 x, u8 y) { return u8(x - 1) < u8(y - 1); }); + m_min_cycles = *std::min_element(std::begin(m_params.m_cycles), std::end(m_params.m_cycles)); m_max_cycles = *std::max_element(std::begin(m_params.m_cycles), std::end(m_params.m_cycles)); // set our instruction counter diff --git a/src/devices/cpu/m6805/m6805.h b/src/devices/cpu/m6805/m6805.h index 6e7780d661d18..a7908e2a54264 100644 --- a/src/devices/cpu/m6805/m6805.h +++ b/src/devices/cpu/m6805/m6805.h @@ -1,5 +1,5 @@ // license:BSD-3-Clause -// copyright-holders:Aaron Giles +// copyright-holders:Aaron Giles, Vas Crabb /*** m6805: Portable 6805 emulator ******************************************/ #ifndef MAME_CPU_M6805_M6805_H #define MAME_CPU_M6805_M6805_H @@ -103,6 +103,8 @@ class m6805_base_device : public cpu_device static cycle_count_table s_hmos_cycles; static cycle_count_table s_cmos_cycles; static cycle_count_table s_hc_cycles; + static cycle_count_table s_hd6305_cycles; + static cycle_count_table s_hd63705_cycles; // construction/destruction m6805_base_device( diff --git a/src/devices/cpu/m6809/m6809.h b/src/devices/cpu/m6809/m6809.h index 0a48fb2a5f138..89e3cb10a82e1 100644 --- a/src/devices/cpu/m6809/m6809.h +++ b/src/devices/cpu/m6809/m6809.h @@ -325,7 +325,7 @@ class mc6809e_device : public m6809_base_device auto lic() { return m_lic_func.bind(); } }; -// ======================> m6809_device (LEGACY) +// ======================> m6809_device (LEGACY, pinpoint if MC6809 or MC6809E) class m6809_device : public m6809_base_device { diff --git a/src/devices/cpu/m6809/m6809.lst b/src/devices/cpu/m6809/m6809.lst index 787b084ebc36e..92fb70052c896 100644 --- a/src/devices/cpu/m6809/m6809.lst +++ b/src/devices/cpu/m6809/m6809.lst @@ -116,7 +116,7 @@ DISPATCH01: case 0x5B: set_b(); %XDEC8; return; case 0x5C: set_b(); %INC8; return; case 0x5D: set_b(); %TST8; return; - case 0x5E: set_b(); %XCLR8; return; + case 0x5E: set_b(); %XCLR8; return; case 0x5F: set_b(); %CLR8; return; case 0x60: case 0x61: %INDEXED; %NEG8; return; @@ -312,7 +312,7 @@ DISPATCH10: case 0x2E: set_cond(cond_gt()); %LBRANCH; return; case 0x2F: set_cond(!cond_gt()); %LBRANCH; return; - case 0x3E: %XSWI2; return; + case 0x3E: %XSWI2; return; case 0x3F: %SWI2; return; case 0x83: set_regop16(m_q.p.d); set_imm(); %CMP16; return; @@ -364,7 +364,7 @@ DISPATCH11: case 0x10: %DISPATCH11; return; case 0x11: %DISPATCH11; return; - case 0x3E: %XFIRQ; return; + case 0x3E: %XFIRQ; return; case 0x3F: %SWI3; return; case 0x83: set_regop16(m_u); set_imm(); %CMP16; return; case 0x8C: set_regop16(m_s); set_imm(); %CMP16; return; diff --git a/src/devices/cpu/mb88xx/mb88dasm.cpp b/src/devices/cpu/mb88xx/mb88dasm.cpp index 34fe5a843eb60..02c08b8047700 100644 --- a/src/devices/cpu/mb88xx/mb88dasm.cpp +++ b/src/devices/cpu/mb88xx/mb88dasm.cpp @@ -2,7 +2,6 @@ // copyright-holders:Ernesto Corvi /******************************************************************************* - mb88dasm.cpp Core implementation for the portable Fujitsu MB88xx series MCU disassembler. Written by Ernesto Corvi diff --git a/src/devices/cpu/mb88xx/mb88dasm.h b/src/devices/cpu/mb88xx/mb88dasm.h index 1c5ee9bdafbfd..6d818f0c6b79c 100644 --- a/src/devices/cpu/mb88xx/mb88dasm.h +++ b/src/devices/cpu/mb88xx/mb88dasm.h @@ -2,14 +2,12 @@ // copyright-holders:Ernesto Corvi /******************************************************************************* - mb88dasm.h Core implementation for the portable Fujitsu MB88xx series MCU disassembler. Written by Ernesto Corvi *******************************************************************************/ - #ifndef MAME_CPU_MB88XX_MB88DASM_H #define MAME_CPU_MB88XX_MB88DASM_H diff --git a/src/devices/cpu/mb88xx/mb88xx.cpp b/src/devices/cpu/mb88xx/mb88xx.cpp index bf7f8b1e6916b..48eedebcd2356 100644 --- a/src/devices/cpu/mb88xx/mb88xx.cpp +++ b/src/devices/cpu/mb88xx/mb88xx.cpp @@ -2,14 +2,14 @@ // copyright-holders:Ernesto Corvi /*************************************************************************** - mb88xx.cpp Core implementation for the portable Fujitsu MB88xx series MCU emulator. Written by Ernesto Corvi TODO: - - Add support for the timer - - Add support for the serial interface + - Verify timer, Bosconian voice samples are currently a good test case, + and they match PCB recordings. + - Improve support for the serial interface. - Split the core to support multiple CPU types? ***************************************************************************/ @@ -63,8 +63,6 @@ DEFINE_DEVICE_TYPE(MB8844, mb8844_cpu_device, "mb8844", "Fujitsu MB8844") #define UPDATE_CF(v) m_cf = ((v & 0x10) == 0) ? 0 : 1 #define UPDATE_ZF(v) m_zf = (v != 0) ? 0 : 1 -#define CYCLES(x) do { m_icount -= (x); } while (0) - #define GETPC() (((int)m_PA << 6) + m_PC) #define GETEA() ((m_X << 4) + m_Y) @@ -122,7 +120,8 @@ mb88_cpu_device::mb88_cpu_device(const machine_config &mconfig, device_type type (data_width == 5) ? address_map_constructor(FUNC(mb88_cpu_device::data_5bit), this) : (data_width == 6) ? address_map_constructor(FUNC(mb88_cpu_device::data_6bit), this) : address_map_constructor(FUNC(mb88_cpu_device::data_7bit), this)) - , m_PLA(nullptr) + , m_pla_data(nullptr) + , m_pla_bits(8) , m_read_k(*this, 0) , m_write_o(*this) , m_write_p(*this) @@ -193,7 +192,9 @@ void mb88_cpu_device::device_start() m_serial = timer_alloc(FUNC(mb88_cpu_device::serial_timer), this); + m_if = 0; m_ctr = 0; + m_o_output = 0; save_item(NAME(m_PC)); save_item(NAME(m_PA)); @@ -215,19 +216,20 @@ void mb88_cpu_device::device_start() save_item(NAME(m_ctr)); save_item(NAME(m_SB)); save_item(NAME(m_SBcount)); - save_item(NAME(m_pending_interrupt)); + save_item(NAME(m_o_output)); + save_item(NAME(m_pending_irq)); save_item(NAME(m_in_irq)); - state_add(MB88_PC, "PC", m_PC).formatstr("%02X"); - state_add(MB88_PA, "PA", m_PA).formatstr("%02X"); - state_add(MB88_SI, "SI", m_SI).formatstr("%01X"); - state_add(MB88_A, "A", m_A).formatstr("%01X"); - state_add(MB88_X, "X", m_X).formatstr("%01X"); - state_add(MB88_Y, "Y", m_Y).formatstr("%01X"); - state_add(MB88_PIO, "PIO", m_pio).formatstr("%02X"); - state_add(MB88_TH, "TH", m_TH).formatstr("%01X"); - state_add(MB88_TL, "TL", m_TL).formatstr("%01X"); - state_add(MB88_SB, "SB", m_SB).formatstr("%01X"); + state_add(MB88XX_PC, "PC", m_PC).formatstr("%02X"); + state_add(MB88XX_PA, "PA", m_PA).formatstr("%02X"); + state_add(MB88XX_SI, "SI", m_SI).formatstr("%01X"); + state_add(MB88XX_A, "A", m_A).formatstr("%01X"); + state_add(MB88XX_X, "X", m_X).formatstr("%01X"); + state_add(MB88XX_Y, "Y", m_Y).formatstr("%01X"); + state_add(MB88XX_PIO, "PIO", m_pio).formatstr("%02X"); + state_add(MB88XX_TH, "TH", m_TH).formatstr("%01X"); + state_add(MB88XX_TL, "TL", m_TL).formatstr("%01X"); + state_add(MB88XX_SB, "SB", m_SB).formatstr("%01X"); state_add(STATE_GENPC, "GENPC", m_debugger_pc).callimport().callexport().noshow(); state_add(STATE_GENPCBASE, "CURPC", m_debugger_pc).callimport().callexport().noshow(); @@ -313,14 +315,13 @@ void mb88_cpu_device::device_reset() m_cf = 0; m_vf = 0; m_sf = 0; - m_if = 0; m_pio = 0; m_TH = 0; m_TL = 0; m_TP = 0; m_SB = 0; m_SBcount = 0; - m_pending_interrupt = 0; + m_pending_irq = 0; m_in_irq = 0; } @@ -345,35 +346,62 @@ TIMER_CALLBACK_MEMBER(mb88_cpu_device::serial_timer) if (m_SBcount >= 4) { m_sf = 1; - m_pending_interrupt |= INT_CAUSE_SERIAL; + m_pending_irq |= INT_CAUSE_SERIAL; } } - } -int mb88_cpu_device::pla(int inA, int inB) +void mb88_cpu_device::write_pla(u8 index) { - int index = ((inB & 1) << 4) | (inA & 0x0f); + u8 mask = 0xff; - if (m_PLA) - return m_PLA[index]; + if (m_pla_bits == 8) + { + const u8 shift = (index & 0x10) ? 4 : 0; + mask = 0xf << shift; + m_o_output = (m_o_output & ~mask) | (index << shift & mask); + } + else + { + // if the driver hasn't supplied PLA data, just output the index + if (m_pla_data) + m_o_output = m_pla_data[index]; + else + m_o_output = index; + } - return index; + m_write_o(0, m_o_output, mask); } void mb88_cpu_device::execute_set_input(int inputnum, int state) { - // On rising edge trigger interrupt. - // Note this is a logical level, the actual pin is high-to-low voltage triggered. - if ((m_pio & INT_CAUSE_EXTERNAL) && !m_if && state != CLEAR_LINE) + state = state ? 1 : 0; + + switch (inputnum) { - m_pending_interrupt |= INT_CAUSE_EXTERNAL; - } + case MB88XX_IRQ_LINE: + // On rising edge trigger interrupt. + // Note this is a logical level, the actual pin is high-to-low voltage triggered. + if (!m_if && state && (m_pio & INT_CAUSE_EXTERNAL)) + m_pending_irq |= INT_CAUSE_EXTERNAL; + + m_if = state; + break; - m_if = state != CLEAR_LINE; + case MB88XX_TC_LINE: + // on a falling clock, increment the timer, but only if enabled + if (m_ctr && !state && (m_pio & 0x40)) + increment_timer(); + + m_ctr = state; + break; + + default: + break; + } } -void mb88_cpu_device::update_pio_enable(u8 newpio) +void mb88_cpu_device::pio_enable(u8 newpio) { // if the serial state has changed, configure the timer if ((m_pio ^ newpio) & 0x30) @@ -383,7 +411,7 @@ void mb88_cpu_device::update_pio_enable(u8 newpio) else if ((newpio & 0x30) == 0x20) m_serial->adjust(attotime::from_hz(clock() / SERIAL_PRESCALE), 0, attotime::from_hz(clock() / SERIAL_PRESCALE)); else - fatalerror("mb88xx: update_pio_enable set serial enable to unsupported value %02X\n", newpio & 0x30); + fatalerror("mb88xx: pio_enable set serial enable to unsupported value %02X\n", newpio & 0x30); } m_pio = newpio; @@ -398,14 +426,14 @@ void mb88_cpu_device::increment_timer() if (m_TH == 0) { m_vf = 1; - m_pending_interrupt |= INT_CAUSE_TIMER; + m_pending_irq |= INT_CAUSE_TIMER; } } } -void mb88_cpu_device::update_pio(int cycles) +void mb88_cpu_device::burn_cycles(int cycles) { - // TODO: improve/validate serial and timer support + m_icount -= cycles; // internal clock enable if (m_pio & 0x80) @@ -419,7 +447,7 @@ void mb88_cpu_device::update_pio(int cycles) } // process pending interrupts - if (!m_in_irq && m_pending_interrupt & m_pio) + if (!m_in_irq && m_pending_irq & m_pio) { m_in_irq = true; u16 intpc = GETPC(); @@ -431,18 +459,17 @@ void mb88_cpu_device::update_pio(int cycles) m_SI = (m_SI + 1) & 3; // the datasheet doesn't mention interrupt vectors but the Arabian MCU program expects the following - if (m_pending_interrupt & m_pio & INT_CAUSE_EXTERNAL) + if (m_pending_irq & m_pio & INT_CAUSE_EXTERNAL) { - // if we have a live external source, call the irqcallback standard_irq_callback(0, intpc); m_PC = 0x02; } - else if (m_pending_interrupt & m_pio & INT_CAUSE_TIMER) + else if (m_pending_irq & m_pio & INT_CAUSE_TIMER) { standard_irq_callback(1, intpc); m_PC = 0x04; } - else if (m_pending_interrupt & m_pio & INT_CAUSE_SERIAL) + else if (m_pending_irq & m_pio & INT_CAUSE_SERIAL) { standard_irq_callback(2, intpc); m_PC = 0x06; @@ -450,21 +477,9 @@ void mb88_cpu_device::update_pio(int cycles) m_PA = 0x00; m_st = 1; - m_pending_interrupt = 0; + m_pending_irq = 0; - CYCLES(3); // ? - } -} - -void mb88_cpu_device::clock_w(int state) -{ - if (state != m_ctr) - { - m_ctr = state; - - // on a falling clock, increment the timer, but only if enabled - if (m_ctr == 0 && (m_pio & 0x40)) - increment_timer(); + burn_cycles(3); // ? } } @@ -492,7 +507,7 @@ void mb88_cpu_device::execute_run() break; case 0x01: // outO ZCS:... - m_write_o(pla(m_A, TEST_CF())); + write_pla(TEST_CF() << 4 | m_A); m_st = 1; break; @@ -829,21 +844,21 @@ void mb88_cpu_device::execute_run() case 0x3d: // jpa imm ZCS:..x m_PA = READOP(GETPC()) & 0x1f; m_PC = m_A * 4; - oc = 2; + oc++; m_st = 1; break; case 0x3e: // en imm ZCS:... - update_pio_enable(m_pio | READOP(GETPC())); + pio_enable(m_pio | READOP(GETPC())); INCPC(); - oc = 2; + oc++; m_st = 1; break; case 0x3f: // dis imm ZCS:... - update_pio_enable(m_pio & ~(READOP(GETPC()))); + pio_enable(m_pio & ~(READOP(GETPC()))); INCPC(); - oc = 2; + oc++; m_st = 1; break; @@ -897,7 +912,7 @@ void mb88_cpu_device::execute_run() case 0x64: case 0x65: case 0x66: case 0x67: // call imm ZCS:..x arg = READOP(GETPC()); INCPC(); - oc = 2; + oc++; if (TEST_ST()) { m_SP[m_SI] = GETPC(); @@ -912,7 +927,7 @@ void mb88_cpu_device::execute_run() case 0x6c: case 0x6d: case 0x6e: case 0x6f: // jpl imm ZCS:..x arg = READOP(GETPC()); INCPC(); - oc = 2; + oc++; if (TEST_ST()) { m_PC = arg & 0x3f; @@ -980,10 +995,7 @@ void mb88_cpu_device::execute_run() break; } - // update cycle counts - CYCLES(oc); - - // update interrupts, serial and timer flags - update_pio(oc); + // update cycle count, also update interrupts, serial and timer flags + burn_cycles(oc); } } diff --git a/src/devices/cpu/mb88xx/mb88xx.h b/src/devices/cpu/mb88xx/mb88xx.h index 90223c93d6ee2..38ad8391dfd9b 100644 --- a/src/devices/cpu/mb88xx/mb88xx.h +++ b/src/devices/cpu/mb88xx/mb88xx.h @@ -2,7 +2,6 @@ // copyright-holders:Ernesto Corvi /*************************************************************************** - mb88xx.h Core implementation for the portable Fujitsu MB88xx series MCU emulator. Written by Ernesto Corvi @@ -54,20 +53,24 @@ enum { - MB88_PC = 1, - MB88_PA, - MB88_FLAGS, - MB88_SI, - MB88_A, - MB88_X, - MB88_Y, - MB88_PIO, - MB88_TH, - MB88_TL, - MB88_SB + MB88XX_IRQ_LINE = 0, + MB88XX_TC_LINE }; -#define MB88_IRQ_LINE 0 +enum +{ + MB88XX_PC = 1, + MB88XX_PA, + MB88XX_FLAGS, + MB88XX_SI, + MB88XX_A, + MB88XX_X, + MB88XX_Y, + MB88XX_PIO, + MB88XX_TH, + MB88XX_TL, + MB88XX_SB +}; class mb88_cpu_device : public cpu_device @@ -94,9 +97,9 @@ class mb88_cpu_device : public cpu_device // SO: serial output auto write_so() { return m_write_so.bind(); } - void set_pla(u8 *pla) { m_PLA = pla; } - - void clock_w(int state); + // PLA mask option (default to 8-bit) + void set_pla_bits(u8 bits) { m_pla_bits = bits; } // 4-bit or 8-bit (4-bit requires PLA data) + void set_pla_data(u8 *pla) { m_pla_data = pla; } void data_4bit(address_map &map) ATTR_COLD; void data_5bit(address_map &map) ATTR_COLD; @@ -115,9 +118,10 @@ class mb88_cpu_device : public cpu_device // device_execute_interface overrides virtual u32 execute_min_cycles() const noexcept override { return 1; } - virtual u32 execute_max_cycles() const noexcept override { return 3; } + virtual u32 execute_max_cycles() const noexcept override { return 2+3; } // includes interrupt virtual void execute_run() override; virtual void execute_set_input(int inputnum, int state) override; + virtual bool execute_input_edge_triggered(int inputnum) const noexcept override { return inputnum == MB88XX_IRQ_LINE || inputnum == MB88XX_TC_LINE; } virtual u64 execute_clocks_to_cycles(u64 clocks) const noexcept override { return (clocks + 6 - 1) / 6; } virtual u64 execute_cycles_to_clocks(u64 cycles) const noexcept override { return (cycles * 6); } @@ -136,36 +140,40 @@ class mb88_cpu_device : public cpu_device address_space_config m_program_config; address_space_config m_data_config; - u8 m_PC; // Program Counter: 6 bits - u8 m_PA; // Page Address: 4 bits - u16 m_SP[4]; // Stack is 4*10 bit addresses deep, but we also use 3 top bits per address to store flags during irq - u8 m_SI; // Stack index: 2 bits - u8 m_A; // Accumulator: 4 bits - u8 m_X; // Index X: 4 bits - u8 m_Y; // Index Y: 4 bits - u8 m_st; // State flag: 1 bit - u8 m_zf; // Zero flag: 1 bit - u8 m_cf; // Carry flag: 1 bit - u8 m_vf; // Timer overflow flag: 1 bit - u8 m_sf; // Serial Full/Empty flag: 1 bit - u8 m_if; // Interrupt flag: 1 bit + u8 m_PC; // Program Counter: 6 bits + u8 m_PA; // Page Address: 4 bits + u16 m_SP[4]; // Stack is 4*10 bit addresses deep, but we also use 3 top bits per address to store flags during irq + u8 m_SI; // Stack index: 2 bits + u8 m_A; // Accumulator: 4 bits + u8 m_X; // Index X: 4 bits + u8 m_Y; // Index Y: 4 bits + u8 m_st; // State flag: 1 bit + u8 m_zf; // Zero flag: 1 bit + u8 m_cf; // Carry flag: 1 bit + u8 m_vf; // Timer overflow flag: 1 bit + u8 m_sf; // Serial Full/Empty flag: 1 bit + u8 m_if; // Interrupt flag (IRQ pin): 1 bit // Peripheral Control - u8 m_pio; // Peripheral enable bits: 8 bits + u8 m_pio; // Peripheral enable bits: 8 bits // Timer registers - u8 m_TH; // Timer High: 4 bits - u8 m_TL; // Timer Low: 4 bits - u8 m_TP; // Timer Prescale: 6 bits? - u8 m_ctr; // current external counter value + u8 m_TH; // Timer High: 4 bits + u8 m_TL; // Timer Low: 4 bits + u8 m_TP; // Timer Prescale: 6 bits? + u8 m_ctr; // current external counter value // Serial registers - u8 m_SB; // Serial buffer: 4 bits - u16 m_SBcount;// number of bits received + u8 m_SB; // Serial buffer: 4 bits + u16 m_SBcount; // number of bits received emu_timer *m_serial; - // PLA configuration and port callbacks - u8 *m_PLA; + // PLA configuration + u8 *m_pla_data; + u8 m_pla_bits; + u8 m_o_output; + + // port callbacks devcb_read8 m_read_k; devcb_write8 m_write_o; devcb_write8 m_write_p; @@ -175,7 +183,7 @@ class mb88_cpu_device : public cpu_device devcb_write_line m_write_so; // IRQ handling - u8 m_pending_interrupt; + u8 m_pending_irq; bool m_in_irq; memory_access<11, 0, 0, ENDIANNESS_BIG>::cache m_cache; @@ -189,10 +197,10 @@ class mb88_cpu_device : public cpu_device u8 m_debugger_flags; TIMER_CALLBACK_MEMBER(serial_timer); - int pla(int inA, int inB); - void update_pio_enable(u8 newpio); + void write_pla(u8 index); + void pio_enable(u8 newpio); void increment_timer(); - void update_pio(int cycles); + void burn_cycles(int cycles); }; diff --git a/src/devices/cpu/mcs48/mcs48.cpp b/src/devices/cpu/mcs48/mcs48.cpp index 5c0f431a172dc..879c0f38b7cd3 100644 --- a/src/devices/cpu/mcs48/mcs48.cpp +++ b/src/devices/cpu/mcs48/mcs48.cpp @@ -1,6 +1,6 @@ // license:BSD-3-Clause // copyright-holders:Dan Boris, Mirko Buffoni, Aaron Giles, Couriersud -/*************************************************************************** +/******************************************************************************* Intel MCS-48/UPI-41 Portable Emulator @@ -10,13 +10,42 @@ TODO: - add CMOS devices, 1 new opcode (01 IDL) - add special 8022 opcodes (RAD, SEL AN0, SEL AN1, RETI) - - according to the user manual, some opcodes(dis/enable timer/interrupt) - don't increment the timer, does it affect the prescaler too? - Most likely, timer input (prescaler overflow or T1 edge) still occurs, - just that m_timer increment is delayed 1 opcode. - - IRQ timing is hacked due to WY-100 needing to take JNI branch before servicing interrupt + - IRQ and/or timer increment timing is wrong? See test below. After IRQ, + A = 0x20 on MAME, A = 0x22 on the real 8048 as tested by bataais. -**************************************************************************** + stop tcnt + mov a,0xff + mov t,a + inc a + + en tcnti + strt t + + inc a + inc a + inc a + (etc.) + + With the following test, on MAME, A = 0xff after 30 NOPs, A = 0 after 31 + NOPs. On the real 8048, A = 0xff after 31 NOPs, A = 0 after 32 NOPs. + It can mean that STRT T has a 1 cycle delay, or simply that MOV A,T gets + the timer value pre-increment. + + stop tcnt + mov a,0xff + mov t,a + strt t + + nop + nop + nop + (etc.) + mov a,t + + - IRQ timing is hacked due to WY-100 needing to take JNI branch before + servicing interrupt (see m_irq_polled), probably related to note above? + +******************************************************************************** Note that the default internal divisor for this chip is by 3 and then again by 5, or by 15 total. @@ -41,7 +70,7 @@ 8040 256 0 27 (external ROM) 8050 256 4k 27 (ROM) -**************************************************************************** +******************************************************************************** UPI-41/42 chips are MCS-48 derived, with some opcode changes: @@ -78,16 +107,16 @@ 8742 128 2k (EPROM) 8742AH 256 2k (EPROM) -***************************************************************************/ +*******************************************************************************/ #include "emu.h" #include "mcs48.h" #include "mcs48dsm.h" -/*************************************************************************** +/******************************************************************************* CONSTANTS -***************************************************************************/ +*******************************************************************************/ // timer/counter enable bits #define TIMER_ENABLED 0x01 @@ -121,9 +150,9 @@ #define I8048_FEATURE (MB_FEATURE | EXT_BUS_FEATURE) -/*************************************************************************** +/******************************************************************************* MACROS -***************************************************************************/ +*******************************************************************************/ // r0-r7 map to memory via the regptr #define R0 m_regptr[0] @@ -136,9 +165,9 @@ #define R7 m_regptr[7] -/*************************************************************************** +/******************************************************************************* DEVICE TYPES -***************************************************************************/ +*******************************************************************************/ DEFINE_DEVICE_TYPE(I8021, i8021_device, "i8021", "Intel 8021") DEFINE_DEVICE_TYPE(I8022, i8022_device, "i8022", "Intel 8022") @@ -166,9 +195,9 @@ DEFINE_DEVICE_TYPE(UPD7751, upd7751_device, "upd7751", "NEC uPD7751") DEFINE_DEVICE_TYPE(M58715, m58715_device, "m58715", "Mitsubishi M58715") -/*************************************************************************** +/******************************************************************************* CONSTRUCTOR -***************************************************************************/ +*******************************************************************************/ mcs48_cpu_device::mcs48_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int rom_size, int ram_size, u8 feature_mask, const mcs48_cpu_device::mcs48_ophandler *opcode_table) : cpu_device(mconfig, type, tag, owner, clock) @@ -340,9 +369,9 @@ std::unique_ptr mcs48_cpu_device::create_disassembler() } -/*************************************************************************** +/******************************************************************************* ADDRESS MAPS -***************************************************************************/ +*******************************************************************************/ void mcs48_cpu_device::program_map(address_map &map) { @@ -364,9 +393,9 @@ void mcs48_cpu_device::data_map(address_map &map) } -/*************************************************************************** +/******************************************************************************* INLINE FUNCTIONS -***************************************************************************/ +*******************************************************************************/ /*------------------------------------------------- opcode_fetch - fetch an opcode byte @@ -588,9 +617,9 @@ void mcs48_cpu_device::expander_operation(expander_op operation, u8 port) -/*************************************************************************** +/******************************************************************************* OPCODE HANDLERS -***************************************************************************/ +*******************************************************************************/ #define OPHANDLER(_name) void mcs48_cpu_device::_name() @@ -598,7 +627,7 @@ void mcs48_cpu_device::expander_operation(expander_op operation, u8 port) OPHANDLER( illegal ) { burn_cycles(1); - logerror("MCS-48 PC:%04X - Illegal opcode = %02x\n", m_prevpc, program_r(m_prevpc)); + logerror("Illegal opcode = %02x @ %04X\n", program_r(m_prevpc), m_prevpc); } OPHANDLER( add_a_r0 ) { burn_cycles(1); execute_add(R0); } @@ -873,7 +902,6 @@ OPHANDLER( out_dbb_a ) port_w(2, m_p2 |= P2_OBF); } - OPHANDLER( ret ) { burn_cycles(2); pull_pc(); } OPHANDLER( retr ) { @@ -937,9 +965,9 @@ OPHANDLER( xrl_a_n ) { burn_cycles(2); m_a ^= argument_fetch(); } -/*************************************************************************** +/******************************************************************************* OPCODE TABLES -***************************************************************************/ +*******************************************************************************/ #define OP(_a) &mcs48_cpu_device::_a @@ -1089,9 +1117,9 @@ const mcs48_cpu_device::mcs48_ophandler mcs48_cpu_device::s_i8022_opcodes[256] = -/*************************************************************************** +/******************************************************************************* INITIALIZATION/RESET -***************************************************************************/ +*******************************************************************************/ void mcs48_cpu_device::device_config_complete() { @@ -1244,9 +1272,9 @@ void mcs48_cpu_device::device_reset() } -/*************************************************************************** +/******************************************************************************* EXECUTION -***************************************************************************/ +*******************************************************************************/ /*------------------------------------------------- check_irqs - check for and process IRQs @@ -1313,7 +1341,7 @@ void mcs48_cpu_device::burn_cycles(int count) m_prescaler += count; m_timer += m_prescaler >> 5; m_prescaler &= 0x1f; - timerover = (oldtimer != 0 && m_timer == 0); + timerover = m_timer < oldtimer; } // if the counter is enabled, poll the T1 test input once for each cycle @@ -1374,9 +1402,9 @@ void mcs48_cpu_device::execute_run() -/*************************************************************************** +/******************************************************************************* DATA ACCESS HELPERS -***************************************************************************/ +*******************************************************************************/ /*------------------------------------------------- upi41_master_r - master CPU data/status @@ -1429,9 +1457,9 @@ void upi41_cpu_device::upi41_master_w(offs_t offset, u8 data) } -/*************************************************************************** +/******************************************************************************* GENERAL CONTEXT ACCESS -***************************************************************************/ +*******************************************************************************/ /*------------------------------------------------- mcs48_import_state - import state from the diff --git a/src/devices/cpu/mcs51/mcs51.h b/src/devices/cpu/mcs51/mcs51.h index a1c8351c85665..a81428685c35c 100644 --- a/src/devices/cpu/mcs51/mcs51.h +++ b/src/devices/cpu/mcs51/mcs51.h @@ -66,6 +66,7 @@ class mcs51_cpu_device : public cpu_device void program_internal(address_map &map) ATTR_COLD; void data_internal(address_map &map) ATTR_COLD; + protected: // construction/destruction mcs51_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int program_width, int data_width, uint8_t features = 0); @@ -92,7 +93,6 @@ class mcs51_cpu_device : public cpu_device // device_disasm_interface overrides virtual std::unique_ptr create_disassembler() override; -protected: address_space_config m_program_config; address_space_config m_data_config; address_space_config m_io_config; diff --git a/src/devices/cpu/nec/v25.cpp b/src/devices/cpu/nec/v25.cpp index fac9865dff78a..ee4f188617069 100644 --- a/src/devices/cpu/nec/v25.cpp +++ b/src/devices/cpu/nec/v25.cpp @@ -69,6 +69,8 @@ v25_common_device::v25_common_device(const machine_config &mconfig, device_type , m_p0_out(*this) , m_p1_out(*this) , m_p2_out(*this) + , m_dma_read(*this, 0xffff) + , m_dma_write(*this) , m_prefetch_size(prefetch_size) , m_prefetch_cycles(prefetch_cycles) , m_chip_type(chip_type) @@ -215,7 +217,6 @@ void v25_common_device::device_reset() m_intm = 0; m_halted = 0; - m_TM0 = m_MD0 = m_TM1 = m_MD1 = 0; m_TMC0 = m_TMC1 = 0; for (int i = 0; i < 2; i++) @@ -226,6 +227,10 @@ void v25_common_device::device_reset() m_sce[i] = 0; } + m_dmam[0] = m_dmam[1] = 0; + m_dma_channel = -1; + m_last_dma_channel = 0; + m_RAMEN = 1; m_TB = 20; m_PCK = 8; @@ -483,6 +488,111 @@ void v25_common_device::external_int() } } +void v25_common_device::dma_process() +{ + uint16_t sar = m_internal_ram[m_dma_channel * 4]; + uint16_t dar = m_internal_ram[m_dma_channel * 4 + 1]; + uint16_t sarh_darh = m_internal_ram[m_dma_channel * 4 + 2]; + uint8_t dmamode = BIT(m_dmam[m_dma_channel], 5, 3); + bool w = BIT(m_dmam[m_dma_channel], 4); + + uint32_t saddr = ((uint32_t(sarh_darh) & 0xff00) << 4) + sar; + uint32_t daddr = ((uint32_t(sarh_darh) & 0x00ff) << 12) + dar; + + switch (dmamode & 3) + { + case 0: + // Memory to memory transfer + if (w) + { + uint16_t data = v25_read_word(saddr); + v25_write_word(daddr, data); + } + else + { + uint8_t data = v25_read_byte(saddr); + v25_write_byte(daddr, data); + } + m_icount -= (w && m_program->addr_width() == 8) ? 8 : 4; + break; + + case 1: + // I/O to memory transfer + if (w && m_program->addr_width() == 16) + { + uint16_t data = m_dma_read[m_dma_channel](daddr); + v25_write_word(daddr, data); + } + else + { + uint8_t data = m_dma_read[m_dma_channel](daddr); + v25_write_byte(daddr, data); + if (w) + { + logerror("Warning: V25 16-bit I/O to memory transfer\n"); + data = m_dma_read[m_dma_channel](daddr + 1); + v25_write_byte(daddr + 1, data); + m_icount -= 2; + } + } + m_icount -= 2; + break; + + case 2: + // Memory to I/O transfer + if (w && m_program->addr_width() == 16) + { + uint16_t data = v25_read_word(saddr); + m_dma_write[m_dma_channel](saddr, data); + } + else + { + uint8_t data = v25_read_byte(saddr); + m_dma_write[m_dma_channel](saddr, data); + if (w) + { + logerror("Warning: V25 16-bit memory to I/O transfer\n"); + data = v25_read_byte(saddr + 1); + m_dma_write[m_dma_channel](saddr + 1, data); + m_icount -= 2; + } + } + m_icount -= 2; + break; + + default: + logerror("Reserved DMA transfer mode\n"); + m_icount--; + break; + } + + // Update source and destination based on address control + uint8_t dmac = m_dmac[m_dma_channel]; + if (BIT(dmac, 0, 2) == 1) + m_internal_ram[m_dma_channel * 4] = sar + (w ? 2 : 1); + else if (BIT(dmac, 0, 2) == 2) + m_internal_ram[m_dma_channel * 4] = sar - (w ? 2 : 1); + if (BIT(dmac, 4, 2) == 1) + m_internal_ram[m_dma_channel * 4 + 1] = dar + (w ? 2 : 1); + else if (BIT(dmac, 4, 2) == 2) + m_internal_ram[m_dma_channel * 4 + 1] = dar - (w ? 2 : 1); + + // Update TC + uint16_t tc = --m_internal_ram[m_dma_channel * 4 + 3]; + if (tc == 0) + { + m_dmam[m_dma_channel] &= 0xf0; // disable channel + m_pending_irq |= m_dma_channel ? INTD1 : INTD0; // request interrupt + } + + if (dmamode == 0 || dmamode > 4 || tc == 0) + { + // Single step/single transfer modes (or end of burst) + m_last_dma_channel = m_dma_channel; + m_dma_channel = -1; + } +} + /****************************************************************************/ /* OPCODES */ /****************************************************************************/ @@ -570,6 +680,9 @@ void v25_common_device::device_start() m_EO = 0; m_E16 = 0; + m_TM0 = m_MD0 = m_TM1 = m_MD1 = 0; + m_dmac[0] = m_dmac[1] = 0; + for (i = 0; i < 4; i++) m_timers[i] = timer_alloc(FUNC(v25_common_device::v25_timer_callback), this); @@ -630,6 +743,10 @@ void v25_common_device::device_start() save_item(NAME(m_scc)); save_item(NAME(m_brg)); save_item(NAME(m_sce)); + save_item(NAME(m_dmac)); + save_item(NAME(m_dmam)); + save_item(NAME(m_dma_channel)); + save_item(NAME(m_last_dma_channel)); save_item(NAME(m_RAMEN)); save_item(NAME(m_TB)); save_item(NAME(m_PCK)); @@ -790,6 +907,12 @@ void v25_common_device::execute_run() } while(m_icount>0) { + if (m_dma_channel != -1) + { + dma_process(); + continue; + } + /* Dispatch IRQ */ m_prev_ip = m_ip; if (m_no_interrupt==0 && (m_pending_irq & m_unmasked_irq)) @@ -808,5 +931,13 @@ void v25_common_device::execute_run() prev_ICount = m_icount; (this->*s_nec_instruction[fetchop()])(); do_prefetch(prev_ICount); + + if ((m_dmam[0] & 0x0c) == 0x0c || (m_dmam[1] & 0x0c) == 0x0c) + { + if ((m_dmam[1 - m_last_dma_channel] & 0x0c) == 0x0c) + m_dma_channel = 1 - m_last_dma_channel; + else + m_dma_channel = m_last_dma_channel; + } } } diff --git a/src/devices/cpu/nec/v25.h b/src/devices/cpu/nec/v25.h index 2c030f5e72893..73b09844a190b 100644 --- a/src/devices/cpu/nec/v25.h +++ b/src/devices/cpu/nec/v25.h @@ -39,6 +39,12 @@ class v25_common_device : public cpu_device, public nec_disassembler::config auto p1_out_cb() { return m_p1_out.bind(); } auto p2_out_cb() { return m_p2_out.bind(); } + auto dma0_read_cb() { return m_dma_read[0].bind(); } + auto dma1_read_cb() { return m_dma_read[1].bind(); } + + auto dma0_write_cb() { return m_dma_write[0].bind(); } + auto dma1_write_cb() { return m_dma_write[1].bind(); } + TIMER_CALLBACK_MEMBER(v25_timer_callback); protected: @@ -113,19 +119,25 @@ class v25_common_device : public cpu_device, public nec_disassembler::config uint8_t m_no_interrupt; uint8_t m_halted; - /* timer related */ + // timer related uint16_t m_TM0, m_MD0, m_TM1, m_MD1; uint8_t m_TMC0, m_TMC1; emu_timer *m_timers[4]; - /* serial interface related */ + // serial interface related uint8_t m_scm[2]; uint8_t m_scc[2]; uint8_t m_brg[2]; uint8_t m_sce[2]; - /* system control */ - uint8_t m_RAMEN, m_TB, m_PCK; /* PRC register */ + // DMA related + uint8_t m_dmac[2]; + uint8_t m_dmam[2]; + int8_t m_dma_channel; + int8_t m_last_dma_channel; + + // system control + uint8_t m_RAMEN, m_TB, m_PCK; // PRC register uint8_t m_RFM; uint16_t m_WTC; uint32_t m_IDB; @@ -146,6 +158,9 @@ class v25_common_device : public cpu_device, public nec_disassembler::config devcb_write8 m_p1_out; devcb_write8 m_p2_out; + devcb_read16::array<2> m_dma_read; + devcb_write16::array<2> m_dma_write; + uint8_t m_prefetch_size; uint8_t m_prefetch_cycles; int8_t m_prefetch_count; @@ -177,6 +192,7 @@ class v25_common_device : public cpu_device, public nec_disassembler::config void nec_bankswitch(unsigned bank_num); void nec_trap(); void external_int(); + void dma_process(); void ida_sfr_map(address_map &map) ATTR_COLD; uint8_t read_irqcontrol(int /*INTSOURCES*/ source, uint8_t priority); @@ -257,6 +273,18 @@ class v25_common_device : public cpu_device, public nec_disassembler::config void tmic1_w(uint8_t d); uint8_t tmic2_r(); void tmic2_w(uint8_t d); + uint8_t dmac0_r(); + void dmac0_w(uint8_t d); + uint8_t dmam0_r(); + void dmam0_w(uint8_t d); + uint8_t dmac1_r(); + void dmac1_w(uint8_t d); + uint8_t dmam1_r(); + void dmam1_w(uint8_t d); + uint8_t dic0_r(); + void dic0_w(uint8_t d); + uint8_t dic1_r(); + void dic1_w(uint8_t d); uint8_t rfm_r(); void rfm_w(uint8_t d); uint16_t wtc_r(); diff --git a/src/devices/cpu/nec/v25sfr.cpp b/src/devices/cpu/nec/v25sfr.cpp index a41bfb8c8f6b2..44d01e779994d 100644 --- a/src/devices/cpu/nec/v25sfr.cpp +++ b/src/devices/cpu/nec/v25sfr.cpp @@ -57,6 +57,12 @@ void v25_common_device::ida_sfr_map(address_map &map) map(0x19c, 0x19c).rw(FUNC(v25_common_device::tmic0_r), FUNC(v25_common_device::tmic0_w)); map(0x19d, 0x19d).rw(FUNC(v25_common_device::tmic1_r), FUNC(v25_common_device::tmic1_w)); map(0x19e, 0x19e).rw(FUNC(v25_common_device::tmic2_r), FUNC(v25_common_device::tmic2_w)); + map(0x1a0, 0x1a0).rw(FUNC(v25_common_device::dmac0_r), FUNC(v25_common_device::dmac0_w)); + map(0x1a1, 0x1a1).rw(FUNC(v25_common_device::dmam0_r), FUNC(v25_common_device::dmam0_w)); + map(0x1a2, 0x1a2).rw(FUNC(v25_common_device::dmac1_r), FUNC(v25_common_device::dmac1_w)); + map(0x1a3, 0x1a3).rw(FUNC(v25_common_device::dmam1_r), FUNC(v25_common_device::dmam1_w)); + map(0x1ac, 0x1ac).rw(FUNC(v25_common_device::dic0_r), FUNC(v25_common_device::dic0_w)); + map(0x1ad, 0x1ad).rw(FUNC(v25_common_device::dic1_r), FUNC(v25_common_device::dic1_w)); map(0x1e1, 0x1e1).rw(FUNC(v25_common_device::rfm_r), FUNC(v25_common_device::rfm_w)); map(0x1e8, 0x1e9).rw(FUNC(v25_common_device::wtc_r), FUNC(v25_common_device::wtc_w)); map(0x1ea, 0x1ea).rw(FUNC(v25_common_device::flag_r), FUNC(v25_common_device::flag_w)); @@ -469,7 +475,13 @@ uint16_t v25_common_device::md1_r() void v25_common_device::md1_w(uint16_t d) { - m_MD1 = d; + if (m_MD1 == 0 && d != 0) + { + m_MD1 = d; + tmc1_w(m_TMC1); // HACK: start timer if necessary + } + else + m_MD1 = d; } void v25_common_device::tmc0_w(uint8_t d) @@ -477,7 +489,7 @@ void v25_common_device::tmc0_w(uint8_t d) m_TMC0 = d; if (BIT(d, 0)) // oneshot mode { - if (BIT(d, 7)) + if (BIT(d, 7) && m_TM0 != 0) { unsigned tmp = m_PCK * m_TM0 * (BIT(d, 6) ? 128 : 12); attotime time = clocks_to_attotime(tmp); @@ -486,7 +498,7 @@ void v25_common_device::tmc0_w(uint8_t d) else m_timers[0]->adjust(attotime::never); - if (BIT(d, 5)) + if (BIT(d, 5) && m_MD0 != 0) { unsigned tmp = m_PCK * m_MD0 * (BIT(d, 4) ? 128 : 12); attotime time = clocks_to_attotime(tmp); @@ -497,7 +509,7 @@ void v25_common_device::tmc0_w(uint8_t d) } else // interval mode { - if (BIT(d, 7)) + if (BIT(d, 7) && m_MD0 != 0) { unsigned tmp = m_PCK * m_MD0 * (BIT(d, 6) ? 128 : 6); attotime time = clocks_to_attotime(tmp); @@ -516,11 +528,11 @@ void v25_common_device::tmc0_w(uint8_t d) void v25_common_device::tmc1_w(uint8_t d) { m_TMC1 = d & 0xC0; - if (BIT(d, 7)) + if (BIT(d, 7) && m_MD1 != 0) { unsigned tmp = m_PCK * m_MD1 * (BIT(d, 6) ? 128 : 6); attotime time = clocks_to_attotime(tmp); - m_timers[2]->adjust(time, INTTU2, time); + m_timers[2]->adjust(time, INTTU1 | INTTU2, time); m_TM1 = m_MD1; } else @@ -569,6 +581,115 @@ void v25_common_device::tmic2_w(uint8_t d) write_irqcontrol(INTTU2, d); } +uint8_t v25_common_device::dmac0_r() +{ + return m_dmac[0]; +} + +void v25_common_device::dmac0_w(uint8_t d) +{ + logerror("%06x: DMAC0 set to %02x\n", PC(), d); + logerror(" SAR0 %s after each transfer\n", (d & 0x03) == 0x01 ? "incremented" : (d & 0x03) == 0x02 ? "decremented" : "unmodified"); + logerror(" DAR0 %s after each transfer\n", (d & 0x30) == 0x10 ? "incremented" : (d & 0x30) == 0x20 ? "decremented" : "unmodified"); + m_dmac[0] = d & 0x33; +} + +uint8_t v25_common_device::dmam0_r() +{ + return m_dmam[0]; +} + +void v25_common_device::dmam0_w(uint8_t d) +{ + logerror("%06x: DMAM0 set to %02x\n", PC(), d); + if ((d & 0x60) == 0) + logerror(" %s mode, memory to memory, %s\n", BIT(d, 7) ? "Single step" : "Burst", BIT(d, 4) ? "words" : "bytes"); + else if ((d & 0x60) != 0x60) + logerror(" %s mode, %s to %s, %s\n", BIT(d, 7) ? "Single transfer" : "Demand release", + BIT(d, 5) ? "I/O" : "memory", + BIT(d, 6) ? "I/O" : "memory", + BIT(d, 4) ? "words" : "bytes"); + if (BIT(d, 2)) + { + uint16_t sar = m_internal_ram[0]; + uint16_t dar = m_internal_ram[1]; + uint16_t sarh_darh = m_internal_ram[2]; + uint16_t tc = m_internal_ram[3]; + logerror(" DMA enabled%s (%04x:%04x -> %04x:%04x, %u %s)\n", BIT(d, 3) ? " and triggered" : "", + sarh_darh & 0xff00, sar, + (sarh_darh & 0x00ff) << 8, dar, + tc, BIT(d, 4) ? "words" : "bytes"); + } + else + logerror(" DMA not enabled\n"); + m_dmam[0] = d & 0xfc; +} + +uint8_t v25_common_device::dmac1_r() +{ + return m_dmac[1]; +} + +void v25_common_device::dmac1_w(uint8_t d) +{ + logerror("%06x: DMAC1 set to %02x\n", PC(), d); + logerror(" SAR1 %s after each transfer\n", (d & 0x03) == 0x01 ? "incremented" : (d & 0x03) == 0x02 ? "decremented" : "unmodified"); + logerror(" DAR1 %s after each transfer\n", (d & 0x30) == 0x10 ? "incremented" : (d & 0x30) == 0x20 ? "decremented" : "unmodified"); + m_dmac[1] = d & 0x33; +} + +uint8_t v25_common_device::dmam1_r() +{ + return m_dmam[1]; +} + +void v25_common_device::dmam1_w(uint8_t d) +{ + logerror("%06x: DMAM1 set to %02x\n", PC(), d); + if ((d & 0x60) == 0) + logerror(" %s mode, memory to memory, %s\n", BIT(d, 7) ? "Single step" : "Burst", BIT(d, 4) ? "words" : "bytes"); + else if ((d & 0x60) != 0x60) + logerror(" %s mode, %s to %s, %s\n", BIT(d, 7) ? "Single transfer" : "Demand release", + BIT(d, 5) ? "I/O" : "memory", + BIT(d, 6) ? "I/O" : "memory", + BIT(d, 4) ? "words" : "bytes"); + if (BIT(d, 2)) + { + uint16_t sar = m_internal_ram[4]; + uint16_t dar = m_internal_ram[5]; + uint16_t sarh_darh = m_internal_ram[6]; + uint16_t tc = m_internal_ram[7]; + logerror(" DMA enabled%s (%04x:%04x -> %04x:%04x, %u %s)\n", BIT(d, 3) ? " and triggered" : "", + sarh_darh & 0xff00, sar, + (sarh_darh & 0x00ff) << 8, dar, + tc, BIT(d, 4) ? "words" : "bytes"); + } + else + logerror(" DMA not enabled\n"); + m_dmam[1] = d & 0xfc; +} + +uint8_t v25_common_device::dic0_r() +{ + return read_irqcontrol(INTD0, m_priority_intd); +} + +void v25_common_device::dic0_w(uint8_t d) +{ + write_irqcontrol(INTD0, d); + m_priority_intd = d & 0x7; +} + +uint8_t v25_common_device::dic1_r() +{ + return read_irqcontrol(INTD1, 7); +} + +void v25_common_device::dic1_w(uint8_t d) +{ + write_irqcontrol(INTD1, d); +} + uint8_t v25_common_device::rfm_r() { return m_RFM; diff --git a/src/devices/cpu/ns32000/ns32000.cpp b/src/devices/cpu/ns32000/ns32000.cpp index 494c57c1a0f44..df40818387f18 100644 --- a/src/devices/cpu/ns32000/ns32000.cpp +++ b/src/devices/cpu/ns32000/ns32000.cpp @@ -3888,9 +3888,16 @@ void ns32532_device::device_add_mconfig(machine_config &config) void ns32532_device::device_reset() { + // TODO: pc and psr are saved in r0/r1 at reset + //m_r[0] = m_pc; + //m_r[1] = m_psr; + ns32000_device<32, 2>::device_reset(); m_cfg = CFG_P | CFG_FC | CFG_FM | CFG_FF; + m_mcr = 0; + m_msr = 0; + m_dcr = 0; } device_memory_interface::space_config_vector ns32532_device::memory_space_config() const diff --git a/src/devices/cpu/upd177x/upd177xd.cpp b/src/devices/cpu/upd177x/upd177xd.cpp index d3ec79e84c714..d4e9dcd15d7c1 100644 --- a/src/devices/cpu/upd177x/upd177xd.cpp +++ b/src/devices/cpu/upd177x/upd177xd.cpp @@ -16,9 +16,9 @@ std::string upd177x_disassembler::reg4(u16 opcode) return util::string_format("r%02x", (opcode >> 4) & 0x1f); } -std::string upd177x_disassembler::reg9(u16 opcode) +std::string upd177x_disassembler::reg8(u16 opcode) { - return util::string_format("r%02x", (opcode >> 9) & 0x1f); + return util::string_format("r%02x", (opcode >> 8) & 0x1f); } std::string upd177x_disassembler::imm8(u16 opcode) @@ -72,12 +72,12 @@ std::string upd177x_disassembler::abs4_4(u16 opcode, u16 pc) #define P std::ostream &stream, u16 opcode, u16 pc const upd177x_disassembler::instruction upd177x_disassembler::instructions[] { - { 0x4000, 0xe000, [](P) -> u32 { util::stream_format(stream, "mvi %s, %s", reg9(opcode), imm8(opcode)); return 1; } }, + { 0x4000, 0xe000, [](P) -> u32 { util::stream_format(stream, "mvi %s, %s", reg8(opcode), imm8(opcode)); return 1; } }, { 0x3200, 0xff00, [](P) -> u32 { util::stream_format(stream, "mvi (h), %s", imm8(opcode)); return 1; } }, { 0x3400, 0xff00, [](P) -> u32 { util::stream_format(stream, "mvi a, %s", imm8(opcode)); return 1; } }, { 0x3800, 0xffc0, [](P) -> u32 { util::stream_format(stream, "mvi h, %s", imm6(opcode)); return 1; } }, - { 0x3100, 0xff1f, [](P) -> u32 { util::stream_format(stream, "mvi mdi, %s", imm3_5(opcode)); return 1; } }, - { 0x2100, 0xff80, [](P) -> u32 { util::stream_format(stream, "mvi mdo, %s", imm7(opcode)); return 1; } }, + { 0x3100, 0xff1f, [](P) -> u32 { util::stream_format(stream, "mvi md1, %s", imm3_5(opcode)); return 1; } }, + { 0x2100, 0xff80, [](P) -> u32 { util::stream_format(stream, "mvi md0, %s", imm7(opcode)); return 1; } }, { 0x1201, 0xfe0f, [](P) -> u32 { util::stream_format(stream, "mov %s, a", reg4(opcode)); return 1; } }, { 0x1005, 0xfe0f, [](P) -> u32 { util::stream_format(stream, "mov a, %s", reg4(opcode)); return 1; } }, @@ -105,18 +105,18 @@ const upd177x_disassembler::instruction upd177x_disassembler::instructions[] { { 0x1801, 0xfe0f, [](P) -> u32 { util::stream_format(stream, "tblo a, (%s)", reg4(opcode)); return 1; } }, { 0x1802, 0xfe0f, [](P) -> u32 { util::stream_format(stream, "tblo x, (%s)", reg4(opcode)); return 1; } }, { 0x1804, 0xfe0f, [](P) -> u32 { util::stream_format(stream, "tblo y, (%s)", reg4(opcode)); return 1; } }, - { 0x1808, 0xfe0f, [](P) -> u32 { util::stream_format(stream, "callo (%s)", reg4(opcode)); return 1; } }, + { 0x1808, 0xfe0f, [](P) -> u32 { util::stream_format(stream, "callo (%s)", reg4(opcode)); return 1 | STEP_OVER; } }, { 0x6000, 0xf000, [](P) -> u32 { util::stream_format(stream, "jmp %s", abs12(opcode, pc)); return 1; } }, - { 0x2000, 0xff0f, [](P) -> u32 { util::stream_format(stream, "jmp %s", abs4_4(opcode, pc)); return 1; } }, + { 0x2000, 0xff0f, [](P) -> u32 { util::stream_format(stream, "jpp %s", abs4_4(opcode, pc)); return 1; } }, { 0x0501, 0xffff, [](P) -> u32 { util::stream_format(stream, "jmpa"); return 1; } }, { 0x2400, 0xff00, [](P) -> u32 { util::stream_format(stream, "jmpfz %s", abs8(opcode, pc)); return 1; } }, - { 0x7000, 0xf000, [](P) -> u32 { util::stream_format(stream, "call %s", abs12(opcode, pc)); return 1; } }, + { 0x7000, 0xf000, [](P) -> u32 { util::stream_format(stream, "call %s", abs12(opcode, pc)); return 1 | STEP_OVER; } }, - { 0x0800, 0xffff, [](P) -> u32 { util::stream_format(stream, "ret"); return 1; } }, - { 0x0801, 0xffff, [](P) -> u32 { util::stream_format(stream, "rets"); return 1; } }, - { 0x090f, 0xffff, [](P) -> u32 { util::stream_format(stream, "reti"); return 1; } }, + { 0x0800, 0xffff, [](P) -> u32 { util::stream_format(stream, "ret"); return 1 | STEP_OUT; } }, + { 0x0801, 0xffff, [](P) -> u32 { util::stream_format(stream, "rets"); return 1 | STEP_OUT; } }, + { 0x090f, 0xffff, [](P) -> u32 { util::stream_format(stream, "reti"); return 1 | STEP_OUT; } }, { 0x0005, 0xffff, [](P) -> u32 { util::stream_format(stream, "stf"); return 1; } }, { 0x0602, 0xffff, [](P) -> u32 { util::stream_format(stream, "off"); return 1; } }, @@ -279,7 +279,7 @@ const upd177x_disassembler::instruction upd177x_disassembler::instructions[] { { 0x1a01, 0xfe0f, [](P) -> u32 { util::stream_format(stream, "tbli a, (%s)", reg4(opcode)); return 1; } }, { 0x1a02, 0xfe0f, [](P) -> u32 { util::stream_format(stream, "tbli x, (%s)", reg4(opcode)); return 1; } }, { 0x1a04, 0xfe0f, [](P) -> u32 { util::stream_format(stream, "tbli y, (%s)", reg4(opcode)); return 1; } }, - { 0x1a08, 0xfe0f, [](P) -> u32 { util::stream_format(stream, "calli (%s)", reg4(opcode)); return 1; } }, + { 0x1a08, 0xfe0f, [](P) -> u32 { util::stream_format(stream, "calli (%s)", reg4(opcode)); return 1 | STEP_OVER; } }, { 0x0101, 0xffff, [](P) -> u32 { util::stream_format(stream, "mon"); return 1; } }, diff --git a/src/devices/cpu/upd177x/upd177xd.h b/src/devices/cpu/upd177x/upd177xd.h index 7cefe63aec07d..75895fc25beeb 100644 --- a/src/devices/cpu/upd177x/upd177xd.h +++ b/src/devices/cpu/upd177x/upd177xd.h @@ -27,7 +27,7 @@ class upd177x_disassembler : public util::disasm_interface static const instruction instructions[]; static std::string reg4(u16 opcode); - static std::string reg9(u16 opcode); + static std::string reg8(u16 opcode); static std::string imm8(u16 opcode); static std::string imm7(u16 opcode); static std::string imm6(u16 opcode); diff --git a/src/devices/cpu/upd777/upd777.cpp b/src/devices/cpu/upd777/upd777.cpp index fda5e638bb4b0..d915c031b8745 100644 --- a/src/devices/cpu/upd777/upd777.cpp +++ b/src/devices/cpu/upd777/upd777.cpp @@ -60,7 +60,7 @@ void upd777_cpu_device::internal_data_map(address_map &map) // 00 yyyyyyp (y = ypos, p = PRIO) // 01 xxxxxxx (x = xpos) // 02 ttttttt (t = pattern) - // 03 YYYRGBS (Y = , RGB = color, S=ySUB) + // 03 YYYRGBS (Y = , RGB = color, S=ySUB) map(0x00, 0x7f).ram().share("datamem"); } @@ -254,7 +254,7 @@ inline void upd777_cpu_device::set_frs(u8 frs) { m_frs = frs & 0x7f; } inline void upd777_cpu_device::set_fls(u8 fls) { m_fls = fls & 0x7f; } // MODE is a 7-bit register with the following format -// 6543210 +// 6543210 // rbhpRGB (r = reverberate sound effect, b = brightness, h = hue, p = black/prio, RGB = color) inline void upd777_cpu_device::set_mode(u8 mode) { m_mode = mode & 0x7f; } @@ -517,7 +517,7 @@ void upd777_cpu_device::do_op() { if (!non) { - if ((srcreg1 & srcreg2) == 0) // skip if (x·y) makes zero, N->L[2:1] + if ((srcreg1 & srcreg2) == 0) // skip if (x·y) makes zero, N->L[2:1] m_skip = 1; } else @@ -569,7 +569,7 @@ void upd777_cpu_device::do_op() } else if ((inst & 0b1111'1010'0000) == 0b0011'0010'0000) { - // 0b0011'0r1R'oonn (where r = reg1, R = reg2, o = optype, and n = next l value) + // 0b0011'0r1R'oonn (where r = reg1, R = reg2, o = optype, and n = next l value) // 320 AND A1[7:1] and A1[7:1], store to A1[7:1], N->L[2:1] // 324 Add A1[7:1] and A1[7:1], store to A1[7:1], N->L[2:1] // 328 OR A1[7:1] and A1[7:1], store to A1[7:1], N->L[2:1] @@ -606,7 +606,7 @@ void upd777_cpu_device::do_op() src1 = src1 + src2; // not in this case? //if (src1 & 0x80) - // m_skip = 1; + // m_skip = 1; break; } case 2: // OR @@ -719,7 +719,7 @@ void upd777_cpu_device::do_op() } else if ((inst & 0b1111'1100'0010) == 0b0100'0100'0000) { - // 0b0100'01dg'ks0n (where d = DISP, G = GPE, K = KIE, S = SME, n = A11) + // 0b0100'01dg'ks0n (where d = DISP, G = GPE, K = KIE, S = SME, n = A11) // 440 Set D to DISP, G to GPE, K to KIE, S to SME, N->A[11] const int d = (inst >> 5) & 0x1; const int g = (inst >> 4) & 0x1; @@ -1172,7 +1172,7 @@ uint32_t upd777_cpu_device::screen_update(screen_device &screen, bitmap_ind16 &b // 0x68-0x6f are 'Y Repeat' (7x7) // 0x70-0x77 are 'XY Repeat' (8x7) // 0x78-0x7f are 'X Repeat' (8x7) -// +// // NOTE, sprite patterns *7 and *f are unused so documentation expresses these ranges as to 66, 6e etc. rather than 67 6f // // it isn't clear how the 'Bent' effect etc. is enabled, as clearly not all patterns in this range should use it? diff --git a/src/devices/cpu/upd777/upd777dasm.cpp b/src/devices/cpu/upd777/upd777dasm.cpp index fd7597b8bab39..5ebd92eb451d1 100644 --- a/src/devices/cpu/upd777/upd777dasm.cpp +++ b/src/devices/cpu/upd777/upd777dasm.cpp @@ -135,7 +135,7 @@ offs_t upd777_disassembler::disassemble(std::ostream &stream, offs_t pc, const u else if (((inst & 0b1111'0000'0000) == 0b0010'0000'0000) && ((inst & 0b0000'0000'1100) != 0b0000'0000'0100)) { // 0b0010'rrnR'oonn where rr = reg1 (A1, A2, M or H), n = invert condition, R = reg2 (A1 or A2) and oo = optype (only 0,2,3 are valid, no cases here for 1) nn = next l value - // + // // optype · (AND) // 200 Skip if (A1[7:1]·A1[7:1]) makes zero, N->L[2:1] // 220 Skip if (A1[7:1]·A1[7:1]) makes non zero, N->L[2:1] @@ -499,6 +499,6 @@ offs_t upd777_disassembler::disassemble(std::ostream &stream, offs_t pc, const u { util::stream_format(stream, "%04x ", inst); } - + return 1; } diff --git a/src/devices/cpu/z80/t6a84.cpp b/src/devices/cpu/z80/t6a84.cpp index 07dedcf419304..3e0dca08688ee 100644 --- a/src/devices/cpu/z80/t6a84.cpp +++ b/src/devices/cpu/z80/t6a84.cpp @@ -139,7 +139,7 @@ bool t6a84_device::memory_translate(int spacenum, int intention, offs_t &address uint32_t t6a84_device::code_address(uint16_t address) { - const uint32_t page_address = PAGE_SIZE * m_code_page + address; + const uint32_t page_address = m_code_page << 16 | address; LOGMASKED(LOG_MEM, "CODE @ %06x => %06x\n", address, page_address); return page_address; @@ -147,7 +147,7 @@ uint32_t t6a84_device::code_address(uint16_t address) uint32_t t6a84_device::data_address(uint16_t address) { - const uint32_t page_address = PAGE_SIZE * m_data_page + address; + const uint32_t page_address = m_data_page << 16 | address; LOGMASKED(LOG_MEM, "DATA @ %06x => %06x\n", address, page_address); return page_address; @@ -155,7 +155,7 @@ uint32_t t6a84_device::data_address(uint16_t address) uint32_t t6a84_device::stack_address(uint16_t address) { - const uint32_t page_address = PAGE_SIZE * m_stack_page + address; + const uint32_t page_address = m_stack_page << 16 | address; LOGMASKED(LOG_MEM, "STACK @ %06x => %06x\n", address, page_address); return page_address; diff --git a/src/devices/cpu/z80/t6a84.h b/src/devices/cpu/z80/t6a84.h index 433cbb40e6824..6dfc428508777 100644 --- a/src/devices/cpu/z80/t6a84.h +++ b/src/devices/cpu/z80/t6a84.h @@ -41,8 +41,6 @@ class t6a84_device : public z80_device uint32_t stack_address(uint16_t address); protected: - static inline constexpr uint32_t PAGE_SIZE = 0x10000; - t6a84_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor io_map); // device-level overrides diff --git a/src/devices/machine/akiko.cpp b/src/devices/machine/akiko.cpp index 5ebe4603a0e63..be5d02c23c2f7 100644 --- a/src/devices/machine/akiko.cpp +++ b/src/devices/machine/akiko.cpp @@ -142,6 +142,7 @@ void akiko_device::device_start() m_cdrom_toc = nullptr; m_dma_timer = timer_alloc(FUNC(akiko_device::dma_proc), this); m_frame_timer = timer_alloc(FUNC(akiko_device::frame_proc), this); + m_toc_timer = timer_alloc(FUNC(akiko_device::cd_delayed_cmd), this); } //------------------------------------------------- @@ -694,8 +695,7 @@ void akiko_device::update_cdrom() { m_cdrom_cmd_start = (m_cdrom_cmd_start + 3) & 0xff; - machine().scheduler().timer_set( attotime::from_msec(1), timer_expired_delegate( FUNC( akiko_device::cd_delayed_cmd ), this ), resp[0] ); - + m_toc_timer->adjust(attotime::from_msec(1), resp[0] ); break; } else if ( cmd == 0x06 ) /* read subq */ diff --git a/src/devices/machine/akiko.h b/src/devices/machine/akiko.h index 1d1a61254ca27..73a3b36b09452 100644 --- a/src/devices/machine/akiko.h +++ b/src/devices/machine/akiko.h @@ -92,6 +92,7 @@ class akiko_device : public device_t emu_timer *m_dma_timer; emu_timer *m_frame_timer; + emu_timer *m_toc_timer; void nvram_write(uint32_t data); uint32_t nvram_read(); diff --git a/src/devices/machine/amigafdc.cpp b/src/devices/machine/amigafdc.cpp index 662a80dffe4b5..53ec7a5718b19 100644 --- a/src/devices/machine/amigafdc.cpp +++ b/src/devices/machine/amigafdc.cpp @@ -511,7 +511,9 @@ void amiga_fdc_device::ciaaprb_w(uint8_t data) floppy->setup_index_pulse_cb(floppy_image_device::index_pulse_cb(&amiga_fdc_device::index_callback, this)); } - if(floppy) { + const bool floppy_inserted = floppy && floppy->exists(); + + if(floppy_inserted) { floppy->ss_w(!(BIT(data, 2))); floppy->dir_w(BIT(data, 1)); floppy->stp_w(BIT(data, 0)); @@ -519,7 +521,7 @@ void amiga_fdc_device::ciaaprb_w(uint8_t data) m_fdc_led = BIT(data, 7); // LED directly connected to FDC motor } - if(floppy) { + if(floppy_inserted) { if(cur_live.state == IDLE) live_start(); } else diff --git a/src/devices/machine/nscsi_bus.cpp b/src/devices/machine/nscsi_bus.cpp index f9b73ec554081..9b68dec210193 100644 --- a/src/devices/machine/nscsi_bus.cpp +++ b/src/devices/machine/nscsi_bus.cpp @@ -15,7 +15,7 @@ #define LOG_DATA_SENT (1U << 5) #define VERBOSE (LOG_UNSUPPORTED) -#define LOG_OUTPUT_FUNC osd_printf_info +//#define LOG_OUTPUT_FUNC osd_printf_info #include "logmacro.h" diff --git a/src/devices/machine/timekpr.cpp b/src/devices/machine/timekpr.cpp index 4ba1ef306f1bd..7f004f3387324 100644 --- a/src/devices/machine/timekpr.cpp +++ b/src/devices/machine/timekpr.cpp @@ -148,8 +148,8 @@ m48t37_device::m48t37_device(const machine_config &mconfig, const char *tag, dev m_offset_flags = 0x7ff0; } -m48t58_device::m48t58_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) - : timekeeper_device(mconfig, M48T58, tag, owner, clock, 0x2000) +m48t58_device::m48t58_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock) + : timekeeper_device(mconfig, type, tag, owner, clock, 0x2000) { m_offset_watchdog = -1; m_offset_control = 0x1ff8; @@ -164,8 +164,13 @@ m48t58_device::m48t58_device(const machine_config &mconfig, const char *tag, dev m_offset_flags = -1; } -m48t58_device::m48t58_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock) - : timekeeper_device(mconfig, type, tag, owner, clock, 0x2000) +m48t58_device::m48t58_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) + : m48t58_device(mconfig, M48T58, tag, owner, clock) +{ +} + +ds1643_device::ds1643_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) + : m48t58_device(mconfig, DS1643, tag, owner, clock) { } @@ -200,11 +205,6 @@ mk48t12_device::mk48t12_device(const machine_config &mconfig, const char *tag, d m_offset_century = -1; } -ds1643_device::ds1643_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) - : m48t58_device(mconfig, DS1643, tag, owner, clock) -{ -} - //------------------------------------------------- // device_start - device-specific startup diff --git a/src/devices/machine/timekpr.h b/src/devices/machine/timekpr.h index 3ad2885151395..653a73060ea44 100644 --- a/src/devices/machine/timekpr.h +++ b/src/devices/machine/timekpr.h @@ -85,6 +85,7 @@ class timekeeper_device : public device_t, public device_nvram_interface, public emu_timer* m_watchdog_timer; attotime m_watchdog_delay; + protected: u32 const m_size; s32 m_offset_watchdog; @@ -127,22 +128,22 @@ class m48t58_device : public timekeeper_device m48t58_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock); }; -class mk48t08_device : public timekeeper_device +class ds1643_device : public m48t58_device { public: - mk48t08_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock = 0); + ds1643_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock = 0); }; -class mk48t12_device : public timekeeper_device +class mk48t08_device : public timekeeper_device { public: - mk48t12_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock = 0); + mk48t08_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock = 0); }; -class ds1643_device : public m48t58_device +class mk48t12_device : public timekeeper_device { public: - ds1643_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock = 0); + mk48t12_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock = 0); }; // device type definition diff --git a/src/devices/sound/ad1848.cpp b/src/devices/sound/ad1848.cpp index b47e3c4a683e5..ac37b4cd05fde 100644 --- a/src/devices/sound/ad1848.cpp +++ b/src/devices/sound/ad1848.cpp @@ -38,6 +38,7 @@ void ad1848_device::device_start() save_item(NAME(m_addr)); save_item(NAME(m_stat)); save_item(NAME(m_sam_cnt)); + save_item(NAME(m_calibration_cycles)); save_item(NAME(m_samples)); save_item(NAME(m_count)); save_item(NAME(m_play)); @@ -52,6 +53,7 @@ void ad1848_device::device_reset() m_addr = 0; m_stat = 0; m_sam_cnt = 0; + m_calibration_cycles = 0; m_samples = 0; m_play = false; m_irq = false; @@ -96,9 +98,17 @@ void ad1848_device::write(offs_t offset, uint8_t data) break; case 9: { + // auto-calibration + if (m_mce && BIT(data, 3)) + { + logerror("set auto-calibration\n"); + m_regs.init |= 0x20; + m_calibration_cycles = 384; + } + m_play = (data & 1) ? true : false; // FIXME: provide external configuration for XTAL1 (24.576 MHz) and XTAL2 (16.9344 MHz) inputs - attotime rate = m_play ? attotime::from_hz(((m_regs.dform & 1) ? 16.9344_MHz_XTAL : 24.576_MHz_XTAL) + attotime rate = (m_play || BIT(m_regs.init, 5)) ? attotime::from_hz(((m_regs.dform & 1) ? 16.9344_MHz_XTAL : 24.576_MHz_XTAL) / div_factor[(m_regs.dform >> 1) & 7]) : attotime::never; m_timer->adjust(rate, 0 , rate); m_drq_cb(m_play ? ASSERT_LINE : CLEAR_LINE); @@ -157,6 +167,16 @@ void ad1848_device::dack_w(uint8_t data) TIMER_CALLBACK_MEMBER(ad1848_device::update_tick) { + // auto-calibration + if (BIT(m_regs.init, 5)) + { + if (--m_calibration_cycles == 0) + { + logerror("calibration finished\n"); + m_regs.init &= ~0x20; + } + } + if(!m_play) return; switch(m_regs.dform >> 4) diff --git a/src/devices/sound/ad1848.h b/src/devices/sound/ad1848.h index d3ea876f0c675..934854b09dce0 100644 --- a/src/devices/sound/ad1848.h +++ b/src/devices/sound/ad1848.h @@ -55,6 +55,7 @@ class ad1848_device : public device_t uint16_t m_count; uint32_t m_samples; uint8_t m_sam_cnt; + uint16_t m_calibration_cycles; bool m_play, m_mce, m_trd, m_irq; devcb_write_line m_irq_cb; devcb_write_line m_drq_cb; diff --git a/src/devices/sound/namco.cpp b/src/devices/sound/namco.cpp index a83f0ccbb65c3..0b3f310270a22 100644 --- a/src/devices/sound/namco.cpp +++ b/src/devices/sound/namco.cpp @@ -5,11 +5,10 @@ NAMCO sound driver. This driver handles the four known types of NAMCO wavetable sounds: - - - 3-voice mono (PROM-based design: Pac-Man, Pengo, Dig Dug, etc) - - 8-voice quadrophonic (Pole Position 1, Pole Position 2) - - 8-voice mono (custom 15XX: Mappy, Dig Dug 2, etc) - - 8-voice stereo (System 1) + - 3-voice mono (PROM-based design: Pac-Man, Pengo, Dig Dug, etc) + - 8-voice quadrophonic (Pole Position 1, Pole Position 2) + - 8-voice mono (custom 15XX: Mappy, Dig Dug 2, etc) + - 8-voice stereo (System 1) The 15XX custom does not have a DAC of its own; instead, it streams the 4-bit PROM data directly into the 99XX custom DAC. Most pre-99XX @@ -31,18 +30,18 @@ #include "namco.h" -/* quality parameter: internal sample rate is 192 KHz, output is 48 KHz */ +// quality parameter: internal sample rate is 192 KHz, output is 48 KHz #define INTERNAL_RATE 192000 -/* 16 bits: sample bits of the stream buffer */ -/* 4 bits: volume */ -/* 4 bits: prom sample bits */ +// 16 bits: sample bits of the stream buffer +// 4 bits: volume +// 4 bits: prom sample bits #define MIXLEVEL (1 << (16 - 4 - 4)) -/* stream output level */ +// stream output level #define OUTPUT_LEVEL(n) ((n) * MIXLEVEL / m_voices) -/* a position of waveform sample */ +// a position of waveform sample #define WAVEFORM_POSITION(n) (((n) >> m_f_fracbits) & 0x1f) DEFINE_DEVICE_TYPE(NAMCO, namco_device, "namco", "Namco") @@ -73,7 +72,7 @@ namco_device::namco_device(const machine_config &mconfig, const char *tag, devic } namco_15xx_device::namco_15xx_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) - :namco_audio_device(mconfig, NAMCO_15XX, tag, owner, clock) + : namco_audio_device(mconfig, NAMCO_15XX, tag, owner, clock) , m_soundregs(nullptr) { } @@ -90,22 +89,22 @@ namco_cus30_device::namco_cus30_device(const machine_config &mconfig, const char void namco_audio_device::device_start() { - /* extract globals from the interface */ + // extract globals from the interface m_last_channel = m_channel_list + m_voices; - /* build the waveform table */ + // build the waveform table build_decoded_waveform(m_wave_ptr); - /* get stream channels */ + // get stream channels if (m_stereo) m_stream = stream_alloc(0, 2, 192000); else m_stream = stream_alloc(0, 1, 192000); - /* start with sound enabled, many games don't have a sound enable register */ + // start with sound enabled, many games don't have a sound enable register m_sound_enable = true; - /* register with the save state system */ + // register with the save state system if (m_wave_ptr == nullptr) save_pointer(NAME(m_wavedata), 0x400); @@ -114,7 +113,7 @@ void namco_audio_device::device_start() for (int v = 0; v < MAX_VOLUME; v++) save_pointer(NAME(m_waveform[v]), 32 * 8 * (1+m_wave_size), v); - /* reset all the voices */ + // reset all the voices for (sound_channel *voice = m_channel_list; voice < m_last_channel; voice++) { voice->frequency = 0; @@ -128,7 +127,7 @@ void namco_audio_device::device_start() voice->noise_hold = 0; } - /* register with the save state system */ + // register with the save state system save_pointer(STRUCT_MEMBER(m_channel_list, frequency), m_voices); save_pointer(STRUCT_MEMBER(m_channel_list, counter), m_voices); save_pointer(STRUCT_MEMBER(m_channel_list, volume), m_voices); @@ -163,14 +162,14 @@ void namco_audio_device::device_clock_changed() { int clock_multiple; - /* adjust internal clock */ + // adjust internal clock m_namco_clock = clock(); for (clock_multiple = 0; m_namco_clock < INTERNAL_RATE; clock_multiple++) m_namco_clock *= 2; m_f_fracbits = clock_multiple + 15; - /* adjust output clock */ + // adjust output clock m_sample_rate = m_namco_clock; logerror("Namco: freq fractional bits = %d: internal freq = %d, output freq = %d\n", m_f_fracbits, m_namco_clock, m_sample_rate); @@ -179,18 +178,15 @@ void namco_audio_device::device_clock_changed() } -/* update the decoded waveform data */ +// update the decoded waveform data void namco_audio_device::update_namco_waveform(int offset, uint8_t data) { if (m_wave_size == 1) { - int16_t wdata; - int v; - - /* use full byte, first 4 high bits, then low 4 bits */ - for (v = 0; v < MAX_VOLUME; v++) + // use full byte, first 4 high bits, then low 4 bits + for (int v = 0; v < MAX_VOLUME; v++) { - wdata = ((data >> 4) & 0x0f) - 8; + int16_t wdata = ((data >> 4) & 0x0f) - 8; m_waveform[v][offset * 2] = OUTPUT_LEVEL(wdata * v); wdata = (data & 0x0f) - 8; m_waveform[v][offset * 2 + 1] = OUTPUT_LEVEL(wdata * v); @@ -198,16 +194,14 @@ void namco_audio_device::update_namco_waveform(int offset, uint8_t data) } else { - int v; - - /* use only low 4 bits */ - for (v = 0; v < MAX_VOLUME; v++) + // use only low 4 bits + for (int v = 0; v < MAX_VOLUME; v++) m_waveform[v][offset] = OUTPUT_LEVEL(((data & 0x0f) - 8) * v); } } -/* build the decoded waveform table */ +// build the decoded waveform table void namco_audio_device::build_decoded_waveform(uint8_t *rgnbase) { if (rgnbase != nullptr) @@ -218,17 +212,17 @@ void namco_audio_device::build_decoded_waveform(uint8_t *rgnbase) m_wavedata = m_waveram_alloc.get(); } - /* 20pacgal has waves in RAM but old sound system */ + // 20pacgal has waves in RAM but old sound system int size; if (rgnbase == nullptr && m_voices != 3) { m_wave_size = 1; - size = 32 * 16; /* 32 samples, 16 waveforms */ + size = 32 * 16; // 32 samples, 16 waveforms } else { m_wave_size = 0; - size = 32 * 8; /* 32 samples, 8 waveforms */ + size = 32 * 8; // 32 samples, 8 waveforms } for (int v = 0; v < MAX_VOLUME; v++) @@ -239,7 +233,7 @@ void namco_audio_device::build_decoded_waveform(uint8_t *rgnbase) } -/* generate sound by oversampling */ +// generate sound by oversampling uint32_t namco_audio_device::namco_update_one(write_stream_view &buffer, const int16_t *wave, uint32_t counter, uint32_t freq) { for (int sampindex = 0; sampindex < buffer.samples(); sampindex++) @@ -285,10 +279,10 @@ void namco_device::pacman_sound_w(offs_t offset, uint8_t data) if (m_soundregs[offset] == data) return; - /* update the streams */ + // update the streams m_stream->update(); - /* set the register */ + // set the register m_soundregs[offset] = data; if (offset < 0x10) @@ -301,7 +295,7 @@ void namco_device::pacman_sound_w(offs_t offset, uint8_t data) if (ch >= m_voices) return; - /* recompute the voice parameters */ + // recompute the voice parameters voice = m_channel_list + ch; switch (offset - ch * 5) { @@ -314,13 +308,13 @@ void namco_device::pacman_sound_w(offs_t offset, uint8_t data) case 0x12: case 0x13: case 0x14: - /* the frequency has 20 bits */ - /* the first voice has extra frequency bits */ + // the frequency has 20 bits + // the first voice has extra frequency bits voice->frequency = (ch == 0) ? m_soundregs[0x10] : 0; voice->frequency += (m_soundregs[ch * 5 + 0x11] << 4); voice->frequency += (m_soundregs[ch * 5 + 0x12] << 8); voice->frequency += (m_soundregs[ch * 5 + 0x13] << 12); - voice->frequency += (m_soundregs[ch * 5 + 0x14] << 16); /* always 0 */ + voice->frequency += (m_soundregs[ch * 5 + 0x14] << 16); // always 0 break; case 0x15: @@ -340,10 +334,10 @@ void namco_cus30_device::pacman_sound_w(offs_t offset, uint8_t data) if (soundregs[offset] == data) return; - /* update the streams */ + // update the streams m_stream->update(); - /* set the register */ + // set the register soundregs[offset] = data; if (offset < 0x10) @@ -356,7 +350,7 @@ void namco_cus30_device::pacman_sound_w(offs_t offset, uint8_t data) if (ch >= m_voices) return; - /* recompute the voice parameters */ + // recompute the voice parameters voice = m_channel_list + ch; switch (offset - ch * 5) { @@ -369,13 +363,13 @@ void namco_cus30_device::pacman_sound_w(offs_t offset, uint8_t data) case 0x12: case 0x13: case 0x14: - /* the frequency has 20 bits */ - /* the first voice has extra frequency bits */ + // the frequency has 20 bits + // the first voice has extra frequency bits voice->frequency = (ch == 0) ? soundregs[0x10] : 0; voice->frequency += (soundregs[ch * 5 + 0x11] << 4); voice->frequency += (soundregs[ch * 5 + 0x12] << 8); voice->frequency += (soundregs[ch * 5 + 0x13] << 12); - voice->frequency += (soundregs[ch * 5 + 0x14] << 16); /* always 0 */ + voice->frequency += (soundregs[ch * 5 + 0x14] << 16); // always 0 break; case 0x15: @@ -433,21 +427,21 @@ void namco_device::polepos_sound_w(offs_t offset, uint8_t data) if (m_soundregs[offset] == data) return; - /* update the streams */ + // update the streams m_stream->update(); - /* set the register */ + // set the register m_soundregs[offset] = data; ch = (offset & 0x1f) / 4; - /* recompute the voice parameters */ + // recompute the voice parameters voice = m_channel_list + ch; switch (offset & 0x23) { case 0x00: case 0x01: - /* the frequency has 16 bits */ + // the frequency has 16 bits voice->frequency = m_soundregs[ch * 4 + 0x00]; voice->frequency += m_soundregs[ch * 4 + 0x01] << 8; break; @@ -468,7 +462,7 @@ void namco_device::polepos_sound_w(offs_t offset, uint8_t data) voice->volume[0] /= 2; voice->volume[1] /= 2; - /* if 54XX or 52XX selected, silence this voice */ + // if 54XX or 52XX selected, silence this voice if (m_soundregs[ch * 4 + 0x23] & 8) voice->volume[0] = voice->volume[1] = 0; break; @@ -509,19 +503,19 @@ void namco_15xx_device::namco_15xx_w(offs_t offset, uint8_t data) if (m_soundregs[offset] == data) return; - /* update the streams */ + // update the streams m_stream->update(); - /* set the register */ + // set the register m_soundregs[offset] = data; ch = offset / 8; if (ch >= m_voices) return; - /* recompute the voice parameters */ + // recompute the voice parameters voice = m_channel_list + ch; - switch (offset - ch * 8) + switch (offset & 7) { case 0x02: voice->counter &= util::make_bitmask(m_f_fracbits); @@ -537,10 +531,10 @@ void namco_15xx_device::namco_15xx_w(offs_t offset, uint8_t data) [[fallthrough]]; case 0x04: case 0x05: - /* the frequency has 20 bits */ + // the frequency has 20 bits voice->frequency = m_soundregs[ch * 8 + 0x04]; voice->frequency += m_soundregs[ch * 8 + 0x05] << 8; - voice->frequency += (m_soundregs[ch * 8 + 0x06] & 15) << 16; /* high bits are from here */ + voice->frequency += (m_soundregs[ch * 8 + 0x06] & 15) << 16; // high bits are from here break; } } @@ -575,11 +569,8 @@ void namco_15xx_device::namco_15xx_w(offs_t offset, uint8_t data) void namco_cus30_device::namcos1_sound_w(offs_t offset, uint8_t data) { sound_channel *voice; - int ch; - int nssw; - - /* verify the offset */ + // verify the offset if (offset > 63) { logerror("NAMCOS1 sound: Attempting to write past the 64 registers segment\n"); @@ -591,19 +582,19 @@ void namco_cus30_device::namcos1_sound_w(offs_t offset, uint8_t data) if (soundregs[offset] == data) return; - /* update the streams */ + // update the streams m_stream->update(); - /* set the register */ + // set the register soundregs[offset] = data; - ch = offset / 8; + int ch = offset / 8; if (ch >= m_voices) return; - /* recompute the voice parameters */ + // recompute the voice parameters voice = m_channel_list + ch; - switch (offset - ch * 8) + switch (offset & 7) { case 0x00: voice->volume[0] = data & 0x0f; @@ -614,8 +605,8 @@ void namco_cus30_device::namcos1_sound_w(offs_t offset, uint8_t data) [[fallthrough]]; case 0x02: case 0x03: - /* the frequency has 20 bits */ - voice->frequency = (soundregs[ch * 8 + 0x01] & 15) << 16; /* high bits are from here */ + // the frequency has 20 bits + voice->frequency = (soundregs[ch * 8 + 0x01] & 15) << 16; // high bits are from here voice->frequency += soundregs[ch * 8 + 0x02] << 8; voice->frequency += soundregs[ch * 8 + 0x03]; break; @@ -623,7 +614,7 @@ void namco_cus30_device::namcos1_sound_w(offs_t offset, uint8_t data) case 0x04: voice->volume[1] = data & 0x0f; - nssw = ((data & 0x80) >> 7); + int nssw = ((data & 0x80) >> 7); if (++voice == m_last_channel) voice = m_channel_list; voice->noise_sw = nssw; @@ -637,23 +628,36 @@ void namco_cus30_device::namcos1_cus30_w(offs_t offset, uint8_t data) { if (m_wavedata[offset] != data) { - /* update the streams */ + // update the streams m_stream->update(); m_wavedata[offset] = data; - /* update the decoded waveform table */ + // update the decoded waveform table update_namco_waveform(offset, data); } } else if (offset < 0x140) - namcos1_sound_w(offset - 0x100,data); + namcos1_sound_w(offset - 0x100, data); else m_wavedata[offset] = data; } uint8_t namco_cus30_device::namcos1_cus30_r(offs_t offset) { + if (offset >= 0x100 && offset < 0x140) + { + int ch = (offset - 0x100) / 8; + int reg = offset & 7; + + // reading from register 5 returns the counter (used by baraduke) + if (ch < m_voices && reg == 5) + { + m_stream->update(); + return WAVEFORM_POSITION(m_channel_list[ch].counter); + } + } + return m_wavedata[offset]; } @@ -680,15 +684,15 @@ void namco_audio_device::sound_stream_update(sound_stream &stream, std::vectorfrequency & 0xff; - /* only update if we have non-zero volume */ + // only update if we have non-zero volume if (lv || rv) { int hold_time = 1 << (m_f_fracbits - 16); @@ -709,13 +713,10 @@ void namco_audio_device::sound_stream_update(sound_stream &stream, std::vectornoise_counter; int16_t l_noise_data = OUTPUT_LEVEL(0x07 * (lv >> 1)); int16_t r_noise_data = OUTPUT_LEVEL(0x07 * (rv >> 1)); - int i; - /* add our contribution */ - for (i = 0; i < lmix.samples(); i++) + // add our contribution + for (int i = 0; i < lmix.samples(); i++) { - int cnt; - if (voice->noise_state) { lmix.add_int(i, l_noise_data, 32768); @@ -736,7 +737,7 @@ void namco_audio_device::sound_stream_update(sound_stream &stream, std::vector> 12); + int cnt = (c >> 12); c &= (1 << 12) - 1; for( ;cnt > 0; cnt--) { @@ -746,35 +747,35 @@ void namco_audio_device::sound_stream_update(sound_stream &stream, std::vectornoise_counter = c; voice->noise_hold = hold; } } else { - /* save the counter for this voice */ + // save the counter for this voice uint32_t c = voice->counter; - /* only update if we have non-zero left volume */ + // only update if we have non-zero left volume if (lv) { const int16_t *lw = &m_waveform[lv][voice->waveform_select * 32]; - /* generate sound into the buffer */ + // generate sound into the buffer c = namco_update_one(lmix, lw, voice->counter, voice->frequency); } - /* only update if we have non-zero right volume */ + // only update if we have non-zero right volume if (rv) { const int16_t *rw = &m_waveform[rv][voice->waveform_select * 32]; - /* generate sound into the buffer */ + // generate sound into the buffer c = namco_update_one(rmix, rw, voice->counter, voice->frequency); } - /* update the counter for this voice */ + // update the counter for this voice voice->counter = c; } } @@ -784,14 +785,15 @@ void namco_audio_device::sound_stream_update(sound_stream &stream, std::vectorvolume[0]; @@ -799,7 +801,7 @@ void namco_audio_device::sound_stream_update(sound_stream &stream, std::vectorfrequency & 0xff; - /* only update if we have non-zero volume */ + // only update if we have non-zero volume if (v) { int hold_time = 1 << (m_f_fracbits - 16); @@ -807,13 +809,10 @@ void namco_audio_device::sound_stream_update(sound_stream &stream, std::vectornoise_counter; int16_t noise_data = OUTPUT_LEVEL(0x07 * (v >> 1)); - int i; - /* add our contribution */ - for (i = 0; i < buffer.samples(); i++) + // add our contribution + for (int i = 0; i < buffer.samples(); i++) { - int cnt; - if (voice->noise_state) buffer.add_int(i, noise_data, 32768); else @@ -828,7 +827,7 @@ void namco_audio_device::sound_stream_update(sound_stream &stream, std::vector> 12); + int cnt = (c >> 12); c &= (1 << 12) - 1; for( ;cnt > 0; cnt--) { @@ -838,19 +837,19 @@ void namco_audio_device::sound_stream_update(sound_stream &stream, std::vectornoise_counter = c; voice->noise_hold = hold; } } else { - /* only update if we have non-zero volume */ + // only update if we have non-zero volume if (v) { const int16_t *w = &m_waveform[v][voice->waveform_select * 32]; - /* generate sound into buffer and update the counter for this voice */ + // generate sound into buffer and update the counter for this voice voice->counter = namco_update_one(buffer, w, voice->counter, voice->frequency); } } diff --git a/src/devices/sound/namco.h b/src/devices/sound/namco.h index 01ca882b3b4f8..a5ce6814402a4 100644 --- a/src/devices/sound/namco.h +++ b/src/devices/sound/namco.h @@ -20,7 +20,7 @@ class namco_audio_device : public device_t, static constexpr unsigned MAX_VOICES = 8; static constexpr unsigned MAX_VOLUME = 16; - /* this structure defines the parameters for a channel */ + // this structure defines the parameters for a channel struct sound_channel { uint32_t frequency; @@ -41,20 +41,19 @@ class namco_audio_device : public device_t, virtual void device_clock_changed() override; // internal state - void build_decoded_waveform( uint8_t *rgnbase ); void update_namco_waveform(int offset, uint8_t data); uint32_t namco_update_one(write_stream_view &buffer, const int16_t *wave, uint32_t counter, uint32_t freq); - /* waveform region */ + // waveform region optional_region_ptr m_wave_ptr; - /* data about the sound system */ + // data about the sound system sound_channel m_channel_list[MAX_VOICES]; sound_channel *m_last_channel; uint8_t *m_wavedata; - /* global sound parameters */ + // global sound parameters int m_wave_size; bool m_sound_enable; sound_stream *m_stream; @@ -62,12 +61,12 @@ class namco_audio_device : public device_t, int m_sample_rate; int m_f_fracbits; - int m_voices; /* number of voices */ - bool m_stereo; /* set to indicate stereo (e.g., System 1) */ + int m_voices; // number of voices + bool m_stereo; // set to indicate stereo (e.g., System 1) std::unique_ptr m_waveram_alloc; - /* decoded waveform table */ + // decoded waveform table std::unique_ptr m_waveform[MAX_VOLUME]; virtual void sound_stream_update(sound_stream &stream, std::vector const &inputs, std::vector &outputs) override; @@ -119,7 +118,7 @@ class namco_cus30_device : public namco_audio_device public: namco_cus30_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - void namcos1_cus30_w(offs_t offset, uint8_t data); /* wavedata + sound registers + RAM */ + void namcos1_cus30_w(offs_t offset, uint8_t data); // wavedata + sound registers + RAM uint8_t namcos1_cus30_r(offs_t offset); void namcos1_sound_w(offs_t offset, uint8_t data); diff --git a/src/devices/video/ef9340_1.cpp b/src/devices/video/ef9340_1.cpp index c218645208c68..0806ba51ca3ee 100644 --- a/src/devices/video/ef9340_1.cpp +++ b/src/devices/video/ef9340_1.cpp @@ -16,8 +16,6 @@ This is implemented with a callback. The datasheet explains how to hook up TODO: - busy state (right now it is immediate) - internal display timing (on g7400, most of it is done externally) -- window boxing -- Y zoom - RES(restart) pin ***************************************************************************/ @@ -35,16 +33,15 @@ This is implemented with a callback. The datasheet explains how to hook up DEFINE_DEVICE_TYPE(EF9340_1, ef9340_1_device, "ef9340_1", "Thomson EF9340+EF9341") -ef9340_1_device::ef9340_1_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) - : device_t(mconfig, EF9340_1, tag, owner, clock) - , device_video_interface(mconfig, *this) - , m_charset(*this, "ef9340_1") - , m_write_exram(*this) - , m_read_exram(*this, 0xff) -{ - m_offset_x = 0; - m_offset_y = 0; -} +ef9340_1_device::ef9340_1_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : + device_t(mconfig, EF9340_1, tag, owner, clock), + device_video_interface(mconfig, *this), + m_charset(*this, "ef9340_1"), + m_offset_x(0), + m_offset_y(0), + m_write_exram(*this), + m_read_exram(*this, 0xff) +{ } ROM_START( ef9340_1 ) @@ -317,7 +314,11 @@ TIMER_CALLBACK_MEMBER(ef9340_1_device::draw_scanline) if (vpos < 0) return; + int zoom = (m_ef9340.Y0 & 0x20 && vpos >= 10) ? 2 : 1; int slice = vpos % 10; + if (zoom == 2) + slice = ((vpos - 10) % 20) / 2; + bool dh = false; if (vpos == 0) m_ef9340.h_parity = false; @@ -331,8 +332,9 @@ TIMER_CALLBACK_MEMBER(ef9340_1_device::draw_scanline) u16 char_data = 0x00; u8 fg = 0; u8 bg = 0; + bool conceal = false; + bool box = bool(m_ef9340.R & 0x02); bool underline = false; - bool blank = false; bool w_parity = false; if (vpos < 10) @@ -354,7 +356,7 @@ TIMER_CALLBACK_MEMBER(ef9340_1_device::draw_scanline) else { // displaying regular row - y_row = ((m_ef9340.Y0 & 0x1f) + (vpos - 10) / 10) % 24; + y_row = ((m_ef9340.Y0 & 0x1f) + (vpos - 10) / (10 * zoom)) % 24; } for (int x = 0; x < 40; x++) @@ -455,14 +457,15 @@ TIMER_CALLBACK_MEMBER(ef9340_1_device::draw_scanline) for (int i = 0; i < 8; i++) { - u16 d = blank ? 0 : (char_data & 1) ? fg : bg; - m_tmp_bitmap.pix(m_offset_y + vpos, m_offset_x + x*8 + i) = d | 8; + u16 d = (conceal || box) ? 0 : (char_data & 1) ? fg : bg; + m_tmp_bitmap.pix(m_offset_y + vpos, m_offset_x + x*8 + i) = d | (box ? 0 : 8); char_data >>= 1; } if (del) { - blank = m_ef9340.R & 0x04 && b & 0x01; + conceal = b & 0x01 && (m_ef9340.R & 0x04); + box = !(b & 0x02) && (m_ef9340.R & 0x02); underline = bool(b & 0x04); } } @@ -474,7 +477,7 @@ TIMER_CALLBACK_MEMBER(ef9340_1_device::draw_scanline) } // determine next h parity - if (vpos >= 10 && slice == 9) + if (vpos >= 10 && vpos & 1 && slice == 9) { if (dh) m_ef9340.h_parity = !m_ef9340.h_parity; diff --git a/src/devices/video/ef9340_1.h b/src/devices/video/ef9340_1.h index 1433a992a31e9..539fcb395c17d 100644 --- a/src/devices/video/ef9340_1.h +++ b/src/devices/video/ef9340_1.h @@ -40,8 +40,7 @@ */ -class ef9340_1_device : public device_t, - public device_video_interface +class ef9340_1_device : public device_t, public device_video_interface { public: // construction/destruction diff --git a/src/devices/video/i8244.cpp b/src/devices/video/i8244.cpp index 1734d83677dbf..3a1fb8c696f2b 100644 --- a/src/devices/video/i8244.cpp +++ b/src/devices/video/i8244.cpp @@ -32,20 +32,20 @@ DEFINE_DEVICE_TYPE(I8245, i8245_device, "i8245", "Intel 8245") // i8244_device - constructor //------------------------------------------------- -i8244_device::i8244_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) - : i8244_device(mconfig, I8244, tag, owner, clock) +i8244_device::i8244_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : + i8244_device(mconfig, I8244, tag, owner, clock) { } -i8244_device::i8244_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock) - : device_t(mconfig, type, tag, owner, clock) - , device_sound_interface(mconfig, *this) - , device_video_interface(mconfig, *this) - , m_irq_func(*this) - , m_charset(*this, "cgrom") +i8244_device::i8244_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock) : + device_t(mconfig, type, tag, owner, clock), + device_sound_interface(mconfig, *this), + device_video_interface(mconfig, *this), + m_irq_func(*this), + m_charset(*this, "cgrom") { } -i8245_device::i8245_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) - : i8244_device(mconfig, I8245, tag, owner, clock) +i8245_device::i8245_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : + i8244_device(mconfig, I8245, tag, owner, clock) { } @@ -433,7 +433,7 @@ void i8244_device::write_cx(int x, bool cx) { if (cx) { - u8 colx = m_collision_map[x] & 0x3f; + u8 colx = m_collision_map[x]; // check if we collide with an already drawn source object if (colx) @@ -451,9 +451,7 @@ void i8244_device::write_cx(int x, bool cx) // check if an already drawn object would collide with us if (m_vdc.s.collision & 0x40) - { m_collision_status |= colx; - } } } @@ -662,13 +660,13 @@ void i8244_device::draw_minor(int scanline, bitmap_ind16 &bitmap, const rectangl switch (m_vdc.s.sprites[i].color & 0x03) { - case 1: // Xg attribute set + case 1: // X9 attribute set x_shift = 1; break; case 2: // S attribute set x_shift = (((scanline - y) / zoom_px) & 0x01) ^ 0x01; break; - case 3: // Xg and S attributes set + case 3: // X9 and S attributes set x_shift = ((scanline - y) / zoom_px) & 0x01; break; default: @@ -685,15 +683,17 @@ void i8244_device::draw_minor(int scanline, bitmap_ind16 &bitmap, const rectangl { if (cliprect.contains(px, scanline)) { - u8 mask = 1 << i; + // put zoom flag on high byte for later collision detection + u16 mask = (zoom_enable ? 0x101 : 1) << i; + u8 colx = m_collision_map[px]; // check if we collide with an already drawn source object - if (m_vdc.s.collision & m_collision_map[px]) + if (m_vdc.s.collision & colx) m_collision_status |= mask; // check if an already drawn object would collide with us if (m_vdc.s.collision & mask) - m_collision_status |= m_collision_map[px]; + m_collision_status |= colx; m_collision_map[px] |= mask; bitmap.pix(scanline, px) = color; @@ -714,8 +714,11 @@ u32 i8244_device::screen_update(screen_device &screen, bitmap_ind16 &bitmap, con for (int scanline = cliprect.min_y; scanline <= cliprect.max_y; scanline++) { // clear collision maps - memset(m_collision_map, 0, sizeof(m_collision_map)); - memset(m_priority_map, 0, sizeof(m_priority_map)); + if (cliprect.min_x == screen.visible_area().min_x) + { + memset(m_collision_map, 0, sizeof(m_collision_map)); + memset(m_priority_map, 0, sizeof(m_priority_map)); + } // display grid if enabled if (m_vdc.s.control & 0x08 && scanline >= 24 && scanline <= 218) @@ -727,6 +730,35 @@ u32 i8244_device::screen_update(screen_device &screen, bitmap_ind16 &bitmap, con draw_major(scanline, bitmap, cliprect); draw_minor(scanline, bitmap, cliprect); } + + // go over the collision map again for edge cases on this scanline + for (int x = cliprect.min_x; x <= cliprect.max_x; x++) + { + if (x > screen.visible_area().min_x) + { + u16 colx0 = m_collision_map[x - 1]; + u16 colx1 = m_collision_map[x]; + + // grid or minor to the left of major + if (colx1 & 0x80) + { + if (m_vdc.s.collision & colx0 & 0x3f) + m_collision_status |= 0x80; + + if (m_vdc.s.collision & 0x80) + m_collision_status |= colx0 & 0x3f; + } + + // grid to the left of non-zoomed minor + u8 mask = (colx1 & 0xf) & (~colx1 >> 8); + + if (m_vdc.s.collision & colx0 & 0x30) + m_collision_status |= mask; + + if (m_vdc.s.collision & mask) + m_collision_status |= colx0 & 0x30; + } + } } return 0; diff --git a/src/devices/video/i8244.h b/src/devices/video/i8244.h index ad6e25e7e94df..5b631e9b2b56e 100644 --- a/src/devices/video/i8244.h +++ b/src/devices/video/i8244.h @@ -39,9 +39,7 @@ DECLARE_DEVICE_TYPE(I8244, i8244_device) DECLARE_DEVICE_TYPE(I8245, i8245_device) -class i8244_device : public device_t - , public device_sound_interface - , public device_video_interface +class i8244_device : public device_t, public device_sound_interface, public device_video_interface { public: // construction/destruction @@ -156,7 +154,7 @@ class i8244_device : public device_t int m_bgate_start; vdc_t m_vdc; - u8 m_collision_map[0x200]; + u16 m_collision_map[0x200]; u8 m_priority_map[0x200]; u8 m_x_beam_pos; diff --git a/src/devices/video/pc_vga.cpp b/src/devices/video/pc_vga.cpp index 04a4e2730d31f..071dcb2989fae 100644 --- a/src/devices/video/pc_vga.cpp +++ b/src/devices/video/pc_vga.cpp @@ -369,6 +369,7 @@ void vga_device::io_3cx_map(address_map &map) map(0x00, 0x00).rw(FUNC(vga_device::atc_address_r), FUNC(vga_device::atc_address_data_w)); map(0x01, 0x01).r(FUNC(vga_device::atc_data_r)); map(0x02, 0x02).rw(FUNC(vga_device::input_status_0_r), FUNC(vga_device::miscellaneous_output_w)); +// map(0x03, 0x03).w(FUNC(vga_device::wakeup_w)); map(0x04, 0x04).rw(FUNC(vga_device::sequencer_address_r), FUNC(vga_device::sequencer_address_w)); map(0x05, 0x05).rw(FUNC(vga_device::sequencer_data_r), FUNC(vga_device::sequencer_data_w)); map(0x06, 0x06).rw(FUNC(vga_device::ramdac_mask_r), FUNC(vga_device::ramdac_mask_w)); @@ -1841,6 +1842,33 @@ TIMER_CALLBACK_MEMBER(vga_device::vblank_timer_cb) m_vblank_timer->adjust( screen().time_until_pos(vga.crtc.vert_blank_start + vga.crtc.vert_blank_end) ); } +// ISA bus bindings + +void vga_device::enter_setup_mode() +{ + // ... +} + +/* + * ---x ---- setup mode (only $102 accessible if this is on) + * ---- x--- Enable $03xx I/O and memory accesses + * ---- -xxx BIOS ROM page select for lowest 4 Kbyte range + * + * The generic ISA sequence is: + * $46e8 0x10 (setup mode) + * $0102 0x01 (wakeup core) + * $46e8 0x0e + * + */ +void vga_device::mode_setup_w(offs_t offset, u8 data) +{ + LOG("mode_setup_w %02x\n", data); + if (BIT(data, 4)) + { + enter_setup_mode(); + } +} + /************************************** * * SVGA overrides diff --git a/src/devices/video/pc_vga.h b/src/devices/video/pc_vga.h index 92f603277430b..d982163bbb092 100644 --- a/src/devices/video/pc_vga.h +++ b/src/devices/video/pc_vga.h @@ -36,6 +36,11 @@ class vga_device : public device_t void io_map(address_map &map) ATTR_COLD; + // $46e8, $56e8, $66e8, $76e8 for ISA bus + void mode_setup_w(offs_t offset, uint8_t data); + // $102 ISA bus / $3c3 MCA bus + //void wakeup_w(offs_t offset, uint8_t data); + virtual uint8_t mem_r(offs_t offset); virtual void mem_w(offs_t offset, uint8_t data); virtual uint8_t mem_linear_r(offs_t offset); @@ -83,6 +88,7 @@ class vga_device : public device_t void recompute_params_clock(int divisor, int xtal); virtual void recompute_params(); uint8_t vga_vblank(); + virtual void enter_setup_mode(); virtual space_config_vector memory_space_config() const override; diff --git a/src/devices/video/pc_vga_cirrus.cpp b/src/devices/video/pc_vga_cirrus.cpp index 1d669e5d62a83..04af15eb8ce5c 100644 --- a/src/devices/video/pc_vga_cirrus.cpp +++ b/src/devices/video/pc_vga_cirrus.cpp @@ -8,6 +8,8 @@ * - Original Acumos AVGA1/2 chipsets (Cirrus Logic eventually bought Acumos and rebranded); * - Fix or implement hidden DAC modes (15bpp + mixed, true color, others); * - bebox: logo at startup is squashed; + * - zorro/picasso2: many blitting errors, verify HW cursor; + * - zorro/picasso2: segmentation fault on exit * - Merge with trs/vis.cpp implementation (CL-GD5200 RAMDAC with custom VGA controller) * */ @@ -22,8 +24,9 @@ #define LOG_BLIT (1U << 2) #define LOG_HDAC (1U << 3) // log hidden DAC #define LOG_BANK (1U << 4) // log offset registers +#define LOG_PLL (1U << 5) -#define VERBOSE (LOG_GENERAL | LOG_HDAC | LOG_REG) +#define VERBOSE (LOG_GENERAL | LOG_HDAC | LOG_REG | LOG_BLIT) //#define LOG_OUTPUT_FUNC osd_printf_info #include "logmacro.h" @@ -101,7 +104,7 @@ void cirrus_gd5428_vga_device::ramdac_hidden_mask_w(offs_t offset, u8 data) // TODO: '5428 reads do not lock the Hidden DAC m_hidden_dac_mode = data; m_hidden_dac_phase = 0; - cirrus_define_video_mode(); + recompute_params(); LOGMASKED(LOG_HDAC, "CL: Hidden DAC write %02x\n", data); return; } @@ -182,7 +185,7 @@ void cirrus_gd5428_vga_device::crtc_map(address_map &map) NAME([this] (offs_t offset, u8 data) { vga.crtc.vert_blank_end &= ~0x00ff; vga.crtc.vert_blank_end |= data; - cirrus_define_video_mode(); + recompute_params(); }) ); map(0x19, 0x19).lrw8( @@ -203,7 +206,7 @@ void cirrus_gd5428_vga_device::crtc_map(address_map &map) m_cr1a = data; vga.crtc.horz_blank_end = (vga.crtc.horz_blank_end & 0xff3f) | ((data & 0x30) << 2); vga.crtc.vert_blank_end = (vga.crtc.vert_blank_end & 0xfcff) | ((data & 0xc0) << 2); - cirrus_define_video_mode(); + recompute_params(); }) ); map(0x1b, 0x1b).lrw8( @@ -217,7 +220,7 @@ void cirrus_gd5428_vga_device::crtc_map(address_map &map) vga.crtc.start_addr_latch |= ((data & 0x01) << 16); vga.crtc.start_addr_latch |= ((data & 0x0c) << 15); vga.crtc.offset = (vga.crtc.offset & 0x00ff) | ((data & 0x10) << 4); - cirrus_define_video_mode(); + recompute_params(); }) ); // map(0x25, 0x25) PSR Part Status (r/o, "factory testing and internal tracking only") @@ -330,6 +333,7 @@ void cirrus_gd5428_vga_device::gc_map(address_map &map) }), NAME([this](offs_t offset, u8 data) { m_blt_width = (m_blt_width & 0xff00) | data; + LOGMASKED(LOG_BLIT, "CL: blt_width %02x [0] (%04x)\n", data, m_blt_width); }) ); // BLT Width 1 @@ -339,6 +343,7 @@ void cirrus_gd5428_vga_device::gc_map(address_map &map) }), NAME([this](offs_t offset, u8 data) { m_blt_width = (m_blt_width & 0x00ff) | (data << 8); + LOGMASKED(LOG_BLIT, "CL: blt_width %02x [1] (%04x)\n", data, m_blt_width); }) ); // BLT Height 0 @@ -348,6 +353,7 @@ void cirrus_gd5428_vga_device::gc_map(address_map &map) }), NAME([this](offs_t offset, u8 data) { m_blt_height = (m_blt_height & 0xff00) | data; + LOGMASKED(LOG_BLIT, "CL: m_blt_height %02x [0] (%04x)\n", data, m_blt_height); }) ); // BLT Height 1 @@ -357,6 +363,7 @@ void cirrus_gd5428_vga_device::gc_map(address_map &map) }), NAME([this](offs_t offset, u8 data) { m_blt_height = (m_blt_height & 0x00ff) | (data << 8); + LOGMASKED(LOG_BLIT, "CL: m_blt_height %02x [1] (%04x)\n", data, m_blt_height); }) ); // BLT Destination Pitch 0 @@ -435,6 +442,8 @@ void cirrus_gd5428_vga_device::gc_map(address_map &map) }), NAME([this](offs_t offset, u8 data) { m_blt_status = data & ~0xf2; + if (BIT(data, 2)) + m_blt_status &= ~9; if(data & 0x02) { if(m_blt_mode & 0x04) // blit source is system memory @@ -513,7 +522,7 @@ void cirrus_gd5428_vga_device::sequencer_map(address_map &map) gc_locked = (data & 0x17) != 0x12; LOG("Cirrus register extensions %s\n", gc_locked ? "unlocked" : "locked"); m_lock_reg = data & 0x17; - cirrus_define_video_mode(); + recompute_params(); }) ); map(0x07, 0x07).lw8( @@ -522,7 +531,7 @@ void cirrus_gd5428_vga_device::sequencer_map(address_map &map) if((data & 0xf0) != 0) popmessage("pc_vga_cirrus: 1MB framebuffer window enabled at %iMB (%02x)",data >> 4,data); vga.sequencer.data[0x07] = data; - cirrus_define_video_mode(); + recompute_params(); }) ); // TODO: check me @@ -549,6 +558,7 @@ void cirrus_gd5428_vga_device::sequencer_map(address_map &map) }), NAME([this] (offs_t offset, u8 data) { m_vclk_num[offset] = data; + recompute_params(); }) ); map(0x0f, 0x0f).lrw8( @@ -616,12 +626,14 @@ void cirrus_gd5428_vga_device::sequencer_map(address_map &map) }), NAME([this] (offs_t offset, u8 data) { m_vclk_denom[offset] = data; + recompute_params(); }) ); } void cirrus_gd5428_vga_device::device_start() { + svga_device::device_start(); zero(); for (int i = 0; i < 0x100; i++) @@ -631,10 +643,10 @@ void cirrus_gd5428_vga_device::device_start() vga.crtc.maximum_scan_line = 1; // copy over interfaces - vga.memory = std::make_unique(vga.svga_intf.vram_size); - memset(&vga.memory[0], 0, vga.svga_intf.vram_size); + //vga.memory = std::make_unique(vga.svga_intf.vram_size); + //memset(&vga.memory[0], 0, vga.svga_intf.vram_size); - save_pointer(NAME(vga.memory), vga.svga_intf.vram_size); + //save_pointer(NAME(vga.memory), vga.svga_intf.vram_size); save_pointer(vga.crtc.data,"CRTC Registers",0x100); save_pointer(vga.sequencer.data,"Sequencer Registers",0x100); save_pointer(vga.attribute.data,"Attribute Registers", 0x15); @@ -663,7 +675,7 @@ void cirrus_gd5446_vga_device::device_start() void cirrus_gd5428_vga_device::device_reset() { - vga_device::device_reset(); + svga_device::device_reset(); gc_locked = true; gc_mode_ext = 0; gc_bank[0] = gc_bank[1] = 0; @@ -759,10 +771,11 @@ uint32_t cirrus_gd5428_vga_device::screen_update(screen_device &screen, bitmap_r return 0; } -void cirrus_gd5428_vga_device::cirrus_define_video_mode() +void cirrus_gd5428_vga_device::recompute_params() { uint8_t divisor = 1; float clock; + // TODO: coming from OSC, expose as this->clock() const XTAL xtal = XTAL(14'318'181); uint8_t clocksel = (vga.miscellaneous_output & 0xc) >> 2; @@ -774,6 +787,7 @@ void cirrus_gd5428_vga_device::cirrus_define_video_mode() int denominator = (m_vclk_denom[clocksel] & 0x3e) >> 1; int mul = m_vclk_denom[clocksel] & 0x01 ? 2 : 1; clock = (xtal * numerator / denominator / mul).dvalue(); + LOGMASKED(LOG_PLL, "CL: PLL setting %d num %d denom %d mul %d -> %f\n", clocksel, numerator, denominator, mul, clock); } svga.rgb8_en = svga.rgb15_en = svga.rgb16_en = svga.rgb24_en = svga.rgb32_en = 0; @@ -940,7 +954,7 @@ void cirrus_gd5428_vga_device::start_bitblt() m_blt_source_current = m_blt_source + (m_blt_source_pitch*(y+1)); m_blt_dest_current = m_blt_dest + (m_blt_dest_pitch*(y+1)); } - m_blt_status &= ~0x02; + m_blt_status &= ~0x09; } void cirrus_gd5428_vga_device::start_reverse_bitblt() @@ -1015,7 +1029,7 @@ void cirrus_gd5428_vga_device::start_reverse_bitblt() m_blt_source_current = m_blt_source - (m_blt_source_pitch*(y+1)); m_blt_dest_current = m_blt_dest - (m_blt_dest_pitch*(y+1)); } - m_blt_status &= ~0x02; + m_blt_status &= ~0x09; } void cirrus_gd5428_vga_device::start_system_bitblt() @@ -1106,9 +1120,17 @@ void cirrus_gd5428_vga_device::copy_pixel(uint8_t src, uint8_t dst) case 0x0e: // WHITE res = 0xff; break; + case 0x50: // DSna / DPna + // used by picasso2, unknown purpose + res = (dst & (~src)); + break; case 0x59: // SRCINVERT res = src ^ dst; break; + case 0x6d: // SRCPAINT / DSo + // picasso2 on VGA Workbench (upper right icon) + res = src | dst; + break; default: popmessage("pc_vga_cirrus: Unsupported BitBLT ROP mode %02x",m_blt_rop); } @@ -1164,11 +1186,21 @@ uint8_t cirrus_gd5428_vga_device::mem_r(offs_t offset) uint32_t addr; uint8_t cur_mode = pc_vga_choosevideomode(); - if(gc_locked || offset >= 0x10000 || cur_mode == TEXT_MODE || cur_mode == SCREEN_OFF) - return vga_device::mem_r(offset); - const uint8_t bank = offset_select(offset); + // FIXME: workaround crash behaviour in picasso2 + // it will otherwise provide an offset of 0x1fxxxx in the gc_locked below + // causing a crash during adapter init + if(svga.rgb8_en || svga.rgb15_en || svga.rgb16_en || svga.rgb24_en) + { + return svga_device::mem_linear_r((offset & 0xffff) + bank * 0x10000); + } + + if(gc_locked || offset >= 0x10000 || cur_mode == TEXT_MODE || cur_mode == SCREEN_OFF) + { + return vga_device::mem_r(offset & 0x1ffff); + } + if(gc_mode_ext & 0x20) // 16kB bank granularity addr = bank * 0x4000; else // 4kB bank granularity @@ -1315,13 +1347,20 @@ void cirrus_gd5428_vga_device::mem_w(offs_t offset, uint8_t data) return; } - if(gc_locked || offset >= 0x10000 || cur_mode == TEXT_MODE || cur_mode == SCREEN_OFF) + const uint8_t bank = offset_select(offset); + + // FIXME: as above + if(svga.rgb8_en || svga.rgb15_en || svga.rgb16_en || svga.rgb24_en) { - vga_device::mem_w(offset,data); + svga_device::mem_linear_w((offset + bank * 0x10000), data); return; } - const uint8_t bank = offset_select(offset); + if(gc_locked || offset >= 0x10000 || cur_mode == TEXT_MODE || cur_mode == SCREEN_OFF) + { + vga_device::mem_w(offset & 0x1ffff,data); + return; + } if(gc_mode_ext & 0x20) // 16kB bank granularity addr = bank * 0x4000; diff --git a/src/devices/video/pc_vga_cirrus.h b/src/devices/video/pc_vga_cirrus.h index 13c2053dbfa34..b9ed9f225c805 100644 --- a/src/devices/video/pc_vga_cirrus.h +++ b/src/devices/video/pc_vga_cirrus.h @@ -97,9 +97,9 @@ class cirrus_gd5428_vga_device : public svga_device virtual bool get_interlace_mode() override { return BIT(m_cr1a, 0); } uint8_t offset_select(offs_t offset); + virtual void recompute_params() override; private: - void cirrus_define_video_mode(); void start_bitblt(); void start_reverse_bitblt(); diff --git a/src/devices/video/pc_vga_paradise.cpp b/src/devices/video/pc_vga_paradise.cpp index 0bda31d64cec7..b9027b6578b39 100644 --- a/src/devices/video/pc_vga_paradise.cpp +++ b/src/devices/video/pc_vga_paradise.cpp @@ -321,14 +321,22 @@ void wd90c00_vga_device::device_reset() m_pr10_scratch = 0; m_ext_crtc_read_unlock = false; m_ext_crtc_write_unlock = false; - // egasw - m_pr11 = (m_cnf15_read_cb() << 7) | (m_cnf14_read_cb() << 6) | m_cnf13_read_cb() << 5 | m_cnf12_read_cb() << 4; m_interlace_start = 0; m_interlace_end = 0; m_interlace_mode = false; m_pr15 = 0; } +// Make sure fetching happens in setup mode +// macpb180c reads then writes 0xf4 to PR11 when waking up from sleep or restart +// (the intention is locking VCLK), assume config refetch happening here. +void wd90c00_vga_device::enter_setup_mode() +{ + vga_device::enter_setup_mode(); + // egasw + m_pr11 = (m_cnf15_read_cb() << 7) | (m_cnf14_read_cb() << 6) | m_cnf13_read_cb() << 5 | m_cnf12_read_cb() << 4; +} + ioport_value wd90c00_vga_device::egasw1_r() { return BIT(m_pr11, 4); } ioport_value wd90c00_vga_device::egasw2_r() { return BIT(m_pr11, 5); } ioport_value wd90c00_vga_device::egasw3_r() { return BIT(m_pr11, 6); } @@ -347,9 +355,12 @@ ioport_constructor wd90c00_vga_device::device_input_ports() const return INPUT_PORTS_NAME(paradise_vga_sense); } +// NOTE: make sure that PR10 just unlocks PR11~PR17 for wd90c26 +// (that has different unlock mechanism for flat panel regs) +// TODO: 'C11 and beyond are unchecked. u8 wd90c00_vga_device::crtc_data_r(offs_t offset) { - if (!m_ext_crtc_read_unlock && vga.crtc.index >= 0x2a && !machine().side_effects_disabled()) + if (!m_ext_crtc_read_unlock && vga.crtc.index >= 0x2a && vga.crtc.index <= 0x30 && !machine().side_effects_disabled()) { LOGLOCKED("Attempt to read ext. CRTC register offset %02x while locked\n", vga.crtc.index); return 0xff; @@ -359,7 +370,7 @@ u8 wd90c00_vga_device::crtc_data_r(offs_t offset) void wd90c00_vga_device::crtc_data_w(offs_t offset, u8 data) { - if (!m_ext_crtc_write_unlock && vga.crtc.index >= 0x2a && !machine().side_effects_disabled()) + if (!m_ext_crtc_write_unlock && vga.crtc.index >= 0x2a && vga.crtc.index <= 0x30 && !machine().side_effects_disabled()) { LOGLOCKED("Attempt to write ext. CRTC register offset [%02x] <- %02x while locked\n", vga.crtc.index, data); return; @@ -426,7 +437,7 @@ void wd90c00_vga_device::ext_crtc_unlock_w(offs_t offset, u8 data) { m_ext_crtc_read_unlock = (data & 0x88) == 0x80; m_ext_crtc_write_unlock = (data & 0x7) == 5; - LOGLOCKED("PR10 read %s write %s state (%02x)\n" + LOGLOCKED("PR10 CRTC read %s write %s state (%02x)\n" , m_ext_crtc_read_unlock ? "unlock" : "lock" , m_ext_crtc_write_unlock ? "unlock" : "lock" , data diff --git a/src/devices/video/pc_vga_paradise.h b/src/devices/video/pc_vga_paradise.h index b4670124b81b5..c71c2a3b67c52 100644 --- a/src/devices/video/pc_vga_paradise.h +++ b/src/devices/video/pc_vga_paradise.h @@ -78,6 +78,8 @@ class wd90c00_vga_device : public pvga1a_vga_device virtual ioport_constructor device_input_ports() const override ATTR_COLD; + virtual void enter_setup_mode() override; + private: virtual u8 crtc_data_r(offs_t offset) override; virtual void crtc_data_w(offs_t offset, u8 data) override; diff --git a/src/devices/video/upd7220.cpp b/src/devices/video/upd7220.cpp index 57a24c425e185..95fe02f032631 100644 --- a/src/devices/video/upd7220.cpp +++ b/src/devices/video/upd7220.cpp @@ -436,6 +436,7 @@ inline void upd7220_device::recompute_parameters() if (m_m) { screen().configure(horiz_pix_total, vert_pix_total, visarea, refresh); + screen().reset_origin(); update_hsync_timer(0); update_vsync_timer(0); diff --git a/src/devices/video/wd90c26.cpp b/src/devices/video/wd90c26.cpp index da18dce61bfae..c46bd4b8eb8d3 100644 --- a/src/devices/video/wd90c26.cpp +++ b/src/devices/video/wd90c26.cpp @@ -14,6 +14,11 @@ Paradise / Western Digital SVGA LCD chipsets variants #include "emu.h" #include "wd90c26.h" +#define VERBOSE (LOG_GENERAL) +//#define LOG_OUTPUT_FUNC osd_printf_info +#include "logmacro.h" + + DEFINE_DEVICE_TYPE(WD90C26, wd90c26_vga_device, "wd90c26_vga", "Western Digital WD90C26 VGA Controller") wd90c26_vga_device::wd90c26_vga_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) @@ -33,15 +38,64 @@ wd90c26_vga_device::wd90c26_vga_device(const machine_config &mconfig, const char void wd90c26_vga_device::crtc_map(address_map &map) { wd90c11a_vga_device::crtc_map(map); -// map(0x31, 0x31) PR18 Flat Panel Status -// map(0x32, 0x33) PR19/PR1A Flat Panel Control -// map(0x34, 0x34) PR1B Flat Panel Unlock + // PR18 Flat Panel Status + map(0x31, 0x31).lrw8( + NAME([this] (offs_t offset) { + LOG("PR18 Flat Panel Status R\n"); + return m_pr18_fp_status; + }), + NAME([this] (offs_t offset, u8 data) { + m_pr18_fp_status = data; + LOG("PR18 Flat Panel Status W %02x\n", data); + }) + ); +// PR19 Flat Panel Control I / PR1A Flat Panel Control II + map(0x32, 0x33).lrw8( + NAME([this] (offs_t offset) { + LOG("PR%02X Flat Panel Control %s R\n", offset + 0x19, offset ? "II" : "I"); + return m_fp_control[offset]; + }), + NAME([this] (offs_t offset, u8 data) { + m_fp_control[offset] = data; + LOG("PR%02X Flat Panel Control %s W %02x\n", offset + 0x19, offset ? "II" : "I", data); + }) + ); +// PR1B Flat Panel Unlock + map(0x34, 0x34).lrw8( + NAME([this] (offs_t offset) { + LOG("PR1B Flat Panel Unlock R\n"); + return m_pr1b_fp_unlock; + }), + NAME([this] (offs_t offset, u8 data) { + m_pr1b_fp_unlock = data; + LOG("PR1B Flat Panel Unlock W %02x\n", data); + }) + ); // map(0x35, 0x35) PR30 Mapping RAM Unlock // map(0x37, 0x37) PR41 Vertical Expansion Initial Value // map(0x38, 0x38) PR33 Mapping RAM Address Counter // map(0x39, 0x39) PR34 Mapping RAM Data -// map(0x3a, 0x3a) PR35 Mapping RAM Control and Power-Down -// map(0x3b, 0x3b) PR36 LCD Panel Height Select + // PR35 Mapping RAM Control and Power-Down + map(0x3a, 0x3a).lrw8( + NAME([this] (offs_t offset) { + LOG("PR35 Mapping RAM Control and Power-Down R\n"); + return m_pr35_powerdown; + }), + NAME([this] (offs_t offset, u8 data) { + m_pr35_powerdown = data; + LOG("PR35 Mapping RAM Control and Power-Down W %02x\n", data); + }) + ); + // PR36 LCD Panel Height Select + map(0x3b, 0x3b).lrw8( + NAME([this] (offs_t offset) { + return m_pr36_lcd_height; + }), + NAME([this] (offs_t offset, u8 data) { + m_pr36_lcd_height = data; + LOG("PR36 LCD Panel Height W %02x\n", data); + }) + ); // map(0x3c, 0x3c) PR37 Flat Panel Blinking Control // map(0x3e, 0x3e) PR39 Color LCD Control // map(0x3f, 0x3f) PR44 Power-Down Memory Refresh Control diff --git a/src/devices/video/wd90c26.h b/src/devices/video/wd90c26.h index 5066113b75e59..1001d57ae7ebf 100644 --- a/src/devices/video/wd90c26.h +++ b/src/devices/video/wd90c26.h @@ -17,6 +17,12 @@ class wd90c26_vga_device : public wd90c11a_vga_device virtual void crtc_map(address_map &map) override ATTR_COLD; virtual void gc_map(address_map &map) override ATTR_COLD; virtual void sequencer_map(address_map &map) override ATTR_COLD; +private: + u8 m_pr18_fp_status; + u8 m_fp_control[2]; + u8 m_pr1b_fp_unlock; + u8 m_pr35_powerdown; + u8 m_pr36_lcd_height; }; DECLARE_DEVICE_TYPE(WD90C26, wd90c26_vga_device) diff --git a/src/emu/gamedrv.h b/src/emu/gamedrv.h index 6ab934bc53f8a..9f454923f17ec 100644 --- a/src/emu/gamedrv.h +++ b/src/emu/gamedrv.h @@ -88,10 +88,6 @@ constexpr u64 MACHINE_NODEVICE_PRINTER = 0x00000100'00000000; constexpr u64 MACHINE_NODEVICE_LAN = 0x00000200'00000000; ///< The system has unemulated local area networking constexpr u64 MACHINE_IMPERFECT_TIMING = 0x00000400'00000000; ///< Timing is known to be imperfectly emulated for the system -// useful combinations of flags -constexpr u64 MACHINE_IS_SKELETON = MACHINE_NO_SOUND | MACHINE_NOT_WORKING; ///< Useful combination of flags for preliminary systems -constexpr u64 MACHINE_IS_SKELETON_MECHANICAL = MACHINE_IS_SKELETON | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK; // flag combination for skeleton mechanical machines - /// \} /// \} diff --git a/src/emu/ioport.cpp b/src/emu/ioport.cpp index d05a294d8f0e6..33f556e597fbf 100644 --- a/src/emu/ioport.cpp +++ b/src/emu/ioport.cpp @@ -740,8 +740,8 @@ ioport_field::ioport_field(ioport_port &port, ioport_type type, ioport_value def for (input_seq_type seqtype = SEQ_TYPE_STANDARD; seqtype < SEQ_TYPE_TOTAL; ++seqtype) m_seq[seqtype].set_default(); - for (int i = 0; i < std::size(m_chars); i++) - std::fill(std::begin(m_chars[i]), std::end(m_chars[i]), char32_t(0)); + for (auto &chars : m_chars) + std::fill(std::begin(chars), std::end(chars), UCHAR_INVALID); // for DIP switches and configs, look for a default value from the owner if (type == IPT_DIPSWITCH || type == IPT_CONFIG) @@ -909,11 +909,8 @@ std::vector ioport_field::keyboard_codes(int which) const if (which >= std::size(m_chars)) throw emu_fatalerror("Tried to access keyboard_code with out-of-range index %d\n", which); - std::vector result; - for (int i = 0; i < std::size(m_chars[which]) && m_chars[which][i] != 0; i++) - result.push_back(m_chars[which][i]); - - return result; + auto &chars = m_chars[which]; + return std::vector(std::begin(chars), std::find(std::begin(chars), std::end(chars), UCHAR_INVALID)); } @@ -3289,7 +3286,8 @@ ioport_configurer::ioport_configurer(device_t &owner, ioport_list &portlist, std m_errorbuf(errorbuf), m_curport(nullptr), m_curfield(nullptr), - m_cursetting(nullptr) + m_cursetting(nullptr), + m_curshift(0) { } @@ -3394,6 +3392,7 @@ ioport_configurer& ioport_configurer::field_alloc(ioport_type type, ioport_value // reset the current setting m_cursetting = nullptr; + m_curshift = 0; return *this; } @@ -3404,16 +3403,17 @@ ioport_configurer& ioport_configurer::field_alloc(ioport_type type, ioport_value ioport_configurer& ioport_configurer::field_add_char(std::initializer_list charlist) { - for (int index = 0; index < std::size(m_curfield->m_chars); index++) - if (m_curfield->m_chars[index][0] == 0) - { - const size_t char_count = std::size(m_curfield->m_chars[index]); - assert(charlist.size() > 0 && charlist.size() <= char_count); + if (m_curshift < std::size(m_curfield->m_chars)) + { + auto &chars = m_curfield->m_chars[m_curshift++]; + assert(chars[0] == UCHAR_INVALID); + assert(charlist.size() <= std::size(chars)); - for (size_t i = 0; i < char_count; i++) - m_curfield->m_chars[index][i] = i < charlist.size() ? *(charlist.begin() + i) : 0; - return *this; - } + std::copy(charlist.begin(), charlist.end(), std::begin(chars)); + std::fill(std::begin(chars) + charlist.size(), std::end(chars), UCHAR_INVALID); + + return *this; + } std::ostringstream s; bool is_first = true; diff --git a/src/emu/ioport.h b/src/emu/ioport.h index f1a4eb9b1c8be..8e8009ffce6cd 100644 --- a/src/emu/ioport.h +++ b/src/emu/ioport.h @@ -46,12 +46,13 @@ constexpr ioport_value IP_ACTIVE_LOW = 0xffffffff; constexpr int MAX_PLAYERS = 10; // unicode constants +constexpr char32_t UCHAR_INVALID = 0xffff; constexpr char32_t UCHAR_PRIVATE = 0x100000; constexpr char32_t UCHAR_SHIFT_1 = UCHAR_PRIVATE + 0; constexpr char32_t UCHAR_SHIFT_2 = UCHAR_PRIVATE + 1; constexpr char32_t UCHAR_SHIFT_BEGIN = UCHAR_SHIFT_1; constexpr char32_t UCHAR_SHIFT_END = UCHAR_SHIFT_2; -constexpr char32_t UCHAR_MAMEKEY_BEGIN = UCHAR_PRIVATE + 2; +constexpr char32_t UCHAR_MAMEKEY_BEGIN = UCHAR_SHIFT_END + 1; // crosshair types @@ -473,7 +474,7 @@ class ioport_condition bool none() const { return (m_condition == ALWAYS); } // configuration - void reset() { set(ALWAYS, nullptr, 0, 0); } + void reset() { set(ALWAYS, "", 0, 0); } void set(condition_t condition, const char *tag, ioport_value mask, ioport_value value) { m_condition = condition; @@ -488,7 +489,7 @@ class ioport_condition private: // internal state condition_t m_condition; // condition to use - const char * m_tag; // tag of port whose condition is to be tested + const char * m_tag; // tag of port whose condition is to be tested (must never be nullptr) ioport_port * m_port; // reference to the port to be tested ioport_value m_mask; // mask to apply to the port ioport_value m_value; // value to compare against @@ -1091,6 +1092,7 @@ class ioport_configurer ioport_port * m_curport; ioport_field * m_curfield; ioport_setting * m_cursetting; + int m_curshift; }; @@ -1454,12 +1456,6 @@ ATTR_COLD void INPUT_PORTS_NAME(_name)(device_t &owner, ioport_list &portlist, s #define PORT_SERVICE_NO_TOGGLE(_mask, _default) \ PORT_BIT( _mask, _mask & _default, IPT_SERVICE ) PORT_NAME( DEF_STR( Service_Mode )) -#define PORT_VBLANK(_screen) \ - PORT_READ_LINE_DEVICE_MEMBER(_screen, FUNC(screen_device::vblank)) - -#define PORT_HBLANK(_screen) \ - PORT_READ_LINE_DEVICE_MEMBER(_screen, FUNC(screen_device::hblank)) - //************************************************************************** // INLINE FUNCTIONS //************************************************************************** diff --git a/src/emu/layout/teletex800.lay b/src/emu/layout/teletex800.lay new file mode 100644 index 0000000000000..381c48ef34f80 --- /dev/null +++ b/src/emu/layout/teletex800.lay @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/emu/mconfig.cpp b/src/emu/mconfig.cpp index 2c8c1aa011b5c..275a4af46aefc 100644 --- a/src/emu/mconfig.cpp +++ b/src/emu/mconfig.cpp @@ -404,6 +404,6 @@ void machine_config::set_perfect_quantum(device_t &device, std::string tag) m_current_device->tag()); } - m_perfect_quantum_device.first = &device; + m_perfect_quantum_device.first = tag.empty() ? nullptr : &device; m_perfect_quantum_device.second = std::move(tag); } diff --git a/src/emu/natkeyboard.cpp b/src/emu/natkeyboard.cpp index 3a83ea2a1977c..d250f4c3b825a 100644 --- a/src/emu/natkeyboard.cpp +++ b/src/emu/natkeyboard.cpp @@ -516,6 +516,8 @@ void natural_keyboard::post_coded(std::string_view text, const attotime &rate) { "BACKSPACE"sv, 8 }, { "BS"sv, 8 }, { "BKSP"sv, 8 }, + { "CAPSLOCK"sv, UCHAR_MAMEKEY(CAPSLOCK) }, + { "CR"sv, 13 }, { "DEL"sv, UCHAR_MAMEKEY(DEL) }, { "DELETE"sv, UCHAR_MAMEKEY(DEL) }, { "END"sv, UCHAR_MAMEKEY(END) }, @@ -524,6 +526,7 @@ void natural_keyboard::post_coded(std::string_view text, const attotime &rate) { "HOME"sv, UCHAR_MAMEKEY(HOME) }, { "INS"sv, UCHAR_MAMEKEY(INSERT) }, { "INSERT"sv, UCHAR_MAMEKEY(INSERT) }, + { "LF"sv, 10 }, { "PGDN"sv, UCHAR_MAMEKEY(PGDN) }, { "PGUP"sv, UCHAR_MAMEKEY(PGUP) }, { "SPACE"sv, 32 }, @@ -678,11 +681,11 @@ void natural_keyboard::build_codes() { if (!(curshift & ~mask)) { - // fetch the code, ignoring 0 and shifters + // fetch the code, ignoring shifters std::vector const codes = field.keyboard_codes(curshift); for (char32_t code : codes) { - if (((code < UCHAR_SHIFT_BEGIN) || (code > UCHAR_SHIFT_END)) && (code != 0)) + if ((code < UCHAR_SHIFT_BEGIN) || (code > UCHAR_SHIFT_END)) { m_have_charkeys = true; keycode_map::iterator const found(devinfo.codemap.find(code)); diff --git a/src/emu/rendersw.hxx b/src/emu/rendersw.hxx index 55cabd22ce793..d4fde37566e1b 100644 --- a/src/emu/rendersw.hxx +++ b/src/emu/rendersw.hxx @@ -474,9 +474,9 @@ private: draw_aa_pixel(dstdata, pitch, x1, dy, apply_intensity(0xff & (~y1 >> 8), col)); dy++; dx -= 0x10000 - (0xffff & y1); // take off amount plotted - u8 a1 = (dx >> 8) & 0xff; // calc remainder pixel - dx >>= 16; // adjust to pixel (solid) count - while (dx--) // plot rest of pixels + u8 a1 = (dx >> 8) & 0xff; // calc remainder pixel + dx >>= 16; // adjust to pixel (solid) count + while (dx--) // plot rest of pixels { if (dy >= 0 && dy < height) draw_aa_pixel(dstdata, pitch, x1, dy, col); @@ -510,9 +510,9 @@ private: draw_aa_pixel(dstdata, pitch, dx, y1, apply_intensity(0xff & (~x1 >> 8), col)); dx++; dy -= 0x10000 - (0xffff & x1); // take off amount plotted - u8 a1 = (dy >> 8) & 0xff; // remainder pixel - dy >>= 16; // adjust to pixel (solid) count - while (dy--) // plot rest of pixels + u8 a1 = (dy >> 8) & 0xff; // remainder pixel + dy >>= 16; // adjust to pixel (solid) count + while (dy--) // plot rest of pixels { if (dx >= 0 && dx < width) draw_aa_pixel(dstdata, pitch, dx, y1, col); diff --git a/src/emu/rendlay.cpp b/src/emu/rendlay.cpp index be5413f99ae81..489f232a1adf8 100644 --- a/src/emu/rendlay.cpp +++ b/src/emu/rendlay.cpp @@ -2147,7 +2147,7 @@ class layout_element::rect_component : public component for (u32 y = bounds.top(); y <= bounds.bottom(); ++y) std::fill_n(&dest.pix(y, bounds.left()), width, f); } - else if (c.a) + else { // compute premultiplied color u32 const a(c.a * 255.0F); @@ -2156,6 +2156,9 @@ class layout_element::rect_component : public component u32 const b(u32(c.b * (255.0F * 255.0F)) * a); u32 const inva(255 - a); + if (!a) + return; + // we're translucent, add in the destination pixel contribution for (u32 y = bounds.top(); y <= bounds.bottom(); ++y) { @@ -2189,6 +2192,7 @@ class layout_element::disk_component : public component u32 const g(c.g * (255.0F * 255.0F) * a); u32 const b(c.b * (255.0F * 255.0F) * a); u32 const inva(255 - a); + if (!a) return; diff --git a/src/emu/xtal.cpp b/src/emu/xtal.cpp index 15489fcd56c05..9d5f4f55a5a8b 100644 --- a/src/emu/xtal.cpp +++ b/src/emu/xtal.cpp @@ -399,6 +399,7 @@ const double XTAL::known_xtals[] = { 28'224'000, // 28.224_MHz_XTAL Roland JD-800 28'322'000, // 28.322_MHz_XTAL Saitek RISC 2500, Mephisto Montreux 28'375'160, // 28.37516_MHz_XTAL Amiga PAL systems + 28'432'000, // 28.432_MHz_XTAL Fuuki FG-3J MAIN-J PCB 28'475'000, // 28.475_MHz_XTAL CoCo 3 PAL 28'480'000, // 28.48_MHz_XTAL Chromatics CGC-7900 28'636'000, // 28.636_MHz_XTAL Super Kaneko Nova System diff --git a/src/frontend/mame/luaengine.cpp b/src/frontend/mame/luaengine.cpp index d7375f3414094..53455d8cc5fc7 100644 --- a/src/frontend/mame/luaengine.cpp +++ b/src/frontend/mame/luaengine.cpp @@ -1462,7 +1462,19 @@ void lua_engine::initialize() machine_type["cassettes"] = sol::property([] (running_machine &m) { return devenum(m.root_device()); }); machine_type["images"] = sol::property([] (running_machine &m) { return devenum(m.root_device()); }); machine_type["slots"] = sol::property([](running_machine &m) { return devenum(m.root_device()); }); - + machine_type["phase"] = sol::property( + [](running_machine& m) + { + switch (m.phase()) + { + case machine_phase::PREINIT: return "preinit"; + case machine_phase::INIT: return "init"; + case machine_phase::RESET: return "reset"; + case machine_phase::RUNNING: return "running"; + case machine_phase::EXIT: return "exit"; + default: return ""; + } + }); auto game_driver_type = sol().registry().new_usertype("game_driver", sol::no_constructor); game_driver_type["name"] = sol::property([] (game_driver const &driver) { return &driver.name[0]; }); diff --git a/src/frontend/mame/ui/filemngr.cpp b/src/frontend/mame/ui/filemngr.cpp index f9a99474a1572..abbe2e29a8b18 100644 --- a/src/frontend/mame/ui/filemngr.cpp +++ b/src/frontend/mame/ui/filemngr.cpp @@ -38,9 +38,9 @@ namespace ui { // ctor //------------------------------------------------- -menu_file_manager::menu_file_manager(mame_ui_manager &mui, render_container &container, const char *warnings) +menu_file_manager::menu_file_manager(mame_ui_manager &mui, render_container &container, std::string &&warnings) : menu(mui, container) - , m_warnings(warnings ? warnings : "") + , m_warnings(std::move(warnings)) , m_selected_device(nullptr) { // The warning string is used when accessing from the force_file_manager call, i.e. @@ -66,7 +66,20 @@ void menu_file_manager::recompute_metrics(uint32_t width, uint32_t height, float { menu::recompute_metrics(width, height, aspect); - set_custom_space(0.0F, line_height() + 3.0F * tb_border()); + if (!m_warnings.empty()) + { + m_warnings_layout.reset(); + + float const max_width(1.0F - (4.0F * lr_border())); + m_warnings_layout.emplace(create_layout(max_width, text_layout::text_justify::LEFT)); + m_warnings_layout->add_text(m_warnings, ui().colors().text_color()); + + set_custom_space(0.0F, (float(m_warnings_layout->lines() + 1) * line_height()) + (6.0F * tb_border())); + } + else + { + set_custom_space(0.0F, line_height() + (3.0F * tb_border())); + } } @@ -77,8 +90,23 @@ void menu_file_manager::recompute_metrics(uint32_t width, uint32_t height, float void menu_file_manager::custom_render(uint32_t flags, void *selectedref, float top, float bottom, float origx1, float origy1, float origx2, float origy2) { // access the path - std::string_view path = m_selected_device && m_selected_device->exists() ? m_selected_device->filename() : std::string_view(); - extra_text_render(top, bottom, origx1, origy1, origx2, origy2, std::string_view(), path); + if (m_selected_device && m_selected_device->exists()) + extra_text_render(top, (3.0F * tb_border()) + line_height(), origx1, origy1, origx2, origy2, std::string_view(), m_selected_device->filename()); + + // show the warnings if any + if (m_warnings_layout) + { + ui().draw_outlined_box( + container(), + ((1.0F + m_warnings_layout->actual_width()) * 0.5F) + lr_border(), origy2 + (4.0F * tb_border()) + line_height(), + ((1.0F - m_warnings_layout->actual_width()) * 0.5F) - lr_border(), origy2 + bottom, + ui().colors().background_color()); + m_warnings_layout->emit( + container(), + (1.0F - m_warnings_layout->actual_width()) * 0.5F, + origy2 + (5.0F * tb_border()) + line_height()); + } + } @@ -111,7 +139,9 @@ void menu_file_manager::fill_image_line(device_image_interface &img, std::string } } else + { filename.assign("---"); + } } //------------------------------------------------- @@ -122,9 +152,6 @@ void menu_file_manager::populate() { m_notifiers.clear(); - if (!m_warnings.empty()) - item_append(m_warnings, FLAG_DISABLE, nullptr); - // cycle through all devices for this system bool missing_mandatory = false; std::unordered_set devtags; @@ -246,11 +273,11 @@ bool menu_file_manager::handle(event const *ev) } // force file manager menu -void menu_file_manager::force_file_manager(mame_ui_manager &mui, render_container &container, const char *warnings) +void menu_file_manager::force_file_manager(mame_ui_manager &mui, render_container &container, std::string &&warnings) { // drop any existing menus and start the file manager menu::stack_reset(mui); - menu::stack_push_special_main(mui, container, warnings); + menu::stack_push_special_main(mui, container, std::move(warnings)); mui.show_menu(); // make sure MAME is paused diff --git a/src/frontend/mame/ui/filemngr.h b/src/frontend/mame/ui/filemngr.h index ba031a0ab21cf..2c303d2cc9763 100644 --- a/src/frontend/mame/ui/filemngr.h +++ b/src/frontend/mame/ui/filemngr.h @@ -13,9 +13,11 @@ #pragma once #include "ui/menu.h" +#include "ui/text.h" #include "notifier.h" +#include #include #include @@ -25,9 +27,9 @@ namespace ui { class menu_file_manager : public menu { public: - static void force_file_manager(mame_ui_manager &mui, render_container &container, const char *warnings); + static void force_file_manager(mame_ui_manager &mui, render_container &container, std::string &&warnings); - menu_file_manager(mame_ui_manager &mui, render_container &container, const char *warnings); + menu_file_manager(mame_ui_manager &mui, render_container &container, std::string &&warnings); virtual ~menu_file_manager(); protected: @@ -42,6 +44,7 @@ class menu_file_manager : public menu std::string const m_warnings; std::vector m_notifiers; + std::optional m_warnings_layout; device_image_interface *m_selected_device; }; diff --git a/src/frontend/mame/ui/mainmenu.cpp b/src/frontend/mame/ui/mainmenu.cpp index 22a2c01f6c1ca..16b7396e7f540 100644 --- a/src/frontend/mame/ui/mainmenu.cpp +++ b/src/frontend/mame/ui/mainmenu.cpp @@ -243,7 +243,7 @@ bool menu_main::handle(event const *ev) break; case IMAGE_MENU_FILE_MANAGER: - menu::stack_push(ui(), container(), nullptr); + menu::stack_push(ui(), container(), std::string()); break; case TAPE_CONTROL: diff --git a/src/frontend/mame/ui/menu.cpp b/src/frontend/mame/ui/menu.cpp index 76f77261ea0b8..6f588bcc17f7e 100644 --- a/src/frontend/mame/ui/menu.cpp +++ b/src/frontend/mame/ui/menu.cpp @@ -667,7 +667,9 @@ void menu::draw(uint32_t flags) // compute top/left of inner menu area by centering float const visible_left = (1.0F - visible_width) * 0.5F; - m_items_top = std::round((((1.0F - visible_main_menu_height - visible_extra_menu_height) * 0.5F) + top_extra_menu_height) * float(m_last_size.second)) / float(m_last_size.second); + m_items_top = ((1.0F - visible_main_menu_height - visible_extra_menu_height) * 0.5F) + top_extra_menu_height; + if (m_last_size.second != 0) + m_items_top = std::round(m_items_top * float(m_last_size.second)) / float(m_last_size.second); // first add us a box float const x1 = visible_left - lr_border(); diff --git a/src/frontend/mame/ui/ui.cpp b/src/frontend/mame/ui/ui.cpp index 89e1fd6bd625b..dbfd5531be635 100644 --- a/src/frontend/mame/ui/ui.cpp +++ b/src/frontend/mame/ui/ui.cpp @@ -629,15 +629,15 @@ static void output_joined_collection(const TColl &collection, TEmitMemberFunc em void mame_ui_manager::display_startup_screens(bool first_time) { const int maxstate = 3; - int str = machine().options().seconds_to_run(); + int const str = machine().options().seconds_to_run(); bool show_gameinfo = !machine().options().skip_gameinfo(); - bool show_warnings = true, show_mandatory_fileman = true; + bool show_warnings = true; bool video_none = strcmp(downcast(machine().options()).video(), OSDOPTVAL_NONE) == 0; // disable everything if we are using -str for 300 or fewer seconds, or if we're the empty driver, // or if we are debugging, or if there's no mame window to send inputs to - if (!first_time || (str > 0 && str < 60*5) || &machine().system() == &GAME_NAME(___empty) || (machine().debug_flags & DEBUG_FLAG_ENABLED) != 0 || video_none) - show_gameinfo = show_warnings = show_mandatory_fileman = false; + if (!first_time || (str > 0 && str < 60*5) || &machine().system() == &GAME_NAME(___empty) || (machine().debug_flags & DEBUG_FLAG_ENABLED) || video_none) + show_gameinfo = show_warnings = false; #if defined(__EMSCRIPTEN__) // also disable for the JavaScript port since the startup screens do not run asynchronously @@ -773,16 +773,25 @@ void mame_ui_manager::display_startup_screens(bool first_time) case 2: std::vector> mandatory_images = mame_machine_manager::instance()->missing_mandatory_images(); - if (!mandatory_images.empty() && show_mandatory_fileman) + if (!mandatory_images.empty()) { std::ostringstream warning; - warning << _("This system requires media images to be mounted for the following device(s): "); + if ((str > 0) || (machine().debug_flags & DEBUG_FLAG_ENABLED) || video_none) + { + warning << "Images must be mounted for the following devices: "; + output_joined_collection(mandatory_images, + [&warning] (const std::reference_wrapper &img) { warning << img.get(); }, + [&warning] () { warning << ", "; }); + throw emu_fatalerror(std::move(warning).str()); + } + + warning << _("This system requires media images to be mounted for the following device(s): "); output_joined_collection(mandatory_images, - [&warning](const std::reference_wrapper &img) { warning << "\"" << img.get() << "\""; }, - [&warning]() { warning << ","; }); + [&warning] (const std::reference_wrapper &img) { warning << '"' << img.get() << '"'; }, + [&warning] () { warning << ", "; }); - ui::menu_file_manager::force_file_manager(*this, machine().render().ui_container(), warning.str().c_str()); + ui::menu_file_manager::force_file_manager(*this, machine().render().ui_container(), std::move(warning).str()); } break; } diff --git a/src/lib/formats/ap2_dsk.cpp b/src/lib/formats/ap2_dsk.cpp index e07ae76a08503..1880ad7bd239d 100644 --- a/src/lib/formats/ap2_dsk.cpp +++ b/src/lib/formats/ap2_dsk.cpp @@ -35,7 +35,7 @@ int a2_13sect_format::identify(util::random_read &io, uint32_t form_factor, cons if (io.length(size)) return 0; - if (size != APPLE2_STD_TRACK_COUNT * 13 * 256) + if (size != APPLE2_STD_TRACK_COUNT * 13 * APPLE2_SECTOR_SIZE) return 0; return FIFID_SIZE; @@ -49,11 +49,11 @@ bool a2_13sect_format::load(util::random_read &io, uint32_t form_factor, const s image.set_form_variant(floppy_image::FF_525, floppy_image::SSSD); - int tracks = size / 13 / 256; + int tracks = size / 13 / APPLE2_SECTOR_SIZE; for(int track = 0; track < tracks; track++) { std::vector track_data; - uint8_t sector_data[256 * 13]; + uint8_t sector_data[APPLE2_SECTOR_SIZE * 13]; auto const [err, actual] = read_at( io, track * sizeof sector_data, sector_data, sizeof sector_data); @@ -89,7 +89,7 @@ bool a2_13sect_format::load(util::random_read &io, uint32_t form_factor, const s pval = nval; }; - const uint8_t *sdata = sector_data + 256 * sector; + const uint8_t *sdata = sector_data + APPLE2_SECTOR_SIZE * sector; // write 154 bytes encoding bits 2-0 write_data_byte(sdata[255] & 7); @@ -218,16 +218,17 @@ int a2_16sect_format::identify(util::random_read &io, uint32_t form_factor, cons if (io.length(size)) return 0; - //uint32_t expected_size = 35 * 16 * 256; - uint32_t expected_size = APPLE2_TRACK_COUNT * 16 * 256; - // check standard size plus some oddball sizes in our softlist - if ((size != expected_size) && (size != 35 * 16 * 256) && (size != 143403) && (size != 143363) && (size != 143358)) + if ( + size != APPLE2_TRACK_COUNT * 16 * APPLE2_SECTOR_SIZE + && size != APPLE2_STD_TRACK_COUNT * 16 * APPLE2_SECTOR_SIZE + && size != 143403 && size != 143363 && size != 143358 && size != 143195 + ) { return 0; } - uint8_t sector_data[256*2]; + uint8_t sector_data[APPLE2_SECTOR_SIZE*2]; static const unsigned char pascal_block1[4] = { 0x08, 0xa5, 0x0f, 0x29 }; static const unsigned char pascal2_block1[4] = { 0xff, 0xa2, 0x00, 0x8e }; static const unsigned char dos33_block1[4] = { 0xa2, 0x02, 0x8e, 0x52 }; @@ -304,18 +305,20 @@ bool a2_16sect_format::load(util::random_read &io, uint32_t form_factor, const s image.set_form_variant(floppy_image::FF_525, floppy_image::SSSD); - int tracks = (size == (40 * 16 * 256)) ? 40 : 35; + int tracks = (size == (APPLE2_TRACK_COUNT * 16 * APPLE2_SECTOR_SIZE)) ? APPLE2_TRACK_COUNT : APPLE2_STD_TRACK_COUNT; int fpos = 0; for(int track=0; track < tracks; track++) { std::vector track_data; - uint8_t sector_data[256*16]; + uint8_t sector_data[APPLE2_SECTOR_SIZE*16]; auto const [err, actual] = read_at(io, fpos, sector_data, sizeof sector_data); - if (err || actual != sizeof sector_data) + // Some supported images have oddball sizes, where the last track is incomplete. + // Skip the `actual` check to avoid rejecting them. + if (err /* || actual != sizeof sector_data */) return false; - fpos += 256*16; + fpos += APPLE2_SECTOR_SIZE*16; for(int i=0; i<49; i++) raw_w(track_data, 10, 0x3fc); for(int i=0; i<16; i++) { @@ -330,7 +333,7 @@ bool a2_16sect_format::load(util::random_read &io, uint32_t form_factor, const s sector = dos_skewing[i]; } - const uint8_t *sdata = sector_data + 256 * sector; + const uint8_t *sdata = sector_data + APPLE2_SECTOR_SIZE * sector; for(int j=0; j<20; j++) raw_w(track_data, 10, 0x3fc); raw_w(track_data, 8, 0xff); @@ -393,34 +396,37 @@ uint8_t a2_16sect_format::gb(const std::vector &buf, int &pos, int &wrap) return v; } -//#define VERBOSE_SAVE - bool a2_16sect_format::save(util::random_read_write &io, const std::vector &variants, const floppy_image &image) const { int g_tracks, g_heads; int visualgrid[16][APPLE2_TRACK_COUNT]; // visualizer grid, cleared/initialized below -// lenient addr check: if unset, only accept an addr mark if the checksum was good -// if set, accept an addr mark if the track and sector values are both sane -#undef LENIENT_ADDR_CHECK -// if set, use the old, not as robust logic for choosing which copy of a decoded sector to write -// to the resulting image if the sector has a bad checksum and/or postamble -#undef USE_OLD_BEST_SECTOR_PRIORITY -// nothing found -#define NOTFOUND 0 -// address mark was found -#define ADDRFOUND 1 -// address checksum is good -#define ADDRGOOD 2 -// data mark was found (requires addrfound and sane values) -#define DATAFOUND 4 -// data checksum is good -#define DATAGOOD 8 -// data postamble is good -#define DATAPOST 16 + constexpr bool VERBOSE_SAVE = false; + + // if false, only accept an addr mark if the checksum was good + // if true, accept an addr mark if the track and sector values are both sane + constexpr bool LENIENT_ADDR_CHECK = false; + + // if true, use the old, not as robust logic for choosing which copy of a decoded sector to write + // to the resulting image if the sector has a bad checksum and/or postamble + constexpr bool USE_OLD_BEST_SECTOR_PRIORITY = false; + + // nothing found + constexpr int NOTFOUND = 0; + // address mark was found + constexpr int ADDRFOUND = 1; + // address checksum is good + constexpr int ADDRGOOD = 2; + // data mark was found (requires addrfound and sane values) + constexpr int DATAFOUND = 4; + // data checksum is good + constexpr int DATAGOOD = 8; + // data postamble is good + constexpr int DATAPOST = 16; + for (auto & elem : visualgrid) { for (int j = 0; j < APPLE2_TRACK_COUNT; j++) { - elem[j] = 0; + elem[j] = NOTFOUND; } } image.get_actual_geometry(g_tracks, g_heads); @@ -430,16 +436,16 @@ bool a2_16sect_format::save(util::random_read_write &io, const std::vector0) printf("t%d,", track); - uint8_t const *const data = sectdata + (256)*i; - auto const [err, actual] = write_at(io, pos_data, data, 256); - if (err || actual != 256) + uint8_t const *const data = sectdata + APPLE2_SECTOR_SIZE*i; + auto const [err, actual] = write_at(io, pos_data, data, APPLE2_SECTOR_SIZE); + if (err || actual != APPLE2_SECTOR_SIZE) return false; - pos_data += 256; + pos_data += APPLE2_SECTOR_SIZE; } //printf("\n"); } // display a little table of which sectors decoded ok - #ifdef VERBOSE_SAVE - int total_good = 0; - for (int j = 0; j < APPLE2_TRACK_COUNT; j++) { - printf("T%2d: ",j); - for (int i = 0; i < 16; i++) { - if (visualgrid[i][j] == NOTFOUND) printf("-NF- "); - else { - if (visualgrid[i][j] & ADDRFOUND) printf("a"); else printf(" "); - if (visualgrid[i][j] & ADDRGOOD) printf("A"); else printf(" "); - if (visualgrid[i][j] & DATAFOUND) printf("d"); else printf(" "); - if (visualgrid[i][j] & DATAGOOD) { printf("D"); total_good++; } else printf(" "); - if (visualgrid[i][j] & DATAPOST) printf("."); else printf(" "); + if(VERBOSE_SAVE) { + int total_good = 0; + for (int j = 0; j < APPLE2_TRACK_COUNT; j++) { + printf("T%2d: ",j); + for (int i = 0; i < 16; i++) { + if (visualgrid[i][j] == NOTFOUND) printf("-NF- "); + else { + if (visualgrid[i][j] & ADDRFOUND) printf("a"); else printf(" "); + if (visualgrid[i][j] & ADDRGOOD) printf("A"); else printf(" "); + if (visualgrid[i][j] & DATAFOUND) printf("d"); else printf(" "); + if (visualgrid[i][j] & DATAGOOD) { printf("D"); total_good++; } else printf(" "); + if (visualgrid[i][j] & DATAPOST) printf("."); else printf(" "); + } } + printf("\n"); } - printf("\n"); + printf("Total Good Sectors: %d\n", total_good); } - printf("Total Good Sectors: %d\n", total_good); - #endif return true; } @@ -1407,7 +1412,7 @@ bool a2_nib_format::load(util::random_read &io, uint32_t form_factor, const std: if (size != expected_size_35t && size != expected_size_40t) return false; - const auto nr_tracks = size == expected_size_35t? 35 : 40; + const auto nr_tracks = size / nibbles_per_track; std::vector nibbles(nibbles_per_track); for (unsigned track = 0; track < nr_tracks; ++track) { diff --git a/src/lib/formats/ap2_dsk.h b/src/lib/formats/ap2_dsk.h index c89aa3d953359..33117ecbd844c 100644 --- a/src/lib/formats/ap2_dsk.h +++ b/src/lib/formats/ap2_dsk.h @@ -21,12 +21,9 @@ ***************************************************************************/ -#define APPLE2_NIBBLE_SIZE 416 -#define APPLE2_SMALL_NIBBLE_SIZE 374 -#define APPLE2_STD_TRACK_COUNT 35 -#define APPLE2_TRACK_COUNT 40 -#define APPLE2_SECTOR_COUNT 16 -#define APPLE2_SECTOR_SIZE 256 +constexpr int APPLE2_STD_TRACK_COUNT = 35; +constexpr int APPLE2_TRACK_COUNT = 40; +constexpr int APPLE2_SECTOR_SIZE = 256; /**************************************************************************/ class a2_13sect_format : public floppy_image_format_t @@ -145,8 +142,8 @@ class a2_nib_format : public floppy_image_format_t private: static constexpr size_t nibbles_per_track = 0x1a00; static constexpr size_t min_sync_bytes = 4; - static constexpr auto expected_size_35t = 35 * nibbles_per_track; - static constexpr auto expected_size_40t = 40 * nibbles_per_track; + static constexpr auto expected_size_35t = APPLE2_STD_TRACK_COUNT * nibbles_per_track; + static constexpr auto expected_size_40t = APPLE2_TRACK_COUNT * nibbles_per_track; static std::vector generate_levels_from_nibbles(const std::vector& nibbles); }; diff --git a/src/lib/formats/fs_vtech.cpp b/src/lib/formats/fs_vtech.cpp index 27e7f93a0566e..6b4145184376b 100644 --- a/src/lib/formats/fs_vtech.cpp +++ b/src/lib/formats/fs_vtech.cpp @@ -19,7 +19,7 @@ namespace fs { const vtech_image VTECH; } // Filesystem has no subdirectories. // // Track 0 sectors 0-14 have the file names. 16 bytes/entry -// offset 0 : File type 'T' (basic) or 'B' (binary) +// offset 0 : File type 'T' (basic), 'B' (binary), or some other letter (application-specific) // offset 1 : 0x3a // offset 2-9: File name // offset a : Track number of first file sector @@ -114,7 +114,9 @@ std::vector vtech_image::file_meta_description() const res.emplace_back(meta_description(meta_name::name, "", false, [](const meta_value &m) { return m.as_string().size() <= 8; }, "File name, 8 chars")); res.emplace_back(meta_description(meta_name::loading_address, 0x7ae9, false, [](const meta_value &m) { return m.as_number() < 0x10000; }, "Loading address of the file")); res.emplace_back(meta_description(meta_name::length, 0, true, nullptr, "Size of the file in bytes")); - res.emplace_back(meta_description(meta_name::basic, true, true, nullptr, "Basic file")); + res.emplace_back(meta_description(meta_name::file_type, "T", true, + [](const meta_value &m) { return m.as_string().size() == 1 && m.as_string()[0] >= 'A' && m.as_string()[0] <= 'Z'; }, + "File type (e.g. T = text, B = binary)")); return res; } @@ -143,9 +145,9 @@ meta_data vtech_impl::file_metadata(const u8 *entry) meta_data res; res.set(meta_name::name, trim_end_spaces(rstr(entry+2, 8))); - res.set(meta_name::basic, entry[0] == 'T'); + res.set(meta_name::file_type, std::string{ char(entry[0]) }); res.set(meta_name::loading_address, get_u16le(entry + 0xc)); - res.set(meta_name::length, ((get_u16le(entry + 0xe) - get_u16le(entry + 0xc) + 1) & 0xffff)); + res.set(meta_name::length, (get_u16le(entry + 0xe) - get_u16le(entry + 0xc)) & 0xffff); return res; } @@ -157,12 +159,12 @@ std::tuple vtech_impl::file_find(std::string_view name) for(u32 i = 0; i != 8; i ++) { u32 off = i*16; u8 type = bdir.r8(off); - if(type != 'T' && type != 'B') + if(type < 'A' || type > 'Z') continue; if(bdir.r8(off+1) != ':') continue; if(trim_end_spaces(bdir.rstr(off+2, 8)) == name) { - return std::make_tuple(bdir, i); + return std::make_tuple(bdir, off); } } } @@ -187,12 +189,12 @@ err_t vtech_impl::metadata_change(const std::vector &path, const me return ERR_NOT_FOUND; auto [bdir, off] = file_find(path[0]); - if(!off) + if(off == 0xffffffff) return ERR_NOT_FOUND; u8 *entry = bdir.data() + off; - if(meta.has(meta_name::basic)) - entry[0x0] = meta.get_flag(meta_name::basic) ? 'T' : 'B'; + if(meta.has(meta_name::file_type)) + entry[0x0] = meta.get_string(meta_name::file_type)[0]; if(meta.has(meta_name::name)) { std::string name = meta.get_string(meta_name::name); name.resize(8, ' '); @@ -224,7 +226,7 @@ std::pair> vtech_impl::directory_contents(const st for(u32 i = 0; i != 8; i ++) { u32 off = i*16; u8 type = bdir.r8(off); - if(type != 'T' && type != 'B') + if(type < 'A' || type > 'Z') continue; if(bdir.r8(off+1) != ':') continue; @@ -241,7 +243,7 @@ err_t vtech_impl::rename(const std::vector &opath, const std::vecto return ERR_NOT_FOUND; auto [bdir, off] = file_find(opath[0]); - if(!off) + if(off == 0xffffffff) return ERR_NOT_FOUND; std::string name = npath[0]; @@ -272,13 +274,13 @@ err_t vtech_impl::file_create(const std::vector &path, const meta_d std::string fname = meta.get_string(meta_name::name, ""); fname.resize(8, ' '); - bdir.w8 (off+0x0, meta.get_flag(meta_name::basic, true) ? 'T' : 'B'); + bdir.w8 (off+0x0, meta.get_string(meta_name::file_type, "T")[0]); bdir.w8 (off+0x1, ':'); bdir.wstr(off+0x2, fname); bdir.w8 (off+0xa, 0x00); bdir.w8 (off+0xb, 0x00); bdir.w16l(off+0xc, meta.get_number(meta_name::loading_address, 0x7ae9)); - bdir.w16l(off+0xe, bdir.r16l(off+0xc) - 1); // Size 0 initially + bdir.w16l(off+0xe, bdir.r16l(off+0xc)); // Size 0 initially return ERR_OK; } } @@ -301,7 +303,7 @@ std::pair> vtech_impl::file_read(const std::vector &path, const std::ve u8 *entry = bdir.data() + off; - u32 cur_len = ((get_u16le(entry + 0xe) - get_u16le(entry + 0xc) + 1) & 0xffff); + u32 cur_len = (get_u16le(entry + 0xe) - get_u16le(entry + 0xc)) & 0xffff; u32 new_len = data.size(); if(new_len > 65535) new_len = 65535; @@ -370,7 +372,7 @@ err_t vtech_impl::file_write(const std::vector &path, const std::ve dblk.w16l(126, 0); } - u16 end_address = (get_u16le(entry + 0xc) + data.size() - 1) & 0xffff; + u16 end_address = (get_u16le(entry + 0xc) + data.size()) & 0xffff; put_u16le(entry + 0xe, end_address); if(need_ns) { entry[0xa] = blocks[0].first; diff --git a/src/lib/formats/fsmeta.cpp b/src/lib/formats/fsmeta.cpp index f3e91e706a0c4..3c731f21939ea 100644 --- a/src/lib/formats/fsmeta.cpp +++ b/src/lib/formats/fsmeta.cpp @@ -14,7 +14,6 @@ namespace fs { const char *meta_data::entry_name(meta_name name) { switch(name) { - case meta_name::basic: return "basic"; case meta_name::creation_date: return "creation_date"; case meta_name::length: return "length"; case meta_name::loading_address: return "loading_address"; diff --git a/src/lib/formats/fsmeta.h b/src/lib/formats/fsmeta.h index 0f6baf2013334..ff0b505ab8bc8 100644 --- a/src/lib/formats/fsmeta.h +++ b/src/lib/formats/fsmeta.h @@ -21,7 +21,6 @@ namespace fs { enum class meta_name { - basic, creation_date, length, loading_address, diff --git a/src/lib/formats/vt_dsk.cpp b/src/lib/formats/vt_dsk.cpp index 00284d2bd9e47..da7e450b67382 100644 --- a/src/lib/formats/vt_dsk.cpp +++ b/src/lib/formats/vt_dsk.cpp @@ -224,7 +224,7 @@ const char *vtech_dsk_format::description() const noexcept const char *vtech_dsk_format::extensions() const noexcept { - return "dsk"; + return "dsk,dvz"; } int vtech_bin_format::identify(util::random_read &io, uint32_t form_factor, const std::vector &variants) const diff --git a/src/mame/acorn/aristmk5.cpp b/src/mame/acorn/aristmk5.cpp index bac9fbd85c00c..e01ac8ab75930 100644 --- a/src/mame/acorn/aristmk5.cpp +++ b/src/mame/acorn/aristmk5.cpp @@ -29,8 +29,8 @@ - Bill acceptor is not emulated yet - Venezuelan games tend to complain about it but the error can be cleared with the jackpot key US games which can completely freeze after exceeding $1199.99 and forcing a hand pay, requiring the SRAM to be wiped: - - bumblbugu, bumblbugua, chickna5u, chickna5ua, eforsta5u, eforsta5ua, mgarden, minemineu, minemineua, pengpayu, - pengpayua, pengpayub, swhr2u, trpdlghtu, wcougaru, wcougarua, wcougarub, wnpost + - bumblbugu/ua/ub, chariotcu, chickna5u/ua, eforsta5u/ua, jumpjoeyu, mgarden/a, minemineu/ua/ub, pengpayu/ua/ub, swhr2u, trpdlghtu, + wcougarua/ub/uc, wldangelu, wnpost Games which do *not* lock up after a certain amount of spins: - All games from Holland, New Zealand, USA, and Casino versions. @@ -54,7 +54,7 @@ Queensland games use the QCOM protocol, the 0700474V casino BIOS uses the ASP1000 protocol, while blackpnt uses VLC (Video Lottery Consultants). The Brazilian casino BIOS however does not use comms, therefore qnilebr is playable. - By swapping u7/u11 with the other casino games (goldpyrb/jungjuic/penpir2), these games also become playable as ASP is not used. + By swapping u7/u11 with the other casino games (goldpyr/jungjuic/penpir2), these games also become playable as ASP is not used. Queensland and Victorian games do not use a base, therefore the protocol is hard coded into each game and cannot be overridden in such a manner. @@ -67,7 +67,7 @@ For example, the default setup may have 1, 5, 10, 15 and 20 line buttons; this option will turn every play button into 20 lines. The gamble (double up) feature can be enabled in the options on non-US machines. It is disabled by default. - On US machines which don't use set chips, the gamble feature is enabled with dip switch 2-1. + On US machines which don't use set chips, the gamble feature is enabled with DIP switch 2-1. On US machines which use set chips, the gamble feature can be enabled in the set chip options, but only if the game's region allows it. The gamble option can not be enabled at all in the Brazilian casino BIOS, although the program code for it still exists. @@ -101,7 +101,7 @@ US Hyperlink (e.g. Cash Express) games will not trigger the jackpot feature if variation 5 is not selected in the set chip options. This is not a bug, these games can either be set to normal non-progressive games or Hyperlink jackpot games. - This affects dolphntrce, dolphntrcea, dolphntrceb, eforsta5ce, glizrdce, kgalahce, pengpuck, qnilece, qnilecea and qnileceb. + This affects dolphntrce, dolphntrcea, dolphntrceb, eforstce, glizrdce, kgalahce, pengpayce, pengpaycea, pengpuck, qnilece, qnilecea and qnileceb. As Hyperlink jackpots are not emulated due to requiring an external link system, variation 5 should not be used at this time. Sets adonisce, qnilefl, qnilemax and rainwarrce cannot be set to non-progressive modes. @@ -144,7 +144,7 @@ Golden Pyramids = Queen of the Nile (Golden Pyramids confirmed using 0300439V EPROMs; note that some ROMs actually do contain the Golden Pyramids string) Wild Coyote = Loco Loot (Wild Coyote confirmed using 0100473V EPROMs) - Note that the artwork for Golden Pyramids (NSW/ACT) has a 1996 copyright, whereas Queen of the Nile has a 1997 copyright. + Note that some artwork for Golden Pyramids (NSW/ACT) has a 1996 copyright, whereas Queen of the Nile has a 1997 copyright. Earlier versions of Golden Pyramids (undumped) have prerecorded win music from MK2.5/MK4 games similar to dolphntra, as with other early MK5 games. Queen of the Nile does not use this early prerecorded music in any of its variants. @@ -169,6 +169,7 @@ Mystic Garden = Enchanted Forest (20 line) = Mountain Money (20 line) = Mammoth Money Peacock Flutter = Treasure Trove = Trojan Horse Penguin Pays = Jumping Beans = Jumpin' Joeys = Fortune Fever = Honky Tonk + Penguin Pays Deluxe = Diamond Dove Penguin Pirate = Penguin Pirate II = Gnome Around the World Phantom Pays = Enchanted Forest = Magic Garden = Lucky Clover = The Gambler = Thunder Heart (9 line) = Mountain Money (9 line) Reel Power = Wizard Ways @@ -207,7 +208,6 @@ Hearts of Venice (Venetian Nights/Venice clone, NSW version confirmed to exist) Hold Your Horses Inca Riches - King's Ransom Lucky Strike Moon Fire Multidraw - Deuces Wild @@ -287,7 +287,7 @@ Queensland games, older types: - bumblbugq, chickna5q + bumblbugq, chickna5q, swhr2q Audit key in, press Reserve (A) and the fourth line button (G) together to clear the memory. The game will automatically enter the Machine Options menu where you can change the QCOM poll address, serial number, denomination and bill acceptor settings. @@ -310,7 +310,7 @@ Casino games using the New Zealand 0700474V base EPROMs: - Currently, this is limited to goldpyrb, jungjuic and penpir2 (and also qnilebr if you swap the base EPROMs). The games are universal (all regions), however the base is region coded. + Currently, this is limited to goldpyr, jungjuic and penpir2 (and also qnilebr if you swap the base EPROMs). The games are universal (all regions), however the base is region coded. Step 1: Audit key in, press Service (A) and the fourth line button (G) together to clear the memory. @@ -378,14 +378,16 @@ Step 2: Audit key in, enter Operator Setup -> Machine Options and set up the machine to the applicable standards. To save the settings, open the Logic Door (L), press the Bet 1 Credit button (S), close the Logic Door and exit the menu (or press F2 for a shortcut to the main menu). + With blackpntu, the Bet 2 Credits button (F) is used to save changes instead of (S). - Step 3: The machine will now need a memory reset. From the main menu, open the Main Door (M) and press Cashout (A) and the fourth line button (T) together to clear the memory. + Step 3: The machine will now need a memory reset. From the main menu, open the Main Door (M) and press Service (A) and the fourth line button (T) together to clear the memory. + With blackpntu, the memory reset is Bet 1 Credit (D) instead of (T). After closing the Main Door (M) and keying out (F2), the menu should close and the game should be ready to coin up. Hint: If you need to change the DIP switches after a game has been set up, use a set chip to clear the memory (press Cashout+Service (A+S) once the set chip has loaded, and then go back to game mode). To switch between game mode and set chips, you need to reset the machine (F3) as it is technically swapping the ROMs on the board. Performing a memory reset will not erase the machine options, but it will cause a memory error which will allow you to set up anything else. - Using the Clear All Memory option from the set chip menu (assuming 4.04.xx) will erase everything however. + Using the Clear All Memory option from the set chip menu will erase everything however. ************************************************************************************************************* @@ -394,7 +396,7 @@ Step 1: Take note of Bet/Line setup. If an invalid bet/line combination is used, the machine cannot perform a memory clear or be set up so it is important to check. Key in (F2), Enter Operator Setup (T), Bet/Line Denom Settings to view allowable bet/line options - For example, qnilece only allows 20 lines with 5, 10, 25 or 50 credit multipliers, all other options are invalid. + For example, qnilece only supports 20 lines with 5, 10, 25 or 50 credit multipliers, all other options are invalid. The default (and usually invalid) setting is 1 line with a 3 credit multiplier, so it has to be changed in the set chip. Step 2: Take note if the set chip version. As with having a wrong bet/line setting, the machine cannot be set up if the wrong set chip version is used. @@ -452,7 +454,7 @@ Payout Setup Menu: This menu is not required in MAME. Step 3c: Playline Setup Menu - Remember how qnilece only allowed 20 lines, with bets of 5, 10, 25 and 50 credits? It's time to tell the set chip that this game is not a three-credit single-line game. + Remember how qnilece only supports 20 lines, with bets of 5, 10, 25 and 50 credits? It's time to tell the set chip that this game is not a three-credit single-line game. Of course, the higher the maximum bet, the larger the wins are at the cost of how much money you put through the machine. Most games also allow the button panel to be reversed, with the bet buttons on the top row and the playline buttons on the bottom, similar to non-US machines. This is toggled with G. Note that the intermediate bet values shown on the button display may not correspond perfectly with the actual bet values in the game itself; this information is not actually stored in the set chip and is up to the game's programming. @@ -529,7 +531,7 @@ - R0 == x "Undefined error in DRAM emulator area" It r/w RAM location 0 and it expects to NOT read-back value written. - goldpyr: checks if a "keyboard IRQ" fires (IRQ status B bit 6), it seems a serial port with data on it, + goldpyrua: checks if a "keyboard IRQ" fires (IRQ status B bit 6), it seems a serial port with data on it, returns an External Video Crystal Error (bp 3400278) dimtouch: @@ -541,12 +543,13 @@ bp 340064c: if R0 == 0 2MB DRAM is ok, otherwise there's an error set chip (BIOS): - same as goldpyr (serial + ext video crystal check) + same as goldpyrua (serial + ext video crystal check) bp 3400110: External Video Crystal test ***************************************************************************************************************** - MKV S2 Mainboard, PCB Layout: + MKV S2 Mainboard (1994), PCB Layout: + Note: The MVP Mainboard (1998) has a different layout. +--------------------------------------------------------------------------------------------------------+ | | 96-pin male connector | | 96-pin male connector | | 96-pin male connector | | @@ -556,14 +559,14 @@ | | | | | | |AMP | |U35 | +---+ +---+ +---+ | |S| | | | | +------+ +------+ +---+ +---+ +---+ | |I| +---+ +--+ +--+ |U46| |U21| |U66| | - |M| | |U52 ARISTOCRAT +---+ +---+ +---+ | - |M| +----+ | | MKV S2 MAINBOARD +------------+ | - | | +---------+ |U47 | | | PCB 0801-410091 | 3V BATTERY | | - |S| |U72 | +----+ +--+ ASSY 2501-410389 | | | - |O| | | +-----+ ISSUE A01 +------------+ | + |M| | |U52 +---+ +---+ +---+ | + |M| +----+ | | MKV S2 MAINBOARD +------------+ +------------+ +------------+ | + | | +---------+ |U47 | | | PCB 0801-410091 |B3 | |B2 | |B1 | | + |S| |U72 | +----+ +--+ ASSY 2501-410389 | | | | | | | + |O| | | +-----+ ISSUE A01 +------------+ +------------+ +------------+ | |C| | | |U23 | +----+ | - |K| | | | | |U53 | | - |E| +---------+ +-----+ +------------+ +----+ | + |K| | | | | ARISTOCRAT |U53 | | + |E| +---------+ +-----+ +------------+ ©1994 +----+ | |T| |U85 | +----+ +----+ +--+ +--+ +----+ +----+ +--+ +--+ | | | +---------+ | | |U58 | |U54 | |U | |U | |U59 | |U61 | |U | |U | | | | |U71 | | CPU | +----+ +----+ |1 | |4 | +----+ +----+ |1 | |4 | | @@ -629,7 +632,7 @@ U71: Texas Instruments TL16C452FN (UART Interface IC Dual UART w/Prl Port & w/o FIFO). U72: Texas Instruments TL16C452FN (UART Interface IC Dual UART w/Prl Port & w/o FIFO). U73: CX0826 72 MHz crystal. - U85: ARM250: Computer system on a chip. ARM 32bit RISC processor with memory, video, and I/O controllers. + U85: Acorn ARM250TG: Computer system on a chip. ARM 32bit RISC processor with memory, video, and I/O controllers. U89: Allegro MicroSystems UDN2543B (Protected quad power driver). U149: ISSI IS41C16257-60K (256K x 16bit (4-MBIT) Dynamic RAM With Fast Page Mode). U152: ISSI IS41C16257-60K (256K x 16bit (4-MBIT) Dynamic RAM With Fast Page Mode). @@ -645,6 +648,8 @@ X2: Unpopulated crystal (from factory). + B1/B2/B3: Panasonic BR-2/3A 3V lithium battery. The sockets for B2 and B3 are not populated on NSW boards. + The 96-pin female connector at the bottom of the ROM banks is intended for a sub board with two ROM sockets, that once plugged switch the ROM bank 0 with the sub board bank. Just to place the clear chips without removing the U7 & U11 EPROMs. @@ -666,7 +671,7 @@ #include "machine/ins8250.h" #include "machine/ticket.h" -// Non-US button layouts Bet buttons Lines Gamble Other +// Non-US button layouts Bet buttons Lines Gamble Notes #include "aristmk5.lh" // 1, 2, 3, 5, 10 20 suits Take Win/Start Feature #include "adonisce.lh" // 1, 2, 3, 5, 10 20 suits TW/SF, Cash Express buttons #include "baddog.lh" // Video Poker N/A suits @@ -682,16 +687,17 @@ #include "dreamwv.lh" // 1, 2, 5, 10, 20 9 suits TW/SF (touch-based gamble feature) #include "dynajack.lh" // multiple configs 9/20 suits TW/SF #include "fortellr.lh" // multiple configs 9/20 suits TW/SF (different bets to dynajack) -#include "geisha.lh" // 1, 2, 3, 5, 12 20 suits TW/SF, 15L or Autoplay +#include "geishanz.lh" // 1, 2, 3, 5, 12 20 suits TW/SF, 15L or Autoplay #include "genmagi.lh" // 1, 2, 3, 5, 25 20 suits TW/SF (touch-based gamble feature) #include "goldenra.lh" // 1, 2, 5, 25, 50 20 suits TW/SF -#include "goldpyrb.lh" // 1, 2, 3, 5, 10 9 suits TW/SF, Service +#include "goldpyr.lh" // 1, 2, 3, 5, 10 9 suits TW/SF, Service #include "incasun.lh" // 1, 2, 3, 5, 25 20 suits TW/SF #include "incasunnz.lh" // 1, 2, 3, 4, 5 20 suits TW/SF, 15L or Autoplay #include "indrema5.lh" // 1, 2, 5, 10, 20 243 suits TW/SF #include "jungjuic.lh" // 1, 2, 3, 4, 5 9 red/black Service #include "kgalah.lh" // 1, 2, 3, 5, 10 20 suits #include "kgbirda5.lh" // 1, 2, 3, 5, 10 5 red/black +#include "kingsran.lh" // 1, 3, 4, 5, 6 20 suits TW/SF, 15L or Autoplay #include "locoloota.lh" // 1, 2, 5, 10, 20 9 suits #include "marmagic.lh" // multiple configs 9/20 suits TW/SF (different bets to dynajack/fortellr) #include "montree.lh" // 1, 2, 3, 5, 12 20 suits 15L or Autoplay @@ -729,24 +735,82 @@ #include "wikwin.lh" // 1, 2, 3, 4 243 suits Max Bet button #include "wildbill.lh" // 1, 2, 3 3 suits #include "wizways.lh" // 1, 2, 5, 10, 20 243 suits -#include "wtiger.lh" // 1, 2, 3, 5, 10 20 suits Classic Buy Feature +#include "wtigerc.lh" // 1, 2, 3, 5, 10 20 suits Classic Buy Feature #include "yukongl5.lh" // multiple configs 20 suits TW/SF -// US button layouts Lines Bet buttons Max bet(s) Other -#include "adonisu.lh" // 20 multiple 100, 200, 500, 1000 -#include "aristmk5_us.lh" // 9 1, 2, 3, 5, 10 90 -#include "aristmk5_us_200.lh" // 20 1, 2, 3, 5, 10 200 -#include "bparty.lh" // 20 multiple 60, 100, 200, 400, 500, 1000 -#include "cuckoou.lh" // 9 multiple 27, 45, 90, 180, 225, 450 -#include "cashchamu.lh" // 20 multiple 60, 100, 200, 400, 500, 1000 Different layout on 3 credit setup -#include "dolphntrceb.lh" // 20 multiple 60, 100, 200, 400, 500, 1000 Different bets to bparty, cashchamu and pengpuck -#include "magimaska.lh" // 9 multiple 45, 90, 180 -#include "marmagicu.lh" // 9 multiple 45, 90, 180 Same bet buttons as magimaska but with Start Feature button -#include "pengpayce.lh" // 9 multiple 27, 45, 90, 180, 225, 450 Different layout to cuckoou -#include "pengpuck.lh" // 20 multiple 60, 100, 200, 400, 500, 1000 Slightly different layout to dolphntrceb -#include "qnilecea.lh" // 9 multiple 27, 45, 90, 180, 225, 450 Same bet buttons as pengpayce but with Start Feature button -#include "swhr2u.lh" // 5 1, 2, 3, 4, 5 25 -#include "wnpost.lh" // 5 1, 2, 3, 5, 10 50 +// US button layouts Lines Bet buttons Max bet(s) Notes +#include "adonisu.lh" // 20 1, 2, 3, 4, 5 100 15 Lines/Start Feature + // 1, 2, 3, 5, 10 200 + // 1, 2, 5, 10, 25 500 + // 1, 2, 5, 25, 50 1000 +#include "aristmk5_us.lh" // 9 1, 2, 3, 5, 10 90 No Start Feature button +#include "aristmk5_us_200.lh" // 20 1, 2, 3, 5, 10 200 No Start Feature button +#include "bparty.lh" // 20 multiple 60, 100, 200, 400, 500, 1000 +#include "bpartyb.lh" // 9 1, 2, 3 27 No Start Feature button, dedicated red/black buttons on 3 credit setup + // 1, 2, 3, 4, 5 45 + // 1, 2, 3, 5, 10 90 + // 1, 2, 5, 10, 20 180 + // 1, 2, 5, 10, 25 225 + // 1, 2, 10, 25, 50 450 +#include "blackpntu.lh" // 3 1, 2, 3 9 +#include "cuckoou.lh" // 9 1, 2, 3 27 7 Lines/Start Feature, dedicated red/black buttons on 3 credit setup + // 1, 2, 3, 4, 5 45 + // 1, 2, 3, 5, 10 90 + // 1, 2, 3, 5, 20 180 + // 1, 2, 3, 5, 25 225 + // 1, 5, 10, 25, 50 450 +#include "cashchamu.lh" // 20 1, 2, 3 60 No Start Feature button, no dedicated red/black buttons on 3 credit setup + // 1, 2, 3, 4, 5 100 + // 1, 2, 3, 5, 10 200 + // 1, 2, 3, 5, 20 400 + // 1, 2, 3, 5, 25 500 + // 1, 5, 10, 25, 50 1000 +#include "dolphntru.lh" // 20 1, 2, 3, 5, 10 200 15 Lines/Start Feature +#include "dolphntrua.lh" // 9 1, 2, 3, 5, 10 90 7 Lines/Start Feature +#include "dolphntrceb.lh" // 20 1, 2, 3 60 15 Lines/Start Feature, no dedicated red/black buttons on 3 credit setup + // 1, 2, 3, 4, 5 100 + // 1, 2, 3, 5, 10 200 + // 1, 2, 5, 10, 20 400 + // 1, 2, 5, 10, 25 500 + // 1, 2, 5, 25, 50 1000 +#include "magimaska.lh" // 9 1, 2, 3, 4, 5 45 No Start Feature button + // 1, 2, 3, 5, 10 90 + // 1, 2, 5, 10, 20 180 +#include "marmagicua.lh" // 9 1, 2, 3, 4, 5 45 7 Lines/Start Feature + // 1, 2, 3, 5, 10 90 + // 1, 2, 5, 10, 20 180 +#include "pengpayce.lh" // 9 1, 2, 3 27 No Start Feature button, no dedicated red/black buttons on 3 credit setup + // 1, 2, 3, 4, 5 45 + // 1, 2, 3, 5, 10 90 + // 1, 2, 5, 10, 20 180 + // 1, 2, 5, 10, 25 225 + // 1, 2, 5, 25, 50 450 +#include "pengpaycea.lh" // 9 1, 2, 3 27 No Start Feature button, dedicated red/black buttons on 3 credit setup + // 1, 2, 3, 4, 5 45 + // 1, 2, 3, 5, 10 90 + // 1, 2, 5, 10, 20 180 + // 1, 2, 5, 10, 25 225 + // 1, 2, 5, 25, 50 450 +#include "pengpaydx.lh" // 3 1, 2, 3 9 No Start Feature button, no dedicated red/black buttons on 3 credit setup + // 1, 2, 3, 4, 5 15 + // 1, 2, 3, 5, 10 30 + // 1, 2, 3, 5, 20 60 + // 1, 2, 3, 5, 25 75 + // 1, 5, 10, 25, 50 150 +#include "pengpuck.lh" // 20 1, 2, 3 60 No Start Feature button, dedicated red/black buttons on 3 credit setup + // 1, 2, 3, 4, 5 100 + // 1, 2, 3, 5, 10 200 + // 1, 2, 5, 10, 20 400 + // 1, 2, 5, 10, 25 500 + // 1, 2, 5, 25, 50 1000 +#include "qnilecea.lh" // 9 1, 2, 3 27 7 Lines/Start Feature, no dedicated red/black buttons on 3 credit setup + // 1, 2, 3, 4, 5 45 + // 1, 2, 3, 5, 10 90 + // 1, 2, 5, 10, 20 180 + // 1, 2, 5, 10, 25 225 + // 1, 2, 5, 25, 50 450 +#include "swhr2u.lh" // 5 1, 2, 3, 4, 5 25 No Start Feature button +#include "wnpost.lh" // 5 1, 2, 3, 5, 10 50 No Start Feature button namespace { @@ -982,7 +1046,7 @@ void aristmk5_state::Ns5w48(uint32_t data) */ /* - Golden Pyramids disassembly + goldpyrua disassembly MOV R0, #0x3200000 ROM:03400948 MOV R1, #8 @@ -1429,7 +1493,7 @@ static INPUT_PORTS_START( aristmk5_usa ) /* Button order in the Key Test menu is right to left; Gamble and Take Win are also reversed. - On a typical 90 credit machine such as goldpyr, the button order is Service, Bet 1, Bet 2, Bet 3, Bet 5, Bet 10, Gamble, Take Win + On a typical 90 credit machine such as goldpyrua, the button order is Service, Bet 1, Bet 2, Bet 3, Bet 5, Bet 10, Gamble, Take Win The button order has been designed to match the button panel rather than the test menu. */ PORT_START("P1") // Bottom row @@ -1548,6 +1612,32 @@ static INPUT_PORTS_START(trstrove) PORT_BIT(0x00002000, IP_ACTIVE_HIGH, IPT_BUTTON6) PORT_CODE(KEYCODE_Y) PORT_NAME("Bet 25 Credits / Spade") INPUT_PORTS_END +static INPUT_PORTS_START(tritreat) + PORT_INCLUDE(aristmk5) + + PORT_MODIFY("P1") // experimental use of PORT_CONDITION to select control panels + PORT_BIT(0x00000800, IP_ACTIVE_HIGH, IPT_BUTTON4) PORT_CODE(KEYCODE_R) PORT_NAME("Bet 3 Credits") PORT_CONDITION("CPANEL",0x01,NOTEQUALS,0x01) // 90 credit + PORT_BIT(0x00001000, IP_ACTIVE_HIGH, IPT_BUTTON5) PORT_CODE(KEYCODE_T) PORT_NAME("Bet 5 Credits / Club") PORT_CONDITION("CPANEL",0x01,NOTEQUALS,0x01) + PORT_BIT(0x00002000, IP_ACTIVE_HIGH, IPT_BUTTON6) PORT_CODE(KEYCODE_Y) PORT_NAME("Bet 10 Credits / Spade") PORT_CONDITION("CPANEL",0x01,NOTEQUALS,0x01) + PORT_BIT(0x00000020, IP_ACTIVE_HIGH, IPT_BUTTON9) PORT_CODE(KEYCODE_D) PORT_NAME("Play 3 Lines") PORT_CONDITION("CPANEL",0x01,NOTEQUALS,0x01) + PORT_BIT(0x00000010, IP_ACTIVE_HIGH, IPT_BUTTON10) PORT_CODE(KEYCODE_F) PORT_NAME("Play 5 Lines") PORT_CONDITION("CPANEL",0x01,NOTEQUALS,0x01) + PORT_BIT(0x00000008, IP_ACTIVE_HIGH, IPT_BUTTON11) PORT_CODE(KEYCODE_G) PORT_NAME("Play 7 Lines") PORT_CONDITION("CPANEL",0x01,NOTEQUALS,0x01) + PORT_BIT(0x00000004, IP_ACTIVE_HIGH, IPT_BUTTON12) PORT_CODE(KEYCODE_H) PORT_NAME("Play 9 Lines / Black") PORT_CONDITION("CPANEL",0x01,NOTEQUALS,0x01) + + PORT_BIT(0x00000800, IP_ACTIVE_HIGH, IPT_BUTTON4) PORT_CODE(KEYCODE_R) PORT_NAME("Bet 5 Credits") PORT_CONDITION("CPANEL",0x01,EQUALS,0x01) // 500 credit + PORT_BIT(0x00001000, IP_ACTIVE_HIGH, IPT_BUTTON5) PORT_CODE(KEYCODE_T) PORT_NAME("Bet 10 Credits / Club") PORT_CONDITION("CPANEL",0x01,EQUALS,0x01) + PORT_BIT(0x00002000, IP_ACTIVE_HIGH, IPT_BUTTON6) PORT_CODE(KEYCODE_Y) PORT_NAME("Bet 25 Credits / Spade") PORT_CONDITION("CPANEL",0x01,EQUALS,0x01) + PORT_BIT(0x00000020, IP_ACTIVE_HIGH, IPT_BUTTON9) PORT_CODE(KEYCODE_D) PORT_NAME("Play 5 Lines") PORT_CONDITION("CPANEL",0x01,EQUALS,0x01) + PORT_BIT(0x00000010, IP_ACTIVE_HIGH, IPT_BUTTON10) PORT_CODE(KEYCODE_F) PORT_NAME("Play 10 Lines") PORT_CONDITION("CPANEL",0x01,EQUALS,0x01) + PORT_BIT(0x00000008, IP_ACTIVE_HIGH, IPT_BUTTON11) PORT_CODE(KEYCODE_G) PORT_NAME("Play 15 Lines") PORT_CONDITION("CPANEL",0x01,EQUALS,0x01) + PORT_BIT(0x00000004, IP_ACTIVE_HIGH, IPT_BUTTON12) PORT_CODE(KEYCODE_H) PORT_NAME("Play 20 Lines / Black") PORT_CONDITION("CPANEL",0x01,EQUALS,0x01) + + PORT_START("CPANEL") // set this to match the game mode selected in Sevice Mode in addition to the layout + PORT_CONFNAME( 0x00000001, 0x00000000, "Control Panel Type" ) + PORT_CONFSETTING( 0x00000000, "90 Credit" ) + PORT_CONFSETTING( 0x00000001, "500 Credit" ) +INPUT_PORTS_END + static INPUT_PORTS_START(qnile) PORT_INCLUDE(aristmk5) @@ -1620,7 +1710,7 @@ static INPUT_PORTS_START(chariotcpe) PORT_BIT(0x00000004, IP_ACTIVE_HIGH, IPT_BUTTON12) PORT_CODE(KEYCODE_H) PORT_NAME("Play 9 Lines / Chariot 5 / Black") INPUT_PORTS_END -static INPUT_PORTS_START(geisha) +static INPUT_PORTS_START(geishanz) PORT_INCLUDE(aristmk5) PORT_MODIFY("P1") @@ -1628,15 +1718,24 @@ static INPUT_PORTS_START(geisha) PORT_BIT(0x00000008, IP_ACTIVE_HIGH, IPT_BUTTON11) PORT_CODE(KEYCODE_G) PORT_NAME("Play 15 Lines / Autoplay") INPUT_PORTS_END +static INPUT_PORTS_START(kingsran) + PORT_INCLUDE(geishanz) + + PORT_MODIFY("P1") + PORT_BIT(0x00000400, IP_ACTIVE_HIGH, IPT_BUTTON3) PORT_CODE(KEYCODE_E) PORT_NAME("Bet 3 Credits / Diamond") + PORT_BIT(0x00000800, IP_ACTIVE_HIGH, IPT_BUTTON4) PORT_CODE(KEYCODE_R) PORT_NAME("Bet 4 Credits") + PORT_BIT(0x00002000, IP_ACTIVE_HIGH, IPT_BUTTON6) PORT_CODE(KEYCODE_Y) PORT_NAME("Bet 6 Credits / Spade") +INPUT_PORTS_END + static INPUT_PORTS_START(one4all) - PORT_INCLUDE(geisha) + PORT_INCLUDE(geishanz) PORT_MODIFY("P1") PORT_BIT(0x00002000, IP_ACTIVE_HIGH, IPT_BUTTON6) PORT_CODE(KEYCODE_Y) PORT_NAME("Bet 6 Credits / Spade") INPUT_PORTS_END static INPUT_PORTS_START(montree) - PORT_INCLUDE(geisha) + PORT_INCLUDE(geishanz) PORT_MODIFY("P1") PORT_BIT(0x00000002, IP_ACTIVE_HIGH, IPT_BUTTON14) PORT_CODE(KEYCODE_K) PORT_NAME("Take Win") @@ -1658,7 +1757,7 @@ static INPUT_PORTS_START(dynajack) // button panel reflects 1000 credit option o PORT_BIT(0x00000002, IP_ACTIVE_HIGH, IPT_BUTTON14) PORT_CODE(KEYCODE_K) PORT_NAME("Take Win / Free Spin") INPUT_PORTS_END -static INPUT_PORTS_START(goldpyrb) +static INPUT_PORTS_START(goldpyr) PORT_INCLUDE(aristmk5_9) PORT_MODIFY("P1") @@ -2032,7 +2131,7 @@ static INPUT_PORTS_START(unicorndnz) PORT_BIT(0x00000008, IP_ACTIVE_HIGH, IPT_BUTTON11) PORT_CODE(KEYCODE_G) PORT_NAME("Play 15 Lines / Autoplay") INPUT_PORTS_END -static INPUT_PORTS_START(wtiger) +static INPUT_PORTS_START(wtigerc) PORT_INCLUDE(aristmk5) PORT_MODIFY("P1") @@ -2118,14 +2217,14 @@ static INPUT_PORTS_START(chickna5u) PORT_BIT(0x00000010, IP_ACTIVE_HIGH, IPT_BUTTON5) PORT_CODE(KEYCODE_T) PORT_NAME("Play 7 Lines / Run") INPUT_PORTS_END -static INPUT_PORTS_START(dolphntru) +static INPUT_PORTS_START(dolphntrua) PORT_INCLUDE(aristmk5_usa) PORT_MODIFY("P2") PORT_BIT(0x00000010, IP_ACTIVE_HIGH, IPT_BUTTON5) PORT_CODE(KEYCODE_T) PORT_NAME("Play 7 Lines / Start Feature") INPUT_PORTS_END -static INPUT_PORTS_START(bootsctnua) +static INPUT_PORTS_START(bootsctnud) PORT_INCLUDE(aristmk5_usa) PORT_MODIFY("P2") @@ -2135,29 +2234,8 @@ static INPUT_PORTS_START(bootsctnua) PORT_BIT(0x00000020, IP_ACTIVE_HIGH, IPT_BUTTON6) PORT_CODE(KEYCODE_Y) PORT_NAME("Play 20 Lines") INPUT_PORTS_END -static INPUT_PORTS_START(pengpuck) - PORT_INCLUDE(aristmk5_usa) - - PORT_MODIFY("P2") // experimental use of PORT_CONDITION to select control panels - PORT_BIT(0x00000004, IP_ACTIVE_HIGH, IPT_BUTTON3) PORT_CODE(KEYCODE_E) PORT_NAME("Play 5 Lines") PORT_CONDITION("CPANEL",0x01,NOTEQUALS,0x01) - PORT_BIT(0x00000008, IP_ACTIVE_HIGH, IPT_BUTTON4) PORT_CODE(KEYCODE_R) PORT_NAME("Play 10 Lines") PORT_CONDITION("CPANEL",0x01,NOTEQUALS,0x01) - PORT_BIT(0x00000010, IP_ACTIVE_HIGH, IPT_BUTTON5) PORT_CODE(KEYCODE_T) PORT_NAME("Play 15 Lines") PORT_CONDITION("CPANEL",0x01,NOTEQUALS,0x01) - PORT_BIT(0x00000020, IP_ACTIVE_HIGH, IPT_BUTTON6) PORT_CODE(KEYCODE_Y) PORT_NAME("Play 20 Lines") PORT_CONDITION("CPANEL",0x01,NOTEQUALS,0x01) - - PORT_BIT(0x00000004, IP_ACTIVE_HIGH, IPT_BUTTON3) PORT_CODE(KEYCODE_E) PORT_NAME("Alt Button 1") PORT_CONDITION("CPANEL",0x01,EQUALS,0x01) - PORT_BIT(0x00000008, IP_ACTIVE_HIGH, IPT_BUTTON4) PORT_CODE(KEYCODE_R) PORT_NAME("Alt Button 2") PORT_CONDITION("CPANEL",0x01,EQUALS,0x01) - PORT_BIT(0x00000010, IP_ACTIVE_HIGH, IPT_BUTTON5) PORT_CODE(KEYCODE_T) PORT_NAME("Alt Button 3") PORT_CONDITION("CPANEL",0x01,EQUALS,0x01) - PORT_BIT(0x00000020, IP_ACTIVE_HIGH, IPT_BUTTON6) PORT_CODE(KEYCODE_Y) PORT_NAME("Alt Button 4") PORT_CONDITION("CPANEL",0x01,EQUALS,0x01) - - PORT_START("CPANEL") // set this to match the game mode selected in Sevice Mode in addition to the layout - PORT_CONFNAME( 0x00000001, 0x00000000, "Control Panel Type" ) - PORT_CONFSETTING( 0x00000000, "Normal" ) - PORT_CONFSETTING( 0x00000001, "Alt" ) - -INPUT_PORTS_END - -static INPUT_PORTS_START(dolphntrce) - PORT_INCLUDE(bootsctnua) +static INPUT_PORTS_START(adonisu) + PORT_INCLUDE(bootsctnud) PORT_MODIFY("P2") PORT_BIT(0x00000010, IP_ACTIVE_HIGH, IPT_BUTTON5) PORT_CODE(KEYCODE_T) PORT_NAME("Play 15 Lines / Start Feature") @@ -2177,6 +2255,24 @@ static INPUT_PORTS_START(swhr2u) PORT_BIT(0x00000020, IP_ACTIVE_HIGH, IPT_BUTTON6) PORT_CODE(KEYCODE_Y) PORT_NAME("Play 5 Lines") INPUT_PORTS_END +static INPUT_PORTS_START(blackpntu) + PORT_INCLUDE(aristmk5_usa) + + PORT_MODIFY("P1") + PORT_BIT(0x00000040, IP_ACTIVE_HIGH, IPT_UNUSED) + PORT_BIT(0x00000020, IP_ACTIVE_HIGH, IPT_BUTTON9) PORT_CODE(KEYCODE_D) PORT_NAME("Bet 1 Credit / Red") + PORT_BIT(0x00000010, IP_ACTIVE_HIGH, IPT_BUTTON10) PORT_CODE(KEYCODE_F) PORT_NAME("Bet 2 Credits") + PORT_BIT(0x00000008, IP_ACTIVE_HIGH, IPT_BUTTON11) PORT_CODE(KEYCODE_G) PORT_NAME("Bet 3 Credits / Black") + PORT_BIT(0x00000004, IP_ACTIVE_HIGH, IPT_UNUSED) + + PORT_MODIFY("P2") + PORT_BIT(0x00000002, IP_ACTIVE_HIGH, IPT_UNUSED) + PORT_BIT(0x00000004, IP_ACTIVE_HIGH, IPT_BUTTON3) PORT_CODE(KEYCODE_E) PORT_NAME("Play 1 Lines") + PORT_BIT(0x00000008, IP_ACTIVE_HIGH, IPT_BUTTON4) PORT_CODE(KEYCODE_R) PORT_NAME("Play 2 Lines") + PORT_BIT(0x00000010, IP_ACTIVE_HIGH, IPT_BUTTON5) PORT_CODE(KEYCODE_T) PORT_NAME("Play 3 Lines") + PORT_BIT(0x00000020, IP_ACTIVE_HIGH, IPT_UNUSED) +INPUT_PORTS_END + static INPUT_PORTS_START(wnpost) PORT_INCLUDE(aristmk5_usa) @@ -2188,6 +2284,32 @@ static INPUT_PORTS_START(wnpost) PORT_BIT(0x00000020, IP_ACTIVE_HIGH, IPT_BUTTON6) PORT_CODE(KEYCODE_Y) PORT_NAME("Play 5 Lines / Horse 5") INPUT_PORTS_END +static INPUT_PORTS_START(chariotcu) + PORT_INCLUDE(aristmk5_usa) + + PORT_MODIFY("P2") + PORT_BIT(0x00000002, IP_ACTIVE_HIGH, IPT_BUTTON2) PORT_CODE(KEYCODE_W) PORT_NAME("Play 1 Line / Chariot 1") + PORT_BIT(0x00000004, IP_ACTIVE_HIGH, IPT_BUTTON3) PORT_CODE(KEYCODE_E) PORT_NAME("Play 2 Lines / Chariot 2") + PORT_BIT(0x00000008, IP_ACTIVE_HIGH, IPT_BUTTON4) PORT_CODE(KEYCODE_R) PORT_NAME("Play 3 Lines / Chariot 3") + PORT_BIT(0x00000010, IP_ACTIVE_HIGH, IPT_BUTTON5) PORT_CODE(KEYCODE_T) PORT_NAME("Play 4 Lines / Chariot 4") + PORT_BIT(0x00000020, IP_ACTIVE_HIGH, IPT_BUTTON6) PORT_CODE(KEYCODE_Y) PORT_NAME("Play 5 Lines / Chariot 5") +INPUT_PORTS_END + +static INPUT_PORTS_START(pengpaydx) + PORT_INCLUDE(aristmk5_usa) + + PORT_MODIFY("P2") + PORT_BIT(0x00000001, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_CODE(KEYCODE_Q) PORT_NAME("Cashout") + PORT_BIT(0x00000002, IP_ACTIVE_HIGH, IPT_UNUSED) + PORT_BIT(0x00000004, IP_ACTIVE_HIGH, IPT_BUTTON3) PORT_CODE(KEYCODE_E) PORT_NAME("Play 1 Lines") + PORT_BIT(0x00000008, IP_ACTIVE_HIGH, IPT_BUTTON4) PORT_CODE(KEYCODE_R) PORT_NAME("Play 2 Lines") + PORT_BIT(0x00000010, IP_ACTIVE_HIGH, IPT_BUTTON5) PORT_CODE(KEYCODE_T) PORT_NAME("Play 3 Lines") + PORT_BIT(0x00000020, IP_ACTIVE_HIGH, IPT_UNUSED) + PORT_BIT(0x00000040, IP_ACTIVE_HIGH, IPT_UNUSED) + PORT_BIT(0x00000080, IP_ACTIVE_HIGH, IPT_UNUSED) +INPUT_PORTS_END + + void aristmk5_state::init_aristmk5() { int do_debug = 0; @@ -2599,7 +2721,6 @@ ROM_END // Cash Express Hyperlink game // Variations (% and NO): 82.06% 07 ROM_START( adonisce ) - ARISTOCRAT_MK5_USA_SETCHIPS ARISTOCRAT_MK5_GALS ARISTOCRAT_MK5_EEPROM ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) @@ -2758,6 +2879,29 @@ ROM_START( blackpnt ) ROM_END +// FHG0949-01 / 594/1 / 3 Credit Multiplier/3 Line Multiline +// Black Panther / Export / C - 17/05/99 +// DIP switch setup, no set chips required +// Variations (% and NO): 92.038% 01 +ROM_START( blackpntu ) + ARISTOCRAT_MK5_USA_SETCHIPS + ARISTOCRAT_MK5_GALS + ARISTOCRAT_MK5_EEPROM + /* + Checksum code found at 0x000d08 + 0x000000-0x08e20f is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) + Expected Checksum 0xca9c5286 + Calculated Checksum 0xca9c5286 (OK) + 0x08e210-0x39cda3 is the non-Checksummed range (unusual endpoint) + */ + ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) + ROM_LOAD32_WORD( "fhg094901.u7", 0x000000, 0x80000, CRC(eb593ad0) SHA1(d68b30de49f1d370b4cb080de7c5a9ea1e2f5127) ) // 92.038% + ROM_LOAD32_WORD( "fhg094901.u11", 0x000002, 0x80000, CRC(3fa68dbb) SHA1(fbd60e15f0e25ebb281a87c6f55693f9c61712b9) ) // 92.038% + ROM_LOAD32_WORD( "fhg0949.u8", 0x100000, 0x80000, CRC(7008ffe9) SHA1(72f7a0bd6b06659ab85735c94c329a8e81449c94) ) // base + ROM_LOAD32_WORD( "fhg0949.u12", 0x100002, 0x80000, CRC(4b21087b) SHA1(5eb40951e08cfe38acf1ff7fb90b3bb03b9e2589) ) // base +ROM_END + + // 0100812V / 616/1 / 25 Credit Multiplier/20 Line Multiline // Boot Scootin' 500cm / NSW/ACT / B - 11/12/98 // Variations (% and NO): @@ -2786,12 +2930,78 @@ ROM_START( bootsctn ) ROM_END +// AHG1547 / MV4098/1 / 10 Credit Multiplier / 20 Line Multiline +// BOOT SCOOTIN' / Export / B - 22/03/01 +// ROM says '10 Credit Multiplier' but it can be set to either 5, 10, 25 or 50 credit multipliers +// Requires set chip version 4.04.xx +// Variations (% and NO): +// 86.922% 99 +// 90.012% 01 +// 92.069% 02 +// 94.504% 03 +// 96.939% 04 +ROM_START( bootsctnu ) + ARISTOCRAT_MK5_USA_SETCHIPS + ARISTOCRAT_MK5_GALS + ARISTOCRAT_MK5_EEPROM + /* + Checksum code found at 0x000d18 + 0x000000-0x0f47a7 is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) + Expected Checksum 0xae44f291 + Calculated Checksum 0xae44f291 (OK) + 0x0f47a8-0x3a0b5b is the non-Checksummed range (unusual endpoint) + */ + ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) + ROM_LOAD32_WORD( "ahg1547.u7", 0x000000, 0x80000, CRC(5ded48cb) SHA1(3335a9dc6758dd8b225258ab2cb01cf4e9c02dd2) ) + ROM_LOAD32_WORD( "ahg1547.u11", 0x000002, 0x80000, CRC(764dfdb8) SHA1(e68493dfac2d64c59d7576d4b124210089edda62) ) + ROM_LOAD32_WORD( "ahg1547.u8", 0x100000, 0x80000, CRC(7e26e7a9) SHA1(88dc5dbf6ada1b6f2218ef3b013bc91047401d21) ) + ROM_LOAD32_WORD( "ahg1547.u12", 0x100002, 0x80000, CRC(f2dfc38c) SHA1(7fd6c8e11feef375b0f1fac0cfebca74f5da2ed6) ) + ROM_LOAD32_WORD( "ahg1547.u9", 0x200000, 0x80000, CRC(13f410e4) SHA1(e5022dbb42d174b2e3eda8f1564c97ca8fa39deb) ) + ROM_LOAD32_WORD( "ahg1547.u13", 0x200002, 0x80000, CRC(a5382c96) SHA1(570479383d69dfc9e52ebd55b51989ca284d31e7) ) + ROM_LOAD32_WORD( "ahg1547.u10", 0x300000, 0x80000, CRC(a31d8a45) SHA1(5e62d0d3523fd381e940b4dbc6f84d83434bf83a) ) + ROM_LOAD32_WORD( "ahg1547.u14", 0x300002, 0x80000, CRC(de2888e2) SHA1(f614d68c0e09912e9126cb024f54ed32ee50b57e) ) +ROM_END + + +// AHG1433 / MV4098 / 9 Line Multiline / 10 Credit Multiplier +// BOOT SCOOTIN' / Export / B - 22/03/01 +// ROM says '10 Credit Multiplier' but it can be set to either 5, 10 or 20 credit multipliers +// Requires set chip version 4.03.xx +// Variations (% and NO): +// 86.922% 99 +// 89.099% 01 +// 92.069% 02 +// 94.504% 03 +// 96.939% 04 +ROM_START( bootsctnua ) + ARISTOCRAT_MK5_USA_SETCHIPS + ARISTOCRAT_MK5_GALS + ARISTOCRAT_MK5_EEPROM + /* + Checksum code found at 0x000d18 + 0x000000-0x0f36fb is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) + Expected Checksum 0xc17f4b2c + Calculated Checksum 0xc17f4b2c (OK) + 0x0f36fc-0x39fa87 is the non-Checksummed range (unusual endpoint) + */ + ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) + ROM_LOAD32_WORD( "ahg1433.u7", 0x000000, 0x80000, CRC(f8f027ae) SHA1(af20ffddf01f5660f2dd1fc4f1dc144329890401) ) + ROM_LOAD32_WORD( "ahg1433.u11", 0x000002, 0x80000, CRC(a9832a11) SHA1(79b48637b2b05e7c327470325bacb2c546281deb) ) + ROM_LOAD32_WORD( "ahg1433.u8", 0x100000, 0x80000, CRC(f2950183) SHA1(97b09837887f4b93aa796f3e46ee4ccb32a985b2) ) + ROM_LOAD32_WORD( "ahg1433.u12", 0x100002, 0x80000, CRC(f2e0b7af) SHA1(fc73c3f9230ed2b81be637a96125bfd51aad15c3) ) + ROM_LOAD32_WORD( "ahg1433.u9", 0x200000, 0x80000, CRC(feedad46) SHA1(45aaa0d6853604bc571421888fbe1d084f0df01b) ) + ROM_LOAD32_WORD( "ahg1433.u13", 0x200002, 0x80000, CRC(8bf0341d) SHA1(696e66587c425a2d146e414b3d059b0a9f47b819) ) + ROM_LOAD32_WORD( "ahg1433.u10", 0x300000, 0x80000, CRC(607465f6) SHA1(ebb79daa629c9c585fd73422f2de606c0519667c) ) + ROM_LOAD32_WORD( "ahg1433.u14", 0x300002, 0x80000, CRC(c45c564a) SHA1(2cbeacb95e9235110948e17853ad30c64c9d7f1c) ) +ROM_END + + // GHG1012-02 / MV4098 / 10 Credit Multiplier / 9 Line Multiline // BOOT SCOOTIN' / Export / A - 25/08/99 // DIP switch setup, no set chips required // Variations (% and NO): 92.767% 02 // All devices are 27C4002 instead of 27C4096 -ROM_START( bootsctnu ) +ROM_START( bootsctnub ) ARISTOCRAT_MK5_USA_SETCHIPS ARISTOCRAT_MK5_GALS ARISTOCRAT_MK5_EEPROM @@ -2806,72 +3016,66 @@ ROM_START( bootsctnu ) ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) ROM_LOAD32_WORD( "ghg101202.u7", 0x000000, 0x80000, CRC(ea389201) SHA1(a838a9115ca3101cb06ec86e955294d51f8d65e4) ) // 92.767% ROM_LOAD32_WORD( "ghg101202.u11", 0x000002, 0x80000, CRC(af6f2142) SHA1(200be993ad21643c46995d68a119fd8c1d2fedbe) ) // 92.767% - ROM_LOAD32_WORD( "ghg101202.u8", 0x100000, 0x80000, CRC(7b9c153e) SHA1(2144a208d2fd2f993e113d809045e864d89df7ec) ) // base - ROM_LOAD32_WORD( "ghg101202.u12", 0x100002, 0x80000, CRC(565ce1ca) SHA1(a9a64027d78f9ca7036b5b299040e1a7c776b617) ) // base - ROM_LOAD32_WORD( "ghg101202.u9", 0x200000, 0x80000, CRC(b60ea737) SHA1(847cdb4a6bf887a08dd525320aeffc74fcc10643) ) // base - ROM_LOAD32_WORD( "ghg101202.u13", 0x200002, 0x80000, CRC(55ddba7b) SHA1(3a43e577e8bc72aa1c09b131ec8b2a87eaeccf9f) ) // base - ROM_LOAD32_WORD( "ghg101202.u10", 0x300000, 0x80000, CRC(230725bc) SHA1(85320b1b72c7f83f57bc8cc861e5a6323750ff4f) ) // base - ROM_LOAD32_WORD( "ghg101202.u14", 0x300002, 0x80000, CRC(18934c51) SHA1(f7c9c95c687dbfe89747e7877157fde37bc1119e) ) // base + ROM_LOAD32_WORD( "ghg1012.u8", 0x100000, 0x80000, CRC(7b9c153e) SHA1(2144a208d2fd2f993e113d809045e864d89df7ec) ) // base + ROM_LOAD32_WORD( "ghg1012.u12", 0x100002, 0x80000, CRC(565ce1ca) SHA1(a9a64027d78f9ca7036b5b299040e1a7c776b617) ) // base + ROM_LOAD32_WORD( "ghg1012.u9", 0x200000, 0x80000, CRC(b60ea737) SHA1(847cdb4a6bf887a08dd525320aeffc74fcc10643) ) // base + ROM_LOAD32_WORD( "ghg1012.u13", 0x200002, 0x80000, CRC(55ddba7b) SHA1(3a43e577e8bc72aa1c09b131ec8b2a87eaeccf9f) ) // base + ROM_LOAD32_WORD( "ghg1012.u10", 0x300000, 0x80000, CRC(230725bc) SHA1(85320b1b72c7f83f57bc8cc861e5a6323750ff4f) ) // base + ROM_LOAD32_WORD( "ghg1012.u14", 0x300002, 0x80000, CRC(18934c51) SHA1(f7c9c95c687dbfe89747e7877157fde37bc1119e) ) // base ROM_END -// GHG1008-03 / MV4098/1 / 10 Credit Multiplier/20 Line Multiline -// BOOT SCOOTIN' / Export / A - 27/07/99 +// GHG1012-01 / MV4098 / 10 Credit Multiplier / 9 Line Multiline +// BOOT SCOOTIN' / Export / A - 25/08/99 // DIP switch setup, no set chips required -// Variations (% and NO): 94.858% 03 -ROM_START( bootsctnua ) +// Variations (% and NO): 89.583% 01 +ROM_START( bootsctnuc ) ARISTOCRAT_MK5_USA_SETCHIPS ARISTOCRAT_MK5_GALS ARISTOCRAT_MK5_EEPROM /* Checksum code found at 0x000d08 - 0x000000-0x0944bf is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) - Expected Checksum 0xb79e9367 - Calculated Checksum 0xb79e9367 (OK) - 0x0944c0-0x32849b is the non-Checksummed range (unusual endpoint) + 0x000000-0x0941ab is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) + Expected Checksum 0xdd67d1bf + Calculated Checksum 0xdd67d1bf (OK) + 0x0941ac-0x328187 is the non-Checksummed range (unusual endpoint) */ ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) - ROM_LOAD32_WORD( "ghg100803.u7", 0x000000, 0x80000, CRC(56749bb5) SHA1(391e2cc4e17c56c9c3a40dba34970b606cf7e452) ) // 94.858% - ROM_LOAD32_WORD( "ghg100803.u11", 0x000002, 0x80000, CRC(3a38fec2) SHA1(1a4171bf40368f38bf93323daa640da9220f23a4) ) // 94.858% - ROM_LOAD32_WORD( "ghg100803.u8", 0x100000, 0x80000, CRC(85cf7289) SHA1(500d236bdf82a2ef37919c2756ec4695729e9d15) ) - ROM_LOAD32_WORD( "ghg100803.u12", 0x100002, 0x80000, CRC(c44e560c) SHA1(c638850afddbfc6e8d89e077ed54624543a10e33) ) - ROM_LOAD32_WORD( "ghg100803.u9", 0x200000, 0x80000, CRC(ac3d6eeb) SHA1(0a5ded18b8b5ed2d8bfc98ab5efe2564a0e5a0d0) ) - ROM_LOAD32_WORD( "ghg100803.u13", 0x200002, 0x80000, CRC(5ef50865) SHA1(07bd31fab356142e548f6aa27d15ed5646064f15) ) - ROM_LOAD32_WORD( "ghg100803.u10", 0x300000, 0x80000, CRC(bebc7aaa) SHA1(3b63ba76a96677032776e17761ed281541f94513) ) - ROM_LOAD32_WORD( "ghg100803.u14", 0x300002, 0x80000, CRC(9759692e) SHA1(7666027e21af27329720127367a780776973c515) ) + ROM_LOAD32_WORD( "ghg101201.u7", 0x000000, 0x80000, CRC(f848a3ba) SHA1(467d70d40c8e65db9efb8e3de1e67a018b45056f) ) // 89.583% + ROM_LOAD32_WORD( "ghg101201.u11", 0x000002, 0x80000, CRC(eb85be43) SHA1(a093304ce0af81ca8475a934844bcc0744c96a9c) ) // 89.583% + ROM_LOAD32_WORD( "ghg1012.u8", 0x100000, 0x80000, CRC(7b9c153e) SHA1(2144a208d2fd2f993e113d809045e864d89df7ec) ) // base + ROM_LOAD32_WORD( "ghg1012.u12", 0x100002, 0x80000, CRC(565ce1ca) SHA1(a9a64027d78f9ca7036b5b299040e1a7c776b617) ) // base + ROM_LOAD32_WORD( "ghg1012.u9", 0x200000, 0x80000, CRC(b60ea737) SHA1(847cdb4a6bf887a08dd525320aeffc74fcc10643) ) // base + ROM_LOAD32_WORD( "ghg1012.u13", 0x200002, 0x80000, CRC(55ddba7b) SHA1(3a43e577e8bc72aa1c09b131ec8b2a87eaeccf9f) ) // base + ROM_LOAD32_WORD( "ghg1012.u10", 0x300000, 0x80000, CRC(230725bc) SHA1(85320b1b72c7f83f57bc8cc861e5a6323750ff4f) ) // base + ROM_LOAD32_WORD( "ghg1012.u14", 0x300002, 0x80000, CRC(18934c51) SHA1(f7c9c95c687dbfe89747e7877157fde37bc1119e) ) // base ROM_END -// AHG1547 / MV4098/1 / 10 Credit Multiplier / 20 Line Multiline -// BOOT SCOOTIN' / Export / B - 22/03/01 -// ROM says '10 Credit Multiplier' but it can be set to either 5, 10, 25 or 50 credit multipliers -// Requires set chip version 4.04.xx -// Variations (% and NO): -// 86.922% 99 -// 90.012% 01 -// 92.069% 02 -// 94.504% 03 -// 96.939% 04 -ROM_START( bootsctnub ) +// GHG1008-03 / MV4098/1 / 10 Credit Multiplier/20 Line Multiline +// BOOT SCOOTIN' / Export / A - 27/07/99 +// DIP switch setup, no set chips required +// Variations (% and NO): 94.858% 03 +ROM_START( bootsctnud ) ARISTOCRAT_MK5_USA_SETCHIPS ARISTOCRAT_MK5_GALS ARISTOCRAT_MK5_EEPROM /* - Checksum code found at 0x000d18 - 0x000000-0x0f47a7 is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) - Expected Checksum 0xae44f291 - Calculated Checksum 0xae44f291 (OK) - 0x0f47a8-0x3a0b5b is the non-Checksummed range (unusual endpoint) + Checksum code found at 0x000d08 + 0x000000-0x0944bf is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) + Expected Checksum 0xb79e9367 + Calculated Checksum 0xb79e9367 (OK) + 0x0944c0-0x32849b is the non-Checksummed range (unusual endpoint) */ ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) - ROM_LOAD32_WORD( "ahg1547.u7", 0x000000, 0x80000, CRC(5ded48cb) SHA1(3335a9dc6758dd8b225258ab2cb01cf4e9c02dd2) ) - ROM_LOAD32_WORD( "ahg1547.u11", 0x000002, 0x80000, CRC(764dfdb8) SHA1(e68493dfac2d64c59d7576d4b124210089edda62) ) - ROM_LOAD32_WORD( "ahg1547.u8", 0x100000, 0x80000, CRC(7e26e7a9) SHA1(88dc5dbf6ada1b6f2218ef3b013bc91047401d21) ) - ROM_LOAD32_WORD( "ahg1547.u12", 0x100002, 0x80000, CRC(f2dfc38c) SHA1(7fd6c8e11feef375b0f1fac0cfebca74f5da2ed6) ) - ROM_LOAD32_WORD( "ahg1547.u9", 0x200000, 0x80000, CRC(13f410e4) SHA1(e5022dbb42d174b2e3eda8f1564c97ca8fa39deb) ) - ROM_LOAD32_WORD( "ahg1547.u13", 0x200002, 0x80000, CRC(a5382c96) SHA1(570479383d69dfc9e52ebd55b51989ca284d31e7) ) - ROM_LOAD32_WORD( "ahg1547.u10", 0x300000, 0x80000, CRC(a31d8a45) SHA1(5e62d0d3523fd381e940b4dbc6f84d83434bf83a) ) - ROM_LOAD32_WORD( "ahg1547.u14", 0x300002, 0x80000, CRC(de2888e2) SHA1(f614d68c0e09912e9126cb024f54ed32ee50b57e) ) + ROM_LOAD32_WORD( "ghg100803.u7", 0x000000, 0x80000, CRC(56749bb5) SHA1(391e2cc4e17c56c9c3a40dba34970b606cf7e452) ) // 94.858% + ROM_LOAD32_WORD( "ghg100803.u11", 0x000002, 0x80000, CRC(3a38fec2) SHA1(1a4171bf40368f38bf93323daa640da9220f23a4) ) // 94.858% + ROM_LOAD32_WORD( "ghg1008.u8", 0x100000, 0x80000, CRC(85cf7289) SHA1(500d236bdf82a2ef37919c2756ec4695729e9d15) ) // base + ROM_LOAD32_WORD( "ghg1008.u12", 0x100002, 0x80000, CRC(c44e560c) SHA1(c638850afddbfc6e8d89e077ed54624543a10e33) ) // base + ROM_LOAD32_WORD( "ghg1008.u9", 0x200000, 0x80000, CRC(ac3d6eeb) SHA1(0a5ded18b8b5ed2d8bfc98ab5efe2564a0e5a0d0) ) // base + ROM_LOAD32_WORD( "ghg1008.u13", 0x200002, 0x80000, CRC(5ef50865) SHA1(07bd31fab356142e548f6aa27d15ed5646064f15) ) // base + ROM_LOAD32_WORD( "ghg1008.u10", 0x300000, 0x80000, CRC(bebc7aaa) SHA1(3b63ba76a96677032776e17761ed281541f94513) ) // base + ROM_LOAD32_WORD( "ghg1008.u14", 0x300002, 0x80000, CRC(9759692e) SHA1(7666027e21af27329720127367a780776973c515) ) // base ROM_END @@ -2929,6 +3133,39 @@ ROM_START( bpartya ) ROM_END +// BHG1247 / MV4119 / 3,5,10,20,25,50 Credit Multiplier / 9 Line Multiline +// Bachelorette Party / Export / B - 25/08/2000 +// Touchscreen game +// Requires set chip version 4.01.xx +// Variations (% and NO): +// 87.976% 99 +// 90.201% 01 +// 92.132% 02 +// 94.968% 03 +// 97.256% 04 +ROM_START( bpartyb ) + ARISTOCRAT_MK5_USA_SETCHIPS + ARISTOCRAT_MK5_GALS + ARISTOCRAT_MK5_EEPROM + /* + Checksum code found at 0x000d18 + 0x000000-0x0a693b is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) + Expected Checksum 0x5e063e54 + Calculated Checksum 0x5e063e54 (OK) + 0x0a693c-0x39cda3 is the non-Checksummed range (unusual endpoint) + */ + ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) + ROM_LOAD32_WORD( "bhg1247.u7", 0x000000, 0x80000, CRC(95ebd5c1) SHA1(8f91003d9d7b4f99557c160894d1da951e98d161) ) + ROM_LOAD32_WORD( "bhg1247.u11", 0x000002, 0x80000, CRC(b601bfe2) SHA1(011c0f5bea48b06b1ec224797ee09ce3dff4a832) ) + ROM_LOAD32_WORD( "bhg1247.u8", 0x100000, 0x80000, CRC(b661d898) SHA1(6a472829ec36870c6ead3753e08ada8489230881) ) + ROM_LOAD32_WORD( "bhg1247.u12", 0x100002, 0x80000, CRC(69c6233d) SHA1(7b1e87a81ca2d8b9d2c32bd08ecc2737d1f8058f) ) + ROM_LOAD32_WORD( "bhg1247.u9", 0x200000, 0x80000, CRC(56d90f9f) SHA1(5388a42795fd588537736ad7164a17218f1b421b) ) + ROM_LOAD32_WORD( "bhg1247.u13", 0x200002, 0x80000, CRC(5102bd69) SHA1(b1be2a6c14b783339028e3a14614a7db2c3436dc) ) + ROM_LOAD32_WORD( "bhg1247.u10", 0x300000, 0x80000, CRC(aef40275) SHA1(6c99f5fb83303454ee694d2502210d55c6dab2f2) ) + ROM_LOAD32_WORD( "bhg1247.u14", 0x300002, 0x80000, CRC(0e12cdea) SHA1(14d2dd985a4f046e2d012fdbc13f321f4b5b8685) ) +ROM_END + + // 0200510V / 593 / 10 Credit Multiplier / 9 Line Multiline // Bumble Bugs / Local / D - 5/07/96 // Variations (% and NO): @@ -2994,8 +3231,31 @@ ROM_START( bumblbugu ) ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) ROM_LOAD32_WORD( "chg047903.u7", 0x000000, 0x80000, CRC(ae49d394) SHA1(fae7db8193915a3307e89a4623289fcbf9486283) ) // 92.691% ROM_LOAD32_WORD( "chg047903.u11", 0x000002, 0x80000, CRC(6da81e81) SHA1(a9e7aff23b24213ce2c68f672a9e22088cf53f3f) ) // 92.691% - ROM_LOAD32_WORD( "chg047903.u8", 0x100000, 0x80000, CRC(e0c01d01) SHA1(9153129fd348a97da7cccf002e5d03e4b4db9264) ) // base - ROM_LOAD32_WORD( "chg047903.u12", 0x100002, 0x80000, CRC(7dbb634b) SHA1(f7a752240989032af142f4cd6e4260a12a5b4c0a) ) // base + ROM_LOAD32_WORD( "chg0479.u8", 0x100000, 0x80000, CRC(e0c01d01) SHA1(9153129fd348a97da7cccf002e5d03e4b4db9264) ) // base + ROM_LOAD32_WORD( "chg0479.u12", 0x100002, 0x80000, CRC(7dbb634b) SHA1(f7a752240989032af142f4cd6e4260a12a5b4c0a) ) // base +ROM_END + + +// CHG0479-02 / 593 / 10 Credit Multiplier / 9 Line Multiline +// Bumble Bugs / Export / D - 05/07/97 +// DIP switch setup, no set chips required +// Variations (% and NO): 89.962% 02 +ROM_START( bumblbugua ) + ARISTOCRAT_MK5_USA_SETCHIPS + ARISTOCRAT_MK5_GALS + ARISTOCRAT_MK5_EEPROM + /* + Checksum code found at 0x000d08 + 0x000000-0x0b1f47 is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) + Expected Checksum 0xa2383ef2 + Calculated Checksum 0xa2383ef2 (OK) + 0x0b1f48-0x39cda3 is the non-Checksummed range (unusual endpoint) + */ + ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) + ROM_LOAD32_WORD( "chg047902.u7", 0x000000, 0x80000, CRC(cec2146e) SHA1(cd98c2a4b984358443a053d7ba7c6251757f5ad7) ) // 89.962% + ROM_LOAD32_WORD( "chg047902.u11", 0x000002, 0x80000, CRC(3a6f86cf) SHA1(9f8ff07d2e0185e9d5de18fe8b48cebdfffb2fd5) ) // 89.962% + ROM_LOAD32_WORD( "chg0479.u8", 0x100000, 0x80000, CRC(e0c01d01) SHA1(9153129fd348a97da7cccf002e5d03e4b4db9264) ) // base + ROM_LOAD32_WORD( "chg0479.u12", 0x100002, 0x80000, CRC(7dbb634b) SHA1(f7a752240989032af142f4cd6e4260a12a5b4c0a) ) // base ROM_END @@ -3004,7 +3264,7 @@ ROM_END // DIP switch setup, no set chips required // Variations (% and NO): 87.006% 99 // All devices are 27C4002 instead of 27C4096 -ROM_START( bumblbugua ) +ROM_START( bumblbugub ) ARISTOCRAT_MK5_USA_SETCHIPS ARISTOCRAT_MK5_GALS ARISTOCRAT_MK5_EEPROM @@ -3019,8 +3279,8 @@ ROM_START( bumblbugua ) ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) ROM_LOAD32_WORD( "chg047999.u7", 0x000000, 0x80000, CRC(7e9be2d0) SHA1(84293a391e9797afc904bb3be05367361ae8d4c7) ) // 87.006% ROM_LOAD32_WORD( "chg047999.u11", 0x000002, 0x80000, CRC(efd350ac) SHA1(19975b4d2b55b65542a7ff38fa035fd516bd6e2e) ) // 87.006% - ROM_LOAD32_WORD( "chg047999.u8", 0x100000, 0x80000, CRC(e0c01d01) SHA1(9153129fd348a97da7cccf002e5d03e4b4db9264) ) // base - ROM_LOAD32_WORD( "chg047999.u12", 0x100002, 0x80000, CRC(7dbb634b) SHA1(f7a752240989032af142f4cd6e4260a12a5b4c0a) ) // base + ROM_LOAD32_WORD( "chg0479.u8", 0x100000, 0x80000, CRC(e0c01d01) SHA1(9153129fd348a97da7cccf002e5d03e4b4db9264) ) // base + ROM_LOAD32_WORD( "chg0479.u12", 0x100002, 0x80000, CRC(7dbb634b) SHA1(f7a752240989032af142f4cd6e4260a12a5b4c0a) ) // base ROM_END @@ -3228,8 +3488,8 @@ ROM_START( cashchamu ) ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) ROM_LOAD32_WORD( "dhg407899.u7", 0x000000, 0x80000, CRC(9944fe04) SHA1(5f68b08e3480c0c8c1a29fe40e0221e9aeb969b7) ) ROM_LOAD32_WORD( "dhg407899.u11", 0x000002, 0x80000, CRC(1f7fa88a) SHA1(6ca40c5edba758084fd4d4cc0899584fd2d72ad3) ) - ROM_LOAD32_WORD( "dhg407899.u8", 0x100000, 0x80000, CRC(6630b35b) SHA1(0126be7a73460fc70c7f1527a3eb0c9a0c58618e) ) - ROM_LOAD32_WORD( "dhg407899.u12", 0x100002, 0x80000, CRC(2fd087f8) SHA1(f16414abf58e1a7a8ca08380993bdeca6f9c7317) ) + ROM_LOAD32_WORD( "dhg4078.u8", 0x100000, 0x80000, CRC(6630b35b) SHA1(0126be7a73460fc70c7f1527a3eb0c9a0c58618e) ) + ROM_LOAD32_WORD( "dhg4078.u12", 0x100002, 0x80000, CRC(2fd087f8) SHA1(f16414abf58e1a7a8ca08380993bdeca6f9c7317) ) ROM_END @@ -3325,6 +3585,31 @@ ROM_START( chariotcpe ) ROM_END +// RHG0635-02 / MV4048 / 10 Credit Multiplier / 5 Line Multiline +// The Chariot Challenge / Export / B - 3/03/98 +// DIP switch setup, no set chips required +// Variations (% and NO): 92.435% 02 +ROM_START( chariotcu ) + ARISTOCRAT_MK5_USA_SETCHIPS + ARISTOCRAT_MK5_GALS + ARISTOCRAT_MK5_EEPROM + /* + Checksum code found at 0x000d08 + 0x000000-0x0c4133 is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) + Expected Checksum 0xfae7bfed + Calculated Checksum 0xfae7bfed (OK) + 0x0c4134-0x39cda3 is the non-Checksummed range (unusual endpoint) + */ + ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) + ROM_LOAD32_WORD( "rhg063502.u7", 0x000000, 0x80000, CRC(90aab68d) SHA1(0dd371789aaa1bab5eb821b83eb286727f9bfbd5) ) // 92.435% + ROM_LOAD32_WORD( "rhg063502.u11", 0x000002, 0x80000, CRC(08419397) SHA1(ae7733547f9de2c20be6b226015ee3738819f096) ) // 92.435% + ROM_LOAD32_WORD( "rhg0635.u8", 0x100000, 0x80000, CRC(5792dc77) SHA1(7a633162faba083d1b41d350397f0d9b58ffd113) ) // base + ROM_LOAD32_WORD( "rhg0635.u12", 0x100002, 0x80000, CRC(33a5441e) SHA1(c17334dedf5b9b62df41a977d1db20a0f3ebf9ed) ) // base + ROM_LOAD32_WORD( "rhg0635.u9", 0x200000, 0x80000, CRC(2985fd71) SHA1(844526f6d6916ff733c286ff0b3d3845fe3468dd) ) // base + ROM_LOAD32_WORD( "rhg0635.u13", 0x200002, 0x80000, CRC(4ebb12cb) SHA1(8cb657cf629c7c0a9f7e8e30b70cc2731d09693b) ) // base +ROM_END + + // 01J00681 / JB011 / Multi credit / Multi line // Ckeckmate / NSW/ACT / B - 06/07/01 // Checkmate is misspelled as 'Ckeckmate' in the ROM @@ -3427,14 +3712,14 @@ ROM_START( chickna5u ) 0x0a6918-0x35040b is the non-Checksummed range (unusual endpoint) */ ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) - ROM_LOAD32_WORD( "rhg073003.u7", 0x000000, 0x80000, CRC(06558129) SHA1(be726c0d35776faf1ecd20eb0a193e68a1fb1a84) ) - ROM_LOAD32_WORD( "rhg073003.u11", 0x000002, 0x80000, CRC(0eadf5d4) SHA1(b783f6e1911fc098d1b4d1d8c75862e031078e5b) ) - ROM_LOAD32_WORD( "rhg073003.u8", 0x100000, 0x80000, CRC(683e96bc) SHA1(bca8e87bea9f7044fa29dc4518e2ac5b429e3313) ) - ROM_LOAD32_WORD( "rhg073003.u12", 0x100002, 0x80000, CRC(8313b03b) SHA1(d2a91bae8063d89ec9a1edab6df3e6711719d2c2) ) - ROM_LOAD32_WORD( "rhg073003.u9", 0x200000, 0x80000, CRC(9c08aefa) SHA1(fe3ffa8eb308ab216cc08dd2ce51113b4ef74c4a) ) - ROM_LOAD32_WORD( "rhg073003.u13", 0x200002, 0x80000, CRC(69fd4f89) SHA1(4e0469caecf9293197a4a5de960eb9dcfee39ca3) ) - ROM_LOAD32_WORD( "rhg073003.u10", 0x300000, 0x80000, CRC(9aae49d7) SHA1(5cf87b747ea7561766fe0ffc15967fea657b252b) ) - ROM_LOAD32_WORD( "rhg073003.u14", 0x300002, 0x80000, CRC(240f7759) SHA1(1fa5ba0185b027101dae207ec5d28b07d3d73fc2) ) + ROM_LOAD32_WORD( "rhg073003.u7", 0x000000, 0x80000, CRC(06558129) SHA1(be726c0d35776faf1ecd20eb0a193e68a1fb1a84) ) // 92.588% + ROM_LOAD32_WORD( "rhg073003.u11", 0x000002, 0x80000, CRC(0eadf5d4) SHA1(b783f6e1911fc098d1b4d1d8c75862e031078e5b) ) // 92.588% + ROM_LOAD32_WORD( "rhg0730.u8", 0x100000, 0x80000, CRC(683e96bc) SHA1(bca8e87bea9f7044fa29dc4518e2ac5b429e3313) ) // base + ROM_LOAD32_WORD( "rhg0730.u12", 0x100002, 0x80000, CRC(8313b03b) SHA1(d2a91bae8063d89ec9a1edab6df3e6711719d2c2) ) // base + ROM_LOAD32_WORD( "rhg0730.u9", 0x200000, 0x80000, CRC(9c08aefa) SHA1(fe3ffa8eb308ab216cc08dd2ce51113b4ef74c4a) ) // base + ROM_LOAD32_WORD( "rhg0730.u13", 0x200002, 0x80000, CRC(69fd4f89) SHA1(4e0469caecf9293197a4a5de960eb9dcfee39ca3) ) // base + ROM_LOAD32_WORD( "rhg0730.u10", 0x300000, 0x80000, CRC(9aae49d7) SHA1(5cf87b747ea7561766fe0ffc15967fea657b252b) ) // base + ROM_LOAD32_WORD( "rhg0730.u14", 0x300002, 0x80000, CRC(240f7759) SHA1(1fa5ba0185b027101dae207ec5d28b07d3d73fc2) ) // base ROM_END @@ -3456,14 +3741,14 @@ ROM_START( chickna5ua ) 0x0a6918-0x35040b is the non-Checksummed range (unusual endpoint) */ ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) - ROM_LOAD32_WORD( "rhg073099.u7", 0x000000, 0x80000, CRC(0a006791) SHA1(b1df734e316222590d11c33c220c2f980103b327) ) - ROM_LOAD32_WORD( "rhg073099.u11", 0x000002, 0x80000, CRC(5b338809) SHA1(82e485504a6d5c3ad1840d4c22ddedbeb948f8f9) ) - ROM_LOAD32_WORD( "rhg073099.u8", 0x100000, 0x80000, CRC(683e96bc) SHA1(bca8e87bea9f7044fa29dc4518e2ac5b429e3313) ) - ROM_LOAD32_WORD( "rhg073099.u12", 0x100002, 0x80000, CRC(8313b03b) SHA1(d2a91bae8063d89ec9a1edab6df3e6711719d2c2) ) - ROM_LOAD32_WORD( "rhg073099.u9", 0x200000, 0x80000, CRC(9c08aefa) SHA1(fe3ffa8eb308ab216cc08dd2ce51113b4ef74c4a) ) - ROM_LOAD32_WORD( "rhg073099.u13", 0x200002, 0x80000, CRC(69fd4f89) SHA1(4e0469caecf9293197a4a5de960eb9dcfee39ca3) ) - ROM_LOAD32_WORD( "rhg073099.u10", 0x300000, 0x80000, CRC(9aae49d7) SHA1(5cf87b747ea7561766fe0ffc15967fea657b252b) ) - ROM_LOAD32_WORD( "rhg073099.u14", 0x300002, 0x80000, CRC(240f7759) SHA1(1fa5ba0185b027101dae207ec5d28b07d3d73fc2) ) + ROM_LOAD32_WORD( "rhg073099.u7", 0x000000, 0x80000, CRC(0a006791) SHA1(b1df734e316222590d11c33c220c2f980103b327) ) // 87.938% + ROM_LOAD32_WORD( "rhg073099.u11", 0x000002, 0x80000, CRC(5b338809) SHA1(82e485504a6d5c3ad1840d4c22ddedbeb948f8f9) ) // 87.938% + ROM_LOAD32_WORD( "rhg0730.u8", 0x100000, 0x80000, CRC(683e96bc) SHA1(bca8e87bea9f7044fa29dc4518e2ac5b429e3313) ) // base + ROM_LOAD32_WORD( "rhg0730.u12", 0x100002, 0x80000, CRC(8313b03b) SHA1(d2a91bae8063d89ec9a1edab6df3e6711719d2c2) ) // base + ROM_LOAD32_WORD( "rhg0730.u9", 0x200000, 0x80000, CRC(9c08aefa) SHA1(fe3ffa8eb308ab216cc08dd2ce51113b4ef74c4a) ) // base + ROM_LOAD32_WORD( "rhg0730.u13", 0x200002, 0x80000, CRC(69fd4f89) SHA1(4e0469caecf9293197a4a5de960eb9dcfee39ca3) ) // base + ROM_LOAD32_WORD( "rhg0730.u10", 0x300000, 0x80000, CRC(9aae49d7) SHA1(5cf87b747ea7561766fe0ffc15967fea657b252b) ) // base + ROM_LOAD32_WORD( "rhg0730.u14", 0x300002, 0x80000, CRC(240f7759) SHA1(1fa5ba0185b027101dae207ec5d28b07d3d73fc2) ) // base ROM_END @@ -3556,6 +3841,7 @@ ROM_END ROM_START( cuckoou ) ARISTOCRAT_MK5_USA_SETCHIPS ARISTOCRAT_MK5_GALS + ARISTOCRAT_MK5_EEPROM /* Checksum code found at 0x000d18 0x000000-0x0a588b is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) @@ -3569,18 +3855,6 @@ ROM_START( cuckoou ) ROM_LOAD32_WORD( "chg1195.u11", 0x000002, 0x80000, CRC(4c407deb) SHA1(57589e61a376ddff99cd420eb47bf8c902c6a249) ) ROM_LOAD32_WORD( "chg1195.u8", 0x100000, 0x80000, CRC(33f52052) SHA1(89cbfe588d91244adff4c520fa94962d69ff20bf) ) ROM_LOAD32_WORD( "chg1195.u12", 0x100002, 0x80000, CRC(00bb7597) SHA1(f4d6b21091e320a82d59477469340633b001ed0d) ) - - ROM_REGION16_BE( 0x100, "eeprom0", 0 ) - ROM_LOAD16_WORD_SWAP( "eeprom0", 0x000000, 0x000100, CRC(fea8a821) SHA1(c744cac6af7621524fc3a2b0a9a135a32b33c81b) ) - - ROM_REGION16_BE( 0x100, "eeprom1", 0 ) - ROM_LOAD16_WORD_SWAP( "eeprom1", 0x000000, 0x000100, CRC(415b9c77) SHA1(86a3b3aabd81f5fcf767dd53f7034f7d58f2020e) ) - - ROM_REGION( 0x80000, "nvram", 0 ) - ROM_LOAD( "nvram", 0x000000, 0x080000, CRC(64c895fe) SHA1(12c75338dd1b2260d0581744cef1b705c718727f) ) - - ROM_REGION( 0x20, "rtc", 0 ) - ROM_LOAD( "rtc", 0x000000, 0x00001f, CRC(6909acb0) SHA1(6a4589599cd1c477e916474e7b029e9a4e92019b) ) ROM_END @@ -3947,14 +4221,38 @@ ROM_START( dolphntrq ) ROM_END +// FHG4076-02 / MV4090/1 / 10 Credit Multiplier / 20 Line Multiline +// Dolphin Treasure / Export / B - 06/12/96 +// DIP switch setup, no set chips required +// Variations (% and NO): 92.161% 02 +ROM_START( dolphntru ) + ARISTOCRAT_MK5_USA_SETCHIPS + ARISTOCRAT_MK5_GALS + ARISTOCRAT_MK5_EEPROM + /* + Checksum code found at 0x000d08 + 0x000000-0x08ef1f is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) + Expected Checksum 0x1d833964 + Calculated Checksum 0x1d833964 (OK) + 0x08ef20-0x35040b is the non-Checksummed range (unusual endpoint) + */ + ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) + ROM_LOAD32_WORD( "fhg407602.u7", 0x000000, 0x80000, CRC(5a82cd20) SHA1(7efa0196bbf8247e20e35437d54dddce0aa2776b) ) // 92.161% + ROM_LOAD32_WORD( "fhg407602.u11", 0x000002, 0x80000, CRC(94b2fa31) SHA1(0e82461042361c29b0fe77447f980aa5926e065c) ) // 92.161% + ROM_LOAD32_WORD( "fhg4076.u8", 0x100000, 0x80000, CRC(15073104) SHA1(9e81862cc76da967d43c4c99adf452745039dddf) ) // base + ROM_LOAD32_WORD( "fhg4076.u12", 0x100002, 0x80000, CRC(4e2a7335) SHA1(181cac821b1a4e349d9a36d100a065e3a7a0cc8a) ) // base +ROM_END + + // FHG4077-02 / 602/1 / 10 Credit Multiplier / 9 Line Multiline // Dolphin Treasure / Export / B - 06/12/96 // All devices are 27C4002 instead of 27C4096 // DIP switch setup, no set chips required // Variations (% and NO): 92.161% 02 -ROM_START( dolphntru ) +ROM_START( dolphntrua ) ARISTOCRAT_MK5_USA_SETCHIPS ARISTOCRAT_MK5_GALS + ARISTOCRAT_MK5_EEPROM /* Checksum code found at 0x000d08 0x000000-0x08ec8b is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) @@ -3964,22 +4262,10 @@ ROM_START( dolphntru ) 0x08ec8c-0x1fffff is the non-Checksummed range if the additional vectors? at the end are included */ ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) - ROM_LOAD32_WORD( "fhg407702.u7", 0x000000, 0x80000, CRC(97e3e4d0) SHA1(211b9b9e0f25dfaf9d1dfe1d3d88592522aa6f07) ) - ROM_LOAD32_WORD( "fhg407702.u11", 0x000002, 0x80000, CRC(de221eb5) SHA1(0e550e90b7fd5670f3f3a8589239c342ed70dc3d) ) - ROM_LOAD32_WORD( "fhg407702.u8", 0x100000, 0x80000, CRC(cb3ca8b6) SHA1(dba8bdaa406c07870f95241466359e39a012a70b) ) - ROM_LOAD32_WORD( "fhg407702.u12", 0x100002, 0x80000, CRC(8ee1c2d3) SHA1(e6ecaaac0cb4518ecc0d36532ab532f46e3e628b) ) - - ROM_REGION16_BE( 0x100, "eeprom0", 0 ) - ROM_LOAD16_WORD_SWAP( "eeprom0", 0x000000, 0x000100, CRC(fea8a821) SHA1(c744cac6af7621524fc3a2b0a9a135a32b33c81b) ) - - ROM_REGION16_BE( 0x100, "eeprom1", 0 ) - ROM_LOAD16_WORD_SWAP( "eeprom1", 0x000000, 0x000100, CRC(1fc27753) SHA1(7e5008faaf115dc506481430272285117c989d8e) ) - - ROM_REGION( 0x80000, "nvram", 0 ) - ROM_LOAD( "nvram", 0x000000, 0x080000, CRC(0063e5ca) SHA1(a3d7b636bc9d792e93d11cb2babf24fbdd6d7776) ) - - ROM_REGION( 0x20, "rtc", 0 ) - ROM_LOAD( "rtc", 0x000000, 0x00001f, CRC(6909acb0) SHA1(6a4589599cd1c477e916474e7b029e9a4e92019b) ) + ROM_LOAD32_WORD( "fhg407702.u7", 0x000000, 0x80000, CRC(97e3e4d0) SHA1(211b9b9e0f25dfaf9d1dfe1d3d88592522aa6f07) ) // 92.161% + ROM_LOAD32_WORD( "fhg407702.u11", 0x000002, 0x80000, CRC(de221eb5) SHA1(0e550e90b7fd5670f3f3a8589239c342ed70dc3d) ) // 92.161% + ROM_LOAD32_WORD( "fhg4077.u8", 0x100000, 0x80000, CRC(cb3ca8b6) SHA1(dba8bdaa406c07870f95241466359e39a012a70b) ) // base + ROM_LOAD32_WORD( "fhg4077.u12", 0x100002, 0x80000, CRC(8ee1c2d3) SHA1(e6ecaaac0cb4518ecc0d36532ab532f46e3e628b) ) // base ROM_END @@ -4116,27 +4402,57 @@ ROM_START( eforsta5 ) ROM_END -// CHG1536 / MV4108/6 / 3,5,10,20,25,50 Credit Multiplier/9 Line Multiline -// Enchanted Forest / Export / C - 17/01/00 -// Cash Express Hyperlink game, but can also run standalone without progressive jackpot -ROM_START( eforsta5ce ) +// JHG0415-03 / MV4033 / 10 Credit Multiplier / 9 Line Multiline +// Enchanted Forest / Export / B - 10/02/97 +// All devices are 27C4002 instead of 27C4096 +// DIP switch setup, no set chips required +// Variations (% and NO): 94.97% 03 +ROM_START( eforsta5u ) ARISTOCRAT_MK5_USA_SETCHIPS ARISTOCRAT_MK5_GALS ARISTOCRAT_MK5_EEPROM - // checksum code not found due to ROMs being corrupted, first 6 files are missing bytes consisting of 0x0D + /* + Checksum code found at 0x000d08 + 0x000000-0x0a5233 is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) + Expected Checksum 0x5de71535 + Calculated Checksum 0x5de71535 (OK) + 0x0a5234-0x15dbdf is the non-Checksummed range still containing data but NOT covered by Checksum + 0x0a5234-0x1fffff is the non-Checksummed range if the additional vectors? at the end are included + */ ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) - ROM_LOAD32_WORD( "chg1536.u7", 0x000000, 0x7efd4, BAD_DUMP CRC(d29185cc) SHA1(26154f3d99907461cff4a44fe02929fae66e6963) ) // Enchanted Forest U7 CHG1536 Game C119 / 82BA / 6342 - ROM_LOAD32_WORD( "chg1536.u11", 0x000002, 0x7feab, BAD_DUMP CRC(4ea1bd5d) SHA1(86ffabb11550a932006549496772bdd0d27aa384) ) // Enchanted Forest U11 CHG1536 Game 28C8 / 6C4B / EDB1 - ROM_LOAD32_WORD( "chg1536.u8", 0x100000, 0x7f753, BAD_DUMP CRC(d439857a) SHA1(8d8d85f36253c89a8e5fb825761284ddd44890c4) ) // Enchanted Forest U8 CHG1536 Base 92PH / 9803 / 2283 - ROM_LOAD32_WORD( "chg1536.u12", 0x100002, 0x7f7f9, BAD_DUMP CRC(5f339d63) SHA1(f83587f674e4e12dff65d5c4828e62c4e8349baa) ) // Enchanted Forest U12 CHG1536 Base 3C35 / 41F3 / 1CE3 - ROM_LOAD32_WORD( "chg1536.u9", 0x200000, 0x7eaaa, BAD_DUMP CRC(5e739d2c) SHA1(2bfae3b39fdb9f52a539aa4532109b51e88ac5c4) ) // Enchanted Forest U9 CHG1536 Base CH0U / 9202 / CC97 - ROM_LOAD32_WORD( "chg1536.u13", 0x200002, 0x7eab3, BAD_DUMP CRC(653240e4) SHA1(20a196a2b77416d1490f3d7d4d66dd69ef8c59b2) ) // Enchanted Forest U13 CHG1536 Base F88A / 5853 / AF44 - ROM_LOAD32_WORD( "chg1536.u10", 0x300000, 0x80000, CRC(e1301711) SHA1(b7778b9d3faba0e807b7806f2837d57b0c6a3338) ) // Enchanted Forest U10 CHG1536 Base 41F6 / 07F4 / 6E92 - ROM_LOAD32_WORD( "chg1536.u14", 0x300002, 0x80000, CRC(113238a6) SHA1(145467e1f015543d23bb4a377d71949693f21c34) ) // (torn label) Enchanted Forest U14 CHG1536 Base ???? / FCD3 / 19AF + ROM_LOAD32_WORD( "jhg041503.u7", 0x000000, 0x80000, CRC(48a87915) SHA1(103f79f482b4e1ba3653280cdcf1ac6718981faf) ) // 94.97% + ROM_LOAD32_WORD( "jhg041503.u11", 0x000002, 0x80000, CRC(beb31b6d) SHA1(454fe5b04789e6f45d82d92f808fde5770435a80) ) // 94.97% + ROM_LOAD32_WORD( "jhg0415.u8", 0x100000, 0x80000, CRC(002dec6c) SHA1(fb3f4ce9cd8cd9e0e3133376ed014db83db041c5) ) // base + ROM_LOAD32_WORD( "jhg0415.u12", 0x100002, 0x80000, CRC(c968471f) SHA1(9d54a5c396e6f83690db2fcb7ddcc8a47a7dd777) ) // base ROM_END -// AHG1615 / MV4108/6 / 3,5,10,20,25,50 Credit Multiplier / 9 Line Multiline +// JHG0415-99 / MV4033 / 10 Credit Multiplier / 9 Line Multiline +// Enchanted Forest / Export / B - 10/02/97 +// All devices are 27C4002 instead of 27C4096 +// DIP switch setup, no set chips required +// Variations (% and NO): 88.26% 99 +ROM_START( eforsta5ua ) + ARISTOCRAT_MK5_USA_SETCHIPS + ARISTOCRAT_MK5_GALS + ARISTOCRAT_MK5_EEPROM + /* + Checksum code found at 0x000d08 + 0x000000-0x0a5233 is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) + Expected Checksum 0x5fed2247 + Calculated Checksum 0x5fed2247 (OK) + 0x0a5234-0x15dbdf is the non-Checksummed range still containing data but NOT covered by Checksum + 0x0a5234-0x1fffff is the non-Checksummed range if the additional vectors? at the end are included + */ + ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) + ROM_LOAD32_WORD( "jhg041599.u7", 0x000000, 0x80000, CRC(394d93a0) SHA1(5dd91ef55da4b6c8f0866c21d8d4ae9e18ab1bb0) ) // 88.26% + ROM_LOAD32_WORD( "jhg041599.u11", 0x000002, 0x80000, CRC(3f542a64) SHA1(36de7fc85f2424a62f322de2ef82e061d2335526) ) // 88.26% + ROM_LOAD32_WORD( "jhg0415.u8", 0x100000, 0x80000, CRC(002dec6c) SHA1(fb3f4ce9cd8cd9e0e3133376ed014db83db041c5) ) // base + ROM_LOAD32_WORD( "jhg0415.u12", 0x100002, 0x80000, CRC(c968471f) SHA1(9d54a5c396e6f83690db2fcb7ddcc8a47a7dd777) ) // base +ROM_END + + +// AHG1615 / MV4108/6 / 3,5,10,20,25,50 Credit Multiplier / 9 Line Multiline // Enchanted Forest / Export / C - 17/01/00 // Marked as SPC. // Cash Express Hyperlink game, but can also run standalone without progressive jackpot @@ -4151,7 +4467,7 @@ ROM_END // Hyperlink turnover: // 1c/2c: $175.00, $350.00 // 5c: $125.00, $250.00, $375.00, $500.00 -ROM_START( eforsta5cea ) +ROM_START( eforstce ) ARISTOCRAT_MK5_USA_SETCHIPS ARISTOCRAT_MK5_GALS ARISTOCRAT_MK5_EEPROM @@ -4174,53 +4490,23 @@ ROM_START( eforsta5cea ) ROM_END -// JHG0415-03 / MV4033 / 10 Credit Multiplier / 9 Line Multiline -// Enchanted Forest / Export / B - 10/02/97 -// All devices are 27C4002 instead of 27C4096 -// DIP switch setup, no set chips required -// Variations (% and NO): 94.97% 03 -ROM_START( eforsta5u ) - ARISTOCRAT_MK5_USA_SETCHIPS - ARISTOCRAT_MK5_GALS - ARISTOCRAT_MK5_EEPROM - /* - Checksum code found at 0x000d08 - 0x000000-0x0a5233 is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) - Expected Checksum 0x5de71535 - Calculated Checksum 0x5de71535 (OK) - 0x0a5234-0x15dbdf is the non-Checksummed range still containing data but NOT covered by Checksum - 0x0a5234-0x1fffff is the non-Checksummed range if the additional vectors? at the end are included - */ - ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) - ROM_LOAD32_WORD( "jhg041503.u7", 0x000000, 0x80000, CRC(48a87915) SHA1(103f79f482b4e1ba3653280cdcf1ac6718981faf) ) // 94.97% - ROM_LOAD32_WORD( "jhg041503.u11", 0x000002, 0x80000, CRC(beb31b6d) SHA1(454fe5b04789e6f45d82d92f808fde5770435a80) ) // 94.97% - ROM_LOAD32_WORD( "jhg041503.u8", 0x100000, 0x80000, CRC(002dec6c) SHA1(fb3f4ce9cd8cd9e0e3133376ed014db83db041c5) ) // base - ROM_LOAD32_WORD( "jhg041503.u12", 0x100002, 0x80000, CRC(c968471f) SHA1(9d54a5c396e6f83690db2fcb7ddcc8a47a7dd777) ) // base -ROM_END - - -// JHG0415-99 / MV4033 / 10 Credit Multiplier / 9 Line Multiline -// Enchanted Forest / Export / B - 10/02/97 -// All devices are 27C4002 instead of 27C4096 -// DIP switch setup, no set chips required -// Variations (% and NO): 88.26% 99 -ROM_START( eforsta5ua ) +// CHG1536 / MV4108/6 / 3,5,10,20,25,50 Credit Multiplier/9 Line Multiline +// Enchanted Forest / Export / C - 17/01/00 +// Cash Express Hyperlink game, but can also run standalone without progressive jackpot +ROM_START( eforstcea ) ARISTOCRAT_MK5_USA_SETCHIPS ARISTOCRAT_MK5_GALS ARISTOCRAT_MK5_EEPROM - /* - Checksum code found at 0x000d08 - 0x000000-0x0a5233 is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) - Expected Checksum 0x5fed2247 - Calculated Checksum 0x5fed2247 (OK) - 0x0a5234-0x15dbdf is the non-Checksummed range still containing data but NOT covered by Checksum - 0x0a5234-0x1fffff is the non-Checksummed range if the additional vectors? at the end are included - */ + // checksum code not found due to ROMs being corrupted, first 6 files are missing bytes consisting of 0x0D ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) - ROM_LOAD32_WORD( "jhg041599.u7", 0x000000, 0x80000, CRC(394d93a0) SHA1(5dd91ef55da4b6c8f0866c21d8d4ae9e18ab1bb0) ) // 88.26% - ROM_LOAD32_WORD( "jhg041599.u11", 0x000002, 0x80000, CRC(3f542a64) SHA1(36de7fc85f2424a62f322de2ef82e061d2335526) ) // 88.26% - ROM_LOAD32_WORD( "jhg041599.u8", 0x100000, 0x80000, CRC(002dec6c) SHA1(fb3f4ce9cd8cd9e0e3133376ed014db83db041c5) ) // base - ROM_LOAD32_WORD( "jhg041599.u12", 0x100002, 0x80000, CRC(c968471f) SHA1(9d54a5c396e6f83690db2fcb7ddcc8a47a7dd777) ) // base + ROM_LOAD32_WORD( "chg1536.u7", 0x000000, 0x7efd4, BAD_DUMP CRC(d29185cc) SHA1(26154f3d99907461cff4a44fe02929fae66e6963) ) // Enchanted Forest U7 CHG1536 Game C119 / 82BA / 6342 + ROM_LOAD32_WORD( "chg1536.u11", 0x000002, 0x7feab, BAD_DUMP CRC(4ea1bd5d) SHA1(86ffabb11550a932006549496772bdd0d27aa384) ) // Enchanted Forest U11 CHG1536 Game 28C8 / 6C4B / EDB1 + ROM_LOAD32_WORD( "chg1536.u8", 0x100000, 0x7f753, BAD_DUMP CRC(d439857a) SHA1(8d8d85f36253c89a8e5fb825761284ddd44890c4) ) // Enchanted Forest U8 CHG1536 Base 92PH / 9803 / 2283 + ROM_LOAD32_WORD( "chg1536.u12", 0x100002, 0x7f7f9, BAD_DUMP CRC(5f339d63) SHA1(f83587f674e4e12dff65d5c4828e62c4e8349baa) ) // Enchanted Forest U12 CHG1536 Base 3C35 / 41F3 / 1CE3 + ROM_LOAD32_WORD( "chg1536.u9", 0x200000, 0x7eaaa, BAD_DUMP CRC(5e739d2c) SHA1(2bfae3b39fdb9f52a539aa4532109b51e88ac5c4) ) // Enchanted Forest U9 CHG1536 Base CH0U / 9202 / CC97 + ROM_LOAD32_WORD( "chg1536.u13", 0x200002, 0x7eab3, BAD_DUMP CRC(653240e4) SHA1(20a196a2b77416d1490f3d7d4d66dd69ef8c59b2) ) // Enchanted Forest U13 CHG1536 Base F88A / 5853 / AF44 + ROM_LOAD32_WORD( "chg1536.u10", 0x300000, 0x80000, CRC(e1301711) SHA1(b7778b9d3faba0e807b7806f2837d57b0c6a3338) ) // Enchanted Forest U10 CHG1536 Base 41F6 / 07F4 / 6E92 + ROM_LOAD32_WORD( "chg1536.u14", 0x300002, 0x80000, CRC(113238a6) SHA1(145467e1f015543d23bb4a377d71949693f21c34) ) // (torn label) Enchanted Forest U14 CHG1536 Base ???? / FCD3 / 19AF ROM_END @@ -4304,7 +4590,7 @@ ROM_END // All devices are 27C4002 instead of 27C4096 // DIP switch setup, no set chips required // Variations (% and NO): 92.268% 02 -ROM_START( gambler ) +ROM_START( gamblra5 ) ARISTOCRAT_MK5_USA_SETCHIPS ARISTOCRAT_MK5_GALS ARISTOCRAT_MK5_EEPROM @@ -4319,8 +4605,35 @@ ROM_START( gambler ) ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) ROM_LOAD32_WORD( "ehg091602.u7", 0x000000, 0x80000, CRC(084167e3) SHA1(ec10a3f1a52ec4a2e2b4e1f303c1cbc048d1331b) ) // 92.268% ROM_LOAD32_WORD( "ehg091602.u11", 0x000002, 0x80000, CRC(049b027c) SHA1(8212708c63003e6fd95ce2ee32d46dc4a26ab3c3) ) // 92.268% - ROM_LOAD32_WORD( "ehg091602.u8", 0x100000, 0x80000, CRC(e2221fdf) SHA1(8a7b2d5de68ae66fe1915a6faac6277249e3fb53) ) // base - ROM_LOAD32_WORD( "ehg091602.u12", 0x100002, 0x80000, CRC(ebe957f9) SHA1(539945ec9beafe2c83051208370588fce2334f16) ) // base + ROM_LOAD32_WORD( "ehg0916.u8", 0x100000, 0x80000, CRC(e2221fdf) SHA1(8a7b2d5de68ae66fe1915a6faac6277249e3fb53) ) // base + ROM_LOAD32_WORD( "ehg0916.u12", 0x100002, 0x80000, CRC(ebe957f9) SHA1(539945ec9beafe2c83051208370588fce2334f16) ) // base +ROM_END + + +// 0101153V / 602/18 / 10 or 25 Credit Multiplier/9 or 20 Line Multiline +// Geisha / NSW/ACT / A - 21/03/00 +// Variations (% and NO): +// 87.87% 99 +// 90.31% 01 +// 92.26% 02 +ROM_START( geisha ) + ARISTOCRAT_MK5_GALS + ARISTOCRAT_MK5_EEPROM + /* + Checksum code found at 0x000d18 + 0x000000-0x06ec1b is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) + Expected Checksum 0xc5d09c85 + Calculated Checksum 0xc5d09c85 (OK) + 0x06ec1c-0x2562e7 is the non-Checksummed range still containing data but NOT covered by Checksum + 0x06ec1c-0x2fffff is the non-Checksummed range if the additional vectors? at the end are included + */ + ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) + ROM_LOAD32_WORD( "0101153v.u7", 0x000000, 0x80000, CRC(3a2c2e93) SHA1(35432fd6c80d3fc51781bf85d22d33439147ad2b) ) // 0101153V 90 / 500 Geisha 1/6 602/18 512k © 2001 Aristocrat S U7 + ROM_LOAD32_WORD( "0101153v.u11", 0x000002, 0x80000, CRC(8adac57b) SHA1(2df19159bce48c137101ef4de8ae58c43f13e5d9) ) // 0101153V 90 / 500 Geisha 2/6 602/18 512k © 2001 Aristocrat S U11 + ROM_LOAD32_WORD( "0101153v.u8", 0x100000, 0x80000, CRC(329ba031) SHA1(8cf2619bb9e038507dbef60fd95b8d72c34c772d) ) // 0101153V 90 / 500 Geisha 3/6 602/18 512k © 2001 Aristocrat S U8 + ROM_LOAD32_WORD( "0101153v.u12", 0x100002, 0x80000, CRC(331d538b) SHA1(769447b9e0ff2c6f230fd63664658cf1d5d516a8) ) // 0101153V 90 / 500 Geisha 4/6 602/18 512k © 2001 Aristocrat S U12 + ROM_LOAD32_WORD( "0101153v.u9", 0x200000, 0x80000, CRC(057c1a7e) SHA1(9ba78f14a3235880bd2cc19dbeb8dbd0ff484d1e) ) // 0101153V 90 / 500 Geisha 5/6 602/18 512k © 2001 Aristocrat S U9 + ROM_LOAD32_WORD( "0101153v.u13", 0x200002, 0x80000, CRC(52751ed0) SHA1(1c4013d1c00abb4793faac79c8464e638e3d5ac1) ) // 0101153V 90 / 500 Geisha 6/6 602/18 512k © 2001 Aristocrat S U13 ROM_END @@ -4331,7 +4644,7 @@ ROM_END // 87.52% 99 // 90.26% 01 // 91.98% 02 -ROM_START( geisha ) +ROM_START( geishanz ) ARISTOCRAT_MK5_GALS ARISTOCRAT_MK5_EEPROM // checksum code not found (uses different startup sequence) @@ -4430,29 +4743,36 @@ ROM_START( gnomeatw ) ROM_END -// AHG1205-03 / MV4091 / 10 Credit Multiplier / 9 Line Multiline -// QUEEN OF THE NILE / NSW/ACT / B - 13/05/97 -// ROM contains unaltered Queen of the Nile NSW/ACT region string and date, but game is for the USA platform -// Marked as AHG1205-03, Golden Pyramids, and 94.941% -// DIP switch setup, no set chips required -// Variations (% and NO): 94.941% 03 +// 0100878V / 602/5 / 10 Credit Multiplier / 9 Line Multiline +// Golden Pyramid / Crown Casino / C - 19/06/98 +// ROM says 'Golden Pyramid' with three trailing spaces, artwork says 'Golden Pyramids' +// Original casino BIOS is not dumped, using New Zealand 0700474V BIOS until an Australian version is dumped +// Variations (% and NO): +// 87.870% 99 +// 90.310% 01 +// 92.260% 02 +// 94.880% 04 ROM_START( goldpyr ) - ARISTOCRAT_MK5_USA_SETCHIPS ARISTOCRAT_MK5_GALS ARISTOCRAT_MK5_EEPROM /* - Checksum code found at 0x000d08 - 0x000000-0x08ec83 is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) - Expected Checksum 0x7c8c2fbf - Calculated Checksum 0x7c8c2fbf (OK) - 0x08ec84-0x1aca63 is the non-Checksummed range still containing data but NOT covered by Checksum - 0x08ec84-0x1fffff is the non-Checksummed range if the additional vectors? at the end are included + note, this actually contains a 2nd checksum for the game, this is the base/bios check only. + + Checksum code found at 0x001b74 + 0x000000-0x089a2f is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) + Expected Checksum 0x5ad8a58b + Calculated Checksum 0x5ad8a58b (OK) + 0x089a30-0x1b4043 is the non-Checksummed range (unusual endpoint) */ ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) - ROM_LOAD32_WORD( "ahg120503.u7", 0x000000, 0x80000, CRC(2fbed80c) SHA1(fb0d97cb2be96da37c487fc3aef06c6120efdb46) ) - ROM_LOAD32_WORD( "ahg120503.u11", 0x000002, 0x80000, CRC(ec9c183c) SHA1(e405082ee779c4fee103fb7384469c9d6afbc95b) ) - ROM_LOAD32_WORD( "ahg120503.u8", 0x100000, 0x80000, CRC(3cd7d8e5) SHA1(ae83a7c335564c398330d43295997b8ca547c92d) ) - ROM_LOAD32_WORD( "ahg120503.u12", 0x100002, 0x80000, CRC(8bbf45d0) SHA1(f58f28e7cc4ac225197959566d81973b5aa0e836) ) + // these are the 'bios' for Casino games (should be moved to a different base set) + ROM_LOAD32_WORD( "0700474v.u7", 0x000000, 0x80000, CRC(04b7dcbf) SHA1(eded1223336181bb08f9593247f1f79d96278b75) ) + ROM_LOAD32_WORD( "0700474v.u11", 0x000002, 0x80000, CRC(a89ce1b5) SHA1(411b474a111f23ebd834bea5af0bf0cf3926d590) ) + + ROM_LOAD32_WORD( "0100878v.u8", 0x100000, 0x80000, CRC(c3184f1c) SHA1(3f808b465175108d48ca5b2560e4546b30a7fd72) ) + ROM_LOAD32_WORD( "0100878v.u12", 0x100002, 0x80000, CRC(acb3de77) SHA1(e0e337d6efbd6ee8e0c0ec2653c3dc0bd5741ff4) ) + ROM_LOAD32_WORD( "0100878v.u9", 0x200000, 0x80000, CRC(0a2f6903) SHA1(11fd913f8c3a677ae07c7ec50548a82c1eaf63ee) ) + ROM_LOAD32_WORD( "0100878v.u13", 0x200002, 0x80000, CRC(0df660be) SHA1(73d370d90655dada34f2b5b2209652632c34a22e) ) ROM_END @@ -4462,7 +4782,7 @@ ROM_END // Marked as AHG1206-99, Golden Pyramids, and 87.928% // DIP switch setup, no set chips required // Variations (% and NO): 87.928% 99 -ROM_START( goldpyra ) +ROM_START( goldpyru ) ARISTOCRAT_MK5_USA_SETCHIPS ARISTOCRAT_MK5_GALS ARISTOCRAT_MK5_EEPROM @@ -4475,43 +4795,36 @@ ROM_START( goldpyra ) 0x08ef14-0x1fffff is the non-Checksummed range if the additional vectors? at the end are included */ ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) - ROM_LOAD32_WORD( "ahg120699.u7", 0x000000, 0x80000, CRC(19d21119) SHA1(de809e098a676f3d5f2c2750c5f7c97ee4c836a7) ) - ROM_LOAD32_WORD( "ahg120699.u11", 0x000002, 0x80000, CRC(0f585009) SHA1(2e93caba45d5a79db2d7fd3a15da432afe05e59c) ) - ROM_LOAD32_WORD( "ahg120699.u8", 0x100000, 0x80000, CRC(df1ffb31) SHA1(1cf9d008b1f8fdb06ba050c97dae79f272c8063c) ) - ROM_LOAD32_WORD( "ahg120699.u12", 0x100002, 0x80000, CRC(13021157) SHA1(6beb8dea66659b5ec9cbb8dcd921c30a621049a9) ) + ROM_LOAD32_WORD( "ahg120699.u7", 0x000000, 0x80000, CRC(19d21119) SHA1(de809e098a676f3d5f2c2750c5f7c97ee4c836a7) ) // 87.928% + ROM_LOAD32_WORD( "ahg120699.u11", 0x000002, 0x80000, CRC(0f585009) SHA1(2e93caba45d5a79db2d7fd3a15da432afe05e59c) ) // 87.928% + ROM_LOAD32_WORD( "ahg1206.u8", 0x100000, 0x80000, CRC(df1ffb31) SHA1(1cf9d008b1f8fdb06ba050c97dae79f272c8063c) ) // base + ROM_LOAD32_WORD( "ahg1206.u12", 0x100002, 0x80000, CRC(13021157) SHA1(6beb8dea66659b5ec9cbb8dcd921c30a621049a9) ) // base ROM_END -// 0100878V / 602/5 / 10 Credit Multiplier / 9 Line Multiline -// Golden Pyramid / Crown Casino / C - 19/06/98 -// ROM says 'Golden Pyramid' with three trailing spaces, artwork says 'Golden Pyramids' -// Original casino BIOS is not dumped, using New Zealand 0700474V BIOS until an Australian version is dumped -// Variations (% and NO): -// 87.870% 99 -// 90.310% 01 -// 92.260% 02 -// 94.880% 03 -ROM_START( goldpyrb ) +// AHG1205-03 / MV4091 / 10 Credit Multiplier / 9 Line Multiline +// QUEEN OF THE NILE / NSW/ACT / B - 13/05/97 +// ROM contains unaltered Queen of the Nile NSW/ACT region string and date, but game is for the USA platform +// Marked as AHG1205-03, Golden Pyramids, and 94.941% +// DIP switch setup, no set chips required +// Variations (% and NO): 94.941% 03 +ROM_START( goldpyrua ) + ARISTOCRAT_MK5_USA_SETCHIPS ARISTOCRAT_MK5_GALS ARISTOCRAT_MK5_EEPROM /* - note, this actually contains a 2nd checksum for the game, this is the base/bios check only. - - Checksum code found at 0x001b74 - 0x000000-0x089a2f is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) - Expected Checksum 0x5ad8a58b - Calculated Checksum 0x5ad8a58b (OK) - 0x089a30-0x1b4043 is the non-Checksummed range (unusual endpoint) + Checksum code found at 0x000d08 + 0x000000-0x08ec83 is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) + Expected Checksum 0x7c8c2fbf + Calculated Checksum 0x7c8c2fbf (OK) + 0x08ec84-0x1aca63 is the non-Checksummed range still containing data but NOT covered by Checksum + 0x08ec84-0x1fffff is the non-Checksummed range if the additional vectors? at the end are included */ ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) - // these are the 'bios' for Casino games (should be moved to a different base set) - ROM_LOAD32_WORD( "0700474v.u7", 0x000000, 0x80000, CRC(04b7dcbf) SHA1(eded1223336181bb08f9593247f1f79d96278b75) ) - ROM_LOAD32_WORD( "0700474v.u11", 0x000002, 0x80000, CRC(a89ce1b5) SHA1(411b474a111f23ebd834bea5af0bf0cf3926d590) ) - - ROM_LOAD32_WORD( "0100878v.u8", 0x100000, 0x80000, CRC(c3184f1c) SHA1(3f808b465175108d48ca5b2560e4546b30a7fd72) ) - ROM_LOAD32_WORD( "0100878v.u12", 0x100002, 0x80000, CRC(acb3de77) SHA1(e0e337d6efbd6ee8e0c0ec2653c3dc0bd5741ff4) ) - ROM_LOAD32_WORD( "0100878v.u9", 0x200000, 0x80000, CRC(0a2f6903) SHA1(11fd913f8c3a677ae07c7ec50548a82c1eaf63ee) ) - ROM_LOAD32_WORD( "0100878v.u13", 0x200002, 0x80000, CRC(0df660be) SHA1(73d370d90655dada34f2b5b2209652632c34a22e) ) + ROM_LOAD32_WORD( "ahg120503.u7", 0x000000, 0x80000, CRC(2fbed80c) SHA1(fb0d97cb2be96da37c487fc3aef06c6120efdb46) ) // 94.941% + ROM_LOAD32_WORD( "ahg120503.u11", 0x000002, 0x80000, CRC(ec9c183c) SHA1(e405082ee779c4fee103fb7384469c9d6afbc95b) ) // 94.941% + ROM_LOAD32_WORD( "ahg1205.u8", 0x100000, 0x80000, CRC(3cd7d8e5) SHA1(ae83a7c335564c398330d43295997b8ca547c92d) ) // base + ROM_LOAD32_WORD( "ahg1205.u12", 0x100002, 0x80000, CRC(8bbf45d0) SHA1(f58f28e7cc4ac225197959566d81973b5aa0e836) ) // base ROM_END @@ -4580,7 +4893,7 @@ ROM_END // 92.013% 02 // 94.976% 03 // 97.072% 04 -ROM_START( hnktonku ) +ROM_START( honktonk ) ARISTOCRAT_MK5_USA_SETCHIPS ARISTOCRAT_MK5_GALS ARISTOCRAT_MK5_EEPROM @@ -4702,9 +5015,9 @@ ROM_START( incasunnz ) ROM_END -// CHG1458 / MV4130/3 / 20 Line Multiline / 5, 10, 25, 50 Credit Multiplier +// DHG1577 / MV4130/3 / 20 Line Multiline / 5, 10, 25, 50 Credit Multiplier // Inca Sun / Export / A - 05/09/00 -// Requires set chip version 4.03.xx +// Requires set chip version 4.04.xx // Variations (% and NO): // 87.546% 99 // 90.017% 01 @@ -4714,39 +5027,28 @@ ROM_END ROM_START( incasunu ) ARISTOCRAT_MK5_USA_SETCHIPS ARISTOCRAT_MK5_GALS + ARISTOCRAT_MK5_EEPROM /* Checksum code found at 0x000d18 - 0x000000-0x0e847f is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) - Expected Checksum 0xef64419b - Calculated Checksum 0xef64419b (OK) - 0x0e8480-0x2e9023 is the non-Checksummed range (unusual endpoint) + 0x000000-0x0ec3a7 is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) + Expected Checksum 0x24e1ed00 + Calculated Checksum 0x24e1ed00 (OK) + 0x0ec3a8-0x2ecf4b is the non-Checksummed range (unusual endpoint) */ ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) - ROM_LOAD32_WORD( "chg1458.u7", 0x000000, 0x80000, CRC(20c78b79) SHA1(d7402ff89160f25c9f4f67bbf688621d4ce22205) ) - ROM_LOAD32_WORD( "chg1458.u11", 0x000002, 0x80000, CRC(12304203) SHA1(eea44382a2711ceb6661949692e5b5a742dd0761) ) - ROM_LOAD32_WORD( "chg1458.u8", 0x100000, 0x80000, CRC(4618ecd4) SHA1(0ac6bfd6ec2bda5f4d474769f35bc81431f25c2a) ) - ROM_LOAD32_WORD( "chg1458.u12", 0x100002, 0x80000, CRC(b07d450c) SHA1(432fb4728480b76018b22e971027efb23deb7ff3) ) - ROM_LOAD32_WORD( "chg1458.u9", 0x200000, 0x80000, CRC(2f909651) SHA1(b4beaebbb20e879a1e23683a9001cbbd2ebf70c4) ) - ROM_LOAD32_WORD( "chg1458.u13", 0x200002, 0x80000, CRC(2e573a8d) SHA1(aa8ac4f4a427829f0a5929273c618edb4ecf7b36) ) - - ROM_REGION16_BE( 0x100, "eeprom0", 0 ) - ROM_LOAD16_WORD_SWAP( "eeprom0", 0x000000, 0x000100, CRC(fea8a821) SHA1(c744cac6af7621524fc3a2b0a9a135a32b33c81b) ) - - ROM_REGION16_BE( 0x100, "eeprom1", 0 ) - ROM_LOAD16_WORD_SWAP( "eeprom1", 0x000000, 0x000100, CRC(b3efdb60) SHA1(f219175019b7237f1e2d132f36803097f2a1d174) ) - - ROM_REGION( 0x80000, "nvram", 0 ) - ROM_LOAD( "nvram", 0x000000, 0x080000, CRC(a68e890e) SHA1(8ab087a09cfee8d3e2d84b1003b6798c7223be03) ) - - ROM_REGION( 0x20, "rtc", 0 ) - ROM_LOAD( "rtc", 0x000000, 0x00001f, CRC(6909acb0) SHA1(6a4589599cd1c477e916474e7b029e9a4e92019b) ) + ROM_LOAD32_WORD( "dhg1577.u7", 0x000000, 0x80000, CRC(e31e3c81) SHA1(56b00aae1b9385686530e089cad05308e0c0751d) ) + ROM_LOAD32_WORD( "dhg1577.u11", 0x000002, 0x80000, CRC(68d58ad3) SHA1(c521da10b719250e3f115357c6e4ff51377d4335) ) + ROM_LOAD32_WORD( "dhg1577.u8", 0x100000, 0x80000, CRC(475db842) SHA1(3c49fbf45a256222e6a5a0343a7dc96386bb8897) ) + ROM_LOAD32_WORD( "dhg1577.u12", 0x100002, 0x80000, CRC(f1be432e) SHA1(ed4a064e4e8200126bda3f1c25ac5075014c9f94) ) + ROM_LOAD32_WORD( "dhg1577.u9", 0x200000, 0x80000, CRC(a8956bf5) SHA1(d444a3a64968a6275b38babf23089c7d186f30e6) ) + ROM_LOAD32_WORD( "dhg1577.u13", 0x200002, 0x80000, CRC(f7c30ef9) SHA1(44d7213e1220d6b89715408d009ef1484de2696f) ) ROM_END -// DHG1577 / MV4130/3 / 20 Line Multiline / 5, 10, 25, 50 Credit Multiplier +// CHG1458 / MV4130/3 / 20 Line Multiline / 5, 10, 25, 50 Credit Multiplier // Inca Sun / Export / A - 05/09/00 -// Same strings as incasunu but later version -// Requires set chip version 4.04.xx +// Same strings as incasunu +// Requires set chip version 4.03.xx // Variations (% and NO): // 87.546% 99 // 90.017% 01 @@ -4759,18 +5061,18 @@ ROM_START( incasunua ) ARISTOCRAT_MK5_EEPROM /* Checksum code found at 0x000d18 - 0x000000-0x0ec3a7 is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) - Expected Checksum 0x24e1ed00 - Calculated Checksum 0x24e1ed00 (OK) - 0x0ec3a8-0x2ecf4b is the non-Checksummed range (unusual endpoint) + 0x000000-0x0e847f is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) + Expected Checksum 0xef64419b + Calculated Checksum 0xef64419b (OK) + 0x0e8480-0x2e9023 is the non-Checksummed range (unusual endpoint) */ ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) - ROM_LOAD32_WORD( "dhg1577.u7", 0x000000, 0x80000, CRC(e31e3c81) SHA1(56b00aae1b9385686530e089cad05308e0c0751d) ) - ROM_LOAD32_WORD( "dhg1577.u11", 0x000002, 0x80000, CRC(68d58ad3) SHA1(c521da10b719250e3f115357c6e4ff51377d4335) ) - ROM_LOAD32_WORD( "dhg1577.u8", 0x100000, 0x80000, CRC(475db842) SHA1(3c49fbf45a256222e6a5a0343a7dc96386bb8897) ) - ROM_LOAD32_WORD( "dhg1577.u12", 0x100002, 0x80000, CRC(f1be432e) SHA1(ed4a064e4e8200126bda3f1c25ac5075014c9f94) ) - ROM_LOAD32_WORD( "dhg1577.u9", 0x200000, 0x80000, CRC(a8956bf5) SHA1(d444a3a64968a6275b38babf23089c7d186f30e6) ) - ROM_LOAD32_WORD( "dhg1577.u13", 0x200002, 0x80000, CRC(f7c30ef9) SHA1(44d7213e1220d6b89715408d009ef1484de2696f) ) + ROM_LOAD32_WORD( "chg1458.u7", 0x000000, 0x80000, CRC(20c78b79) SHA1(d7402ff89160f25c9f4f67bbf688621d4ce22205) ) + ROM_LOAD32_WORD( "chg1458.u11", 0x000002, 0x80000, CRC(12304203) SHA1(eea44382a2711ceb6661949692e5b5a742dd0761) ) + ROM_LOAD32_WORD( "chg1458.u8", 0x100000, 0x80000, CRC(4618ecd4) SHA1(0ac6bfd6ec2bda5f4d474769f35bc81431f25c2a) ) + ROM_LOAD32_WORD( "chg1458.u12", 0x100002, 0x80000, CRC(b07d450c) SHA1(432fb4728480b76018b22e971027efb23deb7ff3) ) + ROM_LOAD32_WORD( "chg1458.u9", 0x200000, 0x80000, CRC(2f909651) SHA1(b4beaebbb20e879a1e23683a9001cbbd2ebf70c4) ) + ROM_LOAD32_WORD( "chg1458.u13", 0x200002, 0x80000, CRC(2e573a8d) SHA1(aa8ac4f4a427829f0a5929273c618edb4ecf7b36) ) ROM_END @@ -4850,6 +5152,9 @@ ROM_END // 02J01856 / 628/1 / 25 Credit Multiway / 20 Credit Multiplier // Indian Dreaming / VENEZUELA / B - 15/12/98 +// 87.15% 99 +// 90.14% 02 +// 92.32% 03 ROM_START( indrema5v ) ARISTOCRAT_MK5_GALS ARISTOCRAT_MK5_EEPROM @@ -4869,6 +5174,22 @@ ROM_START( indrema5v ) ROM_END +// 0301477V / MV7042 / 50 Credit Multiplier +// Joker Poker / New Zealand / A- 16/11/00 +ROM_START( jkrpkra5 ) + ARISTOCRAT_MK5_GALS + ARISTOCRAT_MK5_EEPROM + // checksum code not found (bad program ROM) + ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) + ROM_LOAD32_WORD( "0301477v.u7", 0x000000, 0x80000, CRC(ac3a5e1a) SHA1(f56e4e8b5cd230acb39324be6a40c09b8ba26f39) ) // 0301477V NZ Joker Poker 1/6 mv7042 512k © 2002 Aristocrat D U7 + ROM_LOAD32_WORD( "0301477v.u11", 0x000002, 0x80000, BAD_DUMP CRC(affeb6d1) SHA1(231139231f3b4ee4d26e10ebc1bf7aa2d5e34c4a) ) // 0301477V NZ Joker Poker 2/6 mv7042 512k © 2002 Aristocrat D U11 + ROM_LOAD32_WORD( "0301477v.u8", 0x100000, 0x80000, CRC(642c6e88) SHA1(5214b2f7514585ac2cefee42fd7977b2811eefd9) ) // 0301477V NZ Joker Poker 3/6 mv7042 512k © 2002 Aristocrat D U8 + ROM_LOAD32_WORD( "0301477v.u12", 0x100002, 0x80000, CRC(55cec253) SHA1(229d0e4be876941e72fb550c2f7d9a3c712ed3c0) ) // 0301477V NZ Joker Poker 4/6 mv7042 512k © 2002 Aristocrat D U12 + ROM_LOAD32_WORD( "0301477v.u9", 0x200000, 0x80000, CRC(66dd6f7d) SHA1(0e2f4914595b926c4e26909f1e54206166a7de09) ) // 0301477V NZ Joker Poker 5/6 mv7042 512k © 2002 Aristocrat D U9 + ROM_LOAD32_WORD( "0301477v.u13", 0x200002, 0x80000, CRC(ccbb9868) SHA1(b3db14a2d1f14d9bb08b79f71df8d33af43c4635) ) // 0301477V NZ Joker Poker 6/6 mv7042 512k © 2002 Aristocrat D U13 +ROM_END + + // 0100161V / 586/2 / 10 Credit Multiplier/9 Line Multiline // Jumping Beans / Local / A - 25/1/96 // Variations (% and NO): @@ -4923,6 +5244,29 @@ ROM_START( jumpjoey ) ROM_END +// DHG4735-02 / MV4043 / 10 Credit Multiplier / 9 Line Multiline +// Jumpin' Joeys / Export / A - 08/01/99 +// DIP switch setup, no set chips required +// Variations (% and NO): 90.445% 02 +ROM_START( jumpjoeyu ) + ARISTOCRAT_MK5_USA_SETCHIPS + ARISTOCRAT_MK5_GALS + ARISTOCRAT_MK5_EEPROM + /* + Checksum code found at 0x000d08 + 0x000000-0x0cde9b is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) + Expected Checksum 0x3e5dc23b + Calculated Checksum 0x3e5dc23b (OK) + 0x0cde9c-0x35040b is the non-Checksummed range (unusual endpoint) + */ + ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) + ROM_LOAD32_WORD( "dhg473502.u7", 0x000000, 0x80000, CRC(28e07600) SHA1(fbeb26184bd14a17bb5f6f0480d6adddf8973d96) ) // 90.445% + ROM_LOAD32_WORD( "dhg473502.u11", 0x000002, 0x80000, CRC(c5d628c0) SHA1(b363cfa3ee5ae074d1758b14feb559721efab366) ) // 90.445% + ROM_LOAD32_WORD( "dhg4735.u8", 0x100000, 0x80000, CRC(587e9bb9) SHA1(4d5f2bf15ecac3960fe97f0a90b912524cb38d4d) ) // base + ROM_LOAD32_WORD( "dhg4735.u12", 0x100002, 0x80000, CRC(2d8feee8) SHA1(1a6ea0f79946e05edee2f01f6c676ca45c0e4f48) ) // base +ROM_END + + // 0200240V / 566/3 / 5 Credit Multiplier/9 Line Multiline // Jungle Juice / Crown / F - 06/03/96 // ROM says 'Crown' as region (Crown Casino), but game was from Dunedin Casino with New Zealand base chips @@ -5066,6 +5410,26 @@ ROM_START( kgbirda5 ) ROM_END +// 0301689V / JB009/10 / 6 Credit Multiplier/20 Line Multiline +// King's Ransom / New Zealand / B- 08/01/02 +// Variations (% and NO): +// 87.99% 99 +// 90.49% 01 +// 91.99% 02 +ROM_START( kingsran ) + ARISTOCRAT_MK5_GALS + ARISTOCRAT_MK5_EEPROM + // checksum code not found (uses different startup sequence) + ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) + ROM_LOAD32_WORD( "0301689v.u7", 0x000000, 0x80000, CRC(343bb39a) SHA1(a8bc0a0d03ecdadf3632fc288b35d729a448311c) ) // 0301689V NZ KINGS RANSOM JB009/10 512K 6 eproms Aristocrat © 2004 P U7 + ROM_LOAD32_WORD( "0301689v.u11", 0x000002, 0x80000, CRC(5b0905c9) SHA1(c6513dc74c689aac30935de17cbf5b7d6ff6c8b4) ) // 0301689V NZ KINGS RANSOM JB009/10 512K 6 eproms Aristocrat © 2004 P U11 + ROM_LOAD32_WORD( "0301689v.u8", 0x100000, 0x80000, CRC(780c5384) SHA1(e3d8f9424a038ce8093688854907a653371450de) ) // 0301689V NZ KINGS RANSOM JB009/10 512K 6 eproms Aristocrat © 2004 P U8 + ROM_LOAD32_WORD( "0301689v.u12", 0x100002, 0x80000, CRC(f5ffa7fa) SHA1(130ff5def50b330b95c4a2f4c9248ed02a03f209) ) // 0301689V NZ KINGS RANSOM JB009/10 512K 6 eproms Aristocrat © 2004 P U12 + ROM_LOAD32_WORD( "0301689v.u9", 0x200000, 0x80000, CRC(bf0c0536) SHA1(a424cde8891a0bf2351bbe3b66059a51844789ce) ) // 0301689V NZ KINGS RANSOM JB009/10 512K 6 eproms Aristocrat © 2004 P U9 + ROM_LOAD32_WORD( "0301689v.u13", 0x200002, 0x80000, CRC(d37bdb65) SHA1(889ce85cc166a819c4c8e2d8e074f247d4b03073) ) // 0301689V NZ KINGS RANSOM JB009/10 512K 6 eproms Aristocrat © 2004 P U13 +ROM_END + + // CHG1573 / MV4137 / 5,10,25,50 Credit Multiplier / 20 Line Multiline // Koala Mint / Export / A - 12/09/01 // Requires set chip version 4.04.xx @@ -5134,7 +5498,7 @@ ROM_END // 92.184% 02 // 94.953% 03 // 97.239% 04 -ROM_START( kyhatonu ) +ROM_START( kyhaton ) ARISTOCRAT_MK5_USA_SETCHIPS ARISTOCRAT_MK5_GALS ARISTOCRAT_MK5_EEPROM @@ -5319,12 +5683,35 @@ ROM_START( luckyclo ) ROM_END +// AHG1211-03 / MV4033 / 10 Credit Multiplier / 9 Line Multiline +// Magic Garden / Export / B - 10/02/97 +// DIP switch setup, no set chips required +// Variations (% and NO): 94.97% 03 +ROM_START( mgarden ) + ARISTOCRAT_MK5_USA_SETCHIPS + ARISTOCRAT_MK5_GALS + ARISTOCRAT_MK5_EEPROM + /* + Checksum code found at 0x000d08 + 0x000000-0x0a522b is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) + Expected Checksum 0x8909509c + Calculated Checksum 0x8909509c (OK) + 0x0a522c-0x35040b is the non-Checksummed range (unusual endpoint) + */ + ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) + ROM_LOAD32_WORD( "ahg121103.u7", 0x000000, 0x80000, CRC(d838a8f5) SHA1(94a62f1da383512bc241b2b83f802222eee87fb8) ) // 94.97% + ROM_LOAD32_WORD( "ahg121103.u11", 0x000002, 0x80000, CRC(894bcf97) SHA1(7a026f5130c167ef64cc3e0c5f9a2f741554c6b6) ) // 94.97% + ROM_LOAD32_WORD( "ahg1211.u8", 0x100000, 0x80000, CRC(a315ca28) SHA1(0309789362a945d592ee2eda912e4fc2e6ea5be6) ) // base + ROM_LOAD32_WORD( "ahg1211.u12", 0x100002, 0x80000, CRC(4b252c2c) SHA1(8be41fb2b8f8d2829c18ea123a02f3e61c136206) ) // base +ROM_END + + // AHG1211-99 / MV4033 / 10 Credit Multiplier / 9 Line Multiline // Magic Garden / Export / B - 10/02/97 // Marked as AHG1211 and 88.26% // DIP switch setup, no set chips required // Variations (% and NO): 88.26% 99 -ROM_START( mgarden ) +ROM_START( mgardena ) ARISTOCRAT_MK5_USA_SETCHIPS ARISTOCRAT_MK5_GALS ARISTOCRAT_MK5_EEPROM @@ -5337,10 +5724,10 @@ ROM_START( mgarden ) 0x0a522c-0x1fffff is the non-Checksummed range if the additional vectors? at the end are included */ ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) - ROM_LOAD32_WORD( "ahg121199.u7", 0x000000, 0x80000, CRC(12b9aaf2) SHA1(1cc86a0c8daefc1e5b5a4ff710319a85f573f526) ) - ROM_LOAD32_WORD( "ahg121199.u11", 0x000002, 0x80000, CRC(b6095f2c) SHA1(d36ceaa0e6545f594f6a50ddfa71d84ca7128f3b) ) - ROM_LOAD32_WORD( "ahg121199.u8", 0x100000, 0x80000, CRC(a315ca28) SHA1(0309789362a945d592ee2eda912e4fc2e6ea5be6) ) - ROM_LOAD32_WORD( "ahg121199.u12", 0x100002, 0x80000, CRC(4b252c2c) SHA1(8be41fb2b8f8d2829c18ea123a02f3e61c136206) ) + ROM_LOAD32_WORD( "ahg121199.u7", 0x000000, 0x80000, CRC(12b9aaf2) SHA1(1cc86a0c8daefc1e5b5a4ff710319a85f573f526) ) // 88.26% + ROM_LOAD32_WORD( "ahg121199.u11", 0x000002, 0x80000, CRC(b6095f2c) SHA1(d36ceaa0e6545f594f6a50ddfa71d84ca7128f3b) ) // 88.26% + ROM_LOAD32_WORD( "ahg1211.u8", 0x100000, 0x80000, CRC(a315ca28) SHA1(0309789362a945d592ee2eda912e4fc2e6ea5be6) ) // base + ROM_LOAD32_WORD( "ahg1211.u12", 0x100002, 0x80000, CRC(4b252c2c) SHA1(8be41fb2b8f8d2829c18ea123a02f3e61c136206) ) // base ROM_END @@ -5387,6 +5774,7 @@ ROM_END ROM_START( magimaska ) ARISTOCRAT_MK5_USA_SETCHIPS ARISTOCRAT_MK5_GALS + ARISTOCRAT_MK5_EEPROM /* Checksum code found at 0x000d18 0x000000-0x0e9597 is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) @@ -5400,18 +5788,6 @@ ROM_START( magimaska ) ROM_LOAD32_WORD( "ahg1548.u11", 0x000002, 0x80000, CRC(c57601f3) SHA1(1616a424b41ad6fea6383a08d5352e8240433374) ) ROM_LOAD32_WORD( "ahg1548.u8", 0x100000, 0x80000, CRC(607d7447) SHA1(064dbfe8b52eebe1be7a41735da3fa01eacd1686) ) ROM_LOAD32_WORD( "ahg1548.u12", 0x100002, 0x80000, CRC(cf4cd569) SHA1(408edcd746587d249c4286f7a99f33ad94214f7c) ) - - ROM_REGION16_BE( 0x100, "eeprom0", 0 ) - ROM_LOAD16_WORD_SWAP( "eeprom0", 0x000000, 0x000100, CRC(fea8a821) SHA1(c744cac6af7621524fc3a2b0a9a135a32b33c81b) ) - - ROM_REGION16_BE( 0x100, "eeprom1", 0 ) - ROM_LOAD16_WORD_SWAP( "eeprom1", 0x000000, 0x000100, CRC(a10501f9) SHA1(34fdcd16bd7dc474baadc0836e2083abaf589549) ) - - ROM_REGION( 0x80000, "nvram", 0 ) - ROM_LOAD( "nvram", 0x000000, 0x080000, CRC(5365446b) SHA1(9ae7a72d0ed3e7f7523a2e0a8f0dc014c6490438) ) - - ROM_REGION( 0x20, "rtc", 0 ) - ROM_LOAD( "rtc", 0x000000, 0x00001f, CRC(6909acb0) SHA1(6a4589599cd1c477e916474e7b029e9a4e92019b) ) ROM_END @@ -5430,6 +5806,7 @@ ROM_END ROM_START( magimaskb ) ARISTOCRAT_MK5_USA_SETCHIPS ARISTOCRAT_MK5_GALS + ARISTOCRAT_MK5_EEPROM /* Checksum code found at 0x000d18 0x000000-0x0e8527 is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) @@ -5443,18 +5820,35 @@ ROM_START( magimaskb ) ROM_LOAD32_WORD( "dhg1309.u11", 0x000002, 0x80000, CRC(42af4b3f) SHA1(5d88951f77782ff3861b6550ace076662a0b45aa) ) ROM_LOAD32_WORD( "dhg1309.u8", 0x100000, 0x80000, CRC(23aefb5a) SHA1(ba4488754794f75f53b9c81b74b6ccd992c64acc) ) ROM_LOAD32_WORD( "dhg1309.u12", 0x100002, 0x80000, CRC(6829a7bf) SHA1(97eed83763d0ec5e753d6ad194e906b1307c4940) ) +ROM_END - ROM_REGION16_BE( 0x100, "eeprom0", 0 ) - ROM_LOAD16_WORD_SWAP( "eeprom0", 0x000000, 0x000100, CRC(fea8a821) SHA1(c744cac6af7621524fc3a2b0a9a135a32b33c81b) ) - - ROM_REGION16_BE( 0x100, "eeprom1", 0 ) - ROM_LOAD16_WORD_SWAP( "eeprom1", 0x000000, 0x000100, CRC(6e485bbc) SHA1(3d6c8d120c69ed2804f267c50681974f73e1ee51) ) - - ROM_REGION( 0x80000, "nvram", 0 ) - ROM_LOAD( "nvram", 0x000000, 0x080000, CRC(538c7523) SHA1(1e6516b77daf855e397c1ec590e73637ce3b8406) ) - ROM_REGION( 0x20, "rtc", 0 ) - ROM_LOAD( "rtc", 0x000000, 0x00001f, CRC(6909acb0) SHA1(6a4589599cd1c477e916474e7b029e9a4e92019b) ) +// AHG1207 / MV4115 / 3,5,10,20,25,50 Credit Multiplier / 9 Line Multiline +// Magic Mask / Export / A - 09/05/2000 +// Touchscreen game +// Requires set chip version 4.01.xx +// Variations (% and NO): +// 87.845% 99 +// 89.957% 01 +// 92.053% 02 +// 94.770% 03 +// 96.818% 04 +ROM_START( magimaskc ) + ARISTOCRAT_MK5_USA_SETCHIPS + ARISTOCRAT_MK5_GALS + ARISTOCRAT_MK5_EEPROM + /* + Checksum code found at 0x000d10 + 0x000000-0x0a68b3 is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) + Expected Checksum 0xb694f6bc + Calculated Checksum 0xb694f6bc (OK) + 0x0a68b4-0x35040b is the non-Checksummed range (unusual endpoint) + */ + ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) + ROM_LOAD32_WORD( "ahg1207.u7", 0x000000, 0x80000, CRC(bd689c44) SHA1(eb4a22a3aa7a9a957edb252336089ee98bc18c98) ) + ROM_LOAD32_WORD( "ahg1207.u11", 0x000002, 0x80000, CRC(4bf6e650) SHA1(e66371005bcc72dc9a1ff00817d772966d23277b) ) + ROM_LOAD32_WORD( "ahg1207.u8", 0x100000, 0x80000, CRC(123ffb23) SHA1(58e4b0cf7330f9445f2a15ce1925c93aa64a0ea6) ) + ROM_LOAD32_WORD( "ahg1207.u12", 0x100002, 0x80000, CRC(d46b0170) SHA1(00436624e0bab9c9308ae690dc3f192fb4a6da93) ) ROM_END @@ -5556,40 +5950,6 @@ ROM_START( marmagic ) ROM_END -// EHG1558 / US003 / Multi credit / Multi line -// Margarita Magic / NSW/ACT / A - 07/07/2000 -// ROM has NSW/ACT strings but it is for USA platform -// 9 lines, 45/90/180 credits -// Requires set chip version 4.04.xx -// Variations (% and NO): -// 87.965% 99 -// 90.123% 01 -// 92.158% 02 -// 94.930% 03 -// 97.020% 04 -ROM_START( marmagicu ) - ARISTOCRAT_MK5_USA_SETCHIPS - ARISTOCRAT_MK5_GALS - ARISTOCRAT_MK5_EEPROM - /* - Checksum code found at 0x000d18 - 0x000000-0x0ed9f3 is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) - Expected Checksum 0xe8864023 - Calculated Checksum 0xe8864023 (OK) - 0x0ed9f4-0x319ef3 is the non-Checksummed range (unusual endpoint) - */ - ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) - ROM_LOAD32_WORD( "ehg1558.u7", 0x000000, 0x80000, CRC(7c2602ae) SHA1(f5a13154448041575e4bea1399ed0a5a0888d493) ) // Margarita Magic U7 EHG1558 Game 8CCC / E521 L02-0576-07 - ROM_LOAD32_WORD( "ehg1558.u11", 0x000002, 0x80000, CRC(4fe3b18a) SHA1(cc36eddd264de1a088c16e1b741168130d895bd7) ) // Margarita Magic U11 EHG1558 Game 2C35 / 65F7 L02-0576-08 - ROM_LOAD32_WORD( "ehg1558.u8", 0x100000, 0x80000, CRC(c9ff4bd8) SHA1(5766d7c39e753fb2a2412a41338dcfd4e31b642b) ) // Margarita Magic U8 EHG1558 Base P9U9 / 58B4 L02-0576-01 - ROM_LOAD32_WORD( "ehg1558.u12", 0x100002, 0x80000, CRC(d00cd217) SHA1(2be7c1ef6c0a39d1c7ed391feeaf0f42a6471bae) ) // Margarita Magic U12 EHG1558 Base 6CFU / F787 L02-0576-04 - ROM_LOAD32_WORD( "ehg1558.u9", 0x200000, 0x80000, CRC(879e4b14) SHA1(52d9540dd3ed51d42a31d1a7effe75e995e95330) ) // Margarita Magic U9 EHG1558 Base 6795 / 2CB6 L02-0576-02 - ROM_LOAD32_WORD( "ehg1558.u13", 0x200002, 0x80000, CRC(770872a1) SHA1(cd430385a3dfc080decfa2402d7dbad0db912e15) ) // Margarita Magic U13 EHG1558 Base 9898 / AFC9 L02-0576-05 - ROM_LOAD32_WORD( "ehg1558.u10", 0x300000, 0x80000, CRC(4301eb40) SHA1(1a32c61df2ab04c365135378d97d18bbb0b50179) ) // Margarita Magic U10 EHG1558 Base H744 / B1F3 L02-0576-03 - ROM_LOAD32_WORD( "ehg1558.u14", 0x300002, 0x80000, CRC(a2096cb3) SHA1(c2bba35396f9c83b17d692a384b6406f3441c8f5) ) // Margarita Magic U14 EHG1558 Base 2268 / B8BE L02-0576-06 -ROM_END - - // EHG1559 / US003 / Multi credit / Multi line // Margarita Magic / NSW/ACT / A - 07/07/2000 // ROM has NSW/ACT strings but it is for USA platform @@ -5601,7 +5961,7 @@ ROM_END // 92.195% 02 // 94.991% 03 // 97.073% 04 -ROM_START( marmagicua ) +ROM_START( marmagicu ) ARISTOCRAT_MK5_USA_SETCHIPS ARISTOCRAT_MK5_GALS ARISTOCRAT_MK5_EEPROM @@ -5625,6 +5985,40 @@ ROM_START( marmagicua ) ROM_END +// EHG1558 / US003 / Multi credit / Multi line +// Margarita Magic / NSW/ACT / A - 07/07/2000 +// ROM has NSW/ACT strings but it is for USA platform +// 9 lines, 45/90/180 credits +// Requires set chip version 4.04.xx +// Variations (% and NO): +// 87.965% 99 +// 90.123% 01 +// 92.158% 02 +// 94.930% 03 +// 97.020% 04 +ROM_START( marmagicua ) + ARISTOCRAT_MK5_USA_SETCHIPS + ARISTOCRAT_MK5_GALS + ARISTOCRAT_MK5_EEPROM + /* + Checksum code found at 0x000d18 + 0x000000-0x0ed9f3 is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) + Expected Checksum 0xe8864023 + Calculated Checksum 0xe8864023 (OK) + 0x0ed9f4-0x319ef3 is the non-Checksummed range (unusual endpoint) + */ + ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) + ROM_LOAD32_WORD( "ehg1558.u7", 0x000000, 0x80000, CRC(7c2602ae) SHA1(f5a13154448041575e4bea1399ed0a5a0888d493) ) // Margarita Magic U7 EHG1558 Game 8CCC / E521 L02-0576-07 + ROM_LOAD32_WORD( "ehg1558.u11", 0x000002, 0x80000, CRC(4fe3b18a) SHA1(cc36eddd264de1a088c16e1b741168130d895bd7) ) // Margarita Magic U11 EHG1558 Game 2C35 / 65F7 L02-0576-08 + ROM_LOAD32_WORD( "ehg1558.u8", 0x100000, 0x80000, CRC(c9ff4bd8) SHA1(5766d7c39e753fb2a2412a41338dcfd4e31b642b) ) // Margarita Magic U8 EHG1558 Base P9U9 / 58B4 L02-0576-01 + ROM_LOAD32_WORD( "ehg1558.u12", 0x100002, 0x80000, CRC(d00cd217) SHA1(2be7c1ef6c0a39d1c7ed391feeaf0f42a6471bae) ) // Margarita Magic U12 EHG1558 Base 6CFU / F787 L02-0576-04 + ROM_LOAD32_WORD( "ehg1558.u9", 0x200000, 0x80000, CRC(879e4b14) SHA1(52d9540dd3ed51d42a31d1a7effe75e995e95330) ) // Margarita Magic U9 EHG1558 Base 6795 / 2CB6 L02-0576-02 + ROM_LOAD32_WORD( "ehg1558.u13", 0x200002, 0x80000, CRC(770872a1) SHA1(cd430385a3dfc080decfa2402d7dbad0db912e15) ) // Margarita Magic U13 EHG1558 Base 9898 / AFC9 L02-0576-05 + ROM_LOAD32_WORD( "ehg1558.u10", 0x300000, 0x80000, CRC(4301eb40) SHA1(1a32c61df2ab04c365135378d97d18bbb0b50179) ) // Margarita Magic U10 EHG1558 Base H744 / B1F3 L02-0576-03 + ROM_LOAD32_WORD( "ehg1558.u14", 0x300002, 0x80000, CRC(a2096cb3) SHA1(c2bba35396f9c83b17d692a384b6406f3441c8f5) ) // Margarita Magic U14 EHG1558 Base 2268 / B8BE L02-0576-06 +ROM_END + + // 0400115V / 559/2 / 10 Credit Multiplier/9 Line Multiline // Mine, Mine, Mine / Local / D - 16/01/96 // Variations (% and NO): @@ -5660,6 +6054,7 @@ ROM_END ROM_START( minemineu ) ARISTOCRAT_MK5_USA_SETCHIPS ARISTOCRAT_MK5_GALS + ARISTOCRAT_MK5_EEPROM /* Checksum code found at 0x000d10 0x000000-0x0a7203 is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) @@ -5669,22 +6064,33 @@ ROM_START( minemineu ) 0x0a7204-0x1fffff is the non-Checksummed range if the additional vectors? at the end are included */ ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) - ROM_LOAD32_WORD( "vhg041699.u7", 0x000000, 0x80000, CRC(41bc3714) SHA1(5a8f7d24a6a697524af7997dcedd214fcaf48768) ) - ROM_LOAD32_WORD( "vhg041699.u11", 0x000002, 0x80000, CRC(75803b10) SHA1(2ff3d966da2992ddcc7e229d979cc1ee623b4900) ) - ROM_LOAD32_WORD( "vhg041699.u8", 0x100000, 0x80000, CRC(0a3e2baf) SHA1(b9ab989cf383cd6ea0aa1ead137558a1a6f5901d) ) - ROM_LOAD32_WORD( "vhg041699.u12", 0x100002, 0x80000, CRC(26c01532) SHA1(ec68ad44b703609c7bc27275f8d9250a16d9067c) ) - - ROM_REGION16_BE( 0x100, "eeprom0", 0 ) - ROM_LOAD16_WORD_SWAP( "eeprom0", 0x000000, 0x000100, CRC(fea8a821) SHA1(c744cac6af7621524fc3a2b0a9a135a32b33c81b) ) - - ROM_REGION16_BE( 0x100, "eeprom1", 0 ) - ROM_LOAD16_WORD_SWAP( "eeprom1", 0x000000, 0x000100, CRC(8421e7c2) SHA1(fc1b07d5b7aadafc4a0f2e4dfa698e7c72340717) ) + ROM_LOAD32_WORD( "vhg041699.u7", 0x000000, 0x80000, CRC(41bc3714) SHA1(5a8f7d24a6a697524af7997dcedd214fcaf48768) ) // 87.408% + ROM_LOAD32_WORD( "vhg041699.u11", 0x000002, 0x80000, CRC(75803b10) SHA1(2ff3d966da2992ddcc7e229d979cc1ee623b4900) ) // 87.408% + ROM_LOAD32_WORD( "vhg0416.u8", 0x100000, 0x80000, CRC(0a3e2baf) SHA1(b9ab989cf383cd6ea0aa1ead137558a1a6f5901d) ) // base + ROM_LOAD32_WORD( "vhg0416.u12", 0x100002, 0x80000, CRC(26c01532) SHA1(ec68ad44b703609c7bc27275f8d9250a16d9067c) ) // base +ROM_END - ROM_REGION( 0x80000, "nvram", 0 ) - ROM_LOAD( "nvram", 0x000000, 0x080000, CRC(883f5023) SHA1(e526e337b5b0fc77091b4946b503b56307c390e9) ) - ROM_REGION( 0x20, "rtc", 0 ) - ROM_LOAD( "rtc", 0x000000, 0x00001f, CRC(6909acb0) SHA1(6a4589599cd1c477e916474e7b029e9a4e92019b) ) +// NHG0416-02 / 559/2 / 10 Credit Multiplier / 9 Line Multiline +// Mine, Mine, Mine / Export / E - 14/02/96 +// DIP switch setup, no set chips required +// Variations (% and NO): 92.047% 02 +ROM_START( minemineua ) + ARISTOCRAT_MK5_USA_SETCHIPS + ARISTOCRAT_MK5_GALS + ARISTOCRAT_MK5_EEPROM + /* + Checksum code found at 0x000d10 + 0x000000-0x0a7183 is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) + Expected Checksum 0xae63b6e2 + Calculated Checksum 0xae63b6e2 (OK) + 0x0a7184-0x35040b is the non-Checksummed range (unusual endpoint) + */ + ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) + ROM_LOAD32_WORD( "nhg041602.u7", 0x000000, 0x80000, CRC(cc6a8aa7) SHA1(f551de97db33c205827a7f919cc2991cc76424d2) ) // 92.047% + ROM_LOAD32_WORD( "nhg041602.u11", 0x000002, 0x80000, CRC(f4b9212c) SHA1(bbf0270607077beadf85cc186fdbba2d4d2ad468) ) // 92.047% + ROM_LOAD32_WORD( "nhg0416.u8", 0x100000, 0x80000, CRC(50c4d4d8) SHA1(920e62933ffa29622d941b469dcd6c5dfc2ab438) ) // base + ROM_LOAD32_WORD( "nhg0416.u12", 0x100002, 0x80000, CRC(fc3f18ff) SHA1(f2afc6bdd7a702e4ac4037749613ac4a40446511) ) // base ROM_END @@ -5693,7 +6099,7 @@ ROM_END // All devices are 27C4002 instead of 27C4096 // DIP switch setup, no set chips required // Variations (% and NO): 87.408% 99 -ROM_START( minemineua ) +ROM_START( minemineub ) ARISTOCRAT_MK5_USA_SETCHIPS ARISTOCRAT_MK5_GALS ARISTOCRAT_MK5_EEPROM @@ -5706,10 +6112,10 @@ ROM_START( minemineua ) 0x0a7184-0x1fffff is the non-Checksummed range if the additional vectors? at the end are included */ ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) - ROM_LOAD32_WORD( "nhg0416.u7", 0x000000, 0x80000, CRC(7258afb3) SHA1(238b883075a5e3cdd2c675190b269c55d08b7b13) ) - ROM_LOAD32_WORD( "nhg0416.u11", 0x000002, 0x80000, CRC(c65978b0) SHA1(e16b6a57b21b4570687676f4c6b65c463ad6e559) ) - ROM_LOAD32_WORD( "nhg0416.u8", 0x100000, 0x80000, CRC(50c4d4d8) SHA1(920e62933ffa29622d941b469dcd6c5dfc2ab438) ) - ROM_LOAD32_WORD( "nhg0416.u12", 0x100002, 0x80000, CRC(fc3f18ff) SHA1(f2afc6bdd7a702e4ac4037749613ac4a40446511) ) + ROM_LOAD32_WORD( "nhg041699.u7", 0x000000, 0x80000, CRC(7258afb3) SHA1(238b883075a5e3cdd2c675190b269c55d08b7b13) ) // 87.408% + ROM_LOAD32_WORD( "nhg041699.u11", 0x000002, 0x80000, CRC(c65978b0) SHA1(e16b6a57b21b4570687676f4c6b65c463ad6e559) ) // 87.408% + ROM_LOAD32_WORD( "nhg0416.u8", 0x100000, 0x80000, CRC(50c4d4d8) SHA1(920e62933ffa29622d941b469dcd6c5dfc2ab438) ) // base + ROM_LOAD32_WORD( "nhg0416.u12", 0x100002, 0x80000, CRC(fc3f18ff) SHA1(f2afc6bdd7a702e4ac4037749613ac4a40446511) ) // base ROM_END @@ -6207,6 +6613,7 @@ ROM_END ROM_START( partygrs ) ARISTOCRAT_MK5_USA_SETCHIPS ARISTOCRAT_MK5_GALS + ARISTOCRAT_MK5_EEPROM /* Checksum code found at 0x000d18 0x000000-0x0e9b47 is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) @@ -6220,18 +6627,6 @@ ROM_START( partygrs ) ROM_LOAD32_WORD( "ahg1567.u11", 0x000002, 0x80000, CRC(f8bd9f7f) SHA1(a8c67a644f9090890e8f33e620fe0bb4633bd6e8) ) ROM_LOAD32_WORD( "ahg1567.u8", 0x100000, 0x80000, CRC(0b98a0fa) SHA1(c9ada21e39472f28cd9b8ec19be7235410ad3e7a) ) ROM_LOAD32_WORD( "ahg1567.u12", 0x100002, 0x80000, CRC(00d1395c) SHA1(d9a66d6cdb5aa4f583d8c23306b1416646cbde93) ) - - ROM_REGION16_BE( 0x100, "eeprom0", 0 ) - ROM_LOAD16_WORD_SWAP( "eeprom0", 0x000000, 0x000100, CRC(fea8a821) SHA1(c744cac6af7621524fc3a2b0a9a135a32b33c81b) ) - - ROM_REGION16_BE( 0x100, "eeprom1", 0 ) - ROM_LOAD16_WORD_SWAP( "eeprom1", 0x000000, 0x000100, CRC(a10501f9) SHA1(34fdcd16bd7dc474baadc0836e2083abaf589549) ) - - ROM_REGION( 0x80000, "nvram", 0 ) - ROM_LOAD( "nvram", 0x000000, 0x080000, CRC(fec1b1df) SHA1(5981e2961692d4c8633afea4ecb4828eabba65bd) ) - - ROM_REGION( 0x20, "rtc", 0 ) - ROM_LOAD( "rtc", 0x000000, 0x00001f, CRC(6909acb0) SHA1(6a4589599cd1c477e916474e7b029e9a4e92019b) ) ROM_END @@ -6441,6 +6836,79 @@ ROM_START( pengpayc ) ROM_END +// AHG1544 / MV4122 / 3,5,10,20,25,50 Credit Multiplier / 9 Line Multiline +// PENGUIN PAYS / CASH EXPRESS / Export / C - 19/01/01 +// Marked SPC. +// Cash Express Hyperlink game, but can also run standalone without progressive jackpot +// Requires set chip version 4.04.xx +// Variations (% and NO): +// 87.845% 99 +// 90.104% 01 +// 92.013% 02 +// 94.976% 03 +// 97.072% 04 +// 82.200% 05 (Hyperlink) +// Hyperlink turnover: +// Any denomination: $500.00, $750.00 +ROM_START( pengpayce ) + ARISTOCRAT_MK5_USA_SETCHIPS + ARISTOCRAT_MK5_GALS + ARISTOCRAT_MK5_EEPROM + /* + Checksum code found at 0x000d18 + 0x000000-0x0f368f is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) + Expected Checksum 0x029d0237 + Calculated Checksum 0x029d0237 (OK) + 0x0f3690-0x39746f is the non-Checksummed range (unusual endpoint) + */ + ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) + ROM_LOAD32_WORD( "ahg1544.u7", 0x000000, 0x80000, CRC(c899afcf) SHA1(85b3b9f94965c2bf10b5d5b265aef28bda01a3cb) ) // game + ROM_LOAD32_WORD( "ahg1544.u11", 0x000002, 0x80000, CRC(c44eb9bd) SHA1(6eca6459806aa7d0ab0d53e8e3e6f3c0c71f7220) ) // game + ROM_LOAD32_WORD( "ahg1544.u8", 0x100000, 0x80000, CRC(c9ebdf24) SHA1(cf29c42d4f15edfe5ba24be6282b3a6d01a29a13) ) // base + ROM_LOAD32_WORD( "ahg1544.u12", 0x100002, 0x80000, CRC(10c4cd0f) SHA1(db2df4d143d4ad3312d2c577e6ccbe36247f24c7) ) // base + ROM_LOAD32_WORD( "ahg1544.u9", 0x200000, 0x80000, CRC(4eeaf222) SHA1(bb918326bee71d5597b74c6c50cbcfa3ad1ef0c4) ) // base + ROM_LOAD32_WORD( "ahg1544.u13", 0x200002, 0x80000, CRC(5ebd90a7) SHA1(766291b62ed4a65ba6fb2d64e52022dd4831957d) ) // base + ROM_LOAD32_WORD( "ahg1544.u10", 0x300000, 0x80000, CRC(cbbbb21f) SHA1(c9c213ac720cb7a95179db592dcadbb466ffd572) ) // base + ROM_LOAD32_WORD( "ahg1544.u14", 0x300002, 0x80000, CRC(4ef4f063) SHA1(d6e9928f80f19d3fdd0e7acb0bfb6f9b2ae5724b) ) // base +ROM_END + + +// AHG1295 / MV4122 / 3,5,10,20,25,50 Credit Multiplier / 9 Line Multiline +// PENGUIN PAYS / CASH EXPRESS / Export / C - 19/01/01 +// Cash Express Hyperlink game, but can also run standalone without progressive jackpot +// Requires set chip version 4.03.xx +// Variations (% and NO): +// 87.845% 99 +// 90.104% 01 +// 92.013% 02 +// 94.976% 03 +// 97.072% 04 +// 82.200% 05 (Hyperlink) +// Hyperlink turnover: +// Any denomination: $500.00, $750.00 +ROM_START( pengpaycea ) + ARISTOCRAT_MK5_USA_SETCHIPS + ARISTOCRAT_MK5_GALS + ARISTOCRAT_MK5_EEPROM + /* + Checksum code found at 0x000d18 + 0x000000-0x0f23fb is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) + Expected Checksum 0x03715728 + Calculated Checksum 0x03715728 (OK) + 0x0f23fc-0x3961b3 is the non-Checksummed range (unusual endpoint) + */ + ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) + ROM_LOAD32_WORD( "ahg1295.u7", 0x000000, 0x80000, CRC(305951c6) SHA1(4487604e0453a16cd4bd8f50caa91f8bdd053fa2) ) // game + ROM_LOAD32_WORD( "ahg1295.u11", 0x000002, 0x80000, CRC(d6d18f86) SHA1(f81ce70fb43f0fcf7156c6ebae57a1dab784b96f) ) // game + ROM_LOAD32_WORD( "ahg1295.u8", 0x100000, 0x80000, CRC(1b0d99a2) SHA1(5ac4702d174cb3fd10f882d721c4ccfbde853929) ) // base + ROM_LOAD32_WORD( "ahg1295.u12", 0x100002, 0x80000, CRC(6e3a6fea) SHA1(e923cabd5a7005f46a2550082357b1fc9155ef55) ) // base + ROM_LOAD32_WORD( "ahg1295.u9", 0x200000, 0x80000, CRC(2d63a725) SHA1(148da7eafe2e6f360b3a34351deb728b4fc765af) ) // base + ROM_LOAD32_WORD( "ahg1295.u13", 0x200002, 0x80000, CRC(77a30ab5) SHA1(2ae8bbe7f0c0688b9a81f39c0627376aadbf2daa) ) // base + ROM_LOAD32_WORD( "ahg1295.u10", 0x300000, 0x80000, CRC(a8c34518) SHA1(131e41436ed16dd479cbb6ac74dccbd2bc3301a3) ) // base + ROM_LOAD32_WORD( "ahg1295.u14", 0x300002, 0x80000, CRC(7be2dae1) SHA1(5ab60a974364117169f6df1c76ead063da5a6ca4) ) // base +ROM_END + + // 0300113V / 586 / 20 Credit Multiplier/9 Line Multiline // Penguin Pays 180cm / NSW/ACT / A - 12/10/95 ROM_START( pengpayd ) @@ -6455,7 +6923,7 @@ ROM_START( pengpayd ) ROM_END -// BHI0417-03 / 586/7(b) / 10 Credit Multiplier / 9 Line Multiline +// OHG0417-03 / 586/7(b) / 10 Credit Multiplier / 9 Line Multiline // Penguin Pays / Export / B - 14/07/97 // All devices are 27C4002 instead of 27C4096 // DIP switch setup, no set chips required @@ -6463,116 +6931,99 @@ ROM_END ROM_START( pengpayu ) ARISTOCRAT_MK5_USA_SETCHIPS ARISTOCRAT_MK5_GALS + ARISTOCRAT_MK5_EEPROM /* Checksum code found at 0x000d08 - 0x000000-0x0cd21b is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) - Expected Checksum 0x7dc52ffa - Calculated Checksum 0x7dc52ffa (OK) - 0x0cd21c-0x192ed7 is the non-Checksummed range still containing data but NOT covered by Checksum - 0x0cd21c-0x1fffff is the non-Checksummed range if the additional vectors? at the end are included + 0x000000-0x0a898f is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) + Expected Checksum 0x93affe65 + Calculated Checksum 0x93affe65 (OK) + 0x0a8990-0x1674cf is the non-Checksummed range still containing data but NOT covered by Checksum + 0x0a8990-0x1fffff is the non-Checksummed range if the additional vectors? at the end are included */ ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) - ROM_LOAD32_WORD( "bhi041703.u7", 0x000000, 0x80000, CRC(19d75260) SHA1(798472b1b5d8f5ca99d8bfe57e99a76686f0aa3f) ) - ROM_LOAD32_WORD( "bhi041703.u11", 0x000002, 0x80000, CRC(2b010813) SHA1(a383997308881a3ac35de56fe10e3852fa89fdf6) ) - ROM_LOAD32_WORD( "bhi041703.u8", 0x100000, 0x80000, CRC(6aeaebc8) SHA1(6f70b14e9f4e9940512bd6e89bc9ccbfe1f4a81f) ) - ROM_LOAD32_WORD( "bhi041703.u12", 0x100002, 0x80000, CRC(d959a048) SHA1(92f69090d599f95b48e79213e5b7d486e083d8f4) ) - - ROM_REGION16_BE( 0x100, "eeprom0", 0 ) - ROM_LOAD16_WORD_SWAP( "eeprom0", 0x000000, 0x000100, CRC(fea8a821) SHA1(c744cac6af7621524fc3a2b0a9a135a32b33c81b) ) - - ROM_REGION16_BE( 0x100, "eeprom1", 0 ) - ROM_LOAD16_WORD_SWAP( "eeprom1", 0x000000, 0x000100, CRC(8421e7c2) SHA1(fc1b07d5b7aadafc4a0f2e4dfa698e7c72340717) ) - - ROM_REGION( 0x80000, "nvram", 0 ) - ROM_LOAD( "nvram", 0x000000, 0x080000, CRC(4e5b9702) SHA1(b2b645db80c4ece24fae8ce6fb660e77ac8e5810) ) - - ROM_REGION( 0x20, "rtc", 0 ) - ROM_LOAD( "rtc", 0x000000, 0x00001f, CRC(6909acb0) SHA1(6a4589599cd1c477e916474e7b029e9a4e92019b) ) + ROM_LOAD32_WORD( "ohg041703.u7", 0x000000, 0x80000, CRC(48689db1) SHA1(6aa07a0e6dbf98a34cca31d5983ae9429f2254aa) ) // 92.130% + ROM_LOAD32_WORD( "ohg041703.u11", 0x000002, 0x80000, CRC(50e00a35) SHA1(e8f104621c8fc21d8ba33157729f394554c776e2) ) // 92.130% + ROM_LOAD32_WORD( "ohg0417.u8", 0x100000, 0x80000, CRC(a08acbb3) SHA1(8a7cc927a81521b069873a720d1a083f164dc2ef) ) // base + ROM_LOAD32_WORD( "ohg0417.u12", 0x100002, 0x80000, CRC(9eae7f7b) SHA1(23bd952de1d6d5d69e5565cc2bc241c2cd775453) ) // base ROM_END -// OHG0417-03 / 586/7(b) / 10 Credit Multiplier / 9 Line Multiline +// OHG0417-02 / 586/7(b) / 10 Credit Multiplier / 9 Line Multiline // Penguin Pays / Export / B - 14/07/97 // All devices are 27C4002 instead of 27C4096 // DIP switch setup, no set chips required -// Variations (% and NO): 92.130% 03 +// Variations (% and NO): 90.450% 02 ROM_START( pengpayua ) ARISTOCRAT_MK5_USA_SETCHIPS ARISTOCRAT_MK5_GALS + ARISTOCRAT_MK5_EEPROM /* Checksum code found at 0x000d08 0x000000-0x0a898f is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) - Expected Checksum 0x93affe65 - Calculated Checksum 0x93affe65 (OK) + Expected Checksum 0x96aefc60 + Calculated Checksum 0x96aefc60 (OK) 0x0a8990-0x1674cf is the non-Checksummed range still containing data but NOT covered by Checksum 0x0a8990-0x1fffff is the non-Checksummed range if the additional vectors? at the end are included */ ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) - ROM_LOAD32_WORD( "ohg041703.u7", 0x000000, 0x80000, CRC(48689db1) SHA1(6aa07a0e6dbf98a34cca31d5983ae9429f2254aa) ) - ROM_LOAD32_WORD( "ohg041703.u11", 0x000002, 0x80000, CRC(50e00a35) SHA1(e8f104621c8fc21d8ba33157729f394554c776e2) ) - ROM_LOAD32_WORD( "ohg041703.u8", 0x100000, 0x80000, CRC(a08acbb3) SHA1(8a7cc927a81521b069873a720d1a083f164dc2ef) ) - ROM_LOAD32_WORD( "ohg041703.u12", 0x100002, 0x80000, CRC(9eae7f7b) SHA1(23bd952de1d6d5d69e5565cc2bc241c2cd775453) ) + ROM_LOAD32_WORD( "ohg041702.u7", 0x000000, 0x80000, CRC(76b7641f) SHA1(8df2c46ec8e5ec5574f12878619593e7157df517) ) // 90.450% + ROM_LOAD32_WORD( "ohg041702.u11", 0x000002, 0x80000, CRC(6d731b81) SHA1(06ea80e1003ceba8a790a035c520aaca99db4d54) ) // 90.450% + ROM_LOAD32_WORD( "ohg0417.u8", 0x100000, 0x80000, CRC(a08acbb3) SHA1(8a7cc927a81521b069873a720d1a083f164dc2ef) ) // base + ROM_LOAD32_WORD( "ohg0417.u12", 0x100002, 0x80000, CRC(9eae7f7b) SHA1(23bd952de1d6d5d69e5565cc2bc241c2cd775453) ) // base ROM_END -// OHG0417-02 / 586/7(b) / 10 Credit Multiplier / 9 Line Multiline +// BHI0417-03 / 586/7(b) / 10 Credit Multiplier / 9 Line Multiline // Penguin Pays / Export / B - 14/07/97 // All devices are 27C4002 instead of 27C4096 // DIP switch setup, no set chips required -// Variations (% and NO): 90.450% 02 +// Variations (% and NO): 92.130% 03 ROM_START( pengpayub ) ARISTOCRAT_MK5_USA_SETCHIPS ARISTOCRAT_MK5_GALS + ARISTOCRAT_MK5_EEPROM /* Checksum code found at 0x000d08 - 0x000000-0x0a898f is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) - Expected Checksum 0x96aefc60 - Calculated Checksum 0x96aefc60 (OK) - 0x0a8990-0x1674cf is the non-Checksummed range still containing data but NOT covered by Checksum - 0x0a8990-0x1fffff is the non-Checksummed range if the additional vectors? at the end are included + 0x000000-0x0cd21b is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) + Expected Checksum 0x7dc52ffa + Calculated Checksum 0x7dc52ffa (OK) + 0x0cd21c-0x192ed7 is the non-Checksummed range still containing data but NOT covered by Checksum + 0x0cd21c-0x1fffff is the non-Checksummed range if the additional vectors? at the end are included */ ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) - ROM_LOAD32_WORD( "ohg041702.u7", 0x000000, 0x80000, CRC(76b7641f) SHA1(8df2c46ec8e5ec5574f12878619593e7157df517) ) - ROM_LOAD32_WORD( "ohg041702.u11", 0x000002, 0x80000, CRC(6d731b81) SHA1(06ea80e1003ceba8a790a035c520aaca99db4d54) ) - ROM_LOAD32_WORD( "ohg041702.u8", 0x100000, 0x80000, CRC(a08acbb3) SHA1(8a7cc927a81521b069873a720d1a083f164dc2ef) ) - ROM_LOAD32_WORD( "ohg041702.u12", 0x100002, 0x80000, CRC(9eae7f7b) SHA1(23bd952de1d6d5d69e5565cc2bc241c2cd775453) ) + ROM_LOAD32_WORD( "bhi041703.u7", 0x000000, 0x80000, CRC(19d75260) SHA1(798472b1b5d8f5ca99d8bfe57e99a76686f0aa3f) ) // 92.130% + ROM_LOAD32_WORD( "bhi041703.u11", 0x000002, 0x80000, CRC(2b010813) SHA1(a383997308881a3ac35de56fe10e3852fa89fdf6) ) // 92.130% + ROM_LOAD32_WORD( "bhi0417.u8", 0x100000, 0x80000, CRC(6aeaebc8) SHA1(6f70b14e9f4e9940512bd6e89bc9ccbfe1f4a81f) ) // base + ROM_LOAD32_WORD( "bhi0417.u12", 0x100002, 0x80000, CRC(d959a048) SHA1(92f69090d599f95b48e79213e5b7d486e083d8f4) ) // base ROM_END -// AHG1544 / MV4122 / 3,5,10,20,25,50 Credit Multiplier / 9 Line Multiline -// PENGUIN PAYS / CASH EXPRESS / Export / C - 19/01/01 -// Marked SPC. -// Cash Express Hyperlink game, but can also run standalone without progressive jackpot -// Requires set chip version 4.04.xx +// AHG1198 / MV4106 / 3,5,10,20,25,50 Credit Multiplier / 3/5 Line Multiline +// Penguin Pays Deluxe / Export / B - 21/01/00 +// ROM says '3/5 Line Multiline', but game only has 3 Lines +// Requires set chip version 4.01.xx // Variations (% and NO): -// 87.845% 99 -// 90.104% 01 -// 92.013% 02 -// 94.976% 03 -// 97.072% 04 -// 82.200% 05 (Hyperlink) -// Hyperlink turnover: -// Any denomination: $500.00, $750.00 -ROM_START( pengpayce ) +// 90.105% 99 +// 87.577% 01 +// 92.173% 02 +// 94.961% 03 +// 97.087% 04 +ROM_START( pengpaydx ) ARISTOCRAT_MK5_USA_SETCHIPS ARISTOCRAT_MK5_GALS ARISTOCRAT_MK5_EEPROM /* - Checksum code found at 0x000d18 - 0x000000-0x0f368f is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) - Expected Checksum 0x029d0237 - Calculated Checksum 0x029d0237 (OK) - 0x0f3690-0x39746f is the non-Checksummed range (unusual endpoint) + Checksum code found at 0x000d10 + 0x000000-0x0a781b is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) + Expected Checksum 0xb29d3515 + Calculated Checksum 0xb29d3515 (OK) + 0x0a781c-0x35040b is the non-Checksummed range (unusual endpoint) */ ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) - ROM_LOAD32_WORD( "ahg1544.u7", 0x000000, 0x80000, CRC(c899afcf) SHA1(85b3b9f94965c2bf10b5d5b265aef28bda01a3cb) ) // game - ROM_LOAD32_WORD( "ahg1544.u11", 0x000002, 0x80000, CRC(c44eb9bd) SHA1(6eca6459806aa7d0ab0d53e8e3e6f3c0c71f7220) ) // game - ROM_LOAD32_WORD( "ahg1544.u8", 0x100000, 0x80000, CRC(c9ebdf24) SHA1(cf29c42d4f15edfe5ba24be6282b3a6d01a29a13) ) // base - ROM_LOAD32_WORD( "ahg1544.u12", 0x100002, 0x80000, CRC(10c4cd0f) SHA1(db2df4d143d4ad3312d2c577e6ccbe36247f24c7) ) // base - ROM_LOAD32_WORD( "ahg1544.u9", 0x200000, 0x80000, CRC(4eeaf222) SHA1(bb918326bee71d5597b74c6c50cbcfa3ad1ef0c4) ) // base - ROM_LOAD32_WORD( "ahg1544.u13", 0x200002, 0x80000, CRC(5ebd90a7) SHA1(766291b62ed4a65ba6fb2d64e52022dd4831957d) ) // base - ROM_LOAD32_WORD( "ahg1544.u10", 0x300000, 0x80000, CRC(cbbbb21f) SHA1(c9c213ac720cb7a95179db592dcadbb466ffd572) ) // base - ROM_LOAD32_WORD( "ahg1544.u14", 0x300002, 0x80000, CRC(4ef4f063) SHA1(d6e9928f80f19d3fdd0e7acb0bfb6f9b2ae5724b) ) // base + ROM_LOAD32_WORD( "ahg1198.u7", 0x000000, 0x80000, CRC(167d2223) SHA1(b2ce99d8c7dbffc23b44d6947bbbaec59a5cf5ba) ) + ROM_LOAD32_WORD( "ahg1198.u11", 0x000002, 0x80000, CRC(7ebf745f) SHA1(9e3f3418818b93ad193b8d577452aabbc71dfe48) ) + ROM_LOAD32_WORD( "ahg1198.u8", 0x100000, 0x80000, CRC(1e52825e) SHA1(67051fe9c0cc65370c8a894b6ce99bf66407d1c0) ) + ROM_LOAD32_WORD( "ahg1198.u12", 0x100002, 0x80000, CRC(96a1cb1b) SHA1(a4f5348874a5349012dcfd176e7674d1c47382b3) ) ROM_END @@ -7265,6 +7716,7 @@ ROM_END ROM_START( qnileu ) ARISTOCRAT_MK5_USA_SETCHIPS ARISTOCRAT_MK5_GALS + ARISTOCRAT_MK5_EEPROM /* Checksum code found at 0x000d08 0x000000-0x08ec87 is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) @@ -7274,22 +7726,10 @@ ROM_START( qnileu ) 0x08ec88-0x1fffff is the non-Checksummed range if the additional vectors? at the end are included */ ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) - ROM_LOAD32_WORD( "ghg409102.u7", 0x000000, 0x80000, CRC(a00ab2cf) SHA1(eb3120fe4b1d0554c224c7646e727e86fd35975e) ) - ROM_LOAD32_WORD( "ghg409102.u11", 0x000002, 0x80000, CRC(c4a35337) SHA1(d469ed154caed1f0a4cf89e67d852924c95172ed) ) - ROM_LOAD32_WORD( "ghg4091.u8", 0x100000, 0x80000, CRC(16a629e1) SHA1(0dee11a2f1b2068a86b3e0b6c01d115555a657c9) ) - ROM_LOAD32_WORD( "ghg4091.u12", 0x100002, 0x80000, CRC(7871a846) SHA1(ac1d741092afda842e1864f1a7a14137a9ee46d9) ) - - ROM_REGION16_BE( 0x100, "eeprom0", 0 ) - ROM_LOAD16_WORD_SWAP( "eeprom0", 0x000000, 0x000100, CRC(fea8a821) SHA1(c744cac6af7621524fc3a2b0a9a135a32b33c81b) ) - - ROM_REGION16_BE( 0x100, "eeprom1", 0 ) - ROM_LOAD16_WORD_SWAP( "eeprom1", 0x000000, 0x000100, CRC(1fc27753) SHA1(7e5008faaf115dc506481430272285117c989d8e) ) - - ROM_REGION( 0x80000, "nvram", 0 ) - ROM_LOAD( "nvram", 0x000000, 0x080000, CRC(5a7bb53a) SHA1(cdac900925d0ee8f98209a377b9f8760de0c2883) ) - - ROM_REGION( 0x20, "rtc", 0 ) - ROM_LOAD( "rtc", 0x000000, 0x00001f, CRC(6909acb0) SHA1(6a4589599cd1c477e916474e7b029e9a4e92019b) ) + ROM_LOAD32_WORD( "ghg409102.u7", 0x000000, 0x80000, CRC(a00ab2cf) SHA1(eb3120fe4b1d0554c224c7646e727e86fd35975e) ) // 92.161% + ROM_LOAD32_WORD( "ghg409102.u11", 0x000002, 0x80000, CRC(c4a35337) SHA1(d469ed154caed1f0a4cf89e67d852924c95172ed) ) // 92.161% + ROM_LOAD32_WORD( "ghg4091.u8", 0x100000, 0x80000, CRC(16a629e1) SHA1(0dee11a2f1b2068a86b3e0b6c01d115555a657c9) ) // base + ROM_LOAD32_WORD( "ghg4091.u12", 0x100002, 0x80000, CRC(7871a846) SHA1(ac1d741092afda842e1864f1a7a14137a9ee46d9) ) // base ROM_END @@ -7367,12 +7807,12 @@ ROM_START( rainwarr ) 0x06fb34-0x2fffff is the non-Checksummed range if the additional vectors? at the end are included */ ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) - ROM_LOAD32_WORD( "0101132v.u7", 0x000000, 0x80000, CRC(b0e3cfa5) SHA1(fd6e034afb566c764ad776263545980f6053a1da) ) // 0101132V 90 Rainbow Warriors /500 1/6 655 512k (C) 2001 Aristocrat S U7 - ROM_LOAD32_WORD( "0101132v.u11", 0x000002, 0x80000, CRC(9f1ee3f6) SHA1(bfdd6a25813c739c12bd9af8ae5ff778aed7953a) ) // 0101132V 90 Rainbow Warriors /500 2/6 655 512k (C) 2001 Aristocrat S U11 - ROM_LOAD32_WORD( "0101132v.u8", 0x100000, 0x80000, CRC(c1d3d689) SHA1(67f5fbd970fc223797c272bfb18d3135a3a3a499) ) // 0101132V 90 Rainbow Warriors /500 3/6 655 512k (C) 2001 Aristocrat S U8 - ROM_LOAD32_WORD( "0101132v.u12", 0x100002, 0x80000, CRC(0caa0cf5) SHA1(8af6fb97c35549ba7be30ebd4cc66ddeb2ca0b42) ) // 0101132V 90 Rainbow Warriors /500 4/6 655 512k (C) 2001 Aristocrat S U12 - ROM_LOAD32_WORD( "0101132v.u9", 0x200000, 0x80000, CRC(320ea53f) SHA1(f70a7f5a15cd18a3d9f2ceb57384caaa39e6f13d) ) // 0101132V 90 Rainbow Warriors /500 5/6 655 512k (C) 2001 Aristocrat S U9 - ROM_LOAD32_WORD( "0101132v.u13", 0x200002, 0x80000, CRC(8d48ca86) SHA1(354ea368d77801fc31a98218345a2a1b9d3f104c) ) // 0101132V 90 Rainbow Warriors /500 6/6 655 512k (C) 2001 Aristocrat S U13 + ROM_LOAD32_WORD( "0101132v.u7", 0x000000, 0x80000, CRC(b0e3cfa5) SHA1(fd6e034afb566c764ad776263545980f6053a1da) ) // 0101132V 90/500 Rainbow Warriors 1/6 655 512k (C) 2001 Aristocrat S U7 + ROM_LOAD32_WORD( "0101132v.u11", 0x000002, 0x80000, CRC(9f1ee3f6) SHA1(bfdd6a25813c739c12bd9af8ae5ff778aed7953a) ) // 0101132V 90/500 Rainbow Warriors 2/6 655 512k (C) 2001 Aristocrat S U11 + ROM_LOAD32_WORD( "0101132v.u8", 0x100000, 0x80000, CRC(c1d3d689) SHA1(67f5fbd970fc223797c272bfb18d3135a3a3a499) ) // 0101132V 90/500 Rainbow Warriors 3/6 655 512k (C) 2001 Aristocrat S U8 + ROM_LOAD32_WORD( "0101132v.u12", 0x100002, 0x80000, CRC(0caa0cf5) SHA1(8af6fb97c35549ba7be30ebd4cc66ddeb2ca0b42) ) // 0101132V 90/500 Rainbow Warriors 4/6 655 512k (C) 2001 Aristocrat S U12 + ROM_LOAD32_WORD( "0101132v.u9", 0x200000, 0x80000, CRC(320ea53f) SHA1(f70a7f5a15cd18a3d9f2ceb57384caaa39e6f13d) ) // 0101132V 90/500 Rainbow Warriors 5/6 655 512k (C) 2001 Aristocrat S U9 + ROM_LOAD32_WORD( "0101132v.u13", 0x200002, 0x80000, CRC(8d48ca86) SHA1(354ea368d77801fc31a98218345a2a1b9d3f104c) ) // 0101132V 90/500 Rainbow Warriors 6/6 655 512k (C) 2001 Aristocrat S U13 ROM_END @@ -7872,10 +8312,10 @@ ROM_START( swhr2u ) 0x0b31cc-0x1fffff is the non-Checksummed range if the additional vectors? at the end are included */ ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) - ROM_LOAD32_WORD( "phg074202.u7", 0x000000, 0x80000, CRC(2cb692f6) SHA1(d0f9952d01f95dd50078e98652b650b70e1cbb70) ) - ROM_LOAD32_WORD( "phg074202.u11", 0x000002, 0x80000, CRC(287c6a10) SHA1(023e8bd7364ec61fcd113527fa6be47c46faee02) ) - ROM_LOAD32_WORD( "phg074202.u8", 0x100000, 0x80000, CRC(57af1295) SHA1(2fb1a0ab8ea159ea891925a8720d0e88184db6fe) ) - ROM_LOAD32_WORD( "phg074202.u12", 0x100002, 0x80000, CRC(885cde6c) SHA1(a6ccf94ecdae2092a703075c9917d0b4004efa52) ) + ROM_LOAD32_WORD( "phg074202.u7", 0x000000, 0x80000, CRC(2cb692f6) SHA1(d0f9952d01f95dd50078e98652b650b70e1cbb70) ) // 92.252% + ROM_LOAD32_WORD( "phg074202.u11", 0x000002, 0x80000, CRC(287c6a10) SHA1(023e8bd7364ec61fcd113527fa6be47c46faee02) ) // 92.252% + ROM_LOAD32_WORD( "phg0742.u8", 0x100000, 0x80000, CRC(57af1295) SHA1(2fb1a0ab8ea159ea891925a8720d0e88184db6fe) ) // base + ROM_LOAD32_WORD( "phg0742.u12", 0x100002, 0x80000, CRC(885cde6c) SHA1(a6ccf94ecdae2092a703075c9917d0b4004efa52) ) // base ROM_END @@ -8190,8 +8630,8 @@ ROM_START( trpdlghtu ) ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) ROM_LOAD32_WORD( "phg062502.u7", 0x000000, 0x80000, CRC(fe556566) SHA1(fe8c6d699d08577691c766477530abf5cddccf6c) ) // 92.25% ROM_LOAD32_WORD( "phg062502.u11", 0x000002, 0x80000, CRC(67e77c32) SHA1(178e6bbe2bb8b55afbe97177920b5f3c4a989adf) ) // 92.25% - ROM_LOAD32_WORD( "phg062502.u8", 0x100000, 0x80000, CRC(d4858407) SHA1(acf6776f19448648a26aaf53fcb4bc227c546033) ) // base - ROM_LOAD32_WORD( "phg062502.u12", 0x100002, 0x80000, CRC(0190804b) SHA1(7acb29fb7f77e78bb2afeb74d341475cd089dafb) ) // base + ROM_LOAD32_WORD( "phg0625.u8", 0x100000, 0x80000, CRC(d4858407) SHA1(acf6776f19448648a26aaf53fcb4bc227c546033) ) // base + ROM_LOAD32_WORD( "phg0625.u12", 0x100002, 0x80000, CRC(0190804b) SHA1(7acb29fb7f77e78bb2afeb74d341475cd089dafb) ) // base ROM_END @@ -8334,7 +8774,7 @@ ROM_END // 92.412% 04 // 94.982% 07 // 97.313% 08 -ROM_START( wafricau ) +ROM_START( wafrica ) ARISTOCRAT_MK5_USA_SETCHIPS ARISTOCRAT_MK5_GALS ARISTOCRAT_MK5_EEPROM @@ -8506,39 +8946,35 @@ ROM_START( wcougar ) ROM_END -// NHG0296-04 / 569/8 / 10 Credit Multiplier / 9 Line Multiline -// Wild Cougar / Export / D - 19/05/97 -// All devices are 27C4002 instead of 27C4096 -// DIP switch setup, no set chips required -// Variations (% and NO): 92.412% 04 +// AHG1531 / MV4055 / 5 Line / 10 Credit Multiplier +// Wild Cougar / Export / B - 13/05/97 +// Marked as SPC. +// ROM says '5 Line / 10 Credit Multiplier' but this game has 9 lines with a 5, 10 or 20 credit multiplier +// Despite the earlier combination date, this is a much later release compared to the other US versions +// Requires set chip version 4.04.xx +// Variations (% and NO): +// 87.836% 99 +// 90.167% 03 +// 92.412% 04 +// 94.982% 07 +// 97.313% 08 ROM_START( wcougaru ) ARISTOCRAT_MK5_USA_SETCHIPS ARISTOCRAT_MK5_GALS + ARISTOCRAT_MK5_EEPROM /* - Checksum code found at 0x000d08 - 0x000000-0x0b0d5b is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) - Expected Checksum 0xdfe9eb92 - Calculated Checksum 0xdfe9eb92 (OK) - 0x0b0d5c-0x153803 is the non-Checksummed range still containing data but NOT covered by Checksum - 0x0b0d5c-0x1fffff is the non-Checksummed range if the additional vectors? at the end are included + Checksum code found at 0x000d18 + 0x000000-0x0e783b is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) + Expected Checksum 0xa27eaf6f + Calculated Checksum 0xa27eaf6f (OK) + 0x0e783c-0x19287f is the non-Checksummed range still containing data but NOT covered by Checksum + 0x0e783c-0x1fffff is the non-Checksummed range if the additional vectors? at the end are included */ ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) - ROM_LOAD32_WORD( "nhg029604.u7", 0x000000, 0x80000, CRC(7ada053f) SHA1(5102b0b9db505454624750a3fd6db455682538f3) ) // 92.412% - ROM_LOAD32_WORD( "nhg029604.u11", 0x000002, 0x80000, CRC(69a78695) SHA1(1ed89cf38dc85f752449a858cd9558bed235af58) ) // 92.412% - ROM_LOAD32_WORD( "nhg029604.u8", 0x100000, 0x80000, CRC(496b0295) SHA1(237183a192ad9b4bc133014cc83149d4a7062785) ) // base - ROM_LOAD32_WORD( "nhg029604.u12", 0x100002, 0x80000, CRC(fe2bafdc) SHA1(e8b454db44a532d75b3aff323855340695688f0f) ) // base - - ROM_REGION16_BE( 0x100, "eeprom0", 0 ) - ROM_LOAD16_WORD_SWAP( "eeprom0", 0x000000, 0x000100, CRC(fea8a821) SHA1(c744cac6af7621524fc3a2b0a9a135a32b33c81b) ) - - ROM_REGION16_BE( 0x100, "eeprom1", 0 ) - ROM_LOAD16_WORD_SWAP( "eeprom1", 0x000000, 0x000100, CRC(8421e7c2) SHA1(fc1b07d5b7aadafc4a0f2e4dfa698e7c72340717) ) - - ROM_REGION( 0x80000, "nvram", 0 ) - ROM_LOAD( "nvram", 0x000000, 0x080000, CRC(dfe52286) SHA1(db31fb64e2fff8aa5ba0cc6d3d73860e8019406c) ) - - ROM_REGION( 0x20, "rtc", 0 ) - ROM_LOAD( "rtc", 0x000000, 0x00001f, CRC(6909acb0) SHA1(6a4589599cd1c477e916474e7b029e9a4e92019b) ) + ROM_LOAD32_WORD( "ahg1531.u7", 0x000000, 0x80000, CRC(53889e2d) SHA1(f204426aaf07a668878769c12d51f9a721b7bdee) ) // game + ROM_LOAD32_WORD( "ahg1531.u11", 0x000002, 0x80000, CRC(c138fece) SHA1(4653e4518bdf73da7380da931af85fd41d359a53) ) // game + ROM_LOAD32_WORD( "ahg1531.u8", 0x100000, 0x80000, CRC(8e2226c5) SHA1(1dc7fff8c56af8102f3de9bbb9d0085546ec877c) ) // base + ROM_LOAD32_WORD( "ahg1531.u12", 0x100002, 0x80000, CRC(5aac8336) SHA1(d1bfd21579bdcf5b46e0f4db1181d10159f0b643) ) // base ROM_END @@ -8562,8 +8998,33 @@ ROM_START( wcougarua ) ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) ROM_LOAD32_WORD( "nhg029607.u7", 0x000000, 0x80000, CRC(5037aefc) SHA1(afd7e4cf5b53d5ad44dec359cd24a698188c9d35) ) // 94.982% ROM_LOAD32_WORD( "nhg029607.u11", 0x000002, 0x80000, CRC(a9c121a7) SHA1(b8133b00f8b42dd7a3be94753ce7482a58aba8f1) ) // 94.982% - ROM_LOAD32_WORD( "nhg029607.u8", 0x100000, 0x80000, CRC(496b0295) SHA1(237183a192ad9b4bc133014cc83149d4a7062785) ) // base - ROM_LOAD32_WORD( "nhg029607.u12", 0x100002, 0x80000, CRC(fe2bafdc) SHA1(e8b454db44a532d75b3aff323855340695688f0f) ) // base + ROM_LOAD32_WORD( "nhg0296.u8", 0x100000, 0x80000, CRC(496b0295) SHA1(237183a192ad9b4bc133014cc83149d4a7062785) ) // base + ROM_LOAD32_WORD( "nhg0296.u12", 0x100002, 0x80000, CRC(fe2bafdc) SHA1(e8b454db44a532d75b3aff323855340695688f0f) ) // base +ROM_END + + +// NHG0296-04 / 569/8 / 10 Credit Multiplier / 9 Line Multiline +// Wild Cougar / Export / D - 19/05/97 +// All devices are 27C4002 instead of 27C4096 +// DIP switch setup, no set chips required +// Variations (% and NO): 92.412% 04 +ROM_START( wcougarub ) + ARISTOCRAT_MK5_USA_SETCHIPS + ARISTOCRAT_MK5_GALS + ARISTOCRAT_MK5_EEPROM + /* + Checksum code found at 0x000d08 + 0x000000-0x0b0d5b is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) + Expected Checksum 0xdfe9eb92 + Calculated Checksum 0xdfe9eb92 (OK) + 0x0b0d5c-0x153803 is the non-Checksummed range still containing data but NOT covered by Checksum + 0x0b0d5c-0x1fffff is the non-Checksummed range if the additional vectors? at the end are included + */ + ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) + ROM_LOAD32_WORD( "nhg029604.u7", 0x000000, 0x80000, CRC(7ada053f) SHA1(5102b0b9db505454624750a3fd6db455682538f3) ) // 92.412% + ROM_LOAD32_WORD( "nhg029604.u11", 0x000002, 0x80000, CRC(69a78695) SHA1(1ed89cf38dc85f752449a858cd9558bed235af58) ) // 92.412% + ROM_LOAD32_WORD( "nhg0296.u8", 0x100000, 0x80000, CRC(496b0295) SHA1(237183a192ad9b4bc133014cc83149d4a7062785) ) // base + ROM_LOAD32_WORD( "nhg0296.u12", 0x100002, 0x80000, CRC(fe2bafdc) SHA1(e8b454db44a532d75b3aff323855340695688f0f) ) // base ROM_END @@ -8571,7 +9032,7 @@ ROM_END // Wild Cougar / Export / D - 19/05/97 // DIP switch setup, no set chips required // Variations (% and NO): 87.836% 99 -ROM_START( wcougarub ) +ROM_START( wcougaruc ) ARISTOCRAT_MK5_USA_SETCHIPS ARISTOCRAT_MK5_GALS ARISTOCRAT_MK5_EEPROM @@ -8586,40 +9047,31 @@ ROM_START( wcougarub ) ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) ROM_LOAD32_WORD( "nhg029699.u7", 0x000000, 0x80000, CRC(cf6465f4) SHA1(ea12ecff7ac4846d09b42480d54bf8cf03ff4c44) ) // 87.836% ROM_LOAD32_WORD( "nhg029699.u11", 0x000002, 0x80000, CRC(fd7aa4a1) SHA1(06e02df1b7ee33dff22ba6fcd46657d84fe8a519) ) // 87.836% - ROM_LOAD32_WORD( "nhg029699.u8", 0x100000, 0x80000, CRC(496b0295) SHA1(237183a192ad9b4bc133014cc83149d4a7062785) ) // base - ROM_LOAD32_WORD( "nhg029699.u12", 0x100002, 0x80000, CRC(fe2bafdc) SHA1(e8b454db44a532d75b3aff323855340695688f0f) ) // base + ROM_LOAD32_WORD( "nhg0296.u8", 0x100000, 0x80000, CRC(496b0295) SHA1(237183a192ad9b4bc133014cc83149d4a7062785) ) // base + ROM_LOAD32_WORD( "nhg0296.u12", 0x100002, 0x80000, CRC(fe2bafdc) SHA1(e8b454db44a532d75b3aff323855340695688f0f) ) // base ROM_END -// AHG1531 / MV4055 / 5 Line / 10 Credit Multiplier -// Wild Cougar / Export / B - 13/05/97 -// Marked as SPC. -// ROM says '5 Line / 10 Credit Multiplier' but this game has 9 lines with a 5, 10 or 20 credit multiplier -// Despite the earlier combination date, this is a much later release compared to the other versions -// Requires set chip version 4.04.xx -// Variations (% and NO): -// 87.836% 99 -// 90.167% 03 -// 92.412% 04 -// 94.982% 07 -// 97.313% 08 -ROM_START( wcougaruc ) +// NHG0632-07 / MV4055 / 5 Credit Multiplier / 5 Line Multiline +// Wild Cougar / Export / A - 09/02/98 +// DIP switch setup, no set chips required +// Variations (% and NO): 94.982% 07 +ROM_START( wcougarud ) ARISTOCRAT_MK5_USA_SETCHIPS ARISTOCRAT_MK5_GALS ARISTOCRAT_MK5_EEPROM /* - Checksum code found at 0x000d18 - 0x000000-0x0e783b is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) - Expected Checksum 0xa27eaf6f - Calculated Checksum 0xa27eaf6f (OK) - 0x0e783c-0x19287f is the non-Checksummed range still containing data but NOT covered by Checksum - 0x0e783c-0x1fffff is the non-Checksummed range if the additional vectors? at the end are included + Checksum code found at 0x000d08 + 0x000000-0x0bb51b is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) + Expected Checksum 0xb64b8a5e + Calculated Checksum 0xb64b8a5e (OK) + 0x0bb51c-0x35040b is the non-Checksummed range (unusual endpoint) */ ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) - ROM_LOAD32_WORD( "ahg1531.u7", 0x000000, 0x80000, CRC(53889e2d) SHA1(f204426aaf07a668878769c12d51f9a721b7bdee) ) // game - ROM_LOAD32_WORD( "ahg1531.u11", 0x000002, 0x80000, CRC(c138fece) SHA1(4653e4518bdf73da7380da931af85fd41d359a53) ) // game - ROM_LOAD32_WORD( "ahg1531.u8", 0x100000, 0x80000, CRC(8e2226c5) SHA1(1dc7fff8c56af8102f3de9bbb9d0085546ec877c) ) // base - ROM_LOAD32_WORD( "ahg1531.u12", 0x100002, 0x80000, CRC(5aac8336) SHA1(d1bfd21579bdcf5b46e0f4db1181d10159f0b643) ) // base + ROM_LOAD32_WORD( "nhg063207.u7", 0x000000, 0x80000, CRC(d441ce2d) SHA1(0bd4e85be7427f7439c9fe87537f68cadc407095) ) // 94.982% + ROM_LOAD32_WORD( "nhg063207.u11", 0x000002, 0x80000, CRC(819f84e8) SHA1(3efd3749d1402da366167243cbf08612c15ac355) ) // 94.982% + ROM_LOAD32_WORD( "nhg0632.u8", 0x100000, 0x80000, CRC(2b4597a9) SHA1(411c54750deca776ce74971c92fa99c9c54ae186) ) // base + ROM_LOAD32_WORD( "nhg0632.u12", 0x100002, 0x80000, CRC(441bc6d9) SHA1(e179ff66dedce106814cc6557d0227c165193285) ) // base ROM_END @@ -8692,6 +9144,29 @@ ROM_START( wldangel ) ROM_END +// QHG0477-04 / 600 / 10 Credit Multiplier / 9 Line Multiline +// Wild Angels / Export / B - 24/09/96 +// DIP switch setup, no set chips required +// Variations (% and NO): 94.856% 04 +ROM_START( wldangelu ) + ARISTOCRAT_MK5_USA_SETCHIPS + ARISTOCRAT_MK5_GALS + ARISTOCRAT_MK5_EEPROM + /* + Checksum code found at 0x000d08 + 0x000000-0x0b17eb is the Checksummed Range (excluding 0x000020-0x000027 where Checksum is stored) + Expected Checksum 0xd41bc859 + Calculated Checksum 0xd41bc859 (OK) + 0x0b17ec-0x35040b is the non-Checksummed range (unusual endpoint) + */ + ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) + ROM_LOAD32_WORD( "qhg047704.u7", 0x000000, 0x80000, CRC(cc297d78) SHA1(906b1cb1e9a17bac09227cbc7ac5a981962ad5ff) ) // 94.856% + ROM_LOAD32_WORD( "qhg047704.u11", 0x000002, 0x80000, CRC(748e11be) SHA1(415118aafbc85dae88b57aedeaeeb18c5f16bfe8) ) // 94.856% + ROM_LOAD32_WORD( "qhg0477.u8", 0x100000, 0x80000, CRC(f99f3f72) SHA1(a7348c49c2d5bd78d763ef68dc7fcd04288b569d) ) // base + ROM_LOAD32_WORD( "qhg0477.u12", 0x100002, 0x80000, CRC(8c97c742) SHA1(87d5d675b9977c5adc761ce79ad2fba013633699) ) // base +ROM_END + + // RHG0418-04 / 541/2 / 10 Credit Multiplier / 5 Line Multiline // Winning Post / Export / G - 11/02/97 // DIP switch setup, no set chips required @@ -8709,10 +9184,10 @@ ROM_START( wnpost ) 0x0c3698-0x1fffff is the non-Checksummed range if the additional vectors? at the end are included */ ROM_REGION32_LE( 0x400000, "game_prg", ROMREGION_ERASEFF ) - ROM_LOAD32_WORD( "rhg041804.u7", 0x000000, 0x80000, CRC(73274802) SHA1(9838a63d5f4e1bf31675ac15c34a17e709f2f647) ) - ROM_LOAD32_WORD( "rhg041804.u11", 0x000002, 0x80000, CRC(4f076a94) SHA1(2962429c930ffc17e2f37a006215ee6f1c649953) ) - ROM_LOAD32_WORD( "rhg041804.u8", 0x100000, 0x80000, CRC(b1830ffa) SHA1(c23a97bfdfe9e408f0ec8053646d6c8c8e06a263) ) - ROM_LOAD32_WORD( "rhg041804.u12", 0x100002, 0x80000, CRC(ff70b305) SHA1(3c832ed20b1d00318fd3d2428bb469735f68965b) ) + ROM_LOAD32_WORD( "rhg041804.u7", 0x000000, 0x80000, CRC(73274802) SHA1(9838a63d5f4e1bf31675ac15c34a17e709f2f647) ) // 92.435% + ROM_LOAD32_WORD( "rhg041804.u11", 0x000002, 0x80000, CRC(4f076a94) SHA1(2962429c930ffc17e2f37a006215ee6f1c649953) ) // 92.435% + ROM_LOAD32_WORD( "rhg0418.u8", 0x100000, 0x80000, CRC(b1830ffa) SHA1(c23a97bfdfe9e408f0ec8053646d6c8c8e06a263) ) // base + ROM_LOAD32_WORD( "rhg0418.u12", 0x100002, 0x80000, CRC(ff70b305) SHA1(3c832ed20b1d00318fd3d2428bb469735f68965b) ) // base ROM_END @@ -8765,7 +9240,7 @@ ROM_END // 87.79% 99 // 90.02% 01 // 92.02% 02 -ROM_START( wtiger ) +ROM_START( wtigerc ) ARISTOCRAT_MK5_GALS ARISTOCRAT_MK5_EEPROM /* @@ -8818,17 +9293,21 @@ ROM_END GAMEL( 1995, aristmk5, 0, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "MKV Set/Clear Chips (US)", MACHINE_IS_BIOS_ROOT, layout_aristmk5_us ) // Dates listed below are for the combination (reel layout), not release dates -GAMEL( 2001, adonisu, adonis, aristmk5_usa, bootsctnua, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Adonis (BHG1508, US)", 0, layout_adonisu ) // MV4124/1, B - 31/07/01 -GAMEL( 2000, bparty, aristmk5, aristmk5_usa_touch, bootsctnua, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Bachelorette Party (BHG1248, US)", 0, layout_bparty ) // MV4119/1, B - 25/08/2000 +GAMEL( 2001, adonisu, adonis, aristmk5_usa, adonisu, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Adonis (BHG1508, US)", 0, layout_adonisu ) // MV4124/1, B - 31/07/01 +GAMEL( 2000, bparty, aristmk5, aristmk5_usa_touch, bootsctnud, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Bachelorette Party (BHG1248, US)", 0, layout_bparty ) // MV4119/1, B - 25/08/2000 +GAMEL( 2000, bpartyb, bparty, aristmk5_usa_touch, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Bachelorette Party (BHG1247, US)", 0, layout_bpartyb ) // MV4119, B - 25/08/2000 GAMEL( 1996, baddog, aristmk5, aristmk5, baddog, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Bad Dog Poker (0200428V, NSW/ACT)", 0, layout_baddog ) // 386/56, A - 17/12/96 -GAMEL( 1999, bootsctnu, bootsctn, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Boot Scootin' (GHG1012-02, US)", 0, layout_aristmk5_us ) // MV4098, A - 25/08/99 -GAMEL( 1999, bootsctnua, bootsctn, aristmk5_usa, pengpuck, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Boot Scootin' (GHG1008-03, US)", 0, layout_aristmk5_us_200 ) // MV4098/1, A - 27/07/99 -GAMEL( 2001, bootsctnub, bootsctn, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Boot Scootin' (AHG1547, US)", 0, layout_adonisu ) // MV4098/1, B - 22/03/01 +GAMEL( 1999, blackpntu, blackpnt, aristmk5_usa, blackpntu, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Black Panther (FHG0949-01, US)", 0, layout_blackpntu ) // 594/1, C - 17/05/99 +GAMEL( 2001, bootsctnu, bootsctn, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Boot Scootin' (AHG1547, US)", 0, layout_adonisu ) // MV4098/1, B - 22/03/01 +GAMEL( 2001, bootsctnua, bootsctn, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Boot Scootin' (AHG1433, US)", 0, layout_magimaska ) // MV4098, B - 22/03/01 +GAMEL( 1999, bootsctnub, bootsctn, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Boot Scootin' (GHG1012-02, US)", 0, layout_aristmk5_us ) // MV4098, A - 25/08/99 +GAMEL( 1999, bootsctnuc, bootsctn, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Boot Scootin' (GHG1012-01, US)", 0, layout_aristmk5_us ) // MV4098, A - 25/08/99 +GAMEL( 1999, bootsctnud, bootsctn, aristmk5_usa, bootsctnud, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Boot Scootin' (GHG1008-03, US)", 0, layout_aristmk5_us_200 ) // MV4098/1, A - 27/07/99 GAMEL( 1995, buttdeli, aristmk5, aristmk5, swhr2, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Butterfly Delight (0200143V, NSW/ACT)", 0, layout_swhr2 ) // 571/4, A - 19/12/95, Rev 1.8.1.0 GAMEL( 1999, cashcatnz, cashcat, aristmk5, cashcatnz, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Cash Cat (0300863V, New Zealand)", 0, layout_cashcatnz ) // MV4089, A - 4/1/99, Rev 26 GAMEL( 1997, cashcham, aristmk5, aristmk5, cashcham, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Cash Chameleon (0100438V, NSW/ACT)", 0, layout_cashcham ) // 603/1, C - 15/4/97, Rev 1.25.3.0 GAMEL( 1998, cashchamnz, cashcham, aristmk5, cashchamnz, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Cash Chameleon (0300781V, New Zealand)", 0, layout_cashchamnz ) // MV4067, A - 31/08/98, Rev 21 -GAMEL( 1996, cashchamu, cashcham, aristmk5_usa, bootsctnua, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Cash Chameleon (DHG4078-99, US)", 0, layout_cashchamu ) // 603(a), B - 06/12/96 +GAMEL( 1996, cashchamu, cashcham, aristmk5_usa, bootsctnud, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Cash Chameleon (DHG4078-99, US)", 0, layout_cashchamu ) // 603(a), B - 06/12/96 GAMEL( 1996, chickna5, aristmk5, aristmk5, chickna5, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Chicken (0100351V, NSW/ACT)", 0, layout_snowcat ) // 596, A - 27/08/96, Rev 1.24 GAMEL( 2000, cuckoou, cuckoo, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Cuckoo (CHG1195, US)", 0, layout_cuckoou ) // MV4104, C - 02/02/00 GAMEL( 1995, dstbloom, aristmk5, aristmk5, wcougar, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Desert Bloom (0300111V, NSW/ACT)", 0, layout_wcougar ) // 577/2, A - 12/10/95, Rev 1.16.4.0 @@ -8836,41 +9315,44 @@ GAMEL( 1995, dstblooma, dstbloom, aristmk5, wcougar, aristmk5_s GAMEL( 1996, dmdfever, aristmk5, aristmk5, wildbill, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Diamond Fever (0200302V, NSW/ACT)", 0, layout_wildbill ) // 483/7, E - 05/09/96, Rev 1.23.5.0 GAMEL( 1997, dolphntra, dolphntr, aristmk5, aristmk5, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Dolphin Treasure (0100424V, NSW/ACT)", 0, layout_aristmk5 ) // 602/1, B - 06/12/96, Rev 1.24.4.0 GAMEL( 1996, dolphntrb, dolphntr, aristmk5, aristmk5_9, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Dolphin Treasure (0100388V, NSW/ACT)", 0, layout_dolphntrb ) // 602, B - 10/12/96, Rev 1.24.4.0 -GAMEL( 1996, dolphntru, dolphntr, aristmk5_usa, dolphntru, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Dolphin Treasure (FHG4077-02, US)", 0, layout_aristmk5_us ) // 602/1, B - 06/12/96 -GAMEL( 1999, dolphntrce, dolphntr, aristmk5_usa, dolphntrce, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Dolphin Treasure - Cash Express (AHG1607, US)", 0, layout_adonisu ) // MV4090, D - 22/12/99 -GAMEL( 1999, dolphntrcea, dolphntr, aristmk5_usa, dolphntru, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Dolphin Treasure - Cash Express (AHG1606, US)", 0, layout_marmagicu ) // MV4090, D - 22/12/99 -GAMEL( 1999, dolphntrceb, dolphntr, aristmk5_usa, dolphntrce, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Dolphin Treasure - Cash Express (AHG1519, US)", 0, layout_dolphntrceb ) // MV4090, D - 22/12/99 +GAMEL( 1996, dolphntru, dolphntr, aristmk5_usa, adonisu, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Dolphin Treasure (FHG4076-02, US)", 0, layout_dolphntru ) // 602/2, B - 13/05/97 +GAMEL( 1996, dolphntrua, dolphntr, aristmk5_usa, dolphntrua, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Dolphin Treasure (FHG4077-02, US)", 0, layout_dolphntrua ) // 602/1, B - 06/12/96 +GAMEL( 1999, dolphntrce, dolphntr, aristmk5_usa, adonisu, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Dolphin Treasure - Cash Express (AHG1607, US)", 0, layout_adonisu ) // MV4090, D - 22/12/99 +GAMEL( 1999, dolphntrcea, dolphntr, aristmk5_usa, dolphntrua, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Dolphin Treasure - Cash Express (AHG1606, US)", 0, layout_marmagicua ) // MV4090, D - 22/12/99 +GAMEL( 1999, dolphntrceb, dolphntr, aristmk5_usa, adonisu, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Dolphin Treasure - Cash Express (AHG1519, US)", 0, layout_dolphntrceb ) // MV4090, D - 22/12/99 GAMEL( 1997, drgneye, aristmk5, aristmk5, snowcat, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Dragon's Eye (0100521V, NSW/ACT)", 0, layout_snowcat ) // 610, A - 09/05/97, Rev 1.27 GAMEL( 1995, eforsta5, aristmk5, aristmk5, swhr2, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Enchanted Forest (0400122V, NSW/ACT)", 0, layout_swhr2 ) // 570/3, E - 23/06/95, Rev 1.18 -GAMEL( 2000, eforsta5cea, eforsta5, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Enchanted Forest - Cash Express (AHG1615, US)", 0, layout_magimaska ) // MV4108/6, C - 17/01/00 -GAMEL( 1998, gambler, aristmk5, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "The Gambler (EHG0916-02, US)", 0, layout_aristmk5_us ) // MV4084/1, A - 30/10/98 -GAMEL( 2001, geisha, aristmk5, aristmk5, geisha, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Geisha (0101408V, New Zealand)", 0, layout_geisha ) // MV4127, A - 05/03/01, Rev 25 -GAMEL( 2001, glizrdce, kgalah, aristmk5_usa, bootsctnua, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Green Lizard - Cash Express (AHG1623, US)", 0, layout_adonisu ) // MV4112/2 - A - 05/01/01 -GAMEL( 1997, goldpyr, qnile, aristmk5_usa, dolphntru, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Golden Pyramids (AHG1205-03, US)", 0, layout_aristmk5_us ) // MV4091, B - 13/05/97 -GAMEL( 1997, goldpyra, qnile, aristmk5_usa, bootsctnua, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Golden Pyramids (AHG1206-99, US)", 0, layout_aristmk5_us_200 ) // 602/2, B - 13/05/97 -GAMEL( 2001, hnktonku, aristmk5, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Honky Tonk (BHG1455, US)", 0, layout_magimaska ) // MV4122/3, A - 07/08/01 +GAMEL( 2000, eforstce, eforsta5, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Enchanted Forest - Cash Express (AHG1615, US)", 0, layout_magimaska ) // MV4108/6, C - 17/01/00 +GAMEL( 1998, gamblra5, aristmk5, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "The Gambler (EHG0916-02, US)", 0, layout_aristmk5_us ) // MV4084/1, A - 30/10/98 +GAMEL( 2001, geishanz, geisha, aristmk5, geishanz, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Geisha (0101408V, New Zealand)", 0, layout_geishanz ) // MV4127, A - 05/03/01, Rev 25 +GAMEL( 2001, glizrdce, kgalah, aristmk5_usa, bootsctnud, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Green Lizard - Cash Express (AHG1623, US)", 0, layout_adonisu ) // MV4112/2 - A - 05/01/01 +GAMEL( 1997, goldpyru, qnile, aristmk5_usa, adonisu, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Golden Pyramids (AHG1206-99, US)", 0, layout_dolphntru ) // 602/2, B - 13/05/97 +GAMEL( 1997, goldpyrua, qnile, aristmk5_usa, dolphntrua, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Golden Pyramids (AHG1205-03, US)", 0, layout_dolphntrua ) // MV4091, B - 13/05/97 +GAMEL( 2001, honktonk, aristmk5, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Honky Tonk (BHG1455, US)", 0, layout_magimaska ) // MV4122/3, A - 07/08/01 GAMEL( 2000, incasunnz, incasun, aristmk5, incasunnz, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Inca Sun (0101108V, New Zealand)", 0, layout_incasunnz ) // MV4113, A - 6/3/00, Rev 25 -GAMEL( 2000, incasunu, incasun, aristmk5_usa, dolphntrce, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Inca Sun (CHG1458, US)", 0, layout_adonisu ) // MV4130/3, A - 05/09/00 -GAMEL( 2000, incasunua, incasun, aristmk5_usa, bootsctnua, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Inca Sun (DHG1577, US)", 0, layout_adonisu ) // MV4130, A - 05/09/00 +GAMEL( 2000, incasunu, incasun, aristmk5_usa, adonisu, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Inca Sun (DHG1577, US)", 0, layout_adonisu ) // MV4130, A - 05/09/00 +GAMEL( 2000, incasunua, incasun, aristmk5_usa, adonisu, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Inca Sun (CHG1458, US)", 0, layout_adonisu ) // MV4130/3, A - 05/09/00 GAMEL( 1996, jumpbean, aristmk5, aristmk5, swhr2, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Jumping Beans (0100161V, NSW/ACT)", 0, layout_swhr2 ) // 586/2, A - 25/01/96 GAMEL( 1996, jumpjoey, aristmk5, aristmk5, cashcham, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Jumpin' Joeys (0100383V, NSW/ACT)", 0, layout_cashcham ) // 586/6, C - 13/11/96 GAMEL( 1995, kgalaha, kgalah, aristmk5, kgalah, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "King Galah (0100536V, NSW/ACT)", 0, layout_kgalah ) // 613, A - 21/07/95 -GAMEL( 2001, kgalahce, kgalah, aristmk5_usa, bootsctnua, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "King Galah - Cash Express (AHG1625, US)", 0, layout_adonisu ) // MV4112/2, B - 07/02/01 +GAMEL( 2001, kgalahce, kgalah, aristmk5_usa, bootsctnud, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "King Galah - Cash Express (AHG1625, US)", 0, layout_adonisu ) // MV4112/2, B - 07/02/01 GAMEL( 1994, kgbirda5, aristmk5, aristmk5, kgbirda5, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "K.G. Bird (0200024V, NSW/ACT)", 0, layout_kgbirda5 ) // 540/3, D - 10/10/94 -GAMEL( 2001, koalamnt, aristmk5, aristmk5_usa, dolphntrce, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Koala Mint (CHG1573, US)", 0, layout_adonisu ) // MV4137, A - 12/09/01 -GAMEL( 2000, kyhatonu, bparty, aristmk5_usa_touch, bootsctnua, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Keep Your Hat On (BHG1204, US)", 0, layout_bparty ) // MV4114/1, B - 08/05/2000 +GAMEL( 2004, kingsran, aristmk5, aristmk5, kingsran, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "King's Ransom (0301689V, New Zealand)", 0, layout_kingsran ) // JB009/10, B - 08/01/02, Rev 11 +GAMEL( 2001, koalamnt, aristmk5, aristmk5_usa, adonisu, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Koala Mint (CHG1573, US)", 0, layout_adonisu ) // MV4137, A - 12/09/01 +GAMEL( 2000, kyhaton, bparty, aristmk5_usa_touch, bootsctnud, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Keep Your Hat On (BHG1204, US)", 0, layout_bparty ) // MV4114/1, B - 08/05/2000 GAMEL( 1998, locoloot, aristmk5, aristmk5, cashcham, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Loco Loot (0100473V, NSW/ACT)", 0, layout_cashcham ) // 599/3, C - 17/06/97, Rev 1.26.13.0 GAMEL( 1997, locoloota, locoloot, aristmk5, locoloota, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Loco Loot (0100472V, NSW/ACT)", 0, layout_locoloota ) // 599/2, C - 17/06/97, Rev 1.26.13.0 GAMEL( 1998, locolootnz, locoloot, aristmk5, cashchamnz, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Loco Loot (0600725V, New Zealand)", 0, layout_cashchamnz ) // MV4064, A - 8/7/98, Rev 24 -GAMEL( 2001, locolootu, locoloot, aristmk5_usa, bootsctnua, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Loco Loot (AHG1513, US)", 0, layout_adonisu ) // MV4134, A - 30/07/01 +GAMEL( 2001, locolootu, locoloot, aristmk5_usa, bootsctnud, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Loco Loot (AHG1513, US)", 0, layout_adonisu ) // MV4134, A - 30/07/01 GAMEL( 1997, lonewolf, aristmk5, aristmk5, wildbill, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Lone Wolf (0100587V, NSW/ACT)", 0, layout_wildbill ) // 621, A - 29/10/97, Rev 1.27.17.0 GAMEL( 1995, luckyclo, aristmk5, aristmk5, wcougar, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Lucky Clover (0300109V, NSW/ACT)", 0, layout_wcougar ) // 570/6, A - 12/10/95 -GAMEL( 2000, magimask, aristmk5, aristmk5_usa_touch, bootsctnua, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Magic Mask (AHG1549, US)", 0, layout_adonisu ) // MV4115_1, A - 09/05/00 +GAMEL( 2000, magimask, aristmk5, aristmk5_usa_touch, bootsctnud, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Magic Mask (AHG1549, US)", 0, layout_adonisu ) // MV4115_1, A - 09/05/00 GAMEL( 2000, magimaska, magimask, aristmk5_usa_touch, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Magic Mask (AHG1548, US)", 0, layout_magimaska ) // MV4115, A - 09/05/00 GAMEL( 2000, magimaskb, magimask, aristmk5_usa_touch, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Magic Mask (DHG1309, US)", 0, layout_magimaska ) // MV4115, A - 09/05/00 +GAMEL( 2000, magimaskc, magimask, aristmk5_usa_touch, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Magic Mask (AHG1207, US)", 0, layout_bpartyb ) // MV4115, A - 09/05/00 GAMEL( 1997, mammothm, aristmk5, aristmk5, kgalah, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Mammoth Money (0100425V, NSW/ACT)", 0, layout_kgalah ) // 595/5, D - 07/04/97, Rev 1.22.14.1 -GAMEL( 2000, marmagicu, marmagic, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Margarita Magic (EHG1558, US)", 0, layout_marmagicu ) // US003, 07/07/2000 -GAMEL( 2000, marmagicua, marmagic, aristmk5_usa, bootsctnua, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Margarita Magic (EHG1559, US)", 0, layout_adonisu ) // US003, A - 07/07/00 +GAMEL( 2000, marmagicu, marmagic, aristmk5_usa, adonisu, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Margarita Magic (EHG1559, US)", 0, layout_adonisu ) // US003, A - 07/07/00 +GAMEL( 2000, marmagicua, marmagic, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Margarita Magic (EHG1558, US)", 0, layout_marmagicua ) // US003, A - 07/07/00 GAMEL( 1996, minemine, aristmk5, aristmk5, swhr2, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Mine, Mine, Mine (0400115V, NSW/ACT)", 0, layout_swhr2 ) // 559/2, D - 16/01/96, Rev 1.18.3.0 GAMEL( 2001, montree, aristmk5, aristmk5, montree, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Money Tree (0201397V, New Zealand)", 0, layout_montree ) // MV4126, C - 12/04/01, Rev 5 GAMEL( 1996, mountmon, aristmk5, aristmk5, mountmon, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Mountain Money (0100294V, NSW/ACT)", 0, layout_mountmon ) // 595/3, B - 11/06/96, Rev 1.22.5.0 @@ -8881,28 +9363,30 @@ GAMEL( 2001, one4all, aristmk5, aristmk5, one4all, aristmk5_s GAMEL( 2000, orchidmsnz, orchidms, aristmk5, orchidmsnz, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Orchid Mist (0101241V, New Zealand)", 0, layout_orchidmsnz ) // MV4118, A - 3/7/00, Rev 30 GAMEL( 1996, oscara5a, oscara5, aristmk5, aristmk5_9, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Oscar (0100348V, NSW/ACT)", 0, layout_dolphntrb ) // 593/2, C - 20/09/96, Rev 1.23.9.1 GAMEL( 2001, partygrs, aristmk5, aristmk5_usa_touch, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Party Gras (AHG1567, US)", 0, layout_magimaska ) // MV4115/6, A - 10/11/01 -GAMEL( 2001, partygrsa, partygrs, aristmk5_usa_touch, bootsctnua, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Party Gras (BHG1284, US)", 0, layout_bparty ) // MV4115/3, B - 06/02/01 +GAMEL( 2001, partygrsa, partygrs, aristmk5_usa_touch, bootsctnud, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Party Gras (BHG1284, US)", 0, layout_bparty ) // MV4115/3, B - 06/02/01 GAMEL( 1996, pengpaya, pengpay, aristmk5, cashchama, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Penguin Pays (0200357V, NSW/ACT)", 0, layout_cashchama ) // 586/4, C - 12/11/96 GAMEL( 1995, pengpayc, pengpay, aristmk5, wcougar, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Penguin Pays (0200113V, NSW/ACT)", 0, layout_wcougar ) // 586, A - 12/10/95 -GAMEL( 2001, pengpayce, pengpay, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Penguin Pays - Cash Express (AHG1544, US)", 0, layout_pengpayce ) // MV4122, C - 19/01/01 -GAMEL( 2001, pengpuck, pengpay, aristmk5_usa, pengpuck, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Penguin Pays - Penguin Pucks (EHG1257, US)", 0, layout_pengpuck ) // MV4122/1, C - 19/01/01 +GAMEL( 2001, pengpayce, pengpay, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Penguin Pays - Cash Express (AHG1544, US)", 0, layout_pengpayce ) // MV4122, C - 19/01/01 +GAMEL( 2001, pengpaycea, pengpay, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Penguin Pays - Cash Express (AHG1295, US)", 0, layout_pengpaycea ) // MV4122, C - 19/01/01 +GAMEL( 2001, pengpuck, pengpay, aristmk5_usa, bootsctnud, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Penguin Pays - Penguin Pucks (EHG1257, US)", 0, layout_pengpuck ) // MV4122/1, C - 19/01/01 +GAMEL( 2000, pengpaydx, aristmk5, aristmk5_usa, pengpaydx, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Penguin Pays Deluxe (AHG1198, US)", 0, layout_pengpaydx ) // MV4106, B - 21/01/00 GAMEL( 1995, phantpay, aristmk5, aristmk5, swhr2, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Phantom Pays (0500005V, NSW/ACT)", 0, layout_swhr2 ) // 570/1, E - 12/09/95 GAMEL( 1996, przfight, aristmk5, aristmk5, przfight, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Prize Fight (0100299V, NSW/ACT)", 0, layout_przfight ) // 578/4, B - 08/08/96 GAMEL( 1997, qnileb, qnile, aristmk5, qnile, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Queen of the Nile (0100439V, NSW/ACT)", 0, layout_qnile ) // 602/4, B - 13/05/97, Rev 1.26.18.1 -GAMEL( 2002, qnilebr, qnile, aristmk5, goldpyrb, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Queen of the Nile (0101707V, Brazil)", 0, layout_goldpyrb ) // MV4162, A - 21/08/02 +GAMEL( 2002, qnilebr, qnile, aristmk5, goldpyr, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Queen of the Nile (0101707V, Brazil)", 0, layout_goldpyr ) // MV4162, A - 21/08/02 GAMEL( 2000, qnilenl, qnile, aristmk5, qnilenl, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Queen of the Nile (0301059V, Holland)", 0, layout_qnilenl ) // 602/5, G - 10/04/00 GAMEL( 1998, qnilenz, qnile, aristmk5, cashcatnz, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Queen of the Nile (0300785V, New Zealand)", 0, layout_cashcatnz ) // MV4068, A - 31/8/98, Rev 20 -GAMEL( 1997, qnileu, qnile, aristmk5_usa, dolphntru, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Queen of the Nile (GHG4091-02, US)", 0, layout_aristmk5_us ) // MV4091, B - 13/05/97 -GAMEL( 1997, qnileua, qnile, aristmk5_usa, dolphntru, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Queen of the Nile (GHG4091-03, US)", 0, layout_aristmk5_us ) // MV4091, B - 13/05/97 -GAMEL( 2001, qnilece, qnile, aristmk5_usa, dolphntrce, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Queen of the Nile - Cash Express (AHG1609, US)", 0, layout_adonisu ) // MV4091/1, A - 17/01/01 -GAMEL( 2001, qnilecea, qnile, aristmk5_usa, dolphntru, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Queen of the Nile - Cash Express (AHG1525, US)", 0, layout_qnilecea ) // MV4091, F - 17/01/01 -GAMEL( 2001, qnileceb, qnile, aristmk5_usa, dolphntru, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Queen of the Nile - Cash Express (AHG1608, US)", 0, layout_magimaska ) // MV4091, F - 17/01/01 +GAMEL( 1997, qnileu, qnile, aristmk5_usa, dolphntrua, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Queen of the Nile (GHG4091-02, US)", 0, layout_dolphntrua ) // MV4091, B - 13/05/97 +GAMEL( 1997, qnileua, qnile, aristmk5_usa, dolphntrua, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Queen of the Nile (GHG4091-03, US)", 0, layout_dolphntrua ) // MV4091, B - 13/05/97 +GAMEL( 2001, qnilece, qnile, aristmk5_usa, adonisu, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Queen of the Nile - Cash Express (AHG1609, US)", 0, layout_adonisu ) // MV4091/1, A - 17/01/01 +GAMEL( 2001, qnilecea, qnile, aristmk5_usa, dolphntrua, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Queen of the Nile - Cash Express (AHG1525, US)", 0, layout_qnilecea ) // MV4091, F - 17/01/01 +GAMEL( 2001, qnileceb, qnile, aristmk5_usa, dolphntrua, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Queen of the Nile - Cash Express (AHG1608, US)", 0, layout_magimaska ) // MV4091, F - 17/01/01 GAMEL( 1994, qtbird, aristmk5, aristmk5, qtbird, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Q.T. Bird (0500009V, NSW/ACT)", 0, layout_qtbird ) // 581, A - 27/10/94, Rev 1.1.1.0 GAMEL( 1998, reelpwr, aristmk5, aristmk5, wizways, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Reel Power (0100400V, NSW/ACT)", 0, layout_wizways ) // 598/2, A - 01/11/96, Rev 1.23.8.0 GAMEL( 1997, retrsama, retrsam, aristmk5, retrsam, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Return of the Samurai (0200549V, NSW/ACT)", 0, layout_retrsam ) // 608, A - 17/04/97, Rev 1.26.25.3 GAMEL( 1997, retrsamb, retrsam, aristmk5, retrsamb, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Return of the Samurai (0200506V, NSW/ACT)", 0, layout_retrsamb ) // 608, A - 17/04/97, Rev 1.26.25.3 GAMEL( 1997, rushrst, chickna5, aristmk5, rushrst, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Rushin Rooster (0100534V, NSW/ACT)", 0, layout_cashchama ) // 596/3, C - 25/06/97, Rev 1.27.2.3 -GAMEL( 2001, sldeluxe, aristmk5, aristmk5_usa, bootsctnua, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Sweet Liberty Deluxe (AHG1575, US)", 0, layout_adonisu ) // MV4137, A - 11/02/01 +GAMEL( 2001, sldeluxe, aristmk5, aristmk5_usa, adonisu, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Sweet Liberty Deluxe (AHG1575, US)", 0, layout_adonisu ) // MV4137, A - 11/02/01 GAMEL( 1996, snowcat, aristmk5, aristmk5, snowcat, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Snow Cat (0100405V, NSW/ACT)", 0, layout_snowcat ) // 599, B - 23/12/96, Rev 1.25.1.0 GAMEL( 1995, swhr2a, swhr2, aristmk5, swhr2, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Sweethearts II (0200004V, NSW/ACT)", 0, layout_swhr2 ) // 577/1, C - 07/09/95, Rev 1.1.3.0 GAMEL( 1996, thor, aristmk5, aristmk5, cashcham, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Thor (0200319V, NSW/ACT)", 0, layout_cashcham ) // 569/12, B - 14/08/96, Rev 1.23.7.0 @@ -8912,13 +9396,13 @@ GAMEL( 1997, topbana, aristmk5, aristmk5, wildbill, aristmk5_s GAMEL( 1999, toutangonl, toutango, aristmk5, toutangonl, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Toucan Tango (0301388V, Holland)", 0, layout_toutangonl ) // 616, C - 11/05/99 GAMEL( 1996, trpdlght, aristmk5, aristmk5, swhr2, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Tropical Delight (0100269V, NSW/ACT)", 0, layout_swhr2 ) // 577/3, B - 15/05/96, Rev 1.22.2.0 GAMEL( 2000, unicorndnz, unicornd, aristmk5, unicorndnz, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Unicorn Dreaming (0101228V, New Zealand)", 0, layout_aristmk5 ) // MV4113/1, A - 05/04/2000, Rev 27 -GAMEL( 2001, unicorndu, unicornd, aristmk5_usa, bootsctnua, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Unicorn Dreaming (BHG1584, US)", 0, layout_adonisu ) // MV4130/1, C - 10/17/01 -GAMEL( 2001, wafricau, aristmk5, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Wild Africa (AHG1535, US)", 0, layout_magimaska ) // MV4076, B - 17/07/01 +GAMEL( 2001, unicorndu, unicornd, aristmk5_usa, adonisu, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Unicorn Dreaming (BHG1584, US)", 0, layout_adonisu ) // MV4130/1, C - 10/17/01 +GAMEL( 2001, wafrica, aristmk5, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Wild Africa (AHG1535, US)", 0, layout_magimaska ) // MV4076, B - 17/07/01 GAMEL( 1996, wamazona, wamazon, aristmk5, wamazona, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Wild Amazon (0200285V, NSW/ACT)", 0, layout_wamazona ) // 506/6, A - 7/5/96, Rev 1.22.8.0 GAMEL( 1996, wldangel, aristmk5, aristmk5, swhr2, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Wild Angels (0100337V, NSW/ACT)", 0, layout_swhr2 ) // 600, B - 24/09/96 GAMEL( 1996, wildbill, aristmk5, aristmk5, wildbill, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Wild Bill (0100297V, NSW/ACT)", 0, layout_wildbill ) // 543/8, C - 15/08/96, Rev 1.22.12.0 GAMEL( 1996, wcougar, aristmk5, aristmk5, wcougar, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Wild Cougar (0100167V, NSW/ACT)", 0, layout_wcougar ) // 569/9, B - 27/2/96, Rev 1.18.1.0 -GAMEL( 1997, wcougaruc, wcougar, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Wild Cougar (AHG1531, US)", 0, layout_magimaska ) // MV4055, B - 13/05/97 +GAMEL( 1997, wcougaru, wcougar, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Wild Cougar (AHG1531, US)", 0, layout_magimaska ) // MV4055, B - 13/05/97 // the following sets hang after a certain amount of spins due to incomplete comms emulation GAMEL( 1999, adonis, aristmk5, aristmk5, aristmk5, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Adonis (0200751V, NSW/ACT)", MACHINE_NOT_WORKING, layout_aristmk5 ) // 602/9, A - 25/05/98, Rev 10 @@ -8945,6 +9429,7 @@ GAMEL( 1998, eldorda5, aristmk5, aristmk5, reelrock, aristmk5_s GAMEL( 1998, fastfort, aristmk5, aristmk5, wildbill, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Fast Fortune (0100651V, NSW/ACT)", MACHINE_NOT_WORKING, layout_wildbill ) // 624, D - 07/05/98, Rev 5 GAMEL( 2000, fortellr, aristmk5, aristmk5, goldenra, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Fortune Teller (01J00131, NSW/ACT)", MACHINE_NOT_WORKING, layout_fortellr ) // JB006, D - 24/11/2000, Rev 17 GAMEL( 1999, genmagi, aristmk5, aristmk5_touch, genmagi, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Genie Magic (0200894V, NSW/ACT)", MACHINE_NOT_WORKING, layout_genmagi ) // 632/1, C - 15/02/99, Rev 20 +GAMEL( 2001, geisha, aristmk5, aristmk5, tritreat, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Geisha (0101153V, NSW/ACT)", MACHINE_NOT_WORKING, layout_tritreat ) // 602/18, A - 21/03/00, Rev 21 GAMEL( 1998, gnomeatw, aristmk5, aristmk5, kgalah, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Gnome Around The World (0100767V, NSW/ACT)", MACHINE_NOT_WORKING, layout_kgalah ) // 625, C - 18/12/98, Rev 16 GAMEL( 2001, goldenra, aristmk5, aristmk5, goldenra, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Golden Ra (0101164V, NSW/ACT)", MACHINE_NOT_WORKING, layout_goldenra ) // 661, A - 10/04/00, Rev 15 GAMEL( 2000, honeypot, aristmk5, aristmk5, goldenra, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Honey Pot (03J00241, NSW/ACT)", MACHINE_NOT_WORKING, layout_yukongl5 ) // JB008, A - 21/11/2000, Rev 17 @@ -8973,7 +9458,7 @@ GAMEL( 1997, pengpayb, pengpay, aristmk5, swhr2, aristmk5_s GAMEL( 1998, penpir, aristmk5, aristmk5, kgalah, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Penguin Pirate (0100674V, NSW/ACT)", MACHINE_NOT_WORKING, layout_kgalah ) // 619/1, A - 31/03/98, Rev 10 GAMEL( 1998, penpira, penpir, aristmk5, snowcat, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Penguin Pirate (0200578V, NSW/ACT)", MACHINE_NOT_WORKING, layout_snowcat ) // 619, A - 27/02/98, Rev 8 GAMEL( 1998, petshop, aristmk5, aristmk5, petshop, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Pet Shop (0100731V, NSW/ACT)", MACHINE_NOT_WORKING, layout_petshop ) // 618/1, A - 17/04/98, Rev 13 -GAMEL( 2000, phantpyc, aristmk5, aristmk5, wtiger, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Phantom Pays Classic (0101003V, NSW/ACT)", MACHINE_NOT_WORKING, layout_wtiger ) // 641/1, A - 29/03/99, Rev 15 +GAMEL( 2000, phantpyc, aristmk5, aristmk5, wtigerc, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Phantom Pays Classic (0101003V, NSW/ACT)", MACHINE_NOT_WORKING, layout_wtigerc ) // 641/1, A - 29/03/99, Rev 15 GAMEL( 1998, qcash, aristmk5, aristmk5, kgalah, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Queens of Cash (0100706V, NSW/ACT)", MACHINE_NOT_WORKING, layout_kgalah ) // 603/6, C - 23/07/98, Rev 6 GAMEL( 2001, qnile, aristmk5, aristmk5, qnile, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Queen of the Nile (0300439V, NSW/ACT)", MACHINE_NOT_WORKING, layout_qnile ) // 602/4, B - 13/05/97, Rev 7 GAMEL( 1997, qnilea, qnile, aristmk5, qnile, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Queen of the Nile (0200439V, NSW/ACT)", MACHINE_NOT_WORKING, layout_qnile ) // 602/4, B - 13/05/97, Rev 7 @@ -8981,7 +9466,7 @@ GAMEL( 1997, qnilec, qnile, aristmk5, qnilec, aristmk5_s GAMEL( 1999, qniled, qnile, aristmk5, checkma5, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Queen of the Nile (0101139V, NSW/ACT)", MACHINE_NOT_WORKING, layout_qniled ) // 602/16, A - 11/10/99, Rev 14 GAMEL( 1997, qnilepe, qnile, aristmk5, aristmk5_9, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Queen of the Nile (04J00784, Peru)", MACHINE_NOT_WORKING, layout_dolphntrb ) // 602/3, B - 13/05/97, Rev 6 GAMEL( 1999, qnilemax, qnile, aristmk5_touch, trstrove, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Queen of the Nile - Maximillions (0401072V, NSW/ACT)", MACHINE_NOT_WORKING, layout_trstrove ) // 602/4, D - 18/06/99, Rev 14 -GAMEL( 2001, rainwarr, aristmk5, aristmk5, trstrove, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Rainbow Warriors (0101132V, NSW/ACT)", MACHINE_NOT_WORKING, layout_tritreat ) // 655, A - 11/02/00, Rev 21 +GAMEL( 2001, rainwarr, aristmk5, aristmk5, tritreat, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Rainbow Warriors (0101132V, NSW/ACT)", MACHINE_NOT_WORKING, layout_tritreat ) // 655, A - 11/02/00, Rev 21 GAMEL( 2001, rainwarrce, rainwarr, aristmk5, adonisce, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Rainbow Warriors - Cash Express (0101332V, NSW/ACT)", MACHINE_NOT_WORKING, layout_adonisce ) // 655, B - 02/03/00, Rev 25 GAMEL( 1998, reelrock, aristmk5, aristmk5, reelrock, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Reelin-n-Rockin (0100779V, NSW/ACT)", MACHINE_NOT_WORKING, layout_reelrock ) // 628, A - 13/07/98, Rev 5 GAMEL( 1997, retrsam, aristmk5, aristmk5, retrsam, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Return of the Samurai (0400549V, NSW/ACT)", MACHINE_NOT_WORKING, layout_retrsam ) // 608, A - 17/04/97, Rev 5 @@ -8994,7 +9479,7 @@ GAMEL( 1995, swhr2, aristmk5, aristmk5, swhr2, aristmk5_s GAMEL( 1995, swhr2v, swhr2, aristmk5, swhr2, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Sweethearts II (01J01986, Venezuela)", MACHINE_NOT_WORKING, layout_swhr2 ) // 577/1, C - 07/09/95, Rev 3 GAMEL( 1998, toutango, aristmk5, aristmk5, kgalah, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Toucan Tango (0100782V, NSW/ACT)", MACHINE_NOT_WORKING, layout_kgalah ) // 616/1, A - 17/06/98, Rev 16 GAMEL( 2000, trstrove, aristmk5, aristmk5, trstrove, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Treasure Trove (01J00161, NSW/ACT)", MACHINE_NOT_WORKING, layout_trstrove ) // JB001/3, A - 5/10/00, Rev 8 -GAMEL( 2002, tritreat, aristmk5, aristmk5, trstrove, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Triple Treat (0201692V, NSW/ACT)", MACHINE_NOT_WORKING, layout_tritreat ) // 692, A - 17/05/02, Rev 25 +GAMEL( 2002, tritreat, aristmk5, aristmk5, tritreat, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Triple Treat (0201692V, NSW/ACT)", MACHINE_NOT_WORKING, layout_tritreat ) // 692, A - 17/05/02, Rev 25 GAMEL( 2001, trojhors, aristmk5, aristmk5, goldenra, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Trojan Horse (01J00851, NSW/ACT)", MACHINE_NOT_WORKING, layout_marmagic ) // JB001/5, A - 30/10/01, Rev 17 GAMEL( 1999, unicornd, aristmk5, aristmk5, aristmk5, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Unicorn Dreaming (0100791V, NSW/ACT)", MACHINE_NOT_WORKING, layout_aristmk5 ) // 631/1 A, A - 31/08/98, Rev 12 GAMEL( 1999, unicornda, unicornd, aristmk5, aristmk5_9, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Unicorn Dreaming (0100813V, NSW/ACT)", MACHINE_NOT_WORKING, layout_dolphntrb ) // 631 A, A - 02/09/98, Rev 14 @@ -9004,30 +9489,37 @@ GAMEL( 1996, wamazonv, wamazon, aristmk5, wamazon, aristmk5_s GAMEL( 1997, wikwin, aristmk5, aristmk5, wikwin, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Wicked Winnings (0100553V, NSW/ACT)", MACHINE_NOT_WORKING, layout_wikwin ) // 609, B - 01/07/97, Rev 1 GAMEL( 1996, wizways, aristmk5, aristmk5, wizways, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Wizard Ways (0200396V, NSW/ACT)", MACHINE_NOT_WORKING, layout_wizways ) // 598/3, A - 04/11/96, Rev 9 GAMEL( 1999, wthing, aristmk5, aristmk5, retrsam, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Wild Thing (0101158V, NSW/ACT)", MACHINE_NOT_WORKING, layout_retrsam ) // 608/4, B - 14/12/99, Rev 8 -GAMEL( 1999, wtiger, aristmk5, aristmk5, wtiger, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "White Tiger Classic (0200954V, NSW/ACT)", MACHINE_NOT_WORKING, layout_wtiger ) // 638/1, B - 08/07/99, Rev 13 +GAMEL( 1999, wtigerc, aristmk5, aristmk5, wtigerc, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "White Tiger Classic (0200954V, NSW/ACT)", MACHINE_NOT_WORKING, layout_wtigerc ) // 638/1, B - 08/07/99, Rev 13 GAMEL( 2000, yukongl5, aristmk5, aristmk5, goldenra, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Yukon Gold (03J00191, NSW/ACT)", MACHINE_NOT_WORKING, layout_yukongl5 ) // JB005/1, A - 30/10/2000, Rev 17 // the following parent sets hang during a payout if the coin value is not an exact multiple of the denomination GAMEL( 1997, wnpost, aristmk5, aristmk5_usa, wnpost, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Winning Post (RHG0418-04, US)", MACHINE_NOT_WORKING, layout_wnpost ) // 541/2, G - 11/02/97 // the following clone sets hang during a payout if the coin value is not an exact multiple of the denomination -GAMEL( 1997, bumblbugu, bumblbug, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Bumble Bugs (CHG0479-03, US)", MACHINE_NOT_WORKING, layout_aristmk5_us ) // 593, D - 05/07/97 -GAMEL( 1997, bumblbugua, bumblbug, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Bumble Bugs (CHG0479-99, US)", MACHINE_NOT_WORKING, layout_aristmk5_us ) // 593, D - 05/07/97 +GAMEL( 1997, bumblbugu, bumblbug, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Bumble Bugs (CHG0479-03, US)", MACHINE_NOT_WORKING, layout_dolphntrua ) // 593, D - 05/07/97 +GAMEL( 1997, bumblbugua, bumblbug, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Bumble Bugs (CHG0479-02, US)", MACHINE_NOT_WORKING, layout_dolphntrua ) // 593, D - 05/07/97 +GAMEL( 1997, bumblbugub, bumblbug, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Bumble Bugs (CHG0479-99, US)", MACHINE_NOT_WORKING, layout_dolphntrua ) // 593, D - 05/07/97 GAMEL( 1998, chickna5u, chickna5, aristmk5_usa, chickna5u, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Chicken (RHG0730-03, US)", MACHINE_NOT_WORKING, layout_aristmk5_us ) // 596, C - 23/02/98 GAMEL( 1998, chickna5ua, chickna5, aristmk5_usa, chickna5u, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Chicken (RHG0730-99, US)", MACHINE_NOT_WORKING, layout_aristmk5_us ) // 596, C - 23/02/98 +GAMEL( 1998, chariotcu, chariotc, aristmk5_usa, chariotcu, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Chariot Challenge (RHG0635-02, US)", MACHINE_NOT_WORKING, layout_wnpost ) // MV4048, B - 3/03/98 GAMEL( 1997, eforsta5u, eforsta5, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Enchanted Forest (JHG0415-03, US)", MACHINE_NOT_WORKING, layout_aristmk5_us ) // MV4033, B - 10/02/97 GAMEL( 1997, eforsta5ua, eforsta5, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Enchanted Forest (JHG0415-99, US)", MACHINE_NOT_WORKING, layout_aristmk5_us ) // MV4033, B - 10/02/97 -GAMEL( 1997, mgarden, eforsta5, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Magic Garden (AHG1211-99, US)", MACHINE_NOT_WORKING, layout_aristmk5_us ) // MV4033, B - 10/02/97 +GAMEL( 1999, jumpjoeyu, jumpjoey, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Jumpin' Joeys (DHG4735-02, US)", MACHINE_NOT_WORKING, layout_aristmk5_us ) // MV4043, A - 08/01/99 +GAMEL( 1997, mgarden, eforsta5, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Magic Garden (AHG1211-03, US)", MACHINE_NOT_WORKING, layout_aristmk5_us ) // MV4033, B - 10/02/97 +GAMEL( 1997, mgardena, eforsta5, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Magic Garden (AHG1211-99, US)", MACHINE_NOT_WORKING, layout_aristmk5_us ) // MV4033, B - 10/02/97 GAMEL( 1996, minemineu, minemine, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Mine, Mine, Mine (VHG0416-99, US)", MACHINE_NOT_WORKING, layout_aristmk5_us ) // 559/2, E - 14/02/96 -GAMEL( 1996, minemineua, minemine, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Mine, Mine, Mine (NHG0416-99, US)", MACHINE_NOT_WORKING, layout_aristmk5_us ) // 559/2, E - 14/02/96 -GAMEL( 1997, pengpayu, pengpay, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Penguin Pays (BHI0417-03, US)", MACHINE_NOT_WORKING, layout_aristmk5_us ) // 586/7(b), B - 14/07/97 -GAMEL( 1997, pengpayua, pengpay, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Penguin Pays (OHG0417-03, US)", MACHINE_NOT_WORKING, layout_aristmk5_us ) // 586/7(b), B - 14/07/97 -GAMEL( 1997, pengpayub, pengpay, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Penguin Pays (OHG0417-02, US)", MACHINE_NOT_WORKING, layout_aristmk5_us ) // 586/7(b), B - 14/07/97 +GAMEL( 1996, minemineua, minemine, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Mine, Mine, Mine (NHG0416-02, US)", MACHINE_NOT_WORKING, layout_aristmk5_us ) // 559/2, E - 14/02/96 +GAMEL( 1996, minemineub, minemine, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Mine, Mine, Mine (NHG0416-99, US)", MACHINE_NOT_WORKING, layout_aristmk5_us ) // 559/2, E - 14/02/96 +GAMEL( 1997, pengpayu, pengpay, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Penguin Pays (OHG0417-03, US)", MACHINE_NOT_WORKING, layout_aristmk5_us ) // 586/7(b), B - 14/07/97 +GAMEL( 1997, pengpayua, pengpay, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Penguin Pays (OHG0417-02, US)", MACHINE_NOT_WORKING, layout_aristmk5_us ) // 586/7(b), B - 14/07/97 +GAMEL( 1997, pengpayub, pengpay, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Penguin Pays (BHI0417-03, US)", MACHINE_NOT_WORKING, layout_aristmk5_us ) // 586/7(b), B - 14/07/97 GAMEL( 1998, swhr2u, swhr2, aristmk5_usa, swhr2u, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Sweethearts II (PHG0742-02, US)", MACHINE_NOT_WORKING, layout_swhr2u ) // MV4061, A - 29/06/98 GAMEL( 1997, trpdlghtu, trpdlght, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Tropical Delight (PHG0625-02, US)", MACHINE_NOT_WORKING, layout_aristmk5_us ) // 577/3, D - 24/09/97 -GAMEL( 1997, wcougaru, wcougar, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Wild Cougar (NHG0296-04, US)", MACHINE_NOT_WORKING, layout_aristmk5_us ) // 569/8, D - 19/05/97 +GAMEL( 1996, wldangelu, wldangel, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Wild Angels (QHG0477-04, US)", MACHINE_NOT_WORKING, layout_aristmk5_us ) // 600, B - 24/09/96 GAMEL( 1997, wcougarua, wcougar, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Wild Cougar (NHG0296-07, US)", MACHINE_NOT_WORKING, layout_aristmk5_us ) // 569/8, D - 19/05/97 -GAMEL( 1997, wcougarub, wcougar, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Wild Cougar (NHG0296-99, US)", MACHINE_NOT_WORKING, layout_aristmk5_us ) // 569/8, D - 19/05/97 +GAMEL( 1997, wcougarub, wcougar, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Wild Cougar (NHG0296-04, US)", MACHINE_NOT_WORKING, layout_aristmk5_us ) // 569/8, D - 19/05/97 +GAMEL( 1997, wcougaruc, wcougar, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Wild Cougar (NHG0296-99, US)", MACHINE_NOT_WORKING, layout_aristmk5_us ) // 569/8, D - 19/05/97 +GAMEL( 1998, wcougarud, wcougar, aristmk5_usa, swhr2u, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Wild Cougar (NHG0632-07, US)", MACHINE_NOT_WORKING, layout_swhr2u ) // MV4055, A - 09/02/98 // the following parent sets boot but cannot be played due to unemulated comms GAMEL( 1996, jungjuic, aristmk5, aristmk5, jungjuic, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Jungle Juice (0200240V, ASP)", MACHINE_NOT_WORKING, layout_jungjuic ) // 566/3, F - 06/03/96 @@ -9037,7 +9529,7 @@ GAMEL( 1998, penpir2, aristmk5, aristmk5, penpir2, aristmk5_s GAMEL( 1996, bumblbugq, bumblbug, aristmk5, swhr2, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Bumble Bugs (0200456V, Queensland)", MACHINE_NOT_WORKING, layout_swhr2 ) // 593, D - 5/07/96, Rev 1.0 GAMEL( 1998, chickna5q, chickna5, aristmk5, chickna5, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Chicken (0200530V, Queensland)", MACHINE_NOT_WORKING, layout_snowcat ) // 596, C - 23/02/98, Rev 1.0 GAMEL( 2000, dolphntrq, dolphntr, aristmk5, trstrove, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Dolphin Treasure (0101250V, Queensland)", MACHINE_NOT_WORKING, layout_trstrove ) // 602/17, A - 20/01/00, Rev 1.0.1.0 -GAMEL( 1998, goldpyrb, qnile, aristmk5, goldpyrb, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Golden Pyramids (0100878V, ASP)", MACHINE_NOT_WORKING, layout_goldpyrb ) // 602/5, C - 19/06/98 +GAMEL( 1998, goldpyr, qnile, aristmk5, goldpyr, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Golden Pyramids (0100878V, ASP)", MACHINE_NOT_WORKING, layout_goldpyr ) // 602/5, C - 19/06/98 GAMEL( 2000, indrema5q, indrema5, aristmk5, aristmk5, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Indian Dreaming (0101340V, Queensland)", MACHINE_NOT_WORKING, layout_aristmk5 ) // 628/3, A - 02/05/00, Rev 1.0 GAMEL( 1997, locolootq, locoloot, aristmk5, cashchama, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Loco Loot (0300670V, Queensland)", MACHINE_NOT_WORKING, layout_cashchama ) // 599/4, A - 12/02/97, Rev 1.0 GAMEL( 1999, qnileq, qnile, aristmk5, trstrove, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Queen of the Nile (0201200V, Queensland)", MACHINE_NOT_WORKING, layout_trstrove ) // 602/4, D - 18/06/99 @@ -9049,19 +9541,20 @@ GAMEL( 2006, hrtthrob, swhr2, aristmk5, swhr2, aristmk5_s // the following parent sets are known bad dumps, and do not boot (confirmed) GAMEL( 1996, blackpnt, aristmk5, aristmk5, wildbill, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Black Panther (0200818V, Victoria)", MACHINE_NOT_WORKING, layout_wildbill ) // 594/1, A - 30/07/96, Rev 1 -GAMEL( 1996, canrose, aristmk5, aristmk5_usa, bootsctnua, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Canyon Rose (AHG1463, US)", MACHINE_NOT_WORKING, layout_cashchamu ) // 603(a), B - 06/12/96 (same as Cash Chameleon) -GAMEL( 2000, diamdest, aristmk5, aristmk5_usa, bootsctnua, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Diamond Destiny (AHG1533, US)", MACHINE_NOT_WORKING, layout_aristmk5_us_200 ) // MV4115_5, A - 09/05/2000 (same as Magic Mask) +GAMEL( 1996, canrose, aristmk5, aristmk5_usa, bootsctnud, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Canyon Rose (AHG1463, US)", MACHINE_NOT_WORKING, layout_cashchamu ) // 603(a), B - 06/12/96 (same as Cash Chameleon) +GAMEL( 2000, diamdest, aristmk5, aristmk5_usa, bootsctnud, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Diamond Destiny (AHG1533, US)", MACHINE_NOT_WORKING, layout_aristmk5_us_200 ) // MV4115_5, A - 09/05/2000 (same as Magic Mask) GAMEL( 2001, fortfvr, aristmk5, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Fortune Fever (BHG1566, US)", MACHINE_NOT_WORKING, layout_aristmk5_us ) // MV4122/2, A - 13/05/01 +GAMEL( 2002, jkrpkra5, aristmk5, aristmk5, baddog, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Joker Poker (0301477V, New Zealand)", MACHINE_NOT_WORKING, layout_baddog ) // MV7042, A - 16/11/00, Rev 1 // the following clone sets are known bad dumps, and do not boot (confirmed) -GAMEL( 2000, bpartya, bparty, aristmk5_usa_touch, bootsctnua, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Bachelorette Party (BHG1579, US)", MACHINE_NOT_WORKING, layout_bparty ) // MV4119/1, B - 25/08/2000 +GAMEL( 2000, bpartya, bparty, aristmk5_usa_touch, bootsctnud, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Bachelorette Party (BHG1579, US)", MACHINE_NOT_WORKING, layout_bparty ) // MV4119/1, B - 25/08/2000 GAMEL( 1997, cashcra5a, cashcra5, aristmk5, aristmk5_9, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Cash Crop (0300447V, NSW/ACT)", MACHINE_NOT_WORKING, layout_dolphntrb ) // 607/2, C - 29/08/97, Rev 7 GAMEL( 1996, chickna5v, chickna5, aristmk5, chickna5v, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Chicken (01J01886, Venezuela)", MACHINE_NOT_WORKING, layout_chickna5v ) // 596/1, B - 23/12/96, Rev 3 GAMEL( 2001, dynajacku, dynajack, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Dynamite Jack (CHG1562, US)", MACHINE_NOT_WORKING, layout_magimaska ) // US002, A - 11/07/01 -GAMEL( 2000, eforsta5ce, eforsta5, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Enchanted Forest - Cash Express (CHG1536, US)", MACHINE_NOT_WORKING, layout_aristmk5_us ) // MV4108/6, C - 17/01/00 +GAMEL( 2000, eforstcea, eforsta5, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Enchanted Forest - Cash Express (CHG1536, US)", MACHINE_NOT_WORKING, layout_aristmk5_us ) // MV4108/6, C - 17/01/00 GAMEL( 2001, mountmonce, mountmon, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Mountain Money - Cash Express (AHG1629, US)", MACHINE_NOT_WORKING, layout_aristmk5_us ) // MV4108/5, A - 10/03/01 GAMEL( 2001, mountmonu, mountmon, aristmk5_usa, aristmk5_usa, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Mountain Money (BHG1465, US)", MACHINE_NOT_WORKING, layout_aristmk5_us ) // MV4108/5, A - 10/03/01 -GAMEL( 2001, partygrsb, partygrs, aristmk5_usa_touch, bootsctnua, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Party Gras (AHG1568, US)", MACHINE_NOT_WORKING, layout_bparty ) // MV4115/6, A - 10/11/2001, 20 lines +GAMEL( 2001, partygrsb, partygrs, aristmk5_usa_touch, bootsctnud, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Party Gras (AHG1568, US)", MACHINE_NOT_WORKING, layout_bparty ) // MV4115/6, A - 10/11/2001, 20 lines GAMEL( 1995, pengpayd, pengpay, aristmk5, wcougar, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Penguin Pays (0300113V, NSW/ACT)", MACHINE_NOT_WORKING, layout_wcougar ) // 586, A - 12/10/95, Rev 4 GAMEL( 1998, petshopa, petshop, aristmk5, snowcat, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Pet Shop (0100679V, NSW/ACT)", MACHINE_NOT_WORKING, layout_snowcat ) // 618, A - 09/03/98, Rev 10 GAMEL( 2000, reelrockq, reelrock, aristmk5, trstrove, aristmk5_state, init_aristmk5, ROT0, "Aristocrat", "Reelin-n-Rockin (0101460V, Queensland)", MACHINE_NOT_WORKING, layout_trstrove ) // 628/2, E - 20/12/00 diff --git a/src/mame/acorn/bbc.cpp b/src/mame/acorn/bbc.cpp index 59c81910d9798..55e3dd153c288 100644 --- a/src/mame/acorn/bbc.cpp +++ b/src/mame/acorn/bbc.cpp @@ -1624,7 +1624,7 @@ void bbcbp_state::econx25(machine_config &config) void bbcm_state::bbcm(machine_config &config) { /* basic machine hardware */ - M65SC02(config, m_maincpu, 16_MHz_XTAL / 8); + G65SC12(config, m_maincpu, 16_MHz_XTAL / 8); m_maincpu->set_addrmap(AS_PROGRAM, &bbcm_state::bbcm_mem); m_maincpu->set_addrmap(AS_OPCODES, &bbcm_state::bbcm_fetch); m_maincpu->set_periodic_int(FUNC(bbc_state::bbcb_keyscan), attotime::from_hz(1000)); /* scan keyboard */ diff --git a/src/mame/acorn/bbc.h b/src/mame/acorn/bbc.h index 23b57f386edb3..95bf25373e49d 100644 --- a/src/mame/acorn/bbc.h +++ b/src/mame/acorn/bbc.h @@ -12,8 +12,8 @@ #pragma once +#include "cpu/m6502/g65sc02.h" #include "cpu/m6502/m6502.h" -#include "cpu/m6502/m65sc02.h" #include "imagedev/floppy.h" #include "machine/74259.h" #include "machine/6522via.h" diff --git a/src/mame/adds/4000_260.cpp b/src/mame/adds/4000_260.cpp index 4d829f85b3d09..e89140d4b5ae6 100644 --- a/src/mame/adds/4000_260.cpp +++ b/src/mame/adds/4000_260.cpp @@ -118,4 +118,4 @@ ROM_END //************************************************************************** // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 1995, 4000_260, 0, 0, _4000_260, _4000_260, _4000_260_state, empty_init, "ADDS", "4000/260", MACHINE_IS_SKELETON ) +COMP( 1995, 4000_260, 0, 0, _4000_260, _4000_260, _4000_260_state, empty_init, "ADDS", "4000/260", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/adds/adds2020.cpp b/src/mame/adds/adds2020.cpp index 16dea1d0e1b17..dbef542dd521a 100644 --- a/src/mame/adds/adds2020.cpp +++ b/src/mame/adds/adds2020.cpp @@ -141,4 +141,4 @@ ROM_END } // anonymous namespace -COMP(1986, adds2020, 0, 0, adds2020, adds2020, adds2020_state, empty_init, "Applied Digital Data Systems", "ADDS 2020", MACHINE_IS_SKELETON) +COMP(1986, adds2020, 0, 0, adds2020, adds2020, adds2020_state, empty_init, "Applied Digital Data Systems", "ADDS 2020", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/adds/vp60.cpp b/src/mame/adds/vp60.cpp index 4b0ecdeb225fc..e61642705edad 100644 --- a/src/mame/adds/vp60.cpp +++ b/src/mame/adds/vp60.cpp @@ -133,4 +133,4 @@ ROM_END } // anonymous namespace -COMP( 1982, vp60, 0, 0, vp60, vp60, vp60_state, empty_init, "ADDS", "Viewpoint 60", MACHINE_IS_SKELETON ) +COMP( 1982, vp60, 0, 0, vp60, vp60, vp60_state, empty_init, "ADDS", "Viewpoint 60", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/adp/adp.cpp b/src/mame/adp/adp.cpp index c5f6f6d9676f7..5ec1a03faf1d1 100644 --- a/src/mame/adp/adp.cpp +++ b/src/mame/adp/adp.cpp @@ -384,8 +384,8 @@ INPUT_PORTS_END static INPUT_PORTS_START( skattv ) PORT_START("PA") PORT_BIT( 0x9f, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_HBLANK("screen") - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::hblank)) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("DSW1") PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN5 ) @@ -437,8 +437,8 @@ INPUT_PORTS_END static INPUT_PORTS_START( skattva ) PORT_START("PA") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_HBLANK("screen") - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::hblank)) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x9e, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_START("IN0") @@ -463,8 +463,8 @@ static INPUT_PORTS_START( fstation ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_HBLANK("screen") - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::hblank)) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("DSW1") diff --git a/src/mame/adp/stella8085.cpp b/src/mame/adp/stella8085.cpp index cfd78bfb4eb50..5e8a2d636bfb9 100644 --- a/src/mame/adp/stella8085.cpp +++ b/src/mame/adp/stella8085.cpp @@ -95,4 +95,4 @@ ROM_END // 'STELLA DICE MASTER F2' and 'COPYRIGHT BY ADP LUEBBECKE GERMANY 1993' in ROM -GAME( 1993, dicemstr, 0, dicemstr, dicemstr, stella8085_state, empty_init, ROT0, "Stella", "Dice Master", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1993, dicemstr, 0, dicemstr, dicemstr, stella8085_state, empty_init, ROT0, "Stella", "Dice Master", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/adp/stellafr.cpp b/src/mame/adp/stellafr.cpp index 77237a4e357b2..63033846a6502 100644 --- a/src/mame/adp/stellafr.cpp +++ b/src/mame/adp/stellafr.cpp @@ -126,5 +126,5 @@ ROM_END } // anonymous namespace -GAME(199?, st_ohla, 0, stellafr, stellafr, stellafr_state, empty_init, ROT0, "Stella", "Oh La La (Stella)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(199?, st_vulkn, 0, stellafr, stellafr, stellafr_state, empty_init, ROT0, "Stella", "Vulkan (Stella)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME(199?, st_ohla, 0, stellafr, stellafr, stellafr_state, empty_init, ROT0, "Stella", "Oh La La (Stella)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(199?, st_vulkn, 0, stellafr, stellafr, stellafr_state, empty_init, ROT0, "Stella", "Vulkan (Stella)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/akai/akaivx600.cpp b/src/mame/akai/akaivx600.cpp index b7db4fddf5c5c..d5ffcdb020313 100644 --- a/src/mame/akai/akaivx600.cpp +++ b/src/mame/akai/akaivx600.cpp @@ -102,5 +102,5 @@ ROM_END } // anonymous namespace -SYST(1988, vx600, 0, 0, vx600, vx600, akaivx600_state, empty_init, "Akai", "VX600 Programmable Matrix Synthesizer", MACHINE_IS_SKELETON) +SYST(1988, vx600, 0, 0, vx600, vx600, akaivx600_state, empty_init, "Akai", "VX600 Programmable Matrix Synthesizer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/akai/mpc60.cpp b/src/mame/akai/mpc60.cpp index 0b10f968d397e..94b15dbec3c11 100644 --- a/src/mame/akai/mpc60.cpp +++ b/src/mame/akai/mpc60.cpp @@ -195,4 +195,4 @@ ROM_END } // anonymous namespace -SYST(1987, mpc60, 0, 0, mpc60, mpc60, mpc60_state, empty_init, "Akai Electric", "MPC60 MIDI Production Center", MACHINE_IS_SKELETON) +SYST(1987, mpc60, 0, 0, mpc60, mpc60, mpc60_state, empty_init, "Akai Electric", "MPC60 MIDI Production Center", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/alba/hanadojo.cpp b/src/mame/alba/hanadojo.cpp new file mode 100644 index 0000000000000..14936be26d0fc --- /dev/null +++ b/src/mame/alba/hanadojo.cpp @@ -0,0 +1,223 @@ +// license:BSD-3-Clause +// copyright-holders: + +/* +花道場 (Hana Doujou) - Alba 1984 +AAJ-11 PCB + +Main components are: + +NEC D780C CPU +12 MHz XTAL (near CPU) +NEC D449C RAM (near CPU ROMs) +unknown 40-pin chip (near CPU, stickered AN-001 on one PCB) +2x Toshiba TMM2009P-B RAM (near GFX ROMs) +HD46505SP CRTC +2x bank of 8 DIP switches +bank of 4 DIP switches +AY-3-8910 +unknown 40-pin chip (stickered AN-002) +unknown 40-pin chip (stickered AN-003) +2x AX-014 epoxy covered chips +AX-013 epoxy covered chip + +TODO: everything. Puts RAM N.G. in video RAM. Banked RAM or protection? +*/ + +#include "emu.h" + +#include "cpu/z80/z80.h" +#include "machine/i8255.h" +#include "machine/nvram.h" +#include "sound/ay8910.h" +#include "video/mc6845.h" + +#include "emupal.h" +#include "screen.h" +#include "speaker.h" +#include "tilemap.h" + + +namespace { + +class hanadojo_state : public driver_device +{ +public: + hanadojo_state(const machine_config &mconfig, device_type type, const char *tag) + : driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu"), + m_gfxdecode(*this, "gfxdecode"), + m_videoram(*this, "videoram") + { } + + void hanadojo(machine_config &config); + +protected: + virtual void video_start() override ATTR_COLD; + +private: + required_device m_maincpu; + required_device m_gfxdecode; + + required_shared_ptr m_videoram; + + uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + + void program_map(address_map &map) ATTR_COLD; + void io_map(address_map &map) ATTR_COLD; +}; + + +void hanadojo_state::video_start() +{ +} + +uint32_t hanadojo_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +{ + return 0; +} + + +void hanadojo_state::program_map(address_map &map) +{ + map(0x0000, 0x7fff).rom(); + map(0x8800, 0x8fff).ram(); + map(0x9000, 0x97ff).ram().share(m_videoram); +} + +void hanadojo_state::io_map(address_map &map) +{ + map(0x20, 0x20).w("crtc", FUNC(hd6845s_device::address_w)); + map(0x21, 0x21).w("crtc", FUNC(hd6845s_device::register_w)); +} + + +static INPUT_PORTS_START( hanadojo ) + PORT_START("IN0") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_START("IN1") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_START("DSW1") + PORT_DIPUNKNOWN_DIPLOC(0x01, 0x01, "SW1:1") + PORT_DIPUNKNOWN_DIPLOC(0x02, 0x02, "SW1:2") + PORT_DIPUNKNOWN_DIPLOC(0x04, 0x04, "SW1:3") + PORT_DIPUNKNOWN_DIPLOC(0x08, 0x08, "SW1:4") + PORT_DIPUNKNOWN_DIPLOC(0x10, 0x10, "SW1:5") + PORT_DIPUNKNOWN_DIPLOC(0x20, 0x20, "SW1:6") + PORT_DIPUNKNOWN_DIPLOC(0x40, 0x40, "SW1:7") + PORT_DIPUNKNOWN_DIPLOC(0x80, 0x80, "SW1:8") + + PORT_START("DSW2") + PORT_DIPUNKNOWN_DIPLOC(0x01, 0x01, "SW2:1") + PORT_DIPUNKNOWN_DIPLOC(0x02, 0x02, "SW2:2") + PORT_DIPUNKNOWN_DIPLOC(0x04, 0x04, "SW2:3") + PORT_DIPUNKNOWN_DIPLOC(0x08, 0x08, "SW2:4") + PORT_DIPUNKNOWN_DIPLOC(0x10, 0x10, "SW2:5") + PORT_DIPUNKNOWN_DIPLOC(0x20, 0x20, "SW2:6") + PORT_DIPUNKNOWN_DIPLOC(0x40, 0x40, "SW2:7") + PORT_DIPUNKNOWN_DIPLOC(0x80, 0x80, "SW2:8") + + PORT_START("DSW3") + PORT_DIPUNKNOWN_DIPLOC(0x01, 0x01, "SW3:1") + PORT_DIPUNKNOWN_DIPLOC(0x02, 0x02, "SW3:2") + PORT_DIPUNKNOWN_DIPLOC(0x04, 0x04, "SW3:3") + PORT_DIPUNKNOWN_DIPLOC(0x08, 0x08, "SW3:4") +INPUT_PORTS_END + + +static GFXDECODE_START( gfx_hanadojo ) + GFXDECODE_ENTRY( "tiles", 0, gfx_8x8x3_planar, 0, 32 ) // TODO: wrong +GFXDECODE_END + + +void hanadojo_state::hanadojo(machine_config &config) +{ + Z80(config, m_maincpu, 12_MHz_XTAL / 2); // divider guessed + m_maincpu->set_addrmap(AS_PROGRAM, &hanadojo_state::program_map); + m_maincpu->set_addrmap(AS_IO, &hanadojo_state::io_map); + + hd6845s_device &crtc(HD6845S(config, "crtc", 12_MHz_XTAL / 16)); // divider guessed + crtc.set_screen("screen"); + crtc.set_show_border_area(false); + crtc.set_char_width(8); + crtc.out_vsync_callback().set_inputline(m_maincpu, INPUT_LINE_NMI); + + PALETTE(config, "palette").set_entries(0x20); // TODO: wrong + + GFXDECODE(config, m_gfxdecode, "palette", gfx_hanadojo); + + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); // TODO: wrong + screen.set_refresh_hz(60); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); + screen.set_size(64*8, 32*8); + screen.set_visarea_full(); + screen.set_screen_update(FUNC(hanadojo_state::screen_update)); + screen.set_palette("palette"); + + SPEAKER(config, "speaker").front_center(); + + ay8910_device &ay(AY8910(config, "ay", 12_MHz_XTAL / 16)); // divider guessed + ay.add_route(ALL_OUTPUTS, "speaker", 0.33); +} + +ROM_START( hanadojo ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "n0_1.2l", 0x0000, 0x2000, CRC(fedc7a24) SHA1(75baed5c4f86185a24c8a9995a246246fda480d2) ) + ROM_LOAD( "n10_2.2k", 0x2000, 0x2000, CRC(e9fd71d5) SHA1(dbd5ed3bf81e507ca9a08c06fe22060a03bf3eed) ) + ROM_LOAD( "n10_3.2h", 0x4000, 0x2000, CRC(8dc494f5) SHA1(23df7c564f9b33c6c3cffb7be5dbf3c025468e3e) ) + ROM_LOAD( "n10_4.2f", 0x6000, 0x2000, CRC(ecbbfe7f) SHA1(0425e5b71a07f93d1562be158a7c33041f025fdc) ) + + ROM_REGION( 0xc000, "tiles", 0 ) + ROM_LOAD( "no6.4f", 0x0000, 0x2000, CRC(f049bc57) SHA1(cb6baaa4eaf9306a54ec39689e3b16ab7acc82c7) ) + ROM_LOAD( "no7.4e", 0x4000, 0x2000, CRC(2ff0c6c7) SHA1(a92926d497189fadb11d0c8fd12d8e4a1506c4fd) ) + ROM_LOAD( "no8.4d", 0x8000, 0x2000, CRC(32ed9c86) SHA1(6614df331ab8e57327b27393d189cc538f1b9567) ) + ROM_LOAD( "no9.6f", 0x2000, 0x2000, CRC(1e5f720e) SHA1(e3d55fae723625fcdd78ee02fb10e47d8e0628f0) ) + ROM_LOAD( "no10.6e", 0x6000, 0x2000, CRC(bfb79118) SHA1(191c441b60fdec714733e326e7ad984b551e2cce) ) + ROM_LOAD( "no11.6d", 0xa000, 0x2000, CRC(a601d401) SHA1(ac10da18c6ef46d9c9da10e292dcb49554676885) ) + + ROM_REGION( 0x120, "proms", 0 ) + ROM_LOAD( "n2.9d", 0x000, 0x100, CRC(e6812f63) SHA1(2286b43970e51d6cfbceaaf74bcb6d2f35620d3a) ) + ROM_LOAD( "n1.11d", 0x100, 0x020, CRC(1e6f668a) SHA1(6006ee30920e51581862b0e7f56ac724831b0034) ) +ROM_END + +ROM_START( hanadojoa ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "n1_1.2l", 0x0000, 0x2000, CRC(25c6360f) SHA1(d38a01471264f00f5ed6b4bb831620b13e8be411) ) + ROM_LOAD( "n20_2.2k", 0x2000, 0x2000, CRC(e9fd71d5) SHA1(dbd5ed3bf81e507ca9a08c06fe22060a03bf3eed) ) + ROM_LOAD( "n20_3.2h", 0x4000, 0x2000, CRC(094b55c9) SHA1(a1735ed788af778a3da358069af8567a3724aa0d) ) + ROM_LOAD( "n20_4.2f", 0x6000, 0x2000, CRC(ca47a101) SHA1(b31488e5102cd7f576bfc3ee4253e0fb752e72c9) ) + + ROM_REGION( 0xc000, "tiles", 0 ) + ROM_LOAD( "no6.4f", 0x0000, 0x2000, CRC(f049bc57) SHA1(cb6baaa4eaf9306a54ec39689e3b16ab7acc82c7) ) + ROM_LOAD( "no7.4e", 0x2000, 0x2000, CRC(2ff0c6c7) SHA1(a92926d497189fadb11d0c8fd12d8e4a1506c4fd) ) + ROM_LOAD( "no8.4d", 0x4000, 0x2000, CRC(32ed9c86) SHA1(6614df331ab8e57327b27393d189cc538f1b9567) ) + ROM_LOAD( "no9.6f", 0x6000, 0x2000, CRC(1e5f720e) SHA1(e3d55fae723625fcdd78ee02fb10e47d8e0628f0) ) + ROM_LOAD( "no10.6e", 0x8000, 0x2000, CRC(bfb79118) SHA1(191c441b60fdec714733e326e7ad984b551e2cce) ) + ROM_LOAD( "no11.6d", 0xa000, 0x2000, CRC(a601d401) SHA1(ac10da18c6ef46d9c9da10e292dcb49554676885) ) + + ROM_REGION( 0x120, "proms", 0 ) + ROM_LOAD( "n2.9d", 0x000, 0x100, CRC(e6812f63) SHA1(2286b43970e51d6cfbceaaf74bcb6d2f35620d3a) ) + ROM_LOAD( "n1.11d", 0x100, 0x020, CRC(1e6f668a) SHA1(6006ee30920e51581862b0e7f56ac724831b0034) ) +ROM_END + +} // anonymous namespace + + +GAME( 1984, hanadojo, 0, hanadojo, hanadojo, hanadojo_state, empty_init, ROT0, "Alba", "Hana Doujou (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1984, hanadojoa, hanadojo, hanadojo, hanadojo, hanadojo_state, empty_init, ROT0, "Alba", "Hana Doujou (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/alba/rmhaihai.cpp b/src/mame/alba/rmhaihai.cpp index 5c403a700514d..073be31b4e65f 100644 --- a/src/mame/alba/rmhaihai.cpp +++ b/src/mame/alba/rmhaihai.cpp @@ -21,15 +21,13 @@ driver by Nicola Salmoria protection (in rmhaisei the failure is more explicit, in rmhaijin it's deviously delayed to a later part of the game). In themj the checks are patched out, maybe it's a bootleg? - ETA: it uses IOX, which is shared with speedatk.cpp and srmp2.cpp as well. + ETA: it uses IOX, which is nominally shared with speedatk.cpp and srmp2.cpp. + Most likely all three have undumped 8041 or 8042 MCUs. - some unknown reads and writes. - visible area uncertain. -- rmhaihaibl stops at RAM clear. There are various small routines changed, - probably to make up for missing IOX chip. - ***************************************************************************/ #include "emu.h" @@ -60,11 +58,13 @@ class rmhaihai_state : public driver_device void init_rmhaihai(); void rmhaihai(machine_config &config); + void rmhaibl(machine_config &config); protected: void videoram_w(offs_t offset, uint8_t data); void colorram_w(offs_t offset, uint8_t data); uint8_t keyboard_r(); + uint8_t bootleg_keyboard_r(); void keyboard_w(uint8_t data); void ctrl_w(uint8_t data); void adpcm_w(uint8_t data); @@ -76,6 +76,7 @@ class rmhaihai_state : public driver_device TILE_GET_INFO_MEMBER(get_bg_tile_info); void rmhaihai_io_map(address_map &map) ATTR_COLD; + void rmhaihaibl_io_map(address_map &map) ATTR_COLD; void rmhaihai_map(address_map &map) ATTR_COLD; required_device m_maincpu; @@ -212,6 +213,17 @@ uint8_t rmhaihai_state::keyboard_r() return 0; } +uint8_t rmhaihai_state::bootleg_keyboard_r() +{ + // bootleg scans the key matrix directly without IOX + uint8_t ret = 0xff; + uint32_t keys = m_key[0]->read() | m_key[1]->read() << 16; + for (int i = 0; i < 5; i++) + if (!BIT(m_keyboard_cmd, i)) + ret &= ~bitswap<3>(keys >> (i * 6 + BIT(m_keyboard_cmd, 6)), 4, 2, 0); + return ret; +} + void rmhaihai_state::keyboard_w(uint8_t data) { logerror("%04x: keyboard_w %02x\n",m_maincpu->pc(),data); @@ -286,6 +298,22 @@ void rmhaihai_state::rmhaihai_io_map(address_map &map) map(0xbc0c, 0xbc0c).nopw(); // ?? } +void rmhaihai_state::rmhaihaibl_io_map(address_map &map) +{ + map(0x0000, 0x7fff).rom().region("adpcm", 0); + map(0x8000, 0x8000).w(FUNC(rmhaihai_state::keyboard_w)); + map(0x8001, 0x8001).portr("EXTRA"); + map(0x8002, 0x8002).r(FUNC(rmhaihai_state::bootleg_keyboard_r)); + map(0x8003, 0x8003).nopw(); // ?? + map(0x8020, 0x8020).r("aysnd", FUNC(ay8910_device::data_r)); + map(0x8020, 0x8021).w("aysnd", FUNC(ay8910_device::address_data_w)); + map(0x8040, 0x8040).w(FUNC(rmhaihai_state::adpcm_w)); + map(0x8060, 0x8060).w(FUNC(rmhaihai_state::ctrl_w)); + map(0x8080, 0x8080).nopw(); // ?? + map(0xbc02, 0xbc02).r(FUNC(rmhaihai_state::bootleg_keyboard_r)); + map(0xbc0c, 0xbc0c).nopw(); // ?? +} + void themj_state::themj_map(address_map &map) { map(0x0000, 0x7fff).rom(); @@ -429,6 +457,26 @@ static INPUT_PORTS_START( rmhaihai ) PORT_INCLUDE( mjctrl ) INPUT_PORTS_END +static INPUT_PORTS_START( rmhaibl ) + PORT_INCLUDE( rmhaihai ) + + PORT_MODIFY("KEY1") + PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_UNUSED ) + + PORT_MODIFY("KEY3") + PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_UNUSED ) + + PORT_START("EXTRA") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) +INPUT_PORTS_END + static INPUT_PORTS_START( rmhaihib ) PORT_START("DSW2") PORT_DIPNAME( 0x01, 0x01, "Unknown 2-1" ) @@ -546,6 +594,13 @@ void rmhaihai_state::rmhaihai(machine_config &config) m_msm->add_route(ALL_OUTPUTS, "mono", 1.0); } +void rmhaihai_state::rmhaibl(machine_config &config) +{ + rmhaihai(config); + + m_maincpu->set_addrmap(AS_IO, &rmhaihai_state::rmhaihaibl_io_map); +} + void rmhaisei_state::rmhaisei(machine_config &config) { rmhaihai(config); @@ -634,6 +689,7 @@ ROM_END ROM_START( rmhaihaibl ) // seemingly bootleg PCB ROM_REGION( 0x10000, "maincpu", 0 ) + // code patched from rmhaihai2, with input routines heavily modified and protection checks removed ROM_LOAD( "4.11g", 0x00000, 0x2000, CRC(a31394ba) SHA1(0cba4baa2c8addd7f127b21b26715ed79ec4cab7) ) ROM_CONTINUE( 0x06000, 0x2000 ) ROM_LOAD( "3.8g", 0x04000, 0x2000, CRC(aad71f3b) SHA1(fd0a7cc8478eaa09d1ee171f3cbbaeb6b94d414f) ) @@ -817,7 +873,7 @@ void rmhaihai_state::init_rmhaihai() GAME( 1985, rmhaihai, 0, rmhaihai, rmhaihai, rmhaihai_state, init_rmhaihai, ROT0, "Alba", "Real Mahjong Haihai (Japan, newer)", MACHINE_SUPPORTS_SAVE ) // writes Homedata in NVRAM GAME( 1985, rmhaihai2, rmhaihai, rmhaihai, rmhaihai, rmhaihai_state, init_rmhaihai, ROT0, "Alba", "Real Mahjong Haihai (Japan, older)", MACHINE_SUPPORTS_SAVE ) -GAME( 1985, rmhaihaibl, rmhaihai, rmhaihai, rmhaihai, rmhaihai_state, init_rmhaihai, ROT0, "bootleg", "Real Mahjong Haihai (Japan, bootleg)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) +GAME( 1985, rmhaihaibl, rmhaihai, rmhaibl, rmhaibl, rmhaihai_state, init_rmhaihai, ROT0, "bootleg", "Real Mahjong Haihai (Japan, bootleg)", MACHINE_SUPPORTS_SAVE ) GAME( 1985, rmhaihib, rmhaihai, rmhaihai, rmhaihib, rmhaihai_state, init_rmhaihai, ROT0, "Alba", "Real Mahjong Haihai (Japan, medal)", MACHINE_SUPPORTS_SAVE ) GAME( 1986, rmhaijin, 0, rmhaihai, rmhaihai, rmhaihai_state, init_rmhaihai, ROT0, "Alba", "Real Mahjong Haihai Jinji Idou Hen (Japan)", MACHINE_SUPPORTS_SAVE ) GAME( 1986, rmhaisei, 0, rmhaisei, rmhaihai, rmhaisei_state, init_rmhaihai, ROT0, "Visco", "Real Mahjong Haihai Seichouhen (Japan)", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/alliedleisure/ace.cpp b/src/mame/alliedleisure/ace.cpp index 9a5a96153a2a5..f38ec2ca14266 100644 --- a/src/mame/alliedleisure/ace.cpp +++ b/src/mame/alliedleisure/ace.cpp @@ -234,7 +234,7 @@ static INPUT_PORTS_START( ace ) //c012 PORT_START("IN10") /* VBLANK??? */ - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("IN11") /* coin input */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) diff --git a/src/mame/alliedleisure/aleisttl.cpp b/src/mame/alliedleisure/aleisttl.cpp index 4acaab2a7dac7..729411c8eb36a 100644 --- a/src/mame/alliedleisure/aleisttl.cpp +++ b/src/mame/alliedleisure/aleisttl.cpp @@ -137,4 +137,4 @@ ROM_END } // anonymous namespace -GAME( 1975, sburners, 0, sburners, 0, sburners_state, empty_init, ROT0, "Allied Leisure", "Street Burners", MACHINE_IS_SKELETON ) +GAME( 1975, sburners, 0, sburners, 0, sburners_state, empty_init, ROT0, "Allied Leisure", "Street Burners", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/amiga/amiga.cpp b/src/mame/amiga/amiga.cpp index 1f607a0ca9ab5..d908d262b102a 100644 --- a/src/mame/amiga/amiga.cpp +++ b/src/mame/amiga/amiga.cpp @@ -1704,6 +1704,7 @@ void amiga_state::amiga_base(machine_config &config) SOFTWARE_LIST(config, "flop_list").set_original("amiga_flop"); SOFTWARE_LIST(config, "ocs_list").set_original("amigaocs_flop"); SOFTWARE_LIST(config, "demos_list").set_original("amiga_demos"); + SOFTWARE_LIST(config, "amigacd_list").set_original("amiga_cd"); } void a1000_state::a1000(machine_config &config) @@ -2239,7 +2240,7 @@ void cd32_state::cd32(machine_config &config) m_cia_0->sp_wr_callback().set_nop(); SOFTWARE_LIST(config, "cd32_list").set_original("cd32"); - SOFTWARE_LIST(config, "cd_list").set_original("cdtv"); + SOFTWARE_LIST(config, "cd_list").set_compatible("cdtv"); } void cd32_state::cd32n(machine_config &config) diff --git a/src/mame/amiga/amiga_m.cpp b/src/mame/amiga/amiga_m.cpp index 6f5c074bb5332..0c1ecad4f6162 100644 --- a/src/mame/amiga/amiga_m.cpp +++ b/src/mame/amiga/amiga_m.cpp @@ -1285,7 +1285,7 @@ void amiga_state::bplcon0_w(u16 data) if ((data & (BPLCON0_BPU0 | BPLCON0_BPU1 | BPLCON0_BPU2)) == (BPLCON0_BPU0 | BPLCON0_BPU1 | BPLCON0_BPU2)) { /* planes go from 0 to 6, inclusive */ - popmessage( "bplcon0_w: setting up planes > 6, %04x", data ); + popmessage( "bplcon0_w: setting up planes > 6, %04x (bug if not AGA SW)", data ); data &= ~BPLCON0_BPU0; } CUSTOM_REG(REG_BPLCON0) = data; @@ -1387,7 +1387,8 @@ uint16_t amiga_state::custom_chip_r(offs_t offset) return m_fdc->adkcon_r(); case REG_DSKDATR: - popmessage("DSKDAT R"); + if (!machine().side_effects_disabled()) + popmessage("DSKDAT R"); break; } diff --git a/src/mame/amiga/amiga_v.cpp b/src/mame/amiga/amiga_v.cpp index 7ed423e6eb374..411e0f015e62d 100644 --- a/src/mame/amiga/amiga_v.cpp +++ b/src/mame/amiga/amiga_v.cpp @@ -550,6 +550,7 @@ void amiga_state::render_scanline(bitmap_rgb32 &bitmap, int scanline) for (int x = 0; x < (amiga_state::SCREEN_WIDTH / 2) + 10; x++) { int sprpix; + const bool out_of_beam = x >= amiga_state::SCREEN_WIDTH / 2; /* time to execute the copper? */ if (x == next_copper_x) @@ -600,9 +601,11 @@ void amiga_state::render_scanline(bitmap_rgb32 &bitmap, int scanline) } /* clear the target pixels to the background color as a starting point */ - if (dst != nullptr) + if (dst != nullptr && !out_of_beam) + { dst[x*2+0] = dst[x*2+1] = m_palette->pen(CUSTOM_REG(REG_COLOR00)); + } /* if we hit the first fetch pixel, reset the counters and latch the delays */ if (x == ddf_start_pixel) @@ -742,7 +745,7 @@ void amiga_state::render_scanline(bitmap_rgb32 &bitmap, int scanline) CUSTOM_REG(REG_CLXDAT) |= 0x001; /* if we are within the display region, render */ - if (dst != nullptr && x >= m_diw.left() && x < m_diw.right()) + if (dst != nullptr && x >= m_diw.left() && x < m_diw.right() && !out_of_beam) { int pix, pri; diff --git a/src/mame/amiga/amigaaga.cpp b/src/mame/amiga/amigaaga.cpp index 7550305f592d1..d60dc1a5ba336 100644 --- a/src/mame/amiga/amigaaga.cpp +++ b/src/mame/amiga/amigaaga.cpp @@ -549,6 +549,7 @@ void amiga_state::aga_render_scanline(bitmap_rgb32 &bitmap, int scanline) for (int x = 0; x < (amiga_state::SCREEN_WIDTH / 2) + offset_hack[bitplane_fmode]; x++) { int sprpix; + const bool out_of_beam = x >= amiga_state::SCREEN_WIDTH / 2; /* time to execute the copper? */ if (x == next_copper_x) @@ -620,7 +621,7 @@ void amiga_state::aga_render_scanline(bitmap_rgb32 &bitmap, int scanline) } /* clear the target pixels to the background color as a starting point */ - if (dst != nullptr) + if (dst != nullptr && !out_of_beam) dst[x*2+0] = dst[x*2+1] = aga_palette[0]; @@ -783,7 +784,7 @@ void amiga_state::aga_render_scanline(bitmap_rgb32 &bitmap, int scanline) // TODO: CLXCON2 /* if we are within the display region, render */ - if (dst != nullptr && x >= m_diw.left() && x < m_diw.right()) + if (dst != nullptr && x >= m_diw.left() && x < m_diw.right() && !out_of_beam) { int pix, pri; diff --git a/src/mame/ampex/ampex.cpp b/src/mame/ampex/ampex.cpp index 697df57bd311d..dbe8165786594 100644 --- a/src/mame/ampex/ampex.cpp +++ b/src/mame/ampex/ampex.cpp @@ -405,4 +405,4 @@ ROM_END } // anonymous namespace -COMP( 1980, dialog80, 0, 0, ampex, ampex, ampex_state, empty_init, "Ampex", "Dialogue 80", MACHINE_IS_SKELETON ) +COMP( 1980, dialog80, 0, 0, ampex, ampex, ampex_state, empty_init, "Ampex", "Dialogue 80", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/ampex/ampex210.cpp b/src/mame/ampex/ampex210.cpp index df0efd5184163..736fa45f94440 100644 --- a/src/mame/ampex/ampex210.cpp +++ b/src/mame/ampex/ampex210.cpp @@ -243,5 +243,5 @@ ROM_END } // anonymous namespace -COMP(1988, ampex210p, 0, 0, ampex210p, ampex210p, ampex210_state, empty_init, "Ampex", "Ampex 210 plus Terminal (v3.0)", MACHINE_IS_SKELETON) -COMP(1988, ampex230p, 0, 0, ampex230p, ampex210p, ampex210_state, empty_init, "Ampex", "Ampex 230 plus Terminal (v4.0)", MACHINE_IS_SKELETON) +COMP(1988, ampex210p, 0, 0, ampex210p, ampex210p, ampex210_state, empty_init, "Ampex", "Ampex 210 plus Terminal (v3.0)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +COMP(1988, ampex230p, 0, 0, ampex230p, ampex210p, ampex210_state, empty_init, "Ampex", "Ampex 230 plus Terminal (v4.0)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/amstrad/pcw16.cpp b/src/mame/amstrad/pcw16.cpp index e226395d6466b..cdf4d91ee4e29 100644 --- a/src/mame/amstrad/pcw16.cpp +++ b/src/mame/amstrad/pcw16.cpp @@ -995,7 +995,7 @@ void pcw16_state::machine_start() static INPUT_PORTS_START(pcw16) PORT_START("EXTRA") /* vblank */ - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_CUSTOM) PORT_VBLANK("screen") + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_CUSTOM) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) /* power switch - default is on */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE) PORT_NAME("Power Switch/Suspend") PORT_WRITE_LINE_DEVICE_MEMBER("ns16550_2", FUNC(ins8250_uart_device::ri_w)) PORT_TOGGLE INPUT_PORTS_END diff --git a/src/mame/apple/apple2e.cpp b/src/mame/apple/apple2e.cpp index 9a90dfe8353a3..30845cdfaaf04 100644 --- a/src/mame/apple/apple2e.cpp +++ b/src/mame/apple/apple2e.cpp @@ -128,7 +128,7 @@ MIG RAM page 2 $CE02 is the speaker/slot bitfield and $CE03 is the paddle/accele #include "apple2common.h" #include "cpu/m6502/m6502.h" -#include "cpu/m6502/m65c02.h" +#include "cpu/m6502/w65c02.h" #include "cpu/mcs48/mcs48.h" #include "cpu/z80/z80.h" #include "imagedev/cassette.h" @@ -4052,7 +4052,7 @@ INPUT_PORTS_END 342-0151-A 1982 ISO German QWERTZ US QWERTY DE original yes 342-0152-A 1982 ISO Swedish QWERTY US QWERTY SE, FI original yes 342-0153-A 1982 ISO French AZERTY US QWERTY FR, BE original yes - 342-0154-A 1982 ISO Italian QZERTY US QWERTY IT original no + 342-0154-A 1982 ISO Italian QZERTY US QWERTY IT original yes 342-0155-A 1982 ISO US QWERTY Western Spanish QWERTY (original) Latin America original no (order may be reversed) 342-0211-A 1982 ISO Spanish QWERTY US QWERTY ES, PT original yes 342-0283-A 1983 ISO French AZERTY (SL) US QWERTY FR original no @@ -4075,7 +4075,7 @@ INPUT_PORTS_END 342-0161-A German US English no DE yes 342-0162-A Swedish US English no SE yes 342-0163-A French US English no FR, BE no - 342-0164-A Italian US English no IT no + 342-0164-A Italian US English no IT yes 342-0165-A US English Spanish no Latin America no (order may be reversed) 342-0166-A US English French no CA no (order may be reversed) 342-0167-A US English Spanish no Latin America no (order may be reversed) @@ -4084,11 +4084,12 @@ INPUT_PORTS_END 342-0265-A US English none yes US, AU yes 342-0273-A UK English US English yes UK, NL, AU yes 342-0274-A French US English yes FR, BE yes - 342-0275-A German US English yes DE no - 342-0276-A Italian US English yes IT no - 342-0306-A US English French yes CA no (order may be reversed) + 342-0275-A German US English yes DE yes + 342-0276-A Italian US English yes IT yes + 342-0306-A US English French yes CA yes (order may be reversed) 342-0307-A US English Spanish yes Latin America no (order may be reversed) - 342-0nnn-A Swedish US English yes SE no + 342-0328-A Swedish US English yes SE no + 342-0nnn-A Swedish US English yes SE no (possible revision based on 342-0328 but with a tilde ~ instead of a macron ¯) 342-0nnn-A Spanish US English yes ES, PT no References: @@ -4610,6 +4611,20 @@ static INPUT_PORTS_START( apple2euk_sysconfig ) PORT_CONFSETTING(0x12, "US English") INPUT_PORTS_END +static INPUT_PORTS_START( apple2ede_sysconfig ) + PORT_START("kbd_lang_select") + PORT_CONFNAME(0xff, 0x00, "Keyboard") + PORT_CONFSETTING(0x00, "German") + PORT_CONFSETTING(0x12, "US English") +INPUT_PORTS_END + +static INPUT_PORTS_START( apple2ese_sysconfig ) + PORT_START("kbd_lang_select") + PORT_CONFNAME(0xff, 0x00, "Keyboard") + PORT_CONFSETTING(0x00, "Swedish") + PORT_CONFSETTING(0x12, "US English") +INPUT_PORTS_END + static INPUT_PORTS_START( laser128 ) PORT_INCLUDE( apple2e_nam_us_kbd ) PORT_INCLUDE( laser128_sysconfig ) @@ -4772,6 +4787,109 @@ static INPUT_PORTS_START( apple2euk ) PORT_INCLUDE( apple2_sysconfig_accel ) INPUT_PORTS_END +static INPUT_PORTS_START( apple2e_iso_de_kbd ) + PORT_INCLUDE( apple2e_iso_us_kbd ) + + PORT_MODIFY("X0") + PORT_BIT(0x004, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_2) PORT_CHAR('2') PORT_CHAR('\"') + PORT_BIT(0x008, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_3) PORT_CHAR('3') PORT_CHAR(U'§') + PORT_BIT(0x020, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_6) PORT_CHAR('6') PORT_CHAR('&') + PORT_BIT(0x080, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_7) PORT_CHAR('7') PORT_CHAR('/') + PORT_BIT(0x100, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_8) PORT_CHAR('8') PORT_CHAR('(') + PORT_BIT(0x200, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_9) PORT_CHAR('9') PORT_CHAR(')') + + PORT_MODIFY("X1") + PORT_BIT(0x020, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_Y) PORT_CHAR('z') PORT_CHAR('Z') + + PORT_MODIFY("X2") + PORT_BIT(0x100, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_COLON) PORT_CHAR(U'ö') PORT_CHAR(U'Ö') + + PORT_MODIFY("X3") + PORT_BIT(0x001, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_Z) PORT_CHAR('y') PORT_CHAR('Y') + PORT_BIT(0x080, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_COMMA) PORT_CHAR(',') PORT_CHAR(';') + PORT_BIT(0x100, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_STOP) PORT_CHAR('.') PORT_CHAR(':') + PORT_BIT(0x200, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_SLASH) PORT_CHAR('-') PORT_CHAR('_') + + PORT_MODIFY("X4") + PORT_BIT(0x040, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_BACKSLASH) PORT_CHAR('#') PORT_CHAR(U'^') // (actually to the left of the return key on the ASDF row) + PORT_BIT(0x080, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_EQUALS) PORT_CHAR('\'') PORT_CHAR('`') + PORT_BIT(0x100, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_0) PORT_CHAR('0') PORT_CHAR('=') + PORT_BIT(0x200, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_MINUS) PORT_CHAR(U'ß') PORT_CHAR('?') + + PORT_MODIFY("X5") + PORT_BIT(0x040, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_BACKSLASH2) PORT_CODE(KEYCODE_TILDE) PORT_CHAR('<') PORT_CHAR('>') // actually the key between left shift and Y + PORT_BIT(0x100, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_OPENBRACE) PORT_CHAR(U'ü') PORT_CHAR(U'Ü') + PORT_BIT(0x200, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_CLOSEBRACE) PORT_CHAR('+') PORT_CHAR('*') + + PORT_MODIFY("X6") + PORT_BIT(0x200, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_QUOTE) PORT_CHAR(U'ä') PORT_CHAR(U'Ä') +INPUT_PORTS_END + +static INPUT_PORTS_START( apple2ede_common ) + PORT_INCLUDE( apple2ede_sysconfig ) + PORT_INCLUDE( apple2e_iso_de_kbd ) +INPUT_PORTS_END + +static INPUT_PORTS_START( apple2cde ) + PORT_INCLUDE( apple2ede_common ) + PORT_INCLUDE( apple2c ) +INPUT_PORTS_END + +static INPUT_PORTS_START( apple2ede ) + PORT_INCLUDE( apple2ede_common ) + PORT_INCLUDE( apple2e_special ) + PORT_INCLUDE( apple2_sysconfig_accel ) +INPUT_PORTS_END + +static INPUT_PORTS_START( apple2e_iso_se_kbd ) + PORT_INCLUDE( apple2e_iso_us_kbd ) + + PORT_MODIFY("X0") + PORT_BIT(0x004, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_2) PORT_CHAR('2') PORT_CHAR('\"') + PORT_BIT(0x020, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_6) PORT_CHAR('6') PORT_CHAR('&') + PORT_BIT(0x080, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_7) PORT_CHAR('7') PORT_CHAR('/') + PORT_BIT(0x100, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_8) PORT_CHAR('8') PORT_CHAR('(') + PORT_BIT(0x200, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_9) PORT_CHAR('9') PORT_CHAR(')') + + PORT_MODIFY("X2") + PORT_BIT(0x100, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_COLON) PORT_CHAR(U'ö') PORT_CHAR(U'Ö') + + PORT_MODIFY("X3") + PORT_BIT(0x080, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_COMMA) PORT_CHAR(',') PORT_CHAR(';') + PORT_BIT(0x100, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_STOP) PORT_CHAR('.') PORT_CHAR(':') + PORT_BIT(0x200, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_SLASH) PORT_CHAR('-') PORT_CHAR('_') + + PORT_MODIFY("X4") + PORT_BIT(0x040, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_BACKSLASH) PORT_CHAR('@') PORT_CHAR(U'*') // (actually to the left of the return key on the ASDF row) + PORT_BIT(0x080, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_EQUALS) PORT_CHAR('\'') PORT_CHAR('`') + PORT_BIT(0x100, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_0) PORT_CHAR('0') PORT_CHAR('=') + PORT_BIT(0x200, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_MINUS) PORT_CHAR('+') PORT_CHAR('?') + + PORT_MODIFY("X5") + PORT_BIT(0x040, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_BACKSLASH2) PORT_CODE(KEYCODE_TILDE) PORT_CHAR('<') PORT_CHAR('>') // actually the key between left shift and Z + PORT_BIT(0x100, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_OPENBRACE) PORT_CHAR(U'å') PORT_CHAR(U'Å') + PORT_BIT(0x200, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_CLOSEBRACE) PORT_CHAR(U'¯') PORT_CHAR('^') // ¯ was eventually replaced with ~ when the Apple IIgs came out - TBD if any later IIe models have it + + PORT_MODIFY("X6") + PORT_BIT(0x200, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_QUOTE) PORT_CHAR(U'ä') PORT_CHAR(U'Ä') +INPUT_PORTS_END + +static INPUT_PORTS_START( apple2ese_common ) + PORT_INCLUDE( apple2ese_sysconfig ) + PORT_INCLUDE( apple2e_iso_se_kbd ) +INPUT_PORTS_END + +static INPUT_PORTS_START( apple2cse ) + PORT_INCLUDE( apple2ese_common ) + PORT_INCLUDE( apple2c ) +INPUT_PORTS_END + +static INPUT_PORTS_START( apple2ese ) + PORT_INCLUDE( apple2ese_common ) + PORT_INCLUDE( apple2e_special ) + PORT_INCLUDE( apple2_sysconfig_accel ) +INPUT_PORTS_END + static INPUT_PORTS_START( apple2ees_sysconfig ) PORT_START("kbd_lang_select") PORT_CONFNAME(0xff, 0x00, "Keyboard") @@ -4937,6 +5055,16 @@ static INPUT_PORTS_START( apple2epuk ) PORT_INCLUDE( apple2ep_keypad ) INPUT_PORTS_END +static INPUT_PORTS_START( apple2epde ) + PORT_INCLUDE( apple2ede ) + PORT_INCLUDE( apple2ep_keypad ) +INPUT_PORTS_END + +static INPUT_PORTS_START( apple2epse ) + PORT_INCLUDE( apple2ese ) + PORT_INCLUDE( apple2ep_keypad ) +INPUT_PORTS_END + static INPUT_PORTS_START( apple2epfr ) PORT_INCLUDE( apple2eefr ) PORT_INCLUDE( apple2ep_keypad ) @@ -4954,7 +5082,7 @@ void apple2e_state::apple2e_common(machine_config &config, bool enhanced, bool r /* basic machine hardware */ if (enhanced) { - M65C02(config, m_maincpu, 1021800); + W65C02(config, m_maincpu, 1021800); } else { @@ -5093,7 +5221,7 @@ void apple2e_state::spectred(machine_config &config) void apple2e_state::tk3000(machine_config &config) { apple2e(config); - M65C02(config.replace(), m_maincpu, 1021800); + W65C02(config.replace(), m_maincpu, 1021800); m_maincpu->set_addrmap(AS_PROGRAM, &apple2e_state::base_map); // z80_device &subcpu(Z80(config, "subcpu", 1021800)); // schematics are illegible on where the clock comes from, but it *seems* to be the same as the 65C02 clock @@ -5226,7 +5354,7 @@ void apple2e_state::apple2c_mem_pal(machine_config &config) void apple2e_state::laser128(machine_config &config) { apple2c(config); - M65C02(config.replace(), m_maincpu, 1021800); + W65C02(config.replace(), m_maincpu, 1021800); m_maincpu->set_addrmap(AS_PROGRAM, &apple2e_state::laser128_map); m_maincpu->set_dasm_override(FUNC(apple2e_state::dasm_trampoline)); @@ -5261,7 +5389,7 @@ void apple2e_state::laser128(machine_config &config) void apple2e_state::laser128o(machine_config &config) { apple2c(config); - M65C02(config.replace(), m_maincpu, 1021800); + W65C02(config.replace(), m_maincpu, 1021800); m_maincpu->set_addrmap(AS_PROGRAM, &apple2e_state::laser128_map); m_maincpu->set_dasm_override(FUNC(apple2e_state::dasm_trampoline)); @@ -5297,7 +5425,7 @@ void apple2e_state::laser128o(machine_config &config) void apple2e_state::laser128ex2(machine_config &config) { apple2c(config); - M65C02(config.replace(), m_maincpu, 1021800); + W65C02(config.replace(), m_maincpu, 1021800); m_maincpu->set_addrmap(AS_PROGRAM, &apple2e_state::laser128_map); m_maincpu->set_dasm_override(FUNC(apple2e_state::dasm_trampoline)); @@ -5334,7 +5462,7 @@ void apple2e_state::ace500(machine_config &config) apple2e_common(config, true, false); subdevice("flop_a2_orig")->set_filter("A2C"); // Filter list to compatible disks for this machine. - M65C02(config.replace(), m_maincpu, 1021800); + W65C02(config.replace(), m_maincpu, 1021800); m_maincpu->set_addrmap(AS_PROGRAM, &apple2e_state::ace500_map); m_maincpu->set_dasm_override(FUNC(apple2e_state::dasm_trampoline)); @@ -5376,7 +5504,7 @@ void apple2e_state::ace500(machine_config &config) void apple2e_state::ace2200(machine_config &config) { apple2e_common(config, false, false); - M65C02(config.replace(), m_maincpu, 1021800); + W65C02(config.replace(), m_maincpu, 1021800); m_maincpu->set_addrmap(AS_PROGRAM, &apple2e_state::ace2200_map); m_maincpu->set_dasm_override(FUNC(apple2e_state::dasm_trampoline)); @@ -5456,6 +5584,30 @@ ROM_START(apple2euk) ROM_LOAD( "341-0150-a.e12", 0x000, 0x800, CRC(66ffacd7) SHA1(47bb9608be38ff75429a989b930a93b47099648e) ) ROM_END +ROM_START(apple2ede) + ROM_REGION(0x2000,"gfx1",0) + ROM_LOAD("341-0161-a.e9", 0x0000, 0x2000, CRC(0862a145) SHA1(a6cca6c569dba80aeb789c9cb7292f93dab00c29)) + + ROM_REGION(0x10000,"maincpu",0) + ROM_LOAD ( "342-0135-b.64", 0x0000, 0x2000, CRC(e248835e) SHA1(523838c19c79f481fa02df56856da1ec3816d16e)) + ROM_LOAD ( "342-0134-a.64", 0x2000, 0x2000, CRC(fc3d59d8) SHA1(8895a4b703f2184b673078f411f4089889b61c54)) + + ROM_REGION( 0x800, "keyboard", ROMREGION_ERASE00 ) + ROM_LOAD("341-0151-a.f12", 0x000, 0x800, CRC(64574bb4) SHA1(c44809bbb017bfe3c07dc99e87a3a9fa7b9741c3)) +ROM_END + +ROM_START(apple2ese) + ROM_REGION(0x2000,"gfx1",0) + ROM_LOAD("341-0162-a.e9", 0x0000, 0x2000, CRC(d0a2e9e1) SHA1(78afd70b39cc151a2c84a36058b1d5d48e6c36fa)) + + ROM_REGION(0x10000,"maincpu",0) + ROM_LOAD ( "342-0135-b.64", 0x0000, 0x2000, CRC(e248835e) SHA1(523838c19c79f481fa02df56856da1ec3816d16e)) + ROM_LOAD ( "342-0134-a.64", 0x2000, 0x2000, CRC(fc3d59d8) SHA1(8895a4b703f2184b673078f411f4089889b61c54)) + + ROM_REGION( 0x800, "keyboard", ROMREGION_ERASE00 ) + ROM_LOAD("341-0152-a.f12", 0x000, 0x800, CRC(ace44a35) SHA1(a035ab94339fc9ee78296cd2a6c3823925c8f53b)) +ROM_END + ROM_START(apple2efr) ROM_REGION(0x2000, "gfx1", 0) ROM_LOAD("341-0163-a.e9", 0x0000, 0x2000, BAD_DUMP CRC(1824d614) SHA1(a513bec3e44b8e823465720f3db6ee3f7781c1cd)) // created from "342-0274-a.e9" @@ -5518,6 +5670,30 @@ ROM_START(apple2eeuk) ROM_LOAD( "341-0150-a.e12", 0x000, 0x800, CRC(66ffacd7) SHA1(47bb9608be38ff75429a989b930a93b47099648e) ) ROM_END +ROM_START(apple2eede) + ROM_REGION(0x2000, "gfx1", 0) + ROM_LOAD("342-0275-a.e9", 0x0000, 0x2000, CRC(dac59882) SHA1(882ee6921f0d5d6615cf7c52881dda2f319c2696)) + + ROM_REGION(0x10000,"maincpu",0) + ROM_LOAD ( "342-0304-a.e10", 0x0000, 0x2000, CRC(443aa7c4) SHA1(3aecc56a26134df51e65e17f33ae80c1f1ac93e6)) /* PCB: "CD ROM // 342-0304", 2364 mask rom */ + ROM_LOAD ( "342-0303-a.e8", 0x2000, 0x2000, CRC(95e10034) SHA1(afb09bb96038232dc757d40c0605623cae38088e)) /* PCB: "EF ROM // 342-0303", 2364 mask rom */ + + ROM_REGION( 0x800, "keyboard", 0 ) + ROM_LOAD("341-0151-a.f12", 0x000, 0x800, CRC(64574bb4) SHA1(c44809bbb017bfe3c07dc99e87a3a9fa7b9741c3)) +ROM_END + +ROM_START(apple2eese) + ROM_REGION(0x2000, "gfx1", 0) + ROM_LOAD("341-0328-a.e9", 0x0000, 0x2000, BAD_DUMP CRC(04b3936d) SHA1(b036b07459f119bd5777ceaf3ae9dec6add91f33)) + + ROM_REGION(0x10000,"maincpu",0) + ROM_LOAD ( "342-0304-a.e10", 0x0000, 0x2000, CRC(443aa7c4) SHA1(3aecc56a26134df51e65e17f33ae80c1f1ac93e6)) /* PCB: "CD ROM // 342-0304", 2364 mask rom */ + ROM_LOAD ( "342-0303-a.e8", 0x2000, 0x2000, CRC(95e10034) SHA1(afb09bb96038232dc757d40c0605623cae38088e)) /* PCB: "EF ROM // 342-0303", 2364 mask rom */ + + ROM_REGION( 0x800, "keyboard", 0 ) + ROM_LOAD("341-0152-a.f12", 0x000, 0x800, CRC(ace44a35) SHA1(a035ab94339fc9ee78296cd2a6c3823925c8f53b)) +ROM_END + ROM_START(apple2eefr) ROM_REGION(0x2000,"gfx1",0) ROM_LOAD( "342-0274-a.e9", 0x0000, 0x2000, CRC(8f342081) SHA1(c81c1bbf237e70f8c3e5eef3c8fd5bd9b9f54d1e) ) @@ -5554,6 +5730,28 @@ ROM_START(apple2epuk) ROM_LOAD("341-0150-a.e12", 0x000, 0x800, CRC(66ffacd7) SHA1(47bb9608be38ff75429a989b930a93b47099648e)) ROM_END +ROM_START(apple2epde) + ROM_REGION(0x2000,"gfx1",0) + ROM_LOAD("342-0275-a.e9", 0x0000, 0x2000, CRC(dac59882) SHA1(882ee6921f0d5d6615cf7c52881dda2f319c2696)) + + ROM_REGION(0x10000,"maincpu",0) + ROM_LOAD("32-0349-b.128", 0x0000, 0x4000, CRC(1d70b193) SHA1(b8ea90abe135a0031065e01697c4a3a20d51198b)) /* should rom name be 342-0349-b? */ + + ROM_REGION( 0x800, "keyboard", 0 ) + ROM_LOAD("341-0151-a.f12", 0x000, 0x800, CRC(64574bb4) SHA1(c44809bbb017bfe3c07dc99e87a3a9fa7b9741c3)) +ROM_END + +ROM_START(apple2epse) + ROM_REGION(0x2000,"gfx1",0) + ROM_LOAD("341-0328-a.e9", 0x0000, 0x2000, BAD_DUMP CRC(04b3936d) SHA1(b036b07459f119bd5777ceaf3ae9dec6add91f33)) + + ROM_REGION(0x10000,"maincpu",0) + ROM_LOAD("32-0349-b.128", 0x0000, 0x4000, CRC(1d70b193) SHA1(b8ea90abe135a0031065e01697c4a3a20d51198b)) /* should rom name be 342-0349-b? */ + + ROM_REGION( 0x800, "keyboard", 0 ) + ROM_LOAD("341-0152-a.f12", 0x000, 0x800, CRC(ace44a35) SHA1(a035ab94339fc9ee78296cd2a6c3823925c8f53b)) +ROM_END + ROM_START(apple2epfr) ROM_REGION(0x2000,"gfx1",0) ROM_LOAD( "342-0274-a.e9", 0x0000, 0x2000, CRC(8f342081) SHA1(c81c1bbf237e70f8c3e5eef3c8fd5bd9b9f54d1e) ) @@ -5588,6 +5786,28 @@ ROM_START(apple2cuk) ROM_LOAD("341-0150-a.e12", 0x000, 0x800, CRC(66ffacd7) SHA1(47bb9608be38ff75429a989b930a93b47099648e)) ROM_END +ROM_START(apple2cde) + ROM_REGION(0x2000,"gfx1",0) + ROM_LOAD("342-0275-a.e9", 0x0000, 0x2000, CRC(dac59882) SHA1(882ee6921f0d5d6615cf7c52881dda2f319c2696)) + + ROM_REGION(0x10000,"maincpu",0) + ROM_LOAD("a2c.128", 0x0000, 0x4000, CRC(f0edaa1b) SHA1(1a9b8aca5e32bb702ddb7791daddd60a89655729)) /* should be 342-0272-A? */ + + ROM_REGION( 0x800, "keyboard", 0 ) + ROM_LOAD("341-0151-a.f12", 0x000, 0x800, CRC(64574bb4) SHA1(c44809bbb017bfe3c07dc99e87a3a9fa7b9741c3)) +ROM_END + +ROM_START(apple2cse) + ROM_REGION(0x2000,"gfx1",0) + ROM_LOAD("341-0328-a.e9", 0x0000, 0x2000, BAD_DUMP CRC(04b3936d) SHA1(b036b07459f119bd5777ceaf3ae9dec6add91f33)) + + ROM_REGION(0x10000,"maincpu",0) + ROM_LOAD("a2c.128", 0x0000, 0x4000, CRC(f0edaa1b) SHA1(1a9b8aca5e32bb702ddb7791daddd60a89655729)) /* should be 342-0272-A? */ + + ROM_REGION( 0x800, "keyboard", 0 ) + ROM_LOAD("341-0152-a.f12", 0x000, 0x800, CRC(ace44a35) SHA1(a035ab94339fc9ee78296cd2a6c3823925c8f53b)) +ROM_END + ROM_START(apple2cfr) ROM_REGION(0x2000,"gfx1",0) ROM_LOAD( "342-0274-a.e9", 0x0000, 0x2000, CRC(8f342081) SHA1(c81c1bbf237e70f8c3e5eef3c8fd5bd9b9f54d1e) ) @@ -5675,6 +5895,28 @@ ROM_START(apple2c0uk) ROM_LOAD("341-0150-a.e12", 0x000, 0x800, CRC(66ffacd7) SHA1(47bb9608be38ff75429a989b930a93b47099648e)) ROM_END +ROM_START(apple2c0de) + ROM_REGION(0x2000,"gfx1",0) + ROM_LOAD("342-0275-a.e9", 0x0000, 0x2000, CRC(dac59882) SHA1(882ee6921f0d5d6615cf7c52881dda2f319c2696)) + + ROM_REGION(0x10000,"maincpu",0) + ROM_LOAD("3420033a.256", 0x0000, 0x8000, CRC(c8b979b3) SHA1(10767e96cc17bad0970afda3a4146564e6272ba1)) + + ROM_REGION( 0x800, "keyboard", 0 ) + ROM_LOAD("341-0151-a.f12", 0x000, 0x800, CRC(64574bb4) SHA1(c44809bbb017bfe3c07dc99e87a3a9fa7b9741c3)) +ROM_END + +ROM_START(apple2c0se) + ROM_REGION(0x2000,"gfx1",0) + ROM_LOAD("341-0328-a.e9", 0x0000, 0x2000, BAD_DUMP CRC(04b3936d) SHA1(b036b07459f119bd5777ceaf3ae9dec6add91f33)) + + ROM_REGION(0x10000,"maincpu",0) + ROM_LOAD("3420033a.256", 0x0000, 0x8000, CRC(c8b979b3) SHA1(10767e96cc17bad0970afda3a4146564e6272ba1)) + + ROM_REGION( 0x800, "keyboard", 0 ) + ROM_LOAD("341-0152-a.f12", 0x000, 0x800, CRC(ace44a35) SHA1(a035ab94339fc9ee78296cd2a6c3823925c8f53b)) +ROM_END + ROM_START(apple2c0fr) ROM_REGION(0x2000,"gfx1",0) ROM_LOAD( "342-0274-a.e9", 0x0000, 0x2000, CRC(8f342081) SHA1(c81c1bbf237e70f8c3e5eef3c8fd5bd9b9f54d1e) ) @@ -5709,6 +5951,28 @@ ROM_START(apple2c3uk) ROM_LOAD("341-0150-a.e12", 0x000, 0x800, CRC(66ffacd7) SHA1(47bb9608be38ff75429a989b930a93b47099648e)) ROM_END +ROM_START(apple2c3de) + ROM_REGION(0x2000,"gfx1",0) + ROM_LOAD("342-0275-a.e9", 0x0000, 0x2000, CRC(dac59882) SHA1(882ee6921f0d5d6615cf7c52881dda2f319c2696)) + + ROM_REGION(0x10000,"maincpu",0) + ROM_LOAD("342-0445-a.256", 0x0000, 0x8000, CRC(bc5a79ff) SHA1(5338d9baa7ae202457b6500fde5883dbdc86e5d3)) + + ROM_REGION( 0x800, "keyboard", 0 ) + ROM_LOAD("341-0151-a.f12", 0x000, 0x800, CRC(64574bb4) SHA1(c44809bbb017bfe3c07dc99e87a3a9fa7b9741c3)) +ROM_END + +ROM_START(apple2c3se) + ROM_REGION(0x2000,"gfx1",0) + ROM_LOAD("341-0328-a.e9", 0x0000, 0x2000, BAD_DUMP CRC(04b3936d) SHA1(b036b07459f119bd5777ceaf3ae9dec6add91f33)) + + ROM_REGION(0x10000,"maincpu",0) + ROM_LOAD("342-0445-a.256", 0x0000, 0x8000, CRC(bc5a79ff) SHA1(5338d9baa7ae202457b6500fde5883dbdc86e5d3)) + + ROM_REGION( 0x800, "keyboard", 0 ) + ROM_LOAD("341-0152-a.f12", 0x000, 0x800, CRC(ace44a35) SHA1(a035ab94339fc9ee78296cd2a6c3823925c8f53b)) +ROM_END + ROM_START(apple2c3fr) ROM_REGION(0x2000,"gfx1",0) ROM_LOAD( "342-0274-a.e9", 0x0000, 0x2000, CRC(8f342081) SHA1(c81c1bbf237e70f8c3e5eef3c8fd5bd9b9f54d1e) ) @@ -5743,6 +6007,28 @@ ROM_START(apple2c4uk) ROM_LOAD("341-0150-a.e12", 0x000, 0x800, CRC(66ffacd7) SHA1(47bb9608be38ff75429a989b930a93b47099648e)) ROM_END +ROM_START(apple2c4de) + ROM_REGION(0x2000,"gfx1",0) + ROM_LOAD("342-0275-a.e9", 0x0000, 0x2000, CRC(dac59882) SHA1(882ee6921f0d5d6615cf7c52881dda2f319c2696)) + + ROM_REGION(0x10000,"maincpu",0) + ROM_LOAD("3410445b.256", 0x0000, 0x8000, CRC(06f53328) SHA1(015061597c4cda7755aeb88b735994ffd2f235ca)) + + ROM_REGION( 0x800, "keyboard", 0 ) + ROM_LOAD("341-0151-a.f12", 0x000, 0x800, CRC(64574bb4) SHA1(c44809bbb017bfe3c07dc99e87a3a9fa7b9741c3)) +ROM_END + +ROM_START(apple2c4se) + ROM_REGION(0x2000,"gfx1",0) + ROM_LOAD("341-0328-a.e9", 0x0000, 0x2000, BAD_DUMP CRC(04b3936d) SHA1(b036b07459f119bd5777ceaf3ae9dec6add91f33)) + + ROM_REGION(0x10000,"maincpu",0) + ROM_LOAD("3410445b.256", 0x0000, 0x8000, CRC(06f53328) SHA1(015061597c4cda7755aeb88b735994ffd2f235ca)) + + ROM_REGION( 0x800, "keyboard", 0 ) + ROM_LOAD("341-0152-a.f12", 0x000, 0x800, CRC(ace44a35) SHA1(a035ab94339fc9ee78296cd2a6c3823925c8f53b)) +ROM_END + ROM_START(apple2c4fr) ROM_REGION(0x2000,"gfx1",0) ROM_LOAD( "342-0274-a.e9", 0x0000, 0x2000, CRC(8f342081) SHA1(c81c1bbf237e70f8c3e5eef3c8fd5bd9b9f54d1e) ) @@ -6014,17 +6300,25 @@ ROM_END /* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME */ COMP( 1983, apple2e, 0, apple2, apple2e, apple2eus, apple2e_state, empty_init, "Apple Computer", "Apple //e", MACHINE_SUPPORTS_SAVE ) COMP( 1983, apple2euk, apple2e, 0, apple2epal, apple2euk, apple2e_state, init_pal, "Apple Computer", "Apple //e (UK)", MACHINE_SUPPORTS_SAVE ) +COMP( 1983, apple2ede, apple2e, 0, apple2epal, apple2ede, apple2e_state, init_pal, "Apple Computer", "Apple //e (Germany)", MACHINE_SUPPORTS_SAVE ) +COMP( 1983, apple2ese, apple2e, 0, apple2epal, apple2ese, apple2e_state, init_pal, "Apple Computer", "Apple //e (Sweden)", MACHINE_SUPPORTS_SAVE ) COMP( 1983, apple2efr, apple2e, 0, apple2epal, apple2efr, apple2e_state, init_pal, "Apple Computer", "Apple //e (France)", MACHINE_SUPPORTS_SAVE ) COMP( 1983, apple2ees, apple2e, 0, apple2epal, apple2ees, apple2e_state, init_pal, "Apple Computer", "Apple //e (Spain)", MACHINE_SUPPORTS_SAVE ) COMP( 1983, mprof3, apple2e, 0, mprof3, apple2e, apple2e_state, empty_init, "Multitech", "Microprofessor III", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) COMP( 1985, apple2ee, apple2e, 0, apple2ee, apple2eus, apple2e_state, empty_init, "Apple Computer", "Apple //e (enhanced)", MACHINE_SUPPORTS_SAVE ) COMP( 1985, apple2eeuk, apple2e, 0, apple2eepal, apple2euk, apple2e_state, init_pal, "Apple Computer", "Apple //e (enhanced, UK)", MACHINE_SUPPORTS_SAVE ) +COMP( 1985, apple2eede, apple2e, 0, apple2eepal, apple2ede, apple2e_state, init_pal, "Apple Computer", "Apple //e (enhanced, Germany)", MACHINE_SUPPORTS_SAVE ) +COMP( 1985, apple2eese, apple2e, 0, apple2eepal, apple2ese, apple2e_state, init_pal, "Apple Computer", "Apple //e (enhanced, Sweden)", MACHINE_SUPPORTS_SAVE ) COMP( 1985, apple2eefr, apple2e, 0, apple2eepal, apple2eefr, apple2e_state, init_pal, "Apple Computer", "Apple //e (enhanced, France)", MACHINE_SUPPORTS_SAVE ) COMP( 1987, apple2ep, apple2e, 0, apple2ep, apple2epus, apple2e_state, empty_init, "Apple Computer", "Apple //e (Platinum)", MACHINE_SUPPORTS_SAVE ) COMP( 1987, apple2epuk, apple2e, 0, apple2eppal, apple2epuk, apple2e_state, init_pal, "Apple Computer", "Apple //e (Platinum, UK)", MACHINE_SUPPORTS_SAVE ) +COMP( 1987, apple2epde, apple2e, 0, apple2eppal, apple2epde, apple2e_state, init_pal, "Apple Computer", "Apple //e (Platinum, Germany)", MACHINE_SUPPORTS_SAVE ) +COMP( 1987, apple2epse, apple2e, 0, apple2eppal, apple2epse, apple2e_state, init_pal, "Apple Computer", "Apple //e (Platinum, Sweden)", MACHINE_SUPPORTS_SAVE ) COMP( 1987, apple2epfr, apple2e, 0, apple2eppal, apple2epfr, apple2e_state, init_pal, "Apple Computer", "Apple //e (Platinum, France)", MACHINE_SUPPORTS_SAVE ) COMP( 1984, apple2c, 0, apple2, apple2c, apple2cus, apple2e_state, empty_init, "Apple Computer", "Apple //c" , MACHINE_SUPPORTS_SAVE ) COMP( 1984, apple2cuk, apple2c, 0, apple2cpal, apple2cuk, apple2e_state, init_pal, "Apple Computer", "Apple //c (UK)" , MACHINE_SUPPORTS_SAVE ) +COMP( 1984, apple2cde, apple2c, 0, apple2cpal, apple2cde, apple2e_state, init_pal, "Apple Computer", "Apple //c (Germany)" , MACHINE_SUPPORTS_SAVE ) +COMP( 1984, apple2cse, apple2c, 0, apple2cpal, apple2cse, apple2e_state, init_pal, "Apple Computer", "Apple //c (Sweden)" , MACHINE_SUPPORTS_SAVE ) COMP( 1984, apple2cfr, apple2c, 0, apple2cpal, apple2cfr, apple2e_state, init_pal, "Apple Computer", "Apple //c (France)" , MACHINE_SUPPORTS_SAVE ) COMP( 1985?,spectred, apple2e, 0, spectred, spectred, apple2e_state, empty_init, "Scopus/Spectrum", "Spectrum ED" , MACHINE_SUPPORTS_SAVE ) COMP( 1986, tk3000, apple2c, 0, tk3000, tk3000, apple2e_state, empty_init, "Microdigital", "TK3000//e" , MACHINE_SUPPORTS_SAVE ) @@ -6035,12 +6329,18 @@ COMP( 1988, las128ex, apple2c, 0, laser128, laser128, apple2e_st COMP( 1988, las128e2, apple2c, 0, laser128ex2, laser128, apple2e_state, init_128ex, "Video Technology", "Laser 128ex2 (version 6.1)", MACHINE_SUPPORTS_SAVE ) COMP( 1985, apple2c0, apple2c, 0, apple2c_iwm, apple2cus, apple2e_state, empty_init, "Apple Computer", "Apple //c (UniDisk 3.5)", MACHINE_SUPPORTS_SAVE ) COMP( 1985, apple2c0uk, apple2c, 0, apple2c_iwm_pal, apple2cuk, apple2e_state, init_pal, "Apple Computer", "Apple //c (UniDisk 3.5, UK)", MACHINE_SUPPORTS_SAVE ) +COMP( 1985, apple2c0de, apple2c, 0, apple2c_iwm_pal, apple2cde, apple2e_state, init_pal, "Apple Computer", "Apple //c (UniDisk 3.5, Germany)", MACHINE_SUPPORTS_SAVE ) +COMP( 1985, apple2c0se, apple2c, 0, apple2c_iwm_pal, apple2cse, apple2e_state, init_pal, "Apple Computer", "Apple //c (UniDisk 3.5, Sweden)", MACHINE_SUPPORTS_SAVE ) COMP( 1985, apple2c0fr, apple2c, 0, apple2c_iwm_pal, apple2cfr, apple2e_state, init_pal, "Apple Computer", "Apple //c (UniDisk 3.5, France)", MACHINE_SUPPORTS_SAVE ) COMP( 1986, apple2c3, apple2c, 0, apple2c_mem, apple2cus, apple2e_state, empty_init, "Apple Computer", "Apple //c (Original Memory Expansion)", MACHINE_SUPPORTS_SAVE ) COMP( 1986, apple2c3uk, apple2c, 0, apple2c_mem_pal, apple2cuk, apple2e_state, init_pal, "Apple Computer", "Apple //c (Original Memory Expansion, UK)", MACHINE_SUPPORTS_SAVE ) +COMP( 1986, apple2c3de, apple2c, 0, apple2c_mem_pal, apple2cde, apple2e_state, init_pal, "Apple Computer", "Apple //c (Original Memory Expansion, Germany)", MACHINE_SUPPORTS_SAVE ) +COMP( 1986, apple2c3se, apple2c, 0, apple2c_mem_pal, apple2cse, apple2e_state, init_pal, "Apple Computer", "Apple //c (Original Memory Expansion, Sweden)", MACHINE_SUPPORTS_SAVE ) COMP( 1986, apple2c3fr, apple2c, 0, apple2c_mem_pal, apple2cfr, apple2e_state, init_pal, "Apple Computer", "Apple //c (Original Memory Expansion, France)", MACHINE_SUPPORTS_SAVE ) COMP( 1986, apple2c4, apple2c, 0, apple2c_mem, apple2cus, apple2e_state, empty_init, "Apple Computer", "Apple //c (rev 4)", MACHINE_SUPPORTS_SAVE ) COMP( 1986, apple2c4uk, apple2c, 0, apple2c_mem_pal, apple2cuk, apple2e_state, init_pal, "Apple Computer", "Apple //c (rev 4, UK)", MACHINE_SUPPORTS_SAVE ) +COMP( 1986, apple2c4de, apple2c, 0, apple2c_mem_pal, apple2cde, apple2e_state, init_pal, "Apple Computer", "Apple //c (rev 4, Germany)", MACHINE_SUPPORTS_SAVE ) +COMP( 1986, apple2c4se, apple2c, 0, apple2c_mem_pal, apple2cse, apple2e_state, init_pal, "Apple Computer", "Apple //c (rev 4, Sweden)", MACHINE_SUPPORTS_SAVE ) COMP( 1986, apple2c4fr, apple2c, 0, apple2c_mem_pal, apple2cfr, apple2e_state, init_pal, "Apple Computer", "Apple //c (rev 4, France)", MACHINE_SUPPORTS_SAVE ) COMP( 1987, ceci, 0, apple2, cec, ceci, apple2e_state, empty_init, "Shaanxi Province Computer Factory", "China Education Computer I", MACHINE_SUPPORTS_SAVE ) COMP( 1989, cece, 0, apple2, cec, ceci, apple2e_state, empty_init, "Shaanxi Province Computer Factory", "China Education Computer E", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/apple/apple2gs.cpp b/src/mame/apple/apple2gs.cpp index f22e1552c14f3..e9f4b85c73bf1 100644 --- a/src/mame/apple/apple2gs.cpp +++ b/src/mame/apple/apple2gs.cpp @@ -1591,6 +1591,9 @@ u8 apple2gs_state::c000_r(offs_t offset) case 0x29: // NEWVIDEO return m_video->get_newvideo(); + case 0x2b: // LANGSEL + return m_video->get_GS_langsel(); + case 0x2d: // SLOTROMSEL return m_slotromsel; @@ -1946,6 +1949,10 @@ void apple2gs_state::c000_w(offs_t offset, u8 data) m_video->set_newvideo(data); break; + case 0x2b: // LANGSEL + m_video->set_GS_langsel(data); + break; + case 0x2d: // SLOTROMSEL m_slotromsel = data; break; @@ -3931,8 +3938,8 @@ ROM_START(apple2gs) ROM_REGION(0x1000, "adbmicro", 0) ROM_LOAD( "341s0632-2.bin", 0x000000, 0x001000, CRC(e1c11fb0) SHA1(141d18c36a617ab9dce668445440d34354be0672) ) - ROM_REGION(0x1000,"gfx1",0) - ROM_LOAD ( "apple2gs.chr", 0x0000, 0x1000, CRC(91e53cd8) SHA1(34e2443e2ef960a36c047a09ed5a93f471797f89)) /* need label/part number */ + ROM_REGION(0x4000,"gfx1",0) + ROM_LOAD ( "megaii.chr", 0x0000, 0x4000, BAD_DUMP CRC(ef0bfc11) SHA1(c068f3d02d442a8a38121d42318e9a962ee8913e)) /* need label/part number */ ROM_REGION(0x80000,"maincpu",0) // 341-0728 is the MASK rom version while 341-0737 is the EPROM version - SAME data. @@ -3946,8 +3953,8 @@ ROM_START(apple2gsr3p) ROM_REGION(0x1000, "adbmicro", 0) ROM_LOAD( "341s0632-2.bin", 0x000000, 0x001000, CRC(e1c11fb0) SHA1(141d18c36a617ab9dce668445440d34354be0672) ) - ROM_REGION(0x1000,"gfx1",0) - ROM_LOAD ( "apple2gs.chr", 0x0000, 0x1000, CRC(91e53cd8) SHA1(34e2443e2ef960a36c047a09ed5a93f471797f89)) /* need label/part number */ + ROM_REGION(0x4000,"gfx1",0) + ROM_LOAD ( "megaii.chr", 0x0000, 0x4000, BAD_DUMP CRC(ef0bfc11) SHA1(c068f3d02d442a8a38121d42318e9a962ee8913e)) /* need label/part number */ ROM_REGION(0x80000,"maincpu",0) ROM_LOAD("341-0728", 0x00000, 0x20000, CRC(8d410067) SHA1(c0f4704233ead14cb8e1e8a68fbd7063c56afd27) ) /* 341-0728: IIgs ROM03 prototype FC-FD - 28 pin MASK rom */ @@ -3958,8 +3965,8 @@ ROM_START(apple2gsr1) ROM_REGION(0xc00, "adbmicro", 0) ROM_LOAD( "341s0345.bin", 0x000000, 0x000c00, CRC(48cd5779) SHA1(97e421f5247c00a0ca34cd08b6209df573101480) ) - ROM_REGION(0x1000,"gfx1",0) - ROM_LOAD ( "apple2gs.chr", 0x0000, 0x1000, CRC(91e53cd8) SHA1(34e2443e2ef960a36c047a09ed5a93f471797f89)) /* need label/part number */ + ROM_REGION(0x4000,"gfx1",0) + ROM_LOAD ( "megaii.chr", 0x0000, 0x4000, BAD_DUMP CRC(ef0bfc11) SHA1(c068f3d02d442a8a38121d42318e9a962ee8913e)) /* need label/part number */ ROM_REGION(0x80000,"maincpu",0) ROM_LOAD("342-0077-b", 0x20000, 0x20000, CRC(42f124b0) SHA1(e4fc7560b69d062cb2da5b1ffbe11cd1ca03cc37)) /* 342-0077-B: IIgs ROM01 */ @@ -3969,8 +3976,8 @@ ROM_START(apple2gsr0) ROM_REGION(0xc00, "adbmicro", 0) ROM_LOAD( "341s0345.bin", 0x000000, 0x000c00, CRC(48cd5779) SHA1(97e421f5247c00a0ca34cd08b6209df573101480) ) - ROM_REGION(0x1000,"gfx1",0) - ROM_LOAD ( "apple2gs.chr", 0x0000, 0x1000, CRC(91e53cd8) SHA1(34e2443e2ef960a36c047a09ed5a93f471797f89)) + ROM_REGION(0x4000,"gfx1",0) + ROM_LOAD ( "megaii.chr", 0x0000, 0x4000, BAD_DUMP CRC(ef0bfc11) SHA1(c068f3d02d442a8a38121d42318e9a962ee8913e)) /* need label/part number */ ROM_REGION(0x80000,"maincpu",0) ROM_LOAD("342-0077-a", 0x20000, 0x20000, CRC(dfbdd97b) SHA1(ff0c245dd0732ec4413a934fd80efc2defd8a8e3) ) /* 342-0077-A: IIgs ROM00 */ @@ -3980,8 +3987,8 @@ ROM_START(apple2gsr0p) // 6/19/1986 Cortland prototype ROM_REGION(0xc00, "adbmicro", 0) ROM_LOAD( "341s0345.bin", 0x000000, 0x000c00, CRC(48cd5779) SHA1(97e421f5247c00a0ca34cd08b6209df573101480) ) - ROM_REGION(0x1000,"gfx1",0) - ROM_LOAD ( "apple2gs.chr", 0x0000, 0x1000, CRC(91e53cd8) SHA1(34e2443e2ef960a36c047a09ed5a93f471797f89)) + ROM_REGION(0x4000,"gfx1",0) + ROM_LOAD ( "megaii.chr", 0x0000, 0x4000, BAD_DUMP CRC(ef0bfc11) SHA1(c068f3d02d442a8a38121d42318e9a962ee8913e)) /* need label/part number */ ROM_REGION(0x80000,"maincpu",0) ROM_LOAD( "rombf.bin", 0x020000, 0x020000, CRC(ab04fedf) SHA1(977589a17553956d583a21020080a39dd396df5c) ) @@ -3991,8 +3998,8 @@ ROM_START(apple2gsr0p2) // 3/10/1986 Cortland prototype, boots as "Apple //'ing ROM_REGION(0xc00, "adbmicro", 0) ROM_LOAD( "341s0345.bin", 0x000000, 0x000c00, CRC(48cd5779) SHA1(97e421f5247c00a0ca34cd08b6209df573101480) ) - ROM_REGION(0x1000,"gfx1",0) - ROM_LOAD ( "apple2gs.chr", 0x0000, 0x1000, CRC(91e53cd8) SHA1(34e2443e2ef960a36c047a09ed5a93f471797f89)) + ROM_REGION(0x4000,"gfx1",0) + ROM_LOAD ( "megaii.chr", 0x0000, 0x4000, BAD_DUMP CRC(ef0bfc11) SHA1(c068f3d02d442a8a38121d42318e9a962ee8913e)) /* need label/part number */ ROM_REGION(0x80000,"maincpu",0) ROM_LOAD( "apple iigs alpha rom 2.0 19860310.bin", 0x020000, 0x020000, CRC(a47d275f) SHA1(c5836adcfc8be69c7351b84afa94c814e8d92b81) ) @@ -4003,8 +4010,8 @@ ROM_START(apple2gsmt) ROM_REGION(0x1000, "adbmicro", 0) ROM_LOAD( "341s0632-2.bin", 0x000000, 0x001000, CRC(e1c11fb0) SHA1(141d18c36a617ab9dce668445440d34354be0672) ) - ROM_REGION(0x1000, "gfx1", 0) - ROM_LOAD ( "apple2gs.chr", 0x0000, 0x1000, CRC(91e53cd8) SHA1(34e2443e2ef960a36c047a09ed5a93f471797f89)) + ROM_REGION(0x4000, "gfx1", 0) + ROM_LOAD ( "megaii.chr", 0x0000, 0x4000, BAD_DUMP CRC(ef0bfc11) SHA1(c068f3d02d442a8a38121d42318e9a962ee8913e)) /* need label/part number */ ROM_REGION(0x80000, "maincpu", 0) // The Mark Twain ROM is 512K, with address bit 16 inverted (same as ROM 3). diff --git a/src/mame/apple/apple2video.cpp b/src/mame/apple/apple2video.cpp index d6e5692ceef9a..8f9ee6c67bdfc 100644 --- a/src/mame/apple/apple2video.cpp +++ b/src/mame/apple/apple2video.cpp @@ -76,6 +76,7 @@ void a2_video_device::device_start() save_item(NAME(m_GSbg)); save_item(NAME(m_GSborder)); save_item(NAME(m_newvideo)); + save_item(NAME(m_GS_langsel)); save_item(NAME(m_monochrome)); save_item(NAME(m_rgbmode)); save_item(NAME(m_shr_palette)); @@ -387,10 +388,6 @@ unsigned a2_video_device::get_text_character(uint32_t code, int row) } } } - else if (Model == model::IIGS) - { - code |= 0x100; - } else { if ((code >= 0x60) && (code <= 0x7f)) @@ -403,6 +400,10 @@ unsigned a2_video_device::get_text_character(uint32_t code, int row) { code |= get_iie_langsw() * 0x100; } + else if (Model == model::IIGS) + { + code |= get_GS_language() * 0x100; + } } else // original II and II Plus { @@ -970,7 +971,7 @@ uint32_t a2_video_device::screen_update(screen_device &screen, bitmap_ind16 &bit if (m_hires) { - if ((Model == model::IIE || Model == model::IIGS) && m_dhires && m_80col) + if ((Model == model::IIE || Model == model::IIGS) && m_dhires && m_80col && m_aux_ptr) { dhgr_update(screen, bitmap, cliprect, 0, text_start_row - 1); } @@ -981,7 +982,7 @@ uint32_t a2_video_device::screen_update(screen_device &screen, bitmap_ind16 &bit } else // lo-res { - if ((Model == model::IIE || Model == model::IIGS) && m_dhires && m_80col) + if ((Model == model::IIE || Model == model::IIGS) && m_dhires && m_80col && m_aux_ptr) { lores_update(screen, bitmap, cliprect, 0, text_start_row - 1); } diff --git a/src/mame/apple/apple2video.h b/src/mame/apple/apple2video.h index 91aeeaf397869..1a820f3c851cf 100644 --- a/src/mame/apple/apple2video.h +++ b/src/mame/apple/apple2video.h @@ -18,6 +18,9 @@ class a2_video_device : public device_t, public device_palette_interface, public device_video_interface { public: + // Models with different text-mode behavior. II includes the II+ and IIE includes the IIc and IIc Plus. + enum class model { II, IIE, IIGS, II_J_PLUS, IVEL_ULTRA }; + // construction/destruction a2_video_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); @@ -51,16 +54,18 @@ class a2_video_device : public device_t, public device_palette_interface, public void set_GS_monochrome(u8 mono) { m_monochrome = mono; } void set_GS_foreground(u8 fg) { m_GSfg = fg; } void set_GS_background(u8 bg) { m_GSbg = bg; } - const u8 get_GS_border() { return m_GSborder; } + u8 get_GS_border() { return m_GSborder; } void set_GS_border(u8 border) { m_GSborder = border; } const u8 get_newvideo() { return m_newvideo; } void set_newvideo(u8 newvideo) { m_newvideo = newvideo; } + u8 get_GS_langsel() { return m_GS_langsel; } + u8 get_GS_language() { return (m_GS_langsel >> 5) & 0x07; } + bool is_pal_video_mode() { return (m_GS_langsel >> 4) & 0x01; } + bool get_language_switch() { return (m_GS_langsel >> 3) & 0x01; } + void set_GS_langsel(u8 langsel) { m_GS_langsel = langsel; } void set_SHR_color(u8 color, u32 rgb) { m_shr_palette[color] = rgb; } void set_GS_border_color(u8 color, u32 rgb) { m_GSborder_colors[color] = rgb; } - // Models with different text-mode behavior. II includes the II+ and IIE includes the IIc and IIc Plus. - enum class model { II, IIE, IIGS, II_J_PLUS, IVEL_ULTRA }; - void set_ram_pointers(u8 *main, u8 *aux) { m_ram_ptr = main; m_aux_ptr = aux; } void set_aux_mask(u16 aux_mask) { m_aux_mask = aux_mask; } void set_char_pointer(u8 *charptr, int size) { m_char_ptr = charptr; m_char_size = size; } @@ -123,7 +128,7 @@ class a2_video_device : public device_t, public device_palette_interface, public bool m_an2 = false; bool m_80store = false; bool m_monohgr = false; - u8 m_GSfg = 0, m_GSbg = 0, m_GSborder = 0, m_newvideo = 0, m_monochrome = 0, m_rgbmode = 0; + u8 m_GSfg = 0, m_GSbg = 0, m_GSborder = 0, m_newvideo = 0, m_GS_langsel = 0, m_monochrome = 0, m_rgbmode = 0; u8 m_iie_langsw = 0; // language switch/modification on IIe/IIc/IIc+ and clones optional_ioport m_vidconfig; }; diff --git a/src/mame/apple/dafb.cpp b/src/mame/apple/dafb.cpp index 25ff56c2f4d59..0d0c7eba8ba2a 100644 --- a/src/mame/apple/dafb.cpp +++ b/src/mame/apple/dafb.cpp @@ -207,6 +207,7 @@ static INPUT_PORTS_START(monitor_config) PORT_CONFSETTING(0x02, u8"Mac RGB Display (12\" 512\u00d7384)") // "Rubik" (modified IIgs AppleColor RGB) PORT_CONFSETTING(0x03, u8"Mac Two-Page Display (B&W 21\" 1152\u00d7870)") // "2 Page" PORT_CONFSETTING(0x06, u8"Mac Hi-Res Display (12-14\" 640\u00d7480)") // "High Res" + PORT_CONFSETTING(0x07, u8"No monitor, disable internal video") // No monitor connected PORT_CONFSETTING(ext(0, 0, 0), "PAL Encoder (640\u00d7480, 768\u00d7576)") PORT_CONFSETTING(ext(1, 1, 0), "NTSC Encoder (512\u00d7384, 640\u00d7480)") PORT_CONFSETTING(ext(1, 1, 3), "640x480 VGA") @@ -224,6 +225,7 @@ static INPUT_PORTS_START(monitor_config_noconv) PORT_CONFSETTING(0x02, u8"Mac RGB Display (12\" 512\u00d7384)") // "Rubik" (modified IIgs AppleColor RGB) PORT_CONFSETTING(0x03, u8"Mac Two-Page Display (B&W 21\" 1152\u00d7870)") // "2 Page" PORT_CONFSETTING(0x06, u8"Mac Hi-Res Display (12-14\" 640\u00d7480)") // "High Res" + PORT_CONFSETTING(0x07, u8"No monitor, disable internal video") // No monitor connected PORT_CONFSETTING(ext(1, 1, 3), "640x480 VGA") PORT_CONFSETTING(ext(2, 3, 1), "832x624 16\" RGB") // "Goldfish" or "16 inch RGB" PORT_CONFSETTING(ext(3, 2, 2), "1024\u00d7768 19\" RGB"); diff --git a/src/mame/apple/iphone2g.cpp b/src/mame/apple/iphone2g.cpp index 3fab4b6f8745c..7b1feed91e537 100644 --- a/src/mame/apple/iphone2g.cpp +++ b/src/mame/apple/iphone2g.cpp @@ -314,4 +314,4 @@ ROM_END /* YEAR NAME PARENT COMPAT MACHINE INPUT STATE INIT COMPANY FULLNAME FLAGS */ // console section -CONS( 2007, iphone2g, 0, 0, iphone2g, 0, iphone2g_state, empty_init, "Apple", "iPhone (A1203)", MACHINE_IS_SKELETON ) +CONS( 2007, iphone2g, 0, 0, iphone2g, 0, iphone2g_state, empty_init, "Apple", "iPhone (A1203)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/apple/lwriter.cpp b/src/mame/apple/lwriter.cpp index 8019eec25c915..cd1fc1d69ce57 100644 --- a/src/mame/apple/lwriter.cpp +++ b/src/mame/apple/lwriter.cpp @@ -815,6 +815,6 @@ ROM_END /* YEAR NAME PARENT COMPAT MACHINE INPUT STATE INIT COMPANY FULLNAME FLAGS */ -CONS( 1985, lwriter, 0, 0, lwriter, lwriter, lwriter_state, empty_init, "Apple Computer", "LaserWriter", MACHINE_IS_SKELETON) -CONS( 1986, lwriterplus, 0, 0, lwriter, lwriter, lwriter_state, empty_init, "Apple Computer", "LaserWriter Plus", MACHINE_IS_SKELETON) -CONS( 1988, lwriter2nt, 0, 0, lwriter2nt, lwriter, lwriter_state, empty_init, "Apple Computer", "LaserWriter II NT", MACHINE_IS_SKELETON) +CONS( 1985, lwriter, 0, 0, lwriter, lwriter, lwriter_state, empty_init, "Apple Computer", "LaserWriter", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +CONS( 1986, lwriterplus, 0, 0, lwriter, lwriter, lwriter_state, empty_init, "Apple Computer", "LaserWriter Plus", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +CONS( 1988, lwriter2nt, 0, 0, lwriter2nt, lwriter, lwriter_state, empty_init, "Apple Computer", "LaserWriter II NT", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/apple/mac128.cpp b/src/mame/apple/mac128.cpp index 376ca15d8d3eb..a09b36d2a392f 100644 --- a/src/mame/apple/mac128.cpp +++ b/src/mame/apple/mac128.cpp @@ -201,7 +201,6 @@ class mac128_state : public driver_device void scc_mouse_irq( int x, int y ); void set_via_interrupt(int value); void field_interrupts(); - void vblank_irq(); void mouse_callback(); uint16_t ram_r(offs_t offset); @@ -415,14 +414,6 @@ void mac128_state::set_via_interrupt(int value) field_interrupts(); } -void mac128_state::vblank_irq() -{ - if (m_macadb) - { - m_macadb->adb_vblank(); - } -} - void mac128_state::update_volume() { /* LS161 audio PWM counters TC (SND) -> LS04 inverter (/SND) -> @@ -461,11 +452,6 @@ TIMER_CALLBACK_MEMBER(mac128_state::mac_scanline) { const int scanline = param; - if (scanline == 0) - { - vblank_irq(); - } - /* video beam in display (! VBLANK && ! HBLANK basically) */ if (scanline >= 28) { diff --git a/src/mame/apple/macadb.cpp b/src/mame/apple/macadb.cpp index d5e4797a7abc2..d3c3fcdbaf704 100644 --- a/src/mame/apple/macadb.cpp +++ b/src/mame/apple/macadb.cpp @@ -13,6 +13,7 @@ #define LOG_STATE (1U << 2) #define LOG_LINESTATE (1U << 3) #define VERBOSE (0) +//#define LOG_OUTPUT_FUNC osd_printf_info #include "logmacro.h" @@ -238,6 +239,8 @@ macadb_device::macadb_device(const machine_config &mconfig, const char *tag, dev m_keys(*this, "KEY%u", 0), write_adb_data(*this), write_adb_irq(*this), + write_adb_power(*this), + write_adb_akd(*this), m_waiting_cmd(false), m_datasize(0), m_command(0), @@ -313,6 +316,7 @@ static char const *const adb_statenames[4] = { "NEW", "EVEN", "ODD", "IDLE" }; bool macadb_device::adb_pollkbd(int update) { int report, codes[2]; + int akd = 0; bool result; codes[0] = codes[1] = 0xff; // key up @@ -344,6 +348,10 @@ bool macadb_device::adb_pollkbd(int update) { codes[report] |= 0x80; } + else + { + akd = 1; + } // update modifier state if (update) @@ -426,10 +434,12 @@ bool macadb_device::adb_pollkbd(int update) if (codes[0] == 0x5d) { codes[0] = codes[1] = 0x7f; + write_adb_power(ASSERT_LINE); } else if (codes[0] == 0xdd) { codes[0] = codes[1] = 0xff; + write_adb_power(CLEAR_LINE); } // figure out if there was a change @@ -453,9 +463,16 @@ bool macadb_device::adb_pollkbd(int update) } } + write_adb_akd(akd); + return result; } +void macadb_device::portable_update_keyboard() +{ + adb_pollkbd(0); +} + bool macadb_device::adb_pollmouse() { s32 NewX, NewY, NewButton; diff --git a/src/mame/apple/macadb.h b/src/mame/apple/macadb.h index 02b6910d4efb6..9399bf8a1a1b2 100644 --- a/src/mame/apple/macadb.h +++ b/src/mame/apple/macadb.h @@ -21,14 +21,16 @@ class macadb_device : public device_t auto adb_data_callback() { return write_adb_data.bind(); } auto adb_irq_callback() { return write_adb_irq.bind(); } + auto adb_power_callback() { return write_adb_power.bind(); } + auto adb_akd_callback() { return write_adb_akd.bind(); } required_ioport m_mouse0, m_mouse1, m_mouse2; required_ioport_array<8> m_keys; - devcb_write_line write_adb_data, write_adb_irq; + devcb_write_line write_adb_data, write_adb_irq, write_adb_power, write_adb_akd; void adb_linechange_w(int state); - void adb_vblank() {} + void portable_update_keyboard(); protected: // device-level overrides diff --git a/src/mame/apple/maciici.cpp b/src/mame/apple/maciici.cpp index eac97889ade3e..7ecf3e9089c22 100644 --- a/src/mame/apple/maciici.cpp +++ b/src/mame/apple/maciici.cpp @@ -177,14 +177,6 @@ class maciici_state : public driver_device else m_fdc->write((offset >> 8) & 0xf, data >> 8); } - - void write_6015(int state) - { - if (state) - { - m_macadb->adb_vblank(); - } - } }; void maciici_state::machine_start() @@ -607,7 +599,6 @@ void maciici_state::maciixi_base(machine_config &config) RBV(config, m_rbv, C15M); m_rbv->via6015_callback().set(m_via1, FUNC(via6522_device::write_ca1)); - m_rbv->via6015_callback().append(FUNC(maciici_state::write_6015)); m_rbv->irq_callback().set(FUNC(maciici_state::set_via2_interrupt)); /* internal ram */ diff --git a/src/mame/apple/macprtb.cpp b/src/mame/apple/macprtb.cpp index 54e5cb12a724e..0e9d8264268e8 100644 --- a/src/mame/apple/macprtb.cpp +++ b/src/mame/apple/macprtb.cpp @@ -2,7 +2,7 @@ // copyright-holders:R. Belmont /**************************************************************************** - drivers/macprtb.cpp + macprtb.cpp Mac Portable / PowerBook 100 emulation By R. Belmont @@ -21,6 +21,9 @@ (CMDμ G65SC22PE-2, not the "6523" variant normally used in ADB Macs) and an M50753 microcontroller "PMU" handles power management, ADB, and clock/PRAM. + These machines didn't have a power switch, so you can press any key after + shutting them down and they'll reboot. No other Apple portables did that. + VIA connections: Port A: 8-bit bidirectional data bus to the PMU Port B: 0: PMU REQ @@ -147,12 +150,14 @@ class macportable_state : public driver_device, public device_nvram_interface m_last_taken_interrupt(-1), m_ca1_data(0), m_overlay(false), + m_pmu_blank_display(true), m_pmu_to_via(0), m_pmu_from_via(0), m_pmu_ack(0), m_pmu_req(0), m_pmu_p0(0x80), - m_adb_line(1) + m_adb_line(1), + m_adb_akd(0) { } @@ -202,6 +207,7 @@ class macportable_state : public driver_device, public device_nvram_interface u8 pmu_comms_r(); void pmu_comms_w(u8 data); void set_adb_line(int state); + void set_adb_anykeydown(int state); u8 pmu_adb_r(); void pmu_adb_w(u8 data); u8 pmu_in_r(); @@ -235,10 +241,10 @@ class macportable_state : public driver_device, public device_nvram_interface s32 m_via_cycles, m_via_interrupt, m_scc_interrupt, m_asc_interrupt, m_last_taken_interrupt; s32 m_ca1_data; - bool m_overlay; + bool m_overlay, m_pmu_blank_display; u8 m_pmu_to_via, m_pmu_from_via, m_pmu_ack, m_pmu_req, m_pmu_p0; - s32 m_adb_line; + s32 m_adb_line, m_adb_akd; }; void macportable_state::nvram_default() @@ -369,7 +375,7 @@ void macportable_state::pmu_p0_w(u8 data) u8 macportable_state::pmu_p1_r() { - return 0x08; // indicate on charger power + return 0x08 | (m_adb_akd << 1); // indicate on charger power } u8 macportable_state::pmu_data_r() @@ -389,6 +395,17 @@ u8 macportable_state::pmu_comms_r() void macportable_state::pmu_comms_w(u8 data) { + if (!BIT(data, 1)) + { + address_space &space = m_maincpu->space(AS_PROGRAM); + const u32 memory_size = std::min((u32)0x3fffff, m_rom_size); + const u32 memory_end = memory_size - 1; + offs_t memory_mirror = memory_end & ~(memory_size - 1); + space.unmap_readwrite(0x00000000, memory_end); + space.install_rom(0x00000000, memory_end & ~memory_mirror, memory_mirror, m_rom_ptr); + m_overlay = true; + } + m_maincpu->set_input_line(INPUT_LINE_RESET, BIT(data, 1) ? CLEAR_LINE : ASSERT_LINE); m_via1->write_ca2(BIT(data, 4)); // 1 second interrupt @@ -401,6 +418,11 @@ void macportable_state::set_adb_line(int state) m_adb_line = state; } +void macportable_state::set_adb_anykeydown(int state) +{ + m_adb_akd = state; +} + u8 macportable_state::pmu_adb_r() { return (m_adb_line << 1); @@ -409,6 +431,8 @@ u8 macportable_state::pmu_adb_r() void macportable_state::pmu_adb_w(u8 data) { m_macadb->adb_linechange_w((data & 1) ^ 1); + + m_pmu_blank_display = BIT(data, 2) ^ 1; } u8 macportable_state::pmu_in_r() @@ -463,7 +487,14 @@ void macportable_state::machine_start() save_item(NAME(m_last_taken_interrupt)); save_item(NAME(m_ca1_data)); save_item(NAME(m_overlay)); + save_item(NAME(m_pmu_blank_display)); save_item(NAME(m_pmu_to_via)); + save_item(NAME(m_pmu_from_via)); + save_item(NAME(m_pmu_ack)); + save_item(NAME(m_pmu_req)); + save_item(NAME(m_pmu_p0)); + save_item(NAME(m_adb_line)); + save_item(NAME(m_adb_akd)); m_6015_timer = timer_alloc(FUNC(macportable_state::mac_6015_tick), this); m_6015_timer->adjust(attotime::never); @@ -480,6 +511,8 @@ void macportable_state::machine_reset() // start 60.15 Hz timer m_6015_timer->adjust(attotime::from_hz(60.15), 0, attotime::from_hz(60.15)); + + m_maincpu->set_input_line(INPUT_LINE_RESET, ASSERT_LINE); } void macportable_state::init_macprtb() @@ -488,6 +521,13 @@ void macportable_state::init_macprtb() u32 macportable_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) { + // is the display enabled? + if (m_pmu_blank_display) + { + bitmap.fill(0, cliprect); + return 0; + } + u16 const *const video_ram = (const u16 *) m_vram.target(); for (int y = 0; y < 400; y++) @@ -542,21 +582,18 @@ void macportable_state::via_irq_w(int state) u16 macportable_state::rom_switch_r(offs_t offset) { // disable the overlay - if (!machine().side_effects_disabled()) + if (m_overlay && !machine().side_effects_disabled()) { - if ((m_overlay) && (offset == 0x67f)) - { - address_space &space = m_maincpu->space(AS_PROGRAM); - const u32 memory_end = m_ram->size() - 1; - void *memory_data = m_ram->pointer(); - offs_t memory_mirror = memory_end & ~memory_end; + address_space &space = m_maincpu->space(AS_PROGRAM); + const u32 memory_end = m_ram->size() - 1; + void *memory_data = m_ram->pointer(); + offs_t memory_mirror = memory_end & ~memory_end; - space.install_ram(0x00000000, memory_end & ~memory_mirror, memory_mirror, memory_data); - m_overlay = false; - } + space.install_ram(0x00000000, memory_end & ~memory_mirror, memory_mirror, memory_data); + m_overlay = false; } - return m_rom_ptr[offset & ((m_rom_size - 1)>>2)]; + return m_rom_ptr[offset & ((m_rom_size - 1)>>1)]; } TIMER_CALLBACK_MEMBER(macportable_state::mac_6015_tick) @@ -566,7 +603,7 @@ TIMER_CALLBACK_MEMBER(macportable_state::mac_6015_tick) m_via1->write_ca1(m_ca1_data); m_pmu->set_input_line(m50753_device::M50753_INT1_LINE, ASSERT_LINE); - m_macadb->adb_vblank(); + m_macadb->portable_update_keyboard(); } u16 macportable_state::scsi_r(offs_t offset, u16 mem_mask) @@ -592,8 +629,7 @@ void macportable_state::scsi_berr_w(u8 data) void macportable_state::macprtb_map(address_map &map) { - map(0x000000, 0x1fffff).r(FUNC(macportable_state::rom_switch_r)); - map(0x900000, 0x93ffff).rom().region("bootrom", 0).mirror(0x0c0000); + map(0x900000, 0x93ffff).r(FUNC(macportable_state::rom_switch_r)).mirror(0x0c0000); map(0xf60000, 0xf6ffff).rw(FUNC(macportable_state::iwm_r), FUNC(macportable_state::iwm_w)); map(0xf70000, 0xf7ffff).rw(FUNC(macportable_state::via_r), FUNC(macportable_state::via_w)); map(0xf90000, 0xf9ffff).rw(FUNC(macportable_state::scsi_r), FUNC(macportable_state::scsi_w)); @@ -612,7 +648,7 @@ u8 macportable_state::via_in_a() u8 macportable_state::via_in_b() { - return 0x80 | 0x04 | ((m_pmu_ack & 1)<<1); + return 0x80 | 0x04 | ((m_pmu_ack & 1)<<1) | m_pmu_req; } void macportable_state::via_out_a(u8 data) @@ -702,6 +738,7 @@ void macportable_state::macprtb(machine_config &config) MACADB(config, m_macadb, 15.6672_MHz_XTAL); m_macadb->adb_data_callback().set(FUNC(macportable_state::set_adb_line)); + m_macadb->adb_akd_callback().set(FUNC(macportable_state::set_adb_anykeydown)); SWIM1(config, m_swim, 15.6672_MHz_XTAL); m_swim->phases_cb().set(FUNC(macportable_state::phases_w)); @@ -759,11 +796,12 @@ void macportable_state::macprtb(machine_config &config) m_ram->set_default_size("1M"); m_ram->set_extra_options("2M,4M,5M,6M,7M,8M,9M"); + SOFTWARE_LIST(config, "hdd_list").set_original("mac_hdd"); + SOFTWARE_LIST(config, "cd_list").set_original("mac_cdrom").set_filter("MC68000"); SOFTWARE_LIST(config, "flop_mac35_orig").set_original("mac_flop_orig"); SOFTWARE_LIST(config, "flop_mac35_clean").set_original("mac_flop_clcracked"); SOFTWARE_LIST(config, "flop35_list").set_original("mac_flop"); SOFTWARE_LIST(config, "flop35hd_list").set_original("mac_hdflop"); - SOFTWARE_LIST(config, "hdd_list").set_original("mac_hdd"); } ROM_START(macprtb) diff --git a/src/mame/apple/macpwrbk030.cpp b/src/mame/apple/macpwrbk030.cpp index d478dff50f0d4..64d3edf97df9f 100644 --- a/src/mame/apple/macpwrbk030.cpp +++ b/src/mame/apple/macpwrbk030.cpp @@ -2,12 +2,12 @@ // copyright-holders:R. Belmont /**************************************************************************** - drivers/macpwrbk030.cpp + macpwrbk030.cpp Mac PowerBooks with a 68030 CPU and M50753 PMU By R. Belmont These are basically late-period Mac IIs without NuBus and with - Egret/Cuda replaced with the PMU. + Egret/Cuda replaced by the PMU. Generation 1: PowerBook 140: 16 MHz 68030, 2 MiB RAM, no FPU, passive-matrix screen @@ -29,11 +29,11 @@ identifies all models (except the 145B is shown as a 145; Apple documents this as also occuring on hardware). - 165c/180c use of a VGA GPIO feature bit to determine the correct model is supported. + - Sleep/suspend and wake-up works on all models. Driver TODOs: - - Shutting down or restarting from Finder freezes the machine. Something related - to power management presumably, but the cause is not clear. This is why the driver is MACHINE_NOT_WORKING. - - External video interface on 160/165/165c/180/180c. + - External video interface on 160/165/165c/180/180c. Need to make this a slot interface + because MAME doesn't otherwise support optionally adding a screen. ============================================================================ Technical info @@ -96,7 +96,7 @@ Port 1: 0: CCFL PWR CNTL 1: AKD (input, works like the high bit of $C000 on the Apple II, except includes the modifiers) 2: STOP CLK - 3: CHRG ON (input, 1 = charger is on, 7.1.1 Battery applet shows charging symbol on ) + 3: CHRG ON (input, 1 = charger is on, 7.1.1 Battery applet shows charging symbol) 4: KBD RST (output, resets keyboard M50740) 5: HICHG (output) 6: RING DETECT @@ -256,7 +256,7 @@ class macpb030_state : public driver_device int m_via_interrupt, m_via2_interrupt, m_scc_interrupt, m_last_taken_interrupt; int m_ca1_data; - int m_adb_line; + int m_adb_line, m_adb_akd; bool m_overlay; @@ -276,6 +276,7 @@ class macpb030_state : public driver_device u32 screen_update_ddc(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); u32 screen_update_gsc(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + u32 screen_update_vga(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); u16 via_r(offs_t offset); void via_w(offs_t offset, u16 data, u16 mem_mask); @@ -333,6 +334,7 @@ class macpb030_state : public driver_device u8 pmu_comms_r(); void pmu_comms_w(u8 data); void set_adb_line(int state); + void set_adb_anykeydown(int state); u8 pmu_p4_r(); void pmu_p4_w(u8 data); u8 pmu_in_r(); @@ -380,6 +382,26 @@ void macpb030_state::machine_start() this->m_ponti_snd_ctl |= 0x08; // indicate sound chip write so power management knows not to sleep } }); + + save_item(NAME(m_via_interrupt)); + save_item(NAME(m_via2_interrupt)); + save_item(NAME(m_scc_interrupt)); + save_item(NAME(m_last_taken_interrupt)); + save_item(NAME(m_ca1_data)); + save_item(NAME(m_adb_line)); + save_item(NAME(m_adb_akd)); + save_item(NAME(m_overlay)); + save_item(NAME(m_hdsel)); + save_item(NAME(m_pmu_blank_display)); + save_item(NAME(m_pmu_from_via)); + save_item(NAME(m_pmu_to_via)); + save_item(NAME(m_pmu_ack)); + save_item(NAME(m_pmu_req)); + save_item(NAME(m_pangola_data)); + save_item(NAME(m_ponti_modem_ctl)); + save_item(NAME(m_ponti_snd_ctl)); + save_item(NAME(m_ponti_SPI_SR)); + save_item(NAME(m_ponti_backlight_ctl)); } void macpb030_state::machine_reset() @@ -573,6 +595,7 @@ u16 macpb030_state::pangola_r() void macpb030_state::pangola_w(u16 data) { m_pangola_data = data; + // TODO: trace pins, 0x13 -> 0x17 -> 0x16 sequence written before waking up VGA core } u8 macpb030_state::pangola_vram_r(offs_t offset) @@ -662,6 +685,8 @@ void macpb030_state::ext_video_w(offs_t offset, u8 data) { // 0 = DAC color number // 1 = DAC color write (write R, then G, then B, like usual) + // 8 = depth (0=1bpp, 1=2bpp, 2=4bpp, 3=8bpp, 4=16bpp) + // 60+61 = visible vertical area (LSB in 60, MSB in 61) } u8 macpb030_state::pmu_in_r() @@ -698,8 +723,18 @@ void macpb030_state::set_adb_line(int state) m_adb_line = state; } +void macpb030_state::set_adb_anykeydown(int state) +{ + m_adb_akd = state; +} + u8 macpb030_state::pmu_p1_r() { + if (m_adb_akd) + { + return 0x88 | 0x02; + } + return 0x88; } @@ -718,8 +753,24 @@ u8 macpb030_state::pmu_comms_r() return (m_pmu_req << 7); } +u8 last_comms = 0xff; void macpb030_state::pmu_comms_w(u8 data) { + if (!BIT(data, 1)) + { + address_space &space = m_maincpu->space(AS_PROGRAM); + const u32 memory_size = std::min((u32)0x3fffff, m_rom_size); + const u32 memory_end = memory_size - 1; + offs_t memory_mirror = memory_end & ~(memory_size - 1); + + space.unmap_write(0x00000000, memory_end); + space.install_rom(0x00000000, memory_end & ~memory_mirror, memory_mirror, m_rom_ptr); + m_overlay = true; + } + if ((data & 3) != (last_comms & 3)) + { + last_comms = data; + } m_maincpu->set_input_line(INPUT_LINE_HALT, BIT(data, 0) ? CLEAR_LINE : ASSERT_LINE); m_maincpu->set_input_line(INPUT_LINE_RESET, BIT(data, 1) ? CLEAR_LINE : ASSERT_LINE); @@ -874,7 +925,7 @@ u32 macpb030_state::screen_update_ddc(screen_device &screen, bitmap_ind16 &bitma // is the display enabled? if (m_pmu_blank_display) { - bitmap.fill(0, cliprect); + bitmap.fill(1, cliprect); return 0; } @@ -903,7 +954,7 @@ u32 macpb030_state::screen_update_gsc(screen_device &screen, bitmap_ind16 &bitma // is the display enabled? if (!(m_gsc_regs[4] & 0x20) || m_pmu_blank_display) { - bitmap.fill(0, cliprect); + bitmap.fill(0xf, cliprect); return 0; } @@ -962,6 +1013,17 @@ u32 macpb030_state::screen_update_gsc(screen_device &screen, bitmap_ind16 &bitma return 0; } +u32 macpb030_state::screen_update_vga(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) +{ + if (m_pmu_blank_display) + { + bitmap.fill(0, cliprect); + return 0; + } + + return m_vga->screen_update(screen, bitmap, cliprect); +} + u16 macpb030_state::via_r(offs_t offset) { u16 data; @@ -1026,8 +1088,7 @@ void macpb030_state::via2_irq_w(int state) u32 macpb030_state::rom_switch_r(offs_t offset) { - // disable the overlay - if (m_overlay) + if (m_overlay && !machine().side_effects_disabled()) { address_space& space = m_maincpu->space(AS_PROGRAM); const u32 memory_end = m_ram->size() - 1; @@ -1048,6 +1109,7 @@ TIMER_CALLBACK_MEMBER(macpb030_state::mac_6015_tick) m_via1->write_ca1(m_ca1_data); m_pmu->set_input_line(m50753_device::M50753_INT1_LINE, ASSERT_LINE); + m_macadb->portable_update_keyboard(); } u16 macpb030_state::scsi_r(offs_t offset, u16 mem_mask) @@ -1124,7 +1186,7 @@ u8 macpb030_state::gsc_r(offs_t offset) return 5; } - return 0; + return m_gsc_regs[offset & 0x1f]; } void macpb030_state::gsc_w(offs_t offset, u8 data) @@ -1152,7 +1214,9 @@ void macpb030_state::macpb140_map(address_map &map) map(0x50024000, 0x50027fff).r(FUNC(macpb030_state::buserror_r)).mirror(0x01f00000); // bus error here to make sure we aren't mistaken for another decoder map(0x50080000, 0x500bffff).rw(FUNC(macpb030_state::jaws_r), FUNC(macpb030_state::jaws_w)).mirror(0x01f00000); - map(0xfee08000, 0xfeffffff).ram().share("vram"); + // Video uses the mirror at fee08000, but the Power Manager stashes some sleep data in the + // lower 32K, so this *must* be mirrored + map(0xfee00000, 0xfee07fff).ram().share("vram").mirror(0x00008000); } void macpb030_state::macpb160_map(address_map &map) @@ -1194,9 +1258,13 @@ void macpb030_state::macpb165c_map(address_map &map) map(0x50f24000, 0x50f27fff).r(FUNC(macpb030_state::buserror_r)); // bus error here to make sure we aren't mistaken for another decoder map(0x50f80000, 0x50fbffff).rw(FUNC(macpb030_state::niagra_r), FUNC(macpb030_state::niagra_w)); - // on-board color video on 165c/180c + // on-board color video on 165c/180c, presumably under ISA bus map(0xfc000000, 0xfc07ffff).rw(FUNC(macpb030_state::pangola_vram_r), FUNC(macpb030_state::pangola_vram_w)).mirror(0x00380000); +// map(0xfc400102, 0xfc400102).w(wd90c26_vga_device::wakeup_w)); map(0xfc4003b0, 0xfc4003df).m(m_vga, FUNC(wd90c26_vga_device::io_map)); + // TODO: trace $3d0 writes (doesn't belong to WD90C26 core, RAMDAC overlay?) + map(0xfc4046e8, 0xfc4046e8).mirror(0x3000).w(m_vga, FUNC(wd90c26_vga_device::mode_setup_w)); + map(0xfc800000, 0xfc800003).rw(FUNC(macpb030_state::pangola_r), FUNC(macpb030_state::pangola_w)); map(0xfcff8000, 0xfcffffff).rom().region("vrom", 0x0000); @@ -1262,7 +1330,10 @@ u8 macpb030_state::via2_in_a() u8 macpb030_state::via2_in_b() { - return ((m_pmu_ack & 1) << 1); + // Must also return the pmu_req state here or bset/bclr operations on other + // bits in this port will accidentally clear pmu_req and cause CPU/PMU comms + // problems! The ROM code for sleeping on all of these machines does that. + return ((m_pmu_ack & 1) << 1) | (m_pmu_req << 2); } void macpb030_state::via2_out_a(u8 data) @@ -1320,6 +1391,7 @@ void macpb030_state::macpb140(machine_config &config) MACADB(config, m_macadb, 31.3344_MHz_XTAL/2); m_macadb->adb_data_callback().set(FUNC(macpb030_state::set_adb_line)); + m_macadb->adb_akd_callback().set(FUNC(macpb030_state::set_adb_anykeydown)); RTC3430042(config, m_rtc, 32.768_kHz_XTAL); m_rtc->cko_cb().set(m_via1, FUNC(via6522_device::write_ca2)); @@ -1346,6 +1418,7 @@ void macpb030_state::macpb140(machine_config &config) NSCSI_CONNECTOR(config, "scsi:6", mac_scsi_devices, "harddisk"); NSCSI_CONNECTOR(config, "scsi:7").option_set("ncr5380", NCR53C80).machine_config([this](device_t *device) { ncr53c80_device &adapter = downcast(*device); + adapter.irq_handler().set(m_pseudovia, FUNC(pseudovia_device::scsi_irq_w)); adapter.drq_handler().set(m_scsihelp, FUNC(mac_scsi_helper_device::drq_w)); }); @@ -1451,8 +1524,9 @@ void macpb030_state::macpb165c(machine_config &config) m_maincpu->set_addrmap(AS_PROGRAM, &macpb030_state::macpb165c_map); m_screen->set_raw(25.175_MHz_XTAL, 800, 0, 640, 524, 0, 480); - m_screen->set_screen_update("vga", FUNC(wd90c26_vga_device::screen_update)); + m_screen->set_screen_update(FUNC(macpb030_state::screen_update_vga)); m_screen->set_no_palette(); + m_screen->set_type(SCREEN_TYPE_LCD); WD90C26(config, m_vga, 0); m_vga->set_screen(m_screen); @@ -1524,15 +1598,15 @@ ROM_END } // anonymous namespace -COMP(1991, macpb140, 0, 0, macpb140, macadb, macpb030_state, empty_init, "Apple Computer", "Macintosh PowerBook 140", MACHINE_NOT_WORKING) -COMP(1991, macpb170, macpb140, 0, macpb170, macadb, macpb030_state, empty_init, "Apple Computer", "Macintosh PowerBook 170", MACHINE_NOT_WORKING) -COMP(1992, macpb145, macpb140, 0, macpb145, macadb, macpb030_state, empty_init, "Apple Computer", "Macintosh PowerBook 145", MACHINE_NOT_WORKING) -COMP(1993, macpb145b, macpb140, 0, macpb145b, macadb, macpb030_state, empty_init, "Apple Computer", "Macintosh PowerBook 145B", MACHINE_NOT_WORKING) -COMP(1992, macpb160, 0, 0, macpb160, macadb, macpb030_state, empty_init, "Apple Computer", "Macintosh PowerBook 160", MACHINE_NOT_WORKING) -COMP(1993, macpb165, macpb160, 0, macpb165, macadb, macpb030_state, empty_init, "Apple Computer", "Macintosh PowerBook 165", MACHINE_NOT_WORKING) -COMP(1993, macpb165c, macpb180c, 0, macpb165c, macadb, macpb030_state, empty_init, "Apple Computer", "Macintosh PowerBook 165c", MACHINE_NOT_WORKING) -COMP(1992, macpb180, macpb160, 0, macpb180, macadb, macpb030_state, empty_init, "Apple Computer", "Macintosh PowerBook 180", MACHINE_NOT_WORKING) -COMP(1993, macpb180c, 0, 0, macpb180c, macadb, macpb030_state, empty_init, "Apple Computer", "Macintosh PowerBook 180c", MACHINE_NOT_WORKING) +COMP(1991, macpb140, 0, 0, macpb140, macadb, macpb030_state, empty_init, "Apple Computer", "Macintosh PowerBook 140", MACHINE_SUPPORTS_SAVE) +COMP(1991, macpb170, macpb140, 0, macpb170, macadb, macpb030_state, empty_init, "Apple Computer", "Macintosh PowerBook 170", MACHINE_SUPPORTS_SAVE) +COMP(1992, macpb145, macpb140, 0, macpb145, macadb, macpb030_state, empty_init, "Apple Computer", "Macintosh PowerBook 145", MACHINE_SUPPORTS_SAVE) +COMP(1993, macpb145b, macpb140, 0, macpb145b, macadb, macpb030_state, empty_init, "Apple Computer", "Macintosh PowerBook 145B", MACHINE_SUPPORTS_SAVE) +COMP(1992, macpb160, 0, 0, macpb160, macadb, macpb030_state, empty_init, "Apple Computer", "Macintosh PowerBook 160", MACHINE_SUPPORTS_SAVE) +COMP(1993, macpb165, macpb160, 0, macpb165, macadb, macpb030_state, empty_init, "Apple Computer", "Macintosh PowerBook 165", MACHINE_SUPPORTS_SAVE) +COMP(1993, macpb165c, macpb180c, 0, macpb165c, macadb, macpb030_state, empty_init, "Apple Computer", "Macintosh PowerBook 165c", MACHINE_SUPPORTS_SAVE) +COMP(1992, macpb180, macpb160, 0, macpb180, macadb, macpb030_state, empty_init, "Apple Computer", "Macintosh PowerBook 180", MACHINE_SUPPORTS_SAVE) +COMP(1993, macpb180c, 0, 0, macpb180c, macadb, macpb030_state, empty_init, "Apple Computer", "Macintosh PowerBook 180c", MACHINE_SUPPORTS_SAVE) // PowerBook Duos (probably will not belong in this driver ultimately) COMP(1992, macpd210, 0, 0, macpd210, macadb, macpb030_state, empty_init, "Apple Computer", "Macintosh PowerBook Duo 210", MACHINE_NOT_WORKING) diff --git a/src/mame/apple/macquadra700.cpp b/src/mame/apple/macquadra700.cpp index b412a15f20a69..99ab89c45a505 100644 --- a/src/mame/apple/macquadra700.cpp +++ b/src/mame/apple/macquadra700.cpp @@ -82,7 +82,6 @@ class quadrax00_state : public driver_device m_ram_ptr(nullptr), m_rom_ptr(nullptr), m_ram_mask(0), m_ram_size(0), m_rom_size(0), m_overlay(0), - m_6015_timer(nullptr), m_via2_ca1_hack(0), m_nubus_irq_state(0), m_via_interrupt(0), m_via2_interrupt(0), m_scc_interrupt(0), m_last_taken_interrupt(0) @@ -152,11 +151,8 @@ class quadrax00_state : public driver_device void devsel_w(u8 devsel); u8 m_mac[6]; - emu_timer *m_6015_timer; int m_via2_ca1_hack, m_nubus_irq_state; int m_via_interrupt, m_via2_interrupt, m_scc_interrupt, m_last_taken_interrupt; - - TIMER_CALLBACK_MEMBER(mac_6015_tick); }; class spike_state : public quadrax00_state @@ -280,9 +276,6 @@ void quadrax00_state::machine_start() m_via_interrupt = m_via2_interrupt = m_scc_interrupt = 0; m_last_taken_interrupt = -1; - m_6015_timer = timer_alloc(FUNC(quadrax00_state::mac_6015_tick), this); - m_6015_timer->adjust(attotime::never); - save_item(NAME(m_via2_ca1_hack)); save_item(NAME(m_nubus_irq_state)); save_item(NAME(m_adb_irq_pending)); @@ -312,9 +305,6 @@ void quadrax00_state::machine_reset() space.unmap_write(0x00000000, memory_end); space.install_rom(0x00000000, memory_end & ~memory_mirror, memory_mirror, m_rom_ptr); - - // start 60.15 Hz timer - m_6015_timer->adjust(attotime::from_hz(60.15), 0, attotime::from_hz(60.15)); } void eclipse_state::machine_start() @@ -554,12 +544,6 @@ u8 quadrax00_state::ethernet_mac_r(offs_t offset) return 0; } -TIMER_CALLBACK_MEMBER(quadrax00_state::mac_6015_tick) -{ - /* handle ADB keyboard/mouse */ - m_macadb->adb_vblank(); -} - /*************************************************************************** ADDRESS MAPS ***************************************************************************/ diff --git a/src/mame/apple/newton.cpp b/src/mame/apple/newton.cpp index 598440403099f..77857222d308f 100644 --- a/src/mame/apple/newton.cpp +++ b/src/mame/apple/newton.cpp @@ -187,13 +187,13 @@ ROM_END /* Driver */ // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -CONS( 1992, newtnotp, 0, 0, gen1, newton, newton_state, empty_init, "Apple Computer", "Newton Notepad (prototype)", MACHINE_IS_SKELETON ) -CONS( 1993, newtonmp, 0, 0, gen1, newton, newton_state, empty_init, "Apple Computer", "Newton MessagePad", MACHINE_IS_SKELETON ) -CONS( 1993, spi7000, 0, 0, gen1, newton, newton_state, empty_init, "Sharp", "ExpertPad PI-7000", MACHINE_IS_SKELETON ) -CONS( 1994, mp110, 0, 0, gen1, newton, newton_state, empty_init, "Apple Computer", "Newton MessagePad 110", MACHINE_IS_SKELETON ) -CONS( 1995, mp120, 0, 0, mp120, newton, newton_state, empty_init, "Apple Computer", "Newton MessagePad 120", MACHINE_IS_SKELETON ) -CONS( 1995, motmarco, 0, 0, marco, newton, newton_state, empty_init, "Motorola", "Marco", MACHINE_IS_SKELETON ) -CONS( 1996, mp130, 0, 0, mp130, newton, newton_state, empty_init, "Apple Computer", "Newton MessagePad 130", MACHINE_IS_SKELETON ) -CONS( 1997, emate, 0, 0, emate, newton, newton_state, empty_init, "Apple Computer", "eMate 300", MACHINE_IS_SKELETON ) -CONS( 1997, mp2000, 0, 0, mp2000, newton, newton_state, empty_init, "Apple Computer", "Newton MessagePad 2000", MACHINE_IS_SKELETON ) -CONS( 1997, mp2100, 0, 0, mp2100, newton, newton_state, empty_init, "Apple Computer", "Newton MessagePad 2100", MACHINE_IS_SKELETON ) +CONS( 1992, newtnotp, 0, 0, gen1, newton, newton_state, empty_init, "Apple Computer", "Newton Notepad (prototype)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 1993, newtonmp, 0, 0, gen1, newton, newton_state, empty_init, "Apple Computer", "Newton MessagePad", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 1993, spi7000, 0, 0, gen1, newton, newton_state, empty_init, "Sharp", "ExpertPad PI-7000", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 1994, mp110, 0, 0, gen1, newton, newton_state, empty_init, "Apple Computer", "Newton MessagePad 110", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 1995, mp120, 0, 0, mp120, newton, newton_state, empty_init, "Apple Computer", "Newton MessagePad 120", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 1995, motmarco, 0, 0, marco, newton, newton_state, empty_init, "Motorola", "Marco", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 1996, mp130, 0, 0, mp130, newton, newton_state, empty_init, "Apple Computer", "Newton MessagePad 130", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 1997, emate, 0, 0, emate, newton, newton_state, empty_init, "Apple Computer", "eMate 300", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 1997, mp2000, 0, 0, mp2000, newton, newton_state, empty_init, "Apple Computer", "Newton MessagePad 2000", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 1997, mp2100, 0, 0, mp2100, newton, newton_state, empty_init, "Apple Computer", "Newton MessagePad 2100", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/apple/pseudovia.cpp b/src/mame/apple/pseudovia.cpp index 4aa5837b89283..92743e229f8e7 100644 --- a/src/mame/apple/pseudovia.cpp +++ b/src/mame/apple/pseudovia.cpp @@ -36,8 +36,11 @@ pseudovia_device::pseudovia_device(const machine_config &mconfig, const char *ta m_out_a_handler(*this), m_out_b_handler(*this), m_out_config_handler(*this), - m_out_video_handler(*this) + m_out_video_handler(*this), + m_pseudovia_ier(0), + m_pseudovia_ifr(0) { + std::fill_n(m_pseudovia_regs, 256, 0); } void pseudovia_device::device_start() @@ -45,13 +48,10 @@ void pseudovia_device::device_start() save_item(NAME(m_pseudovia_regs)); save_item(NAME(m_pseudovia_ier)); save_item(NAME(m_pseudovia_ifr)); - - m_pseudovia_ier = m_pseudovia_ifr = 0; } void pseudovia_device::device_reset() { - std::fill_n(m_pseudovia_regs, 256, 0); m_pseudovia_regs[2] = 0x7f; } @@ -97,7 +97,7 @@ void pseudovia_device::asc_irq_w(int state) { if (state == ASSERT_LINE) { - m_pseudovia_regs[3] |= 0x10; // any VIA 2 interrupt | sound interrupt + m_pseudovia_regs[3] |= 0x10; // any VIA 2 interrupt | CB1 interrupt pseudovia_recalc_irqs(); } else @@ -107,6 +107,20 @@ void pseudovia_device::asc_irq_w(int state) } } +void pseudovia_device::scsi_irq_w(int state) +{ + if (state == ASSERT_LINE) + { + m_pseudovia_regs[3] |= 0x08; // any VIA 2 interrupt | CB2 interrupt + pseudovia_recalc_irqs(); + } + else + { + m_pseudovia_regs[3] &= ~0x08; + pseudovia_recalc_irqs(); + } +} + void pseudovia_device::pseudovia_recalc_irqs() { // check slot interrupts and bubble them down to IFR diff --git a/src/mame/apple/pseudovia.h b/src/mame/apple/pseudovia.h index d31b90699b513..5887162736e16 100644 --- a/src/mame/apple/pseudovia.h +++ b/src/mame/apple/pseudovia.h @@ -29,6 +29,7 @@ class pseudovia_device : public device_t void vbl_irq_w(int state); void scc_irq_w(int state); void asc_irq_w(int state); + void scsi_irq_w(int state); protected: // device-level overrides diff --git a/src/mame/aristocrat/aristmk4.cpp b/src/mame/aristocrat/aristmk4.cpp index 86b0e9ffce599..1fd611cc3d62f 100644 --- a/src/mame/aristocrat/aristmk4.cpp +++ b/src/mame/aristocrat/aristmk4.cpp @@ -21,8 +21,8 @@ * Key out both the Jackpot and Audit Keys This method works with the following games: - 3bagflnz 200 - 3bagflvt 200 + 3bagfull 200 + 3bagfullnz 200 autmoon 200 blkrhino 200 blkrhinonz 200 @@ -36,14 +36,14 @@ goldenc 200 grnlizrd 200 gtroppo 500 - kgbird 200 - kgbirda 200 + kgbirdnz 200 + kgbirdnza 200 phantomp 200 swtht2nz 200 teqsun 200 wildone 200 wtigernz 200 - gunnrose N/A (no hopper to refill) + gunnrose N/A (no hopper) Method 2 : * Key in with the Jackpot Key followed by the Audit Key @@ -67,14 +67,25 @@ * Key out both the Jackpot and Audit Keys This method works with the following games: + 3bagfullu arcwins + arcwinsa cgold2 + cgold2a + dblagent eforestu + gambler fhunter fhuntera + kgbird + letsgof + thundhrt + trktreat + wtiger - Note: cgold2, fhunter and fhuntera must have DIP labeled "5201-5" switch to on at all times. + Note: cgold2a, fhunter, fhuntera and wtiger must have DIP labeled "5201-5" switch to on at all times. This allows setup procedure to complete properly and game to play (if disabled, the games don't accept inputs). + - The other US games (excluding cgold) all run slower when 5201-5 is off. *************************************************************************************************** @@ -100,7 +111,7 @@ The remaining 4 bits are connected to other hardware, read via the VIA. The AY8910 named ay1 has writes on PORT B to the ZN434 DA converter. - The AY8910 named ay2 has writes to lamps and the light tower on Port A and B. these are implemented via the layout + The AY8910 named ay2 has writes to lamps and the light tower on Port A and B. These are implemented via the layout. *************************************************************************************************** @@ -198,7 +209,7 @@ not use these tiles (there are seemingly unused line/bet/number tiles in this location), this causes a graphics glitch on the $/cent signs. Promoted Fortune Hunter and clone to working status, as they were in fact working for quite a while. - Fixed ROM names for kgbird/kgbirda; 5c and 10c variants were mixed up. + Fixed ROM names for kgbirdnz/kgbirdnza; 5c and 10c variants were mixed up. 11/12/2014 - Lord-Data Added hopper and meter outputs. @@ -215,6 +226,14 @@ Changed jackpot and audit keys to F1 and F2 respectively. Renamed nodump program ROM in clkwise as it had the wrong EPROM number. + 28/11/2024 - Brian Troha and Heihachi_73 + Added ten new US region dumps: 3 Bags Full, Arctic Wins, Caribbean Gold II, Double Agent, + K.G. Bird, Let's Go Fishing, The Gambler, Thunder Heart, Trick or Treat and White Tiger. + The new Caribbean Gold II dump has good graphics ROMs, fixing the existing set, however the color PROM is still missing. + Trick or Treat has a bad dump of the U21 ROM resulting in garbled graphics. + White Tiger US version is now the parent set. + - White Tiger NZ has had its bad U20 graphics ROM repaired by hand where possible using the US version, however the ROMs are not an exact match. + The remaining graphics ROMs all seemed fine, although there is a stray dot in the heart card graphic caused by a suspicious byte at location 0x0B0C in U46. *************************************************************************************************** @@ -225,24 +244,22 @@ a hardware error/fault (such as hopper empty, coin yoyo, printer errors; none of which should happen in MAME however). The tilt message will disappear if you turn the Audit Key on and off, or after you start playing. - Despite the name, there is no 'tilt' mechanism in the machine and there is nothing to worry about. - The first Aristocrat system to have a tilt mechanism was the MK5, which will cause the machine to reset abruptly - if the player is too rough (e.g. hitting the screen or bumping the machine). + Despite the name, there is no 'tilt' mechanism in the machine and it is nothing to worry about. - These games do not feature a backup mechanism in case of power faults or system crashes requiring a reboot; - if the player was in the middle of a spin or watching a win count up, any credits won on that spin will be voided. + These games do not feature a backup mechanism in case of power faults or system crashes requiring a reboot. + If the player was in the middle of a spin or watching a win count up, any credits won on that spin will be voided. On the machine's artwork, this is reflected with text reading 'Malfunction voids all pays and plays', of which the text has also been carried onto later machines. The Aristocrat MK5 and later systems however feature backup mechanisms and will repeat the last game (including free game features and/or gamble selection) when powered on, to where the player had left off. - Gone Troppo and Caribbean Gold 1 and 2 require DIP SW7 to be set to off/off or else the second screen will be broken. - This is possibly true to the original machine. + Some games have grahpical issues when DIP SW7 is set to any value other than off/off. + It is unknown whether this occurs on original hardware or whether it is an emulation bug. - A similar thing happens with Top Gear, the drag cars' tyres will only be the correct colour (grey) if SW7 is off/off. + cgold/2/2a, gtroppo, topgear and trktreat require DIP SW7 to be set to off/off or else the second screen bonus will be broken. - In Wild One, the dollar sign on the Insert $2 graphic is the wrong colour on other settings as well. It only appears - correct when SW7 is off/off. This is probably a bug in the original game, where the graphic designers have used the + In wildone, the dollar sign on the Insert $2 graphic is the wrong colour on other settings as well. It only appears + correctly when SW7 is off/off. This is probably a bug in the original game, where the graphic designers have used the wrong palette for the background of the dollar sign. From these findings, it is noted that the off/off setting may in fact be the default background setting of all games. @@ -253,52 +270,61 @@ wins and remaining credits will be automatically paid out as coins. Non-US games can enable/disable the double up (gamble) option by toggling the SW1-8 switch. Turning SW1-8 off will enable - the double up option (default); turning SW1-8 on will disable double up and enable auto-spin on some games (so far, only - eforest and 3bagflvt allow this; other games simply ignore the buttons). + the double up option (default); turning SW1-8 on will disable double up and enable auto-spin on some games. + So far, only 3bagfull, blkrhino, eforest and grnlizrd allow automatic play; other games simply ignore the buttons. The games respond slightly faster between games with double up disabled. - 3 Bags Full, Fortune Hunter, Fever Pitch, Caribbean Gold 1 and 2, Gone Troppo and Top Gear do not have a double up option, - and US-based games ignore this switch setting (double up is always enabled on US games which support it). + 3bagfull/nz/u, cgold/2/2a, fvrpitch, fhunter/a, gtroppo, letsgof, topgear, trktreat and wtiger do not have a double up option, + and US-based games ignore this switch setting (double up is always enabled on the US games which support it). + + New Zealand games will end the current spin and void any remaining free games upon reaching the maximum win of $500.00. Aristocrat games made prior to 1993 have a default 1986 Ainsworth copyright string even though the games may be as late as 1992. + US versions of 3 Bags Full, Fortune Hunter and Let's Go Fishing all have the same program ID of 5196, however the version number differs between games. + Likewise, US versions of Enchanted Forest, The Gambler and Thunder Heart all have the same program ID of 5289, again with different version numbers. + - 3bagfullu and fhunter/a display THREE BAGS FULL FEATURE at the top of the screen in the bonus feature, letsgof has the text removed. + - eforestu and gambler display ENCHANTED WIN when a wild substitutes, thndrhrt shows BONUS WIN. + TODO: 1. ROMs need redumping for the following games: - - White Tiger has bad graphics ROMs. - - Caribbean Gold 2 is missing two graphics chips. - - Clockwise needs its program ROM redumped, original dump was 32K of 0xFF's. Graphics and video/sound ROM are OK. - - PROM dumps needed for Top Gear (2CM33), Caribbean Gold (1CM12), Caribbean Gold 2 (unknown), Clockwise (2CM18), - Golden Poker (unknown) and Fever Pitch (unknown). + - trktreat and wtigernz have bad graphics ROMs. + - clkwise needs its program ROM redumped, original dump was 32K of 0xFF's. Graphics and video/sound ROM are OK. + - U71/U40 PROM dumps are needed for cgold/cgold2 (1CM12), clkwise (2CM18), dblagent (unknown), fvrpitch (unknown) + gldnpkr (unknown), gunnrose (unknown), teqsun (unknown), and topgear (2CM33). + - fvrpitch and teqsun may actually have the correct PROMs as their colours match photos. - 2. Video poker and Keno button panels needed. 06/06/11: Video poker panels done, however they need confirmation + 2. Video poker and Keno button panels needed. 06/06/2011: Video poker panels done, however they need confirmation with a real machine. 3. Extend the driver to use the keno keyboard input for keno games (no MK2.5/MKIV Keno games dumped yet as of 28/02/2010). - 4. Provide complete cashcade emulation + 4. Provide complete cashcade emulation. 5. Look into what the hopper probe signal is for. 6. Investigate issues with the Poker style games as described below. - 7. When DIP SW7 is set to off/off, emulation speed is reduced (noticeable on very old systems e.g. Pentium 4). + 7. DIP switches need verifying as the descriptions don't match between games. - 8. Rewrite video emulation by using custom drawing code. + 8. When DIP SW7 is set to off/off, emulation speed is reduced. - 9. Check what type of mc6845 this HW uses on real PCB, and hook it up properly. + 9. Rewrite video emulation by using custom drawing code. - 10. Fix 86 Lions (pre-Aristocrat Mk-4 HW, without prom and dunno what else). + 10. Fix coin input for the US games. Currently, only the note acceptor works. The reverse is true for cgold. - 11. Fix coin input for the US games. Currently, only the note acceptor works. The reverse is true for cgold. + 11. Fix RTC as the hour is buggy e.g. 11PM shows 91:00:00. - 12. Hook up native/Jubilee MK4 games which have larger capacity ROMs (no native MK4 games dumped yet - all are MK2.5 format). + 12. Fix 86 Lions (pre-Aristocrat MK4 HW, without PROM and dunno what else). + + 13. Hook up native/Jubilee MK4 games which have larger capacity ROMs (no native MK4 games are dumped yet - all games are MK2.5 format). ***************** POKER GAMES ***************************************************************** - Wild One & Golden Poker have a problem where the second branch condition is always true, see assembler below for - example of Wild One. + wildone & gldnpkr have a problem where the second branch condition is always true, see assembler below for + example of wildone. 907D BITA $1800 ( crtc ) 9080 BNE $907D ; is zero @@ -317,6 +343,9 @@ since that version doesn't support vblank reading. The vblank bit can be read only on C6545-1, R6545-1, SY6545-1 and SY6845E subvariants, so it all lies to those. -AS + 06/12/2024: Is this code and comment still needed? The code is from 2010 when the driver was first added using an MC6845 instead of R6545. + - All three video poker games seem to run OK without the aristmk4_poker setting. - Heihachi_73 + **************************************************************************************************/ @@ -338,23 +367,23 @@ #include "speaker.h" // Button panel and lamps -#include "aristmk4.lh" // AU 90cr with gamble -#include "arimk4nz.lh" // NZ 45cr with double up -#include "3bagflnz.lh" // NZ 45cr without gamble -#include "3bagflvt.lh" // AU 90cr without gamble -#include "arcwins.lh" // US 25cr with gamble -#include "cgold2.lh" // US 25cr without gamble -#include "eforestu.lh" // US 45cr with gamble -#include "fhunter.lh" // US 45cr without gamble -#include "fvrpitch.lh" // AU 25cr without gamble -#include "goldenc.lh" // NZ 90cr with double up -#include "grnlizrd.lh" // AU 50cr with gamble -#include "kgbird.lh" // NZ 25cr with double up -#include "teqsun.lh" // AU 25cr with gamble, 12-button panel with no bet 4/play 4 buttons -#include "topgear.lh" // NZ 5 line without gamble -#include "gldnpkr.lh" // Video poker -#include "gunnrose.lh" // Video poker -#include "wildone.lh" // Video poker +#include "aristmk4.lh" // AU 90cr with gamble +#include "arimk4nz.lh" // NZ 45cr with double up +#include "3bagfull.lh" // AU 90cr without gamble +#include "3bagfullnz.lh" // NZ 45cr without gamble +#include "arcwins.lh" // US 25cr with gamble +#include "cgold2.lh" // US 25cr without gamble +#include "eforestu.lh" // US 45cr with gamble +#include "fhunter.lh" // US 45cr without gamble +#include "fvrpitch.lh" // AU 25cr without gamble +#include "goldenc.lh" // NZ 90cr with double up +#include "grnlizrd.lh" // AU 50cr with gamble +#include "kgbirdnz.lh" // NZ 25cr with double up +#include "teqsun.lh" // AU 25cr with gamble, 12-button panel with no bet 4/play 4 buttons +#include "topgear.lh" // NZ 5 line without gamble +#include "gldnpkr.lh" // Video poker +#include "gunnrose.lh" // Video poker +#include "wildone.lh" // Video poker namespace { @@ -570,7 +599,7 @@ void aristmk4_state::u3_p0(uint8_t data) { m_u3_p0_w = data; - if ((data&0x80)==0) //Printer Motor Off + if ((data&0x80)==0) // Printer Motor Off { m_printer_motor = 1; // Set this so the next read of u3_p3 returns PTRHOM as OFF. } @@ -598,7 +627,10 @@ uint8_t aristmk4_state::u3_p2() } if (m_inscrd==1) - u3_p2_ret=u3_p2_ret^0x02; + { + u3_p2_ret=u3_p2_ret^0x02; // CBOPT2 + m_inscrd++; // increment so that coin input can go to next phase in aristmk4_state::via_b_r() below + } return u3_p2_ret; } @@ -621,7 +653,7 @@ uint8_t aristmk4_state::u3_p3() TIMER_CALLBACK_MEMBER(aristmk4_state::note_input_reset) { - m_insnote=0; //reset note input after 150msec + m_insnote=0; // Reset note input after 150msec } uint8_t aristmk4_state::bv_p0() @@ -631,7 +663,7 @@ uint8_t aristmk4_state::bv_p0() switch(m_insnote) { case 0x01: - bv_p0_ret=ioport("NS")->read()+0x81; //check note selector + bv_p0_ret=ioport("NS")->read()+0x81; // Check note selector m_insnote++; break; case 0x02: @@ -640,7 +672,7 @@ uint8_t aristmk4_state::bv_p0() m_note_reset_timer->adjust(attotime::from_msec(150)); break; default: - break; //timer will reset the input + break; // Timer will reset the input } return bv_p0_ret; @@ -683,8 +715,9 @@ uint8_t aristmk4_state::mkiv_pia_ina() { /* uncomment this code once RTC is fixed */ - //return m_rtc->data_r(); - return 0; // OK for now, the aussie version has no RTC on the MB so this is valid. + //return m_rtc->data_r(); // Shows wrong PM hour + return 0; + // Note: Aussie boards have no RTC fitted, so this is technically valid } //output a @@ -744,7 +777,8 @@ void aristmk4_state::mkiv_pia_outb(uint8_t data) m_credit_out_meter = emet[i]; break; default: - printf("Unhandled Mechanical meter %d pulse: %02d\n",i+1, emet[i]); + //Uncomment when adding new games to check for unhandled mech meter pulse + //printf("Unhandled Mechanical meter %d pulse: %02d\n",i+1, emet[i]); break; } @@ -772,7 +806,7 @@ void aristmk4_state::mkiv_pia_outb(uint8_t data) static const char *const meter_sample_names[] = { - "*3bagflvt", + "*3bagfull", "tick", nullptr }; @@ -817,28 +851,40 @@ uint8_t aristmk4_state::via_b_r() { int ret=ioport("via_port_b")->read(); -// Not expecting to read anything from port B on the AY8910's ( controls BC1, BC2 and BDIR ) -// However there are extra 4 bits not going to the AY8910's on the schematics, which get read from here. -// OPTA1 - Bit4 - Coin optics - A -// OPTB1 - Bit5 - Coin optics - B -// HOPCO1 - Bit6 - Hopper counter -// CBOPT1 - Bit7 - Cash box optics -/* Coin input... CBOPT2 goes LOW, then the optic detectors OPTA1 / OPTB1 detect the coin passing */ -/* The timer causes one credit, per 150ms or so... */ +/* + Not expecting to read anything from port B on the AY8910's ( controls BC1, BC2 and BDIR ) + However there are extra 4 bits not going to the AY8910's on the schematics, which get read from here. + OPTA1 - Bit4 - Coin optics - A + OPTB1 - Bit5 - Coin optics - B + HOPCO1 - Bit6 - Hopper counter + CBOPT1 - Bit7 - Cash box optics + + Coin input... CBOPT2 goes LOW, then the optic detectors OPTA1 / OPTB1 detect the coin passing + The timer causes one credit, per 150ms or so... + + US games also need CBOPT1 to go high after OPTB1 for coins to register + This may also be why some non-US games trigger a coin diverter error when CBOPT is held low +*/ switch(m_inscrd) { case 0x00: break; - case 0x01: +// case 0x01 is CBOPT2 aka 5002-1, not via_port_b + case 0x02: // Coin Optic A ret=ret^0x10; m_inscrd++; break; - case 0x02: + case 0x03: // Coin Optic B ret=ret^0x20; m_inscrd++; m_coin_reset_timer->adjust(attotime::from_msec(150)); break; + //case 0x04: // CBOPT1 + //Uncomment when CBOPT2 is hooked up to coin input + //ret=ret^0x80; + //m_inscrd++; + //break; default: break; //timer will reset the input } @@ -848,7 +894,7 @@ uint8_t aristmk4_state::via_b_r() switch(m_hopper_motor) { case 0x00: - ret=ret^0x40; + ret=ret^0x40; // HOPCO1 m_hopper_reset_timer->adjust(attotime::from_msec(175)); m_hopper_motor = 0x02; m_hopper_motor_out = 2; @@ -947,7 +993,7 @@ void aristmk4_state::via_b_w(uint8_t data) void aristmk4_state::via_ca2_w(int state) { // CA2 is connected to CDSOL1 on schematics ? - //logerror("Via Port CA2 write %02X\n",data) ; + //logerror("VIA Port CA2 write %02X\n",data) ; } void aristmk4_state::via_cb2_w(int state) @@ -1030,12 +1076,12 @@ ADDRESS MAP - SLOT GAMES void aristmk4_state::slots_mem(address_map &map) { - map(0x0000, 0x17ff).ram().share("mkiv_vram"); // video ram - chips U49 / U50 + map(0x0000, 0x17ff).ram().share("mkiv_vram"); // video RAM - chips U49 / U50 map(0x1800, 0x1800).rw("crtc", FUNC(mc6845_device::status_r), FUNC(mc6845_device::address_w)); map(0x1801, 0x1801).rw("crtc", FUNC(mc6845_device::register_r), FUNC(mc6845_device::register_w)); map(0x1c00, 0x1cff).w(FUNC(aristmk4_state::mk4_printer_w)); map(0x1900, 0x19ff).r(FUNC(aristmk4_state::mk4_printer_r)); - map(0x2000, 0x3fff).rom(); // graphics rom map + map(0x2000, 0x3fff).rom(); // graphics ROM map map(0x4000, 0x4fff).ram().share("nvram"); map(0x5000, 0x5000).w(FUNC(aristmk4_state::u3_p0)); @@ -1052,10 +1098,10 @@ void aristmk4_state::slots_mem(address_map &map) map(0x52c1, 0x52c1).r(FUNC(aristmk4_state::bv_p1)); map(0x527f, 0x5281).rw("ppi8255_0", FUNC(i8255_device::read), FUNC(i8255_device::write)); map(0x5300, 0x5300).portr("5300"); - map(0x5380, 0x5383).rw("pia6821_0", FUNC(pia6821_device::read), FUNC(pia6821_device::write)); // RTC data - PORT A , mechanical meters - PORTB ?? - map(0x5440, 0x5440).w(FUNC(aristmk4_state::mlamps)); // take win and gamble lamps + map(0x5380, 0x5383).rw("pia6821_0", FUNC(pia6821_device::read), FUNC(pia6821_device::write)); // RTC data - PORT A, mechanical meters - PORT B ?? + map(0x5440, 0x5440).w(FUNC(aristmk4_state::mlamps)); // Take Win and Gamble lamps map(0x5468, 0x5468).rw(FUNC(aristmk4_state::cgdrr), FUNC(aristmk4_state::cgdrw)); // 4020 ripple counter outputs - map(0x6000, 0xffff).rom(); // game roms + map(0x6000, 0xffff).rom(); // game ROMs } /****************************************************************************** @@ -1074,7 +1120,7 @@ The U87 personality rom is not required, therefore game rom code mapping is from void aristmk4_state::poker_mem(address_map &map) { - map(0x0000, 0x17ff).ram().share("mkiv_vram"); // video ram - chips U49 / U50 + map(0x0000, 0x17ff).ram().share("mkiv_vram"); // video RAM - chips U49 / U50 map(0x1800, 0x1800).rw("crtc", FUNC(mc6845_device::status_r), FUNC(mc6845_device::address_w)); map(0x1801, 0x1801).rw("crtc", FUNC(mc6845_device::register_r), FUNC(mc6845_device::register_w)); map(0x1c00, 0x1cff).w(FUNC(aristmk4_state::mk4_printer_w)); @@ -1095,11 +1141,11 @@ void aristmk4_state::poker_mem(address_map &map) map(0x52c1, 0x52c1).r(FUNC(aristmk4_state::bv_p1)); map(0x527f, 0x5281).rw("ppi8255_0", FUNC(i8255_device::read), FUNC(i8255_device::write)); map(0x5300, 0x5300).portr("5300"); - map(0x5380, 0x5383).rw("pia6821_0", FUNC(pia6821_device::read), FUNC(pia6821_device::write)); // RTC data - PORT A , mechanical meters - PORTB ?? - map(0x5440, 0x5440).w(FUNC(aristmk4_state::mlamps)); // take win and gamble lamps + map(0x5380, 0x5383).rw("pia6821_0", FUNC(pia6821_device::read), FUNC(pia6821_device::write)); // RTC data - PORT A, mechanical meters - PORT B ?? + map(0x5440, 0x5440).w(FUNC(aristmk4_state::mlamps)); // Take Win and Gamble lamps map(0x5468, 0x5468).rw(FUNC(aristmk4_state::cgdrr), FUNC(aristmk4_state::cgdrw)); // 4020 ripple counter outputs - map(0x6000, 0x7fff).rom(); // graphics rom map - map(0x8000, 0xffff).rom(); // game roms + map(0x6000, 0x7fff).rom(); // graphics ROM map + map(0x8000, 0xffff).rom(); // game ROMs } /****************************************************************************** @@ -1111,35 +1157,35 @@ INPUT PORTS static INPUT_PORTS_START(aristmk4) PORT_START("via_port_b") - PORT_DIPNAME( 0x10, 0x00, "Coin Optic 1" ) // "COIN FAULT" - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x10, DEF_STR( On ) ) PORT_DIPLOCATION("AY:1") - PORT_DIPNAME( 0x20, 0x00, "Coin Optic 2" ) // "COIN FAULT" - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x20, DEF_STR( On ) ) PORT_DIPLOCATION("AY:2") + PORT_DIPNAME( 0x10, 0x00, "Coin Optic 1" ) // COIN-IN PHOTO-OPTIC A "22 - COIN IN FAULT" if held high + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPLOCATION("AY:1") + PORT_DIPSETTING( 0x10, DEF_STR( On ) ) + PORT_DIPNAME( 0x20, 0x00, "Coin Optic 2" ) // COIN-IN PHOTO-OPTIC B "22 - COIN IN FAULT" if held high + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPLOCATION("AY:2") + PORT_DIPSETTING( 0x20, DEF_STR( On ) ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) PORT_NAME("Hopper Coin Release") PORT_CODE(KEYCODE_BACKSLASH) // "ILLEGAL COIN PAID" - PORT_DIPNAME( 0x80, 0x80, "CBOPT1" ) // Cashbox Optic, enable for 3bagflvt, blkrhino, eforest and grnlizrd otherwise they will give a coin diverter error on the 5th coin, turn off for US games - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) // When toggled on/off quickly, increments coin drop in US games + PORT_DIPNAME( 0x80, 0x80, "CBOPT1" ) // Cash Box Optic 1, enable for 3bagfull, blkrhino, eforest and grnlizrd otherwise they will give a coin diverter error on the 5th coin, turn off for US games + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) // When toggled on/off quickly, increments coin drop in US games "34 - COIN VALIDATOR FAULT" if held high in US games PORT_DIPSETTING( 0x80, DEF_STR( On ) ) PORT_DIPLOCATION("AY:4") PORT_START("5002") - PORT_DIPNAME( 0x01, 0x00, "HOPCO2") // coins out hopper 2, BILL VALIDATOR DOOR in cgold2, logic door in eforest + PORT_DIPNAME( 0x01, 0x00, "HOPCO2") // coins out hopper 2, BILL VALIDATOR DOOR in cgold2, eforestu PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPLOCATION("5002:1") PORT_DIPSETTING( 0x01, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, "CBOPT2") // coin in cash box 2 off = "34 - COIN VALIDATOR FAULT" + PORT_DIPNAME( 0x02, 0x02, "CBOPT2") // Cash Box Optic 2 - coin in cash box 2, LOGIC DOOR in cgold "34 - COIN VALIDATOR FAULT" if held low PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPLOCATION("5002:2") PORT_DIPSETTING( 0x02, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x00, "HOPHI2") // hopper 2 full, CASH DOOR in cgold2 + PORT_DIPNAME( 0x04, 0x00, "HOPHI2") // hopper 2 full, CASH DOOR in cgold2, eforestu PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPLOCATION("5002:3") PORT_DIPSETTING( 0x04, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x00, "DOPTI") // photo optic door DOOR OPEN SENSE SWITCH - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x08, 0x00, "DOPTI") // photo optic door DOOR OPEN SENSE SWITCH "61 - MAIN DOOR SWITCH FAULT" if held low + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPLOCATION("5002:4") PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_NAME("Audit Key") PORT_TOGGLE PORT_CODE(KEYCODE_F2) // AUDTSW PORT_DIPNAME( 0x20, 0x00, "HOPLO1") // hopper 1 low PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPLOCATION("5002:6") PORT_DIPSETTING( 0x20, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x00, "HOPLO2") // hopper 2 low + PORT_DIPNAME( 0x40, 0x00, "HOPLO2") // hopper 2 low, CASH-BOX DOOR in cgold PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPLOCATION("5002:7") PORT_DIPSETTING( 0x40, DEF_STR( On ) ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_NAME("Robot Test / Hopper Reset") PORT_CODE(KEYCODE_Z) // PB6 @@ -1162,20 +1208,20 @@ static INPUT_PORTS_START(aristmk4) PORT_DIPNAME( 0x40, 0x00, "PTRTAC") // printer taco PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPLOCATION("5003:7") PORT_DIPSETTING( 0x40, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, "PTRHOM") // printer home, must be on + PORT_DIPNAME( 0x80, 0x80, "PTRHOM") // printer home - must be on PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPLOCATION("5003:8") PORT_DIPSETTING( 0x80, DEF_STR( On ) ) PORT_START("5005") - PORT_DIPNAME( 0x01, 0x01, "CREDIT SELECT 1") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPLOCATION("5005:1") - PORT_DIPSETTING( 0x01, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, "CREDIT SELECT 2") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPLOCATION("5005:2") - PORT_DIPSETTING( 0x02, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, "CREDIT SELECT 3") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPLOCATION("5005:3") - PORT_DIPSETTING( 0x04, DEF_STR( On ) ) + PORT_DIPNAME( 0x07, 0x07, "CREDIT SELECT") // US games (except cgold) use this for setting up the denomination + PORT_DIPSETTING( 0x07, "$0.05" ) PORT_DIPLOCATION("5005:1,2,3") + PORT_DIPSETTING( 0x03, "$0.10" ) + PORT_DIPSETTING( 0x05, "$0.25" ) + PORT_DIPSETTING( 0x01, "$0.50" ) + PORT_DIPSETTING( 0x06, "$1.00" ) + PORT_DIPSETTING( 0x02, "$5.00" ) + PORT_DIPSETTING( 0x04, "$10.00" ) + PORT_DIPSETTING( 0x00, "$100.00" ) PORT_DIPNAME( 0x08, 0x00, "5005-4") // Logic door (cgold2) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPLOCATION("5005:4") PORT_DIPSETTING( 0x08, DEF_STR( On ) ) @@ -1208,13 +1254,13 @@ static INPUT_PORTS_START(aristmk4) PORT_DIPNAME( 0x10, 0x00, "5300-5") PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPLOCATION("5300:5") PORT_DIPSETTING( 0x10, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, "5300-6 Bill Validator") + PORT_DIPNAME( 0x20, 0x20, "Bill Validator") PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPLOCATION("5300:6") // bill validator d/c, must be on for US games PORT_DIPSETTING( 0x20, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x00, "5300-7") PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPLOCATION("5300:7") PORT_DIPSETTING( 0x40, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, "5300-8 Mechanical Meters") + PORT_DIPNAME( 0x80, 0x80, "Mechanical Meters") PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPLOCATION("5300:8") // must be on PORT_DIPSETTING( 0x80, DEF_STR( On ) ) @@ -1287,7 +1333,7 @@ static INPUT_PORTS_START(aristmk4) PORT_DIPNAME( 0x08, 0x08, "5201-4") // fixes link offline error PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPLOCATION("5201:4") PORT_DIPSETTING( 0x08, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x00, "5201-5") // causes cgold2 and fhunter/a to freeze when low + PORT_DIPNAME( 0x10, 0x00, "5201-5") // causes cgold2, fhunter/a and wtiger to freeze when low PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPLOCATION("5201:5") PORT_DIPSETTING( 0x10, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x00, "5201-6") @@ -1319,7 +1365,7 @@ static INPUT_PORTS_START(aristmk4) /********************************* Dip switch for background color *************************************************/ PORT_START("SW7") - PORT_DIPNAME( 0x01, 0x01, "SW7 - U22 BG COLOR" ) + PORT_DIPNAME( 0x01, 0x00, "SW7 - U22 BG COLOR" ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPLOCATION("SW7:1") PORT_DIPSETTING( 0x01, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x00, "SW7 - U47 BG COLOR" ) @@ -1401,7 +1447,7 @@ static INPUT_PORTS_START(aristmk4) PORT_DIPNAME( 0x20, 0x00, "DSW1 - Link Jackpot - S1" ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPLOCATION("SW1:6") PORT_DIPSETTING( 0x20, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x00, "DSW1 - Link Jackpot - S2" ) // Cash credit option in 3bagflvt/blkrhino/eforest/fvrpitch/grnlizrd + PORT_DIPNAME( 0x40, 0x00, "DSW1 - Link Jackpot - S2" ) // Cash credit option in 3bagfull/blkrhino/eforest/fvrpitch/grnlizrd/teqsun PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPLOCATION("SW1:7") PORT_DIPSETTING( 0x40, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x00, "DSW1 - Auto spin" ) // Disables double up, only blkrhino, eforest and grnlizrd support auto spin with double up disabled @@ -1447,7 +1493,7 @@ static INPUT_PORTS_START(aristmk4) INPUT_PORTS_END -static INPUT_PORTS_START(3bagflvt) +static INPUT_PORTS_START(3bagfull) PORT_INCLUDE(aristmk4) PORT_MODIFY("500d") @@ -1459,8 +1505,8 @@ static INPUT_PORTS_START(3bagflvt) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Play 9 Lines") PORT_CODE(KEYCODE_H) INPUT_PORTS_END -static INPUT_PORTS_START(3bagflnz) - PORT_INCLUDE(3bagflvt) +static INPUT_PORTS_START(3bagfullnz) + PORT_INCLUDE(3bagfull) PORT_MODIFY("500d") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("4 Credits Per Line") PORT_CODE(KEYCODE_T) @@ -1473,7 +1519,7 @@ static INPUT_PORTS_START(eforestu) PORT_INCLUDE(aristmk4) PORT_MODIFY("via_port_b") - PORT_DIPNAME( 0x80, 0x00, "CBOPT1" ) // turn off for US games + PORT_DIPNAME( 0x80, 0x00, "CBOPT1" ) // turn off for US games PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x80, DEF_STR( On ) ) PORT_DIPLOCATION("AY:4") @@ -1494,11 +1540,35 @@ static INPUT_PORTS_START(eforestu) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("2 Credits Per Line") PORT_CODE(KEYCODE_D) PORT_MODIFY("5201") - PORT_DIPNAME( 0x10, 0x10, "5201-5") // freeze switch? only affects fhunter(a) and cgold2 + PORT_DIPNAME( 0x10, 0x10, "5201-5") // freezes cgold2, fhunter/a and wtiger if off PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPLOCATION("5201:5") PORT_DIPSETTING( 0x10, DEF_STR( On ) ) INPUT_PORTS_END +static INPUT_PORTS_START(wtiger) + PORT_INCLUDE(eforestu) + + PORT_MODIFY("500d") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Play 9 Lines") PORT_CODE(KEYCODE_Y) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_NAME("0-5 UNUSED") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_NAME("0-6 UNUSED") + + PORT_MODIFY("500e") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Play 1 Line") PORT_CODE(KEYCODE_W) +INPUT_PORTS_END + +static INPUT_PORTS_START(thundhrt) + PORT_INCLUDE(eforestu) + + PORT_MODIFY("500d") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Play 9 Lines") PORT_CODE(KEYCODE_Y) + + PORT_MODIFY("500e") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Play 1 Line") PORT_CODE(KEYCODE_W) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("1 Credit Per Line / Red") PORT_CODE(KEYCODE_S) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("5 Credits Per Line / Black") PORT_CODE(KEYCODE_H) +INPUT_PORTS_END + static INPUT_PORTS_START(arcwins) PORT_INCLUDE(eforestu) @@ -1523,18 +1593,6 @@ static INPUT_PORTS_START(cgold2) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Play 1 Line") PORT_CODE(KEYCODE_W) INPUT_PORTS_END -static INPUT_PORTS_START(fhunter) - PORT_INCLUDE(cgold2) - - PORT_MODIFY("500d") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Play 7 Lines") PORT_CODE(KEYCODE_T) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Play 9 Lines") PORT_CODE(KEYCODE_Y) - - PORT_MODIFY("500e") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Play 3 Lines") PORT_CODE(KEYCODE_E) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Play 5 Lines") PORT_CODE(KEYCODE_R) -INPUT_PORTS_END - static INPUT_PORTS_START(arimk4nz) PORT_INCLUDE(aristmk4) @@ -1561,7 +1619,7 @@ static INPUT_PORTS_START(grnlizrd) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Play 2 Lines") PORT_CODE(KEYCODE_D) INPUT_PORTS_END -static INPUT_PORTS_START(kgbird) +static INPUT_PORTS_START(kgbirdnz) PORT_INCLUDE(grnlizrd) PORT_MODIFY("500d") @@ -1571,7 +1629,7 @@ static INPUT_PORTS_START(kgbird) INPUT_PORTS_END static INPUT_PORTS_START(fvrpitch) - PORT_INCLUDE(kgbird) + PORT_INCLUDE(kgbirdnz) PORT_MODIFY("500d") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_NAME("0-7 UNUSED") @@ -1583,7 +1641,7 @@ static INPUT_PORTS_START(fvrpitch) INPUT_PORTS_END static INPUT_PORTS_START(teqsun) - PORT_INCLUDE(kgbird) + PORT_INCLUDE(kgbirdnz) PORT_MODIFY("500d") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_D_UP ) PORT_NAME("Gamble") PORT_CODE(KEYCODE_Y) @@ -1735,7 +1793,7 @@ void aristmk4_state::aristmk4_palette(palette_device &palette) const for (int i = 0; i < palette.entries(); i++) { const uint8_t data = color_prom[i]; - const int b = 0x52 * BIT(data, 0) + 0xad * BIT(data, 1); + const int b = 0x4f * BIT(data, 0) + 0xa8 * BIT(data, 1); const int g = 0x21 * BIT(data, 2) + 0x47 * BIT(data, 3) + 0x97 * BIT(data, 4); const int r = 0x21 * BIT(data, 5) + 0x47 * BIT(data, 6) + 0x97 * BIT(data, 7); @@ -1765,7 +1823,7 @@ void aristmk4_state::machine_start() void aristmk4_state::machine_reset() { - /* mark 4 has a link on the motherboard to switch between 1.5MHz and 3MHz clock speed */ + /* MK4 has a link on the motherboard to switch between 1.5MHz and 3MHz clock speed */ switch(ioport("LK13")->read()) // CPU speed control... 3MHz or 1.5MHz { case 0x00: @@ -1884,9 +1942,9 @@ void aristmk4_state::lions_palette(palette_device &palette) const { for (int i = 0; i < palette.entries(); i++) { - const int b = 0x52 * BIT(i, 0) + 0xad * BIT(i, 1); - const int g = 0x52 * BIT(i, 2) + 0xad * BIT(i, 3); - const int r = 0x52 * BIT(i, 4) + 0xad * BIT(i, 5); + const int b = 0x4f * BIT(i, 0) + 0xa8 * BIT(i, 1); + const int g = 0x4f * BIT(i, 2) + 0xa8 * BIT(i, 3); + const int r = 0x4f * BIT(i, 4) + 0xa8 * BIT(i, 5); palette.set_pen_color(i, rgb_t(r, g, b)); } @@ -1902,7 +1960,7 @@ void aristmk4_state::_86lions(machine_config &config) // 3 Bags Full (5VXFC790, Victoria) // 90.018% // Unhandled Mechanical meter 3 pulse: 08 -ROM_START( 3bagflvt ) +ROM_START( 3bagfull ) ROM_REGION(0x10000, "maincpu", 0 ) /* VIDEO AND SOUND EPROM */ ROM_LOAD("2vas004.u59", 0x02000, 0x2000, CRC(84226547) SHA1(df9c2c01a7ac4d930c06a8c4863853ddb1a2adbe)) @@ -1929,7 +1987,7 @@ ROM_END // 3 Bags Full (3VXFC5345, New Zealand) // 88.22% // Unhandled Mechanical meter 2 pulse: 04 -ROM_START( 3bagflnz ) +ROM_START( 3bagfullnz ) ROM_REGION(0x10000, "maincpu", 0 ) /* VIDEO AND SOUND EPROM */ ROM_LOAD("2vas004.u59", 0x02000, 0x2000, CRC(84226547) SHA1(df9c2c01a7ac4d930c06a8c4863853ddb1a2adbe)) @@ -1941,7 +1999,7 @@ ROM_START( 3bagflnz ) /* SHAPE EPROMs */ ROM_REGION(0xc000, "tile_gfx", 0 ) ROM_LOAD("1vlsh224.u20", 0x00000, 0x2000, CRC(b02d4ce8) SHA1(eace41f870bfbc253124efd72f1c7d6021f2e99f)) // original graphics ROMs were bad, - ROM_LOAD("1vlsh224.u21", 0x02000, 0x2000, CRC(06218c95) SHA1(cbda8e50fd4e9c8a3c51a006921a85d4bfaa6f78)) // using 3bagflvt ROMs for now although + ROM_LOAD("1vlsh224.u21", 0x02000, 0x2000, CRC(06218c95) SHA1(cbda8e50fd4e9c8a3c51a006921a85d4bfaa6f78)) // using 3bagfull ROMs for now although ROM_LOAD("1vlsh224.u22", 0x04000, 0x2000, CRC(191e73f1) SHA1(e6d510b155f9cd3427a70346e5ff28969309be4e)) // some unused tiles differ between sets ROM_LOAD("1vlsh224.u45", 0x06000, 0x2000, CRC(054c55cb) SHA1(3df1893095f867220f3d6a52a40bcdffbfc8b529)) ROM_LOAD("1vlsh224.u46", 0x08000, 0x2000, CRC(f33970b3) SHA1(8814a4d29383545c7c48e5b44f16a53e38b67fc3)) @@ -1953,18 +2011,74 @@ ROM_START( 3bagflnz ) ROM_END +// 3 Bags Full (4XF5196I02, US) +// 92.047% +// Unhandled Mechanical meter 1 pulse: 01 > Insert note +// Unhandled Mechanical meter 3 pulse: 08 > Cashout +ROM_START( 3bagfullu ) + ROM_REGION(0x10000, "maincpu", 0 ) + /* VIDEO AND SOUND EPROM */ + ROM_LOAD("2vas004.u59", 0x02000, 0x2000, CRC(84226547) SHA1(df9c2c01a7ac4d930c06a8c4863853ddb1a2adbe)) + + /* GAME EPROMs */ + ROM_LOAD("4xf5196i02.u87", 0x06000, 0x2000, CRC(147aca84) SHA1(28309d04ffe727c79f75146f2dd3737a6cb8a53c)) + ROM_LOAD("4xf5196.u86", 0x08000, 0x8000, CRC(c8c33c7a) SHA1(8aab8bfc4a29d08ac3c2a2b2db7b773e2f0fbbd1)) + + /* SHAPE EPROMs */ + ROM_REGION(0xc000, "tile_gfx", 0 ) + ROM_LOAD("2vlsh224.u20", 0x00000, 0x2000, CRC(50676d2b) SHA1(e100debce42bcff093faf4dddc082655fcb26eba)) + ROM_LOAD("2vlsh224.u21", 0x02000, 0x2000, CRC(6e487671) SHA1(3959e7a6acdcf24055a4b6a98317bd75fcef421d)) + ROM_LOAD("2vlsh224.u22", 0x04000, 0x2000, CRC(8ad3ebd5) SHA1(e307a363fa806ed2db586aa9b4a6262046606242)) + ROM_LOAD("2vlsh224.u45", 0x06000, 0x2000, CRC(e6d1210f) SHA1(443dd2748decd45b98ebd14532e3ba80fa4b5b10)) + ROM_LOAD("2vlsh224.u46", 0x08000, 0x2000, CRC(444c8a8b) SHA1(401cd998195415c789712421c46427fa652fafa7)) + ROM_LOAD("2vlsh224.u47", 0x0a000, 0x2000, CRC(7dc3b85c) SHA1(05bded5f52fedf619ec755aec8c90feb71aad6ad)) + + /* COLOR PROM */ + ROM_REGION(0x200, "proms", 0 ) + ROM_LOAD("1cm48.u71", 0x0000, 0x0200, CRC(81daeeb0) SHA1(7dfe198c6def5c4ae4ecac488d65c2911fb3a890)) +ROM_END + + +// Arctic Wins (4XF5227H04, US) +// 92.501% +// Unhandled Mechanical meter 1 pulse: 01 > Insert note +// Unhandled Mechanical meter 3 pulse: 08 > Cashout +ROM_START( arcwins ) + ROM_REGION(0x10000, "maincpu", 0 ) + /* VIDEO AND SOUND EPROM */ + ROM_LOAD("2vas004.u59", 0x02000, 0x2000, CRC(84226547) SHA1(df9c2c01a7ac4d930c06a8c4863853ddb1a2adbe)) + + /* GAME EPROMs */ + ROM_LOAD("4xf5227h04.u87", 0x06000, 0x2000, CRC(4411b6e8) SHA1(ad960e9ac75d2d6b9465e3002626e8ac97e3d545)) + ROM_LOAD("4xf5227.u86", 0x08000, 0x8000, CRC(4e2b955a) SHA1(66202e1c7fe52f706c809d6aa8aa649b54dca4d2)) + + /* SHAPE EPROMs */ + ROM_REGION(0xc000, "tile_gfx", 0 ) + ROM_LOAD("4xf5227.u20", 0x00000, 0x2000, CRC(f0438b40) SHA1(cead72e988e8973d95312d62ffd45cb51c982551)) // unknown EPROM names, should contain VLSH or VL/SH letters on label + ROM_LOAD("4xf5227.u21", 0x02000, 0x2000, CRC(0e4c817c) SHA1(dc142d4cf5227496d1e6b82368a8fa186b6372c7)) + ROM_LOAD("4xf5227.u22", 0x04000, 0x2000, CRC(fef65b79) SHA1(38562221ff0513ab973ac96a6ff1e70f0d4e6436)) + ROM_LOAD("4xf5227.u45", 0x06000, 0x2000, CRC(bf7bf9e2) SHA1(32cc8428281f57280ba7aeb7b9a30c51b3a5bec8)) + ROM_LOAD("4xf5227.u46", 0x08000, 0x2000, CRC(c4b2ec7c) SHA1(db0bef392e83a1fb9b1d2255b36a3ec12e73ee1c)) + ROM_LOAD("4xf5227.u47", 0x0a000, 0x2000, CRC(6608d05a) SHA1(7a4014d4dbc8ec6b3dcf14df5a5149696c7ce45e)) + + /* COLOR PROM */ + ROM_REGION(0x200, "proms", 0 ) + ROM_LOAD("1cm29.u71", 0x0000, 0x0200, CRC(ef25f5cc) SHA1(51d12f4b8b8712cbd18ec97ec04e1340cd85fc67)) +ROM_END + + // Arctic Wins (4XF5227H03, US) // 90.361% // Unhandled Mechanical meter 1 pulse: 01 > Insert note // Unhandled Mechanical meter 1 pulse: 08 > Cashout -ROM_START( arcwins ) +ROM_START( arcwinsa ) ROM_REGION(0x10000, "maincpu", 0 ) /* VIDEO AND SOUND EPROM */ ROM_LOAD("2vas004.u59", 0x02000, 0x2000, CRC(84226547) SHA1(df9c2c01a7ac4d930c06a8c4863853ddb1a2adbe)) /* GAME EPROMs */ ROM_LOAD("4xf5227h03.u87", 0x06000, 0x2000, CRC(eec47dcf) SHA1(9d9d56310fc2c69c56aee961d1881328e3aa32d2)) - ROM_LOAD("4xf5227h03.u86", 0x08000, 0x8000, CRC(4e2b955a) SHA1(66202e1c7fe52f706c809d6aa8aa649b54dca4d2)) + ROM_LOAD("4xf5227.u86", 0x08000, 0x8000, CRC(4e2b955a) SHA1(66202e1c7fe52f706c809d6aa8aa649b54dca4d2)) /* SHAPE EPROMs */ ROM_REGION(0xc000, "tile_gfx", 0 ) @@ -2068,7 +2182,7 @@ ROM_START( cgold ) // MK2.5 board ROM_REGION(0x10000, "maincpu", 0 ) /* VIDEO AND SOUND EPROM */ ROM_LOAD("3vas003.u7", 0x06000, 0x2000, CRC(fe7d0ea4) SHA1(3f3f4809534065c33eca2cfff0d1d2a3e3992406)) // 3VA/S003/MEM.or 7 Video Sound CARNAVAL - /* This chip was physically broken in half on arrival, the sticker was the only thing holding it together; luckily this chip is already dumped */ + /* This chip was physically broken in half on arrival, the sticker was the only thing holding it together; luckily this ROM is already dumped */ /* GAME EPROMs */ ROM_LOAD("3vxec449.u9", 0x08000, 0x8000, CRC(e6643751) SHA1(6eb89fea85bea162fd74888d9efc227cfde25e59)) // original label missing, blank label across EPROM window @@ -2083,39 +2197,63 @@ ROM_START( cgold ) // MK2.5 board ROM_LOAD("3vlsh076.u13", 0x0a000, 0x2000, CRC(f3cb845a) SHA1(288f7fe991bb60194a9ef9e8c9b2b18ebbd3b49c)) // C-GOLD RED-M 3VL/SH076/13 1CA1/2BB3 /* COLOR PROM */ - ROM_REGION(0x200, "proms", 0 ) - ROM_LOAD("1cm12.u40", 0x0000, 0x0200, BAD_DUMP CRC(918cb0ab) SHA1(2ec37abae2ecae2f0f525daf6fafd03789fca20b)) // Using gtroppo's PROM until cgold's 1CM12 PROM is dumped; EPROM reader couldn't identify chip - // 1CM12/40 MV2033*CGOLD/TISLE 943D-GLI 8/93 */ + ROM_REGION(0x200, "proms", 0 ) // Using gtroppo's PROM until 1CM12 is dumped; EPROM reader couldn't identify chip + ROM_LOAD("1cm12.u40", 0x0000, 0x0200, BAD_DUMP CRC(918cb0ab) SHA1(2ec37abae2ecae2f0f525daf6fafd03789fca20b)) // 1CM12/40 MV2033*CGOLD/TISLE 943D-GLI 8/93 +ROM_END + + +// Caribbean Gold II (4XF5182H04, US) +// 92.858% +// Unhandled Mechanical meter 1 pulse: 01 > Insert note +// Unhandled Mechanical meter 3 pulse: 08 > Cashout +ROM_START( cgold2 ) + ROM_REGION(0x10000, "maincpu", 0 ) + /* VIDEO AND SOUND EPROM */ + ROM_LOAD("2vas004.u59", 0x02000, 0x2000, CRC(84226547) SHA1(df9c2c01a7ac4d930c06a8c4863853ddb1a2adbe)) + + /* GAME EPROMs */ + ROM_LOAD("4xf5182h04.u87", 0x06000, 0x2000, CRC(ef5cf758) SHA1(5b0b013b079ec7aa11cb54ff44e0f77781c76fe6)) // Torn labels + ROM_LOAD("4xf5182.u86", 0x08000, 0x8000, CRC(37fd539e) SHA1(4996f112dbc15238c0e96fdb77d7de8b2487ef50)) + + /* SHAPE EPROMs */ + ROM_REGION(0xc000, "tile_gfx", 0 ) + ROM_LOAD("5vlsh076.u20", 0x00000, 0x2000, CRC(6e81d96c) SHA1(90877e2e7400e9820b0d3e99380f7452069bef07)) // C. GOLD BLU-L 5VL/SH076 U20/8 2P49/85HA/BAC8 + ROM_LOAD("5vlsh076.u21", 0x02000, 0x2000, CRC(8bf50f7c) SHA1(17705de695d43fa4fa6f1e7afc5c19ecf6f75e35)) // C. GOLD GRN-L 5VL/SH076 U21/10 7F17/P923/4071 + ROM_LOAD("5vlsh076.u22", 0x04000, 0x2000, CRC(ec08e24b) SHA1(9dce6952e92c8d10a1722ec0a394b93be6bc7cea)) // C. GOLD RED-L 5VL/SH076 U22/12 9578/UA95/764F + ROM_LOAD("5vlsh076.u45", 0x06000, 0x2000, CRC(442599ff) SHA1(073c8354b0e0895092ce5c45c8cdd2d1b46e5fe3)) // C. GOLD BLU-M 5VL/SH076 U45/9 F94H/2AU7/B5E7 + ROM_LOAD("5vlsh076.u46", 0x08000, 0x2000, CRC(9580c2c2) SHA1(8a010fb9e349c066e1af53ed9aa659dbf7dbf17e)) // C. GOLD GRN-M 5VL/SH076 U46/11 PFC7/AH41/3AED + ROM_LOAD("5vlsh076.u47", 0x0a000, 0x2000, CRC(f3cb845a) SHA1(288f7fe991bb60194a9ef9e8c9b2b18ebbd3b49c)) // C. GOLD RED-M 5VL/SH076 U47/13 85VA/1CA1/2BB3 + + /* COLOR PROM */ + ROM_REGION(0x200, "proms", 0 ) // Using gtroppo's PROM until 1CM12 is dumped + ROM_LOAD("1cm12.u71", 0x0000, 0x0200, BAD_DUMP CRC(918cb0ab) SHA1(2ec37abae2ecae2f0f525daf6fafd03789fca20b)) // C.G./TREASURE 1CM12 943D U71/40 ROM_END // Caribbean Gold II (3XF5182H04, US) // 92.858% // Unhandled Mechanical meter 1 pulse: 01 -ROM_START( cgold2 ) +ROM_START( cgold2a ) ROM_REGION(0x10000, "maincpu", 0 ) /* VIDEO AND SOUND EPROM */ - ROM_LOAD("2vas004.u59", 0x02000, 0x2000, CRC(84226547) SHA1(df9c2c01a7ac4d930c06a8c4863853ddb1a2adbe)) // unverified, was missing from original dump + ROM_LOAD("2vas004.u59", 0x02000, 0x2000, CRC(84226547) SHA1(df9c2c01a7ac4d930c06a8c4863853ddb1a2adbe)) /* GAME EPROMs */ ROM_LOAD("3xf5182h04.u87", 0x06000, 0x2000, CRC(070a02b2) SHA1(872621275e51c5dca371861a9b9f3038f0dbc8aa)) - ROM_LOAD("3xf5182h04.u86", 0x08000, 0x8000, CRC(5ac1d424) SHA1(42bb8b5eb163a04054621bbcba5cf8203a661baf)) + ROM_LOAD("3xf5182.u86", 0x08000, 0x8000, CRC(5ac1d424) SHA1(42bb8b5eb163a04054621bbcba5cf8203a661baf)) /* SHAPE EPROMs */ ROM_REGION(0xc000, "tile_gfx", 0 ) - ROM_LOAD("3vlsh076.u20", 0x00000, 0x2000, BAD_DUMP CRC(b1eedcd4) SHA1(dcde9cf16da5f361361be45ba134dda084a416fa)) // using cgold ROM for now - ROM_LOAD("3vlsh076_a.u21", 0x02000, 0x2000, CRC(8bf50f7c) SHA1(17705de695d43fa4fa6f1e7afc5c19ecf6f75e35)) - ROM_LOAD("3vlsh076.u22", 0x04000, 0x2000, CRC(ec08e24b) SHA1(9dce6952e92c8d10a1722ec0a394b93be6bc7cea)) // matches cgold - ROM_LOAD("3vlsh076.u45", 0x06000, 0x2000, BAD_DUMP CRC(10eff444) SHA1(4658b346add14010efa797ad9d31b6673e8e2526)) // using cgold ROM for now - ROM_LOAD("3vlsh076_a.u46", 0x08000, 0x2000, CRC(9580c2c2) SHA1(8a010fb9e349c066e1af53ed9aa659dbf7dbf17e)) - ROM_LOAD("3vlsh076.u47", 0x0a000, 0x2000, CRC(f3cb845a) SHA1(288f7fe991bb60194a9ef9e8c9b2b18ebbd3b49c)) // matches cgold - - // Note: cgold tiles are not a perfect match, cgold2 needs dollar and cent signs in tiles 0x64 and 0x65 respectively, which cgold does not have. This causes a garbled graphics in the denomination. - // Tiles 0x27F and 0x280 are cent and dollar signs, but these are unused by the game. + ROM_LOAD("5vlsh076.u20", 0x00000, 0x2000, CRC(6e81d96c) SHA1(90877e2e7400e9820b0d3e99380f7452069bef07)) // C. GOLD BLU-L 5VL/SH076 U20/8 2P49/85HA/BAC8 + ROM_LOAD("5vlsh076.u21", 0x02000, 0x2000, CRC(8bf50f7c) SHA1(17705de695d43fa4fa6f1e7afc5c19ecf6f75e35)) // C. GOLD GRN-L 5VL/SH076 U21/10 7F17/P923/4071 + ROM_LOAD("5vlsh076.u22", 0x04000, 0x2000, CRC(ec08e24b) SHA1(9dce6952e92c8d10a1722ec0a394b93be6bc7cea)) // C. GOLD RED-L 5VL/SH076 U22/12 9578/UA95/764F + ROM_LOAD("5vlsh076.u45", 0x06000, 0x2000, CRC(442599ff) SHA1(073c8354b0e0895092ce5c45c8cdd2d1b46e5fe3)) // C. GOLD BLU-M 5VL/SH076 U45/9 F94H/2AU7/B5E7 + ROM_LOAD("5vlsh076.u46", 0x08000, 0x2000, CRC(9580c2c2) SHA1(8a010fb9e349c066e1af53ed9aa659dbf7dbf17e)) // C. GOLD GRN-M 5VL/SH076 U46/11 PFC7/AH41/3AED + ROM_LOAD("5vlsh076.u47", 0x0a000, 0x2000, CRC(f3cb845a) SHA1(288f7fe991bb60194a9ef9e8c9b2b18ebbd3b49c)) // C. GOLD RED-M 5VL/SH076 U47/13 85VA/1CA1/2BB3 /* COLOR PROM */ - ROM_REGION(0x200, "proms", 0 ) - ROM_LOAD("1cm12.u71", 0x0000, 0x0200, BAD_DUMP CRC(918cb0ab) SHA1(2ec37abae2ecae2f0f525daf6fafd03789fca20b)) // Using gtroppo's PROM for now, assuming both games use 1CM12 as they are almost identical + ROM_REGION(0x200, "proms", 0 ) // Using gtroppo's PROM until 1CM12 is dumped + ROM_LOAD("1cm12.u71", 0x0000, 0x0200, BAD_DUMP CRC(918cb0ab) SHA1(2ec37abae2ecae2f0f525daf6fafd03789fca20b)) // C.G./TREASURE 1CM12 943D U71/40 ROM_END @@ -2139,7 +2277,7 @@ ROM_START( clkwise ) // MK2.5 board /* COLOR PROM */ ROM_REGION(0x200, "proms", 0 ) - ROM_LOAD("2cm18.u40", 0x0000, 0x0200, BAD_DUMP CRC(918cb0ab) SHA1(2ec37abae2ecae2f0f525daf6fafd03789fca20b)) // Using gtroppo's PROM until clkwise's 2CM18 PROM is dumped + ROM_LOAD("2cm18.u40", 0x0000, 0x0200, BAD_DUMP CRC(918cb0ab) SHA1(2ec37abae2ecae2f0f525daf6fafd03789fca20b)) // Using gtroppo's PROM until 2CM18 is dumped ROM_END @@ -2170,6 +2308,34 @@ ROM_START( coralr2 ) ROM_END +// Double Agent (3XF5287H04, US) +// 91.977% +// Unhandled Mechanical meter 1 pulse: 01 > Insert note +// Unhandled Mechanical meter 3 pulse: 08 > Cashout +ROM_START( dblagent ) + ROM_REGION(0x10000, "maincpu", 0 ) + /* VIDEO AND SOUND EPROM */ + ROM_LOAD("2vas004.u59", 0x02000, 0x2000, CRC(84226547) SHA1(df9c2c01a7ac4d930c06a8c4863853ddb1a2adbe)) + + /* GAME EPROMs */ + ROM_LOAD("3xf5287h04.u87", 0x06000, 0x2000, CRC(c1356048) SHA1(bff581f0dfcc189d5404f231b1a127225fb9abfc)) + ROM_LOAD("3xf5287.u86", 0x08000, 0x8000, CRC(57526edc) SHA1(309295e0c278de370961541cdeb6650555868e83)) + + /* SHAPE EPROMs */ + ROM_REGION(0xc000, "tile_gfx", 0 ) + ROM_LOAD("4vlsh116.u20", 0x00000, 0x2000, CRC(3c82d320) SHA1(79c4846c95e9d7701d51577aee47c070f407df9d)) + ROM_LOAD("4vlsh116.u21", 0x02000, 0x2000, CRC(fcfa8602) SHA1(f9007ce61f00ea81e26143d8a37d31a3c1c42650)) + ROM_LOAD("4vlsh116.u22", 0x04000, 0x2000, CRC(8d5e0f9e) SHA1(e00abaea53d134addfefa4830269accb93f5fdf8)) + ROM_LOAD("4vlsh116.u45", 0x06000, 0x2000, CRC(f13b14da) SHA1(ad5f412a87c21fe5879cc96393e100efe8c5f4ee)) + ROM_LOAD("4vlsh116.u46", 0x08000, 0x2000, CRC(ccb5b2fd) SHA1(8100037904a83668ef749b28777fdb1730044c44)) + ROM_LOAD("4vlsh116.u47", 0x0a000, 0x2000, CRC(18b0abcc) SHA1(965e69621f6c73bbacd54099dce0222c79d4f9e3)) + + /* COLOR PROM */ + ROM_REGION(0x200, "proms", 0 ) + ROM_LOAD("1cm29.u71", 0x0000, 0x0200, CRC(ef25f5cc) SHA1(51d12f4b8b8712cbd18ec97ec04e1340cd85fc67)) // Using kgbird's 1CM29 PROM until original PROM is verified +ROM_END + + // Enchanted Forest (4VXFC818, NSW) // 90.483% // Unhandled Mechanical meter 3 pulse: 08 @@ -2234,7 +2400,7 @@ ROM_START( eforestu ) /* GAME EPROMs */ ROM_LOAD("12xf528902.u87", 0x06000, 0x2000, CRC(b2f79725) SHA1(66842130b49276bda91e211514af0ab074d2c283)) - ROM_LOAD("12xf528902.u86", 0x08000, 0x8000, CRC(547207f3) SHA1(aedae50abb4cffa0434abfe606a11fbbba037197)) + ROM_LOAD("12xf5289.u86", 0x08000, 0x8000, CRC(547207f3) SHA1(aedae50abb4cffa0434abfe606a11fbbba037197)) /* SHAPE EPROMs */ ROM_REGION(0xc000, "tile_gfx", 0 ) @@ -2299,8 +2465,8 @@ ROM_START( fvrpitch ) // MK2.5 board ROM_LOAD("1vlbh1299.u13", 0x0a000, 0x2000, CRC(6d8fb9a6) SHA1(1d8b667eea57f5a4ce173af55f58b9bf56aaa05e)) /* COLOR PROM */ - ROM_REGION(0x200, "proms", 0 ) // Using kgbird's 1CM29 PROM (colors seems correct) until original PROM is dumped. - ROM_LOAD("1cm29.u40", 0x0000, 0x0200, BAD_DUMP CRC(ef25f5cc) SHA1(51d12f4b8b8712cbd18ec97ec04e1340cd85fc67)) + ROM_REGION(0x200, "proms", 0 ) + ROM_LOAD("1cm29.u40", 0x0000, 0x0200, CRC(ef25f5cc) SHA1(51d12f4b8b8712cbd18ec97ec04e1340cd85fc67)) // Using kgbird's 1CM29 PROM until original PROM is verified ROM_END @@ -2314,7 +2480,7 @@ ROM_START( fhunter ) // Alternate label: VIDEO SOUND 2VA/S004/MEM/59/7 FP34/8E00 /* GAME EPROMs */ ROM_LOAD("2xf5196i01.u87", 0x06000, 0x2000, CRC(f9e6b760) SHA1(af7f16727e84ba8f07400f7f02302862e02d1af4)) - ROM_LOAD("2xf5196i01.u86", 0x08000, 0x8000, CRC(6971ccee) SHA1(1292cfa8125cbaec3bcd9d136cb385a3574bfa4a)) + ROM_LOAD("2xf5196.u86", 0x08000, 0x8000, CRC(6971ccee) SHA1(1292cfa8125cbaec3bcd9d136cb385a3574bfa4a)) /* SHAPE EPROMs */ ROM_REGION(0xc000, "tile_gfx", 0 ) @@ -2342,7 +2508,7 @@ ROM_START( fhuntera ) // Alternate label: VIDEO SOUND 2VA/S004/MEM/59/7 FP34/8E00 /* GAME EPROMs */ ROM_LOAD("2xf5196i02.u87", 0x06000, 0x2000, CRC(4b532a14) SHA1(98d1753ad1d0d041f81a535947ed501d0eb1d85c)) - ROM_LOAD("2xf5196i01.u86", 0x08000, 0x8000, CRC(6971ccee) SHA1(1292cfa8125cbaec3bcd9d136cb385a3574bfa4a)) + ROM_LOAD("2xf5196.u86", 0x08000, 0x8000, CRC(6971ccee) SHA1(1292cfa8125cbaec3bcd9d136cb385a3574bfa4a)) /* SHAPE EPROMs */ ROM_REGION(0xc000, "tile_gfx", 0 ) @@ -2360,6 +2526,34 @@ ROM_START( fhuntera ) ROM_END +// The Gambler (11XF528902, US) +// 92.778% +// Unhandled Mechanical meter 1 pulse: 01 > Insert note +// Unhandled Mechanical meter 3 pulse: 08 > Cashout +ROM_START( gambler ) + ROM_REGION(0x10000, "maincpu", 0 ) + /* VIDEO AND SOUND EPROM */ + ROM_LOAD("2vas004.u59", 0x02000, 0x2000, CRC(84226547) SHA1(df9c2c01a7ac4d930c06a8c4863853ddb1a2adbe)) + + /* GAME EPROMs */ + ROM_LOAD("11xf528902.u87", 0x06000, 0x2000, CRC(aaa18f7a) SHA1(23765f49fef21bae7e9af4057fee1d4ac949352c)) + ROM_LOAD("11xf5289.u86", 0x08000, 0x8000, CRC(db3dca8a) SHA1(72e00213be2406fcd7a6d93da2190624de140b1e)) + + /* SHAPE EPROMs */ + ROM_REGION(0xc000, "tile_gfx", 0 ) + ROM_LOAD("11xf5289.u20", 0x00000, 0x2000, CRC(03e2029b) SHA1(c211e1af5921e00d37438870fd00bc6990a4b248)) // unknown EPROM names, should contain VLSH or VL/SH letters on label + ROM_LOAD("11xf5289.u21", 0x02000, 0x2000, CRC(33a269ba) SHA1(0569a8370e8027e735f67a9d58fb1d327ecdd0e9)) + ROM_LOAD("11xf5289.u22", 0x04000, 0x2000, CRC(b0ab6535) SHA1(65d9cd62eb3c821bae4ab41a93aff66534ad4824)) + ROM_LOAD("11xf5289.u45", 0x06000, 0x2000, CRC(2972c767) SHA1(737a8f9a6ef6e5fee8ac9e16066d133a1b0916af)) + ROM_LOAD("11xf5289.u46", 0x08000, 0x2000, CRC(f63a608e) SHA1(51ce463b7d914539136c15ade029e96cda449b9b)) + ROM_LOAD("11xf5289.u47", 0x0a000, 0x2000, CRC(80c7f6fd) SHA1(0c5e40a10488183a9e0ddc368887b6b830d1da82)) + + /* COLOR PROM */ + ROM_REGION(0x200, "proms", 0 ) + ROM_LOAD("2cm34.u71", 0x0000, 0x0200, CRC(75814247) SHA1(9d123dadba3b5a1fd1c7f0100b255c4dd4f7e04f)) +ROM_END + + // Golden Canaries (1VXFC5462, New Zealand) // 87.30% // Unhandled Mechanical meter 2 pulse: 04 @@ -2440,10 +2634,37 @@ ROM_START( grnlizrd ) ROM_END +// K.G. Bird (3XF5264H04, US) +// 91.488% +// Unhandled Mechanical meter 1 pulse: 01 > Insert note +// Unhandled Mechanical meter 3 pulse: 08 > Cashout +ROM_START( kgbird ) + ROM_REGION(0x10000, "maincpu", 0 ) + /* VIDEO AND SOUND EPROM */ + ROM_LOAD("2vas004.u59", 0x02000, 0x2000, CRC(84226547) SHA1(df9c2c01a7ac4d930c06a8c4863853ddb1a2adbe)) + + /* GAME EPROMs */ + ROM_LOAD("3xf5264h04.u87", 0x06000, 0x2000, CRC(2ce4166c) SHA1(fd2fb2d24cf5670bc402cd25ad3cbe0117f9b618)) + ROM_LOAD("3xf5264.u86", 0x08000, 0x8000, CRC(bf66c11b) SHA1(56bc361bc8e2782ca90ddf129804759d8a86a076)) + + /* SHAPE EPROMs */ + ROM_REGION(0xc000, "tile_gfx", 0 ) + ROM_LOAD("2vlsh159.u20", 0x00000, 0x2000, CRC(a285e78d) SHA1(627019e736333af15e38ca1bb11b290926a19b20)) + ROM_LOAD("2vlsh159.u21", 0x02000, 0x2000, CRC(e5ba4fbd) SHA1(4b10fb8524af9f118c888639b17476ae2bef0100)) + ROM_LOAD("2vlsh159.u22", 0x04000, 0x2000, CRC(5614ee55) SHA1(3eb3872aa8d2b8c2bd798fd46cc715c64bf35714)) + ROM_LOAD("2vlsh159.u45", 0x06000, 0x2000, CRC(cf496cf2) SHA1(cf097835b5f3d5a656ff84063c54d6b1d40703cd)) + ROM_LOAD("2vlsh159.u46", 0x08000, 0x2000, CRC(9e183d34) SHA1(9f45f6373baf309b0e7c7a14ec3fa3a5d3e70f3e)) + ROM_LOAD("2vlsh159.u47", 0x0a000, 0x2000, CRC(f91b66ba) SHA1(4f5d0f0562c6a6029ad6d76507091a159983d6f4)) + + /* COLOR PROM */ + ROM_REGION(0x200, "proms", 0 ) + ROM_LOAD("1cm29.u71", 0x0000, 0x0200, CRC(ef25f5cc) SHA1(51d12f4b8b8712cbd18ec97ec04e1340cd85fc67)) +ROM_END + // K.G. Bird (4VXFC5341, New Zealand, 5c) // 87.98% // Unhandled Mechanical meter 2 pulse: 04 -ROM_START( kgbird ) +ROM_START( kgbirdnz ) ROM_REGION(0x10000, "maincpu", 0 ) /* VIDEO AND SOUND EPROM */ ROM_LOAD("2vas004.u59", 0x02000, 0x2000, CRC(84226547) SHA1(df9c2c01a7ac4d930c06a8c4863853ddb1a2adbe)) @@ -2456,10 +2677,10 @@ ROM_START( kgbird ) ROM_REGION(0xc000, "tile_gfx", 0 ) ROM_LOAD("1vlsh159.u20", 0x00000, 0x2000, CRC(df737d57) SHA1(2ec7efe55938ee11376d12d51516c4094ad3fc01)) ROM_LOAD("1vlsh159.u21", 0x02000, 0x2000, CRC(8e9a65d9) SHA1(e305b8d75b9666377498abf3e2801033effb969b)) - ROM_LOAD("1vlsh159.u22", 0x04000, 0x2000, CRC(5614ee55) SHA1(3eb3872aa8d2b8c2bd798fd46cc715c64bf35714)) - ROM_LOAD("1vlsh159.u45", 0x06000, 0x2000, CRC(cf496cf2) SHA1(cf097835b5f3d5a656ff84063c54d6b1d40703cd)) + ROM_LOAD("1vlsh159.u22", 0x04000, 0x2000, CRC(5614ee55) SHA1(3eb3872aa8d2b8c2bd798fd46cc715c64bf35714)) // Same as kgbird + ROM_LOAD("1vlsh159.u45", 0x06000, 0x2000, CRC(cf496cf2) SHA1(cf097835b5f3d5a656ff84063c54d6b1d40703cd)) // Same as kgbird ROM_LOAD("1vlsh159.u46", 0x08000, 0x2000, CRC(e155c8d4) SHA1(9c50152dd420d545a88eaea98c2dd2ef49cf056a)) - ROM_LOAD("1vlsh159.u47", 0x0a000, 0x2000, CRC(f91b66ba) SHA1(4f5d0f0562c6a6029ad6d76507091a159983d6f4)) + ROM_LOAD("1vlsh159.u47", 0x0a000, 0x2000, CRC(f91b66ba) SHA1(4f5d0f0562c6a6029ad6d76507091a159983d6f4)) // Same as kgbird /* COLOR PROM */ ROM_REGION(0x200, "proms", 0 ) @@ -2470,7 +2691,7 @@ ROM_END // K.G. Bird (4VXFC5341, New Zealand, 10c) // 91.97% // Unhandled Mechanical meter 2 pulse: 04 -ROM_START( kgbirda ) +ROM_START( kgbirdnza ) ROM_REGION(0x10000, "maincpu", 0 ) /* VIDEO AND SOUND EPROM */ ROM_LOAD("2vas004.u59", 0x02000, 0x2000, CRC(84226547) SHA1(df9c2c01a7ac4d930c06a8c4863853ddb1a2adbe)) @@ -2494,6 +2715,34 @@ ROM_START( kgbirda ) ROM_END +// Let's Go Fishing (5XF5196I02, US) +// 92.047% +// Unhandled Mechanical meter 1 pulse: 01 > Insert note +// Unhandled Mechanical meter 3 pulse: 08 > Cashout +ROM_START( letsgof ) + ROM_REGION(0x10000, "maincpu", 0 ) + /* VIDEO AND SOUND EPROM */ + ROM_LOAD("2vas004.u59", 0x02000, 0x2000, CRC(84226547) SHA1(df9c2c01a7ac4d930c06a8c4863853ddb1a2adbe)) + + /* GAME EPROMs */ + ROM_LOAD("5xf5196i02.u87", 0x06000, 0x2000, CRC(6f13f4a3) SHA1(95f860df94fe26aa709d335a01ae0681bc14f7da)) + ROM_LOAD("5xf5196.u86", 0x08000, 0x8000, CRC(810a2834) SHA1(3ff1f135968b5cc1052ff9b7be398d5b2adbd736)) + + /* SHAPE EPROMs */ + ROM_REGION(0xc000, "tile_gfx", 0 ) + ROM_LOAD("4vlsh293.u20", 0x00000, 0x2000, CRC(b45770cd) SHA1(cd97079070a353450d9c3e436c6ece0952cba121)) + ROM_LOAD("4vlsh293.u21", 0x02000, 0x2000, CRC(d79dc05a) SHA1(b2080ba12408e7b80512f049b17261cca537d333)) + ROM_LOAD("4vlsh293.u22", 0x04000, 0x2000, CRC(03ff1077) SHA1(0280b54d5932c9a9fe1ac7018614ba8767736072)) + ROM_LOAD("4vlsh293.u45", 0x06000, 0x2000, CRC(f4bdb0d1) SHA1(91a0eead9f398d789233b478fd2e8659d27297af)) + ROM_LOAD("4vlsh293.u46", 0x08000, 0x2000, CRC(7ece5615) SHA1(5fc5fc0a0898182a81957d5583cd992af06d9eae)) + ROM_LOAD("4vlsh293.u47", 0x0a000, 0x2000, CRC(533874dd) SHA1(520255db3a1f9538e70e90f6c96b4ba6ece488c7)) + + /* COLOR PROM */ + ROM_REGION(0x200, "proms", 0 ) + ROM_LOAD("1cm48.u71", 0x0000, 0x0200, CRC(81daeeb0) SHA1(7dfe198c6def5c4ae4ecac488d65c2911fb3a890)) +ROM_END + + // Phantom Pays (4VXFC5431, New Zealand) // 91.95% // Unhandled Mechanical meter 2 pulse: 04 @@ -2571,7 +2820,35 @@ ROM_START( teqsun ) // MK2.5 board /* COLOR PROM */ ROM_REGION(0x200, "proms", 0 ) - ROM_LOAD("1cm29.u40", 0x0000, 0x0200, BAD_DUMP CRC(ef25f5cc) SHA1(51d12f4b8b8712cbd18ec97ec04e1340cd85fc67)) // Using kgbird's 1CM29 PROM until original PROM is dumped - part number is unknown (no label) + ROM_LOAD("1cm29.u40", 0x0000, 0x0200, CRC(ef25f5cc) SHA1(51d12f4b8b8712cbd18ec97ec04e1340cd85fc67)) // Using kgbird's 1CM29 PROM until original PROM is verified +ROM_END + + +// Thunder Heart (13XF528902, US) +// 92.268% +// Unhandled Mechanical meter 1 pulse: 01 > Insert note +// Unhandled Mechanical meter 3 pulse: 08 > Cashout +ROM_START( thundhrt ) + ROM_REGION(0x10000, "maincpu", 0 ) + /* VIDEO AND SOUND EPROM */ + ROM_LOAD("2vas004.u59", 0x02000, 0x2000, CRC(84226547) SHA1(df9c2c01a7ac4d930c06a8c4863853ddb1a2adbe)) + + /* GAME EPROMs */ + ROM_LOAD("13xf528902.u87", 0x06000, 0x2000, CRC(81297478) SHA1(70f1cc54649adec088b5e3bab677e908f6441b1f)) + ROM_LOAD("13xf5289.u86", 0x08000, 0x8000, CRC(2dc5c84f) SHA1(2b8b529470cc6e78cb988b247308532f364ca7b4)) + + /* SHAPE EPROMs */ + ROM_REGION(0xc000, "tile_gfx", 0 ) + ROM_LOAD("13xf5289.u20", 0x00000, 0x2000, CRC(7ee21aaf) SHA1(38c3fc4ed42e93b75ad7b4937284324f2f3f9c1e)) // unknown EPROM names, should contain VLSH or VL/SH letters on label + ROM_LOAD("13xf5289.u21", 0x02000, 0x2000, CRC(3c961484) SHA1(902636c402629054bf7bf7e32bdeecdc4a61620c)) + ROM_LOAD("13xf5289.u22", 0x04000, 0x2000, CRC(bd2e1cfb) SHA1(048edef79ba66cd09adc316401a14504ba87698b)) + ROM_LOAD("13xf5289.u45", 0x06000, 0x2000, CRC(9909ce2f) SHA1(8ad886ec2de0e54bf0f9b2e40ff4e304e811681d)) + ROM_LOAD("13xf5289.u46", 0x08000, 0x2000, CRC(019bf600) SHA1(b92c5dc432084313480e56def1ca1af2f0fa9381)) + ROM_LOAD("13xf5289.u47", 0x0a000, 0x2000, CRC(f861f64d) SHA1(e033ebcc0cfb160fb04752c067febb47f0735041)) + + /* COLOR PROM */ + ROM_REGION(0x200, "proms", 0 ) + ROM_LOAD("2cm34.u71", 0x0000, 0x0200, CRC(75814247) SHA1(9d123dadba3b5a1fd1c7f0100b255c4dd4f7e04f)) ROM_END @@ -2598,7 +2875,63 @@ ROM_START( topgear ) /* COLOR PROM */ ROM_REGION(0x200, "proms", 0 ) - ROM_LOAD("2cm33.u71", 0x0000, 0x0200, BAD_DUMP CRC(ef25f5cc) SHA1(51d12f4b8b8712cbd18ec97ec04e1340cd85fc67)) // Using kgbird's 1CM29 PROM until topgear's 2CM33 PROM is dumped + ROM_LOAD("2cm33.u71", 0x0000, 0x0200, BAD_DUMP CRC(ef25f5cc) SHA1(51d12f4b8b8712cbd18ec97ec04e1340cd85fc67)) // Using kgbird's 1CM29 PROM until 2CM33 is dumped +ROM_END + + +// Trick or Treat (7XF5183H04, US) +// 92.066% +// Unhandled Mechanical meter 1 pulse: 01 > Insert note +// Unhandled Mechanical meter 3 pulse: 08 > Cashout +ROM_START( trktreat ) + ROM_REGION(0x10000, "maincpu", 0 ) + /* VIDEO AND SOUND EPROM */ + ROM_LOAD("2vas004.u59", 0x02000, 0x2000, CRC(84226547) SHA1(df9c2c01a7ac4d930c06a8c4863853ddb1a2adbe)) + + /* GAME EPROMs */ + ROM_LOAD("7xf5183h04.u87", 0x06000, 0x2000, CRC(e3582474) SHA1(db5ac7275fa96bd19be89208948a3fe51ad70711)) + ROM_LOAD("7xf5183.u86", 0x08000, 0x8000, CRC(2175ec42) SHA1(eb7808da9d5492f6d568e8bf0d11fd60dbcfabf8)) + + /* SHAPE EPROMs */ + ROM_REGION(0xc000, "tile_gfx", 0 ) + ROM_LOAD("7xf5183.u20", 0x00000, 0x2000, CRC(bc3fcf32) SHA1(1261fd76a8dc55b339d454fc33cc84446a7b9f6b)) // unknown EPROM names, should contain VLSH or VL/SH letters on label + ROM_LOAD("7xf5183.u21", 0x02000, 0x2000, BAD_DUMP CRC(e8c3be84) SHA1(ce45609c1646639d60c0691db0d2714778b10833)) + ROM_LOAD("7xf5183.u22", 0x04000, 0x2000, CRC(c7c240e2) SHA1(4ba20491626b899b57a8f97a2e6c25c99c619d20)) + ROM_LOAD("7xf5183.u45", 0x06000, 0x2000, CRC(d744dc68) SHA1(e17389ac2cfe955cfc3c89443ef93dc0b8ab971e)) + ROM_LOAD("7xf5183.u46", 0x08000, 0x2000, CRC(8ffe4651) SHA1(e41a7ce44b5b313dd207d046a28f745c1b73f5ff)) + ROM_LOAD("7xf5183.u47", 0x0a000, 0x2000, CRC(22ef3968) SHA1(0bfd11c2b9446670447807b6891bfa1db9204c52)) + + /* COLOR PROM */ + ROM_REGION(0x200, "proms", 0 ) + ROM_LOAD("trktreat.u71", 0x0000, 0x0200, CRC(6309e6a0) SHA1(7b2bc4ced79d070e241331dc56270fe9542aa4ce)) +ROM_END + + +// White Tiger (4XF5139I08, US) +// 90.082% +// Unhandled Mechanical meter 1 pulse: 01 > Insert note +// Unhandled Mechanical meter 3 pulse: 08 > Cashout +ROM_START( wtiger ) + ROM_REGION(0x10000, "maincpu", 0 ) + /* VIDEO AND SOUND EPROM */ + ROM_LOAD("2vas004.u59", 0x02000, 0x2000, CRC(84226547) SHA1(df9c2c01a7ac4d930c06a8c4863853ddb1a2adbe)) + + /* GAME EPROMs */ + ROM_LOAD("4xf5139i08.u87", 0x06000, 0x2000, CRC(fa8b3167) SHA1(0c69a8f071a694d18b7e05d55327802da567a487)) + ROM_LOAD("4xf5139.u86", 0x08000, 0x8000, CRC(fd498a87) SHA1(83cd7c6296f2624a97ce11da64768e06f3244a1f)) + + /* SHAPE EPROMs */ + ROM_REGION(0xc000, "tile_gfx", 0 ) + ROM_LOAD("3vlsh157.u20", 0x00000, 0x2000, CRC(b8a5d26a) SHA1(328d5df637f95883d8249897493495f1b83eca4a)) + ROM_LOAD("3vlsh157.u21", 0x02000, 0x2000, CRC(9f090dac) SHA1(fd5f6bf45c1160cddc10229b6a84d9a7e3339da3)) + ROM_LOAD("3vlsh157.u22", 0x04000, 0x2000, CRC(19a6e4f2) SHA1(9af51152706006f09ba434d07bd9663676becd75)) + ROM_LOAD("3vlsh157.u45", 0x06000, 0x2000, CRC(65f42ea7) SHA1(3953684cd47d319d77963a6ed203f41c1e91edf9)) + ROM_LOAD("3vlsh157.u46", 0x08000, 0x2000, CRC(c0e85f97) SHA1(0e55bff8d5c9400475a8eab922613098126f1e6d)) + ROM_LOAD("3vlsh157.u47", 0x0a000, 0x2000, CRC(8d922142) SHA1(efe471b6c6f1f1dbaa8b26f62e36ece96e69a26a)) + + /* COLOR PROM */ + ROM_REGION(0x200, "proms", 0 ) + ROM_LOAD("2cm34.u71", 0x0000, 0x0200, CRC(75814247) SHA1(9d123dadba3b5a1fd1c7f0100b255c4dd4f7e04f)) ROM_END @@ -2616,12 +2949,12 @@ ROM_START( wtigernz ) /* SHAPE EPROMs */ ROM_REGION(0xc000, "tile_gfx", 0 ) - ROM_LOAD("1vlsh157.u20", 0x00000, 0x2000, BAD_DUMP CRC(08624625) SHA1(3c052220b171f8ef009484f0ea38074b538f542b)) - ROM_LOAD("1vlsh157.u21", 0x02000, 0x2000, BAD_DUMP CRC(4bce2fa1) SHA1(8c25cd51ea61a4a9ff1238d1617e38b2cd298c53)) - ROM_LOAD("1vlsh157.u22", 0x04000, 0x2000, BAD_DUMP CRC(da141f20) SHA1(e0ebeeff2e085a30032d29748f5aa6116428aaa8)) - ROM_LOAD("1vlsh157.u45", 0x06000, 0x2000, BAD_DUMP CRC(13783f87) SHA1(662f6afdd027c3d139d7dfcd45a4a2a5a2bf2101)) - ROM_LOAD("1vlsh157.u46", 0x08000, 0x2000, BAD_DUMP CRC(7dfd06ec) SHA1(51fbc3d24e270edb8de432a99ca28695e42e72a6)) - ROM_LOAD("1vlsh157.u47", 0x0a000, 0x2000, BAD_DUMP CRC(177a45ea) SHA1(6b044f88c79de571a007fb71ff2f99587babe474)) + ROM_LOAD("1vlsh157.u20", 0x00000, 0x2000, BAD_DUMP CRC(857f2a6e) SHA1(c59656874dd778f876f30cd7371be81053981088)) + ROM_LOAD("1vlsh157.u21", 0x02000, 0x2000, CRC(4bce2fa1) SHA1(8c25cd51ea61a4a9ff1238d1617e38b2cd298c53)) + ROM_LOAD("1vlsh157.u22", 0x04000, 0x2000, CRC(da141f20) SHA1(e0ebeeff2e085a30032d29748f5aa6116428aaa8)) + ROM_LOAD("1vlsh157.u45", 0x06000, 0x2000, CRC(13783f87) SHA1(662f6afdd027c3d139d7dfcd45a4a2a5a2bf2101)) + ROM_LOAD("1vlsh157.u46", 0x08000, 0x2000, CRC(7dfd06ec) SHA1(51fbc3d24e270edb8de432a99ca28695e42e72a6)) + ROM_LOAD("1vlsh157.u47", 0x0a000, 0x2000, CRC(177a45ea) SHA1(6b044f88c79de571a007fb71ff2f99587babe474)) /* COLOR PROM */ ROM_REGION(0x200, "proms", 0 ) @@ -2732,35 +3065,45 @@ ROM_END } // anonymous namespace -GAMEL( 1996, 3bagflvt, 0, aristmk4, 3bagflvt, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "3 Bags Full (5VXFC790, Victoria)", 0, layout_3bagflvt ) // 5c, $1 = 20 credits -GAMEL( 1996, 3bagflnz, 3bagflvt, aristmk4, 3bagflnz, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "3 Bags Full (3VXFC5345, New Zealand)", 0, layout_3bagflnz ) // 5c, $2 = 40 credits -GAMEL( 1996, arcwins, 0, aristmk4, arcwins, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "Arctic Wins (4XF5227H03, US)", 0, layout_arcwins ) // Multi-denomination -GAMEL( 1999, autmoon, 0, aristmk4, arimk4nz, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "Autumn Moon (1VXFC5488, New Zealand)", 0, layout_arimk4nz ) // 5c, $2 = 40 credits -GAMEL( 1995, blkrhino, 0, aristmk4, aristmk4, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "Black Rhino (4VXFC830, NSW)", 0, layout_aristmk4 ) // 5c, $1 = 20 credits -GAMEL( 1996, blkrhinonz, blkrhino, aristmk4, arimk4nz, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "Black Rhino (3VXFC5344, New Zealand)", 0, layout_arimk4nz ) // 5c, $2 = 40 credits -GAMEL( 1986, cgold, 0, aristmk4, topgear, aristmk4_state, init_aristmk4, ROT0, "Ainsworth Nominees P.L.", "Caribbean Gold (3VXEC449, US)", 0, layout_topgear ) // 25c, 25c = 1 credit -GAMEL( 1995, cgold2, 0, aristmk4, cgold2, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "Caribbean Gold II (3XF5182H04, US)", 0, layout_cgold2 ) // Multi-denomination -GAMEL( 1986, clkwise, 0, aristmk4, topgear, aristmk4_state, init_aristmk4, ROT0, "Ainsworth Nominees P.L.", "Clockwise (1VXEC534, New Zealand)", MACHINE_NOT_WORKING, layout_topgear ) -GAMEL( 2000, coralr2, 0, aristmk4, arimk4nz, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "Coral Riches II (1VXFC5472, New Zealand)", 0, layout_arimk4nz ) // 2c, $2 = 100 credits -GAMEL( 1995, eforest, 0, aristmk4, aristmk4, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "Enchanted Forest (4VXFC818, NSW)", 0, layout_aristmk4 ) // 10c, $1 = 10 credits -GAMEL( 1996, eforestnz, eforest, aristmk4, arimk4nz, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "Enchanted Forest (3VXFC5343, New Zealand)", 0, layout_arimk4nz ) // 5c, $2 = 40 credits -GAMEL( 1996, eforestu, eforest, aristmk4, eforestu, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "Enchanted Forest (12XF528902, US)", 0, layout_eforestu ) // Multi-denomination -GAMEL( 1998, ffortune, 0, aristmk4, goldenc, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "Fantasy Fortune (1VXFC5460, New Zealand)", 0, layout_goldenc ) // 5c, $2 = 40 credits -GAMEL( 1996, fhunter, 0, aristmk4, fhunter, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "Fortune Hunter (2XF5196I01, US)", 0, layout_fhunter ) // Multi-denomination -GAMEL( 1996, fhuntera, fhunter, aristmk4, fhunter, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "Fortune Hunter (2XF5196I02, US)", 0, layout_fhunter ) // Multi-denomination -GAMEL( 1986, fvrpitch, 0, aristmk4, fvrpitch, aristmk4_state, init_aristmk4, ROT0, "Ainsworth Nominees P.L.", "Fever Pitch (2VXEC534, NSW)", 0, layout_fvrpitch ) // 5c, $1 = 20 credits -GAMEL( 1996, goldenc, 0, aristmk4, goldenc, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "Golden Canaries (1VXFC5462, New Zealand)", 0, layout_goldenc ) // 2c, $2 = 100 credits -GAMEL( 1986, gldnpkr, 0, aristmk4_poker, gldnpkr, aristmk4_state, init_aristmk4, ROT0, "Ainsworth Nominees P.L.", "Golden Poker (8VXEC037, New Zealand)", 0, layout_gldnpkr ) // 20c, 20c = 1 credit -GAMEL( 1986, gtroppo, 0, aristmk4, topgear, aristmk4_state, init_aristmk4, ROT0, "Ainsworth Nominees P.L.", "Gone Troppo (1VXEC542, New Zealand)", 0, layout_topgear ) // 20c, 20c = 1 credit -GAMEL( 1994, grnlizrd, 0, aristmk4, grnlizrd, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "Green Lizard (4VXFC811, NSW)", 0, layout_grnlizrd ) // 5c, $1 = 20 credits -GAMEL( 1993, gunnrose, 0, aristmk4_poker, gunnrose, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "Guns and Roses (C606191SMP, NSW)", MACHINE_WRONG_COLORS, layout_gunnrose ) // 20c, $1 = 5 credits -GAMEL( 1996, kgbird, 0, aristmk4, kgbird, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "K.G. Bird (4VXFC5341, New Zealand, 5c)", 0, layout_kgbird ) // 5c, $2 = 40 credits -GAMEL( 1996, kgbirda, kgbird, aristmk4, kgbird, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "K.G. Bird (4VXFC5341, New Zealand, 10c)", 0, layout_kgbird ) // 10c, $2 = 20 credits -GAMEL( 1998, phantomp, 0, aristmk4, arimk4nz, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "Phantom Pays (4VXFC5431, New Zealand)", 0, layout_arimk4nz ) // 5c, $2 = 40 credits -GAMEL( 1998, swtht2nz, 0, aristmk4, arimk4nz, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "Sweethearts II (1VXFC5461, New Zealand)", 0, layout_arimk4nz ) // 5c, $2 = 40 credits -GAMEL( 1993, teqsun, 0, aristmk4, teqsun, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "Tequila Sunrise (1VXFC613, NSW)", 0, layout_teqsun ) // 5c, $1 = 20 credits -GAMEL( 1996, topgear, 0, aristmk4, topgear, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "Top Gear (4VXFC969, New Zealand)", 0, layout_topgear ) // 10c, 10c = 1 credit -GAMEL( 1996, wtigernz, 0, aristmk4, arimk4nz, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "White Tiger (3VXFC5342, New Zealand)", 0, layout_arimk4nz ) // 5c, $2 = 40 credits -GAMEL( 1997, wildone, 0, aristmk4_poker, wildone, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "Wild One (4VXEC5357, New Zealand)", 0, layout_wildone ) // 20c, $2 = 10 credits - -GAMEL( 1985, 86lions, 0, _86lions, aristmk4, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "86 Lions", MACHINE_NOT_WORKING, layout_topgear ) +GAMEL( 1996, 3bagfull, 0, aristmk4, 3bagfull, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "3 Bags Full (5VXFC790, Victoria)", 0, layout_3bagfull ) // 5c, $1 = 20 credits +GAMEL( 1996, 3bagfullnz, 3bagfull, aristmk4, 3bagfullnz, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "3 Bags Full (3VXFC5345, New Zealand)", 0, layout_3bagfullnz ) // 5c, $2 = 40 credits +GAMEL( 1998, 3bagfullu, 3bagfull, aristmk4, wtiger, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "3 Bags Full (4XF5196I02, US)", 0, layout_fhunter ) // Multi-denomination +GAMEL( 1996, arcwins, 0, aristmk4, arcwins, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "Arctic Wins (4XF5227H04, US)", 0, layout_arcwins ) // Multi-denomination +GAMEL( 1996, arcwinsa, arcwins, aristmk4, arcwins, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "Arctic Wins (4XF5227H03, US)", 0, layout_arcwins ) // Multi-denomination +GAMEL( 1999, autmoon, 0, aristmk4, arimk4nz, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "Autumn Moon (1VXFC5488, New Zealand)", 0, layout_arimk4nz ) // 5c, $2 = 40 credits +GAMEL( 1995, blkrhino, 0, aristmk4, aristmk4, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "Black Rhino (4VXFC830, NSW)", 0, layout_aristmk4 ) // 5c, $1 = 20 credits +GAMEL( 1996, blkrhinonz, blkrhino, aristmk4, arimk4nz, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "Black Rhino (3VXFC5344, New Zealand)", 0, layout_arimk4nz ) // 5c, $2 = 40 credits +GAMEL( 1986, cgold, 0, aristmk4, topgear, aristmk4_state, init_aristmk4, ROT0, "Ainsworth Nominees P.L.", "Caribbean Gold (3VXEC449, US)", 0, layout_topgear ) // 25c, 25c = 1 credit +GAMEL( 1996, cgold2, 0, aristmk4, cgold2, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "Caribbean Gold II (4XF5182H04, US)", 0, layout_cgold2 ) // Multi-denomination +GAMEL( 1995, cgold2a, cgold2, aristmk4, cgold2, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "Caribbean Gold II (3XF5182H04, US)", 0, layout_cgold2 ) // Multi-denomination +GAMEL( 1986, clkwise, 0, aristmk4, topgear, aristmk4_state, init_aristmk4, ROT0, "Ainsworth Nominees P.L.", "Clockwise (1VXEC534, New Zealand)", MACHINE_NOT_WORKING, layout_topgear ) +GAMEL( 2000, coralr2, 0, aristmk4, arimk4nz, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "Coral Riches II (1VXFC5472, New Zealand)", 0, layout_arimk4nz ) // 2c, $2 = 100 credits +GAMEL( 1996, dblagent, 0, aristmk4, arcwins, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "Double Agent (3XF5287H04, US)", 0, layout_arcwins ) // Multi-denomination +GAMEL( 1995, eforest, 0, aristmk4, aristmk4, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "Enchanted Forest (4VXFC818, NSW)", 0, layout_aristmk4 ) // 10c, $1 = 10 credits +GAMEL( 1996, eforestnz, eforest, aristmk4, arimk4nz, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "Enchanted Forest (3VXFC5343, New Zealand)", 0, layout_arimk4nz ) // 5c, $2 = 40 credits +GAMEL( 1996, eforestu, eforest, aristmk4, eforestu, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "Enchanted Forest (12XF528902, US)", 0, layout_eforestu ) // Multi-denomination +GAMEL( 1998, ffortune, 0, aristmk4, goldenc, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "Fantasy Fortune (1VXFC5460, New Zealand)", 0, layout_goldenc ) // 5c, $2 = 40 credits +GAMEL( 1996, fhunter, 0, aristmk4, wtiger, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "Fortune Hunter (2XF5196I01, US)", 0, layout_fhunter ) // Multi-denomination +GAMEL( 1996, fhuntera, fhunter, aristmk4, wtiger, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "Fortune Hunter (2XF5196I02, US)", 0, layout_fhunter ) // Multi-denomination +GAMEL( 1986, fvrpitch, 0, aristmk4, fvrpitch, aristmk4_state, init_aristmk4, ROT0, "Ainsworth Nominees P.L.", "Fever Pitch (2VXEC534, NSW)", 0, layout_fvrpitch ) // 5c, $1 = 20 credits +GAMEL( 1996, gambler, 0, aristmk4, eforestu, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "The Gambler (11XF528902, US)", 0, layout_eforestu ) // Multi-denomination +GAMEL( 1996, goldenc, 0, aristmk4, goldenc, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "Golden Canaries (1VXFC5462, New Zealand)", 0, layout_goldenc ) // 2c, $2 = 100 credits +GAMEL( 1986, gldnpkr, 0, aristmk4_poker, gldnpkr, aristmk4_state, init_aristmk4, ROT0, "Ainsworth Nominees P.L.", "Golden Poker (8VXEC037, New Zealand)", 0, layout_gldnpkr ) // 20c, 20c = 1 credit +GAMEL( 1986, gtroppo, 0, aristmk4, topgear, aristmk4_state, init_aristmk4, ROT0, "Ainsworth Nominees P.L.", "Gone Troppo (1VXEC542, New Zealand)", 0, layout_topgear ) // 20c, 20c = 1 credit +GAMEL( 1994, grnlizrd, 0, aristmk4, grnlizrd, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "Green Lizard (4VXFC811, NSW)", 0, layout_grnlizrd ) // 5c, $1 = 20 credits +GAMEL( 1993, gunnrose, 0, aristmk4_poker, gunnrose, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "Guns and Roses (C606191SMP, NSW)", MACHINE_WRONG_COLORS, layout_gunnrose ) // 20c, $1 = 5 credits +GAMEL( 1996, kgbird, 0, aristmk4, arcwins, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "K.G. Bird (3XF5264H04, US)", 0, layout_arcwins ) // Multi-denomination +GAMEL( 1996, kgbirdnz, kgbird, aristmk4, kgbirdnz, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "K.G. Bird (4VXFC5341, New Zealand, 5c)", 0, layout_kgbirdnz ) // 5c, $2 = 40 credits +GAMEL( 1996, kgbirdnza, kgbird, aristmk4, kgbirdnz, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "K.G. Bird (4VXFC5341, New Zealand, 10c)", 0, layout_kgbirdnz ) // 10c, $2 = 20 credits +GAMEL( 1998, letsgof, 0, aristmk4, wtiger, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "Let's Go Fishing (5XF5196I02, US)", 0, layout_fhunter ) // Multi-denomination +GAMEL( 1998, phantomp, 0, aristmk4, arimk4nz, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "Phantom Pays (4VXFC5431, New Zealand)", 0, layout_arimk4nz ) // 5c, $2 = 40 credits +GAMEL( 1998, swtht2nz, 0, aristmk4, arimk4nz, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "Sweethearts II (1VXFC5461, New Zealand)", 0, layout_arimk4nz ) // 5c, $2 = 40 credits +GAMEL( 1993, teqsun, 0, aristmk4, teqsun, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "Tequila Sunrise (1VXFC613, NSW)", 0, layout_teqsun ) // 5c, $1 = 20 credits +GAMEL( 1998, thundhrt, 0, aristmk4, thundhrt, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "Thunder Heart (13XF528902, US)", 0, layout_eforestu ) // Multi-denomination +GAMEL( 1996, trktreat, 0, aristmk4, cgold2, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "Trick or Treat (7XF5183H04, US)", MACHINE_IMPERFECT_GRAPHICS, layout_cgold2 ) // Multi-denomination +GAMEL( 1996, topgear, 0, aristmk4, topgear, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "Top Gear (4VXFC969, New Zealand)", 0, layout_topgear ) // 10c, 10c = 1 credit +GAMEL( 1995, wtiger, 0, aristmk4, wtiger, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "White Tiger (4XF5139I08, US)", 0, layout_fhunter ) // Multi-denomination +GAMEL( 1996, wtigernz, wtiger, aristmk4, arimk4nz, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "White Tiger (3VXFC5342, New Zealand)", 0, layout_arimk4nz ) // 5c, $2 = 40 credits +GAMEL( 1997, wildone, 0, aristmk4_poker, wildone, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "Wild One (4VXEC5357, New Zealand)", 0, layout_wildone ) // 20c, $2 = 10 credits + +GAMEL( 1985, 86lions, 0, _86lions, aristmk4, aristmk4_state, init_aristmk4, ROT0, "Aristocrat", "86 Lions", MACHINE_NOT_WORKING, layout_topgear ) diff --git a/src/mame/aristocrat/aristmk6.cpp b/src/mame/aristocrat/aristmk6.cpp index ab1f7c90001bc..c3333ef88a077 100644 --- a/src/mame/aristocrat/aristmk6.cpp +++ b/src/mame/aristocrat/aristmk6.cpp @@ -707,20 +707,23 @@ typically at around 0x3100-0x3200, 0x3600-0x3700 for Left/Right BIOS dumps (2 fi ROM_LOAD32_WORD_BIOS( 38, "01.03.03a_right.u83", 0x0000000, 0x0200000, CRC(253415f4) SHA1(50dc77ad87bc6be1932dda2fd4865602c8c49729) ) \ ROM_LOAD32_WORD_BIOS( 38, "01.03.03a_left.u70", 0x0000002, 0x0200000, CRC(4ab5dd40) SHA1(a6812cc624e6a98ea7b0697e2797fe10ba8e303e) ) \ ROM_SYSTEM_BIOS( 39, "us13", "Aristocrat MK6 Base (01.02.08, US)" ) \ - ROM_LOAD32_WORD_BIOS( 39, "01.02.08_right.u2", 0x0000000, 0x0100000, CRC(aaaeac8c) SHA1(a565e5fcb4f55f31e7d36be40eec234248a66efd) ) \ + ROM_LOAD32_WORD_BIOS( 39, "01.02.08_right.u2", 0x0000000, 0x0100000, CRC(aaaeac8c) SHA1(a565e5fcb4f55f31e7d36be40eec234248a66efd) ) /* From dbldolphu */ \ ROM_LOAD32_WORD_BIOS( 39, "01.02.08_left.u3", 0x0000002, 0x0100000, CRC(f29fd1bf) SHA1(33e043d2616e10a1c7a0936c3d208f9bcc2ca6f3) ) \ - ROM_SYSTEM_BIOS( 40, "set-us1", "Aristocrat MK6 Set Chips (06.03.04, US)" ) \ - ROM_LOAD32_WORD_BIOS( 40, "06.03.04_right.u2", 0x0000000, 0x0100000, CRC(6f5f5ef1) SHA1(70a43fba4de47ed8dcf38b25eafd5873f3428e72) ) \ - ROM_LOAD32_WORD_BIOS( 40, "06.03.04_left.u3", 0x0000002, 0x0100000, CRC(7034f26b) SHA1(7be78f23bec38d05240cdfe1186ec0c8291f5a1c) ) \ - ROM_SYSTEM_BIOS( 41, "set-us2", "Aristocrat MK6 Set Chips (06.03.03, US)" ) \ - ROM_LOAD32_WORD_BIOS( 41, "06.03.03_right.u2", 0x0000000, 0x0100000, CRC(98763498) SHA1(246e95cc12eb34f946b2f4938c59217718f6d841) ) \ - ROM_LOAD32_WORD_BIOS( 41, "06.03.03_left.u3", 0x0000002, 0x0100000, CRC(a6924238) SHA1(b71ab39bf9c1fdbab556028138749e8c040ec83c) ) \ - ROM_SYSTEM_BIOS( 42, "set-us3", "Aristocrat MK6 Set Chips (06.02.20, US)" ) \ - ROM_LOAD32_WORD_BIOS( 42, "06.02.20_right.u83", 0x0000000, 0x0100000, CRC(e4001f60) SHA1(5da34efb1ac0f7c84a48e09363d20cfecda4bcf1) ) \ - ROM_LOAD32_WORD_BIOS( 42, "06.02.20_left.u70", 0x0000002, 0x0100000, CRC(199ed3b9) SHA1(e3ee81ffd713f09e35a10c38e4f59282e2c5cd30) ) \ - ROM_SYSTEM_BIOS( 43, "set-us4", "Aristocrat MK6 Set Chips (06.02.04, US)" ) \ - ROM_LOAD32_WORD_BIOS( 43, "06.02.04_right.u2", 0x0000000, 0x0100000, CRC(1cf5a853) SHA1(64d17efcce702df7a0b0e151293199478e25226d) ) \ - ROM_LOAD32_WORD_BIOS( 43, "06.02.04_left.u3", 0x0000002, 0x0100000, CRC(117b75f2) SHA1(2129286853d3c50b8a943b71334d4ef6b98adc05) ) + ROM_SYSTEM_BIOS( 40, "us14", "Aristocrat MK6 Base (01.02.02, US)" ) \ + ROM_LOAD32_WORD_BIOS( 40, "01.02.02_right.u2", 0x0000000, 0x0100000, CRC(e920e940) SHA1(52e28d4765a3e953bb70dc4ed13d96d4180be996) ) /* From sctmagce */ \ + ROM_LOAD32_WORD_BIOS( 40, "01.02.02_left.u3", 0x0000002, 0x0100000, CRC(1d0f4093) SHA1(17d6328dba9826b58f39393ca2f2daac1b7161ef) ) \ + ROM_SYSTEM_BIOS( 41, "set-us1", "Aristocrat MK6 Set Chips (06.03.04, US)" ) \ + ROM_LOAD32_WORD_BIOS( 41, "06.03.04_right.u2", 0x0000000, 0x0100000, CRC(6f5f5ef1) SHA1(70a43fba4de47ed8dcf38b25eafd5873f3428e72) ) \ + ROM_LOAD32_WORD_BIOS( 41, "06.03.04_left.u3", 0x0000002, 0x0100000, CRC(7034f26b) SHA1(7be78f23bec38d05240cdfe1186ec0c8291f5a1c) ) \ + ROM_SYSTEM_BIOS( 42, "set-us2", "Aristocrat MK6 Set Chips (06.03.03, US)" ) \ + ROM_LOAD32_WORD_BIOS( 42, "06.03.03_right.u2", 0x0000000, 0x0100000, CRC(98763498) SHA1(246e95cc12eb34f946b2f4938c59217718f6d841) ) \ + ROM_LOAD32_WORD_BIOS( 42, "06.03.03_left.u3", 0x0000002, 0x0100000, CRC(a6924238) SHA1(b71ab39bf9c1fdbab556028138749e8c040ec83c) ) \ + ROM_SYSTEM_BIOS( 43, "set-us3", "Aristocrat MK6 Set Chips (06.02.20, US)" ) \ + ROM_LOAD32_WORD_BIOS( 43, "06.02.20_right.u83", 0x0000000, 0x0100000, CRC(e4001f60) SHA1(5da34efb1ac0f7c84a48e09363d20cfecda4bcf1) ) \ + ROM_LOAD32_WORD_BIOS( 43, "06.02.20_left.u70", 0x0000002, 0x0100000, CRC(199ed3b9) SHA1(e3ee81ffd713f09e35a10c38e4f59282e2c5cd30) ) \ + ROM_SYSTEM_BIOS( 44, "set-us4", "Aristocrat MK6 Set Chips (06.02.04, US)" ) \ + ROM_LOAD32_WORD_BIOS( 44, "06.02.04_right.u2", 0x0000000, 0x0100000, CRC(1cf5a853) SHA1(64d17efcce702df7a0b0e151293199478e25226d) ) \ + ROM_LOAD32_WORD_BIOS( 44, "06.02.04_left.u3", 0x0000002, 0x0100000, CRC(117b75f2) SHA1(2129286853d3c50b8a943b71334d4ef6b98adc05) ) ROM_START( aristmk6 ) @@ -2221,7 +2224,7 @@ ROM_END // 92.723% 02 // 94.639% 03 // 97.838% 04 -ROM_START( dblagent ) +ROM_START( dagenta6 ) ARISTMK6_BIOS ROM_REGION64_LE( 0x4000000, "game_rom", ROMREGION_ERASEFF) /* @@ -2267,6 +2270,24 @@ ROM_START( dbldolphq ) ROM_END +// 0351006 / MV4132 +// Double Dolphins / Local / A - 04/06/01 +// Variations (% and NO): +// 87.957% 99 +// 90.009% 01 +// 92.182% 02 +// 94.892% 03 +// 97.279% 04 +ROM_START( dbldolphu ) + ARISTMK6_BIOS + ROM_REGION64_LE( 0x4000000, "game_rom", ROMREGION_ERASEFF) + ROM_LOAD32_WORD("0351006.u86", 0x0000000, 0x0400000, CRC(e952bdbd) SHA1(b0b16d3f66102dafbeb160bf831136e0d8ebc00d) ) + ROM_LOAD32_WORD("0351006.u73", 0x0000002, 0x0400000, CRC(dcd78f77) SHA1(15d19b029904fec7af9fb7f671e588cbff928712) ) + ROM_LOAD32_WORD("0351006.u85", 0x0800000, 0x0400000, CRC(09eb2a85) SHA1(3e5615dd2fac22f0d1d53fcb99ae9c8f86b7df8d) ) + ROM_LOAD32_WORD("0351006.u72", 0x0800002, 0x0400000, CRC(3cee9404) SHA1(2a29da85469a1f8644ae6c22b40f143e9af9f997) ) +ROM_END + + // 10173511 / 761 // Dragon Lord / Local / A - 22/06/04 // Variations (% and NO): @@ -5107,6 +5128,27 @@ ROM_START( rumbreel ) ROM_END +// 0251026 / US001 +// Scatter Magic / Local / A - 11/12/01 +// Cash Express Hyperlink game +// Alternate combination: US001/1 +// Variations (% and NO): +// 87.853% 99 (9 line) 87.801% 99 (20 line) +// 90.112% 01 (9 line) 89.984% 01 (20 line) +// 92.025% 02 (9 line) 92.041% 02 (20 line) +// 94.761% 03 (9 line) 94.763% 03 (20 line) +// 96.974% 04 (9 line) 96.950% 04 (20 line) +// 82.082% 05 (9 line) 82.078% 05 (20 line) (Hyperlink) +ROM_START( sctmagce ) + ARISTMK6_BIOS + ROM_REGION64_LE( 0x4000000, "game_rom", ROMREGION_ERASEFF) + ROM_LOAD32_WORD("0251026.u86", 0x0000000, 0x0400000, CRC(956b84fb) SHA1(3e5827c9c83cfccbbbd5fa41da7c51eb7644e1ed) ) + ROM_LOAD32_WORD("0251026.u73", 0x0000002, 0x0400000, CRC(3b10f6f1) SHA1(14c5d8f51487449dedfbe17013f34a1e16ae39db) ) + ROM_LOAD32_WORD("0251026.u85", 0x0800000, 0x0400000, CRC(4bf8f9e7) SHA1(9771057157e8ca4fefa032a0e6d0e71d551a48da) ) + ROM_LOAD32_WORD("0251026.u72", 0x0800002, 0x0400000, CRC(cd0f12d3) SHA1(23033b9d0b6a62e9a96eb1732cc01cbb348fdd44) ) +ROM_END + + // 10001311 / 660 // Scatter Magic 2 / Local / C- 24/08/00 // 'Scatter Magic II' on artwork, 'Scatter Magic 2' in ROM @@ -6545,338 +6587,340 @@ GAME( 2000, aristmk6, 0, aristmk6, aristmk6, aristmk6_state, empty_init // Dates listed below are for the combination (reel layout), not release dates // Hyperlink jackpot versions e.g. Cash Express, Fast Lane, Jackpot Carnival and Maximillions are considered clones if an original set exists -GAME( 2004, 5drag, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "5 Dragons (20161011, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 744, C - 14/01/04 -GAME( 2004, 5draga, 5drag, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "5 Dragons (10176611, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 744, G - 15/07/04 -GAME( 2005, 5dragnz, 5drag, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "5 Dragons (10178611, New Zealand)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4186, B - 21/08/03 -GAME( 2004, 5dragsp, 5drag, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "5 Dragons (20161011, NSW/ACT, Show Program)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 744, C - 14/01/04 -GAME( 2007, 5dragce, 5drag, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "5 Dragons - Cash Express (0152309, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US211, A - 01/09/07 -GAME( 2007, 5koi, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "5 Koi - Power Pay (10250711, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 744/2, C - 25/10/07 -GAME( 2007, 5koia, 5koi, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "5 Koi - Power Pay (1J016211, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB067, A - 23/02/07 -GAME( 2004, 15lions, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "15 Lions (10166211, Queensland)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 717/3, B - 23/03/04 -GAME( 2002, 50lions, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "50 Lions (10120511, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 717, A - 11/10/02 -GAME( 2003, 50lionsa, 50lions, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "50 Lions (10156111, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 717, D - 20/10/03 -GAME( 2005, 50lionsu, 50lions, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "50 Lions (0152077, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US128, C - 11/09/05 -GAME( 2012, 50lionrr, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "50 Lions - Roaring Riches (20301311, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 1049, B - 20/08/12 -GAME( 2006, 100lions, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "100 Lions (10219211, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 717/4, B - 13/06/06 -GAME( 2006, 100lionsa, 100lions, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "100 Lions (30223811, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 717/5, A - 03/07/06 -GAME( 2005, adonisa6, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Adonis (0151178, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US168, A - 05/26/05 -GAME( 2001, aduskcm, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "African Dusk - Mr. Cashman (20006711, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 665/1, B- 13/07/01 -GAME( 2004, afterhrs, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "After Hours (0251071, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US051, B - 01/20/04 -GAME( 2003, alchemy, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Alchemy (1J009611, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB013/2, A - 30/05/03 -GAME( 2007, atkgld, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "All the King's Gold (0152152, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US209, A - 01/08/07 -GAME( 2001, amzqueen, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Amazon Queen (10005511, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 669, A - 02/05/01 -GAME( 2009, amztempl, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Amazon Temple (10299811, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 906, A - 29/04/09 -GAME( 2004, antcleoa, antcleo, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Antony and Cleopatra (10177211, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 754, B - 12/07/04 -GAME( 2001, arabnga6, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Arabian Nights (2J008211, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB009/1, E - 10/12/01 -GAME( 2001, arabnga6a, arabnga6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Arabian Nights (10122611, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB009/1, E - 10/12/01 -GAME( 2004, arabnga6u, arabnga6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Arabian Nights (0151356, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB016/21, E - 07/06/04 -GAME( 2003, arwincm, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Arctic Wins - Mr. Cashman (0151065, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US029, E- 01/27/03 -GAME( 2003, arish, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Arishinko (0151087, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US057, E - 05/28/03 -GAME( 2004, asnprinc, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Asian Princess (0352502, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4208, C - 09/13/04 -GAME( 2008, beavbuk, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Beaver Bucks (20255111, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 850, C - 23/01/08 -GAME( 2003, betzoo, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Betting Zoo - Mr. Cashman (0251064, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US037, B - 01/28/03 -GAME( 2003, bigben, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Big Ben (30126911, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 710, B - 17/07/03 -GAME( 2003, bigbena, bigben, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Big Ben (20126911, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 710, B - 17/07/03 -GAME( 2004, bigbenb, bigben, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Big Ben (10169611, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4213, A - 01/04/04 -GAME( 2005, bigbenq, bigben, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Big Ben (20201111, Queensland)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 710/3, C - 09/08/05 -GAME( 1999, bigheart, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Big Hearted (10000511, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 637, D - 15/11/99 -GAME( 2002, bigred, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Big Red (2J009211, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB015, D - 27/09/02 -GAME( 2002, bigreda, bigred, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Big Red (1J009211, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB015, D - 27/09/02 -GAME( 2005, bigred2, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Big Red 2 (5J011311, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB024, B - 18/05/05 -GAME( 2002, blkbrum, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Black Brumby (1J009111, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB010, C - 14/06/02 -GAME( 2006, blkmust, blkbrum, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Black Mustang (0152584, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB014/21, (no data) -GAME( 2007, bluetigr, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Blue Tiger (20259511, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 855, A - 12/12/07 -GAME( 2007, bobdolly, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Bob and Dolly (0352298, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US243, A - 10/15/07 -GAME( 2005, brazil, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Brazil (20180311, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 783, B - 25/02/05 -GAME( 2006, brazila, brazil, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Brazil (10218511, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 783, D - 02/05/06 -GAME( 2004, bucaneer, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Buccaneer (Aristocrat, 10173011, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 765, A - 05/04/04 -GAME( 2004, bucaneera, bucaneer, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Buccaneer (Aristocrat, 10181911, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 765/1, A - 29/07/04 -GAME( 2005, bucaneeru, bucaneer, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Buccaneer (Aristocrat, 0252523, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4229, B - 01/07/05 -GAME( 2010, buckstop, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "The Buck Stops Here (10294311, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 897/1, A - 22/07/10 -GAME( 2006, buffalo, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Buffalo (10217811, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 806, E - 06/10/06 -GAME( 2006, buffaloa, buffalo, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Buffalo (20232611, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 806, E - 06/10/06 -GAME( 2006, buffalou, buffalo, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Buffalo (0252636, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4328, (no data) -GAME( 2005, bmbugs, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Bumble Bugs (0351180, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US166, A - 05/13/05 -GAME( 2001, bushrngr, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Bushranger (10006111, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 673, A - 18/04/01 -GAME( 2007, cactusco, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Cactus Corral (10237711, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 818, D - 24/07/07 -GAME( 2007, callwld, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Call of the Wild (10256611, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 827, B - 12/11/07 -GAME( 2005, calyking, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Calypso King (20197111, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 772/1, B - 25/07/05 -GAME( 2006, canaryrc, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Canary Riches (10218211, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 809, A - 30/03/06 -GAME( 2005, cmtonig, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Cashman Tonight (30194711, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MG0007, B - 25/05/05 -GAME( 2007, centrion, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Centurion (0152314, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US248, A - 11/27/07 -GAME( 2004, cinhell, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Chance in Hell - Lil' Lucy (0251125, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US119, A - 06/30/04 -GAME( 2002, csd, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Choy Sun Doa (10104011, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 688, A - 23/04/02 -GAME( 2002, csdsp, csd, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Choy Sun Doa (20104011, NSW/ACT, Show Program)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 688, A - 23/04/02 -GAME( 2003, csda, csd, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Choy Sun Doa (20131511, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 688, A - 23/01/03 -GAME( 2002, csdq, csd, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Choy Sun Doa (10121111, Queensland)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 688, C - 05/07/02 -GAME( 2003, csdce, csd, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Choy Sun Doa - Cash Express (30149511, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 688, A - 03/02/03 -GAME( 2003, csdjc, csd, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Choy Sun Doa - Jackpot Carnival (20156611, Queensland)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 688, G - 04/12/03 -GAME( 2006, csret, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Choy Sun Returns (20212211, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 744/2, B - 15/08/06 -GAME( 2005, corrida, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Corrida de Toros (30178311, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 771, D - 22/03/05 -GAME( 2003, cryspri, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Crystal Springs (10144411, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 740, A - 28/05/03 -GAME( 2003, cryspria, cryspri, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Crystal Springs (10155811, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 740, A - 28/05/03 -GAME( 2006, cryspriu, cryspri, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Crystal Springs (0352557, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4255, C - 01/16/06 -GAME( 2009, deepfrz, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Deep Freeze (10282311, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB113/2, A - 27/02/09 -GAME( 2010, deepfrzu, deepfrz, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Deep Freeze (0154081, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB113/4, A - 27/07/09 -GAME( 2005, deltabel, deltaqn, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Delta Belle (0252532, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4243, B - 04/29/05 -GAME( 2004, deltaqn, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Delta Queen (20185211, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 768, A - 13/09/04 -GAME( 2002, dimeye, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Diamond Eyes (10129211, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB012, G - 25/03/02 -GAME( 2004, dimeyeu, dimeye, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Diamond Eyes (0251312, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB012/20, J - 01/22/04 -GAME( 2004, dimeyece, dimeye, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Diamond Eyes - Cash Express (0152039, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB012/20, J - 01/22/04 -GAME( 2002, di4ever, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Diamonds Forever (10105011, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 679, B - 14/03/02 -GAME( 2007, diamhrts, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Diamonds & Hearts - Power Pay (10229311, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 821, D - 22/02/07 -GAME( 2003, dinosa6, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Dinosaur (10118811, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 731, C - 08/08/03 -GAME( 2005, dblagent, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Double Agent (0152082, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US180, A - 12/09/05 -GAME( 2000, dbldolph, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Double Dolphins (20000211, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 647, C - 18/04/00 -GAME( 2000, dbldolphq, dbldolph, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Double Dolphins (40003211, Queensland)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 647, F - 17/11/00 -GAME( 2004, doltra6, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Dolphin Treasure (10177911, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 602/1, I - 19/07/04 -GAME( 2004, doltra6nz, doltra6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Dolphin Treasure (20265311, New Zealand)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4047/1, A - 21/09/04 -GAME( 2004, drgnlord, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Dragon Lord (10173511, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 761, A - 22/06/04 -GAME( 2006, drgnmgic, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Dragon Magic (2J015711, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB051, E - 05/07/06 -GAME( 2003, drmcatch, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Dream Catcher (10126721, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 704, F - 23/06/03 -GAME( 2004, drmcatcha, drmcatch, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Dream Catcher (10172921, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 704, H - 04/03/04 -GAME( 2008, drmred, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Dream of the Red Chamber (10273811, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB027/2, A - 25/8/08 -GAME( 2004, eaglrock, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Eagle Rock - Cash Express (0151126, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US021, C - 05/25/04 -GAME( 2010, estrike, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Eagle Strike (40289711, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 950, A - 20/07/10 -GAME( 2004, eastland, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Easter Island - Cash Express (0151117, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US052, B - 02/22/04 -GAME( 2005, eggsrccm, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Eggstreme Riches - Mr. Cashman (0351149, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US144, B - 11/3/05 -GAME( 2007, encspell, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Enchanted Spell (10257011, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB041, B - 18/07/07 -GAME( 2000, enchantr, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Enchantress (20000711, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 633, C- 15/01/00 -GAME( 2000, eott, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Eyes of the Tiger (10002011, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 658, B - 01/06/00 -GAME( 2004, firednc, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Fire Dancer (20184911, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 772, A - 01/10/04 -GAME( 2005, firednca, firednc, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Fire Dancer (10191311, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 772, A - 01/10/04 -GAME( 2002, flamolce, adonisa6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Flame of Olympus - Cash Express (0351025, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4091/3, A - 2/18/02 -GAME( 2002, flamoljc, adonisa6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Flame of Olympus - Jackpot Carnival (0251048, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4091/3, A - 2/18/02 -GAME( 2000, followst, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Follow the Stars (20001411, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 659, D - 15/09/00 -GAME( 2007, fortath, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Fortune of Athena (10248611, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 847, C - 08/11/07 -GAME( 2006, fortking, csret, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Fortune King (10230911, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 744, I - 26/09/06 -GAME( 2004, frogwld, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Frog Wild 2 (0251114, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US112, A - 06/03/04 -GAME( 2005, gambjack, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Gamblin' Jack (20197211, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 791, D - 23/09/05 -GAME( 2004, gwnn, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "The Game With No Name! (0452501, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4210, C - 09/13/04 -GAME( 2000, geishaa6, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Geisha (10000811, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 602/18, B - 03/06/00 -GAME( 2001, geishaa6a, geishaa6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Geisha (10122011, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 602/18, D- 14/03/01 -GAME( 2001, geishaa6b, geishaa6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Geisha (10112411, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 602/18, D- 14/03/01 -GAME( 2001, geishajc, geishaa6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Geisha - Jackpot Carnival (0351033, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4091/2, A - 10/18/01 -GAME( 2001, goape, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Go Ape (10006211, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 661/2, B - 14/06/01 -GAME( 2001, gogreen, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Go For Green (10003411, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 647/1, A - 22/02/01 -GAME( 2005, goldarch, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Golden Archer (10197411, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 770, A - 07/07/05 -GAME( 2003, gldnflc, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "The Golden Fleece (10158311, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 680/2, A-07/07/03 -GAME( 2005, gldgongu, gldgong, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "The Golden Gong (0152558, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4258, C - 08/18/05 -GAME( 2005, gldgongq, gldgong, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "The Golden Gong (10217411, Queensland)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 710/3, C - 09/08/05, same date string as bigben (the games are identical but with different graphics) -GAME( 2004, goldinc, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Golden Incas (10174011, NSW/ACT, Show Program)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 752, A - 07/04/04 -GAME( 2005, goldincu, goldinc, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Golden Incas (0252533, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4244, A - 03/10/05 -GAME( 2004, goldpya6, qnilea6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Golden Pyramids (10196511, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 602/23, C - 23/11/04 -GAME( 2002, goldpym, qnilese, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Golden Pyramids Special Edition - Maximillions (10130811, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 683/1, A - 21/10/02 -GAME( 2007, goldsam, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Golden Samurai (10247811, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 832, A - 31/07/07 -GAME( 2002, gbmoney, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "The Good, The Bad & The Money (0351016, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US023, B - 09/11/02 -GAME( 2006, grizzly, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Grizzly (10214711, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 780, C - 12/04/06 -GAME( 2003, heartgld, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Heart of Gold (20169511, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 717/2, A - 15/09/03 -GAME( 2004, heartglda, heartgld, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Heart of Gold (10184211, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 717/2, B - 10/03/04 -GAME( 2006, heartveg, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Heart of Vegas (10232911, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 717/4, C - 27/06/06 -GAME( 2002, hlntroy, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Helen of Troy (1J008311, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB001/4, G - 21/01/02 -GAME( 2002, hlntroya, hlntroy, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Helen of Troy (10129121, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB001/4, G - 21/01/02 -GAME( 2002, hlntroyb, hlntroy, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Helen of Troy (10122711, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB001/4, G - 21/01/02 -GAME( 2004, hlntroyu, hlntroy, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Helen of Troy (0151336, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB014/21, B - 01/16/04 -GAME( 2001, highnoon, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "High Noon (20004111, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 671, B - 28/06/01 -GAME( 2002, holdrma6, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Hollywood Dreams (10100511, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 670/1, A - 31/01/02 -GAME( 2004, househrt, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "House of Hearts (10200311, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 765, C - 09/11/04 -GAME( 2005, househrta, househrt, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "House of Hearts (10208411, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 765/1, C - 25/10/05 -GAME( 2005, incachf, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Inca Chief (20190711, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 784, C - 21/10/05 -GAME( 2001, indream, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Indian Dreaming (10004211, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 628/6, B - 24/04/01 -GAME( 2004, indreama, indream, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Indian Dreaming (10192211, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 628/6, C - 20/09/04 -GAME( 2003, indrem2c, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Indian Dreaming 2nd Chance (10150611, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 753, B - 08/12/03 -GAME( 2002, indremce, indream, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Indian Dreaming - Cash Express (20109411, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 628/10, A - 12/07/02 -GAME( 2003, indremll, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Indian Dreaming - Lady Luck (20151911, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 742, C - 15/10/03 -GAME( 2003, indremmm, indream, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Indian Dreaming - Maximillions (10130711, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 628/12, A - 17/01/03 -GAME( 2001, indgldcm, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Indian Gold - Mr. Cashman (10102511, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 674/1, A- 21/11/01 -GAME( 2004, indprncs, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Indian Princess (10174111, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 764, A - 07/04/04 -GAME( 2002, jailbrk, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Jailbreak (10125611, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 716, A - 14/11/02 -GAME( 2003, jefffox, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "You Might Be A Redneck If... - Jeff Foxworthy (0351068, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US041, B - 06/13/03 -GAME( 2003, jewelcm, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Jewel of the Enchantress - Mr. Cashman (0151051, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US039, B- 1/24/03 -GAME( 2005, kingnep, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "King Neptune (20189111, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 789, E - 08/08/05 -GAME( 2003, kingnile, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "King of the Nile (30106331, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 687, D - 07/01/03 -GAME( 2002, kingnilea, kingnile, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "King of the Nile (20106321, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 687, C - 27/09/02 -GAME( 2003, kingnileb, kingnile, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "King of the Nile (10127511, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 687, G - 30/01/03 -GAME( 2002, kingpeng, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "King Penguin (20109021, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 696, D - 02/10/02 -GAME( 2002, kingpengsp, kingpeng, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "King Penguin (40109021, NSW/ACT, Show Program)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 696, E- 26/11/02 -GAME( 2000, koalama6, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Koala Mint (30001011, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 643/6, A- 01/09/00 -GAME( 2003, kohinoor, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Kohinoor (10136711, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 602/21, B - 10/02/03 -GAME( 2006, lgfish, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Let's Go Fish'n (10220111, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 756, E - 23/05/06 -GAME( 2006, lgfisha, lgfish, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Let's Go Fish'n (10223911, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 756, E - 23/05/06 -GAME( 2004, lemrol, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Let 'em Roll (0151115, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US088, B - 06/24/04 -GAME( 2005, lineking, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Line King (0252534, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4245, F - 11/10/05 -GAME( 2002, lordleo, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Lord Leopard (30111211, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 685, B - 27/05/02 -GAME( 2001, lougcm, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Louie's Gold - Mr. Cashman (20006911, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 674, C- 13/07/01 -GAME( 2007, lucky88, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Lucky 88 (10241411, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 840, C - 25/06/07 -GAME( 2007, luigibal, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Luigi's Ball (10235411, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 822, D - 19/03/07 -GAME( 2005, magforst, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Magic Forest (0151139, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US141, D - 02/01/05 -GAME( 2003, magmerm, mystmerm, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Magic Mermaid (0251331, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB013/20, F - 10/13/03 -GAME( 2006, magician, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "The Magician (20210111, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 801, C - 01/03/06 -GAME( 2008, mchilli, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "More Chilli (20248711, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 844, B - 21/01/08 -GAME( 2010, mchilliq, mchilli, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "More Chilli (20289311, Queensland)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 844/2, B - 14/12/10 -GAME( 2007, metestrm, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Meteor Storm (0152162, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US217, A - 03/19/07 -GAME( 2007, milkin, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Milkin' It (10251911, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 816, B - 13/08/07 -GAME( 2000, mnytree, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Money Tree (10001211, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 657, E - 06/11/00 -GAME( 2001, mnytreea, mnytree, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Money Tree (10122211, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 657, F - 14/03/01 -GAME( 2004, moonfire, indream, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Moon Fire - Jackpot Carnival (30164211, Queensland)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 628/3, E - 27/01/04 -GAME( 2007, moonwalt, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Moonlight Waltz (10227611, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 814/1, B - 11/01/07 -GAME( 200?, mrwoo, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Mr Woo (0252599, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4276, (no data) -GAME( 2005, mskitty, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Miss Kitty (10216611, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 778, C - 18/04/05 -GAME( 2002, mystarr, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Mystic Arrow (0151009, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US005, A - 01/07/02 -GAME( 2001, mysteycm, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Mystic Eyes - Mr. Cashman (10008111, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 675, A- 09/05/01 -GAME( 2002, mysteycmu, mysteycm, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Mystic Eyes - Mr. Cashman (0251024, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US020, C- 31/05/02 -GAME( 2002, mystmerm, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Mystic Mermaid (1J008711, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB013, D - 27/03/02 -GAME( 2005, nerdwild, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Nerds Gone Wild (10197311, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 778, C - 18/04/05 -GAME( 2006, orbeaut, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Oriental Beauty (10213511, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 808, A - 07/02/06 -GAME( 2005, outbackj, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Outback Jack (20195211, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 691, J - 02/06/05 -GAME( 2001, owlcap, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Owl Capone (10008711, NSW/ACT, Show Program)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 594/9, A - 12/06/01 -GAME( 2004, pandpays, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Panda Pays - Mr. Cashman (0151109, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US092, A - 01/27/04 -GAME( 2001, parislgt, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Paris Lights (30002611, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 670, A - 03/05/01 -GAME( 2002, parislgtu, parislgt, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Paris Lights - Jackpot Carnival (0251031, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US022, A - 07/03/02 -GAME( 2002, pcockmag, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Peacock Magic (1J008811, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB014, B - 09/05/02 -GAME( 2002, pcockmaga, pcockmag, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Peacock Magic (10134311, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB014, C - 27/05/02 -GAME( 2004, pcockmagu, pcockmag, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Peacock Magic (0151352, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB014/20, C - 07/06/04 -GAME( 2004, pelipete, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Pelican Pete (10177511, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 778, A - 22/11/04 -GAME( 2005, pelipetea, pelipete, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Pelican Pete (10196211, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 778/1, B - 26/07/05 +GAME( 2004, 5drag, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "5 Dragons (20161011, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 744, C - 14/01/04 +GAME( 2004, 5draga, 5drag, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "5 Dragons (10176611, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 744, G - 15/07/04 +GAME( 2005, 5dragnz, 5drag, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "5 Dragons (10178611, New Zealand)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4186, B - 21/08/03 +GAME( 2004, 5dragsp, 5drag, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "5 Dragons (20161011, NSW/ACT, Show Program)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 744, C - 14/01/04 +GAME( 2007, 5dragce, 5drag, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "5 Dragons - Cash Express (0152309, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US211, A - 01/09/07 +GAME( 2007, 5koi, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "5 Koi - Power Pay (10250711, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 744/2, C - 25/10/07 +GAME( 2007, 5koia, 5koi, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "5 Koi - Power Pay (1J016211, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB067, A - 23/02/07 +GAME( 2004, 15lions, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "15 Lions (10166211, Queensland)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 717/3, B - 23/03/04 +GAME( 2002, 50lions, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "50 Lions (10120511, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 717, A - 11/10/02 +GAME( 2003, 50lionsa, 50lions, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "50 Lions (10156111, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 717, D - 20/10/03 +GAME( 2005, 50lionsu, 50lions, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "50 Lions (0152077, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US128, C - 11/09/05 +GAME( 2012, 50lionrr, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "50 Lions - Roaring Riches (20301311, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 1049, B - 20/08/12 +GAME( 2006, 100lions, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "100 Lions (10219211, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 717/4, B - 13/06/06 +GAME( 2006, 100lionsa, 100lions, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "100 Lions (30223811, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 717/5, A - 03/07/06 +GAME( 2005, adonisa6, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Adonis (0151178, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US168, A - 05/26/05 +GAME( 2001, aduskcm, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "African Dusk - Mr. Cashman (20006711, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 665/1, B- 13/07/01 +GAME( 2004, afterhrs, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "After Hours (0251071, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US051, B - 01/20/04 +GAME( 2003, alchemy, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Alchemy (1J009611, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB013/2, A - 30/05/03 +GAME( 2007, atkgld, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "All the King's Gold (0152152, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US209, A - 01/08/07 +GAME( 2001, amzqueen, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Amazon Queen (10005511, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 669, A - 02/05/01 +GAME( 2009, amztempl, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Amazon Temple (10299811, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 906, A - 29/04/09 +GAME( 2004, antcleoa, antcleo, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Antony and Cleopatra (10177211, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 754, B - 12/07/04 +GAME( 2001, arabnga6, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Arabian Nights (2J008211, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB009/1, E - 10/12/01 +GAME( 2001, arabnga6a, arabnga6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Arabian Nights (10122611, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB009/1, E - 10/12/01 +GAME( 2004, arabnga6u, arabnga6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Arabian Nights (0151356, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB016/21, E - 07/06/04 +GAME( 2003, arwincm, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Arctic Wins - Mr. Cashman (0151065, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US029, E- 01/27/03 +GAME( 2003, arish, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Arishinko (0151087, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US057, E - 05/28/03 +GAME( 2004, asnprinc, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Asian Princess (0352502, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4208, C - 09/13/04 +GAME( 2008, beavbuk, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Beaver Bucks (20255111, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 850, C - 23/01/08 +GAME( 2003, betzoo, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Betting Zoo - Mr. Cashman (0251064, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US037, B - 01/28/03 +GAME( 2003, bigben, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Big Ben (30126911, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 710, B - 17/07/03 +GAME( 2003, bigbena, bigben, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Big Ben (20126911, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 710, B - 17/07/03 +GAME( 2004, bigbenb, bigben, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Big Ben (10169611, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4213, A - 01/04/04 +GAME( 2005, bigbenq, bigben, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Big Ben (20201111, Queensland)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 710/3, C - 09/08/05 +GAME( 1999, bigheart, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Big Hearted (10000511, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 637, D - 15/11/99 +GAME( 2002, bigred, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Big Red (2J009211, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB015, D - 27/09/02 +GAME( 2002, bigreda, bigred, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Big Red (1J009211, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB015, D - 27/09/02 +GAME( 2005, bigred2, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Big Red 2 (5J011311, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB024, B - 18/05/05 +GAME( 2002, blkbrum, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Black Brumby (1J009111, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB010, C - 14/06/02 +GAME( 2006, blkmust, blkbrum, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Black Mustang (0152584, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB014/21, (no data) +GAME( 2007, bluetigr, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Blue Tiger (20259511, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 855, A - 12/12/07 +GAME( 2007, bobdolly, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Bob and Dolly (0352298, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US243, A - 10/15/07 +GAME( 2005, brazil, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Brazil (20180311, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 783, B - 25/02/05 +GAME( 2006, brazila, brazil, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Brazil (10218511, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 783, D - 02/05/06 +GAME( 2004, bucaneer, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Buccaneer (Aristocrat, 10173011, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 765, A - 05/04/04 +GAME( 2004, bucaneera, bucaneer, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Buccaneer (Aristocrat, 10181911, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 765/1, A - 29/07/04 +GAME( 2005, bucaneeru, bucaneer, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Buccaneer (Aristocrat, 0252523, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4229, B - 01/07/05 +GAME( 2010, buckstop, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "The Buck Stops Here (10294311, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 897/1, A - 22/07/10 +GAME( 2006, buffalo, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Buffalo (10217811, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 806, E - 06/10/06 +GAME( 2006, buffaloa, buffalo, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Buffalo (20232611, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 806, E - 06/10/06 +GAME( 2006, buffalou, buffalo, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Buffalo (0252636, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4328, (no data) +GAME( 2005, bmbugs, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Bumble Bugs (0351180, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US166, A - 05/13/05 +GAME( 2001, bushrngr, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Bushranger (10006111, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 673, A - 18/04/01 +GAME( 2007, cactusco, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Cactus Corral (10237711, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 818, D - 24/07/07 +GAME( 2007, callwld, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Call of the Wild (10256611, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 827, B - 12/11/07 +GAME( 2005, calyking, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Calypso King (20197111, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 772/1, B - 25/07/05 +GAME( 2006, canaryrc, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Canary Riches (10218211, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 809, A - 30/03/06 +GAME( 2005, cmtonig, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Cashman Tonight (30194711, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MG0007, B - 25/05/05 +GAME( 2007, centrion, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Centurion (0152314, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US248, A - 11/27/07 +GAME( 2004, cinhell, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Chance in Hell - Lil' Lucy (0251125, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US119, A - 06/30/04 +GAME( 2002, csd, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Choy Sun Doa (10104011, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 688, A - 23/04/02 +GAME( 2002, csdsp, csd, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Choy Sun Doa (20104011, NSW/ACT, Show Program)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 688, A - 23/04/02 +GAME( 2003, csda, csd, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Choy Sun Doa (20131511, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 688, A - 23/01/03 +GAME( 2002, csdq, csd, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Choy Sun Doa (10121111, Queensland)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 688, C - 05/07/02 +GAME( 2003, csdce, csd, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Choy Sun Doa - Cash Express (30149511, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 688, A - 03/02/03 +GAME( 2003, csdjc, csd, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Choy Sun Doa - Jackpot Carnival (20156611, Queensland)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 688, G - 04/12/03 +GAME( 2006, csret, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Choy Sun Returns (20212211, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 744/2, B - 15/08/06 +GAME( 2005, corrida, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Corrida de Toros (30178311, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 771, D - 22/03/05 +GAME( 2003, cryspri, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Crystal Springs (10144411, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 740, A - 28/05/03 +GAME( 2003, cryspria, cryspri, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Crystal Springs (10155811, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 740, A - 28/05/03 +GAME( 2006, cryspriu, cryspri, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Crystal Springs (0352557, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4255, C - 01/16/06 +GAME( 2009, deepfrz, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Deep Freeze (10282311, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB113/2, A - 27/02/09 +GAME( 2010, deepfrzu, deepfrz, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Deep Freeze (0154081, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB113/4, A - 27/07/09 +GAME( 2005, deltabel, deltaqn, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Delta Belle (0252532, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4243, B - 04/29/05 +GAME( 2004, deltaqn, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Delta Queen (20185211, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 768, A - 13/09/04 +GAME( 2002, dimeye, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Diamond Eyes (10129211, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB012, G - 25/03/02 +GAME( 2004, dimeyeu, dimeye, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Diamond Eyes (0251312, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB012/20, J - 01/22/04 +GAME( 2004, dimeyece, dimeye, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Diamond Eyes - Cash Express (0152039, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB012/20, J - 01/22/04 +GAME( 2002, di4ever, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Diamonds Forever (10105011, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 679, B - 14/03/02 +GAME( 2007, diamhrts, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Diamonds & Hearts - Power Pay (10229311, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 821, D - 22/02/07 +GAME( 2003, dinosa6, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Dinosaur (10118811, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 731, C - 08/08/03 +GAME( 2005, dagenta6, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Double Agent (0152082, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US180, A - 12/09/05 +GAME( 2000, dbldolph, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Double Dolphins (20000211, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 647, C - 18/04/00 +GAME( 2000, dbldolphq, dbldolph, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Double Dolphins (40003211, Queensland)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 647, F - 17/11/00 +GAME( 2001, dbldolphu, dbldolph, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Double Dolphins (0351006, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4132, A - 04/06/01 +GAME( 2004, doltra6, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Dolphin Treasure (10177911, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 602/1, I - 19/07/04 +GAME( 2004, doltra6nz, doltra6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Dolphin Treasure (20265311, New Zealand)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4047/1, A - 21/09/04 +GAME( 2004, drgnlord, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Dragon Lord (10173511, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 761, A - 22/06/04 +GAME( 2006, drgnmgic, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Dragon Magic (2J015711, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB051, E - 05/07/06 +GAME( 2003, drmcatch, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Dream Catcher (10126721, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 704, F - 23/06/03 +GAME( 2004, drmcatcha, drmcatch, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Dream Catcher (10172921, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 704, H - 04/03/04 +GAME( 2008, drmred, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Dream of the Red Chamber (10273811, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB027/2, A - 25/8/08 +GAME( 2004, eaglrock, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Eagle Rock - Cash Express (0151126, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US021, C - 05/25/04 +GAME( 2010, estrike, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Eagle Strike (40289711, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 950, A - 20/07/10 +GAME( 2004, eastland, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Easter Island - Cash Express (0151117, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US052, B - 02/22/04 +GAME( 2005, eggsrccm, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Eggstreme Riches - Mr. Cashman (0351149, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US144, B - 11/3/05 +GAME( 2007, encspell, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Enchanted Spell (10257011, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB041, B - 18/07/07 +GAME( 2000, enchantr, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Enchantress (20000711, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 633, C- 15/01/00 +GAME( 2000, eott, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Eyes of the Tiger (10002011, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 658, B - 01/06/00 +GAME( 2004, firednc, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Fire Dancer (20184911, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 772, A - 01/10/04 +GAME( 2005, firednca, firednc, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Fire Dancer (10191311, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 772, A - 01/10/04 +GAME( 2002, flamolce, adonisa6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Flame of Olympus - Cash Express (0351025, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4091/3, A - 2/18/02 +GAME( 2002, flamoljc, adonisa6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Flame of Olympus - Jackpot Carnival (0251048, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4091/3, A - 2/18/02 +GAME( 2000, followst, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Follow the Stars (20001411, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 659, D - 15/09/00 +GAME( 2007, fortath, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Fortune of Athena (10248611, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 847, C - 08/11/07 +GAME( 2006, fortking, csret, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Fortune King (10230911, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 744, I - 26/09/06 +GAME( 2004, frogwld, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Frog Wild 2 (0251114, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US112, A - 06/03/04 +GAME( 2005, gambjack, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Gamblin' Jack (20197211, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 791, D - 23/09/05 +GAME( 2004, gwnn, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "The Game With No Name! (0452501, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4210, C - 09/13/04 +GAME( 2000, geishaa6, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Geisha (10000811, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 602/18, B - 03/06/00 +GAME( 2001, geishaa6a, geishaa6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Geisha (10122011, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 602/18, D- 14/03/01 +GAME( 2001, geishaa6b, geishaa6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Geisha (10112411, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 602/18, D- 14/03/01 +GAME( 2001, geishajc, geishaa6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Geisha - Jackpot Carnival (0351033, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4091/2, A - 10/18/01 +GAME( 2001, goape, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Go Ape (10006211, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 661/2, B - 14/06/01 +GAME( 2001, gogreen, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Go For Green (10003411, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 647/1, A - 22/02/01 +GAME( 2005, goldarch, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Golden Archer (10197411, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 770, A - 07/07/05 +GAME( 2003, gldnflc, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "The Golden Fleece (10158311, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 680/2, A-07/07/03 +GAME( 2005, gldgongu, gldgong, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "The Golden Gong (0152558, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4258, C - 08/18/05 +GAME( 2005, gldgongq, gldgong, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "The Golden Gong (10217411, Queensland)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 710/3, C - 09/08/05, same date string as bigben (the games are identical but with different graphics) +GAME( 2004, goldinc, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Golden Incas (10174011, NSW/ACT, Show Program)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 752, A - 07/04/04 +GAME( 2005, goldincu, goldinc, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Golden Incas (0252533, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4244, A - 03/10/05 +GAME( 2004, goldpya6, qnilea6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Golden Pyramids (10196511, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 602/23, C - 23/11/04 +GAME( 2002, goldpym, qnilese, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Golden Pyramids Special Edition - Maximillions (10130811, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 683/1, A - 21/10/02 +GAME( 2007, goldsam, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Golden Samurai (10247811, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 832, A - 31/07/07 +GAME( 2002, gbmoney, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "The Good, The Bad & The Money (0351016, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US023, B - 09/11/02 +GAME( 2006, grizzly, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Grizzly (10214711, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 780, C - 12/04/06 +GAME( 2003, heartgld, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Heart of Gold (20169511, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 717/2, A - 15/09/03 +GAME( 2004, heartglda, heartgld, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Heart of Gold (10184211, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 717/2, B - 10/03/04 +GAME( 2006, heartveg, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Heart of Vegas (10232911, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 717/4, C - 27/06/06 +GAME( 2002, hlntroy, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Helen of Troy (1J008311, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB001/4, G - 21/01/02 +GAME( 2002, hlntroya, hlntroy, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Helen of Troy (10129121, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB001/4, G - 21/01/02 +GAME( 2002, hlntroyb, hlntroy, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Helen of Troy (10122711, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB001/4, G - 21/01/02 +GAME( 2004, hlntroyu, hlntroy, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Helen of Troy (0151336, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB014/21, B - 01/16/04 +GAME( 2001, highnoon, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "High Noon (20004111, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 671, B - 28/06/01 +GAME( 2002, holdrma6, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Hollywood Dreams (10100511, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 670/1, A - 31/01/02 +GAME( 2004, househrt, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "House of Hearts (10200311, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 765, C - 09/11/04 +GAME( 2005, househrta, househrt, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "House of Hearts (10208411, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 765/1, C - 25/10/05 +GAME( 2005, incachf, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Inca Chief (20190711, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 784, C - 21/10/05 +GAME( 2001, indream, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Indian Dreaming (10004211, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 628/6, B - 24/04/01 +GAME( 2004, indreama, indream, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Indian Dreaming (10192211, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 628/6, C - 20/09/04 +GAME( 2003, indrem2c, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Indian Dreaming 2nd Chance (10150611, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 753, B - 08/12/03 +GAME( 2002, indremce, indream, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Indian Dreaming - Cash Express (20109411, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 628/10, A - 12/07/02 +GAME( 2003, indremll, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Indian Dreaming - Lady Luck (20151911, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 742, C - 15/10/03 +GAME( 2003, indremmm, indream, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Indian Dreaming - Maximillions (10130711, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 628/12, A - 17/01/03 +GAME( 2001, indgldcm, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Indian Gold - Mr. Cashman (10102511, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 674/1, A- 21/11/01 +GAME( 2004, indprncs, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Indian Princess (10174111, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 764, A - 07/04/04 +GAME( 2002, jailbrk, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Jailbreak (10125611, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 716, A - 14/11/02 +GAME( 2003, jefffox, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "You Might Be A Redneck If... - Jeff Foxworthy (0351068, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US041, B - 06/13/03 +GAME( 2003, jewelcm, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Jewel of the Enchantress - Mr. Cashman (0151051, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US039, B- 1/24/03 +GAME( 2005, kingnep, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "King Neptune (20189111, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 789, E - 08/08/05 +GAME( 2003, kingnile, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "King of the Nile (30106331, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 687, D - 07/01/03 +GAME( 2002, kingnilea, kingnile, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "King of the Nile (20106321, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 687, C - 27/09/02 +GAME( 2003, kingnileb, kingnile, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "King of the Nile (10127511, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 687, G - 30/01/03 +GAME( 2002, kingpeng, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "King Penguin (20109021, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 696, D - 02/10/02 +GAME( 2002, kingpengsp, kingpeng, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "King Penguin (40109021, NSW/ACT, Show Program)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 696, E- 26/11/02 +GAME( 2000, koalama6, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Koala Mint (30001011, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 643/6, A- 01/09/00 +GAME( 2003, kohinoor, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Kohinoor (10136711, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 602/21, B - 10/02/03 +GAME( 2006, lgfish, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Let's Go Fish'n (10220111, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 756, E - 23/05/06 +GAME( 2006, lgfisha, lgfish, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Let's Go Fish'n (10223911, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 756, E - 23/05/06 +GAME( 2004, lemrol, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Let 'em Roll (0151115, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US088, B - 06/24/04 +GAME( 2005, lineking, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Line King (0252534, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4245, F - 11/10/05 +GAME( 2002, lordleo, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Lord Leopard (30111211, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 685, B - 27/05/02 +GAME( 2001, lougcm, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Louie's Gold - Mr. Cashman (20006911, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 674, C- 13/07/01 +GAME( 2007, lucky88, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Lucky 88 (10241411, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 840, C - 25/06/07 +GAME( 2007, luigibal, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Luigi's Ball (10235411, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 822, D - 19/03/07 +GAME( 2005, magforst, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Magic Forest (0151139, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US141, D - 02/01/05 +GAME( 2003, magmerm, mystmerm, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Magic Mermaid (0251331, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB013/20, F - 10/13/03 +GAME( 2006, magician, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "The Magician (20210111, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 801, C - 01/03/06 +GAME( 2008, mchilli, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "More Chilli (20248711, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 844, B - 21/01/08 +GAME( 2010, mchilliq, mchilli, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "More Chilli (20289311, Queensland)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 844/2, B - 14/12/10 +GAME( 2007, metestrm, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Meteor Storm (0152162, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US217, A - 03/19/07 +GAME( 2007, milkin, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Milkin' It (10251911, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 816, B - 13/08/07 +GAME( 2000, mnytree, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Money Tree (10001211, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 657, E - 06/11/00 +GAME( 2001, mnytreea, mnytree, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Money Tree (10122211, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 657, F - 14/03/01 +GAME( 2004, moonfire, indream, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Moon Fire - Jackpot Carnival (30164211, Queensland)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 628/3, E - 27/01/04 +GAME( 2007, moonwalt, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Moonlight Waltz (10227611, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 814/1, B - 11/01/07 +GAME( 200?, mrwoo, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Mr Woo (0252599, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4276, (no data) +GAME( 2005, mskitty, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Miss Kitty (10216611, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 778, C - 18/04/05 +GAME( 2002, mystarr, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Mystic Arrow (0151009, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US005, A - 01/07/02 +GAME( 2001, mysteycm, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Mystic Eyes - Mr. Cashman (10008111, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 675, A- 09/05/01 +GAME( 2002, mysteycmu, mysteycm, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Mystic Eyes - Mr. Cashman (0251024, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US020, C- 31/05/02 +GAME( 2002, mystmerm, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Mystic Mermaid (1J008711, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB013, D - 27/03/02 +GAME( 2005, nerdwild, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Nerds Gone Wild (10197311, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 778, C - 18/04/05 +GAME( 2006, orbeaut, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Oriental Beauty (10213511, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 808, A - 07/02/06 +GAME( 2005, outbackj, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Outback Jack (20195211, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 691, J - 02/06/05 +GAME( 2001, owlcap, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Owl Capone (10008711, NSW/ACT, Show Program)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 594/9, A - 12/06/01 +GAME( 2004, pandpays, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Panda Pays - Mr. Cashman (0151109, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US092, A - 01/27/04 +GAME( 2001, parislgt, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Paris Lights (30002611, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 670, A - 03/05/01 +GAME( 2002, parislgtu, parislgt, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Paris Lights - Jackpot Carnival (0251031, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US022, A - 07/03/02 +GAME( 2002, pcockmag, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Peacock Magic (1J008811, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB014, B - 09/05/02 +GAME( 2002, pcockmaga, pcockmag, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Peacock Magic (10134311, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB014, C - 27/05/02 +GAME( 2004, pcockmagu, pcockmag, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Peacock Magic (0151352, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB014/20, C - 07/06/04 +GAME( 2004, pelipete, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Pelican Pete (10177511, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 778, A - 22/11/04 +GAME( 2005, pelipetea, pelipete, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Pelican Pete (10196211, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 778/1, B - 26/07/05 GAME( 2006, pelipetejc, pelipete, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Pelican Pete - Jackpot Carnival (10226711, Queensland)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 778/2, E - 23/05/06 -GAME( 2005, pelipeteu, pelipete, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Pelican Pete (0252555, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4251, C - 10/28/05 -GAME( 2003, pengpyce, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Penguin Pays - Cash Express (0151120, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US055, A- 4/14/03 -GAME( 2005, pennyar, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Penny Arcade (0251169, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US159, A - 04/06/05 -GAME( 2000, pharfor, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Pharaoh's Fortune (40000921, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 656, D - 11/01/00 -GAME( 2005, phxfant, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Phoenix Fantasy (20197511, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 793, A - 21/07/05 -GAME( 2000, pirata6, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Pirates (10001511, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 661/1, B - 3/11/00 -GAME( 2001, pirata6a, pirata6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Pirates (10122311, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 661/1, C - 30/03/01 -GAME( 2004, pcfavor, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Player's Choice - Favourites (20177311, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MG0002, D - 04/11/04 -GAME( 2006, pcbydem, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Player's Choice - By Demand (10223111, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MG0005, D - 25/09/06 -GAME( 2008, pcmostw, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Player's Choice - Most Wanted (20234911, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MG0010, C - 09/11/06 -GAME( 2010, pcgold, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Player's Choice - Gold Edition (30291411, New Zealand)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MG0047, A - 09/04/10 -GAME( 2009, pcplat, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Player's Choice - Platinum (20282111, New Zealand)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MG0031, B - 04/02/09 -GAME( 2004, pcorig, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Player's Choice - Original (30143011, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MG001, C - 12/01/04 -GAME( 200?, pwsuper, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Player's World - Super (0154019, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MG0016, (no data) -GAME( 2001, pompeia6, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Pompeii (10002211, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 628/5, A - 22/01/01 -GAME( 2002, pompeia6a, pompeia6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Pompeii (10122411, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 628/9, C - 09/01/02 -GAME( 2005, pompeia6u, pompeia6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Pompeii (0151158, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US161, A - 04/15/05 -GAME( 2002, pompeia6ua, pompeia6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Pompeii (0251010, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US008, A - 04/03/02 -GAME( 2005, prideaf, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Pride of Africa (10208511, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 628/9, J - 06/12/05 -GAME( 2004, prophecy, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Prophecy (20173411, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 734, B - 10/08/04 -GAME( 2005, qnilea6, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Queen of the Nile (3J011111, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB027, C - 16/02/05 -GAME( 2005, qnilea6a, qnilea6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Queen of the Nile (10204311, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 602/4, D - 18/07/05 -GAME( 2005, qnilea6b, qnilea6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Queen of the Nile (10192311, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 602/4, H - 22/02/05 -GAME( 2005, qnilemt2, qnilea6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Queen of the Nile - Money Train II (10203811, Queensland)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 602/23, E - 17/11/05 -GAME( 2001, qnilese, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Queen of the Nile Special Edition (20102811, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 683, A - 06/12/01 -GAME( 2001, qnilesea, qnilese, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Queen of the Nile Special Edition (10102811, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 683, A - 06/12/01 -GAME( 2001, qnileseb, qnilese, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Queen of the Nile Special Edition (10127411, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 683, A - 06/12/01 -GAME( 2002, qnilejc, qnilese, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Queen of the Nile Special Edition - Jackpot Carnival (20123911, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 683/1, A - 21/10/02 -GAME( 2002, qnilejcsp, qnilese, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Queen of the Nile Special Edition - Jackpot Carnival (20123911, NSW/ACT, Show Program)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 683/1, A - 21/10/02 -GAME( 2003, qsheba, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Queen of Sheba (10133721, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 687, F - 04/03/03 -GAME( 2003, qshebaa, qsheba, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Queen of Sheba (30146921, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 687, G - 29/07/03 -GAME( 2005, raprichs, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Rapid Riches (10194211, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 762, D - 09/03/05 -GAME( 2002, redbara6, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Red Baron (10119911, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 709, B - 21/11/02 -GAME( 2003, redbarfl, redbara6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Red Baron - Fast Lane (10160711, Queensland)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 709, E - 04/12/03 -GAME( 2003, redbarjc, redbara6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Red Baron - Jackpot Carnival (10160911, Queensland)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 709, E - 04/12/03, same date string as above +GAME( 2005, pelipeteu, pelipete, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Pelican Pete (0252555, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4251, C - 10/28/05 +GAME( 2003, pengpyce, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Penguin Pays - Cash Express (0151120, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US055, A- 4/14/03 +GAME( 2005, pennyar, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Penny Arcade (0251169, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US159, A - 04/06/05 +GAME( 2000, pharfor, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Pharaoh's Fortune (40000921, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 656, D - 11/01/00 +GAME( 2005, phxfant, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Phoenix Fantasy (20197511, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 793, A - 21/07/05 +GAME( 2000, pirata6, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Pirates (10001511, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 661/1, B - 3/11/00 +GAME( 2001, pirata6a, pirata6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Pirates (10122311, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 661/1, C - 30/03/01 +GAME( 2004, pcfavor, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Player's Choice - Favourites (20177311, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MG0002, D - 04/11/04 +GAME( 2006, pcbydem, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Player's Choice - By Demand (10223111, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MG0005, D - 25/09/06 +GAME( 2008, pcmostw, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Player's Choice - Most Wanted (20234911, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MG0010, C - 09/11/06 +GAME( 2010, pcgold, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Player's Choice - Gold Edition (30291411, New Zealand)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MG0047, A - 09/04/10 +GAME( 2009, pcplat, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Player's Choice - Platinum (20282111, New Zealand)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MG0031, B - 04/02/09 +GAME( 2004, pcorig, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Player's Choice - Original (30143011, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MG001, C - 12/01/04 +GAME( 200?, pwsuper, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Player's World - Super (0154019, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MG0016, (no data) +GAME( 2001, pompeia6, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Pompeii (10002211, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 628/5, A - 22/01/01 +GAME( 2002, pompeia6a, pompeia6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Pompeii (10122411, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 628/9, C - 09/01/02 +GAME( 2005, pompeia6u, pompeia6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Pompeii (0151158, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US161, A - 04/15/05 +GAME( 2002, pompeia6ua, pompeia6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Pompeii (0251010, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US008, A - 04/03/02 +GAME( 2005, prideaf, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Pride of Africa (10208511, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 628/9, J - 06/12/05 +GAME( 2004, prophecy, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Prophecy (20173411, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 734, B - 10/08/04 +GAME( 2005, qnilea6, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Queen of the Nile (3J011111, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB027, C - 16/02/05 +GAME( 2005, qnilea6a, qnilea6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Queen of the Nile (10204311, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 602/4, D - 18/07/05 +GAME( 2005, qnilea6b, qnilea6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Queen of the Nile (10192311, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 602/4, H - 22/02/05 +GAME( 2005, qnilemt2, qnilea6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Queen of the Nile - Money Train II (10203811, Queensland)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 602/23, E - 17/11/05 +GAME( 2001, qnilese, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Queen of the Nile Special Edition (20102811, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 683, A - 06/12/01 +GAME( 2001, qnilesea, qnilese, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Queen of the Nile Special Edition (10102811, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 683, A - 06/12/01 +GAME( 2001, qnileseb, qnilese, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Queen of the Nile Special Edition (10127411, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 683, A - 06/12/01 +GAME( 2002, qnilejc, qnilese, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Queen of the Nile Special Edition - Jackpot Carnival (20123911, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 683/1, A - 21/10/02 +GAME( 2002, qnilejcsp, qnilese, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Queen of the Nile Special Edition - Jackpot Carnival (20123911, NSW/ACT, Show Program)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 683/1, A - 21/10/02 +GAME( 2003, qsheba, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Queen of Sheba (10133721, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 687, F - 04/03/03 +GAME( 2003, qshebaa, qsheba, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Queen of Sheba (30146921, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 687, G - 29/07/03 +GAME( 2005, raprichs, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Rapid Riches (10194211, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 762, D - 09/03/05 +GAME( 2002, redbara6, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Red Baron (10119911, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 709, B - 21/11/02 +GAME( 2003, redbarfl, redbara6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Red Baron - Fast Lane (10160711, Queensland)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 709, E - 04/12/03 +GAME( 2003, redbarjc, redbara6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Red Baron - Jackpot Carnival (10160911, Queensland)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 709, E - 04/12/03, same date string as above // The following set is clearly not a year 2000 game (an ID of #2986 would be from around 2010, note similar ID number region to buckstop/werewildq), the date string is unchanged from the original MK5 20 line version which actually was released in 2000. -GAME( 201?, reelrkfl, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Reelin-n-Rockin - Fast Lane (10298611, Queensland)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 628/2, E - 20/12/00 -GAME( 2002, retsama6, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Return of the Samurai (10117211, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 628/10, A - 26/08/02 -GAME( 2002, rubymag, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Ruby Magic (10125711, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 698, C - 12/11/02 -GAME( 2003, rubymaga, rubymag, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Ruby Magic (10148811, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 698/1, B - 14/07/03 -GAME( 2002, ruprup, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Roll Up! Roll Up!! (10115911, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 642/5, A - 22/08/02 -GAME( 2010, rumbreel, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Rumble Reels (20288611, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 949, B - 04/08/10 -GAME( 2000, scatmag2, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Scatter Magic II (10001311, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 660, C - 24/08/00 -GAME( 2001, scatmag2a, scatmag2, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Scatter Magic II (10122511, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 660, G- 15/05/01 -GAME( 2001, scatmag2sa, scatmag2, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Scatter Magic II (10102711, South Australia)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 660, G - 15/05/01 -GAME( 2006, scatmag3, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Scatter Magic III (0452569, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4277, (no data) -GAME( 2002, sealdeal, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Seal The Deal - Jackpot Carnival (0251029, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US024, A - 06/20/02 -GAME( 2006, shamnmg, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Shaman's Magic (10225911, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 818, C - 14/11/06 -GAME( 200?, shamnmgu, shamnmg, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Shaman's Magic (0152647, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4318/1, (no data) -GAME( 2004, shorthng, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Shore Thing (0251088, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US087, B - 1/30/04 -GAME( 2001, smtma6, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Show Me The Money (10001911, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 657/1, B - 08/01/01 -GAME( 2001, smtma6q, smtma6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Show Me The Money (10015711, Queensland)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 657/1, D - 31/05/01 -GAME( 2004, silkrda6, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Silk Road (10176811, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB021, J - 1/06/04 -GAME( 2006, silkrda6u, silkrda6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Silk Road (0152537, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4248/4, D - 02/09/06 -GAME( 2002, silgola6, sunmoon, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Silver & Gold (20100721, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 672/1, G - 08/07/02 -GAME( 2008, skydnca6, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Sky Dancer (10272711, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB091/2, A - 28/08/08 -GAME( 1999, spgcarn, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Spring Carnival (10000311, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 642, C - 15/11/99 -GAME( 2001, spgcarnq, spgcarn, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Spring Carnival (10008011, Queensland)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 642, E - 27/02/01 -GAME( 2003, spgcarnjc, spgcarn, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Spring Carnival - Jackpot Carnival (10032721, Queensland)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 642, F - 21/09/01 +GAME( 201?, reelrkfl, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Reelin-n-Rockin - Fast Lane (10298611, Queensland)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 628/2, E - 20/12/00 +GAME( 2002, retsama6, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Return of the Samurai (10117211, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 628/10, A - 26/08/02 +GAME( 2002, rubymag, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Ruby Magic (10125711, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 698, C - 12/11/02 +GAME( 2003, rubymaga, rubymag, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Ruby Magic (10148811, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 698/1, B - 14/07/03 +GAME( 2002, ruprup, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Roll Up! Roll Up!! (10115911, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 642/5, A - 22/08/02 +GAME( 2010, rumbreel, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Rumble Reels (20288611, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 949, B - 04/08/10 +GAME( 2001, sctmagce, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Scatter Magic - Cash Express (0251026, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US001, A - 04/06/01 +GAME( 2000, scatmag2, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Scatter Magic II (10001311, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 660, C - 24/08/00 +GAME( 2001, scatmag2a, scatmag2, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Scatter Magic II (10122511, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 660, G- 15/05/01 +GAME( 2001, scatmag2sa, scatmag2, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Scatter Magic II (10102711, South Australia)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 660, G - 15/05/01 +GAME( 2006, scatmag3, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Scatter Magic III (0452569, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4277, (no data) +GAME( 2002, sealdeal, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Seal The Deal - Jackpot Carnival (0251029, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US024, A - 06/20/02 +GAME( 2006, shamnmg, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Shaman's Magic (10225911, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 818, C - 14/11/06 +GAME( 200?, shamnmgu, shamnmg, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Shaman's Magic (0152647, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4318/1, (no data) +GAME( 2004, shorthng, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Shore Thing (0251088, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US087, B - 1/30/04 +GAME( 2001, smtma6, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Show Me The Money (10001911, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 657/1, B - 08/01/01 +GAME( 2001, smtma6q, smtma6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Show Me The Money (10015711, Queensland)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 657/1, D - 31/05/01 +GAME( 2004, silkrda6, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Silk Road (10176811, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB021, J - 1/06/04 +GAME( 2006, silkrda6u, silkrda6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Silk Road (0152537, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4248/4, D - 02/09/06 +GAME( 2002, silgola6, sunmoon, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Silver & Gold (20100721, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 672/1, G - 08/07/02 +GAME( 2008, skydnca6, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Sky Dancer (10272711, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB091/2, A - 28/08/08 +GAME( 1999, spgcarn, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Spring Carnival (10000311, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 642, C - 15/11/99 +GAME( 2001, spgcarnq, spgcarn, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Spring Carnival (10008011, Queensland)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 642, E - 27/02/01 +GAME( 2003, spgcarnjc, spgcarn, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Spring Carnival - Jackpot Carnival (10032721, Queensland)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 642, F - 21/09/01 GAME( 2008, spgfest, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Spring Festival (20262311, Queensland)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB040, C - 03/06/08 GAME( 2008, spgfestnz, spgfest, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Spring Festival (20267211, New Zealand)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB040/2, D - 24/10/08 -GAME( 2003, stardrft, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Star Drifter (20150811, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 717/2, A - 15/09/03 -GAME( 2004, stardrftu, stardrft, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Star Drifter (0451341, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4204/1, A - 02/16/04 -GAME( 2001, starqst, followst, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Star Quest (10009511, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 659/2, B - 29/10/01 -GAME( 2005, statsymb, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Status Symbols (0251147, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US146, A - 02/10/05 -GAME( 2003, sunmoon, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Sun & Moon (0251303, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4173, C - 04/01/03 -GAME( 2003, sunmoona, sunmoon, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Sun & Moon (0151303, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4173, C - 04/01/03 -GAME( 2003, sunqndol, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Sun Queen - Dollar Storm (0451327, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV2070/1, B - 11/24/03 -GAME( 2005, sbuk5, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Super Bucks V (20203611, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 794, A - 03/08/05 -GAME( 2005, swhr2a6, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Sweethearts II (0151183, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US169, A - 7/5/05 -GAME( 2002, swh2ld, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Sweethearts II - Lucky Devil (10119811, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 712, C - 16/10/02 -GAME( 2006, tahitim, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Tahiti Magic (10238911, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 765/2, C - 07/12/06 -GAME( 2002, thaiprnc, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Thai Princess (10119321, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 707, A - 17/09/02 -GAME( 2004, thndrhrt, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Thunder Heart (10173811, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 758, B - 11/05/04 -GAME( 2007, tigress, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Tigress (20230111, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 807, C - 03/04/07 -GAME( 2007, tikitalk, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Tiki Talk (10239111, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 831, D - 28/03/07 -GAME( 2003, tiktorch, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Tiki Torch (0151003, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4130/4, A - 08/10/01 -GAME( 200?, timbwolf, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Timber Wolf (0154013, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4333/1, (no data) -GAME( 2002, topshta6, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Top Shot (30123211, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 714, C - 16/12/02 -GAME( 2000, torgods, adonisa6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Torch of the Gods (10000411, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 602/19, B - 09/08/00 -GAME( 2004, torgodsa, adonisa6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Torch of the Gods (20210211, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 602/19, C - 23/12/04 -GAME( 2001, toprdice, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Touch of Paradice (20007511, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 650/2, A - 24/04/01 -GAME( 2006, trsking, kingnep, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Treasure King (0152570, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4268, (no data) -GAME( 2006, turtreas, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Turtle Treasure (10234711, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 819/1, A - 06/10/06 -GAME( 2006, turtreasa, turtreas, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Turtle Treasure (10239811, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 819/1, A - 21/08/2006 -GAME( 2002, venetian, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Venetian Nights (1J008911, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB016/1, D - 05/08/02 -GAME( 2004, venice, venetian, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Venice (0151355, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB016/20, F - 07/06/04 -GAME( 2006, wcougpp, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Wild Cougar - Power Pay (30214211, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 798, D - 06/06/06 -GAME( 2009, werewild, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Werewolf Wild (10288711, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 939, A - 03/12/09 -GAME( 2010, werewildq, werewild, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Werewolf Wild (20290711, Queensland)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 939, C - 14/10/10 -GAME( 2002, whalecsh, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Whales of Cash (20155711, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 695, A - 14/06/02 -GAME( 2003, whalecshu, whalecsh, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Whales of Cash (0451311, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4174, A - 03/31/03 -GAME( 2004, wheregld, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Where's The Gold (10124811, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 756, B - 26/02/04 -GAME( 2004, wheregldsp, wheregld, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Where's The Gold (10124811, NSW/ACT, Show Program)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 756, B - 26/02/04 -GAME( 2004, whereglda, wheregld, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Where's The Gold (20177111, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 756, C - 17/06/04 -GAME( 2004, wheregldb, wheregld, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Where's The Gold (10177111, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 756, C - 17/06/04 -GAME( 2005, wheregldq, wheregld, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Where's The Gold (20184811, Queensland)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 756, D - 21/06/05 -GAME( 2003, whtwater, raprichs, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "White Water (0151075, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US054, A - 4/11/03 -GAME( 2006, wikwin2, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Wicked Winnings II - Power Pay (10214011, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 796, A - 28/02/06 -GAME( 2002, wldafr, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Wild Africa - Millioniser (0351083, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4076, D - 5/08/02 -GAME( 2006, wldcata6, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Wild Cats (10237511, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 811, B - 20/06/06 -GAME( 2007, wldcata6a, wldcata6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Wild Cats (20258111, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 811/1, B - 14/2/07 -GAME( 2003, wldgoos, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Wild Goose (20131911, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 732, B - 02/06/03 -GAME( 2003, wldgoosa, wldgoos, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Wild Goose (10155911, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 732, C - 02/10/03 -GAME( 2009, wgorilla, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Wild Gorilla - Power Pay (20279811, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB108/2, B - 19/06/09 -GAME( 2006, wldpanda, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Wild Panda (20218411, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 800, E - 07/08/06 -GAME( 2006, wldpandaa, wldpanda, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Wild Panda (20225011, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 800, A - 04/07/06 -GAME( 2006, wldstall, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Wild Stallion (10230811, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 805, B - 12/09/06 -GAME( 2007, wtepee, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Wild Tepee - Power Pay (20230211, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 820, H - 20/04/07 -GAME( 2006, wwaratah, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Wild Waratah (10215911, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 811, A - 14/02/06 -GAME( 2006, wwaratahsp, wwaratah, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Wild Waratah (10215911, NSW/ACT, Show Program)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 811, A - 14/02/06 -GAME( 2002, wways, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Wild Ways (10106911, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 698, B - 19/06/02 -GAME( 2003, wwaysa, wways, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Wild Ways (10130111, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 698/1, A - 25/02/03 -GAME( 2005, wingolyu, wingoly, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Wings over Olympus (0252529, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4237/1, A - 03/07/05 -GAME( 2003, wzwaysll, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Wizard Ways - Lady Luck (20139121, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 702, H - 30/06/03 -GAME( 2003, zorroa6, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Zorro (30130611, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 743, B - 5/09/03 -GAME( 2005, zorroa6u, zorroa6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Zorro (0151372, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4212, F - 05/13/05 +GAME( 2003, stardrft, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Star Drifter (20150811, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 717/2, A - 15/09/03 +GAME( 2004, stardrftu, stardrft, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Star Drifter (0451341, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4204/1, A - 02/16/04 +GAME( 2001, starqst, followst, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Star Quest (10009511, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 659/2, B - 29/10/01 +GAME( 2005, statsymb, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Status Symbols (0251147, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US146, A - 02/10/05 +GAME( 2003, sunmoon, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Sun & Moon (0251303, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4173, C - 04/01/03 +GAME( 2003, sunmoona, sunmoon, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Sun & Moon (0151303, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4173, C - 04/01/03 +GAME( 2003, sunqndol, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Sun Queen - Dollar Storm (0451327, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV2070/1, B - 11/24/03 +GAME( 2005, sbuk5, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Super Bucks V (20203611, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 794, A - 03/08/05 +GAME( 2005, swhr2a6, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Sweethearts II (0151183, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US169, A - 7/5/05 +GAME( 2002, swh2ld, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Sweethearts II - Lucky Devil (10119811, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 712, C - 16/10/02 +GAME( 2006, tahitim, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Tahiti Magic (10238911, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 765/2, C - 07/12/06 +GAME( 2002, thaiprnc, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Thai Princess (10119321, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 707, A - 17/09/02 +GAME( 2004, thndrhrt, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Thunder Heart (10173811, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 758, B - 11/05/04 +GAME( 2007, tigress, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Tigress (20230111, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 807, C - 03/04/07 +GAME( 2007, tikitalk, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Tiki Talk (10239111, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 831, D - 28/03/07 +GAME( 2003, tiktorch, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Tiki Torch (0151003, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4130/4, A - 08/10/01 +GAME( 200?, timbwolf, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Timber Wolf (0154013, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4333/1, (no data) +GAME( 2002, topshta6, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Top Shot (30123211, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 714, C - 16/12/02 +GAME( 2000, torgods, adonisa6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Torch of the Gods (10000411, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 602/19, B - 09/08/00 +GAME( 2004, torgodsa, adonisa6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Torch of the Gods (20210211, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 602/19, C - 23/12/04 +GAME( 2001, toprdice, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Touch of Paradice (20007511, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 650/2, A - 24/04/01 +GAME( 2006, trsking, kingnep, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Treasure King (0152570, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4268, (no data) +GAME( 2006, turtreas, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Turtle Treasure (10234711, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 819/1, A - 06/10/06 +GAME( 2006, turtreasa, turtreas, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Turtle Treasure (10239811, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 819/1, A - 21/08/2006 +GAME( 2002, venetian, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Venetian Nights (1J008911, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB016/1, D - 05/08/02 +GAME( 2004, venice, venetian, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Venice (0151355, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB016/20, F - 07/06/04 +GAME( 2006, wcougpp, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Wild Cougar - Power Pay (30214211, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 798, D - 06/06/06 +GAME( 2009, werewild, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Werewolf Wild (10288711, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 939, A - 03/12/09 +GAME( 2010, werewildq, werewild, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Werewolf Wild (20290711, Queensland)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 939, C - 14/10/10 +GAME( 2002, whalecsh, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Whales of Cash (20155711, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 695, A - 14/06/02 +GAME( 2003, whalecshu, whalecsh, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Whales of Cash (0451311, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4174, A - 03/31/03 +GAME( 2004, wheregld, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Where's The Gold (10124811, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 756, B - 26/02/04 +GAME( 2004, wheregldsp, wheregld, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Where's The Gold (10124811, NSW/ACT, Show Program)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 756, B - 26/02/04 +GAME( 2004, whereglda, wheregld, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Where's The Gold (20177111, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 756, C - 17/06/04 +GAME( 2004, wheregldb, wheregld, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Where's The Gold (10177111, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 756, C - 17/06/04 +GAME( 2005, wheregldq, wheregld, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Where's The Gold (20184811, Queensland)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 756, D - 21/06/05 +GAME( 2003, whtwater, raprichs, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "White Water (0151075, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US054, A - 4/11/03 +GAME( 2006, wikwin2, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Wicked Winnings II - Power Pay (10214011, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 796, A - 28/02/06 +GAME( 2002, wldafr, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Wild Africa - Millioniser (0351083, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4076, D - 5/08/02 +GAME( 2006, wldcata6, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Wild Cats (10237511, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 811, B - 20/06/06 +GAME( 2007, wldcata6a, wldcata6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Wild Cats (20258111, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 811/1, B - 14/2/07 +GAME( 2003, wldgoos, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Wild Goose (20131911, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 732, B - 02/06/03 +GAME( 2003, wldgoosa, wldgoos, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Wild Goose (10155911, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 732, C - 02/10/03 +GAME( 2009, wgorilla, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Wild Gorilla - Power Pay (20279811, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB108/2, B - 19/06/09 +GAME( 2006, wldpanda, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Wild Panda (20218411, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 800, E - 07/08/06 +GAME( 2006, wldpandaa, wldpanda, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Wild Panda (20225011, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 800, A - 04/07/06 +GAME( 2006, wldstall, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Wild Stallion (10230811, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 805, B - 12/09/06 +GAME( 2007, wtepee, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Wild Tepee - Power Pay (20230211, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 820, H - 20/04/07 +GAME( 2006, wwaratah, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Wild Waratah (10215911, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 811, A - 14/02/06 +GAME( 2006, wwaratahsp, wwaratah, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Wild Waratah (10215911, NSW/ACT, Show Program)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 811, A - 14/02/06 +GAME( 2002, wways, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Wild Ways (10106911, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 698, B - 19/06/02 +GAME( 2003, wwaysa, wways, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Wild Ways (10130111, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 698/1, A - 25/02/03 +GAME( 2005, wingolyu, wingoly, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Wings over Olympus (0252529, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4237/1, A - 03/07/05 +GAME( 2003, wzwaysll, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Wizard Ways - Lady Luck (20139121, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 702, H - 30/06/03 +GAME( 2003, zorroa6, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Zorro (30130611, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 743, B - 5/09/03 +GAME( 2005, zorroa6u, zorroa6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Zorro (0151372, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4212, F - 05/13/05 // The following sets are bad dumps -GAME( 2004, antcleo, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Antony and Cleopatra (10163211, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 754, A - 15/01/04 -GAME( 2003, apocof, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Apollo Coffee (0151105, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US083, A - 11/10/03 -GAME( 2005, dstgold, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Desert Gold (20202311, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 748, D - 31/05/05 -GAME( 200?, efce, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Enchanted Forest - Cash Express (0151084, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // ???, ??? -GAME( 2001, gogreena, gogreen, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Go For Green (10122111, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // ???, ??? -GAME( 2005, gldgong, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "The Golden Gong (20196011, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 710/1, ? - 12/05/05 -GAME( 2002, hlntroyc, hlntroy, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Helen of Troy (10116411, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB001/4, ??? -GAME( 2002, holdrma6a, holdrma6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Hollywood Dreams (10122811, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // ???, ??? -GAME( 200?, lovestuk, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Love Stuck (0152583, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4285, (no data) -GAME( 200?, opsesam, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Open Sesame (0351309, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // ???, ??? -GAME( 2001, parislgta, parislgt, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Paris Lights (10139011, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // ???, ??? -GAME( 2005, roadtrip, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Road Trip (0152539, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4238, C - 08/18/05 -GAME( 200?, snapshot, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Snap Shot (20115211, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // ???, ??? -GAME( 200?, sunmonbb, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Sun & Moon - Bank Buster (0153028, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4173/2, (no data) -GAME( 2003, thaiprnca, thaiprnc, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Thai Princess (30127721, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 707, E - 21/03/03 -GAME( 2007, tigressa, tigress, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Tigress (20243811, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // ???, ??? -GAME( 2002, tiktorchnz, tiktorch, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Tiki Torch (10124011, New Zealand)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4164, A - 06/09/02 -GAME( 2005, whalecshua, whalecsh, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Whales of Cash (0451346, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4214, B - 01/14/05 -GAME( 2004, wingoly, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Wings over Olympus (10176511, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // ???, ??? -GAME( 2004, wldpanth, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Wild Panthers - Lil' Lucy (0651310, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4187, D- 01/15/04 -GAME( 2006, zorroa6a, zorroa6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Zorro (20167511, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 743/1, ??? +GAME( 2004, antcleo, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Antony and Cleopatra (10163211, NSW/ACT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 754, A - 15/01/04 +GAME( 2003, apocof, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Apollo Coffee (0151105, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // US083, A - 11/10/03 +GAME( 2005, dstgold, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Desert Gold (20202311, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 748, D - 31/05/05 +GAME( 200?, efce, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Enchanted Forest - Cash Express (0151084, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // ???, ??? +GAME( 2001, gogreena, gogreen, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Go For Green (10122111, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // ???, ??? +GAME( 2005, gldgong, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "The Golden Gong (20196011, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 710/1, ? - 12/05/05 +GAME( 2002, hlntroyc, hlntroy, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Helen of Troy (10116411, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // JB001/4, ??? +GAME( 2002, holdrma6a, holdrma6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Hollywood Dreams (10122811, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // ???, ??? +GAME( 200?, lovestuk, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Love Stuck (0152583, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4285, (no data) +GAME( 200?, opsesam, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Open Sesame (0351309, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // ???, ??? +GAME( 2001, parislgta, parislgt, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Paris Lights (10139011, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // ???, ??? +GAME( 2005, roadtrip, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Road Trip (0152539, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4238, C - 08/18/05 +GAME( 200?, snapshot, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Snap Shot (20115211, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // ???, ??? +GAME( 200?, sunmonbb, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Sun & Moon - Bank Buster (0153028, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4173/2, (no data) +GAME( 2003, thaiprnca, thaiprnc, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Thai Princess (30127721, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 707, E - 21/03/03 +GAME( 2007, tigressa, tigress, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Tigress (20243811, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // ???, ??? +GAME( 2002, tiktorchnz, tiktorch, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Tiki Torch (10124011, New Zealand)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4164, A - 06/09/02 +GAME( 2005, whalecshua, whalecsh, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Whales of Cash (0451346, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4214, B - 01/14/05 +GAME( 2004, wingoly, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Wings over Olympus (10176511, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // ???, ??? +GAME( 2004, wldpanth, aristmk6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Wild Panthers - Lil' Lucy (0651310, US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // MV4187, D- 01/15/04 +GAME( 2006, zorroa6a, zorroa6, aristmk6, aristmk6, aristmk6_state, empty_init, ROT0, "Aristocrat", "Zorro (20167511, ASP)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 743/1, ??? diff --git a/src/mame/aristocrat/aristmk7.cpp b/src/mame/aristocrat/aristmk7.cpp index ed2676402e60e..e7edf17ccf16a 100644 --- a/src/mame/aristocrat/aristmk7.cpp +++ b/src/mame/aristocrat/aristmk7.cpp @@ -230,6 +230,6 @@ ROM_END } // anonymous namespace -GAME(2006?, aristmk7, 0, aristmk7, aristmk7, aristmk7_state, empty_init, ROT0, "Aristocrat", "Aristocrat MK-7 BIOS", MACHINE_IS_SKELETON | MACHINE_IS_BIOS_ROOT ) +GAME(2006?, aristmk7, 0, aristmk7, aristmk7, aristmk7_state, empty_init, ROT0, "Aristocrat", "Aristocrat MK-7 BIOS", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_IS_BIOS_ROOT ) -GAME(200?, a7lucky88, aristmk7, aristmk7, aristmk7, aristmk7_state, empty_init, ROT0, "Aristocrat", "Lucky 88 (Aristocrat MK-7)", MACHINE_IS_SKELETON ) +GAME(200?, a7lucky88, aristmk7, aristmk7, aristmk7, aristmk7_state, empty_init, ROT0, "Aristocrat", "Lucky 88 (Aristocrat MK-7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/astrocorp/hummer.cpp b/src/mame/astrocorp/hummer.cpp index 5502a813928a9..3a3a0ffc30a13 100644 --- a/src/mame/astrocorp/hummer.cpp +++ b/src/mame/astrocorp/hummer.cpp @@ -138,5 +138,5 @@ ROM_END } // anonymous namespace -GAME ( 2009, pengprty, 0, hummer, hummer, hummer_state, empty_init, ROT0, "Astro Corp.", "Penguin Party", MACHINE_IS_SKELETON ) -GAME ( 2012, jackvent, 0, hummer, hummer, hummer_state, empty_init, ROT0, "Astro Corp.", "Jack's Venture - Inca Treasure", MACHINE_IS_SKELETON ) +GAME ( 2009, pengprty, 0, hummer, hummer, hummer_state, empty_init, ROT0, "Astro Corp.", "Penguin Party", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME ( 2012, jackvent, 0, hummer, hummer, hummer_state, empty_init, ROT0, "Astro Corp.", "Jack's Venture - Inca Treasure", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/atari/akkaarrh.cpp b/src/mame/atari/akkaarrh.cpp index b8bf9e3652a69..93f2bfdf9247f 100644 --- a/src/mame/atari/akkaarrh.cpp +++ b/src/mame/atari/akkaarrh.cpp @@ -349,7 +349,7 @@ static INPUT_PORTS_START( akkaarrh ) PORT_START("7083") PORT_BIT( 0x0f, 0x00, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(30) PORT_KEYDELTA(20) PORT_BIT( 0x30, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) INPUT_PORTS_END diff --git a/src/mame/atari/arcadecl.cpp b/src/mame/atari/arcadecl.cpp index 8fa4e61b50a7e..df3e86d5fa630 100644 --- a/src/mame/atari/arcadecl.cpp +++ b/src/mame/atari/arcadecl.cpp @@ -357,7 +357,7 @@ static INPUT_PORTS_START( arcadecl ) PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_SERVICE( 0x0040, IP_ACTIVE_LOW ) - PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("COIN") @@ -417,7 +417,7 @@ static INPUT_PORTS_START( sparkz ) PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_SERVICE( 0x0040, IP_ACTIVE_LOW ) - PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("COIN") diff --git a/src/mame/atari/atarifb.cpp b/src/mame/atari/atarifb.cpp index ce9f398cd3feb..4dfe2d17be6ca 100644 --- a/src/mame/atari/atarifb.cpp +++ b/src/mame/atari/atarifb.cpp @@ -237,7 +237,7 @@ static INPUT_PORTS_START( atarifb ) PORT_BIT ( 0x0f, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT ( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_BIT ( 0x20, IP_ACTIVE_LOW, IPT_TILT ) - PORT_BIT ( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT ( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_START("IN1") @@ -307,7 +307,7 @@ static INPUT_PORTS_START( atarifb4 ) PORT_BIT ( 0x04, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_BIT ( 0x38, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_SERVICE( 0x40, IP_ACTIVE_LOW ) - PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) INPUT_PORTS_END @@ -384,7 +384,7 @@ static INPUT_PORTS_START( soccer ) PORT_BIT ( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* unused on schematics */ PORT_BIT ( 0x20, IP_ACTIVE_LOW, IPT_TILT ) PORT_SERVICE( 0x40, IP_ACTIVE_LOW ) - PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("DSW1") PORT_DIPNAME( 0x07, 0x00, "Time per coin" ) PORT_DIPLOCATION("SW1:1,2,3") diff --git a/src/mame/atari/atarig1.cpp b/src/mame/atari/atarig1.cpp index ae7be4f2be5ba..85ba1f4151665 100644 --- a/src/mame/atari/atarig1.cpp +++ b/src/mame/atari/atarig1.cpp @@ -172,7 +172,7 @@ static INPUT_PORTS_START( hydra ) PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_ATARI_JSA_MAIN_TO_SOUND_READY("jsa") PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("adc", FUNC(adc0808_device::eoc_r)) PORT_SERVICE( 0x4000, IP_ACTIVE_LOW ) - PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("ADC0") /* ADC 0 @ fc8000 */ PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) @@ -202,7 +202,7 @@ static INPUT_PORTS_START( pitfight ) PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_ATARI_JSA_MAIN_TO_SOUND_READY("jsa") PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_SERVICE( 0x4000, IP_ACTIVE_LOW ) - PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("IN1") /* fc8000 */ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(3) @@ -241,7 +241,7 @@ static INPUT_PORTS_START( pitfightp2 ) PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_ATARI_JSA_MAIN_TO_SOUND_READY("jsa") PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_SERVICE( 0x4000, IP_ACTIVE_LOW ) - PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("IN1") /* fc8000 */ PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN ) diff --git a/src/mame/atari/atarig1.h b/src/mame/atari/atarig1.h index c9e5df83bae6f..43a8b627ea086 100644 --- a/src/mame/atari/atarig1.h +++ b/src/mame/atari/atarig1.h @@ -18,17 +18,18 @@ class atarig1_state : public atarigen_state { public: - atarig1_state(const machine_config &mconfig, device_type type, const char *tag) - : atarigen_state(mconfig, type, tag), - m_slapstic(*this, "slapstic"), - m_slapstic_bank(*this, "slapstic_bank"), - m_jsa(*this, "jsa"), - m_playfield_tilemap(*this, "playfield"), - m_alpha_tilemap(*this, "alpha"), - m_rle(*this, "rle"), - m_adc(*this, "adc"), - m_in1(*this, "IN1"), - m_mo_command(*this, "mo_command") { } + atarig1_state(const machine_config &mconfig, device_type type, const char *tag) : + atarigen_state(mconfig, type, tag), + m_slapstic(*this, "slapstic"), + m_slapstic_bank(*this, "slapstic_bank"), + m_jsa(*this, "jsa"), + m_playfield_tilemap(*this, "playfield"), + m_alpha_tilemap(*this, "alpha"), + m_rle(*this, "rle"), + m_adc(*this, "adc"), + m_in1(*this, "IN1"), + m_mo_command(*this, "mo_command") + { } void atarig1(machine_config &config); void pfslap111(machine_config &config); @@ -64,11 +65,11 @@ class atarig1_state : public atarigen_state bool m_bslapstic_primed = false; - uint8_t m_pfscroll_xoffset = 0; - uint16_t m_current_control = 0; - uint8_t m_playfield_tile_bank = 0; - uint16_t m_playfield_xscroll = 0; - uint16_t m_playfield_yscroll = 0; + uint8_t m_pfscroll_xoffset = 0; + uint16_t m_current_control = 0; + uint8_t m_playfield_tile_bank = 0; + uint16_t m_playfield_xscroll = 0; + uint16_t m_playfield_yscroll = 0; void video_int_ack_w(uint16_t data = 0); TIMER_DEVICE_CALLBACK_MEMBER(scanline_update); diff --git a/src/mame/atari/atarig42.cpp b/src/mame/atari/atarig42.cpp index e698444d5eed4..d70650f2fbb61 100644 --- a/src/mame/atari/atarig42.cpp +++ b/src/mame/atari/atarig42.cpp @@ -370,7 +370,7 @@ static INPUT_PORTS_START( roadriot ) PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_ATARI_JSA_SOUND_TO_MAIN_READY("jsa") PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_ATARI_JSA_MAIN_TO_SOUND_READY("jsa") PORT_SERVICE( 0x0040, IP_ACTIVE_LOW ) - PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("A2D0") /* analog 0 */ @@ -417,7 +417,7 @@ INPUT_PORTS_START( dangerex ) PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_ATARI_JSA_SOUND_TO_MAIN_READY("jsa") PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_ATARI_JSA_MAIN_TO_SOUND_READY("jsa") PORT_SERVICE( 0x0040, IP_ACTIVE_LOW ) - PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("A2D0") /* analog 0 */ @@ -468,7 +468,7 @@ static INPUT_PORTS_START( guardian ) PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_ATARI_JSA_SOUND_TO_MAIN_READY("jsa") PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_ATARI_JSA_MAIN_TO_SOUND_READY("jsa") PORT_SERVICE( 0x0040, IP_ACTIVE_LOW ) - PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED ) INPUT_PORTS_END diff --git a/src/mame/atari/atarigt.cpp b/src/mame/atari/atarigt.cpp index 2a510e161d859..4578cd8e39375 100644 --- a/src/mame/atari/atarigt.cpp +++ b/src/mame/atari/atarigt.cpp @@ -702,7 +702,7 @@ static INPUT_PORTS_START( common ) PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNUSED ) /* A2D.EOC */ PORT_BIT( 0x0030, IP_ACTIVE_LOW, IPT_UNUSED ) /* NC */ PORT_SERVICE( 0x0040, IP_ACTIVE_LOW ) /* SELFTEST */ - PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") /* VBLANK */ + PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) /* VBLANK */ PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("COIN") /* 68.STATUS (A2=1) */ diff --git a/src/mame/atari/atarigx2.cpp b/src/mame/atari/atarigx2.cpp index d98e977a74b6d..600802ece5ad8 100644 --- a/src/mame/atari/atarigx2.cpp +++ b/src/mame/atari/atarigx2.cpp @@ -1244,7 +1244,7 @@ static INPUT_PORTS_START( spclords ) PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_ATARI_JSA_SOUND_TO_MAIN_READY("jsa") // /AUDIRQ PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_ATARI_JSA_MAIN_TO_SOUND_READY("jsa") // /AUDFULL PORT_SERVICE( 0x0040, IP_ACTIVE_LOW ) - PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("SPECIAL") /* 68.STATUS (A2=1) */ @@ -1298,7 +1298,7 @@ static INPUT_PORTS_START( motofren ) PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_ATARI_JSA_SOUND_TO_MAIN_READY("jsa") // /AUDIRQ PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_ATARI_JSA_MAIN_TO_SOUND_READY("jsa") // /AUDFULL PORT_SERVICE( 0x0040, IP_ACTIVE_LOW ) - PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("SPECIAL") /* 68.STATUS (A2=1) */ @@ -1356,7 +1356,7 @@ static INPUT_PORTS_START( rrreveng ) PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_ATARI_JSA_SOUND_TO_MAIN_READY("jsa") // /AUDIRQ PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_ATARI_JSA_MAIN_TO_SOUND_READY("jsa") // /AUDFULL PORT_SERVICE( 0x0040, IP_ACTIVE_LOW ) - PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("SPECIAL") /* 68.STATUS (A2=1) */ diff --git a/src/mame/atari/atarisy1.cpp b/src/mame/atari/atarisy1.cpp index 65d8491344fb8..1cfc665d908f0 100644 --- a/src/mame/atari/atarisy1.cpp +++ b/src/mame/atari/atarisy1.cpp @@ -480,7 +480,7 @@ static INPUT_PORTS_START( marble ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_START2 ) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_SERVICE( 0x0040, IP_ACTIVE_LOW ) PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("soundlatch", FUNC(generic_latch_8_device::pending_r)) // 68KBUF @@ -519,7 +519,7 @@ static INPUT_PORTS_START( peterpak ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_START2 ) PORT_NAME("Right Throw/P2 Start") PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Jump") PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_SERVICE( 0x0040, IP_ACTIVE_LOW ) PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("soundlatch", FUNC(generic_latch_8_device::pending_r)) // 68KBUF @@ -558,7 +558,7 @@ static INPUT_PORTS_START( indytemp ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_START2 ) PORT_NAME("Right Whip/P2 Start") PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN ) // freeze? PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_SERVICE( 0x0040, IP_ACTIVE_LOW ) PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("soundlatch", FUNC(generic_latch_8_device::pending_r)) // 68KBUF @@ -613,7 +613,7 @@ static INPUT_PORTS_START( roadrunn ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Right Hop/P2 Start") PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_SERVICE( 0x0040, IP_ACTIVE_LOW ) PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("soundlatch", FUNC(generic_latch_8_device::pending_r)) // 68KBUF @@ -648,7 +648,7 @@ static INPUT_PORTS_START( roadblst ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Lasers") PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_SERVICE( 0x0040, IP_ACTIVE_LOW ) PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("soundlatch", FUNC(generic_latch_8_device::pending_r)) // 68KBUF diff --git a/src/mame/atari/atarittl.cpp b/src/mame/atari/atarittl.cpp index 05452bcd38d8c..923bee71f1569 100644 --- a/src/mame/atari/atarittl.cpp +++ b/src/mame/atari/atarittl.cpp @@ -635,39 +635,39 @@ ROM_END } // Anonymous namespace -GAME(1975, antiairc, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Anti-Aircraft", MACHINE_IS_SKELETON) -GAME(1975, crashnsc, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Crash 'n Score/Stock Car", MACHINE_IS_SKELETON) +GAME(1975, antiairc, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Anti-Aircraft", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(1975, crashnsc, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Crash 'n Score/Stock Car", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) GAME(1974, gtrak10, 0, gtrak10, gtrak10, gtrak10_state, empty_init, ROT0, "Atari/Kee", "Gran Trak 10/Trak 10/Formula K", MACHINE_NOT_WORKING | MACHINE_NO_SOUND) -GAME(1974, gtrak10a, gtrak10, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari/Kee", "Gran Trak 10/Trak 10/Formula K (older)", MACHINE_IS_SKELETON) -GAME(1974, gtrak20, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari/Kee", "Gran Trak 20/Trak 20/Twin Racer", MACHINE_IS_SKELETON) -GAME(1976, indy4, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari/Kee", "Indy 4", MACHINE_IS_SKELETON) -GAME(1975, indy800, 0, atarikee, 0, atarikee_state, empty_init, ROT90, "Atari/Kee", "Indy 800", MACHINE_IS_SKELETON) -GAME(1975, jetfight, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Jet Fighter/Jet Fighter Cocktail/Launch Aircraft (set 1)", MACHINE_IS_SKELETON) -GAME(1975, jetfighta, jetfight, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Jet Fighter/Jet Fighter Cocktail/Launch Aircraft (set 2)", MACHINE_IS_SKELETON) -GAME(1976, lemans, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Le Mans", MACHINE_IS_SKELETON) -GAME(1976, outlaw, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Outlaw", MACHINE_IS_SKELETON) -GAME(1974, qwakttl, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Qwak!/Quack", MACHINE_IS_SKELETON) -GAME(1975, sharkjaw, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari/Horror Games", "Shark JAWS", MACHINE_IS_SKELETON) -GAME(1975, steeplec, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Steeplechase", MACHINE_IS_SKELETON) -GAME(1976, stuntcyc, 0, stuntcyc, stuntcyc, stuntcyc_state, empty_init, ROT0, "Atari", "Stunt Cycle", MACHINE_IS_SKELETON) +GAME(1974, gtrak10a, gtrak10, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari/Kee", "Gran Trak 10/Trak 10/Formula K (older)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(1974, gtrak20, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari/Kee", "Gran Trak 20/Trak 20/Twin Racer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(1976, indy4, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari/Kee", "Indy 4", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(1975, indy800, 0, atarikee, 0, atarikee_state, empty_init, ROT90, "Atari/Kee", "Indy 800", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(1975, jetfight, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Jet Fighter/Jet Fighter Cocktail/Launch Aircraft (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(1975, jetfighta, jetfight, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Jet Fighter/Jet Fighter Cocktail/Launch Aircraft (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(1976, lemans, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Le Mans", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(1976, outlaw, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Outlaw", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(1974, qwakttl, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Qwak!/Quack", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(1975, sharkjaw, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari/Horror Games", "Shark JAWS", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(1975, steeplec, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Steeplechase", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(1976, stuntcyc, 0, stuntcyc, stuntcyc, stuntcyc_state, empty_init, ROT0, "Atari", "Stunt Cycle", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) GAME(1974, tank, 0, tank, tank, tank_state, empty_init, ROT0, "Atari/Kee", "Tank/Tank Cocktail", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) -GAME(1975, tankii, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari/Kee", "Tank II", MACHINE_IS_SKELETON) +GAME(1975, tankii, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari/Kee", "Tank II", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) // MISSING ROM DUMPS -//GAME(1975, astrotrf, steeplec, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Astroturf", MACHINE_IS_SKELETON) +//GAME(1975, astrotrf, steeplec, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Astroturf", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) // 100% TTL -//GAME(1974, coupfran, worldcup, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari Europe", "Coup Franc", MACHINE_IS_SKELETON) -//GAME(1974, coupdmnd, worldcup, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari France", "Coup du Monde", MACHINE_IS_SKELETON) -//GAME(1975, crossfir, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari/Kee", "Crossfire", MACHINE_IS_SKELETON) -//GAME(1973, eliminat, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari/Kee", "Elimination!", MACHINE_IS_SKELETON) -//GAME(1975, goaliv, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Goal IV", MACHINE_IS_SKELETON) -//GAME(1973, gotchaat, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Gotcha", MACHINE_IS_SKELETON) //? -//GAME(1973, gotchaatc, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Gotcha Color", MACHINE_IS_SKELETON) //? -//GAME(1975, hiway, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Hi-Way/Highway", MACHINE_IS_SKELETON) -//GAME(1974, pinpong, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Pin Pong", MACHINE_IS_SKELETON) -//GAME(1975, pursuit, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Pursuit", MACHINE_IS_SKELETON) -//GAME(1974, quadpong, eliminat, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Quadrapong", MACHINE_IS_SKELETON) -//GAME(1973, spacrace, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Space Race", MACHINE_IS_SKELETON) -//GAME(1974, touchme, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Touch-Me", MACHINE_IS_SKELETON) //? -//GAME(1974, worldcup, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "World Cup/World Cup Football", MACHINE_IS_SKELETON) +//GAME(1974, coupfran, worldcup, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari Europe", "Coup Franc", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +//GAME(1974, coupdmnd, worldcup, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari France", "Coup du Monde", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +//GAME(1975, crossfir, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari/Kee", "Crossfire", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +//GAME(1973, eliminat, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari/Kee", "Elimination!", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +//GAME(1975, goaliv, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Goal IV", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +//GAME(1973, gotchaat, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Gotcha", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) //? +//GAME(1973, gotchaatc, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Gotcha Color", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) //? +//GAME(1975, hiway, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Hi-Way/Highway", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +//GAME(1974, pinpong, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Pin Pong", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +//GAME(1975, pursuit, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Pursuit", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +//GAME(1974, quadpong, eliminat, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Quadrapong", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +//GAME(1973, spacrace, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Space Race", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +//GAME(1974, touchme, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Touch-Me", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) //? +//GAME(1974, worldcup, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "World Cup/World Cup Football", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/atari/atetris.cpp b/src/mame/atari/atetris.cpp index 4258a1c3a8655..a0ed60cb59ded 100644 --- a/src/mame/atari/atetris.cpp +++ b/src/mame/atari/atetris.cpp @@ -526,7 +526,7 @@ static INPUT_PORTS_START( atetris ) PORT_DIPSETTING( 0x08, DEF_STR( On ) ) PORT_DIPUNUSED_DIPLOC( 0x10, 0x00, "50H:!2" ) // Listed As "SPARE2 (Unused)" PORT_DIPUNUSED_DIPLOC( 0x20, 0x00, "50H:!1" ) // Listed As "SPARE1 (Unused)" - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_SERVICE( 0x80, IP_ACTIVE_HIGH ) // The control panel has a start and an action button for both players. The board has them connected together on the JAMMA connector. diff --git a/src/mame/atari/avalnche.cpp b/src/mame/atari/avalnche.cpp index 1a34371b3ff1d..9f8a1b0722fb1 100644 --- a/src/mame/atari/avalnche.cpp +++ b/src/mame/atari/avalnche.cpp @@ -160,7 +160,7 @@ static INPUT_PORTS_START( avalnche ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* SLAM */ PORT_SERVICE( 0x20, IP_ACTIVE_HIGH) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON1 ) /* Serve */ - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") /* VBLANK */ + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) /* VBLANK */ PORT_START("PADDLE") PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_MINMAX(0x40, 0xb7) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_CENTERDELTA(0) diff --git a/src/mame/atari/badlands_m.cpp b/src/mame/atari/badlands_m.cpp index 06864994df34c..6d01f88e9085c 100644 --- a/src/mame/atari/badlands_m.cpp +++ b/src/mame/atari/badlands_m.cpp @@ -49,7 +49,7 @@ INPUT_PORTS_START( badlands ) PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Freeze") // freeze PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) PORT_NAME("P1 Start / Fire") PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) PORT_NAME("P2 Start / Fire") - PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_SERVICE( 0x0080, IP_ACTIVE_LOW ) PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED ) diff --git a/src/mame/atari/badlands_ms.cpp b/src/mame/atari/badlands_ms.cpp index fa2018632912f..181d45c794b88 100644 --- a/src/mame/atari/badlands_ms.cpp +++ b/src/mame/atari/badlands_ms.cpp @@ -199,4 +199,4 @@ ROM_END } // anonymous namespace -GAME( 199?, badlandsm, badlands, badlandsm, badlandsm, badlands_ms_state, empty_init, ROT0, "bootleg (Gaelco / Ervisa)", "Bad Lands (Modular System)", MACHINE_IS_SKELETON ) +GAME( 199?, badlandsm, badlands, badlandsm, badlandsm, badlands_ms_state, empty_init, ROT0, "bootleg (Gaelco / Ervisa)", "Bad Lands (Modular System)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/atari/batman.cpp b/src/mame/atari/batman.cpp index 1e49ec5289d89..8c339a5b202c1 100644 --- a/src/mame/atari/batman.cpp +++ b/src/mame/atari/batman.cpp @@ -383,7 +383,7 @@ static INPUT_PORTS_START( batman ) PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_ATARI_JSA_SOUND_TO_MAIN_READY("jsa") // Input buffer full (@260030) PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_ATARI_JSA_MAIN_TO_SOUND_READY("jsa") // Output buffer full (@260040) PORT_SERVICE( 0x0040, IP_ACTIVE_LOW ) - PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) INPUT_PORTS_END diff --git a/src/mame/atari/blstroid.cpp b/src/mame/atari/blstroid.cpp index a54a056ff1d68..0b6e5fbedefba 100644 --- a/src/mame/atari/blstroid.cpp +++ b/src/mame/atari/blstroid.cpp @@ -316,8 +316,8 @@ static INPUT_PORTS_START( blstroid ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1) - PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_HBLANK("screen") - PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::hblank)) + PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_ATARI_JSA_MAIN_TO_SOUND_READY("jsa") PORT_SERVICE( 0x0080, IP_ACTIVE_LOW ) PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED ) @@ -327,8 +327,8 @@ static INPUT_PORTS_START( blstroid ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2) - PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_HBLANK("screen") - PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::hblank)) + PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_ATARI_JSA_MAIN_TO_SOUND_READY("jsa") PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED ) diff --git a/src/mame/atari/bsktball.cpp b/src/mame/atari/bsktball.cpp index 202f16b42227f..19f8a1362b700 100644 --- a/src/mame/atari/bsktball.cpp +++ b/src/mame/atari/bsktball.cpp @@ -125,7 +125,7 @@ static INPUT_PORTS_START( bsktball ) /* 0x80 - DR3 = PL1 V DIR */ PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_TILT ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* SPARE */ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* TEST STEP */ diff --git a/src/mame/atari/canyon.cpp b/src/mame/atari/canyon.cpp index cd68166f29f17..da95e27cd6073 100644 --- a/src/mame/atari/canyon.cpp +++ b/src/mame/atari/canyon.cpp @@ -315,7 +315,7 @@ static INPUT_PORTS_START( canyon ) PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START2 ) PORT_SERVICE( 0x10, IP_ACTIVE_HIGH ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON7 ) PORT_NAME("Hiscore Reset") PORT_CODE(KEYCODE_H) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_TILT ) /* SLAM */ diff --git a/src/mame/atari/centiped.cpp b/src/mame/atari/centiped.cpp index a1a9d9857e04c..a9ffe39ebd26e 100644 --- a/src/mame/atari/centiped.cpp +++ b/src/mame/atari/centiped.cpp @@ -1051,7 +1051,7 @@ static INPUT_PORTS_START( centiped ) PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) PORT_DIPSETTING( 0x10, DEF_STR( Cocktail ) ) PORT_SERVICE( 0x20, IP_ACTIVE_LOW ) - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) /* trackball sign bit */ PORT_START("IN1") @@ -1310,7 +1310,7 @@ static INPUT_PORTS_START( milliped ) PORT_DIPSETTING( 0x0c, "0 1x 2x 3x" ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 ) - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) /* trackball sign bit */ PORT_START("IN1") /* $2001 */ /* see port 7 for y trackball */ @@ -1455,7 +1455,7 @@ static INPUT_PORTS_START( warlords ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x10, DEF_STR( On ) ) PORT_SERVICE( 0x20, IP_ACTIVE_LOW ) - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) ) PORT_DIPSETTING( 0x80, "Upright (overlay)" ) PORT_DIPSETTING( 0x00, "Cocktail (no overlay)" ) @@ -1538,7 +1538,7 @@ static INPUT_PORTS_START( mazeinv ) PORT_DIPNAME( 0x40, 0x00, "Minimum credits" ) PORT_DIPLOCATION("SW0:!7") PORT_DIPSETTING( 0x00, "1" ) PORT_DIPSETTING( 0x40, "2" ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("IN1") PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -1627,7 +1627,7 @@ static INPUT_PORTS_START( bullsdrt ) PORT_START("IN0") PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_CUSTOM ) /* trackball data */ PORT_BIT( 0x30, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) /* trackball sign bit */ PORT_START("IN1") diff --git a/src/mame/atari/cloak.cpp b/src/mame/atari/cloak.cpp index cd64b00190e9c..ec5d7554a08ab 100644 --- a/src/mame/atari/cloak.cpp +++ b/src/mame/atari/cloak.cpp @@ -482,7 +482,7 @@ static INPUT_PORTS_START( cloak ) PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED ) // player 2 controls, not used PORT_START("SYSTEM") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_SERVICE( 0x02, IP_ACTIVE_LOW ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN1 ) diff --git a/src/mame/atari/cyberbal.cpp b/src/mame/atari/cyberbal.cpp index 03fb435d0851f..3ba8c10ecc1b0 100644 --- a/src/mame/atari/cyberbal.cpp +++ b/src/mame/atari/cyberbal.cpp @@ -627,7 +627,7 @@ static INPUT_PORTS_START( cyberbal ) PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("lscreen") + PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("lscreen", FUNC(screen_device::vblank)) PORT_START("IN2") // fake port for screen switching PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNUSED ) @@ -656,7 +656,7 @@ static INPUT_PORTS_START( cyberbal2p ) PORT_START("IN2") // fc4000 PORT_BIT( 0x1fff, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_ATARI_JSA_MAIN_TO_SOUND_READY("jsa") - PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_SERVICE( 0x8000, IP_ACTIVE_LOW ) INPUT_PORTS_END diff --git a/src/mame/atari/cybstorm.cpp b/src/mame/atari/cybstorm.cpp index c9ef2383abc9d..494a9fac324da 100644 --- a/src/mame/atari/cybstorm.cpp +++ b/src/mame/atari/cybstorm.cpp @@ -417,14 +417,14 @@ static INPUT_PORTS_START( cybstorm ) PORT_BIT( 0x0000ff00, IP_ACTIVE_LOW, IPT_UNUSED ) // not tested - PORT_BIT( 0x00010000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_HBLANK("screen") + PORT_BIT( 0x00010000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::hblank)) PORT_BIT( 0x00020000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_BIT( 0x00040000, IP_ACTIVE_LOW, IPT_VOLUME_DOWN ) PORT_BIT( 0x00080000, IP_ACTIVE_LOW, IPT_VOLUME_UP ) PORT_BIT( 0x00100000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_ATARI_JSA_SOUND_TO_MAIN_READY("jsa") PORT_BIT( 0x00200000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_ATARI_JSA_MAIN_TO_SOUND_READY("jsa") PORT_SERVICE( 0x00400000, IP_ACTIVE_LOW ) - PORT_BIT( 0x00800000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x00800000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0xff000000, IP_ACTIVE_LOW, IPT_UNUSED ) // not tested INPUT_PORTS_END diff --git a/src/mame/atari/destroyr.cpp b/src/mame/atari/destroyr.cpp index 88261ac59d48a..c87708adb065e 100644 --- a/src/mame/atari/destroyr.cpp +++ b/src/mame/atari/destroyr.cpp @@ -322,7 +322,7 @@ static INPUT_PORTS_START( destroyr ) PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("IN2") PORT_DIPNAME( 0x03, 0x02, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW:4,3") diff --git a/src/mame/atari/eprom.cpp b/src/mame/atari/eprom.cpp index 6fa034246551e..8a06b6efa859c 100644 --- a/src/mame/atari/eprom.cpp +++ b/src/mame/atari/eprom.cpp @@ -686,7 +686,7 @@ static INPUT_PORTS_START( eprom ) PORT_BIT( 0xf000, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("260010") - PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_SERVICE( 0x0002, IP_ACTIVE_LOW ) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_ATARI_JSA_SOUND_TO_MAIN_READY("jsa") // Input buffer full (@260030) PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_ATARI_JSA_MAIN_TO_SOUND_READY("jsa") // Output buffer full (@360030) @@ -725,7 +725,7 @@ static INPUT_PORTS_START( klaxp ) PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1) PORT_START("260010") - PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_SERVICE( 0x0002, IP_ACTIVE_LOW ) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_ATARI_JSA_SOUND_TO_MAIN_READY("jsa") // Input buffer full (@260030) PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_ATARI_JSA_MAIN_TO_SOUND_READY("jsa") // Output buffer full (@360030) @@ -752,7 +752,7 @@ static INPUT_PORTS_START( guts ) PORT_BIT( 0xf000, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("260010") - PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_SERVICE( 0x0002, IP_ACTIVE_LOW ) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_ATARI_JSA_SOUND_TO_MAIN_READY("jsa") // Input buffer full (@260030) PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_ATARI_JSA_MAIN_TO_SOUND_READY("jsa") // Output buffer full (@360030) diff --git a/src/mame/atari/firefox.cpp b/src/mame/atari/firefox.cpp index b38a823a23465..3f316f7e355cc 100644 --- a/src/mame/atari/firefox.cpp +++ b/src/mame/atari/firefox.cpp @@ -502,7 +502,7 @@ static INPUT_PORTS_START( firefox ) PORT_START("rdin1") PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("soundlatch1", FUNC(generic_latch_8_device::pending_r)) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("soundlatch2", FUNC(generic_latch_8_device::pending_r)) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Diagnostic Step") // mentioned in schematics, but N/C? PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) diff --git a/src/mame/atari/firetrk.cpp b/src/mame/atari/firetrk.cpp index 1cae839f0f9ff..8ce349881f8d6 100644 --- a/src/mame/atari/firetrk.cpp +++ b/src/mame/atari/firetrk.cpp @@ -1087,7 +1087,7 @@ static INPUT_PORTS_START( firetrk ) PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START3 ) PORT_NAME("Both Players Start") PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("Track Select") PORT_PLAYER(1) PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Cabinet )) PORT_DIPSETTING( 0x00, "Smokey Joe (1 Player)" ) PORT_DIPSETTING( 0x40, "Fire Truck (2 Players)" ) @@ -1219,7 +1219,7 @@ static INPUT_PORTS_START( montecar ) PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(FUNC(firetrk_state::gear_r<2>)) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON6 ) PORT_NAME("Track Select") PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Gas") - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(FUNC(firetrk_state::steer_dir_r<0>)) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(FUNC(firetrk_state::skid_r<1>)) diff --git a/src/mame/atari/flyball.cpp b/src/mame/atari/flyball.cpp index 70aa8ea5993ea..c334896ea2c20 100644 --- a/src/mame/atari/flyball.cpp +++ b/src/mame/atari/flyball.cpp @@ -1,5 +1,5 @@ // license:BSD-3-Clause -// copyright-holders:Stefan Jokisch, Ivan Vangelista, Ryan Holtz +// copyright-holders:Stefan Jokisch, Ryan Holtz /*************************************************************************** Atari Flyball Driver diff --git a/src/mame/atari/gauntlet.cpp b/src/mame/atari/gauntlet.cpp index 81dd838957e0d..7961bd3094ef1 100644 --- a/src/mame/atari/gauntlet.cpp +++ b/src/mame/atari/gauntlet.cpp @@ -642,7 +642,7 @@ static INPUT_PORTS_START( gauntlet ) PORT_SERVICE( 0x0008, IP_ACTIVE_LOW ) PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("mainlatch", FUNC(generic_latch_8_device::pending_r)) // SNDBUF PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("soundlatch", FUNC(generic_latch_8_device::pending_r)) // 68KBUF - PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0xff80, IP_ACTIVE_HIGH, IPT_UNUSED ) PORT_START("COIN") // 1020 (sound) @@ -690,7 +690,7 @@ static INPUT_PORTS_START( vindctr2 ) PORT_SERVICE( 0x0008, IP_ACTIVE_LOW ) PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("mainlatch", FUNC(generic_latch_8_device::pending_r)) // SNDBUF PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("soundlatch", FUNC(generic_latch_8_device::pending_r)) // 68KBUF - PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0xff80, IP_ACTIVE_HIGH, IPT_UNUSED ) PORT_START("COIN") // 1020 (sound) diff --git a/src/mame/atari/gumrally.cpp b/src/mame/atari/gumrally.cpp index fb64aa75e71a3..b44aa742b5f6a 100644 --- a/src/mame/atari/gumrally.cpp +++ b/src/mame/atari/gumrally.cpp @@ -141,4 +141,4 @@ ROM_END } // Anonymous namespace -GAME( 1990, gumrally, 0, gumrally, gumrally, gumrally_state, empty_init, ROT0, "Atari Games", "Gumball Rally", MACHINE_IS_SKELETON_MECHANICAL ) // year taken from labels on OKI ROMs +GAME( 1990, gumrally, 0, gumrally, gumrally, gumrally_state, empty_init, ROT0, "Atari Games", "Gumball Rally", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // year taken from labels on OKI ROMs diff --git a/src/mame/atari/harddriv.cpp b/src/mame/atari/harddriv.cpp index 5f8d10cce2450..d2acec8b53852 100644 --- a/src/mame/atari/harddriv.cpp +++ b/src/mame/atari/harddriv.cpp @@ -792,7 +792,7 @@ static INPUT_PORTS_START( harddriv ) PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) /* HBLANK */ - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("mainpcb:screen") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("mainpcb:screen", FUNC(screen_device::vblank)) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) /* 12-bit EOC */ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("mainpcb:adc8", FUNC(adc0808_device::eoc_r)) PORT_SERVICE( 0x20, IP_ACTIVE_LOW ) @@ -875,7 +875,7 @@ static INPUT_PORTS_START( racedriv ) PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) /* HBLANK */ - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("mainpcb:screen") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("mainpcb:screen", FUNC(screen_device::vblank)) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) /* 12-bit EOC */ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("mainpcb:adc8", FUNC(adc0808_device::eoc_r)) PORT_SERVICE( 0x20, IP_ACTIVE_LOW ) @@ -959,7 +959,7 @@ static INPUT_PORTS_START( racedriv_pan ) PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) /* HBLANK */ - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("leftpcb:screen") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("leftpcb:screen", FUNC(screen_device::vblank)) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) /* 12-bit EOC */ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("leftpcb:adc8", FUNC(adc0808_device::eoc_r)) PORT_SERVICE( 0x20, IP_ACTIVE_LOW ) @@ -971,7 +971,7 @@ static INPUT_PORTS_START( racedriv_pan ) PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) /* HBLANK */ - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("rightpcb:screen") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("rightpcb:screen", FUNC(screen_device::vblank)) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) /* 12-bit EOC */ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("rightpcb:adc8", FUNC(adc0808_device::eoc_r)) PORT_SERVICE( 0x20, IP_ACTIVE_LOW ) @@ -998,7 +998,7 @@ static INPUT_PORTS_START( racedrivc ) PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) /* HBLANK */ - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("mainpcb:screen") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("mainpcb:screen", FUNC(screen_device::vblank)) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) /* 12-bit EOC */ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("mainpcb:adc8", FUNC(adc0808_device::eoc_r)) PORT_SERVICE( 0x20, IP_ACTIVE_LOW ) @@ -1087,7 +1087,7 @@ static INPUT_PORTS_START( stunrun ) PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) /* HBLANK */ - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("mainpcb:screen") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("mainpcb:screen", FUNC(screen_device::vblank)) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) /* 12-bit EOC */ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("mainpcb:adc8", FUNC(adc0808_device::eoc_r)) PORT_SERVICE( 0x20, IP_ACTIVE_LOW ) @@ -1176,7 +1176,7 @@ static INPUT_PORTS_START( steeltal ) PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) /* HBLANK */ - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("mainpcb:screen") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("mainpcb:screen", FUNC(screen_device::vblank)) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) /* 12-bit EOC */ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("mainpcb:adc8", FUNC(adc0808_device::eoc_r)) PORT_SERVICE( 0x20, IP_ACTIVE_LOW ) @@ -1266,7 +1266,7 @@ static INPUT_PORTS_START( strtdriv ) PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) /* HBLANK */ - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("mainpcb:screen") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("mainpcb:screen", FUNC(screen_device::vblank)) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) /* 12-bit EOC */ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("mainpcb:adc8", FUNC(adc0808_device::eoc_r)) PORT_SERVICE( 0x20, IP_ACTIVE_LOW ) @@ -1356,7 +1356,7 @@ static INPUT_PORTS_START( hdrivair ) PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) /* HBLANK */ - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("mainpcb:screen") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("mainpcb:screen", FUNC(screen_device::vblank)) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) /* 12-bit EOC */ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("mainpcb:adc8", FUNC(adc0808_device::eoc_r)) PORT_SERVICE( 0x20, IP_ACTIVE_LOW ) diff --git a/src/mame/atari/irobot.cpp b/src/mame/atari/irobot.cpp index 060e6ec4c4569..96e5c1cfe44a1 100644 --- a/src/mame/atari/irobot.cpp +++ b/src/mame/atari/irobot.cpp @@ -97,13 +97,13 @@ void irobot_state::irobot_clearirq_w(uint8_t data) { - m_maincpu->set_input_line(M6809_IRQ_LINE ,CLEAR_LINE); + m_maincpu->set_input_line(M6809_IRQ_LINE, CLEAR_LINE); } void irobot_state::irobot_clearfirq_w(uint8_t data) { - m_maincpu->set_input_line(M6809_FIRQ_LINE ,CLEAR_LINE); + m_maincpu->set_input_line(M6809_FIRQ_LINE, CLEAR_LINE); } @@ -194,7 +194,7 @@ static INPUT_PORTS_START( irobot ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* MB DONE */ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* EXT DONE */ - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("DSW2") /* DSW2 - 5E*/ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Language ) ) PORT_DIPLOCATION("SW5E:1") @@ -372,10 +372,10 @@ ROM_START( irobot ) ROM_LOAD( "136029-121.bin", 0x2820, 0x0400, CRC(adebcb99) SHA1(4628f8af43d82e578833b1452ec747eeb822b4e4) ) ROM_LOAD( "136029-122.bin", 0x2c20, 0x0400, CRC(da7b6f79) SHA1(02398ba6e7c56d961bf92e2755e530db1144219d) ) ROM_LOAD( "136029-123.bin", 0x3020, 0x0400, CRC(39fff18f) SHA1(85f338eeff7d8ed58804611bf8446ebb697d196d) ) -ROM_END /* Colorprom from John's driver. ? */ /* ROM_LOAD( "136029.125", 0x0000, 0x0020, CRC(c05abf82) ) */ +ROM_END diff --git a/src/mame/atari/irobot.h b/src/mame/atari/irobot.h index 7267fb798cbdc..ed3e1703d34e0 100644 --- a/src/mame/atari/irobot.h +++ b/src/mame/atari/irobot.h @@ -17,6 +17,7 @@ #include "screen.h" #define IR_TIMING 1 /* try to emulate MB and VG running time */ +#define DISASSEMBLE_MB_ROM 0 /* generate a disassembly of the mathbox ROMs */ class irobot_state : public driver_device { @@ -41,11 +42,17 @@ class irobot_state : public driver_device void irobot(machine_config &config); +protected: + virtual void machine_start() override ATTR_COLD; + virtual void machine_reset() override ATTR_COLD; + virtual void video_start() override ATTR_COLD; + private: struct irmb_ops { const struct irmb_ops *nxtop; uint32_t func; + uint32_t nxtadd; uint32_t diradd; uint32_t latchmask; uint32_t *areg; @@ -56,36 +63,6 @@ class irobot_state : public driver_device uint8_t ramsel; }; - virtual void machine_start() override ATTR_COLD; - virtual void machine_reset() override ATTR_COLD; - virtual void video_start() override ATTR_COLD; - void irobot_map(address_map &map) ATTR_COLD; - - void irobot_clearirq_w(uint8_t data); - void irobot_clearfirq_w(uint8_t data); - uint8_t irobot_sharedmem_r(offs_t offset); - void irobot_sharedmem_w(offs_t offset, uint8_t data); - void irobot_statwr_w(uint8_t data); - void irobot_out0_w(uint8_t data); - void irobot_rom_banksel_w(uint8_t data); - uint8_t irobot_status_r(); - void irobot_paletteram_w(offs_t offset, uint8_t data); - uint8_t quad_pokeyn_r(offs_t offset); - void quad_pokeyn_w(offs_t offset, uint8_t data); - void irobot_palette(palette_device &palette) const; - uint32_t screen_update_irobot(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - TIMER_CALLBACK_MEMBER(scanline_callback); - TIMER_DEVICE_CALLBACK_MEMBER(irobot_irvg_done_callback); - TIMER_DEVICE_CALLBACK_MEMBER(irobot_irmb_done_callback); - void irobot_poly_clear(uint8_t *bitmap_base); - void irobot_poly_clear(); - void draw_line(uint8_t *polybitmap, int x1, int y1, int x2, int y2, int col); - void irobot_run_video(); - uint32_t irmb_din(const irmb_ops *curop); - void irmb_dout(const irmb_ops *curop, uint32_t d); - void load_oproms(); - void irmb_run(); - required_shared_ptr m_videoram; uint8_t m_vg_clear = 0U; uint8_t m_bufsel = 0U; @@ -125,6 +102,39 @@ class irobot_state : public driver_device required_device m_novram; required_device_array m_pokey; output_finder<2> m_leds; + +#if DISASSEMBLE_MB_ROM + void disassemble_instruction(uint16_t offset, const irmb_ops *op); +#endif + + void irobot_map(address_map &map) ATTR_COLD; + + void irobot_clearirq_w(uint8_t data); + void irobot_clearfirq_w(uint8_t data); + uint8_t irobot_sharedmem_r(offs_t offset); + void irobot_sharedmem_w(offs_t offset, uint8_t data); + void irobot_statwr_w(uint8_t data); + void irobot_out0_w(uint8_t data); + void irobot_rom_banksel_w(uint8_t data); + uint8_t irobot_status_r(); + void irobot_paletteram_w(offs_t offset, uint8_t data); + uint8_t quad_pokeyn_r(offs_t offset); + void quad_pokeyn_w(offs_t offset, uint8_t data); + + void irobot_palette(palette_device &palette) const; + uint32_t screen_update_irobot(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + TIMER_CALLBACK_MEMBER(scanline_callback); + TIMER_DEVICE_CALLBACK_MEMBER(irobot_irvg_done_callback); + TIMER_DEVICE_CALLBACK_MEMBER(irobot_irmb_done_callback); + void irobot_poly_clear(uint8_t *bitmap_base); + void irobot_poly_clear(); + void draw_line(uint8_t *polybitmap, int x1, int y1, int x2, int y2, int col); + void irobot_run_video(); + + uint32_t irmb_din(const irmb_ops *curop); + void irmb_dout(const irmb_ops *curop, uint32_t d); + void load_oproms(); + void irmb_run(); }; #endif // MAME_ATARI_IROBOT_H diff --git a/src/mame/atari/irobot_m.cpp b/src/mame/atari/irobot_m.cpp index ab8753b2fac6f..d6bde9cf63312 100644 --- a/src/mame/atari/irobot_m.cpp +++ b/src/mame/atari/irobot_m.cpp @@ -13,7 +13,7 @@ /* Note: * There's probably something wrong with the way the Mathbox gets started. * Try compiling with IR_TIMING=1, run with logging on and take a look at - * the resulting logilfe. + * the resulting logfile. * The mathbox is started in short intervals (<10 scanlines) without (!) * checking its idle status. * It also seems that the mathbox in this emulation would have to cope with @@ -22,11 +22,8 @@ * too high. */ -#define DISASSEMBLE_MB_ROM 0 /* generate a disassembly of the mathbox ROMs */ - #define IR_CPU_STATE() \ - logerror(\ - "%s, scanline: %d\n", machine().describe_context(), m_screen->vpos()) + logerror("%s, scanline: %d\n", machine().describe_context(), m_screen->vpos()) uint8_t irobot_state::irobot_sharedmem_r(offs_t offset) @@ -35,7 +32,7 @@ uint8_t irobot_state::irobot_sharedmem_r(offs_t offset) return m_mbRAM[BYTE_XOR_BE(offset)]; if (m_outx == 2) - return m_combase[BYTE_XOR_BE(offset & 0xFFF)]; + return m_combase[BYTE_XOR_BE(offset & 0xfff)]; if (m_outx == 0) return m_mbROM[((m_mpage & 1) << 13) + BYTE_XOR_BE(offset)]; @@ -43,7 +40,7 @@ uint8_t irobot_state::irobot_sharedmem_r(offs_t offset) if (m_outx == 1) return m_mbROM[0x4000 + ((m_mpage & 3) << 13) + BYTE_XOR_BE(offset)]; - return 0xFF; + return 0xff; } /* Comment out the mbRAM =, comRAM2 = or comRAM1 = and it will start working */ @@ -53,7 +50,7 @@ void irobot_state::irobot_sharedmem_w(offs_t offset, uint8_t data) m_mbRAM[BYTE_XOR_BE(offset)] = data; if (m_outx == 2) - m_combase[BYTE_XOR_BE(offset & 0xFFF)] = data; + m_combase[BYTE_XOR_BE(offset & 0xfff)] = data; } TIMER_DEVICE_CALLBACK_MEMBER(irobot_state::irobot_irvg_done_callback) @@ -86,7 +83,7 @@ void irobot_state::irobot_statwr_w(uint8_t data) IR_CPU_STATE(); m_irvg_timer->adjust(attotime::from_msec(10)); #endif - m_irvg_running=1; + m_irvg_running = 1; } if (BIT(data, 4) && !BIT(m_statwr, 4)) irmb_run(); @@ -104,13 +101,13 @@ void irobot_state::irobot_out0_w(uint8_t data) switch (data & 0x60) { case 0: - membank("bank2")->set_base(&RAM[0x1C000]); + membank("bank2")->set_base(&RAM[0x1c000]); break; case 0x20: - membank("bank2")->set_base(&RAM[0x1C800]); + membank("bank2")->set_base(&RAM[0x1c800]); break; case 0x40: - membank("bank2")->set_base(&RAM[0x1D000]); + membank("bank2")->set_base(&RAM[0x1d000]); break; } m_outx = (data & 0x18) >> 3; @@ -122,7 +119,7 @@ void irobot_state::irobot_rom_banksel_w(uint8_t data) { uint8_t *RAM = memregion("maincpu")->base(); - switch ((data & 0x0E) >> 1) + switch ((data & 0x0e) >> 1) { case 0: membank("bank1")->set_base(&RAM[0x10000]); @@ -140,7 +137,7 @@ void irobot_state::irobot_rom_banksel_w(uint8_t data) membank("bank1")->set_base(&RAM[0x18000]); break; case 5: - membank("bank1")->set_base(&RAM[0x1A000]); + membank("bank1")->set_base(&RAM[0x1a000]); break; } m_leds[0] = BIT(data, 4); @@ -151,8 +148,8 @@ TIMER_CALLBACK_MEMBER(irobot_state::scanline_callback) { int scanline = param; - if (scanline == 0) m_irvg_vblank=0; - if (scanline == 224) m_irvg_vblank=1; + if (scanline == 0) m_irvg_vblank = 0; + if (scanline == 224) m_irvg_vblank = 1; logerror("SCANLINE CALLBACK %d\n",scanline); /* set the IRQ line state based on the 32V line state */ m_maincpu->set_input_line(M6809_IRQ_LINE, (scanline & 32) ? ASSERT_LINE : CLEAR_LINE); @@ -184,7 +181,7 @@ void irobot_state::machine_reset() m_comRAM[0] = MB + 0x0e000; m_comRAM[1] = MB + 0x0f000; - m_irvg_vblank=0; + m_irvg_vblank = 0; m_irvg_running = 0; m_irmb_running = 0; @@ -198,7 +195,7 @@ void irobot_state::machine_reset() them to simulate the mathbox and vector generator running in real time */ uint8_t irobot_state::irobot_status_r() { - int d=0; + int d = 0; logerror("status read. "); IR_CPU_STATE(); @@ -211,8 +208,8 @@ uint8_t irobot_state::irobot_status_r() #if IR_TIMING /* flags are cleared by callbacks */ #else - m_irmb_running=0; - m_irvg_running=0; + m_irmb_running = 0; + m_irvg_running = 0; #endif return d; } @@ -270,11 +267,6 @@ uint8_t irobot_state::irobot_status_r() #define FL_MBRW 0x80 -#if DISASSEMBLE_MB_ROM -static void disassemble_instruction(irobot_state::irmb_ops const *op); -#endif - - uint32_t irobot_state::irmb_din(const irmb_ops *curop) { uint32_t d = 0; @@ -286,9 +278,9 @@ uint32_t irobot_state::irmb_din(const irmb_ops *curop) if (curop->diren || (m_irmb_latch & 0x6000) == 0) d = ((uint16_t *)m_mbRAM)[ad & 0xfff]; /* MB RAM read */ else if (m_irmb_latch & 0x4000) - d = ((uint16_t *)m_mbROM)[ad + 0x2000]; /* MB ROM read, CEMATH = 1 */ + d = ((uint16_t *)m_mbROM)[ad + 0x2000]; /* MB ROM read, CEMATH = 1 */ else - d = ((uint16_t *)m_mbROM)[ad & 0x1fff]; /* MB ROM read, CEMATH = 0 */ + d = ((uint16_t *)m_mbROM)[ad & 0x1fff]; /* MB ROM read, CEMATH = 0 */ } return d; } @@ -323,29 +315,30 @@ void irobot_state::load_oproms() { int nxtadd, func, ramsel, diradd, latchmask, dirmask, time; - m_mbops[i].areg = &m_irmb_regs[MB[0x0000 + i] & 0x0F]; - m_mbops[i].breg = &m_irmb_regs[MB[0x0400 + i] & 0x0F]; - func = (MB[0x0800 + i] & 0x0F) << 5; - func |= ((MB[0x0C00 +i] & 0x0F) << 1); + m_mbops[i].areg = &m_irmb_regs[MB[0x0000 + i] & 0x0f]; + m_mbops[i].breg = &m_irmb_regs[MB[0x0400 + i] & 0x0f]; + func = (MB[0x0800 + i] & 0x0f) << 5; + func |= ((MB[0x0c00 +i] & 0x0f) << 1); func |= (MB[0x1000 + i] & 0x08) >> 3; time = MB[0x1000 + i] & 0x03; m_mbops[i].flags = (MB[0x1000 + i] & 0x04) >> 2; - nxtadd = (MB[0x1400 + i] & 0x0C) >> 2; + nxtadd = (MB[0x1400 + i] & 0x0c) >> 2; diradd = MB[0x1400 + i] & 0x03; - nxtadd |= ((MB[0x1800 + i] & 0x0F) << 6); - nxtadd |= ((MB[0x1C00 + i] & 0x0F) << 2); - diradd |= (MB[0x2000 + i] & 0x0F) << 2; - func |= (MB[0x2400 + i] & 0x0E) << 9; + nxtadd |= ((MB[0x1800 + i] & 0x0f) << 6); + nxtadd |= ((MB[0x1c00 + i] & 0x0f) << 2); + diradd |= (MB[0x2000 + i] & 0x0f) << 2; + func |= (MB[0x2400 + i] & 0x0e) << 9; m_mbops[i].flags |= (MB[0x2400 + i] & 0x01) << 1; - m_mbops[i].flags |= (MB[0x2800 + i] & 0x0F) << 2; - m_mbops[i].flags |= ((MB[0x2C00 + i] & 0x01) << 6); - m_mbops[i].flags |= (MB[0x2C00 + i] & 0x08) << 4; - ramsel = (MB[0x2C00 + i] & 0x06) >> 1; + m_mbops[i].flags |= (MB[0x2800 + i] & 0x0f) << 2; + m_mbops[i].flags |= ((MB[0x2c00 + i] & 0x01) << 6); + m_mbops[i].flags |= (MB[0x2c00 + i] & 0x08) << 4; + ramsel = (MB[0x2c00 + i] & 0x06) >> 1; diradd |= (MB[0x3000 + i] & 0x03) << 6; if (m_mbops[i].flags & FL_shift) func |= 0x200; m_mbops[i].func = func; + m_mbops[i].nxtadd = nxtadd; m_mbops[i].nxtop = &m_mbops[nxtadd]; /* determine the number of 12MHz cycles for this operation */ @@ -357,13 +350,13 @@ void irobot_state::load_oproms() /* precompute the hardcoded address bits and the mask to be used on the latch value */ if (ramsel == 0) { - dirmask = 0x00FC; + dirmask = 0x00fc; latchmask = 0x3000; } else { dirmask = 0x0000; - latchmask = 0x3FFC; + latchmask = 0x3ffc; } if (ramsel & 2) latchmask |= 0x0003; @@ -376,7 +369,7 @@ void irobot_state::load_oproms() m_mbops[i].diren = (ramsel == 0); #if DISASSEMBLE_MB_ROM - disassemble_instruction(&m_mbops[i]); + disassemble_instruction(i, &m_mbops[i]); #endif } } @@ -400,53 +393,53 @@ TIMER_DEVICE_CALLBACK_MEMBER(irobot_state::irobot_irmb_done_callback) #define COMPUTE_CI \ - CI = 0;\ - if (curop->flags & FL_DPSEL)\ - CI = cflag;\ - else\ - {\ - if (curop->flags & FL_carry)\ - CI = 1;\ - if (!(prevop->flags & FL_DIV) && !nflag)\ - CI = 1;\ + CI = 0; \ + if (curop->flags & FL_DPSEL) \ + CI = cflag; \ + else \ + { \ + if (curop->flags & FL_carry) \ + CI = 1; \ + if (!(prevop->flags & FL_DIV) && !nflag) \ + CI = 1; \ } #define ADD(r,s) \ - COMPUTE_CI;\ - result = r + s + CI;\ - cflag = (result >> 16) & 1;\ + COMPUTE_CI; \ + result = r + s + CI; \ + cflag = (result >> 16) & 1; \ vflag = (((r & 0x7fff) + (s & 0x7fff) + CI) >> 15) ^ cflag #define SUBR(r,s) \ - COMPUTE_CI;\ - result = (r ^ 0xFFFF) + s + CI; /*S - R + CI - 1*/ \ - cflag = (result >> 16) & 1;\ + COMPUTE_CI; \ + result = (r ^ 0xffff) + s + CI; /*S - R + CI - 1*/ \ + cflag = (result >> 16) & 1; \ vflag = (((s & 0x7fff) + ((r ^ 0xffff) & 0x7fff) + CI) >> 15) ^ cflag #define SUB(r,s) \ - COMPUTE_CI;\ - result = r + (s ^ 0xFFFF) + CI; /*R - S + CI - 1*/ \ - cflag = (result >> 16) & 1;\ + COMPUTE_CI; \ + result = r + (s ^ 0xffff) + CI; /*R - S + CI - 1*/ \ + cflag = (result >> 16) & 1; \ vflag = (((r & 0x7fff) + ((s ^ 0xffff) & 0x7fff) + CI) >> 15) ^ cflag #define OR(r,s) \ - result = r | s;\ + result = r | s; \ vflag = cflag = 0 #define AND(r,s) \ - result = r & s;\ + result = r & s; \ vflag = cflag = 0 #define IAND(r,s) \ - result = (r ^ 0xFFFF) & s;\ + result = (r ^ 0xffff) & s; \ vflag = cflag = 0 #define XOR(r,s) \ - result = r ^ s;\ + result = r ^ s; \ vflag = cflag = 0 #define IXOR(r,s) \ - result = (r ^ s) ^ 0xFFFF;\ + result = (r ^ s) ^ 0xffff; \ vflag = cflag = 0 @@ -457,47 +450,47 @@ TIMER_DEVICE_CALLBACK_MEMBER(irobot_state::irobot_irmb_done_callback) Y = zresult #define DEST2 \ - Y = *curop->areg;\ + Y = *curop->areg; \ *curop->breg = zresult #define DEST3 \ - *curop->breg = zresult;\ + *curop->breg = zresult; \ Y = zresult #define DEST4_NOSHIFT \ - *curop->breg = (zresult >> 1) | ((curop->flags & 0x20) << 10);\ - Q = (Q >> 1) | ((curop->flags & 0x20) << 10);\ + *curop->breg = (zresult >> 1) | ((curop->flags & 0x20) << 10); \ + Q = (Q >> 1) | ((curop->flags & 0x20) << 10); \ Y = zresult #define DEST4_SHIFT \ - *curop->breg = (zresult >> 1) | ((nflag ^ vflag) << 15);\ - Q = (Q >> 1) | ((zresult & 0x01) << 15);\ + *curop->breg = (zresult >> 1) | ((nflag ^ vflag) << 15); \ + Q = (Q >> 1) | ((zresult & 0x01) << 15); \ Y = zresult #define DEST5_NOSHIFT \ - *curop->breg = (zresult >> 1) | ((curop->flags & 0x20) << 10);\ + *curop->breg = (zresult >> 1) | ((curop->flags & 0x20) << 10); \ Y = zresult #define DEST5_SHIFT \ - *curop->breg = (zresult >> 1) | ((nflag ^ vflag) << 15);\ + *curop->breg = (zresult >> 1) | ((nflag ^ vflag) << 15); \ Y = zresult #define DEST6_NOSHIFT \ - *curop->breg = zresult << 1;\ - Q = ((Q << 1) & 0xffff) | (nflag ^ 1);\ + *curop->breg = zresult << 1; \ + Q = ((Q << 1) & 0xffff) | (nflag ^ 1); \ Y = zresult #define DEST6_SHIFT \ - *curop->breg = (zresult << 1) | ((Q & 0x8000) >> 15);\ - Q = (Q << 1) & 0xffff;\ + *curop->breg = (zresult << 1) | ((Q & 0x8000) >> 15); \ + Q = (Q << 1) & 0xffff; \ Y = zresult #define DEST7_NOSHIFT \ - *curop->breg = zresult << 1;\ + *curop->breg = zresult << 1; \ Y = zresult #define DEST7_SHIFT \ - *curop->breg = (zresult << 1) | ((Q & 0x8000) >> 15);\ + *curop->breg = (zresult << 1) | ((Q & 0x8000) >> 15); \ Y = zresult @@ -516,278 +509,274 @@ void irobot_state::irmb_run() { uint32_t icount = 0; + const irmb_ops *prevop = &m_mbops[0]; + const irmb_ops *curop = &m_mbops[0]; + + uint32_t Q = 0; + uint32_t Y = 0; + uint32_t nflag = 0; + uint32_t vflag = 0; + uint32_t cflag = 0; + uint32_t zresult = 1; + uint32_t CI = 0; + uint32_t SP = 0; + + auto profile = g_profiler.start(PROFILER_USER1); + + while ((prevop->flags & (FL_DPSEL | FL_carry)) != (FL_DPSEL | FL_carry)) { - const irmb_ops *prevop = &m_mbops[0]; - const irmb_ops *curop = &m_mbops[0]; + uint32_t result; + uint32_t fu; + uint32_t tmp; - uint32_t Q = 0; - uint32_t Y = 0; - uint32_t nflag = 0; - uint32_t vflag = 0; - uint32_t cflag = 0; - uint32_t zresult = 1; - uint32_t CI = 0; - uint32_t SP = 0; + icount += curop->cycles; - auto profile = g_profiler.start(PROFILER_USER1); + /* Get function code */ + fu = curop->func; - while ((prevop->flags & (FL_DPSEL | FL_carry)) != (FL_DPSEL | FL_carry)) + /* Modify function for MULT */ + if (!(prevop->flags & FL_MULT) || (Q & 1)) + fu = fu ^ 0x02; + else + fu = fu | 0x02; + + /* Modify function for DIV */ + if ((prevop->flags & FL_DIV) || nflag) + fu = fu ^ 0x08; + else + fu = fu | 0x08; + + /* Do source and operation */ + switch (fu & 0x03f) { - uint32_t result; - uint32_t fu; - uint32_t tmp; + case 0x00: ADD(*curop->areg, Q); break; + case 0x01: ADD(*curop->areg, *curop->breg); break; + case 0x02: ADD(0, Q); break; + case 0x03: ADD(0, *curop->breg); break; + case 0x04: ADD(0, *curop->areg); break; + case 0x05: tmp = irmb_din(curop); ADD(tmp, *curop->areg); break; + case 0x06: tmp = irmb_din(curop); ADD(tmp, Q); break; + case 0x07: tmp = irmb_din(curop); ADD(tmp, 0); break; + case 0x08: SUBR(*curop->areg, Q); break; + case 0x09: SUBR(*curop->areg, *curop->breg); break; + case 0x0a: SUBR(0, Q); break; + case 0x0b: SUBR(0, *curop->breg); break; + case 0x0c: SUBR(0, *curop->areg); break; + case 0x0d: tmp = irmb_din(curop); SUBR(tmp, *curop->areg); break; + case 0x0e: tmp = irmb_din(curop); SUBR(tmp, Q); break; + case 0x0f: tmp = irmb_din(curop); SUBR(tmp, 0); break; + case 0x10: SUB(*curop->areg, Q); break; + case 0x11: SUB(*curop->areg, *curop->breg); break; + case 0x12: SUB(0, Q); break; + case 0x13: SUB(0, *curop->breg); break; + case 0x14: SUB(0, *curop->areg); break; + case 0x15: tmp = irmb_din(curop); SUB(tmp, *curop->areg); break; + case 0x16: tmp = irmb_din(curop); SUB(tmp, Q); break; + case 0x17: tmp = irmb_din(curop); SUB(tmp, 0); break; + case 0x18: OR(*curop->areg, Q); break; + case 0x19: OR(*curop->areg, *curop->breg); break; + case 0x1a: OR(0, Q); break; + case 0x1b: OR(0, *curop->breg); break; + case 0x1c: OR(0, *curop->areg); break; + case 0x1d: OR(irmb_din(curop), *curop->areg); break; + case 0x1e: OR(irmb_din(curop), Q); break; + case 0x1f: OR(irmb_din(curop), 0); break; + case 0x20: AND(*curop->areg, Q); break; + case 0x21: AND(*curop->areg, *curop->breg); break; + case 0x22: AND(0, Q); break; + case 0x23: AND(0, *curop->breg); break; + case 0x24: AND(0, *curop->areg); break; + case 0x25: AND(irmb_din(curop), *curop->areg); break; + case 0x26: AND(irmb_din(curop), Q); break; + case 0x27: AND(irmb_din(curop), 0); break; + case 0x28: IAND(*curop->areg, Q); break; + case 0x29: IAND(*curop->areg, *curop->breg); break; + case 0x2a: IAND(0, Q); break; + case 0x2b: IAND(0, *curop->breg); break; + case 0x2c: IAND(0, *curop->areg); break; + case 0x2d: IAND(irmb_din(curop), *curop->areg); break; + case 0x2e: IAND(irmb_din(curop), Q); break; + case 0x2f: IAND(irmb_din(curop), 0); break; + case 0x30: XOR(*curop->areg, Q); break; + case 0x31: XOR(*curop->areg, *curop->breg); break; + case 0x32: XOR(0, Q); break; + case 0x33: XOR(0, *curop->breg); break; + case 0x34: XOR(0, *curop->areg); break; + case 0x35: XOR(irmb_din(curop), *curop->areg); break; + case 0x36: XOR(irmb_din(curop), Q); break; + case 0x37: XOR(irmb_din(curop), 0); break; + case 0x38: IXOR(*curop->areg, Q); break; + case 0x39: IXOR(*curop->areg, *curop->breg); break; + case 0x3a: IXOR(0, Q); break; + case 0x3b: IXOR(0, *curop->breg); break; + case 0x3c: IXOR(0, *curop->areg); break; + case 0x3d: IXOR(irmb_din(curop), *curop->areg); break; + case 0x3e: IXOR(irmb_din(curop), Q); break; + case 0x3f: IXOR(irmb_din(curop), 0); break; + } - icount += curop->cycles; + /* Evaluate flags */ + zresult = result & 0xffff; + nflag = zresult >> 15; - /* Get function code */ - fu = curop->func; + prevop = curop; - /* Modify function for MULT */ - if (!(prevop->flags & FL_MULT) || (Q & 1)) - fu = fu ^ 0x02; - else - fu = fu | 0x02; + /* Do destination and jump */ + switch (fu >> 6) + { + case 0x00: + case 0x08: DEST0; JUMP0; break; + case 0x01: + case 0x09: DEST1; JUMP0; break; + case 0x02: + case 0x0a: DEST2; JUMP0; break; + case 0x03: + case 0x0b: DEST3; JUMP0; break; + case 0x04: DEST4_NOSHIFT; JUMP0; break; + case 0x05: DEST5_NOSHIFT; JUMP0; break; + case 0x06: DEST6_NOSHIFT; JUMP0; break; + case 0x07: DEST7_NOSHIFT; JUMP0; break; + case 0x0c: DEST4_SHIFT; JUMP0; break; + case 0x0d: DEST5_SHIFT; JUMP0; break; + case 0x0e: DEST6_SHIFT; JUMP0; break; + case 0x0f: DEST7_SHIFT; JUMP0; break; + + case 0x10: + case 0x18: DEST0; JUMP1; break; + case 0x11: + case 0x19: DEST1; JUMP1; break; + case 0x12: + case 0x1a: DEST2; JUMP1; break; + case 0x13: + case 0x1b: DEST3; JUMP1; break; + case 0x14: DEST4_NOSHIFT; JUMP1; break; + case 0x15: DEST5_NOSHIFT; JUMP1; break; + case 0x16: DEST6_NOSHIFT; JUMP1; break; + case 0x17: DEST7_NOSHIFT; JUMP1; break; + case 0x1c: DEST4_SHIFT; JUMP1; break; + case 0x1d: DEST5_SHIFT; JUMP1; break; + case 0x1e: DEST6_SHIFT; JUMP1; break; + case 0x1f: DEST7_SHIFT; JUMP1; break; + + case 0x20: + case 0x28: DEST0; JUMP2; break; + case 0x21: + case 0x29: DEST1; JUMP2; break; + case 0x22: + case 0x2a: DEST2; JUMP2; break; + case 0x23: + case 0x2b: DEST3; JUMP2; break; + case 0x24: DEST4_NOSHIFT; JUMP2; break; + case 0x25: DEST5_NOSHIFT; JUMP2; break; + case 0x26: DEST6_NOSHIFT; JUMP2; break; + case 0x27: DEST7_NOSHIFT; JUMP2; break; + case 0x2c: DEST4_SHIFT; JUMP2; break; + case 0x2d: DEST5_SHIFT; JUMP2; break; + case 0x2e: DEST6_SHIFT; JUMP2; break; + case 0x2f: DEST7_SHIFT; JUMP2; break; + + case 0x30: + case 0x38: DEST0; JUMP3; break; + case 0x31: + case 0x39: DEST1; JUMP3; break; + case 0x32: + case 0x3a: DEST2; JUMP3; break; + case 0x33: + case 0x3b: DEST3; JUMP3; break; + case 0x34: DEST4_NOSHIFT; JUMP3; break; + case 0x35: DEST5_NOSHIFT; JUMP3; break; + case 0x36: DEST6_NOSHIFT; JUMP3; break; + case 0x37: DEST7_NOSHIFT; JUMP3; break; + case 0x3c: DEST4_SHIFT; JUMP3; break; + case 0x3d: DEST5_SHIFT; JUMP3; break; + case 0x3e: DEST6_SHIFT; JUMP3; break; + case 0x3f: DEST7_SHIFT; JUMP3; break; + + case 0x40: + case 0x48: DEST0; JUMP4; break; + case 0x41: + case 0x49: DEST1; JUMP4; break; + case 0x42: + case 0x4a: DEST2; JUMP4; break; + case 0x43: + case 0x4b: DEST3; JUMP4; break; + case 0x44: DEST4_NOSHIFT; JUMP4; break; + case 0x45: DEST5_NOSHIFT; JUMP4; break; + case 0x46: DEST6_NOSHIFT; JUMP4; break; + case 0x47: DEST7_NOSHIFT; JUMP4; break; + case 0x4c: DEST4_SHIFT; JUMP4; break; + case 0x4d: DEST5_SHIFT; JUMP4; break; + case 0x4e: DEST6_SHIFT; JUMP4; break; + case 0x4f: DEST7_SHIFT; JUMP4; break; + + case 0x50: + case 0x58: DEST0; JUMP5; break; + case 0x51: + case 0x59: DEST1; JUMP5; break; + case 0x52: + case 0x5a: DEST2; JUMP5; break; + case 0x53: + case 0x5b: DEST3; JUMP5; break; + case 0x54: DEST4_NOSHIFT; JUMP5; break; + case 0x55: DEST5_NOSHIFT; JUMP5; break; + case 0x56: DEST6_NOSHIFT; JUMP5; break; + case 0x57: DEST7_NOSHIFT; JUMP5; break; + case 0x5c: DEST4_SHIFT; JUMP5; break; + case 0x5d: DEST5_SHIFT; JUMP5; break; + case 0x5e: DEST6_SHIFT; JUMP5; break; + case 0x5f: DEST7_SHIFT; JUMP5; break; + + case 0x60: + case 0x68: DEST0; JUMP6; break; + case 0x61: + case 0x69: DEST1; JUMP6; break; + case 0x62: + case 0x6a: DEST2; JUMP6; break; + case 0x63: + case 0x6b: DEST3; JUMP6; break; + case 0x64: DEST4_NOSHIFT; JUMP6; break; + case 0x65: DEST5_NOSHIFT; JUMP6; break; + case 0x66: DEST6_NOSHIFT; JUMP6; break; + case 0x67: DEST7_NOSHIFT; JUMP6; break; + case 0x6c: DEST4_SHIFT; JUMP6; break; + case 0x6d: DEST5_SHIFT; JUMP6; break; + case 0x6e: DEST6_SHIFT; JUMP6; break; + case 0x6f: DEST7_SHIFT; JUMP6; break; + + case 0x70: + case 0x78: DEST0; JUMP7; break; + case 0x71: + case 0x79: DEST1; JUMP7; break; + case 0x72: + case 0x7a: DEST2; JUMP7; break; + case 0x73: + case 0x7b: DEST3; JUMP7; break; + case 0x74: DEST4_NOSHIFT; JUMP7; break; + case 0x75: DEST5_NOSHIFT; JUMP7; break; + case 0x76: DEST6_NOSHIFT; JUMP7; break; + case 0x77: DEST7_NOSHIFT; JUMP7; break; + case 0x7c: DEST4_SHIFT; JUMP7; break; + case 0x7d: DEST5_SHIFT; JUMP7; break; + case 0x7e: DEST6_SHIFT; JUMP7; break; + case 0x7f: DEST7_SHIFT; JUMP7; break; + } + + /* Do write */ + if (!(prevop->flags & FL_MBRW)) + irmb_dout(prevop, Y); - /* Modify function for DIV */ - if ((prevop->flags & FL_DIV) || nflag) - fu = fu ^ 0x08; + /* ADDEN */ + if (!(prevop->flags & FL_ADDEN)) + { + if (prevop->flags & FL_MBRW) + m_irmb_latch = irmb_din(prevop); else - fu = fu | 0x08; - - /* Do source and operation */ - switch (fu & 0x03f) - { - case 0x00: ADD(*curop->areg, Q); break; - case 0x01: ADD(*curop->areg, *curop->breg); break; - case 0x02: ADD(0, Q); break; - case 0x03: ADD(0, *curop->breg); break; - case 0x04: ADD(0, *curop->areg); break; - case 0x05: tmp = irmb_din(curop); ADD(tmp, *curop->areg); break; - case 0x06: tmp = irmb_din(curop); ADD(tmp, Q); break; - case 0x07: tmp = irmb_din(curop); ADD(tmp, 0); break; - case 0x08: SUBR(*curop->areg, Q); break; - case 0x09: SUBR(*curop->areg, *curop->breg); break; - case 0x0a: SUBR(0, Q); break; - case 0x0b: SUBR(0, *curop->breg); break; - case 0x0c: SUBR(0, *curop->areg); break; - case 0x0d: tmp = irmb_din(curop); SUBR(tmp, *curop->areg); break; - case 0x0e: tmp = irmb_din(curop); SUBR(tmp, Q); break; - case 0x0f: tmp = irmb_din(curop); SUBR(tmp, 0); break; - case 0x10: SUB(*curop->areg, Q); break; - case 0x11: SUB(*curop->areg, *curop->breg); break; - case 0x12: SUB(0, Q); break; - case 0x13: SUB(0, *curop->breg); break; - case 0x14: SUB(0, *curop->areg); break; - case 0x15: tmp = irmb_din(curop); SUB(tmp, *curop->areg); break; - case 0x16: tmp = irmb_din(curop); SUB(tmp, Q); break; - case 0x17: tmp = irmb_din(curop); SUB(tmp, 0); break; - case 0x18: OR(*curop->areg, Q); break; - case 0x19: OR(*curop->areg, *curop->breg); break; - case 0x1a: OR(0, Q); break; - case 0x1b: OR(0, *curop->breg); break; - case 0x1c: OR(0, *curop->areg); break; - case 0x1d: OR(irmb_din(curop), *curop->areg); break; - case 0x1e: OR(irmb_din(curop), Q); break; - case 0x1f: OR(irmb_din(curop), 0); break; - case 0x20: AND(*curop->areg, Q); break; - case 0x21: AND(*curop->areg, *curop->breg); break; - case 0x22: AND(0, Q); break; - case 0x23: AND(0, *curop->breg); break; - case 0x24: AND(0, *curop->areg); break; - case 0x25: AND(irmb_din(curop), *curop->areg); break; - case 0x26: AND(irmb_din(curop), Q); break; - case 0x27: AND(irmb_din(curop), 0); break; - case 0x28: IAND(*curop->areg, Q); break; - case 0x29: IAND(*curop->areg, *curop->breg); break; - case 0x2a: IAND(0, Q); break; - case 0x2b: IAND(0, *curop->breg); break; - case 0x2c: IAND(0, *curop->areg); break; - case 0x2d: IAND(irmb_din(curop), *curop->areg); break; - case 0x2e: IAND(irmb_din(curop), Q); break; - case 0x2f: IAND(irmb_din(curop), 0); break; - case 0x30: XOR(*curop->areg, Q); break; - case 0x31: XOR(*curop->areg, *curop->breg); break; - case 0x32: XOR(0, Q); break; - case 0x33: XOR(0, *curop->breg); break; - case 0x34: XOR(0, *curop->areg); break; - case 0x35: XOR(irmb_din(curop), *curop->areg); break; - case 0x36: XOR(irmb_din(curop), Q); break; - case 0x37: XOR(irmb_din(curop), 0); break; - case 0x38: IXOR(*curop->areg, Q); break; - case 0x39: IXOR(*curop->areg, *curop->breg); break; - case 0x3a: IXOR(0, Q); break; - case 0x3b: IXOR(0, *curop->breg); break; - case 0x3c: IXOR(0, *curop->areg); break; - case 0x3d: IXOR(irmb_din(curop), *curop->areg); break; - case 0x3e: IXOR(irmb_din(curop), Q); break; - default: case 0x3f: IXOR(irmb_din(curop), 0); break; - } - - /* Evaluate flags */ - zresult = result & 0xFFFF; - nflag = zresult >> 15; - - prevop = curop; - - /* Do destination and jump */ - switch (fu >> 6) - { - case 0x00: - case 0x08: DEST0; JUMP0; break; - case 0x01: - case 0x09: DEST1; JUMP0; break; - case 0x02: - case 0x0a: DEST2; JUMP0; break; - case 0x03: - case 0x0b: DEST3; JUMP0; break; - case 0x04: DEST4_NOSHIFT; JUMP0; break; - case 0x05: DEST5_NOSHIFT; JUMP0; break; - case 0x06: DEST6_NOSHIFT; JUMP0; break; - case 0x07: DEST7_NOSHIFT; JUMP0; break; - case 0x0c: DEST4_SHIFT; JUMP0; break; - case 0x0d: DEST5_SHIFT; JUMP0; break; - case 0x0e: DEST6_SHIFT; JUMP0; break; - case 0x0f: DEST7_SHIFT; JUMP0; break; - - case 0x10: - case 0x18: DEST0; JUMP1; break; - case 0x11: - case 0x19: DEST1; JUMP1; break; - case 0x12: - case 0x1a: DEST2; JUMP1; break; - case 0x13: - case 0x1b: DEST3; JUMP1; break; - case 0x14: DEST4_NOSHIFT; JUMP1; break; - case 0x15: DEST5_NOSHIFT; JUMP1; break; - case 0x16: DEST6_NOSHIFT; JUMP1; break; - case 0x17: DEST7_NOSHIFT; JUMP1; break; - case 0x1c: DEST4_SHIFT; JUMP1; break; - case 0x1d: DEST5_SHIFT; JUMP1; break; - case 0x1e: DEST6_SHIFT; JUMP1; break; - case 0x1f: DEST7_SHIFT; JUMP1; break; - - case 0x20: - case 0x28: DEST0; JUMP2; break; - case 0x21: - case 0x29: DEST1; JUMP2; break; - case 0x22: - case 0x2a: DEST2; JUMP2; break; - case 0x23: - case 0x2b: DEST3; JUMP2; break; - case 0x24: DEST4_NOSHIFT; JUMP2; break; - case 0x25: DEST5_NOSHIFT; JUMP2; break; - case 0x26: DEST6_NOSHIFT; JUMP2; break; - case 0x27: DEST7_NOSHIFT; JUMP2; break; - case 0x2c: DEST4_SHIFT; JUMP2; break; - case 0x2d: DEST5_SHIFT; JUMP2; break; - case 0x2e: DEST6_SHIFT; JUMP2; break; - case 0x2f: DEST7_SHIFT; JUMP2; break; - - case 0x30: - case 0x38: DEST0; JUMP3; break; - case 0x31: - case 0x39: DEST1; JUMP3; break; - case 0x32: - case 0x3a: DEST2; JUMP3; break; - case 0x33: - case 0x3b: DEST3; JUMP3; break; - case 0x34: DEST4_NOSHIFT; JUMP3; break; - case 0x35: DEST5_NOSHIFT; JUMP3; break; - case 0x36: DEST6_NOSHIFT; JUMP3; break; - case 0x37: DEST7_NOSHIFT; JUMP3; break; - case 0x3c: DEST4_SHIFT; JUMP3; break; - case 0x3d: DEST5_SHIFT; JUMP3; break; - case 0x3e: DEST6_SHIFT; JUMP3; break; - case 0x3f: DEST7_SHIFT; JUMP3; break; - - case 0x40: - case 0x48: DEST0; JUMP4; break; - case 0x41: - case 0x49: DEST1; JUMP4; break; - case 0x42: - case 0x4a: DEST2; JUMP4; break; - case 0x43: - case 0x4b: DEST3; JUMP4; break; - case 0x44: DEST4_NOSHIFT; JUMP4; break; - case 0x45: DEST5_NOSHIFT; JUMP4; break; - case 0x46: DEST6_NOSHIFT; JUMP4; break; - case 0x47: DEST7_NOSHIFT; JUMP4; break; - case 0x4c: DEST4_SHIFT; JUMP4; break; - case 0x4d: DEST5_SHIFT; JUMP4; break; - case 0x4e: DEST6_SHIFT; JUMP4; break; - case 0x4f: DEST7_SHIFT; JUMP4; break; - - case 0x50: - case 0x58: DEST0; JUMP5; break; - case 0x51: - case 0x59: DEST1; JUMP5; break; - case 0x52: - case 0x5a: DEST2; JUMP5; break; - case 0x53: - case 0x5b: DEST3; JUMP5; break; - case 0x54: DEST4_NOSHIFT; JUMP5; break; - case 0x55: DEST5_NOSHIFT; JUMP5; break; - case 0x56: DEST6_NOSHIFT; JUMP5; break; - case 0x57: DEST7_NOSHIFT; JUMP5; break; - case 0x5c: DEST4_SHIFT; JUMP5; break; - case 0x5d: DEST5_SHIFT; JUMP5; break; - case 0x5e: DEST6_SHIFT; JUMP5; break; - case 0x5f: DEST7_SHIFT; JUMP5; break; - - case 0x60: - case 0x68: DEST0; JUMP6; break; - case 0x61: - case 0x69: DEST1; JUMP6; break; - case 0x62: - case 0x6a: DEST2; JUMP6; break; - case 0x63: - case 0x6b: DEST3; JUMP6; break; - case 0x64: DEST4_NOSHIFT; JUMP6; break; - case 0x65: DEST5_NOSHIFT; JUMP6; break; - case 0x66: DEST6_NOSHIFT; JUMP6; break; - case 0x67: DEST7_NOSHIFT; JUMP6; break; - case 0x6c: DEST4_SHIFT; JUMP6; break; - case 0x6d: DEST5_SHIFT; JUMP6; break; - case 0x6e: DEST6_SHIFT; JUMP6; break; - case 0x6f: DEST7_SHIFT; JUMP6; break; - - case 0x70: - case 0x78: DEST0; JUMP7; break; - case 0x71: - case 0x79: DEST1; JUMP7; break; - case 0x72: - case 0x7a: DEST2; JUMP7; break; - case 0x73: - case 0x7b: DEST3; JUMP7; break; - case 0x74: DEST4_NOSHIFT; JUMP7; break; - case 0x75: DEST5_NOSHIFT; JUMP7; break; - case 0x76: DEST6_NOSHIFT; JUMP7; break; - case 0x77: DEST7_NOSHIFT; JUMP7; break; - case 0x7c: DEST4_SHIFT; JUMP7; break; - case 0x7d: DEST5_SHIFT; JUMP7; break; - case 0x7e: DEST6_SHIFT; JUMP7; break; - case 0x7f: DEST7_SHIFT; JUMP7; break; - } - - /* Do write */ - if (!(prevop->flags & FL_MBRW)) - irmb_dout(prevop, Y); - - /* ADDEN */ - if (!(prevop->flags & FL_ADDEN)) - { - if (prevop->flags & FL_MBRW) - m_irmb_latch = irmb_din(prevop); - else - m_irmb_latch = Y; - } + m_irmb_latch = Y; } - // stop profiling USER1 } logerror("%d instructions for Mathbox \n", icount); - #if IR_TIMING if (m_irmb_running == 0) { @@ -804,28 +793,25 @@ void irobot_state::irmb_run() #else m_maincpu->set_input_line(M6809_FIRQ_LINE, ASSERT_LINE); #endif - m_irmb_running=1; + m_irmb_running = 1; } - #if DISASSEMBLE_MB_ROM -static void disassemble_instruction(irobot_state::irmb_ops const *op) +void irobot_state::disassemble_instruction(uint16_t offset, const irmb_ops *op) { - int lp; - - if (i==0) - logerror(" Address a b func stor: Q :Y, R, S RDCSAESM da m rs\n"); - logerror("%04X : ",i); - logerror("%X ",op->areg); - logerror("%X ",op->breg); - - lp=(op->func & 0x38)>>3; - if ((lp&1)==0) - lp|=1; + if (offset == 0) + logerror(" Address a b func stor: Q :Y, R, S RDCSAESM da rs\n"); + logerror("%04X : ", offset); + logerror("%X ", *op->areg); + logerror("%X ", *op->breg); + + int lp = (op->func & 0x38) >> 3; + if ((lp & 1) == 0) + lp |= 1; else if((op->flags & FL_DIV) != 0) - lp&=6; + lp &= 6; else logerror("*"); @@ -857,7 +843,7 @@ static void disassemble_instruction(irobot_state::irmb_ops const *op) break; } - switch ((op->func & 0x1c0)>>6) + switch ((op->func & 0x1c0) >> 6) { case 0: logerror(" - : Q :F,"); @@ -866,52 +852,52 @@ static void disassemble_instruction(irobot_state::irmb_ops const *op) logerror(" - : - :F,"); break; case 2: - logerror(" R%x: - :A,",op->breg); + logerror(" R%x: - :A,", *op->breg); break; case 3: - logerror(" R%x: - :F,",op->breg); + logerror(" R%x: - :F,", *op->breg); break; case 4: - logerror(">>R%x:>>Q:F,",op->breg); + logerror(">>R%x:>>Q:F,", *op->breg); break; case 5: - logerror(">>R%x: - :F,",op->breg); + logerror(">>R%x: - :F,", *op->breg); break; case 6: - logerror("<breg); + logerror("<breg); break; case 7: - logerror("<breg); + logerror("<breg); break; } - lp=(op->func & 0x7); - if ((lp&2)==0) - lp|=2; - else if((op->flags & FL_MULT) == 0) - lp&=5; + lp = (op->func & 0x7); + if ((lp & 2) == 0) + lp |= 2; + else if ((op->flags & FL_MULT) == 0) + lp &= 5; else logerror("*"); switch (lp) { case 0: - logerror("R%x, Q ",op->areg); + logerror("R%x, Q ", *op->areg); break; case 1: - logerror("R%x,R%x ",op->areg,op->breg); + logerror("R%x,R%x ", *op->areg, *op->breg); break; case 2: logerror("00, Q "); break; case 3: - logerror("00,R%x ",op->breg); + logerror("00,R%x ", *op->breg); break; case 4: - logerror("00,R%x ",op->areg); + logerror("00,R%x ", *op->areg); break; case 5: - logerror(" D,R%x ",op->areg); + logerror(" D,R%x ", *op->areg); break; case 6: logerror(" D, Q "); @@ -921,18 +907,19 @@ static void disassemble_instruction(irobot_state::irmb_ops const *op) break; } - for (lp=0;lp<8;lp++) - if (op->flags & (0x80>>lp)) + for (lp = 0; lp < 8; lp++) + if (op->flags & (0x80 >> lp)) logerror("1"); else logerror("0"); - logerror(" %02X ",op->diradd); - logerror("%X\n",op->ramsel); - if (op->jtype) + logerror(" %02X ", op->diradd); + logerror("%X\n", op->ramsel); + + if (int jt = ((op->func >> 6 & 0xf) >= 4) ? (op->func >> 10) : 0; jt != 0) { logerror(" "); - switch (op->jtype) + switch (jt) { case 1: logerror("BO "); @@ -956,8 +943,8 @@ static void disassemble_instruction(irobot_state::irmb_ops const *op) logerror("Return\n\n"); break; } - if (op->jtype != 7) logerror(" %04X \n",op->nxtadd); - if (op->jtype == 5) logerror("\n"); + if (jt != 7) logerror(" %04X \n", op->nxtadd); + if (jt == 5) logerror("\n"); } } #endif // DISASSEMBLE_MB_ROM diff --git a/src/mame/atari/irobot_v.cpp b/src/mame/atari/irobot_v.cpp index a8f49d578985a..9b30a745c9881 100644 --- a/src/mame/atari/irobot_v.cpp +++ b/src/mame/atari/irobot_v.cpp @@ -164,29 +164,29 @@ void irobot_state::video_start() void irobot_state::draw_line(uint8_t *polybitmap, int x1, int y1, int x2, int y2, int col) { - int dx,dy,sx,sy,cx,cy; + int dx, dy, sx, sy, cx, cy; - dx = abs(x1-x2); - dy = abs(y1-y2); + dx = abs(x1 - x2); + dy = abs(y1 - y2); sx = (x1 <= x2) ? 1: -1; sy = (y1 <= y2) ? 1: -1; - cx = dx/2; - cy = dy/2; + cx = dx / 2; + cy = dy / 2; - if (dx>=dy) + if (dx >= dy) { for (;;) { if (x1 >= m_ir_xmin && x1 < m_ir_xmax && y1 >= m_ir_ymin && y1 < m_ir_ymax) - draw_pixel (x1, y1, col); - if (x1 == x2) break; - x1 += sx; - cx -= dy; - if (cx < 0) - { - y1 += sy; - cx += dx; - } + draw_pixel (x1, y1, col); + if (x1 == x2) break; + x1 += sx; + cx -= dy; + if (cx < 0) + { + y1 += sy; + cx += dx; + } } } else @@ -200,8 +200,8 @@ void irobot_state::draw_line(uint8_t *polybitmap, int x1, int y1, int x2, int y2 cy -= dx; if (cy < 0) { - x1 += sx; - cy += dy; + x1 += sx; + cy += dy; } } } @@ -214,21 +214,21 @@ void irobot_state::irobot_run_video() { uint8_t *polybitmap; uint16_t *combase16 = (uint16_t *)m_combase; - int sx,sy,ex,ey,sx2,ey2; + int sx, sy, ex, ey, sx2, ey2; int color; uint32_t d1; - int lpnt,spnt,spnt2; + int lpnt, spnt, spnt2; int shp; - int32_t word1,word2; + int32_t word1, word2; - logerror("Starting Polygon Generator, Clear=%d\n",m_vg_clear); + logerror("Starting Polygon Generator, Clear=%d\n", m_vg_clear); if (m_bufsel) polybitmap = m_polybitmap2.get(); else polybitmap = m_polybitmap1.get(); - lpnt=0; + lpnt = 0; while (lpnt < 0x7ff) { d1 = combase16[lpnt++]; @@ -243,15 +243,15 @@ void irobot_state::irobot_run_video() { sx = combase16[spnt]; if (sx == 0xffff) break; - sy = combase16[spnt+1]; + sy = combase16[spnt + 1]; color = sy & 0x3f; sx = ROUND_TO_PIXEL(sx); sy = ROUND_TO_PIXEL(sy); if (sx >= m_ir_xmin && sx < m_ir_xmax && sy >= m_ir_ymin && sy < m_ir_ymax) - draw_pixel(sx,sy,color); - spnt+=2; - }//while object - }//if point + draw_pixel(sx, sy, color); + spnt += 2; + } // while object + } // if point /* line */ if (shp == 0xc) @@ -261,45 +261,43 @@ void irobot_state::irobot_run_video() ey = combase16[spnt]; if (ey == 0xffff) break; ey = ROUND_TO_PIXEL(ey); - sy = combase16[spnt+1]; + sy = combase16[spnt + 1]; color = sy & 0x3f; sy = ROUND_TO_PIXEL(sy); - sx = combase16[spnt+3]; - word1 = (int16_t)combase16[spnt+2]; + sx = combase16[spnt + 3]; + word1 = (int16_t)combase16[spnt + 2]; ex = sx + word1 * (ey - sy + 1); - draw_line(polybitmap, ROUND_TO_PIXEL(sx),sy,ROUND_TO_PIXEL(ex),ey,color); - spnt+=4; - }//while object - }//if line + draw_line(polybitmap, ROUND_TO_PIXEL(sx), sy, ROUND_TO_PIXEL(ex), ey, color); + spnt += 4; + } // while object + } // if line /* polygon */ if (shp == 0x4) { spnt2 = combase16[spnt] & 0x7ff; - sx = combase16[spnt+1]; - sx2 = combase16[spnt+2]; - sy = combase16[spnt+3]; + sx = combase16[spnt + 1]; + sx2 = combase16[spnt + 2]; + sy = combase16[spnt + 3]; color = sy & 0x3f; sy = ROUND_TO_PIXEL(sy); - spnt+=4; + spnt += 4; word1 = (int16_t)combase16[spnt]; - ey = combase16[spnt+1]; + ey = combase16[spnt + 1]; if (word1 != -1 || ey != 0xffff) { ey = ROUND_TO_PIXEL(ey); - spnt+=2; - - // sx += word1; + spnt += 2; + //sx += word1; word2 = (int16_t)combase16[spnt2]; - ey2 = ROUND_TO_PIXEL(combase16[spnt2+1]); - spnt2+=2; - - // sx2 += word2; + ey2 = ROUND_TO_PIXEL(combase16[spnt2 + 1]); + spnt2 += 2; + //sx2 += word2; - while(1) + while (1) { if (sy >= m_ir_ymin && sy < m_ir_ymax) { @@ -318,11 +316,11 @@ void irobot_state::irobot_run_video() if (sy > ey) { word1 = (int16_t)combase16[spnt]; - ey = combase16[spnt+1]; + ey = combase16[spnt + 1]; if (word1 == -1 && ey == 0xffff) break; ey = ROUND_TO_PIXEL(ey); - spnt+=2; + spnt += 2; } else sx += word1; @@ -330,41 +328,36 @@ void irobot_state::irobot_run_video() if (sy > ey2) { word2 = (int16_t)combase16[spnt2]; - ey2 = ROUND_TO_PIXEL(combase16[spnt2+1]); - spnt2+=2; + ey2 = ROUND_TO_PIXEL(combase16[spnt2 + 1]); + spnt2 += 2; } else sx2 += word2; - } //while polygon - }//if at least 2 sides - } //if polygon - } //while object + } // while polygon + } // if at least 2 sides + } // if polygon + } // while object } uint32_t irobot_state::screen_update_irobot(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { - uint8_t *videoram = m_videoram; uint8_t *bitmap_base = m_bufsel ? m_polybitmap1.get() : m_polybitmap2.get(); - int x, y, offs; /* copy the polygon bitmap */ - for (y = cliprect.top(); y <= cliprect.bottom(); y++) + for (int y = cliprect.top(); y <= cliprect.bottom(); y++) draw_scanline8(bitmap, 0, y, BITMAP_WIDTH, &bitmap_base[y * BITMAP_WIDTH], nullptr); /* redraw the non-zero characters in the alpha layer */ - for (y = offs = 0; y < 32; y++) - for (x = 0; x < 32; x++, offs++) + for (int y = 0, offs = 0; y < 32; y++) + for (int x = 0; x < 32; x++, offs++) { - int code = videoram[offs] & 0x3f; - int color = ((videoram[offs] & 0xc0) >> 6) | (m_alphamap >> 3); + int code = m_videoram[offs] & 0x3f; + int color = ((m_videoram[offs] & 0xc0) >> 6) | (m_alphamap >> 3); - m_gfxdecode->gfx(0)->transpen(bitmap,cliprect, - code, color, - 0,0, - 8*x,8*y,0); + m_gfxdecode->gfx(0)->transpen(bitmap,cliprect, code, color, 0, 0, 8 * x, 8 * y, 0); } return 0; diff --git a/src/mame/atari/jaguar.cpp b/src/mame/atari/jaguar.cpp index aae09bf16ff6f..e3932a7d9499d 100644 --- a/src/mame/atari/jaguar.cpp +++ b/src/mame/atari/jaguar.cpp @@ -1866,10 +1866,10 @@ void jaguar_state::jaguar(machine_config &config) DAC_16BIT_R2R_TWOS_COMPLEMENT(config, m_rdac, 0).add_route(ALL_OUTPUTS, "rspeaker", 1.0); // unknown DAC /* quickload */ - QUICKLOAD(config, "quickload", "abs,bin,cof,jag,prg").set_load_callback(FUNC(jaguar_state::quickload_cb)); + QUICKLOAD(config, "quickload", "abs,bin,cof,jag,prg,rom", attotime::from_seconds(1)).set_load_callback(FUNC(jaguar_state::quickload_cb)); /* cartridge */ - generic_cartslot_device &cartslot(GENERIC_CARTSLOT(config, "cartslot", generic_plain_slot, "jaguar_cart", "j64,rom,bin")); + generic_cartslot_device &cartslot(GENERIC_CARTSLOT(config, "cartslot", generic_plain_slot, "jaguar_cart", "j64")); cartslot.set_device_load(FUNC(jaguar_state::cart_load)); /* software lists */ @@ -1923,14 +1923,13 @@ void jaguarcd_state::init_jaguarcd() std::pair jaguar_state::quickload_cb(snapshot_image_device &image) { - offs_t quickload_begin = 0x4000, start = quickload_begin, skip = 0; + offs_t quickload_begin = 0x1000, start = 0x4000, skip = 0; - memset(m_shared_ram, 0, 0x200000); - offs_t quickload_size = std::min(offs_t(image.length()), 0x200000 - quickload_begin); + offs_t quickload_size = std::min(offs_t(image.length()), 0x20000 - start); - image.fread( &memregion("maincpu")->base()[quickload_begin], quickload_size); + image.fread( &m_shared_ram[quickload_begin], quickload_size); - fix_endian(&memregion("maincpu")->base()[quickload_begin], quickload_size); + fix_endian(&m_shared_ram[quickload_begin], quickload_size); /* Deal with some of the numerous homebrew header systems */ /* COF */ @@ -1966,18 +1965,29 @@ std::pair jaguar_state::quickload_cb(snapshot else /* JAG binary */ if (image.is_filetype("jag")) start = 0x5000; + else + if (image.is_filetype("rom")) + start = 0x802000; + quickload_size = image.length(); /* Now that we have the info, reload the file */ - if ((start != quickload_begin) || (skip)) + if ((start + quickload_size) < 0x200000) { memset(m_shared_ram, 0, 0x200000); - image.fseek(0, SEEK_SET); - image.fread( &m_shared_ram[(start-skip)/4], quickload_size); - quickload_begin = start; - fix_endian(&memregion("maincpu")->base()[(start-skip)&0xfffffc], quickload_size); + image.fseek(skip, SEEK_SET); + image.fread( &m_shared_ram[start/4], quickload_size-skip); + fix_endian(&m_shared_ram[start/4], quickload_size-skip); } - + else + if (start >= 0x800000) + { + image.fseek(skip, SEEK_SET); + image.fread( &m_cart_base[(start - 0x800000) / 4], quickload_size - skip); + fix_endian(&m_cart_base[(start - 0x800000) / 4], quickload_size - skip); + } + else + return std::make_pair(image_error::UNSUPPORTED, "Unsupported start address for this quickload."); /* Some programs are too lazy to set a stack pointer */ m_maincpu->set_state_int(M68K_SP, 0x1000); @@ -1997,13 +2007,6 @@ DEVICE_IMAGE_LOAD_MEMBER( jaguar_state::cart_load ) { size = image.length(); - /* .rom files load & run at 802000 */ - if (image.is_filetype("rom")) - { - load_offset = 0x2000; // fix load address - m_cart_base[0x101] = 0x802000; // fix exec address - } - /* Load cart into memory */ image.fread(&m_cart_base[load_offset/4], size); fix_endian(&m_cart_base[load_offset/4], size); diff --git a/src/mame/atari/jedi.cpp b/src/mame/atari/jedi.cpp index c9b01911f0253..1b0a657c56ce6 100644 --- a/src/mame/atari/jedi.cpp +++ b/src/mame/atari/jedi.cpp @@ -879,7 +879,7 @@ static INPUT_PORTS_START( jedi ) PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_TILT ) PORT_BIT( 0x18, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x60, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(FUNC(jedi_state::audio_comm_stat_0c01_r)) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("STICKY") PORT_BIT( 0xff, 0x80, IPT_AD_STICK_Y ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) diff --git a/src/mame/atari/klax.cpp b/src/mame/atari/klax.cpp index 34be191554b42..1fd490fc5c9f9 100644 --- a/src/mame/atari/klax.cpp +++ b/src/mame/atari/klax.cpp @@ -332,7 +332,7 @@ static INPUT_PORTS_START( klax ) PORT_BIT( 0x00fc, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_BIT( 0x0600, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_PLAYER(1) PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_PLAYER(1) PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_PLAYER(1) diff --git a/src/mame/atari/liberatr.cpp b/src/mame/atari/liberatr.cpp index e6db26f9d2a1c..26e9e5e81824d 100644 --- a/src/mame/atari/liberatr.cpp +++ b/src/mame/atari/liberatr.cpp @@ -754,7 +754,7 @@ static INPUT_PORTS_START( liberatr ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH,IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH,IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("DSW1") // IN2 - Game Option switches DSW @ D4 on PCB PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) ) diff --git a/src/mame/atari/lynx.cpp b/src/mame/atari/lynx.cpp index 473e96dbfbf89..7b8e730278ac2 100644 --- a/src/mame/atari/lynx.cpp +++ b/src/mame/atari/lynx.cpp @@ -19,7 +19,7 @@ #include "emu.h" #include "lynx.h" -#include "cpu/m6502/m65sc02.h" +#include "cpu/m6502/g65sc02.h" #include "softlist_dev.h" #include "speaker.h" @@ -78,7 +78,7 @@ void lynx_state::sound_cb() void lynx_state::lynx(machine_config &config) { /* basic machine hardware */ - M65SC02(config, m_maincpu, XTAL(16'000'000) / 4); /* vti core, integrated in vlsi, stz, but not bbr bbs */ + G65SC02(config, m_maincpu, XTAL(16'000'000) / 4); /* vti core, integrated in vlsi, stz, but not bbr bbs */ m_maincpu->set_addrmap(AS_PROGRAM, &lynx_state::cpu_map); config.set_maximum_quantum(attotime::from_hz(60)); diff --git a/src/mame/atari/lynx_m.cpp b/src/mame/atari/lynx_m.cpp index cacb368fa9492..15b1f26bb70cf 100644 --- a/src/mame/atari/lynx_m.cpp +++ b/src/mame/atari/lynx_m.cpp @@ -6,7 +6,7 @@ #include "emu.h" #include "lynx.h" -#include "cpu/m6502/m65sc02.h" +#include "cpu/m6502/g65sc02.h" #include "corestr.h" #include "render.h" @@ -1227,7 +1227,7 @@ void lynx_state::interrupt_set(u8 line) void lynx_state::interrupt_update() { - m_maincpu->set_input_line(M65SC02_IRQ_LINE, (m_mikey.interrupt == 0) ? CLEAR_LINE : ASSERT_LINE); + m_maincpu->set_input_line(G65SC02_IRQ_LINE, (m_mikey.interrupt == 0) ? CLEAR_LINE : ASSERT_LINE); } @@ -1877,7 +1877,7 @@ void lynx_state::machine_reset() m_mikey.interrupt = 0; m_maincpu->set_input_line(INPUT_LINE_HALT, CLEAR_LINE); - m_maincpu->set_input_line(M65SC02_IRQ_LINE, CLEAR_LINE); + m_maincpu->set_input_line(G65SC02_IRQ_LINE, CLEAR_LINE); m_suzy = SUZY(); m_mikey = MIKEY(); diff --git a/src/mame/atari/marblmd2.cpp b/src/mame/atari/marblmd2.cpp index 5ddb075d20844..b806269ddbbaa 100644 --- a/src/mame/atari/marblmd2.cpp +++ b/src/mame/atari/marblmd2.cpp @@ -245,7 +245,7 @@ static INPUT_PORTS_START( marblmd2 ) PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_ATARI_JSA_SOUND_TO_MAIN_READY("jsa") // Input buffer full PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_ATARI_JSA_MAIN_TO_SOUND_READY("jsa") // Output buffer full PORT_SERVICE( 0x0040, IP_ACTIVE_LOW ) - PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN ) INPUT_PORTS_END diff --git a/src/mame/atari/mgolf.cpp b/src/mame/atari/mgolf.cpp index 34859955d98f8..1fda0c9ed5461 100644 --- a/src/mame/atari/mgolf.cpp +++ b/src/mame/atari/mgolf.cpp @@ -259,7 +259,7 @@ static INPUT_PORTS_START( mgolf ) PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) /* DIAL A */ PORT_BIT ( 0x02, IP_ACTIVE_HIGH, IPT_CUSTOM ) /* DIAL B */ PORT_BIT ( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT ( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT ( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("60") PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) diff --git a/src/mame/atari/nitedrvr.cpp b/src/mame/atari/nitedrvr.cpp index b6dfb370cb84d..3f500ba3d978e 100644 --- a/src/mame/atari/nitedrvr.cpp +++ b/src/mame/atari/nitedrvr.cpp @@ -509,7 +509,7 @@ static INPUT_PORTS_START( nitedrvr ) PORT_DIPNAME( 0x20, 0x20, "Bonus Time" ) PORT_DIPSETTING( 0x00, DEF_STR ( No ) ) PORT_DIPSETTING( 0x20, "Score = 350" ) - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_SERVICE( 0x80, IP_ACTIVE_LOW ) PORT_START("GEARS") // fake diff --git a/src/mame/atari/nl_flyball.cpp b/src/mame/atari/nl_flyball.cpp index 416f55ca20574..86e020ba3aa7b 100644 --- a/src/mame/atari/nl_flyball.cpp +++ b/src/mame/atari/nl_flyball.cpp @@ -1,5 +1,5 @@ // license:CC0-1.0 -// copyright-holders:Ryan Holtz, Ivan Vangelista +// copyright-holders:Ryan Holtz // // Netlist for Atari's Flyball // diff --git a/src/mame/atari/nl_flyball.h b/src/mame/atari/nl_flyball.h index 816bb44852dc6..a3dbd4d82abd0 100644 --- a/src/mame/atari/nl_flyball.h +++ b/src/mame/atari/nl_flyball.h @@ -1,5 +1,5 @@ // license:CC0-1.0 -// copyright-holders:Ivan Vangelista, Ryan Holtz +// copyright-holders:Ryan Holtz #ifndef MAME_ATARI_NL_FLYBALL_H #define MAME_ATARI_NL_FLYBALL_H diff --git a/src/mame/atari/offtwall.cpp b/src/mame/atari/offtwall.cpp index fcbe94de268a7..69ef9547d8121 100644 --- a/src/mame/atari/offtwall.cpp +++ b/src/mame/atari/offtwall.cpp @@ -455,7 +455,7 @@ static INPUT_PORTS_START( offtwall ) PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_ATARI_JSA_MAIN_TO_SOUND_READY("jsa") // tested before writing to 260040 PORT_SERVICE( 0x0040, IP_ACTIVE_LOW ) - PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("260012") diff --git a/src/mame/atari/orbit.cpp b/src/mame/atari/orbit.cpp index 41f61be016524..91a3650adf505 100644 --- a/src/mame/atari/orbit.cpp +++ b/src/mame/atari/orbit.cpp @@ -342,7 +342,7 @@ static INPUT_PORTS_START( orbit ) PORT_DIPNAME( 0x40, 0x40, "DIAG TEST" ) // should be off PORT_DIPSETTING( 0x40, DEF_STR( Off )) PORT_DIPSETTING( 0x00, DEF_STR( On )) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("BUTTONS") // 2800 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Game 7 / Strong Gravity") PORT_CODE(KEYCODE_7_PAD) diff --git a/src/mame/atari/pong.cpp b/src/mame/atari/pong.cpp index 52c747bea3d4c..dd00287077e6b 100644 --- a/src/mame/atari/pong.cpp +++ b/src/mame/atari/pong.cpp @@ -682,8 +682,8 @@ GAMEL( 1974, rebound, 0, rebound, rebound, rebound_state, empty_init, ROT0 GAMEL( 1976, breakout, 0, breakout, breakout, breakout_state, empty_init, ROT90, "Atari", "Breakout", MACHINE_SUPPORTS_SAVE, layout_breakout) // 100% TTL -//GAMEL(1974, spike, rebound, rebound, rebound, rebound_state, empty_init, ROT0, "Atari/Kee", "Spike", MACHINE_IS_SKELETON) -//GAMEL(1974, volleyball, rebound, rebound, rebound, rebound_state, empty_init, ROT0, "Atari", "Volleyball", MACHINE_IS_SKELETON) +//GAMEL(1974, spike, rebound, rebound, rebound, rebound_state, empty_init, ROT0, "Atari/Kee", "Spike", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +//GAMEL(1974, volleyball, rebound, rebound, rebound, rebound_state, empty_init, ROT0, "Atari", "Volleyball", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) //GAME( 1973, coupedav, pongd, pongd, pongd, pong_state, empty_init, ROT0, "Atari France", "Coupe Davis", MACHINE_SUPPORTS_SAVE) //GAME( 1973, pongbarl, pong, pong, pong, pong_state, empty_init, ROT0, "Atari", "Pong In-A-Barrel", MACHINE_SUPPORTS_SAVE) //GAME( 1974, cktpong, pong, pong, pong, pong_state, empty_init, ROT0, "Atari / National Entertainment Co.", "Cocktail Pong", MACHINE_SUPPORTS_SAVE) diff --git a/src/mame/atari/rampart.cpp b/src/mame/atari/rampart.cpp index 78412473b24af..2c354726ab3b7 100644 --- a/src/mame/atari/rampart.cpp +++ b/src/mame/atari/rampart.cpp @@ -337,7 +337,7 @@ static INPUT_PORTS_START( rampart ) PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3) - PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0xf000, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("IN1") @@ -381,7 +381,7 @@ static INPUT_PORTS_START( ramprt2p ) PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3) - PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0xf000, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("IN1") @@ -431,7 +431,7 @@ static INPUT_PORTS_START( rampartj ) PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_START2 ) PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) - PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0xf000, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("IN1") diff --git a/src/mame/atari/relief.cpp b/src/mame/atari/relief.cpp index 27a9d40120b9f..aa2de782cd45b 100644 --- a/src/mame/atari/relief.cpp +++ b/src/mame/atari/relief.cpp @@ -483,7 +483,7 @@ static INPUT_PORTS_START( relief ) PORT_BIT( 0x001f, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_SERVICE( 0x0040, IP_ACTIVE_LOW ) - PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("260012") diff --git a/src/mame/atari/runaway.cpp b/src/mame/atari/runaway.cpp index fc2c7ca1bb763..a5f34c5fbfa93 100644 --- a/src/mame/atari/runaway.cpp +++ b/src/mame/atari/runaway.cpp @@ -330,7 +330,7 @@ void runaway_state::runaway_map(address_map &map) static INPUT_PORTS_START( qwak ) PORT_START("3000D7") /* 3000 D7 */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -382,7 +382,7 @@ INPUT_PORTS_END static INPUT_PORTS_START( runaway ) PORT_START("3000D7") /* 3000 D7 */ PORT_BIT ( 0x01, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT ( 0x02, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT ( 0x02, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT ( 0x04, IP_ACTIVE_LOW, IPT_TILT ) PORT_BIT ( 0x08, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) diff --git a/src/mame/atari/shuuz.cpp b/src/mame/atari/shuuz.cpp index f28b711447458..7d349fcb7bbbf 100644 --- a/src/mame/atari/shuuz.cpp +++ b/src/mame/atari/shuuz.cpp @@ -305,7 +305,7 @@ static INPUT_PORTS_START( shuuz ) PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x07fc, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0xf000, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("BUTTONS") @@ -332,7 +332,7 @@ static INPUT_PORTS_START( shuuz2 ) PORT_BIT( 0x00fc, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Step Debug SW") PORT_CODE(KEYCODE_S) PORT_BIT( 0x0600, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Playfield Debug SW") PORT_CODE(KEYCODE_Y) PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Reset Debug SW") PORT_CODE(KEYCODE_E) PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Crosshair Debug SW") PORT_CODE(KEYCODE_C) diff --git a/src/mame/atari/skullxbo.cpp b/src/mame/atari/skullxbo.cpp index 3338381e4dcdd..c29872858e51b 100644 --- a/src/mame/atari/skullxbo.cpp +++ b/src/mame/atari/skullxbo.cpp @@ -522,8 +522,8 @@ static INPUT_PORTS_START( skullxbo ) PORT_START("FF5802") PORT_BIT( 0x000f, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_HBLANK("screen") - PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::hblank)) + PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_ATARI_JSA_MAIN_TO_SOUND_READY("jsa") // /AUDBUSY PORT_SERVICE( 0x0080, IP_ACTIVE_LOW ) PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) diff --git a/src/mame/atari/skydiver.cpp b/src/mame/atari/skydiver.cpp index 050a1c5a4ccbf..08f7bd79a1451 100644 --- a/src/mame/atari/skydiver.cpp +++ b/src/mame/atari/skydiver.cpp @@ -449,7 +449,7 @@ static INPUT_PORTS_START( skydiver ) PORT_START("IN12") PORT_BIT (0x3f, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_SERVICE( 0x40, IP_ACTIVE_LOW ) - PORT_BIT (0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT (0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("IN13") PORT_BIT (0x3f, IP_ACTIVE_LOW, IPT_UNUSED ) diff --git a/src/mame/atari/sprint4.cpp b/src/mame/atari/sprint4.cpp index 71a4a4b964036..3523519b95334 100644 --- a/src/mame/atari/sprint4.cpp +++ b/src/mame/atari/sprint4.cpp @@ -435,7 +435,7 @@ static INPUT_PORTS_START( sprint4 ) PORT_START("IN0") PORT_SERVICE( 0x40, IP_ACTIVE_LOW ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("IN1") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Track Select") PORT_CODE(KEYCODE_SPACE) diff --git a/src/mame/atari/sprint8.cpp b/src/mame/atari/sprint8.cpp index d7a5e4cab77e1..ab9a02da5ae58 100644 --- a/src/mame/atari/sprint8.cpp +++ b/src/mame/atari/sprint8.cpp @@ -413,7 +413,7 @@ static INPUT_PORTS_START( sprint8 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Track Select") PORT_CODE(KEYCODE_SPACE) PORT_START("VBLANK") - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // this is actually a variable resistor PORT_START("R132") diff --git a/src/mame/atari/starshp1.cpp b/src/mame/atari/starshp1.cpp index 3121e78ce7875..6769f0b1207cc 100644 --- a/src/mame/atari/starshp1.cpp +++ b/src/mame/atari/starshp1.cpp @@ -724,7 +724,7 @@ static INPUT_PORTS_START( starshp1 ) PORT_START("VBLANK") PORT_BIT( 0x3f, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(FUNC(starshp1_state::analog_r)) // analog in PORT_SERVICE( 0x40, IP_ACTIVE_LOW ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("COINAGE") PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(FUNC(starshp1_state::collision_latch_r)) // collision latch diff --git a/src/mame/atari/subs.cpp b/src/mame/atari/subs.cpp index 69a261655fdc5..f6d060927667e 100644 --- a/src/mame/atari/subs.cpp +++ b/src/mame/atari/subs.cpp @@ -409,7 +409,7 @@ static INPUT_PORTS_START( subs ) PORT_BIT ( 0x02, IP_ACTIVE_LOW, IPT_START2 ) PORT_BIT ( 0x04, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_BIT ( 0x08, IP_ACTIVE_LOW, IPT_START1 ) - PORT_BIT ( 0x10, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("lscreen") + PORT_BIT ( 0x10, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("lscreen", FUNC(screen_device::vblank)) PORT_BIT ( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_SERVICE_NO_TOGGLE( 0x40, IP_ACTIVE_LOW ) PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) diff --git a/src/mame/atari/tank8.cpp b/src/mame/atari/tank8.cpp index 2da88ad8e6446..27ba3e04cd203 100644 --- a/src/mame/atari/tank8.cpp +++ b/src/mame/atari/tank8.cpp @@ -591,7 +591,7 @@ static INPUT_PORTS_START( tank8 ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME( "RC 8" ) PORT_START("VBLANK") - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("CRASH") PORT_ADJUSTER( 50, "Crash, Explosion Volume" ) diff --git a/src/mame/atari/thunderj.cpp b/src/mame/atari/thunderj.cpp index bf7b3fe92ccca..344dcc68d26cd 100644 --- a/src/mame/atari/thunderj.cpp +++ b/src/mame/atari/thunderj.cpp @@ -460,7 +460,7 @@ static INPUT_PORTS_START( thunderj ) PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1) PORT_START("260012") - PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_SERVICE( 0x0002, IP_ACTIVE_LOW ) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_ATARI_JSA_SOUND_TO_MAIN_READY("jsa") // Input buffer full (@260030) PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_ATARI_JSA_MAIN_TO_SOUND_READY("jsa") // Output buffer full (@360030) diff --git a/src/mame/atari/toobin.cpp b/src/mame/atari/toobin.cpp index eefe84452252f..feef7540984ff 100644 --- a/src/mame/atari/toobin.cpp +++ b/src/mame/atari/toobin.cpp @@ -451,8 +451,8 @@ static INPUT_PORTS_START( toobin ) PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_SERVICE( 0x1000, IP_ACTIVE_LOW ) - PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_HBLANK("screen") - PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::hblank)) + PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_ATARI_JSA_MAIN_TO_SOUND_READY("jsa") INPUT_PORTS_END diff --git a/src/mame/atari/triplhnt.cpp b/src/mame/atari/triplhnt.cpp index 5a8908636aeca..4d49cbe81dc07 100644 --- a/src/mame/atari/triplhnt.cpp +++ b/src/mame/atari/triplhnt.cpp @@ -356,7 +356,7 @@ static INPUT_PORTS_START( triplhnt ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_START("VBLANK") - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("STICKX") PORT_BIT( 0xfc, 0x80, IPT_AD_STICK_X ) PORT_MINMAX(0x00,0xfc) PORT_CROSSHAIR(X, 62.0/64, 1.0/64, 0) PORT_SENSITIVITY(25) PORT_KEYDELTA(15) diff --git a/src/mame/atari/tunhunt.cpp b/src/mame/atari/tunhunt.cpp index cd5c46d8a7c4b..bbdfae4a026ef 100644 --- a/src/mame/atari/tunhunt.cpp +++ b/src/mame/atari/tunhunt.cpp @@ -637,7 +637,7 @@ static INPUT_PORTS_START( tunhunt ) PORT_BIT ( 0x10, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_BIT ( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_BIT ( 0x40, IP_ACTIVE_HIGH, IPT_START1 ) - PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("IN1") PORT_BIT( 0xff, 0x00, IPT_AD_STICK_Y ) PORT_SENSITIVITY(100) PORT_KEYDELTA(4) diff --git a/src/mame/atari/ultratnk.cpp b/src/mame/atari/ultratnk.cpp index f3c660dc71618..bba27b797ae4d 100644 --- a/src/mame/atari/ultratnk.cpp +++ b/src/mame/atari/ultratnk.cpp @@ -387,7 +387,7 @@ void ultratnk_state::cpu_map(address_map &map) static INPUT_PORTS_START( ultratnk ) PORT_START("IN0") PORT_SERVICE( 0x40, IP_ACTIVE_LOW ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("IN1") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Option 1") PORT_TOGGLE diff --git a/src/mame/atari/videopin.cpp b/src/mame/atari/videopin.cpp index 35a80d7cbc4ac..87c38afe7c7e5 100644 --- a/src/mame/atari/videopin.cpp +++ b/src/mame/atari/videopin.cpp @@ -426,7 +426,7 @@ static INPUT_PORTS_START( videopin ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge") PORT_CODE(KEYCODE_SPACE) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("IN2") PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("Ball Shooter") PORT_CODE(KEYCODE_DOWN) diff --git a/src/mame/atari/vindictr.cpp b/src/mame/atari/vindictr.cpp index c1b67ff8b19f7..566d1f7fb9da3 100644 --- a/src/mame/atari/vindictr.cpp +++ b/src/mame/atari/vindictr.cpp @@ -441,7 +441,7 @@ static INPUT_PORTS_START( vindictr ) PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN ) PORT_2WAY PORT_PLAYER(1) PORT_START("260010") - PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_SERVICE( 0x0002, IP_ACTIVE_LOW ) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_ATARI_JSA_SOUND_TO_MAIN_READY("jsa") PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_ATARI_JSA_MAIN_TO_SOUND_READY("jsa") diff --git a/src/mame/atari/xybots.cpp b/src/mame/atari/xybots.cpp index e8a26d63a8595..1ab50bd5599df 100644 --- a/src/mame/atari/xybots.cpp +++ b/src/mame/atari/xybots.cpp @@ -310,7 +310,7 @@ static INPUT_PORTS_START( xybots ) PORT_SERVICE( 0x0100, IP_ACTIVE_LOW ) PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_ATARI_JSA_MAIN_TO_SOUND_READY("jsa") // /AUDBUSY PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_CUSTOM ) // 256H - PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") // VBLANK + PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // VBLANK PORT_BIT( 0xf000, IP_ACTIVE_LOW, IPT_UNUSED ) INPUT_PORTS_END diff --git a/src/mame/atlus/bowltry.cpp b/src/mame/atlus/bowltry.cpp index 78ef6ff5e8d73..9b67b76ec57c0 100644 --- a/src/mame/atlus/bowltry.cpp +++ b/src/mame/atlus/bowltry.cpp @@ -189,4 +189,4 @@ ROM_END } // anonymous namespace -GAME( 200?, bowltry, 0, bowltry, bowltry, bowltry_state, empty_init, ROT0, "Atlus", "Bowling Try!", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, bowltry, 0, bowltry, bowltry, bowltry_state, empty_init, ROT0, "Atlus", "Bowling Try!", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/atlus/rallypnt.cpp b/src/mame/atlus/rallypnt.cpp index 1d30f82f95a38..4ab4fb40f5cc6 100644 --- a/src/mame/atlus/rallypnt.cpp +++ b/src/mame/atlus/rallypnt.cpp @@ -153,4 +153,4 @@ ROM_END } // anonymous namespace -GAME( 1999, rallypnt2, 0, rallypnt, rallypnt, rallypnt_state, empty_init, ROT0, "Atlus", "Rally Point 2", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1999, rallypnt2, 0, rallypnt, rallypnt, rallypnt_state, empty_init, ROT0, "Atlus", "Rally Point 2", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/att/att3b2.cpp b/src/mame/att/att3b2.cpp index d866183791851..91f1e6042a51d 100644 --- a/src/mame/att/att3b2.cpp +++ b/src/mame/att/att3b2.cpp @@ -136,7 +136,7 @@ ROM_END } // anonymous namespace -COMP(1984, 3b2_300, 0, 0, att3b2v2, att3b2, att3b2_state, empty_init, "AT&T", "3B2/300", MACHINE_IS_SKELETON) -COMP(1985, 3b2_310, 3b2_300, 0, att3b2v2, att3b2, att3b2_state, empty_init, "AT&T", "3B2/310", MACHINE_IS_SKELETON) -COMP(1985, 3b2_400, 3b2_300, 0, att3b2v2, att3b2, att3b2_state, empty_init, "AT&T", "3B2/400", MACHINE_IS_SKELETON) -COMP(1987, 3b2_600, 0, 0, att3b2v3, att3b2, att3b2_state, empty_init, "AT&T", "3B2/600", MACHINE_IS_SKELETON) +COMP(1984, 3b2_300, 0, 0, att3b2v2, att3b2, att3b2_state, empty_init, "AT&T", "3B2/300", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +COMP(1985, 3b2_310, 3b2_300, 0, att3b2v2, att3b2, att3b2_state, empty_init, "AT&T", "3B2/310", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +COMP(1985, 3b2_400, 3b2_300, 0, att3b2v2, att3b2, att3b2_state, empty_init, "AT&T", "3B2/400", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +COMP(1987, 3b2_600, 0, 0, att3b2v3, att3b2, att3b2_state, empty_init, "AT&T", "3B2/600", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/att/att4425.cpp b/src/mame/att/att4425.cpp index d27ad250841eb..a6c163af0d231 100644 --- a/src/mame/att/att4425.cpp +++ b/src/mame/att/att4425.cpp @@ -310,4 +310,4 @@ ROM_END /* System Drivers */ // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 1983, att4425, 0, 0, att4425, att4425, att4425_state, empty_init, "AT&T", "AT&T Teletype 4425", MACHINE_IS_SKELETON ) +COMP( 1983, att4425, 0, 0, att4425, att4425, att4425_state, empty_init, "AT&T", "AT&T Teletype 4425", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/att/att610.cpp b/src/mame/att/att610.cpp index 9ef3ce3d2cf07..635dc78d9105d 100644 --- a/src/mame/att/att610.cpp +++ b/src/mame/att/att610.cpp @@ -187,5 +187,5 @@ ROM_END } // anonymous namespace -COMP(1986, att610, 0, 0, att610, att610, att610_state, empty_init, "AT&T", "610 Business Communication Terminal", MACHINE_IS_SKELETON) -COMP(1987, att615, 0, 0, att610, att610, att610_state, empty_init, "AT&T", "615 MT", MACHINE_IS_SKELETON) +COMP(1986, att610, 0, 0, att610, att610, att610_state, empty_init, "AT&T", "610 Business Communication Terminal", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +COMP(1987, att615, 0, 0, att610, att610, att610_state, empty_init, "AT&T", "615 MT", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/att/att630.cpp b/src/mame/att/att630.cpp index 8177a7dedaf0e..be3914bb5f69b 100644 --- a/src/mame/att/att630.cpp +++ b/src/mame/att/att630.cpp @@ -200,5 +200,5 @@ ROM_END } // anonymous namespace -COMP( 1986, att630, 0, 0, att630, att630, att630_state, empty_init, "AT&T", "630 MTG", MACHINE_IS_SKELETON ) -COMP( 1990, att730x, 0, 0, att730x, att630, att630_state, empty_init, "AT&T", "730X", MACHINE_IS_SKELETON ) +COMP( 1986, att630, 0, 0, att630, att630, att630_state, empty_init, "AT&T", "630 MTG", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 1990, att730x, 0, 0, att730x, att630, att630_state, empty_init, "AT&T", "730X", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/att/blit.cpp b/src/mame/att/blit.cpp index b5cb82096bfdf..72f2d790d89dd 100644 --- a/src/mame/att/blit.cpp +++ b/src/mame/att/blit.cpp @@ -291,4 +291,4 @@ ROM_END /* Driver */ // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 1981, blit, 0, 0, blit, blit, blit_state, empty_init, "AT&T", "Blit", MACHINE_IS_SKELETON ) +COMP( 1981, blit, 0, 0, blit, blit, blit_state, empty_init, "AT&T", "Blit", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/ausnz/d6800.cpp b/src/mame/ausnz/d6800.cpp index f48c2b6635b49..b37905f8d13db 100644 --- a/src/mame/ausnz/d6800.cpp +++ b/src/mame/ausnz/d6800.cpp @@ -160,7 +160,7 @@ static INPUT_PORTS_START( d6800 ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("RST") PORT_CODE(KEYCODE_LALT) PORT_CHANGED_MEMBER(DEVICE_SELF, FUNC(d6800_state::reset_button), 0) PORT_START("VS") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM) PORT_VBLANK("screen") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) INPUT_PORTS_END INPUT_CHANGED_MEMBER(d6800_state::reset_button) diff --git a/src/mame/bandai/design_master.cpp b/src/mame/bandai/design_master.cpp index 91cff0fed2d4c..900c1775ccbe0 100644 --- a/src/mame/bandai/design_master.cpp +++ b/src/mame/bandai/design_master.cpp @@ -163,4 +163,4 @@ ROM_END } // anonymous namespace -CONS( 1995, bdesignm, 0, 0, bdesignm, bdesignm, bdsm_state, empty_init, "Bandai", "Design Master Denshi Mangajuku", MACHINE_IS_SKELETON ) +CONS( 1995, bdesignm, 0, 0, bdesignm, bdesignm, bdsm_state, empty_init, "Bandai", "Design Master Denshi Mangajuku", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/bandai/tamag1.cpp b/src/mame/bandai/tamag1.cpp deleted file mode 100644 index 36e9f7c47a1b7..0000000000000 --- a/src/mame/bandai/tamag1.cpp +++ /dev/null @@ -1,173 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:hap -// thanks-to:digshadow, Segher -/******************************************************************************* - -Bandai Tamagotchi generation 1 hardware - -Hardware notes: -- PCB label: TMG-M1 -- Seiko Epson E0C6S46 MCU under epoxy -- 32*16 LCD screen + 8 custom segments -- 1-bit sound - -TODO: -- change to SVG screen -- add the Mothra version that was recently dumped (has a E0C6S48) - -*******************************************************************************/ - -#include "emu.h" - -#include "cpu/e0c6200/e0c6s46.h" -#include "sound/spkrdev.h" - -#include "emupal.h" -#include "screen.h" -#include "speaker.h" - -#include "tama.lh" - - -namespace { - -class tamag1_state : public driver_device -{ -public: - tamag1_state(const machine_config &mconfig, device_type type, const char *tag) : - driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu"), - m_out_x(*this, "%u.%u", 0U, 0U) - { } - - void tama(machine_config &config); - - DECLARE_INPUT_CHANGED_MEMBER(input_changed); - -protected: - virtual void machine_start() override ATTR_COLD; - -private: - void tama_palette(palette_device &palette) const; - E0C6S46_PIXEL_UPDATE(pixel_update); - - required_device m_maincpu; - output_finder<16, 40> m_out_x; -}; - -void tamag1_state::machine_start() -{ - m_out_x.resolve(); -} - - - -/******************************************************************************* - Video -*******************************************************************************/ - -E0C6S46_PIXEL_UPDATE(tamag1_state::pixel_update) -{ - // 16 COM(common) pins, 40 SEG(segment) pins from MCU, 32x16 LCD screen: - static const int seg2x[0x28] = - { - 0, 1, 2, 3, 4, 5, 6, 7, - 35,8, 9, 10,11,12,13,14, - 15,34,33,32,31,30,29,28, - 27,26,25,24,36,23,22,21, - 20,19,18,17,16,37,38,39 - }; - - int y = com, x = seg2x[seg]; - if (cliprect.contains(x, y)) - bitmap.pix(y, x) = state; - - // 2 rows of indicators: - // above screen: 0:meal, 1:lamp, 2:play, 3:medicine - // under screen: 4:bath, 5:scales, 6:shout, 7:attention - // they are on pin SEG8(x=35) + COM0-3, pin SEG28(x=36) + COM12-15 - - // output to y.x - m_out_x[y][x] = state; -} - -void tamag1_state::tama_palette(palette_device &palette) const -{ - palette.set_pen_color(0, rgb_t(0xf1, 0xf0, 0xf9)); // background - palette.set_pen_color(1, rgb_t(0x3c, 0x38, 0x38)); // lcd pixel -} - - - -/******************************************************************************* - Input Ports -*******************************************************************************/ - -INPUT_CHANGED_MEMBER(tamag1_state::input_changed) -{ - // inputs are hooked up backwards here, because MCU input ports are all tied to its interrupt controller - m_maincpu->set_input_line(param, newval ? ASSERT_LINE : CLEAR_LINE); -} - -static INPUT_PORTS_START( tama ) - PORT_START("K0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_CHANGED_MEMBER(DEVICE_SELF, FUNC(tamag1_state::input_changed), E0C6S46_LINE_K00) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CHANGED_MEMBER(DEVICE_SELF, FUNC(tamag1_state::input_changed), E0C6S46_LINE_K01) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, FUNC(tamag1_state::input_changed), E0C6S46_LINE_K02) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED ) -INPUT_PORTS_END - - - -/******************************************************************************* - Machine Configs -*******************************************************************************/ - -void tamag1_state::tama(machine_config &config) -{ - // basic machine hardware - E0C6S46(config, m_maincpu, 32.768_kHz_XTAL); - m_maincpu->set_pixel_update_cb(FUNC(tamag1_state::pixel_update)); - m_maincpu->write_r<4>().set("speaker", FUNC(speaker_sound_device::level_w)).bit(3); - - // video hardware - screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_LCD)); - screen.set_refresh_hz(32.768_kHz_XTAL/1024); - screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); - screen.set_size(40, 16); - screen.set_visarea(0, 32-1, 0, 16-1); - screen.set_screen_update("maincpu", FUNC(e0c6s46_device::screen_update)); - screen.set_palette("palette"); - config.set_default_layout(layout_tama); - - PALETTE(config, "palette", FUNC(tamag1_state::tama_palette), 2); - - // sound hardware - SPEAKER(config, "mono").front_center(); - SPEAKER_SOUND(config, "speaker").add_route(ALL_OUTPUTS, "mono", 0.25); -} - - - -/******************************************************************************* - ROM Definitions -*******************************************************************************/ - -ROM_START( tama ) - ROM_REGION( 0x3000, "maincpu", 0 ) - ROM_LOAD( "tama.bin", 0x0000, 0x3000, CRC(5c864cb1) SHA1(4b4979cf92dc9d2fb6d7295a38f209f3da144f72) ) - - ROM_REGION( 0x3000, "maincpu:test", 0 ) - ROM_LOAD( "test.bin", 0x0000, 0x3000, CRC(4372220e) SHA1(6e13d015113e16198c0059b9d0c38d7027ae7324) ) // this rom is on the die too, test pin enables it? -ROM_END - -} // anonymous namespace - - - -/******************************************************************************* - Drivers -*******************************************************************************/ - -// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -SYST( 1997, tama, 0, 0, tama, tama, tamag1_state, empty_init, "Bandai", "Tamagotchi (USA)", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/barcrest/mpu5sw.cpp b/src/mame/barcrest/mpu5sw.cpp index b1687fd053f3a..558e3740ecc95 100644 --- a/src/mame/barcrest/mpu5sw.cpp +++ b/src/mame/barcrest/mpu5sw.cpp @@ -7490,937 +7490,937 @@ ROM_END /* Barcrest */ -GAME( 199?, m5clr, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","MPU 5 Ram & Meter Clear (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5tst, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","MPU 5 Test Rom (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5clr, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","MPU 5 Ram & Meter Clear (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5tst, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","MPU 5 Test Rom (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5addams, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.5, set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5addams ) -GAMEL( 199?, m5addamsa, m5addams, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.5, set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5addams ) -GAMEL( 199?, m5addamsb, m5addams, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.5, set 3)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5addams ) -GAMEL( 199?, m5addamsc, m5addams, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.5, set 4)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5addams ) -GAMEL( 199?, m5addamsd, m5addams, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.5, set 5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5addams ) -GAMEL( 199?, m5addamse, m5addams, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.5, set 6)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5addams ) -GAMEL( 199?, m5addamsf, m5addams, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.5, set 7)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5addams ) -GAMEL( 199?, m5addamsg, m5addams, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.5, set 8)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5addams ) -GAMEL( 199?, m5addamsh, m5addams, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.2, set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5addams ) -GAMEL( 199?, m5addamsi, m5addams, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.2, set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5addams ) -GAMEL( 199?, m5addamsj, m5addams, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.2, set 3)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5addams ) -GAMEL( 199?, m5addamsk, m5addams, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.3, set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5addams ) -GAMEL( 199?, m5addamsl, m5addams, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.3, set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5addams ) -GAMEL( 199?, m5addamsm, m5addams, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.3, set 3)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5addams ) -GAMEL( 199?, m5addamsn, m5addams, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.3, set 4)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5addams ) -GAMEL( 199?, m5addamso, m5addams, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.3, set 5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5addams ) -GAMEL( 199?, m5addamsp, m5addams, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.3, set 6)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5addams ) -GAMEL( 199?, m5addamsq, m5addams, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.3, set 7)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5addams ) -GAMEL( 199?, m5addamsr, m5addams, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.3, set 8)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5addams ) -GAMEL( 199?, m5addamss, m5addams, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.3, set 9)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5addams ) +GAMEL( 199?, m5addams, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.5, set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5addams ) +GAMEL( 199?, m5addamsa, m5addams, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.5, set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5addams ) +GAMEL( 199?, m5addamsb, m5addams, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.5, set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5addams ) +GAMEL( 199?, m5addamsc, m5addams, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.5, set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5addams ) +GAMEL( 199?, m5addamsd, m5addams, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.5, set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5addams ) +GAMEL( 199?, m5addamse, m5addams, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.5, set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5addams ) +GAMEL( 199?, m5addamsf, m5addams, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.5, set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5addams ) +GAMEL( 199?, m5addamsg, m5addams, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.5, set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5addams ) +GAMEL( 199?, m5addamsh, m5addams, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.2, set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5addams ) +GAMEL( 199?, m5addamsi, m5addams, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.2, set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5addams ) +GAMEL( 199?, m5addamsj, m5addams, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.2, set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5addams ) +GAMEL( 199?, m5addamsk, m5addams, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.3, set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5addams ) +GAMEL( 199?, m5addamsl, m5addams, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.3, set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5addams ) +GAMEL( 199?, m5addamsm, m5addams, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.3, set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5addams ) +GAMEL( 199?, m5addamsn, m5addams, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.3, set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5addams ) +GAMEL( 199?, m5addamso, m5addams, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.3, set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5addams ) +GAMEL( 199?, m5addamsp, m5addams, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.3, set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5addams ) +GAMEL( 199?, m5addamsq, m5addams, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.3, set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5addams ) +GAMEL( 199?, m5addamsr, m5addams, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.3, set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5addams ) +GAMEL( 199?, m5addamss, m5addams, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.3, set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5addams ) -GAME( 199?, m5addlad, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5addlada, m5addlad, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5addladb, m5addlad, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5addladc, m5addlad, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5addladd, m5addlad, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5addlade, m5addlad, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5addladf, m5addlad, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5addladg, m5addlad, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5addladh, m5addlad, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5addladi, m5addlad, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 10)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5addladj, m5addlad, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.1, set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5addladk, m5addlad, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.1, set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5addladl, m5addlad, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.1, set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5addladm, m5addlad, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.1, set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5addladn, m5addlad, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.1, set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5addlado, m5addlad, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.1, set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5addladp, m5addlad, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.1, set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5addladq, m5addlad, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.4, set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5addladr, m5addlad, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.4, set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5addlads, m5addlad, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v?.?)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5addlad, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5addlada, m5addlad, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5addladb, m5addlad, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5addladc, m5addlad, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5addladd, m5addlad, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5addlade, m5addlad, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5addladf, m5addlad, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5addladg, m5addlad, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5addladh, m5addlad, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5addladi, m5addlad, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5addladj, m5addlad, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.1, set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5addladk, m5addlad, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.1, set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5addladl, m5addlad, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.1, set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5addladm, m5addlad, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.1, set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5addladn, m5addlad, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.1, set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5addlado, m5addlad, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.1, set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5addladp, m5addlad, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.1, set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5addladq, m5addlad, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.4, set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5addladr, m5addlad, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.4, set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5addlads, m5addlad, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v?.?)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5fire, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","All Fired Up (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5fire ) +GAMEL( 199?, m5fire, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","All Fired Up (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5fire ) -GAMEL( 199?, m5arab, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Arabian Nights (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5arab ) -GAMEL( 199?, m5arab03, m5arab, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Arabian Nights (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5arab ) +GAMEL( 199?, m5arab, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Arabian Nights (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5arab ) +GAMEL( 199?, m5arab03, m5arab, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Arabian Nights (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5arab ) -GAMEL( 199?, m5austin, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Austin Powers (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5austin11 ) -GAMEL( 199?, m5austin10, m5austin, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Austin Powers (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5austin11 ) -GAMEL( 199?, m5austin11, m5austin, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Austin Powers (Barcrest) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5austin11 ) +GAMEL( 199?, m5austin, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Austin Powers (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5austin11 ) +GAMEL( 199?, m5austin10, m5austin, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Austin Powers (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5austin11 ) +GAMEL( 199?, m5austin11, m5austin, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Austin Powers (Barcrest) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5austin11 ) -GAME( 199?, m5bankrl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","The Bank Roll (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5bankrl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","The Bank Roll (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5barkng, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Barking Mad (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5barkng ) +GAMEL( 199?, m5barkng, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Barking Mad (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5barkng ) -GAMEL( 199?, m5barmy, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Barmy Army (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5barmy ) +GAMEL( 199?, m5barmy, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Barmy Army (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5barmy ) -GAMEL( 199?, m5baxe, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Battle Axe (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5baxe04 ) -GAMEL( 199?, m5baxe04, m5baxe, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Battle Axe (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5baxe04 ) +GAMEL( 199?, m5baxe, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Battle Axe (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5baxe04 ) +GAMEL( 199?, m5baxe04, m5baxe, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Battle Axe (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5baxe04 ) -GAMEL( 199?, m5bbro, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Big Brother (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5bbro ) -GAMEL( 199?, m5bbro02, m5bbro, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Big Brother (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5bbro ) +GAMEL( 199?, m5bbro, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Big Brother (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5bbro ) +GAMEL( 199?, m5bbro02, m5bbro, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Big Brother (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5bbro ) -GAMEL( 199?, m5bbrocl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Big Brother Club (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5bbrocl ) +GAMEL( 199?, m5bbrocl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Big Brother Club (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5bbrocl ) -GAMEL( 199?, m5bigchs, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","The Big Cheese (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5bigchs ) -GAMEL( 199?, m5bigchs05, m5bigchs, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","The Big Cheese (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5bigchs ) +GAMEL( 199?, m5bigchs, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","The Big Cheese (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5bigchs ) +GAMEL( 199?, m5bigchs05, m5bigchs, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","The Big Cheese (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5bigchs ) -GAMEL( 199?, m5biggam, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","The Big Game (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5biggam ) -GAMEL( 199?, m5biggam11, m5biggam, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","The Big Game (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5biggam ) +GAMEL( 199?, m5biggam, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","The Big Game (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5biggam ) +GAMEL( 199?, m5biggam11, m5biggam, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","The Big Game (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5biggam ) -GAMEL( 199?, m5blkwht, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Black & White (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5blkwht11 ) -GAMEL( 199?, m5blkwht11, m5blkwht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Black & White (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5blkwht11 ) -GAMEL( 199?, m5blkwht01, m5blkwht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Black & White (Barcrest) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5blkwht11 ) +GAMEL( 199?, m5blkwht, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Black & White (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5blkwht11 ) +GAMEL( 199?, m5blkwht11, m5blkwht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Black & White (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5blkwht11 ) +GAMEL( 199?, m5blkwht01, m5blkwht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Black & White (Barcrest) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5blkwht11 ) -GAMEL( 199?, m5bwaves, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Brain Waves (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5bwaves ) -GAMEL( 199?, m5bwaves07, m5bwaves, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Brain Waves (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5bwaves ) +GAMEL( 199?, m5bwaves, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Brain Waves (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5bwaves ) +GAMEL( 199?, m5bwaves07, m5bwaves, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Brain Waves (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5bwaves ) -GAMEL( 199?, m5bling, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Bling King Crazy (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5bling ) +GAMEL( 199?, m5bling, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Bling King Crazy (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5bling ) -GAMEL( 199?, m5cbw, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Ca$h Bang Wallop (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5cbw ) -GAMEL( 199?, m5cbwa, m5cbw, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Ca$h Bang Wallop (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5cbw ) +GAMEL( 199?, m5cbw, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Ca$h Bang Wallop (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5cbw ) +GAMEL( 199?, m5cbwa, m5cbw, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Ca$h Bang Wallop (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5cbw ) -GAME( 199?, m5cpcash, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Captain Cash (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5cpcash, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Captain Cash (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5carclb, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Caribbean Club (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5carclb, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Caribbean Club (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5cashar, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Cash Arena (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5cashar04, m5cashar, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Cash Arena (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5cashar, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Cash Arena (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5cashar04, m5cashar, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Cash Arena (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5cashat, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Cash Attack (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5cashat ) +GAMEL( 199?, m5cashat, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Cash Attack (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5cashat ) -GAME( 199?, m5cashln, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Cash Lines (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5cashln, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Cash Lines (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5cashrn, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Cash Run (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5cashrn ) -GAMEL( 199?, m5cashrn01, m5cashrn, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Cash Run (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5cashrn ) -GAMEL( 199?, m5cashrn02, m5cashrn, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Cash Run (Barcrest) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5cashrn ) -GAMEL( 199?, m5cashrn04, m5cashrn, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Cash Run (Barcrest) (MPU5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5cashrn ) +GAMEL( 199?, m5cashrn, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Cash Run (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5cashrn ) +GAMEL( 199?, m5cashrn01, m5cashrn, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Cash Run (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5cashrn ) +GAMEL( 199?, m5cashrn02, m5cashrn, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Cash Run (Barcrest) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5cashrn ) +GAMEL( 199?, m5cashrn04, m5cashrn, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Cash Run (Barcrest) (MPU5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5cashrn ) -GAMEL( 199?, m5codft, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","The Codfather (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5codft ) -GAMEL( 199?, m5codft02, m5codft, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","The Codfather (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5codft ) +GAMEL( 199?, m5codft, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","The Codfather (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5codft ) +GAMEL( 199?, m5codft02, m5codft, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","The Codfather (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5codft ) -GAME( 199?, m5cos, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Costa Del Cash Casino (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5cos, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Costa Del Cash Casino (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5cosclb, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Costa Del Cash Club (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5cosclb ) +GAMEL( 199?, m5cosclb, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Costa Del Cash Club (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5cosclb ) -GAMEL( 199?, m5crzkni, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Crazy Crazy Knights (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5crzkni ) -GAMEL( 199?, m5crzkni03, m5crzkni, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Crazy Crazy Knights (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5crzkni ) +GAMEL( 199?, m5crzkni, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Crazy Crazy Knights (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5crzkni ) +GAMEL( 199?, m5crzkni03, m5crzkni, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Crazy Crazy Knights (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5crzkni ) -GAMEL( 199?, m5doshpk, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Do$h 'n' Pecks (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5doshpk05 ) -GAMEL( 199?, m5doshpk05, m5doshpk, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Do$h 'n' Pecks (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5doshpk05 ) +GAMEL( 199?, m5doshpk, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Do$h 'n' Pecks (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5doshpk05 ) +GAMEL( 199?, m5doshpk05, m5doshpk, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Do$h 'n' Pecks (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5doshpk05 ) -GAME( 199?, m5draclb, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Ooh Aah Dracula Club (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5draclb07, m5draclb, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Ooh Aah Dracula Club (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5draclb01, m5draclb, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Ooh Aah Dracula Club (Barcrest) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5draclb, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Ooh Aah Dracula Club (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5draclb07, m5draclb, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Ooh Aah Dracula Club (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5draclb01, m5draclb, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Ooh Aah Dracula Club (Barcrest) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5ewn, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Each Way Nudge (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5ewn ) -GAMEL( 199?, m5ewn08, m5ewn, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Each Way Nudge (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5ewn ) +GAMEL( 199?, m5ewn, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Each Way Nudge (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5ewn ) +GAMEL( 199?, m5ewn08, m5ewn, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Each Way Nudge (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5ewn ) -GAMEL( 199?, m5elim, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Eliminator (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5elim ) -GAMEL( 199?, m5elim03, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Eliminator (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5elim ) -GAMEL( 199?, m5elim04, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Eliminator (Barcrest) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5elim ) +GAMEL( 199?, m5elim, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Eliminator (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5elim ) +GAMEL( 199?, m5elim03, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Eliminator (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5elim ) +GAMEL( 199?, m5elim04, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Eliminator (Barcrest) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5elim ) -GAMEL( 199?, m5egr, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Elvis Gold Rush (Barcrest) (MPU5, set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5egr ) -GAMEL( 199?, m5egra, m5egr, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Elvis Gold Rush (Barcrest) (MPU5, set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5egr ) +GAMEL( 199?, m5egr, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Elvis Gold Rush (Barcrest) (MPU5, set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5egr ) +GAMEL( 199?, m5egra, m5egr, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Elvis Gold Rush (Barcrest) (MPU5, set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5egr ) -GAME( 199?, m5egss, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Elvis Gold Super Streak (Barcrest) (MPU5, set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5egssa, m5egss, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Elvis Gold Super Streak (Barcrest) (MPU5, set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5egss, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Elvis Gold Super Streak (Barcrest) (MPU5, set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5egssa, m5egss, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Elvis Gold Super Streak (Barcrest) (MPU5, set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5evgrhr, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Elvis Gold Red Hot Roll (Barcrest) (MPU5, set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5evgrhr ) -GAMEL( 199?, m5evgrhra, m5evgrhr, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Elvis Gold Red Hot Roll (Barcrest) (MPU5, set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5evgrhr ) +GAMEL( 199?, m5evgrhr, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Elvis Gold Red Hot Roll (Barcrest) (MPU5, set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5evgrhr ) +GAMEL( 199?, m5evgrhra, m5evgrhr, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Elvis Gold Red Hot Roll (Barcrest) (MPU5, set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5evgrhr ) -GAMEL( 199?, m5xchn, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Exchanges Unlimited (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5xchn ) +GAMEL( 199?, m5xchn, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Exchanges Unlimited (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5xchn ) -GAMEL( 199?, m5firebl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Fireball (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5firebl ) +GAMEL( 199?, m5firebl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Fireball (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5firebl ) -GAMEL( 199?, m5flipcr, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Flippin Crazy (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5flipcr ) +GAMEL( 199?, m5flipcr, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Flippin Crazy (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5flipcr ) -GAMEL( 199?, m5fortby, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Fort Boyard (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5fortby ) -GAMEL( 199?, m5fortby01, m5fortby, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Fort Boyard (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5fortby ) +GAMEL( 199?, m5fortby, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Fort Boyard (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5fortby ) +GAMEL( 199?, m5fortby01, m5fortby, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Fort Boyard (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5fortby ) -GAMEL( 199?, m5frnzy, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Frenzy (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5frnzy ) -GAMEL( 199?, m5frnzya, m5frnzy, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Frenzy (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5frnzy ) +GAMEL( 199?, m5frnzy, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Frenzy (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5frnzy ) +GAMEL( 199?, m5frnzya, m5frnzy, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Frenzy (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5frnzy ) -GAMEL( 199?, m5beans, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Full Of Beans (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5beansa ) -GAMEL( 199?, m5beansa, m5beans, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Full Of Beans (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5beansa ) +GAMEL( 199?, m5beans, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Full Of Beans (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5beansa ) +GAMEL( 199?, m5beansa, m5beans, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Full Of Beans (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5beansa ) -GAMEL( 199?, m5funsun, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Fun In The Sun (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5funsun ) -GAMEL( 199?, m5funsun03, m5funsun, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Fun In The Sun (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5funsun ) +GAMEL( 199?, m5funsun, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Fun In The Sun (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5funsun ) +GAMEL( 199?, m5funsun03, m5funsun, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Fun In The Sun (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5funsun ) -GAMEL( 199?, m5gimmie, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Gimmie Gimmie Gimmie (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5gimmie ) +GAMEL( 199?, m5gimmie, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Gimmie Gimmie Gimmie (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5gimmie ) -GAMEL( 199?, m5grush, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Gold Rush (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5grush ) -GAMEL( 199?, m5grush10, m5grush, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Gold Rush (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5grush ) -GAMEL( 199?, m5grush04, m5grush, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Gold Rush (Barcrest) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5grush ) -GAMEL( 199?, m5grush03, m5grush, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Gold Rush (Barcrest) (MPU5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5grush ) -GAMEL( 199?, m5grush02, m5grush, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Gold Rush (Barcrest) (MPU5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5grush ) -GAMEL( 199?, m5grush01, m5grush, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Gold Rush (Barcrest) (MPU5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5grush ) +GAMEL( 199?, m5grush, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Gold Rush (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5grush ) +GAMEL( 199?, m5grush10, m5grush, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Gold Rush (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5grush ) +GAMEL( 199?, m5grush04, m5grush, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Gold Rush (Barcrest) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5grush ) +GAMEL( 199?, m5grush03, m5grush, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Gold Rush (Barcrest) (MPU5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5grush ) +GAMEL( 199?, m5grush02, m5grush, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Gold Rush (Barcrest) (MPU5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5grush ) +GAMEL( 199?, m5grush01, m5grush, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Gold Rush (Barcrest) (MPU5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5grush ) -GAMEL( 199?, m5grush5, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Gold Rush Five Liner (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5grush5 ) -GAMEL( 199?, m5grush504, m5grush5, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Gold Rush Five Liner (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5grush5 ) +GAMEL( 199?, m5grush5, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Gold Rush Five Liner (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5grush5 ) +GAMEL( 199?, m5grush504, m5grush5, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Gold Rush Five Liner (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5grush5 ) -GAME( 199?, m5gruss, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Gold Rush Sit Down (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5gruss, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Gold Rush Sit Down (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5grusst, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Gold Rush Stampede (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5grusst04, m5grusst, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Gold Rush Stampede (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5grusst03, m5grusst, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Gold Rush Stampede (Barcrest) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5grusst, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Gold Rush Stampede (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5grusst04, m5grusst, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Gold Rush Stampede (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5grusst03, m5grusst, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Gold Rush Stampede (Barcrest) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5gstrik, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Gold Strike (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5gstrik ) -GAMEL( 199?, m5gstriks, m5gstrik, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Gold Strike (Barcrest) (MPU5) (V1.00, Spanish, Bilso S.A.)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5gstrik ) -GAMEL( 199?, m5gstrik11, m5gstrik, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Gold Strike (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5gstrik ) -GAMEL( 199?, m5gstrik02, m5gstrik, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Gold Strike (Barcrest) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5gstrik ) -GAMEL( 199?, m5gstrik01, m5gstrik, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Gold Strike (Barcrest) (MPU5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5gstrik ) -GAMEL( 199?, m5gstrik01a, m5gstrik, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Gold Strike (Barcrest) (MPU5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5gstrik ) -GAMEL( 199?, m5gstrika, m5gstrik, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Gold Strike (Barcrest) (MPU5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5gstrik ) +GAMEL( 199?, m5gstrik, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Gold Strike (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5gstrik ) +GAMEL( 199?, m5gstriks, m5gstrik, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Gold Strike (Barcrest) (MPU5) (V1.00, Spanish, Bilso S.A.)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5gstrik ) +GAMEL( 199?, m5gstrik11, m5gstrik, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Gold Strike (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5gstrik ) +GAMEL( 199?, m5gstrik02, m5gstrik, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Gold Strike (Barcrest) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5gstrik ) +GAMEL( 199?, m5gstrik01, m5gstrik, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Gold Strike (Barcrest) (MPU5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5gstrik ) +GAMEL( 199?, m5gstrik01a, m5gstrik, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Gold Strike (Barcrest) (MPU5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5gstrik ) +GAMEL( 199?, m5gstrika, m5gstrik, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Gold Strike (Barcrest) (MPU5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5gstrik ) -GAMEL( 199?, m5gsstrk, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Gold Super Streak (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5gsstrk07 ) -GAMEL( 199?, m5gsstrk07, m5gsstrk, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Gold Super Streak (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5gsstrk07 ) +GAMEL( 199?, m5gsstrk, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Gold Super Streak (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5gsstrk07 ) +GAMEL( 199?, m5gsstrk07, m5gsstrk, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Gold Super Streak (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5gsstrk07 ) -GAMEL( 199?, m5gdrag, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Golden Dragon (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5gdrag ) +GAMEL( 199?, m5gdrag, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Golden Dragon (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5gdrag ) -GAME( 199?, m5gdrgcl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Golden Dragon Club (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5gdrgcl05, m5gdrgcl, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Golden Dragon Club (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5gdrgcl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Golden Dragon Club (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5gdrgcl05, m5gdrgcl, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Golden Dragon Club (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5gkeys, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Golden Keys (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5gkeys, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Golden Keys (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5hellrz, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Hellraiser (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5hellrz ) +GAMEL( 199?, m5hellrz, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Hellraiser (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5hellrz ) -GAMEL( 199?, m5hlsumo, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Hi Lo Sumo (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5hlsumo ) +GAMEL( 199?, m5hlsumo, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Hi Lo Sumo (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5hlsumo ) -GAMEL( 199?, m5hifly, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","High Flyer (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5hifly ) -GAMEL( 199?, m5hifly03, m5hifly, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","High Flyer (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5hifly ) -GAMEL( 199?, m5hifly04, m5hifly, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","High Flyer (Barcrest) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5hifly ) +GAMEL( 199?, m5hifly, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","High Flyer (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5hifly ) +GAMEL( 199?, m5hifly03, m5hifly, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","High Flyer (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5hifly ) +GAMEL( 199?, m5hifly04, m5hifly, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","High Flyer (Barcrest) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5hifly ) -GAMEL( 199?, m5holy, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","The Holy Grail (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5holy ) -GAMEL( 199?, m5holy10, m5holy, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","The Holy Grail (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5holy ) +GAMEL( 199?, m5holy, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","The Holy Grail (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5holy ) +GAMEL( 199?, m5holy10, m5holy, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","The Holy Grail (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5holy ) -GAMEL( 199?, m5hotslt, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Hot Slot (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5hotslt ) +GAMEL( 199?, m5hotslt, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Hot Slot (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5hotslt ) -GAMEL( 199?, m5hotstf, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Hot Stuff (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5hotstf ) +GAMEL( 199?, m5hotstf, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Hot Stuff (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5hotstf ) -GAMEL( 199?, m5hypvip, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Hyper Viper (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5hypvip ) +GAMEL( 199?, m5hypvip, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Hyper Viper (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5hypvip ) -GAMEL( 199?, m5jackpt, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Jackpoteers (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5jackpt ) -GAMEL( 199?, m5jackpt07, m5jackpt, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Jackpoteers (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5jackpt ) +GAMEL( 199?, m5jackpt, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Jackpoteers (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5jackpt ) +GAMEL( 199?, m5jackpt07, m5jackpt, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Jackpoteers (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5jackpt ) -GAMEL( 199?, m5jackp2, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Jackpoteers 2 (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5jackp2 ) -GAMEL( 199?, m5jackp2a, m5jackp2, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Jackpoteers 2 (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5jackp2 ) +GAMEL( 199?, m5jackp2, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Jackpoteers 2 (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5jackp2 ) +GAMEL( 199?, m5jackp2a, m5jackp2, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Jackpoteers 2 (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5jackp2 ) -GAMEL( 199?, m5jlyjwl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Jolly Jewels (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5jlyjwl ) -GAMEL( 199?, m5jlyjwl01, m5jlyjwl, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Jolly Jewels (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5jlyjwl ) -GAMEL( 199?, m5jlyjwl02, m5jlyjwl, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Jolly Jewels (Barcrest) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5jlyjwl ) +GAMEL( 199?, m5jlyjwl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Jolly Jewels (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5jlyjwl ) +GAMEL( 199?, m5jlyjwl01, m5jlyjwl, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Jolly Jewels (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5jlyjwl ) +GAMEL( 199?, m5jlyjwl02, m5jlyjwl, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Jolly Jewels (Barcrest) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5jlyjwl ) -GAME( 199?, m5jlyrog, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Jolly Roger (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5jlyroga, m5jlyrog, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Jolly Roger (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5jlyrog, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Jolly Roger (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5jlyroga, m5jlyrog, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Jolly Roger (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5kkebab, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","King Kebab (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5kkebab ) -GAMEL( 199?, m5kkebab10, m5kkebab, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","King Kebab (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5kkebab ) -GAMEL( 199?, m5kkebaba, m5kkebab, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","King Kebab (Barcrest) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5kkebab ) +GAMEL( 199?, m5kkebab, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","King Kebab (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5kkebab ) +GAMEL( 199?, m5kkebab10, m5kkebab, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","King Kebab (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5kkebab ) +GAMEL( 199?, m5kkebaba, m5kkebab, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","King Kebab (Barcrest) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5kkebab ) -GAME( 199?, m5kingko, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","King KO (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5kingko04, m5kingko, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","King KO (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5kingko05, m5kingko, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","King KO (Barcrest) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5kingko, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","King KO (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5kingko04, m5kingko, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","King KO (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5kingko05, m5kingko, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","King KO (Barcrest) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5lotta, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Lotta Luck (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5lotta ) +GAMEL( 199?, m5lotta, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Lotta Luck (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5lotta ) -GAMEL( 199?, m5mega, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Mega Zone (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5mega ) +GAMEL( 199?, m5mega, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Mega Zone (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5mega ) -GAMEL( 199?, m5martns, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Money Mad Martians (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5martns07 ) -GAMEL( 199?, m5martns07, m5martns, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Money Mad Martians (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5martns07 ) +GAMEL( 199?, m5martns, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Money Mad Martians (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5martns07 ) +GAMEL( 199?, m5martns07, m5martns, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Money Mad Martians (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5martns07 ) -GAMEL( 199?, m5mmak, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Money Maker (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5mmak06 ) -GAMEL( 199?, m5mmak06, m5mmak, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Money Maker (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5mmak06 ) +GAMEL( 199?, m5mmak, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Money Maker (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5mmak06 ) +GAMEL( 199?, m5mmak06, m5mmak, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Money Maker (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5mmak06 ) -GAME( 199?, m5monjok, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Monedin Joker (Spanish) (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5monjoka, m5monjok, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Monedin Joker (Spanish) (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5monjok, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Monedin Joker (Spanish) (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5monjoka, m5monjok, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Monedin Joker (Spanish) (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5monty, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Monty Python (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5monty, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Monty Python (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5mprio, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Monty Python Rio (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5mprio ) +GAMEL( 199?, m5mprio, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Monty Python Rio (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5mprio ) -GAMEL( 199?, m5mpfc, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Monty Python's Flying Circus (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5mpfc ) +GAMEL( 199?, m5mpfc, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Monty Python's Flying Circus (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5mpfc ) -GAME( 199?, m5mpfccl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Monty Python's Flying Circus Club (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5mpfccl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Monty Python's Flying Circus Club (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5neptun, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Neptunes Treasure (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5neptun ) +GAMEL( 199?, m5neptun, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Neptunes Treasure (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5neptun ) -GAMEL( 199?, m5nnww, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5nnww ) +GAMEL( 199?, m5nnww, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5nnww ) -GAME( 199?, m5nnwwgl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Nudge Nudge Wink Wink Gold (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5nnwwgl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Nudge Nudge Wink Wink Gold (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5fiddle, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","On The Fiddle (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5fiddle ) -GAMEL( 199?, m5fiddle03, m5fiddle, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","On The Fiddle (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5fiddle ) +GAMEL( 199?, m5fiddle, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","On The Fiddle (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5fiddle ) +GAMEL( 199?, m5fiddle03, m5fiddle, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","On The Fiddle (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5fiddle ) -GAMEL( 199?, m5oohaah, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Ooh Aah Dracula (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5oohaah ) -GAMEL( 199?, m5oohaah01, m5oohaah, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Ooh Aah Dracula (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5oohaah ) +GAMEL( 199?, m5oohaah, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Ooh Aah Dracula (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5oohaah ) +GAMEL( 199?, m5oohaah01, m5oohaah, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Ooh Aah Dracula (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5oohaah ) -GAMEL( 199?, m5oohrio, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Ooh Ahh Dracula Rio (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5oohrio ) +GAMEL( 199?, m5oohrio, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Ooh Ahh Dracula Rio (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5oohrio ) -GAMEL( 199?, m5openbx, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Open The Box (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5openbx05 ) -GAMEL( 199?, m5openbx06, m5openbx, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Open The Box (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5openbx05 ) -GAMEL( 199?, m5openbx05, m5openbx, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Open The Box (Barcrest) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5openbx05 ) -GAMEL( 199?, m5openbx01, m5openbx, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Open The Box (Barcrest) (MPU5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5openbx05 ) +GAMEL( 199?, m5openbx, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Open The Box (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5openbx05 ) +GAMEL( 199?, m5openbx06, m5openbx, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Open The Box (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5openbx05 ) +GAMEL( 199?, m5openbx05, m5openbx, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Open The Box (Barcrest) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5openbx05 ) +GAMEL( 199?, m5openbx01, m5openbx, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Open The Box (Barcrest) (MPU5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5openbx05 ) -GAMEL( 199?, m5overld, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Overload (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5overld ) -GAMEL( 199?, m5overld02, m5overld, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Overload (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5overld ) -GAMEL( 199?, m5overld10, m5overld, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Overload (Barcrest) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5overld ) -GAMEL( 199?, m5overld11, m5overld, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Overload (Barcrest) (MPU5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5overld ) +GAMEL( 199?, m5overld, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Overload (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5overld ) +GAMEL( 199?, m5overld02, m5overld, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Overload (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5overld ) +GAMEL( 199?, m5overld10, m5overld, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Overload (Barcrest) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5overld ) +GAMEL( 199?, m5overld11, m5overld, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Overload (Barcrest) (MPU5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5overld ) -GAMEL( 199?, m5ptyani, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Party Animal (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5ptyani ) -GAMEL( 199?, m5ptyani01, m5ptyani, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Party Animal (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5ptyani ) +GAMEL( 199?, m5ptyani, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Party Animal (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5ptyani ) +GAMEL( 199?, m5ptyani01, m5ptyani, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Party Animal (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5ptyani ) -GAMEL( 199?, m5peepsh, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Peep Show (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5peepsh ) +GAMEL( 199?, m5peepsh, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Peep Show (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5peepsh ) -GAME( 199?, m5psy2, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Psycho Cash Beast 2 (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5psy2, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Psycho Cash Beast 2 (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5qshot, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Quack Shot (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5qshot04 ) -GAMEL( 199?, m5qshot04, m5qshot, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Quack Shot (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5qshot04 ) +GAMEL( 199?, m5qshot, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Quack Shot (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5qshot04 ) +GAMEL( 199?, m5qshot04, m5qshot, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Quack Shot (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5qshot04 ) -GAME( 199?, m5roof, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Raise The Roof (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5roofa, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Raise The Roof (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5roof, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Raise The Roof (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5roofa, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Raise The Roof (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5razdz, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Razzle Dazzle Club (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5razdz10 ) -GAMEL( 199?, m5razdz10, m5razdz, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Razzle Dazzle Club (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5razdz10 ) -GAMEL( 199?, m5razdz11, m5razdz, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Razzle Dazzle Club (Barcrest) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5razdz10 ) +GAMEL( 199?, m5razdz, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Razzle Dazzle Club (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5razdz10 ) +GAMEL( 199?, m5razdz10, m5razdz, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Razzle Dazzle Club (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5razdz10 ) +GAMEL( 199?, m5razdz11, m5razdz, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Razzle Dazzle Club (Barcrest) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5razdz10 ) -GAMEL( 199?, m5redrck, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Ready To Rock (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5redrcka ) -GAMEL( 199?, m5redrck10, m5redrck, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Ready To Rock (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5redrcka ) -GAMEL( 199?, m5redrcka, m5redrck, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Ready To Rock (Barcrest) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5redrcka ) +GAMEL( 199?, m5redrck, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Ready To Rock (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5redrcka ) +GAMEL( 199?, m5redrck10, m5redrck, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Ready To Rock (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5redrcka ) +GAMEL( 199?, m5redrcka, m5redrck, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Ready To Rock (Barcrest) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5redrcka ) -GAME( 199?, m5rhkni, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Red Hot Knights (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5rhkni, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Red Hot Knights (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5rhrg, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Red Hot Roll Gold (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5rhrga, m5rhrg, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Red Hot Roll Gold (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5rhrg, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Red Hot Roll Gold (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5rhrga, m5rhrg, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Red Hot Roll Gold (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5rhrgt, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Red Hot Roll Triple (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5rhrgt02 ) -GAMEL( 199?, m5rhrgt12, m5rhrgt, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Red Hot Roll Triple (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5rhrgt02 ) -GAMEL( 199?, m5rhrgt02, m5rhrgt, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Red Hot Roll Triple (Barcrest) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5rhrgt02 ) +GAMEL( 199?, m5rhrgt, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Red Hot Roll Triple (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5rhrgt02 ) +GAMEL( 199?, m5rhrgt12, m5rhrgt, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Red Hot Roll Triple (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5rhrgt02 ) +GAMEL( 199?, m5rhrgt02, m5rhrgt, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Red Hot Roll Triple (Barcrest) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5rhrgt02 ) -GAMEL( 199?, m5revo, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Revolution (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5revo13 ) -GAMEL( 199?, m5revo13, m5revo, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Revolution (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5revo13 ) -GAMEL( 199?, m5revoa, m5revo, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Revolution (Barcrest) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5revo13 ) +GAMEL( 199?, m5revo, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Revolution (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5revo13 ) +GAMEL( 199?, m5revo13, m5revo, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Revolution (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5revo13 ) +GAMEL( 199?, m5revoa, m5revo, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Revolution (Barcrest) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5revo13 ) -GAMEL( 199?, m5rgclb, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Rio Grande Club (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5rgclb12 ) -GAMEL( 199?, m5rgclb11, m5rgclb, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Rio Grande Club (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5rgclb12 ) -GAMEL( 199?, m5rgclb12, m5rgclb, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Rio Grande Club (Barcrest) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5rgclb12 ) -GAMEL( 199?, m5rgclb20, m5rgclb, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Rio Grande Club (Barcrest) (MPU5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5rgclb12 ) -GAMEL( 199?, m5rgclb21, m5rgclb, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Rio Grande Club (Barcrest) (MPU5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5rgclb12 ) -GAMEL( 199?, m5rgclb03, m5rgclb, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Rio Grande Club (Barcrest) (MPU5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5rgclb12 ) -GAMEL( 199?, m5rgclb01, m5rgclb, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Rio Grande Club (Barcrest) (MPU5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5rgclb12 ) -GAMEL( 199?, m5rgclb01a, m5rgclb, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Rio Grande Club (Barcrest) (MPU5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5rgclb12 ) +GAMEL( 199?, m5rgclb, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Rio Grande Club (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5rgclb12 ) +GAMEL( 199?, m5rgclb11, m5rgclb, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Rio Grande Club (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5rgclb12 ) +GAMEL( 199?, m5rgclb12, m5rgclb, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Rio Grande Club (Barcrest) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5rgclb12 ) +GAMEL( 199?, m5rgclb20, m5rgclb, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Rio Grande Club (Barcrest) (MPU5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5rgclb12 ) +GAMEL( 199?, m5rgclb21, m5rgclb, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Rio Grande Club (Barcrest) (MPU5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5rgclb12 ) +GAMEL( 199?, m5rgclb03, m5rgclb, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Rio Grande Club (Barcrest) (MPU5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5rgclb12 ) +GAMEL( 199?, m5rgclb01, m5rgclb, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Rio Grande Club (Barcrest) (MPU5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5rgclb12 ) +GAMEL( 199?, m5rgclb01a, m5rgclb, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Rio Grande Club (Barcrest) (MPU5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5rgclb12 ) -GAME( 199?, m5rcx, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Royal Exchange Club (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5rcxa, m5rcx, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Royal Exchange Club (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5rcx, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Royal Exchange Club (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5rcxa, m5rcx, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Royal Exchange Club (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5rub, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Rubies & Diamonds (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5rub ) +GAMEL( 199?, m5rub, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Rubies & Diamonds (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5rub ) -GAMEL( 199?, m5ritj, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Rumble In The Jungle (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5ritj ) +GAMEL( 199?, m5ritj, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Rumble In The Jungle (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5ritj ) -GAMEL( 199?, m5rfymc, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Run For Your Money Club (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5rfymc ) -GAMEL( 199?, m5rfymc06, m5rfymc, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Run For Your Money Club (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5rfymc ) +GAMEL( 199?, m5rfymc, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Run For Your Money Club (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5rfymc ) +GAMEL( 199?, m5rfymc06, m5rfymc, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Run For Your Money Club (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5rfymc ) -GAMEL( 199?, m5seven, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Seven Deadly Spins (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5seven ) +GAMEL( 199?, m5seven, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Seven Deadly Spins (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5seven ) -GAMEL( 199?, m5sheik, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Sheik Yer Money (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5sheik ) +GAMEL( 199?, m5sheik, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Sheik Yer Money (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5sheik ) -GAME( 199?, m5showtm, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Showtime (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5showtm, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Showtime (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5silver, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Silver Screen (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5silver06, m5silver, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Silver Screen (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5silver03, m5silver, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Silver Screen (Barcrest) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5silver, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Silver Screen (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5silver06, m5silver, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Silver Screen (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5silver03, m5silver, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Silver Screen (Barcrest) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5sondr, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Son Of Dracula (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5sondra ) -GAMEL( 199?, m5sondr05, m5sondr, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Son Of Dracula (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5sondra ) -GAMEL( 199?, m5sondra, m5sondr, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Son Of Dracula (Barcrest) (MPU5) (15GBP Jackpot)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5sondra ) +GAMEL( 199?, m5sondr, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Son Of Dracula (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5sondra ) +GAMEL( 199?, m5sondr05, m5sondr, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Son Of Dracula (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5sondra ) +GAMEL( 199?, m5sondra, m5sondr, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Son Of Dracula (Barcrest) (MPU5) (15GBP Jackpot)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5sondra ) -GAME( 199?, m5spicer, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","The Spice Is Right (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5spicer06, m5spicer, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","The Spice Is Right (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5spicer, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","The Spice Is Right (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5spicer06, m5spicer, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","The Spice Is Right (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5spiker, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Spiker The Biker (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5spiker ) -GAMEL( 199?, m5spiker02, m5spiker, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Spiker The Biker (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5spiker ) -GAMEL( 199?, m5spikera, m5spiker, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Spiker The Biker (Barcrest) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5spiker ) +GAMEL( 199?, m5spiker, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Spiker The Biker (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5spiker ) +GAMEL( 199?, m5spiker02, m5spiker, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Spiker The Biker (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5spiker ) +GAMEL( 199?, m5spikera, m5spiker, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Spiker The Biker (Barcrest) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5spiker ) -GAMEL( 199?, m5spins, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Spinsation (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5spins ) +GAMEL( 199?, m5spins, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Spinsation (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5spins ) -GAMEL( 199?, m5squids, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Squids In (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5squids06 ) -GAMEL( 199?, m5squids04a, m5squids, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Squids In (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5squids06 ) -GAMEL( 199?, m5squids05, m5squids, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Squids In (Barcrest) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5squids06 ) -GAMEL( 199?, m5squids06, m5squids, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Squids In (Barcrest) (MPU5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5squids06 ) +GAMEL( 199?, m5squids, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Squids In (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5squids06 ) +GAMEL( 199?, m5squids04a, m5squids, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Squids In (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5squids06 ) +GAMEL( 199?, m5squids05, m5squids, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Squids In (Barcrest) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5squids06 ) +GAMEL( 199?, m5squids06, m5squids, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Squids In (Barcrest) (MPU5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5squids06 ) -GAMEL( 199?, m5stax, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Stax Of Cash (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5stax ) +GAMEL( 199?, m5stax, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Stax Of Cash (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5stax ) -GAMEL( 199?, m5scharg, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Super Charged (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5scharg ) -GAMEL( 199?, m5scharg05, m5scharg, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Super Charged (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5scharg ) -GAMEL( 199?, m5scharg06, m5scharg, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Super Charged (Barcrest) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5scharg ) -GAMEL( 199?, m5scharga, m5scharg, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Super Charged (Barcrest) (MPU5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5scharg ) +GAMEL( 199?, m5scharg, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Super Charged (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5scharg ) +GAMEL( 199?, m5scharg05, m5scharg, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Super Charged (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5scharg ) +GAMEL( 199?, m5scharg06, m5scharg, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Super Charged (Barcrest) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5scharg ) +GAMEL( 199?, m5scharga, m5scharg, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Super Charged (Barcrest) (MPU5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5scharg ) -GAME( 199?, m5supstr, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Super Star (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5supstra, m5supstr, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Super Star (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5supstr, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Super Star (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5supstra, m5supstr, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Super Star (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5sstrk, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Super Streak (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5sstrk ) -GAMEL( 199?, m5sstrk02a, m5sstrk, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Super Streak (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5sstrk ) +GAMEL( 199?, m5sstrk, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Super Streak (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5sstrk ) +GAMEL( 199?, m5sstrk02a, m5sstrk, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Super Streak (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5sstrk ) -GAMEL( 199?, m5supnov, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Supernova (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5supnov ) -GAMEL( 199?, m5supnova, m5supnov, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Supernova (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5supnov ) +GAMEL( 199?, m5supnov, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Supernova (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5supnov ) +GAMEL( 199?, m5supnova, m5supnov, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Supernova (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5supnov ) -GAME( 199?, m5tempt, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Temple Of Treasure (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5tempt05, m5tempt, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Temple Of Treasure (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5tempta, m5tempt, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Temple Of Treasure (Barcrest) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5temptb, m5tempt, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Temple Of Treasure (Barcrest) (MPU5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5tempt, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Temple Of Treasure (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5tempt05, m5tempt, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Temple Of Treasure (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5tempta, m5tempt, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Temple Of Treasure (Barcrest) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5temptb, m5tempt, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Temple Of Treasure (Barcrest) (MPU5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5tempt2, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Temple Of Treasure 2 (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5tempt2 ) -GAMEL( 199?, m5tempt203, m5tempt2, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Temple Of Treasure 2 (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5tempt2 ) -GAMEL( 199?, m5tempt2a, m5tempt2, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Temple Of Treasure 2 (Barcrest) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5tempt2 ) +GAMEL( 199?, m5tempt2, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Temple Of Treasure 2 (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5tempt2 ) +GAMEL( 199?, m5tempt203, m5tempt2, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Temple Of Treasure 2 (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5tempt2 ) +GAMEL( 199?, m5tempt2a, m5tempt2, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Temple Of Treasure 2 (Barcrest) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5tempt2 ) -GAMEL( 199?, m5tempcl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Temple Of Treasure Club (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5tempcl ) +GAMEL( 199?, m5tempcl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Temple Of Treasure Club (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5tempcl ) -GAMEL( 199?, m5tbird, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Thunderbird (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5tbird ) +GAMEL( 199?, m5tbird, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Thunderbird (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5tbird ) -GAME( 199?, m5topdog, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Top Dog (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5topdog04, m5topdog, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Top Dog (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5topdoga, m5topdog, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Top Dog (Barcrest) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5topdog, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Top Dog (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5topdog04, m5topdog, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Top Dog (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5topdoga, m5topdog, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Top Dog (Barcrest) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5trail, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Trailblazer Club (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5trail ) +GAMEL( 199?, m5trail, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Trailblazer Club (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5trail ) -GAMEL( 199?, m5ultimo, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Ultimo (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5ultimo04 ) -GAMEL( 199?, m5ultimo03a, m5ultimo, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Ultimo (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5ultimo04 ) -GAMEL( 199?, m5ultimo04, m5ultimo, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Ultimo (Barcrest) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5ultimo04 ) +GAMEL( 199?, m5ultimo, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Ultimo (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5ultimo04 ) +GAMEL( 199?, m5ultimo03a, m5ultimo, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Ultimo (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5ultimo04 ) +GAMEL( 199?, m5ultimo04, m5ultimo, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Ultimo (Barcrest) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5ultimo04 ) -GAMEL( 199?, m5upover, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Up & Over (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5upover ) -GAMEL( 199?, m5upover15, m5upover, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Up & Over (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5upover ) +GAMEL( 199?, m5upover, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Up & Over (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5upover ) +GAMEL( 199?, m5upover15, m5upover, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Up & Over (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5upover ) -GAMEL( 199?, m5vampup, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Vamp It Up (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5vampup ) +GAMEL( 199?, m5vampup, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Vamp It Up (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5vampup ) -GAMEL( 199?, m5wking, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Wild King (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5wking05 ) -GAMEL( 199?, m5wking05, m5wking, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Wild King (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5wking05 ) +GAMEL( 199?, m5wking, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Wild King (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5wking05 ) +GAMEL( 199?, m5wking05, m5wking, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Wild King (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5wking05 ) -GAME( 199?, m5costa, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Costa Del Cash (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5costa, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Costa Del Cash (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5ttwo, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Take Two (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5ttwo, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Take Two (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5horn, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Whitbread","Horn Of Plenty (Barcrest / Whitbread) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5horn, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Whitbread","Horn Of Plenty (Barcrest / Whitbread) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5hotrk, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Hot Rocks (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5hotrk, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Hot Rocks (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) /* Barcrest / Red Gaming */ -GAME( 199?, m5ashock, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Aftershock (Barcrest - Red Gaming) (MPU5, v1.2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5ashocka, m5ashock, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Aftershock (Barcrest - Red Gaming) (MPU5, v1.3)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5ashock, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Aftershock (Barcrest - Red Gaming) (MPU5, v1.2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5ashocka, m5ashock, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Aftershock (Barcrest - Red Gaming) (MPU5, v1.3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5bigsht, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Big Shot (Barcrest - Red Gaming) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5bigsht04, m5bigsht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Big Shot (Barcrest - Red Gaming) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5bigsht11, m5bigsht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Big Shot (Barcrest - Red Gaming) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5bigsht13, m5bigsht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Big Shot (Barcrest - Red Gaming) (MPU5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5bigshta, m5bigsht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Big Shot (Barcrest - Red Gaming) (MPU5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5bigsht, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Big Shot (Barcrest - Red Gaming) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5bigsht04, m5bigsht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Big Shot (Barcrest - Red Gaming) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5bigsht11, m5bigsht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Big Shot (Barcrest - Red Gaming) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5bigsht13, m5bigsht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Big Shot (Barcrest - Red Gaming) (MPU5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5bigshta, m5bigsht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Big Shot (Barcrest - Red Gaming) (MPU5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5bnkrs, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Bonkers (Barcrest - Red Gaming) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5bnkrs, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Bonkers (Barcrest - Red Gaming) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5bbank, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Break The Bank (Barcrest - Red Gaming) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5bbank13, m5bbank, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Break The Bank (Barcrest - Red Gaming) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5bbank, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Break The Bank (Barcrest - Red Gaming) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5bbank13, m5bbank, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Break The Bank (Barcrest - Red Gaming) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5casfev , 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Casino Fever (Red Gaming) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5casfev12, m5casfev, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Casino Fever (Red Gaming) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5casfev , 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Casino Fever (Red Gaming) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5casfev12, m5casfev, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Casino Fever (Red Gaming) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5dmnstr, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Demon Streak (Barcrest - Red Gaming) (MPU5, set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5dmnstra, m5dmnstr, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Demon Streak (Barcrest - Red Gaming) (MPU5, set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5dmnstr, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Demon Streak (Barcrest - Red Gaming) (MPU5, set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5dmnstra, m5dmnstr, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Demon Streak (Barcrest - Red Gaming) (MPU5, set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5dbubl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Double Bubble (Barcrest - Red Gaming) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5dbubl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Double Bubble (Barcrest - Red Gaming) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5dragnd, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Dragon Drop (Barcrest - Red Gaming) (MPU5, set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5dragnda, m5dragnd, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Dragon Drop (Barcrest - Red Gaming) (MPU5, set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5dragnd, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Dragon Drop (Barcrest - Red Gaming) (MPU5, set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5dragnda, m5dragnd, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Dragon Drop (Barcrest - Red Gaming) (MPU5, set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5fnfair, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Funfair (Barcrest - Red Gaming) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5fnfaird, m5fnfair, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Funfair (Barcrest - Red Gaming) (MPU5) (Datapak)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5fnfair, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Funfair (Barcrest - Red Gaming) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5fnfaird, m5fnfair, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Funfair (Barcrest - Red Gaming) (MPU5) (Datapak)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5fusir, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Fruits U Sir (Barcrest - Red Gaming) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5fusir11, m5fusir, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Fruits U Sir (Barcrest - Red Gaming) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5fusir12, m5fusir, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Fruits U Sir (Barcrest - Red Gaming) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5fusir, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Fruits U Sir (Barcrest - Red Gaming) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5fusir11, m5fusir, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Fruits U Sir (Barcrest - Red Gaming) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5fusir12, m5fusir, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Fruits U Sir (Barcrest - Red Gaming) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5hypalx, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Hypalinx (Barcrest - Red Gaming) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5hypalx, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Hypalinx (Barcrest - Red Gaming) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5invad, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Invaders (Barcrest - Red Gaming) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5invad, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Invaders (Barcrest - Red Gaming) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5jcptgn, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Jackpot Genie (Barcrest - Red Gaming) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5jcptgn, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Jackpot Genie (Barcrest - Red Gaming) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5jlstrk, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Jewel Strike (Barcrest - Red Gaming) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5jlstrk, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Jewel Strike (Barcrest - Red Gaming) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5lock, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Lock 'n' Load (Barcrest - Red Gaming) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5lock13, m5lock, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Lock 'n' Load (Barcrest - Red Gaming) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5lock12, m5lock, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Lock 'n' Load (Barcrest - Red Gaming) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5lock, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Lock 'n' Load (Barcrest - Red Gaming) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5lock13, m5lock, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Lock 'n' Load (Barcrest - Red Gaming) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5lock12, m5lock, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Lock 'n' Load (Barcrest - Red Gaming) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5lockcl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Lock 'n' Load Club (Barcrest - Red Gaming) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5lockcl15, m5lockcl, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Lock 'n' Load Club (Barcrest - Red Gaming) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5lockcl14, m5lockcl, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Lock 'n' Load Club (Barcrest - Red Gaming) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5lockcl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Lock 'n' Load Club (Barcrest - Red Gaming) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5lockcl15, m5lockcl, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Lock 'n' Load Club (Barcrest - Red Gaming) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5lockcl14, m5lockcl, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Lock 'n' Load Club (Barcrest - Red Gaming) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5nitro, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Nitro (Barcrest - Red Gaming) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5nitro, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Nitro (Barcrest - Red Gaming) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5paint, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Paint The Town Red (Barcrest - Red Gaming) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5paint, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Paint The Town Red (Barcrest - Red Gaming) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5quake, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Quake (Barcrest - Red Gaming) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5quake, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Quake (Barcrest - Red Gaming) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5rainrn, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Rainbow Runner (Barcrest - Red Gaming) (MPU5, set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5rainrna, m5rainrn, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Rainbow Runner (Barcrest - Red Gaming) (MPU5, set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5rainrn, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Rainbow Runner (Barcrest - Red Gaming) (MPU5, set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5rainrna, m5rainrn, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Rainbow Runner (Barcrest - Red Gaming) (MPU5, set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5rampg, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Rampage (Barcrest - Red Gaming) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5rampg11, m5rampg, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Rampage (Barcrest - Red Gaming) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5rampg12, m5rampg, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Rampage (Barcrest - Red Gaming) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5rampg, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Rampage (Barcrest - Red Gaming) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5rampg11, m5rampg, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Rampage (Barcrest - Red Gaming) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5rampg12, m5rampg, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Rampage (Barcrest - Red Gaming) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5rdwarf, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Red Dwarf (Barcrest - Red Gaming) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5rdwarf, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Red Dwarf (Barcrest - Red Gaming) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5redx, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Red X (Barcrest - Red Gaming) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5redx12, m5redx, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Red X (Barcrest - Red Gaming) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5redx, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Red X (Barcrest - Red Gaming) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5redx12, m5redx, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Red X (Barcrest - Red Gaming) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5thtsmg, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","That's Magic (Barcrest - Red Gaming) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5thtsmg, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","That's Magic (Barcrest - Red Gaming) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5topdol, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Top Dollar (Barcrest - Red Gaming) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5topdola, m5topdol, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Top Dollar (Barcrest - Red Gaming) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5topdol, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Top Dollar (Barcrest - Red Gaming) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5topdola, m5topdol, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Top Dollar (Barcrest - Red Gaming) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5zigzag, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Zig Zag (Barcrest - Red Gaming) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5zigzag, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Zig Zag (Barcrest - Red Gaming) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5cmass, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Critical Mass (Barcrest - Red Gaming) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5cmass, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Critical Mass (Barcrest - Red Gaming) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5sblz, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Snail Blazer (Barcrest - Red Gaming) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5sblz, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Snail Blazer (Barcrest - Red Gaming) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5slide, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Slider (Barcrest - Red Gaming) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5slide, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest / Red Gaming","Slider (Barcrest - Red Gaming) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) /* Vivid */ -GAME( 199?, m5sixsht, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v1.1, set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5sixshta, m5sixsht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v1.1, set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5sixshtb, m5sixsht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.0, set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5sixshtc, m5sixsht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.0, set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5sixshtd, m5sixsht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.0, set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5sixshte, m5sixsht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.0, set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5sixshtf, m5sixsht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.0, set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5sixshtg, m5sixsht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.0, set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5sixshth, m5sixsht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.0, set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5sixshti, m5sixsht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.1, set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5sixshtj, m5sixsht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.1, set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5sixshtk, m5sixsht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.1, set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5sixshtl, m5sixsht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.1, set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5sixshtm, m5sixsht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.1, set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5sixshtn, m5sixsht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.1, set 6)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5sixsht, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v1.1, set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5sixshta, m5sixsht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v1.1, set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5sixshtb, m5sixsht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.0, set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5sixshtc, m5sixsht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.0, set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5sixshtd, m5sixsht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.0, set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5sixshte, m5sixsht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.0, set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5sixshtf, m5sixsht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.0, set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5sixshtg, m5sixsht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.0, set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5sixshth, m5sixsht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.0, set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5sixshti, m5sixsht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.1, set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5sixshtj, m5sixsht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.1, set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5sixshtk, m5sixsht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.1, set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5sixshtl, m5sixsht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.1, set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5sixshtm, m5sixsht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.1, set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5sixshtn, m5sixsht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.1, set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5all41, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5all41d ) -GAMEL( 199?, m5all41a, m5all41, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5all41d ) -GAMEL( 199?, m5all41b, m5all41, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 3)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5all41d ) -GAMEL( 199?, m5all41c, m5all41, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 4)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5all41d ) -GAMEL( 199?, m5all41d, m5all41, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5all41d ) -GAMEL( 199?, m5all41e, m5all41, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 6)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5all41d ) -GAMEL( 199?, m5all41f, m5all41, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 7)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5all41d ) -GAMEL( 199?, m5all41g, m5all41, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 8)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5all41d ) -GAMEL( 199?, m5all41h, m5all41, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 9)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5all41d ) -GAMEL( 199?, m5all41i, m5all41, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 10)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5all41d ) -GAMEL( 199?, m5all41j, m5all41, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 11)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5all41d ) -GAMEL( 199?, m5all41k, m5all41, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 12)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5all41d ) -GAMEL( 199?, m5all41l, m5all41, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 13)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5all41d ) -GAMEL( 199?, m5all41m, m5all41, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 14)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5all41d ) +GAMEL( 199?, m5all41, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5all41d ) +GAMEL( 199?, m5all41a, m5all41, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5all41d ) +GAMEL( 199?, m5all41b, m5all41, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5all41d ) +GAMEL( 199?, m5all41c, m5all41, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5all41d ) +GAMEL( 199?, m5all41d, m5all41, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5all41d ) +GAMEL( 199?, m5all41e, m5all41, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5all41d ) +GAMEL( 199?, m5all41f, m5all41, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5all41d ) +GAMEL( 199?, m5all41g, m5all41, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5all41d ) +GAMEL( 199?, m5all41h, m5all41, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5all41d ) +GAMEL( 199?, m5all41i, m5all41, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5all41d ) +GAMEL( 199?, m5all41j, m5all41, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 11)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5all41d ) +GAMEL( 199?, m5all41k, m5all41, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 12)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5all41d ) +GAMEL( 199?, m5all41l, m5all41, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 13)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5all41d ) +GAMEL( 199?, m5all41m, m5all41, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 14)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5all41d ) -GAME( 199?, m5atlan, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Atlantic (Vivid) (MPU5, v1.4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5atlana, m5atlan, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Atlantic (Vivid) (MPU5, v1.2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5atlan, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Atlantic (Vivid) (MPU5, v1.4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5atlana, m5atlan, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Atlantic (Vivid) (MPU5, v1.2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5bttf, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Back To The Features (Vivid) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5bttf ) -GAMEL( 199?, m5bttfa, m5bttf, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Back To The Features (Vivid) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5bttf ) +GAMEL( 199?, m5bttf, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Back To The Features (Vivid) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5bttf ) +GAMEL( 199?, m5bttfa, m5bttf, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Back To The Features (Vivid) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5bttf ) -GAMEL( 199?, m5btlbnk, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Bottle Bank (Vivid) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5btlbnk ) +GAMEL( 199?, m5btlbnk, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Bottle Bank (Vivid) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5btlbnk ) -GAME( 199?, m5caesc, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Caesar's Cash (Vivid) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5caesc, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Caesar's Cash (Vivid) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5card, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Card Shark (Vivid) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5card, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Card Shark (Vivid) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5cshkcb, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Card Shark Club (Vivid) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5cshkcb ) -GAMEL( 199?, m5cshkcb12, m5cshkcb, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Card Shark Club (Vivid) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5cshkcb ) -GAMEL( 199?, m5cshkcb13, m5cshkcb, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Card Shark Club (Vivid) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5cshkcb ) +GAMEL( 199?, m5cshkcb, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Card Shark Club (Vivid) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5cshkcb ) +GAMEL( 199?, m5cshkcb12, m5cshkcb, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Card Shark Club (Vivid) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5cshkcb ) +GAMEL( 199?, m5cshkcb13, m5cshkcb, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Card Shark Club (Vivid) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5cshkcb ) -GAMEL( 199?, m5clifhn, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Cliffhanger (Vivid) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5clifhn ) +GAMEL( 199?, m5clifhn, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Cliffhanger (Vivid) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5clifhn ) -GAME( 199?, m5cnct4, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Connect 4 (Vivid) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5cnct415, m5cnct4, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Connect 4 (Vivid) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5cnct420, m5cnct4, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Connect 4 (Vivid) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5cnct4, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Connect 4 (Vivid) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5cnct415, m5cnct4, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Connect 4 (Vivid) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5cnct420, m5cnct4, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Connect 4 (Vivid) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5devil, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Devil Of A Deal (Vivid) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5devil ) +GAMEL( 199?, m5devil, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Devil Of A Deal (Vivid) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5devil ) -GAMEL( 199?, m5elband, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","El Bandido Club (Vivid) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5elband ) +GAMEL( 199?, m5elband, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","El Bandido Club (Vivid) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5elband ) -GAME( 199?, m5fair, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Fairground Attraction (Vivid) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5fair, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Fairground Attraction (Vivid) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5ggems, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Giant Gems (Vivid) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5ggems20 ) -GAMEL( 199?, m5ggems20, m5ggems, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Giant Gems (Vivid) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5ggems20 ) +GAMEL( 199?, m5ggems, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Giant Gems (Vivid) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5ggems20 ) +GAMEL( 199?, m5ggems20, m5ggems, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Giant Gems (Vivid) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5ggems20 ) -GAME( 199?, m5groll, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Golden Roll (Vivid) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5groll, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Golden Roll (Vivid) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5hilok, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Hi Lo Karate (Vivid) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5hilok ) +GAMEL( 199?, m5hilok, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Hi Lo Karate (Vivid) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5hilok ) -GAMEL( 199?, m5hiclau, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","High Claudius (Vivid) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5hiclau ) +GAMEL( 199?, m5hiclau, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","High Claudius (Vivid) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5hiclau ) -GAME( 199?, m5honmon, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Honey Money (Vivid) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5honmona, m5honmon, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Honey Money (Vivid) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5honmon, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Honey Money (Vivid) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5honmona, m5honmon, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Honey Money (Vivid) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5hopidl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Hop Idol (Vivid) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5hopidl ) +GAMEL( 199?, m5hopidl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Hop Idol (Vivid) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5hopidl ) -GAME( 199?, m5hypno, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Hypnotic (Vivid) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5hypno, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Hypnotic (Vivid) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5jmpjok, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Jumpin Jokers (Vivid) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5jmpjok11, m5jmpjok, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Jumpin Jokers (Vivid) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5jmpjoka, m5jmpjok, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Jumpin Jokers (Vivid) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5jmpjokb, m5jmpjok, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Jumpin Jokers (Vivid) (MPU5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5jmpjok, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Jumpin Jokers (Vivid) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5jmpjok11, m5jmpjok, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Jumpin Jokers (Vivid) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5jmpjoka, m5jmpjok, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Jumpin Jokers (Vivid) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5jmpjokb, m5jmpjok, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Jumpin Jokers (Vivid) (MPU5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5loony, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Loony Juice (Vivid) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5loony ) +GAMEL( 199?, m5loony, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Loony Juice (Vivid) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5loony ) -GAMEL( 199?, m5loot, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Loot 'n' Khamun (Vivid) (MPU5, set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5loot ) // aka 3-in-1 ? -GAMEL( 199?, m5loota, m5loot, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Loot 'n' Khamun (Vivid) (MPU5, set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5loot ) // aka 3-in-1 ? +GAMEL( 199?, m5loot, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Loot 'n' Khamun (Vivid) (MPU5, set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5loot ) // aka 3-in-1 ? +GAMEL( 199?, m5loota, m5loot, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Loot 'n' Khamun (Vivid) (MPU5, set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5loot ) // aka 3-in-1 ? -GAME( 199?, m5mag7s, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Magnificent 7s (Vivid) (MPU5, set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5mag7sa, m5mag7s, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Magnificent 7s (Vivid) (MPU5, set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5mag7sb, m5mag7s, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Magnificent 7s (Vivid) (MPU5, set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5mag7sc, m5mag7s, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Magnificent 7s (Vivid) (MPU5, set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5mag7sd, m5mag7s, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Magnificent 7s (Vivid) (MPU5, set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5mag7se, m5mag7s, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Magnificent 7s (Vivid) (MPU5, set 6)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5mag7s, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Magnificent 7s (Vivid) (MPU5, set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5mag7sa, m5mag7s, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Magnificent 7s (Vivid) (MPU5, set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5mag7sb, m5mag7s, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Magnificent 7s (Vivid) (MPU5, set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5mag7sc, m5mag7s, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Magnificent 7s (Vivid) (MPU5, set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5mag7sd, m5mag7s, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Magnificent 7s (Vivid) (MPU5, set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5mag7se, m5mag7s, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Magnificent 7s (Vivid) (MPU5, set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5msf, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Manic Streak Features (Vivid) (MPU5, set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5msfa, m5msf, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Manic Streak Features (Vivid) (MPU5, set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5msf, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Manic Streak Features (Vivid) (MPU5, set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5msfa, m5msf, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Manic Streak Features (Vivid) (MPU5, set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5piefac, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Pie Factory (Vivid) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5piefac ) -GAMEL( 199?, m5piefac23, m5piefac, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Pie Factory (Vivid) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5piefac ) -GAMEL( 199?, m5piefac12, m5piefac, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Pie Factory (Vivid) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5piefac ) -GAMEL( 199?, m5piefaca, m5piefac, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Pie Factory (Vivid) (MPU5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5piefac ) +GAMEL( 199?, m5piefac, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Pie Factory (Vivid) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5piefac ) +GAMEL( 199?, m5piefac23, m5piefac, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Pie Factory (Vivid) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5piefac ) +GAMEL( 199?, m5piefac12, m5piefac, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Pie Factory (Vivid) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5piefac ) +GAMEL( 199?, m5piefaca, m5piefac, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Pie Factory (Vivid) (MPU5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5piefac ) -GAME( 199?, m5piefc2, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Pie Factory 2 (Vivid) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5piefc2a, m5piefc2, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Pie Factory 2 (Vivid) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5piefc2b, m5piefc2, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Pie Factory 2 (Vivid) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5piefc2, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Pie Factory 2 (Vivid) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5piefc2a, m5piefc2, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Pie Factory 2 (Vivid) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5piefc2b, m5piefc2, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Pie Factory 2 (Vivid) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5piefcr, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Pie Factory Rio (Vivid) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5piefcr ) +GAMEL( 199?, m5piefcr, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Pie Factory Rio (Vivid) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5piefcr ) -GAMEL( 199?, m5qdraw, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Quick On The Draw (Vivid) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5qdrawb ) -GAMEL( 199?, m5qdraw12, m5qdraw, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Quick On The Draw (Vivid) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5qdrawb ) -GAMEL( 199?, m5qdraw14, m5qdraw, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Quick On The Draw (Vivid) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5qdrawb ) -GAMEL( 199?, m5qdraw15, m5qdraw, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Quick On The Draw (Vivid) (MPU5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5qdrawb ) -GAMEL( 199?, m5qdrawa, m5qdraw, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Quick On The Draw (Vivid) (MPU5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5qdrawb ) -GAMEL( 199?, m5qdrawb, m5qdraw, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Quick On The Draw (Vivid) (MPU5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5qdrawb ) +GAMEL( 199?, m5qdraw, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Quick On The Draw (Vivid) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5qdrawb ) +GAMEL( 199?, m5qdraw12, m5qdraw, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Quick On The Draw (Vivid) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5qdrawb ) +GAMEL( 199?, m5qdraw14, m5qdraw, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Quick On The Draw (Vivid) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5qdrawb ) +GAMEL( 199?, m5qdraw15, m5qdraw, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Quick On The Draw (Vivid) (MPU5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5qdrawb ) +GAMEL( 199?, m5qdrawa, m5qdraw, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Quick On The Draw (Vivid) (MPU5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5qdrawb ) +GAMEL( 199?, m5qdrawb, m5qdraw, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Quick On The Draw (Vivid) (MPU5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5qdrawb ) -GAMEL( 199?, m5redbal, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Random Red Ball (Vivid) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5redbal ) +GAMEL( 199?, m5redbal, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Random Red Ball (Vivid) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5redbal ) -GAMEL( 199?, m5ratpk, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Rat Pack (Vivid) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5ratpka ) -GAMEL( 199?, m5ratpka, m5ratpk, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Rat Pack (Vivid) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5ratpka ) +GAMEL( 199?, m5ratpk, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Rat Pack (Vivid) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5ratpka ) +GAMEL( 199?, m5ratpka, m5ratpk, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Rat Pack (Vivid) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5ratpka ) -GAME( 199?, m5rawin, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid / Whitbread","Reel A Win (Vivid / Whitbread) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5rawin, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid / Whitbread","Reel A Win (Vivid / Whitbread) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5rollup, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Roll Up Roll Up (Vivid) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5rollup ) +GAMEL( 199?, m5rollup, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Roll Up Roll Up (Vivid) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5rollup ) -GAMEL( 199?, m5shark, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Shark Raving Mad (Vivid) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5shark ) -GAMEL( 199?, m5sharka, m5shark, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Shark Raving Mad (Vivid) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5shark ) +GAMEL( 199?, m5shark, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Shark Raving Mad (Vivid) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5shark ) +GAMEL( 199?, m5sharka, m5shark, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Shark Raving Mad (Vivid) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5shark ) -GAMEL( 199?, m5speccl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Spectrum Club (Vivid) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5speccl ) +GAMEL( 199?, m5speccl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Spectrum Club (Vivid) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5speccl ) -GAME( 199?, m5spddmn, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Speed Demon (Vivid) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5spddmn, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Speed Demon (Vivid) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5stars, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Stars & Stripes (Vivid) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5stars26 ) -GAMEL( 199?, m5stars13a, m5stars, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Stars & Stripes (Vivid) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5stars26 ) -GAMEL( 199?, m5stars26, m5stars, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Stars & Stripes (Vivid) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5stars26 ) -GAMEL( 199?, m5stars25a, m5stars, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Stars & Stripes (Vivid) (MPU5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5stars26 ) -GAMEL( 199?, m5stars25, m5stars, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Stars & Stripes (Vivid) (MPU5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5stars26 ) -GAMEL( 199?, m5stars22, m5stars, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Stars & Stripes (Vivid) (MPU5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5stars26 ) -GAMEL( 199?, m5stars20, m5stars, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Stars & Stripes (Vivid) (MPU5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5stars26 ) -GAMEL( 199?, m5stars10, m5stars, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Stars & Stripes (Vivid) (MPU5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5stars26 ) -GAMEL( 199?, m5stars10a, m5stars, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Stars & Stripes (Vivid) (MPU5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5stars26 ) +GAMEL( 199?, m5stars, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Stars & Stripes (Vivid) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5stars26 ) +GAMEL( 199?, m5stars13a, m5stars, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Stars & Stripes (Vivid) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5stars26 ) +GAMEL( 199?, m5stars26, m5stars, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Stars & Stripes (Vivid) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5stars26 ) +GAMEL( 199?, m5stars25a, m5stars, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Stars & Stripes (Vivid) (MPU5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5stars26 ) +GAMEL( 199?, m5stars25, m5stars, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Stars & Stripes (Vivid) (MPU5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5stars26 ) +GAMEL( 199?, m5stars22, m5stars, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Stars & Stripes (Vivid) (MPU5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5stars26 ) +GAMEL( 199?, m5stars20, m5stars, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Stars & Stripes (Vivid) (MPU5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5stars26 ) +GAMEL( 199?, m5stars10, m5stars, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Stars & Stripes (Vivid) (MPU5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5stars26 ) +GAMEL( 199?, m5stars10a, m5stars, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Stars & Stripes (Vivid) (MPU5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5stars26 ) -GAMEL( 199?, m5starcl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Stars & Stripes Club (Vivid) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5starcl ) +GAMEL( 199?, m5starcl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Stars & Stripes Club (Vivid) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5starcl ) -GAME( 199?, m5startr, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Stars & Stripes Triple (Vivid) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5startr, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Stars & Stripes Triple (Vivid) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5supro, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Super Roulette (Vivid) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5supro ) -GAMEL( 199?, m5suproa, m5supro, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Super Roulette (Vivid) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5supro ) +GAMEL( 199?, m5supro, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Super Roulette (Vivid) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5supro ) +GAMEL( 199?, m5suproa, m5supro, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Super Roulette (Vivid) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5supro ) -GAMEL( 199?, m5tempp, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Temple Of Pleasure (Vivid) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5tempp ) +GAMEL( 199?, m5tempp, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Temple Of Pleasure (Vivid) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5tempp ) -GAME( 199?, m5whdres, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Who Dares Spins (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5whdres, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Who Dares Spins (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5winway, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Winning Ways (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5winway, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Winning Ways (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) /* Empire */ -GAME( 199?, m5fewmor, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","A Few Dollars More (Empire) (MPU5) (v0.2, set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5fewmora, m5fewmor, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","A Few Dollars More (Empire) (MPU5) (v0.2, set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5fewmorb, m5fewmor, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","A Few Dollars More (Empire) (MPU5) (v0.3, set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5fewmorc, m5fewmor, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","A Few Dollars More (Empire) (MPU5) (v0.3, set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5fewmor, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","A Few Dollars More (Empire) (MPU5) (v0.2, set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5fewmora, m5fewmor, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","A Few Dollars More (Empire) (MPU5) (v0.2, set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5fewmorb, m5fewmor, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","A Few Dollars More (Empire) (MPU5) (v0.3, set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5fewmorc, m5fewmor, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","A Few Dollars More (Empire) (MPU5) (v0.3, set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5wonga, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","A Fish Called Wonga (Empire) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5wonga ) +GAMEL( 199?, m5wonga, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","A Fish Called Wonga (Empire) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5wonga ) -GAME( 199?, m5aceclb, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Ace Of Clubs (Empire) (MPU5, set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5aceclba, m5aceclb, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Ace Of Clubs (Empire) (MPU5, set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5aceclbb, m5aceclb, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Ace Of Clubs (Empire) (MPU5, set 3)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5aceclb, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Ace Of Clubs (Empire) (MPU5, set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5aceclba, m5aceclb, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Ace Of Clubs (Empire) (MPU5, set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5aceclbb, m5aceclb, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Ace Of Clubs (Empire) (MPU5, set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5barxdx, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Bar X Deluxe (Empire) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5barxdx, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Bar X Deluxe (Empire) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5bnzclb, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Bonanza Club (Empire) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5bnzclb ) -GAMEL( 199?, m5bnzclb11, m5bnzclb, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Bonanza Club (Empire) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5bnzclb ) +GAMEL( 199?, m5bnzclb, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Bonanza Club (Empire) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5bnzclb ) +GAMEL( 199?, m5bnzclb11, m5bnzclb, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Bonanza Club (Empire) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5bnzclb ) -GAME( 199?, m5bukroo, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Buckaroo (Empire) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5bukroo, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Buckaroo (Empire) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5cbrun, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Cannonball Run (Empire) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5cbrun, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Cannonball Run (Empire) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5carou, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Carousel (Empire) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5carou ) +GAMEL( 199?, m5carou, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Carousel (Empire) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5carou ) -GAME( 199?, m5casroc, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Casino Royale Club (Empire) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5casroc, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Casino Royale Club (Empire) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5centcl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Centurion Club (Empire) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5centcl ) -GAMEL( 199?, m5centcl20, m5centcl, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Centurion Club (Empire) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5centcl ) -GAMEL( 199?, m5centcl21, m5centcl, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Centurion Club (Empire) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5centcl ) -GAMEL( 199?, m5centcl21a, m5centcl, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Centurion Club (Empire) (MPU5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5centcl ) -GAMEL( 199?, m5centcla, m5centcl, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Centurion Club (Empire) (MPU5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5centcl ) +GAMEL( 199?, m5centcl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Centurion Club (Empire) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5centcl ) +GAMEL( 199?, m5centcl20, m5centcl, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Centurion Club (Empire) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5centcl ) +GAMEL( 199?, m5centcl21, m5centcl, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Centurion Club (Empire) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5centcl ) +GAMEL( 199?, m5centcl21a, m5centcl, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Centurion Club (Empire) (MPU5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5centcl ) +GAMEL( 199?, m5centcla, m5centcl, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Centurion Club (Empire) (MPU5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5centcl ) -GAME( 199?, m5cworan, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Clockwork Oranges (Empire) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5cworan12, m5cworan, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Clockwork Oranges (Empire) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5cworan, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Clockwork Oranges (Empire) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5cworan12, m5cworan, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Clockwork Oranges (Empire) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5clbtro, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Club Tropicana (Empire) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5clbtro24, m5clbtro, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Club Tropicana (Empire) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5clbtro25, m5clbtro, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Club Tropicana (Empire) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5clbtro, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Club Tropicana (Empire) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5clbtro24, m5clbtro, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Club Tropicana (Empire) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5clbtro25, m5clbtro, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Club Tropicana (Empire) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5cockdd, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Cock A Doodle Dough! (Empire) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5cockdd05, m5cockdd, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Cock A Doodle Dough! (Empire) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5cockdd, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Cock A Doodle Dough! (Empire) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5cockdd05, m5cockdd, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Cock A Doodle Dough! (Empire) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5coloss, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Colossus Club (Empire) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5coloss, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Colossus Club (Empire) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5crocrk, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Crocodile Rock (Empire) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5crocrk10, m5crocrk, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Crocodile Rock (Empire) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5crocrk, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Crocodile Rock (Empire) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5crocrk10, m5crocrk, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Crocodile Rock (Empire) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5croclb, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Crocodile Rock Club (Empire) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5croclb, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Crocodile Rock Club (Empire) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5crsfir, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Crossfire (Empire) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5crsfir, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Crossfire (Empire) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5dmnf, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Diamonds Are Forever (Empire) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5dmnf10, m5dmnf, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Diamonds Are Forever (Empire) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5dmnf, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Diamonds Are Forever (Empire) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5dmnf10, m5dmnf, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Diamonds Are Forever (Empire) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5dmnfcl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Diamonds Are Forever Club (Empire) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5dmnfcl04, m5dmnfcl, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Diamonds Are Forever Club (Empire) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5dmnfcl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Diamonds Are Forever Club (Empire) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5dmnfcl04, m5dmnfcl, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Diamonds Are Forever Club (Empire) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5extrm, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Extreme (Empire) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5extrm ) +GAMEL( 199?, m5extrm, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Extreme (Empire) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5extrm ) -GAME( 199?, m5extrmm, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Extreme Madness (Empire) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5extrmm04a, m5extrmm, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Extreme Madness (Empire) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5extrmm04b, m5extrmm, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Extreme Madness (Empire) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5extrmm10, m5extrmm, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Extreme Madness (Empire) (MPU5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5extrmm, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Extreme Madness (Empire) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5extrmm04a, m5extrmm, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Extreme Madness (Empire) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5extrmm04b, m5extrmm, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Extreme Madness (Empire) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5extrmm10, m5extrmm, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Extreme Madness (Empire) (MPU5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5fatcat, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Fat Cat (Empire) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5fatcat, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Fat Cat (Empire) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5fishdl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Fish Full Of Dollars (Empire) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5fishdl10, m5fishdl, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Fish Full Of Dollars (Empire) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5fishdl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Fish Full Of Dollars (Empire) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5fishdl10, m5fishdl, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Fish Full Of Dollars (Empire) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5fishcl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Fish Full Of Dollars Club (Empire) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5fishcl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Fish Full Of Dollars Club (Empire) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5fmonty, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","The Full Monty (Empire) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5fmonty04a, m5fmonty, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","The Full Monty (Empire) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5fmonty04b, m5fmonty, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","The Full Monty (Empire) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5fmonty04c, m5fmonty, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","The Full Monty (Empire) (MPU5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5fmonty, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","The Full Monty (Empire) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5fmonty04a, m5fmonty, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","The Full Monty (Empire) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5fmonty04b, m5fmonty, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","The Full Monty (Empire) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5fmonty04c, m5fmonty, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","The Full Monty (Empire) (MPU5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5fmount, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Full Mountie (Empire) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5fmount, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Full Mountie (Empire) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5gophr, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Gopher Gold (Empire) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5gophr, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Gopher Gold (Empire) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5gophcl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Gopher Gold Club (Empire) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5gophcl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Gopher Gold Club (Empire) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5hisprt, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","High Spirits (Empire) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5hisprt ) +GAMEL( 199?, m5hisprt, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","High Spirits (Empire) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5hisprt ) -GAME( 199?, m5hocus, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Hocus Pocus (Empire) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5hocus10, m5hocus, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Hocus Pocus (Empire) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5hocus, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Hocus Pocus (Empire) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5hocus10, m5hocus, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Hocus Pocus (Empire) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5hocscl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Hocus Pocus Club (Empire) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5hocscl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Hocus Pocus Club (Empire) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5hotsht, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Hot Shots (Empire) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5hotsht07a, m5hotsht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Hot Shots (Empire) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5hotsht08, m5hotsht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Hot Shots (Empire) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5hotsht08a, m5hotsht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Hot Shots (Empire) (MPU5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5hotsht10, m5hotsht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Hot Shots (Empire) (MPU5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5hotsht10a, m5hotsht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Hot Shots (Empire) (MPU5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5hotsht, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Hot Shots (Empire) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5hotsht07a, m5hotsht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Hot Shots (Empire) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5hotsht08, m5hotsht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Hot Shots (Empire) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5hotsht08a, m5hotsht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Hot Shots (Empire) (MPU5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5hotsht10, m5hotsht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Hot Shots (Empire) (MPU5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5hotsht10a, m5hotsht, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Hot Shots (Empire) (MPU5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5hula, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Hula Moolah (Empire) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5hula10, m5hula, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Hula Moolah (Empire) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5hula, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Hula Moolah (Empire) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5hula10, m5hula, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Hula Moolah (Empire) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5hulacl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Hula Moolah Club (Empire) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5hulacl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Hula Moolah Club (Empire) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5jackbx, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Jack In The Box (Empire) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5jackbx ) -GAMEL( 199?, m5jackbx03, m5jackbx, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Jack In The Box (Empire) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5jackbx ) +GAMEL( 199?, m5jackbx, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Jack In The Box (Empire) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5jackbx ) +GAMEL( 199?, m5jackbx03, m5jackbx, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Jack In The Box (Empire) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5jackbx ) -GAME( 199?, m5jcy, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Juicy Fruits (Empire) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5jcy, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Juicy Fruits (Empire) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5jmpgem, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Jumping Gems (Empire) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5jmpgem01 ) -GAMEL( 199?, m5jmpgem01, m5jmpgem, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Jumping Gems (Empire) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5jmpgem01 ) -GAMEL( 199?, m5jmpgem03, m5jmpgem, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Jumping Gems (Empire) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5jmpgem01 ) +GAMEL( 199?, m5jmpgem, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Jumping Gems (Empire) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5jmpgem01 ) +GAMEL( 199?, m5jmpgem01, m5jmpgem, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Jumping Gems (Empire) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5jmpgem01 ) +GAMEL( 199?, m5jmpgem03, m5jmpgem, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Jumping Gems (Empire) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5jmpgem01 ) -GAME( 199?, m5jmpgmc, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Jumping Gems Club (Empire) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5jmpgmc, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Jumping Gems Club (Empire) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5kaleid, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Kaleidoscope Club (Empire) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5kaleid, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Kaleidoscope Club (Empire) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5kcclb, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","King Cobra Club (Empire) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5kcclb24, m5kcclb, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","King Cobra Club (Empire) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5kcclb, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","King Cobra Club (Empire) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5kcclb24, m5kcclb, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","King Cobra Club (Empire) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5kingqc, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Kings & Queens Club (Empire) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5kingqc06 ) -GAMEL( 199?, m5kingqc06, m5kingqc, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Kings & Queens Club (Empire) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5kingqc06 ) -GAMEL( 199?, m5kingqc07, m5kingqc, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Kings & Queens Club (Empire) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5kingqc06 ) -GAMEL( 199?, m5kingqc08, m5kingqc, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Kings & Queens Club (Empire) (MPU5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5kingqc06 ) +GAMEL( 199?, m5kingqc, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Kings & Queens Club (Empire) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5kingqc06 ) +GAMEL( 199?, m5kingqc06, m5kingqc, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Kings & Queens Club (Empire) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5kingqc06 ) +GAMEL( 199?, m5kingqc07, m5kingqc, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Kings & Queens Club (Empire) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5kingqc06 ) +GAMEL( 199?, m5kingqc08, m5kingqc, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Kings & Queens Club (Empire) (MPU5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5kingqc06 ) -GAMEL( 199?, m5korma, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Korma Chameleon (Empire) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5korma ) -GAMEL( 199?, m5korma12, m5korma, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Korma Chameleon (Empire) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5korma ) +GAMEL( 199?, m5korma, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Korma Chameleon (Empire) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5korma ) +GAMEL( 199?, m5korma12, m5korma, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Korma Chameleon (Empire) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5korma ) -GAME( 199?, m5kormcl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Korma Chameleon Club (Empire) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5kormcl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Korma Chameleon Club (Empire) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5monmst, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Money Monster (Empire) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5monmst ) -GAMEL( 199?, m5monmsta, m5monmst, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Money Monster (Empire) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5monmst ) +GAMEL( 199?, m5monmst, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Money Monster (Empire) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5monmst ) +GAMEL( 199?, m5monmsta, m5monmst, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Money Monster (Empire) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5monmst ) -GAME( 199?, m5ramrd, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Ram Raid (Empire) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5ramrd, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Ram Raid (Empire) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5ramrcl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Ram Raid Club (Empire) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5ramrcl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Ram Raid Club (Empire) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5ronr, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Reel Or No Reel (Empire) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5ronr05, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Reel Or No Reel (Empire) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5ronr07, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Reel Or No Reel (Empire) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5ronr, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Reel Or No Reel (Empire) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5ronr05, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Reel Or No Reel (Empire) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5ronr07, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Reel Or No Reel (Empire) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5resfrg, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Reservoir Frogs (Empire) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5resfrg ) +GAMEL( 199?, m5resfrg, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Reservoir Frogs (Empire) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5resfrg ) -GAMEL( 199?, m5rthh, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Return To The Haunted House (Empire) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5rthh ) +GAMEL( 199?, m5rthh, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Return To The Haunted House (Empire) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5rthh ) -GAMEL( 199?, m5rollx, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Roll X (Empire) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5rollx ) -GAMEL( 199?, m5rollx12, m5rollx, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Roll X (Empire) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5rollx ) +GAMEL( 199?, m5rollx, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Roll X (Empire) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5rollx ) +GAMEL( 199?, m5rollx12, m5rollx, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Roll X (Empire) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5rollx ) -GAMEL( 199?, m5skulcl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Skullduggery Club (Empire) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5skulcl20 ) -GAMEL( 199?, m5skulcl20, m5skulcl, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Skullduggery Club (Empire) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5skulcl20 ) -GAMEL( 199?, m5skulcl23, m5skulcl, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Skullduggery Club (Empire) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5skulcl20 ) +GAMEL( 199?, m5skulcl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Skullduggery Club (Empire) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5skulcl20 ) +GAMEL( 199?, m5skulcl20, m5skulcl, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Skullduggery Club (Empire) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5skulcl20 ) +GAMEL( 199?, m5skulcl23, m5skulcl, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Skullduggery Club (Empire) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5skulcl20 ) -GAME( 199?, m5tball, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Thunderball (Empire) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5tball, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Thunderball (Empire) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5tomb, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Tomb Raiders (Empire) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5tomb, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Tomb Raiders (Empire) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5trclb, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Tomb Raiders Club (Empire) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5trclb, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Tomb Raiders Club (Empire) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5ttop, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Treble Top (Empire) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5ttop04, m5ttop, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Treble Top (Empire) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5ttop10, m5ttop, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Treble Top (Empire) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5ttop, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Treble Top (Empire) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5ttop04, m5ttop, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Treble Top (Empire) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5ttop10, m5ttop, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Treble Top (Empire) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5ttopcl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Treble Top Club (Empire) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5ttopcl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Treble Top Club (Empire) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5tsar, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Tsar Wars (Empire) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5tsar, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Tsar Wars (Empire) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5vertgo, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Vertigo (Empire) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5vertgo ) +GAMEL( 199?, m5vertgo, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Vertigo (Empire) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5vertgo ) -GAME( 199?, m5vertcl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Vertigo Club (Empire) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5vertcl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Vertigo Club (Empire) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5wthing, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Wild Thing Club (Empire) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5wthing20 ) -GAMEL( 199?, m5wthing11, m5wthing, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Wild Thing Club (Empire) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5wthing20 ) -GAMEL( 199?, m5wthing20, m5wthing, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Wild Thing Club (Empire) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5wthing20 ) +GAMEL( 199?, m5wthing, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Wild Thing Club (Empire) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5wthing20 ) +GAMEL( 199?, m5wthing11, m5wthing, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Wild Thing Club (Empire) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5wthing20 ) +GAMEL( 199?, m5wthing20, m5wthing, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","Wild Thing Club (Empire) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5wthing20 ) -GAMEL( 199?, m5xfact, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","X Factor (Empire) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5xfact11 ) -GAMEL( 199?, m5xfact02, m5xfact, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","X Factor (Empire) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5xfact11 ) -GAMEL( 199?, m5xfact04, m5xfact, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","X Factor (Empire) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5xfact11 ) -GAMEL( 199?, m5xfact11, m5xfact, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","X Factor (Empire) (MPU5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5xfact11 ) +GAMEL( 199?, m5xfact, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","X Factor (Empire) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5xfact11 ) +GAMEL( 199?, m5xfact02, m5xfact, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","X Factor (Empire) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5xfact11 ) +GAMEL( 199?, m5xfact04, m5xfact, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","X Factor (Empire) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5xfact11 ) +GAMEL( 199?, m5xfact11, m5xfact, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Empire","X Factor (Empire) (MPU5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5xfact11 ) /* Bwb */ -GAME( 199?, m5carwsh, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Car Wash (Bwb) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5carwsh10, m5carwsh, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Car Wash (Bwb) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5carwsh, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Car Wash (Bwb) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5carwsh10, m5carwsh, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Car Wash (Bwb) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5cshstx, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Cash Stax (Bwb) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5cshstx ) +GAMEL( 199?, m5cshstx, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Cash Stax (Bwb) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5cshstx ) -GAMEL( 199?, m5circus, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Circus (Bwb) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5circus0a ) -GAMEL( 199?, m5circus0a, m5circus, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Circus (Bwb) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5circus0a ) -GAMEL( 199?, m5circus0b, m5circus, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Circus (Bwb) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5circus0a ) -GAMEL( 199?, m5circus20, m5circus, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Circus (Bwb) (MPU5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5circus0a ) -GAMEL( 199?, m5circus21, m5circus, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Circus (Bwb) (MPU5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5circus0a ) -GAMEL( 199?, m5circus11, m5circus, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Circus (Bwb) (MPU5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5circus0a ) +GAMEL( 199?, m5circus, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Circus (Bwb) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5circus0a ) +GAMEL( 199?, m5circus0a, m5circus, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Circus (Bwb) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5circus0a ) +GAMEL( 199?, m5circus0b, m5circus, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Circus (Bwb) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5circus0a ) +GAMEL( 199?, m5circus20, m5circus, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Circus (Bwb) (MPU5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5circus0a ) +GAMEL( 199?, m5circus21, m5circus, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Circus (Bwb) (MPU5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5circus0a ) +GAMEL( 199?, m5circus11, m5circus, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Circus (Bwb) (MPU5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5circus0a ) -GAMEL( 199?, m5circlb, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Circus Club (Bwb) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5circlb33 ) -GAMEL( 199?, m5circlb00, m5circlb, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Circus Club (Bwb) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5circlb33 ) -GAMEL( 199?, m5circlb15, m5circlb, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Circus Club (Bwb) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5circlb33 ) -GAMEL( 199?, m5circlb33, m5circlb, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Circus Club (Bwb) (MPU5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5circlb33 ) +GAMEL( 199?, m5circlb, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Circus Club (Bwb) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5circlb33 ) +GAMEL( 199?, m5circlb00, m5circlb, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Circus Club (Bwb) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5circlb33 ) +GAMEL( 199?, m5circlb15, m5circlb, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Circus Club (Bwb) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5circlb33 ) +GAMEL( 199?, m5circlb33, m5circlb, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Circus Club (Bwb) (MPU5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5circlb33 ) -GAMEL( 199?, m5clown, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Clown In Around (Bwb) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5clown11 ) -GAMEL( 199?, m5clown11, m5clown, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Clown In Around (Bwb) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5clown11 ) -GAMEL( 199?, m5clown13, m5clown, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Clown In Around (Bwb) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5clown11 ) +GAMEL( 199?, m5clown, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Clown In Around (Bwb) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5clown11 ) +GAMEL( 199?, m5clown11, m5clown, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Clown In Around (Bwb) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5clown11 ) +GAMEL( 199?, m5clown13, m5clown, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Clown In Around (Bwb) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5clown11 ) -GAME( 199?, m5clubsn, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Club Sandwich (Bwb) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5clubsn11, m5clubsn, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Club Sandwich (Bwb) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5clubsn14, m5clubsn, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Club Sandwich (Bwb) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5clubsn16, m5clubsn, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Club Sandwich (Bwb) (MPU5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5clubsn, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Club Sandwich (Bwb) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5clubsn11, m5clubsn, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Club Sandwich (Bwb) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5clubsn14, m5clubsn, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Club Sandwich (Bwb) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5clubsn16, m5clubsn, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Club Sandwich (Bwb) (MPU5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5dick, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Dick Turnip (Bwb) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5dick10 ) -GAMEL( 199?, m5dick10, m5dick, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Dick Turnip (Bwb) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5dick10 ) +GAMEL( 199?, m5dick, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Dick Turnip (Bwb) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5dick10 ) +GAMEL( 199?, m5dick10, m5dick, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Dick Turnip (Bwb) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5dick10 ) -GAME( 199?, m5donna, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Donna Kebab (Bwb) (MPU5, set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5donnad, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Donna Kebab (Bwb) (MPU5, set 1, Datapak)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5donnaa, m5donna, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Donna Kebab (Bwb) (MPU5, set 3)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5donna, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Donna Kebab (Bwb) (MPU5, set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5donnad, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Donna Kebab (Bwb) (MPU5, set 1, Datapak)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5donnaa, m5donna, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Donna Kebab (Bwb) (MPU5, set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5dblqts, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Double Or Quits (Bwb) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5dblqtsb ) -GAMEL( 199?, m5dblqtsa, m5dblqts, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Double Or Quits (Bwb) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5dblqtsb ) -GAMEL( 199?, m5dblqtsb, m5dblqts, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Double Or Quits (Bwb) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5dblqtsb ) -GAMEL( 199?, m5dblqts1b, m5dblqts, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Double Or Quits (Bwb) (MPU5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5dblqtsb ) +GAMEL( 199?, m5dblqts, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Double Or Quits (Bwb) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5dblqtsb ) +GAMEL( 199?, m5dblqtsa, m5dblqts, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Double Or Quits (Bwb) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5dblqtsb ) +GAMEL( 199?, m5dblqtsb, m5dblqts, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Double Or Quits (Bwb) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5dblqtsb ) +GAMEL( 199?, m5dblqts1b, m5dblqts, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Double Or Quits (Bwb) (MPU5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5dblqtsb ) -GAME( 199?, m5eggold, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Egyptian Gold (Bwb) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5eggold, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Egyptian Gold (Bwb) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m55050, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Fifty Fifty (Bwb) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m55050, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Fifty Fifty (Bwb) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5gpclub, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Get Plastered Club (Bwb) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5gpclub, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Get Plastered Club (Bwb) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5goape, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Going Ape (Bwb) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5goape, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Going Ape (Bwb) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5hgl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Happy Go Lucky (Bwb) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5hgl14 ) -GAMEL( 199?, m5hgl16, m5hgl, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Happy Go Lucky (Bwb) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5hgl14 ) -GAMEL( 199?, m5hgl14, m5hgl, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Happy Go Lucky (Bwb) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5hgl14 ) +GAMEL( 199?, m5hgl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Happy Go Lucky (Bwb) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5hgl14 ) +GAMEL( 199?, m5hgl16, m5hgl, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Happy Go Lucky (Bwb) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5hgl14 ) +GAMEL( 199?, m5hgl14, m5hgl, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Happy Go Lucky (Bwb) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5hgl14 ) -GAME( 199?, m5jokpak, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Joker In The Pack (Bwb) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5jokpak, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Joker In The Pack (Bwb) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5lvwire, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Live Wire (Bwb) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5lvwirea, m5lvwire, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Live Wire (Bwb) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5lvwire, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Live Wire (Bwb) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5lvwirea, m5lvwire, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Live Wire (Bwb) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5carpet, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Magic Carpet (Bwb) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5carpet12, m5carpet, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Magic Carpet (Bwb) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5carpet, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Magic Carpet (Bwb) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5carpet12, m5carpet, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Magic Carpet (Bwb) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5minesw, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Minesweeper (Bwb) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5minesw, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Minesweeper (Bwb) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5psycho, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Psycho Cash Beast (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5psycho ) -GAMEL( 199?, m5psycho06, m5psycho, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Psycho Cash Beast (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5psycho ) -GAMEL( 199?, m5psychoa, m5psycho, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Psycho Cash Beast (Bwb) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5psycho ) -GAMEL( 199?, m5psychoa21, m5psycho, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Psycho Cash Beast (Bwb) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5psycho ) +GAMEL( 199?, m5psycho, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Psycho Cash Beast (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5psycho ) +GAMEL( 199?, m5psycho06, m5psycho, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Psycho Cash Beast (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5psycho ) +GAMEL( 199?, m5psychoa, m5psycho, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Psycho Cash Beast (Bwb) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5psycho ) +GAMEL( 199?, m5psychoa21, m5psycho, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Psycho Cash Beast (Bwb) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5psycho ) -GAMEL( 199?, m5psyccl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Psycho Cash Beast Club (Barcrest) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5psyccl01 ) -GAMEL( 199?, m5psyccl01, m5psyccl, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Psycho Cash Beast Club (Barcrest) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5psyccl01 ) -GAMEL( 199?, m5psyccla, m5psyccl, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Psycho Cash Beast Club (Bwb) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5psyccl01 ) -GAMEL( 199?, m5psyccla24, m5psyccl, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Psycho Cash Beast Club (Bwb) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5psyccl01 ) -GAMEL( 199?, m5psyccla02, m5psyccl, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Psycho Cash Beast Club (Bwb) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5psyccl01 ) +GAMEL( 199?, m5psyccl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Psycho Cash Beast Club (Barcrest) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5psyccl01 ) +GAMEL( 199?, m5psyccl01, m5psyccl, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Psycho Cash Beast Club (Barcrest) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5psyccl01 ) +GAMEL( 199?, m5psyccla, m5psyccl, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Psycho Cash Beast Club (Bwb) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5psyccl01 ) +GAMEL( 199?, m5psyccla24, m5psyccl, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Psycho Cash Beast Club (Bwb) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5psyccl01 ) +GAMEL( 199?, m5psyccla02, m5psyccl, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Psycho Cash Beast Club (Bwb) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5psyccl01 ) -GAMEL( 199?, m5rwb, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Red White & Blue (Barcrest) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5rwb ) -GAMEL( 199?, m5rwbbwb, m5rwb, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Red White & Blue (Bwb) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5rwb ) -GAMEL( 199?, m5rwbbwb24, m5rwb, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Red White & Blue (Bwb) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5rwb ) -GAMEL( 199?, m5rwbbwb25, m5rwb, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Red White & Blue (Bwb) (MPU5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5rwb ) -GAMEL( 199?, m5rwbbwb15, m5rwb, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Red White & Blue (Bwb) (MPU5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5rwb ) +GAMEL( 199?, m5rwb, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Barcrest","Red White & Blue (Barcrest) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5rwb ) +GAMEL( 199?, m5rwbbwb, m5rwb, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Red White & Blue (Bwb) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5rwb ) +GAMEL( 199?, m5rwbbwb24, m5rwb, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Red White & Blue (Bwb) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5rwb ) +GAMEL( 199?, m5rwbbwb25, m5rwb, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Red White & Blue (Bwb) (MPU5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5rwb ) +GAMEL( 199?, m5rwbbwb15, m5rwb, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Red White & Blue (Bwb) (MPU5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5rwb ) -GAME( 199?, m5reelwn, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Reel A Win (Bwb) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5reelwn24, m5reelwn, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Reel A Win (Bwb) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5reelwn, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Reel A Win (Bwb) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5reelwn24, m5reelwn, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Reel A Win (Bwb) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5reelth, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Reel Thunder (Bwb) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5reelth, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Reel Thunder (Bwb) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5rlup, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Roll Up (Bwb) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5rlup, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Roll Up (Bwb) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5round, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Round & Round (Bwb) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5round, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Round & Round (Bwb) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5sec7, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Secret 7s (Bwb) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5sec7a, m5sec7, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Secret 7s (Bwb) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5sec7, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Secret 7s (Bwb) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5sec7a, m5sec7, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Secret 7s (Bwb) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5sil7, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Silver 7s (Bwb) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5sil7a, m5sil7, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Silver 7s (Bwb) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5sil7, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Silver 7s (Bwb) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5sil7a, m5sil7, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Silver 7s (Bwb) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, m5smobik, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Smokey Bikin (Bwb) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5smobik12, m5smobik, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Smokey Bikin (Bwb) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5smobik, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Smokey Bikin (Bwb) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5smobik12, m5smobik, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Smokey Bikin (Bwb) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAMEL( 199?, m5tictac, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Tic Tac Tut (Vivid) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5tictacbwb ) -GAMEL( 199?, m5tictacbwb, m5tictac, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Tic Tac Tut (Bwb) (MPU5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5tictacbwb ) -GAMEL( 199?, m5tictacbwb16, m5tictac, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Tic Tac Tut (Bwb) (MPU5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5tictacbwb ) +GAMEL( 199?, m5tictac, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Vivid","Tic Tac Tut (Vivid) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5tictacbwb ) +GAMEL( 199?, m5tictacbwb, m5tictac, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Tic Tac Tut (Bwb) (MPU5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5tictacbwb ) +GAMEL( 199?, m5tictacbwb16, m5tictac, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Tic Tac Tut (Bwb) (MPU5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5tictacbwb ) -GAME( 199?, m5xena, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Xena Warrior Princess (Bwb) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5xena, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Bwb","Xena Warrior Princess (Bwb) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) /* Lowen */ -GAME( 199?, m5all41low, m5all41, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Lowen","All 4 One (Lowen) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5dblfun, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Lowen","Double Fun (Lowen) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5jakjok, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Lowen","Jackpot Jokers (Lowen) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5roundl, m5round, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Lowen","Round & Round (Lowen) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, m5scfinl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Lowen","Super Cup Final (Lowen) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, m5all41low, m5all41, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Lowen","All 4 One (Lowen) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5dblfun, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Lowen","Double Fun (Lowen) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5jakjok, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Lowen","Jackpot Jokers (Lowen) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5roundl, m5round, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Lowen","Round & Round (Lowen) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, m5scfinl, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Lowen","Super Cup Final (Lowen) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) /* Others / Uncertain */ -GAMEL( 199?, m5ppussy, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Mdm","Pink Pussy (Mdm) (MPU5)", MACHINE_IS_SKELETON_MECHANICAL, layout_m5ppussy ) +GAMEL( 199?, m5ppussy, 0, mpu5, mpu5, mpu5_state, empty_init, ROT0, "Mdm","Pink Pussy (Mdm) (MPU5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_m5ppussy ) diff --git a/src/mame/benesse/challenge_gear.cpp b/src/mame/benesse/challenge_gear.cpp index 920c12fdefcc6..294d0a355ecd8 100644 --- a/src/mame/benesse/challenge_gear.cpp +++ b/src/mame/benesse/challenge_gear.cpp @@ -151,4 +151,4 @@ ROM_END } // Anonymous namespace -CONS( 2002, chalgear, 0, 0, challenge_gear, challenge_gear, challenge_gear_state, empty_init, "Benesse Corporation", "Challenge Gear (Japan)", MACHINE_IS_SKELETON ) +CONS( 2002, chalgear, 0, 0, challenge_gear, challenge_gear, challenge_gear_state, empty_init, "Benesse Corporation", "Challenge Gear (Japan)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/benesse/pockchal.cpp b/src/mame/benesse/pockchal.cpp index 46ffdc1fc8c6b..579d77d06026e 100644 --- a/src/mame/benesse/pockchal.cpp +++ b/src/mame/benesse/pockchal.cpp @@ -138,4 +138,4 @@ ROM_END // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -CONS( 199?, pockchal, 0, 0, pockchalv1, pockchalv1, pockchalv1_state, empty_init, "Benesse Corporation", "Pocket Challenge W (Japan)", MACHINE_IS_SKELETON ) +CONS( 199?, pockchal, 0, 0, pockchalv1, pockchalv1, pockchalv1_state, empty_init, "Benesse Corporation", "Pocket Challenge W (Japan)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/bfm/bfm_ad5sw.cpp b/src/mame/bfm/bfm_ad5sw.cpp index 829e1f438cb1f..3fadc50418048 100644 --- a/src/mame/bfm/bfm_ad5sw.cpp +++ b/src/mame/bfm/bfm_ad5sw.cpp @@ -2004,357 +2004,357 @@ ROM_END // PR3255 CASINO COPS TRIPLE CASINO COPS ARCADE PR3255 COPS & ROBBERS SOUNDS11 -GAME( 200?, ad5crcpt, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Cops 'n' Robbers Community Party (Bellfruit) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5crcpta, ad5crcpt, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Cops 'n' Robbers Community Party (Bellfruit) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5crcpt, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Cops 'n' Robbers Community Party (Bellfruit) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5crcpta, ad5crcpt, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Cops 'n' Robbers Community Party (Bellfruit) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PROJECT NUMBER PR2334 BULLSEYE_PFP ITSBULLSEYE SOUNDS BULLSEYE_PFP S.SITE -GAME( 200?, ad5bpfpm, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Bullseye Pounds For Points (Mazooma) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5bpfpma, ad5bpfpm, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Bullseye Pounds For Points (Mazooma) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5bpfpmb, ad5bpfpm, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Bullseye Pounds For Points (Mazooma) (Adder 5) (set 3)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5bpfpm, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Bullseye Pounds For Points (Mazooma) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5bpfpma, ad5bpfpm, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Bullseye Pounds For Points (Mazooma) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5bpfpmb, ad5bpfpm, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Bullseye Pounds For Points (Mazooma) (Adder 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PROJECT NUMBER PR2334 BULLSEYE_PFP BULLSEYEPFP SOUNDS BULLSEYE_PFP S.SITE -GAME( 200?, ad5bpfpmc, ad5bpfpm, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Bullseye Pounds For Points (Mazooma) (Adder 5) (set 4)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5bpfpmd, ad5bpfpm, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Bullseye Pounds For Points (Mazooma) (Adder 5) (set 5)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5bpfpmc, ad5bpfpm, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Bullseye Pounds For Points (Mazooma) (Adder 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5bpfpmd, ad5bpfpm, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Bullseye Pounds For Points (Mazooma) (Adder 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR1601 AWP CRAZY MONEY CRAZY MONEY S.SITE PR1601 CRAZY MONEY SOUNDS11 -GAME( 200?, ad5cmons, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Crazy Money (Bellfruit) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5cmonsa, ad5cmons, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Crazy Money (Bellfruit) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5cmons, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Crazy Money (Bellfruit) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5cmonsa, ad5cmons, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Crazy Money (Bellfruit) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR3314 AWP DEAL OR NO DEAL PLATINUM SCORP5 PR3314 DOND PLATINUM SOUNDS11 -GAME( 200?, ad5dndpl, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal Platinum (Bellfruit) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5dndpla, ad5dndpl, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal Platinum (Bellfruit) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5dndplb, ad5dndpl, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal Platinum (Bellfruit) (Adder 5) (set 3)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5dndplc, ad5dndpl, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal Platinum (Bellfruit) (Adder 5) (set 4)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5dndpl, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal Platinum (Bellfruit) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5dndpla, ad5dndpl, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal Platinum (Bellfruit) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5dndplb, ad5dndpl, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal Platinum (Bellfruit) (Adder 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5dndplc, ad5dndpl, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal Platinum (Bellfruit) (Adder 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PROJECT NUMBER PR3401 AWP HI ROLLER SCORP5 PR3401 HI ROLLER SOUNDS11 HI ROLLER S.SITE -GAME( 200?, ad5hir, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Hi Roller (Bellfruit) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5hira, ad5hir, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Hi Roller (Bellfruit) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5hirb, ad5hir, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Hi Roller (Bellfruit) (Adder 5) (set 3)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5hirc, ad5hir, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Hi Roller (Bellfruit) (Adder 5) (set 4)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5hir, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Hi Roller (Bellfruit) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5hira, ad5hir, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Hi Roller (Bellfruit) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5hirb, ad5hir, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Hi Roller (Bellfruit) (Adder 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5hirc, ad5hir, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Hi Roller (Bellfruit) (Adder 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PROJECT NUMBER PR1755 HI ROLLER PR1755 HI ROLLER SOUNDS12 -GAME( 200?, ad5hircl, ad5hir, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Hi Roller Club (Bellfruit) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5hircla, ad5hir, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Hi Roller Club (Bellfruit) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5hirclb, ad5hir, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Hi Roller Club (Bellfruit) (Adder 5) (set 3)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5hircl, ad5hir, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Hi Roller Club (Bellfruit) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5hircla, ad5hir, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Hi Roller Club (Bellfruit) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5hirclb, ad5hir, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Hi Roller Club (Bellfruit) (Adder 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PROJECT NUMBER PR1965 CASINO DOND TRIPLE CASINO DOND ARCADE PR1965 CASINO DOND R SOUNDS11 -GAME( 200?, ad5dnd, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5dnda, ad5dnd, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5dndb, ad5dnd, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Adder 5) (set 3)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5dndc, ad5dnd, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Adder 5) (set 4)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5dndd, ad5dnd, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Adder 5) (set 5)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5dnde, ad5dnd, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Adder 5) (set 6)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5dndf, ad5dnd, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Adder 5) (set 7)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5dndg, ad5dnd, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Adder 5) (set 8)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5dndh, ad5dnd, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Adder 5) (set 9)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5dndi, ad5dnd, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Adder 5) (set 10)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5dndj, ad5dnd, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Adder 5) (set 11)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5dndk, ad5dnd, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Adder 5) (set 12)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5dndl, ad5dnd, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Adder 5) (set 13)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5dnd, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5dnda, ad5dnd, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5dndb, ad5dnd, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Adder 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5dndc, ad5dnd, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Adder 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5dndd, ad5dnd, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Adder 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5dnde, ad5dnd, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Adder 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5dndf, ad5dnd, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Adder 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5dndg, ad5dnd, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Adder 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5dndh, ad5dnd, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Adder 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5dndi, ad5dnd, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Adder 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5dndj, ad5dnd, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Adder 5) (set 11)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5dndk, ad5dnd, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Adder 5) (set 12)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5dndl, ad5dnd, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Adder 5) (set 13)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PROJECT NUMBER PR1945 VIDEO CASINO DOND VID CASINO DOND ARCADE PR1945 CASINO D O N D SOUNDS12 -GAME( 200?, ad5dndm, ad5dnd, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Adder 5) (set 14)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5dndn, ad5dnd, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Adder 5) (set 15)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5dndo, ad5dnd, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Adder 5) (set 16)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5dndp, ad5dnd, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Adder 5) (set 17)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5dndq, ad5dnd, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Adder 5) (set 18)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5dndr, ad5dnd, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Adder 5) (set 19)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5dndm, ad5dnd, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Adder 5) (set 14)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5dndn, ad5dnd, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Adder 5) (set 15)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5dndo, ad5dnd, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Adder 5) (set 16)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5dndp, ad5dnd, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Adder 5) (set 17)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5dndq, ad5dnd, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Adder 5) (set 18)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5dndr, ad5dnd, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Adder 5) (set 19)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PROJECT NUMBER PR1945 DEAL OR NO DEAL - BFG*DEAL ( PR1945 CASINO D O N D SOUNDS11 ) -GAME( 200?, ad5dndu, ad5dnd, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Adder 5) (set 22)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5dndv, ad5dnd, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Adder 5) (set 23)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5dndu, ad5dnd, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Adder 5) (set 22)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5dndv, ad5dnd, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Adder 5) (set 23)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PROJECT NUMBER PR3078 DEAL OR NO DEAL - BFG*BDTS ( PR3078 DOND TWIN SOUNDS11 ) (twin screen) -GAME( 200?, ad5dndcl, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal Club (Bellfruit) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5dndcla, ad5dndcl, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal Club (Bellfruit) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5dndclb, ad5dndcl, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal Club (Bellfruit) (Adder 5) (set 3)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5dndclc, ad5dndcl, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal Club (Bellfruit) (Adder 5) (set 4)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5dndcld, ad5dndcl, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal Club (Bellfruit) (Adder 5) (set 5)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5dndcle, ad5dndcl, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal Club (Bellfruit) (Adder 5) (set 6)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5dndclf, ad5dndcl, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal Club (Bellfruit) (Adder 5) (set 20)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5dndclg, ad5dndcl, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal Club (Bellfruit) (Adder 5) (set 21)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5dndcl, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal Club (Bellfruit) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5dndcla, ad5dndcl, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal Club (Bellfruit) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5dndclb, ad5dndcl, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal Club (Bellfruit) (Adder 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5dndclc, ad5dndcl, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal Club (Bellfruit) (Adder 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5dndcld, ad5dndcl, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal Club (Bellfruit) (Adder 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5dndcle, ad5dndcl, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal Club (Bellfruit) (Adder 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5dndclf, ad5dndcl, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal Club (Bellfruit) (Adder 5) (set 20)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5dndclg, ad5dndcl, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal Club (Bellfruit) (Adder 5) (set 21)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR3402 AWP DOND DOUBLE DELUXE S5 PR3402 DOUBLE DELUXE SOUNDS11 -GAME( 200?, ad5dnddd, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal Double Deal or No Deal (Bellfruit) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5dnddda, ad5dnddd, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal Double Deal or No Deal (Bellfruit) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5dnddd, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal Double Deal or No Deal (Bellfruit) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5dnddda, ad5dnddd, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal Double Deal or No Deal (Bellfruit) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR3526 DEAL OR NO DEAL THE PERFECT GAME - BFGNVVPG ( R3526 DOND PERFG CLUB SOUNDS12 ) (twin screen) -GAME( 200?, ad5dndpg, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5dndpga, ad5dndpg, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5dndpgb, ad5dndpg, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Adder 5) (set 3)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5dndpgc, ad5dndpg, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Adder 5) (set 4)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5dndpg, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5dndpga, ad5dndpg, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5dndpgb, ad5dndpg, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Adder 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5dndpgc, ad5dndpg, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Adder 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR3206 AWP COPS N ROBBERS PR3206 COPS N ROBBERS SOUNDS11 -GAME( 200?, ad5copsr, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Cops 'n' Robbers (PR3206) (Bellfruit) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5copsra, ad5copsr, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Cops 'n' Robbers (PR3206) (Bellfruit) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5copsrb, ad5copsr, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Cops 'n' Robbers (PR3206) (Bellfruit) (Adder 5) (set 3)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5copsrd, ad5copsr, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Cops 'n' Robbers (PR3206) (Bellfruit) (Adder 5) (set 4)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5copsre, ad5copsr, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Cops 'n' Robbers (PR3206) (Bellfruit) (Adder 5) (set 5)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5copsrf, ad5copsr, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Cops 'n' Robbers (PR3206) (Bellfruit) (Adder 5) (set 6)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5copsrk, ad5copsr, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Cops 'n' Robbers (PR3206) (Bellfruit) (Adder 5) (set 7)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5copsrl, ad5copsr, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Cops 'n' Robbers (PR3206) (Bellfruit) (Adder 5) (set 8)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5copsrm, ad5copsr, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Cops 'n' Robbers (PR3206) (Bellfruit) (Adder 5) (set 9)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5copsro, ad5copsr, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Cops 'n' Robbers (PR3206) (Bellfruit) (Adder 5) (set 10)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5copsrp, ad5copsr, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Cops 'n' Robbers (PR3206) (Bellfruit) (Adder 5) (set 11)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5copsrq, ad5copsr, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Cops 'n' Robbers (PR3206) (Bellfruit) (Adder 5) (set 12)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5copsrv, ad5copsr, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Cops 'n' Robbers (PR3206) (Bellfruit) (Adder 5) (set 13)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5copsrw, ad5copsr, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Cops 'n' Robbers (PR3206) (Bellfruit) (Adder 5) (set 14)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5copsr, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Cops 'n' Robbers (PR3206) (Bellfruit) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5copsra, ad5copsr, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Cops 'n' Robbers (PR3206) (Bellfruit) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5copsrb, ad5copsr, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Cops 'n' Robbers (PR3206) (Bellfruit) (Adder 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5copsrd, ad5copsr, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Cops 'n' Robbers (PR3206) (Bellfruit) (Adder 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5copsre, ad5copsr, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Cops 'n' Robbers (PR3206) (Bellfruit) (Adder 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5copsrf, ad5copsr, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Cops 'n' Robbers (PR3206) (Bellfruit) (Adder 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5copsrk, ad5copsr, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Cops 'n' Robbers (PR3206) (Bellfruit) (Adder 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5copsrl, ad5copsr, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Cops 'n' Robbers (PR3206) (Bellfruit) (Adder 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5copsrm, ad5copsr, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Cops 'n' Robbers (PR3206) (Bellfruit) (Adder 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5copsro, ad5copsr, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Cops 'n' Robbers (PR3206) (Bellfruit) (Adder 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5copsrp, ad5copsr, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Cops 'n' Robbers (PR3206) (Bellfruit) (Adder 5) (set 11)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5copsrq, ad5copsr, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Cops 'n' Robbers (PR3206) (Bellfruit) (Adder 5) (set 12)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5copsrv, ad5copsr, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Cops 'n' Robbers (PR3206) (Bellfruit) (Adder 5) (set 13)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5copsrw, ad5copsr, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Cops 'n' Robbers (PR3206) (Bellfruit) (Adder 5) (set 14)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR1965 CASINO COPS TRIPLE CASINO COPS ARCADE PR3255 COPS & ROBBERS SOUNDS11 -GAME( 200?, ad5copsrc, ad5copsr, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Cops 'n' Robbers (PR1965) (Bellfruit) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5copsrg, ad5copsr, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Cops 'n' Robbers (PR1965) (Bellfruit) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5copsrn, ad5copsr, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Cops 'n' Robbers (PR1965) (Bellfruit) (Adder 5) (set 3)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5copsrr, ad5copsr, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Cops 'n' Robbers (PR1965) (Bellfruit) (Adder 5) (set 4)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5copsrx, ad5copsr, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Cops 'n' Robbers (PR1965) (Bellfruit) (Adder 5) (set 5)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5copsry, ad5copsr, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Cops 'n' Robbers (PR1965) (Bellfruit) (Adder 5) (set 6)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5copsrc, ad5copsr, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Cops 'n' Robbers (PR1965) (Bellfruit) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5copsrg, ad5copsr, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Cops 'n' Robbers (PR1965) (Bellfruit) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5copsrn, ad5copsr, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Cops 'n' Robbers (PR1965) (Bellfruit) (Adder 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5copsrr, ad5copsr, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Cops 'n' Robbers (PR1965) (Bellfruit) (Adder 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5copsrx, ad5copsr, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Cops 'n' Robbers (PR1965) (Bellfruit) (Adder 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5copsry, ad5copsr, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Cops 'n' Robbers (PR1965) (Bellfruit) (Adder 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR2476 COPSNROBB3 COPNROB SOUNDS COPSNROBB3 S.SITE ` MAZNSCBT -GAME( 200?, ad5crsc, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2476) (Mazooma) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5crsca, ad5crsc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2476) (Mazooma) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5crscb, ad5crsc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2476) (Mazooma) (Adder 5) (set 3)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5crscc, ad5crsc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2476) (Mazooma) (Adder 5) (set 4)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5copsrj, ad5crsc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2476) (Mazooma) (Adder 5) (set 5)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5copsru, ad5crsc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2476) (Mazooma) (Adder 5) (set 6)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5copsr0, ad5crsc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2476) (Mazooma) (Adder 5) (set 7)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5copsr2, ad5crsc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2476) (Mazooma) (Adder 5) (set 8)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5crsc, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2476) (Mazooma) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5crsca, ad5crsc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2476) (Mazooma) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5crscb, ad5crsc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2476) (Mazooma) (Adder 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5crscc, ad5crsc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2476) (Mazooma) (Adder 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5copsrj, ad5crsc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2476) (Mazooma) (Adder 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5copsru, ad5crsc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2476) (Mazooma) (Adder 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5copsr0, ad5crsc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2476) (Mazooma) (Adder 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5copsr2, ad5crsc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2476) (Mazooma) (Adder 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR2495 COPSNROB COPNROB SOUNDS COPSNROB S.SITE ` MAZNSCBF -GAME( 200?, ad5copsrh, ad5crsc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2495) (Mazooma) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5copsri, ad5crsc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2495) (Mazooma) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5copsrs, ad5crsc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2495) (Mazooma) (Adder 5) (set 3)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5copsrt, ad5crsc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2495) (Mazooma) (Adder 5) (set 4)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5copsr4, ad5crsc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2495) (Mazooma) (Adder 5) (set 5)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5copsr6, ad5crsc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2495) (Mazooma) (Adder 5) (set 6)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5crscd, ad5crsc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2495) (Mazooma) (Adder 5) (set 7)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5crsce, ad5crsc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2495) (Mazooma) (Adder 5) (set 8)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5crscf, ad5crsc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2495) (Mazooma) (Adder 5) (set 9)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5crscg, ad5crsc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2495) (Mazooma) (Adder 5) (set 10)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5copsrh, ad5crsc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2495) (Mazooma) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5copsri, ad5crsc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2495) (Mazooma) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5copsrs, ad5crsc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2495) (Mazooma) (Adder 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5copsrt, ad5crsc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2495) (Mazooma) (Adder 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5copsr4, ad5crsc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2495) (Mazooma) (Adder 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5copsr6, ad5crsc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2495) (Mazooma) (Adder 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5crscd, ad5crsc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2495) (Mazooma) (Adder 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5crsce, ad5crsc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2495) (Mazooma) (Adder 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5crscf, ad5crsc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2495) (Mazooma) (Adder 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5crscg, ad5crsc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2495) (Mazooma) (Adder 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR2628 COPSNROB COPNROB SOUNDS COPSNROB S.SITE ` MAZ*CRBF -GAME( 200?, ad5copsr3, ad5crsc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2628) (Mazooma) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5copsr5, ad5crsc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2628) (Mazooma) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5crsch, ad5crsc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2628) (Mazooma) (Adder 5) (set 3)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5copsr7, ad5crsc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2628) (Mazooma) (Adder 5) (set 4)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5copsr3, ad5crsc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2628) (Mazooma) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5copsr5, ad5crsc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2628) (Mazooma) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5crsch, ad5crsc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2628) (Mazooma) (Adder 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5copsr7, ad5crsc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2628) (Mazooma) (Adder 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR2497 COPSNROB COPNROB CD SOUNDS COPSNROB S.SITE ` MAZ*COPV -GAME( 200?, ad5copsrz, ad5crsc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2497) (Mazooma) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5copsr1, ad5crsc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2497) (Mazooma) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5copsrz, ad5crsc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2497) (Mazooma) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5copsr1, ad5crsc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Cops 'n' Robbers (PR2497) (Mazooma) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR3217 AWP GOLD MINE PR3217 GOLD MINE SOUNDS11 GOLD MINE S.SITE -GAME( 200?, ad5gldmn, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Gold Mine (Bellfruit) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5gldmna, ad5gldmn, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Gold Mine (Bellfruit) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5gldmnb, ad5gldmn, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Gold Mine (Bellfruit) (Adder 5) (set 3)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5gldmnc, ad5gldmn, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Gold Mine (Bellfruit) (Adder 5) (set 4)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5gldmnd, ad5gldmn, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Gold Mine (Bellfruit) (Adder 5) (set 5)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5gldmne, ad5gldmn, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Gold Mine (Bellfruit) (Adder 5) (set 6)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5gldmnf, ad5gldmn, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Gold Mine (Bellfruit) (Adder 5) (set 7)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5gldmng, ad5gldmn, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Gold Mine (Bellfruit) (Adder 5) (set 8)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5gldmnh, ad5gldmn, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Gold Mine (Bellfruit) (Adder 5) (set 9)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5gldmni, ad5gldmn, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Gold Mine (Bellfruit) (Adder 5) (set 10)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5gldmnj, ad5gldmn, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Gold Mine (Bellfruit) (Adder 5) (set 11)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5gldmnk, ad5gldmn, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Gold Mine (Bellfruit) (Adder 5) (set 12)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5gldmn, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Gold Mine (Bellfruit) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5gldmna, ad5gldmn, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Gold Mine (Bellfruit) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5gldmnb, ad5gldmn, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Gold Mine (Bellfruit) (Adder 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5gldmnc, ad5gldmn, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Gold Mine (Bellfruit) (Adder 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5gldmnd, ad5gldmn, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Gold Mine (Bellfruit) (Adder 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5gldmne, ad5gldmn, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Gold Mine (Bellfruit) (Adder 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5gldmnf, ad5gldmn, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Gold Mine (Bellfruit) (Adder 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5gldmng, ad5gldmn, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Gold Mine (Bellfruit) (Adder 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5gldmnh, ad5gldmn, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Gold Mine (Bellfruit) (Adder 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5gldmni, ad5gldmn, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Gold Mine (Bellfruit) (Adder 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5gldmnj, ad5gldmn, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Gold Mine (Bellfruit) (Adder 5) (set 11)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5gldmnk, ad5gldmn, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Gold Mine (Bellfruit) (Adder 5) (set 12)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR2365 MONOPOLYWOW WOW SOUNDS MONOPOLYWOW S.SITE ` MAZ*BPFP -GAME( 200?, ad5mowow, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Monopoly Wheel Of Wealth (PR2365, MAZNBPFP) (Mazooma) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5mowowl, ad5mowow, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Monopoly Wheel Of Wealth (PR2365, MAZNBPFP) (Mazooma) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5mowowe, ad5mowow, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Monopoly Wheel Of Wealth (PR2365, MAZPBPFP) (Mazooma) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5mowowm, ad5mowow, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Monopoly Wheel Of Wealth (PR2365, MAZPBPFP) (Mazooma) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5mowow, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Monopoly Wheel Of Wealth (PR2365, MAZNBPFP) (Mazooma) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5mowowl, ad5mowow, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Monopoly Wheel Of Wealth (PR2365, MAZNBPFP) (Mazooma) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5mowowe, ad5mowow, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Monopoly Wheel Of Wealth (PR2365, MAZPBPFP) (Mazooma) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5mowowm, ad5mowow, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Monopoly Wheel Of Wealth (PR2365, MAZPBPFP) (Mazooma) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR2365 MONOPOLYWOW WOW SOUNDS MONOPOLYWOW S.SITE ` MAZ*MWOW -GAME( 200?, ad5mowowd, ad5mowow, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Monopoly Wheel Of Wealth (PR2365, MAZNMWOW) (Mazooma) (Adder 5)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5mowowi, ad5mowow, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Monopoly Wheel Of Wealth (PR2365, MAZPMWOW) (Mazooma) (Adder 5)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5mowowd, ad5mowow, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Monopoly Wheel Of Wealth (PR2365, MAZNMWOW) (Mazooma) (Adder 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5mowowi, ad5mowow, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Monopoly Wheel Of Wealth (PR2365, MAZPMWOW) (Mazooma) (Adder 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR2365 MONOPOLYWOW WOWT SOUNDS MONOPOLYWOW S.SITE ` MAZ*WOWT -GAME( 200?, ad5mowowa, ad5mowow, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Monopoly Wheel Of Wealth (PR2365, MAZNWOWT) (Mazooma) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5mowowb, ad5mowow, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Monopoly Wheel Of Wealth (PR2365, MAZNWOWT) (Mazooma) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5mowowf, ad5mowow, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Monopoly Wheel Of Wealth (PR2365, MAZPWOWT) (Mazooma) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5mowowg, ad5mowow, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Monopoly Wheel Of Wealth (PR2365, MAZPWOWT) (Mazooma) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5mowowa, ad5mowow, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Monopoly Wheel Of Wealth (PR2365, MAZNWOWT) (Mazooma) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5mowowb, ad5mowow, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Monopoly Wheel Of Wealth (PR2365, MAZNWOWT) (Mazooma) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5mowowf, ad5mowow, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Monopoly Wheel Of Wealth (PR2365, MAZPWOWT) (Mazooma) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5mowowg, ad5mowow, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Monopoly Wheel Of Wealth (PR2365, MAZPWOWT) (Mazooma) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR2389 MONOPOLYWOW WOWT SOUNDS MONOPOLYWOW S.SITE ` MAZ*WWBU -GAME( 200?, ad5mowowc, ad5mowow, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Monopoly Wheel Of Wealth (PR2389, MAZNWWBU) (Mazooma) (Adder 5)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5mowowh, ad5mowow, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Monopoly Wheel Of Wealth (PR2389, MAZPWWBU) (Mazooma) (Adder 5)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5mowowc, ad5mowow, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Monopoly Wheel Of Wealth (PR2389, MAZNWWBU) (Mazooma) (Adder 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5mowowh, ad5mowow, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Monopoly Wheel Of Wealth (PR2389, MAZPWWBU) (Mazooma) (Adder 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR3075 VIDEO CASINO WOW CASINO DOND WOW ARCADE PR3075 CASINO DOND WOW SOUNDS11 (wrong game?) -GAME( 200?, ad5mowowj, ad5mowow, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Monopoly Wheel Of Wealth (PR3075) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5mowowk, ad5mowow, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Monopoly Wheel Of Wealth (PR3075) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5mowowj, ad5mowow, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Monopoly Wheel Of Wealth (PR3075) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5mowowk, ad5mowow, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Monopoly Wheel Of Wealth (PR3075) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR2283 PINK PANTHER ` QPS*PINK (PINK PANTHER SOUNDS) -GAME( 200?, ad5pp, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Pink Panther (PR2283, QPSNPINK) (Mazooma) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5ppa, ad5pp, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Pink Panther (PR2283, QPSNPINK) (Mazooma) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5ppf, ad5pp, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Pink Panther (PR2283, QPSPPINK) (Mazooma) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5ppg, ad5pp, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Pink Panther (PR2283, QPSPPINK) (Mazooma) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5pp, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Pink Panther (PR2283, QPSNPINK) (Mazooma) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5ppa, ad5pp, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Pink Panther (PR2283, QPSNPINK) (Mazooma) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5ppf, ad5pp, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Pink Panther (PR2283, QPSPPINK) (Mazooma) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5ppg, ad5pp, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Pink Panther (PR2283, QPSPPINK) (Mazooma) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR2267 PINK PANTHER ` MAZ*PINK (SD_PANTHER SNDS) -GAME( 200?, ad5ppb, ad5pp, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Pink Panther (PR2267, MAZNPINK) (Mazooma) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5ppc, ad5pp, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Pink Panther (PR2267, MAZNPINK) (Mazooma) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5pph, ad5pp, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Pink Panther (PR2267, MAZPPINK) (Mazooma) (Adder 5)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5ppb, ad5pp, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Pink Panther (PR2267, MAZNPINK) (Mazooma) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5ppc, ad5pp, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Pink Panther (PR2267, MAZNPINK) (Mazooma) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5pph, ad5pp, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Pink Panther (PR2267, MAZPPINK) (Mazooma) (Adder 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) /* (no main ident string) MAZ.PINKP SOUNDS */ -GAME( 200?, ad5ppd, ad5pp, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Pink Panther (MAZNPINK) (Mazooma) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5ppe, ad5pp, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Pink Panther (MAZNPINK) (Mazooma) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5ppi, ad5pp, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Pink Panther (MAZPPINK) (Mazooma) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5ppj, ad5pp, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Pink Panther (MAZPPINK) (Mazooma) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5ppd, ad5pp, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Pink Panther (MAZNPINK) (Mazooma) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5ppe, ad5pp, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Pink Panther (MAZNPINK) (Mazooma) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5ppi, ad5pp, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Pink Panther (MAZPPINK) (Mazooma) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5ppj, ad5pp, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Pink Panther (MAZPPINK) (Mazooma) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR1669 RANDOM SPINNER ` BFGNRNDN ( PR1669 RANDOM SPINNER SNDS11 ) -GAME( 200?, ad5rsclb, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Random Spinner Club (PR1669, BFGNRNDN) (Bellfruit) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5rsclbc, ad5rsclb, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Random Spinner Club (PR1669, BFGNRNDN) (Bellfruit) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5rsclbd, ad5rsclb, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Random Spinner Club (PR1669, BFGNRNDN) (Bellfruit) (Adder 5) (set 3)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5rsclbe, ad5rsclb, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Random Spinner Club (PR1669, BFGNRNDN) (Bellfruit) (Adder 5) (set 4)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5rsclbf, ad5rsclb, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Random Spinner Club (PR1669, BFGPRNDN) (Bellfruit) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5rsclbi, ad5rsclb, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Random Spinner Club (PR1669, BFGPRNDN) (Bellfruit) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5rsclbj, ad5rsclb, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Random Spinner Club (PR1669, BFGPRNDN) (Bellfruit) (Adder 5) (set 3)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5rsclb, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Random Spinner Club (PR1669, BFGNRNDN) (Bellfruit) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5rsclbc, ad5rsclb, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Random Spinner Club (PR1669, BFGNRNDN) (Bellfruit) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5rsclbd, ad5rsclb, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Random Spinner Club (PR1669, BFGNRNDN) (Bellfruit) (Adder 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5rsclbe, ad5rsclb, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Random Spinner Club (PR1669, BFGNRNDN) (Bellfruit) (Adder 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5rsclbf, ad5rsclb, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Random Spinner Club (PR1669, BFGPRNDN) (Bellfruit) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5rsclbi, ad5rsclb, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Random Spinner Club (PR1669, BFGPRNDN) (Bellfruit) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5rsclbj, ad5rsclb, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Random Spinner Club (PR1669, BFGPRNDN) (Bellfruit) (Adder 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR1826 RANDOM SPINNER ` BFGNRNDN ( PR1826 RANDOM SPINNER SOUNDS12 ) -GAME( 200?, ad5rsclba, ad5rsclb, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Random Spinner Club (PR1826, BFGNRNDN) (Bellfruit) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5rsclbb, ad5rsclb, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Random Spinner Club (PR1826, BFGNRNDN) (Bellfruit) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5rsclbg, ad5rsclb, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Random Spinner Club (PR1826, BFGPRNDN) (Bellfruit) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5rsclbh, ad5rsclb, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Random Spinner Club (PR1826, BFGPRNDN) (Bellfruit) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5rsclba, ad5rsclb, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Random Spinner Club (PR1826, BFGNRNDN) (Bellfruit) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5rsclbb, ad5rsclb, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Random Spinner Club (PR1826, BFGNRNDN) (Bellfruit) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5rsclbg, ad5rsclb, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Random Spinner Club (PR1826, BFGPRNDN) (Bellfruit) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5rsclbh, ad5rsclb, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Random Spinner Club (PR1826, BFGPRNDN) (Bellfruit) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR2217 RANDOM MONOPOLY ` MAZ*RNDN - S16MONOP SOUNDS -GAME( 200?, ad5monop, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Random Monopoly (PR2217, MAZNRNDN) (Mazooma) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5monopa, ad5monop, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Random Monopoly (PR2217, MAZNRNDN) (Mazooma) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5monopb, ad5monop, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Random Monopoly (PR2217, MAZNRNDN) (Mazooma) (Adder 5) (set 3)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5monopc, ad5monop, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Random Monopoly (PR2217, MAZNRNDN) (Mazooma) (Adder 5) (set 4)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5monopf, ad5monop, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Random Monopoly (PR2217, MAZPRNDN) (Mazooma) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5monopg, ad5monop, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Random Monopoly (PR2217, MAZPRNDN) (Mazooma) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5monoph, ad5monop, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Random Monopoly (PR2217, MAZPRNDN) (Mazooma) (Adder 5) (set 3)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5monopi, ad5monop, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Random Monopoly (PR2217, MAZPRNDN) (Mazooma) (Adder 5) (set 4)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5monop, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Random Monopoly (PR2217, MAZNRNDN) (Mazooma) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5monopa, ad5monop, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Random Monopoly (PR2217, MAZNRNDN) (Mazooma) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5monopb, ad5monop, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Random Monopoly (PR2217, MAZNRNDN) (Mazooma) (Adder 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5monopc, ad5monop, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Random Monopoly (PR2217, MAZNRNDN) (Mazooma) (Adder 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5monopf, ad5monop, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Random Monopoly (PR2217, MAZPRNDN) (Mazooma) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5monopg, ad5monop, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Random Monopoly (PR2217, MAZPRNDN) (Mazooma) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5monoph, ad5monop, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Random Monopoly (PR2217, MAZPRNDN) (Mazooma) (Adder 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5monopi, ad5monop, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Random Monopoly (PR2217, MAZPRNDN) (Mazooma) (Adder 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR2221 RANDOM MONOPOLY ` MAZ*RNDN - S16MONOP SOUNDS -GAME( 200?, ad5monopd, ad5monop, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Random Monopoly (PR2221, MAZNRNDN) (Mazooma) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5monope, ad5monop, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Random Monopoly (PR2221, MAZNRNDN) (Mazooma) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5monopj, ad5monop, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Random Monopoly (PR2221, MAZPRNDN) (Mazooma) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5monopk, ad5monop, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Random Monopoly (PR2221, MAZPRNDN) (Mazooma) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5monopd, ad5monop, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Random Monopoly (PR2221, MAZNRNDN) (Mazooma) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5monope, ad5monop, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Random Monopoly (PR2221, MAZNRNDN) (Mazooma) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5monopj, ad5monop, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Random Monopoly (PR2221, MAZPRNDN) (Mazooma) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5monopk, ad5monop, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Random Monopoly (PR2221, MAZPRNDN) (Mazooma) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR1669 RANDOM SPINNER ` BFGNRNDN ( PR1669 RANDOM SPINNER SNDS11 ) -GAME( 200?, ad5rspin, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Random Spinner (PR1669, BFGNRNDN) (Bellfruit) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5rspinb, ad5rspin, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Random Spinner (PR1669, BFGPRNDN) (Bellfruit) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5rspin, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Random Spinner (PR1669, BFGNRNDN) (Bellfruit) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5rspinb, ad5rspin, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Random Spinner (PR1669, BFGPRNDN) (Bellfruit) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR1872 HOT SPINNER ASTURIAS 2.00 (wrong game?) ( PR1506 RANDOM SPINNER ) (non-english, can't find a sound string) -GAME( 200?, ad5rspinc, ad5rspin, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Random Spinner (Bellfruit) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5rspinc, ad5rspin, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Random Spinner (Bellfruit) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR1758 BULLSEYE TRIPLE ` BFG*BULS ( PR1758 BULLSEYE TRIPLE SOUNDS11 ) -GAME( 200?, ad5btc, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Bullseye Triple Club (PR1758, BFGPBULS) (Bellfruit) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5btca, ad5btc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Bullseye Triple Club (PR1758, BFGPBULS) (Bellfruit) (Adder 5) (set 3)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5btcb, ad5btc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Bullseye Triple Club (PR1758, BFGNBULS) (Bellfruit) (Adder 5) (set 4)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5btc, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Bullseye Triple Club (PR1758, BFGPBULS) (Bellfruit) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5btca, ad5btc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Bullseye Triple Club (PR1758, BFGPBULS) (Bellfruit) (Adder 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5btcb, ad5btc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Bullseye Triple Club (PR1758, BFGNBULS) (Bellfruit) (Adder 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR2226 RANDOM SPINNWIN ` MAZ*RNDN ( S16RSPINNWIN SOUNDS ) -GAME( 200?, ad5rsnw, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Random Spin 'n' Win (PR2226, MAZNRNDN) (Mazooma) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5rsnwa, ad5rsnw, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Random Spin 'n' Win (PR2226, MAZNRNDN) (Mazooma) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5rsnwb, ad5rsnw, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Random Spin 'n' Win (PR2226, MAZPRNDN) (Mazooma) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5rsnwc, ad5rsnw, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Random Spin 'n' Win (PR2226, MAZPRNDN) (Mazooma) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5rsnw, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Random Spin 'n' Win (PR2226, MAZNRNDN) (Mazooma) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5rsnwa, ad5rsnw, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Random Spin 'n' Win (PR2226, MAZNRNDN) (Mazooma) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5rsnwb, ad5rsnw, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Random Spin 'n' Win (PR2226, MAZPRNDN) (Mazooma) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5rsnwc, ad5rsnw, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Random Spin 'n' Win (PR2226, MAZPRNDN) (Mazooma) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR3084 VIDEO SUPER SLAM VIDEO SUPER SLAM CLUB PR3084 SUPER SLAM VID SOUNDS11 -GAME( 200?, ad5sslam, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Super Slam (Bellfruit) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5sslama, ad5sslam, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Super Slam (Bellfruit) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5sslamb, ad5sslam, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Super Slam (Bellfruit) (Adder 5) (set 3)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5sslamc, ad5sslam, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Super Slam (Bellfruit) (Adder 5) (set 4)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5sslamd, ad5sslam, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Super Slam (Bellfruit) (Adder 5) (set 5)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5sslame, ad5sslam, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Super Slam (Bellfruit) (Adder 5) (set 6)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5sslamf, ad5sslam, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Super Slam (Bellfruit) (Adder 5) (set 7)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5sslam, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Super Slam (Bellfruit) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5sslama, ad5sslam, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Super Slam (Bellfruit) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5sslamb, ad5sslam, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Super Slam (Bellfruit) (Adder 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5sslamc, ad5sslam, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Super Slam (Bellfruit) (Adder 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5sslamd, ad5sslam, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Super Slam (Bellfruit) (Adder 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5sslame, ad5sslam, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Super Slam (Bellfruit) (Adder 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5sslamf, ad5sslam, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Super Slam (Bellfruit) (Adder 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR2419 ROAD TO RICHES MR2R SOUNDS -GAME( 200?, ad5mr2r, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Monopoly Road To Riches (Mazooma) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5mr2ra, ad5mr2r, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Monopoly Road To Riches (Mazooma) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5mr2rb, ad5mr2r, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Monopoly Road To Riches (Mazooma) (Adder 5) (set 3)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5mr2rc, ad5mr2r, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Monopoly Road To Riches (Mazooma) (Adder 5) (set 4)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5mr2rd, ad5mr2r, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Monopoly Road To Riches (Mazooma) (Adder 5) (set 5)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5mr2re, ad5mr2r, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Monopoly Road To Riches (Mazooma) (Adder 5) (set 6)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5mr2rf, ad5mr2r, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Monopoly Road To Riches (Mazooma) (Adder 5) (set 7)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5mr2rg, ad5mr2r, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Monopoly Road To Riches (Mazooma) (Adder 5) (set 8)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5mr2rh, ad5mr2r, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Monopoly Road To Riches (Mazooma) (Adder 5) (set 9)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5mr2r, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Monopoly Road To Riches (Mazooma) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5mr2ra, ad5mr2r, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Monopoly Road To Riches (Mazooma) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5mr2rb, ad5mr2r, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Monopoly Road To Riches (Mazooma) (Adder 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5mr2rc, ad5mr2r, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Monopoly Road To Riches (Mazooma) (Adder 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5mr2rd, ad5mr2r, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Monopoly Road To Riches (Mazooma) (Adder 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5mr2re, ad5mr2r, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Monopoly Road To Riches (Mazooma) (Adder 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5mr2rf, ad5mr2r, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Monopoly Road To Riches (Mazooma) (Adder 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5mr2rg, ad5mr2r, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Monopoly Road To Riches (Mazooma) (Adder 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5mr2rh, ad5mr2r, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Monopoly Road To Riches (Mazooma) (Adder 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR1756 RANDOM WINNER ` BFG*RWSX ( PR1756 RANDOM WINNER SOUNDS12 ) -GAME( 200?, ad5rwclb, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Random Winner Club (PR1756, BFGNRWSX) (Bellfruit) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5rwclba, ad5rwclb, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Random Winner Club (PR1756, BFGNRWSX) (Bellfruit) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5rwclbb, ad5rwclb, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Random Winner Club (PR1756, BFGPRWSX) (Bellfruit) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5rwclbc, ad5rwclb, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Random Winner Club (PR1756, BFGPRWSX) (Bellfruit) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5rwclb, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Random Winner Club (PR1756, BFGNRWSX) (Bellfruit) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5rwclba, ad5rwclb, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Random Winner Club (PR1756, BFGNRWSX) (Bellfruit) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5rwclbb, ad5rwclb, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Random Winner Club (PR1756, BFGPRWSX) (Bellfruit) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5rwclbc, ad5rwclb, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Random Winner Club (PR1756, BFGPRWSX) (Bellfruit) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR1757 RANDOM WINNER ` BFG*RWCL ( PR1756 RANDOM WINNER SOUNDS12 ) -GAME( 200?, ad5rwclbd, ad5rwclb, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Random Winner Club (PR1757, BFGPRWCL) (Bellfruit) (Adder 5)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5rwclbe, ad5rwclb, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Random Winner Club (PR1757, BFGNRWCL) (Bellfruit) (Adder 5)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5rwclbd, ad5rwclb, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Random Winner Club (PR1757, BFGPRWCL) (Bellfruit) (Adder 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5rwclbe, ad5rwclb, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Random Winner Club (PR1757, BFGNRWCL) (Bellfruit) (Adder 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR2258 GOLDEN WINNER -GAME( 200?, ad5gldwn, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Golden Winner (Mazooma) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5gldwna, ad5gldwn, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Golden Winner (Mazooma) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5gldwn, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Golden Winner (Mazooma) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5gldwna, ad5gldwn, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Golden Winner (Mazooma) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR1712 RAPID PAY PR1712 RAPID PAY SOUNDS11 -GAME( 200?, ad5rapid, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Rapid Pay (Bellfruit) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5rapida, ad5rapid, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Rapid Pay (Bellfruit) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5rapid, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Rapid Pay (Bellfruit) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5rapida, ad5rapid, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Rapid Pay (Bellfruit) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR2226 JACKPOT MONOPOLY ` MAZ*JACM (JPMONP SOUNDS) -GAME( 200?, ad5jckmo, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Jackpot Monopoly (PR2226, MAZNJACM) (Mazooma) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5jckmoa, ad5jckmo, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Jackpot Monopoly (PR2226, MAZNJACM) (Mazooma) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5jckmoc, ad5jckmo, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Jackpot Monopoly (PR2226, MAZNJACM) (Mazooma) (Adder 5) (set 3)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5jckmod, ad5jckmo, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Jackpot Monopoly (PR2226, MAZPJACM) (Mazooma) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5jckmoe, ad5jckmo, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Jackpot Monopoly (PR2226, MAZPJACM) (Mazooma) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5jckmo, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Jackpot Monopoly (PR2226, MAZNJACM) (Mazooma) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5jckmoa, ad5jckmo, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Jackpot Monopoly (PR2226, MAZNJACM) (Mazooma) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5jckmoc, ad5jckmo, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Jackpot Monopoly (PR2226, MAZNJACM) (Mazooma) (Adder 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5jckmod, ad5jckmo, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Jackpot Monopoly (PR2226, MAZPJACM) (Mazooma) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5jckmoe, ad5jckmo, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Jackpot Monopoly (PR2226, MAZPJACM) (Mazooma) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR2253 JACKPOT MONOPOLY ` MAZNJACM (JPMONP SOUNDS) -GAME( 200?, ad5jckmob, ad5jckmo, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Jackpot Monopoly (PR2253, MAZNJACM) (Mazooma) (Adder 5)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5jckmob, ad5jckmo, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Jackpot Monopoly (PR2253, MAZNJACM) (Mazooma) (Adder 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR2304 PINKP_BTB PPBTB SOUNDS PINKP_BTB S.SITE ` QPSNPPBB -GAME( 200?, ad5ppbtb, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Qps","Pink Panther Break The Bank (PR2304, QPSNPPBB) (Qps) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5ppbtba, ad5ppbtb, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Qps","Pink Panther Break The Bank (PR2304, QPSNPPBB) (Qps) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5ppbtbb, ad5ppbtb, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Qps","Pink Panther Break The Bank (PR2304, QPSPPPBB) (Qps) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5ppbtbc, ad5ppbtb, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Qps","Pink Panther Break The Bank (PR2304, QPSPPPBB) (Qps) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5ppbtb, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Qps","Pink Panther Break The Bank (PR2304, QPSNPPBB) (Qps) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5ppbtba, ad5ppbtb, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Qps","Pink Panther Break The Bank (PR2304, QPSNPPBB) (Qps) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5ppbtbb, ad5ppbtb, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Qps","Pink Panther Break The Bank (PR2304, QPSPPPBB) (Qps) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5ppbtbc, ad5ppbtb, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Qps","Pink Panther Break The Bank (PR2304, QPSPPPBB) (Qps) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR3507 AWP VIVA LAS VEGAS SCORP5 PR3507 VIVA LAS VEGAS SOUNDS11 -GAME( 200?, ad5vlv, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Viva Las Vegas (Bellfruit) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5vlvb, ad5vlv, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Viva Las Vegas (Bellfruit) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5vlvc, ad5vlv, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Viva Las Vegas (Bellfruit) (Adder 5) (set 3)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5vlvd, ad5vlv, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Viva Las Vegas (Bellfruit) (Adder 5) (set 4)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5vlve, ad5vlv, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Viva Las Vegas (Bellfruit) (Adder 5) (set 5)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5vlvf, ad5vlv, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Viva Las Vegas (Bellfruit) (Adder 5) (set 6)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5vlv, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Viva Las Vegas (Bellfruit) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5vlvb, ad5vlv, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Viva Las Vegas (Bellfruit) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5vlvc, ad5vlv, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Viva Las Vegas (Bellfruit) (Adder 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5vlvd, ad5vlv, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Viva Las Vegas (Bellfruit) (Adder 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5vlve, ad5vlv, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Viva Las Vegas (Bellfruit) (Adder 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5vlvf, ad5vlv, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Viva Las Vegas (Bellfruit) (Adder 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR2331 RROULETTE REEL ROULETTE SOUNDS RROULETTE S.SITE ` QPS*RLRO -GAME( 200?, ad5rroul, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Reel Roulette (QPSNRLRO) (Mazooma) (Adder 5)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5rroula, ad5rroul, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Reel Roulette (QPSPRLRO) (Mazooma) (Adder 5)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5rroul, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Reel Roulette (QPSNRLRO) (Mazooma) (Adder 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5rroula, ad5rroul, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Reel Roulette (QPSPRLRO) (Mazooma) (Adder 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR2331 RROULETTE REEL ROULETTE SOUNDS RROULETTE S.SITE ` MAZ*RERO -GAME( 200?, ad5rroulb, ad5rroul, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Reel Roulette (MAZNRERO) (Mazooma) (Adder 5)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5rroulc, ad5rroul, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Reel Roulette (MAZPRERO) (Mazooma) (Adder 5)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5rroulb, ad5rroul, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Reel Roulette (MAZNRERO) (Mazooma) (Adder 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5rroulc, ad5rroul, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Reel Roulette (MAZPRERO) (Mazooma) (Adder 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR2444 MONTE CARLO OR BUST MONTE SOUNDS -GAME( 200?, ad5mcob, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Qps","Monte Carlo Or Bust (Qps) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5mcoba, ad5mcob, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Qps","Monte Carlo Or Bust (Qps) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5mcobb, ad5mcob, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Qps","Monte Carlo Or Bust (Qps) (Adder 5) (set 3)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5mcobc, ad5mcob, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Qps","Monte Carlo Or Bust (Qps) (Adder 5) (set 4)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5mcob, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Qps","Monte Carlo Or Bust (Qps) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5mcoba, ad5mcob, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Qps","Monte Carlo Or Bust (Qps) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5mcobb, ad5mcob, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Qps","Monte Carlo Or Bust (Qps) (Adder 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5mcobc, ad5mcob, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Qps","Monte Carlo Or Bust (Qps) (Adder 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR1625 POKER KING PR1625 POKER KING SOUNDS11 POKER KING S.SITE -GAME( 200?, ad5pking, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Poker King (Bellfruit) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5pkinga, ad5pking, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Poker King (Bellfruit) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5pking, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Poker King (Bellfruit) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5pkinga, ad5pking, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Poker King (Bellfruit) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR3073 VIDEO POKER ACE VID POKER ACE ARCADE PR3073 POKER ACE SOUNDS11 -GAME( 200?, ad5vpa, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Video Poker Ace (Bellfruit) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5vpaa, ad5vpa, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Video Poker Ace (Bellfruit) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5vpab, ad5vpa, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Video Poker Ace (Bellfruit) (Adder 5) (set 3)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5vpac, ad5vpa, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Video Poker Ace (Bellfruit) (Adder 5) (set 4)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5vpa, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Video Poker Ace (Bellfruit) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5vpaa, ad5vpa, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Video Poker Ace (Bellfruit) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5vpab, ad5vpa, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Video Poker Ace (Bellfruit) (Adder 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5vpac, ad5vpa, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Video Poker Ace (Bellfruit) (Adder 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR1629 TORNADO 5.5 (Revision 8) ` BFG*TORD ( PR1627 TORNADO CLUB SOUNDS11 ) -GAME( 200?, ad5tornc, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Tornado Club (PR1629, 5.5, rv 8, BFGNTORD) (Bellfruit) (Adder 5)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5torncb, ad5tornc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Tornado Club (PR1629, 5.5, rv 8, BFGPTORD) (Bellfruit) (Adder 5)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5tornc, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Tornado Club (PR1629, 5.5, rv 8, BFGNTORD) (Bellfruit) (Adder 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5torncb, ad5tornc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Tornado Club (PR1629, 5.5, rv 8, BFGPTORD) (Bellfruit) (Adder 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR1629 TORNADO 5.8 (Revision 7) ` BFGPTORD ( PR1627 TORNADO CLUB SOUNDS11 ) -GAME( 200?, ad5tornca, ad5tornc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Tornado Club (PR1629, 5.8, rv 7, BFGNTORD) (Bellfruit) (Adder 5)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5torncc, ad5tornc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Tornado Club (PR1629, 5.8, rv 7, BFGPTORD) (Bellfruit) (Adder 5)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5tornca, ad5tornc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Tornado Club (PR1629, 5.8, rv 7, BFGNTORD) (Bellfruit) (Adder 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5torncc, ad5tornc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Tornado Club (PR1629, 5.8, rv 7, BFGPTORD) (Bellfruit) (Adder 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR1627 TORNADO 0.1 (Revision 1) ` BFG*TORN ( PR1627 TORNADO CLUB SOUNDS11 ) -GAME( 200?, ad5tornce, ad5tornc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Tornado Club (PR1627, 0.1, rv 1, BFGNTORN) (Bellfruit) (Adder 5)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5torncd, ad5tornc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Tornado Club (PR1627, 0.1, rv 1, BFGPTORN) (Bellfruit) (Adder 5)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5tornce, ad5tornc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Tornado Club (PR1627, 0.1, rv 1, BFGNTORN) (Bellfruit) (Adder 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5torncd, ad5tornc, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Tornado Club (PR1627, 0.1, rv 1, BFGPTORN) (Bellfruit) (Adder 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR2268 REEL CASH -GAME( 200?, ad5rcash, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Reel Cash (Mazooma) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5rcasha, ad5rcash, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Reel Cash (Mazooma) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5rcash, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Reel Cash (Mazooma) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5rcasha, ad5rcash, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Reel Cash (Mazooma) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR2284 RANDOM MONOPOLY WOTW ( S16MONOPWOW SOUNDS ) -GAME( 200?, ad5mww, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Random Monopoly Wonders Of The World (PR2284) (Mazooma) (Adder 5)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5mww, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Random Monopoly Wonders Of The World (PR2284) (Mazooma) (Adder 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR2291 RANDOM MONOPOLY WOTW ( S16MONOPWOW SOUNDS ) -GAME( 200?, ad5mwwa, ad5mww, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Random Monopoly Wonders Of The World (PR2291) (Mazooma) (Adder 5)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5mwwa, ad5mww, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Random Monopoly Wonders Of The World (PR2291) (Mazooma) (Adder 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR2242 EYES DOWN ` MAZ*EYDW -GAME( 200?, ad5eyes, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Eyes Down (PR2242, MAZNEYDW) (Mazooma) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5eyesa, ad5eyes, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Eyes Down (PR2242, MAZNEYDW) (Mazooma) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5eyesd, ad5eyes, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Eyes Down (PR2242, MAZPEYDW) (Mazooma) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5eyese, ad5eyes, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Eyes Down (PR2242, MAZPEYDW) (Mazooma) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5eyes, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Eyes Down (PR2242, MAZNEYDW) (Mazooma) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5eyesa, ad5eyes, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Eyes Down (PR2242, MAZNEYDW) (Mazooma) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5eyesd, ad5eyes, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Eyes Down (PR2242, MAZPEYDW) (Mazooma) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5eyese, ad5eyes, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Eyes Down (PR2242, MAZPEYDW) (Mazooma) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR2246 EYES DOWN ` MAZ*EYDW -GAME( 200?, ad5eyesb, ad5eyes, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Eyes Down (PR2246, MAZNEYDW) (Mazooma) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5eyesg, ad5eyes, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Eyes Down (PR2246, MAZNEYDW) (Mazooma) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5eyesc, ad5eyes, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Eyes Down (PR2246, MAZPEYDW) (Mazooma) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5eyesf, ad5eyes, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Eyes Down (PR2246, MAZPEYDW) (Mazooma) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5eyesb, ad5eyes, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Eyes Down (PR2246, MAZNEYDW) (Mazooma) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5eyesg, ad5eyes, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Eyes Down (PR2246, MAZNEYDW) (Mazooma) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5eyesc, ad5eyes, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Eyes Down (PR2246, MAZPEYDW) (Mazooma) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5eyesf, ad5eyes, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "Mazooma","Eyes Down (PR2246, MAZPEYDW) (Mazooma) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR3302 AWP RONNIE O SULLIVANS ROCKET MONEY SCORP5 PR3302 RONNIE ROCKET SOUNDS11 -GAME( 200?, ad5rsrm, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Ronnie O'Sullivan's Rocket Money (Bellfruit) (Adder 5) (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5rsrma, ad5rsrm, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Ronnie O'Sullivan's Rocket Money (Bellfruit) (Adder 5) (set 2)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5rsrr, ad5rsrm, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Ronnie O'Sullivan's Rocket Money (Bellfruit) (Adder 5) (set 3)", MACHINE_IS_SKELETON ) -GAME( 200?, ad5rsrra, ad5rsrm, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Ronnie O'Sullivan's Rocket Money (Bellfruit) (Adder 5) (set 4)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5rsrm, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Ronnie O'Sullivan's Rocket Money (Bellfruit) (Adder 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5rsrma, ad5rsrm, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Ronnie O'Sullivan's Rocket Money (Bellfruit) (Adder 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5rsrr, ad5rsrm, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Ronnie O'Sullivan's Rocket Money (Bellfruit) (Adder 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ad5rsrra, ad5rsrm, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM","Ronnie O'Sullivan's Rocket Money (Bellfruit) (Adder 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR0573 LADY LUCK (3 stake) 2.00 ` BFGNLL34 PR0573 LADY LUCK SOUNDS11 -GAME( 200?, ad5lluck, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM", "Lady Luck (Bellfruit) (Adder 5)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5lluck, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM", "Lady Luck (Bellfruit) (Adder 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PR0551 EL TREBOL DE LA SUERTE ARAGON/CATALAN 1.00 RCLVIT12 -GAME( 200?, ad5etdls, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM", "El Trebol de la Suerte (Bellfruit) (Adder 5)", MACHINE_IS_SKELETON ) +GAME( 200?, ad5etdls, 0, bfm_ad5, bfm_ad5, adder5_state, init_ad5, ROT0, "BFM", "El Trebol de la Suerte (Bellfruit) (Adder 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/bfm/bfm_sc5sw.cpp b/src/mame/bfm/bfm_sc5sw.cpp index dfefa37eb3872..015008021c0c0 100644 --- a/src/mame/bfm/bfm_sc5sw.cpp +++ b/src/mame/bfm/bfm_sc5sw.cpp @@ -14833,2303 +14833,2303 @@ void bfm_sc5_state::init_sc5() } // PR2437 28 PLAYS LATER TEDL SOUNDS NITH -GAME( 200?, sc5plays, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","28 Plays Later (Qps) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5playsa, sc5plays, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","28 Plays Later (Qps) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5plays, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","28 Plays Later (Qps) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5playsa, sc5plays, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","28 Plays Later (Qps) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3214 AWP ANT N DECS SNT GRAB THE ADS S5 PR3214 SNT GRAB THE ADS SOUNDS11 GRAB THE ADS S.SITE -GAME( 200?, sc5adga, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Grab The Ads (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5adgaa, sc5adga, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Grab The Ads (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5adgab, sc5adga, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Grab The Ads (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5adgac, sc5adga, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Grab The Ads (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5adgad, sc5adga, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Grab The Ads (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5adgae, sc5adga, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Grab The Ads (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5adga, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Grab The Ads (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5adgaa, sc5adga, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Grab The Ads (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5adgab, sc5adga, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Grab The Ads (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5adgac, sc5adga, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Grab The Ads (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5adgad, sc5adga, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Grab The Ads (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5adgae, sc5adga, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Grab The Ads (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3214 AWP ANT N DECS GRAB THE CASH S5 PR3214 GRAB THE CASH SOUNDS11 GRAB THE CASH S.SITE -GAME( 200?, sc5adgtc, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Grab The Cash (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5adgtca, sc5adgtc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Grab The Cash (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5adgtc, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Grab The Cash (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5adgtca, sc5adgtc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Grab The Cash (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // Z053 BANKJOB PR000053 BANKJOB 1 BANKJOB AWP (this numbering looks more like QPS) -GAME( 200?, sc5bjob, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bank Job (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bjoba, sc5bjob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bank Job (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bjobb, sc5bjob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bank Job (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bjobc, sc5bjob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bank Job (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bjobd, sc5bjob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bank Job (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bjobe, sc5bjob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bank Job (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bjobf, sc5bjob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bank Job (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bjobg, sc5bjob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bank Job (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bjobh, sc5bjob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bank Job (Bellfruit) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bjobi, sc5bjob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bank Job (Bellfruit) (Scorpion 5) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5bjob, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bank Job (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bjoba, sc5bjob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bank Job (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bjobb, sc5bjob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bank Job (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bjobc, sc5bjob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bank Job (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bjobd, sc5bjob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bank Job (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bjobe, sc5bjob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bank Job (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bjobf, sc5bjob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bank Job (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bjobg, sc5bjob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bank Job (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bjobh, sc5bjob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bank Job (Bellfruit) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bjobi, sc5bjob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bank Job (Bellfruit) (Scorpion 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2077KING X KING X MAZ BARKX SOUNDS KING X -GAME( 200?, sc5bkngx, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Bar King X (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bkngxa, sc5bkngx, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Bar King X (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5bkngx, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Bar King X (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bkngxa, sc5bkngx, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Bar King X (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3216 AWP BUCKANEERS SCORP5 PR3216 BUCKANEERS SOUNDS11 BUCKANEERS S.SITE -GAME( 200?, sc5bucc, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Buccaneers (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bucca, sc5bucc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Buccaneers (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5buccb, sc5bucc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Buccaneers (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5buccc, sc5bucc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Buccaneers (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5buccd, sc5bucc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Buccaneers (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bucce, sc5bucc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Buccaneers (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5bucc, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Buccaneers (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bucca, sc5bucc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Buccaneers (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5buccb, sc5bucc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Buccaneers (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5buccc, sc5bucc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Buccaneers (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5buccd, sc5bucc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Buccaneers (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bucce, sc5bucc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Buccaneers (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3205 AWP BULLSEYE POUNDS FOR POINTS S5 PR3205 BULLYS PNDSFPTS SOUNDS11 POUNDS FOR POINT S.SITE -GAME( 200?, sc5bpfpb, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bullseye Pounds For Points (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bpfpba, sc5bpfpb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bullseye Pounds For Points (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5bpfpb, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bullseye Pounds For Points (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bpfpba, sc5bpfpb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bullseye Pounds For Points (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1914 AWP THREE IN A BED BULLSEYE SCORP5 PR1914 THREE I A BED B SOUNDS11 3IAB BULLSEYE S.SITE -GAME( 200?, sc5btiab, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bullseye Three In A Bed (Bellfruit) (Scorpion 5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5btiab, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bullseye Three In A Bed (Bellfruit) (Scorpion 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1744 BULLSEYE TRIPLE BULLSEYE TRIPLE ARCADE PR1743 CASINO BULLSEYE SOUNDS11 -GAME( 200?, sc5btrip, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bullseye Triple (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5btripa, sc5btrip, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bullseye Triple (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5btrip, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bullseye Triple (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5btripa, sc5btrip, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bullseye Triple (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1743 CASINO BULLSEYE CASINO BULLSEYE ARCADE PR1743 CASINO BULLSEYE SOUNDS11 -GAME( 200?, sc5btripb, sc5btrip, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bullseye Triple (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5btripc, sc5btrip, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bullseye Triple (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5btripb, sc5btrip, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bullseye Triple (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5btripc, sc5btrip, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bullseye Triple (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2197 BUNNY MONEY BUNNY MONEY BUNN SOUNDS BUNNY MONEY -GAME( 200?, sc5bunny, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Bunny Money (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bunnya, sc5bunny, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Bunny Money (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5bunny, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Bunny Money (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bunnya, sc5bunny, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Bunny Money (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // Z054 CANNON PR000054 CANNON 1 CANNON AWP (looks more like a QPS header) -GAME( 200?, sc5cbrun, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cannonball Run (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cbruna, sc5cbrun, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cannonball Run (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5cbrun, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cannonball Run (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cbruna, sc5cbrun, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cannonball Run (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1681 181104 CASH FACTOR PR1681 CASH FACTOR 1 CASH FACTOR AWP -GAME( 200?, sc5cfact, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cash Factor (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cfacta, sc5cfact, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cash Factor (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5cfact, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cash Factor (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cfacta, sc5cfact, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cash Factor (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3204 AWP CASH OF THE TITANS S5 PR3204 CASH TITANS SOUNDS11 CASH OF TITANS S.SITE -GAME( 200?, sc5ctit, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cash Of The Titans (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ctita, sc5ctit, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cash Of The Titans (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5ctit, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cash Of The Titans (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ctita, sc5ctit, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cash Of The Titans (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2343 CASH RAIDER RAID SOUNDS NITH -GAME( 200?, sc5craid, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cash Raider (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5craida, sc5craid, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cash Raider (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5craid, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cash Raider (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5craida, sc5craid, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cash Raider (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1610 AWP CASH VEGAS PR1610 CASH VEGAS SOUNDS11 CASH VEGAS S.SITE -GAME( 200?, sc5cvega, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cash Vegas (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cvegaa, sc5cvega, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cash Vegas (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5cvega, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cash Vegas (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cvegaa, sc5cvega, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cash Vegas (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2210 CHOP 'N' CHANGE CHOP SOUNDS CHOP 'N' CHANGE -GAME( 200?, sc5chopc, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Chop 'n' Change (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5chopca, sc5chopc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Chop 'n' Change (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5chopc, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Chop 'n' Change (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5chopca, sc5chopc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Chop 'n' Change (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2422 BINGO BAR7 S5 PR1433 BAR SEVENS SOUNDS11 BAR7 S.SITE -GAME( 200?, sc5cbar7, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Classic Bar 7 (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cbar7a, sc5cbar7, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Classic Bar 7 (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5cbar7, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Classic Bar 7 (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cbar7a, sc5cbar7, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Classic Bar 7 (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2495 CLUEDO CLUEDO SOUNDS CLUEDO -GAME( 200?, sc5clu70, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Cluedo 70 (Qps) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5clu70a, sc5clu70, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Cluedo 70 (Qps) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5clu70, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Cluedo 70 (Qps) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5clu70a, sc5clu70, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Cluedo 70 (Qps) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2339 CLUEDO CASINO CLUEDO CASINO MAZ CCLU SOUNDS GET A CLUE -GAME( 200?, sc5clcas, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cluedo Casino (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5clcasa, sc5clcas, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cluedo Casino (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5clcas, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cluedo Casino (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5clcasa, sc5clcas, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cluedo Casino (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3320 AWP CLUEDO NOTORIOUS S5 PR3320 CLUEDO SOUNDS11 CLUEDO NOTORIOUS S.SITE -GAME( 200?, sc5clnot, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cluedo Notorious (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5clnota, sc5clnot, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cluedo Notorious (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5clnotb, sc5clnot, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cluedo Notorious (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5clnotc, sc5clnot, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cluedo Notorious (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5clnotd, sc5clnot, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cluedo Notorious (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5clnote, sc5clnot, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cluedo Notorious (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5clnotf, sc5clnot, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cluedo Notorious (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5clnotg, sc5clnot, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cluedo Notorious (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5clnot, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cluedo Notorious (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5clnota, sc5clnot, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cluedo Notorious (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5clnotb, sc5clnot, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cluedo Notorious (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5clnotc, sc5clnot, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cluedo Notorious (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5clnotd, sc5clnot, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cluedo Notorious (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5clnote, sc5clnot, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cluedo Notorious (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5clnotf, sc5clnot, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cluedo Notorious (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5clnotg, sc5clnot, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cluedo Notorious (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2332 CLUEDO THE USUAL SUSPECTS CTUS SOUNDS CLUEDO CTUL -GAME( 200?, sc5clus, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5clusa, sc5clus, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5clusb, sc5clus, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5clusc, sc5clus, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5clusd, sc5clus, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cluse, sc5clus, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5clusf, sc5clus, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5clusg, sc5clus, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5clush, sc5clus, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5clusi, sc5clus, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5clusj, sc5clus, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 11)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5clusk, sc5clus, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 12)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5clus, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5clusa, sc5clus, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5clusb, sc5clus, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5clusc, sc5clus, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5clusd, sc5clus, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cluse, sc5clus, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5clusf, sc5clus, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5clusg, sc5clus, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5clush, sc5clus, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5clusi, sc5clus, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5clusj, sc5clus, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 11)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5clusk, sc5clus, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 12)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3317 AWP THE COLOUR OF MONEY S5 PR3317 COLOUR OF MONEY SOUNDS11 COLOUR OF MONEY S.SITE -GAME( 200?, sc5colmo, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Colour Of Money (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5colmoa, sc5colmo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Colour Of Money (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5colmob, sc5colmo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Colour Of Money (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5colmoc, sc5colmo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Colour Of Money (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5colmo, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Colour Of Money (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5colmoa, sc5colmo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Colour Of Money (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5colmob, sc5colmo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Colour Of Money (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5colmoc, sc5colmo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Colour Of Money (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3502 AWP THE COLOUR OF MONEY NEW S5 PR3502 C OF M TEN SOUNDS11 COLOUR OF MONEY2 S.SITE -GAME( 200?, sc5newcm, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Colour Of Money New (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5newcma, sc5newcm, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Colour Of Money New (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5newcmb, sc5newcm, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Colour Of Money New (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5newcmc, sc5newcm, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Colour Of Money New (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5newcmd, sc5newcm, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Colour Of Money New (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5newcme, sc5newcm, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Colour Of Money New (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5newcm, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Colour Of Money New (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5newcma, sc5newcm, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Colour Of Money New (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5newcmb, sc5newcm, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Colour Of Money New (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5newcmc, sc5newcm, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Colour Of Money New (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5newcmd, sc5newcm, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Colour Of Money New (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5newcme, sc5newcm, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Colour Of Money New (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3506 AWP COPS AND ROBBERS ON THE RUN S5 PR3506 C & R ON T RUN SOUNDS11 ON THE RUN S.SITE -GAME( 200?, sc5crotr, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers On The Run (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5crotra, sc5crotr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers On The Run (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5crotr, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers On The Run (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5crotra, sc5crotr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers On The Run (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3427 CLUB COPS N ROBBERS SMASH N GRAB SCORP5 PR3421 CNR_SNG SOUNDS11 SMASH N GRAB CLUB -GAME( 200?, sc5crsgc, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Smash 'n' Grab Club (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5crsgca, sc5crsgc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Smash 'n' Grab Club (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5crsgc, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Smash 'n' Grab Club (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5crsgca, sc5crsgc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Smash 'n' Grab Club (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3421 CLUB COPS N ROBBERS SMASH N GRAB SCORP5 PR3421 CNR_SNG SOUNDS11 SMASH N GRAB CLUB -GAME( 200?, sc5crsgcb, sc5crsgc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Smash 'n' Grab Club (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5crsgcc, sc5crsgc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Smash 'n' Grab Club (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5crsgcb, sc5crsgc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Smash 'n' Grab Club (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5crsgcc, sc5crsgc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Smash 'n' Grab Club (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3421 CLUB COPS N ROBBERS SMASH N GRAB SCORP5 PR3421 CNR_SNG SOUNDS11 SMASH N GRAB CLUB (same ident as some of the sc5crsgc sets..) -GAME( 200?, sc5crsgr, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Smash 'n' Grab (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5crsgra, sc5crsgr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Smash 'n' Grab (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5crsgrb, sc5crsgr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Smash 'n' Grab (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5crsgrc, sc5crsgr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Smash 'n' Grab (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5crsgrd, sc5crsgr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Smash 'n' Grab (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5crsgre, sc5crsgr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Smash 'n' Grab (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5crsgrf, sc5crsgr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Smash 'n' Grab (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5crsgrg, sc5crsgr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Smash 'n' Grab (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5crsgr, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Smash 'n' Grab (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5crsgra, sc5crsgr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Smash 'n' Grab (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5crsgrb, sc5crsgr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Smash 'n' Grab (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5crsgrc, sc5crsgr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Smash 'n' Grab (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5crsgrd, sc5crsgr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Smash 'n' Grab (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5crsgre, sc5crsgr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Smash 'n' Grab (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5crsgrf, sc5crsgr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Smash 'n' Grab (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5crsgrg, sc5crsgr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Smash 'n' Grab (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3521 AWP CORONATION STREET SCORP5 PR3521 CORRONATION ST SOUNDS11 CORONATION ST S.SITE -GAME( 200?, sc5corst, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Coronation Street (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5corsta, sc5corst, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Coronation Street (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5corstb, sc5corst, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Coronation Street (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5corstc, sc5corst, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Coronation Street (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5corst, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Coronation Street (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5corsta, sc5corst, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Coronation Street (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5corstb, sc5corst, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Coronation Street (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5corstc, sc5corst, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Coronation Street (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3417 AWP CRAZYFRUIT AND NUTCASE SCORP5 PR3417 CF NUTCASE SOUNDS11 CF& NUTCASE S.SITE -GAME( 200?, sc5cfnc, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruit & Nutcase (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cfnca, sc5cfnc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruit & Nutcase (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5cfnc, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruit & Nutcase (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cfnca, sc5cfnc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruit & Nutcase (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3436 CRAZY FRUITS COMMUNITY PARTY CRAZY FRUITS CP ARCADE PR3436 CF COMMUNITY P SOUNDS11 -GAME( 200?, sc5cfcp, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cfcpa, sc5cfcp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cfcpb, sc5cfcp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cfcpc, sc5cfcp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cfcpd, sc5cfcp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cfcpe, sc5cfcp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cfcpf, sc5cfcp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cfcpg, sc5cfcp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cfcph, sc5cfcp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cfcpi, sc5cfcp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cfcpj, sc5cfcp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 11)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cfcpk, sc5cfcp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 12)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cfcpl, sc5cfcp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 13)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cfcpm, sc5cfcp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 14)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cfcpn, sc5cfcp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 15)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cfcpo, sc5cfcp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 16)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cfcpp, sc5cfcp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 17)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cfcpq, sc5cfcp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 18)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cfcpr, sc5cfcp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 19)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cfcps, sc5cfcp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 20)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cfcpt, sc5cfcp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 21)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cfcpu, sc5cfcp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 22)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cfcpv, sc5cfcp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 23)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cfcpw, sc5cfcp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 24)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5cfcp, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cfcpa, sc5cfcp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cfcpb, sc5cfcp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cfcpc, sc5cfcp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cfcpd, sc5cfcp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cfcpe, sc5cfcp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cfcpf, sc5cfcp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cfcpg, sc5cfcp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cfcph, sc5cfcp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cfcpi, sc5cfcp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cfcpj, sc5cfcp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 11)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cfcpk, sc5cfcp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 12)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cfcpl, sc5cfcp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 13)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cfcpm, sc5cfcp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 14)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cfcpn, sc5cfcp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 15)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cfcpo, sc5cfcp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 16)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cfcpp, sc5cfcp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 17)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cfcpq, sc5cfcp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 18)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cfcpr, sc5cfcp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 19)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cfcps, sc5cfcp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 20)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cfcpt, sc5cfcp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 21)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cfcpu, sc5cfcp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 22)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cfcpv, sc5cfcp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 23)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cfcpw, sc5cfcp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 24)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1359 CASINO CRAZY FRUITS PARTY PR1359 CRAZY F PARTY SOUNDS11 -GAME( 200?, sc5cfpt, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Casino Party Time (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cfpta, sc5cfpt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Casino Party Time (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cfptb, sc5cfpt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Casino Party Time (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cfptc, sc5cfpt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Casino Party Time (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cfptd, sc5cfpt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Casino Party Time (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cfpte, sc5cfpt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Casino Party Time (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cfptf, sc5cfpt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Casino Party Time (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cfptg, sc5cfpt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Casino Party Time (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cfpth, sc5cfpt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Casino Party Time (Bellfruit) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cfpti, sc5cfpt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Casino Party Time (Bellfruit) (Scorpion 5) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5cfpt, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Casino Party Time (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cfpta, sc5cfpt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Casino Party Time (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cfptb, sc5cfpt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Casino Party Time (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cfptc, sc5cfpt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Casino Party Time (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cfptd, sc5cfpt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Casino Party Time (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cfpte, sc5cfpt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Casino Party Time (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cfptf, sc5cfpt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Casino Party Time (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cfptg, sc5cfpt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Casino Party Time (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cfpth, sc5cfpt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Casino Party Time (Bellfruit) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cfpti, sc5cfpt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Casino Party Time (Bellfruit) (Scorpion 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1359 CASINO CRAZY FRUITS PARTY PR1359 TB CRAZY F P SOUNDS11 -GAME( 200?, sc5cfptj, sc5cfpt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Casino Party Time (Bellfruit) (Scorpion 5) (set 11)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cfptk, sc5cfpt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Casino Party Time (Bellfruit) (Scorpion 5) (set 12)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cfptl, sc5cfpt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Casino Party Time (Bellfruit) (Scorpion 5) (set 13)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cfptm, sc5cfpt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Casino Party Time (Bellfruit) (Scorpion 5) (set 14)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5cfptj, sc5cfpt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Casino Party Time (Bellfruit) (Scorpion 5) (set 11)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cfptk, sc5cfpt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Casino Party Time (Bellfruit) (Scorpion 5) (set 12)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cfptl, sc5cfpt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Casino Party Time (Bellfruit) (Scorpion 5) (set 13)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cfptm, sc5cfpt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Casino Party Time (Bellfruit) (Scorpion 5) (set 14)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1430 CASINO CRAZY FRUITS SIT DOWN PR1430 CRAZY F SIT D SOUNDS11 -GAME( 200?, sc5cfptn, sc5cfpt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Casino Party Time (Bellfruit) (Scorpion 5) (set 15)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cfpto, sc5cfpt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Casino Party Time (Bellfruit) (Scorpion 5) (set 16)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cfptp, sc5cfpt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Casino Party Time (Bellfruit) (Scorpion 5) (set 17)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cfptq, sc5cfpt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Casino Party Time (Bellfruit) (Scorpion 5) (set 18)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cfptr, sc5cfpt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Casino Party Time (Bellfruit) (Scorpion 5) (set 19)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cfpts, sc5cfpt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Casino Party Time (Bellfruit) (Scorpion 5) (set 20)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5cfptn, sc5cfpt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Casino Party Time (Bellfruit) (Scorpion 5) (set 15)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cfpto, sc5cfpt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Casino Party Time (Bellfruit) (Scorpion 5) (set 16)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cfptp, sc5cfpt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Casino Party Time (Bellfruit) (Scorpion 5) (set 17)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cfptq, sc5cfpt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Casino Party Time (Bellfruit) (Scorpion 5) (set 18)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cfptr, sc5cfpt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Casino Party Time (Bellfruit) (Scorpion 5) (set 19)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cfpts, sc5cfpt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Fruits Casino Party Time (Bellfruit) (Scorpion 5) (set 20)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3418 AWP CRAZY KNIGHTS SCORP5 PR3418 CRAZY KNIGHTS SOUNDS11 CRAZY KNIGHTS S.SITE -GAME( 200?, sc5cknig, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Knights (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ckniga, sc5cknig, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Knights (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cknigb, sc5cknig, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Knights (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cknigc, sc5cknig, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Knights (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5cknig, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Knights (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ckniga, sc5cknig, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Knights (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cknigb, sc5cknig, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Knights (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cknigc, sc5cknig, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Knights (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1741 CRAZY PAYS SCORP5 PR1741 CRAZY PAYS SOUNDS11 CRAZY PAYS S.SITE -GAME( 200?, sc5cpays, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Pays (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cpaysa, sc5cpays, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Pays (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5cpays, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Pays (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cpaysa, sc5cpays, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crazy Pays (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3409 AWP DEAL OR NO DEAL BANKERS BONUS S5 PR3409 BANKERS BONUS SOUNDS11 BANKERS BONUS S.SITE -GAME( 200?, sc5dndbo, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndboa, sc5dndbo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbob, sc5dndbo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndboc, sc5dndbo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbod, sc5dndbo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndboe, sc5dndbo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbof, sc5dndbo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbog, sc5dndbo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndboh, sc5dndbo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndboi, sc5dndbo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndboj, sc5dndbo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 11)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbok, sc5dndbo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 12)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbol, sc5dndbo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 13)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbom, sc5dndbo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 14)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dndbo, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndboa, sc5dndbo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbob, sc5dndbo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndboc, sc5dndbo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbod, sc5dndbo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndboe, sc5dndbo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbof, sc5dndbo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbog, sc5dndbo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndboh, sc5dndbo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndboi, sc5dndbo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndboj, sc5dndbo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 11)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbok, sc5dndbo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 12)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbol, sc5dndbo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 13)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbom, sc5dndbo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 14)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3068 CLUB BEAT THE BANKER BEAT THE BANKER CLUB PR3068 BEAT THE BANKER SOUNDS11 -GAME( 200?, sc5dndbl, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbla, sc5dndbl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndblb, sc5dndbl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndblc, sc5dndbl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbld, sc5dndbl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndble, sc5dndbl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndblf, sc5dndbl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndblg, sc5dndbl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndblh, sc5dndbl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbli, sc5dndbl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndblj, sc5dndbl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 11)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndblk, sc5dndbl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 12)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbll, sc5dndbl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 13)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndblm, sc5dndbl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 14)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbln, sc5dndbl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 15)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndblo, sc5dndbl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 16)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndblp, sc5dndbl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 17)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndblq, sc5dndbl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 18)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndblr, sc5dndbl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 19)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbls, sc5dndbl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 20)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dndbl, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbla, sc5dndbl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndblb, sc5dndbl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndblc, sc5dndbl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbld, sc5dndbl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndble, sc5dndbl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndblf, sc5dndbl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndblg, sc5dndbl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndblh, sc5dndbl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbli, sc5dndbl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndblj, sc5dndbl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 11)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndblk, sc5dndbl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 12)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbll, sc5dndbl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 13)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndblm, sc5dndbl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 14)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbln, sc5dndbl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 15)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndblo, sc5dndbl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 16)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndblp, sc5dndbl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 17)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndblq, sc5dndbl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 18)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndblr, sc5dndbl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 19)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbls, sc5dndbl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 20)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // these contain no 'PROJECT NUMBER' ident string. -GAME( 200?, sc5dndbq, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Deal or No Deal Beat The Banker (Qps) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbqa, sc5dndbq, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Deal or No Deal Beat The Banker (Qps) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbqb, sc5dndbq, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Deal or No Deal Beat The Banker (Qps) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbqc, sc5dndbq, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Deal or No Deal Beat The Banker (Qps) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbqd, sc5dndbq, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Deal or No Deal Beat The Banker (Qps) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbqe, sc5dndbq, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Deal or No Deal Beat The Banker (Qps) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dndbq, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Deal or No Deal Beat The Banker (Qps) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbqa, sc5dndbq, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Deal or No Deal Beat The Banker (Qps) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbqb, sc5dndbq, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Deal or No Deal Beat The Banker (Qps) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbqc, sc5dndbq, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Deal or No Deal Beat The Banker (Qps) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbqd, sc5dndbq, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Deal or No Deal Beat The Banker (Qps) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbqe, sc5dndbq, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Deal or No Deal Beat The Banker (Qps) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3503 AWP DEAL OR NO DEAL COPS AND ROBBERS S5 PR3503 DOND CNR SOUNDS11 DOND COPS S.SITE -GAME( 200?, sc5dndcr, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndcra, sc5dndcr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndcrb, sc5dndcr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndcrc, sc5dndcr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndcrd, sc5dndcr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndcre, sc5dndcr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dndcr, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndcra, sc5dndcr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndcrb, sc5dndcr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndcrc, sc5dndcr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndcrd, sc5dndcr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndcre, sc5dndcr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3545 AWP DESERT ISLAND DEAL S5 PR3545 DOND D I D SOUNDS11 DESERT ISLAND DL S.SITE -GAME( 200?, sc5dndde, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Desert Island Deal (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnddea, sc5dndde, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Desert Island Deal (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnddeb, sc5dndde, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Desert Island Deal (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnddec, sc5dndde, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Desert Island Deal (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndded, sc5dndde, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Desert Island Deal (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnddee, sc5dndde, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Desert Island Deal (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnddef, sc5dndde, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Desert Island Deal (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnddeg, sc5dndde, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Desert Island Deal (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dndde, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Desert Island Deal (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnddea, sc5dndde, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Desert Island Deal (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnddeb, sc5dndde, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Desert Island Deal (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnddec, sc5dndde, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Desert Island Deal (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndded, sc5dndde, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Desert Island Deal (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnddee, sc5dndde, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Desert Island Deal (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnddef, sc5dndde, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Desert Island Deal (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnddeg, sc5dndde, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Desert Island Deal (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3420 AWP DIAMOND DOND S5 PR3420 DIAMOND DOND SOUNDS11 DIAMOND DOND S.SITE -GAME( 200?, sc5dnddi, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Diamond (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnddia, sc5dnddi, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Diamond (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnddib, sc5dnddi, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Diamond (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnddic, sc5dnddi, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Diamond (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dnddi, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Diamond (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnddia, sc5dnddi, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Diamond (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnddib, sc5dnddi, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Diamond (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnddic, sc5dnddi, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Diamond (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3313 AWP DEAL OR NO DEAL DOUBLE TAKE S5 PR3313 DOUBLE TAKE SOUNDS11 DOUBLE TAKE S.SITE -GAME( 200?, sc5dnddt, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Double Take (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnddta, sc5dnddt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Double Take (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnddtb, sc5dnddt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Double Take (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnddtc, sc5dnddt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Double Take (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnddtd, sc5dnddt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Double Take (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnddte, sc5dnddt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Double Take (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnddtf, sc5dnddt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Double Take (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dnddt, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Double Take (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnddta, sc5dnddt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Double Take (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnddtb, sc5dnddt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Double Take (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnddtc, sc5dnddt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Double Take (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnddtd, sc5dnddt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Double Take (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnddte, sc5dnddt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Double Take (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnddtf, sc5dnddt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Double Take (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3316 AWP DOND DREAM OFFER S5 PR3316 DREAM OFFER SOUNDS11 DREAM OFFER S.SITE -GAME( 200?, sc5dnddo, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Dream Offer (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnddoa, sc5dnddo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Dream Offer (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnddob, sc5dnddo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Dream Offer (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnddoc, sc5dnddo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Dream Offer (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dnddo, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Dream Offer (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnddoa, sc5dnddo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Dream Offer (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnddob, sc5dnddo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Dream Offer (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnddoc, sc5dnddo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Dream Offer (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3432 AWP DEAL OR NO DEAL FEELING LUCKY SCORP5 PR3309 FEELING LUCKY SOUNDS11 FEELING LUCKY S.SITE -GAME( 200?, sc5dndfl, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Feeling Lucky (PR3432) (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndfla, sc5dndfl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Feeling Lucky (PR3432) (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dndfl, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Feeling Lucky (PR3432) (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndfla, sc5dndfl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Feeling Lucky (PR3432) (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3309 AWP DEAL OR NO DEAL FEELING LUCKY SCORP5 PR3309 FEELING LUCKY SOUNDS11 FEELING LUCKY S.SITE -GAME( 200?, sc5dndflb, sc5dndfl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Feeling Lucky (PR3309) (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndflc, sc5dndfl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Feeling Lucky (PR3309) (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndfld, sc5dndfl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Feeling Lucky (PR3309) (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndfle, sc5dndfl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Feeling Lucky (PR3309) (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dndflb, sc5dndfl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Feeling Lucky (PR3309) (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndflc, sc5dndfl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Feeling Lucky (PR3309) (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndfld, sc5dndfl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Feeling Lucky (PR3309) (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndfle, sc5dndfl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Feeling Lucky (PR3309) (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3501 AWP DEAL OR NO DEAL GAME ON SCORP5 PR3501 DOND GAME ON SOUNDS11 DOND GAME ON S.SITE -GAME( 200?, sc5dndgo, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Game On (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndgoa, sc5dndgo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Game On (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dndgo, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Game On (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndgoa, sc5dndgo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Game On (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3310 AWP DEAL OR NO DEAL GOLD S5 PR3310 DOND GOLD SOUNDS11 DOND GOLD S.SITE -GAME( 200?, sc5dndgl, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Gold (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndgla, sc5dndgl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Gold (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndglb, sc5dndgl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Gold (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndglc, sc5dndgl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Gold (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndgld, sc5dndgl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Gold (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndgle, sc5dndgl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Gold (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndglf, sc5dndgl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Gold (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndglg, sc5dndgl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Gold (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndglh, sc5dndgl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Gold (Bellfruit) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndgli, sc5dndgl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Gold (Bellfruit) (Scorpion 5) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndglj, sc5dndgl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Gold (Bellfruit) (Scorpion 5) (set 11)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndglk, sc5dndgl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Gold (Bellfruit) (Scorpion 5) (set 12)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dndgl, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Gold (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndgla, sc5dndgl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Gold (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndglb, sc5dndgl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Gold (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndglc, sc5dndgl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Gold (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndgld, sc5dndgl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Gold (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndgle, sc5dndgl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Gold (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndglf, sc5dndgl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Gold (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndglg, sc5dndgl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Gold (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndglh, sc5dndgl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Gold (Bellfruit) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndgli, sc5dndgl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Gold (Bellfruit) (Scorpion 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndglj, sc5dndgl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Gold (Bellfruit) (Scorpion 5) (set 11)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndglk, sc5dndgl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Gold (Bellfruit) (Scorpion 5) (set 12)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3415 AWP DEAL OR NO DEAL LIVE THE DREAM S5 PR3415 LIVE THE DREAM SOUNDS11 LIVE THE DREAM S.SITE -GAME( 200?, sc5dndld, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Live The Dream (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndlda, sc5dndld, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Live The Dream (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndldb, sc5dndld, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Live The Dream (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndldc, sc5dndld, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Live The Dream (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dndld, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Live The Dream (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndlda, sc5dndld, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Live The Dream (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndldb, sc5dndld, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Live The Dream (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndldc, sc5dndld, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Live The Dream (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3407 AWP DEAL OR NO DEAL MAKE OR BREAK S5 PR3407 MAKE OR BREAK SOUNDS11 MAKE OR BREAK S.SITE -GAME( 200?, sc5dndmb, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndmba, sc5dndmb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndmbb, sc5dndmb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndmbc, sc5dndmb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndmbd, sc5dndmb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndmbe, sc5dndmb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndmbf, sc5dndmb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndmbg, sc5dndmb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndmbh, sc5dndmb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndmbi, sc5dndmb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndmbj, sc5dndmb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 11)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndmbk, sc5dndmb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 12)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dndmb, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndmba, sc5dndmb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndmbb, sc5dndmb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndmbc, sc5dndmb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndmbd, sc5dndmb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndmbe, sc5dndmb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndmbf, sc5dndmb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndmbg, sc5dndmb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndmbh, sc5dndmb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndmbi, sc5dndmb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndmbj, sc5dndmb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 11)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndmbk, sc5dndmb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 12)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3411 AWP MEGA DEAL OR NO DEAL S5 PR3411 MEGA DOND SOUNDS11 MEGA DOND S.SITE -GAME( 200?, sc5dndmd, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Mega Deal or No Deal (PR3411) (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndmda, sc5dndmd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Mega Deal or No Deal (PR3411) (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndmdd, sc5dndmd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Mega Deal or No Deal (PR3411) (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndmde, sc5dndmd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Mega Deal or No Deal (PR3411) (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndmdf, sc5dndmd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Mega Deal or No Deal (PR3411) (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndmdi, sc5dndmd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Mega Deal or No Deal (PR3411) (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndmdj, sc5dndmd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Mega Deal or No Deal (PR3411) (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndmdk, sc5dndmd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Mega Deal or No Deal (PR3411) (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dndmd, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Mega Deal or No Deal (PR3411) (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndmda, sc5dndmd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Mega Deal or No Deal (PR3411) (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndmdd, sc5dndmd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Mega Deal or No Deal (PR3411) (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndmde, sc5dndmd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Mega Deal or No Deal (PR3411) (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndmdf, sc5dndmd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Mega Deal or No Deal (PR3411) (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndmdi, sc5dndmd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Mega Deal or No Deal (PR3411) (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndmdj, sc5dndmd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Mega Deal or No Deal (PR3411) (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndmdk, sc5dndmd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Mega Deal or No Deal (PR3411) (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3496 AWP MEGA DEAL OR NO DEAL S5 PR3411 MEGA DOND SOUNDS11 MEGA DOND S.SITE -GAME( 200?, sc5dndmdb, sc5dndmd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Mega Deal or No Deal (PR3496) (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndmdc, sc5dndmd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Mega Deal or No Deal (PR3496) (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndmdg, sc5dndmd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Mega Deal or No Deal (PR3496) (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndmdh, sc5dndmd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Mega Deal or No Deal (PR3496) (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dndmdb, sc5dndmd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Mega Deal or No Deal (PR3496) (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndmdc, sc5dndmd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Mega Deal or No Deal (PR3496) (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndmdg, sc5dndmd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Mega Deal or No Deal (PR3496) (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndmdh, sc5dndmd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Mega Deal or No Deal (PR3496) (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3404 AWP DEAL OR NO DEAL PLAY IT AGAIN SCORP5 PR3404 PLAY IT AGAIN SOUNDS11 PLAY IT AGAIN S.SITE -GAME( 200?, sc5dndpa, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Play It Again (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndpaa, sc5dndpa, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Play It Again (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndpab, sc5dndpa, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Play It Again (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndpac, sc5dndpa, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Play It Again (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dndpa, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Play It Again (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndpaa, sc5dndpa, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Play It Again (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndpab, sc5dndpa, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Play It Again (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndpac, sc5dndpa, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Play It Again (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3505 AWP DEAL OR NO DEAL PLAY THE GAME S5 PR3505 PLAY THE GAME SOUNDS11 PLAY THE GAME S.SITE -GAME( 200?, sc5ddptg, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Play The Game (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ddptga, sc5ddptg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Play The Game (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ddptgb, sc5ddptg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Play The Game (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ddptgc, sc5ddptg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Play The Game (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5ddptg, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Play The Game (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ddptga, sc5ddptg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Play The Game (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ddptgb, sc5ddptg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Play The Game (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ddptgc, sc5ddptg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Play The Game (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3303 AWP DEAL OR NO DEAL THE PLAYERS CHOICE SCORP5 PR3303 PLAYERS CHOICE SOUNDS11 PLAYERS CHOICE S.SITE -GAME( 200?, sc5ddply, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Player's Choice (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ddplya, sc5ddply, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Player's Choice (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5ddply, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Player's Choice (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ddplya, sc5ddply, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Player's Choice (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3419 AWP DOND ROAD TO RICHES SCORP5 PR3419 ROAD TO RICHES SOUNDS11 ROAD TO RICHES S.SITE -GAME( 200?, sc5dndrr, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Road To Riches (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndrra, sc5dndrr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Road To Riches (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndrrb, sc5dndrr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Road To Riches (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndrrc, sc5dndrr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Road To Riches (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndrrd, sc5dndrr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Road To Riches (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndrre, sc5dndrr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Road To Riches (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dndrr, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Road To Riches (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndrra, sc5dndrr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Road To Riches (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndrrb, sc5dndrr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Road To Riches (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndrrc, sc5dndrr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Road To Riches (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndrrd, sc5dndrr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Road To Riches (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndrre, sc5dndrr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Road To Riches (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3239 AWP SIMPLY DEAL OR NO DEAL SCORP5 PR3219 SIMPLY DOND SOUNDS11 SIMPLY DOND S.SITE -GAME( 200?, sc5dndsi, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Simply Deal or No Deal (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndsia, sc5dndsi, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Simply Deal or No Deal (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndsib, sc5dndsi, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Simply Deal or No Deal (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndsic, sc5dndsi, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Simply Deal or No Deal (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndsid, sc5dndsi, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Simply Deal or No Deal (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dndsi, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Simply Deal or No Deal (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndsia, sc5dndsi, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Simply Deal or No Deal (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndsib, sc5dndsi, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Simply Deal or No Deal (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndsic, sc5dndsi, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Simply Deal or No Deal (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndsid, sc5dndsi, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Simply Deal or No Deal (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3405 AWP DEAL OR NO DEAL THE BANKER RINGS TWICE S5 PR3405 DOND BANKER SOUNDS11 DOND THE BANKER S.SITE -GAME( 200?, sc5dndrt, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Banker Rings Twice (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndrta, sc5dndrt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Banker Rings Twice (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndrtb, sc5dndrt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Banker Rings Twice (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndrtc, sc5dndrt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Banker Rings Twice (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndrtd, sc5dndrt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Banker Rings Twice (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndrte, sc5dndrt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Banker Rings Twice (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dndrt, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Banker Rings Twice (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndrta, sc5dndrt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Banker Rings Twice (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndrtb, sc5dndrt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Banker Rings Twice (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndrtc, sc5dndrt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Banker Rings Twice (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndrtd, sc5dndrt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Banker Rings Twice (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndrte, sc5dndrt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Banker Rings Twice (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3412 AWP DEAL OR NO DEAL THE PERFECT DEAL SCORP5 PR3412 PERFECT DEAL SOUNDS11 THE PERFECT DEAL S.SITE -GAME( 200?, sc5dndpd, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Deal (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndpda, sc5dndpd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Deal (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndpdb, sc5dndpd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Deal (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndpdc, sc5dndpd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Deal (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndpdd, sc5dndpd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Deal (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndpde, sc5dndpd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Deal (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dndpd, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Deal (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndpda, sc5dndpd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Deal (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndpdb, sc5dndpd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Deal (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndpdc, sc5dndpd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Deal (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndpdd, sc5dndpd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Deal (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndpde, sc5dndpd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Deal (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3303 AWP DEAL OR NO DEAL THE PLAYERS CHOICE SCORP5 PR3303 PLAYERS CHOICE SOUNDS11 PLAYERS CHOICE S.SITE -GAME( 200?, sc5dndpc, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Players Choice (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndpca, sc5dndpc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Players Choice (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dndpc, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Players Choice (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndpca, sc5dndpc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Players Choice (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3416 AWP DEAL OR NO DEAL THINK BIG SCORP5 PR3416 DOND THINK BIG SOUNDS11 DOND THINK BIG S.SITE -GAME( 200?, sc5dndtb, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Think Big (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndtba, sc5dndtb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Think Big (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dndtb, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Think Big (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndtba, sc5dndtb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Think Big (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2323 DEVIL OF A DEAL DOAD SOUNDS DEVIL OF A DEAL S.SITE -GAME( 200?, sc5devil, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Devil Of A Deal (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5devila, sc5devil, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Devil Of A Deal (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5devilb, sc5devil, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Devil Of A Deal (Mazooma) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5devilc, sc5devil, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Devil Of A Deal (Mazooma) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5devil, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Devil Of A Deal (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5devila, sc5devil, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Devil Of A Deal (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5devilb, sc5devil, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Devil Of A Deal (Mazooma) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5devilc, sc5devil, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Devil Of A Deal (Mazooma) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3007 AWP DRAC PACK SCORP5 PR3007 DRACPACK SOUNDS11 DRAC PACK S.SITE -GAME( 200?, sc5dracp, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Drac Pack (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dracpa, sc5dracp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Drac Pack (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dracp, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Drac Pack (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dracpa, sc5dracp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Drac Pack (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3306 AWP FAMILY GUY BOOZE HOUND SCORP5 PR3306 BOOZE HOUND SOUNDS11 BOOZE HOUND S.SITE -GAME( 200?, sc5fgbh, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Family Guy Booze Hound (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5fgbha, sc5fgbh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Family Guy Booze Hound (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5fgbhb, sc5fgbh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Family Guy Booze Hound (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5fgbhc, sc5fgbh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Family Guy Booze Hound (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5fgbh, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Family Guy Booze Hound (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5fgbha, sc5fgbh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Family Guy Booze Hound (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5fgbhb, sc5fgbh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Family Guy Booze Hound (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5fgbhc, sc5fgbh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Family Guy Booze Hound (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3301 AWP FAMILY GUY GRIFFIN PLUMBING S5 PR3301 GRIFFIN PLUMB SOUNDS11 GRIFFIN PLUMBING S.SITE -GAME( 200?, sc5fggp, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Family Guy Griffin Plumbing (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5fggpa, sc5fggp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Family Guy Griffin Plumbing (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5fggpb, sc5fggp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Family Guy Griffin Plumbing (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5fggpc, sc5fggp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Family Guy Griffin Plumbing (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5fggpd, sc5fggp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Family Guy Griffin Plumbing (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5fggpe, sc5fggp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Family Guy Griffin Plumbing (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5fggpf, sc5fggp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Family Guy Griffin Plumbing (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5fggpg, sc5fggp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Family Guy Griffin Plumbing (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5fggp, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Family Guy Griffin Plumbing (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5fggpa, sc5fggp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Family Guy Griffin Plumbing (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5fggpb, sc5fggp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Family Guy Griffin Plumbing (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5fggpc, sc5fggp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Family Guy Griffin Plumbing (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5fggpd, sc5fggp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Family Guy Griffin Plumbing (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5fggpe, sc5fggp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Family Guy Griffin Plumbing (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5fggpf, sc5fggp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Family Guy Griffin Plumbing (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5fggpg, sc5fggp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Family Guy Griffin Plumbing (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR IT FAST CASH FASTCASHSOUND FAST CASH -GAME( 200?, sc5fast, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Fast Cash (Qps) (Scorpion 5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5fast, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Fast Cash (Qps) (Scorpion 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3061 CLUB FIGHT NIGHT FIGHT NIGHT CLUB PR3061 CLUB FIGHT NIGHT SOUNDS11 CLUB FIGHT NIGHT -GAME( 200?, sc5fnclb, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Fight Night Club (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5fnclba, sc5fnclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Fight Night Club (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5fnclbb, sc5fnclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Fight Night Club (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5fnclbc, sc5fnclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Fight Night Club (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5fnclbd, sc5fnclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Fight Night Club (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5fnclbe, sc5fnclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Fight Night Club (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5fnclb, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Fight Night Club (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5fnclba, sc5fnclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Fight Night Club (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5fnclbb, sc5fnclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Fight Night Club (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5fnclbc, sc5fnclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Fight Night Club (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5fnclbd, sc5fnclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Fight Night Club (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5fnclbe, sc5fnclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Fight Night Club (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1939 FIRE N DICE PR1919 FIRE N DICE SOUNDS11 FIRE N DICE S.SITE -GAME( 200?, sc5fdice, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Fire 'n' Dice (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5fdicea, sc5fdice, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Fire 'n' Dice (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5fdice, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Fire 'n' Dice (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5fdicea, sc5fdice, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Fire 'n' Dice (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1602 AWP FIRESTARTER SCORP5 PR1602 FIRESTARTER SOUNDS11 FIRESTARTER S.SITE -GAME( 200?, sc5fires, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Firestarter (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5firesa, sc5fires, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Firestarter (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5firesb, sc5fires, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Firestarter (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5firesc, sc5fires, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Firestarter (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5fires, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Firestarter (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5firesa, sc5fires, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Firestarter (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5firesb, sc5fires, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Firestarter (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5firesc, sc5fires, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Firestarter (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2418 FLASH THE CASH FLASHCASH SOUNDS FLASHTHECASH -GAME( 200?, sc5ftcas, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Flash The Cash (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ftcasa, sc5ftcas, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Flash The Cash (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5ftcas, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Flash The Cash (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ftcasa, sc5ftcas, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Flash The Cash (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2319 FRUIT LOOP FLOOP SOUNDS FRUIT LOOP -GAME( 200?, sc5floop, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Fruit Loops (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5floopa, sc5floop, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Fruit Loops (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5floop, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Fruit Loops (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5floopa, sc5floop, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Fruit Loops (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1404 GET RICH QUICK PR1404 GET RICH QUICK SOUNDS11 -GAME( 200?, sc5grq, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Get Rich Quick (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5grqa, sc5grq, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Get Rich Quick (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5grqb, sc5grq, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Get Rich Quick (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5grqc, sc5grq, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Get Rich Quick (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5grq, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Get Rich Quick (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5grqa, sc5grq, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Get Rich Quick (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5grqb, sc5grq, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Get Rich Quick (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5grqc, sc5grq, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Get Rich Quick (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1403 GOLD FEVER PR1403 GOLD FEVER SOUNDS11 -GAME( 200?, sc5gldfv, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gold Fever (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gldfva, sc5gldfv, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gold Fever (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gldfvb, sc5gldfv, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gold Fever (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gldfvc, sc5gldfv, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gold Fever (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gldfvd, sc5gldfv, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gold Fever (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gldfve, sc5gldfv, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gold Fever (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gldfvf, sc5gldfv, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gold Fever (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gldfvg, sc5gldfv, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gold Fever (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5gldfv, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gold Fever (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gldfva, sc5gldfv, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gold Fever (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gldfvb, sc5gldfv, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gold Fever (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gldfvc, sc5gldfv, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gold Fever (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gldfvd, sc5gldfv, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gold Fever (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gldfve, sc5gldfv, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gold Fever (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gldfvf, sc5gldfv, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gold Fever (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gldfvg, sc5gldfv, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gold Fever (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3410 AWP GOLDEN GOALS SCORP5 PR3410 GOLDEN GOALS SOUNDS11 GOLDEN GOALS S.SITE -GAME( 200?, sc5gldgo, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Golden Goals (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gldgoa, sc5gldgo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Golden Goals (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5gldgo, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Golden Goals (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gldgoa, sc5gldgo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Golden Goals (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2203 GOLDEN SPINNER GSPINSND (top box?) -GAME( 200?, sc5gldsp, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Golden Spinner (PR2203) (Mazooma) (Scorpion 5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5gldsp, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Golden Spinner (PR2203) (Mazooma) (Scorpion 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2546 GOLDEN SPINNER Bingo Version 011 GSPINSND GOLDEN SPINNER -GAME( 200?, sc5gldspa, sc5gldsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Golden Spinner Bingo (011) (PR2546) (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gldspb, sc5gldsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Golden Spinner Bingo (011) (PR2546) (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gldspc, sc5gldsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Golden Spinner Bingo (011) (PR2546) (Mazooma) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gldspe, sc5gldsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Golden Spinner Bingo (011) (PR2546) (Mazooma) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gldspg, sc5gldsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Golden Spinner Bingo (011) (PR2546) (Mazooma) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gldspi, sc5gldsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Golden Spinner Bingo (011) (PR2546) (Mazooma) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gldspj, sc5gldsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Golden Spinner Bingo (011) (PR2546) (Mazooma) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gldspk, sc5gldsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Golden Spinner Bingo (011) (PR2546) (Mazooma) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gldspl, sc5gldsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Golden Spinner Bingo (011) (PR2546) (Mazooma) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gldspm, sc5gldsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Golden Spinner Bingo (011) (PR2546) (Mazooma) (Scorpion 5) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gldspo, sc5gldsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Golden Spinner Bingo (011) (PR2546) (Mazooma) (Scorpion 5) (set 11)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5gldspa, sc5gldsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Golden Spinner Bingo (011) (PR2546) (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gldspb, sc5gldsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Golden Spinner Bingo (011) (PR2546) (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gldspc, sc5gldsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Golden Spinner Bingo (011) (PR2546) (Mazooma) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gldspe, sc5gldsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Golden Spinner Bingo (011) (PR2546) (Mazooma) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gldspg, sc5gldsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Golden Spinner Bingo (011) (PR2546) (Mazooma) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gldspi, sc5gldsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Golden Spinner Bingo (011) (PR2546) (Mazooma) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gldspj, sc5gldsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Golden Spinner Bingo (011) (PR2546) (Mazooma) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gldspk, sc5gldsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Golden Spinner Bingo (011) (PR2546) (Mazooma) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gldspl, sc5gldsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Golden Spinner Bingo (011) (PR2546) (Mazooma) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gldspm, sc5gldsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Golden Spinner Bingo (011) (PR2546) (Mazooma) (Scorpion 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gldspo, sc5gldsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Golden Spinner Bingo (011) (PR2546) (Mazooma) (Scorpion 5) (set 11)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2546 GOLDEN SPINNER Arcade Version 061 GSPINSND GOLDEN SPINNER -GAME( 200?, sc5gldspd, sc5gldsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Golden Spinner Arcade (061) (PR2546) (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gldspf, sc5gldsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Golden Spinner Arcade (061) (PR2546) (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gldsph, sc5gldsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Golden Spinner Arcade (061) (PR2546) (Mazooma) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gldspn, sc5gldsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Golden Spinner Arcade (061) (PR2546) (Mazooma) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gldspp, sc5gldsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Golden Spinner Arcade (061) (PR2546) (Mazooma) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5gldspd, sc5gldsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Golden Spinner Arcade (061) (PR2546) (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gldspf, sc5gldsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Golden Spinner Arcade (061) (PR2546) (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gldsph, sc5gldsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Golden Spinner Arcade (061) (PR2546) (Mazooma) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gldspn, sc5gldsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Golden Spinner Arcade (061) (PR2546) (Mazooma) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gldspp, sc5gldsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Golden Spinner Arcade (061) (PR2546) (Mazooma) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // Z052 GRANDMASTER PR000052 GRANDMASTER 1 GRANDMASTER AWP (looks like a QPS header) -GAME( 200?, sc5gmclb, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Grand Master Cash (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gmclba, sc5gmclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Grand Master Cash (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gmclbb, sc5gmclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Grand Master Cash (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gmclbc, sc5gmclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Grand Master Cash (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5gmclb, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Grand Master Cash (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gmclba, sc5gmclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Grand Master Cash (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gmclbb, sc5gmclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Grand Master Cash (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gmclbc, sc5gmclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Grand Master Cash (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2318 HI ROLLER HIROLL SOUNDS HIGH ROLLER -GAME( 200?, sc5hirol, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","High Roller (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hirola, sc5hirol, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","High Roller (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hirolb, sc5hirol, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","High Roller (Mazooma) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hirolc, sc5hirol, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","High Roller (Mazooma) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hirold, sc5hirol, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","High Roller (Mazooma) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hirole, sc5hirol, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","High Roller (Mazooma) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5hirol, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","High Roller (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hirola, sc5hirol, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","High Roller (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hirolb, sc5hirol, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","High Roller (Mazooma) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hirolc, sc5hirol, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","High Roller (Mazooma) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hirold, sc5hirol, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","High Roller (Mazooma) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hirole, sc5hirol, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","High Roller (Mazooma) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1405 THE HULK PR1405 THE HULK SOUNDS11 -GAME( 200?, sc5hulk, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Hulk (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hulka, sc5hulk, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Hulk (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hulkb, sc5hulk, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Hulk (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hulkc, sc5hulk, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Hulk (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hulkd, sc5hulk, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Hulk (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hulke, sc5hulk, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Hulk (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hulkf, sc5hulk, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Hulk (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hulkg, sc5hulk, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Hulk (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hulkh, sc5hulk, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Hulk (Bellfruit) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hulki, sc5hulk, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Hulk (Bellfruit) (Scorpion 5) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5hulk, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Hulk (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hulka, sc5hulk, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Hulk (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hulkb, sc5hulk, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Hulk (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hulkc, sc5hulk, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Hulk (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hulkd, sc5hulk, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Hulk (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hulke, sc5hulk, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Hulk (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hulkf, sc5hulk, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Hulk (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hulkg, sc5hulk, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Hulk (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hulkh, sc5hulk, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Hulk (Bellfruit) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hulki, sc5hulk, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Hulk (Bellfruit) (Scorpion 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2316 IT'S A BULLSEYE ITSBULLSEYE SOUNDS IT'S A BULLSEYE -GAME( 200?, sc5iab, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","It's A Bullseye (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5iaba, sc5iab, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","It's A Bullseye (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5iab, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","It's A Bullseye (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5iaba, sc5iab, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","It's A Bullseye (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2450 ITALIAN JOB BTDO ITLY SOUNDS NITH -GAME( 200?, sc5ijbdo, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Italian Job - Blow The Doors Off (Qps) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ijbdoa, sc5ijbdo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Italian Job - Blow The Doors Off (Qps) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ijbdob, sc5ijbdo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Italian Job - Blow The Doors Off (Qps) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ijbdoc, sc5ijbdo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Italian Job - Blow The Doors Off (Qps) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5ijbdo, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Italian Job - Blow The Doors Off (Qps) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ijbdoa, sc5ijbdo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Italian Job - Blow The Doors Off (Qps) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ijbdob, sc5ijbdo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Italian Job - Blow The Doors Off (Qps) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ijbdoc, sc5ijbdo, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Italian Job - Blow The Doors Off (Qps) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2077KING X KING X MAZ BARKX SOUNDS KING X 3 -GAME( 200?, sc5kingx, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","King X (PR2077) (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5kingxa, sc5kingx, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","King X (PR2077) (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5kingx, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","King X (PR2077) (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5kingxa, sc5kingx, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","King X (PR2077) (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2336KING X KING X MAZ BARKX SOUNDS KING X 3P -GAME( 200?, sc5kingxc, sc5kingx, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","King X 3P (PR2336) (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5kingxe, sc5kingx, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","King X 3P (PR2336) (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5kingxc, sc5kingx, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","King X 3P (PR2336) (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5kingxe, sc5kingx, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","King X 3P (PR2336) (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2279 KING X TRIPLE BARKX SOUNDS + + -GAME( 200?, sc5kingxb, sc5kingx, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","King X Triple (PR2279) (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5kingxd, sc5kingx, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","King X Triple (PR2279) (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5kingxb, sc5kingx, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","King X Triple (PR2279) (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5kingxd, sc5kingx, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","King X Triple (PR2279) (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2344 TOSSTHEMONKEY TOSTM SOUNDS TOSS THE MONKEY -GAME( 200?, sc5monky, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monkey Business / Toss The Monkey (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5monkya, sc5monky, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monkey Business / Toss The Monkey (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5monky, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monkey Business / Toss The Monkey (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5monkya, sc5monky, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monkey Business / Toss The Monkey (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3431 AWP MONOPOLY BOOM OR BUST CLASSIC S5 PR3307 MPOLY BOOM OR B SOUNDS11 BOOM OR BUST S.SITE -GAME( 200?, sc5mobob, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Boom Or Bust Classic (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5moboba, sc5mobob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Boom Or Bust Classic (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mobobd, sc5mobob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Boom Or Bust Classic (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mobobe, sc5mobob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Boom Or Bust Classic (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5mobob, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Boom Or Bust Classic (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5moboba, sc5mobob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Boom Or Bust Classic (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mobobd, sc5mobob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Boom Or Bust Classic (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mobobe, sc5mobob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Boom Or Bust Classic (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3307 AWP MONOPOLY BOOM OR BUST S5 PR3307 MPOLY BOOM OR B SOUNDS11 BOOM OR BUST S.SITE -GAME( 200?, sc5mobobb, sc5mobob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Boom Or Bust (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mobobc, sc5mobob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Boom Or Bust (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mobobf, sc5mobob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Boom Or Bust (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mobobg, sc5mobob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Boom Or Bust (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mobobh, sc5mobob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Boom Or Bust (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mobobi, sc5mobob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Boom Or Bust (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5mobobb, sc5mobob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Boom Or Bust (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mobobc, sc5mobob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Boom Or Bust (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mobobf, sc5mobob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Boom Or Bust (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mobobg, sc5mobob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Boom Or Bust (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mobobh, sc5mobob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Boom Or Bust (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mobobi, sc5mobob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Boom Or Bust (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3504 AWP MONOPOLY AUCTION SCORP5 PR3504 MPOLY AUCTION SOUNDS11 MONO AUCTION S.SITE -GAME( 200?, sc5mogta, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Go To Auction (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mogtaa, sc5mogta, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Go To Auction (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mogtab, sc5mogta, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Go To Auction (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mogtac, sc5mogta, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Go To Auction (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mogtad, sc5mogta, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Go To Auction (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mogtae, sc5mogta, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Go To Auction (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5mogta, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Go To Auction (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mogtaa, sc5mogta, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Go To Auction (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mogtab, sc5mogta, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Go To Auction (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mogtac, sc5mogta, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Go To Auction (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mogtad, sc5mogta, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Go To Auction (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mogtae, sc5mogta, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Go To Auction (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3311 AWP MONOPOLY MILLIONAIRE SCORP5 PR3311 MPOLY MILL SOUNDS11 MILLIONAIRE S.SITE -GAME( 200?, sc5momil, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Millionaire (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5momila, sc5momil, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Millionaire (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5momilb, sc5momil, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Millionaire (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5momilc, sc5momil, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Millionaire (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5momild, sc5momil, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Millionaire (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5momile, sc5momil, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Millionaire (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5momil, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Millionaire (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5momila, sc5momil, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Millionaire (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5momilb, sc5momil, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Millionaire (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5momilc, sc5momil, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Millionaire (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5momild, sc5momil, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Millionaire (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5momile, sc5momil, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Millionaire (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1945 CLUB MONEYBAGS MONEY BAGS CLUB PR1955 C M MONEYBAGS SOUNDS11 DEAL OR NO DEAL -GAME( 200?, sc5mombc, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Money Bags Club (PR1945) (BFM) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mombca, sc5mombc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Money Bags Club (PR1945) (BFM) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mombcb, sc5mombc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Money Bags Club (PR1945) (BFM) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mombcc, sc5mombc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Money Bags Club (PR1945) (BFM) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5mombc, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Money Bags Club (PR1945) (BFM) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mombca, sc5mombc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Money Bags Club (PR1945) (BFM) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mombcb, sc5mombc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Money Bags Club (PR1945) (BFM) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mombcc, sc5mombc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Money Bags Club (PR1945) (BFM) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2496 MONOPOLY MONEY SPINNER MONY SOUNDS NITH -GAME( 200?, sc5moms, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Monopoly Money Spinner (PR2496) (Qps) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5momsa, sc5moms, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Monopoly Money Spinner (PR2496) (Qps) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5momsc, sc5moms, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Monopoly Money Spinner (PR2496) (Qps) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5momsd, sc5moms, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Monopoly Money Spinner (PR2496) (Qps) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5moms, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Monopoly Money Spinner (PR2496) (Qps) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5momsa, sc5moms, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Monopoly Money Spinner (PR2496) (Qps) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5momsc, sc5moms, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Monopoly Money Spinner (PR2496) (Qps) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5momsd, sc5moms, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Monopoly Money Spinner (PR2496) (Qps) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2395 MONEY SPINNER MONY SOUNDS NITH (== sc5monsp code?) -GAME( 200?, sc5momsb, sc5moms, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Money Spinner (PR2395) (Qps) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5momse, sc5moms, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Money Spinner (PR2395) (Qps) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5momsb, sc5moms, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Money Spinner (PR2395) (Qps) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5momse, sc5moms, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Money Spinner (PR2395) (Qps) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3408 AWP MONOPOLY PROPERTY LADDER S5 PR3408 MPOLY PROP LAD SOUNDS11 PROPERTY LADDER S.SITE -GAME( 200?, sc5mopl, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Property Ladder (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mopla, sc5mopl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Property Ladder (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5moplb, sc5mopl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Property Ladder (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5moplc, sc5mopl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Property Ladder (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mopld, sc5mopl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Property Ladder (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mople, sc5mopl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Property Ladder (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5moplf, sc5mopl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Property Ladder (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5moplg, sc5mopl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Property Ladder (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5mopl, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Property Ladder (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mopla, sc5mopl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Property Ladder (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5moplb, sc5mopl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Property Ladder (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5moplc, sc5mopl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Property Ladder (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mopld, sc5mopl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Property Ladder (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mople, sc5mopl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Property Ladder (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5moplf, sc5mopl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Property Ladder (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5moplg, sc5mopl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Property Ladder (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2457 ROADTORICHES CLUBROADTORICHES CLUB CRTR SOUNDS CLUB ROAD TO RICHES -GAME( 200?, sc5mor2r, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Monopoly Road To Riches (Qps) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mor2ra, sc5mor2r, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Monopoly Road To Riches (Qps) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5mor2r, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Monopoly Road To Riches (Qps) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mor2ra, sc5mor2r, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Monopoly Road To Riches (Qps) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2449 PR2449,MONOPOLY WA MONOPOLY WA MAZ -GAME( 200?, sc5monwa, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Monopoly Win Again (Qps) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5monwaa, sc5monwa, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Monopoly Win Again (Qps) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5monwa, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Monopoly Win Again (Qps) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5monwaa, sc5monwa, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Monopoly Win Again (Qps) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2485 CLUB MONTE CARLO OR BUST CLUB MONTE CARLO CLUB CLUB MONTE SOUNDS CLUB MONTE CARLO -GAME( 200?, sc5cmcob, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Monte Carlo Or Bust Club (Qps) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cmcoba, sc5cmcob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Monte Carlo Or Bust Club (Qps) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cmcobb, sc5cmcob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Monte Carlo Or Bust Club (Qps) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cmcobc, sc5cmcob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Monte Carlo Or Bust Club (Qps) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5cmcob, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Monte Carlo Or Bust Club (Qps) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cmcoba, sc5cmcob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Monte Carlo Or Bust Club (Qps) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cmcobb, sc5cmcob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Monte Carlo Or Bust Club (Qps) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cmcobc, sc5cmcob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Monte Carlo Or Bust Club (Qps) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2166 NUN N ROSES NANR SOUNDS NUNS N ROSES -GAME( 200?, sc5nunsb, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Nuns 'n' Roses (Bellfruit) (Scorpion 5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5nunsb, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Nuns 'n' Roses (Bellfruit) (Scorpion 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3315 AWP OVER THE RAINBOW SCORP5 PR3315 OV THE RAINBOW SOUNDS11 OVER THE RAINBOW S.SITE -GAME( 200?, sc5rainb, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Over The Rainbow (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5rainba, sc5rainb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Over The Rainbow (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5rainbb, sc5rainb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Over The Rainbow (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5rainbc, sc5rainb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Over The Rainbow (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5rainbd, sc5rainb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Over The Rainbow (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5rainbe, sc5rainb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Over The Rainbow (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5rainb, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Over The Rainbow (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5rainba, sc5rainb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Over The Rainbow (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5rainbb, sc5rainb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Over The Rainbow (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5rainbc, sc5rainb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Over The Rainbow (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5rainbd, sc5rainb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Over The Rainbow (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5rainbe, sc5rainb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Over The Rainbow (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3015 AWP PARROTS OF THE CARIBBEAN SCORP5 PR3015 P CARIBBEAN SOUNDS11 PARROT CARIBBEAN S.SITE -GAME( 200?, sc5parot, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Parrots Of The Caribbean (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5parota, sc5parot, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Parrots Of The Caribbean (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5parotb, sc5parot, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Parrots Of The Caribbean (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5parotc, sc5parot, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Parrots Of The Caribbean (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5parotd, sc5parot, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Parrots Of The Caribbean (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5parote, sc5parot, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Parrots Of The Caribbean (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5parotf, sc5parot, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Parrots Of The Caribbean (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5parotg, sc5parot, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Parrots Of The Caribbean (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5parot, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Parrots Of The Caribbean (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5parota, sc5parot, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Parrots Of The Caribbean (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5parotb, sc5parot, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Parrots Of The Caribbean (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5parotc, sc5parot, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Parrots Of The Caribbean (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5parotd, sc5parot, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Parrots Of The Caribbean (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5parote, sc5parot, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Parrots Of The Caribbean (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5parotf, sc5parot, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Parrots Of The Caribbean (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5parotg, sc5parot, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Parrots Of The Caribbean (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2411 PILEONTHEPOUNDS PILE SOUNDS PILE -GAME( 200?, sc5pilep, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Pile On The Pounds (Qps) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5pilepa, sc5pilep, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Pile On The Pounds (Qps) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5pilepb, sc5pilep, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Pile On The Pounds (Qps) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5pilepc, sc5pilep, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Pile On The Pounds (Qps) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5pilep, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Pile On The Pounds (Qps) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5pilepa, sc5pilep, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Pile On The Pounds (Qps) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5pilepb, sc5pilep, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Pile On The Pounds (Qps) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5pilepc, sc5pilep, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Pile On The Pounds (Qps) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2306 POTS OF LUCK POTSOFLUCKSOUNDS POTS OF LUCK -GAME( 200?, sc5potsm, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Pots Of Luck (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5potsma, sc5potsm, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Pots Of Luck (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5potsm, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Pots Of Luck (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5potsma, sc5potsm, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Pots Of Luck (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3528 CLUB PUBLIC ENEMY S5 PR3528 PUBLIC ENEMY SOUNDS11 PUBLIC ENEMY S.SITE -GAME( 200?, sc5cpen1, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Public Enemy No1 Club (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cpen1a, sc5cpen1, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Public Enemy No1 Club (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cpen1b, sc5cpen1, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Public Enemy No1 Club (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cpen1c, sc5cpen1, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Public Enemy No1 Club (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5cpen1, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Public Enemy No1 Club (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cpen1a, sc5cpen1, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Public Enemy No1 Club (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cpen1b, sc5cpen1, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Public Enemy No1 Club (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cpen1c, sc5cpen1, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Public Enemy No1 Club (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1406 QUALITY STREAK PR1406 QUALITY STREAK SOUNDS11 -GAME( 200?, sc5qual, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5quala, sc5qual, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5qualb, sc5qual, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5qualc, sc5qual, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5quald, sc5qual, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5quale, sc5qual, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5qualf, sc5qual, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5qualg, sc5qual, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5qualh, sc5qual, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5quali, sc5qual, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5qualj, sc5qual, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 11)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5qualk, sc5qual, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 12)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5quall, sc5qual, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 13)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5qualm, sc5qual, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 14)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5qual, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5quala, sc5qual, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5qualb, sc5qual, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5qualc, sc5qual, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5quald, sc5qual, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5quale, sc5qual, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5qualf, sc5qual, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5qualg, sc5qual, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5qualh, sc5qual, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5quali, sc5qual, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5qualj, sc5qual, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 11)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5qualk, sc5qual, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 12)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5quall, sc5qual, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 13)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5qualm, sc5qual, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 14)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2169 REEL SPIN SHADY TRSS SOUNDS REEL SPIN SHADY -GAME( 200?, sc5rssh, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Reel Spin Shady (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5rssha, sc5rssh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Reel Spin Shady (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5rssh, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Reel Spin Shady (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5rssha, sc5rssh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Reel Spin Shady (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3208 AWP ROAD HOG S5 PR3208 ROAD HOG SOUNDS11 ROAD HOG S.SITE -GAME( 200?, sc5hog, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Road Hog (PR3208) (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hoga, sc5hog, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Road Hog (PR3208) (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5hog, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Road Hog (PR3208) (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hoga, sc5hog, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Road Hog (PR3208) (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3248 ROAD HOG SCORP5 ROAD HOG CLUB PR3248 ROAD HOG SOUNDS11 ROAD HOG -GAME( 200?, sc5rhclb, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Road Hog Club (PR3248) (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5rhclba, sc5rhclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Road Hog Club (PR3248) (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5rhclbb, sc5rhclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Road Hog Club (PR3248) (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5rhclbc, sc5rhclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Road Hog Club (PR3248) (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5rhclbd, sc5rhclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Road Hog Club (PR3248) (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5rhclbe, sc5rhclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Road Hog Club (PR3248) (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5rhclb, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Road Hog Club (PR3248) (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5rhclba, sc5rhclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Road Hog Club (PR3248) (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5rhclbb, sc5rhclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Road Hog Club (PR3248) (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5rhclbc, sc5rhclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Road Hog Club (PR3248) (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5rhclbd, sc5rhclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Road Hog Club (PR3248) (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5rhclbe, sc5rhclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Road Hog Club (PR3248) (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3249 ROAD HOG SCORP5 ROAD HOG FERRY CLUB PR3248 ROAD HOG SOUNDS11 -GAME( 200?, sc5rhclbf, sc5rhclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Road Hog Club (PR3248) (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5rhclbg, sc5rhclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Road Hog Club (PR3248) (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5rhclbf, sc5rhclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Road Hog Club (PR3248) (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5rhclbg, sc5rhclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Road Hog Club (PR3248) (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1774 181104 SHARP SHOOTER PR1774 SHARP SHOOTER 1 SHARP SHOOTER AWP -GAME( 200?, sc5sharp, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Voodoo","Sharp Shooter (Voodoo) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5sharpa, sc5sharp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Voodoo","Sharp Shooter (Voodoo) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5sharp, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Voodoo","Sharp Shooter (Voodoo) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5sharpa, sc5sharp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Voodoo","Sharp Shooter (Voodoo) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // Z056 SHOOTSTARS PR000056 SHOOTSTARS 1 SHOOTSTARS AWP (Qps header?) -GAME( 200?, sc5sfts, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Shoot For The Stars (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5sftsa, sc5sfts, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Shoot For The Stars (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5sftsb, sc5sfts, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Shoot For The Stars (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5sftsc, sc5sfts, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Shoot For The Stars (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5sfts, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Shoot For The Stars (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5sftsa, sc5sfts, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Shoot For The Stars (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5sftsb, sc5sfts, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Shoot For The Stars (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5sftsc, sc5sfts, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Shoot For The Stars (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2466 SNAKE RATTLE AND ROLL SNAKERR SOUNDS SNAKE R AND ROLL -GAME( 200?, sc5srrqp, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Snake Rattle & Roll (Qps) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5srrqpa, sc5srrqp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Snake Rattle & Roll (Qps) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5srrqp, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Snake Rattle & Roll (Qps) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5srrqpa, sc5srrqp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Snake Rattle & Roll (Qps) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3223 AWP SPINIT TO WINIT S5 PR3203 SPIN IT TO W IT SOUNDS11 SPINIT TO WINIT S.SITE -GAME( 200?, sc5sitwi, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Spin It To Win It (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5sitwia, sc5sitwi, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Spin It To Win It (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5sitwi, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Spin It To Win It (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5sitwia, sc5sitwi, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Spin It To Win It (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2205 SPINNING AROUND SPIN SOUNDS SPINNING AROUND -GAME( 200?, sc5spnrn, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Spinning Around (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5spnrna, sc5spnrn, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Spinning Around (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5spnrn, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Spinning Around (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5spnrna, sc5spnrn, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Spinning Around (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR0003 RACE02 -GAME( 200?, sc5srace, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Streak Racer (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5sracea, sc5srace, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Streak Racer (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5srace, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Streak Racer (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5sracea, sc5srace, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Streak Racer (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2355 SUPER SLEUTH SSLEUTH SOUNDS SUPER SLEUTH -GAME( 200?, sc5sleut, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Super Sleuth (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5sleuta, sc5sleut, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Super Sleuth (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5sleut, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Super Sleuth (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5sleuta, sc5sleut, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Super Sleuth (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1630 TRICK SHOT MULTI PLAYER TRICK SHOT MULTI ARCADE PR1630 TRICKSHOTMULT SOUNDS11 -GAME( 200?, sc5tsmp, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Trick Shot Multi Player (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5tsmpa, sc5tsmp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Trick Shot Multi Player (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5tsmp, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Trick Shot Multi Player (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5tsmpa, sc5tsmp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Trick Shot Multi Player (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1606 UP POMPAY PR1636 UP POMPAY SOUNDS11 UP POMPAY S.SITE -GAME( 200?, sc5pompa, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Up Pompay (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5pompaa, sc5pompa, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Up Pompay (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5pompab, sc5pompa, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Up Pompay (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) // incomplete pairing +GAME( 200?, sc5pompa, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Up Pompay (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5pompaa, sc5pompa, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Up Pompay (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5pompab, sc5pompa, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Up Pompay (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // incomplete pairing // PR2402 VAMPIREPAYER VAMP SOUNDS VAMP -GAME( 200?, sc5vamp, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Vampire Payer (Qps) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5vampa, sc5vamp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Vampire Payer (Qps) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5vamp, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Vampire Payer (Qps) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5vampa, sc5vamp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Vampire Payer (Qps) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2176 VIPER ACTIVE VIPA SOUNDS VIPER ACTIVE -GAME( 200?, sc5viper, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Viper Active (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5vipera, sc5viper, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Viper Active (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5viper, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Viper Active (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5vipera, sc5viper, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Viper Active (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2358 VIZ VIZ SOUNDS VIZ -GAME( 200?, sc5viz, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Viz (Qps) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5viza, sc5viz, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Viz (Qps) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5vizb, sc5viz, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Viz (Qps) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5vizc, sc5viz, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Viz (Qps) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5viz, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Viz (Qps) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5viza, sc5viz, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Viz (Qps) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5vizb, sc5viz, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Viz (Qps) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5vizc, sc5viz, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Viz (Qps) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3305 AWP WACKY RACES SCORP5 PR3330 WACKY RACES SOUNDS11 WACKY RACES S.SITE -GAME( 200?, sc5wacky, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Wacky Racers (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5wackya, sc5wacky, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Wacky Racers (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5wackyb, sc5wacky, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Wacky Racers (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5wackyc, sc5wacky, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Wacky Racers (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5wacky, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Wacky Racers (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5wackya, sc5wacky, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Wacky Racers (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5wackyb, sc5wacky, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Wacky Racers (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5wackyc, sc5wacky, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Wacky Racers (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2213 WAR OF THE WORLDS WADS SOUNDS -GAME( 200?, sc5wotw, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","War Of The Wads (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5wotwa, sc5wotw, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","War Of The Wads (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5wotw, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","War Of The Wads (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5wotwa, sc5wotw, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","War Of The Wads (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2196 WILD REELS WILD REELS MAZ WIDR SOUNDS WILD REELS -GAME( 200?, sc5wild, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Wild Reels (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5wilda, sc5wild, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Wild Reels (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5wild, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Wild Reels (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5wilda, sc5wild, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Wild Reels (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2552 WIN CAN ALLEY WINCANALLEYSND WIN CAN ALLEY -GAME( 200?, sc5wca, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Win Can Alley (Qps) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5wcaa, sc5wca, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Win Can Alley (Qps) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5wcad, sc5wca, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Win Can Alley (Qps) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5wcaf, sc5wca, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Win Can Alley (Qps) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5wcah, sc5wca, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Win Can Alley (Qps) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5wcai, sc5wca, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Win Can Alley (Qps) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5wcal, sc5wca, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Win Can Alley (Qps) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5wcan, sc5wca, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Win Can Alley (Qps) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5wca, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Win Can Alley (Qps) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5wcaa, sc5wca, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Win Can Alley (Qps) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5wcad, sc5wca, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Win Can Alley (Qps) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5wcaf, sc5wca, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Win Can Alley (Qps) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5wcah, sc5wca, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Win Can Alley (Qps) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5wcai, sc5wca, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Win Can Alley (Qps) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5wcal, sc5wca, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Win Can Alley (Qps) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5wcan, sc5wca, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Win Can Alley (Qps) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2552 WIN CAN ALLEY 5 pound 10p Version WINCANALLEYSND WIN CAN ALLEY -GAME( 200?, sc5wcab, sc5wca, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Win Can Alley (5 pound 10p version) (Qps) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5wcae, sc5wca, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Win Can Alley (5 pound 10p version) (Qps) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5wcaj, sc5wca, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Win Can Alley (5 pound 10p version) (Qps) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5wcam, sc5wca, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Win Can Alley (5 pound 10p version) (Qps) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5wcab, sc5wca, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Win Can Alley (5 pound 10p version) (Qps) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5wcae, sc5wca, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Win Can Alley (5 pound 10p version) (Qps) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5wcaj, sc5wca, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Win Can Alley (5 pound 10p version) (Qps) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5wcam, sc5wca, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Win Can Alley (5 pound 10p version) (Qps) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2552 WIN CAN ALLEY 5 pound 10p Arcade Version WINCANALLEYSND -GAME( 200?, sc5wcac, sc5wca, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Win Can Alley (5 pound 10p Arcade version) (Qps) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5wcag, sc5wca, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Win Can Alley (5 pound 10p Arcade version) (Qps) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5wcak, sc5wca, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Win Can Alley (5 pound 10p Arcade version) (Qps) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5wcao, sc5wca, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Win Can Alley (5 pound 10p Arcade version) (Qps) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5wcac, sc5wca, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Win Can Alley (5 pound 10p Arcade version) (Qps) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5wcag, sc5wca, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Win Can Alley (5 pound 10p Arcade version) (Qps) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5wcak, sc5wca, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Win Can Alley (5 pound 10p Arcade version) (Qps) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5wcao, sc5wca, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Win Can Alley (5 pound 10p Arcade version) (Qps) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3218 AWP WOK N ROLL S5 PR3218 WOK N ROLL SOUNDS11 WOK N ROLL S.SITE -GAME( 200?, sc5wok, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Wok n' Roll (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5woka, sc5wok, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Wok n' Roll (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5wok, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Wok n' Roll (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5woka, sc5wok, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Wok n' Roll (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2556 RED HOT REELS RHRL SOUNDS RED HOT REELS -GAME( 200?, sc5rhr, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Red Hot Reels (Qps) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5rhra, sc5rhr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Red Hot Reels (Qps) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5rhrb, sc5rhr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Red Hot Reels (Qps) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5rhrc, sc5rhr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Red Hot Reels (Qps) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5rhrd, sc5rhr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Red Hot Reels (Qps) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5rhre, sc5rhr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Red Hot Reels (Qps) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5rhr, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Red Hot Reels (Qps) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5rhra, sc5rhr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Red Hot Reels (Qps) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5rhrb, sc5rhr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Red Hot Reels (Qps) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5rhrc, sc5rhr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Red Hot Reels (Qps) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5rhrd, sc5rhr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Red Hot Reels (Qps) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5rhre, sc5rhr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Red Hot Reels (Qps) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2458 CLUB SNAKE RATTLE AND ROLL CLUB SRAR CLUB CLUB SRAR SND CLUB SNAKE RATTLE AND ROLL -GAME( 200?, sc5srrcl, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Snake Rattle 'n' Roll Club (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5srrcla, sc5srrcl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Snake Rattle 'n' Roll Club (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5srrclb, sc5srrcl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Snake Rattle 'n' Roll Club (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5srrclc, sc5srrcl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Snake Rattle 'n' Roll Club (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5srrcl, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Snake Rattle 'n' Roll Club (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5srrcla, sc5srrcl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Snake Rattle 'n' Roll Club (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5srrclb, sc5srrcl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Snake Rattle 'n' Roll Club (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5srrclc, sc5srrcl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Snake Rattle 'n' Roll Club (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3422 CLUB THE PRIZE IS RIGHT S5 PR3422 PRIZE IS RIGHT SOUNDS11 THE PRIZE IS RIGHT S.SITE -GAME( 200?, sc5pircl, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Prize Is Right Club (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5pircla, sc5pircl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Prize Is Right Club (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5pirclb, sc5pircl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Prize Is Right Club (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5pirclc, sc5pircl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Prize Is Right Club (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5pircld, sc5pircl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Prize Is Right Club (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5pircle, sc5pircl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Prize Is Right Club (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5pirclf, sc5pircl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Prize Is Right Club (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5pirclg, sc5pircl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Prize Is Right Club (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5pircl, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Prize Is Right Club (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5pircla, sc5pircl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Prize Is Right Club (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5pirclb, sc5pircl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Prize Is Right Club (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5pirclc, sc5pircl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Prize Is Right Club (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5pircld, sc5pircl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Prize Is Right Club (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5pircle, sc5pircl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Prize Is Right Club (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5pirclf, sc5pircl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Prize Is Right Club (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5pirclg, sc5pircl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","The Prize Is Right Club (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2457 ROADTORICHES CLUBROADTORICHES CLUB CRTR SOUNDS CLUB ROAD TO RICHES -GAME( 200?, sc5mrrcl, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Road To Riches Club (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mrrcla, sc5mrrcl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Road To Riches Club (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mrrclb, sc5mrrcl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Road To Riches Club (Mazooma) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mrrclc, sc5mrrcl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Road To Riches Club (Mazooma) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5mrrcl, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Road To Riches Club (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mrrcla, sc5mrrcl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Road To Riches Club (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mrrclb, sc5mrrcl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Road To Riches Club (Mazooma) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mrrclc, sc5mrrcl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Road To Riches Club (Mazooma) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // BFGP1234..............G95427832.RAZY_.PR3436 CF COMMUNITY P SOUNDS11. (non-standard header, seems to indicate that these are actually Crazy Fruits Community Parts?) -GAME( 200?, sc5crcpt, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Community Party (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5crcpta, sc5crcpt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Community Party (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5crcptb, sc5crcpt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Community Party (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5crcpt, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Community Party (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5crcpta, sc5crcpt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Community Party (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5crcptb, sc5crcpt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Community Party (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3009 AWP ANT N DECS JIGGY BANK S5 PR3009 JIGGY BANK SOUNDS11 JIGGY BANK S.SITE -GAME( 200?, sc5adjb, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5adjba, sc5adjb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5adjbb, sc5adjb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5adjbc, sc5adjb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5adjbd, sc5adjb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5adjbe, sc5adjb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5adjbf, sc5adjb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5adjbg, sc5adjb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5adjbh, sc5adjb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5adjbi, sc5adjb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5adjbj, sc5adjb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 11)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5adjbk, sc5adjb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 12)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5adjbl, sc5adjb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 13)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5adjbm, sc5adjb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 14)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5adjbn, sc5adjb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 15)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5adjbo, sc5adjb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 16)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5adjbp, sc5adjb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 17)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5adjbq, sc5adjb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 18)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5adjbr, sc5adjb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 19)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5adjbs, sc5adjb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 20)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5adjbt, sc5adjb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 21)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5adjb, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5adjba, sc5adjb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5adjbb, sc5adjb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5adjbc, sc5adjb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5adjbd, sc5adjb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5adjbe, sc5adjb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5adjbf, sc5adjb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5adjbg, sc5adjb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5adjbh, sc5adjb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5adjbi, sc5adjb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5adjbj, sc5adjb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 11)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5adjbk, sc5adjb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 12)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5adjbl, sc5adjb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 13)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5adjbm, sc5adjb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 14)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5adjbn, sc5adjb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 15)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5adjbo, sc5adjb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 16)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5adjbp, sc5adjb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 17)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5adjbq, sc5adjb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 18)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5adjbr, sc5adjb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 19)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5adjbs, sc5adjb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 20)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5adjbt, sc5adjb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 21)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1920 AWP ANT N DECS WTAD S5 PR1940 ADSNT SHOWTIME SOUNDS11 ANTNDECSWTAD S.SITE -GAME( 200?, sc5adwta, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Saturday Night Takeaway Win The Ads (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5adwtaa, sc5adwta, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Saturday Night Takeaway Win The Ads (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5adwta, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Saturday Night Takeaway Win The Ads (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5adwtaa, sc5adwta, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Saturday Night Takeaway Win The Ads (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2200 AROUND THE BOARD AROU SOUNDS AROUND THE BOARD -GAME( 200?, sc5a40, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Around The Board In 40 Days (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5a40a, sc5a40, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Around The Board In 40 Days (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5a40, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Around The Board In 40 Days (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5a40a, sc5a40, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Around The Board In 40 Days (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2301 BANTAM OF THE OPERA BANTAM SOUNDS BANTAMOFTHEOPERA -GAME( 200?, sc5bantm, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Bantam Of The Opera (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bantma, sc5bantm, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Bantam Of The Opera (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5bantm, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Bantam Of The Opera (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bantma, sc5bantm, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Bantam Of The Opera (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1447 BAR7S PR1492 CAS BAR SEVENS SOUNDS11 BAR 7S M.SITE -GAME( 200?, sc5bar7, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bar 7's (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bar7a, sc5bar7, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bar 7's (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5bar7, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bar 7's (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bar7a, sc5bar7, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bar 7's (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3064 BINGO BAR7 S5 PR1433 BAR SEVENS SOUNDS11 BAR7 S.SITE -GAME( 200?, sc5bar7b, sc5bar7, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bar 7's Bingo (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bar7c, sc5bar7, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bar 7's Bingo (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bar7d, sc5bar7, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bar 7's Bingo (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bar7e, sc5bar7, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bar 7's Bingo (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bar7f, sc5bar7, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bar 7's Bingo (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bar7g, sc5bar7, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bar 7's Bingo (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5bar7b, sc5bar7, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bar 7's Bingo (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bar7c, sc5bar7, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bar 7's Bingo (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bar7d, sc5bar7, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bar 7's Bingo (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bar7e, sc5bar7, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bar 7's Bingo (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bar7f, sc5bar7, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bar 7's Bingo (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bar7g, sc5bar7, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bar 7's Bingo (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1704 AWP BATTLESHIPS AND CRUISERS PR1704 B AND C SOUNDS11 BATTLESHIPSCRUIS S.SITE -GAME( 200?, sc5batl, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Battleships & Cruisers (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5batla, sc5batl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Battleships & Cruisers (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5batl, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Battleships & Cruisers (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5batla, sc5batl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Battleships & Cruisers (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2170 BOBBY DAZZLER BOBD SOUNDS BOBBY DAZZLER -GAME( 200?, sc5bob, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Bobby Dazzler (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5boba, sc5bob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Bobby Dazzler (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bobb, sc5bob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Bobby Dazzler (Mazooma) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bobc, sc5bob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Bobby Dazzler (Mazooma) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5bob, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Bobby Dazzler (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5boba, sc5bob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Bobby Dazzler (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bobb, sc5bob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Bobby Dazzler (Mazooma) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bobc, sc5bob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Bobby Dazzler (Mazooma) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1702 AWP BULLSEYE SCORP5 PR1702 BULLSEYE SOUNDS11 BULLSEYE S.SITE -GAME( 200?, sc5bull, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bullseye (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bulla, sc5bull, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bullseye (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bullb, sc5bull, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bullseye (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bullc, sc5bull, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bullseye (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5bull, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bullseye (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bulla, sc5bull, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bullseye (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bullb, sc5bull, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bullseye (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bullc, sc5bull, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bullseye (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1719 AWP SUPER BULLSEYE SCORP5 PR1702 BULLSEYE SOUNDS11 SUPER BULLSEYE S.SITE -GAME( 200?, sc5sbull, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Super Bullseye (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5sbulla, sc5sbull, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Super Bullseye (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5sbull, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Super Bullseye (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5sbulla, sc5sbull, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Super Bullseye (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3318 AWP BULLSEYE 5 REELS S5 PR3318 BULLSEYE SOUNDS11 BULLSEYE S.SITE -GAME( 200?, sc5bull5, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bullseye 5 Reels (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bull5a, sc5bull5, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bullseye 5 Reels (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bull5b, sc5bull5, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bullseye 5 Reels (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bull5c, sc5bull5, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bullseye 5 Reels (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5bull5, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bullseye 5 Reels (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bull5a, sc5bull5, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bullseye 5 Reels (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bull5b, sc5bull5, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bullseye 5 Reels (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bull5c, sc5bull5, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bullseye 5 Reels (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1910 AWP BUTCH CASHIDY AND THE SUNDANCE QUID S5 PR1910 B C AND THE S Q SOUNDS11 BUTCH N SUNDANCE S.SITE -GAME( 200?, sc5butch, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5butcha, sc5butch, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5butchb, sc5butch, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5butchc, sc5butch, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5butchd, sc5butch, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5butche, sc5butch, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5butch, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5butcha, sc5butch, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5butchb, sc5butch, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5butchc, sc5butch, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5butchd, sc5butch, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5butche, sc5butch, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2209 CABIN FEVER CABF SOUNDS CABIN FEVER -GAME( 200?, sc5cabin, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cabin Fever (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cabina, sc5cabin, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cabin Fever (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cabinb, sc5cabin, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cabin Fever (Mazooma) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cabinc, sc5cabin, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cabin Fever (Mazooma) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5cabin, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cabin Fever (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cabina, sc5cabin, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cabin Fever (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cabinb, sc5cabin, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cabin Fever (Mazooma) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cabinc, sc5cabin, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cabin Fever (Mazooma) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2326 CARIBBEAN CASH CABC SOUNDS CARIBBEAN CASH -GAME( 200?, sc5cari, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5caria, sc5cari, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5carib, sc5cari, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5caric, sc5cari, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5carid, sc5cari, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5carie, sc5cari, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5carif, sc5cari, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5carig, sc5cari, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5cari, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5caria, sc5cari, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5carib, sc5cari, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5caric, sc5cari, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5carid, sc5cari, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5carie, sc5cari, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5carif, sc5cari, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5carig, sc5cari, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1683 BLAS14 -GAME( 200?, sc5cblas, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cash Blast (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cblasa, sc5cblas, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cash Blast (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5cblas, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cash Blast (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cblasa, sc5cblas, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cash Blast (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2338 XTRAVAGANZA XTRV SOUNDS XTRAVAGANZA -GAME( 200?, sc5casxt, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Casino Xtravaganza (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5casxta, sc5casxt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Casino Xtravaganza (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5casxt, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Casino Xtravaganza (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5casxta, sc5casxt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Casino Xtravaganza (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1711 AWP CHAV IT SCORP5 PR1711 CHAV IT SOUNDS11 CHAV IT S.SITE -GAME( 200?, sc5chavi, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5chavia, sc5chavi, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5chavib, sc5chavi, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5chavic, sc5chavi, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5chavid, sc5chavi, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5chavie, sc5chavi, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5chavi, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5chavia, sc5chavi, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5chavib, sc5chavi, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5chavic, sc5chavi, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5chavid, sc5chavi, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5chavie, sc5chavi, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2305 CHAVVY CHASE CHVY SOUNDS -GAME( 200?, sc5chavy, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Chavy Chase (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5chavya, sc5chavy, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Chavy Chase (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5chavyb, sc5chavy, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Chavy Chase (Mazooma) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5chavyc, sc5chavy, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Chavy Chase (Mazooma) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5chavy, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Chavy Chase (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5chavya, sc5chavy, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Chavy Chase (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5chavyb, sc5chavy, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Chavy Chase (Mazooma) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5chavyc, sc5chavy, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Chavy Chase (Mazooma) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2230 CLUEDO CLUE SOUNDS CLUEDO -GAME( 200?, sc5clue, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cluedo (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cluea, sc5clue, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cluedo (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5clueb, sc5clue, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cluedo (Mazooma) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cluec, sc5clue, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cluedo (Mazooma) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5clue, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cluedo (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cluea, sc5clue, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cluedo (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5clueb, sc5clue, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cluedo (Mazooma) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cluec, sc5clue, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Cluedo (Mazooma) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1308 COLOUR MANIA PR1308 COLOUR MAN SOUNDS11 -GAME( 200?, sc5cmani, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Colour Mania (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cmania, sc5cmani, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Colour Mania (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cmanib, sc5cmani, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Colour Mania (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cmanic, sc5cmani, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Colour Mania (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5cmani, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Colour Mania (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cmania, sc5cmani, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Colour Mania (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cmanib, sc5cmani, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Colour Mania (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cmanic, sc5cmani, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Colour Mania (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1416 COOL JEWELS PR1416 COOL JEWELS SOUNDS11 COOL JEWELS S.SITE -GAME( 200?, sc5cj, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cool Jewels (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cja, sc5cj, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cool Jewels (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cjb, sc5cj, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cool Jewels (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cjc, sc5cj, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cool Jewels (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cjd, sc5cj, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cool Jewels (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cje, sc5cj, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cool Jewels (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5cj, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cool Jewels (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cja, sc5cj, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cool Jewels (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cjb, sc5cj, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cool Jewels (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cjc, sc5cj, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cool Jewels (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cjd, sc5cj, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cool Jewels (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cje, sc5cj, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cool Jewels (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1109 AWP COP THE LOT PR1109 CTLOT SOUNDS11 -GAME( 200?, sc5ctl, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cop The Lot (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ctla, sc5ctl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cop The Lot (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ctlb, sc5ctl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cop The Lot (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ctlc, sc5ctl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cop The Lot (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5ctl, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cop The Lot (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ctla, sc5ctl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cop The Lot (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ctlb, sc5ctl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cop The Lot (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ctlc, sc5ctl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cop The Lot (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3005 AWP COPS AND ROBBERS SAFE CRACKER S5 PR3005 SAFE CRACKER SOUNDS11 SAFE CRACKER S.SITE -GAME( 200?, sc5crsc, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5crsca, sc5crsc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5crscb, sc5crsc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5crscc, sc5crsc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5crscd, sc5crsc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5crsce, sc5crsc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5crscf, sc5crsc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5crscg, sc5crsc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5crsch, sc5crsc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5crsci, sc5crsc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5crscj, sc5crsc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 11)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5crsck, sc5crsc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 12)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5crscl, sc5crsc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 13)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5crscm, sc5crsc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 14)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5crscn, sc5crsc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 15)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5crsco, sc5crsc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 16)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5crscp, sc5crsc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 17)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5crscq, sc5crsc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 18)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5crscr, sc5crsc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 19)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5crscs, sc5crsc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 20)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5crsct, sc5crsc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 21)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5crscu, sc5crsc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 22)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5crsc, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5crsca, sc5crsc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5crscb, sc5crsc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5crscc, sc5crsc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5crscd, sc5crsc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5crsce, sc5crsc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5crscf, sc5crsc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5crscg, sc5crsc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5crsch, sc5crsc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5crsci, sc5crsc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5crscj, sc5crsc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 11)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5crsck, sc5crsc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 12)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5crscl, sc5crsc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 13)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5crscm, sc5crsc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 14)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5crscn, sc5crsc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 15)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5crsco, sc5crsc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 16)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5crscp, sc5crsc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 17)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5crscq, sc5crsc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 18)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5crscr, sc5crsc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 19)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5crscs, sc5crsc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 20)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5crsct, sc5crsc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 21)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5crscu, sc5crsc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 22)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PROJECT NUMBER PR2252 CORONATION ST CORRY SOUNDS CORONATION ST -GAME( 200?, sc5coro, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street (PR2252) (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5corom, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street (PR2252) (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5coroy, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street (PR2252) (Mazooma) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5coro0, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street (PR2252) (Mazooma) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5coro, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street (PR2252) (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5corom, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street (PR2252) (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5coroy, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street (PR2252) (Mazooma) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5coro0, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street (PR2252) (Mazooma) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2552 CORONATION ST COROST_SINGLE CORONATION ST -GAME( 200?, sc5coroe, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Single (PR2252) (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5corof, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Single (PR2252) (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5corog, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Single (PR2252) (Mazooma) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5coroh, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Single (PR2252) (Mazooma) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5coroq, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Single (PR2252) (Mazooma) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5coror, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Single (PR2252) (Mazooma) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5coros, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Single (PR2252) (Mazooma) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5corot, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Single (PR2252) (Mazooma) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5coroe, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Single (PR2252) (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5corof, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Single (PR2252) (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5corog, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Single (PR2252) (Mazooma) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5coroh, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Single (PR2252) (Mazooma) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5coroq, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Single (PR2252) (Mazooma) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5coror, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Single (PR2252) (Mazooma) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5coros, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Single (PR2252) (Mazooma) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5corot, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Single (PR2252) (Mazooma) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2249 CORONATION ST TRIPLE COROST SOUNDS (top box maybe?) -GAME( 200?, sc5coroa, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Triple (PR2249) (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5coroa, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Triple (PR2249) (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2249 CORONATION STREET CORS MAZ COROST_TRIPLE SOUNDS -GAME( 200?, sc5corok, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Triple (PR2249) (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5corol, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Triple (PR2249) (Mazooma) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5corow, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Triple (PR2249) (Mazooma) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5corox, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Triple (PR2249) (Mazooma) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5corok, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Triple (PR2249) (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5corol, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Triple (PR2249) (Mazooma) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5corow, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Triple (PR2249) (Mazooma) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5corox, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Triple (PR2249) (Mazooma) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2249 CORONATION STREET Arcade Version 061 COROST_TRIPLE SOUNDS CORONATION ST -GAME( 200?, sc5corob, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Triple Arcade (V061) (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5coron, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Triple Arcade (V061) (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5corob, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Triple Arcade (V061) (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5coron, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Triple Arcade (V061) (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2249 CORONATION STREET Arcade Version 063 COROST_TRIPLE SOUNDS CORONATION ST -GAME( 200?, sc5coroj, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Triple Arcade (V063) (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5corov, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Triple Arcade (V063) (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5coroj, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Triple Arcade (V063) (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5corov, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Triple Arcade (V063) (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2249 CORONATION STREET Bingo Version 012 COROST_TRIPLE SOUNDS CORONATION ST -GAME( 200?, sc5coroc, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Triple Bingo (V012) (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5corod, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Triple Bingo (V012) (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5coroi, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Triple Bingo (V012) (Mazooma) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5coroo, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Triple Bingo (V012) (Mazooma) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5corop, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Triple Bingo (V012) (Mazooma) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5corou, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Triple Bingo (V012) (Mazooma) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5coroc, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Triple Bingo (V012) (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5corod, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Triple Bingo (V012) (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5coroi, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Triple Bingo (V012) (Mazooma) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5coroo, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Triple Bingo (V012) (Mazooma) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5corop, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Triple Bingo (V012) (Mazooma) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5corou, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Triple Bingo (V012) (Mazooma) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2249 CORONATION STREET Bingo Version 013 COROST_TRIPLE SOUNDS CORONATION ST -GAME( 200?, sc5coroz, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Triple Bingo (V013) (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5coro1, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Triple Bingo (V013) (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5coroz, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Triple Bingo (V013) (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5coro1, sc5coro, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Coronation Street Triple Bingo (V013) (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1909 AWP COUNTDOWN S5 PR1909 COUNTDOWN SOUNDS11 COUNTDOWN S.SITE -GAME( 200?, sc5count, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Countdown (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5counta, sc5count, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Countdown (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5count, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Countdown (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5counta, sc5count, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Countdown (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2387. T FRUIT CRAZY T FRUIT CRAZY QPS GOLD X TRIPLE (but contains Crazy Keys strings as well?) -GAME( 200?, sc5czfr, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "QPS","Fruit Crazy Triple / Crazy Keys (QPS) (Scorpion 5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5czfr, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "QPS","Fruit Crazy Triple / Crazy Keys (QPS) (Scorpion 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2388 FRUIT CRAZY SINGLE FRUIT CRAZY CRZ SOUNDS PR2388 FRUIT CRAZY FRUIT CRAZY MAZ (not a standard header) -GAME( 200?, sc5frcrz, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Fruit Crazy (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5frcrza, sc5czfr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Fruit Crazy (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5frcrz, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Fruit Crazy (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5frcrza, sc5czfr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Fruit Crazy (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1608 AWP CROWN JEWELS PR1608 CROWN JEWELS SOUNDS11 CROWN JEWELS S.SITE -GAME( 2004, sc5crnjw, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crown Jewels (PR1608) (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2004, sc5crnjwa, sc5crnjw, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crown Jewels (PR1608) (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2004, sc5crnjwb, sc5crnjw, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crown Jewels (PR1608) (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 2004, sc5crnjw, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crown Jewels (PR1608) (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2004, sc5crnjwa, sc5crnjw, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crown Jewels (PR1608) (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2004, sc5crnjwb, sc5crnjw, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Crown Jewels (PR1608) (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // Z055 CJEWELS PR000055 CJEWELS 1 CJEWELS AWP -GAME( 200?, sc5cjqps, sc5crnjw, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "QPS","Crown Jewels (Z055) (QPS) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cjqpsa, sc5crnjw, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "QPS","Crown Jewels (Z055) (QPS) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cjqpsb, sc5crnjw, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "QPS","Crown Jewels (Z055) (QPS) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5cjqpsc, sc5crnjw, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "QPS","Crown Jewels (Z055) (QPS) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5cjqps, sc5crnjw, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "QPS","Crown Jewels (Z055) (QPS) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cjqpsa, sc5crnjw, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "QPS","Crown Jewels (Z055) (QPS) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cjqpsb, sc5crnjw, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "QPS","Crown Jewels (Z055) (QPS) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5cjqpsc, sc5crnjw, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "QPS","Crown Jewels (Z055) (QPS) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1907 AWP DEAL OR NO DEAL S5 PR1907 DEAL OR NO DEAL SOUNDS11 DEALORNODEAL S.SITE -GAME( 200?, sc5dnd, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnda, sc5dnd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndb, sc5dnd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndc, sc5dnd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndd, sc5dnd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnde, sc5dnd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndf, sc5dnd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndg, sc5dnd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndh, sc5dnd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndi, sc5dnd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Scorpion 5) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndj, sc5dnd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Scorpion 5) (set 11)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndk, sc5dnd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Scorpion 5) (set 12)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndl, sc5dnd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Scorpion 5) (set 13)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndm, sc5dnd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Scorpion 5) (set 14)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndn, sc5dnd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Scorpion 5) (set 15)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndo, sc5dnd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Scorpion 5) (set 16)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndp, sc5dnd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Scorpion 5) (set 17)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndq, sc5dnd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Scorpion 5) (set 18)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndr, sc5dnd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Scorpion 5) (set 19)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnds, sc5dnd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Scorpion 5) (set 20)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndt, sc5dnd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Scorpion 5) (set 21)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dnd, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnda, sc5dnd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndb, sc5dnd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndc, sc5dnd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndd, sc5dnd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnde, sc5dnd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndf, sc5dnd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndg, sc5dnd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndh, sc5dnd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndi, sc5dnd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Scorpion 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndj, sc5dnd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Scorpion 5) (set 11)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndk, sc5dnd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Scorpion 5) (set 12)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndl, sc5dnd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Scorpion 5) (set 13)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndm, sc5dnd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Scorpion 5) (set 14)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndn, sc5dnd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Scorpion 5) (set 15)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndo, sc5dnd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Scorpion 5) (set 16)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndp, sc5dnd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Scorpion 5) (set 17)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndq, sc5dnd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Scorpion 5) (set 18)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndr, sc5dnd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Scorpion 5) (set 19)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnds, sc5dnd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Scorpion 5) (set 20)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndt, sc5dnd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal (Bellfruit) (Scorpion 5) (set 21)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1954 CASINO DOND REELS CASINO DOND ARCADE PR1954 CASINO DOND R SOUNDS11 -GAME( 200?, sc5dndcs, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndcsa, sc5dndcs, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndcsb, sc5dndcs, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndcsc, sc5dndcs, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndcsd, sc5dndcs, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndcse, sc5dndcs, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndcsf, sc5dndcs, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndcsg, sc5dndcs, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndcsh, sc5dndcs, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndcsi, sc5dndcs, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndcsj, sc5dndcs, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 11)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndcsk, sc5dndcs, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 12)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndcsl, sc5dndcs, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 13)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndcsm, sc5dndcs, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 14)", MACHINE_IS_SKELETON_MECHANICAL ) - - -GAME( 200?, sc5dndc2, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) // PR1964 CASINO DOND MULTI DOND MULTIPLAYER ARCADE -GAME( 200?, sc5dndc2a, sc5dndc2, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) // ^^ -GAME( 200?, sc5dndc2b, sc5dndc2, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) // ^^ - -GAME( 200?, sc5dndc2c, sc5dndc2, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) // PR1964 CASINO DOND TOP DOND TOPBOX ARCADE PR1964 CASINO DOND R SOUNDS11 -GAME( 200?, sc5dndc2d, sc5dndc2, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) // ^^ - -GAME( 200?, sc5dndc2e, sc5dndc2, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) // PR1964 CASINO DOND TOP S5 DOND TOPBOX ARCADE -GAME( 200?, sc5dndc2f, sc5dndc2, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) // ^^ -GAME( 200?, sc5dndc2g, sc5dndc2, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) // ^^ -GAME( 200?, sc5dndc2h, sc5dndc2, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) // ^^ -GAME( 200?, sc5dndc2i, sc5dndc2, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 10)", MACHINE_IS_SKELETON_MECHANICAL )// ^^ -GAME( 200?, sc5dndc2j, sc5dndc2, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 11)", MACHINE_IS_SKELETON_MECHANICAL )// ^^ -GAME( 200?, sc5dndc2k, sc5dndc2, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 12)", MACHINE_IS_SKELETON_MECHANICAL )// ^^ -GAME( 200?, sc5dndc2l, sc5dndc2, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 13)", MACHINE_IS_SKELETON_MECHANICAL )// ^^ -GAME( 200?, sc5dndc2m, sc5dndc2, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 14)", MACHINE_IS_SKELETON_MECHANICAL )// PR1964 CASINO DOND TOP S5 DOND TOPBOX ARCADE PR1964 CASINO DOND R SOUNDS11 -GAME( 200?, sc5dndc2n, sc5dndc2, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 15)", MACHINE_IS_SKELETON_MECHANICAL )// ^^ -GAME( 200?, sc5dndc2o, sc5dndc2, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 16)", MACHINE_IS_SKELETON_MECHANICAL )// PR1964 CASINO DOND TOP S5 DOND TOPBOX ARCADE PR1964 CASINO DOND SOUNDS12 -GAME( 200?, sc5dndc2p, sc5dndc2, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 17)", MACHINE_IS_SKELETON_MECHANICAL )// ^^ - -GAME( 200?, sc5dndc2q, sc5dndc2, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 18)", MACHINE_IS_SKELETON_MECHANICAL )// PR1964 CASINO DOND MULTI DOND MULTIPLAYER ARCADE PR1964 CASINO DOND R SOUNDS11 -GAME( 200?, sc5dndc2r, sc5dndc2, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 19)", MACHINE_IS_SKELETON_MECHANICAL )// ^^ -GAME( 200?, sc5dndc2s, sc5dndc2, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 20)", MACHINE_IS_SKELETON_MECHANICAL )// ^^ -GAME( 200?, sc5dndc2t, sc5dndc2, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 21)", MACHINE_IS_SKELETON_MECHANICAL )// ^^ -GAME( 200?, sc5dndc2u, sc5dndc2, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 22)", MACHINE_IS_SKELETON_MECHANICAL )// PR1964 CASINO DOND MULTI DOND MULTIPLAYER ARCADE PR1964 CASINO DOND SOUNDS12 -GAME( 200?, sc5dndc2v, sc5dndc2, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 23)", MACHINE_IS_SKELETON_MECHANICAL )// ^^ -GAME( 200?, sc5dndc2w, sc5dndc2, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 24)", MACHINE_IS_SKELETON_MECHANICAL )// PR1964 CASINO DOND MULTI DOND MULTIPLAYER ARCADE - -GAME( 200?, sc5dndc3, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1965) (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) // PR1965 CASINO DOND TOPBOX CASINO DOND ARCADE PR1965 CASINO DOND R SOUNDS11 -GAME( 200?, sc5dndc3a, sc5dndc3, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1965) (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) // ^^ -GAME( 200?, sc5dndc3b, sc5dndc3, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1965) (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) // ^^ -GAME( 200?, sc5dndc3c, sc5dndc3, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1965) (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) // ^^ +GAME( 200?, sc5dndcs, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndcsa, sc5dndcs, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndcsb, sc5dndcs, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndcsc, sc5dndcs, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndcsd, sc5dndcs, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndcse, sc5dndcs, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndcsf, sc5dndcs, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndcsg, sc5dndcs, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndcsh, sc5dndcs, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndcsi, sc5dndcs, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndcsj, sc5dndcs, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 11)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndcsk, sc5dndcs, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 12)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndcsl, sc5dndcs, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 13)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndcsm, sc5dndcs, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 14)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + + +GAME( 200?, sc5dndc2, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1964 CASINO DOND MULTI DOND MULTIPLAYER ARCADE +GAME( 200?, sc5dndc2a, sc5dndc2, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // ^^ +GAME( 200?, sc5dndc2b, sc5dndc2, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // ^^ + +GAME( 200?, sc5dndc2c, sc5dndc2, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1964 CASINO DOND TOP DOND TOPBOX ARCADE PR1964 CASINO DOND R SOUNDS11 +GAME( 200?, sc5dndc2d, sc5dndc2, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // ^^ + +GAME( 200?, sc5dndc2e, sc5dndc2, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1964 CASINO DOND TOP S5 DOND TOPBOX ARCADE +GAME( 200?, sc5dndc2f, sc5dndc2, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // ^^ +GAME( 200?, sc5dndc2g, sc5dndc2, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // ^^ +GAME( 200?, sc5dndc2h, sc5dndc2, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // ^^ +GAME( 200?, sc5dndc2i, sc5dndc2, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK )// ^^ +GAME( 200?, sc5dndc2j, sc5dndc2, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 11)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK )// ^^ +GAME( 200?, sc5dndc2k, sc5dndc2, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 12)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK )// ^^ +GAME( 200?, sc5dndc2l, sc5dndc2, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 13)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK )// ^^ +GAME( 200?, sc5dndc2m, sc5dndc2, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 14)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK )// PR1964 CASINO DOND TOP S5 DOND TOPBOX ARCADE PR1964 CASINO DOND R SOUNDS11 +GAME( 200?, sc5dndc2n, sc5dndc2, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 15)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK )// ^^ +GAME( 200?, sc5dndc2o, sc5dndc2, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 16)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK )// PR1964 CASINO DOND TOP S5 DOND TOPBOX ARCADE PR1964 CASINO DOND SOUNDS12 +GAME( 200?, sc5dndc2p, sc5dndc2, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 17)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK )// ^^ + +GAME( 200?, sc5dndc2q, sc5dndc2, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 18)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK )// PR1964 CASINO DOND MULTI DOND MULTIPLAYER ARCADE PR1964 CASINO DOND R SOUNDS11 +GAME( 200?, sc5dndc2r, sc5dndc2, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 19)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK )// ^^ +GAME( 200?, sc5dndc2s, sc5dndc2, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 20)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK )// ^^ +GAME( 200?, sc5dndc2t, sc5dndc2, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 21)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK )// ^^ +GAME( 200?, sc5dndc2u, sc5dndc2, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 22)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK )// PR1964 CASINO DOND MULTI DOND MULTIPLAYER ARCADE PR1964 CASINO DOND SOUNDS12 +GAME( 200?, sc5dndc2v, sc5dndc2, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 23)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK )// ^^ +GAME( 200?, sc5dndc2w, sc5dndc2, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 24)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK )// PR1964 CASINO DOND MULTI DOND MULTIPLAYER ARCADE + +GAME( 200?, sc5dndc3, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1965) (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1965 CASINO DOND TOPBOX CASINO DOND ARCADE PR1965 CASINO DOND R SOUNDS11 +GAME( 200?, sc5dndc3a, sc5dndc3, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1965) (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // ^^ +GAME( 200?, sc5dndc3b, sc5dndc3, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1965) (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // ^^ +GAME( 200?, sc5dndc3c, sc5dndc3, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Casino (PR1965) (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // ^^ // PR3209 AWP DEAL OR NO DEAL BREAK THE BANK SCORP5 PR3209 BREAK THE BANK SOUNDS11 BREAK THE BANK S.SITE -GAME( 200?, sc5dndbb, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Break The Bank (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbba, sc5dndbb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Break The Bank (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbbb, sc5dndbb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Break The Bank (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbbc, sc5dndbb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Break The Bank (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbbd, sc5dndbb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Break The Bank (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbbe, sc5dndbb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Break The Bank (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbbf, sc5dndbb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Break The Bank (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbbg, sc5dndbb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Break The Bank (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dndbb, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Break The Bank (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbba, sc5dndbb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Break The Bank (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbbb, sc5dndbb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Break The Bank (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbbc, sc5dndbb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Break The Bank (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbbd, sc5dndbb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Break The Bank (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbbe, sc5dndbb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Break The Bank (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbbf, sc5dndbb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Break The Bank (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbbg, sc5dndbb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Break The Bank (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR???? CLUB DEAL OR NO DEAL DEAL OR NO DEAL CLUB PR3068 BEAT THE BANKER SOUNDS11 DEAL OR NO DEAL -GAME( 200?, sc5dndcl, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Club (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndcla, sc5dndcl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Club (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dndcl, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Club (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndcla, sc5dndcl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Club (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR???? CLUB DEAL OR NO DEAL BEAT THE BANKER CLUB PR3068 BEAT THE BANKER SOUNDS11 (there were in the Walk of Wealth sets) -GAME( 200?, sc5dndcb, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Club Beat The Banker (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndcba, sc5dndcb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Club Beat The Banker (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dndcb, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Club Beat The Banker (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndcba, sc5dndcb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Club Beat The Banker (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3215 AWP DEAL OR NO DEAL DOUBLE S5 PR3215 DOND DOUBLE SOUNDS11 DOUBLE DOND S.SITE -GAME( 200?, sc5dnddd, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Double Deal or No Deal (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnddda, sc5dnddd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Double Deal or No Deal (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndddb, sc5dnddd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Double Deal or No Deal (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndddc, sc5dnddd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Double Deal or No Deal (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndddd, sc5dnddd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Double Deal or No Deal (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnddde, sc5dnddd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Double Deal or No Deal (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndddf, sc5dnddd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Double Deal or No Deal (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndddg, sc5dnddd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Double Deal or No Deal (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndddh, sc5dnddd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Double Deal or No Deal (Bellfruit) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndddi, sc5dnddd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Double Deal or No Deal (Bellfruit) (Scorpion 5) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dnddd, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Double Deal or No Deal (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnddda, sc5dnddd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Double Deal or No Deal (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndddb, sc5dnddd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Double Deal or No Deal (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndddc, sc5dnddd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Double Deal or No Deal (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndddd, sc5dnddd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Double Deal or No Deal (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnddde, sc5dnddd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Double Deal or No Deal (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndddf, sc5dnddd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Double Deal or No Deal (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndddg, sc5dnddd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Double Deal or No Deal (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndddh, sc5dnddd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Double Deal or No Deal (Bellfruit) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndddi, sc5dnddd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Double Deal or No Deal (Bellfruit) (Scorpion 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3008 DEAL OR NO DEAL HALL OF FAME SCORP5 PR3008 HALL OF FAME SOUNDS11 HALL OF FAME S.SITE -GAME( 200?, sc5dndhf, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndhfa, sc5dndhf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndhfb, sc5dndhf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndhfc, sc5dndhf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndhfd, sc5dndhf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndhfe, sc5dndhf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndhff, sc5dndhf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndhfg, sc5dndhf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndhfh, sc5dndhf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndhfi, sc5dndhf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndhfj, sc5dndhf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 11)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndhfk, sc5dndhf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 12)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndhfl, sc5dndhf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 13)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndhfm, sc5dndhf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 14)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndhfn, sc5dndhf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 15)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndhfo, sc5dndhf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 16)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndhfp, sc5dndhf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 17)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndhfq, sc5dndhf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 18)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndhfr, sc5dndhf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 19)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndhfs, sc5dndhf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 20)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndhft, sc5dndhf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 21)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndhfu, sc5dndhf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 22)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dndhf, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndhfa, sc5dndhf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndhfb, sc5dndhf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndhfc, sc5dndhf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndhfd, sc5dndhf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndhfe, sc5dndhf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndhff, sc5dndhf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndhfg, sc5dndhf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndhfh, sc5dndhf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndhfi, sc5dndhf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndhfj, sc5dndhf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 11)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndhfk, sc5dndhf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 12)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndhfl, sc5dndhf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 13)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndhfm, sc5dndhf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 14)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndhfn, sc5dndhf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 15)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndhfo, sc5dndhf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 16)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndhfp, sc5dndhf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 17)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndhfq, sc5dndhf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 18)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndhfr, sc5dndhf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 19)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndhfs, sc5dndhf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 20)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndhft, sc5dndhf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 21)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndhfu, sc5dndhf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 22)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3207 AWP DEAL OR NO DEAL ITS YOUR SHOW SCORP5 PR3207 ITS YOUR SHOW SOUNDS11 ITS YOUR SHOW S.SITE -GAME( 200?, sc5dndys, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal It's Your Show (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndysa, sc5dndys, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal It's Your Show (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndysb, sc5dndys, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal It's Your Show (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndysc, sc5dndys, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal It's Your Show (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndysd, sc5dndys, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal It's Your Show (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndyse, sc5dndys, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal It's Your Show (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndysf, sc5dndys, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal It's Your Show (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndysg, sc5dndys, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal It's Your Show (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndysh, sc5dndys, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal It's Your Show (Bellfruit) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dndys, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal It's Your Show (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndysa, sc5dndys, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal It's Your Show (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndysb, sc5dndys, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal It's Your Show (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndysc, sc5dndys, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal It's Your Show (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndysd, sc5dndys, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal It's Your Show (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndyse, sc5dndys, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal It's Your Show (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndysf, sc5dndys, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal It's Your Show (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndysg, sc5dndys, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal It's Your Show (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndysh, sc5dndys, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal It's Your Show (Bellfruit) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3232 AWP DEAL OR NO DEAL LETS PLAY DEAL OR NO DEAL SCORP5 PR3212 LETS PLAY DOND SOUNDS11 LETS PLAY DOND S.SITE -GAME( 200?, sc5dndlp, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Let's Play Deal or No Deal (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndlpa, sc5dndlp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Let's Play Deal or No Deal (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndlpb, sc5dndlp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Let's Play Deal or No Deal (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndlpc, sc5dndlp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Let's Play Deal or No Deal (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndlpd, sc5dndlp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Let's Play Deal or No Deal (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndlpe, sc5dndlp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Let's Play Deal or No Deal (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndlpf, sc5dndlp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Let's Play Deal or No Deal (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndlpg, sc5dndlp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Let's Play Deal or No Deal (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndlph, sc5dndlp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Let's Play Deal or No Deal (Bellfruit) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndlpi, sc5dndlp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Let's Play Deal or No Deal (Bellfruit) (Scorpion 5) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndlpj, sc5dndlp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Let's Play Deal or No Deal (Bellfruit) (Scorpion 5) (set 11)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndlpk, sc5dndlp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Let's Play Deal or No Deal (Bellfruit) (Scorpion 5) (set 12)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndlpl, sc5dndlp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Let's Play Deal or No Deal (Bellfruit) (Scorpion 5) (set 13)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndlpm, sc5dndlp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Let's Play Deal or No Deal (Bellfruit) (Scorpion 5) (set 14)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndlpn, sc5dndlp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Let's Play Deal or No Deal (Bellfruit) (Scorpion 5) (set 15)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndlpo, sc5dndlp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Let's Play Deal or No Deal (Bellfruit) (Scorpion 5) (set 16)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndlpp, sc5dndlp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Let's Play Deal or No Deal (Bellfruit) (Scorpion 5) (set 17)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndlpq, sc5dndlp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Let's Play Deal or No Deal (Bellfruit) (Scorpion 5) (set 18)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndlpr, sc5dndlp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Let's Play Deal or No Deal (Bellfruit) (Scorpion 5) (set 19)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndlps, sc5dndlp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Let's Play Deal or No Deal (Bellfruit) (Scorpion 5) (set 20)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndlpt, sc5dndlp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Let's Play Deal or No Deal (Bellfruit) (Scorpion 5) (set 21)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndlpu, sc5dndlp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Let's Play Deal or No Deal (Bellfruit) (Scorpion 5) (set 22)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dndlp, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Let's Play Deal or No Deal (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndlpa, sc5dndlp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Let's Play Deal or No Deal (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndlpb, sc5dndlp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Let's Play Deal or No Deal (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndlpc, sc5dndlp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Let's Play Deal or No Deal (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndlpd, sc5dndlp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Let's Play Deal or No Deal (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndlpe, sc5dndlp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Let's Play Deal or No Deal (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndlpf, sc5dndlp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Let's Play Deal or No Deal (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndlpg, sc5dndlp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Let's Play Deal or No Deal (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndlph, sc5dndlp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Let's Play Deal or No Deal (Bellfruit) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndlpi, sc5dndlp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Let's Play Deal or No Deal (Bellfruit) (Scorpion 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndlpj, sc5dndlp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Let's Play Deal or No Deal (Bellfruit) (Scorpion 5) (set 11)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndlpk, sc5dndlp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Let's Play Deal or No Deal (Bellfruit) (Scorpion 5) (set 12)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndlpl, sc5dndlp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Let's Play Deal or No Deal (Bellfruit) (Scorpion 5) (set 13)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndlpm, sc5dndlp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Let's Play Deal or No Deal (Bellfruit) (Scorpion 5) (set 14)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndlpn, sc5dndlp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Let's Play Deal or No Deal (Bellfruit) (Scorpion 5) (set 15)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndlpo, sc5dndlp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Let's Play Deal or No Deal (Bellfruit) (Scorpion 5) (set 16)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndlpp, sc5dndlp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Let's Play Deal or No Deal (Bellfruit) (Scorpion 5) (set 17)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndlpq, sc5dndlp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Let's Play Deal or No Deal (Bellfruit) (Scorpion 5) (set 18)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndlpr, sc5dndlp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Let's Play Deal or No Deal (Bellfruit) (Scorpion 5) (set 19)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndlps, sc5dndlp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Let's Play Deal or No Deal (Bellfruit) (Scorpion 5) (set 20)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndlpt, sc5dndlp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Let's Play Deal or No Deal (Bellfruit) (Scorpion 5) (set 21)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndlpu, sc5dndlp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Let's Play Deal or No Deal (Bellfruit) (Scorpion 5) (set 22)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3201 AWP DEAL OR NO DEAL RED ALERT SCORP5 PR3201 DOND RED ALERT SOUNDS11 RED ALERT S.SITE -GAME( 200?, sc5dndra, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndraa, sc5dndra, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndrab, sc5dndra, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndrac, sc5dndra, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndrad, sc5dndra, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndrae, sc5dndra, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndraf, sc5dndra, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndrag, sc5dndra, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndrah, sc5dndra, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndrai, sc5dndra, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndraj, sc5dndra, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 11)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndrak, sc5dndra, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 12)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dndra, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndraa, sc5dndra, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndrab, sc5dndra, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndrac, sc5dndra, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndrad, sc5dndra, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndrae, sc5dndra, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndraf, sc5dndra, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndrag, sc5dndra, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndrah, sc5dndra, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndrai, sc5dndra, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndraj, sc5dndra, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 11)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndrak, sc5dndra, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 12)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3210 AWP DEAL OR NO DEAL THE BIG DEAL SCORP5 PR3210 THE BIG DEAL SOUNDS11 THE BIG DEAL S.SITE -GAME( 200?, sc5dndbd, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Deal (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbda, sc5dndbd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Deal (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbdb, sc5dndbd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Deal (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbdc, sc5dndbd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Deal (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbdd, sc5dndbd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Deal (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbde, sc5dndbd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Deal (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbdf, sc5dndbd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Deal (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbdg, sc5dndbd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Deal (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbdh, sc5dndbd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Deal (Bellfruit) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbdi, sc5dndbd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Deal (Bellfruit) (Scorpion 5) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dndbd, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Deal (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbda, sc5dndbd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Deal (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbdb, sc5dndbd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Deal (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbdc, sc5dndbd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Deal (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbdd, sc5dndbd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Deal (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbde, sc5dndbd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Deal (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbdf, sc5dndbd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Deal (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbdg, sc5dndbd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Deal (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbdh, sc5dndbd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Deal (Bellfruit) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbdi, sc5dndbd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Deal (Bellfruit) (Scorpion 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3011 AWP DEAL OR NO DEAL THE BIG REDS S5 PR3011 THE BIG REDS SOUNDS11 THE BIG REDS S.SITE -GAME( 200?, sc5dndbr, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbra, sc5dndbr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbrd, sc5dndbr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbrf, sc5dndbr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbrg, sc5dndbr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbrj, sc5dndbr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbrl, sc5dndbr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbrm, sc5dndbr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbrn, sc5dndbr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbro, sc5dndbr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbrp, sc5dndbr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 11)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbrq, sc5dndbr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 12)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbrr, sc5dndbr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 13)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbrs, sc5dndbr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 14)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbrt, sc5dndbr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 15)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbru, sc5dndbr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 16)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbrv, sc5dndbr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 17)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbrw, sc5dndbr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 18)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dndbr, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbra, sc5dndbr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbrd, sc5dndbr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbrf, sc5dndbr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbrg, sc5dndbr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbrj, sc5dndbr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbrl, sc5dndbr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbrm, sc5dndbr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbrn, sc5dndbr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbro, sc5dndbr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbrp, sc5dndbr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 11)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbrq, sc5dndbr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 12)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbrr, sc5dndbr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 13)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbrs, sc5dndbr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 14)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbrt, sc5dndbr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 15)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbru, sc5dndbr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 16)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbrv, sc5dndbr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 17)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbrw, sc5dndbr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 18)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3018 AWP DEAL OR NO DEAL THE BIG REDS S5 PR3011 THE BIG REDS SOUNDS11 THE BIG REDS S.SITE -GAME( 200?, sc5dndbrb, sc5dndbr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3018) (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbrc, sc5dndbr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3018) (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbre, sc5dndbr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3018) (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbrh, sc5dndbr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3018) (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbri, sc5dndbr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3018) (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbrk, sc5dndbr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3018) (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dndbrb, sc5dndbr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3018) (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbrc, sc5dndbr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3018) (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbre, sc5dndbr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3018) (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbrh, sc5dndbr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3018) (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbri, sc5dndbr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3018) (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbrk, sc5dndbr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Big Reds (PR3018) (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3017 AWP DEAL OR NO DEAL THE CRAZY CHAIR SCORP5 PR3017 CRAZY CHAIR SOUNDS11 CRAZY CHAIR S.SITE -GAME( 200?, sc5dndcc, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndcca, sc5dndcc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndccb, sc5dndcc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndccc, sc5dndcc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndccd, sc5dndcc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndcce, sc5dndcc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndccf, sc5dndcc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndccg, sc5dndcc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndcch, sc5dndcc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndcci, sc5dndcc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndccj, sc5dndcc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 11)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndcck, sc5dndcc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 12)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndccl, sc5dndcc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 13)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndccm, sc5dndcc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 14)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndccn, sc5dndcc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 15)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndcco, sc5dndcc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 16)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndccp, sc5dndcc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 17)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndccq, sc5dndcc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 18)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndccr, sc5dndcc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 19)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dndcc, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndcca, sc5dndcc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndccb, sc5dndcc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndccc, sc5dndcc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndccd, sc5dndcc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndcce, sc5dndcc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndccf, sc5dndcc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndccg, sc5dndcc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndcch, sc5dndcc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndcci, sc5dndcc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndccj, sc5dndcc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 11)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndcck, sc5dndcc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 12)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndccl, sc5dndcc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 13)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndccm, sc5dndcc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 14)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndccn, sc5dndcc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 15)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndcco, sc5dndcc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 16)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndccp, sc5dndcc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 17)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndccq, sc5dndcc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 18)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndccr, sc5dndcc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 19)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3250 DOND THE CRAZY CHAIR CRAZY CHAIR ARCADE PR3250 THE CRAZY CHAIR SOUNDS11 -GAME( 200?, sc5dndca, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair Arcade (PR3250) (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndcaa, sc5dndca, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair Arcade (PR3250) (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndcab, sc5dndca, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair Arcade (PR3250) (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndcac, sc5dndca, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair Arcade (PR3250) (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dndca, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair Arcade (PR3250) (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndcaa, sc5dndca, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair Arcade (PR3250) (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndcab, sc5dndca, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair Arcade (PR3250) (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndcac, sc5dndca, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair Arcade (PR3250) (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3362 DOND THE CRAZY CHAIR CRAZY CHAIR ARCADE PR3362 THE CRAZY CHAIR SOUNDS11 -GAME( 200?, sc5dndcad, sc5dndcc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair Arcade (PR3362) (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndcae, sc5dndcc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair Arcade (PR3362) (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dndcad, sc5dndcc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair Arcade (PR3362) (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndcae, sc5dndcc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Crazy Chair Arcade (PR3362) (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3013 AWP THE DEAL WHEEL S5 PR3202 THE DEAL WHEEL SOUNDS11 THE DEAL WHEEL S.SITE -GAME( 200?, sc5dnddw, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Deal Wheel (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnddwa, sc5dnddw, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Deal Wheel (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnddwb, sc5dnddw, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Deal Wheel (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnddwc, sc5dnddw, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Deal Wheel (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnddwd, sc5dnddw, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Deal Wheel (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnddwe, sc5dnddw, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Deal Wheel (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnddwf, sc5dnddw, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Deal Wheel (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnddwg, sc5dnddw, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Deal Wheel (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnddwh, sc5dnddw, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Deal Wheel (Bellfruit) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnddwi, sc5dnddw, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Deal Wheel (Bellfruit) (Scorpion 5) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnddwj, sc5dnddw, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Deal Wheel (Bellfruit) (Scorpion 5) (set 11)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dnddw, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Deal Wheel (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnddwa, sc5dnddw, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Deal Wheel (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnddwb, sc5dnddw, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Deal Wheel (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnddwc, sc5dnddw, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Deal Wheel (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnddwd, sc5dnddw, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Deal Wheel (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnddwe, sc5dnddw, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Deal Wheel (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnddwf, sc5dnddw, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Deal Wheel (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnddwg, sc5dnddw, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Deal Wheel (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnddwh, sc5dnddw, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Deal Wheel (Bellfruit) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnddwi, sc5dnddw, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Deal Wheel (Bellfruit) (Scorpion 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnddwj, sc5dnddw, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Deal Wheel (Bellfruit) (Scorpion 5) (set 11)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3014 AWP DEAL OR NO DEAL THE DREAM FACTORY SCORP5 PR3014 DREAM FACTORY SOUNDS11 DREAM FACTORY S.SITE -GAME( 200?, sc5dnddf, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnddfa, sc5dnddf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnddfb, sc5dnddf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnddfc, sc5dnddf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnddfd, sc5dnddf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnddfe, sc5dnddf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnddff, sc5dnddf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnddfg, sc5dnddf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnddfh, sc5dnddf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnddfi, sc5dnddf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnddfj, sc5dnddf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 11)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnddfk, sc5dnddf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 12)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnddfl, sc5dnddf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 13)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnddfm, sc5dnddf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 14)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dnddfn, sc5dnddf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 15)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dnddf, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnddfa, sc5dnddf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnddfb, sc5dnddf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnddfc, sc5dnddf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnddfd, sc5dnddf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnddfe, sc5dnddf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnddff, sc5dnddf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnddfg, sc5dnddf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnddfh, sc5dnddf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnddfi, sc5dnddf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnddfj, sc5dnddf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 11)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnddfk, sc5dnddf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 12)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnddfl, sc5dnddf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 13)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnddfm, sc5dnddf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 14)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dnddfn, sc5dnddf, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 15)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3220 AWP DEAL OR NO DEAL THE PERFECT GAME SCORP5 PR3220 DOND PERFECT SOUNDS11 THE PERFECT GAME S.SITE -GAME( 200?, sc5dndpg, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndpga, sc5dndpg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndpgb, sc5dndpg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndpgc, sc5dndpg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndpgd, sc5dndpg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndpge, sc5dndpg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndpgf, sc5dndpg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndpgg, sc5dndpg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndpgh, sc5dndpg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndpgi, sc5dndpg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndpgj, sc5dndpg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 11)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndpgk, sc5dndpg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 12)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndpgl, sc5dndpg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 13)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndpgm, sc5dndpg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 14)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndpgn, sc5dndpg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 15)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndpgo, sc5dndpg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 16)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndpgp, sc5dndpg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 17)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndpgq, sc5dndpg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 18)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndpgr, sc5dndpg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 19)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndpgs, sc5dndpg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 20)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndpgt, sc5dndpg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 21)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndpgu, sc5dndpg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 22)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndpgv, sc5dndpg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 23)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndpgw, sc5dndpg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 24)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dndpg, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndpga, sc5dndpg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndpgb, sc5dndpg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndpgc, sc5dndpg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndpgd, sc5dndpg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndpge, sc5dndpg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndpgf, sc5dndpg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndpgg, sc5dndpg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndpgh, sc5dndpg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndpgi, sc5dndpg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndpgj, sc5dndpg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 11)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndpgk, sc5dndpg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 12)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndpgl, sc5dndpg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 13)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndpgm, sc5dndpg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 14)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndpgn, sc5dndpg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 15)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndpgo, sc5dndpg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 16)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndpgp, sc5dndpg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 17)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndpgq, sc5dndpg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 18)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndpgr, sc5dndpg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 19)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndpgs, sc5dndpg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 20)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndpgt, sc5dndpg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 21)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndpgu, sc5dndpg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 22)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndpgv, sc5dndpg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 23)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndpgw, sc5dndpg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 24)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3403 AWP CLASSIC DEAL OR NO DEAL THE PERFECT GAME SCORP5 PR3220 DOND PERFECT SOUNDS11 THE PERFECT GAME S.SITE -GAME( 200?, sc5dndpl, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game Classic (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndpla, sc5dndpl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game Classic (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndplb, sc5dndpl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game Classic (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndplc, sc5dndpl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game Classic (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dndpl, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game Classic (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndpla, sc5dndpl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game Classic (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndplb, sc5dndpl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game Classic (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndplc, sc5dndpl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Perfect Game Classic (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3003 AWP DOND THE POWER 5 SCORP5 PR3033 POWER FIVE SOUNDS11 DOND THE POWER 5 S.SITE -GAME( 200?, sc5dndtp, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Power (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndtpa, sc5dndtp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Power (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndtpb, sc5dndtp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Power (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndtpc, sc5dndtp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Power (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndtpd, sc5dndtp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Power (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndtpe, sc5dndtp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Power (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndtpf, sc5dndtp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Power (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndtpg, sc5dndtp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Power (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndtph, sc5dndtp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Power (Bellfruit) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndtpi, sc5dndtp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Power (Bellfruit) (Scorpion 5) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndtpj, sc5dndtp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Power (Bellfruit) (Scorpion 5) (set 11)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndtpk, sc5dndtp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Power (Bellfruit) (Scorpion 5) (set 12)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndtpl, sc5dndtp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Power (Bellfruit) (Scorpion 5) (set 13)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndtpm, sc5dndtp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Power (Bellfruit) (Scorpion 5) (set 14)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndtpn, sc5dndtp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Power (Bellfruit) (Scorpion 5) (set 15)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndtpo, sc5dndtp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Power (Bellfruit) (Scorpion 5) (set 16)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndtpp, sc5dndtp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Power (Bellfruit) (Scorpion 5) (set 17)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndtpq, sc5dndtp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Power (Bellfruit) (Scorpion 5) (set 18)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndtpr, sc5dndtp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Power (Bellfruit) (Scorpion 5) (set 19)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndtps, sc5dndtp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Power (Bellfruit) (Scorpion 5) (set 20)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndtpt, sc5dndtp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Power (Bellfruit) (Scorpion 5) (set 21)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndtpu, sc5dndtp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Power (Bellfruit) (Scorpion 5) (set 22)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndtpv, sc5dndtp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Power (Bellfruit) (Scorpion 5) (set 23)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dndtp, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Power (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndtpa, sc5dndtp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Power (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndtpb, sc5dndtp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Power (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndtpc, sc5dndtp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Power (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndtpd, sc5dndtp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Power (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndtpe, sc5dndtp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Power (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndtpf, sc5dndtp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Power (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndtpg, sc5dndtp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Power (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndtph, sc5dndtp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Power (Bellfruit) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndtpi, sc5dndtp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Power (Bellfruit) (Scorpion 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndtpj, sc5dndtp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Power (Bellfruit) (Scorpion 5) (set 11)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndtpk, sc5dndtp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Power (Bellfruit) (Scorpion 5) (set 12)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndtpl, sc5dndtp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Power (Bellfruit) (Scorpion 5) (set 13)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndtpm, sc5dndtp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Power (Bellfruit) (Scorpion 5) (set 14)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndtpn, sc5dndtp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Power (Bellfruit) (Scorpion 5) (set 15)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndtpo, sc5dndtp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Power (Bellfruit) (Scorpion 5) (set 16)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndtpp, sc5dndtp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Power (Bellfruit) (Scorpion 5) (set 17)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndtpq, sc5dndtp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Power (Bellfruit) (Scorpion 5) (set 18)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndtpr, sc5dndtp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Power (Bellfruit) (Scorpion 5) (set 19)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndtps, sc5dndtp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Power (Bellfruit) (Scorpion 5) (set 20)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndtpt, sc5dndtp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Power (Bellfruit) (Scorpion 5) (set 21)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndtpu, sc5dndtp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Power (Bellfruit) (Scorpion 5) (set 22)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndtpv, sc5dndtp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Power (Bellfruit) (Scorpion 5) (set 23)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3036 AWP DEAL OR NO DEAL THE WALK OF WEALTH SCORP5 PR3006 WALK OF WEALTH SOUNDS11 WALK OF WEALTH S.SITE -GAME( 200?, sc5dndww, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwwa, sc5dndww, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwwb, sc5dndww, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwwc, sc5dndww, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwwd, sc5dndww, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwwe, sc5dndww, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwwf, sc5dndww, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwwg, sc5dndww, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwwh, sc5dndww, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwwi, sc5dndww, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwwj, sc5dndww, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 11)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwwk, sc5dndww, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 12)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwwl, sc5dndww, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 13)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwwm, sc5dndww, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 14)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwwn, sc5dndww, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 15)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwwo, sc5dndww, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 16)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwwp, sc5dndww, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 17)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwwq, sc5dndww, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 18)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwwr, sc5dndww, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 19)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwws, sc5dndww, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 20)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dndww, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwwa, sc5dndww, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwwb, sc5dndww, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwwc, sc5dndww, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwwd, sc5dndww, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwwe, sc5dndww, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwwf, sc5dndww, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwwg, sc5dndww, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwwh, sc5dndww, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwwi, sc5dndww, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwwj, sc5dndww, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 11)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwwk, sc5dndww, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 12)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwwl, sc5dndww, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 13)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwwm, sc5dndww, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 14)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwwn, sc5dndww, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 15)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwwo, sc5dndww, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 16)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwwp, sc5dndww, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 17)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwwq, sc5dndww, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 18)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwwr, sc5dndww, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 19)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwws, sc5dndww, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 20)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3026 AWP CLASSIC DEAL OR NO DEAL THE WALK OF WEALTH SCORP5 PR3006 WALK OF WEALTH SOUNDS11 WALK OF WEALTH S.SITE -GAME( 200?, sc5dndwc, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwca, sc5dndwc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwcb, sc5dndwc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwcc, sc5dndwc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwcd, sc5dndwc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwce, sc5dndwc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwcf, sc5dndwc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwcg, sc5dndwc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dndwc, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwca, sc5dndwc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwcb, sc5dndwc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwcc, sc5dndwc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwcd, sc5dndwc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwce, sc5dndwc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwcf, sc5dndwc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwcg, sc5dndwc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3304 DOND THINK RED S5 PR3304 THINK RED SOUNDS11 THINK RED S.SITE -GAME( 200?, sc5dndtr, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Think Red (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndtra, sc5dndtr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Think Red (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndtrb, sc5dndtr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Think Red (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndtrc, sc5dndtr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Think Red (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndtrd, sc5dndtr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Think Red (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndtre, sc5dndtr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Think Red (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndtrf, sc5dndtr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Think Red (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndtrg, sc5dndtr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Think Red (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndtrh, sc5dndtr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Think Red (Bellfruit) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndtri, sc5dndtr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Think Red (Bellfruit) (Scorpion 5) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndtrj, sc5dndtr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Think Red (Bellfruit) (Scorpion 5) (set 11)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndtrk, sc5dndtr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Think Red (Bellfruit) (Scorpion 5) (set 12)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dndtr, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Think Red (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndtra, sc5dndtr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Think Red (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndtrb, sc5dndtr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Think Red (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndtrc, sc5dndtr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Think Red (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndtrd, sc5dndtr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Think Red (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndtre, sc5dndtr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Think Red (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndtrf, sc5dndtr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Think Red (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndtrg, sc5dndtr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Think Red (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndtrh, sc5dndtr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Think Red (Bellfruit) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndtri, sc5dndtr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Think Red (Bellfruit) (Scorpion 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndtrj, sc5dndtr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Think Red (Bellfruit) (Scorpion 5) (set 11)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndtrk, sc5dndtr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Think Red (Bellfruit) (Scorpion 5) (set 12)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1962 AWP DEAL OR NO DEAL WHATS IN YOUR BOX SCORP5 PR1962 WHATS IN Y BOX SOUNDS11 WHATS IN YOUR BX S.SITE -GAME( 200?, sc5dndwb, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwba, sc5dndwb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwbb, sc5dndwb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwbc, sc5dndwb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwbd, sc5dndwb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwbe, sc5dndwb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwbf, sc5dndwb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwbg, sc5dndwb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwbh, sc5dndwb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwbi, sc5dndwb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwbj, sc5dndwb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 11)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwbk, sc5dndwb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 12)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwbl, sc5dndwb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 13)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwbm, sc5dndwb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 14)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwbn, sc5dndwb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 15)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwbo, sc5dndwb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 16)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwbp, sc5dndwb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 17)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwbq, sc5dndwb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 18)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwbr, sc5dndwb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 19)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwbs, sc5dndwb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 20)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dndwb, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwba, sc5dndwb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwbb, sc5dndwb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwbc, sc5dndwb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwbd, sc5dndwb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwbe, sc5dndwb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwbf, sc5dndwb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwbg, sc5dndwb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwbh, sc5dndwb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwbi, sc5dndwb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwbj, sc5dndwb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 11)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwbk, sc5dndwb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 12)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwbl, sc5dndwb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 13)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwbm, sc5dndwb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 14)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwbn, sc5dndwb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 15)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwbo, sc5dndwb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 16)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwbp, sc5dndwb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 17)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwbq, sc5dndwb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 18)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwbr, sc5dndwb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 19)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwbs, sc5dndwb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 20)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3071 CASINO DOND WIYB REELS CASINO DOND ARCADE PR3071 W IN YOUR BOX SOUNDS11 -GAME( 200?, sc5dndwi, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box Casino (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwia, sc5dndwi, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box Casino (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwib, sc5dndwi, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box Casino (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwic, sc5dndwi, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box Casino (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwid, sc5dndwi, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box Casino (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwie, sc5dndwi, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box Casino (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwif, sc5dndwi, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box Casino (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndwig, sc5dndwi, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box Casino (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dndwi, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box Casino (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwia, sc5dndwi, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box Casino (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwib, sc5dndwi, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box Casino (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwic, sc5dndwi, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box Casino (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwid, sc5dndwi, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box Casino (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwie, sc5dndwi, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box Casino (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwif, sc5dndwi, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box Casino (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndwig, sc5dndwi, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal What's In Your Box Casino (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1307 AWP DIAMOND MINE PR1307 DIAM MINE SOUNDS11 -GAME( 2002, sc5dmine, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, sc5dminea, sc5dmine, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, sc5dmineb, sc5dmine, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, sc5dminec, sc5dmine, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, sc5dmined, sc5dmine, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, sc5dminee, sc5dmine, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, sc5dminef, sc5dmine, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, sc5dmineg, sc5dmine, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, sc5dmineh, sc5dmine, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, sc5dminei, sc5dmine, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 2002, sc5dmine, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, sc5dminea, sc5dmine, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, sc5dmineb, sc5dmine, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, sc5dminec, sc5dmine, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, sc5dmined, sc5dmine, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, sc5dminee, sc5dmine, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, sc5dminef, sc5dmine, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, sc5dmineg, sc5dmine, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, sc5dmineh, sc5dmine, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, sc5dminei, sc5dmine, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1307 AWP DIAMOND MINE PR1307 DIAM MINE SOUNDS11 DIAMOND MINE S.SITE -GAME( 2002, sc5dminej, sc5dmine, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 11)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, sc5dminek, sc5dmine, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 12)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, sc5dminel, sc5dmine, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 13)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 2002, sc5dminej, sc5dmine, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 11)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, sc5dminek, sc5dmine, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 12)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, sc5dminel, sc5dmine, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 13)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1394 AWP DOCTOR DOSH SCORP5 PR1309 DOCTOR DOSH SOUNDS11 -GAME( 200?, sc5ddosh, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ddosha, sc5ddosh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5ddosh, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ddosha, sc5ddosh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1716 AWP DOUGH HO HO S5 PR1716 DOUGH HO HO SOUNDS11 DOUGH HO HO S.SITE -GAME( 200?, sc5dhh, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dhha, sc5dhh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dhhb, sc5dhh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dhhc, sc5dhh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dhhd, sc5dhh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dhhe, sc5dhh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dhhf, sc5dhh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dhhg, sc5dhh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) // incomplete pairing +GAME( 200?, sc5dhh, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dhha, sc5dhh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dhhb, sc5dhh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dhhc, sc5dhh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dhhd, sc5dhh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dhhe, sc5dhh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dhhf, sc5dhh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dhhg, sc5dhh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // incomplete pairing // PR1615 AWP DOUGH SELECTA SCORP5 PR1615 DOUGH SELECTA SOUNDS11 DOUGH SELECTA S.SITE -GAME( 200?, sc5dough, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Dough Selecta (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dougha, sc5dough, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Dough Selecta (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dough, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Dough Selecta (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dougha, sc5dough, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Dough Selecta (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2118 DUCKS OF HAZZARD DUCKSOFHAZZARDSND DUCKS OF HAZZARD -GAME( 200?, sc5ducks, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Ducks Of Hazzard (Mazooma) (Scorpion 5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5ducks, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Ducks Of Hazzard (Mazooma) (Scorpion 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2313 EMMERDALE EMMR SOUNDS EMMERDALE -GAME( 200?, sc5emmer, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Emmerdale (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5emmera, sc5emmer, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Emmerdale (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5emmer, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Emmerdale (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5emmera, sc5emmer, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Emmerdale (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3213 AWP FAMILY GUY S5 PR3213 FAMILY GUY SOUNDS11 FAMILY GUY S.SITE -GAME( 200?, sc5fguy, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5fguya, sc5fguy, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5fguyb, sc5fguy, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5fguyc, sc5fguy, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5fguyd, sc5fguy, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5fguye, sc5fguy, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5fguyf, sc5fguy, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5fguyg, sc5fguy, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5fguy, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5fguya, sc5fguy, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5fguyb, sc5fguy, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5fguyc, sc5fguy, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5fguyd, sc5fguy, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5fguye, sc5fguy, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5fguyf, sc5fguy, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5fguyg, sc5fguy, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1701 AWP FAT BOY SPIN SCORP5 PR1701 FAT BOY SPIN SOUNDS11 FAT BOY SPIN S.SITE -GAME( 200?, sc5fbspn, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Fat Boy Spin (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5fbspna, sc5fbspn, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Fat Boy Spin (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5fbspn, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Fat Boy Spin (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5fbspna, sc5fbspn, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Fat Boy Spin (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2328 FULL METAL JACKPOT FULLM SOUNDS F METAL JACKPOT -GAME( 200?, sc5fmj, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Full Metal Jackpot (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5fmja, sc5fmj, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Full Metal Jackpot (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5fmj, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Full Metal Jackpot (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5fmja, sc5fmj, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Full Metal Jackpot (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2255 GLADIATOR GLAD SOUNDS GLADIATOR -GAME( 200?, sc5glad, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Gladiator (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5glada, sc5glad, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Gladiator (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gladb, sc5glad, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Gladiator (Mazooma) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gladc, sc5glad, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Gladiator (Mazooma) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5glad, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Gladiator (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5glada, sc5glad, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Gladiator (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gladb, sc5glad, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Gladiator (Mazooma) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gladc, sc5glad, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Gladiator (Mazooma) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3509 AWP GOLD DIGGER SCORP5 PR3509 GOLD DIGGER SOUNDS11 GOLD DIGGER S.SITE -GAME( 200?, sc5gd, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gold Digger (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gda, sc5gd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gold Digger (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5gd, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gold Digger (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gda, sc5gd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gold Digger (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2325 GOLD DIGGERS GOLD SOUNDS GOLD DIGGERS -GAME( 200?, sc5gdmz, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Gold Diggers (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gdmza, sc5gdmz, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Gold Diggers (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5gdmz, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Gold Diggers (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gdmza, sc5gdmz, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Gold Diggers (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1137 CLUB GOLD DIGGER CLUB GOLD DIGGER CLUB PR1137 GOLDD CL SOUNDS11 -GAME( 200?, sc5gdclb, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gdclba, sc5gdclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gdclbb, sc5gdclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gdclbc, sc5gdclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gdclbd, sc5gdclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gdclbe, sc5gdclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gdclbf, sc5gdclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gdclbg, sc5gdclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5gdclb, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gdclba, sc5gdclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gdclbb, sc5gdclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gdclbc, sc5gdclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gdclbd, sc5gdclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gdclbe, sc5gdclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gdclbf, sc5gdclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gdclbg, sc5gdclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3429 CLUB GOLD DIGGER CLUB GOLD DIGGER CLUB PR1137 GOLDD CL SOUNDS11 -GAME( 200?, sc5gdclbj, sc5gdclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gold Digger Club (PR3429) (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gdclbk, sc5gdclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gold Digger Club (PR3429) (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5gdclbj, sc5gdclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gold Digger Club (PR3429) (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gdclbk, sc5gdclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gold Digger Club (PR3429) (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3509 AWP GOLD DIGGER SCORP5 PR3509 GOLD DIGGER SOUNDS11 GOLD DIGGER S.SITE -GAME( 200?, sc5gdclbh, sc5gdclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gold Digger (PR3509) (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gdclbi, sc5gdclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gold Digger (PR3509) (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5gdclbh, sc5gdclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gold Digger (PR3509) (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gdclbi, sc5gdclb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gold Digger (PR3509) (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1604 AWP GOLDEN BALLS PR1604 GOLDEN BALLS SOUNDS12 GOLDEN BALLS S.SITE (same as the sc5 version) -GAME( 200?, sc5gball, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Golden Balls (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gballa, sc5gball, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Golden Balls (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gballb, sc5gball, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Golden Balls (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gballc, sc5gball, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Golden Balls (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5gball, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Golden Balls (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gballa, sc5gball, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Golden Balls (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gballb, sc5gball, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Golden Balls (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gballc, sc5gball, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Golden Balls (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2208 GOLDEN GAME PLASMA GOLDEN GAME MAZ BARX SOUNDS -GAME( 200?, sc5ggame, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Golden Game (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ggamea, sc5ggame, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Golden Game (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ggameb, sc5ggame, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Golden Game (Mazooma) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ggamec, sc5ggame, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Golden Game (Mazooma) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ggamed, sc5ggame, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Golden Game (Mazooma) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5ggame, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Golden Game (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ggamea, sc5ggame, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Golden Game (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ggameb, sc5ggame, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Golden Game (Mazooma) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ggamec, sc5ggame, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Golden Game (Mazooma) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ggamed, sc5ggame, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Golden Game (Mazooma) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 200?, sc5ggg, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Grand Golden Game (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) // PR2371 GRAND GOLDEN GAME GRAND GOLDEN GAM MAZ ( GOLD X TRIPLE -GAME( 200?, sc5ggga, sc5ggg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Grand Golden Game (Mazooma) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) // ^^ -GAME( 200?, sc5gggb, sc5ggg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Grand Golden Game (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) // PR2353 GRAND GOLDEN GAME GRAND GOLDEN GAM MAZ BARX SOUNDS GOLDEN GAME -GAME( 200?, sc5gggc, sc5ggg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Grand Golden Game (Mazooma) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) // ^^ +GAME( 200?, sc5ggg, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Grand Golden Game (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2371 GRAND GOLDEN GAME GRAND GOLDEN GAM MAZ ( GOLD X TRIPLE +GAME( 200?, sc5ggga, sc5ggg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Grand Golden Game (Mazooma) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // ^^ +GAME( 200?, sc5gggb, sc5ggg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Grand Golden Game (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2353 GRAND GOLDEN GAME GRAND GOLDEN GAM MAZ BARX SOUNDS GOLDEN GAME +GAME( 200?, sc5gggc, sc5ggg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Grand Golden Game (Mazooma) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // ^^ // PR3016 AWP THE GUNPOWDER SLOT S5 PR3016 GUNPOWDER SLOT SOUNDS11 GUNPOWDER SLOT S.SITE -GAME( 200?, sc5gunp, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gunpa, sc5gunp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gunpb, sc5gunp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gunpc, sc5gunp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gunpd, sc5gunp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gunpe, sc5gunp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gunpf, sc5gunp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gunpg, sc5gunp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gunph, sc5gunp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gunpi, sc5gunp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gunpj, sc5gunp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 11)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gunpk, sc5gunp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 12)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5gunpl, sc5gunp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 13)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5gunp, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gunpa, sc5gunp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gunpb, sc5gunp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gunpc, sc5gunp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gunpd, sc5gunp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gunpe, sc5gunp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gunpf, sc5gunp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gunpg, sc5gunp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gunph, sc5gunp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gunpi, sc5gunp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gunpj, sc5gunp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 11)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gunpk, sc5gunp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 12)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5gunpl, sc5gunp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 13)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1388 AWP HAPPY NOTES SCORP5 PR1306 HAPPY NOTES SOUNDS11 -GAME( 200?, sc5hapnt, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Happy Notes (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hapnta, sc5hapnt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Happy Notes (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hapntb, sc5hapnt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Happy Notes (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hapntc, sc5hapnt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Happy Notes (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hapntd, sc5hapnt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Happy Notes (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hapnte, sc5hapnt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Happy Notes (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hapntf, sc5hapnt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Happy Notes (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hapntg, sc5hapnt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Happy Notes (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5hapnt, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Happy Notes (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hapnta, sc5hapnt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Happy Notes (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hapntb, sc5hapnt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Happy Notes (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hapntc, sc5hapnt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Happy Notes (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hapntd, sc5hapnt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Happy Notes (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hapnte, sc5hapnt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Happy Notes (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hapntf, sc5hapnt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Happy Notes (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hapntg, sc5hapnt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Happy Notes (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1402 AWP HELLS BELLS PR1402 HELLS BELLS SOUNDS11 -GAME( 200?, sc5hellb, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hells Bells (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hellba, sc5hellb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hells Bells (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5hellb, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hells Bells (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hellba, sc5hellb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hells Bells (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1613 AWP HILLBILLIONAIRE SCORP5 PR1613 HILLBILLIONAIRE SOUNDS11 HILLBILLIONAIRE S.SITE -GAME( 200?, sc5hill, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hill Billionaire (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hilla, sc5hill, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hill Billionaire (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hillb, sc5hill, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hill Billionaire (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5hill, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hill Billionaire (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hilla, sc5hill, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hill Billionaire (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hillb, sc5hill, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hill Billionaire (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2176 HISSING QUID VIPA SOUNDS HISSING QUID -GAME( 200?, sc5hiss, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Hissing Quid (Qps) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hissa, sc5hiss, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Hissing Quid (Qps) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hissb, sc5hiss, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Hissing Quid (Qps) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hissc, sc5hiss, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Hissing Quid (Qps) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5hiss, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Hissing Quid (Qps) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hissa, sc5hiss, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Hissing Quid (Qps) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hissb, sc5hiss, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Hissing Quid (Qps) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hissc, sc5hiss, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Hissing Quid (Qps) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1936 AWP HOT DOG SCORP5 PR1916 HOT DOG SOUNDS11 HOT DOG S.SITE -GAME( 200?, sc5hotdg, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Dog (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hotdga, sc5hotdg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Dog (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hotdgb, sc5hotdg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Dog (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hotdgc, sc5hotdg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Dog (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hotdgd, sc5hotdg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Dog (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hotdge, sc5hotdg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Dog (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5hotdg, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Dog (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hotdga, sc5hotdg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Dog (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hotdgb, sc5hotdg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Dog (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hotdgc, sc5hotdg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Dog (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hotdgd, sc5hotdg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Dog (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hotdge, sc5hotdg, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Dog (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1733 AWP HOT ROD SCORP5 PR1713 HOT ROD SOUNDS11 HOT ROD S.SITE -GAME( 200?, sc5hotrd, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Rod (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hotrda, sc5hotrd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Rod (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5hotrd, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Rod (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hotrda, sc5hotrd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Rod (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3211 AWP HOT SHOT SCORP5 PR3211 HOT SHOT SOUNDS11 HOT SHOT S.SITE -GAME( 200?, sc5hotsh, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Shot (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hotsha, sc5hotsh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Shot (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hotshb, sc5hotsh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Shot (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hotshc, sc5hotsh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Shot (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hotshd, sc5hotsh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Shot (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hotshe, sc5hotsh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Shot (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hotshf, sc5hotsh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Shot (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hotshg, sc5hotsh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Shot (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hotshh, sc5hotsh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Shot (Bellfruit) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hotshi, sc5hotsh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Shot (Bellfruit) (Scorpion 5) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hotshj, sc5hotsh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Shot (Bellfruit) (Scorpion 5) (set 11)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hotshk, sc5hotsh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Shot (Bellfruit) (Scorpion 5) (set 12)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hotshl, sc5hotsh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Shot (Bellfruit) (Scorpion 5) (set 13)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hotshm, sc5hotsh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Shot (Bellfruit) (Scorpion 5) (set 14)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hotshn, sc5hotsh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Shot (Bellfruit) (Scorpion 5) (set 15)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hotsho, sc5hotsh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Shot (Bellfruit) (Scorpion 5) (set 16)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hotshp, sc5hotsh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Shot (Bellfruit) (Scorpion 5) (set 17)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hotshq, sc5hotsh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Shot (Bellfruit) (Scorpion 5) (set 18)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5hotsh, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Shot (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hotsha, sc5hotsh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Shot (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hotshb, sc5hotsh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Shot (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hotshc, sc5hotsh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Shot (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hotshd, sc5hotsh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Shot (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hotshe, sc5hotsh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Shot (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hotshf, sc5hotsh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Shot (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hotshg, sc5hotsh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Shot (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hotshh, sc5hotsh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Shot (Bellfruit) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hotshi, sc5hotsh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Shot (Bellfruit) (Scorpion 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hotshj, sc5hotsh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Shot (Bellfruit) (Scorpion 5) (set 11)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hotshk, sc5hotsh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Shot (Bellfruit) (Scorpion 5) (set 12)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hotshl, sc5hotsh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Shot (Bellfruit) (Scorpion 5) (set 13)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hotshm, sc5hotsh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Shot (Bellfruit) (Scorpion 5) (set 14)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hotshn, sc5hotsh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Shot (Bellfruit) (Scorpion 5) (set 15)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hotsho, sc5hotsh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Shot (Bellfruit) (Scorpion 5) (set 16)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hotshp, sc5hotsh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Shot (Bellfruit) (Scorpion 5) (set 17)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hotshq, sc5hotsh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Shot (Bellfruit) (Scorpion 5) (set 18)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1311 HOT WAD PR1311 HOT WAD SOUNDS11 -GAME( 200?, sc5hotwd, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Wad (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hotwda, sc5hotwd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Wad (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hotwdb, sc5hotwd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Wad (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hotwdc, sc5hotwd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Wad (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hotwdd, sc5hotwd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Wad (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hotwde, sc5hotwd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Wad (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hotwdf, sc5hotwd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Wad (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5hotwdg, sc5hotwd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Wad (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5hotwd, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Wad (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hotwda, sc5hotwd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Wad (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hotwdb, sc5hotwd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Wad (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hotwdc, sc5hotwd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Wad (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hotwdd, sc5hotwd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Wad (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hotwde, sc5hotwd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Wad (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hotwdf, sc5hotwd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Wad (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5hotwdg, sc5hotwd, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hot Wad (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1603 AWP IM A CELEBRITY PR1603 IM A CELEB SOUNDS11 IM A CELEBRITY S.SITE -GAME( 200?, sc5celeb, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","I'm A Celebrity (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5celeba, sc5celeb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","I'm A Celebrity (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5celebb, sc5celeb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","I'm A Celebrity (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5celebc, sc5celeb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","I'm A Celebrity (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5celebd, sc5celeb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","I'm A Celebrity (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5celeb, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","I'm A Celebrity (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5celeba, sc5celeb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","I'm A Celebrity (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5celebb, sc5celeb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","I'm A Celebrity (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5celebc, sc5celeb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","I'm A Celebrity (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5celebd, sc5celeb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","I'm A Celebrity (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2555 INNER SPIN V013 INNERSPINSND INNER SPIN -GAME( 200?, sc5inspn, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Inner Spin (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5inspna, sc5inspn, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Inner Spin (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5inspn, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Inner Spin (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5inspna, sc5inspn, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Inner Spin (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2366 AWP THE ITALIAN JOB S5 PR2366 THE ITALIAN JOB SOUNDS11 ITALIAN JOB S.SITE -GAME( 200?, sc5ijob, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ijoba, sc5ijob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ijobb, sc5ijob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ijobc, sc5ijob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ijobd, sc5ijob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ijobe, sc5ijob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ijobf, sc5ijob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ijobg, sc5ijob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ijobh, sc5ijob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ijobi, sc5ijob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 5) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5ijob, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ijoba, sc5ijob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ijobb, sc5ijob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ijobc, sc5ijob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ijobd, sc5ijob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ijobe, sc5ijob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ijobf, sc5ijob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ijobg, sc5ijob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ijobh, sc5ijob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ijobi, sc5ijob, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1609 JACKPOT JOKERS PR1609 JACKPOT JOKERS SOUNDS11 JACKPOT JOKERS S.SITE -GAME( 200?, sc5jjok, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Jackpot Jokers (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5jjoka, sc5jjok, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Jackpot Jokers (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5jjok, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Jackpot Jokers (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5jjoka, sc5jjok, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Jackpot Jokers (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2376 LITTLE DEVIL LDEVIL SOUNDS LITTLE DEVIL -GAME( 200?, sc5ldvl, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Little Devil (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ldvla, sc5ldvl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Little Devil (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ldvlb, sc5ldvl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Little Devil (Mazooma) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ldvlc, sc5ldvl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Little Devil (Mazooma) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ldvld, sc5ldvl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Little Devil (Mazooma) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ldvle, sc5ldvl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Little Devil (Mazooma) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5ldvl, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Little Devil (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ldvla, sc5ldvl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Little Devil (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ldvlb, sc5ldvl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Little Devil (Mazooma) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ldvlc, sc5ldvl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Little Devil (Mazooma) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ldvld, sc5ldvl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Little Devil (Mazooma) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ldvle, sc5ldvl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Little Devil (Mazooma) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1413 AWP RETURN OF THE KING PR1413 RETURN OF THE SOUNDS11 RETURN OF KING S.SITE -GAME( 200?, sc5lotrr, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5lotrra, sc5lotrr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5lotrrb, sc5lotrr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5lotrrc, sc5lotrr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5lotrrd, sc5lotrr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5lotrre, sc5lotrr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5lotrrf, sc5lotrr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5lotrrg, sc5lotrr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5lotrrh, sc5lotrr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5lotrri, sc5lotrr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 5) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5lotrr, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5lotrra, sc5lotrr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5lotrrb, sc5lotrr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5lotrrc, sc5lotrr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5lotrrd, sc5lotrr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5lotrre, sc5lotrr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5lotrrf, sc5lotrr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5lotrrg, sc5lotrr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5lotrrh, sc5lotrr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5lotrri, sc5lotrr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3004 AWP MANIC MINER SCORP5 PR3004 MANIC MINER SOUNDS11 MANIC MINER S.SITE -GAME( 200?, sc5manic, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5manica, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5manicb, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5manicc, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5manicd, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5manice, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5manicf, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5manicg, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5manich, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5manici, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5manicj, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 11)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5manick, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 12)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5manicl, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 13)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5manicm, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 14)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5manicn, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 15)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5manico, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 16)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5manicp, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 17)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5manicq, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 18)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5manicr, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 19)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5manics, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 20)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5manict, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 21)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5manicu, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 22)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5manicv, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 23)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5manicw, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 24)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5manicx, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 25)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5manicy, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 26)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5manic, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5manica, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5manicb, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5manicc, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5manicd, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5manice, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5manicf, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5manicg, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5manich, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5manici, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5manicj, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 11)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5manick, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 12)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5manicl, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 13)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5manicm, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 14)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5manicn, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 15)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5manico, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 16)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5manicp, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 17)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5manicq, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 18)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5manicr, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 19)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5manics, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 20)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5manict, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 21)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5manicu, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 22)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5manicv, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 23)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5manicw, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 24)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5manicx, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 25)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5manicy, sc5manic, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 26)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2282 MENTALMONEYMONSTERS MMMO SOUNDS MONEY MONSTERS -GAME( 200?, sc5mmm, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Mental Money Monsters (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mmma, sc5mmm, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Mental Money Monsters (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mmmb, sc5mmm, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Mental Money Monsters (Mazooma) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mmmc, sc5mmm, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Mental Money Monsters (Mazooma) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5mmm, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Mental Money Monsters (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mmma, sc5mmm, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Mental Money Monsters (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mmmb, sc5mmm, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Mental Money Monsters (Mazooma) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mmmc, sc5mmm, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Mental Money Monsters (Mazooma) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR0000 MONEY MADNESS MONM SOUNDS MONEY MADNESS -GAME( 200?, sc5mmad, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Money Madness (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mmada, sc5mmad, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Money Madness (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mmadb, sc5mmad, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Money Madness (Mazooma) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mmadc, sc5mmad, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Money Madness (Mazooma) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5mmad, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Money Madness (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mmada, sc5mmad, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Money Madness (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mmadb, sc5mmad, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Money Madness (Mazooma) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mmadc, sc5mmad, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Money Madness (Mazooma) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2395 MONEY SPINNER MONY SOUNDS NITH -GAME( 200?, sc5monsp, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Money Spinner (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5monspa, sc5monsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Money Spinner (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5monsp, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Money Spinner (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5monspa, sc5monsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Money Spinner (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PROJECT NUMBER PR0_0_ MONOPOLY P_S_E_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _U_A_S_U_D_ _ _ _ _ _ _ _ _ _ _ _ _ _T_I_K_P_N_ _ _ _ -GAME( 200?, sc5monop, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly (Mazooma) (Scorpion 5)", MACHINE_IS_SKELETON_MECHANICAL ) // incomplete pairing +GAME( 200?, sc5monop, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly (Mazooma) (Scorpion 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // incomplete pairing -GAME( 200?, sc5mcas, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Casino (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) // PR2372 CASINO MONOPOLY MONO SOUNDS CASINO MONOPOLY -GAME( 200?, sc5mcasa, sc5mcas, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Casino (Mazooma) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) // ^^ -GAME( 200?, sc5mcasb, sc5mcas, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Casino (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) // PR2372 CASINO MONOPOLY CASINO MONOPOLY MAZ MONO SOUNDS CASINO MONOPOLY -GAME( 200?, sc5mcasc, sc5mcas, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Casino (Mazooma) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) // ^^ +GAME( 200?, sc5mcas, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Casino (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2372 CASINO MONOPOLY MONO SOUNDS CASINO MONOPOLY +GAME( 200?, sc5mcasa, sc5mcas, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Casino (Mazooma) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // ^^ +GAME( 200?, sc5mcasb, sc5mcas, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Casino (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2372 CASINO MONOPOLY CASINO MONOPOLY MAZ MONO SOUNDS CASINO MONOPOLY +GAME( 200?, sc5mcasc, sc5mcas, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Casino (Mazooma) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // ^^ // PR3308 AWP MONOPOLY DOUBLE MONEY S5 PR3308 MPOLY D MONEY SOUNDS11 DOUBLE MONEY S.SITE -GAME( 200?, sc5mdm, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Double Money (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mdma, sc5mdm, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Double Money (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mdmb, sc5mdm, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Double Money (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mdmc, sc5mdm, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Double Money (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5mdm, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Double Money (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mdma, sc5mdm, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Double Money (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mdmb, sc5mdm, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Double Money (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mdmc, sc5mdm, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Double Money (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2380 MONOPOLY HERE AND NOW MR2R SOUNDS NITH -GAME( 200?, sc5mhn, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Here & Now (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mhna, sc5mhn, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Here & Now (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mhnb, sc5mhn, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Here & Now (Mazooma) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mhnc, sc5mhn, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Here & Now (Mazooma) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mhnd, sc5mhn, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Here & Now (Mazooma) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mhne, sc5mhn, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Here & Now (Mazooma) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5mhn, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Here & Now (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mhna, sc5mhn, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Here & Now (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mhnb, sc5mhn, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Here & Now (Mazooma) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mhnc, sc5mhn, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Here & Now (Mazooma) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mhnd, sc5mhn, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Here & Now (Mazooma) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mhne, sc5mhn, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Here & Now (Mazooma) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2345 AWP MONOPOLY HOT PROPERTY S5 PR2345 HOT PROPERTY SOUNDS11 HOT PROPERTY S.SITE -GAME( 200?, sc5mhp, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mhpa, sc5mhp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mhpb, sc5mhp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mhpc, sc5mhp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mhpd, sc5mhp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mhpe, sc5mhp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mhpf, sc5mhp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mhpg, sc5mhp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mhph, sc5mhp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mhpi, sc5mhp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 5) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mhpj, sc5mhp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 5) (set 11)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mhpk, sc5mhp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 5) (set 12)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mhpl, sc5mhp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 5) (set 13)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5mhp, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mhpa, sc5mhp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mhpb, sc5mhp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mhpc, sc5mhp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mhpd, sc5mhp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mhpe, sc5mhp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mhpf, sc5mhp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mhpg, sc5mhp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mhph, sc5mhp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mhpi, sc5mhp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mhpj, sc5mhp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 5) (set 11)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mhpk, sc5mhp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 5) (set 12)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mhpl, sc5mhp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 5) (set 13)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3413 AWP MONOPOLY MONEYBAGS S5 PR3413 MONEYBAGS SOUNDS11 MONEYBAGS S.SITE -GAME( 200?, sc5mmb, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Money Bags (PR3413) (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mmba, sc5mmb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Money Bags (PR3413) (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mmbb, sc5mmb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Money Bags (PR3413) (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mmbc, sc5mmb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Money Bags (PR3413) (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5mmb, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Money Bags (PR3413) (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mmba, sc5mmb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Money Bags (PR3413) (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mmbb, sc5mmb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Money Bags (PR3413) (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mmbc, sc5mmb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Money Bags (PR3413) (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1911 AWP MONOLOLY MONEY BAGS SCORP5 PR1911 MPOLY MONEYBAGS SOUNDS11 MONEYBAGS S.SITE -GAME( 200?, sc5mmbd, sc5mmb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Money Bags (PR1911) (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mmbe, sc5mmb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Money Bags (PR1911) (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5mmbd, sc5mmb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Money Bags (PR1911) (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mmbe, sc5mmb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Money Bags (PR1911) (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2363 RED HOT MONOP RED HOT MONOPOLY MAZ MONO SOUNDS MONOPOLY -GAME( 200?, sc5mrh, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Red Hot (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mrha, sc5mrh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Red Hot (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5mrh, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Red Hot (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mrha, sc5mrh, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Red Hot (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2329 MONOPOLY ROAD TO RICHES MR2R SOUNDS ROAD TO RICHES -GAME( 200?, sc5mr2r, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Road To Riches (PR2329) (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mr2ra, sc5mr2r, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Road To Riches (PR2329) (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5mr2r, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Road To Riches (PR2329) (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mr2ra, sc5mr2r, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Road To Riches (PR2329) (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2457 ROADTORICHES CLUBROADTORICHES CLUB CRTR SOUNDS CLUB ROAD TO RICHES -GAME( 200?, sc5mr2rb, sc5mr2r, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Road To Riches Club (PR2457) (Mazooma) (Scorpion 5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5mr2rb, sc5mr2r, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Road To Riches Club (PR2457) (Mazooma) (Scorpion 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2190 MONOPOLY WOW MONOPOLY WOW MAZ TWOW SOUNDS -GAME( 200?, sc5mww, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Wonders Of The World (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mwwa, sc5mww, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Wonders Of The World (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mwwb, sc5mww, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Wonders Of The World (Mazooma) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mwwc, sc5mww, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Wonders Of The World (Mazooma) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5mww, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Wonders Of The World (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mwwa, sc5mww, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Wonders Of The World (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mwwb, sc5mww, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Wonders Of The World (Mazooma) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mwwc, sc5mww, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Wonders Of The World (Mazooma) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3002 AWP NIGHTMARE ON ELM STREET S5 PR3002 ELM STREET SOUNDS11 NIGHTMARE ELM ST S.SITE -GAME( 200?, sc5nmare, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","A Nightmare On Elm Street (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5nmarea, sc5nmare, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","A Nightmare On Elm Street (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5nmareb, sc5nmare, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","A Nightmare On Elm Street (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5nmarec, sc5nmare, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","A Nightmare On Elm Street (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5nmare, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","A Nightmare On Elm Street (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5nmarea, sc5nmare, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","A Nightmare On Elm Street (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5nmareb, sc5nmare, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","A Nightmare On Elm Street (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5nmarec, sc5nmare, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","A Nightmare On Elm Street (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1612 PICK OF THE PACK PR1612 PICK OF THE PACK SOUNDS11 PICK OF THE PACK S.SITE -GAME( 2005, sc5potp, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pick Of The Pack (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2005, sc5potpa, sc5potp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pick Of The Pack (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 2005, sc5potp, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pick Of The Pack (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2005, sc5potpa, sc5potp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pick Of The Pack (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2562 PINK PANTHER PINK SOUNDS PINK PANTHER -GAME( 200?, sc5pp, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Pink Panther (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ppa, sc5pp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Pink Panther (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ppb, sc5pp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Pink Panther (Mazooma) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ppc, sc5pp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Pink Panther (Mazooma) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ppd, sc5pp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Pink Panther (Mazooma) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ppe, sc5pp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Pink Panther (Mazooma) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ppf, sc5pp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Pink Panther (Mazooma) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ppg, sc5pp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Pink Panther (Mazooma) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5pp, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Pink Panther (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ppa, sc5pp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Pink Panther (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ppb, sc5pp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Pink Panther (Mazooma) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ppc, sc5pp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Pink Panther (Mazooma) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ppd, sc5pp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Pink Panther (Mazooma) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ppe, sc5pp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Pink Panther (Mazooma) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ppf, sc5pp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Pink Panther (Mazooma) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ppg, sc5pp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Pink Panther (Mazooma) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2279 PINK PANTHER CLOUSEAUS REVENGE REVENGE QPS REVENGE SOUNDS -GAME( 200?, sc5ppcr, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma / QPS","Pink Panther Clouseau's Revenge (Mazooma / QPS) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ppcrb, sc5ppcr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma / QPS","Pink Panther Clouseau's Revenge (Mazooma / QPS) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ppcrc, sc5ppcr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma / QPS","Pink Panther Clouseau's Revenge (Mazooma / QPS) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ppcrd, sc5ppcr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma / QPS","Pink Panther Clouseau's Revenge (Mazooma / QPS) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5ppcr, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma / QPS","Pink Panther Clouseau's Revenge (Mazooma / QPS) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ppcrb, sc5ppcr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma / QPS","Pink Panther Clouseau's Revenge (Mazooma / QPS) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ppcrc, sc5ppcr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma / QPS","Pink Panther Clouseau's Revenge (Mazooma / QPS) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ppcrd, sc5ppcr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma / QPS","Pink Panther Clouseau's Revenge (Mazooma / QPS) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2279 CLOUSEAUS REVENGE REVENGE SOUNDS -GAME( 200?, sc5ppcra, sc5ppcr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Pink Panther Clouseau's Revenge (Mazooma) (Scorpion 5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5ppcra, sc5ppcr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Pink Panther Clouseau's Revenge (Mazooma) (Scorpion 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2407 AWP PINK PANTHER CRACK THE CODE SCORP5 PR2407 CRACK THE CODE SOUNDS11 CRACK THE CODE S.SITE -GAME( 200?, sc5ppctc, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ppctca, sc5ppctc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ppctcb, sc5ppctc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ppctcc, sc5ppctc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ppctcd, sc5ppctc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ppctce, sc5ppctc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ppctcf, sc5ppctc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ppctcg, sc5ppctc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ppctch, sc5ppctc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ppctci, sc5ppctc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 5) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5ppctc, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ppctca, sc5ppctc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ppctcb, sc5ppctc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ppctcc, sc5ppctc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ppctcd, sc5ppctc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ppctce, sc5ppctc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ppctcf, sc5ppctc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ppctcg, sc5ppctc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ppctch, sc5ppctc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ppctci, sc5ppctc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2330 PINK PANTHER DYM PINK PANTHER DYM QPS DYMN SOUNDS PINK PANTHER DYM -GAME( 200?, sc5ppdym, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma / QPS","Pink Panther Double Your Money (Mazooma / QPS) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ppdyma, sc5ppdym, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma / QPS","Pink Panther Double Your Money (Mazooma / QPS) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5ppdym, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma / QPS","Pink Panther Double Your Money (Mazooma / QPS) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ppdyma, sc5ppdym, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma / QPS","Pink Panther Double Your Money (Mazooma / QPS) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2303 STRIKES AGAIN PPSA SOUNDS STRIKES AGAIN -GAME( 200?, sc5ppsag, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Pink Panther Strikes Again (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ppsaga, sc5ppsag, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Pink Panther Strikes Again (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ppsagb, sc5ppsag, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Pink Panther Strikes Again (Mazooma) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ppsagc, sc5ppsag, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Pink Panther Strikes Again (Mazooma) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ppsagd, sc5ppsag, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Pink Panther Strikes Again (Mazooma) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ppsage, sc5ppsag, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Pink Panther Strikes Again (Mazooma) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5ppsag, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Pink Panther Strikes Again (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ppsaga, sc5ppsag, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Pink Panther Strikes Again (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ppsagb, sc5ppsag, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Pink Panther Strikes Again (Mazooma) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ppsagc, sc5ppsag, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Pink Panther Strikes Again (Mazooma) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ppsagd, sc5ppsag, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Pink Panther Strikes Again (Mazooma) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ppsage, sc5ppsag, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Pink Panther Strikes Again (Mazooma) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1408 PONY EXPRESS PR1408 PONY EXPRESS SOUNDS11 PONY EXPRESS S.SITE -GAME( 200?, sc5pony, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pony Express (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ponya, sc5pony, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pony Express (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ponyb, sc5pony, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pony Express (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ponyc, sc5pony, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pony Express (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ponyd, sc5pony, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pony Express (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ponye, sc5pony, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pony Express (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5pony, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pony Express (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ponya, sc5pony, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pony Express (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ponyb, sc5pony, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pony Express (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ponyc, sc5pony, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pony Express (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ponyd, sc5pony, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pony Express (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ponye, sc5pony, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pony Express (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2417 AWP POPEYE S5 PR2417 POPEYE SOUNDS11 POPEYE S.SITE -GAME( 200?, sc5popey, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Popeye (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5popeya, sc5popey, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Popeye (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5popeyb, sc5popey, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Popeye (Mazooma) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5popeyc, sc5popey, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Popeye (Mazooma) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5popeyd, sc5popey, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Popeye (Mazooma) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5popeye, sc5popey, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Popeye (Mazooma) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5popeyf, sc5popey, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Popeye (Mazooma) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5popeyg, sc5popey, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Popeye (Mazooma) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5popey, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Popeye (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5popeya, sc5popey, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Popeye (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5popeyb, sc5popey, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Popeye (Mazooma) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5popeyc, sc5popey, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Popeye (Mazooma) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5popeyd, sc5popey, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Popeye (Mazooma) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5popeye, sc5popey, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Popeye (Mazooma) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5popeyf, sc5popey, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Popeye (Mazooma) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5popeyg, sc5popey, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Popeye (Mazooma) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1918 AWP POTS OF GOLD SCORP5 PR1918 POTS OF GOLD SOUNDS11 POTS OF GOLD S.SITE -GAME( 200?, sc5pog, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5poga, sc5pog, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5pogb, sc5pog, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5pogc, sc5pog, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5pogd, sc5pog, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5poge, sc5pog, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5pogf, sc5pog, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5pogg, sc5pog, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5pog, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5poga, sc5pog, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5pogb, sc5pog, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5pogc, sc5pog, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5pogd, sc5pog, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5poge, sc5pog, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5pogf, sc5pog, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5pogg, sc5pog, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // Z050 POTOFGLD PR000050 POTOFGLD 1 POTOFGLD AWP -GAME( 200?, sc5potog, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "QPS","Pot Of Gold (QPS) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5potoga, sc5potog, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "QPS","Pot Of Gold (QPS) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5potogb, sc5potog, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "QPS","Pot Of Gold (QPS) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5potogc, sc5potog, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "QPS","Pot Of Gold (QPS) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5potogd, sc5potog, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "QPS","Pot Of Gold (QPS) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5potoge, sc5potog, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "QPS","Pot Of Gold (QPS) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5potogf, sc5potog, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "QPS","Pot Of Gold (QPS) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5potogg, sc5potog, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "QPS","Pot Of Gold (QPS) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5potogh, sc5potog, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "QPS","Pot Of Gold (QPS) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5potogi, sc5potog, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "QPS","Pot Of Gold (QPS) (Scorpion 5) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5potog, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "QPS","Pot Of Gold (QPS) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5potoga, sc5potog, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "QPS","Pot Of Gold (QPS) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5potogb, sc5potog, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "QPS","Pot Of Gold (QPS) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5potogc, sc5potog, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "QPS","Pot Of Gold (QPS) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5potogd, sc5potog, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "QPS","Pot Of Gold (QPS) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5potoge, sc5potog, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "QPS","Pot Of Gold (QPS) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5potogf, sc5potog, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "QPS","Pot Of Gold (QPS) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5potogg, sc5potog, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "QPS","Pot Of Gold (QPS) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5potogh, sc5potog, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "QPS","Pot Of Gold (QPS) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5potogi, sc5potog, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "QPS","Pot Of Gold (QPS) (Scorpion 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2272 POWER PLAY PPLY SOUNDS -GAME( 200?, sc5pwrpl, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Power Play (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5pwrpla, sc5pwrpl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Power Play (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5pwrpl, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Power Play (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5pwrpla, sc5pwrpl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Power Play (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1614 AWP POWERBALL POWERBALL S.SITE PR1614 POWERBALL SOUNDS11 -GAME( 200?, sc5pwrbl, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Powerball (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5pwrbla, sc5pwrbl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Powerball (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5pwrbl, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Powerball (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5pwrbla, sc5pwrbl, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Powerball (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2342 QUID VICIOUS QUIDV SOUNDS QUID VICIOUS -GAME( 200?, sc5quidv, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5quidva, sc5quidv, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5quidvb, sc5quidv, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5quidvc, sc5quidv, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5quidvd, sc5quidv, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5quidve, sc5quidv, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5quidvf, sc5quidv, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5quidvg, sc5quidv, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5quidv, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5quidva, sc5quidv, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5quidvb, sc5quidv, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5quidvc, sc5quidv, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5quidvd, sc5quidv, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5quidve, sc5quidv, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5quidvf, sc5quidv, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5quidvg, sc5quidv, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2077 RED HOT X SDRDX SOUNDS -GAME( 200?, sc5rhx, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5rhx, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2077 RED HOT X SDRDX SOUNDS -GAME( 200?, sc5rhxa, sc5rhx, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5rhxb, sc5rhx, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5rhxc, sc5rhx, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5rhxd, sc5rhx, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5rhxe, sc5rhx, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5rhxf, sc5rhx, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5rhxa, sc5rhx, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5rhxb, sc5rhx, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5rhxc, sc5rhx, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5rhxd, sc5rhx, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5rhxe, sc5rhx, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5rhxf, sc5rhx, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2364 CASINO RED HOT X RED HOT X CRHX SOUNDS RED HOT X -GAME( 200?, sc5rhxcs, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Red Hot X Casino (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5rhxcsa, sc5rhxcs, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Red Hot X Casino (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5rhxcs, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Red Hot X Casino (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5rhxcsa, sc5rhxcs, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Red Hot X Casino (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2557 RED SQUARE REDS SOUNDS RED SQUARE -GAME( 200?, sc5redsq, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Red Square (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5redsqa, sc5redsq, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Red Square (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5redsq, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Red Square (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5redsqa, sc5redsq, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Red Square (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3257 CLUB RONNIE O SULLIVANS TOURNAMENT SCORP5 RONNIE OSULLIVAN CLUB PR3256 RONNIE O SOUNDS11 RONNIE SULLIVAN -GAME( 200?, sc5rosts, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5rostsa, sc5rosts, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5rostsb, sc5rosts, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5rostsc, sc5rosts, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5rostsd, sc5rosts, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5rostse, sc5rosts, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5rosts, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5rostsa, sc5rosts, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5rostsb, sc5rosts, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5rostsc, sc5rosts, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5rostsd, sc5rosts, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5rostse, sc5rosts, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2311 ROVERS RETURN ROVERS RETURN SOUNDS ROVERS RETURN -GAME( 200?, sc5rovrt, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Rovers Return (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5rovrta, sc5rovrt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Rovers Return (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5rovrtb, sc5rovrt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Rovers Return (Mazooma) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5rovrtc, sc5rovrt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Rovers Return (Mazooma) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5rovrt, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Rovers Return (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5rovrta, sc5rovrt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Rovers Return (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5rovrtb, sc5rovrt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Rovers Return (Mazooma) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5rovrtc, sc5rovrt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Rovers Return (Mazooma) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2280 SHOW ME THE MONEY SMTM SOUNDS -GAME( 200?, sc5smtm, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Show Me The Money (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5smtma, sc5smtm, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Show Me The Money (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5smtm, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Show Me The Money (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5smtma, sc5smtm, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Show Me The Money (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3013 AWP SHOW TIME S5 PR3013 SHOWTIME SOUNDS11 SHOW TIME S.SITE -GAME( 200?, sc5showt, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5showta, sc5showt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5showtb, sc5showt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5showtc, sc5showt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5showtd, sc5showt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5showte, sc5showt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5showtf, sc5showt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5showtg, sc5showt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5showth, sc5showt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5showti, sc5showt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5showtj, sc5showt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 11)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5showtk, sc5showt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 12)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5showtl, sc5showt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 13)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5showtm, sc5showt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 14)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5showtn, sc5showt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 15)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5showto, sc5showt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 16)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5showtp, sc5showt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 17)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5showtq, sc5showt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 18)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5showtr, sc5showt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 19)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5showts, sc5showt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 20)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5showt, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5showta, sc5showt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5showtb, sc5showt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5showtc, sc5showt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5showtd, sc5showt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5showte, sc5showt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5showtf, sc5showt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5showtg, sc5showt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5showth, sc5showt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5showti, sc5showt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5showtj, sc5showt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 11)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5showtk, sc5showt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 12)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5showtl, sc5showt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 13)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5showtm, sc5showt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 14)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5showtn, sc5showt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 15)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5showto, sc5showt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 16)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5showtp, sc5showt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 17)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5showtq, sc5showt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 18)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5showtr, sc5showt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 19)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5showts, sc5showt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 20)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1411 AWP SNAKES AND LADDERS PR1411 SNAKES A L SOUNDS11 -GAME( 200?, sc5slad, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5slada, sc5slad, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5sladb, sc5slad, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5sladc, sc5slad, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5sladd, sc5slad, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5slade, sc5slad, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5sladf, sc5slad, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5sladg, sc5slad, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5slad, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5slada, sc5slad, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5sladb, sc5slad, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5sladc, sc5slad, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5sladd, sc5slad, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5slade, sc5slad, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5sladf, sc5slad, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5sladg, sc5slad, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1901 AWP SPICE IT UP SCORP5 PR1901 SPICE IT UP SOUNDS11 SPICE IT UP S.SITE -GAME( 200?, sc5spice, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Spice It Up (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5spiceb, sc5spice, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Spice It Up (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5spice, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Spice It Up (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5spiceb, sc5spice, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Spice It Up (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1921 AWP SPICE IT UP SCORP4 PR1901 SPICE IT UP SOUNDS11 SPICE IT UP S.SITE (this header is incorrect, these are SCORP 5 sets, they use opcodes not present in the sc5 cpu and have the 'SC5' at the start of the ROM) -GAME( 200?, sc5spicea, sc5spice, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Spice It Up (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5spicec, sc5spice, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Spice It Up (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5spiced, sc5spice, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Spice It Up (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5spicee, sc5spice, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Spice It Up (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5spicea, sc5spice, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Spice It Up (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5spicec, sc5spice, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Spice It Up (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5spiced, sc5spice, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Spice It Up (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5spicee, sc5spice, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Spice It Up (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2232 SPIN WHEN YOU'RE WINNING SPIN SOUNDS -GAME( 200?, sc5swywm, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Spin When Your Winning (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5swywma, sc5swywm, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Spin When Your Winning (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5swywmb, sc5swywm, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Spin When Your Winning (Mazooma) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5swywmc, sc5swywm, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Spin When Your Winning (Mazooma) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5swywm, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Spin When Your Winning (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5swywma, sc5swywm, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Spin When Your Winning (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5swywmb, sc5swywm, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Spin When Your Winning (Mazooma) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5swywmc, sc5swywm, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Spin When Your Winning (Mazooma) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2176 SUMMIT UP SUMMIT SOUNDS SUMMIT UP H -GAME( 200?, sc5sumit, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Summit Up (Qps) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5sumita, sc5sumit, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Summit Up (Qps) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5sumit, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Summit Up (Qps) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5sumita, sc5sumit, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Summit Up (Qps) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2255 SUITUSIR SUIT SOUNDS SUITS U SIR -GAME( 200?, sc5sus, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Suits U Sir (Qps) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5susa, sc5sus, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Suits U Sir (Qps) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5susb, sc5sus, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Suits U Sir (Qps) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5susc, sc5sus, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Suits U Sir (Qps) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5sus, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Suits U Sir (Qps) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5susa, sc5sus, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Suits U Sir (Qps) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5susb, sc5sus, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Suits U Sir (Qps) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5susc, sc5sus, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Qps","Suits U Sir (Qps) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2235 SWITCHBACK SWBK SOUNDS SWITCHBACK -GAME( 200?, sc5swbak, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Switch Back (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5swbaka, sc5swbak, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Switch Back (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5swbak, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Switch Back (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5swbaka, sc5swbak, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Switch Back (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1714 AWP TAKE THE PIECE S5 PR1714 TAKE THE PIECE SOUNDS11 TAKETHEPIECE S.SITE -GAME( 200?, sc5ttpie, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ttpiea, sc5ttpie, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ttpieb, sc5ttpie, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ttpiec, sc5ttpie, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ttpied, sc5ttpie, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ttpiee, sc5ttpie, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ttpief, sc5ttpie, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ttpieg, sc5ttpie, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ttpieh, sc5ttpie, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ttpiei, sc5ttpie, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 5) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5ttpie, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ttpiea, sc5ttpie, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ttpieb, sc5ttpie, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ttpiec, sc5ttpie, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ttpied, sc5ttpie, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ttpiee, sc5ttpie, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ttpief, sc5ttpie, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ttpieg, sc5ttpie, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ttpieh, sc5ttpie, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ttpiei, sc5ttpie, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3001 AWP TAKE YOUR PICK S5 PR3001 TAKE YOUR PICK SOUNDS11 TAKE YOUR PICK S.SITE -GAME( 200?, sc5typ, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Take Your Pick (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5typa, sc5typ, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Take Your Pick (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5typb, sc5typ, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Take Your Pick (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5typc, sc5typ, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Take Your Pick (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5typ, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Take Your Pick (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5typa, sc5typ, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Take Your Pick (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5typb, sc5typ, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Take Your Pick (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5typc, sc5typ, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Take Your Pick (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2140 MONOPOLY X SDMON SOUNDS (are these really a game called Top Box, or are they Top Box roms for Monopoly?) -GAME( 200?, sc5tbox, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5tboxa, sc5tbox, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5tboxb, sc5tbox, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5tboxc, sc5tbox, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5tboxd, sc5tbox, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5tboxe, sc5tbox, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5tboxf, sc5tbox, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5tboxg, sc5tbox, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5tboxh, sc5tbox, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5tboxi, sc5tbox, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5tboxj, sc5tbox, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 11)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5tboxk, sc5tbox, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 12)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5tboxl, sc5tbox, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 13)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5tboxm, sc5tbox, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 14)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5tboxn, sc5tbox, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 15)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5tboxo, sc5tbox, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 16)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5tboxp, sc5tbox, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 17)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5tboxq, sc5tbox, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 18)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5tbox, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5tboxa, sc5tbox, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5tboxb, sc5tbox, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5tboxc, sc5tbox, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5tboxd, sc5tbox, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5tboxe, sc5tbox, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5tboxf, sc5tbox, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5tboxg, sc5tbox, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5tboxh, sc5tbox, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5tboxi, sc5tbox, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5tboxj, sc5tbox, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 11)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5tboxk, sc5tbox, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 12)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5tboxl, sc5tbox, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 13)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5tboxm, sc5tbox, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 14)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5tboxn, sc5tbox, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 15)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5tboxo, sc5tbox, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 16)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5tboxp, sc5tbox, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 17)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5tboxq, sc5tbox, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 18)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2211 TOP OF THE SHOTS TOTS SOUNDS TOP OF THE SHOTS -GAME( 200?, sc5tpsht, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Top Of The Shots (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5tpshta, sc5tpsht, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Top Of The Shots (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5tpshtb, sc5tpsht, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Top Of The Shots (Mazooma) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5tpshtc, sc5tpsht, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Top Of The Shots (Mazooma) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5tpshtd, sc5tpsht, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Top Of The Shots (Mazooma) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5tpsht, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Top Of The Shots (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5tpshta, sc5tpsht, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Top Of The Shots (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5tpshtb, sc5tpsht, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Top Of The Shots (Mazooma) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5tpshtc, sc5tpsht, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Top Of The Shots (Mazooma) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5tpshtd, sc5tpsht, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Top Of The Shots (Mazooma) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2175 TRAIL BLAZER TRAB SOUNDS TRAIL BLAZER -GAME( 200?, sc5trail, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Trailblazer (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5traila, sc5trail, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Trailblazer (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5trail, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Trailblazer (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5traila, sc5trail, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Trailblazer (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3010 AWP VIVA MEXICO SCORP5 PR3010 VIVA MEXICO SOUNDS11 VIVA MEXICO S.SITE -GAME( 200?, sc5vivam, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Viva Mexico (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5vivama, sc5vivam, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Viva Mexico (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5vivam, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Viva Mexico (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5vivama, sc5vivam, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Viva Mexico (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2341 WILD JACKPOTS WILDJACK SOUNDS WILD JACKPOTS -GAME( 200?, sc5wldjk, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Wild Jackpots (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5wldjka, sc5wldjk, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Wild Jackpots (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5wldjk, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Wild Jackpots (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5wldjka, sc5wldjk, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Wild Jackpots (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1611 AWP ANT AND DECS PR1611 ANT AND DECS SOUNDS11 ANT AND DECS S.SITE -GAME( 200?, sc5adsnt, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Saturday Night Takeaway (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5adsnta, sc5adsnt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Saturday Night Takeaway (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5adsnt, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Saturday Night Takeaway (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5adsnta, sc5adsnt, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Ant & Dec's Saturday Night Takeaway (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1708 AWP BULLY'S PRIZE BOARD PR1708 B PRIZE BOARD SOUNDS11 BULLYSPRIZEBOARD S.SITE -GAME( 200?, sc5bpb, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bpbb, sc5bpb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bpbd, sc5bpb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bpbe, sc5bpb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5bpb, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bpbb, sc5bpb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bpbd, sc5bpb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bpbe, sc5bpb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1708 AWP BULLY'S PRIZE BOARD S5 PR1708 B PRIZE BOARD SOUNDS11 BULLYSPRIZEBOARD S.SITE -GAME( 200?, sc5bpba, sc5bpb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bpbc, sc5bpb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bpbf, sc5bpb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bpbg, sc5bpb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5bpba, sc5bpb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bpbc, sc5bpb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bpbf, sc5bpb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bpbg, sc5bpb, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3010 AWP BULLYS STAR PRIZE SCORP5 PR3012 BULLYS STAR P SOUNDS11 BULLYS STARPRIZE S.SITE -GAME( 200?, sc5bsp, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bspa, sc5bsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bspb, sc5bsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bspc, sc5bsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bspd, sc5bsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bspe, sc5bsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bspf, sc5bsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bspg, sc5bsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bsph, sc5bsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bspi, sc5bsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bspl, sc5bsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 13)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bspm, sc5bsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 14)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bspn, sc5bsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 15)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bspo, sc5bsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 16)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bspp, sc5bsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 17)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bspq, sc5bsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 18)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5bsp, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bspa, sc5bsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bspb, sc5bsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bspc, sc5bsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bspd, sc5bsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bspe, sc5bsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bspf, sc5bsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bspg, sc5bsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bsph, sc5bsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bspi, sc5bsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bspl, sc5bsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 13)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bspm, sc5bsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 14)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bspn, sc5bsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 15)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bspo, sc5bsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 16)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bspp, sc5bsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 17)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bspq, sc5bsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 18)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3012 AWP BULLYS STAR PRIZE SCORP5 PR3012 BULLYS STAR P SOUNDS11 BULLYS STARPRIZE S.SITE -GAME( 200?, sc5bspj, sc5bsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Star Prize (PR3012) (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5bspk, sc5bsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Star Prize (PR3012) (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5bspj, sc5bsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Star Prize (PR3012) (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5bspk, sc5bsp, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bully's Star Prize (PR3012) (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1312 AWP CHAIN REACTION PR1312 CHAIN REACT SOUNDS11 -GAME( 200?, sc5chain, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Chain Reaction (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5chaina, sc5chain, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Chain Reaction (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5chainb, sc5chain, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Chain Reaction (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5chainc, sc5chain, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Chain Reaction (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5chaind, sc5chain, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Chain Reaction (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5chaine, sc5chain, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Chain Reaction (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5chain, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Chain Reaction (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5chaina, sc5chain, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Chain Reaction (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5chainb, sc5chain, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Chain Reaction (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5chainc, sc5chain, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Chain Reaction (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5chaind, sc5chain, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Chain Reaction (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5chaine, sc5chain, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Chain Reaction (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1707 AWP CLOWN AROUND SCORP5 PR1707 CLOWN AROUND SOUNDS11 CLOWN AROUND S.SITE -GAME( 200?, sc5clown, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5clowna, sc5clown, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5clownb, sc5clown, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5clownc, sc5clown, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5clownd, sc5clown, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5clowne, sc5clown, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5clown, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5clowna, sc5clown, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5clownb, sc5clown, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5clownc, sc5clown, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5clownd, sc5clown, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5clowne, sc5clown, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1412 AWP COPS AND ROBBERS PR1412 COPS AND ROBBERS SOUNDS11 COPS AND ROBBERS S.SITE -GAME( 200?, sc5copsr, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5copsra, sc5copsr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5copsrb, sc5copsr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5copsrc, sc5copsr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5copsrd, sc5copsr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5copsre, sc5copsr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5copsrf, sc5copsr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5copsrg, sc5copsr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5copsrh, sc5copsr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5copsri, sc5copsr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5copsr, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5copsra, sc5copsr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5copsrb, sc5copsr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5copsrc, sc5copsr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5copsrd, sc5copsr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5copsre, sc5copsr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5copsrf, sc5copsr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5copsrg, sc5copsr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5copsrh, sc5copsr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5copsri, sc5copsr, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1915 AWP DEAL OR NO DEAL BEAT THE BANKER S5 PR1915 BEAT THE BANKER SOUNDS11 BEAT THE BANKER S.SITE -GAME( 200?, sc5dndbe, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbea, sc5dndbe, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbeb, sc5dndbe, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbec, sc5dndbe, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbed, sc5dndbe, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbee, sc5dndbe, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbef, sc5dndbe, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbeg, sc5dndbe, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbeh, sc5dndbe, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbei, sc5dndbe, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbej, sc5dndbe, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 11)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbek, sc5dndbe, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 12)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbel, sc5dndbe, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 13)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbem, sc5dndbe, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 14)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndben, sc5dndbe, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 15)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dndbe, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbea, sc5dndbe, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbeb, sc5dndbe, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbec, sc5dndbe, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbed, sc5dndbe, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbee, sc5dndbe, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbef, sc5dndbe, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbeg, sc5dndbe, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbeh, sc5dndbe, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbei, sc5dndbe, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbej, sc5dndbe, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 11)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbek, sc5dndbe, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 12)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbel, sc5dndbe, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 13)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbem, sc5dndbe, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 14)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndben, sc5dndbe, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 15)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3063 CASINO DOND CAN YOU BEAT THE BANKER CASINO DOND ARCADE PR3063 BEAT THE BANKER SOUNDS11 -GAME( 200?, sc5ddbbc, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Casino (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ddbbca, sc5ddbbc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Casino (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ddbbcb, sc5ddbbc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Casino (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ddbbcc, sc5ddbbc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Casino (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ddbbcd, sc5ddbbc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Casino (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ddbbce, sc5ddbbc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Casino (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ddbbcf, sc5ddbbc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Casino (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5ddbbcg, sc5ddbbc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Casino (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5ddbbc, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Casino (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ddbbca, sc5ddbbc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Casino (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ddbbcb, sc5ddbbc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Casino (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ddbbcc, sc5ddbbc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Casino (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ddbbcd, sc5ddbbc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Casino (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ddbbce, sc5ddbbc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Casino (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ddbbcf, sc5ddbbc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Casino (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5ddbbcg, sc5ddbbc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Beat The Banker Casino (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR3312 AWP DEAL OR NO DEAL BOX CLEVER SCORP5 PR3312 DOND BOXCLEVER SOUNDS11 BOX CLEVER S.SITE -GAME( 200?, sc5dndbc, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbca, sc5dndbc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbcb, sc5dndbc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbcc, sc5dndbc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbcd, sc5dndbc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbce, sc5dndbc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbcf, sc5dndbc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbcg, sc5dndbc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbch, sc5dndbc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbci, sc5dndbc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbcj, sc5dndbc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 11)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5dndbck, sc5dndbc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 12)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5dndbc, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbca, sc5dndbc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbcb, sc5dndbc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbcc, sc5dndbc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbcd, sc5dndbc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbce, sc5dndbc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbcf, sc5dndbc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbcg, sc5dndbc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbch, sc5dndbc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbci, sc5dndbc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbcj, sc5dndbc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 11)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5dndbck, sc5dndbc, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 12)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR1706 AWP WHEEL OF WEALTH PR1706 WHEEL OF WEALTH SOUNDS11 WHEEL OF WEALTH S.SITE -GAME( 200?, sc5mowow, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Wheel Of Wealth (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5mowowb, sc5mowow, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Wheel Of Wealth (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5mowow, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Wheel Of Wealth (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5mowowb, sc5mowow, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Monopoly Wheel Of Wealth (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // PR2166 NUN N ROSES NANR SOUNDS NUNS N ROSES -GAME( 200?, sc5nunsm, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Nuns 'n' Roses (Mazooma) (Scorpion 5) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5nunsma, sc5nunsm, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Nuns 'n' Roses (Mazooma) (Scorpion 5) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5nunsmb, sc5nunsm, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Nuns 'n' Roses (Mazooma) (Scorpion 5) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5nunsmc, sc5nunsm, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Nuns 'n' Roses (Mazooma) (Scorpion 5) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5nunsmd, sc5nunsm, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Nuns 'n' Roses (Mazooma) (Scorpion 5) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5nunsme, sc5nunsm, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Nuns 'n' Roses (Mazooma) (Scorpion 5) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 200?, sc5_3512, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Gold (Bellfruit) (Scorpion 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5_3437, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Red Hot Silly Peppers Community Party (Scorpion 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5_3438, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Juicy Gems Community Party (Scorpion 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5_3508, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Club DOND Red Mist (Scorpion 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5_3514, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or no Deal Rapid Round (Scorpion 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5_3517, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or no Deal East and West Wing (Scorpion 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5_3524, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cluedo Prime Suspect (Scorpion 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5_3515, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","777 Heaven (Scorpion 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5_3511, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or no Deal Spank the Banker (Scorpion 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5_3513, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or no Deal Right Deal Right Time (Scorpion 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5_3516, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cash Ahoy (Scorpion 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5_3530, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Club Cash Ahoy (Scorpion 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5_3552, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Snakes and Ladders (Scorpion 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5_3551, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or no Deal Seal the Deal (Scorpion 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5_3525, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Happy Hour (Scorpion 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5_3553, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or no Deal Go All the Way (Scorpion 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5_3555, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Family Guy The Drunken Clam (Scorpion 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5_3519, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or no Deal Eliminator (Scorpion 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5_3510, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or no Deal Red Hot (Scorpion 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5_3557, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or no Deal Live (Scorpion 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5_3451, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or no Deal Gold (Scorpion 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5_3450, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or no Deal Let's Play (Scorpion 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5_3435, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Street Party (Scorpion 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5_3520, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Street Wise (Scorpion 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5_3434, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Takeover (Scorpion 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5_3518, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or no Deal Bank On It (Scorpion 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5_3414, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bullseye Hot Arrows (Scorpion 5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5nunsm, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Nuns 'n' Roses (Mazooma) (Scorpion 5) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5nunsma, sc5nunsm, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Nuns 'n' Roses (Mazooma) (Scorpion 5) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5nunsmb, sc5nunsm, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Nuns 'n' Roses (Mazooma) (Scorpion 5) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5nunsmc, sc5nunsm, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Nuns 'n' Roses (Mazooma) (Scorpion 5) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5nunsmd, sc5nunsm, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Nuns 'n' Roses (Mazooma) (Scorpion 5) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5nunsme, sc5nunsm, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "Mazooma","Nuns 'n' Roses (Mazooma) (Scorpion 5) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 200?, sc5_3512, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Gold (Bellfruit) (Scorpion 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5_3437, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Red Hot Silly Peppers Community Party (Scorpion 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5_3438, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Juicy Gems Community Party (Scorpion 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5_3508, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Club DOND Red Mist (Scorpion 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5_3514, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or no Deal Rapid Round (Scorpion 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5_3517, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or no Deal East and West Wing (Scorpion 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5_3524, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cluedo Prime Suspect (Scorpion 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5_3515, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","777 Heaven (Scorpion 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5_3511, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or no Deal Spank the Banker (Scorpion 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5_3513, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or no Deal Right Deal Right Time (Scorpion 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5_3516, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cash Ahoy (Scorpion 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5_3530, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Club Cash Ahoy (Scorpion 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5_3552, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Snakes and Ladders (Scorpion 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5_3551, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or no Deal Seal the Deal (Scorpion 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5_3525, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Happy Hour (Scorpion 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5_3553, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or no Deal Go All the Way (Scorpion 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5_3555, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Family Guy The Drunken Clam (Scorpion 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5_3519, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or no Deal Eliminator (Scorpion 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5_3510, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or no Deal Red Hot (Scorpion 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5_3557, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or no Deal Live (Scorpion 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5_3451, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or no Deal Gold (Scorpion 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5_3450, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or no Deal Let's Play (Scorpion 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5_3435, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Street Party (Scorpion 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5_3520, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Cops 'n' Robbers Street Wise (Scorpion 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5_3434, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Monopoly Takeover (Scorpion 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5_3518, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Deal or no Deal Bank On It (Scorpion 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5_3414, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Bullseye Hot Arrows (Scorpion 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // 3rd party -GAME( 200?, sc5_z057, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Quidsia (Scorpion 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5_z058, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Wok 'n' Roll (Scorpion 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5_z059, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Aladdin (Scorpion 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, sc5_z060, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hard Dk (Scorpion 5)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, sc5_z057, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Quidsia (Scorpion 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5_z058, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Wok 'n' Roll (Scorpion 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5_z059, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Aladdin (Scorpion 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, sc5_z060, 0, bfm_sc5, bfm_sc5, bfm_sc5_state, init_sc5, ROT0, "BFM","Hard Dk (Scorpion 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/bfm/bfm_sc6.cpp b/src/mame/bfm/bfm_sc6.cpp index 0672bc6db5a75..87e013d19011c 100644 --- a/src/mame/bfm/bfm_sc6.cpp +++ b/src/mame/bfm/bfm_sc6.cpp @@ -74,7 +74,7 @@ ROM_END } // anonymous namespace -GAME( 201?, sc6dndem, 0, bfm_sc6, bfm_sc6, bfm_sc6_state, empty_init, ROT0, "BFM", "Deal or No Deal Easy Money (Scorpion 6, 9561082)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 201?, sc6dndema, sc6dndem, bfm_sc6, bfm_sc6, bfm_sc6_state, empty_init, ROT0, "BFM", "Deal or No Deal Easy Money (Scorpion 6, 9561082, protocol)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 201?, sc6dndemb, sc6dndem, bfm_sc6, bfm_sc6, bfm_sc6_state, empty_init, ROT0, "BFM", "Deal or No Deal Easy Money (Scorpion 6, 9560933)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 201?, sc6dndemc, sc6dndem, bfm_sc6, bfm_sc6, bfm_sc6_state, empty_init, ROT0, "BFM", "Deal or No Deal Easy Money (Scorpion 6, 9560933, protocol)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 201?, sc6dndem, 0, bfm_sc6, bfm_sc6, bfm_sc6_state, empty_init, ROT0, "BFM", "Deal or No Deal Easy Money (Scorpion 6, 9561082)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 201?, sc6dndema, sc6dndem, bfm_sc6, bfm_sc6, bfm_sc6_state, empty_init, ROT0, "BFM", "Deal or No Deal Easy Money (Scorpion 6, 9561082, protocol)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 201?, sc6dndemb, sc6dndem, bfm_sc6, bfm_sc6, bfm_sc6_state, empty_init, ROT0, "BFM", "Deal or No Deal Easy Money (Scorpion 6, 9560933)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 201?, sc6dndemc, sc6dndem, bfm_sc6, bfm_sc6, bfm_sc6_state, empty_init, ROT0, "BFM", "Deal or No Deal Easy Money (Scorpion 6, 9560933, protocol)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/bfm/bfm_swp.cpp b/src/mame/bfm/bfm_swp.cpp index 17cc02cef3123..89f7988c1c9cc 100644 --- a/src/mame/bfm/bfm_swp.cpp +++ b/src/mame/bfm/bfm_swp.cpp @@ -297,7 +297,7 @@ ROM_END } // anonymous namespace -GAME( 199?, c3_rtime, 0, bfm_swp, bfm_swp, bfm_swp_state, empty_init, ROT0, "BFM", "Radio Times (Bellfruit) (Cobra 3)", MACHINE_IS_SKELETON ) -GAME( 199?, c3_telly, 0, bfm_swp, bfm_swp, bfm_swp_state, empty_init, ROT0, "BFM", "Telly Addicts (Bellfruit) (Cobra 3)", MACHINE_IS_SKELETON ) -GAME( 199?, c3_totp, 0, bfm_swp, bfm_swp, bfm_swp_state, empty_init, ROT0, "BFM", "Top of the Pops (Bellfruit) (Cobra 3?)", MACHINE_IS_SKELETON ) -GAME( 199?, c3_ppays, 0, bfm_swp, bfm_swp, bfm_swp_state, empty_init, ROT0, "BFM", "The Phrase That Pays (Bellfruit) (Cobra 3?)", MACHINE_IS_SKELETON ) +GAME( 199?, c3_rtime, 0, bfm_swp, bfm_swp, bfm_swp_state, empty_init, ROT0, "BFM", "Radio Times (Bellfruit) (Cobra 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 199?, c3_telly, 0, bfm_swp, bfm_swp, bfm_swp_state, empty_init, ROT0, "BFM", "Telly Addicts (Bellfruit) (Cobra 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 199?, c3_totp, 0, bfm_swp, bfm_swp, bfm_swp_state, empty_init, ROT0, "BFM", "Top of the Pops (Bellfruit) (Cobra 3?)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 199?, c3_ppays, 0, bfm_swp, bfm_swp, bfm_swp_state, empty_init, ROT0, "BFM", "The Phrase That Pays (Bellfruit) (Cobra 3?)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/bfm/bfmsys83.cpp b/src/mame/bfm/bfmsys83.cpp index c98dc6f7c5266..88c0a0b7d6a0c 100644 --- a/src/mame/bfm/bfmsys83.cpp +++ b/src/mame/bfm/bfmsys83.cpp @@ -71,5 +71,5 @@ ROM_END } // anonymous namespace -GAME( 198?, b83catms, 0, bfmsys83, bfmsys83, bfmsys83_state, empty_init, ROT0, "BFM", "Cat & Mouse (Bellfruit) (System 83)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 198?, b83cops, 0, bfmsys83, bfmsys83, bfmsys83_state, empty_init, ROT0, "BFM", "Cops & Robbers (Bellfruit) (System 83)", MACHINE_IS_SKELETON_MECHANICAL) +GAME( 198?, b83catms, 0, bfmsys83, bfmsys83, bfmsys83_state, empty_init, ROT0, "BFM", "Cat & Mouse (Bellfruit) (System 83)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 198?, b83cops, 0, bfmsys83, bfmsys83, bfmsys83_state, empty_init, ROT0, "BFM", "Cops & Robbers (Bellfruit) (System 83)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) diff --git a/src/mame/bmc/bmcbowl.cpp b/src/mame/bmc/bmcbowl.cpp index 1e7ad6f0dca0a..6dd95685df47c 100644 --- a/src/mame/bmc/bmcbowl.cpp +++ b/src/mame/bmc/bmcbowl.cpp @@ -438,7 +438,7 @@ static INPUT_PORTS_START( bmcbowl ) PORT_START("IN3") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(1) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(1) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) INPUT_PORTS_END diff --git a/src/mame/bmc/bmcpokr.cpp b/src/mame/bmc/bmcpokr.cpp index 941fd732cb822..511d059b7548e 100644 --- a/src/mame/bmc/bmcpokr.cpp +++ b/src/mame/bmc/bmcpokr.cpp @@ -1143,17 +1143,14 @@ void bmcpokr_state::machine_start() void bmcpokr_state::bmcpokr(machine_config &config) { - M68000(config, m_maincpu, XTAL(42'000'000) / 4); // 68000 @10.50MHz (42/4) + M68000(config, m_maincpu, 42_MHz_XTAL / 4); // 68000 @10.50MHz (42/4) m_maincpu->set_addrmap(AS_PROGRAM, &bmcpokr_state::bmcpokr_mem); TIMER(config, "scantimer", 0).configure_scanline(FUNC(bmcpokr_state::interrupt), "screen", 0, 1); screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_refresh(HZ_TO_ATTOSECONDS(58.935)); // HSync - 15.440kHz, VSync - 58.935Hz - screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); // not accurate + screen.set_raw(42_MHz_XTAL / 4, 680, 0, 480, 262, 0, 240); // HSync - 15.440kHz, VSync - 58.935Hz screen.set_screen_update(FUNC(bmcpokr_state::screen_update)); - screen.set_size(64*8, 32*8); - screen.set_visarea(0*8, 60*8-1, 0*8, 30*8-1); screen.set_palette(m_palette); PALETTE(config, m_palette).set_entries(256); @@ -1169,9 +1166,9 @@ void bmcpokr_state::bmcpokr(machine_config &config) SPEAKER(config, "mono").front_center(); - YM2413(config, "ymsnd", XTAL(42'000'000) / 12).add_route(ALL_OUTPUTS, "mono", 1.00); // UM3567 @3.50MHz (42/12) + YM2413(config, "ymsnd", 42_MHz_XTAL / 12).add_route(ALL_OUTPUTS, "mono", 1.00); // UM3567 @3.50MHz (42/12) - OKIM6295(config, "oki", XTAL(42'000'000) / 40, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 1.00); // M6295 @1.05MHz (42/40) + OKIM6295(config, "oki", 42_MHz_XTAL / 40, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 1.00); // M6295 @1.05MHz (42/40) } void bmcpokr_state::fengyunh(machine_config &config) diff --git a/src/mame/burroughs/anzterm.cpp b/src/mame/burroughs/anzterm.cpp index f1ddcf0012c4a..dce5a191faf9c 100644 --- a/src/mame/burroughs/anzterm.cpp +++ b/src/mame/burroughs/anzterm.cpp @@ -485,4 +485,4 @@ ROM_START( anzterm ) ROM_LOAD( "ebb-fea-v96-9-23-83-f43a.u11", 0x4000, 0x1000, CRC(0e572470) SHA1(966e5eeb0114589a7cab3c29a1db48cdd8634be5) ) ROM_END -COMP( 1986?, anzterm, 0, 0, anzterm, anzterm, anzterm_state, empty_init, "Burroughs", "EF315-I220 Teller Terminal (ANZ)", MACHINE_IS_SKELETON ) // year comes from sticker on bottom of case, it's more likely a 1983 revision +COMP( 1986?, anzterm, 0, 0, anzterm, anzterm, anzterm_state, empty_init, "Burroughs", "EF315-I220 Teller Terminal (ANZ)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // year comes from sticker on bottom of case, it's more likely a 1983 revision diff --git a/src/mame/burroughs/td831.cpp b/src/mame/burroughs/td831.cpp index 3c359a7fb2c00..4924bf0673760 100644 --- a/src/mame/burroughs/td831.cpp +++ b/src/mame/burroughs/td831.cpp @@ -132,4 +132,4 @@ ROM_END //************************************************************************** // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 1976, td831, 0, 0, td831, td831, td831_state, empty_init, "Burroughs", "TD 831", MACHINE_IS_SKELETON ) +COMP( 1976, td831, 0, 0, td831, td831, td831_state, empty_init, "Burroughs", "TD 831", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/capcom/1942.cpp b/src/mame/capcom/1942.cpp index 42cac1032d353..3d4c2dc4af6b8 100644 --- a/src/mame/capcom/1942.cpp +++ b/src/mame/capcom/1942.cpp @@ -191,12 +191,12 @@ constexpr XTAL AUDIO_CLOCK_1942P(MASTER_CLOCK_1942P/16); } // anonymous namespace -void _1942_state::_1942_bankswitch_w(uint8_t data) +void _1942_state::bankswitch_w(uint8_t data) { membank("bank1")->set_entry(data & 0x03); } -TIMER_DEVICE_CALLBACK_MEMBER(_1942_state::_1942_scanline) +TIMER_DEVICE_CALLBACK_MEMBER(_1942_state::scanline) { int scanline = param; @@ -230,22 +230,17 @@ void _1942_state::_1942_map(address_map &map) map(0xc003, 0xc003).portr("DSWA"); map(0xc004, 0xc004).portr("DSWB"); map(0xc800, 0xc800).w(m_soundlatch, FUNC(generic_latch_8_device::write)); - map(0xc802, 0xc803).w(FUNC(_1942_state::_1942_scroll_w)); - map(0xc804, 0xc804).w(FUNC(_1942_state::_1942_c804_w)); - map(0xc805, 0xc805).w(FUNC(_1942_state::_1942_palette_bank_w)); - map(0xc806, 0xc806).w(FUNC(_1942_state::_1942_bankswitch_w)); + map(0xc802, 0xc803).w(FUNC(_1942_state::scroll_w)); + map(0xc804, 0xc804).w(FUNC(_1942_state::control_w)); + map(0xc805, 0xc805).w(FUNC(_1942_state::palette_bank_w)); + map(0xc806, 0xc806).w(FUNC(_1942_state::bankswitch_w)); map(0xcc00, 0xcc7f).ram().share("spriteram"); - map(0xd000, 0xd7ff).ram().w(FUNC(_1942_state::_1942_fgvideoram_w)).share("fg_videoram"); - map(0xd800, 0xdbff).ram().w(FUNC(_1942_state::_1942_bgvideoram_w)).share("bg_videoram"); + map(0xd000, 0xd7ff).ram().w(FUNC(_1942_state::fgvideoram_w)).share("fg_videoram"); + map(0xd800, 0xdbff).ram().w(FUNC(_1942_state::bgvideoram_w)).share("bg_videoram"); map(0xe000, 0xefff).ram(); } -void _1942p_state::_1942p_f600_w(uint8_t data) -{ -// printf("_1942p_f600_w %02x\n", data); -} - -void _1942p_state::_1942p_palette_w(offs_t offset, uint8_t data) +void _1942p_state::palette_w(offs_t offset, uint8_t data) { m_protopal[offset] = data; @@ -261,22 +256,22 @@ void _1942p_state::_1942p_map(address_map &map) map(0x0000, 0x7fff).rom(); map(0x8000, 0xbfff).bankr("bank1"); - map(0xd000, 0xd7ff).ram().w(FUNC(_1942p_state::_1942_fgvideoram_w)).share("fg_videoram"); - map(0xd800, 0xdbff).ram().w(FUNC(_1942p_state::_1942_bgvideoram_w)).share("bg_videoram"); + map(0xd000, 0xd7ff).ram().w(FUNC(_1942p_state::fgvideoram_w)).share("fg_videoram"); + map(0xd800, 0xdbff).ram().w(FUNC(_1942p_state::bgvideoram_w)).share("bg_videoram"); map(0xe000, 0xefff).ram(); map(0xce00, 0xcfff).ram().share("spriteram"); - map(0xdc02, 0xdc03).w(FUNC(_1942p_state::_1942_scroll_w)); - map(0xc804, 0xc804).w(FUNC(_1942p_state::_1942_c804_w)); - map(0xc805, 0xc805).w(FUNC(_1942p_state::_1942_palette_bank_w)); + map(0xdc02, 0xdc03).w(FUNC(_1942p_state::scroll_w)); + map(0xc804, 0xc804).w(FUNC(_1942p_state::control_w)); + map(0xc805, 0xc805).w(FUNC(_1942p_state::palette_bank_w)); - map(0xf000, 0xf3ff).ram().w(FUNC(_1942p_state::_1942p_palette_w)).share("protopal"); + map(0xf000, 0xf3ff).ram().w(FUNC(_1942p_state::palette_w)).share("protopal"); - map(0xf400, 0xf400).w(FUNC(_1942p_state::_1942_bankswitch_w)); + map(0xf400, 0xf400).w(FUNC(_1942p_state::bankswitch_w)); map(0xf500, 0xf500).w(m_soundlatch, FUNC(generic_latch_8_device::write)); - map(0xf600, 0xf600).w(FUNC(_1942p_state::_1942p_f600_w)); + map(0xf600, 0xf600).nopw(); // ? map(0xf700, 0xf700).portr("DSWA"); map(0xf701, 0xf701).portr("SYSTEM"); @@ -411,7 +406,6 @@ static INPUT_PORTS_START( 1942p ) PORT_DIPSETTING( 0x0080, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) - PORT_START("P1") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY @@ -605,7 +599,7 @@ void _1942_state::_1942(machine_config &config) Z80(config, m_maincpu, MAIN_CPU_CLOCK); /* 3 MHz */ m_maincpu->set_addrmap(AS_PROGRAM, &_1942_state::_1942_map); - TIMER(config, "scantimer").configure_scanline(FUNC(_1942_state::_1942_scanline), "screen", 0, 1); + TIMER(config, "scantimer").configure_scanline(FUNC(_1942_state::scanline), "screen", 0, 1); Z80(config, m_audiocpu, SOUND_CPU_CLOCK); /* 3 MHz */ m_audiocpu->set_addrmap(AS_PROGRAM, &_1942_state::sound_map); @@ -616,7 +610,7 @@ void _1942_state::_1942(machine_config &config) PALETTE(config, m_palette, FUNC(_1942_state::_1942_palette), 64*4+4*32*8+16*16, 256); SCREEN(config, m_screen, SCREEN_TYPE_RASTER); - m_screen->set_raw(MASTER_CLOCK/2, 384, 128, 0, 262, 22, 246); // hsync is 50..77, vsync is 257..259 + m_screen->set_raw(MASTER_CLOCK/2, 384, 128, 0, 262, 22, 246); // hsync is 50..77, vsync is 257..259 m_screen->set_screen_update(FUNC(_1942_state::screen_update)); m_screen->set_palette(m_palette); @@ -669,14 +663,13 @@ void _1942p_state::_1942p(machine_config &config) m_audiocpu->set_addrmap(AS_IO, &_1942p_state::_1942p_sound_io); m_audiocpu->set_periodic_int(FUNC(_1942p_state::irq0_line_hold), attotime::from_hz(4*60)); - /* video hardware */ GFXDECODE(config, m_gfxdecode, m_palette, gfx_1942p); PALETTE(config, m_palette, FUNC(_1942p_state::_1942p_palette), 0x500, 0x400); SCREEN(config, m_screen, SCREEN_TYPE_RASTER); - m_screen->set_raw(MASTER_CLOCK/2, 384, 128, 0, 262, 22, 246); // hsync is 50..77, vsync is 257..259 + m_screen->set_raw(MASTER_CLOCK/2, 384, 128, 0, 262, 22, 246); // hsync is 50..77, vsync is 257..259 m_screen->set_screen_update(FUNC(_1942p_state::screen_update)); m_screen->set_palette(m_palette); diff --git a/src/mame/capcom/1942.h b/src/mame/capcom/1942.h index c5e9b22774114..838449705794e 100644 --- a/src/mame/capcom/1942.h +++ b/src/mame/capcom/1942.h @@ -47,14 +47,14 @@ class _1942_state : public driver_device void _1942_map(address_map &map) ATTR_COLD; void sound_map(address_map &map) ATTR_COLD; - void _1942_bankswitch_w(uint8_t data); - void _1942_fgvideoram_w(offs_t offset, uint8_t data); - void _1942_bgvideoram_w(offs_t offset, uint8_t data); - void _1942_palette_bank_w(uint8_t data); - void _1942_scroll_w(offs_t offset, uint8_t data); - void _1942_c804_w(uint8_t data); + void bankswitch_w(uint8_t data); + void fgvideoram_w(offs_t offset, uint8_t data); + void bgvideoram_w(offs_t offset, uint8_t data); + void palette_bank_w(uint8_t data); + void scroll_w(offs_t offset, uint8_t data); + void control_w(uint8_t data); void _1942_palette(palette_device &palette) const; - TIMER_DEVICE_CALLBACK_MEMBER(_1942_scanline); + TIMER_DEVICE_CALLBACK_MEMBER(scanline); uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); virtual void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect); @@ -97,8 +97,7 @@ class _1942p_state : public _1942_state void _1942p_sound_io(address_map &map) ATTR_COLD; void _1942p_sound_map(address_map &map) ATTR_COLD; - void _1942p_f600_w(uint8_t data); - void _1942p_palette_w(offs_t offset, uint8_t data); + void palette_w(offs_t offset, uint8_t data); void _1942p_palette(palette_device &palette) const; diff --git a/src/mame/capcom/1942_v.cpp b/src/mame/capcom/1942_v.cpp index 0fc2a2c9001a6..f33b5a2f7cf6c 100644 --- a/src/mame/capcom/1942_v.cpp +++ b/src/mame/capcom/1942_v.cpp @@ -162,20 +162,20 @@ void _1942p_state::video_start() ***************************************************************************/ -void _1942_state::_1942_fgvideoram_w(offs_t offset, uint8_t data) +void _1942_state::fgvideoram_w(offs_t offset, uint8_t data) { m_fg_videoram[offset] = data; m_fg_tilemap->mark_tile_dirty(offset & 0x3ff); } -void _1942_state::_1942_bgvideoram_w(offs_t offset, uint8_t data) +void _1942_state::bgvideoram_w(offs_t offset, uint8_t data) { m_bg_videoram[offset] = data; m_bg_tilemap->mark_tile_dirty((offset & 0x0f) | ((offset >> 1) & 0x01f0)); } -void _1942_state::_1942_palette_bank_w(uint8_t data) +void _1942_state::palette_bank_w(uint8_t data) { if (m_palette_bank != data) { @@ -184,14 +184,14 @@ void _1942_state::_1942_palette_bank_w(uint8_t data) } } -void _1942_state::_1942_scroll_w(offs_t offset, uint8_t data) +void _1942_state::scroll_w(offs_t offset, uint8_t data) { m_scroll[offset] = data; m_bg_tilemap->set_scrollx(0, m_scroll[0] | (m_scroll[1] << 8)); } -void _1942_state::_1942_c804_w(uint8_t data) +void _1942_state::control_w(uint8_t data) { /* bit 7: flip screen bit 4: cpu B reset @@ -331,5 +331,4 @@ void _1942p_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect) m_gfxdecode->gfx(2)->transpen(bitmap, cliprect, code, col, flip_screen(), flip_screen(), sx+128, sy+6, 15); } - } diff --git a/src/mame/capcom/1943.cpp b/src/mame/capcom/1943.cpp index b13f4dbfa1776..7edf6ff5d4c18 100644 --- a/src/mame/capcom/1943.cpp +++ b/src/mame/capcom/1943.cpp @@ -77,7 +77,7 @@ void _1943_state::c1943_map(address_map &map) map(0xc004, 0xc004).portr("DSWB"); map(0xc007, 0xc007).lr8(NAME([this] () -> u8 { return m_mcu_to_cpu; })); map(0xc800, 0xc800).w("soundlatch", FUNC(generic_latch_8_device::write)); - map(0xc804, 0xc804).w(FUNC(_1943_state::c804_w)); // ROM bank switch, screen flip + map(0xc804, 0xc804).w(FUNC(_1943_state::control_w)); // ROM bank switch, screen flip map(0xc806, 0xc806).w("watchdog", FUNC(watchdog_timer_device::reset_w)); map(0xc807, 0xc807).lw8(NAME([this] (u8 data) { m_cpu_to_mcu = data; })); map(0xd000, 0xd3ff).ram().w(FUNC(_1943_state::videoram_w)).share("videoram"); @@ -85,7 +85,7 @@ void _1943_state::c1943_map(address_map &map) map(0xd800, 0xd801).ram().share("scrollx"); map(0xd802, 0xd802).ram().share("scrolly"); map(0xd803, 0xd804).ram().share("bgscrollx"); - map(0xd806, 0xd806).w(FUNC(_1943_state::d806_w)); // sprites, bg1, bg2 enable + map(0xd806, 0xd806).w(FUNC(_1943_state::layer_w)); // sprites, bg1, bg2 enable map(0xd808, 0xd808).nopw(); // ??? map(0xd868, 0xd868).nopw(); // ??? map(0xd888, 0xd888).nopw(); // ??? @@ -264,8 +264,8 @@ void _1943_state::machine_start() void _1943_state::machine_reset() { // these latches are cleared at RESET - c804_w(0); - d806_w(0); + control_w(0); + layer_w(0); } void _1943_state::_1943(machine_config &config) @@ -291,7 +291,7 @@ void _1943_state::_1943(machine_config &config) // video hardware SCREEN(config, m_screen, SCREEN_TYPE_RASTER); - m_screen->set_raw(XTAL(24'000'000)/4, 384, 128, 0, 262, 22, 246); // hsync is 50..77, vsync is 257..259 + m_screen->set_raw(XTAL(24'000'000)/4, 384, 128, 0, 262, 22, 246); // hsync is 50..77, vsync is 257..259 m_screen->set_screen_update(FUNC(_1943_state::screen_update)); m_screen->set_palette(m_palette); m_screen->screen_vblank().set_inputline(m_mcu, MCS51_INT1_LINE); diff --git a/src/mame/capcom/1943.h b/src/mame/capcom/1943.h index bdda40b428a43..d45e99bd20bd5 100644 --- a/src/mame/capcom/1943.h +++ b/src/mame/capcom/1943.h @@ -82,8 +82,8 @@ class _1943_state : public driver_device void videoram_w(offs_t offset, u8 data); void colorram_w(offs_t offset, u8 data); - void c804_w(u8 data); - void d806_w(u8 data); + void control_w(u8 data); + void layer_w(u8 data); TILE_GET_INFO_MEMBER(get_bg2_tile_info); TILE_GET_INFO_MEMBER(get_bg_tile_info); diff --git a/src/mame/capcom/1943_v.cpp b/src/mame/capcom/1943_v.cpp index 8e747b4a3b353..477e0144d251e 100644 --- a/src/mame/capcom/1943_v.cpp +++ b/src/mame/capcom/1943_v.cpp @@ -131,7 +131,7 @@ void _1943_state::colorram_w(offs_t offset, u8 data) m_fg_tilemap->mark_tile_dirty(offset); } -void _1943_state::c804_w(u8 data) +void _1943_state::control_w(u8 data) { /* bits 0 and 1 are coin counters */ machine().bookkeeping().coin_counter_w(0, data & 0x01); @@ -150,7 +150,7 @@ void _1943_state::c804_w(u8 data) m_char_on = data & 0x80; } -void _1943_state::d806_w(u8 data) +void _1943_state::layer_w(u8 data) { /* bit 4 enables bg 1 */ m_bg1_on = data & 0x10; diff --git a/src/mame/capcom/blktiger_ms.cpp b/src/mame/capcom/blktiger_ms.cpp index 57cd51eac0a73..57153dcfc1c32 100644 --- a/src/mame/capcom/blktiger_ms.cpp +++ b/src/mame/capcom/blktiger_ms.cpp @@ -373,4 +373,4 @@ void blktiger_ms_state::init_blktigerm() } // Anonymous namespace -GAME( 1991, blktigerm, blktiger, blktigerm, blktigerm, blktiger_ms_state, init_blktigerm, ROT0, "bootleg (Gaelco / Ervisa)", "Black Tiger (Modular System)", MACHINE_IS_SKELETON ) +GAME( 1991, blktigerm, blktiger, blktigerm, blktigerm, blktiger_ms_state, init_blktigerm, ROT0, "bootleg (Gaelco / Ervisa)", "Black Tiger (Modular System)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/capcom/cbasebal.cpp b/src/mame/capcom/cbasebal.cpp index eb8023f97717a..ddb7413f28ea7 100644 --- a/src/mame/capcom/cbasebal.cpp +++ b/src/mame/capcom/cbasebal.cpp @@ -359,7 +359,7 @@ static INPUT_PORTS_START( cbasebal ) PORT_SERVICE( 0x08, IP_ACTIVE_LOW ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START2 ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") // ? + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // ? PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", FUNC(eeprom_serial_93cxx_device::do_read)) PORT_START( "IO_01" ) diff --git a/src/mame/capcom/chakumelo.cpp b/src/mame/capcom/chakumelo.cpp new file mode 100644 index 0000000000000..d4456ec9f2560 --- /dev/null +++ b/src/mame/capcom/chakumelo.cpp @@ -0,0 +1,106 @@ +// license:BSD-3-Clause +// copyright-holders: + +/* +Chaku Melo Collection +Capcom 99705-01 PCB +Cellphone ring-tone vending machine. + + +Main components: +Capcom DL-3229 SCU (encryption unused) +6.14SC9K XTAL (near SCU) +4x 5264805DLTTA60 PC100-222-60 RAM (near SCU) +2x PC16552DV DUART +18.4SC9K XTAL (near PC16552DV 1) +18.4SC9K XTAL (near PC16552DV 2) +HD64412F GFX chip +33.0000 MHz XTAL (near HD64412F) +2x M5118165D-60J RAM (near HD64412F) +MC44200FT Triple 8-bit video DAC +2x SP232ACN RS-232 Line Drivers/Receivers +12.5984 MHz XTAL (near SP232ACN and DAC) +M4T28-BR12SH1 timekeeper (marked M48T58Y on PCB) +XC9536 CPLD +YMZ705-F sound chip +2x HM62W8512BLTTI7 RAM (near YMZ705-F) +6.14SC9K XTAL (near YMZ705-F) + +TODO: everything (only BIOS is dumped, needs HD dump) +*/ + + +#include "emu.h" + +#include "cpu/sh/sh7604.h" +#include "machine/ins8250.h" +#include "machine/timekpr.h" + +#include "emupal.h" +#include "screen.h" +#include "speaker.h" + + +namespace { + +class chakumelo_state : public driver_device +{ +public: + chakumelo_state(const machine_config &mconfig, device_type type, const char *tag) + : driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu") + { } + + void chakumel(machine_config &config); + +private: + required_device m_maincpu; + + void program_map(address_map &map) ATTR_COLD; +}; + + +void chakumelo_state::program_map(address_map &map) +{ + map(0x00000000, 0x0007ffff).rom(); +} + + +static INPUT_PORTS_START( chakumel ) +INPUT_PORTS_END + + +void chakumelo_state::chakumel(machine_config &config) +{ + SH7604(config, m_maincpu, 6'140'000); + m_maincpu->set_addrmap(AS_PROGRAM, &chakumelo_state::program_map); + + PC16552D(config, "duart0", 0); + + PC16552D(config, "duart1", 0); + + // HD64412F(config, "hd64412f", 33_MHz_XTAL); + + SPEAKER(config, "mono").front_center(); + + // YMZ705-F(config, "ymz", 6'140'000); +} + + +ROM_START( chakumel ) + ROM_REGION( 0x80000, "maincpu", 0 ) + ROM_LOAD16_WORD_SWAP( "cmcja.6c", 0x00000, 0x80000, CRC(becd3703) SHA1(41a4e512ee6129029161d342fb46351a0737822b) ) // 11xxxxxxxxxxxxxxxxx = 0xFF + + ROM_REGION( 0x600, "plds", ROMREGION_ERASE00 ) // all PALCE16V8H + ROM_LOAD( "cmc4b.4b", 0x000, 0x117, NO_DUMP ) + ROM_LOAD( "cmc4c.4c", 0x200, 0x117, NO_DUMP ) + ROM_LOAD( "cmc5c.5c", 0x400, 0x117, NO_DUMP ) + + DISK_REGION( "hdd" ) + DISK_IMAGE( "chakumel", 0, NO_DUMP ) +ROM_END + +} // anonymous namespace + + +GAME( 1999, chakumel, 0, chakumel, chakumel, chakumelo_state, empty_init, ROT0, "Capcom", "Chaku Melo Collection", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/capcom/commando.cpp b/src/mame/capcom/commando.cpp index 73a8205c8ed9f..dce35df5f66c4 100644 --- a/src/mame/capcom/commando.cpp +++ b/src/mame/capcom/commando.cpp @@ -226,7 +226,7 @@ class commando_state : public driver_device template void colorram_w(offs_t offset, uint8_t data); void scrollx_w(offs_t offset, uint8_t data); void scrolly_w(offs_t offset, uint8_t data); - void c804_w(uint8_t data); + void control_w(uint8_t data); TILE_GET_INFO_MEMBER(get_bg_tile_info); TILE_GET_INFO_MEMBER(get_fg_tile_info); uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); @@ -265,7 +265,7 @@ void commando_state::scrolly_w(offs_t offset, uint8_t data) m_bg_tilemap->set_scrolly(0, m_scroll_y[0] | (m_scroll_y[1] << 8)); } -void commando_state::c804_w(uint8_t data) +void commando_state::control_w(uint8_t data) { // bits 0 and 1 are coin counters machine().bookkeeping().coin_counter_w(0, data & 0x01); @@ -360,7 +360,7 @@ void commando_state::main_map(address_map &map) map(0xc003, 0xc003).portr("DSW1"); map(0xc004, 0xc004).portr("DSW2"); map(0xc800, 0xc800).w("soundlatch", FUNC(generic_latch_8_device::write)); - map(0xc804, 0xc804).w(FUNC(commando_state::c804_w)); + map(0xc804, 0xc804).w(FUNC(commando_state::control_w)); // 0xc806 triggers the DMA (not emulated) map(0xc808, 0xc809).w(FUNC(commando_state::scrollx_w)); map(0xc80a, 0xc80b).w(FUNC(commando_state::scrolly_w)); @@ -547,21 +547,21 @@ void commando_state::commando(machine_config &config) static constexpr XTAL MAIN = 12_MHz_XTAL; static constexpr XTAL PHI_B = MAIN / 2 / 2; static constexpr XTAL PHI_MAIN = MAIN / 2 / 2; // As seen in the schematics: -// the signal goes into a bus arbitration logic that doesn't affect its frequency -// although the CPU gets slowed down when accessing char/background memories + // the signal goes into a bus arbitration logic that doesn't affect its frequency + // although the CPU gets slowed down when accessing char/background memories // basic machine hardware - Z80(config, m_maincpu, PHI_MAIN); // 3 MHz + Z80(config, m_maincpu, PHI_MAIN); // 3 MHz m_maincpu->set_addrmap(AS_PROGRAM, &commando_state::main_map); m_maincpu->set_addrmap(AS_OPCODES, &commando_state::decrypted_opcodes_map); - Z80(config, m_audiocpu, PHI_B); // 3 MHz + Z80(config, m_audiocpu, PHI_B); // 3 MHz m_audiocpu->set_addrmap(AS_PROGRAM, &commando_state::sound_map); m_audiocpu->set_periodic_int(FUNC(commando_state::irq0_line_hold), attotime::from_hz(4*60)); // video hardware screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_raw(MAIN / 2, 384, 128, 0, 262, 22, 246); // hsync is 50..77, vsync is 257..259 + screen.set_raw(MAIN / 2, 384, 128, 0, 262, 22, 246); // hsync is 50..77, vsync is 257..259 screen.set_screen_update(FUNC(commando_state::screen_update)); screen.screen_vblank().set(m_spriteram, FUNC(buffered_spriteram8_device::vblank_copy_rising)); screen.screen_vblank().append(FUNC(commando_state::vblank_irq)); @@ -578,7 +578,6 @@ void commando_state::commando(machine_config &config) GENERIC_LATCH_8(config, "soundlatch"); YM2203(config, "ym1", PHI_B / 2).add_route(ALL_OUTPUTS, "mono", 0.15); - YM2203(config, "ym2", PHI_B / 2).add_route(ALL_OUTPUTS, "mono", 0.15); } diff --git a/src/mame/capcom/cps1.cpp b/src/mame/capcom/cps1.cpp index 44a2abebc0bda..3bdf057be4bc6 100644 --- a/src/mame/capcom/cps1.cpp +++ b/src/mame/capcom/cps1.cpp @@ -3644,16 +3644,17 @@ static INPUT_PORTS_START( ganbare ) INPUT_PORTS_END +// Hold any side select + start for service mode static INPUT_PORTS_START( sfzch ) PORT_START("IN0") /* IN0 */ - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON5) PORT_PLAYER(1) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON5) PORT_PLAYER(2) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE) PORT_NAME(DEF_STR(Pause)) PORT_CODE(KEYCODE_F1) /* pause */ - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) /* pause */ - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON6) PORT_PLAYER(1) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON6) PORT_PLAYER(2) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(1) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(2) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SELECT ) PORT_PLAYER(1) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SELECT ) PORT_PLAYER(2) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(1) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(2) PORT_START("DSWA") PORT_DIPNAME( 0xff, 0xff, DEF_STR( Unknown ) ) @@ -3671,22 +3672,22 @@ static INPUT_PORTS_START( sfzch ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("IN1") /* Player 1 & 2 */ - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT) PORT_PLAYER(1) PORT_8WAY - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT) PORT_PLAYER(1) PORT_8WAY - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN) PORT_PLAYER(1) PORT_8WAY - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP) PORT_PLAYER(1) PORT_8WAY - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_PLAYER(1) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2) PORT_PLAYER(1) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3) PORT_PLAYER(1) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON4) PORT_PLAYER(1) - PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT) PORT_PLAYER(2) PORT_8WAY - PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT) PORT_PLAYER(2) PORT_8WAY - PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN) PORT_PLAYER(2) PORT_8WAY - PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_UP) PORT_PLAYER(2) PORT_8WAY - PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_PLAYER(2) - PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2) PORT_PLAYER(2) - PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3) PORT_PLAYER(2) - PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_BUTTON4) PORT_PLAYER(2) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1) PORT_8WAY + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1) PORT_8WAY + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1) PORT_8WAY + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1) PORT_8WAY + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1) + PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2) PORT_8WAY + PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2) PORT_8WAY + PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2) PORT_8WAY + PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2) PORT_8WAY + PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) + PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) + PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) + PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2) PORT_START("IN2") /* Read by wofch */ PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED ) diff --git a/src/mame/capcom/exedexes.cpp b/src/mame/capcom/exedexes.cpp index 48744da5c3253..c55040235fc0f 100644 --- a/src/mame/capcom/exedexes.cpp +++ b/src/mame/capcom/exedexes.cpp @@ -80,7 +80,7 @@ class exedexes_state : public driver_device void videoram_w(offs_t offset, u8 data); void colorram_w(offs_t offset, u8 data); - void c804_w(u8 data); + void control_w(u8 data); void gfxctrl_w(u8 data); TILE_GET_INFO_MEMBER(get_bg_tile_info); TILE_GET_INFO_MEMBER(get_fg_tile_info); @@ -171,7 +171,7 @@ void exedexes_state::colorram_w(offs_t offset, u8 data) m_tx_tilemap->mark_tile_dirty(offset); } -void exedexes_state::c804_w(u8 data) +void exedexes_state::control_w(u8 data) { // bits 0 and 1 are coin counters machine().bookkeeping().coin_counter_w(0, data & 0x01); @@ -326,7 +326,7 @@ void exedexes_state::main_map(address_map &map) map(0xc003, 0xc003).portr("DSW0"); map(0xc004, 0xc004).portr("DSW1"); map(0xc800, 0xc800).w("soundlatch", FUNC(generic_latch_8_device::write)); - map(0xc804, 0xc804).w(FUNC(exedexes_state::c804_w)); // coin counters + text layer enable + map(0xc804, 0xc804).w(FUNC(exedexes_state::control_w)); // coin counters + text layer enable map(0xc806, 0xc806).nopw(); // watchdog ?? map(0xd000, 0xd3ff).ram().w(FUNC(exedexes_state::videoram_w)).share(m_videoram); map(0xd400, 0xd7ff).ram().w(FUNC(exedexes_state::colorram_w)).share(m_colorram); @@ -354,9 +354,9 @@ static INPUT_PORTS_START( exedexes ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // probably unused - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) // probably unused - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // probably unused + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // probably unused + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) // " + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // " PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_IMPULSE(8) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN2 ) @@ -368,8 +368,8 @@ static INPUT_PORTS_START( exedexes ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) // probably unused - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) // probably unused + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) // probably unused + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) // " PORT_START("P2") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2) @@ -378,34 +378,34 @@ static INPUT_PORTS_START( exedexes ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) // probably unused - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) // probably unused + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) // probably unused + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) // " PORT_START("DSW0") - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) ) - PORT_DIPSETTING( 0x02, DEF_STR( Easy ) ) - PORT_DIPSETTING( 0x03, DEF_STR( Normal ) ) - PORT_DIPSETTING( 0x01, DEF_STR( Hard ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) ) - PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) ) + PORT_DIPNAME( 0x03, 0x03, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SWA:8,7") + PORT_DIPSETTING( 0x03, "50k, 100k and every 250k" ) // after 5M, every 500k + PORT_DIPSETTING( 0x02, "100k and every 250k" ) // see above + PORT_DIPSETTING( 0x01, "100k, 250k and every 500k" ) // after 5M, every 1M + PORT_DIPSETTING( 0x00, "250k, 500k, 2M, 5M" ) + PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) ) PORT_DIPLOCATION("SWA:6,5") PORT_DIPSETTING( 0x08, "1" ) PORT_DIPSETTING( 0x04, "2" ) PORT_DIPSETTING( 0x0c, "3" ) PORT_DIPSETTING( 0x00, "5" ) - PORT_DIPNAME( 0x10, 0x10, "2 Players Game" ) + PORT_DIPNAME( 0x10, 0x10, "2 Players Game" ) PORT_DIPLOCATION("SWA:4") PORT_DIPSETTING( 0x00, "1 Credit" ) PORT_DIPSETTING( 0x10, "2 Credits" ) - PORT_DIPNAME( 0x20, 0x00, DEF_STR( Language ) ) - PORT_DIPSETTING( 0x00, DEF_STR( English )) - PORT_DIPSETTING( 0x20, DEF_STR( Japanese )) + PORT_DIPNAME( 0x20, 0x00, DEF_STR( Language ) ) PORT_DIPLOCATION("SWA:3") + PORT_DIPSETTING( 0x00, DEF_STR( English ) ) + PORT_DIPSETTING( 0x20, DEF_STR( Japanese ) ) PORT_DIPNAME( 0x40, 0x40, "Freeze" ) - PORT_DIPSETTING( 0x40, DEF_STR( Off )) + PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPLOCATION("SWA:2") PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_SERVICE( 0x80, IP_ACTIVE_LOW ) + PORT_SERVICE_DIPLOC( 0x80, IP_ACTIVE_LOW, "SWA:1" ) PORT_START("DSW1") - PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coin_A ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C )) + PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SWB:8,7,6") + PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) ) PORT_DIPSETTING( 0x01, DEF_STR( 3C_1C ) ) PORT_DIPSETTING( 0x02, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x07, DEF_STR( 1C_1C ) ) @@ -413,8 +413,8 @@ static INPUT_PORTS_START( exedexes ) PORT_DIPSETTING( 0x05, DEF_STR( 1C_3C ) ) PORT_DIPSETTING( 0x04, DEF_STR( 1C_4C ) ) PORT_DIPSETTING( 0x03, DEF_STR( 1C_5C ) ) - PORT_DIPNAME( 0x38, 0x38, DEF_STR( Coin_B ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C )) + PORT_DIPNAME( 0x38, 0x38, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SWB:5,4,3") + PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) ) PORT_DIPSETTING( 0x08, DEF_STR( 3C_1C ) ) PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x38, DEF_STR( 1C_1C ) ) @@ -422,10 +422,10 @@ static INPUT_PORTS_START( exedexes ) PORT_DIPSETTING( 0x28, DEF_STR( 1C_3C ) ) PORT_DIPSETTING( 0x20, DEF_STR( 1C_4C ) ) PORT_DIPSETTING( 0x18, DEF_STR( 1C_5C ) ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Allow_Continue ) ) + PORT_DIPNAME( 0x40, 0x40, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SWB:2") PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x40, DEF_STR( Yes ) ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Demo_Sounds ) ) + PORT_DIPNAME( 0x80, 0x80, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWB:1") PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x80, DEF_STR( On ) ) INPUT_PORTS_END @@ -525,7 +525,6 @@ void exedexes_state::exedexes(machine_config &config) AY8910(config, "aysnd", 12_MHz_XTAL / 8).add_route(ALL_OUTPUTS, "mono", 0.10); // 1.5 MHz, verified on PCB SN76489(config, "sn1", 12_MHz_XTAL / 4).add_route(ALL_OUTPUTS, "mono", 0.36); // 3 MHz, verified on PCB - SN76489(config, "sn2", 12_MHz_XTAL / 4).add_route(ALL_OUTPUTS, "mono", 0.36); // 3 MHz, verified on PCB } @@ -554,22 +553,22 @@ ROM_START( exedexes ) ROM_LOAD( "j12_ee11.bin", 0x04000, 0x4000, CRC(0e0f300d) SHA1(2f973748e459b16673115abf7de8615219e39fa4) ) // planes 2-3 ROM_REGION( 0x6000, "tilerom", 0 ) // background tilemaps - ROM_LOAD( "c01_ee07.bin", 0x0000, 0x4000, CRC(3625a68d) SHA1(83010ca356385b713bafe03a502c566f6a9a8365) ) // Front Tile Map - ROM_LOAD( "h04_ee09.bin", 0x4000, 0x2000, CRC(6057c907) SHA1(886790641b84b8cd659d2eb5fd1adbabdd7dad3d) ) // Back Tile map + ROM_LOAD( "c01_ee07.bin", 0x0000, 0x4000, CRC(3625a68d) SHA1(83010ca356385b713bafe03a502c566f6a9a8365) ) // Front Tile Map + ROM_LOAD( "h04_ee09.bin", 0x4000, 0x2000, CRC(6057c907) SHA1(886790641b84b8cd659d2eb5fd1adbabdd7dad3d) ) // Back Tile map ROM_REGION( 0x0b20, "proms", 0 ) - ROM_LOAD( "02d_e-02.bin", 0x0000, 0x0100, CRC(8d0d5935) SHA1(a0ab827ff3b641965ef851893c399e3988fde55e) ) // red component - ROM_LOAD( "03d_e-03.bin", 0x0100, 0x0100, CRC(d3c17efc) SHA1(af88340287bd732c91bc5c75970f9de0431b4304) ) // green component - ROM_LOAD( "04d_e-04.bin", 0x0200, 0x0100, CRC(58ba964c) SHA1(1f98f8e484a0462f1a9fadef9e57612a32652599) ) // blue component - ROM_LOAD( "06f_e-05.bin", 0x0300, 0x0100, CRC(35a03579) SHA1(1f1b8c777622a1f5564409c5f3ce69cc68199dae) ) // char lookup table - ROM_LOAD( "l04_e-10.bin", 0x0400, 0x0100, CRC(1dfad87a) SHA1(684844c24e630f46525df97ed67e2e63f7e66d0f) ) // 32x32 tile lookup table - ROM_LOAD( "c04_e-07.bin", 0x0500, 0x0100, CRC(850064e0) SHA1(3884485e91bd82539d0d33f46b7abac60f4c3b1c) ) // 16x16 tile lookup table - ROM_LOAD( "l09_e-11.bin", 0x0600, 0x0100, CRC(2bb68710) SHA1(cfb375316245cb8751e765f163e6acf071dda9ca) ) // sprite lookup table - ROM_LOAD( "l10_e-12.bin", 0x0700, 0x0100, CRC(173184ef) SHA1(f91ecbdc67af1eed6757f660cac8a0e6866c1822) ) // sprite palette bank - ROM_LOAD( "06l_e-06.bin", 0x0800, 0x0100, CRC(712ac508) SHA1(5349d722ab6733afdda65f6e0a98322f0d515e86) ) // interrupt timing (not used) - ROM_LOAD( "k06_e-08.bin", 0x0900, 0x0100, CRC(0eaf5158) SHA1(bafd4108708f66cd7b280e47152b108f3e254fc9) ) // video timing (not used) - ROM_LOAD( "l03_e-09.bin", 0x0a00, 0x0100, CRC(0d968558) SHA1(b376885ac8452b6cbf9ced81b1080bfd570d9b91) ) // unknown (all 0) - ROM_LOAD( "03e_e-01.bin", 0x0b00, 0x0020, CRC(1acee376) SHA1(367094d924f8e0ec36d8310fada4d8143358f697) ) // unknown (priority?) + ROM_LOAD( "02d_e-02.bin", 0x0000, 0x0100, CRC(8d0d5935) SHA1(a0ab827ff3b641965ef851893c399e3988fde55e) ) // red component + ROM_LOAD( "03d_e-03.bin", 0x0100, 0x0100, CRC(d3c17efc) SHA1(af88340287bd732c91bc5c75970f9de0431b4304) ) // green component + ROM_LOAD( "04d_e-04.bin", 0x0200, 0x0100, CRC(58ba964c) SHA1(1f98f8e484a0462f1a9fadef9e57612a32652599) ) // blue component + ROM_LOAD( "06f_e-05.bin", 0x0300, 0x0100, CRC(35a03579) SHA1(1f1b8c777622a1f5564409c5f3ce69cc68199dae) ) // char lookup table + ROM_LOAD( "l04_e-10.bin", 0x0400, 0x0100, CRC(1dfad87a) SHA1(684844c24e630f46525df97ed67e2e63f7e66d0f) ) // 32x32 tile lookup table + ROM_LOAD( "c04_e-07.bin", 0x0500, 0x0100, CRC(850064e0) SHA1(3884485e91bd82539d0d33f46b7abac60f4c3b1c) ) // 16x16 tile lookup table + ROM_LOAD( "l09_e-11.bin", 0x0600, 0x0100, CRC(2bb68710) SHA1(cfb375316245cb8751e765f163e6acf071dda9ca) ) // sprite lookup table + ROM_LOAD( "l10_e-12.bin", 0x0700, 0x0100, CRC(173184ef) SHA1(f91ecbdc67af1eed6757f660cac8a0e6866c1822) ) // sprite palette bank + ROM_LOAD( "06l_e-06.bin", 0x0800, 0x0100, CRC(712ac508) SHA1(5349d722ab6733afdda65f6e0a98322f0d515e86) ) // interrupt timing (not used) + ROM_LOAD( "k06_e-08.bin", 0x0900, 0x0100, CRC(0eaf5158) SHA1(bafd4108708f66cd7b280e47152b108f3e254fc9) ) // video timing (not used) + ROM_LOAD( "l03_e-09.bin", 0x0a00, 0x0100, CRC(0d968558) SHA1(b376885ac8452b6cbf9ced81b1080bfd570d9b91) ) // unknown (all 0) + ROM_LOAD( "03e_e-01.bin", 0x0b00, 0x0020, CRC(1acee376) SHA1(367094d924f8e0ec36d8310fada4d8143358f697) ) // unknown (priority?) ROM_END ROM_START( savgbees ) @@ -596,22 +595,22 @@ ROM_START( savgbees ) ROM_LOAD( "j12_ee11.bin", 0x04000, 0x4000, CRC(0e0f300d) SHA1(2f973748e459b16673115abf7de8615219e39fa4) ) // planes 2-3 ROM_REGION( 0x6000, "tilerom", 0 ) // background tilemaps - ROM_LOAD( "c01_ee07.bin", 0x0000, 0x4000, CRC(3625a68d) SHA1(83010ca356385b713bafe03a502c566f6a9a8365) ) // Front Tile Map - ROM_LOAD( "h04_ee09.bin", 0x4000, 0x2000, CRC(6057c907) SHA1(886790641b84b8cd659d2eb5fd1adbabdd7dad3d) ) // Back Tile map + ROM_LOAD( "c01_ee07.bin", 0x0000, 0x4000, CRC(3625a68d) SHA1(83010ca356385b713bafe03a502c566f6a9a8365) ) // Front Tile Map + ROM_LOAD( "h04_ee09.bin", 0x4000, 0x2000, CRC(6057c907) SHA1(886790641b84b8cd659d2eb5fd1adbabdd7dad3d) ) // Back Tile map ROM_REGION( 0x0b20, "proms", 0 ) - ROM_LOAD( "02d_e-02.bin", 0x0000, 0x0100, CRC(8d0d5935) SHA1(a0ab827ff3b641965ef851893c399e3988fde55e) ) // red component - ROM_LOAD( "03d_e-03.bin", 0x0100, 0x0100, CRC(d3c17efc) SHA1(af88340287bd732c91bc5c75970f9de0431b4304) ) // green component - ROM_LOAD( "04d_e-04.bin", 0x0200, 0x0100, CRC(58ba964c) SHA1(1f98f8e484a0462f1a9fadef9e57612a32652599) ) // blue component - ROM_LOAD( "06f_e-05.bin", 0x0300, 0x0100, CRC(35a03579) SHA1(1f1b8c777622a1f5564409c5f3ce69cc68199dae) ) // char lookup table - ROM_LOAD( "l04_e-10.bin", 0x0400, 0x0100, CRC(1dfad87a) SHA1(684844c24e630f46525df97ed67e2e63f7e66d0f) ) // 32x32 tile lookup table - ROM_LOAD( "c04_e-07.bin", 0x0500, 0x0100, CRC(850064e0) SHA1(3884485e91bd82539d0d33f46b7abac60f4c3b1c) ) // 16x16 tile lookup table - ROM_LOAD( "l09_e-11.bin", 0x0600, 0x0100, CRC(2bb68710) SHA1(cfb375316245cb8751e765f163e6acf071dda9ca) ) // sprite lookup table - ROM_LOAD( "l10_e-12.bin", 0x0700, 0x0100, CRC(173184ef) SHA1(f91ecbdc67af1eed6757f660cac8a0e6866c1822) ) // sprite palette bank - ROM_LOAD( "06l_e-06.bin", 0x0800, 0x0100, CRC(712ac508) SHA1(5349d722ab6733afdda65f6e0a98322f0d515e86) ) // interrupt timing (not used) - ROM_LOAD( "k06_e-08.bin", 0x0900, 0x0100, CRC(0eaf5158) SHA1(bafd4108708f66cd7b280e47152b108f3e254fc9) ) // video timing (not used) - ROM_LOAD( "l03_e-09.bin", 0x0a00, 0x0100, CRC(0d968558) SHA1(b376885ac8452b6cbf9ced81b1080bfd570d9b91) ) // unknown (all 0) - ROM_LOAD( "03e_e-01.bin", 0x0b00, 0x0020, CRC(1acee376) SHA1(367094d924f8e0ec36d8310fada4d8143358f697) ) // unknown (priority?) + ROM_LOAD( "02d_e-02.bin", 0x0000, 0x0100, CRC(8d0d5935) SHA1(a0ab827ff3b641965ef851893c399e3988fde55e) ) // red component + ROM_LOAD( "03d_e-03.bin", 0x0100, 0x0100, CRC(d3c17efc) SHA1(af88340287bd732c91bc5c75970f9de0431b4304) ) // green component + ROM_LOAD( "04d_e-04.bin", 0x0200, 0x0100, CRC(58ba964c) SHA1(1f98f8e484a0462f1a9fadef9e57612a32652599) ) // blue component + ROM_LOAD( "06f_e-05.bin", 0x0300, 0x0100, CRC(35a03579) SHA1(1f1b8c777622a1f5564409c5f3ce69cc68199dae) ) // char lookup table + ROM_LOAD( "l04_e-10.bin", 0x0400, 0x0100, CRC(1dfad87a) SHA1(684844c24e630f46525df97ed67e2e63f7e66d0f) ) // 32x32 tile lookup table + ROM_LOAD( "c04_e-07.bin", 0x0500, 0x0100, CRC(850064e0) SHA1(3884485e91bd82539d0d33f46b7abac60f4c3b1c) ) // 16x16 tile lookup table + ROM_LOAD( "l09_e-11.bin", 0x0600, 0x0100, CRC(2bb68710) SHA1(cfb375316245cb8751e765f163e6acf071dda9ca) ) // sprite lookup table + ROM_LOAD( "l10_e-12.bin", 0x0700, 0x0100, CRC(173184ef) SHA1(f91ecbdc67af1eed6757f660cac8a0e6866c1822) ) // sprite palette bank + ROM_LOAD( "06l_e-06.bin", 0x0800, 0x0100, CRC(712ac508) SHA1(5349d722ab6733afdda65f6e0a98322f0d515e86) ) // interrupt timing (not used) + ROM_LOAD( "k06_e-08.bin", 0x0900, 0x0100, CRC(0eaf5158) SHA1(bafd4108708f66cd7b280e47152b108f3e254fc9) ) // video timing (not used) + ROM_LOAD( "l03_e-09.bin", 0x0a00, 0x0100, CRC(0d968558) SHA1(b376885ac8452b6cbf9ced81b1080bfd570d9b91) ) // unknown (all 0) + ROM_LOAD( "03e_e-01.bin", 0x0b00, 0x0020, CRC(1acee376) SHA1(367094d924f8e0ec36d8310fada4d8143358f697) ) // unknown (priority?) ROM_END } // anonymous namespace diff --git a/src/mame/capcom/gng.cpp b/src/mame/capcom/gng.cpp index ac546934f1de5..7271ab3308c71 100644 --- a/src/mame/capcom/gng.cpp +++ b/src/mame/capcom/gng.cpp @@ -321,32 +321,29 @@ static INPUT_PORTS_START( gng ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x0c, IP_ACTIVE_LOW, IPT_UNUSED ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED ) // pin 17 on edge connector PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_START("P1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("P2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("DSW1") PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:8,7,6,5") diff --git a/src/mame/capcom/gunsmoke.cpp b/src/mame/capcom/gunsmoke.cpp index 686e5c988d1ae..2a5186467a2da 100644 --- a/src/mame/capcom/gunsmoke.cpp +++ b/src/mame/capcom/gunsmoke.cpp @@ -139,8 +139,8 @@ class gunsmoke_state : public driver_device uint8_t protection_r(offs_t offset); void videoram_w(offs_t offset, uint8_t data); void colorram_w(offs_t offset, uint8_t data); - void c804_w(uint8_t data); - void d806_w(uint8_t data); + void control_w(uint8_t data); + void layer_w(uint8_t data); TILE_GET_INFO_MEMBER(get_bg_tile_info); TILE_GET_INFO_MEMBER(get_fg_tile_info); void palette(palette_device &palette) const; @@ -218,7 +218,7 @@ void gunsmoke_state::colorram_w(offs_t offset, uint8_t data) m_fg_tilemap->mark_tile_dirty(offset); } -void gunsmoke_state::c804_w(uint8_t data) +void gunsmoke_state::control_w(uint8_t data) { // bits 0 and 1 are for coin counters machine().bookkeeping().coin_counter_w(1, data & 0x01); @@ -236,7 +236,7 @@ void gunsmoke_state::c804_w(uint8_t data) m_chon = data & 0x80; } -void gunsmoke_state::d806_w(uint8_t data) +void gunsmoke_state::layer_w(uint8_t data) { // bits 0-2 select the sprite 3 bank m_sprite3bank = data & 0x07; @@ -371,13 +371,13 @@ void gunsmoke_state::main_map(address_map &map) map(0xc004, 0xc004).portr("DSW2"); map(0xc4c9, 0xc4cb).r(FUNC(gunsmoke_state::protection_r)); map(0xc800, 0xc800).w("soundlatch", FUNC(generic_latch_8_device::write)); - map(0xc804, 0xc804).w(FUNC(gunsmoke_state::c804_w)); // ROM bank switch, screen flip + map(0xc804, 0xc804).w(FUNC(gunsmoke_state::control_w)); // ROM bank switch, screen flip // 0xc806 DMA trigger (not emulated) map(0xd000, 0xd3ff).ram().w(FUNC(gunsmoke_state::videoram_w)).share(m_videoram); map(0xd400, 0xd7ff).ram().w(FUNC(gunsmoke_state::colorram_w)).share(m_colorram); map(0xd800, 0xd801).ram().share(m_scrollx); map(0xd802, 0xd802).ram().share(m_scrolly); - map(0xd806, 0xd806).w(FUNC(gunsmoke_state::d806_w)); // sprites and bg enable + map(0xd806, 0xd806).w(FUNC(gunsmoke_state::layer_w)); // sprites and bg enable map(0xe000, 0xefff).ram(); map(0xf000, 0xffff).ram().share(m_spriteram); } diff --git a/src/mame/capcom/higemaru.cpp b/src/mame/capcom/higemaru.cpp index f3f3fb0ea284f..5f5c853afa2c5 100644 --- a/src/mame/capcom/higemaru.cpp +++ b/src/mame/capcom/higemaru.cpp @@ -71,7 +71,7 @@ class higemaru_state : public driver_device tilemap_t *m_bg_tilemap = nullptr; void videoram_w(offs_t offset, uint8_t data); void colorram_w(offs_t offset, uint8_t data); - void c800_w(uint8_t data); + void control_w(uint8_t data); TILE_GET_INFO_MEMBER(get_bg_tile_info); void palette(palette_device &palette) const; uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); @@ -147,7 +147,7 @@ void higemaru_state::palette(palette_device &palette) const } } -void higemaru_state::c800_w(uint8_t data) +void higemaru_state::control_w(uint8_t data) { if (data & 0x7c) LOGC800("c800 = %02x\n", data); @@ -238,7 +238,7 @@ void higemaru_state::program_map(address_map &map) map(0xc002, 0xc002).portr("SYSTEM"); map(0xc003, 0xc003).portr("DSW1"); map(0xc004, 0xc004).portr("DSW2"); - map(0xc800, 0xc800).w(FUNC(higemaru_state::c800_w)); + map(0xc800, 0xc800).w(FUNC(higemaru_state::control_w)); map(0xc801, 0xc802).w("ay1", FUNC(ay8910_device::address_data_w)); map(0xc803, 0xc804).w("ay2", FUNC(ay8910_device::address_data_w)); map(0xd000, 0xd3ff).ram().w(FUNC(higemaru_state::videoram_w)).share(m_videoram); diff --git a/src/mame/capcom/instantm.cpp b/src/mame/capcom/instantm.cpp index 9506540b91695..864888e1f7fb2 100644 --- a/src/mame/capcom/instantm.cpp +++ b/src/mame/capcom/instantm.cpp @@ -159,4 +159,4 @@ ROM_END } // anonymous namespace -GAME( 199?, instantm, 0, instantm, instantm, instantm_state, empty_init, ROT0, "Capcom / Polaroid", "Polaroid Instant Memories", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, instantm, 0, instantm, instantm, instantm_state, empty_init, ROT0, "Capcom / Polaroid", "Polaroid Instant Memories", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/capcom/lastduel_ms.cpp b/src/mame/capcom/lastduel_ms.cpp index 952d441fd8433..02fb5e6cd9e8a 100644 --- a/src/mame/capcom/lastduel_ms.cpp +++ b/src/mame/capcom/lastduel_ms.cpp @@ -179,4 +179,4 @@ ROM_END } // anonymous namespace -GAME( 199?, lastduelm, lastduel, lastduelm, lastduelm, lastduel_ms_state, empty_init, ROT0, "bootleg (Gaelco / Ervisa)", "Last Duel (Modular System)", MACHINE_IS_SKELETON ) +GAME( 199?, lastduelm, lastduel, lastduelm, lastduelm, lastduel_ms_state, empty_init, ROT0, "bootleg (Gaelco / Ervisa)", "Last Duel (Modular System)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/capcom/mitchell.cpp b/src/mame/capcom/mitchell.cpp index 69ba9a3e4b240..d43ad5933b4ef 100644 --- a/src/mame/capcom/mitchell.cpp +++ b/src/mame/capcom/mitchell.cpp @@ -869,7 +869,7 @@ static INPUT_PORTS_START( mj_common ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) // USED - handled in port5_r PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // unused? - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x70, IP_ACTIVE_LOW, IPT_UNKNOWN ) // unused? PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", FUNC(eeprom_serial_93cxx_device::do_read)) @@ -1128,7 +1128,7 @@ static INPUT_PORTS_START( pkladiesbl ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) // USED - handled in port5_r PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -1227,7 +1227,7 @@ static INPUT_PORTS_START( pang ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) // USED - handled in port5_r PORT_SERVICE_NO_TOGGLE( 0x02, IP_ACTIVE_LOW ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // unused? - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x70, IP_ACTIVE_LOW, IPT_UNKNOWN ) // unused? PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", FUNC(eeprom_serial_93cxx_device::do_read)) @@ -1333,7 +1333,7 @@ static INPUT_PORTS_START( mstworld ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) // unused? PORT_SERVICE_NO_TOGGLE( 0x02, IP_ACTIVE_LOW ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // unused? - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x70, IP_ACTIVE_LOW, IPT_UNKNOWN ) // unused? PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) // unused? @@ -1503,7 +1503,7 @@ static INPUT_PORTS_START( qtono1 ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) // USED - handled in port5_r PORT_SERVICE_NO_TOGGLE( 0x02, IP_ACTIVE_LOW ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // unused? - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x70, IP_ACTIVE_LOW, IPT_UNKNOWN ) // unused? PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", FUNC(eeprom_serial_93cxx_device::do_read)) @@ -1543,7 +1543,7 @@ static INPUT_PORTS_START( block ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) // USED - handled in port5_r PORT_SERVICE_NO_TOGGLE( 0x02, IP_ACTIVE_LOW ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // unused? - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x70, IP_ACTIVE_LOW, IPT_UNKNOWN ) // unused? PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", FUNC(eeprom_serial_93cxx_device::do_read)) @@ -1585,7 +1585,7 @@ static INPUT_PORTS_START( blockjoy ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) // USED - handled in port5_r PORT_SERVICE_NO_TOGGLE( 0x02, IP_ACTIVE_LOW ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // unused? - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x70, IP_ACTIVE_LOW, IPT_UNKNOWN ) // unused? PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", FUNC(eeprom_serial_93cxx_device::do_read)) diff --git a/src/mame/capcom/miteshin.cpp b/src/mame/capcom/miteshin.cpp index b625e9e77a631..468c3a5703800 100644 --- a/src/mame/capcom/miteshin.cpp +++ b/src/mame/capcom/miteshin.cpp @@ -169,4 +169,4 @@ ROM_END } // anonymous namespace -GAME( 1995, miteshin, 0, miteshin, miteshin, miteshin_state, empty_init, ROT0, "Capcom", "Mite Shinzeyou", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1995, miteshin, 0, miteshin, miteshin, miteshin_state, empty_init, ROT0, "Capcom", "Mite Shinzeyou", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/capcom/psrockman.cpp b/src/mame/capcom/psrockman.cpp index c8d7acb02bd85..ff02e9c0591d5 100644 --- a/src/mame/capcom/psrockman.cpp +++ b/src/mame/capcom/psrockman.cpp @@ -139,4 +139,4 @@ ROM_END } // Anonymous namespace -GAME( 1992, psrockmn, 0, psrockman, psrockman, psrockman_state, empty_init, ROT0, "Capcom", "Panic Shot Rockman", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1992, psrockmn, 0, psrockman, psrockman, psrockman_state, empty_init, ROT0, "Capcom", "Panic Shot Rockman", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/capcom/sidearms.cpp b/src/mame/capcom/sidearms.cpp index ce5ec91dda1b1..b05b06c2ee0a4 100644 --- a/src/mame/capcom/sidearms.cpp +++ b/src/mame/capcom/sidearms.cpp @@ -47,6 +47,9 @@ FEB-2003 AAT Notes: + The main board of Side Arms has an unpopulated position reserved for a + 8751 protection MCU. + Unknown PROMs are mostly used for timing. Only the first four sprite encoding parameters have been identified, the other 28(!) are believed to be line-buffer controls. @@ -102,7 +105,7 @@ void sidearms_state::sidearms_map(address_map &map) map(0xc801, 0xc801).portr("P1").w(FUNC(sidearms_state::bankswitch_w)); map(0xc802, 0xc802).portr("P2").w("watchdog", FUNC(watchdog_timer_device::reset_w)); map(0xc803, 0xc803).portr("DSW0"); - map(0xc804, 0xc804).portr("DSW1").w(FUNC(sidearms_state::c804_w)); + map(0xc804, 0xc804).portr("DSW1").w(FUNC(sidearms_state::control_w)); map(0xc805, 0xc805).portr("DSW2").w(FUNC(sidearms_state::star_scrollx_w)); map(0xc806, 0xc806).w(FUNC(sidearms_state::star_scrolly_w)); map(0xc808, 0xc809).writeonly().share("bg_scrollx"); @@ -126,7 +129,7 @@ void sidearms_state::turtship_map(address_map &map) map(0xe800, 0xe800).w("soundlatch", FUNC(generic_latch_8_device::write)); map(0xe801, 0xe801).w(FUNC(sidearms_state::bankswitch_w)); map(0xe802, 0xe802).w("watchdog", FUNC(watchdog_timer_device::reset_w)); - map(0xe804, 0xe804).w(FUNC(sidearms_state::c804_w)); + map(0xe804, 0xe804).w(FUNC(sidearms_state::control_w)); map(0xe805, 0xe805).w(FUNC(sidearms_state::star_scrollx_w)); map(0xe806, 0xe806).w(FUNC(sidearms_state::star_scrolly_w)); map(0xe808, 0xe809).writeonly().share("bg_scrollx"); @@ -170,7 +173,7 @@ void sidearms_state::whizz_map(address_map &map) map(0xc801, 0xc801).portr("DSW1").w(FUNC(sidearms_state::whizz_bankswitch_w)); map(0xc802, 0xc802).portr("DSW2").w("watchdog", FUNC(watchdog_timer_device::reset_w)); map(0xc803, 0xc803).portr("IN0").nopw(); - map(0xc804, 0xc804).portr("IN1").w(FUNC(sidearms_state::c804_w)); + map(0xc804, 0xc804).portr("IN1").w(FUNC(sidearms_state::control_w)); map(0xc805, 0xc805).portr("IN2").nopw(); map(0xc806, 0xc806).portr("IN3"); map(0xc807, 0xc807).portr("IN4"); @@ -284,7 +287,7 @@ static INPUT_PORTS_START( sidearms ) PORT_START("DSW2") PORT_BIT( 0x7f, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") /* not sure, but likely */ + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) /* not sure, but likely */ INPUT_PORTS_END static INPUT_PORTS_START( turtship ) @@ -516,7 +519,7 @@ static INPUT_PORTS_START( whizz ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_HIGH,IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x10, IP_ACTIVE_HIGH,IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -630,10 +633,7 @@ void sidearms_state::sidearms(machine_config &config) BUFFERED_SPRITERAM8(config, m_spriteram); screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_refresh_hz(60); - screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */ - screen.set_size(64*8, 32*8); - screen.set_visarea(8*8, (64-8)*8-1, 2*8, 30*8-1); + screen.set_raw(16_MHz_XTAL / 2, 64*8, 8*8, (64-8)*8, 32*8, 2*8, 30*8); screen.set_screen_update(FUNC(sidearms_state::screen_update)); screen.screen_vblank().set("spriteram", FUNC(buffered_spriteram8_device::vblank_copy_rising)); screen.set_palette(m_palette); @@ -676,10 +676,7 @@ void sidearms_state::turtship(machine_config &config) BUFFERED_SPRITERAM8(config, m_spriteram); screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_refresh_hz(61.0338); - screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */ - screen.set_size(64*8, 32*8); - screen.set_visarea(8*8, (64-8)*8-1, 2*8, 30*8-1); + screen.set_raw(16_MHz_XTAL / 2, 64*8, 8*8, (64-8)*8, 32*8, 2*8, 30*8); // 61.0338 Hz measured screen.screen_vblank().set("spriteram", FUNC(buffered_spriteram8_device::vblank_copy_rising)); screen.set_screen_update(FUNC(sidearms_state::screen_update)); screen.set_palette(m_palette); @@ -725,10 +722,7 @@ void sidearms_state::whizz(machine_config &config) BUFFERED_SPRITERAM8(config, m_spriteram); screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_refresh_hz(60); - screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */ - screen.set_size(64*8, 32*8); - screen.set_visarea(8*8, (64-8)*8-1, 2*8, 30*8-1); + screen.set_raw(16_MHz_XTAL / 2, 64*8, 8*8, (64-8)*8, 32*8, 2*8, 30*8); screen.set_screen_update(FUNC(sidearms_state::screen_update)); screen.screen_vblank().set("spriteram", FUNC(buffered_spriteram8_device::vblank_copy_rising)); screen.set_palette(m_palette); diff --git a/src/mame/capcom/sidearms.h b/src/mame/capcom/sidearms.h index 908534ae9caf6..57c3f19ed7af9 100644 --- a/src/mame/capcom/sidearms.h +++ b/src/mame/capcom/sidearms.h @@ -70,7 +70,7 @@ class sidearms_state : public driver_device void bankswitch_w(uint8_t data); void videoram_w(offs_t offset, uint8_t data); void colorram_w(offs_t offset, uint8_t data); - void c804_w(uint8_t data); + void control_w(uint8_t data); void gfxctrl_w(uint8_t data); void star_scrollx_w(uint8_t data); void star_scrolly_w(uint8_t data); diff --git a/src/mame/capcom/sidearms_v.cpp b/src/mame/capcom/sidearms_v.cpp index d0087e80cccb6..de5da5495d0b5 100644 --- a/src/mame/capcom/sidearms_v.cpp +++ b/src/mame/capcom/sidearms_v.cpp @@ -23,7 +23,7 @@ void sidearms_state::colorram_w(offs_t offset, uint8_t data) m_fg_tilemap->mark_tile_dirty(offset); } -void sidearms_state::c804_w(uint8_t data) +void sidearms_state::control_w(uint8_t data) { /* bits 0 and 1 are coin counters */ machine().bookkeeping().coin_counter_w(0, data & 0x01); diff --git a/src/mame/capcom/srumbler.cpp b/src/mame/capcom/srumbler.cpp index d1424e3ad3942..584ab6cc12198 100644 --- a/src/mame/capcom/srumbler.cpp +++ b/src/mame/capcom/srumbler.cpp @@ -10,21 +10,25 @@ M6809 for game, Z80 and YM-2203 for sound. + TODO: + - Verify screen refresh rate. Start a game (wait for credit sound to finish), + and at the intro, the music theme should change at the same time Zapper's + love letter is shown. ~59.6Hz from other Capcom games is too fast. + ***************************************************************************/ #include "emu.h" -#include "cpu/z80/z80.h" #include "cpu/m6809/m6809.h" +#include "cpu/z80/z80.h" #include "machine/gen_latch.h" -#include "sound/ymopn.h" -#include "screen.h" -#include "speaker.h" - - #include "machine/timer.h" +#include "sound/ymopn.h" #include "video/bufsprite.h" + #include "emupal.h" +#include "screen.h" +#include "speaker.h" #include "tilemap.h" @@ -69,7 +73,7 @@ class srumbler_state : public driver_device void bankswitch_w(uint8_t data); void foreground_w(offs_t offset, uint8_t data); void background_w(offs_t offset, uint8_t data); - void _4009_w(uint8_t data); + void control_w(uint8_t data); void scroll_w(offs_t offset, uint8_t data); TILE_GET_INFO_MEMBER(get_fg_tile_info); @@ -151,7 +155,7 @@ void srumbler_state::background_w(offs_t offset, uint8_t data) } -void srumbler_state::_4009_w(uint8_t data) +void srumbler_state::control_w(uint8_t data) { // bit 0 flips screen flip_screen_set(data & 1); @@ -200,7 +204,6 @@ void srumbler_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec 0x01 X MSB */ - int const attr = buffered_spriteram[offs + 1]; int code = buffered_spriteram[offs]; code += ((attr & 0xe0) << 3); @@ -231,6 +234,7 @@ uint32_t srumbler_state::screen_update(screen_device &screen, bitmap_ind16 &bitm draw_sprites(bitmap, cliprect); m_bg_tilemap->draw(screen, bitmap, cliprect, TILEMAP_DRAW_LAYER0, 0); m_fg_tilemap->draw(screen, bitmap, cliprect, 0, 0); + return 0; } @@ -238,13 +242,13 @@ uint32_t srumbler_state::screen_update(screen_device &screen, bitmap_ind16 &bitm void srumbler_state::bankswitch_w(uint8_t data) { /* - banking is controlled by two PROMs. 0000-4fff is mapped to the same - address (RAM and I/O) for all banks, so we don't handle it here. - e000-ffff is all mapped to the same ROMs, however we do handle it - here anyway. - Note that 5000-8fff can be either ROM or RAM, so we should handle - that as well to be 100% accurate. - */ + banking is controlled by two PROMs. 0000-4fff is mapped to the same + address (RAM and I/O) for all banks, so we don't handle it here. + e000-ffff is all mapped to the same ROMs, however we do handle it + here anyway. + Note that 5000-8fff can be either ROM or RAM, so we should handle + that as well to be 100% accurate. + */ uint8_t const *prom1 = &m_proms[data & 0xf0]; uint8_t const *prom2 = &m_proms[0x100 + ((data & 0x0f) << 4)]; @@ -273,7 +277,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(srumbler_state::interrupt) if (scanline == 248) m_maincpu->set_input_line(0, HOLD_LINE); - if (scanline == 0) + if (scanline == 8) m_maincpu->set_input_line(M6809_FIRQ_LINE, HOLD_LINE); } @@ -289,11 +293,11 @@ Ignore the warnings about writing to unmapped memory. void srumbler_state::main_map(address_map &map) { - map(0x0000, 0x1dff).ram(); // RAM (of 1 sort or another) + map(0x0000, 0x1dff).ram(); // RAM (of 1 sort or another) map(0x1e00, 0x1fff).ram().share("spriteram"); map(0x2000, 0x3fff).ram().w(FUNC(srumbler_state::background_w)).share(m_backgroundram); map(0x4008, 0x4008).portr("SYSTEM").w(FUNC(srumbler_state::bankswitch_w)); - map(0x4009, 0x4009).portr("P1").w(FUNC(srumbler_state::_4009_w)); + map(0x4009, 0x4009).portr("P1").w(FUNC(srumbler_state::control_w)); map(0x400a, 0x400a).portr("P2"); map(0x400b, 0x400b).portr("DSW1"); map(0x400c, 0x400c).portr("DSW2"); @@ -301,7 +305,7 @@ void srumbler_state::main_map(address_map &map) map(0x400e, 0x400e).w("soundlatch", FUNC(generic_latch_8_device::write)); map(0x5000, 0x5fff).bankr(m_rombank[0]).w(FUNC(srumbler_state::foreground_w)).share(m_foregroundram); map(0x6000, 0x6fff).bankr(m_rombank[1]); - map(0x6000, 0x6fff).nopw(); // Video RAM 2 ??? (not used) + //map(0x6000, 0x6fff).nopw(); // Video RAM 2 ??? (not used) map(0x7000, 0x7fff).bankr(m_rombank[2]); map(0x7000, 0x73ff).w(m_palette, FUNC(palette_device::write8)).share("palette"); map(0x8000, 0x8fff).bankr(m_rombank[3]); @@ -465,10 +469,10 @@ void srumbler_state::srumbler(machine_config &config) BUFFERED_SPRITERAM8(config, m_spriteram); screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_refresh_hz(60); + screen.set_refresh_hz(57.5); screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); screen.set_size(64*8, 32*8); - screen.set_visarea(10*8, (64-10)*8-1, 1*8, 31*8-1 ); + screen.set_visarea(10*8, (64-10)*8-1, 1*8, 31*8-1); screen.set_screen_update(FUNC(srumbler_state::screen_update)); screen.screen_vblank().set(m_spriteram, FUNC(buffered_spriteram8_device::vblank_copy_rising)); screen.set_palette(m_palette); @@ -487,13 +491,13 @@ void srumbler_state::srumbler(machine_config &config) ym1.add_route(0, "mono", 0.10); ym1.add_route(1, "mono", 0.10); ym1.add_route(2, "mono", 0.10); - ym1.add_route(3, "mono", 0.30); + ym1.add_route(3, "mono", 0.25); ym2203_device &ym2(YM2203(config, "ym2", 16_MHz_XTAL / 4)); ym2.add_route(0, "mono", 0.10); ym2.add_route(1, "mono", 0.10); ym2.add_route(2, "mono", 0.10); - ym2.add_route(3, "mono", 0.30); + ym2.add_route(3, "mono", 0.25); } diff --git a/src/mame/capcom/supduck.cpp b/src/mame/capcom/supduck.cpp index 664606507f665..699a7ad3abb7a 100644 --- a/src/mame/capcom/supduck.cpp +++ b/src/mame/capcom/supduck.cpp @@ -336,7 +336,7 @@ static INPUT_PORTS_START( supduck ) PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START1 ) PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_START2 ) - PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") // not sure, probably wrong + PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // not sure, probably wrong PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_SERVICE1 ) diff --git a/src/mame/capcom/tigeroad.cpp b/src/mame/capcom/tigeroad.cpp index 17498f612b928..3f4eddde478d5 100644 --- a/src/mame/capcom/tigeroad.cpp +++ b/src/mame/capcom/tigeroad.cpp @@ -473,7 +473,7 @@ static INPUT_PORTS_START( pushman ) PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START1 ) PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_START2 ) - PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") // not sure, probably wrong + PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // not sure, probably wrong PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_SERVICE1 ) @@ -540,7 +540,7 @@ static INPUT_PORTS_START( bballs ) PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START1 ) PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_START2 ) - PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") // not sure, probably wrong + PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // not sure, probably wrong PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_SERVICE1 ) diff --git a/src/mame/capcom/tvcapcom.cpp b/src/mame/capcom/tvcapcom.cpp index 0798ff37dd518..b51f50f02590e 100644 --- a/src/mame/capcom/tvcapcom.cpp +++ b/src/mame/capcom/tvcapcom.cpp @@ -94,4 +94,4 @@ ROM_END } // anonymous namespace -GAME( 2008, tvcapcom, 0, tvcapcom, tvcapcom, tvcapcom_state, empty_init, ROT0, "Capcom", "Tatsunoko Vs Capcom : Cross Generation of Heroes", MACHINE_IS_SKELETON ) +GAME( 2008, tvcapcom, 0, tvcapcom, tvcapcom, tvcapcom_state, empty_init, ROT0, "Capcom", "Tatsunoko Vs Capcom : Cross Generation of Heroes", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/capcom/vulgus.cpp b/src/mame/capcom/vulgus.cpp index 62172a324a7c8..f723ceac90ca9 100644 --- a/src/mame/capcom/vulgus.cpp +++ b/src/mame/capcom/vulgus.cpp @@ -99,7 +99,7 @@ class vulgus_state : public driver_device void fgvideoram_w(offs_t offset, uint8_t data); void bgvideoram_w(offs_t offset, uint8_t data); - void c804_w(uint8_t data); + void control_w(uint8_t data); void palette_bank_w(uint8_t data); TILE_GET_INFO_MEMBER(get_fg_tile_info); @@ -268,7 +268,7 @@ void vulgus_state::bgvideoram_w(offs_t offset, uint8_t data) } -void vulgus_state::c804_w(uint8_t data) +void vulgus_state::control_w(uint8_t data) { // bits 0 and 1 are coin counters machine().bookkeeping().coin_counter_w(0, data & 0x01); @@ -356,7 +356,7 @@ void vulgus_state::main_map(address_map &map) map(0xc800, 0xc800).w("soundlatch", FUNC(generic_latch_8_device::write)); map(0xc801, 0xc801).nopw(); // ? map(0xc802, 0xc803).ram().share(m_scroll_low); - map(0xc804, 0xc804).w(FUNC(vulgus_state::c804_w)); + map(0xc804, 0xc804).w(FUNC(vulgus_state::control_w)); map(0xc805, 0xc805).w(FUNC(vulgus_state::palette_bank_w)); map(0xc902, 0xc903).ram().share(m_scroll_high); map(0xcc00, 0xcc7f).ram().share(m_spriteram); diff --git a/src/mame/casio/casio_rompack.cpp b/src/mame/casio/casio_rompack.cpp index 8b5c479a8c3bd..34ac977662acf 100644 --- a/src/mame/casio/casio_rompack.cpp +++ b/src/mame/casio/casio_rompack.cpp @@ -62,4 +62,4 @@ ROM_END } // anonymous namespace -CONS( 198?, casiorom, 0, 0, casiorom, casiorom, casiorom_state, empty_init, "Casio", "Casio ROM Pack Software List holder", MACHINE_IS_SKELETON ) +CONS( 198?, casiorom, 0, 0, casiorom, casiorom, casiorom_state, empty_init, "Casio", "Casio ROM Pack Software List holder", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/casio/ht6000.cpp b/src/mame/casio/ht6000.cpp index 775304467ef2e..be062e0ca10ed 100644 --- a/src/mame/casio/ht6000.cpp +++ b/src/mame/casio/ht6000.cpp @@ -347,4 +347,4 @@ ROM_END //************************************************************************** // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -CONS( 1987, ht6000, 0, 0, ht6000, ht6000, ht6000_state, empty_init, "Casio", "HT-6000", MACHINE_IS_SKELETON ) +CONS( 1987, ht6000, 0, 0, ht6000, ht6000, ht6000_state, empty_init, "Casio", "HT-6000", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/casio/sx1000.cpp b/src/mame/casio/sx1000.cpp index a71790f6d28d4..1e41bb760c757 100644 --- a/src/mame/casio/sx1000.cpp +++ b/src/mame/casio/sx1000.cpp @@ -329,4 +329,4 @@ ROM_END } // anonymous namespace /* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */ -COMP(1987, sx1010, 0, 0, sx1010, sx1010, sx1000_state, init_common, "Casio", "SX1010", MACHINE_IS_SKELETON) +COMP(1987, sx1010, 0, 0, sx1010, sx1010, sx1000_state, init_common, "Casio", "SX1010", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/cave/cavepc.cpp b/src/mame/cave/cavepc.cpp index fa9f74a386d5f..73625c3d84e08 100644 --- a/src/mame/cave/cavepc.cpp +++ b/src/mame/cave/cavepc.cpp @@ -154,4 +154,4 @@ ROM_END /*****************************************************************************/ -GAME(2009, deathsm2, 0, cavepc, cavepc, cavepc_state, empty_init, ROT0, "Cave", "Deathsmiles II: Makai no Merry Christmas (2009/10/14 MASTER VER 4.00)", MACHINE_IS_SKELETON ) +GAME(2009, deathsm2, 0, cavepc, cavepc, cavepc_state, empty_init, ROT0, "Cave", "Deathsmiles II: Makai no Merry Christmas (2009/10/14 MASTER VER 4.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/cave/fstgfish.cpp b/src/mame/cave/fstgfish.cpp index 1e555bea3ebe2..5efda3e5eca16 100644 --- a/src/mame/cave/fstgfish.cpp +++ b/src/mame/cave/fstgfish.cpp @@ -147,4 +147,4 @@ ROM_END /*****************************************************************************/ -GAME(2008, fstgfish, 0, fstgfish, fstgfish, fstgfish_state, empty_init, ROT0, "Cave", "Festival: Goldfish Scoop", MACHINE_IS_SKELETON ) +GAME(2008, fstgfish, 0, fstgfish, fstgfish, fstgfish_state, empty_init, ROT0, "Cave", "Festival: Goldfish Scoop", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/ces/cesclass.cpp b/src/mame/ces/cesclass.cpp index 3872a3dd79e14..6002cea478529 100644 --- a/src/mame/ces/cesclass.cpp +++ b/src/mame/ces/cesclass.cpp @@ -273,7 +273,7 @@ static INPUT_PORTS_START( cesclassic ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) PORT_START("VBLANK") - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("l_lcd") // TODO: most likely tied to "DONE" from FPGA + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("l_lcd", FUNC(screen_device::vblank)) // TODO: most likely tied to "DONE" from FPGA INPUT_PORTS_END void cesclassic_state::palette_init(palette_device &palette) const diff --git a/src/mame/chess/conchess.cpp b/src/mame/chess/conchess.cpp index 8185c89e4e819..05f858a33ca1e 100644 --- a/src/mame/chess/conchess.cpp +++ b/src/mame/chess/conchess.cpp @@ -67,8 +67,8 @@ is integrated. #include "bus/generic/carts.h" #include "bus/generic/slot.h" #include "cpu/m6502/m6502.h" -#include "cpu/m6502/m65c02.h" #include "cpu/m6502/r65c02.h" +#include "cpu/m6502/w65c02.h" #include "machine/sensorboard.h" #include "sound/beep.h" #include "video/pwm.h" @@ -299,7 +299,7 @@ void conchess_state::concvicp(machine_config &config) concams5(config); // basic machine hardware - M65C02(config.replace(), m_maincpu, 12.288_MHz_XTAL/2); + W65C02(config.replace(), m_maincpu, 12.288_MHz_XTAL/2); m_maincpu->set_addrmap(AS_PROGRAM, &conchess_state::main_map); const attotime irq_period = attotime::from_hz(12.288_MHz_XTAL / 0x4000); diff --git a/src/mame/chess/conic_cchess3.cpp b/src/mame/chess/conic_cchess3.cpp index 6e37655f00a21..3f9de4aa4ad45 100644 --- a/src/mame/chess/conic_cchess3.cpp +++ b/src/mame/chess/conic_cchess3.cpp @@ -158,4 +158,4 @@ ROM_END *******************************************************************************/ // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS -SYST( 1981, cncchess3, 0, 0, cncchess3, cncchess3, cchess3_state, empty_init, "Conic", "Computer Chess (Conic, model 7013)", MACHINE_SUPPORTS_SAVE | MACHINE_IS_SKELETON ) +SYST( 1981, cncchess3, 0, 0, cncchess3, cncchess3, cchess3_state, empty_init, "Conic", "Computer Chess (Conic, model 7013)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/cinematronics/cinemat.cpp b/src/mame/cinematronics/cinemat.cpp index 9d65aded46120..952bce5b6ca9f 100644 --- a/src/mame/cinematronics/cinemat.cpp +++ b/src/mame/cinematronics/cinemat.cpp @@ -44,8 +44,6 @@ #include "warrior.lh" #include "wotw.lh" -#define MASTER_CLOCK XTAL(19'923'000) - /************************************* * @@ -61,6 +59,7 @@ void cinemat_state::machine_start() save_item(NAME(m_vector_color)); save_item(NAME(m_lastx)); save_item(NAME(m_lasty)); + m_led.resolve(); m_pressed.resolve(); } @@ -1024,7 +1023,7 @@ INPUT_PORTS_END void cinemat_state::cinemat_nojmi_4k(machine_config &config) { // basic machine hardware - CCPU(config, m_maincpu, MASTER_CLOCK/4); + CCPU(config, m_maincpu, 19.923_MHz_XTAL/4); m_maincpu->set_vector_func(FUNC(cinemat_state::cinemat_vector_callback)); m_maincpu->external_func().set(FUNC(cinemat_state::joystick_read)); m_maincpu->set_addrmap(AS_PROGRAM, &cinemat_state::program_map_4k); @@ -1037,12 +1036,14 @@ void cinemat_state::cinemat_nojmi_4k(machine_config &config) // video hardware VECTOR(config, "vector", 0); + SCREEN(config, m_screen, SCREEN_TYPE_VECTOR); m_screen->set_video_attributes(VIDEO_ALWAYS_UPDATE); - m_screen->set_refresh_hz(MASTER_CLOCK/4/16/16/16/16/2); + m_screen->set_refresh_hz(19.923_MHz_XTAL/4/16/16/16/16/2); m_screen->set_size(1024, 768); - m_screen->set_visarea(0, 1023, 0, 767); + m_screen->set_visarea_full(); m_screen->set_screen_update(FUNC(cinemat_state::screen_update_cinemat)); + m_screen->screen_vblank().set(m_maincpu, FUNC(ccpu_cpu_device::wdt_trigger)); } void cinemat_state::cinemat_jmi_4k(machine_config &config) diff --git a/src/mame/cinematronics/cinemat.h b/src/mame/cinematronics/cinemat.h index 5269b180a1bf1..9f20e619f08da 100644 --- a/src/mame/cinematronics/cinemat.h +++ b/src/mame/cinematronics/cinemat.h @@ -5,6 +5,7 @@ Cinematronics vector hardware *************************************************************************/ + #ifndef MAME_CINEMATRONICS_CINEMAT_H #define MAME_CINEMATRONICS_CINEMAT_H @@ -36,13 +37,7 @@ class cinemat_state : public driver_device , m_analog_y(*this, "ANALOGY") , m_led(*this, "led") , m_pressed(*this, "pressed%u", 0U) - , m_coin_detected(0) - , m_coin_last_reset(0) - , m_mux_select(0) - , m_gear(0) , m_vector_color(255, 255, 255) - , m_lastx(0) - , m_lasty(0) { } required_device m_maincpu; @@ -61,13 +56,15 @@ class cinemat_state : public driver_device output_finder<> m_led; output_finder<10> m_pressed; - u8 m_coin_detected; - u8 m_coin_last_reset; - u8 m_mux_select; - u8 m_gear; + emu_timer *m_watchdog; + u8 m_coin_detected = 0; + u8 m_coin_last_reset = 0; + u8 m_mux_select = 0; + u8 m_gear = 0; rgb_t m_vector_color; - s16 m_lastx; - s16 m_lasty; + s16 m_lastx = 0; + s16 m_lasty = 0; + u8 inputs_r(offs_t offset); u8 switches_r(offs_t offset); u8 coin_input_r(); @@ -196,10 +193,10 @@ class demon_state : public cinemat_state void demon_sound_ports(address_map &map) ATTR_COLD; private: - u8 m_sound_fifo[16]{}; - u8 m_sound_fifo_in = 0U; - u8 m_sound_fifo_out = 0U; - u8 m_last_portb_write = 0U; + u8 m_sound_fifo[16] = { }; + u8 m_sound_fifo_in = 0; + u8 m_sound_fifo_out = 0; + u8 m_last_portb_write = 0; }; diff --git a/src/mame/cinematronics/cinemat_v.cpp b/src/mame/cinematronics/cinemat_v.cpp index 61379305fc6c3..5abcf8dc026f3 100644 --- a/src/mame/cinematronics/cinemat_v.cpp +++ b/src/mame/cinematronics/cinemat_v.cpp @@ -147,8 +147,6 @@ uint32_t cinemat_state::screen_update_cinemat(screen_device &screen, bitmap_rgb3 m_vector->screen_update(screen, bitmap, cliprect); m_vector->clear_list(); - m_maincpu->wdt_timer_trigger(); - return 0; } diff --git a/src/mame/cinematronics/dlair2.cpp b/src/mame/cinematronics/dlair2.cpp index 42179402c5e66..0fad35ef8f9c7 100644 --- a/src/mame/cinematronics/dlair2.cpp +++ b/src/mame/cinematronics/dlair2.cpp @@ -344,19 +344,19 @@ ROM_END } // anonymous namespace -GAME( 1991, dlair2, 0, dlair2, dlair2, dlair2_state, empty_init, ROT0, "Leland Corporation", "Dragon's Lair 2: Time Warp (US v3.19)", MACHINE_IS_SKELETON ) -GAME( 1991, dlair2_319e, dlair2, dlair2, dlair2, dlair2_state, empty_init, ROT0, "Leland Corporation", "Dragon's Lair 2: Time Warp (Europe v3.19)", MACHINE_IS_SKELETON ) -GAME( 1991, dlair2_319s, dlair2, dlair2, dlair2, dlair2_state, empty_init, ROT0, "Leland Corporation", "Dragon's Lair 2: Time Warp (Spanish v3.19)", MACHINE_IS_SKELETON ) -GAME( 1991, dlair2_318, dlair2, dlair2, dlair2, dlair2_state, empty_init, ROT0, "Leland Corporation", "Dragon's Lair 2: Time Warp (US v3.18)", MACHINE_IS_SKELETON ) -GAME( 1991, dlair2_317e, dlair2, dlair2, dlair2, dlair2_state, empty_init, ROT0, "Leland Corporation", "Dragon's Lair 2: Time Warp (Europe v3.17)", MACHINE_IS_SKELETON ) -GAME( 1991, dlair2_316e, dlair2, dlair2, dlair2, dlair2_state, empty_init, ROT0, "Leland Corporation", "Dragon's Lair 2: Time Warp (Europe v3.16)", MACHINE_IS_SKELETON ) -GAME( 1991, dlair2_315, dlair2, dlair2, dlair2, dlair2_state, empty_init, ROT0, "Leland Corporation", "Dragon's Lair 2: Time Warp (US v3.15)", MACHINE_IS_SKELETON ) -GAME( 1991, dlair2_315s, dlair2, dlair2, dlair2, dlair2_state, empty_init, ROT0, "Leland Corporation", "Dragon's Lair 2: Time Warp (Spanish v3.15)", MACHINE_IS_SKELETON ) -GAME( 1991, dlair2_314, dlair2, dlair2, dlair2, dlair2_state, empty_init, ROT0, "Leland Corporation", "Dragon's Lair 2: Time Warp (US v3.14)", MACHINE_IS_SKELETON ) -GAME( 1991, dlair2_312, dlair2, dlair2, dlair2, dlair2_state, empty_init, ROT0, "Leland Corporation", "Dragon's Lair 2: Time Warp (Europe v3.12)", MACHINE_IS_SKELETON ) -GAME( 1991, dlair2_300, dlair2, dlair2, dlair2, dlair2_state, empty_init, ROT0, "Leland Corporation", "Dragon's Lair 2: Time Warp (US v3.00)", MACHINE_IS_SKELETON ) -GAME( 1991, dlair2_211, dlair2, dlair2, dlair2, dlair2_state, empty_init, ROT0, "Leland Corporation", "Dragon's Lair 2: Time Warp (US v2.11)", MACHINE_IS_SKELETON ) -GAME( 1991, dlair2_200, dlair2, dlair2, dlair2, dlair2_state, empty_init, ROT0, "Leland Corporation", "Dragon's Lair 2: Time Warp (US v2.00, AMOA prototype)", MACHINE_IS_SKELETON ) - -GAME( 1991, spacea91, spaceace, dlair2, dlair2, dlair2_state, empty_init, ROT0, "Cinematronics (Leland Corporation license)", "Space Ace (DL2 Conversion) (US v1.3)", MACHINE_IS_SKELETON ) -GAME( 1991, spacea91_13e, spaceace, dlair2, dlair2, dlair2_state, empty_init, ROT0, "Cinematronics (Leland Corporation license)", "Space Ace (DL2 Conversion) (Europe v1.3)", MACHINE_IS_SKELETON ) +GAME( 1991, dlair2, 0, dlair2, dlair2, dlair2_state, empty_init, ROT0, "Leland Corporation", "Dragon's Lair 2: Time Warp (US v3.19)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1991, dlair2_319e, dlair2, dlair2, dlair2, dlair2_state, empty_init, ROT0, "Leland Corporation", "Dragon's Lair 2: Time Warp (Europe v3.19)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1991, dlair2_319s, dlair2, dlair2, dlair2, dlair2_state, empty_init, ROT0, "Leland Corporation", "Dragon's Lair 2: Time Warp (Spanish v3.19)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1991, dlair2_318, dlair2, dlair2, dlair2, dlair2_state, empty_init, ROT0, "Leland Corporation", "Dragon's Lair 2: Time Warp (US v3.18)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1991, dlair2_317e, dlair2, dlair2, dlair2, dlair2_state, empty_init, ROT0, "Leland Corporation", "Dragon's Lair 2: Time Warp (Europe v3.17)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1991, dlair2_316e, dlair2, dlair2, dlair2, dlair2_state, empty_init, ROT0, "Leland Corporation", "Dragon's Lair 2: Time Warp (Europe v3.16)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1991, dlair2_315, dlair2, dlair2, dlair2, dlair2_state, empty_init, ROT0, "Leland Corporation", "Dragon's Lair 2: Time Warp (US v3.15)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1991, dlair2_315s, dlair2, dlair2, dlair2, dlair2_state, empty_init, ROT0, "Leland Corporation", "Dragon's Lair 2: Time Warp (Spanish v3.15)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1991, dlair2_314, dlair2, dlair2, dlair2, dlair2_state, empty_init, ROT0, "Leland Corporation", "Dragon's Lair 2: Time Warp (US v3.14)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1991, dlair2_312, dlair2, dlair2, dlair2, dlair2_state, empty_init, ROT0, "Leland Corporation", "Dragon's Lair 2: Time Warp (Europe v3.12)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1991, dlair2_300, dlair2, dlair2, dlair2, dlair2_state, empty_init, ROT0, "Leland Corporation", "Dragon's Lair 2: Time Warp (US v3.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1991, dlair2_211, dlair2, dlair2, dlair2, dlair2_state, empty_init, ROT0, "Leland Corporation", "Dragon's Lair 2: Time Warp (US v2.11)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1991, dlair2_200, dlair2, dlair2, dlair2, dlair2_state, empty_init, ROT0, "Leland Corporation", "Dragon's Lair 2: Time Warp (US v2.00, AMOA prototype)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) + +GAME( 1991, spacea91, spaceace, dlair2, dlair2, dlair2_state, empty_init, ROT0, "Cinematronics (Leland Corporation license)", "Space Ace (DL2 Conversion) (US v1.3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1991, spacea91_13e, spaceace, dlair2, dlair2, dlair2_state, empty_init, ROT0, "Cinematronics (Leland Corporation license)", "Space Ace (DL2 Conversion) (Europe v1.3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/cinematronics/leland.cpp b/src/mame/cinematronics/leland.cpp index 1a8cffcef5aab..f0cacf938407b 100644 --- a/src/mame/cinematronics/leland.cpp +++ b/src/mame/cinematronics/leland.cpp @@ -391,7 +391,7 @@ static INPUT_PORTS_START( cerberus ) /* complete, verified from code */ PORT_START("IN3") /* 0x91 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", FUNC(eeprom_serial_93cxx_device::do_read)) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START2 ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED ) @@ -437,7 +437,7 @@ static INPUT_PORTS_START( mayhem ) /* complete, verified from code */ PORT_START("IN3") /* 0xD1 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", FUNC(eeprom_serial_93cxx_device::do_read)) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START2 ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED ) @@ -470,7 +470,7 @@ static INPUT_PORTS_START( wseries ) /* complete, verified from code */ PORT_START("IN3") /* 0x91 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", FUNC(eeprom_serial_93cxx_device::do_read)) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START2 ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED ) @@ -509,7 +509,7 @@ static INPUT_PORTS_START( alleymas ) /* complete, verified from code */ PORT_START("IN3") /* 0xD1 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", FUNC(eeprom_serial_93cxx_device::do_read)) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START2 ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED ) @@ -545,7 +545,7 @@ static INPUT_PORTS_START( upyoural ) /* complete, verified from code */ PORT_START("IN3") /* 0xD1 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", FUNC(eeprom_serial_93cxx_device::do_read)) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START2 ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED ) @@ -580,7 +580,7 @@ static INPUT_PORTS_START( dangerz ) /* complete, verified from code */ PORT_START("IN3") /* 0x91 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", FUNC(eeprom_serial_93cxx_device::do_read)) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START2 ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED ) @@ -615,7 +615,7 @@ static INPUT_PORTS_START( basebal2 ) /* complete, verified from code */ PORT_START("IN3") /* 0x51/D1 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", FUNC(eeprom_serial_93cxx_device::do_read)) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START2 ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED ) @@ -652,7 +652,7 @@ static INPUT_PORTS_START( redline ) /* complete, verified in code */ PORT_START("IN3") /* 0xD1 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", FUNC(eeprom_serial_93cxx_device::do_read)) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START2 ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED ) @@ -690,7 +690,7 @@ static INPUT_PORTS_START( quarterb ) /* complete, verified in code */ PORT_START("IN3") /* 0x91 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", FUNC(eeprom_serial_93cxx_device::do_read)) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START2 ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED ) @@ -732,7 +732,7 @@ static INPUT_PORTS_START( teamqb ) /* complete, verified in code */ PORT_START("IN3") /* 0x91 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", FUNC(eeprom_serial_93cxx_device::do_read)) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START2 ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED ) @@ -790,7 +790,7 @@ static INPUT_PORTS_START( aafb2p ) /* complete, verified in code */ PORT_START("IN3") /* 0x91 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", FUNC(eeprom_serial_93cxx_device::do_read)) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED ) @@ -845,7 +845,7 @@ static INPUT_PORTS_START( offroad ) /* complete, verified from code */ PORT_START("IN3") /* 0xD1 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", FUNC(eeprom_serial_93cxx_device::do_read)) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_SERVICE_NO_TOGGLE( 0x08, IP_ACTIVE_LOW ) PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED ) @@ -919,7 +919,7 @@ static INPUT_PORTS_START( pigout ) /* complete, verified from code */ PORT_START("IN3") /* 0x51 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", FUNC(eeprom_serial_93cxx_device::do_read)) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_SERVICE_NO_TOGGLE( 0x04, IP_ACTIVE_LOW ) PORT_BIT( 0xf8, IP_ACTIVE_LOW, IPT_UNUSED ) @@ -947,7 +947,7 @@ static INPUT_PORTS_START( ataxx ) PORT_START("IN1") /* 0xF7 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SLAVEHALT ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("IN2") /* 0x20 */ @@ -978,7 +978,7 @@ static INPUT_PORTS_START( wsf ) PORT_START("IN1") /* 0xF7 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SLAVEHALT ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("IN2") /* 0x20 */ @@ -1030,7 +1030,7 @@ static INPUT_PORTS_START( indyheat ) PORT_START("IN1") /* 0xF7 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SLAVEHALT ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("IN2") /* 0x20 */ @@ -1076,7 +1076,7 @@ static INPUT_PORTS_START( brutforc ) PORT_START("IN1") /* 0xF7 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SLAVEHALT ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("IN2") /* 0x20 */ diff --git a/src/mame/cinematronics/leland_v.cpp b/src/mame/cinematronics/leland_v.cpp index cf1297387f429..d9938e7141eb9 100644 --- a/src/mame/cinematronics/leland_v.cpp +++ b/src/mame/cinematronics/leland_v.cpp @@ -509,9 +509,7 @@ void leland_state::leland_video(machine_config &config) SCREEN(config, m_screen, SCREEN_TYPE_RASTER); m_screen->set_video_attributes(VIDEO_ALWAYS_UPDATE); - m_screen->set_size(40*8, 32*8); - m_screen->set_visarea(0*8, 40*8-1, 0*8, 30*8-1); - m_screen->set_refresh_hz(60); + m_screen->set_raw(14.318181_MHz_XTAL / 2, 424, 0, 320, 256, 0, 240); m_screen->set_screen_update(FUNC(leland_state::screen_update)); m_screen->set_palette(m_palette); } diff --git a/src/mame/cirsa/cirsa2080606.cpp b/src/mame/cirsa/cirsa2080606.cpp index 40df32c5d0a58..ded774efbab17 100644 --- a/src/mame/cirsa/cirsa2080606.cpp +++ b/src/mame/cirsa/cirsa2080606.cpp @@ -195,4 +195,4 @@ ROM_END } // Anonymous namespace // YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS -GAME( 2015, maquinati, 0, maquinati, cirsa2080606, cirsa2080606_state, empty_init, ROT0, "Unidesa/Cirsa", u8"La Máquina del Tiempo", MACHINE_IS_SKELETON ) +GAME( 2015, maquinati, 0, maquinati, cirsa2080606, cirsa2080606_state, empty_init, ROT0, "Unidesa/Cirsa", u8"La Máquina del Tiempo", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/cirsa/cirsa820xxx.cpp b/src/mame/cirsa/cirsa820xxx.cpp index 2e4a6f33d91bd..22acd28c43255 100644 --- a/src/mame/cirsa/cirsa820xxx.cpp +++ b/src/mame/cirsa/cirsa820xxx.cpp @@ -142,4 +142,4 @@ ROM_END } // Anonymous namespace -GAME( 1982?, unk820501, 0, cirsa820xxx, cirsa820xxx, cirsa820xxx_state, empty_init, ROT0, "Cirsa", "unknown Cirsa slot machine on 820501 A PCB", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1982?, unk820501, 0, cirsa820xxx, cirsa820xxx, cirsa820xxx_state, empty_init, ROT0, "Cirsa", "unknown Cirsa slot machine on 820501 A PCB", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/cirsa/cirsa910510.cpp b/src/mame/cirsa/cirsa910510.cpp index 607bcfdee3382..9f79203c831c4 100644 --- a/src/mame/cirsa/cirsa910510.cpp +++ b/src/mame/cirsa/cirsa910510.cpp @@ -203,6 +203,6 @@ ROM_END } // Anonymous namespace // This has mechanical reels and small LED displays, some other titles have an auxiliary video PCB -GAME( 199?, minimony, 0, cirsa910510, cirsa910510, cirsa910510_state, empty_init, ROT0, "Cirsa", "Mini Money", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, minimonya, minimony, cirsa910510, cirsa910510, cirsa910510_state, empty_init, ROT0, "Cirsa", "Mini Money (set 2, v1.5?)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, minimonyb, minimony, cirsa910510, cirsa910510, cirsa910510_state, empty_init, ROT0, "Cirsa", "Mini Money (set 3, v1.4?)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, minimony, 0, cirsa910510, cirsa910510, cirsa910510_state, empty_init, ROT0, "Cirsa", "Mini Money", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, minimonya, minimony, cirsa910510, cirsa910510, cirsa910510_state, empty_init, ROT0, "Cirsa", "Mini Money (set 2, v1.5?)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, minimonyb, minimony, cirsa910510, cirsa910510, cirsa910510_state, empty_init, ROT0, "Cirsa", "Mini Money (set 3, v1.4?)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/cirsa/miniguay.cpp b/src/mame/cirsa/miniguay.cpp index 8a834dedd1dfe..581ddff397abf 100644 --- a/src/mame/cirsa/miniguay.cpp +++ b/src/mame/cirsa/miniguay.cpp @@ -216,4 +216,4 @@ ROM_END } // Anonymous namespace -GAME( 1986, miniguay, 0, miniguay, miniguay, miniguay_state, empty_init, ROT0, "Cirsa", "Mini Guay VD", MACHINE_IS_SKELETON_MECHANICAL ) // VD stands for "Version Displays". +GAME( 1986, miniguay, 0, miniguay, miniguay, miniguay_state, empty_init, ROT0, "Cirsa", "Mini Guay VD", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // VD stands for "Version Displays". diff --git a/src/mame/cirsa/missbamby.cpp b/src/mame/cirsa/missbamby.cpp index 52cd8e7631ee3..997160ce51d04 100644 --- a/src/mame/cirsa/missbamby.cpp +++ b/src/mame/cirsa/missbamby.cpp @@ -363,16 +363,16 @@ ROM_END } // Anonymous namespace // From Cirsa -GAME( 1981, luckyplr, 0, missbamby, missbamby, missbamby_state, empty_init, ROT0, "Cirsa", "Lucky Player", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1981, minisupf, 0, missbamby, c_810601a, missbamby_state, empty_init, ROT0, "Cirsa", "Mini Super Fruits", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1981, luckyplr, 0, missbamby, missbamby, missbamby_state, empty_init, ROT0, "Cirsa", "Lucky Player", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1981, minisupf, 0, missbamby, c_810601a, missbamby_state, empty_init, ROT0, "Cirsa", "Mini Super Fruits", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // Clones -GAME( 198?, goldfrts, 0, missbamby, c_810601a, missbamby_state, empty_init, ROT0, "Video Game", "Golden Fruits", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1983, gwinner, 0, gldwinner, missbamby, missbamby_state, empty_init, ROT0, "Reben SA", "Golden Winner", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1989?, miniazard, 0, gldwinner, missbamby, missbamby_state, empty_init, ROT0, "Arfyc", "Mini Azar D", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, msbamby, 0, missbamby, missbamby, missbamby_state, empty_init, ROT0, "Automatics Pasqual", "Miss Bamby", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 198?, goldfrts, 0, missbamby, c_810601a, missbamby_state, empty_init, ROT0, "Video Game", "Golden Fruits", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1983, gwinner, 0, gldwinner, missbamby, missbamby_state, empty_init, ROT0, "Reben SA", "Golden Winner", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1989?, miniazard, 0, gldwinner, missbamby, missbamby_state, empty_init, ROT0, "Arfyc", "Mini Azar D", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, msbamby, 0, missbamby, missbamby, missbamby_state, empty_init, ROT0, "Automatics Pasqual", "Miss Bamby", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // Similar hardware -GAME( 1987?, basket, 0, igoabasket, missbamby, missbamby_state, empty_init, ROT0, "Igoa S.A.", "Basket", MACHINE_IS_SKELETON_MECHANICAL ) // v2.0 on ROM string, v2.81 on EPROM label -GAME( 1987, multy, 0, missbamby, missbamby, missbamby_state, empty_init, ROT0, "Deta", "Multy", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1985, trebol, 0, missbamby, missbamby, missbamby_state, empty_init, ROT0, "Regama", "Trebol", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1987?, basket, 0, igoabasket, missbamby, missbamby_state, empty_init, ROT0, "Igoa S.A.", "Basket", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // v2.0 on ROM string, v2.81 on EPROM label +GAME( 1987, multy, 0, missbamby, missbamby, missbamby_state, empty_init, ROT0, "Deta", "Multy", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1985, trebol, 0, missbamby, missbamby, missbamby_state, empty_init, ROT0, "Regama", "Trebol", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/cirsa/neptunp2.cpp b/src/mame/cirsa/neptunp2.cpp index ed46baaf71eec..978f80cde7a2f 100644 --- a/src/mame/cirsa/neptunp2.cpp +++ b/src/mame/cirsa/neptunp2.cpp @@ -666,22 +666,22 @@ ROM_END // Video games on Cirsa "960606-5" CPU PCB + "IS040302-3" VGA SOC-Legacy PCB (or similar video PCB) -GAME( 2003, neptunp2, 0, neptunp2_video, neptunp2, neptunp2_state, empty_init, ROT0, "Unidesa/Cirsa", "Neptune's Pearls 2", MACHINE_IS_SKELETON ) // Year from legal registry date -GAME( 2008, perlacrb, 0, neptunp2_video, neptunp2, neptunp2_state, empty_init, ROT0, "Unidesa/Cirsa", "La Perla del Caribe (V1.0, Catalonia)", MACHINE_IS_SKELETON ) +GAME( 2003, neptunp2, 0, neptunp2_video, neptunp2, neptunp2_state, empty_init, ROT0, "Unidesa/Cirsa", "Neptune's Pearls 2", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // Year from legal registry date +GAME( 2008, perlacrb, 0, neptunp2_video, neptunp2, neptunp2_state, empty_init, ROT0, "Unidesa/Cirsa", "La Perla del Caribe (V1.0, Catalonia)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // Screenless games on Cirsa "960606-5" CPU PCB -GAME( 1999, ccorsario, 0, neptunp2_no_video, c960606, neptunp2_state, empty_init, ROT0, "Unidesa/Cirsa", "Corsarios (Cirsa slot machine, V6.0D)", MACHINE_IS_SKELETON_MECHANICAL ) // Year taken from sticker on PCB -GAME( 1999, ccorsarioa, ccorsario, neptunp2_no_video, c960606, neptunp2_state, empty_init, ROT0, "Unidesa/Cirsa", "Corsarios (Cirsa slot machine, V5.10D, Catalonia)", MACHINE_IS_SKELETON_MECHANICAL ) // Year taken from sticker on PCB -GAME( 2002?, charles, 0, neptunp2_no_video, c960606, neptunp2_state, empty_init, ROT0, "Unidesa/Cirsa/Europea", "Charleston (V2.1, Catalonia)", MACHINE_IS_SKELETON_MECHANICAL ) // Year taken from sticker on PCB -GAME( 2008, gladiador, 0, neptunp2_no_video, c960606, neptunp2_state, empty_init, ROT0, "Unidesa/Cirsa", "Gladiadores (V1.0, CAA)", MACHINE_IS_SKELETON_MECHANICAL ) // Year taken from manual -GAME( 2006, mltpoints, 0, neptunp2_no_video, c960606, neptunp2_state, empty_init, ROT0, "Unidesa/Cirsa", "Multi Points (V1.0, CAA)", MACHINE_IS_SKELETON_MECHANICAL ) // Year taken from manual -GAME( 1999, rockroll, 0, neptunp2_no_video, c960606, neptunp2_state, empty_init, ROT0, "Unidesa/Cirsa", "Rock 'n' Roll", MACHINE_IS_SKELETON_MECHANICAL ) // Year taken from parts' manual and sticker on PCB -GAME( 2001?, unk960606, 0, neptunp2_no_video, c960606, neptunp2_state, empty_init, ROT0, "Unidesa/Cirsa", "unknown 960606-5 based machine (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) // Year taken from sticker on PCB -GAME( 2001?, unk960606b, 0, neptunp2_no_video, c960606, neptunp2_state, empty_init, ROT0, "Unidesa/Cirsa/Europea", "unknown 960606-5 based machine (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) // Year taken from sticker on PCB +GAME( 1999, ccorsario, 0, neptunp2_no_video, c960606, neptunp2_state, empty_init, ROT0, "Unidesa/Cirsa", "Corsarios (Cirsa slot machine, V6.0D)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // Year taken from sticker on PCB +GAME( 1999, ccorsarioa, ccorsario, neptunp2_no_video, c960606, neptunp2_state, empty_init, ROT0, "Unidesa/Cirsa", "Corsarios (Cirsa slot machine, V5.10D, Catalonia)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // Year taken from sticker on PCB +GAME( 2002?, charles, 0, neptunp2_no_video, c960606, neptunp2_state, empty_init, ROT0, "Unidesa/Cirsa/Europea", "Charleston (V2.1, Catalonia)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // Year taken from sticker on PCB +GAME( 2008, gladiador, 0, neptunp2_no_video, c960606, neptunp2_state, empty_init, ROT0, "Unidesa/Cirsa", "Gladiadores (V1.0, CAA)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // Year taken from manual +GAME( 2006, mltpoints, 0, neptunp2_no_video, c960606, neptunp2_state, empty_init, ROT0, "Unidesa/Cirsa", "Multi Points (V1.0, CAA)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // Year taken from manual +GAME( 1999, rockroll, 0, neptunp2_no_video, c960606, neptunp2_state, empty_init, ROT0, "Unidesa/Cirsa", "Rock 'n' Roll", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // Year taken from parts' manual and sticker on PCB +GAME( 2001?, unk960606, 0, neptunp2_no_video, c960606, neptunp2_state, empty_init, ROT0, "Unidesa/Cirsa", "unknown 960606-5 based machine (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // Year taken from sticker on PCB +GAME( 2001?, unk960606b, 0, neptunp2_no_video, c960606, neptunp2_state, empty_init, ROT0, "Unidesa/Cirsa/Europea", "unknown 960606-5 based machine (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // Year taken from sticker on PCB // B. Gaming Technology Ltd. (BGT) fruit machines on Cirsa "960606-5" CPU PCB -GAME( 1997, bg_barmy, 0, neptunp2_no_video, c960606, neptunp2_state, empty_init, ROT0, "Unidesa/Cirsa/B. Gaming Technology", "Barmy Army", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2000, bg_dbells, 0, neptunp2_no_video, c960606, neptunp2_state, empty_init, ROT0, "Unidesa/Cirsa/B. Gaming Technology", "Dancing Bells", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1999, bg_ddb, 0, neptunp2_no_video, c960606, neptunp2_state, empty_init, ROT0, "Unidesa/Cirsa/B. Gaming Technology", "Ding Dong Bells (B Gaming Technology)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2000, bg_max, 0, neptunp2_no_video, c960606, neptunp2_state, empty_init, ROT0, "Unidesa/Cirsa/B. Gaming Technology", "Max A Million (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2000, bg_maxa, bg_max, neptunp2_no_video, c960606, neptunp2_state, empty_init, ROT0, "Unidesa/Cirsa/B. Gaming Technology", "Max A Million (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1997, bg_barmy, 0, neptunp2_no_video, c960606, neptunp2_state, empty_init, ROT0, "Unidesa/Cirsa/B. Gaming Technology", "Barmy Army", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2000, bg_dbells, 0, neptunp2_no_video, c960606, neptunp2_state, empty_init, ROT0, "Unidesa/Cirsa/B. Gaming Technology", "Dancing Bells", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1999, bg_ddb, 0, neptunp2_no_video, c960606, neptunp2_state, empty_init, ROT0, "Unidesa/Cirsa/B. Gaming Technology", "Ding Dong Bells (B Gaming Technology)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2000, bg_max, 0, neptunp2_no_video, c960606, neptunp2_state, empty_init, ROT0, "Unidesa/Cirsa/B. Gaming Technology", "Max A Million (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2000, bg_maxa, bg_max, neptunp2_no_video, c960606, neptunp2_state, empty_init, ROT0, "Unidesa/Cirsa/B. Gaming Technology", "Max A Million (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/citoh/cit101xl.cpp b/src/mame/citoh/cit101xl.cpp index 7b94c685c5a27..35f73aae5e3e2 100644 --- a/src/mame/citoh/cit101xl.cpp +++ b/src/mame/citoh/cit101xl.cpp @@ -115,4 +115,4 @@ ROM_END } // anonymous namespace -COMP(1987, cit101xl, 0, 0, cit101xl, cit101xl, cit101xl_state, empty_init, "CIE Terminals", "CIT-101XL Video Display Terminal", MACHINE_IS_SKELETON) +COMP(1987, cit101xl, 0, 0, cit101xl, cit101xl, cit101xl_state, empty_init, "CIE Terminals", "CIT-101XL Video Display Terminal", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/commodore/c64dtv.cpp b/src/mame/commodore/c64dtv.cpp index eb22b822ad6ef..f00afb2c143af 100644 --- a/src/mame/commodore/c64dtv.cpp +++ b/src/mame/commodore/c64dtv.cpp @@ -82,4 +82,4 @@ ROM_END // GAME DRIVERS //************************************************************************** -CONS( 2005, c64dtv, 0, 0, c64dtv, c64dtv, c64dtv_state, empty_init, "The Toy:Lobster Company", "Commodore 64 Direct-to-TV (Version 2 050711) (PAL)", MACHINE_IS_SKELETON ) +CONS( 2005, c64dtv, 0, 0, c64dtv, c64dtv, c64dtv_state, empty_init, "The Toy:Lobster Company", "Commodore 64 Direct-to-TV (Version 2 050711) (PAL)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/commodore/c900.cpp b/src/mame/commodore/c900.cpp index aabff26984b0a..0dc5818260cd6 100644 --- a/src/mame/commodore/c900.cpp +++ b/src/mame/commodore/c900.cpp @@ -173,4 +173,4 @@ ROM_END /* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */ -COMP( 1985, c900, 0, 0, c900, c900, c900_state, empty_init, "Commodore", "Commodore 900", MACHINE_IS_SKELETON | MACHINE_SUPPORTS_SAVE ) +COMP( 1985, c900, 0, 0, c900, c900, c900_state, empty_init, "Commodore", "Commodore 900", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/commodore/clcd.cpp b/src/mame/commodore/clcd.cpp index b3e41efafe4ab..5622dbd39d8f1 100644 --- a/src/mame/commodore/clcd.cpp +++ b/src/mame/commodore/clcd.cpp @@ -1,22 +1,25 @@ // license:BSD-3-Clause -// copyright-holders:Curt Coder,smf,Mike Naberezny +// copyright-holders:Curt Coder, smf, Mike Naberezny /*************************************************************************** - Commodore LCD prototype +Commodore LCD prototype - GTE G65SC102PI-2 - GTE G65SC51P-1 - Rockwell R65C22P2 x 2 - AMI S3530X Bell 103/V.21 Single chip modem +OSC: 4MHz, 1.8432MHz, 3.579545MHz +GTE G65SC102PI-2 +GTE G65SC51P-1 +Rockwell R65C22P2 x 2 +AMI S3530X Bell 103/V.21 Single chip modem +OKI M5260 x 2 ****************************************************************************/ #include "emu.h" + #include "bus/cbmiec/cbmiec.h" #include "bus/centronics/ctronics.h" #include "bus/rs232/rs232.h" -#include "cpu/m6502/m65c02.h" +#include "cpu/m6502/g65sc02.h" #include "machine/6522via.h" #include "machine/bankdev.h" #include "machine/input_merger.h" @@ -25,6 +28,7 @@ #include "machine/ram.h" #include "machine/nvram.h" #include "sound/spkrdev.h" + #include "emupal.h" #include "screen.h" #include "speaker.h" @@ -101,7 +105,7 @@ class clcd_state : public driver_device void clcd_palette(palette_device &palette) const { palette.set_pen_color(0, rgb_t(124, 149, 143)); - palette.set_pen_color(1, rgb_t(54,64,65)); + palette.set_pen_color(1, rgb_t(54, 64, 65)); } uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) @@ -405,12 +409,12 @@ class clcd_state : public driver_device if (!m_iec->clk_r()) { - data |= 1<<6; + data |= 1 << 6; } if (!m_iec->data_r()) { - data |= 1<<7; + data |= 1 << 7; } return data; @@ -537,8 +541,9 @@ class clcd_state : public driver_device void clcd(machine_config &config); void clcd_banked_mem(address_map &map) ATTR_COLD; void clcd_mem(address_map &map) ATTR_COLD; + private: - required_device m_maincpu; + required_device m_maincpu; required_device m_acia; required_device m_via0; required_device m_rtc; @@ -716,28 +721,28 @@ INPUT_PORTS_END void clcd_state::clcd(machine_config &config) { - /* basic machine hardware */ - M65C02(config, m_maincpu, 1000000); + // basic machine hardware + G65SC102(config, m_maincpu, 4_MHz_XTAL); m_maincpu->set_addrmap(AS_PROGRAM, &clcd_state::clcd_mem); - INPUT_MERGER_ANY_HIGH(config, "mainirq").output_handler().set_inputline("maincpu", m65c02_device::IRQ_LINE); + INPUT_MERGER_ANY_HIGH(config, "mainirq").output_handler().set_inputline("maincpu", g65sc102_device::IRQ_LINE); - via6522_device &via0(R65C22(config, "via0", 1000000)); + via6522_device &via0(R65C22(config, "via0", 4_MHz_XTAL / 4)); via0.writepa_handler().set(FUNC(clcd_state::via0_pa_w)); via0.writepb_handler().set(FUNC(clcd_state::via0_pb_w)); via0.readpb_handler().set(FUNC(clcd_state::via0_pb_r)); via0.cb1_handler().set(FUNC(clcd_state::via0_cb1_w)); via0.irq_handler().set("mainirq", FUNC(input_merger_device::in_w<0>)); - via6522_device &via1(R65C22(config, "via1", 1000000)); + via6522_device &via1(R65C22(config, "via1", 4_MHz_XTAL / 4)); via1.writepa_handler().set(FUNC(clcd_state::via1_pa_w)); via1.writepb_handler().set(FUNC(clcd_state::via1_pb_w)); via1.irq_handler().set("mainirq", FUNC(input_merger_device::in_w<1>)); via1.ca2_handler().set(m_centronics, FUNC(centronics_device::write_strobe)).invert(); via1.cb2_handler().set("speaker", FUNC(speaker_sound_device::level_w)); - MOS6551(config, m_acia, 1000000); - m_acia->set_xtal(XTAL(1'843'200)); + MOS6551(config, m_acia, 4_MHz_XTAL / 4); + m_acia->set_xtal(1.8432_MHz_XTAL); m_acia->irq_handler().set("mainirq", FUNC(input_merger_device::in_w<2>)); m_acia->txd_handler().set("rs232", FUNC(rs232_port_device::write_txd)); m_acia->rts_handler().set("rs232", FUNC(rs232_port_device::write_rts)); @@ -761,7 +766,7 @@ void clcd_state::clcd(machine_config &config) bankdev->set_stride(0x400); } - MSM58321(config, m_rtc, XTAL(32'768)); + MSM58321(config, m_rtc, 32.768_kHz_XTAL); m_rtc->d0_handler().set("via1", FUNC(via6522_device::write_pa0)); m_rtc->d1_handler().set("via1", FUNC(via6522_device::write_pa1)); m_rtc->d2_handler().set("via1", FUNC(via6522_device::write_pa2)); @@ -770,7 +775,7 @@ void clcd_state::clcd(machine_config &config) m_rtc->set_year0(1984); m_rtc->set_default_24h(true); - /* video hardware */ + // video hardware screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_LCD)); screen.set_refresh_hz(80); screen.set_screen_update(FUNC(clcd_state::screen_update)); @@ -794,14 +799,15 @@ void clcd_state::clcd(machine_config &config) ROM_START( clcd ) ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_SYSTEM_BIOS( 0, "apr85", "Bil Herd Prototype" ) - ROMX_LOAD( "ss,calc 13apr.u105", 0x000000, 0x0008000, CRC(88a587a7) SHA1(b08f3169b7cd696bb6a9b6e6e87a077345377ac4), ROM_BIOS(0)) - ROMX_LOAD( "wp,t,m 13apr.u104", 0x008000, 0x0008000, CRC(41028c3c) SHA1(fcab6f0bbeef178eb8e5ecf82d9c348d8f318a8f), ROM_BIOS(0)) - ROMX_LOAD( "s12apr.u103", 0x010000, 0x0008000, CRC(0aa91d9f) SHA1(f0842f370607f95d0a0ec6afafb81bc063c32745), ROM_BIOS(0)) - ROMX_LOAD( "k12apr.u102", 0x018000, 0x0008000, CRC(59103d52) SHA1(e49c20b237a78b54c2cb26b133d5903bb60bd8ef), ROM_BIOS(0)) + ROMX_LOAD( "ss,calc 13apr.u105", 0x000000, 0x008000, CRC(88a587a7) SHA1(b08f3169b7cd696bb6a9b6e6e87a077345377ac4), ROM_BIOS(0) ) + ROMX_LOAD( "wp,t,m 13apr.u104", 0x008000, 0x008000, CRC(41028c3c) SHA1(fcab6f0bbeef178eb8e5ecf82d9c348d8f318a8f), ROM_BIOS(0) ) + ROMX_LOAD( "s12apr.u103", 0x010000, 0x008000, CRC(0aa91d9f) SHA1(f0842f370607f95d0a0ec6afafb81bc063c32745), ROM_BIOS(0) ) + ROMX_LOAD( "k12apr.u102", 0x018000, 0x008000, CRC(59103d52) SHA1(e49c20b237a78b54c2cb26b133d5903bb60bd8ef), ROM_BIOS(0) ) // Patch RTC register table by swapping day & month values - ROMX_FILL(0x1c216, 1, 0x09, ROM_BIOS(0)) - ROMX_FILL(0x1c217, 1, 0x07, ROM_BIOS(0)) + ROMX_FILL( 0x1c216, 1, 0x09, ROM_BIOS(0) ) + ROMX_FILL( 0x1c217, 1, 0x07, ROM_BIOS(0) ) ROM_SYSTEM_BIOS( 1, "may85", "Jeff Porter prototype" ) ROMX_LOAD( "s 3-24-85.u108", 0x000000, 0x008000, CRC(52db0ee9) SHA1(bea1e04fb88d205ebac7a1dbe2f5e98f84e7a3a7), ROM_BIOS(1) ) @@ -823,4 +829,4 @@ ROM_END /* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */ -COMP( 1985, clcd, 0, 0, clcd, clcd, clcd_state, empty_init, "Commodore Business Machines", "LCD (Prototype)", 0 ) +COMP( 1985, clcd, 0, 0, clcd, clcd, clcd_state, empty_init, "Commodore Business Machines", "LCD (prototype)", 0 ) diff --git a/src/mame/cxg/dominator.cpp b/src/mame/cxg/dominator.cpp index ee8b0a78960c2..c6414c8a850b1 100644 --- a/src/mame/cxg/dominator.cpp +++ b/src/mame/cxg/dominator.cpp @@ -307,7 +307,12 @@ void dominator_state::commander(machine_config &config) ROM_START( sdtor ) ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD("22p_2.05", 0x8000, 0x8000, CRC(9707119c) SHA1(d7cde835a37bd5d9ff349a871c890ea4cd9b2c26) ) + ROM_LOAD("22p_2.05", 0x8000, 0x8000, CRC(9707119c) SHA1(d7cde835a37bd5d9ff349a871c890ea4cd9b2c26) ) // M27C256B +ROM_END + +ROM_START( sdtora ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD("1988_newcrest_239_2.04", 0x8000, 0x8000, CRC(f9548d92) SHA1(77340b32a33fc2a49c97d60774f395548b99294c) ) // TMS27C256-20JL ROM_END @@ -323,7 +328,7 @@ ROM_END ROM_START( sgalaxyb ) ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD("230_1.03", 0x8000, 0x8000, CRC(30d81c4e) SHA1(ab3a9b58db26d87d3e66600b77c9435313b632f2) ) + ROM_LOAD("1988_newcrest_230_1.03", 0x8000, 0x8000, CRC(30d81c4e) SHA1(ab3a9b58db26d87d3e66600b77c9435313b632f2) ) ROM_END @@ -342,6 +347,7 @@ ROM_END // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS SYST( 1989, sdtor, 0, 0, dominator, dominator, dominator_state, empty_init, "CXG Systems / Newcrest Technology", "Sphinx Dominator (v2.05)", MACHINE_SUPPORTS_SAVE ) +SYST( 1989, sdtora, sdtor, 0, dominator, dominator, dominator_state, empty_init, "CXG Systems / Newcrest Technology", "Sphinx Dominator (v2.04)", MACHINE_SUPPORTS_SAVE ) SYST( 1988, sgalaxy, 0, 0, galaxy, galaxy, dominator_state, empty_init, "CXG Systems / Newcrest Technology", "Sphinx Galaxy (v2.03)", MACHINE_SUPPORTS_SAVE ) SYST( 1988, sgalaxya, sgalaxy, 0, galaxy, galaxy, dominator_state, empty_init, "CXG Systems / Newcrest Technology", "Sphinx Galaxy (v2.00)", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/cxg/junior.cpp b/src/mame/cxg/junior.cpp new file mode 100644 index 0000000000000..d28706a7ebf82 --- /dev/null +++ b/src/mame/cxg/junior.cpp @@ -0,0 +1,246 @@ +// license:BSD-3-Clause +// copyright-holders:hap +// thanks-to:Sean Riddle +/******************************************************************************* + +CXG Sphinx Junior + +NOTE: Before exiting MAME, press the OFF button to turn the power off. Otherwise, +NVRAM won't save properly. + +Together with CXG Sphinx Chess Card (and not counting the 1992 rereleases of the +Sphinx Granada family), this is probably the last chess computer with Intelligent +Chess Software's involvement. + +TODO: +- verify sound pitch, it's twice higher on a Fidelity MCC, or maybe that one + was designed for 4MHz? (on CXG Sphinx Chess Card, sound pitch matches MAME) + +Hardware notes: + +Sphinx Junior: +- PCB label: CXG 237 600-002 +- Hitachi HD614140H, 8MHz XTAL +- LCD with 4 7segs and custom segments (same as the one in CXG Pocket Chess) +- embedded non-electronic chessboard, piezo + +Fidelity Micro Chess Challenger (16 buttons): +- PCB label: CXG 249 600-001 +- rest is similar to Sphinx Junior + +Fidelity MCC 12-button version has a HD44820 MCU instead. + +HD614140HA27 MCU is used in: +- CXG Sphinx Junior +- Fidelity Chess Pal Challenger (Fidelity brand Sphinx Junior) +- Fidelity Micro Chess Challenger (16 buttons) + +*******************************************************************************/ + +#include "emu.h" + +#include "cpu/hmcs400/hmcs400.h" +#include "machine/sensorboard.h" +#include "sound/dac.h" +#include "video/pwm.h" + +#include "screen.h" +#include "speaker.h" + +// internal artwork +#include "cxg_junior.lh" + + +namespace { + +class junior_state : public driver_device +{ +public: + junior_state(const machine_config &mconfig, device_type type, const char *tag) : + driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu"), + m_board(*this, "board"), + m_lcd_pwm(*this, "lcd_pwm"), + m_dac(*this, "dac"), + m_inputs(*this, "IN.0") + { } + + void junior(machine_config &config); + + DECLARE_INPUT_CHANGED_MEMBER(on_button); + +protected: + virtual void machine_start() override ATTR_COLD; + +private: + // devices/pointers + required_device m_maincpu; + required_device m_board; + required_device m_lcd_pwm; + required_device m_dac; + required_ioport m_inputs; + + u32 m_lcd_segs = 0; + u8 m_lcd_com = 0; + + // I/O handlers + void update_lcd(); + template void lcd_segs_w(u8 data); + void control_w(u16 data); + u16 input_r(); +}; + +void junior_state::machine_start() +{ + // register for savestates + save_item(NAME(m_lcd_segs)); + save_item(NAME(m_lcd_com)); +} + + + +/******************************************************************************* + I/O +*******************************************************************************/ + +INPUT_CHANGED_MEMBER(junior_state::on_button) +{ + if (newval && m_maincpu->stop_mode()) + m_maincpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); +} + +void junior_state::update_lcd() +{ + m_lcd_pwm->write_row(0, m_lcd_com ? ~m_lcd_segs : m_lcd_segs); +} + +template +void junior_state::lcd_segs_w(u8 data) +{ + // R0x-R4x: LCD segment data, input mux + const u8 shift = N * 4 + 10; + m_lcd_segs = (m_lcd_segs & ~(0xf << shift)) | (data << shift); + update_lcd(); +} + +void junior_state::control_w(u16 data) +{ + // D0: LCD common + m_lcd_com = data & 1; + + // D4-D13: LCD segment data + m_lcd_segs = (m_lcd_segs & ~0x3ff) | (data >> 4 & 0x3ff); + update_lcd(); + + // D14: speaker out + m_dac->write(BIT(data, 14)); +} + +u16 junior_state::input_r() +{ + u16 data = 0; + + // D1: read buttons from R03-R43 + if ((m_lcd_segs >> 13 & 0x1ffff) & m_inputs->read()) + data |= 2; + + // D2: R30 (freq sel) + data |= BIT(m_lcd_segs, 23) << 2; + return data | 9; +} + + + +/******************************************************************************* + Input Ports +*******************************************************************************/ + +static INPUT_PORTS_START( junior ) + PORT_START("IN.0") + PORT_BIT(0x00001, IP_ACTIVE_HIGH, IPT_POWER_OFF) + PORT_BIT(0x00002, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_D) PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_4_PAD) PORT_NAME("D / 4 / Rook") + PORT_BIT(0x00004, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_C) PORT_CODE(KEYCODE_3) PORT_CODE(KEYCODE_3_PAD) PORT_NAME("C / 3 / Bishop") + PORT_BIT(0x00008, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_B) PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_2_PAD) PORT_NAME("B / 2 / Knight") + PORT_BIT(0x00010, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_A) PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD) PORT_NAME("A / 1 / Pawn") + PORT_BIT(0x00020, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_H) PORT_CODE(KEYCODE_8) PORT_CODE(KEYCODE_8_PAD) PORT_NAME("H / 8 / Black") + PORT_BIT(0x00040, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_G) PORT_CODE(KEYCODE_7) PORT_CODE(KEYCODE_7_PAD) PORT_NAME("G / 7 / White") + PORT_BIT(0x00080, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_F) PORT_CODE(KEYCODE_6) PORT_CODE(KEYCODE_6_PAD) PORT_NAME("F / 6 / King") + PORT_BIT(0x00100, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_E) PORT_CODE(KEYCODE_5) PORT_CODE(KEYCODE_5_PAD) PORT_NAME("E / 5 / Queen") + PORT_BIT(0x00200, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_S) PORT_NAME("Setup Position") + PORT_BIT(0x00400, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_V) PORT_NAME("Verify Position") + PORT_BIT(0x00800, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_DEL) PORT_CODE(KEYCODE_BACKSPACE) PORT_NAME("Clear Entry") + PORT_BIT(0x01000, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_ENTER_PAD) PORT_NAME("Enter") + PORT_BIT(0x02000, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_O) PORT_NAME("Sound") + PORT_BIT(0x04000, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_N) PORT_NAME("New Game") + PORT_BIT(0x08000, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_M) PORT_NAME("Move") + PORT_BIT(0x10000, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_L) PORT_NAME("Level") + + PORT_START("RESET") + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_POWER_ON) PORT_CHANGED_MEMBER(DEVICE_SELF, FUNC(junior_state::on_button), 0) +INPUT_PORTS_END + + + +/******************************************************************************* + Machine Configs +*******************************************************************************/ + +void junior_state::junior(machine_config &config) +{ + // basic machine hardware + HD614140(config, m_maincpu, 8_MHz_XTAL); + m_maincpu->nvram_enable_backup(true); + m_maincpu->stop_cb().set(m_maincpu, FUNC(hmcs400_cpu_device::nvram_set_battery)); + m_maincpu->stop_cb().append([this](int state) { if (state) m_lcd_pwm->clear(); }); + m_maincpu->write_r<0x0>().set(FUNC(junior_state::lcd_segs_w<0>)); + m_maincpu->write_r<0x1>().set(FUNC(junior_state::lcd_segs_w<1>)); + m_maincpu->write_r<0x2>().set(FUNC(junior_state::lcd_segs_w<2>)); + m_maincpu->write_r<0x3>().set(FUNC(junior_state::lcd_segs_w<3>)); + m_maincpu->write_r<0x4>().set(FUNC(junior_state::lcd_segs_w<4>)); + m_maincpu->write_d().set(FUNC(junior_state::control_w)); + m_maincpu->read_d().set(FUNC(junior_state::input_r)); + + SENSORBOARD(config, m_board).set_type(sensorboard_device::NOSENSORS); + m_board->init_cb().set(m_board, FUNC(sensorboard_device::preset_chess)); + m_board->set_nvram_enable(true); + + // video hardware + PWM_DISPLAY(config, m_lcd_pwm).set_size(1, 30); + m_lcd_pwm->set_bri_levels(0.25); + + config.set_default_layout(layout_cxg_junior); + + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_refresh_hz(60); + screen.set_size(1920/5, 914/5); + screen.set_visarea_full(); + + // sound hardware + SPEAKER(config, "speaker").front_center(); + DAC_1BIT(config, m_dac).add_route(ALL_OUTPUTS, "speaker", 0.25); +} + + + +/******************************************************************************* + ROM Definitions +*******************************************************************************/ + +ROM_START( sjunior ) + ROM_REGION( 0x2000, "maincpu", 0 ) + ROM_LOAD("1988_newcrest_614140ha27", 0x0000, 0x2000, CRC(9eb77d94) SHA1(84306ee39986847f9ae82a1117dc6fb8bd309bab) ) + + ROM_REGION( 57384, "screen", 0 ) + ROM_LOAD("sjunior.svg", 0, 57384, CRC(1b3d450f) SHA1(1b55bb2fe23d2e719258be196663ea117158cd35) ) +ROM_END + +} // anonymous namespace + + + +/******************************************************************************* + Drivers +*******************************************************************************/ + +// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS +SYST( 1988, sjunior, 0, 0, junior, junior, junior_state, empty_init, "CXG Systems / Newcrest Technology / Intelligent Chess Software", "Sphinx Junior", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/cxg/royal.cpp b/src/mame/cxg/royal.cpp index c806057ab99f7..d69d900aeb8b4 100644 --- a/src/mame/cxg/royal.cpp +++ b/src/mame/cxg/royal.cpp @@ -13,7 +13,7 @@ user's turn to move, this is warned about in the manual. - if/when MAME supports an exit callback, hook up power-off switch/button to that Hardware notes: -- HD614042S, 4MHz XTAL +- Hitachi HD614042S, 4MHz XTAL - optional LCD panel(s), see below - chessboard buttons, 16+4 LEDs, piezo diff --git a/src/mame/dai/dai.cpp b/src/mame/dai/dai.cpp index 2836a13748307..1a328b774ce0e 100644 --- a/src/mame/dai/dai.cpp +++ b/src/mame/dai/dai.cpp @@ -158,7 +158,7 @@ static INPUT_PORTS_START (dai) PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Shift") PORT_CODE(KEYCODE_LSHIFT) PORT_CODE(KEYCODE_RSHIFT) PORT_CHAR(UCHAR_SHIFT_1) PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_UNUSED) PORT_START("IN8") /* [8] */ - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_CUSTOM) PORT_VBLANK("screen") + PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_CUSTOM) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_PLAYER(1) PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_PLAYER(2) PORT_BIT(0xcb, IP_ACTIVE_HIGH, IPT_UNUSED) diff --git a/src/mame/dataeast/actfancr.cpp b/src/mame/dataeast/actfancr.cpp index d7134394ba940..b5c4227cb7473 100644 --- a/src/mame/dataeast/actfancr.cpp +++ b/src/mame/dataeast/actfancr.cpp @@ -234,7 +234,7 @@ static INPUT_PORTS_START( actfancr ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("DSW1") PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2") diff --git a/src/mame/dataeast/astrof.cpp b/src/mame/dataeast/astrof.cpp index 4c68647786fc1..30aabb13b00db 100644 --- a/src/mame/dataeast/astrof.cpp +++ b/src/mame/dataeast/astrof.cpp @@ -660,7 +660,7 @@ static INPUT_PORTS_START( astrof ) PORT_DIPNAME( 0x40, 0x00, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW:7") PORT_DIPSETTING( 0x00, DEF_STR( Easy ) ) PORT_DIPSETTING( 0x40, DEF_STR( Hard ) ) - PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("CAB") PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW:8") @@ -715,7 +715,7 @@ static INPUT_PORTS_START( abattle ) PORT_DIPNAME( 0x40, 0x00, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW:7") PORT_DIPSETTING( 0x00, DEF_STR( Easy ) ) PORT_DIPSETTING( 0x40, DEF_STR( Hard ) ) - PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("CAB") PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW:8") @@ -767,7 +767,7 @@ static INPUT_PORTS_START( spfghmk2 ) PORT_DIPSETTING( 0x20, "2500" ) PORT_DIPSETTING( 0x30, "3000" ) PORT_DIPUNUSED_DIPLOC( 0x40, 0x00, "SW:7" ) - PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("CAB") PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW:8") @@ -822,7 +822,7 @@ static INPUT_PORTS_START( spfghmk22 ) PORT_DIPNAME( 0x40, 0x00, "Kill Saucer after Invaders" ) PORT_DIPLOCATION("SW:7") PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x40, DEF_STR( Yes ) ) /* if saucer lands, game is over */ - PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("CAB") PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW:8") @@ -881,7 +881,7 @@ static INPUT_PORTS_START( tomahawk ) PORT_DIPNAME( 0x40, 0x00, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW:7") PORT_DIPSETTING( 0x00, DEF_STR( Easy ) ) PORT_DIPSETTING( 0x40, DEF_STR( Hard ) ) - PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("CAB") PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW:8") diff --git a/src/mame/dataeast/backfire.cpp b/src/mame/dataeast/backfire.cpp index 39c3012dcc8d8..f48ddfd4e792a 100644 --- a/src/mame/dataeast/backfire.cpp +++ b/src/mame/dataeast/backfire.cpp @@ -242,9 +242,9 @@ static INPUT_PORTS_START( backfire ) PORT_BIT( 0x00020000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x00040000, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_SERVICE_NO_TOGGLE( 0x00080000, IP_ACTIVE_LOW ) - PORT_BIT( 0x00100000, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("lscreen") + PORT_BIT( 0x00100000, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("lscreen", FUNC(screen_device::vblank)) PORT_BIT( 0x00200000, IP_ACTIVE_LOW, IPT_UNUSED ) /* 'soundmask' */ - PORT_BIT( 0x00400000, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("lscreen") + PORT_BIT( 0x00400000, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("lscreen", FUNC(screen_device::vblank)) PORT_BIT( 0x00800000, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x01000000, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", FUNC(eeprom_serial_93cxx_device::do_read)) PORT_BIT( 0x02000000, IP_ACTIVE_LOW, IPT_UNKNOWN ) diff --git a/src/mame/dataeast/boogwing.cpp b/src/mame/dataeast/boogwing.cpp index 5b1eec6a28e97..55b6c74901719 100644 --- a/src/mame/dataeast/boogwing.cpp +++ b/src/mame/dataeast/boogwing.cpp @@ -178,7 +178,7 @@ static INPUT_PORTS_START( boogwing ) PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("DSW") PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2,3") diff --git a/src/mame/dataeast/brkthru.cpp b/src/mame/dataeast/brkthru.cpp index 6f0e97631de55..7ee85f602b1c5 100644 --- a/src/mame/dataeast/brkthru.cpp +++ b/src/mame/dataeast/brkthru.cpp @@ -547,7 +547,7 @@ static INPUT_PORTS_START( brkthru ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") // used only by the self test + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // used only by the self test PORT_START("DSW1") PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2") @@ -1046,8 +1046,7 @@ ROM_START( darwin ) ROM_LOAD( "darw_11.rom", 0x08000, 0x8000, CRC(548ce2d1) SHA1(3b1757c70346ab4ee19ec85e7ae5137f8ccf446f) ) ROM_LOAD( "darw_12.rom", 0x10000, 0x8000, CRC(faba5fef) SHA1(848da4d4888f0218b737f1dc9b62944f68349a43) ) - // A PCB has been found with the first PROM substituted with a TBP28S42 (4b56a744) SHA1(5fdc336d90c8a289c146c66f241dd217fc11bf35), see brkthrut ROM loading for how they did it. - // With that in mind, there's a one byte difference at 0x55 (0xf0 instead of 0x70). It is unknown if it's bitrot or if it's intended. + // A PCB has been found with the first PROM substituted with a TBP28S42, see brkthrut ROM loading for how they did it. ROM_REGION( 0x0200, "proms", 0 ) ROM_LOAD( "df.12", 0x0000, 0x0100, CRC(89b952ef) SHA1(77dc4020a2e25f81fae1182d58993cf09d13af00) ) // red and green component ROM_LOAD( "df.13", 0x0100, 0x0100, CRC(d595e91d) SHA1(5e9793f6602455c79afdc855cd13183a7f48ab1e) ) // blue component diff --git a/src/mame/dataeast/btime.cpp b/src/mame/dataeast/btime.cpp index 980caa91eaaab..12d98ff15638b 100644 --- a/src/mame/dataeast/btime.cpp +++ b/src/mame/dataeast/btime.cpp @@ -437,7 +437,7 @@ static INPUT_PORTS_START( btime ) // PORT_DIPNAME( 0x80, 0x00, "Screen" ) PORT_DIPLOCATION("SW1:8") // Manual states this is Screen Invert // PORT_DIPSETTING( 0x00, "Normal" ) // PORT_DIPSETTING( 0x80, "Invert" ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") // Schematics show this is connected to DIP SW2.8 + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // Schematics show this is connected to DIP SW2.8 PORT_START("DSW2") // At location 14D on sound PCB PORT_DIPNAME( 0x01, 0x01, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1") @@ -524,7 +524,7 @@ static INPUT_PORTS_START( cookrace ) PORT_DIPNAME( 0x40, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:7") PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) PORT_DIPSETTING( 0x40, DEF_STR( Cocktail ) ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") // Actually DIP SW2.8 + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // Actually DIP SW2.8 PORT_START("DSW2") PORT_DIPNAME( 0x01, 0x01, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1") @@ -671,7 +671,7 @@ static INPUT_PORTS_START( lnc ) // PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:8") // PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) // PORT_DIPSETTING( 0x80, DEF_STR( Cocktail ) ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") // Actually DIP SW2.8 + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // Actually DIP SW2.8 PORT_START("DSW2") PORT_DIPNAME( 0x01, 0x01, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1") @@ -730,7 +730,7 @@ static INPUT_PORTS_START( wtennis ) PORT_DIPNAME( 0x40, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:7") PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) PORT_DIPSETTING( 0x40, DEF_STR( Cocktail ) ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") // Actually DIP SW2.8 + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // Actually DIP SW2.8 PORT_START("DSW2") PORT_DIPNAME( 0x01, 0x01, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1") @@ -796,7 +796,7 @@ static INPUT_PORTS_START( mmonkey ) // PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:8") // PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) // PORT_DIPSETTING( 0x80, DEF_STR( Cocktail ) ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") // Actually DIP SW2.8 + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // Actually DIP SW2.8 PORT_START("DSW2") PORT_DIPNAME( 0x01, 0x01, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1") @@ -871,7 +871,7 @@ static INPUT_PORTS_START( bnj ) // PORT_DIPNAME( 0x80, 0x00, "Control Panel" ) PORT_DIPLOCATION("SW1:8") // PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) // PORT_DIPSETTING( 0x80, DEF_STR( Cocktail ) ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") // Schematics show this is connected to DIP SW2.8 + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // Schematics show this is connected to DIP SW2.8 PORT_START("DSW2") // At location 7D PORT_DIPNAME( 0x01, 0x01, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1") @@ -981,7 +981,7 @@ static INPUT_PORTS_START( disco ) PORT_START("VBLANK") PORT_BIT( 0x7f, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) INPUT_PORTS_END static INPUT_PORTS_START( protenn ) @@ -1051,7 +1051,7 @@ static INPUT_PORTS_START( protenn ) PORT_START("VBLANK") PORT_BIT( 0x7f, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) INPUT_PORTS_END static INPUT_PORTS_START( sdtennis ) @@ -1104,7 +1104,7 @@ static INPUT_PORTS_START( sdtennis ) PORT_DIPNAME( 0x40, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:7") PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) PORT_DIPSETTING( 0x40, DEF_STR( Cocktail ) ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") // Actually DIP SW2.8 + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // Actually DIP SW2.8 PORT_START("DSW2") PORT_DIPNAME( 0x01, 0x01, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1") diff --git a/src/mame/dataeast/bwing.cpp b/src/mame/dataeast/bwing.cpp index 4f4f327df6c20..e8262e3594770 100644 --- a/src/mame/dataeast/bwing.cpp +++ b/src/mame/dataeast/bwing.cpp @@ -20,8 +20,6 @@ Known issues: - Zaviga's DIPs are incomplete. (manual missing) -- "RGB dip-switch" looks kludgy at best; - *****************************************************************************/ @@ -44,8 +42,8 @@ namespace { class bwing_state : public driver_device { public: - bwing_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag), + bwing_state(const machine_config &mconfig, device_type type, const char *tag) : + driver_device(mconfig, type, tag), m_maincpu(*this, "maincpu"), m_subcpu(*this, "subcpu"), m_audiocpu(*this, "audiocpu"), @@ -58,10 +56,12 @@ class bwing_state : public driver_device m_fgscrollram(*this, "fgscrollram"), m_bgscrollram(*this, "bgscrollram"), m_gfxram(*this, "gfxram", 0x6000, ENDIANNESS_BIG), - m_vramview(*this, "vramview") { } + m_vramview(*this, "vramview") + { } void init_bwing(); void bwing(machine_config &config); + DECLARE_INPUT_CHANGED_MEMBER(coin_inserted); DECLARE_INPUT_CHANGED_MEMBER(tilt_pressed); @@ -128,6 +128,9 @@ class bwing_state : public driver_device }; +//**************************************************************************** +// Video Hardware + void bwing_state::videoram_w(offs_t offset, uint8_t data) { m_videoram[offset] = data; @@ -165,52 +168,33 @@ void bwing_state::scrollreg_w(offs_t offset, uint8_t data) switch (offset) { - case 6: m_palatch = data; break; // one of the palette components is latched through I/O(yike) + case 6: + // one of the palette components is latched through I/O(yike) + m_palatch = data; + break; case 7: m_mapmask = data; m_vramview.select(data >> 6); - break; + break; } } void bwing_state::paletteram_w(offs_t offset, uint8_t data) { - static const float rgb[4][3] = { - {0.85f, 0.95f, 1.00f}, - {0.90f, 1.00f, 1.00f}, - {0.80f, 1.00f, 1.00f}, - {0.75f, 0.90f, 1.10f} - }; - m_paletteram[offset] = data; - int r = ~data & 7; - int g = ~(data >> 4) & 7; - int b = ~m_palatch & 7; - - r = ((r << 5) + (r << 2) + (r >> 1)); - g = ((g << 5) + (g << 2) + (g >> 1)); - b = ((b << 5) + (b << 2) + (b >> 1)); - - int i; - - if ((i = ioport("EXTRA")->read()) < 4) - { - r = (float)r * rgb[i][0]; - g = (float)g * rgb[i][1]; - b = (float)b * rgb[i][2]; - if (r > 0xff) r = 0xff; - if (g > 0xff) g = 0xff; - if (b > 0xff) b = 0xff; - } + int r = pal3bit(~data & 7); + int g = pal3bit(~(data >> 4) & 7); + int b = pal3bit(~m_palatch & 7); m_palette->set_pen_color(offset, rgb_t(r, g, b)); } + //**************************************************************************** -// Initializations +// Video Initialization TILE_GET_INFO_MEMBER(bwing_state::get_fgtileinfo) { @@ -246,8 +230,9 @@ void bwing_state::video_start() m_sreg[i] = 0; } + //**************************************************************************** -// Realtime +// Screen Update void bwing_state::draw_sprites(bitmap_ind16 &bmp, const rectangle &clip, uint8_t *ram, int pri) { @@ -282,9 +267,9 @@ void bwing_state::draw_sprites(bitmap_ind16 &bmp, const rectangle &clip, uint8_t // single/double if (!(attrib & 0x10)) - gfx->transpen(bmp, clip, code, color, fx, fy, x, y, 0); + gfx->transpen(bmp, clip, code, color, fx, fy, x, y, 0); else - gfx->zoom_transpen(bmp, clip, code, color, fx, fy, x, y, 1 << 16, 2 << 16, 0); + gfx->zoom_transpen(bmp, clip, code, color, fx, fy, x, y, 1 << 16, 2 << 16, 0); } } @@ -353,6 +338,7 @@ INTERRUPT_GEN_MEMBER(bwing_state::p3_interrupt) device.execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE); } + //**************************************************************************** // Memory and I/O Handlers @@ -400,7 +386,7 @@ void bwing_state::p1_ctrl_w(offs_t offset, uint8_t data) m_soundlatch->write(data); m_audiocpu->set_input_line(DECO16_IRQ_LINE, HOLD_LINE); // SNDREQ } - break; + break; // BANKSEL(supposed to bank-switch CPU0 4000-7fff(may also 8000-bfff) 00=bank 0, 80=bank 1, unused) case 6: break; @@ -425,6 +411,7 @@ void bwing_state::p2_ctrl_w(offs_t offset, uint8_t data) } } + //**************************************************************************** // CPU Memory Maps @@ -436,7 +423,7 @@ void bwing_state::p1_map(address_map &map) map(0x1000, 0x13ff).ram().w(FUNC(bwing_state::videoram_w)).share(m_videoram); map(0x1400, 0x17ff).ram(); map(0x1800, 0x19ff).ram().share(m_spriteram); - map(0x1a00, 0x1aff).ram().w(FUNC(bwing_state::paletteram_w)).share("paletteram"); + map(0x1a00, 0x1a3f).ram().w(FUNC(bwing_state::paletteram_w)).share("paletteram"); map(0x1b00, 0x1b00).portr("DSW0"); map(0x1b01, 0x1b01).portr("DSW1"); map(0x1b02, 0x1b02).portr("IN0"); @@ -484,6 +471,7 @@ void bwing_state::p3_io_map(address_map &map) map(0x00, 0x00).portr("VBLANK").w(FUNC(bwing_state::p3_u8f_w)); } + //**************************************************************************** // I/O Port Maps @@ -575,23 +563,16 @@ static INPUT_PORTS_START( bwing ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("IN3") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_TILT ) PORT_CHANGED_MEMBER(DEVICE_SELF, FUNC(bwing_state::tilt_pressed), 0) PORT_START("VBLANK") - PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") - - PORT_START("EXTRA") // a matter of taste - PORT_DIPNAME( 0x07, 0x00, "RGB" ) - PORT_DIPSETTING( 0x00, "Default" ) - PORT_DIPSETTING( 0x01, "More Red" ) - PORT_DIPSETTING( 0x02, "More Green" ) - PORT_DIPSETTING( 0x03, "More Blue" ) - PORT_DIPSETTING( 0x04, "Max" ) + PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) INPUT_PORTS_END + //**************************************************************************** // Graphics Layouts @@ -637,6 +618,7 @@ static GFXDECODE_START( gfx_bwing ) GFXDECODE_RAM( "gfxram", 0x1000, ram_tilelayout, 0x30, 2 ) // background tiles GFXDECODE_END + //**************************************************************************** // Hardware Definitions @@ -669,45 +651,42 @@ void bwing_state::device_post_load() void bwing_state::bwing(machine_config &config) { // basic machine hardware - MC6809E(config, m_maincpu, 2'000'000); + MC6809E(config, m_maincpu, 24_MHz_XTAL / 16); // MC68A09E m_maincpu->set_addrmap(AS_PROGRAM, &bwing_state::p1_map); - MC6809E(config, m_subcpu, 2'000'000); + MC6809E(config, m_subcpu, 24_MHz_XTAL / 16); // MC68A09E m_subcpu->set_addrmap(AS_PROGRAM, &bwing_state::p2_map); - DECO16(config, m_audiocpu, 2'000'000); + DECO16(config, m_audiocpu, 24_MHz_XTAL / 16); m_audiocpu->set_addrmap(AS_PROGRAM, &bwing_state::p3_map); m_audiocpu->set_addrmap(AS_IO, &bwing_state::p3_io_map); m_audiocpu->set_periodic_int(FUNC(bwing_state::p3_interrupt), attotime::from_hz(1'000)); - config.set_maximum_quantum(attotime::from_hz(18'000)); // high enough? + config.set_maximum_quantum(attotime::from_hz(18'000)); // high enough? // video hardware screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_video_attributes(VIDEO_UPDATE_BEFORE_VBLANK); - screen.set_refresh_hz(60); - screen.set_vblank_time(ATTOSECONDS_IN_USEC(600)); // must be long enough for polling - screen.set_size(32*8, 32*8); - screen.set_visarea(0*8, 32*8-1, 1*8, 31*8-1); + screen.set_raw(24_MHz_XTAL / 4, 384, 0, 256, 272, 8, 248); // verified from schematics screen.set_screen_update(FUNC(bwing_state::screen_update)); screen.set_palette(m_palette); GFXDECODE(config, m_gfxdecode, m_palette, gfx_bwing); PALETTE(config, m_palette).set_entries(64); - // sound hardware SPEAKER(config, "speaker").front_center(); GENERIC_LATCH_8(config, m_soundlatch); - AY8912(config, "ay1", XTAL(24'000'000) / 2 / 8).add_route(ALL_OUTPUTS, "speaker", 0.5); + AY8912(config, "ay1", 24_MHz_XTAL / 16).add_route(ALL_OUTPUTS, "speaker", 0.5); - AY8912(config, "ay2", XTAL(24'000'000) / 2 / 8).add_route(ALL_OUTPUTS, "speaker", 0.5); + AY8912(config, "ay2", 24_MHz_XTAL / 16).add_route(ALL_OUTPUTS, "speaker", 0.5); - DAC08(config, "dac", 0).add_route(ALL_OUTPUTS, "speaker", 0.1); + DAC08(config, "dac").add_route(ALL_OUTPUTS, "speaker", 0.1); } + //**************************************************************************** // ROM Maps @@ -845,8 +824,9 @@ ROM_START( zavigaj ) ROM_LOAD( "as13.1h", 0x08000, 0x04000, CRC(15d0922b) SHA1(b8d715a9e610531472d516c19f6035adbce93c84) ) ROM_END + //**************************************************************************** -// Initializations +// Driver Initialization void bwing_state::init_bwing() { @@ -864,6 +844,7 @@ void bwing_state::init_bwing() } // anonymous namespace + //**************************************************************************** // Game Entries diff --git a/src/mame/dataeast/cbuster.cpp b/src/mame/dataeast/cbuster.cpp index c491be33dc012..d17afff387541 100644 --- a/src/mame/dataeast/cbuster.cpp +++ b/src/mame/dataeast/cbuster.cpp @@ -300,7 +300,7 @@ static INPUT_PORTS_START( twocrude ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 ) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) diff --git a/src/mame/dataeast/chanbara.cpp b/src/mame/dataeast/chanbara.cpp index e297ec8cebb5f..b0fc595987cb5 100644 --- a/src/mame/dataeast/chanbara.cpp +++ b/src/mame/dataeast/chanbara.cpp @@ -292,7 +292,7 @@ static INPUT_PORTS_START( chanbara ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE1 ) // same coinage as COIN1 - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("P1") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN ) PORT_4WAY diff --git a/src/mame/dataeast/cninja.cpp b/src/mame/dataeast/cninja.cpp index ab0963faea5cf..4fe7e4546a926 100644 --- a/src/mame/dataeast/cninja.cpp +++ b/src/mame/dataeast/cninja.cpp @@ -421,7 +421,7 @@ static INPUT_PORTS_START( edrandy ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("DSW") DATAEAST_COINAGE @@ -475,7 +475,7 @@ static INPUT_PORTS_START( cninja ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("DSW") /* Dip switch bank 1 */ @@ -544,7 +544,7 @@ static INPUT_PORTS_START( robocop2 ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("DSW") /* Dip switch bank 1 */ @@ -612,7 +612,7 @@ static INPUT_PORTS_START( mutantf ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("DSW") /* Dip switch bank 1 */ diff --git a/src/mame/dataeast/cntsteer.cpp b/src/mame/dataeast/cntsteer.cpp index cfe4079d4a3fd..dc635297d61c9 100644 --- a/src/mame/dataeast/cntsteer.cpp +++ b/src/mame/dataeast/cntsteer.cpp @@ -733,7 +733,7 @@ static INPUT_PORTS_START( zerotrgt ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL PORT_BIT( 0x60, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("P1") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY @@ -806,7 +806,7 @@ static INPUT_PORTS_START( cntsteer ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("DSW0") PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2") diff --git a/src/mame/dataeast/compgolf.cpp b/src/mame/dataeast/compgolf.cpp index ad9c382903615..9d94768dff16f 100644 --- a/src/mame/dataeast/compgolf.cpp +++ b/src/mame/dataeast/compgolf.cpp @@ -285,7 +285,7 @@ static INPUT_PORTS_START( compgolf ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("DSW1") PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) ) diff --git a/src/mame/dataeast/darkseal.cpp b/src/mame/dataeast/darkseal.cpp index 9f1f2067aeb1c..7d14203012f87 100644 --- a/src/mame/dataeast/darkseal.cpp +++ b/src/mame/dataeast/darkseal.cpp @@ -226,7 +226,7 @@ static INPUT_PORTS_START( darkseal ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 ) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) diff --git a/src/mame/dataeast/dassault.cpp b/src/mame/dataeast/dassault.cpp index 6a85268a20acb..dd2b89a4f5655 100644 --- a/src/mame/dataeast/dassault.cpp +++ b/src/mame/dataeast/dassault.cpp @@ -545,7 +545,7 @@ static INPUT_PORTS_START( thndzone ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) // Adds 4 credits/coins ! - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) @@ -633,7 +633,7 @@ static INPUT_PORTS_START( thndzone ) PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_COIN4 ) PORT_START("VBLANK1") // Cpu 1 vblank - PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) INPUT_PORTS_END static INPUT_PORTS_START( thndzone4 ) // Coin-B selectable values work for this set diff --git a/src/mame/dataeast/dblewing.cpp b/src/mame/dataeast/dblewing.cpp index 00e0c98101a58..6dcc0cb4653a7 100644 --- a/src/mame/dataeast/dblewing.cpp +++ b/src/mame/dataeast/dblewing.cpp @@ -279,7 +279,7 @@ static INPUT_PORTS_START( dblewing ) PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("DSW") /* 16bit - These values are for Dip Switch #1 */ diff --git a/src/mame/dataeast/dec0.cpp b/src/mame/dataeast/dec0.cpp index d01036dc45925..2f5c74bb7f14a 100644 --- a/src/mame/dataeast/dec0.cpp +++ b/src/mame/dataeast/dec0.cpp @@ -370,7 +370,7 @@ DE-0323-4 #include "dec0.h" #include "cpu/m68000/m68000.h" -#include "cpu/m6502/m6502.h" +#include "cpu/m6502/r65c02.h" #include "cpu/z80/z80.h" #include "cpu/m6805/m68705.h" #include "machine/input_merger.h" @@ -428,7 +428,7 @@ void dec0_state::dec0_control_w(offs_t offset, uint16_t data, uint16_t mem_mask) } } -void dec0_automat_state::automat_control_w(offs_t offset, uint16_t data, uint16_t mem_mask) +void automat_state::automat_control_w(offs_t offset, uint16_t data, uint16_t mem_mask) { switch (offset << 1) { @@ -814,7 +814,7 @@ void dec0_state::midres_s_map(address_map &map) -void dec0_automat_state::machine_start() +void automat_state::machine_start() { m_adpcm_toggle[0] = false; m_adpcm_toggle[1] = false; @@ -827,13 +827,13 @@ void dec0_automat_state::machine_start() /* swizzle the palette writes around so we can use the same gfx plane ordering as the originals */ -uint16_t dec0_automat_state::automat_palette_r(offs_t offset) +uint16_t automat_state::automat_palette_r(offs_t offset) { offset ^=0xf; return m_paletteram[offset]; } -void dec0_automat_state::automat_palette_w(offs_t offset, uint16_t data, uint16_t mem_mask) +void automat_state::automat_palette_w(offs_t offset, uint16_t data, uint16_t mem_mask) { offset ^=0xf; m_palette->write16(offset, data, mem_mask); @@ -841,7 +841,7 @@ void dec0_automat_state::automat_palette_w(offs_t offset, uint16_t data, uint16_ -void dec0_automat_state::automat_map(address_map &map) +void automat_state::automat_map(address_map &map) { map(0x000000, 0x05ffff).rom(); @@ -866,14 +866,14 @@ void dec0_automat_state::automat_map(address_map &map) map(0x300000, 0x300001).portr("AN0"); map(0x300008, 0x300009).portr("AN1"); - map(0x30c000, 0x30c00b).r(FUNC(dec0_automat_state::dec0_controls_r)); - map(0x30c000, 0x30c01f).w(FUNC(dec0_automat_state::automat_control_w)); /* Priority, sound, etc. */ - map(0x310000, 0x3107ff).rw(FUNC(dec0_automat_state::automat_palette_r), FUNC(dec0_automat_state::automat_palette_w)).share("palette"); + map(0x30c000, 0x30c00b).r(FUNC(automat_state::dec0_controls_r)); + map(0x30c000, 0x30c01f).w(FUNC(automat_state::automat_control_w)); /* Priority, sound, etc. */ + map(0x310000, 0x3107ff).rw(FUNC(automat_state::automat_palette_r), FUNC(automat_state::automat_palette_w)).share("palette"); map(0x314000, 0x3147ff).ram(); // video regs are moved to here.. - map(0x400000, 0x400007).w(FUNC(dec0_automat_state::automat_scroll_w)); - map(0x400008, 0x400009).w(FUNC(dec0_automat_state::priority_w)); + map(0x400000, 0x400007).w(FUNC(automat_state::automat_scroll_w)); + map(0x400008, 0x400009).w(FUNC(automat_state::priority_w)); map(0x500000, 0x500001).nopw(); // ??? @@ -881,7 +881,7 @@ void dec0_automat_state::automat_map(address_map &map) map(0xffc000, 0xffcfff).ram().share("spriteram"); /* Sprites */ } -void dec0_automat_state::secretab_map(address_map &map) +void automat_state::secretab_map(address_map &map) { map(0x000000, 0x05ffff).rom(); // map(0x240000, 0x240007).w(m_tilegen[1], FUNC(deco_bac06_device::pf_control_0_w)); @@ -896,7 +896,7 @@ void dec0_automat_state::secretab_map(address_map &map) // map(0x340000, 0x34007f).rw(m_tilegen[0], FUNC(deco_bac06_device::pf_colscroll_r), FUNC(deco_bac06_device::pf_colscroll_w)); // map(0x340400, 0x3407ff).rw(m_tilegen[0], FUNC(deco_bac06_device::pf_rowscroll_r), FUNC(deco_bac06_device::pf_rowscroll_w)); - map(0x314008, 0x31400f).r(FUNC(dec0_automat_state::slyspy_controls_r)); + map(0x314008, 0x31400f).r(FUNC(automat_state::slyspy_controls_r)); map(0x314001, 0x314001).w(m_soundlatch, FUNC(generic_latch_8_device::write)); map(0x300000, 0x300007).ram(); @@ -905,12 +905,12 @@ void dec0_automat_state::secretab_map(address_map &map) map(0x300c00, 0x300fff).ram(); map(0x301000, 0x3017ff).rw(m_tilegen[2], FUNC(deco_bac06_device::pf_data_r), FUNC(deco_bac06_device::pf_data_w)); map(0x301800, 0x307fff).ram().share("ram"); /* Sly Spy main ram */ - map(0x310000, 0x3107ff).rw(FUNC(dec0_automat_state::automat_palette_r), FUNC(dec0_automat_state::automat_palette_w)).share("palette"); + map(0x310000, 0x3107ff).rw(FUNC(automat_state::automat_palette_r), FUNC(automat_state::automat_palette_w)).share("palette"); map(0xb08000, 0xb08fff).ram().share("spriteram"); /* Sprites */ } -void dec0_automat_state::automat_s_map(address_map &map) +void automat_state::automat_s_map(address_map &map) { map(0x0000, 0x7fff).rom(); map(0x8000, 0xbfff).bankr("soundbank"); @@ -919,11 +919,11 @@ void dec0_automat_state::automat_s_map(address_map &map) map(0xd000, 0xd001).rw("2203b", FUNC(ym2203_device::read), FUNC(ym2203_device::write)); map(0xd800, 0xd800).r(m_soundlatch, FUNC(generic_latch_8_device::read)); map(0xe000, 0xe000).w(m_adpcm_select[1], FUNC(ls157_device::ba_w)); - map(0xe800, 0xe800).w(FUNC(dec0_automat_state::sound_bankswitch_w)); + map(0xe800, 0xe800).w(FUNC(automat_state::sound_bankswitch_w)); map(0xf000, 0xf000).w(m_adpcm_select[0], FUNC(ls157_device::ba_w)); } -void dec0_automat_state::secretab_s_map(address_map &map) +void automat_state::secretab_s_map(address_map &map) { map(0x0000, 0x7fff).rom(); map(0x8000, 0xbfff).bankr("soundbank"); @@ -932,7 +932,7 @@ void dec0_automat_state::secretab_s_map(address_map &map) map(0xd000, 0xd001).rw("ym3812", FUNC(ym3812_device::read), FUNC(ym3812_device::write)); map(0xd800, 0xd800).r(m_soundlatch, FUNC(generic_latch_8_device::read)); map(0xe000, 0xe000).w(m_adpcm_select[1], FUNC(ls157_device::ba_w)); - map(0xe800, 0xe800).w(FUNC(dec0_automat_state::sound_bankswitch_w)); + map(0xe800, 0xe800).w(FUNC(automat_state::sound_bankswitch_w)); map(0xf000, 0xf000).w(m_adpcm_select[0], FUNC(ls157_device::ba_w)); } @@ -965,7 +965,7 @@ static INPUT_PORTS_START( dec0 ) PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) INPUT_PORTS_END static INPUT_PORTS_START( dec1 ) @@ -991,7 +991,7 @@ static INPUT_PORTS_START( dec1 ) PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -1448,7 +1448,7 @@ static INPUT_PORTS_START( ffantasybl ) PORT_DIPSETTING( 0x0000, DEF_STR( None ) ) // 0 Dot less PORT_START("VBLANK") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_MODIFY("SYSTEM") PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // Game does not want vblank here @@ -1624,7 +1624,7 @@ static INPUT_PORTS_START( bouldash ) // PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START2 ) PORT_MODIFY("SYSTEM") - PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") /* extremely slow palette fades with ACTIVE_HIGH */ + PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) /* extremely slow palette fades with ACTIVE_HIGH */ PORT_START("DSW") /* Different Coinage. Just a few combinations from manual, the rest was figured out */ @@ -1772,14 +1772,17 @@ static GFXDECODE_START( gfx_secretab ) GFXDECODE_ENTRY( "tiles2", 0, automat_tilelayout2, 0x300, 0x10 ) GFXDECODE_END -/******************************************************************************/ - +/******************************************************************************/ // DECO video CRTC, pixel clock is unverified (actually 24MHz/4?) -void dec0_state::set_screen_raw_params_data_east(machine_config &config) +void dec0_state::set_screen_raw_params(machine_config &config) { - m_screen->set_raw(XTAL(12'000'000)/2,384,0,256,272,8,248); +// m_screen->set_refresh_hz(57.41); +// m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(529)); / 57.41 Hz, 529us Vblank +// m_screen->set_size(32*8, 32*8); +// m_screen->set_visarea(0*8, 32*8-1, 1*8, 31*8-1); + m_screen->set_raw(XTAL(12'000'000) / 2, 384, 0, 256, 272, 8, 248); } void dec0_state::dec0_base(machine_config &config) @@ -1788,12 +1791,7 @@ void dec0_state::dec0_base(machine_config &config) BUFFERED_SPRITERAM16(config, m_spriteram); SCREEN(config, m_screen, SCREEN_TYPE_RASTER); - set_screen_raw_params_data_east(config); - //m_screen->set_refresh_hz(57.41); - //m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(529)); /* 57.41 Hz, 529us Vblank */ - //m_screen->set_size(32*8, 32*8); - //m_screen->set_visarea(0*8, 32*8-1, 1*8, 31*8-1); - //screen update callback differs per game + set_screen_raw_params(config); m_screen->set_palette(m_palette); GFXDECODE(config, m_gfxdecode, m_palette, gfx_dec0); @@ -1826,7 +1824,7 @@ void dec0_state::dec0(machine_config &config) m_maincpu->set_addrmap(AS_PROGRAM, &dec0_state::dec0_map); m_maincpu->set_vblank_int("screen", FUNC(dec0_state::irq6_line_assert)); /* VBL */ - M6502(config, m_audiocpu, XTAL(12'000'000) / 8); + R65C02(config, m_audiocpu, XTAL(12'000'000) / 8); m_audiocpu->set_addrmap(AS_PROGRAM, &dec0_state::dec0_s_map); input_merger_device &audio_irq(INPUT_MERGER_ANY_HIGH(config, "audio_irq")); @@ -1886,7 +1884,7 @@ void dec0_state::dec1(machine_config &config) } -void dec0_automat_state::sound_bankswitch_w(uint8_t data) +void automat_state::sound_bankswitch_w(uint8_t data) { m_msm[0]->reset_w(BIT(data, 3)); m_msm[1]->reset_w(BIT(data, 4)); @@ -1894,7 +1892,7 @@ void dec0_automat_state::sound_bankswitch_w(uint8_t data) m_soundbank->set_entry(data & 7); } -void dec0_automat_state::msm1_vclk_cb(int state) +void automat_state::msm1_vclk_cb(int state) { if (!state) return; @@ -1904,7 +1902,7 @@ void dec0_automat_state::msm1_vclk_cb(int state) m_audiocpu->set_input_line(INPUT_LINE_NMI, m_adpcm_toggle[0]); } -void dec0_automat_state::msm2_vclk_cb(int state) +void automat_state::msm2_vclk_cb(int state) { if (!state) return; @@ -1914,26 +1912,24 @@ void dec0_automat_state::msm2_vclk_cb(int state) } -void dec0_automat_state::automat(machine_config &config) +void automat_state::automat(machine_config &config) { /* basic machine hardware */ - M68000(config, m_maincpu, 10000000); - m_maincpu->set_addrmap(AS_PROGRAM, &dec0_automat_state::automat_map); + M68000(config, m_maincpu, 10'000'000); + m_maincpu->set_addrmap(AS_PROGRAM, &automat_state::automat_map); m_maincpu->set_vblank_int("screen", FUNC(dec0_state::irq6_line_hold)); /* VBL */ - Z80(config, m_audiocpu, 3000000); // ? - m_audiocpu->set_addrmap(AS_PROGRAM, &dec0_automat_state::automat_s_map); + Z80(config, m_audiocpu, 3'000'000); // ? + m_audiocpu->set_addrmap(AS_PROGRAM, &automat_state::automat_s_map); /* video hardware */ - MCFG_VIDEO_START_OVERRIDE(dec0_automat_state,dec0_nodma) + MCFG_VIDEO_START_OVERRIDE(automat_state,dec0_nodma) BUFFERED_SPRITERAM16(config, m_spriteram); SCREEN(config, m_screen, SCREEN_TYPE_RASTER); -// m_screen->set_refresh_hz(57.41); -// m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(529)); /* 57.41 Hz, 529us Vblank */ - set_screen_raw_params_data_east(config); - m_screen->set_screen_update(FUNC(dec0_automat_state::screen_update_automat)); + set_screen_raw_params(config); + m_screen->set_screen_update(FUNC(automat_state::screen_update_automat)); m_screen->set_palette(m_palette); DECO_BAC06(config, m_tilegen[0], 0); @@ -1949,7 +1945,7 @@ void dec0_automat_state::automat(machine_config &config) m_tilegen[2]->set_gfxdecode_tag("gfxdecode"); DECO_MXC06(config, m_spritegen, 0, m_palette, gfx_automat_spr); - m_spritegen->set_colpri_callback(FUNC(dec0_automat_state::robocop_colpri_cb)); + m_spritegen->set_colpri_callback(FUNC(automat_state::robocop_colpri_cb)); PALETTE(config, m_palette).set_format(palette_device::xBGR_444, 1024); GFXDECODE(config, m_gfxdecode, m_palette, gfx_automat); @@ -1960,13 +1956,13 @@ void dec0_automat_state::automat(machine_config &config) GENERIC_LATCH_8(config, m_soundlatch); m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, 0); - ym2203_device &ym2203a(YM2203(config, "2203a", 1250000)); + ym2203_device &ym2203a(YM2203(config, "2203a", 1'250'000)); ym2203a.add_route(0, "mono", 0.90); ym2203a.add_route(1, "mono", 0.90); ym2203a.add_route(2, "mono", 0.90); ym2203a.add_route(3, "mono", 0.35); - ym2203_device &ym2203b(YM2203(config, "2203b", 1250000)); + ym2203_device &ym2203b(YM2203(config, "2203b", 1'250'000)); ym2203b.add_route(0, "mono", 0.90); ym2203b.add_route(1, "mono", 0.90); ym2203b.add_route(2, "mono", 0.90); @@ -1978,38 +1974,36 @@ void dec0_automat_state::automat(machine_config &config) LS157(config, m_adpcm_select[1], 0); m_adpcm_select[1]->out_callback().set("msm2", FUNC(msm5205_device::data_w)); - msm5205_device &msm1(MSM5205(config, "msm1", 384000)); - msm1.vck_legacy_callback().set(FUNC(dec0_automat_state::msm1_vclk_cb)); + msm5205_device &msm1(MSM5205(config, "msm1", 384'000)); + msm1.vck_legacy_callback().set(FUNC(automat_state::msm1_vclk_cb)); msm1.set_prescaler_selector(msm5205_device::S96_4B); msm1.add_route(ALL_OUTPUTS, "mono", 1.0); - msm5205_device &msm2(MSM5205(config, "msm2", 384000)); - msm2.vck_legacy_callback().set(FUNC(dec0_automat_state::msm2_vclk_cb)); + msm5205_device &msm2(MSM5205(config, "msm2", 384'000)); + msm2.vck_legacy_callback().set(FUNC(automat_state::msm2_vclk_cb)); msm2.set_prescaler_selector(msm5205_device::S96_4B); msm2.add_route(ALL_OUTPUTS, "mono", 1.0); } // this seems very similar to the automat bootleg -void dec0_automat_state::secretab(machine_config &config) // all clocks verified on PCB +void automat_state::secretab(machine_config &config) // all clocks verified on PCB { // basic machine hardware M68000(config, m_maincpu, 20_MHz_XTAL / 2); // verified on pcb (20MHZ OSC) 68000P12 running at 10Mhz - m_maincpu->set_addrmap(AS_PROGRAM, &dec0_automat_state::secretab_map); + m_maincpu->set_addrmap(AS_PROGRAM, &automat_state::secretab_map); m_maincpu->set_vblank_int("screen", FUNC(dec0_state::irq6_line_hold)); // VBL Z80(config, m_audiocpu, 20_MHz_XTAL / 4); - m_audiocpu->set_addrmap(AS_PROGRAM, &dec0_automat_state::secretab_s_map); + m_audiocpu->set_addrmap(AS_PROGRAM, &automat_state::secretab_s_map); // video hardware - MCFG_VIDEO_START_OVERRIDE(dec0_automat_state,slyspy) + MCFG_VIDEO_START_OVERRIDE(automat_state,slyspy) BUFFERED_SPRITERAM16(config, m_spriteram); SCREEN(config, m_screen, SCREEN_TYPE_RASTER); -// m_screen->set_refresh_hz(57.41); -// m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(529)); // 57.41 Hz, 529us Vblank - set_screen_raw_params_data_east(config); - m_screen->set_screen_update(FUNC(dec0_automat_state::screen_update_secretab)); + set_screen_raw_params(config); + m_screen->set_screen_update(FUNC(automat_state::screen_update_secretab)); m_screen->set_palette(m_palette); DECO_BAC06(config, m_tilegen[0], 0); @@ -2019,7 +2013,7 @@ void dec0_automat_state::secretab(machine_config &config) // all clocks verified DECO_BAC06(config, m_tilegen[1], 0); m_tilegen[1]->set_gfx_region_wide(0, 1, 0); m_tilegen[1]->set_gfxdecode_tag("gfxdecode"); - m_tilegen[1]->set_tile_callback(FUNC(dec0_automat_state::baddudes_tile_cb)); + m_tilegen[1]->set_tile_callback(FUNC(automat_state::baddudes_tile_cb)); DECO_BAC06(config, m_tilegen[2], 0); m_tilegen[2]->set_gfx_region_wide(0, 2, 0); @@ -2053,12 +2047,12 @@ void dec0_automat_state::secretab(machine_config &config) // all clocks verified m_adpcm_select[1]->out_callback().set("msm2", FUNC(msm5205_device::data_w)); msm5205_device &msm1(MSM5205(config, "msm1", 400_kHz_XTAL)); - msm1.vck_legacy_callback().set(FUNC(dec0_automat_state::msm1_vclk_cb)); + msm1.vck_legacy_callback().set(FUNC(automat_state::msm1_vclk_cb)); msm1.set_prescaler_selector(msm5205_device::S96_4B); msm1.add_route(ALL_OUTPUTS, "mono", 1.0); msm5205_device &msm2(MSM5205(config, "msm2", 400_kHz_XTAL)); - msm2.vck_legacy_callback().set(FUNC(dec0_automat_state::msm2_vclk_cb)); + msm2.vck_legacy_callback().set(FUNC(automat_state::msm2_vclk_cb)); msm2.set_prescaler_selector(msm5205_device::S96_4B); msm2.add_route(ALL_OUTPUTS, "mono", 1.0); } @@ -2289,7 +2283,7 @@ void dec0_state::midresb(machine_config &config) midres(config); m_maincpu->set_addrmap(AS_PROGRAM, &dec0_state::midresb_map); - M6502(config.replace(), m_audiocpu, 1500000); + R65C02(config.replace(), m_audiocpu, 1'500'000); m_audiocpu->set_addrmap(AS_PROGRAM, &dec0_state::dec0_s_map); M68705R3(config, m_mcu, XTAL(3'579'545)); @@ -4225,9 +4219,9 @@ ROM_START( midresbj ) ROM_REGION( 0x20000, "char", 0 ) ROM_LOAD( "23", 0x08000, 0x08000, CRC(d75aba06) SHA1(cb3b969db3dd8e0c5c3729482f7461cde3a961f3) ) - ROM_CONTINUE( 0x00000, 0x08000 ) /* the two halves are swapped */ + ROM_CONTINUE( 0x00000, 0x08000 ) /* the two halves are swapped */ ROM_LOAD( "24", 0x18000, 0x08000, CRC(8f5bbb79) SHA1(cb10f68787606111ba5e9967bf0b0cd21269a902) ) - ROM_CONTINUE( 0x10000, 0x08000 ) + ROM_CONTINUE( 0x10000, 0x08000 ) ROM_REGION( 0x80000, "tiles1", 0 ) ROM_LOAD( "19", 0x00000, 0x20000, CRC(fd9ba1bd) SHA1(a105a4335eeed19662c89ab0f90485f1029cf03f) ) @@ -4289,10 +4283,10 @@ ROM_START( bouldash ) ROM_LOAD( "fn-02", 0x30000, 0x10000, CRC(4f060cba) SHA1(4063183e699bb8b6059d56f4e2fec5fa0b037c23) ) ROM_REGION( 0x40000, "oki", 0 ) /* ADPCM samples */ - ROM_LOAD( "fn-11", 0x00000, 0x10000, CRC(990fd8d9) SHA1(a37bd96ecd75c610d98df3320f53ae4e2b7fdefd) ) + ROM_LOAD( "fn-11", 0x00000, 0x10000, CRC(990fd8d9) SHA1(a37bd96ecd75c610d98df3320f53ae4e2b7fdefd) ) ROM_REGION( 0x0100, "proms", 0 ) - ROM_LOAD( "ta-16.21k", 0x0000, 0x0100, CRC(ad26e8d4) SHA1(827337aeb8904429a1c050279240ae38aa6ce064) ) /* Priority (not used) */ + ROM_LOAD( "ta-16.21k", 0x0000, 0x0100, CRC(ad26e8d4) SHA1(827337aeb8904429a1c050279240ae38aa6ce064) ) /* Priority (not used) */ ROM_END ROM_START( bouldashj ) @@ -4328,10 +4322,10 @@ ROM_START( bouldashj ) ROM_LOAD( "fn-02", 0x30000, 0x10000, CRC(4f060cba) SHA1(4063183e699bb8b6059d56f4e2fec5fa0b037c23) ) ROM_REGION( 0x40000, "oki", 0 ) /* ADPCM samples */ - ROM_LOAD( "fn-11", 0x00000, 0x10000, CRC(990fd8d9) SHA1(a37bd96ecd75c610d98df3320f53ae4e2b7fdefd) ) + ROM_LOAD( "fn-11", 0x00000, 0x10000, CRC(990fd8d9) SHA1(a37bd96ecd75c610d98df3320f53ae4e2b7fdefd) ) ROM_REGION( 0x0100, "proms", 0 ) - ROM_LOAD( "ta-16.21k", 0x0000, 0x0100, CRC(ad26e8d4) SHA1(827337aeb8904429a1c050279240ae38aa6ce064) ) /* Priority (not used) */ + ROM_LOAD( "ta-16.21k", 0x0000, 0x0100, CRC(ad26e8d4) SHA1(827337aeb8904429a1c050279240ae38aa6ce064) ) /* Priority (not used) */ ROM_END @@ -4350,7 +4344,7 @@ uint16_t dec0_state::ffantasybl_242024_r() /******************************************************************************/ -// YEAR, NAME, PARENT, MACHINE, INPUT, STATE/DEVICE, INIT, MONITOR,COMPANY, FULLNAME, FLAGS +// YEAR, NAME, PARENT, MACHINE, INPUT, STATE/DEVICE, INIT, MONITOR,COMPANY, FULLNAME, FLAGS GAME( 1987, hbarrel, 0, hbarrel, hbarrel, dec0_state, init_hbarrel, ROT270, "Data East Corporation", "Heavy Barrel (World)", MACHINE_SUPPORTS_SAVE ) GAME( 1987, hbarrelu, hbarrel, hbarrel, hbarrel, dec0_state, init_hbarrel, ROT270, "Data East USA", "Heavy Barrel (US, revision 3)", MACHINE_SUPPORTS_SAVE ) GAME( 1987, hbarrelua, hbarrel, hbarrel, hbarrel, dec0_state, init_hbarrel, ROT270, "Data East USA", "Heavy Barrel (US, revision 1)", MACHINE_SUPPORTS_SAVE ) @@ -4385,16 +4379,16 @@ GAME( 1990, bouldashj, bouldash, slyspy, bouldash, slyspy_state, init_s // bootlegs // more or less just an unprotected versions of the game, everything intact -GAME( 1988, robocopb, robocop, robocopb, robocop, dec0_state, empty_init, ROT0, "bootleg", "Robocop (World bootleg)", MACHINE_SUPPORTS_SAVE ) -GAME( 1988, drgninjab, baddudes, drgninjab, drgninja, dec0_state, init_drgninja, ROT0, "bootleg", "Dragonninja (bootleg)", MACHINE_SUPPORTS_SAVE ) +GAME( 1988, robocopb, robocop, robocopb, robocop, dec0_state, empty_init, ROT0, "bootleg", "Robocop (World bootleg)", MACHINE_SUPPORTS_SAVE ) +GAME( 1988, drgninjab, baddudes, drgninjab, drgninja, dec0_state, init_drgninja, ROT0, "bootleg", "Dragonninja (bootleg)", MACHINE_SUPPORTS_SAVE ) // this is a common bootleg board -GAME( 1989, midresb, midres, midresb, midresb, dec0_state, empty_init, ROT0, "bootleg", "Midnight Resistance (bootleg with 68705)", MACHINE_SUPPORTS_SAVE ) // need to hook up 68705? (probably unused) -GAME( 1989, midresbj, midres, midresbj, midresb, dec0_state, empty_init, ROT0, "bootleg", "Midnight Resistance (Joystick bootleg)", MACHINE_SUPPORTS_SAVE ) -GAME( 1989, ffantasybl, hippodrm, ffantasybl, ffantasybl, dec0_state, empty_init, ROT0, "bootleg", "Fighting Fantasy (bootleg with 68705)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING ) // 68705 not dumped, might be the same as midresb -GAME( 1988, drgninjab2, baddudes, drgninjab, drgninja, dec0_state, init_drgninja, ROT0, "bootleg", "Dragonninja (bootleg with 68705)", MACHINE_SUPPORTS_SAVE ) // is this the same board as above? (region warning hacked to World, but still shows Japanese text), 68705 dumped but not hooked up +GAME( 1989, midresb, midres, midresb, midresb, dec0_state, empty_init, ROT0, "bootleg", "Midnight Resistance (bootleg with 68705)", MACHINE_SUPPORTS_SAVE ) // need to hook up 68705? (probably unused) +GAME( 1989, midresbj, midres, midresbj, midresb, dec0_state, empty_init, ROT0, "bootleg", "Midnight Resistance (Joystick bootleg)", MACHINE_SUPPORTS_SAVE ) +GAME( 1989, ffantasybl, hippodrm, ffantasybl, ffantasybl, dec0_state, empty_init, ROT0, "bootleg", "Fighting Fantasy (bootleg with 68705)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING ) // 68705 not dumped, might be the same as midresb +GAME( 1988, drgninjab2, baddudes, drgninjab, drgninja, dec0_state, init_drgninja, ROT0, "bootleg", "Dragonninja (bootleg with 68705)", MACHINE_SUPPORTS_SAVE ) // is this the same board as above? (region warning hacked to World, but still shows Japanese text), 68705 dumped but not hooked up // these are different to the above but quite similar to each other -GAME( 1988, automat, robocop, automat, robocop, dec0_automat_state, empty_init, ROT0, "bootleg", "Automat (bootleg of Robocop)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) // sound rom / music from section z with mods for ADPCM? -GAME( 1989, secretab, secretag, secretab, slyspy, dec0_automat_state, empty_init, ROT0, "bootleg", "Secret Agent (bootleg)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) -GAME( 1989, mastbond, secretag, secretab, slyspy, dec0_automat_state, empty_init, ROT0, "bootleg", "Master Bond (bootleg of Secret Agent)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) +GAME( 1988, automat, robocop, automat, robocop, automat_state, empty_init, ROT0, "bootleg", "Automat (bootleg of Robocop)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) // sound rom / music from section z with mods for ADPCM? +GAME( 1989, secretab, secretag, secretab, slyspy, automat_state, empty_init, ROT0, "bootleg", "Secret Agent (bootleg)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) +GAME( 1989, mastbond, secretag, secretab, slyspy, automat_state, empty_init, ROT0, "bootleg", "Master Bond (bootleg of Secret Agent)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/dataeast/dec0.h b/src/mame/dataeast/dec0.h index 2bd8de67110ab..82b3f8830cde7 100644 --- a/src/mame/dataeast/dec0.h +++ b/src/mame/dataeast/dec0.h @@ -84,7 +84,7 @@ class dec0_state : public driver_device void robocop_colpri_cb(u32 &colour, u32 &pri_mask); void baddudes_tile_cb(tile_data &tileinfo, u32 &tile, u32 &colour, u32 &flags); - void set_screen_raw_params_data_east(machine_config &config); + void set_screen_raw_params(machine_config &config); void h6280_decrypt(const char *cputag); void dec0_map(address_map &map) ATTR_COLD; @@ -220,10 +220,10 @@ class slyspy_state : public dec0_state }; -class dec0_automat_state : public dec0_state +class automat_state : public dec0_state { public: - dec0_automat_state(const machine_config &mconfig, device_type type, const char *tag) : + automat_state(const machine_config &mconfig, device_type type, const char *tag) : dec0_state(mconfig, type, tag), m_msm(*this, "msm%u", 1U), m_adpcm_select(*this, "adpcm_select%u", 1U), diff --git a/src/mame/dataeast/dec0_v.cpp b/src/mame/dataeast/dec0_v.cpp index 269ec23eb1a7c..65c177bdb607f 100644 --- a/src/mame/dataeast/dec0_v.cpp +++ b/src/mame/dataeast/dec0_v.cpp @@ -10,8 +10,6 @@ #include "dec0.h" -/******************************************************************************/ - /******************************************************************************/ void dec0_state::hbarrel_colpri_cb(u32 &colour, u32 &pri_mask) @@ -49,6 +47,7 @@ uint32_t dec0_state::screen_update_hbarrel(screen_device &screen, bitmap_ind16 & return 0; } + /******************************************************************************/ void dec0_state::baddudes_tile_cb(tile_data &tileinfo, u32 &tile, u32 &colour, u32 &flags) @@ -82,6 +81,7 @@ uint32_t dec0_state::screen_update_baddudes(screen_device &screen, bitmap_ind16 return 0; } + /******************************************************************************/ /* WARNING: inverted wrt Midnight Resistance */ @@ -129,7 +129,7 @@ uint32_t dec0_state::screen_update_robocop(screen_device &screen, bitmap_ind16 & return 0; } -uint32_t dec0_automat_state::screen_update_automat(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +uint32_t automat_state::screen_update_automat(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { screen.priority().fill(0,cliprect); @@ -177,6 +177,7 @@ uint32_t dec0_automat_state::screen_update_automat(screen_device &screen, bitmap return 0; } + /******************************************************************************/ uint32_t dec0_state::screen_update_birdtry(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) @@ -195,6 +196,7 @@ uint32_t dec0_state::screen_update_birdtry(screen_device &screen, bitmap_ind16 & return 0; } + /******************************************************************************/ uint32_t slyspy_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) @@ -218,7 +220,7 @@ uint32_t slyspy_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap return 0; } -uint32_t dec0_automat_state::screen_update_secretab(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +uint32_t automat_state::screen_update_secretab(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { // layer enables seem different... where are they? @@ -267,6 +269,7 @@ uint32_t dec0_automat_state::screen_update_secretab(screen_device &screen, bitma return 0; } + /******************************************************************************/ void dec0_state::priority_w(offs_t offset, uint16_t data, uint16_t mem_mask) @@ -307,5 +310,3 @@ VIDEO_START_MEMBER(dec0_state,slyspy) m_tilegen[1]->set_transmask(0, 0xffff, 0x0001); m_tilegen[1]->set_transmask(1, 0x00ff, 0xff01); } - -/******************************************************************************/ diff --git a/src/mame/dataeast/dec8.cpp b/src/mame/dataeast/dec8.cpp index 9d54338d1b655..22109ebfb1d1a 100644 --- a/src/mame/dataeast/dec8.cpp +++ b/src/mame/dataeast/dec8.cpp @@ -4,95 +4,91 @@ Various Data East 8 bit games: - Last Mission (rev 6) (c) 1986 Data East USA (2*6809 + I8751) - Last Mission (rev 5) (c) 1986 Data East USA (2*6809 + I8751) - Last Mission (Japan) (c) 1986 Data East Corporation (2*6809 + I8751) - Shackled (c) 1986 Data East USA (2*6809 + I8751) - Breywood (c) 1986 Data East Corporation (2*6809 + I8751) - Gondomania (c) 1987 Data East USA (6809 + I8751) - Makyou Senshi (c) 1987 Data East Corporation (6809 + I8751) - Garyo Retsuden (c) 1987 Data East Corporation (6809 + I8751) - The Real Ghostbusters (2p) (c) 1987 Data East USA (6809 + I8751) - The Real Ghostbusters (3p) (c) 1987 Data East USA (6809 + I8751) - Meikyuu Hunter G (c) 1987 Data East Corporation (6809 + I8751) - Captain Silver (World) (c) 1987 Data East Corporation (2*6809 + I8751) - Captain Silver (Japan) (c) 1987 Data East Corporation (2*6809 + I8751) - Psycho-Nics Oscar (World) (c) 1987 Data East Corporation (2*6809) - Psycho-Nics Oscar (US) (c) 1988 Data East USA (2*6809) - Psycho-Nics Oscar (Japan) (c) 1987 Data East Corporation (2*6809) - Super Real Darwin (World) (c) 1987 Data East Corporation (6809 + I8751) - Super Real Darwin (Japan) (c) 1987 Data East Corporation (6809 + I8751) - Cobra Command (World) (c) 1988 Data East Corporation (6809) - Cobra Command (Japan) (c) 1988 Data East Corporation (6809) - - All games use a 6502 for sound (some are encrypted), all games except Cobracom - and Oscar use an Intel 8751 for protection & coinage. For the games without - (fake) MCU, the coinage dip switch (sometimes based on the manual) is simulated. - - Meikyuu Hunter G was formerly known as Mazehunter. - - Emulation by Bryan McPhail, mish@tendril.co.uk - -To do: - Super Real Darwin 'Double' sprites appearing from the top of the screen are clipped - Strangely coloured butterfly on Garyo Retsuden water levels! - - Thanks to Jose Miguel Morales Farreras for Super Real Darwin information! +Last Mission (rev 6) (c) 1986 Data East USA (2*6809 + I8751) +Last Mission (rev 5) (c) 1986 Data East USA (2*6809 + I8751) +Last Mission (Japan) (c) 1986 Data East Corporation (2*6809 + I8751) +Shackled (c) 1986 Data East USA (2*6809 + I8751) +Breywood (c) 1986 Data East Corporation (2*6809 + I8751) +Gondomania (c) 1987 Data East USA (6809 + I8751) +Makyou Senshi (c) 1987 Data East Corporation (6809 + I8751) +Garyo Retsuden (c) 1987 Data East Corporation (6809 + I8751) +The Real Ghostbusters (2p) (c) 1987 Data East USA (6809 + I8751) +The Real Ghostbusters (3p) (c) 1987 Data East USA (6809 + I8751) +Meikyuu Hunter G (c) 1987 Data East Corporation (6809 + I8751) +Captain Silver (World) (c) 1987 Data East Corporation (2*6809 + I8751) +Captain Silver (Japan) (c) 1987 Data East Corporation (2*6809 + I8751) +Psycho-Nics Oscar (World) (c) 1987 Data East Corporation (2*6809) +Psycho-Nics Oscar (US) (c) 1988 Data East USA (2*6809) +Psycho-Nics Oscar (Japan) (c) 1987 Data East Corporation (2*6809) +Super Real Darwin (World) (c) 1987 Data East Corporation (6809 + I8751) +Super Real Darwin (Japan) (c) 1987 Data East Corporation (6809 + I8751) +Cobra Command (World) (c) 1988 Data East Corporation (6809) +Cobra Command (Japan) (c) 1988 Data East Corporation (6809) + +All games use a 6502 for sound (some are encrypted), all games except Cobracom +and Oscar use an Intel 8751 for protection & coinage. + +Meikyuu Hunter G was formerly known as Mazehunter. It's a Japan-only modified +version of Ghostbusters, due to licensing restrictions. + +Emulation by Bryan McPhail, mish@tendril.co.uk +Thanks to Jose Miguel Morales Farreras for Super Real Darwin information! + +TODO: +- shackled continue after game over does not work, see MT0418. It's not that + big of an issue user-wise, since credits add more health. For breywood, it + appears to work ok after the 1st level. +- srdarwin 'double' sprites appearing from the top of the screen are clipped +- strangely coloured butterfly on Garyo Retsuden water levels! +- gondo 2nd coin doesn't work, probably due to hacked MCU ROM +- ghostb coinage dipswitch +- how does meikyuhbl circumvent the MCU? It won't boot in MAME if MCU is removed ***************************************************************************/ #include "emu.h" #include "dec8.h" -#include "cpu/m6502/m6502.h" +#include "cpu/m6502/r65c02.h" #include "cpu/m6809/hd6309.h" #include "cpu/m6809/m6809.h" -#include "deco222.h" #include "sound/msm5205.h" #include "sound/ymopn.h" #include "sound/ymopl.h" +#include "deco222.h" #include "speaker.h" /******************************************************************************/ - void dec8_state_base::buffer_spriteram16_w(u8 data) { u8* spriteram = m_spriteram->live(); + // copy to a 16-bit region for the sprite chip - for (int i=0;i<0x800/2;i++) - { - m_buffered_spriteram16[i] = spriteram[(i*2)+1] | (spriteram[(i*2)+0] <<8); - } + for (int i = 0; i < 0x800/2 ; i++) + m_buffered_spriteram16[i] = spriteram[(i * 2) + 1] | (spriteram[(i * 2) + 0] << 8); } -/* Only used by ghostb, gondo, garyoret, other games can control buffering */ -void lastmisn_state::screen_vblank(int state) +// Only used by ghostb, gondo, garyoret, other games can control buffering +void ghostb_state::screen_vblank(int state) { // rising edge if (state) - { buffer_spriteram16_w(0); - } } -u8 dec8_mcu_state_base::i8751_h_r() +u8 dec8_mcu_state_base::i8751_hi_r() { - return m_i8751_return >> 8; /* MSB */ + return m_i8751_return >> 8; // MSB } -u8 dec8_mcu_state_base::i8751_l_r() +u8 dec8_mcu_state_base::i8751_lo_r() { - return m_i8751_return & 0xff; /* LSB */ + return m_i8751_return & 0xff; // LSB } -void dec8_mcu_state_base::i8751_reset_w(u8 data) -{ - // ? reset the actual MCU? - //m_i8751_return = 0; -} /******************************************************************************/ @@ -103,15 +99,14 @@ u8 gondo_state::player_io_r(offs_t offset) switch (offset) { - case 0: /* Rotary low byte */ + case 0: // Rotary low byte return ~(val & 0xff); - case 1: /* Joystick = bottom 4 bits, rotary = top 4 */ + case 1: // Joystick = bottom 4 bits, rotary = top 4 return ((~val >> 4) & 0xf0) | (m_in_io[Which]->read() & 0xf); } return 0xff; } -/******************************************************************************/ /*************************************************** * @@ -119,35 +114,53 @@ u8 gondo_state::player_io_r(offs_t offset) * ***************************************************/ -TIMER_CALLBACK_MEMBER(dec8_mcu_state_base::mcu_irq_clear) +TIMER_CALLBACK_MEMBER(ghostb_state::mcu_irq_clear) { - // The schematics show a clocked LS194 shift register (3A) is used to automatically - // clear the IRQ request. The MCU does not clear it itself. + // Gondomania schematics show a clocked LS194 shift register (3A) is used to + // automatically clear the IRQ request. The MCU does not clear it itself. m_mcu->set_input_line(MCS51_INT1_LINE, CLEAR_LINE); } -TIMER_CALLBACK_MEMBER(dec8_state_base::audiocpu_nmi_clear) +TIMER_CALLBACK_MEMBER(ghostb_state::audiocpu_nmi_clear) { // Gondomania schematics show a LS194 for the sound IRQ, sharing the 6502 clock // S1=H, S0=L, LSI=H, and QA is the only output connected (to NMI) m_audiocpu->set_input_line(INPUT_LINE_NMI, CLEAR_LINE); } -void dec8_mcu_state_base::i8751_w(offs_t offset, u8 data) +void dec8_mcu_state_base::i8751_lo_w(u8 data) { - switch (offset) - { - case 0: /* High byte - SECIRQ is trigged on activating this latch */ - m_i8751_value = (m_i8751_value & 0xff) | (data << 8); + m_i8751_value = (m_i8751_value & 0xff00) | data; +} + +void dec8_mcu_state_base::i8751_hi_w(u8 data) +{ + m_i8751_value = (m_i8751_value & 0xff) | (data << 8); + + // SECIRQ is triggered on activating this latch + if (m_i8751_p2 & 2) m_mcu->set_input_line(MCS51_INT1_LINE, ASSERT_LINE); - m_i8751_timer->adjust(m_mcu->clocks_to_attotime(64)); // 64 clocks not confirmed - break; - case 1: /* Low byte */ - m_i8751_value = (m_i8751_value & 0xff00) | data; - break; - } } +void ghostb_state::i8751_hi_w(u8 data) +{ + m_i8751_value = (m_i8751_value & 0xff) | (data << 8); + + // MCU interrupt is still level-triggered, but no ack? + m_mcu->set_input_line(MCS51_INT1_LINE, ASSERT_LINE); + m_i8751_timer->adjust(attotime::from_ticks(64, 12_MHz_XTAL / 8)); // 64 clocks not confirmed +} + +void ghostb_state::gondo_i8751_hi_w(u8 data) +{ + m_i8751_value = (m_i8751_value & 0xff) | (data << 8); + + // MCU interrupt is edge-triggered + m_mcu->set_input_line(MCS51_INT1_LINE, ASSERT_LINE); + m_i8751_timer->adjust(attotime::from_ticks(4, 12_MHz_XTAL / 8)); +} + + /******************************************************************************/ void oscar_state::bank_w(u8 data) @@ -155,8 +168,8 @@ void oscar_state::bank_w(u8 data) m_mainbank->set_entry(data & 0x0f); } -/* Used by Ghostbusters, Meikyuu Hunter G & Gondomania */ -void lastmisn_state::ghostb_bank_w(u8 data) +// Used by Ghostbusters, Meikyuu Hunter G & Gondomania +void ghostb_state::ghostb_bank_w(u8 data) { /* Bit 0: SECCLR - acknowledge interrupt from I8751 Bit 1: NMI enable/disable @@ -164,7 +177,6 @@ void lastmisn_state::ghostb_bank_w(u8 data) Bit 3: Screen flip Bits 4-7: Bank switch */ - m_mainbank->set_entry(data >> 4); m_secclr = BIT(data, 0); @@ -196,18 +208,18 @@ void csilver_state::control_w(u8 data) m_mainbank->set_entry(data & 0x0f); } -void dec8_state_base::sound_w(u8 data) +void ghostb_state::sound_w(u8 data) { m_soundlatch->write(data); m_audiocpu->set_input_line(m6502_device::NMI_LINE, ASSERT_LINE); - m_m6502_timer->adjust(m_audiocpu->cycles_to_attotime(3)); + m_6502_timer->adjust(m_audiocpu->cycles_to_attotime(4)); } void csilver_state::adpcm_int(int state) { m_toggle ^= 1; if (m_toggle) - m_audiocpu->set_input_line(m6502_device::IRQ_LINE, HOLD_LINE); + m_audiocpu->set_input_line(m6502_device::IRQ_LINE, ASSERT_LINE); m_msm->data_w(m_msm5205next >> 4); m_msm5205next <<= 4; @@ -222,6 +234,7 @@ u8 csilver_state::adpcm_reset_r() void csilver_state::adpcm_data_w(u8 data) { m_msm5205next = data; + m_audiocpu->set_input_line(m6502_device::IRQ_LINE, CLEAR_LINE); } void csilver_state::sound_bank_w(u8 data) @@ -229,6 +242,7 @@ void csilver_state::sound_bank_w(u8 data) m_soundbank->set_entry((data & 0x08) >> 3); } + /******************************************************************************/ void dec8_state_base::main_irq_on_w(u8 data) @@ -241,11 +255,6 @@ void dec8_state_base::main_irq_off_w(u8 data) m_maincpu->set_input_line(M6809_IRQ_LINE, CLEAR_LINE); } -void dec8_state_base::main_firq_off_w(u8 data) -{ - m_maincpu->set_input_line(M6809_FIRQ_LINE, CLEAR_LINE); -} - void dec8_state_base::sub_irq_on_w(u8 data) { m_subcpu->set_input_line(M6809_IRQ_LINE, ASSERT_LINE); @@ -256,15 +265,15 @@ void dec8_state_base::sub_irq_off_w(u8 data) m_subcpu->set_input_line(M6809_IRQ_LINE, CLEAR_LINE); } -void dec8_state_base::sub_firq_off_w(u8 data) +void dec8_state_base::both_firq_off_w(u8 data) { + m_maincpu->set_input_line(M6809_FIRQ_LINE, CLEAR_LINE); m_subcpu->set_input_line(M6809_FIRQ_LINE, CLEAR_LINE); } -/******************************************************************************/ - void dec8_state_base::flip_screen_w(u8 data) { flip_screen_set(data); } + /******************************************************************************/ void lastmisn_state::lastmisn_map(address_map &map) @@ -274,17 +283,18 @@ void lastmisn_state::lastmisn_map(address_map &map) map(0x1400, 0x17ff).ram().w(m_palette, FUNC(deco_rmc3_device::write8_ext)).share("palette_ext"); map(0x1800, 0x1800).portr("IN0").w(FUNC(lastmisn_state::sub_irq_off_w)); map(0x1801, 0x1801).portr("IN1").w(FUNC(lastmisn_state::main_irq_off_w)); - map(0x1802, 0x1802).portr("IN2").w(FUNC(lastmisn_state::main_firq_off_w)); + map(0x1802, 0x1802).portr("IN2").w(FUNC(lastmisn_state::both_firq_off_w)); map(0x1803, 0x1803).portr("DSW0").w(FUNC(lastmisn_state::main_irq_on_w)); map(0x1804, 0x1804).portr("DSW1").w(FUNC(lastmisn_state::sub_irq_on_w)); - map(0x1805, 0x1805).w(FUNC(lastmisn_state::buffer_spriteram16_w)); /* DMA */ - map(0x1806, 0x1806).r(FUNC(lastmisn_state::i8751_h_r)); - map(0x1807, 0x1807).rw(FUNC(lastmisn_state::i8751_l_r), FUNC(lastmisn_state::flip_screen_w)); - map(0x1809, 0x1809).w(FUNC(lastmisn_state::lastmisn_scrollx_w)); /* Scroll LSB */ - map(0x180b, 0x180b).w(FUNC(lastmisn_state::lastmisn_scrolly_w)); /* Scroll LSB */ - map(0x180c, 0x180c).w(FUNC(lastmisn_state::sound_w)); - map(0x180d, 0x180d).w(FUNC(lastmisn_state::lastmisn_control_w)); /* Bank switch + Scroll MSB */ - map(0x180e, 0x180f).w(FUNC(lastmisn_state::i8751_w)); + map(0x1805, 0x1805).w(FUNC(lastmisn_state::buffer_spriteram16_w)); + map(0x1806, 0x1806).r(FUNC(lastmisn_state::i8751_hi_r)); + map(0x1807, 0x1807).rw(FUNC(lastmisn_state::i8751_lo_r), FUNC(lastmisn_state::flip_screen_w)); + map(0x1809, 0x1809).w(FUNC(lastmisn_state::lastmisn_scrollx_w)); + map(0x180b, 0x180b).w(FUNC(lastmisn_state::lastmisn_scrolly_w)); + map(0x180c, 0x180c).w(m_soundlatch, FUNC(generic_latch_8_device::write)); + map(0x180d, 0x180d).w(FUNC(lastmisn_state::lastmisn_control_w)); + map(0x180e, 0x180e).w(FUNC(lastmisn_state::i8751_hi_w)); + map(0x180f, 0x180f).w(FUNC(lastmisn_state::i8751_lo_w)); map(0x2000, 0x27ff).ram().w(FUNC(lastmisn_state::videoram_w)).share(m_videoram); map(0x2800, 0x2fff).ram().share("spriteram"); map(0x3000, 0x37ff).ram().share("share2"); @@ -300,14 +310,15 @@ void lastmisn_state::lastmisn_sub_map(address_map &map) map(0x1400, 0x17ff).ram().w(m_palette, FUNC(deco_rmc3_device::write8_ext)).share("palette_ext"); map(0x1800, 0x1800).portr("IN0").w(FUNC(lastmisn_state::sub_irq_off_w)); map(0x1801, 0x1801).portr("IN1").w(FUNC(lastmisn_state::main_irq_off_w)); - map(0x1802, 0x1802).portr("IN2").w(FUNC(lastmisn_state::main_firq_off_w)); + map(0x1802, 0x1802).portr("IN2").w(FUNC(lastmisn_state::both_firq_off_w)); map(0x1803, 0x1803).portr("DSW0").w(FUNC(lastmisn_state::main_irq_on_w)); map(0x1804, 0x1804).portr("DSW1").w(FUNC(lastmisn_state::sub_irq_on_w)); - map(0x1805, 0x1805).w(FUNC(lastmisn_state::buffer_spriteram16_w)); /* DMA */ - map(0x1806, 0x1806).r(FUNC(lastmisn_state::i8751_h_r)); - map(0x1807, 0x1807).rw(FUNC(lastmisn_state::i8751_l_r), FUNC(lastmisn_state::flip_screen_w)); - map(0x180c, 0x180c).w(FUNC(lastmisn_state::sound_w)); - map(0x180e, 0x180f).w(FUNC(lastmisn_state::i8751_w)); + map(0x1805, 0x1805).w(FUNC(lastmisn_state::buffer_spriteram16_w)); + map(0x1806, 0x1806).r(FUNC(lastmisn_state::i8751_hi_r)); + map(0x1807, 0x1807).rw(FUNC(lastmisn_state::i8751_lo_r), FUNC(lastmisn_state::flip_screen_w)); + map(0x180c, 0x180c).w(m_soundlatch, FUNC(generic_latch_8_device::write)); + map(0x180e, 0x180e).w(FUNC(lastmisn_state::i8751_hi_w)); + map(0x180f, 0x180f).w(FUNC(lastmisn_state::i8751_lo_w)); map(0x2000, 0x27ff).ram().w(FUNC(lastmisn_state::videoram_w)); map(0x2800, 0x2fff).writeonly().share("spriteram"); map(0x3000, 0x37ff).ram().share("share2"); @@ -322,15 +333,15 @@ void lastmisn_state::shackled_map(address_map &map) map(0x1400, 0x17ff).ram().w(m_palette, FUNC(deco_rmc3_device::write8_ext)).share("palette_ext"); map(0x1800, 0x1800).portr("IN0").w(FUNC(lastmisn_state::sub_irq_off_w)); map(0x1801, 0x1801).portr("IN1").w(FUNC(lastmisn_state::main_irq_off_w)); - map(0x1802, 0x1802).portr("IN2").w(FUNC(lastmisn_state::sub_firq_off_w)); + map(0x1802, 0x1802).portr("IN2").w(FUNC(lastmisn_state::both_firq_off_w)); map(0x1803, 0x1803).portr("DSW0").w(FUNC(lastmisn_state::main_irq_on_w)); map(0x1804, 0x1804).portr("DSW1").w(FUNC(lastmisn_state::sub_irq_on_w)); - map(0x1805, 0x1805).w(FUNC(lastmisn_state::buffer_spriteram16_w)); /* DMA */ + map(0x1805, 0x1805).w(FUNC(lastmisn_state::buffer_spriteram16_w)); map(0x1807, 0x1807).w(FUNC(lastmisn_state::flip_screen_w)); - map(0x1809, 0x1809).w(FUNC(lastmisn_state::lastmisn_scrollx_w)); /* Scroll LSB */ - map(0x180b, 0x180b).w(FUNC(lastmisn_state::lastmisn_scrolly_w)); /* Scroll LSB */ - map(0x180c, 0x180c).w(FUNC(lastmisn_state::sound_w)); - map(0x180d, 0x180d).w(FUNC(lastmisn_state::shackled_control_w)); /* Bank switch + Scroll MSB */ + map(0x1809, 0x1809).w(FUNC(lastmisn_state::lastmisn_scrollx_w)); + map(0x180b, 0x180b).w(FUNC(lastmisn_state::lastmisn_scrolly_w)); + map(0x180c, 0x180c).w(m_soundlatch, FUNC(generic_latch_8_device::write)); + map(0x180d, 0x180d).w(FUNC(lastmisn_state::shackled_control_w)); map(0x2000, 0x27ff).ram().w(FUNC(lastmisn_state::videoram_w)); map(0x2800, 0x2fff).ram().share("spriteram"); map(0x3000, 0x37ff).ram().share("share2"); @@ -346,17 +357,18 @@ void lastmisn_state::shackled_sub_map(address_map &map) map(0x1400, 0x17ff).ram().w(m_palette, FUNC(deco_rmc3_device::write8_ext)).share("palette_ext"); map(0x1800, 0x1800).portr("IN0").w(FUNC(lastmisn_state::sub_irq_off_w)); map(0x1801, 0x1801).portr("IN1").w(FUNC(lastmisn_state::main_irq_off_w)); - map(0x1802, 0x1802).portr("IN2").w(FUNC(lastmisn_state::sub_firq_off_w)); + map(0x1802, 0x1802).portr("IN2").w(FUNC(lastmisn_state::both_firq_off_w)); map(0x1803, 0x1803).portr("DSW0").w(FUNC(lastmisn_state::main_irq_on_w)); map(0x1804, 0x1804).portr("DSW1").w(FUNC(lastmisn_state::sub_irq_on_w)); - map(0x1805, 0x1805).w(FUNC(lastmisn_state::buffer_spriteram16_w)); /* DMA */ - map(0x1806, 0x1806).r(FUNC(lastmisn_state::i8751_h_r)); - map(0x1807, 0x1807).rw(FUNC(lastmisn_state::i8751_l_r), FUNC(lastmisn_state::flip_screen_w)); - map(0x1809, 0x1809).w(FUNC(lastmisn_state::lastmisn_scrollx_w)); /* Scroll LSB */ - map(0x180b, 0x180b).w(FUNC(lastmisn_state::lastmisn_scrolly_w)); /* Scroll LSB */ - map(0x180c, 0x180c).w(FUNC(lastmisn_state::sound_w)); - map(0x180d, 0x180d).w(FUNC(lastmisn_state::shackled_control_w)); /* Bank switch + Scroll MSB */ - map(0x180e, 0x180f).w(FUNC(lastmisn_state::i8751_w)); + map(0x1805, 0x1805).w(FUNC(lastmisn_state::buffer_spriteram16_w)); + map(0x1806, 0x1806).r(FUNC(lastmisn_state::i8751_hi_r)); + map(0x1807, 0x1807).rw(FUNC(lastmisn_state::i8751_lo_r), FUNC(lastmisn_state::flip_screen_w)); + map(0x1809, 0x1809).w(FUNC(lastmisn_state::lastmisn_scrollx_w)); + map(0x180b, 0x180b).w(FUNC(lastmisn_state::lastmisn_scrolly_w)); + map(0x180c, 0x180c).w(m_soundlatch, FUNC(generic_latch_8_device::write)); + map(0x180d, 0x180d).w(FUNC(lastmisn_state::shackled_control_w)); + map(0x180e, 0x180e).w(FUNC(lastmisn_state::i8751_hi_w)); + map(0x180f, 0x180f).w(FUNC(lastmisn_state::i8751_lo_w)); map(0x2000, 0x27ff).ram().w(FUNC(lastmisn_state::videoram_w)).share(m_videoram); map(0x2800, 0x2fff).ram().share("spriteram"); map(0x3000, 0x37ff).ram().share("share2"); @@ -364,6 +376,32 @@ void lastmisn_state::shackled_sub_map(address_map &map) map(0x4000, 0xffff).rom(); } +void ghostb_state::ghostb_map(address_map &map) +{ + map(0x0000, 0x0fff).ram(); + map(0x1000, 0x17ff).ram(); + map(0x1800, 0x1fff).ram().w(FUNC(ghostb_state::videoram_w)).share(m_videoram); + map(0x2000, 0x27ff).rw(m_tilegen[0], FUNC(deco_bac06_device::pf_data_8bit_r), FUNC(deco_bac06_device::pf_data_8bit_w)); + map(0x2800, 0x2bff).ram(); // colscroll? mirror? + map(0x2c00, 0x2fff).rw(m_tilegen[0], FUNC(deco_bac06_device::pf_rowscroll_8bit_r), FUNC(deco_bac06_device::pf_rowscroll_8bit_w)); + map(0x3000, 0x37ff).ram().share("spriteram"); + map(0x3800, 0x3800).portr("IN0"); + map(0x3800, 0x3800).w(FUNC(ghostb_state::sound_w)); + map(0x3801, 0x3801).portr("IN1"); + map(0x3802, 0x3802).portr("IN2"); + map(0x3803, 0x3803).portr("DSW0"); + map(0x3820, 0x3820).portr("DSW1"); + map(0x3820, 0x3827).w(m_tilegen[0], FUNC(deco_bac06_device::pf_control0_8bit_w)); + map(0x3830, 0x383f).rw(m_tilegen[0], FUNC(deco_bac06_device::pf_control1_8bit_r), FUNC(deco_bac06_device::pf_control1_8bit_w)); + map(0x3840, 0x3840).r(FUNC(ghostb_state::i8751_hi_r)); + map(0x3840, 0x3840).w(FUNC(ghostb_state::ghostb_bank_w)); + map(0x3860, 0x3860).r(FUNC(ghostb_state::i8751_lo_r)); + map(0x3860, 0x3860).w(FUNC(ghostb_state::i8751_hi_w)); + map(0x3861, 0x3861).w(FUNC(ghostb_state::i8751_lo_w)); + map(0x4000, 0x7fff).bankr(m_mainbank); + map(0x8000, 0xffff).rom(); +} + void gondo_state::gondo_map(address_map &map) { map(0x0000, 0x17ff).ram(); @@ -371,67 +409,44 @@ void gondo_state::gondo_map(address_map &map) map(0x2000, 0x27ff).rw(FUNC(gondo_state::bg_ram_r), FUNC(gondo_state::bg_ram_w)).share("bg_ram"); map(0x2800, 0x2bff).ram().w(m_palette, FUNC(deco_rmc3_device::write8)).share("palette"); map(0x2c00, 0x2fff).ram().w(m_palette, FUNC(deco_rmc3_device::write8_ext)).share("palette_ext"); - map(0x3000, 0x37ff).ram().share("spriteram"); /* Sprites */ - map(0x3800, 0x3800).portr("DSW0"); /* Dip 1 */ - map(0x3801, 0x3801).portr("DSW1"); /* Dip 2 */ - map(0x380a, 0x380b).r(FUNC(gondo_state::player_io_r<0>)); /* Player 1 rotary */ - map(0x380c, 0x380d).r(FUNC(gondo_state::player_io_r<1>)); /* Player 2 rotary */ - map(0x380e, 0x380e).portr("IN3"); /* VBL */ - map(0x380f, 0x380f).portr("IN2"); /* Fire buttons */ + map(0x3000, 0x37ff).ram().share("spriteram"); + map(0x3800, 0x3800).portr("DSW0"); + map(0x3801, 0x3801).portr("DSW1"); + map(0x380a, 0x380b).r(FUNC(gondo_state::player_io_r<0>)); + map(0x380c, 0x380d).r(FUNC(gondo_state::player_io_r<1>)); + map(0x380e, 0x380e).portr("IN3"); + map(0x380f, 0x380f).portr("IN2"); map(0x3810, 0x3810).w(FUNC(gondo_state::sound_w)); map(0x3818, 0x382f).w(FUNC(gondo_state::gondo_scroll_w)); - map(0x3830, 0x3830).w(FUNC(gondo_state::ghostb_bank_w)); /* Bank + NMI enable */ - map(0x3838, 0x3838).r(FUNC(gondo_state::i8751_h_r)); - map(0x3839, 0x3839).r(FUNC(gondo_state::i8751_l_r)); - map(0x383a, 0x383b).w(FUNC(gondo_state::i8751_w)); + map(0x3830, 0x3830).w(FUNC(gondo_state::ghostb_bank_w)); + map(0x3838, 0x3838).r(FUNC(gondo_state::i8751_hi_r)); + map(0x3839, 0x3839).r(FUNC(gondo_state::i8751_lo_r)); + map(0x383a, 0x383a).w(FUNC(gondo_state::gondo_i8751_hi_w)); + map(0x383b, 0x383b).w(FUNC(gondo_state::i8751_lo_w)); map(0x4000, 0x7fff).bankr(m_mainbank); map(0x8000, 0xffff).rom(); } -void lastmisn_state::garyoret_map(address_map &map) +void ghostb_state::garyoret_map(address_map &map) { map(0x0000, 0x17ff).ram(); - map(0x1800, 0x1fff).ram().w(FUNC(lastmisn_state::videoram_w)).share(m_videoram); - map(0x2000, 0x27ff).rw(FUNC(lastmisn_state::bg_ram_r), FUNC(lastmisn_state::bg_ram_w)).share("bg_ram"); + map(0x1800, 0x1fff).ram().w(FUNC(ghostb_state::videoram_w)).share(m_videoram); + map(0x2000, 0x27ff).rw(FUNC(ghostb_state::bg_ram_r), FUNC(ghostb_state::bg_ram_w)).share("bg_ram"); map(0x2800, 0x2bff).ram().w(m_palette, FUNC(deco_rmc3_device::write8)).share("palette"); map(0x2c00, 0x2fff).ram().w(m_palette, FUNC(deco_rmc3_device::write8_ext)).share("palette_ext"); - map(0x3000, 0x37ff).ram().share("spriteram"); /* Sprites */ - map(0x3800, 0x3800).portr("DSW0"); /* Dip 1 */ - map(0x3801, 0x3801).portr("DSW1"); /* Dip 2 */ - map(0x3808, 0x3808).nopr(); /* ? */ - map(0x380a, 0x380a).portr("IN1"); /* Player 2 + VBL */ - map(0x380b, 0x380b).portr("IN0"); /* Player 1 */ - map(0x3810, 0x3810).w(FUNC(lastmisn_state::sound_w)); - map(0x3818, 0x382f).w(FUNC(lastmisn_state::gondo_scroll_w)); - map(0x3830, 0x3830).w(FUNC(lastmisn_state::ghostb_bank_w)); /* Bank + NMI enable */ - map(0x3838, 0x3839).w(FUNC(lastmisn_state::i8751_w)); - map(0x383a, 0x383a).r(FUNC(lastmisn_state::i8751_h_r)); - map(0x383b, 0x383b).r(FUNC(lastmisn_state::i8751_l_r)); - map(0x4000, 0x7fff).bankr(m_mainbank); - map(0x8000, 0xffff).rom(); -} - -void lastmisn_state::meikyuh_map(address_map &map) -{ - map(0x0000, 0x0fff).ram(); - map(0x1000, 0x17ff).ram(); - map(0x1800, 0x1fff).ram().w(FUNC(lastmisn_state::videoram_w)).share(m_videoram); - map(0x2000, 0x27ff).rw(m_tilegen[0], FUNC(deco_bac06_device::pf_data_8bit_r), FUNC(deco_bac06_device::pf_data_8bit_w)); - map(0x2800, 0x2bff).ram(); // colscroll? mirror? - map(0x2c00, 0x2fff).rw(m_tilegen[0], FUNC(deco_bac06_device::pf_rowscroll_8bit_r), FUNC(deco_bac06_device::pf_rowscroll_8bit_w)); map(0x3000, 0x37ff).ram().share("spriteram"); - map(0x3800, 0x3800).portr("IN0"); /* Player 1 */ - map(0x3800, 0x3800).w(FUNC(lastmisn_state::sound_w)); - map(0x3801, 0x3801).portr("IN1"); /* Player 2 */ - map(0x3802, 0x3802).portr("IN2"); /* Player 3 */ - map(0x3803, 0x3803).portr("DSW0"); /* Start buttons + VBL */ - map(0x3820, 0x3820).portr("DSW1"); /* Dip */ - map(0x3820, 0x3827).w(m_tilegen[0], FUNC(deco_bac06_device::pf_control0_8bit_w)); - map(0x3830, 0x383f).rw(m_tilegen[0], FUNC(deco_bac06_device::pf_control1_8bit_r), FUNC(deco_bac06_device::pf_control1_8bit_w)); - map(0x3840, 0x3840).r(FUNC(lastmisn_state::i8751_h_r)); - map(0x3840, 0x3840).w(FUNC(lastmisn_state::ghostb_bank_w)); - map(0x3860, 0x3860).r(FUNC(lastmisn_state::i8751_l_r)); - map(0x3860, 0x3861).w(FUNC(lastmisn_state::i8751_w)); + map(0x3800, 0x3800).portr("DSW0"); + map(0x3801, 0x3801).portr("DSW1"); + map(0x3808, 0x3808).nopr(); // ? + map(0x380a, 0x380a).portr("IN1"); + map(0x380b, 0x380b).portr("IN0"); + map(0x3810, 0x3810).w(FUNC(ghostb_state::sound_w)); + map(0x3818, 0x382f).w(FUNC(ghostb_state::gondo_scroll_w)); + map(0x3830, 0x3830).w(FUNC(ghostb_state::ghostb_bank_w)); + map(0x3838, 0x3838).w(FUNC(ghostb_state::gondo_i8751_hi_w)); + map(0x3839, 0x3839).w(FUNC(ghostb_state::i8751_lo_w)); + map(0x383a, 0x383a).r(FUNC(ghostb_state::i8751_hi_r)); + map(0x383b, 0x383b).r(FUNC(ghostb_state::i8751_lo_r)); map(0x4000, 0x7fff).bankr(m_mainbank); map(0x8000, 0xffff).rom(); } @@ -443,17 +458,18 @@ void csilver_state::main_map(address_map &map) map(0x1400, 0x17ff).ram().w(m_palette, FUNC(deco_rmc3_device::write8_ext)).share("palette_ext"); map(0x1800, 0x1800).portr("IN1").w(FUNC(csilver_state::sub_irq_off_w)); map(0x1801, 0x1801).portr("IN0").w(FUNC(csilver_state::main_irq_off_w)); - map(0x1802, 0x1802).w(FUNC(csilver_state::main_firq_off_w)); + map(0x1802, 0x1802).w(FUNC(csilver_state::both_firq_off_w)); map(0x1803, 0x1803).portr("IN2").w(FUNC(csilver_state::main_irq_on_w)); map(0x1804, 0x1804).portr("DSW1").w(FUNC(csilver_state::sub_irq_on_w)); - map(0x1805, 0x1805).portr("DSW0").w(FUNC(csilver_state::buffer_spriteram16_w)); /* Dip 1, DMA */ + map(0x1805, 0x1805).portr("DSW0").w(FUNC(csilver_state::buffer_spriteram16_w)); map(0x1807, 0x1807).w(FUNC(csilver_state::flip_screen_w)); map(0x1808, 0x180b).w(FUNC(csilver_state::scroll_w)); - map(0x180c, 0x180c).w(FUNC(csilver_state::sound_w)); + map(0x180c, 0x180c).w(m_soundlatch, FUNC(generic_latch_8_device::write)); map(0x180d, 0x180d).w(FUNC(csilver_state::control_w)); - map(0x180e, 0x180f).w(FUNC(csilver_state::i8751_w)); - map(0x1c00, 0x1c00).r(FUNC(csilver_state::i8751_h_r)); - map(0x1e00, 0x1e00).r(FUNC(csilver_state::i8751_l_r)); + map(0x180e, 0x180e).w(FUNC(csilver_state::i8751_hi_w)); + map(0x180f, 0x180f).w(FUNC(csilver_state::i8751_lo_w)); + map(0x1c00, 0x1c00).r(FUNC(csilver_state::i8751_hi_r)); + map(0x1e00, 0x1e00).r(FUNC(csilver_state::i8751_lo_r)); map(0x2000, 0x27ff).ram().w(FUNC(csilver_state::videoram_w)); map(0x2800, 0x2fff).ram().share("spriteram"); map(0x3000, 0x37ff).ram().share("share2"); @@ -469,11 +485,11 @@ void csilver_state::sub_map(address_map &map) map(0x1400, 0x17ff).ram().w(m_palette, FUNC(deco_rmc3_device::write8_ext)).share("palette_ext"); map(0x1800, 0x1800).w(FUNC(csilver_state::sub_irq_off_w)); map(0x1801, 0x1801).w(FUNC(csilver_state::main_irq_off_w)); - map(0x1802, 0x1802).w(FUNC(csilver_state::main_firq_off_w)); + map(0x1802, 0x1802).w(FUNC(csilver_state::both_firq_off_w)); map(0x1803, 0x1803).portr("IN2").w(FUNC(csilver_state::main_irq_on_w)); map(0x1804, 0x1804).portr("DSW1").w(FUNC(csilver_state::sub_irq_on_w)); - map(0x1805, 0x1805).portr("DSW0").w(FUNC(csilver_state::buffer_spriteram16_w)); /* DMA */ - map(0x180c, 0x180c).w(FUNC(csilver_state::sound_w)); + map(0x1805, 0x1805).portr("DSW0").w(FUNC(csilver_state::buffer_spriteram16_w)); + map(0x180c, 0x180c).w(m_soundlatch, FUNC(generic_latch_8_device::write)); map(0x2000, 0x27ff).ram().w(FUNC(csilver_state::videoram_w)).share(m_videoram); map(0x2800, 0x2fff).ram().share("spriteram"); map(0x3000, 0x37ff).ram().share("share2"); @@ -488,23 +504,23 @@ void oscar_state::oscar_map(address_map &map) map(0x1000, 0x1fff).ram().share("share2"); map(0x2000, 0x27ff).ram().w(FUNC(oscar_state::videoram_w)).share(m_videoram); map(0x2800, 0x2fff).rw(m_tilegen[0], FUNC(deco_bac06_device::pf_data_8bit_r), FUNC(deco_bac06_device::pf_data_8bit_w)); - map(0x3000, 0x37ff).ram().share("spriteram"); /* Sprites */ + map(0x3000, 0x37ff).ram().share("spriteram"); map(0x3800, 0x3bff).ram().w(m_palette, FUNC(deco_rmc3_device::write8)).share("palette"); map(0x3c00, 0x3c00).portr("IN0"); map(0x3c01, 0x3c01).portr("IN1"); - map(0x3c02, 0x3c02).portr("IN2"); /* VBL & coins */ - map(0x3c03, 0x3c03).portr("DSW0"); /* Dip 1 */ + map(0x3c02, 0x3c02).portr("IN2"); + map(0x3c03, 0x3c03).portr("DSW0"); map(0x3c04, 0x3c04).portr("DSW1"); map(0x3c00, 0x3c07).w(m_tilegen[0], FUNC(deco_bac06_device::pf_control0_8bit_w)); map(0x3c10, 0x3c1f).w(m_tilegen[0], FUNC(deco_bac06_device::pf_control1_8bit_w)); - map(0x3c80, 0x3c80).w(FUNC(oscar_state::buffer_spriteram16_w)); /* DMA */ - map(0x3d00, 0x3d00).w(FUNC(oscar_state::bank_w)); /* BNKS */ - map(0x3d80, 0x3d80).w(m_soundlatch, FUNC(generic_latch_8_device::write)); /* SOUN */ - map(0x3e00, 0x3e00).w(FUNC(oscar_state::coin_clear_w)); /* COINCL */ - map(0x3e80, 0x3e80).w(FUNC(oscar_state::sub_irq_on_w)); /* IRQ 2 */ - map(0x3e81, 0x3e81).w(FUNC(oscar_state::main_irq_off_w)); /* IRC 1 */ - map(0x3e82, 0x3e82).w(FUNC(oscar_state::main_irq_on_w)); /* IRQ 1 */ - map(0x3e83, 0x3e83).w(FUNC(oscar_state::sub_irq_off_w)); /* IRC 2 */ + map(0x3c80, 0x3c80).w(FUNC(oscar_state::buffer_spriteram16_w)); // DMA + map(0x3d00, 0x3d00).w(FUNC(oscar_state::bank_w)); // BNKS + map(0x3d80, 0x3d80).w(m_soundlatch, FUNC(generic_latch_8_device::write)); // SOUN + map(0x3e00, 0x3e00).w(FUNC(oscar_state::coin_clear_w)); // COINCL + map(0x3e80, 0x3e80).w(FUNC(oscar_state::sub_irq_on_w)); // IRQ 2 + map(0x3e81, 0x3e81).w(FUNC(oscar_state::main_irq_off_w)); // IRC 1 + map(0x3e82, 0x3e82).w(FUNC(oscar_state::main_irq_on_w)); // IRQ 1 + map(0x3e83, 0x3e83).w(FUNC(oscar_state::sub_irq_off_w)); // IRC 2 map(0x4000, 0x7fff).bankr(m_mainbank); map(0x8000, 0xffff).rom(); } @@ -514,10 +530,10 @@ void oscar_state::oscar_sub_map(address_map &map) map(0x0000, 0x0eff).ram().share("share1"); map(0x0f00, 0x0fff).ram(); map(0x1000, 0x1fff).ram().share("share2"); - map(0x3e80, 0x3e80).w(FUNC(oscar_state::sub_irq_on_w)); /* IRQ 2 */ - map(0x3e81, 0x3e81).w(FUNC(oscar_state::main_irq_off_w)); /* IRC 1 */ - map(0x3e82, 0x3e82).w(FUNC(oscar_state::main_irq_on_w)); /* IRQ 1 */ - map(0x3e83, 0x3e83).w(FUNC(oscar_state::sub_irq_off_w)); /* IRC 2 */ + map(0x3e80, 0x3e80).w(FUNC(oscar_state::sub_irq_on_w)); // IRQ 2 + map(0x3e81, 0x3e81).w(FUNC(oscar_state::main_irq_off_w)); // IRC 1 + map(0x3e82, 0x3e82).w(FUNC(oscar_state::main_irq_on_w)); // IRQ 1 + map(0x3e83, 0x3e83).w(FUNC(oscar_state::sub_irq_off_w)); // IRC 2 map(0x4000, 0xffff).rom(); } @@ -528,23 +544,32 @@ void srdarwin_state::main_map(address_map &map) map(0x0800, 0x0fff).ram().w(FUNC(srdarwin_state::srdarwin_videoram_w)).share(m_videoram); map(0x1000, 0x13ff).ram(); map(0x1400, 0x17ff).rw(FUNC(srdarwin_state::bg_ram_r), FUNC(srdarwin_state::bg_ram_w)).share("bg_ram"); - map(0x1800, 0x1801).w(FUNC(srdarwin_state::i8751_w)); - map(0x1802, 0x1802).w(FUNC(srdarwin_state::i8751_reset_w)); /* Maybe.. */ - map(0x1803, 0x1803).nopw(); /* NMI ack */ - map(0x1804, 0x1804).w(m_spriteram, FUNC(buffered_spriteram8_device::write)); /* DMA */ - map(0x1805, 0x1806).w(FUNC(srdarwin_state::control_w)); /* Scroll & Bank */ - map(0x2000, 0x2000).rw(FUNC(srdarwin_state::i8751_h_r), FUNC(srdarwin_state::sound_w)); /* Sound */ - map(0x2001, 0x2001).rw(FUNC(srdarwin_state::i8751_l_r), FUNC(srdarwin_state::flip_screen_w)); /* Flipscreen */ + map(0x1800, 0x1800).w(FUNC(srdarwin_state::i8751_hi_w)); + map(0x1801, 0x1801).w(FUNC(srdarwin_state::i8751_lo_w)); + map(0x1803, 0x1803).nopw(); + map(0x1804, 0x1804).w(m_spriteram, FUNC(buffered_spriteram8_device::write)); + map(0x1805, 0x1806).w(FUNC(srdarwin_state::control_w)); + map(0x2000, 0x2000).r(FUNC(srdarwin_state::i8751_hi_r)).w(m_soundlatch, FUNC(generic_latch_8_device::write)); + map(0x2001, 0x2001).rw(FUNC(srdarwin_state::i8751_lo_r), FUNC(srdarwin_state::flip_screen_w)); map(0x2800, 0x288f).w(m_palette, FUNC(deco_rmc3_device::write8)).share("palette"); map(0x3000, 0x308f).w(m_palette, FUNC(deco_rmc3_device::write8_ext)).share("palette_ext"); - map(0x3800, 0x3800).portr("DSW0"); /* Dip 1 */ - map(0x3801, 0x3801).portr("IN0"); /* Player 1 */ - map(0x3802, 0x3802).portr("IN1"); /* Player 2 (cocktail) + VBL */ - map(0x3803, 0x3803).portr("DSW1"); /* Dip 2 */ + map(0x3800, 0x3800).portr("DSW0"); + map(0x3801, 0x3801).portr("IN0"); + map(0x3802, 0x3802).portr("IN1"); + map(0x3803, 0x3803).portr("DSW1"); map(0x4000, 0x7fff).bankr(m_mainbank); map(0x8000, 0xffff).rom(); } +void srdarwin_state::srdarwinb_map(address_map &map) +{ + srdarwin_state::main_map(map); + + map(0x1800, 0x1801).nopw(); + map(0x2000, 0x2000).unmapr(); + map(0x2001, 0x2001).portr("COIN"); +} + void oscar_state::cobra_map(address_map &map) { map(0x0000, 0x07ff).ram(); @@ -554,26 +579,27 @@ void oscar_state::cobra_map(address_map &map) map(0x2000, 0x27ff).ram().w(FUNC(oscar_state::videoram_w)).share(m_videoram); map(0x2800, 0x2fff).ram().share("spriteram"); map(0x3000, 0x31ff).ram().w(m_palette, FUNC(deco_rmc3_device::write8)).share("palette"); - map(0x3200, 0x37ff).nopw(); /* Unused */ - map(0x3800, 0x3800).portr("IN0"); /* Player 1 */ - map(0x3801, 0x3801).portr("IN1"); /* Player 2 */ - map(0x3802, 0x3802).portr("DSW0"); /* Dip 1 */ - map(0x3803, 0x3803).portr("DSW1"); /* Dip 2 */ + map(0x3200, 0x37ff).nopw(); // Unused + map(0x3800, 0x3800).portr("IN0"); + map(0x3801, 0x3801).portr("IN1"); + map(0x3802, 0x3802).portr("DSW0"); + map(0x3803, 0x3803).portr("DSW1"); map(0x3800, 0x3807).w(m_tilegen[0], FUNC(deco_bac06_device::pf_control0_8bit_w)); map(0x3810, 0x381f).w(m_tilegen[0], FUNC(deco_bac06_device::pf_control1_8bit_w)); - map(0x3a00, 0x3a00).portr("IN2"); /* VBL & coins */ + map(0x3a00, 0x3a00).portr("IN2"); map(0x3a00, 0x3a07).w(m_tilegen[1], FUNC(deco_bac06_device::pf_control0_8bit_w)); map(0x3a10, 0x3a1f).w(m_tilegen[1], FUNC(deco_bac06_device::pf_control1_8bit_w)); map(0x3c00, 0x3c00).w(FUNC(oscar_state::bank_w)); - map(0x3c02, 0x3c02).w(FUNC(oscar_state::buffer_spriteram16_w)); /* DMA */ - map(0x3e00, 0x3e00).w(FUNC(oscar_state::sound_w)); + map(0x3c02, 0x3c02).w(FUNC(oscar_state::buffer_spriteram16_w)); + map(0x3e00, 0x3e00).w(m_soundlatch, FUNC(generic_latch_8_device::write)); map(0x4000, 0x7fff).bankr(m_mainbank); map(0x8000, 0xffff).rom(); } + /******************************************************************************/ -/* Used for Cobra Command, Maze Hunter, Super Real Darwin etc */ +// Used for Cobra Command, Maze Hunter, Super Real Darwin etc void dec8_state_base::dec8_s_map(address_map &map) { map(0x0000, 0x05ff).ram(); @@ -583,7 +609,7 @@ void dec8_state_base::dec8_s_map(address_map &map) map(0x8000, 0xffff).rom(); } -/* Used by Gondomania, Psycho-Nics Oscar & Garyo Retsuden */ +// Used by Gondomania, Psycho-Nics Oscar & Garyo Retsuden void dec8_state_base::oscar_s_map(address_map &map) { map(0x0000, 0x05ff).ram(); @@ -599,7 +625,7 @@ void oscar_state::oscarbl_s_opcodes_map(address_map &map) map(0x8000, 0xffff).rom().region("audiocpu", 0x10000); } -/* Used by Last Mission, Shackled & Breywood */ +// Used by Last Mission, Shackled & Breywood void lastmisn_state::ym3526_s_map(address_map &map) { map(0x0000, 0x05ff).ram(); @@ -609,20 +635,21 @@ void lastmisn_state::ym3526_s_map(address_map &map) map(0x8000, 0xffff).rom(); } -/* Captain Silver - same sound system as Pocket Gal */ +// Captain Silver - same sound system as Pocket Gal void csilver_state::sound_map(address_map &map) { map(0x0000, 0x07ff).ram(); map(0x0800, 0x0801).w("ym1", FUNC(ym2203_device::write)); map(0x1000, 0x1001).w("ym2", FUNC(ym3526_device::write)); - map(0x1800, 0x1800).w(FUNC(csilver_state::adpcm_data_w)); /* ADPCM data for the MSM5205 chip */ + map(0x1800, 0x1800).w(FUNC(csilver_state::adpcm_data_w)); // ADPCM data for the MSM5205 chip map(0x2000, 0x2000).w(FUNC(csilver_state::sound_bank_w)); map(0x3000, 0x3000).r(m_soundlatch, FUNC(generic_latch_8_device::read)); - map(0x3400, 0x3400).r(FUNC(csilver_state::adpcm_reset_r)); /* ? not sure */ + map(0x3400, 0x3400).r(FUNC(csilver_state::adpcm_reset_r)); // ? not sure map(0x4000, 0x7fff).bankr("soundbank"); map(0x8000, 0xffff).rom(); } + /******************************************************************************/ /* @@ -657,132 +684,140 @@ void dec8_mcu_state_base::i8751_port1_w(u8 data) m_i8751_port1 = data; } -void lastmisn_state::gondo_mcu_to_main_w(u8 data) +void ghostb_state::mcu_to_main_w(u8 data) { - // P2 - controls latches for main CPU communication - if ((data&0x10)==0) - m_i8751_port0 = m_i8751_value>>8; - if ((data&0x20)==0) - m_i8751_port1 = m_i8751_value&0xff; - if ((data&0x40)==0) + const u8 fall = ~data & m_i8751_p2; + const u8 rise = data & ~m_i8751_p2; + m_i8751_p2 = data; + + // P24-P27: controls latches for main CPU communication + if (BIT(fall, 4)) + m_i8751_port0 = m_i8751_value >> 8; + if (BIT(fall, 5)) + m_i8751_port1 = m_i8751_value & 0xff; + if (BIT(fall, 6)) m_i8751_return = (m_i8751_return & 0xff) | (m_i8751_port0 << 8); - if ((data&0x80)==0) + if (BIT(fall, 7)) m_i8751_return = (m_i8751_return & 0xff00) | m_i8751_port1; - // P2 - IRQ to main CPU - if (BIT(data, 2) && !BIT(m_i8751_p2, 2) && m_secclr) + // P22: IRQ to main CPU + if (BIT(rise, 2) && m_secclr) m_maincpu->set_input_line(M6809_IRQ_LINE, ASSERT_LINE); - m_i8751_p2 = data; + + // P20,P21: N/C } -void lastmisn_state::shackled_mcu_to_main_w(u8 data) +void lastmisn_state::mcu_to_main_w(u8 data) { - // P2 - controls latches for main CPU communication - if ((data&0x10)==0) + const u8 fall = ~data & m_i8751_p2; + const u8 rise = data & ~m_i8751_p2; + m_i8751_p2 = data; + + // P24-P27: controls latches for main CPU communication + if (BIT(fall, 4)) { - m_i8751_port0 = m_i8751_value>>8; + m_i8751_port0 = m_i8751_value >> 8; - // mcu sets p0 to 0x00 + // lastmisn mcu sets p0 to 0x00 m_mcu->set_port_forced_input(0, m_i8751_port0); } - if ((data&0x20)==0) - m_i8751_port1 = m_i8751_value&0xff; - if ((data&0x40)==0) + if (BIT(fall, 5)) + m_i8751_port1 = m_i8751_value & 0xff; + if (BIT(fall, 6)) m_i8751_return = (m_i8751_return & 0xff) | (m_i8751_port0 << 8); - if ((data&0x80)==0) + if (BIT(fall, 7)) m_i8751_return = (m_i8751_return & 0xff00) | m_i8751_port1; - // P2 - IRQ to main CPU - if (BIT(data, 2) && !BIT(m_i8751_p2, 2)) + // P22: FIRQ to both CPUs + if (BIT(rise, 2)) + { + m_maincpu->set_input_line(M6809_FIRQ_LINE, ASSERT_LINE); m_subcpu->set_input_line(M6809_FIRQ_LINE, ASSERT_LINE); + } - if (!BIT(data, 0)) + // P20,P21: clear MCU INT0/1 + if (BIT(~data, 0)) m_mcu->set_input_line(MCS51_INT0_LINE, CLEAR_LINE); - if (!BIT(data, 1)) + if (BIT(~data, 1)) m_mcu->set_input_line(MCS51_INT1_LINE, CLEAR_LINE); - - m_i8751_p2 = data; } -/* - Super Real Darwin is similar but only appears to have a single port -*/ - +// Super Real Darwin is similar but only appears to have a single port void srdarwin_state::mcu_to_main_w(u8 data) { - // P2 - controls latches for main CPU communication - if ((data & 0x10) == 0) - { + const u8 fall = ~data & m_i8751_p2; + //const u8 rise = data & ~m_i8751_p2; + m_i8751_p2 = data; + + // P24-P27: controls latches for main CPU communication + if (BIT(fall, 4)) m_i8751_port0 = m_i8751_value >> 8; - } - if ((data & 0x20) == 0) - { - m_i8751_port0 = m_i8751_value & 0xff; - } - if ((data&0x40)==0) + if (BIT(fall, 5)) + m_i8751_port0 = m_i8751_value & 0xff; + if (BIT(fall, 6)) m_i8751_return = (m_i8751_return & 0xff) | (m_i8751_port0 << 8); - if ((data&0x80)==0) + if (BIT(fall, 7)) m_i8751_return = (m_i8751_return & 0xff00) | m_i8751_port0; - // P2 - IRQ to main CPU - if ((data&0x04)==0) - m_maincpu->set_input_line(M6809_IRQ_LINE, ASSERT_LINE); + // P22: maincpu has no IRQ/FIRQ handler - // guess, toggled after above. - if ((data&0x02)==0) - m_maincpu->set_input_line(MCS51_INT1_LINE, CLEAR_LINE); + // P21: clear MCU INT1 + if (BIT(~data, 1)) + m_mcu->set_input_line(MCS51_INT1_LINE, CLEAR_LINE); } void csilver_state::mcu_to_main_w(u8 data) { - if (~data & 0x10) - m_i8751_port0 = m_i8751_value >> 8; + const u8 fall = ~data & m_i8751_p2; + const u8 rise = data & ~m_i8751_p2; + m_i8751_p2 = data; - if (~data & 0x20) + // P24-P27: controls latches for main CPU communication + if (BIT(fall, 4)) + m_i8751_port0 = m_i8751_value >> 8; + if (BIT(fall, 5)) m_i8751_port1 = m_i8751_value & 0xff; + if (BIT(fall, 6)) + m_i8751_return = (m_i8751_return & 0xff) | (m_i8751_port0 << 8); + if (BIT(fall, 7)) + m_i8751_return = (m_i8751_return & 0xff00) | m_i8751_port1; - if (~data & 0x40) + // P22: FIRQ to both CPUs + if (BIT(rise, 2)) { - m_i8751_return = (m_i8751_return & 0xff) | (m_i8751_port0 << 8); - m_maincpu->set_input_line(M6809_FIRQ_LINE, ASSERT_LINE); // FIRQ to main cpu + m_maincpu->set_input_line(M6809_FIRQ_LINE, ASSERT_LINE); + m_subcpu->set_input_line(M6809_FIRQ_LINE, ASSERT_LINE); } - if (~data & 0x80) - m_i8751_return = (m_i8751_return & 0xff00) | m_i8751_port1; - - m_i8751_p2 = data; + // P21: clear MCU INT1 + if (BIT(~data, 1)) + m_mcu->set_input_line(MCS51_INT1_LINE, CLEAR_LINE); } -/******************************************************************************/ - -#define PLAYER1_JOYSTICK /* Player 1 controls */ \ - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY \ - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY \ - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY \ - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY - -#define PLAYER2_JOYSTICK /* Player 2 controls */ \ - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL \ - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL \ - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL \ - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL +/******************************************************************************/ -/* verified from M6809 code */ +// verified from M6809 code static INPUT_PORTS_START( lastmisn ) PORT_START("IN0") - PLAYER1_JOYSTICK - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) /* shoot */ - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) /* bomb */ - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) /* select */ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) // shoot + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) // bomb + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) // select PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("IN1") - PLAYER2_JOYSTICK - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL /* shoot */ - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL /* bomb */ - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_COCKTAIL /* select */ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL // shoot + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL // bomb + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_COCKTAIL // select PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("IN2") @@ -793,25 +828,25 @@ static INPUT_PORTS_START( lastmisn ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) - PORT_START("I8751") + PORT_START("COIN") PORT_BIT( 0x1f, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_WRITE_LINE_DEVICE_MEMBER("coin", FUNC(input_merger_device::in_w<0>)) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_WRITE_LINE_DEVICE_MEMBER("coin", FUNC(input_merger_device::in_w<1>)) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_WRITE_LINE_DEVICE_MEMBER("coin", FUNC(input_merger_device::in_w<2>)) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_WRITE_LINE_DEVICE_MEMBER("coin", FUNC(input_merger_device::in_w<1>)) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_WRITE_LINE_DEVICE_MEMBER("coin", FUNC(input_merger_device::in_w<0>)) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_WRITE_LINE_DEVICE_MEMBER("coin", FUNC(input_merger_device::in_w<2>)) PORT_START("DSW0") - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2") - PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) ) + PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:1,2") PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x01, DEF_STR( 1C_3C ) ) - PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:3,4") + PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) ) + PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:3,4") PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) ) - PORT_DIPSETTING( 0x0c, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x08, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x04, DEF_STR( 3C_1C ) ) + PORT_DIPSETTING( 0x08, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x0c, DEF_STR( 1C_1C ) ) PORT_DIPNAME( 0x10, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:5") PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) @@ -829,7 +864,7 @@ static INPUT_PORTS_START( lastmisn ) PORT_DIPNAME( 0x01, 0x01, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1") PORT_DIPSETTING( 0x01, "3" ) PORT_DIPSETTING( 0x00, "5" ) - PORT_DIPNAME( 0x06, 0x06, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:2,3") /* tables at 0x82c1 (4 words) and 0xde38 (3 words) in 'lastmisn', 0x82c1 and 0xde17 in 'lastmisno' */ + PORT_DIPNAME( 0x06, 0x06, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:2,3") // tables at 0x82c1 (4 words) and 0xde38 (3 words) in 'lastmisn', 0x82c1 and 0xde17 in 'lastmisno' PORT_DIPSETTING( 0x06, "30k 70k 70k+" ) PORT_DIPSETTING( 0x04, "40k 90k 90k+" ) PORT_DIPSETTING( 0x02, "40k and 80k" ) @@ -846,36 +881,42 @@ static INPUT_PORTS_START( lastmisn ) PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) INPUT_PORTS_END -/* verified from M6809 code */ +// verified from M6809 code static INPUT_PORTS_START( lastmisnj ) PORT_INCLUDE(lastmisn) PORT_MODIFY("DSW1") - PORT_DIPNAME( 0x06, 0x06, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:2,3") /* tables at 0x82b7 (4 words) and 0xdd29 (3 words) */ + PORT_DIPNAME( 0x06, 0x06, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:2,3") // tables at 0x82b7 (4 words) and 0xdd29 (3 words) PORT_DIPSETTING( 0x06, "30k 50k 50k+" ) PORT_DIPSETTING( 0x04, "30k 70k 70k+" ) PORT_DIPSETTING( 0x02, "50k 100k 100k+" ) PORT_DIPSETTING( 0x00, "50k only" ) PORT_DIPNAME( 0x18, 0x18, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:4,5") PORT_DIPSETTING( 0x18, DEF_STR( Normal ) ) - PORT_DIPSETTING( 0x10, DEF_STR( Hard ) ) /* "difficult" */ - PORT_DIPSETTING( 0x08, DEF_STR( Very_Hard ) ) /* "very difficult" */ - PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) ) /* "top difficult" */ + PORT_DIPSETTING( 0x10, DEF_STR( Hard ) ) // "difficult" + PORT_DIPSETTING( 0x08, DEF_STR( Very_Hard ) ) // "very difficult" + PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) ) // "top difficult" PORT_DIPUNUSED( 0x80, IP_ACTIVE_LOW ) PORT_DIPLOCATION("SW2:8") INPUT_PORTS_END -/* verified from M6809 code */ +// verified from M6809 code static INPUT_PORTS_START( shackled ) PORT_START("IN0") - PLAYER1_JOYSTICK + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("IN1") - PLAYER2_JOYSTICK + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) @@ -889,13 +930,13 @@ static INPUT_PORTS_START( shackled ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED ) // tested and discarded by vestigial code at start PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) - PORT_START("I8751") + PORT_START("COIN") PORT_BIT( 0x1f, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_WRITE_LINE_DEVICE_MEMBER("coin", FUNC(input_merger_device::in_w<0>)) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_WRITE_LINE_DEVICE_MEMBER("coin", FUNC(input_merger_device::in_w<1>)) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_WRITE_LINE_DEVICE_MEMBER("coin", FUNC(input_merger_device::in_w<2>)) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_WRITE_LINE_DEVICE_MEMBER("coin", FUNC(input_merger_device::in_w<2>)) PORT_START("DSW0") PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:1") @@ -904,7 +945,7 @@ static INPUT_PORTS_START( shackled ) PORT_DIPUNUSED( 0x02, IP_ACTIVE_LOW ) PORT_DIPLOCATION("SW1:2") PORT_DIPUNUSED( 0x04, IP_ACTIVE_LOW ) PORT_DIPLOCATION("SW1:3") PORT_DIPUNUSED( 0x08, IP_ACTIVE_LOW ) PORT_DIPLOCATION("SW1:4") - PORT_DIPNAME( 0x10, 0x10, "Leave Off" ) PORT_DIPLOCATION("SW1:5") /* game doesn't boot when this is On - code at 0x401a - related to MCU - "dias" in Dip Switches page */ + PORT_DIPNAME( 0x10, 0x10, "Leave Off" ) PORT_DIPLOCATION("SW1:5") // game doesn't boot when this is On - code at 0x401a - related to MCU - "dias" in Dip Switches page PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPUNUSED( 0x20, IP_ACTIVE_LOW ) PORT_DIPLOCATION("SW1:6") @@ -914,8 +955,8 @@ static INPUT_PORTS_START( shackled ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW1") - /* tables in main CPU : 0x859b (Help), 0x85e9 (6-Help), 0x8fbe (Coin), 0x91b6 (Heart) */ - PORT_DIPNAME( 0x07, 0x07, "Coin/Heart/Help/6-Help" ) PORT_DIPLOCATION("SW2:1,2,3") /* name from Dip Switches page */ + // tables in main CPU : 0x859b (Help), 0x85e9 (6-Help), 0x8fbe (Coin), 0x91b6 (Heart) + PORT_DIPNAME( 0x07, 0x07, "Coin/Heart/Help/6-Help" ) PORT_DIPLOCATION("SW2:1,2,3") // name from Dip Switches page PORT_DIPSETTING( 0x00, "2/100/50/200" ) PORT_DIPSETTING( 0x01, "4/100/60/300" ) PORT_DIPSETTING( 0x02, "6/200/70/300" ) @@ -936,12 +977,12 @@ static INPUT_PORTS_START( shackled ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END -/* verified from M6809 code */ +// verified from M6809 code static INPUT_PORTS_START( breywood ) PORT_INCLUDE(shackled) PORT_MODIFY("DSW1") - PORT_DIPNAME( 0x0f, 0x0f, "Power" ) PORT_DIPLOCATION("SW2:1,2,3,4") /* table at 0x41be in sub CPU */ + PORT_DIPNAME( 0x0f, 0x0f, "Power" ) PORT_DIPLOCATION("SW2:1,2,3,4") // table at 0x41be in sub CPU PORT_DIPSETTING( 0x07, "200" ) PORT_DIPSETTING( 0x0b, "300" ) PORT_DIPSETTING( 0x03, "400" ) @@ -961,15 +1002,21 @@ static INPUT_PORTS_START( breywood ) INPUT_PORTS_END -/* verified from HD6309 code */ +// verified from HD6309 code static INPUT_PORTS_START( gondo ) PORT_START("IN0") - PLAYER1_JOYSTICK - /* Top 4 bits are rotary controller */ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY + // Top 4 bits are rotary controller PORT_START("IN1") - PLAYER2_JOYSTICK - /* Top 4 bits are rotary controller */ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2) + // Top 4 bits are rotary controller PORT_START("IN2") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) @@ -989,29 +1036,29 @@ static INPUT_PORTS_START( gondo ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) - PORT_START("I8751") /* hooked up on the i8751 */ - /* Low 4 bits not connected on schematics */ + PORT_START("COIN") // hooked up on the i8751 + // Low 4 bits not connected on schematics PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN3 ) /* produces sound but gives 0 credits - coinage not initialised in the MCU */ + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) // produces sound but gives 0 credits - coinage not initialised in the MCU - PORT_START("AN0") /* player 1 12-way rotary control */ + PORT_START("AN0") // player 1 12-way rotary control PORT_BIT( 0x0f, 0x00, IPT_POSITIONAL ) PORT_POSITIONS(12) PORT_WRAPS PORT_SENSITIVITY(15) PORT_KEYDELTA(1) PORT_CODE_DEC(KEYCODE_Z) PORT_CODE_INC(KEYCODE_X) PORT_REVERSE PORT_FULL_TURN_COUNT(12) - PORT_START("AN1") /* player 2 12-way rotary control */ + PORT_START("AN1") // player 2 12-way rotary control PORT_BIT( 0x0f, 0x00, IPT_POSITIONAL ) PORT_POSITIONS(12) PORT_WRAPS PORT_SENSITIVITY(15) PORT_KEYDELTA(1) PORT_CODE_DEC(KEYCODE_N) PORT_CODE_INC(KEYCODE_M) PORT_PLAYER(2) PORT_REVERSE PORT_FULL_TURN_COUNT(12) PORT_START("DSW0") - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2") /* table at 0x01b8 in MCU (4 bytes : coins in 4 MSbits and credits in 4 LSbits) */ + PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2") // table at 0x01b8 in MCU (4 bytes : coins in 4 MSbits and credits in 4 LSbits) PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x01, DEF_STR( 1C_3C ) ) - PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:3,4") /* table at 0x01bc in MCU (4 bytes : coins in 4 MSbits and credits in 4 LSbits) */ + PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:3,4") // table at 0x01bc in MCU (4 bytes : coins in 4 MSbits and credits in 4 LSbits) PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x0c, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) ) @@ -1023,7 +1070,7 @@ static INPUT_PORTS_START( gondo ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:7") PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, "Swap buttons" ) PORT_DIPLOCATION("SW1:8") /* code at 0x8a2b in 'gondo', 0x88c5 in 'makyosen' - undocumented in the manual */ + PORT_DIPNAME( 0x80, 0x80, "Swap buttons" ) PORT_DIPLOCATION("SW1:8") // code at 0x8a2b in 'gondo', 0x88c5 in 'makyosen' - undocumented in the manual PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) @@ -1032,7 +1079,7 @@ static INPUT_PORTS_START( gondo ) PORT_DIPSETTING( 0x01, "1" ) PORT_DIPSETTING( 0x03, "3" ) PORT_DIPSETTING( 0x02, "5" ) - PORT_DIPSETTING( 0x00, "99 (Cheat)") // gives 99 lives + PORT_DIPSETTING( 0x00, "99 (Cheat)") // gives 99 lives PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:3,4") PORT_DIPSETTING( 0x08, DEF_STR( Easy ) ) PORT_DIPSETTING( 0x0c, DEF_STR( Normal ) ) @@ -1047,28 +1094,34 @@ static INPUT_PORTS_START( gondo ) INPUT_PORTS_END -/* verified from HD6309 code - coinage needs further checking when the MCU is available */ +// verified from HD6309 code static INPUT_PORTS_START( garyoret ) PORT_START("IN0") - PLAYER1_JOYSTICK - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) /* shoot */ - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) /* bomb */ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) // shoot + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) // bomb PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 ) PORT_START("IN1") - PLAYER2_JOYSTICK - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) /* shoot */ - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) /* bomb */ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) // shoot + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) // bomb PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) - PORT_START("I8751") /* hooked up on the (fake) i8751 */ + PORT_START("COIN") // hooked up on the i8751 PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN3 ) /* produces sound but gives 0 credits - coinage not initialised in the (fake) MCU */ + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) // produces sound but gives 0 credits - coinage not initialised in the MCU PORT_START("DSW0") PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2") @@ -1088,7 +1141,7 @@ static INPUT_PORTS_START( garyoret ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:7") PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPUNUSED( 0x80, IP_ACTIVE_LOW ) PORT_DIPLOCATION("SW1:8") /* not tested - no cocktail when simultaneous players anyway */ + PORT_DIPUNUSED( 0x80, IP_ACTIVE_LOW ) PORT_DIPLOCATION("SW1:8") // not tested - no cocktail when simultaneous players anyway PORT_START("DSW1") PORT_DIPNAME( 0x01, 0x01, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1") @@ -1102,26 +1155,32 @@ static INPUT_PORTS_START( garyoret ) PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) ) PORT_DIPUNUSED( 0x10, IP_ACTIVE_LOW ) PORT_DIPLOCATION("SW2:5") PORT_DIPUNUSED( 0x20, IP_ACTIVE_LOW ) PORT_DIPLOCATION("SW2:6") - PORT_DIPNAME( 0x40, 0x40, "Leave Off" ) PORT_DIPLOCATION("SW2:7") /* game doesn't boot when this is On - code at 0x807f and test at 0x819e */ + PORT_DIPNAME( 0x40, 0x40, "Leave Off" ) PORT_DIPLOCATION("SW2:7") // game doesn't boot when this is On - code at 0x807f and test at 0x819e PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPUNUSED( 0x80, IP_ACTIVE_LOW ) PORT_DIPLOCATION("SW2:8") INPUT_PORTS_END -/* verified from HD6309 code */ +// verified from HD6309 code static INPUT_PORTS_START( ghostb ) PORT_START("IN0") - PLAYER1_JOYSTICK - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) /* "FIRE" */ - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) /* beam / upgradable shot when out of energy */ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) // "FIRE" + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) // beam / upgradable shot when out of energy PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("IN1") - PLAYER2_JOYSTICK - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) /* "FIRE" */ - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) /* beam / upgradable shot when out of energy */ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) // "FIRE" + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) // beam / upgradable shot when out of energy PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -1135,21 +1194,25 @@ static INPUT_PORTS_START( ghostb ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_START("I8751") - /* Low 4 bits not connected on schematics */ + PORT_START("COIN") + // Low 4 bits not connected on schematics PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN3 ) /* produce sound but gives 0 credits - "ANDA" instruction at 0x8a5a */ + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) // produce sound but gives 0 credits - "ANDA" instruction at 0x8a5a PORT_START("DSW0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 ) // Tested on real hardware PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 ) // 1-2 should be coinage. PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) - // PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) ) - // PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) ) - // PORT_DIPSETTING( 0x01, DEF_STR( 1C_3C ) ) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") // PORT_DIPLOCATION("SW1:3") // Manual says 'Must Be Off'. Note: Turning on 3+4+5+8 does nothing on real hardware. + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 ) // Tested on real hardware + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 ) + // 1-2 should be coinage. +// PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2") +// PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) +// PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) ) +// PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) ) +// PORT_DIPSETTING( 0x01, DEF_STR( 1C_3C ) ) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) +// PORT_DIPLOCATION("SW1:3") // Manual says 'Must Be Off'. Note: Turning on 3+4+5+8 does nothing on real hardware. PORT_DIPUNUSED( 0x04, IP_ACTIVE_LOW ) PORT_DIPLOCATION("SW1:4") // Manual says 'Must Be Off'. See note PORT_DIPUNUSED( 0x10, IP_ACTIVE_LOW ) PORT_DIPLOCATION("SW1:5") // Manual says 'Must Be Off'. See note PORT_DIPNAME( 0x20, 0x20, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:6") @@ -1161,17 +1224,17 @@ static INPUT_PORTS_START( ghostb ) PORT_DIPUNUSED( 0x80, IP_ACTIVE_LOW ) PORT_DIPLOCATION("SW1:8") // not tested - no cocktail when simultaneous players anyway. Manual says 'Must Be Off'. See note PORT_START("DSW1") - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2") /* lives are added when STARTn is pressed */ + PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2") // lives are added when STARTn is pressed PORT_DIPSETTING( 0x01, "1" ) PORT_DIPSETTING( 0x03, "3" ) PORT_DIPSETTING( 0x02, "5" ) - PORT_DIPSETTING( 0x00, "Invulnerability (Cheat)") // gives 1 life and energy does not decrease + PORT_DIPSETTING( 0x00, "Invulnerability (Cheat)") // gives 1 life and energy does not decrease PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:3,4") PORT_DIPSETTING( 0x08, DEF_STR( Easy ) ) PORT_DIPSETTING( 0x0c, DEF_STR( Normal ) ) PORT_DIPSETTING( 0x04, DEF_STR( Hard ) ) PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) ) - PORT_DIPNAME( 0x30, 0x30, "Max Scene Time" ) PORT_DIPLOCATION("SW2:5,6") /* 1:00 is added when STARTn is pressed until max scene time is reached */ + PORT_DIPNAME( 0x30, 0x30, "Max Scene Time" ) PORT_DIPLOCATION("SW2:5,6") // 1:00 is added when STARTn is pressed until max scene time is reached PORT_DIPSETTING( 0x00, "4:00" ) PORT_DIPSETTING( 0x10, "4:30" ) PORT_DIPSETTING( 0x30, "5:00" ) @@ -1179,45 +1242,45 @@ static INPUT_PORTS_START( ghostb ) PORT_DIPNAME( 0x40, 0x00, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:7") PORT_DIPSETTING( 0x40, DEF_STR( No ) ) PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) - PORT_DIPNAME( 0x80, 0x80, "Energy Bonus" ) PORT_DIPLOCATION("SW2:8") /* energy is set to value each new life */ - PORT_DIPSETTING( 0x80, DEF_STR( None ) ) /* 0x0100 */ - PORT_DIPSETTING( 0x00, "+25%" ) /* 0x0140 */ + PORT_DIPNAME( 0x80, 0x80, "Energy Bonus" ) PORT_DIPLOCATION("SW2:8") // energy is set to value each new life + PORT_DIPSETTING( 0x80, DEF_STR( None ) ) // 0x0100 + PORT_DIPSETTING( 0x00, "+25%" ) // 0x0140 INPUT_PORTS_END -/* verified from HD6309 code */ +// verified from HD6309 code static INPUT_PORTS_START( ghostb2a ) PORT_INCLUDE(ghostb) - /* BUTTON1 : upgradable shot - BUTTON2 : beam (provided you have energy) */ + // BUTTON1 : upgradable shot - BUTTON2 : beam (provided you have energy) - PORT_MODIFY("I8751") - /* Low 4 bits not connected on schematics */ + PORT_MODIFY("COIN") + // Low 4 bits not connected on schematics PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN3 ) /* produce sound but gives 0 lives - "ANDA" instruction at 0x8a20 */ + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) // produce sound but gives 0 lives - "ANDA" instruction at 0x8a20 PORT_MODIFY("DSW0") - /* NO start buttons - to start a game, press any button from any player */ + // NO start buttons - to start a game, press any button from any player PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) -// 1 & 2 should be coinage -// PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2") -// PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) -// PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) ) -// PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) ) -// PORT_DIPSETTING( 0x01, DEF_STR( 1C_3C ) ) + // 1 & 2 should be coinage +// PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2") +// PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) +// PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) ) +// PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) ) +// PORT_DIPSETTING( 0x01, DEF_STR( 1C_3C ) ) PORT_MODIFY("DSW1") - /* lives are added when COINn is pressed */ - /* 1:00 is added when COINn is pressed until max scene time is reached */ - PORT_DIPNAME( 0x80, 0x80, "Energy Bonus" ) PORT_DIPLOCATION("SW2:8") /* energy is added when COINn is pressed */ - PORT_DIPSETTING( 0x80, DEF_STR( None ) ) /* 0x0040 */ - PORT_DIPSETTING( 0x00, "+50%" ) /* 0x0060 */ + // lives are added when COINn is pressed + // 1:00 is added when COINn is pressed until max scene time is reached + PORT_DIPNAME( 0x80, 0x80, "Energy Bonus" ) PORT_DIPLOCATION("SW2:8") // energy is added when COINn is pressed + PORT_DIPSETTING( 0x80, DEF_STR( None ) ) // 0x0040 + PORT_DIPSETTING( 0x00, "+50%" ) // 0x0060 INPUT_PORTS_END -/* verified from HD6309 code */ +// verified from HD6309 code static INPUT_PORTS_START( ghostb3 ) PORT_INCLUDE(ghostb2a) @@ -1226,11 +1289,11 @@ static INPUT_PORTS_START( ghostb3 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(3) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(3) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(3) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3) /* upgradable shot */ - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(3) /* beam (provided you have energy) */ + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3) // upgradable shot + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(3) // beam (provided you have energy) - PORT_MODIFY("I8751") - /* Low 4 bits not connected on schematics */ + PORT_MODIFY("COIN") + // Low 4 bits not connected on schematics PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) @@ -1238,24 +1301,24 @@ static INPUT_PORTS_START( ghostb3 ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN3 ) INPUT_PORTS_END -/* verified from HD6309 code */ +// verified from HD6309 code static INPUT_PORTS_START( meikyuh ) PORT_INCLUDE(ghostb) - PORT_MODIFY("I8751") + PORT_MODIFY("COIN") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN3 ) /* gives 4 credits for 14 coins ! */ + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) - /* BUTTON1 : upgradable shot - BUTTON2 : circular fire (provided you have energy) - BUTTON1 + BUTTON2 : beam (provided you have energy) */ + // BUTTON1 : upgradable shot - BUTTON2 : circular fire (provided you have energy) - BUTTON1 + BUTTON2 : beam (provided you have energy) PORT_MODIFY("DSW1") - /* lives are added when STARTn is pressed - 1 extra life is awarded on 2nd credit and after for the same player who gets then 2, 4 or 6 additional lives */ - /* max time scene is always 6:00 at start - 0:30 is subed every 8 levels - 1:00 is added when STARTn is pressed until max scene time is reached */ - PORT_DIPNAME( 0x10, 0x10, "Energy Bonus" ) PORT_DIPLOCATION("SW2:5") /* energy is added when STARTn is pressed */ - PORT_DIPSETTING( 0x10, DEF_STR( None ) ) /* 0x0020 */ - PORT_DIPSETTING( 0x00, "+50%" ) /* 0x0030 */ + // lives are added when STARTn is pressed - 1 extra life is awarded on 2nd credit and after for the same player who gets then 2, 4 or 6 additional lives + // max time scene is always 6:00 at start - 0:30 is subed every 8 levels - 1:00 is added when STARTn is pressed until max scene time is reached + PORT_DIPNAME( 0x10, 0x10, "Energy Bonus" ) PORT_DIPLOCATION("SW2:5") // energy is added when STARTn is pressed + PORT_DIPSETTING( 0x10, DEF_STR( None ) ) // 0x0020 + PORT_DIPSETTING( 0x00, "+50%" ) // 0x0030 PORT_DIPUNUSED( 0x20, IP_ACTIVE_LOW ) PORT_DIPLOCATION("SW2:6") PORT_DIPNAME( 0x80, 0x80, "Freeze" ) PORT_DIPLOCATION("SW2:8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) @@ -1263,19 +1326,25 @@ static INPUT_PORTS_START( meikyuh ) INPUT_PORTS_END -/* verified from M6809 code - coinage needs further checking when the MCU is available */ +// verified from M6809 code static INPUT_PORTS_START( csilver ) PORT_START("IN0") - PLAYER1_JOYSTICK - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) /* sword */ - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) /* jump */ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) // sword + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) // jump PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("IN1") - PLAYER2_JOYSTICK - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL /* sword */ - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL /* jump */ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL // sword + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL // jump PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -1287,15 +1356,22 @@ static INPUT_PORTS_START( csilver ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) + + PORT_START("COIN") // hooked up on the i8751 + PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNUSED ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE1 ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("DSW0") - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2") + PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:1,2") PORT_DIPSETTING( 0x03, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x02, DEF_STR( 1C_3C ) ) PORT_DIPSETTING( 0x01, DEF_STR( 1C_4C ) ) PORT_DIPSETTING( 0x00, DEF_STR( 1C_6C ) ) - PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:3,4") + PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:3,4") PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) ) PORT_DIPSETTING( 0x04, DEF_STR( 3C_1C ) ) PORT_DIPSETTING( 0x08, DEF_STR( 2C_1C ) ) @@ -1326,30 +1402,23 @@ static INPUT_PORTS_START( csilver ) PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x10, DEF_STR( Yes ) ) PORT_DIPUNUSED( 0x20, IP_ACTIVE_LOW ) PORT_DIPLOCATION("SW2:6") - PORT_DIPNAME( 0x40, 0x40, "No Key for Door (Cheat)") PORT_DIPLOCATION("SW2:7") /* code at 0x9816 in sub CPU */ + PORT_DIPNAME( 0x40, 0x40, "No Key for Door (Cheat)") PORT_DIPLOCATION("SW2:7") // code at 0x9816 in sub CPU PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPUNUSED( 0x80, IP_ACTIVE_LOW ) PORT_DIPLOCATION("SW2:8") - - PORT_START("I8751") /* hooked up on the i8751 */ - PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN3 ) INPUT_PORTS_END -/* verified from M6809 code - coinage needs further checking when the MCU is available */ +// verified from M6809 code static INPUT_PORTS_START( csilverj ) PORT_INCLUDE(csilver) PORT_MODIFY("DSW0") - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2") + PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:1,2") PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x01, DEF_STR( 1C_3C ) ) - PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:3,4") + PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:3,4") PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x0c, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) ) @@ -1357,40 +1426,45 @@ static INPUT_PORTS_START( csilverj ) INPUT_PORTS_END - -/* verified from HD6309 code */ +// verified from HD6309 code static INPUT_PORTS_START( oscar ) PORT_START("IN0") - PLAYER1_JOYSTICK - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) /* shoot */ - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) /* jump */ - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) /* select */ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) // shoot + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) // jump + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) // select PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) PORT_START("IN1") - PLAYER2_JOYSTICK - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL /* shoot */ - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL /* jump */ - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_COCKTAIL /* select */ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL // shoot + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL // jump + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_COCKTAIL // select PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 ) PORT_START("IN2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_WRITE_LINE_DEVICE_MEMBER("coin", FUNC(input_merger_device::in_w<0>)) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_WRITE_LINE_DEVICE_MEMBER("coin", FUNC(input_merger_device::in_w<1>)) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_WRITE_LINE_DEVICE_MEMBER("coin", FUNC(input_merger_device::in_w<1>)) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_WRITE_LINE_DEVICE_MEMBER("coin", FUNC(input_merger_device::in_w<0>)) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_WRITE_LINE_DEVICE_MEMBER("coin", FUNC(input_merger_device::in_w<2>)) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("DSW0") - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2") /* table at 0xf8e3 (4 * 2 bytes : coins then credits) */ + PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:1,2") // table at 0xf8e3 (4 * 2 bytes : coins then credits) PORT_DIPSETTING( 0x03, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x02, DEF_STR( 1C_3C ) ) PORT_DIPSETTING( 0x01, DEF_STR( 1C_4C ) ) PORT_DIPSETTING( 0x00, DEF_STR( 1C_6C ) ) - PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:3,4") /* table at 0xf8eb (4 * 2 bytes : coins then credits) */ + PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:3,4") // table at 0xf8eb (4 * 2 bytes : coins then credits) PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) ) PORT_DIPSETTING( 0x04, DEF_STR( 3C_1C ) ) PORT_DIPSETTING( 0x08, DEF_STR( 2C_1C ) ) @@ -1419,12 +1493,12 @@ static INPUT_PORTS_START( oscar ) PORT_DIPSETTING( 0x0c, DEF_STR( Normal ) ) PORT_DIPSETTING( 0x04, DEF_STR( Hard ) ) PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) ) - PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:5,6") /* tables at 0x82d8 (4 words) and 0xf3fe (3 words) */ + PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:5,6") // tables at 0x82d8 (4 words) and 0xf3fe (3 words) PORT_DIPSETTING( 0x30, "40k 100k 60k+" ) PORT_DIPSETTING( 0x20, "60k 160k 100k+" ) PORT_DIPSETTING( 0x10, "90k 240k 150k+" ) PORT_DIPSETTING( 0x00, "50k only" ) - PORT_DIPNAME( 0x40, 0x40, "Invulnerability (Cheat)") PORT_DIPLOCATION("SW2:7") /* not when falling into void or water - also gives infinite time */ + PORT_DIPNAME( 0x40, 0x40, "Invulnerability (Cheat)") PORT_DIPLOCATION("SW2:7") // not when falling into void or water - also gives infinite time PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:8") @@ -1432,27 +1506,27 @@ static INPUT_PORTS_START( oscar ) PORT_DIPSETTING( 0x80, DEF_STR( Yes ) ) INPUT_PORTS_END -/* verified from HD6309 code */ +// verified from HD6309 code static INPUT_PORTS_START( oscarj ) PORT_INCLUDE(oscar) PORT_MODIFY("DSW0") - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2") /* table at 0xf8d6 (4 * 2 bytes : coins then credits) in 'oscarj1', 0xf8e6 in 'oscarj2', 0xf8f2 in 'oscaru' */ + PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:1,2") // table at 0xf8d6 (4 * 2 bytes : coins then credits) in 'oscarj1', 0xf8e6 in 'oscarj2', 0xf8f2 in 'oscaru' PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x01, DEF_STR( 1C_3C ) ) - PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:3,4") /* table at 0xf8de (4 * 2 bytes : coins then credits) in 'oscarj1', 0xf8ee in 'oscarj2', 0xf8fa in 'oscaru' */ + PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:3,4") // table at 0xf8de (4 * 2 bytes : coins then credits) in 'oscarj1', 0xf8ee in 'oscarj2', 0xf8fa in 'oscaru' PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x0c, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x04, DEF_STR( 1C_3C ) ) - /* bonus lives : tables at 0x82d8 (4 words) and 0xf3f1 (3 words) in 'oscarj1', 0x82de and 0xf401 in 'orscarj2', 0x82d8 and 0xf412 in 'orscaru' - same as in 'oscar' */ + // bonus lives : tables at 0x82d8 (4 words) and 0xf3f1 (3 words) in 'oscarj1', 0x82de and 0xf401 in 'orscarj2', 0x82d8 and 0xf412 in 'orscaru' - same as in 'oscar' INPUT_PORTS_END -/* verified from M6809 code - coinage needs further checking when the MCU is available */ +// verified from M6809 code static INPUT_PORTS_START( srdarwin ) PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY @@ -1471,23 +1545,22 @@ static INPUT_PORTS_START( srdarwin ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_START("I8751") /* hooked up on the i8751 */ - PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN3 ) + PORT_START("COIN") // hooked up on the i8751 + PORT_BIT( 0x1f, IP_ACTIVE_LOW, IPT_UNUSED ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_START("DSW0") - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2") + PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:1,2") PORT_DIPSETTING( 0x03, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x02, DEF_STR( 1C_3C ) ) PORT_DIPSETTING( 0x01, DEF_STR( 1C_4C ) ) PORT_DIPSETTING( 0x00, DEF_STR( 1C_6C ) ) - PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:3,4") + PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:3,4") PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) ) PORT_DIPSETTING( 0x04, DEF_STR( 3C_1C ) ) PORT_DIPSETTING( 0x08, DEF_STR( 2C_1C ) ) @@ -1515,9 +1588,9 @@ static INPUT_PORTS_START( srdarwin ) PORT_DIPSETTING( 0x04, DEF_STR( Hard ) ) PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:5") - PORT_DIPSETTING( 0x10, "Every 50k" ) /* table at 0xab06 - last bonus life at 850k */ - PORT_DIPSETTING( 0x00, "Every 100k" ) /* table at 0xab17 - last bonus life at 900k */ - PORT_DIPNAME( 0x20, 0x20, "After Stage 10" ) PORT_DIPLOCATION("SW2:6") /* code at 0xab94 */ + PORT_DIPSETTING( 0x10, "Every 50k" ) // table at 0xab06 - last bonus life at 850k + PORT_DIPSETTING( 0x00, "Every 100k" ) // table at 0xab17 - last bonus life at 900k + PORT_DIPNAME( 0x20, 0x20, "After Stage 10" ) PORT_DIPLOCATION("SW2:6") // code at 0xab94 PORT_DIPSETTING( 0x20, "Back to Stage 1" ) PORT_DIPSETTING( 0x00, "Game Over" ) PORT_DIPUNUSED( 0x40, IP_ACTIVE_LOW ) PORT_DIPLOCATION("SW2:7") @@ -1526,17 +1599,17 @@ static INPUT_PORTS_START( srdarwin ) PORT_DIPSETTING( 0x80, DEF_STR( Yes ) ) INPUT_PORTS_END -/* verified from M6809 code - coinage needs further checking when the MCU is available */ +// verified from M6809 code static INPUT_PORTS_START( srdarwinj ) PORT_INCLUDE(srdarwin) PORT_MODIFY("DSW0") - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2") + PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:1,2") PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x01, DEF_STR( 1C_3C ) ) - PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:3,4") + PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:3,4") PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x0c, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) ) @@ -1544,44 +1617,50 @@ static INPUT_PORTS_START( srdarwinj ) INPUT_PORTS_END -/* verified from M6809 code */ +// verified from M6809 code static INPUT_PORTS_START( cobracom ) PORT_START("IN0") - PLAYER1_JOYSTICK - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) /* fire */ - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) /* missile */ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) // fire + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) // missile PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) PORT_START("IN1") - PLAYER2_JOYSTICK - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) /* fire */ - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) /* missile */ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) // fire + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) // missile PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 ) PORT_START("IN2") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) /* always adds 1 credit */ + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) // always adds 1 credit PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("DSW0") - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2") /* code at 0x88b7 in 'cobracom', 0x890e in 'cobracomj' */ + PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2") // code at 0x88b7 in 'cobracom', 0x890e in 'cobracomj' PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) ) PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) ) - PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:3,4") /* code at 0x889b in 'cobracom', 0x88f2 in 'cobracomj' */ + PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:3,4") // code at 0x889b in 'cobracom', 0x88f2 in 'cobracomj' PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) ) PORT_DIPSETTING( 0x04, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x0c, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:5") // Manual says 'Off' + PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:5") // Manual says 'Off' PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:6") @@ -1599,7 +1678,7 @@ static INPUT_PORTS_START( cobracom ) PORT_DIPSETTING( 0x03, "3" ) PORT_DIPSETTING( 0x02, "4" ) PORT_DIPSETTING( 0x01, "5" ) - PORT_DIPSETTING( 0x00, "99 (Cheat)") /* lose a life before getting 2nd bonus life ! */ + PORT_DIPSETTING( 0x00, "99 (Cheat)") // lose a life before getting 2nd bonus life ! PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:3,4") PORT_DIPSETTING( 0x08, DEF_STR( Easy ) ) PORT_DIPSETTING( 0x0c, DEF_STR( Normal ) ) @@ -1608,13 +1687,14 @@ static INPUT_PORTS_START( cobracom ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:5") PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x10, DEF_STR( Yes ) ) - PORT_DIPNAME( 0x20, 0x20, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:6") /* table at 0xa898 (2* 2 words) in 'cobracomj', 0xa8fe in 'cobracomj' */ + PORT_DIPNAME( 0x20, 0x20, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:6") // table at 0xa898 (2* 2 words) in 'cobracomj', 0xa8fe in 'cobracomj' PORT_DIPSETTING( 0x20, "50k and 150k" ) PORT_DIPSETTING( 0x00, "100k and 200k" ) PORT_DIPUNUSED( 0x40, IP_ACTIVE_LOW ) PORT_DIPLOCATION("SW2:7") - PORT_DIPUNUSED( 0x80, IP_ACTIVE_LOW ) PORT_DIPLOCATION("SW2:8") /* previously "Freeze" : code at 0x8849 in 'cobracomj', 0x88a0 in 'cobracomj' */ + PORT_DIPUNUSED( 0x80, IP_ACTIVE_LOW ) PORT_DIPLOCATION("SW2:8") // previously "Freeze" : code at 0x8849 in 'cobracomj', 0x88a0 in 'cobracomj' INPUT_PORTS_END + /******************************************************************************/ static const gfx_layout charlayout_32k = @@ -1625,7 +1705,7 @@ static const gfx_layout charlayout_32k = { 0x4000*8,0x0000*8 }, { 0, 1, 2, 3, 4, 5, 6, 7 }, { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 }, - 8*8 /* every sprite takes 8 consecutive bytes */ + 8*8 // every sprite takes 8 consecutive bytes }; static const gfx_layout chars_3bpp = @@ -1636,19 +1716,19 @@ static const gfx_layout chars_3bpp = { 0x6000*8,0x4000*8,0x2000*8 }, { 0, 1, 2, 3, 4, 5, 6, 7 }, { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 }, - 8*8 /* every sprite takes 8 consecutive bytes */ + 8*8 // every sprite takes 8 consecutive bytes }; -/* SRDarwin characters - very unusual layout for Data East */ +// SRDarwin characters - very unusual layout for Data East static const gfx_layout charlayout_16k = { - 8,8, /* 8*8 characters */ + 8,8, // 8*8 characters 1024, - 2, /* 2 bits per pixel */ - { 0, 4 }, /* the two bitplanes for 4 pixels are packed into one byte */ + 2, // 2 bits per pixel + { 0, 4 }, // the two bitplanes for 4 pixels are packed into one byte { 0x2000*8+0, 0x2000*8+1, 0x2000*8+2, 0x2000*8+3, 0, 1, 2, 3 }, { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 }, - 8*8 /* every char takes 8 consecutive bytes */ + 8*8 // every char takes 8 consecutive bytes }; static const gfx_layout oscar_charlayout = @@ -1659,10 +1739,10 @@ static const gfx_layout oscar_charlayout = { 0x3000*8,0x2000*8,0x1000*8 }, { 0, 1, 2, 3, 4, 5, 6, 7 }, { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 }, - 8*8 /* every sprite takes 8 consecutive bytes */ + 8*8 // every sprite takes 8 consecutive bytes }; -/* Darwin sprites - only 3bpp */ +// Darwin sprites - only 3bpp static const gfx_layout sr_sprites = { 16,16, @@ -1672,7 +1752,7 @@ static const gfx_layout sr_sprites = { 16*8, 1+(16*8), 2+(16*8), 3+(16*8), 4+(16*8), 5+(16*8), 6+(16*8), 7+(16*8), 0,1,2,3,4,5,6,7 }, { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 ,8*8,9*8,10*8,11*8,12*8,13*8,14*8,15*8 }, -// { 0*8, 2*8, 1*8, 3*8, 4*8, 6*8, 5*8, 7*8 ,8*8,10*8,9*8,11*8,12*8,14*8,13*8,15*8 }, bootleg decode +// { 0*8, 2*8, 1*8, 3*8, 4*8, 6*8, 5*8, 7*8 ,8*8,10*8,9*8,11*8,12*8,14*8,13*8,15*8 }, bootleg decode 16*16 }; @@ -1686,7 +1766,7 @@ static const gfx_layout srdarwin_tiles = 16*8+0, 16*8+1, 16*8+2, 16*8+3, 16*8+1024*8*8+0, 16*8+1024*8*8+1, 16*8+1024*8*8+2, 16*8+1024*8*8+3 }, { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8, 8*8, 9*8, 10*8, 11*8, 12*8, 13*8, 14*8, 15*8 }, - 32*8 /* every tile takes 32 consecutive bytes */ + 32*8 // every tile takes 32 consecutive bytes }; static const gfx_layout tiles = @@ -1701,7 +1781,7 @@ static const gfx_layout tiles = 16*16 }; -/* X flipped on Ghostbusters tiles */ +// X flipped on Ghostbusters tiles static const gfx_layout tiles_r = { 16,16, @@ -1730,7 +1810,7 @@ static GFXDECODE_START( gfx_ghostb ) GFXDECODE_END static GFXDECODE_START( gfx_srdarwin ) - GFXDECODE_ENTRY( "char", 0x00000, charlayout_16k, 128, 4 ) /* Only 1 used so far :/ */ + GFXDECODE_ENTRY( "char", 0x00000, charlayout_16k, 128, 4 ) // Only 1 used so far :/ GFXDECODE_ENTRY( "sprites", 0x00000, sr_sprites, 64, 8 ) GFXDECODE_ENTRY( "tiles1", 0x00000, srdarwin_tiles, 0, 8 ) GFXDECODE_ENTRY( "tiles1", 0x10000, srdarwin_tiles, 0, 8 ) @@ -1739,21 +1819,21 @@ static GFXDECODE_START( gfx_srdarwin ) GFXDECODE_END static GFXDECODE_START( gfx_gondo ) - GFXDECODE_ENTRY( "char", 0, chars_3bpp, 0, 16 ) /* Chars */ - GFXDECODE_ENTRY( "tiles1", 0, tiles, 768, 16 ) /* Tiles */ + GFXDECODE_ENTRY( "char", 0, chars_3bpp, 0, 16 ) // Chars + GFXDECODE_ENTRY( "tiles1", 0, tiles, 768, 16 ) // Tiles GFXDECODE_END static GFXDECODE_START( gfx_gondo_spr ) - GFXDECODE_ENTRY( "sprites", 0, tiles, 256, 32 ) /* Sprites */ + GFXDECODE_ENTRY( "sprites", 0, tiles, 256, 32 ) // Sprites GFXDECODE_END static GFXDECODE_START( gfx_oscar ) - GFXDECODE_ENTRY( "char", 0, oscar_charlayout, 256, 8 ) /* Chars */ - GFXDECODE_ENTRY( "tiles1", 0, tiles, 384, 8 ) /* Tiles */ + GFXDECODE_ENTRY( "char", 0, oscar_charlayout, 256, 8 ) // Chars + GFXDECODE_ENTRY( "tiles1", 0, tiles, 384, 8 ) // Tiles GFXDECODE_END static GFXDECODE_START( gfx_oscar_spr ) - GFXDECODE_ENTRY( "sprites", 0, tiles, 0, 16 ) /* Sprites */ + GFXDECODE_ENTRY( "sprites", 0, tiles, 0, 16 ) // Sprites GFXDECODE_END static GFXDECODE_START( gfx_shackled ) @@ -1765,9 +1845,10 @@ static GFXDECODE_START( gfx_shackled_spr ) GFXDECODE_ENTRY( "sprites", 0, tiles, 256, 16 ) GFXDECODE_END + /******************************************************************************/ -/* Coins generate NMI's */ +// Coins generate NMI's void oscar_state::coin_irq(int state) { if (state && !m_coin_state) @@ -1787,19 +1868,16 @@ void lastmisn_state::shackled_coin_irq(int state) m_coin_state = bool(state); } -/******************************************************************************/ +/******************************************************************************/ void dec8_state_base::machine_start() { u8 *ROM = memregion("maincpu")->base(); - uint32_t max_bank = (memregion("maincpu")->bytes() - 0x10000) / 0x4000; + u32 max_bank = (memregion("maincpu")->bytes() - 0x10000) / 0x4000; m_mainbank->configure_entries(0, max_bank, &ROM[0x10000], 0x4000); - m_m6502_timer = timer_alloc(FUNC(dec8_state_base::audiocpu_nmi_clear), this); - save_item(NAME(m_coin_state)); - save_item(NAME(m_scroll)); } @@ -1813,7 +1891,6 @@ void dec8_mcu_state_base::machine_start() { dec8_state_base::machine_start(); - m_i8751_timer = timer_alloc(FUNC(dec8_mcu_state_base::mcu_irq_clear), this); m_i8751_p2 = 0xff; save_item(NAME(m_i8751_p2)); @@ -1832,16 +1909,19 @@ void dec8_mcu_state_base::machine_reset() } -void lastmisn_state::machine_start() +void ghostb_state::machine_start() { - dec8_mcu_state_base::machine_start(); + lastmisn_state::machine_start(); + + m_6502_timer = timer_alloc(FUNC(ghostb_state::audiocpu_nmi_clear), this); + m_i8751_timer = timer_alloc(FUNC(ghostb_state::mcu_irq_clear), this); save_item(NAME(m_secclr)); } -void lastmisn_state::machine_reset() +void ghostb_state::machine_reset() { - dec8_state_base::machine_reset(); + lastmisn_state::machine_reset(); // reset clears LS273 latch, which disables NMI if (m_nmigate.found()) @@ -1870,46 +1950,46 @@ void csilver_state::machine_reset() // DECO video CRTC, unverified -void dec8_state_base::set_screen_raw_params_data_east(machine_config &config) +void dec8_state_base::set_screen_raw_params(machine_config &config) { - m_screen->set_raw(XTAL(12'000'000)/2,384,0,256,272,8,248); +// m_screen->set_refresh_hz(58); +// m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(529)); // 58Hz, 529us Vblank duration +// m_screen->set_size(32*8, 32*8); +// m_screen->set_visarea(0*8, 32*8-1, 1*8, 31*8-1); + m_screen->set_raw(12_MHz_XTAL / 2, 384, 0, 256, 272, 8, 248); } void lastmisn_state::lastmisn(machine_config &config) { - /* basic machine hardware */ - MC6809E(config, m_maincpu, 2000000); + // basic machine hardware + MC6809E(config, m_maincpu, 12_MHz_XTAL / 8); // MC68B09EP in schematics m_maincpu->set_addrmap(AS_PROGRAM, &lastmisn_state::lastmisn_map); - MC6809E(config, m_subcpu, 2000000); + MC6809E(config, m_subcpu, 12_MHz_XTAL / 8); // MC68B09EP in schematics m_subcpu->set_addrmap(AS_PROGRAM, &lastmisn_state::lastmisn_sub_map); - M6502(config, m_audiocpu, 1500000); - m_audiocpu->set_addrmap(AS_PROGRAM, &lastmisn_state::ym3526_s_map); /* NMIs are caused by the main CPU */ + R65C02(config, m_audiocpu, 12_MHz_XTAL / 8); + m_audiocpu->set_addrmap(AS_PROGRAM, &lastmisn_state::ym3526_s_map); // NMIs are caused by the main CPU - I8751(config, m_mcu, XTAL(8'000'000)); + I8751(config, m_mcu, 8_MHz_XTAL); m_mcu->port_in_cb<0>().set(FUNC(lastmisn_state::i8751_port0_r)); m_mcu->port_out_cb<0>().set(FUNC(lastmisn_state::i8751_port0_w)); m_mcu->port_in_cb<1>().set(FUNC(lastmisn_state::i8751_port1_r)); m_mcu->port_out_cb<1>().set(FUNC(lastmisn_state::i8751_port1_w)); - m_mcu->port_out_cb<2>().set(FUNC(lastmisn_state::shackled_mcu_to_main_w)); - m_mcu->port_in_cb<3>().set_ioport("I8751"); + m_mcu->port_out_cb<2>().set(FUNC(lastmisn_state::mcu_to_main_w)); + m_mcu->port_in_cb<3>().set_ioport("COIN"); config.set_maximum_quantum(attotime::from_hz(12000)); INPUT_MERGER_ANY_LOW(config, "coin").output_handler().set(FUNC(lastmisn_state::shackled_coin_irq)); - /* video hardware */ + // video hardware BUFFERED_SPRITERAM8(config, m_spriteram); DECO_KARNOVSPRITES(config, m_spritegen_krn, 0, m_palette, gfx_shackled_spr); SCREEN(config, m_screen, SCREEN_TYPE_RASTER); -// m_screen->set_refresh_hz(58); -// m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(529)); /* 58Hz, 529us Vblank duration */ -// m_screen->set_size(32*8, 32*8); -// m_screen->set_visarea(0*8, 32*8-1, 1*8, 31*8-1); - set_screen_raw_params_data_east(config); + set_screen_raw_params(config); m_screen->set_screen_update(FUNC(lastmisn_state::screen_update_lastmisn)); m_screen->set_palette(m_palette); @@ -1918,58 +1998,58 @@ void lastmisn_state::lastmisn(machine_config &config) MCFG_VIDEO_START_OVERRIDE(lastmisn_state,lastmisn) - /* sound hardware */ + // sound hardware SPEAKER(config, "mono").front_center(); GENERIC_LATCH_8(config, m_soundlatch); + m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI); - ym2203_device &ym1(YM2203(config, "ym1", 1500000)); - ym1.add_route(0, "mono", 0.23); - ym1.add_route(1, "mono", 0.23); - ym1.add_route(2, "mono", 0.23); - ym1.add_route(3, "mono", 0.20); + INPUT_MERGER_ANY_HIGH(config, m_soundirq); + m_soundirq->output_handler().set_inputline(m_audiocpu, m6502_device::IRQ_LINE); + + ym2203_device &ym1(YM2203(config, "ym1", 12_MHz_XTAL / 8)); + ym1.irq_handler().set(m_soundirq, FUNC(input_merger_device::in_w<0>)); + ym1.add_route(0, "mono", 0.20); + ym1.add_route(1, "mono", 0.20); + ym1.add_route(2, "mono", 0.20); + ym1.add_route(3, "mono", 0.40); - ym3526_device &ym2(YM3526(config, "ym2", 3000000)); - ym2.irq_handler().set_inputline(m_audiocpu, m6502_device::IRQ_LINE); - ym2.add_route(ALL_OUTPUTS, "mono", 0.70); + ym3526_device &ym2(YM3526(config, "ym2", 12_MHz_XTAL / 4)); + ym2.irq_handler().set(m_soundirq, FUNC(input_merger_device::in_w<1>)); + ym2.add_route(ALL_OUTPUTS, "mono", 0.80); } void lastmisn_state::shackled(machine_config &config) { - /* basic machine hardware */ - MC6809E(config, m_maincpu, 2000000); + // basic machine hardware + MC6809E(config, m_maincpu, 12_MHz_XTAL / 8); m_maincpu->set_addrmap(AS_PROGRAM, &lastmisn_state::shackled_map); - MC6809E(config, m_subcpu, 2000000); + MC6809E(config, m_subcpu, 12_MHz_XTAL / 8); m_subcpu->set_addrmap(AS_PROGRAM, &lastmisn_state::shackled_sub_map); - M6502(config, m_audiocpu, 1500000); - m_audiocpu->set_addrmap(AS_PROGRAM, &lastmisn_state::ym3526_s_map); /* NMIs are caused by the main CPU */ + R65C02(config, m_audiocpu, 12_MHz_XTAL / 8); + m_audiocpu->set_addrmap(AS_PROGRAM, &lastmisn_state::ym3526_s_map); // NMIs are caused by the main CPU - I8751(config, m_mcu, XTAL(8'000'000)); + I8751(config, m_mcu, 8_MHz_XTAL); m_mcu->port_in_cb<0>().set(FUNC(lastmisn_state::i8751_port0_r)); m_mcu->port_out_cb<0>().set(FUNC(lastmisn_state::i8751_port0_w)); m_mcu->port_in_cb<1>().set(FUNC(lastmisn_state::i8751_port1_r)); m_mcu->port_out_cb<1>().set(FUNC(lastmisn_state::i8751_port1_w)); - m_mcu->port_out_cb<2>().set(FUNC(lastmisn_state::shackled_mcu_to_main_w)); - m_mcu->port_in_cb<3>().set_ioport("I8751"); + m_mcu->port_out_cb<2>().set(FUNC(lastmisn_state::mcu_to_main_w)); + m_mcu->port_in_cb<3>().set_ioport("COIN"); -// config.set_maximum_quantum(attotime::from_hz(100000)); config.set_perfect_quantum(m_maincpu); // needs heavy sync, otherwise one of the two CPUs will miss an IRQ and cause the game to hang INPUT_MERGER_ANY_LOW(config, "coin").output_handler().set(FUNC(lastmisn_state::shackled_coin_irq)); - /* video hardware */ + // video hardware BUFFERED_SPRITERAM8(config, m_spriteram); DECO_KARNOVSPRITES(config, m_spritegen_krn, 0, m_palette, gfx_shackled_spr); SCREEN(config, m_screen, SCREEN_TYPE_RASTER); -// m_screen->set_refresh_hz(58); -// m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(529)); /* 58Hz, 529us Vblank duration */ -// m_screen->set_size(32*8, 32*8); -// m_screen->set_visarea(0*8, 32*8-1, 1*8, 31*8-1); - set_screen_raw_params_data_east(config); + set_screen_raw_params(config); m_screen->set_screen_update(FUNC(lastmisn_state::screen_update_shackled)); m_screen->set_palette(m_palette); @@ -1978,54 +2058,58 @@ void lastmisn_state::shackled(machine_config &config) MCFG_VIDEO_START_OVERRIDE(lastmisn_state,shackled) - /* sound hardware */ + // sound hardware SPEAKER(config, "mono").front_center(); GENERIC_LATCH_8(config, m_soundlatch); + m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI); - ym2203_device &ym1(YM2203(config, "ym1", 1500000)); - ym1.add_route(0, "mono", 0.23); - ym1.add_route(1, "mono", 0.23); - ym1.add_route(2, "mono", 0.23); - ym1.add_route(3, "mono", 0.20); + INPUT_MERGER_ANY_HIGH(config, m_soundirq); + m_soundirq->output_handler().set_inputline(m_audiocpu, m6502_device::IRQ_LINE); - ym3526_device &ym2(YM3526(config, "ym2", 3000000)); - ym2.irq_handler().set_inputline(m_audiocpu, m6502_device::IRQ_LINE); - ym2.add_route(ALL_OUTPUTS, "mono", 0.70); + ym2203_device &ym1(YM2203(config, "ym1", 12_MHz_XTAL / 8)); + ym1.irq_handler().set(m_soundirq, FUNC(input_merger_device::in_w<0>)); + ym1.add_route(0, "mono", 0.20); + ym1.add_route(1, "mono", 0.20); + ym1.add_route(2, "mono", 0.20); + ym1.add_route(3, "mono", 0.40); + + ym3526_device &ym2(YM3526(config, "ym2", 12_MHz_XTAL / 4)); + ym2.irq_handler().set(m_soundirq, FUNC(input_merger_device::in_w<1>)); + ym2.add_route(ALL_OUTPUTS, "mono", 0.80); } void gondo_state::gondo(machine_config &config) { - /* basic machine hardware */ - HD6309E(config, m_maincpu, 3000000); /* HD63C09EP */ + // basic machine hardware + HD6309E(config, m_maincpu, 3'000'000); // HD63C09EP m_maincpu->set_addrmap(AS_PROGRAM, &gondo_state::gondo_map); - M6502(config, m_audiocpu, 1500000); - m_audiocpu->set_addrmap(AS_PROGRAM, &gondo_state::oscar_s_map); /* NMIs are caused by the main CPU */ + R65C02(config, m_audiocpu, 1'500'000); + m_audiocpu->set_addrmap(AS_PROGRAM, &gondo_state::oscar_s_map); // NMIs are caused by the main CPU - I8751(config, m_mcu, XTAL(8'000'000)); + I8751(config, m_mcu, 8_MHz_XTAL); m_mcu->port_in_cb<0>().set(FUNC(gondo_state::i8751_port0_r)); m_mcu->port_out_cb<0>().set(FUNC(gondo_state::i8751_port0_w)); m_mcu->port_in_cb<1>().set(FUNC(gondo_state::i8751_port1_r)); m_mcu->port_out_cb<1>().set(FUNC(gondo_state::i8751_port1_w)); - m_mcu->port_out_cb<2>().set(FUNC(gondo_state::gondo_mcu_to_main_w)); - m_mcu->port_in_cb<3>().set_ioport("I8751"); + m_mcu->port_out_cb<2>().set(FUNC(gondo_state::mcu_to_main_w)); + m_mcu->port_in_cb<3>().set_ioport("COIN"); + + config.set_maximum_quantum(attotime::from_hz(6000)); - /* video hardware */ + // video hardware BUFFERED_SPRITERAM8(config, m_spriteram); DECO_KARNOVSPRITES(config, m_spritegen_krn, 0, m_palette, gfx_gondo_spr); m_spritegen_krn->set_colpri_callback(FUNC(gondo_state::gondo_colpri_cb)); SCREEN(config, m_screen, SCREEN_TYPE_RASTER); -// m_screen->set_refresh_hz(58); -// m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(529) /* 58Hz, 529us Vblank duration */); -// m_screen->set_size(32*8, 32*8); -// m_screen->set_visarea(0*8, 32*8-1, 1*8, 31*8-1); - set_screen_raw_params_data_east(config); + set_screen_raw_params(config); m_screen->set_screen_update(FUNC(gondo_state::screen_update_gondo)); m_screen->screen_vblank().set(FUNC(gondo_state::screen_vblank)); m_screen->screen_vblank().append(m_nmigate, FUNC(input_merger_device::in_w<1>)); + m_screen->screen_vblank().append_inputline(m_mcu, MCS51_INT0_LINE); m_screen->set_palette(m_palette); INPUT_MERGER_ALL_HIGH(config, m_nmigate).output_handler().set_inputline(m_maincpu, INPUT_LINE_NMI); @@ -2033,53 +2117,56 @@ void gondo_state::gondo(machine_config &config) GFXDECODE(config, m_gfxdecode, m_palette, gfx_gondo); DECO_RMC3(config, m_palette, 0, 1024); // xxxxBBBBGGGGRRRR with custom weighting - /* sound hardware */ + // sound hardware SPEAKER(config, "mono").front_center(); GENERIC_LATCH_8(config, m_soundlatch); - ym2203_device &ym1(YM2203(config, "ym1", 1500000)); - ym1.add_route(0, "mono", 0.23); - ym1.add_route(1, "mono", 0.23); - ym1.add_route(2, "mono", 0.23); - ym1.add_route(3, "mono", 0.20); + INPUT_MERGER_ANY_HIGH(config, m_soundirq); + m_soundirq->output_handler().set_inputline(m_audiocpu, m6502_device::IRQ_LINE); - ym3526_device &ym2(YM3526(config, "ym2", 3000000)); - ym2.irq_handler().set_inputline(m_audiocpu, m6502_device::IRQ_LINE); - ym2.add_route(ALL_OUTPUTS, "mono", 0.70); + ym2203_device &ym1(YM2203(config, "ym1", 1'500'000)); + ym1.irq_handler().set(m_soundirq, FUNC(input_merger_device::in_w<0>)); + ym1.add_route(0, "mono", 0.20); + ym1.add_route(1, "mono", 0.20); + ym1.add_route(2, "mono", 0.20); + ym1.add_route(3, "mono", 0.40); + + ym3526_device &ym2(YM3526(config, "ym2", 3'000'000)); + ym2.irq_handler().set(m_soundirq, FUNC(input_merger_device::in_w<1>)); + ym2.add_route(ALL_OUTPUTS, "mono", 0.50); } -void lastmisn_state::garyoret(machine_config &config) +void ghostb_state::garyoret(machine_config &config) { - /* basic machine hardware */ - HD6309E(config, m_maincpu, 3000000); /* HD63C09EP */ - m_maincpu->set_addrmap(AS_PROGRAM, &lastmisn_state::garyoret_map); + // basic machine hardware + HD6309E(config, m_maincpu, 3'000'000); // HD63C09EP + m_maincpu->set_addrmap(AS_PROGRAM, &ghostb_state::garyoret_map); - M6502(config, m_audiocpu, 1500000); - m_audiocpu->set_addrmap(AS_PROGRAM, &lastmisn_state::oscar_s_map); /* NMIs are caused by the main CPU */ + R65C02(config, m_audiocpu, 1'500'000); + m_audiocpu->set_addrmap(AS_PROGRAM, &ghostb_state::oscar_s_map); // NMIs are caused by the main CPU - I8751(config, m_mcu, XTAL(8'000'000)); - m_mcu->port_in_cb<0>().set(FUNC(lastmisn_state::i8751_port0_r)); - m_mcu->port_out_cb<0>().set(FUNC(lastmisn_state::i8751_port0_w)); - m_mcu->port_in_cb<1>().set(FUNC(lastmisn_state::i8751_port1_r)); - m_mcu->port_out_cb<1>().set(FUNC(lastmisn_state::i8751_port1_w)); - m_mcu->port_out_cb<2>().set(FUNC(lastmisn_state::gondo_mcu_to_main_w)); - m_mcu->port_in_cb<3>().set_ioport("I8751"); + I8751(config, m_mcu, 8_MHz_XTAL); + m_mcu->port_in_cb<0>().set(FUNC(ghostb_state::i8751_port0_r)); + m_mcu->port_out_cb<0>().set(FUNC(ghostb_state::i8751_port0_w)); + m_mcu->port_in_cb<1>().set(FUNC(ghostb_state::i8751_port1_r)); + m_mcu->port_out_cb<1>().set(FUNC(ghostb_state::i8751_port1_w)); + m_mcu->port_out_cb<2>().set(FUNC(ghostb_state::mcu_to_main_w)); + m_mcu->port_in_cb<3>().set_ioport("COIN"); + + config.set_maximum_quantum(attotime::from_hz(6000)); - /* video hardware */ + // video hardware BUFFERED_SPRITERAM8(config, m_spriteram); DECO_KARNOVSPRITES(config, m_spritegen_krn, 0, m_palette, gfx_gondo_spr); SCREEN(config, m_screen, SCREEN_TYPE_RASTER); -// m_screen->set_refresh_hz(58); -// m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(529) /* 58Hz, 529us Vblank duration */); -// m_screen->set_size(32*8, 32*8); -// m_screen->set_visarea(0*8, 32*8-1, 1*8, 31*8-1); - set_screen_raw_params_data_east(config); - m_screen->set_screen_update(FUNC(lastmisn_state::screen_update_garyoret)); - m_screen->screen_vblank().set(FUNC(lastmisn_state::screen_vblank)); + set_screen_raw_params(config); + m_screen->set_screen_update(FUNC(ghostb_state::screen_update_garyoret)); + m_screen->screen_vblank().set(FUNC(ghostb_state::screen_vblank)); m_screen->screen_vblank().append(m_nmigate, FUNC(input_merger_device::in_w<1>)); + m_screen->screen_vblank().append_inputline(m_mcu, MCS51_INT0_LINE); m_screen->set_palette(m_palette); INPUT_MERGER_ALL_HIGH(config, m_nmigate).output_handler().set_inputline(m_maincpu, INPUT_LINE_NMI); @@ -2087,42 +2174,48 @@ void lastmisn_state::garyoret(machine_config &config) GFXDECODE(config, m_gfxdecode, m_palette, gfx_gondo); DECO_RMC3(config, m_palette, 0, 1024); // xxxxBBBBGGGGRRRR with custom weighting - MCFG_VIDEO_START_OVERRIDE(lastmisn_state,garyoret) + MCFG_VIDEO_START_OVERRIDE(ghostb_state,garyoret) - /* sound hardware */ + // sound hardware SPEAKER(config, "mono").front_center(); GENERIC_LATCH_8(config, m_soundlatch); - ym2203_device &ym1(YM2203(config, "ym1", 1500000)); - ym1.add_route(0, "mono", 0.23); - ym1.add_route(1, "mono", 0.23); - ym1.add_route(2, "mono", 0.23); - ym1.add_route(3, "mono", 0.20); + INPUT_MERGER_ANY_HIGH(config, m_soundirq); + m_soundirq->output_handler().set_inputline(m_audiocpu, m6502_device::IRQ_LINE); + + ym2203_device &ym1(YM2203(config, "ym1", 1'500'000)); + ym1.irq_handler().set(m_soundirq, FUNC(input_merger_device::in_w<0>)); + ym1.add_route(0, "mono", 0.20); + ym1.add_route(1, "mono", 0.20); + ym1.add_route(2, "mono", 0.20); + ym1.add_route(3, "mono", 0.40); - ym3526_device &ym2(YM3526(config, "ym2", 3000000)); - ym2.irq_handler().set_inputline(m_audiocpu, m6502_device::IRQ_LINE); - ym2.add_route(ALL_OUTPUTS, "mono", 0.70); + ym3526_device &ym2(YM3526(config, "ym2", 3'000'000)); + ym2.irq_handler().set(m_soundirq, FUNC(input_merger_device::in_w<1>)); + ym2.add_route(ALL_OUTPUTS, "mono", 0.80); } -void lastmisn_state::ghostb(machine_config &config) +void ghostb_state::ghostb(machine_config &config) { - /* basic machine hardware */ - HD6309E(config, m_maincpu, XTAL(12'000'000) / 4); /* HD63C09EP, clock verified */ - m_maincpu->set_addrmap(AS_PROGRAM, &lastmisn_state::meikyuh_map); + // basic machine hardware + HD6309E(config, m_maincpu, 12_MHz_XTAL / 4); // HD63C09EP, clock verified + m_maincpu->set_addrmap(AS_PROGRAM, &ghostb_state::ghostb_map); - DECO_222(config, m_audiocpu, XTAL(12'000'000) / 8); /* also seen with stock M6502, clock verified */ - m_audiocpu->set_addrmap(AS_PROGRAM, &lastmisn_state::dec8_s_map); /* NMIs are caused by the main CPU */ + DECO_222(config, m_audiocpu, 12_MHz_XTAL / 8); // also seen with stock M6502, clock verified + m_audiocpu->set_addrmap(AS_PROGRAM, &ghostb_state::dec8_s_map); // NMIs are caused by the main CPU - I8751(config, m_mcu, XTAL(8'000'000)); /* 8.0MHz OSC next to MCU - clock verified */ - m_mcu->port_in_cb<0>().set(FUNC(lastmisn_state::i8751_port0_r)); - m_mcu->port_out_cb<0>().set(FUNC(lastmisn_state::i8751_port0_w)); - m_mcu->port_in_cb<1>().set(FUNC(lastmisn_state::i8751_port1_r)); - m_mcu->port_out_cb<1>().set(FUNC(lastmisn_state::i8751_port1_w)); - m_mcu->port_out_cb<2>().set(FUNC(lastmisn_state::gondo_mcu_to_main_w)); - m_mcu->port_in_cb<3>().set_ioport("I8751"); + I8751(config, m_mcu, 8_MHz_XTAL); // 8.0MHz OSC next to MCU - clock verified + m_mcu->port_in_cb<0>().set(FUNC(ghostb_state::i8751_port0_r)); + m_mcu->port_out_cb<0>().set(FUNC(ghostb_state::i8751_port0_w)); + m_mcu->port_in_cb<1>().set(FUNC(ghostb_state::i8751_port1_r)); + m_mcu->port_out_cb<1>().set(FUNC(ghostb_state::i8751_port1_w)); + m_mcu->port_out_cb<2>().set(FUNC(ghostb_state::mcu_to_main_w)); + m_mcu->port_in_cb<3>().set_ioport("COIN"); - /* video hardware */ + config.set_maximum_quantum(attotime::from_hz(6000)); + + // video hardware BUFFERED_SPRITERAM8(config, m_spriteram); DECO_BAC06(config, m_tilegen[0], 0); @@ -2132,81 +2225,79 @@ void lastmisn_state::ghostb(machine_config &config) DECO_KARNOVSPRITES(config, m_spritegen_krn, 0, m_palette, gfx_shackled_spr); SCREEN(config, m_screen, SCREEN_TYPE_RASTER); -// m_screen->set_refresh_hz(58); -// m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(529) /* 58Hz, 529us Vblank duration */); -// m_screen->set_size(32*8, 32*8); -// m_screen->set_visarea(0*8, 32*8-1, 1*8, 31*8-1); - set_screen_raw_params_data_east(config); - m_screen->set_screen_update(FUNC(lastmisn_state::screen_update_ghostb)); - m_screen->screen_vblank().set(FUNC(lastmisn_state::screen_vblank)); + set_screen_raw_params(config); + m_screen->set_screen_update(FUNC(ghostb_state::screen_update_ghostb)); + m_screen->screen_vblank().set(FUNC(ghostb_state::screen_vblank)); m_screen->screen_vblank().append([this] (int state) { if (state && m_nmi_enable) m_maincpu->set_input_line(INPUT_LINE_NMI, ASSERT_LINE); }); + m_screen->screen_vblank().append_inputline(m_mcu, MCS51_INT0_LINE); m_screen->set_palette(m_palette); GFXDECODE(config, m_gfxdecode, m_palette, gfx_ghostb); DECO_RMC3(config, m_palette, 0, 1024); // xxxxBBBBGGGGRRRR with custom weighting m_palette->set_prom_region("proms"); m_palette->set_init(m_palette, FUNC(deco_rmc3_device::palette_init_proms)); - MCFG_VIDEO_START_OVERRIDE(lastmisn_state,ghostb) + MCFG_VIDEO_START_OVERRIDE(ghostb_state,ghostb) - /* sound hardware */ + // sound hardware SPEAKER(config, "mono").front_center(); GENERIC_LATCH_8(config, m_soundlatch); - ym2203_device &ym1(YM2203(config, "ym1", XTAL(12'000'000) / 8)); // clock verified - ym1.add_route(0, "mono", 0.23); - ym1.add_route(1, "mono", 0.23); - ym1.add_route(2, "mono", 0.23); - ym1.add_route(3, "mono", 0.20); + INPUT_MERGER_ANY_HIGH(config, m_soundirq); + m_soundirq->output_handler().set_inputline(m_audiocpu, m6502_device::IRQ_LINE); - ym3812_device &ym2(YM3812(config, "ym2", XTAL(12'000'000) / 4)); // clock verified - ym2.irq_handler().set_inputline(m_audiocpu, m6502_device::IRQ_LINE); - ym2.add_route(ALL_OUTPUTS, "mono", 0.70); + ym2203_device &ym1(YM2203(config, "ym1", 12_MHz_XTAL / 8)); // clock verified + ym1.irq_handler().set(m_soundirq, FUNC(input_merger_device::in_w<0>)); + ym1.add_route(0, "mono", 0.20); + ym1.add_route(1, "mono", 0.20); + ym1.add_route(2, "mono", 0.20); + ym1.add_route(3, "mono", 0.40); + + ym3812_device &ym2(YM3812(config, "ym2", 12_MHz_XTAL / 4)); // clock verified + ym2.irq_handler().set(m_soundirq, FUNC(input_merger_device::in_w<1>)); + ym2.add_route(ALL_OUTPUTS, "mono", 0.80); } -void lastmisn_state::meikyuh(machine_config &config) +void ghostb_state::meikyuh(machine_config &config) { ghostb(config); - M6502(config.replace(), m_audiocpu, 1500000); - m_audiocpu->set_addrmap(AS_PROGRAM, &lastmisn_state::dec8_s_map); + + R65C02(config.replace(), m_audiocpu, 1'500'000); + m_audiocpu->set_addrmap(AS_PROGRAM, &ghostb_state::dec8_s_map); } void csilver_state::csilver(machine_config &config) { - /* basic machine hardware */ - MC6809E(config, m_maincpu, XTAL(12'000'000)/8); /* verified on pcb */ + // basic machine hardware + MC6809E(config, m_maincpu, 12_MHz_XTAL / 8); // verified on pcb m_maincpu->set_addrmap(AS_PROGRAM, &csilver_state::main_map); - MC6809E(config, m_subcpu, XTAL(12'000'000)/8); /* verified on pcb */ + MC6809E(config, m_subcpu, 12_MHz_XTAL / 8); // verified on pcb m_subcpu->set_addrmap(AS_PROGRAM, &csilver_state::sub_map); - M6502(config, m_audiocpu, XTAL(12'000'000)/8); /* verified on pcb */ - m_audiocpu->set_addrmap(AS_PROGRAM, &csilver_state::sound_map); /* NMIs are caused by the main CPU */ + R65C02(config, m_audiocpu, 12_MHz_XTAL / 8); // verified on pcb + m_audiocpu->set_addrmap(AS_PROGRAM, &csilver_state::sound_map); // NMIs are caused by the main CPU config.set_maximum_quantum(attotime::from_hz(6000)); - I8751(config, m_mcu, XTAL(8'000'000)); + I8751(config, m_mcu, 8_MHz_XTAL); m_mcu->port_in_cb<0>().set(FUNC(csilver_state::i8751_port0_r)); m_mcu->port_out_cb<0>().set(FUNC(csilver_state::i8751_port0_w)); m_mcu->port_in_cb<1>().set(FUNC(csilver_state::i8751_port1_r)); m_mcu->port_out_cb<1>().set(FUNC(csilver_state::i8751_port1_w)); m_mcu->port_out_cb<2>().set(FUNC(csilver_state::mcu_to_main_w)); - m_mcu->port_in_cb<3>().set_ioport("I8751"); + m_mcu->port_in_cb<3>().set_ioport("COIN"); config.set_perfect_quantum(m_maincpu); - /* video hardware */ + // video hardware BUFFERED_SPRITERAM8(config, m_spriteram); DECO_KARNOVSPRITES(config, m_spritegen_krn, 0, m_palette, gfx_shackled_spr); SCREEN(config, m_screen, SCREEN_TYPE_RASTER); -// m_screen->set_refresh_hz(58); -// m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(529)); /* 58Hz, 529us Vblank duration */ -// m_screen->set_size(32*8, 32*8); -// m_screen->set_visarea(0*8, 32*8-1, 1*8, 31*8-1); - set_screen_raw_params_data_east(config); + set_screen_raw_params(config); m_screen->set_screen_update(FUNC(csilver_state::screen_update_lastmisn)); m_screen->set_palette(m_palette); m_screen->screen_vblank().set_inputline(m_subcpu, INPUT_LINE_NMI); @@ -2216,44 +2307,44 @@ void csilver_state::csilver(machine_config &config) MCFG_VIDEO_START_OVERRIDE(csilver_state,lastmisn) - /* sound hardware */ + // sound hardware SPEAKER(config, "mono").front_center(); GENERIC_LATCH_8(config, m_soundlatch); + m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI); - ym2203_device &ym1(YM2203(config, "ym1", XTAL(12'000'000)/8)); /* verified on pcb */ - ym1.add_route(0, "mono", 0.23); - ym1.add_route(1, "mono", 0.23); - ym1.add_route(2, "mono", 0.23); + ym2203_device &ym1(YM2203(config, "ym1", 12_MHz_XTAL / 8)); // verified on pcb + ym1.add_route(0, "mono", 0.10); + ym1.add_route(1, "mono", 0.10); + ym1.add_route(2, "mono", 0.10); ym1.add_route(3, "mono", 0.20); - ym3526_device &ym2(YM3526(config, "ym2", XTAL(12'000'000)/4)); /* verified on pcb */ - ym2.irq_handler().set_inputline(m_audiocpu, m6502_device::IRQ_LINE); - ym2.add_route(ALL_OUTPUTS, "mono", 0.70); + ym3526_device &ym2(YM3526(config, "ym2", 12_MHz_XTAL / 4)); // verified on pcb + ym2.add_route(ALL_OUTPUTS, "mono", 0.40); - MSM5205(config, m_msm, XTAL(384'000)); /* verified on pcb */ - m_msm->vck_legacy_callback().set(FUNC(csilver_state::adpcm_int)); /* interrupt function */ - m_msm->set_prescaler_selector(msm5205_device::S48_4B); /* 8KHz */ - m_msm->add_route(ALL_OUTPUTS, "mono", 0.88); + MSM5205(config, m_msm, 384_kHz_XTAL); // verified on pcb + m_msm->vck_legacy_callback().set(FUNC(csilver_state::adpcm_int)); // interrupt function + m_msm->set_prescaler_selector(msm5205_device::S48_4B); // 8KHz + m_msm->add_route(ALL_OUTPUTS, "mono", 0.80); } void oscar_state::oscar(machine_config &config) { - /* basic machine hardware */ - HD6309(config, m_maincpu, XTAL(12'000'000)/2); /* PCB seen both HD6309EP or MC6809EP, clock verified on pcb */ + // basic machine hardware + MC6809E(config, m_maincpu, 12_MHz_XTAL / 8); // PCB seen both HD6309EP or MC6809EP, clock verified on pcb m_maincpu->set_addrmap(AS_PROGRAM, &oscar_state::oscar_map); - HD6309(config, m_subcpu, XTAL(12'000'000)/2); /* PCB seen both HD6309EP or MC6809EP, clock verified on pcb */ + MC6809E(config, m_subcpu, 12_MHz_XTAL / 8); // PCB seen both HD6309EP or MC6809EP, clock verified on pcb m_subcpu->set_addrmap(AS_PROGRAM, &oscar_state::oscar_sub_map); - DECO_222(config, m_audiocpu, XTAL(12'000'000)/8); // IC labeled "C10707-1" - m_audiocpu->set_addrmap(AS_PROGRAM, &oscar_state::oscar_s_map); /* NMIs are caused by the main CPU */ + DECO_222(config, m_audiocpu, 12_MHz_XTAL / 8); // IC labeled "C10707-1" + m_audiocpu->set_addrmap(AS_PROGRAM, &oscar_state::oscar_s_map); // NMIs are caused by the main CPU - config.set_maximum_quantum(attotime::from_hz(2400)); /* 40 CPU slices per frame */ + config.set_maximum_quantum(attotime::from_hz(6000)); INPUT_MERGER_ANY_LOW(config, "coin").output_handler().set(FUNC(oscar_state::coin_irq)); // 1S1588 x3 (D1-D3) + RCDM-I5 - /* video hardware */ + // video hardware BUFFERED_SPRITERAM8(config, m_spriteram); DECO_BAC06(config, m_tilegen[0], 0); @@ -2264,11 +2355,7 @@ void oscar_state::oscar(machine_config &config) DECO_MXC06(config, m_spritegen_mxc, 0, m_palette, gfx_oscar_spr); SCREEN(config, m_screen, SCREEN_TYPE_RASTER); -// m_screen->set_refresh_hz(58); -// m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* 58Hz, 529us Vblank duration */ -// m_screen->set_size(32*8, 32*8); -// m_screen->set_visarea(0*8, 32*8-1, 1*8, 31*8-1); - set_screen_raw_params_data_east(config); + set_screen_raw_params(config); m_screen->set_screen_update(FUNC(oscar_state::screen_update_oscar)); m_screen->set_palette(m_palette); @@ -2277,58 +2364,58 @@ void oscar_state::oscar(machine_config &config) MCFG_VIDEO_START_OVERRIDE(oscar_state,oscar) - /* sound hardware */ + // sound hardware SPEAKER(config, "mono").front_center(); GENERIC_LATCH_8(config, m_soundlatch); - m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, m6502_device::NMI_LINE); + m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI); - ym2203_device &ym1(YM2203(config, "ym1", XTAL(12'000'000)/8)); /* verified on pcb */ - ym1.add_route(0, "mono", 0.23); - ym1.add_route(1, "mono", 0.23); - ym1.add_route(2, "mono", 0.23); - ym1.add_route(3, "mono", 0.20); + INPUT_MERGER_ANY_HIGH(config, m_soundirq); + m_soundirq->output_handler().set_inputline(m_audiocpu, m6502_device::IRQ_LINE); + + ym2203_device &ym1(YM2203(config, "ym1", 12_MHz_XTAL / 8)); // verified on pcb + ym1.irq_handler().set(m_soundirq, FUNC(input_merger_device::in_w<0>)); + ym1.add_route(0, "mono", 0.20); + ym1.add_route(1, "mono", 0.20); + ym1.add_route(2, "mono", 0.20); + ym1.add_route(3, "mono", 0.40); - ym3526_device &ym2(YM3526(config, "ym2", XTAL(12'000'000)/4)); /* verified on pcb */ - ym2.irq_handler().set_inputline(m_audiocpu, m6502_device::IRQ_LINE); - ym2.add_route(ALL_OUTPUTS, "mono", 0.70); + ym3526_device &ym2(YM3526(config, "ym2", 12_MHz_XTAL / 4)); // verified on pcb + ym2.irq_handler().set(m_soundirq, FUNC(input_merger_device::in_w<1>)); + ym2.add_route(ALL_OUTPUTS, "mono", 0.80); } void oscar_state::oscarbl(machine_config &config) { oscar(config); - M6502(config.replace(), m_audiocpu, XTAL(12'000'000)/8); - m_audiocpu->set_addrmap(AS_PROGRAM, &oscar_state::oscar_s_map); /* NMIs are caused by the main CPU */ + R65C02(config.replace(), m_audiocpu, 12_MHz_XTAL / 8); + m_audiocpu->set_addrmap(AS_PROGRAM, &oscar_state::oscar_s_map); // NMIs are caused by the main CPU m_audiocpu->set_addrmap(AS_OPCODES, &oscar_state::oscarbl_s_opcodes_map); } void srdarwin_state::srdarwin(machine_config &config) { - /* basic machine hardware */ - MC6809E(config, m_maincpu, 2000000); /* MC68A09EP */ + // basic machine hardware + MC6809E(config, m_maincpu, 1'500'000); // MC68A09EP or HD63?09EP m_maincpu->set_addrmap(AS_PROGRAM, &srdarwin_state::main_map); - DECO_222(config, m_audiocpu, 1500000); - m_audiocpu->set_addrmap(AS_PROGRAM, &srdarwin_state::dec8_s_map); /* NMIs are caused by the main CPU */ + DECO_222(config, m_audiocpu, 1'500'000); + m_audiocpu->set_addrmap(AS_PROGRAM, &srdarwin_state::dec8_s_map); // NMIs are caused by the main CPU - I8751(config, m_mcu, XTAL(8'000'000)); /* unknown frequency */ + I8751(config, m_mcu, 8_MHz_XTAL); // unknown frequency m_mcu->port_in_cb<0>().set(FUNC(srdarwin_state::i8751_port0_r)); m_mcu->port_out_cb<0>().set(FUNC(srdarwin_state::i8751_port0_w)); m_mcu->port_out_cb<2>().set(FUNC(srdarwin_state::mcu_to_main_w)); - m_mcu->port_in_cb<3>().set_ioport("I8751"); + m_mcu->port_in_cb<3>().set_ioport("COIN"); - config.set_perfect_quantum(m_maincpu); /* needed for stability with emulated MCU or sometimes commands get missed and game crashes at bosses */ + config.set_perfect_quantum(m_maincpu); // needed for stability with emulated MCU or sometimes commands get missed and game crashes at bosses - /* video hardware */ + // video hardware BUFFERED_SPRITERAM8(config, m_spriteram); SCREEN(config, m_screen, SCREEN_TYPE_RASTER); -// m_screen->set_refresh_hz(58); -// m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(529)); /* 58Hz, 529us Vblank duration */ -// m_screen->set_size(32*8, 32*8); -// m_screen->set_visarea(0*8, 32*8-1, 1*8, 31*8-1); - set_screen_raw_params_data_east(config); + set_screen_raw_params(config); m_screen->set_screen_update(FUNC(srdarwin_state::screen_update)); m_screen->set_palette(m_palette); m_screen->screen_vblank().set_inputline(m_maincpu, INPUT_LINE_NMI); @@ -2336,32 +2423,47 @@ void srdarwin_state::srdarwin(machine_config &config) GFXDECODE(config, m_gfxdecode, m_palette, gfx_srdarwin); DECO_RMC3(config, m_palette, 0, 144); // xxxxBBBBGGGGRRRR with custom weighting - /* sound hardware */ + // sound hardware SPEAKER(config, "mono").front_center(); GENERIC_LATCH_8(config, m_soundlatch); + m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI); - ym2203_device &ym1(YM2203(config, "ym1", 1500000)); - ym1.add_route(0, "mono", 0.23); - ym1.add_route(1, "mono", 0.23); - ym1.add_route(2, "mono", 0.23); - ym1.add_route(3, "mono", 0.20); + INPUT_MERGER_ANY_HIGH(config, m_soundirq); + m_soundirq->output_handler().set_inputline(m_audiocpu, m6502_device::IRQ_LINE); + + ym2203_device &ym1(YM2203(config, "ym1", 1'500'000)); + ym1.irq_handler().set(m_soundirq, FUNC(input_merger_device::in_w<0>)); + ym1.add_route(0, "mono", 0.20); + ym1.add_route(1, "mono", 0.20); + ym1.add_route(2, "mono", 0.20); + ym1.add_route(3, "mono", 0.40); + + ym3812_device &ym2(YM3812(config, "ym2", 3'000'000)); + ym2.irq_handler().set(m_soundirq, FUNC(input_merger_device::in_w<1>)); + ym2.add_route(ALL_OUTPUTS, "mono", 0.80); +} + +void srdarwin_state::srdarwinb(machine_config &config) +{ + srdarwin(config); + + m_maincpu->set_addrmap(AS_PROGRAM, &srdarwin_state::srdarwinb_map); - ym3812_device &ym2(YM3812(config, "ym2", 3000000)); - ym2.irq_handler().set_inputline(m_audiocpu, m6502_device::IRQ_LINE); - ym2.add_route(ALL_OUTPUTS, "mono", 0.70); + config.device_remove("mcu"); + config.set_perfect_quantum(""); } void oscar_state::cobracom(machine_config &config) { - /* basic machine hardware */ - MC6809E(config, m_maincpu, 2000000); /* MC68B09EP */ + // basic machine hardware + MC6809E(config, m_maincpu, 1'500'000); // MC68B09EP m_maincpu->set_addrmap(AS_PROGRAM, &oscar_state::cobra_map); - M6502(config, m_audiocpu, 1500000); - m_audiocpu->set_addrmap(AS_PROGRAM, &oscar_state::dec8_s_map); /* NMIs are caused by the main CPU */ + R65C02(config, m_audiocpu, 1'500'000); + m_audiocpu->set_addrmap(AS_PROGRAM, &oscar_state::dec8_s_map); // NMIs are caused by the main CPU - /* video hardware */ + // video hardware BUFFERED_SPRITERAM8(config, m_spriteram); DECO_BAC06(config, m_tilegen[0], 0); @@ -2376,11 +2478,7 @@ void oscar_state::cobracom(machine_config &config) m_spritegen_mxc->set_colpri_callback(FUNC(oscar_state::cobracom_colpri_cb)); SCREEN(config, m_screen, SCREEN_TYPE_RASTER); -// m_screen->set_refresh_hz(58); -// m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(529)); /* 58Hz, 529us Vblank duration */ -// m_screen->set_size(32*8, 32*8); -// m_screen->set_visarea(0*8, 32*8-1, 1*8, 31*8-1); - set_screen_raw_params_data_east(config); + set_screen_raw_params(config); m_screen->set_screen_update(FUNC(oscar_state::screen_update_cobracom)); m_screen->set_palette(m_palette); m_screen->screen_vblank().set_inputline(m_maincpu, INPUT_LINE_NMI); @@ -2390,37 +2488,43 @@ void oscar_state::cobracom(machine_config &config) MCFG_VIDEO_START_OVERRIDE(oscar_state,cobracom) - /* sound hardware */ + // sound hardware SPEAKER(config, "mono").front_center(); GENERIC_LATCH_8(config, m_soundlatch); + m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI); + + INPUT_MERGER_ANY_HIGH(config, m_soundirq); + m_soundirq->output_handler().set_inputline(m_audiocpu, m6502_device::IRQ_LINE); - ym2203_device &ym1(YM2203(config, "ym1", 1500000)); - ym1.add_route(0, "mono", 0.53); - ym1.add_route(1, "mono", 0.53); - ym1.add_route(2, "mono", 0.53); - ym1.add_route(3, "mono", 0.50); + ym2203_device &ym1(YM2203(config, "ym1", 1'500'000)); + ym1.irq_handler().set(m_soundirq, FUNC(input_merger_device::in_w<0>)); + ym1.add_route(0, "mono", 0.20); + ym1.add_route(1, "mono", 0.20); + ym1.add_route(2, "mono", 0.20); + ym1.add_route(3, "mono", 0.40); - ym3812_device &ym2(YM3812(config, "ym2", 3000000)); - ym2.irq_handler().set_inputline(m_audiocpu, m6502_device::IRQ_LINE); - ym2.add_route(ALL_OUTPUTS, "mono", 0.70); + ym3812_device &ym2(YM3812(config, "ym2", 3'000'000)); + ym2.irq_handler().set(m_soundirq, FUNC(input_merger_device::in_w<1>)); + ym2.add_route(ALL_OUTPUTS, "mono", 0.80); } + /******************************************************************************/ ROM_START( lastmisn ) ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "last_mission_dl03-8.13h", 0x08000, 0x08000, CRC(a4f8d54b) SHA1(4525826fa5d12c22e0f3bc1c3a9673b86a34aad1) ) /* Rev 8 roms */ + ROM_LOAD( "last_mission_dl03-8.13h", 0x08000, 0x08000, CRC(a4f8d54b) SHA1(4525826fa5d12c22e0f3bc1c3a9673b86a34aad1) ) // Rev 8 roms ROM_LOAD( "last_mission_dl04-5.7h", 0x10000, 0x10000, CRC(7dea1552) SHA1(920684413e2ba4313111e79821c5714977b26b1a) ) - ROM_REGION( 0x10000, "sub", 0 ) /* CPU 2, 1st 16k is empty */ + ROM_REGION( 0x10000, "sub", 0 ) // CPU 2, 1st 16k is empty ROM_LOAD( "last_mission_dl02-5.18h", 0x0000, 0x10000, CRC(ec9b5daf) SHA1(86d47bad123676abc82dd7c92943878c54c33075) ) ROM_REGION( 0x10000, "audiocpu", 0 ) ROM_LOAD( "last_mission_dl05-.5h", 0x8000, 0x8000, CRC(1a5df8c0) SHA1(83d36b1d5fb87f50c44f3110804d6bbdbbc0da99) ) - ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */ - ROM_LOAD( "last_mission_dl00-e.18a", 0x0000, 0x1000, CRC(e97481c6) SHA1(5c6b0e3585712c03b1b657c814c502c396ffa333) BAD_DUMP ) /* not verified to be the same data as the "A" MCU dump */ + ROM_REGION( 0x1000, "mcu", 0 ) // i8751 microcontroller + ROM_LOAD( "last_mission_dl00-e.18a", 0x0000, 0x1000, CRC(e97481c6) SHA1(5c6b0e3585712c03b1b657c814c502c396ffa333) BAD_DUMP ) // not verified to be the same data as the "A" MCU dump ROM_REGION( 0x08000, "char", 0 ) ROM_LOAD( "last_mission_dl01-.2a", 0x00000, 0x2000, CRC(f3787a5d) SHA1(3701df42cb2aca951963703e72c6c7b272eed82b) ) @@ -2440,23 +2544,23 @@ ROM_START( lastmisn ) ROM_LOAD( "last_mission_dl07-.15k", 0x40000, 0x10000, CRC(1b60604d) SHA1(1ee15cfdac87f7eeb92050766293b894cfad1466) ) ROM_LOAD( "last_mission_dl06-.17k", 0x60000, 0x10000, CRC(c43c26a7) SHA1(896e278935b100edc12cd970469f2e8293eb96cc) ) - ROM_REGION( 256, "proms", 0 ) - ROM_LOAD( "dl-14.9c", 0x00000, 0x100, CRC(2e55aa12) SHA1(c0f2b9649467eb9d2c1e47589b5990f5c5e8cc93) ) /* Priority (Not yet used) */ + ROM_REGION( 0x0100, "proms", 0 ) + ROM_LOAD( "dl-14.9c", 0x0000, 0x0100, CRC(2e55aa12) SHA1(c0f2b9649467eb9d2c1e47589b5990f5c5e8cc93) ) // Priority (Not yet used) ROM_END ROM_START( lastmisnu6 ) ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "last_mission_dl03-6.13h", 0x08000, 0x08000, CRC(47751a5e) SHA1(190970a6eb849781e8853f2bed7b34ac44e569ca) ) /* Rev 6 roms */ + ROM_LOAD( "last_mission_dl03-6.13h", 0x08000, 0x08000, CRC(47751a5e) SHA1(190970a6eb849781e8853f2bed7b34ac44e569ca) ) // Rev 6 roms ROM_LOAD( "last_mission_dl04-5.7h", 0x10000, 0x10000, CRC(7dea1552) SHA1(920684413e2ba4313111e79821c5714977b26b1a) ) - ROM_REGION( 0x10000, "sub", 0 ) /* CPU 2, 1st 16k is empty */ + ROM_REGION( 0x10000, "sub", 0 ) // CPU 2, 1st 16k is empty ROM_LOAD( "last_mission_dl02-5.18h", 0x0000, 0x10000, CRC(ec9b5daf) SHA1(86d47bad123676abc82dd7c92943878c54c33075) ) ROM_REGION( 0x10000, "audiocpu", 0 ) ROM_LOAD( "last_mission_dl05-.5h", 0x8000, 0x8000, CRC(1a5df8c0) SHA1(83d36b1d5fb87f50c44f3110804d6bbdbbc0da99) ) - ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */ - ROM_LOAD( "last_mission_dl00-a.18a", 0x0000, 0x1000, CRC(e97481c6) SHA1(5c6b0e3585712c03b1b657c814c502c396ffa333) ) /* Hand written "A", some MCUs are known to be labeled DL00-7, it's not verified to be the same data */ + ROM_REGION( 0x1000, "mcu", 0 ) // i8751 microcontroller + ROM_LOAD( "last_mission_dl00-a.18a", 0x0000, 0x1000, CRC(e97481c6) SHA1(5c6b0e3585712c03b1b657c814c502c396ffa333) ) // Hand written "A", some MCUs are known to be labeled DL00-7, it's not verified to be the same data ROM_REGION( 0x08000, "char", 0 ) ROM_LOAD( "last_mission_dl01-.2a", 0x00000, 0x2000, CRC(f3787a5d) SHA1(3701df42cb2aca951963703e72c6c7b272eed82b) ) @@ -2476,23 +2580,23 @@ ROM_START( lastmisnu6 ) ROM_LOAD( "last_mission_dl07-.15k", 0x40000, 0x10000, CRC(1b60604d) SHA1(1ee15cfdac87f7eeb92050766293b894cfad1466) ) ROM_LOAD( "last_mission_dl06-.17k", 0x60000, 0x10000, CRC(c43c26a7) SHA1(896e278935b100edc12cd970469f2e8293eb96cc) ) - ROM_REGION( 256, "proms", 0 ) - ROM_LOAD( "dl-14.9c", 0x00000, 0x100, CRC(2e55aa12) SHA1(c0f2b9649467eb9d2c1e47589b5990f5c5e8cc93) ) /* Priority (Not yet used) */ + ROM_REGION( 0x0100, "proms", 0 ) + ROM_LOAD( "dl-14.9c", 0x0000, 0x0100, CRC(2e55aa12) SHA1(c0f2b9649467eb9d2c1e47589b5990f5c5e8cc93) ) // Priority (Not yet used) ROM_END ROM_START( lastmisnu5 ) ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "last_mission_dl03-5.13h", 0x08000, 0x08000, CRC(357f5f6b) SHA1(a114aac50db62a6bcb943681e517ad7c88ec47f4) ) /* Rev 5 roms */ + ROM_LOAD( "last_mission_dl03-5.13h", 0x08000, 0x08000, CRC(357f5f6b) SHA1(a114aac50db62a6bcb943681e517ad7c88ec47f4) ) // Rev 5 roms ROM_LOAD( "last_mission_dl04-5.7h", 0x10000, 0x10000, CRC(7dea1552) SHA1(920684413e2ba4313111e79821c5714977b26b1a) ) - ROM_REGION( 0x10000, "sub", 0 ) /* CPU 2, 1st 16k is empty */ + ROM_REGION( 0x10000, "sub", 0 ) // CPU 2, 1st 16k is empty ROM_LOAD( "last_mission_dl02-5.18h", 0x0000, 0x10000, CRC(ec9b5daf) SHA1(86d47bad123676abc82dd7c92943878c54c33075) ) ROM_REGION( 0x10000, "audiocpu", 0 ) ROM_LOAD( "last_mission_dl05-.5h", 0x8000, 0x8000, CRC(1a5df8c0) SHA1(83d36b1d5fb87f50c44f3110804d6bbdbbc0da99) ) - ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */ - ROM_LOAD( "last_mission_dl00-a.18a", 0x0000, 0x1000, CRC(e97481c6) SHA1(5c6b0e3585712c03b1b657c814c502c396ffa333) ) /* Hand written "A", some MCUs are known to be labeled DL00-7, it's not verified to be the same data */ + ROM_REGION( 0x1000, "mcu", 0 ) // i8751 microcontroller + ROM_LOAD( "last_mission_dl00-a.18a", 0x0000, 0x1000, CRC(e97481c6) SHA1(5c6b0e3585712c03b1b657c814c502c396ffa333) ) // Hand written "A", some MCUs are known to be labeled DL00-7, it's not verified to be the same data ROM_REGION( 0x08000, "char", 0 ) ROM_LOAD( "last_mission_dl01-.2a", 0x00000, 0x2000, CRC(f3787a5d) SHA1(3701df42cb2aca951963703e72c6c7b272eed82b) ) @@ -2512,8 +2616,8 @@ ROM_START( lastmisnu5 ) ROM_LOAD( "last_mission_dl07-.15k", 0x40000, 0x10000, CRC(1b60604d) SHA1(1ee15cfdac87f7eeb92050766293b894cfad1466) ) ROM_LOAD( "last_mission_dl06-.17k", 0x60000, 0x10000, CRC(c43c26a7) SHA1(896e278935b100edc12cd970469f2e8293eb96cc) ) - ROM_REGION( 256, "proms", 0 ) - ROM_LOAD( "dl-14.9c", 0x00000, 0x100, CRC(2e55aa12) SHA1(c0f2b9649467eb9d2c1e47589b5990f5c5e8cc93) ) /* Priority (Not yet used) */ + ROM_REGION( 0x0100, "proms", 0 ) + ROM_LOAD( "dl-14.9c", 0x00000, 0x0100, CRC(2e55aa12) SHA1(c0f2b9649467eb9d2c1e47589b5990f5c5e8cc93) ) // Priority (Not yet used) ROM_END ROM_START( lastmisnj ) @@ -2521,14 +2625,14 @@ ROM_START( lastmisnj ) ROM_LOAD( "dl03-.13h", 0x08000, 0x08000, CRC(4be5e7e1) SHA1(9f943658663da31947cebdcbcb5f4e2be0714c06) ) ROM_LOAD( "dl04-.7h", 0x10000, 0x10000, CRC(f026adf9) SHA1(4ccd0e714a6eb7cee388c93beee2d5510407c961) ) - ROM_REGION( 0x10000, "sub", 0 ) /* CPU 2, 1st 16k is empty */ + ROM_REGION( 0x10000, "sub", 0 ) // CPU 2, 1st 16k is empty ROM_LOAD( "dl02-.18h", 0x0000, 0x10000, CRC(d0de2b5d) SHA1(e0bb34c2a2ef6fc6f05ab9a98bd23a39004c0c05) ) ROM_REGION( 0x10000, "audiocpu", 0 ) ROM_LOAD( "last_mission_dl05-.5h", 0x8000, 0x8000, CRC(1a5df8c0) SHA1(83d36b1d5fb87f50c44f3110804d6bbdbbc0da99) ) - ROM_REGION( 0x1000, "mcu", 0 ) // created from dump of the US version - ROM_LOAD( "last_mission_japan.18a", 0x0000, 0x1000, BAD_DUMP CRC(0d58c3a1) SHA1(184e75324b7ab2de8e6441f0c954046db80b2640) ) /* correct ROM label when real MCU is dumped */ + ROM_REGION( 0x1000, "mcu", 0 ) // created from dump of the US version + ROM_LOAD( "last_mission_japan.18a", 0x0000, 0x1000, BAD_DUMP CRC(0d58c3a1) SHA1(184e75324b7ab2de8e6441f0c954046db80b2640) ) // correct ROM label when real MCU is dumped ROM_REGION( 0x08000, "char", 0 ) ROM_LOAD( "last_mission_dl01-.2a", 0x00000, 0x2000, CRC(f3787a5d) SHA1(3701df42cb2aca951963703e72c6c7b272eed82b) ) @@ -2548,27 +2652,27 @@ ROM_START( lastmisnj ) ROM_LOAD( "last_mission_dl07-.15k", 0x40000, 0x10000, CRC(1b60604d) SHA1(1ee15cfdac87f7eeb92050766293b894cfad1466) ) ROM_LOAD( "last_mission_dl06-.17k", 0x60000, 0x10000, CRC(c43c26a7) SHA1(896e278935b100edc12cd970469f2e8293eb96cc) ) - ROM_REGION( 256, "proms", 0 ) - ROM_LOAD( "dl-14.9c", 0x00000, 0x100, CRC(2e55aa12) SHA1(c0f2b9649467eb9d2c1e47589b5990f5c5e8cc93) ) /* Priority (Not yet used) */ + ROM_REGION( 0x0100, "proms", 0 ) + ROM_LOAD( "dl-14.9c", 0x0000, 0x0100, CRC(2e55aa12) SHA1(c0f2b9649467eb9d2c1e47589b5990f5c5e8cc93) ) // Priority (Not yet used) ROM_END ROM_START( shackled ) ROM_REGION( 0x50000, "maincpu", 0 ) ROM_LOAD( "dk-02.13h", 0x08000, 0x08000, CRC(87f8fa85) SHA1(1cb93a60eefdb453a3cc6ec9c5cc2e367fb8aeb0) ) ROM_LOAD( "dk-06.7h", 0x10000, 0x10000, CRC(69ad62d1) SHA1(1aa23b12ab4f1908cddd25f091e1f9bd70a5113c) ) - ROM_LOAD( "dk-05.8h", 0x20000, 0x10000, CRC(598dd128) SHA1(10843c5352eef03c8675df6abaf23c9c9c795aa3) ) + ROM_LOAD( "dk-05.9h", 0x20000, 0x10000, CRC(598dd128) SHA1(10843c5352eef03c8675df6abaf23c9c9c795aa3) ) ROM_LOAD( "dk-04.10h", 0x30000, 0x10000, CRC(36d305d4) SHA1(17586c316aff405cf20c1467d69c98fa2a3c2630) ) ROM_LOAD( "dk-03.11h", 0x40000, 0x08000, CRC(6fd90fd1) SHA1(2f8db17e5545c82d243a7e23e7bda2c2a9101360) ) ROM_RELOAD( 0x48000, 0x08000 ) - ROM_REGION( 0x10000, "sub", 0 ) /* CPU 2, 1st 16k is empty */ + ROM_REGION( 0x10000, "sub", 0 ) // CPU 2, 1st 16k is empty ROM_LOAD( "dk-01.18h", 0x00000, 0x10000, CRC(71fe3bda) SHA1(959cce01362b2c670c2e15b03a78a1ff9cea4ee9) ) ROM_REGION( 0x10000, "audiocpu", 0 ) ROM_LOAD( "dk-07.5h", 0x08000, 0x08000, CRC(887e4bcc) SHA1(6427396080e9cd8647adff47c8ed04593a14268c) ) - ROM_REGION( 0x1000, "mcu", 0 ) /* ID8751H (fake) MCU (based on 'breywood' with ID byte changed from 00 to 01) */ - ROM_LOAD( "dk-e.18a", 0x0000, 0x1000, CRC(1af06149) SHA1(b9cb2a4986dbcfc78b0cbea2c1e2bdac1db479cd) BAD_DUMP ) /* Hand written "E" */ + ROM_REGION( 0x1000, "mcu", 0 ) // ID8751H (fake) MCU (based on 'breywood' with ID byte changed from 00 to 01) + ROM_LOAD( "dk-e.18a", 0x0000, 0x1000, CRC(1af06149) SHA1(b9cb2a4986dbcfc78b0cbea2c1e2bdac1db479cd) BAD_DUMP ) // Hand written "E" ROM_REGION( 0x08000, "char", 0 ) ROM_LOAD( "dk-00.2a", 0x00000, 0x08000, CRC(69b975aa) SHA1(38cb96768c79ff1aa1b4b190e08ec9155baf698a) ) @@ -2589,26 +2693,26 @@ ROM_START( shackled ) ROM_LOAD( "dk-09.15k", 0x40000, 0x10000, CRC(c1557fac) SHA1(7d39ec793113a48baf45c2ea07abb07e2e48985a) ) ROM_LOAD( "dk-08.17k", 0x60000, 0x10000, CRC(5e54e9f5) SHA1(1ab41a3bde1f2c2be670e89cf402be28001c17d1) ) - ROM_REGION( 256, "proms", 0 ) - ROM_LOAD( "dk-20.9c", 0x00000, 0x100, CRC(ff3cd588) SHA1(7360a9f046d517885d456d89026d047fb1fd8d5a) ) /* Priority (Not yet used) BPROM type MB7052 */ + ROM_REGION( 0x0100, "proms", 0 ) + ROM_LOAD( "dk-20.9c", 0x0000, 0x0100, CRC(ff3cd588) SHA1(7360a9f046d517885d456d89026d047fb1fd8d5a) ) // Priority (Not yet used) BPROM type MB7052 ROM_END ROM_START( breywood ) ROM_REGION( 0x50000, "maincpu", 0 ) ROM_LOAD( "dj02-2.13h", 0x08000, 0x08000, CRC(c19856b9) SHA1(766994703bb59879c311675353d7231ad27c7c16) ) ROM_LOAD( "dj06-2.7h", 0x10000, 0x10000, CRC(2860ea02) SHA1(7ac090c3ae9d71baa6227ec9555f1c9f2d25ea0d) ) - ROM_LOAD( "dj05-2.8h", 0x20000, 0x10000, CRC(0fdd915e) SHA1(262df956dfc727c710ade28af7f33fddaafd7ee2) ) + ROM_LOAD( "dj05-2.9h", 0x20000, 0x10000, CRC(0fdd915e) SHA1(262df956dfc727c710ade28af7f33fddaafd7ee2) ) ROM_LOAD( "dj04-2.10h", 0x30000, 0x10000, CRC(71036579) SHA1(c58ff3222b5bcd75d58c5f282554e92103e80916) ) ROM_LOAD( "dj03-2.11h", 0x40000, 0x08000, CRC(308f4893) SHA1(539c138ff01c5718cc8a982482b989468d532699) ) ROM_RELOAD( 0x48000, 0x08000 ) - ROM_REGION( 0x10000, "sub", 0 ) /* CPU 2, 1st 16k is empty */ + ROM_REGION( 0x10000, "sub", 0 ) // CPU 2, 1st 16k is empty ROM_LOAD( "dj1-2y.18h", 0x0000, 0x10000, CRC(3d9fb623) SHA1(6e5eaad9bb0a432e2da5da5b18a2ed36617bdde2) ) ROM_REGION( 0x10000, "audiocpu", 0 ) ROM_LOAD( "dj07-1.5h", 0x8000, 0x8000, CRC(4a471c38) SHA1(963ed7b6afeefdfc2cf0d65b0998f973330e6495) ) - ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */ + ROM_REGION( 0x1000, "mcu", 0 ) // i8751 microcontroller ROM_LOAD( "dj.18a", 0x0000, 0x1000, CRC(4cb20332) SHA1(e0bbba7be22e7bcff82fb0ae441410e559ec4566) ) ROM_REGION( 0x08000, "char", 0 ) @@ -2630,8 +2734,8 @@ ROM_START( breywood ) ROM_LOAD( "dj09.15k", 0x40000, 0x10000, CRC(e37d5dbe) SHA1(ff79b4f6d8b0a3061e78d15480df0155650f347f) ) ROM_LOAD( "dj08.17k", 0x60000, 0x10000, CRC(beee880f) SHA1(9a818a75cbec425a13f629bda6d50aa341aa1896) ) - ROM_REGION( 256, "proms", 0 ) - ROM_LOAD( "dk-20.9c", 0x00000, 0x100, CRC(ff3cd588) SHA1(7360a9f046d517885d456d89026d047fb1fd8d5a) ) /* Priority (Not yet used) BPROM type MB7052 */ + ROM_REGION( 0x0100, "proms", 0 ) + ROM_LOAD( "dk-20.9c", 0x0000, 0x0100, CRC(ff3cd588) SHA1(7360a9f046d517885d456d89026d047fb1fd8d5a) ) // Priority (Not yet used) BPROM type MB7052 ROM_END ROM_START( gondo ) @@ -2644,7 +2748,7 @@ ROM_START( gondo ) ROM_REGION( 0x10000, "audiocpu", 0 ) ROM_LOAD( "dt05-e.h5", 0x8000, 0x8000, CRC(ec08aa29) SHA1(ce83974ae095d9518d1ebf9f7e712f0cbc2c1b42) ) - ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */ + ROM_REGION( 0x1000, "mcu", 0 ) // i8751 microcontroller ROM_LOAD( "dt-e.b1", 0x0000, 0x1000, BAD_DUMP CRC(0d0532ec) SHA1(30894f69ff24c1be4b684e07729bbb3e0f353086) ) // hand-crafted from the US version ROM_REGION( 0x08000, "char", 0 ) @@ -2674,8 +2778,8 @@ ROM_START( gondo ) ROM_CONTINUE( 0x70000, 0x08000 ) ROM_LOAD( "dt11.h15", 0x68000, 0x08000, CRC(53e9cf17) SHA1(8cbb45154a60f42f1b1e7299b12d2e92fc194df8) ) - ROM_REGION( 0x400, "proms", 0 ) - ROM_LOAD( "ds-23.b10", 0x00000, 0x400, CRC(dcbfec4e) SHA1(a375caef4575746870e285d90ba991ea7daefad6) ) /* BPROM type MB7122E for Priority (Not yet used) */ + ROM_REGION( 0x0400, "proms", 0 ) + ROM_LOAD( "ds-23.b10", 0x0000, 0x0400, CRC(dcbfec4e) SHA1(a375caef4575746870e285d90ba991ea7daefad6) ) // BPROM type MB7122E for Priority (Not yet used) ROM_END ROM_START( gondou ) @@ -2688,7 +2792,7 @@ ROM_START( gondou ) ROM_REGION( 0x10000, "audiocpu", 0 ) ROM_LOAD( "dt05.h5", 0x8000, 0x8000, CRC(ec08aa29) SHA1(ce83974ae095d9518d1ebf9f7e712f0cbc2c1b42) ) // == dt05-e.h5 - ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */ + ROM_REGION( 0x1000, "mcu", 0 ) // i8751 microcontroller ROM_LOAD( "dt-a.b1", 0x0000, 0x1000, CRC(03abceeb) SHA1(a16b779d7cea1c1437f85fa6b6e08894a46a5674) ) ROM_REGION( 0x08000, "char", 0 ) @@ -2718,8 +2822,8 @@ ROM_START( gondou ) ROM_CONTINUE( 0x70000, 0x08000 ) ROM_LOAD( "dt11.h15", 0x68000, 0x08000, CRC(53e9cf17) SHA1(8cbb45154a60f42f1b1e7299b12d2e92fc194df8) ) - ROM_REGION( 0x400, "proms", 0 ) - ROM_LOAD( "ds-23.b10", 0x00000, 0x400, CRC(dcbfec4e) SHA1(a375caef4575746870e285d90ba991ea7daefad6) ) /* BPROM type MB7122E for Priority (Not yet used) */ + ROM_REGION( 0x0400, "proms", 0 ) + ROM_LOAD( "ds-23.b10", 0x0000, 0x0400, CRC(dcbfec4e) SHA1(a375caef4575746870e285d90ba991ea7daefad6) ) // BPROM type MB7122E for Priority (Not yet used) ROM_END ROM_START( makyosen ) @@ -2732,7 +2836,7 @@ ROM_START( makyosen ) ROM_REGION( 0x10000, "audiocpu", 0 ) ROM_LOAD( "ds05.h5", 0x8000, 0x8000, CRC(e6e28ca9) SHA1(3b1f8219331db1910bfb428f8964f8fc1063df6f) ) // == dt05-e.h5 - ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */ + ROM_REGION( 0x1000, "mcu", 0 ) // i8751 microcontroller ROM_LOAD( "ds.b1", 0x0000, 0x1000, CRC(08f36e35) SHA1(e8913da71704a89fad41d5bfba45682119166681) ) ROM_REGION( 0x08000, "char", 0 ) @@ -2762,13 +2866,13 @@ ROM_START( makyosen ) ROM_CONTINUE( 0x70000, 0x08000 ) ROM_LOAD( "ds11.h15", 0x68000, 0x08000, CRC(53e9cf17) SHA1(8cbb45154a60f42f1b1e7299b12d2e92fc194df8) ) - ROM_REGION( 0x400, "proms", 0 ) - ROM_LOAD( "ds-23.b10", 0x00000, 0x400, CRC(dcbfec4e) SHA1(a375caef4575746870e285d90ba991ea7daefad6) ) /* BPROM type MB7122E for Priority (Not yet used) */ + ROM_REGION( 0x0400, "proms", 0 ) + ROM_LOAD( "ds-23.b10", 0x0000, 0x0400, CRC(dcbfec4e) SHA1(a375caef4575746870e285d90ba991ea7daefad6) ) // BPROM type MB7122E for Priority (Not yet used) ROM_REGION( 0x0600, "plds", 0 ) - ROM_LOAD( "pal16r4nc.u10", 0x0000, 0x0104, NO_DUMP ) /* PAL is read protected */ - ROM_LOAD( "pal16r4nc.g11", 0x0200, 0x0104, NO_DUMP ) /* PAL is read protected */ - ROM_LOAD( "pal16r4nc.s1", 0x0400, 0x0104, NO_DUMP ) /* PAL is read protected */ + ROM_LOAD( "pal16r4nc.u10", 0x0000, 0x0104, NO_DUMP ) // PAL is read protected + ROM_LOAD( "pal16r4nc.g11", 0x0200, 0x0104, NO_DUMP ) // PAL is read protected + ROM_LOAD( "pal16r4nc.s1", 0x0400, 0x0104, NO_DUMP ) // PAL is read protected ROM_END ROM_START( garyoret ) @@ -2782,11 +2886,11 @@ ROM_START( garyoret ) ROM_REGION( 0x10000, "audiocpu", 0 ) ROM_LOAD( "dv05", 0x08000, 0x08000, CRC(c97c347f) SHA1(a1b22733dc15d524af97db3e608a82503a49b182) ) - ROM_REGION( 0x1000, "mcu", 0 ) /* ID8751H (fake) MCU based on 'gondo' one */ + ROM_REGION( 0x1000, "mcu", 0 ) // ID8751H (fake) MCU based on 'gondo' one ROM_LOAD( "dv__.mcu", 0x0000, 0x1000, BAD_DUMP CRC(37cacec6) SHA1(d81fe36939ccac784a83a69dfc6898b22a4515ec) ) ROM_REGION( 0x08000, "char", 0 ) - ROM_LOAD( "dv14", 0x00000, 0x08000, CRC(fb2bc581) SHA1(d597976c5ae586166c49051cc3de8cf0c2e5a5e1) ) /* Characters */ + ROM_LOAD( "dv14", 0x00000, 0x08000, CRC(fb2bc581) SHA1(d597976c5ae586166c49051cc3de8cf0c2e5a5e1) ) // Characters ROM_REGION( 0x80000, "sprites", 0 ) ROM_LOAD( "dv22", 0x00000, 0x10000, CRC(cef0367e) SHA1(8beb3a6b91ec0a6ec052243c8f626a581d349f65) ) @@ -2828,10 +2932,10 @@ ROM_START( ghostb ) ROM_LOAD( "dz04-21.6d", 0x30000, 0x10000, CRC(7d46582f) SHA1(22e70675d76e2a93a732370fa42cc4b79381f4b0) ) ROM_LOAD( "dz05-21.7d", 0x40000, 0x10000, CRC(23e1c758) SHA1(c6432682e1d4429d0cfa8de6a05ca0152611b5b1) ) - ROM_REGION( 2*0x10000, "audiocpu", 0 ) /* 64K for sound CPU + 64k for decrypted opcodes */ + ROM_REGION( 2*0x10000, "audiocpu", 0 ) // 64K for sound CPU + 64k for decrypted opcodes ROM_LOAD( "dz06.5f", 0x8000, 0x8000, CRC(798f56df) SHA1(aee33cd0c102015114e17f6cb98945e7cc806f55) ) - ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */ + ROM_REGION( 0x1000, "mcu", 0 ) // i8751 microcontroller ROM_LOAD( "dz-1.1b", 0x0000, 0x1000, CRC(9f5f3cb5) SHA1(5ef2b8a5411dde28277d9364db014763019ecf15) ) ROM_REGION( 0x08000, "char", 0 ) @@ -2866,10 +2970,10 @@ ROM_START( ghostb2a ) ROM_LOAD( "dz04.6d", 0x30000, 0x10000, CRC(d09bad99) SHA1(bde8e4316cedf1d292f0aed8627b0dc6794c6e07) ) ROM_LOAD( "dz05.7d", 0x40000, 0x10000, CRC(0315f691) SHA1(3bfad18b9f230e64c608a22af20c3b00dca3e6da) ) - ROM_REGION( 2*0x10000, "audiocpu", 0 ) /* 64K for sound CPU + 64k for decrypted opcodes */ + ROM_REGION( 2*0x10000, "audiocpu", 0 ) // 64K for sound CPU + 64k for decrypted opcodes ROM_LOAD( "dz06.5f", 0x8000, 0x8000, CRC(798f56df) SHA1(aee33cd0c102015114e17f6cb98945e7cc806f55) ) - ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */ + ROM_REGION( 0x1000, "mcu", 0 ) // i8751 microcontroller ROM_LOAD( "dz-1.1b", 0x0000, 0x1000, CRC(9f5f3cb5) SHA1(5ef2b8a5411dde28277d9364db014763019ecf15) ) ROM_REGION( 0x08000, "char", 0 ) @@ -2904,10 +3008,10 @@ ROM_START( ghostb3 ) ROM_LOAD( "dz04-1.6d", 0x30000, 0x10000, CRC(3c3eb09f) SHA1(ae4975992698fa97c68a857a25b470a05539160a) ) ROM_LOAD( "dz05-1.7d", 0x40000, 0x10000, CRC(b4971d33) SHA1(25e052c4b414c7bd7b6e3ae9c211873902afb5f7) ) - ROM_REGION( 2*0x10000, "audiocpu", 0 ) /* 64K for sound CPU + 64k for decrypted opcodes */ + ROM_REGION( 2*0x10000, "audiocpu", 0 ) // 64K for sound CPU + 64k for decrypted opcodes ROM_LOAD( "dz06.5f", 0x8000, 0x8000, CRC(798f56df) SHA1(aee33cd0c102015114e17f6cb98945e7cc806f55) ) - ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */ + ROM_REGION( 0x1000, "mcu", 0 ) // i8751 microcontroller ROM_LOAD( "dz-1.1b", 0x0000, 0x1000, CRC(9f5f3cb5) SHA1(5ef2b8a5411dde28277d9364db014763019ecf15) ) ROM_REGION( 0x08000, "char", 0 ) @@ -2934,8 +3038,7 @@ ROM_START( ghostb3 ) ROM_LOAD( "dz20a.11d", 0x0400, 0x0400, CRC(d8fe2d99) SHA1(56f8fcf2f871c7d52d4299a5b9988401ada4319d) ) ROM_END -// DZ-1 is the verified correct MCU code for the ghostb3a set below - program ROMs work on a real PCB, but stall here in the demo mode -// Both DZ01-2 & DZ04- ROMs have been verified correct from multiple sources +// DZ-1 is the verified correct MCU code for the ghostb3a set below, both DZ01-2 & DZ04- ROMs have been verified correct from multiple sources ROM_START( ghostb3a ) ROM_REGION( 0x50000, "maincpu", 0 ) ROM_LOAD( "dz01-2.1d", 0x08000, 0x08000, CRC(1b16890e) SHA1(eebd253d616b6286937b72cfb64612877f383932) ) @@ -2944,10 +3047,10 @@ ROM_START( ghostb3a ) ROM_LOAD( "dz04-.6d", 0x30000, 0x10000, CRC(490b4525) SHA1(3066b76f8fe99c8f9f1cdf943209883a199a4184) ) ROM_LOAD( "dz05-.7d", 0x40000, 0x10000, CRC(b4971d33) SHA1(25e052c4b414c7bd7b6e3ae9c211873902afb5f7) ) // == dz05-1.7d (ghostb3) - ROM_REGION( 2*0x10000, "audiocpu", 0 ) /* 64K for sound CPU + 64k for decrypted opcodes */ + ROM_REGION( 2*0x10000, "audiocpu", 0 ) // 64K for sound CPU + 64k for decrypted opcodes ROM_LOAD( "dz06.5f", 0x8000, 0x8000, CRC(798f56df) SHA1(aee33cd0c102015114e17f6cb98945e7cc806f55) ) - ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */ + ROM_REGION( 0x1000, "mcu", 0 ) // i8751 microcontroller ROM_LOAD( "dz-1.1b", 0x0000, 0x1000, CRC(9f5f3cb5) SHA1(5ef2b8a5411dde28277d9364db014763019ecf15) ) ROM_REGION( 0x08000, "char", 0 ) @@ -2975,6 +3078,7 @@ ROM_START( ghostb3a ) ROM_END /* + Meikyuu Hunter G (Data East, 1987) Hardware info by Guru @@ -3018,8 +3122,8 @@ DE-0273-1 VSync - 58Hz HSync - 15.68kHz ROMs - - DW00/DW01/DW05 - 27C256 - DW02/DW03/DW04 \ + DW00/DW01/DW05 - 27C256 + DW02/DW03/DW04 \ DW06/DW07/DW08/DW09 / 27C512 DW18 - Fujitsu MB7132, compatible with Philips 82S181 DW19 - Fujitsu MB7122, compatible with Philips 82S137 @@ -3069,7 +3173,7 @@ ROM_START( meikyuh ) ROM_REGION( 0x10000, "audiocpu", 0 ) ROM_LOAD( "dw05.5f", 0x8000, 0x8000, CRC(c28c4d82) SHA1(ad88506bcbc9763e39d6e6bb25ef2bd6aa929f30) ) - ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */ + ROM_REGION( 0x1000, "mcu", 0 ) // i8751 microcontroller ROM_LOAD( "dw.1b", 0x0000, 0x1000, CRC(28e9ced9) SHA1(a3d6dfa1e44fa93c0f30fa0a88b6dd3d6e5c4dda) ) ROM_REGION( 0x08000, "char", 0 ) @@ -3151,6 +3255,7 @@ There is a small piggyback attached under CPUs PCB full of 74Sxx ALL MEMORIES ARE MASK ROMS! */ + ROM_START( meikyuhbl ) ROM_REGION( 0x40000, "maincpu", 0 ) ROM_LOAD( "27256.1d", 0x08000, 0x08000, CRC(d5b5e8a2) SHA1(0155d1d0ddbd764b960148c3c9ef34223e101659) ) // dw-01-5.1d matched 6.552124% @@ -3161,7 +3266,7 @@ ROM_START( meikyuhbl ) ROM_REGION( 0x10000, "audiocpu", 0 ) ROM_LOAD( "27256.5f", 0x8000, 0x8000, CRC(c28c4d82) SHA1(ad88506bcbc9763e39d6e6bb25ef2bd6aa929f30) ) - ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */ + ROM_REGION( 0x1000, "mcu", 0 ) // i8751 microcontroller - should be unpopulated ROM_LOAD( "dw.1b", 0x0000, 0x1000, CRC(28e9ced9) SHA1(a3d6dfa1e44fa93c0f30fa0a88b6dd3d6e5c4dda) ) ROM_REGION( 0x08000, "char", 0 ) @@ -3195,6 +3300,9 @@ ROM_START( meikyuhbl ) ROM_END /* + +Captain Silver + Main Components --------------- @@ -3241,45 +3349,44 @@ Lower board (DATA EAST DE-0251-2): */ - ROM_START( csilver ) ROM_REGION( 0x48000, "maincpu", 0 ) ROM_LOAD( "dx03-12.18d", 0x08000, 0x08000, CRC(2d926e7c) SHA1(cf38e92904edb1870b0a4965f9049d67efe8cf6a) ) ROM_LOAD( "dx01.12d", 0x10000, 0x10000, CRC(570fb50c) SHA1(3002f53182834a060fc282be1bc5767906e19ba2) ) ROM_LOAD( "dx02.13d", 0x20000, 0x10000, CRC(58625890) SHA1(503a969085f6dcb16687217c48136ea22d07c89f) ) - ROM_REGION( 0x10000, "sub", 0 ) /* CPU 2, 1st 16k is empty */ + ROM_REGION( 0x10000, "sub", 0 ) // CPU 2, 1st 16k is empty ROM_LOAD( "dx04-1.19d", 0x0000, 0x10000, CRC(29432691) SHA1(a76ecd27d217c66a0e43f93e29efe83c657925c3) ) ROM_REGION( 0x10000, "audiocpu", 0 ) ROM_LOAD( "dx05.3f", 0x00000, 0x10000, CRC(eb32cf25) SHA1(9390c88033259c65eb15320e31f5d696970987cc) ) - ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */ - // 017F: B4 4C 0D : cjne a,#$4C,$018F (ID code 0x4c = World version) + ROM_REGION( 0x1000, "mcu", 0 ) // i8751 microcontroller + // 017F: B4 4C 0D : cjne a,#$4C,$018F (ID code 0x4c = World version) ROM_LOAD( "dx-8.19a", 0x0000, 0x1000, CRC(c0266263) SHA1(27ac6fa4af7195f04249c04dec168ab82158704e) ) ROM_REGION( 0x08000, "char", 0 ) ROM_LOAD( "dx00.3d", 0x00000, 0x08000, CRC(f01ef985) SHA1(d5b823bd7c0efcf3137f8643c5d99a260bed5675) ) - ROM_REGION( 0x80000, "sprites", 0 ) // 3bpp + ROM_REGION( 0x80000, "sprites", 0 ) // 3bpp ROM_LOAD( "dx14.15k", 0x00000, 0x10000, CRC(80f07915) SHA1(ea100f12ef3a68110af911fa9beeb73b388f069d) ) - /* 0x10000-0x1ffff empty */ + // 0x10000-0x1ffff empty ROM_LOAD( "dx13.13k", 0x20000, 0x10000, CRC(d32c02e7) SHA1(d0518ec31e9e3f7b4e76fba5d7c05c33c61a9c72) ) - /* 0x30000-0x3ffff empty */ + // 0x30000-0x3ffff empty ROM_LOAD( "dx12.10k", 0x40000, 0x10000, CRC(ac78b76b) SHA1(c2be347fd950894401123ada8b27bfcfce53e66b) ) - /* 0x50000-0x5ffff empty */ - /* 0x60000-0x7ffff empty (no 4th plane) */ + // 0x50000-0x5ffff empty + // 0x60000-0x7ffff empty (no 4th plane) - ROM_REGION( 0x80000, "tiles1", 0 ) // 3bpp + ROM_REGION( 0x80000, "tiles1", 0 ) // 3bpp ROM_LOAD( "dx06.5f", 0x00000, 0x10000, CRC(b6fb208c) SHA1(027d33f0b5feb6f0433134213cfcef96790eaace) ) ROM_LOAD( "dx07.7f", 0x10000, 0x10000, CRC(ee3e1817) SHA1(013496976a9ffacf1587b3a6fc0f548becb1ab0e) ) ROM_LOAD( "dx08.8f", 0x20000, 0x10000, CRC(705900fe) SHA1(53b9d09f9780a3bf3545bc27a2855ebee3884124) ) ROM_LOAD( "dx09.10f", 0x30000, 0x10000, CRC(3192571d) SHA1(240c6c099f1e6edbf0be7d5a4ec396b056c9f70f) ) - ROM_LOAD( "dx10.12f", 0x40000, 0x10000, CRC(3ef77a32) SHA1(97b97c35a6ca994d2e7a6e7a63101eda9709bcb1) ) - ROM_LOAD( "dx11.13f", 0x50000, 0x10000, CRC(9cf3d5b8) SHA1(df4974f8412ab1cf65871b8e4e3dbee478bf4d21) ) + ROM_LOAD( "dx10.12f", 0x40000, 0x10000, CRC(3ef77a32) SHA1(97b97c35a6ca994d2e7a6e7a63101eda9709bcb1) ) + ROM_LOAD( "dx11.13f", 0x50000, 0x10000, CRC(9cf3d5b8) SHA1(df4974f8412ab1cf65871b8e4e3dbee478bf4d21) ) - ROM_REGION( 0x400, "proms", 0 ) - ROM_LOAD( "dx-15.b10", 0x00000, 0x400, CRC(dcbfec4e) SHA1(a375caef4575746870e285d90ba991ea7daefad6) ) // BPROM type MB7122E for priority (Not yet used), location on alternate board unknown + ROM_REGION( 0x0400, "proms", 0 ) + ROM_LOAD( "dx-15.b10", 0x0000, 0x0400, CRC(dcbfec4e) SHA1(a375caef4575746870e285d90ba991ea7daefad6) ) // BPROM type MB7122E for priority (Not yet used), location on alternate board unknown ROM_END // There is known to exist an identical ROM set with different PCB locations designated for an alternate ROM board (noted on the right of the ROM definition) @@ -3289,38 +3396,38 @@ ROM_START( csilverj ) ROM_LOAD( "dx01.12d", 0x10000, 0x10000, CRC(570fb50c) SHA1(3002f53182834a060fc282be1bc5767906e19ba2) ) // dx01.a2 ROM_LOAD( "dx02.13d", 0x20000, 0x10000, CRC(58625890) SHA1(503a969085f6dcb16687217c48136ea22d07c89f) ) // dx01.a3 - ROM_REGION( 0x10000, "sub", 0 ) /* CPU 2, 1st 16k is empty */ + ROM_REGION( 0x10000, "sub", 0 ) // CPU 2, 1st 16k is empty ROM_LOAD( "dx04-1.19d", 0x0000, 0x10000, CRC(29432691) SHA1(a76ecd27d217c66a0e43f93e29efe83c657925c3) ) // dx04-1.a5 ROM_REGION( 0x10000, "audiocpu", 0 ) ROM_LOAD( "dx05.3f", 0x00000, 0x10000, CRC(eb32cf25) SHA1(9390c88033259c65eb15320e31f5d696970987cc) ) // dx05.a6 - ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */ + ROM_REGION( 0x1000, "mcu", 0 ) // i8751 microcontroller // hand modified version of csilver ROM ROM_LOAD( "id8751h_japan.mcu", 0x0000, 0x1000, BAD_DUMP CRC(6e801217) SHA1(2d8f7ae533dd8146acf8461d61ddd839544adf55) ) ROM_REGION( 0x08000, "char", 0 ) ROM_LOAD( "dx00.3d", 0x00000, 0x08000, CRC(f01ef985) SHA1(d5b823bd7c0efcf3137f8643c5d99a260bed5675) ) // dx00.a1 - ROM_REGION( 0x80000, "sprites", 0 ) // 3bpp + ROM_REGION( 0x80000, "sprites", 0 ) // 3bpp ROM_LOAD( "dx14.15k", 0x00000, 0x10000, CRC(80f07915) SHA1(ea100f12ef3a68110af911fa9beeb73b388f069d) ) // dx14.b5 - /* 0x10000-0x1ffff empty */ + // 0x10000-0x1ffff empty ROM_LOAD( "dx13.13k", 0x20000, 0x10000, CRC(d32c02e7) SHA1(d0518ec31e9e3f7b4e76fba5d7c05c33c61a9c72) ) // dx13.b4 - /* 0x30000-0x3ffff empty */ + // 0x30000-0x3ffff empty ROM_LOAD( "dx12.10k", 0x40000, 0x10000, CRC(ac78b76b) SHA1(c2be347fd950894401123ada8b27bfcfce53e66b) ) // dx12.b3 - /* 0x50000-0x5ffff empty */ - /* 0x60000-0x7ffff empty (no 4th plane) */ + // 0x50000-0x5ffff empty + // 0x60000-0x7ffff empty (no 4th plane) - ROM_REGION( 0x80000, "tiles1", 0 ) // 3bpp + ROM_REGION( 0x80000, "tiles1", 0 ) // 3bpp ROM_LOAD( "dx06.5f", 0x00000, 0x10000, CRC(b6fb208c) SHA1(027d33f0b5feb6f0433134213cfcef96790eaace) ) // dx06.a7 ROM_LOAD( "dx07.7f", 0x10000, 0x10000, CRC(ee3e1817) SHA1(013496976a9ffacf1587b3a6fc0f548becb1ab0e) ) // dx07.a8 ROM_LOAD( "dx08.8f", 0x20000, 0x10000, CRC(705900fe) SHA1(53b9d09f9780a3bf3545bc27a2855ebee3884124) ) // dx08.a9 ROM_LOAD( "dx09.10f", 0x30000, 0x10000, CRC(3192571d) SHA1(240c6c099f1e6edbf0be7d5a4ec396b056c9f70f) ) // dx09.a10 - ROM_LOAD( "dx10.12f", 0x40000, 0x10000, CRC(3ef77a32) SHA1(97b97c35a6ca994d2e7a6e7a63101eda9709bcb1) ) // dx10.b1 - ROM_LOAD( "dx11.13f", 0x50000, 0x10000, CRC(9cf3d5b8) SHA1(df4974f8412ab1cf65871b8e4e3dbee478bf4d21) ) // dx11.b2 + ROM_LOAD( "dx10.12f", 0x40000, 0x10000, CRC(3ef77a32) SHA1(97b97c35a6ca994d2e7a6e7a63101eda9709bcb1) ) // dx10.b1 + ROM_LOAD( "dx11.13f", 0x50000, 0x10000, CRC(9cf3d5b8) SHA1(df4974f8412ab1cf65871b8e4e3dbee478bf4d21) ) // dx11.b2 - ROM_REGION( 0x400, "proms", 0 ) - ROM_LOAD( "dx-15.b10", 0x00000, 0x400, CRC(dcbfec4e) SHA1(a375caef4575746870e285d90ba991ea7daefad6) ) // BPROM type MB7122E for priority (Not yet used), location on alternate board unknown + ROM_REGION( 0x0400, "proms", 0 ) + ROM_LOAD( "dx-15.b10", 0x0000, 0x0400, CRC(dcbfec4e) SHA1(a375caef4575746870e285d90ba991ea7daefad6) ) // BPROM type MB7122E for priority (Not yet used), location on alternate board unknown ROM_END ROM_START( csilverja ) // DE-0250-3 + DE-0251-2 @@ -3329,38 +3436,38 @@ ROM_START( csilverja ) // DE-0250-3 + DE-0251-2 ROM_LOAD( "dx01.12d", 0x10000, 0x10000, CRC(570fb50c) SHA1(3002f53182834a060fc282be1bc5767906e19ba2) ) ROM_LOAD( "dx02.13d", 0x20000, 0x10000, CRC(58625890) SHA1(503a969085f6dcb16687217c48136ea22d07c89f) ) - ROM_REGION( 0x10000, "sub", 0 ) /* CPU 2, 1st 16k is empty */ + ROM_REGION( 0x10000, "sub", 0 ) // CPU 2, 1st 16k is empty ROM_LOAD( "dx04-1.19d", 0x0000, 0x10000, CRC(29432691) SHA1(a76ecd27d217c66a0e43f93e29efe83c657925c3) ) ROM_REGION( 0x10000, "audiocpu", 0 ) ROM_LOAD( "dx05.3f", 0x00000, 0x10000, CRC(eb32cf25) SHA1(9390c88033259c65eb15320e31f5d696970987cc) ) - ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */ + ROM_REGION( 0x1000, "mcu", 0 ) // i8751 microcontroller // hand modified version of csilver ROM ROM_LOAD( "id8751h_japan.mcu", 0x0000, 0x1000, BAD_DUMP CRC(6e801217) SHA1(2d8f7ae533dd8146acf8461d61ddd839544adf55) ) ROM_REGION( 0x08000, "char", 0 ) ROM_LOAD( "dx00.3d", 0x00000, 0x08000, CRC(f01ef985) SHA1(d5b823bd7c0efcf3137f8643c5d99a260bed5675) ) - ROM_REGION( 0x80000, "sprites", 0 ) // 3bpp + ROM_REGION( 0x80000, "sprites", 0 ) // 3bpp ROM_LOAD( "dx14.15k", 0x00000, 0x10000, CRC(80f07915) SHA1(ea100f12ef3a68110af911fa9beeb73b388f069d) ) - /* 0x10000-0x1ffff empty */ + // 0x10000-0x1ffff empty ROM_LOAD( "dx13.13k", 0x20000, 0x10000, CRC(d32c02e7) SHA1(d0518ec31e9e3f7b4e76fba5d7c05c33c61a9c72) ) - /* 0x30000-0x3ffff empty */ + // 0x30000-0x3ffff empty ROM_LOAD( "dx12.10k", 0x40000, 0x10000, CRC(ac78b76b) SHA1(c2be347fd950894401123ada8b27bfcfce53e66b) ) - /* 0x50000-0x5ffff empty */ - /* 0x60000-0x7ffff empty (no 4th plane) */ + // 0x50000-0x5ffff empty + // 0x60000-0x7ffff empty (no 4th plane) - ROM_REGION( 0x80000, "tiles1", 0 ) // 3bpp + ROM_REGION( 0x80000, "tiles1", 0 ) // 3bpp ROM_LOAD( "dx06.5f", 0x00000, 0x10000, CRC(b6fb208c) SHA1(027d33f0b5feb6f0433134213cfcef96790eaace) ) ROM_LOAD( "dx07.7f", 0x10000, 0x10000, CRC(ee3e1817) SHA1(013496976a9ffacf1587b3a6fc0f548becb1ab0e) ) ROM_LOAD( "dx08.8f", 0x20000, 0x10000, CRC(705900fe) SHA1(53b9d09f9780a3bf3545bc27a2855ebee3884124) ) ROM_LOAD( "dx09.10f", 0x30000, 0x10000, CRC(3192571d) SHA1(240c6c099f1e6edbf0be7d5a4ec396b056c9f70f) ) - ROM_LOAD( "dx10.12f", 0x40000, 0x10000, CRC(3ef77a32) SHA1(97b97c35a6ca994d2e7a6e7a63101eda9709bcb1) ) - ROM_LOAD( "dx11.13f", 0x50000, 0x10000, CRC(9cf3d5b8) SHA1(df4974f8412ab1cf65871b8e4e3dbee478bf4d21) ) + ROM_LOAD( "dx10.12f", 0x40000, 0x10000, CRC(3ef77a32) SHA1(97b97c35a6ca994d2e7a6e7a63101eda9709bcb1) ) + ROM_LOAD( "dx11.13f", 0x50000, 0x10000, CRC(9cf3d5b8) SHA1(df4974f8412ab1cf65871b8e4e3dbee478bf4d21) ) - ROM_REGION( 0x400, "proms", 0 ) - ROM_LOAD( "dx-15.b10", 0x00000, 0x400, CRC(dcbfec4e) SHA1(a375caef4575746870e285d90ba991ea7daefad6) ) // BPROM type MB7122E for priority (Not yet used), location on alternate board unknown + ROM_REGION( 0x0400, "proms", 0 ) + ROM_LOAD( "dx-15.b10", 0x0000, 0x400, CRC(dcbfec4e) SHA1(a375caef4575746870e285d90ba991ea7daefad6) ) // BPROM type MB7122E for priority (Not yet used), location on alternate board unknown ROM_END ROM_START( oscar ) @@ -3368,10 +3475,10 @@ ROM_START( oscar ) ROM_LOAD( "du10", 0x08000, 0x08000, CRC(120040d8) SHA1(22d5f84f3ca724cbf39dfc4790f2175ba4945aaf) ) // This label is probably incorrect. The correct label is needed ROM_LOAD( "ed09", 0x10000, 0x10000, CRC(e2d4bba9) SHA1(99f0310debe51f4bcd00b5fdaedc1caf2eeccdeb) ) // for the world set because DU is the code for the Japanese version - ROM_REGION( 0x10000, "sub", 0 ) /* CPU 2, 1st 16k is empty */ + ROM_REGION( 0x10000, "sub", 0 ) // CPU 2, 1st 16k is empty ROM_LOAD( "du11", 0x0000, 0x10000, CRC(ff45c440) SHA1(4769944bcfebcdcba7ed7d5133d4d9f98890d75c) ) - ROM_REGION( 2*0x10000, "audiocpu", 0 ) /* 64K for sound CPU + 64k for decrypted opcodes */ + ROM_REGION( 2*0x10000, "audiocpu", 0 ) // 64K for sound CPU + 64k for decrypted opcodes ROM_LOAD( "ed12", 0x8000, 0x8000, CRC(432031c5) SHA1(af2deea48b98eb0f9e85a4fb1486021f999f9abd) ) ROM_REGION( 0x08000, "char", 0 ) @@ -3390,7 +3497,7 @@ ROM_START( oscar ) ROM_LOAD( "ed02", 0x60000, 0x10000, CRC(7ddc5651) SHA1(f5ec5245cf3d9d4d9c1df6a8128c24565e331317) ) ROM_END -ROM_START( oscarbl ) // very similar to the original, main difference it's it uses a standard M6502 for sound with predecrypted opcodes. +ROM_START( oscarbl ) // very similar to the original, main difference it's it uses a standard M6502 for sound with predecrypted opcodes. ROM_REGION( 0x20000, "maincpu", 0 ) // same as the original ROM_LOAD( "m27c256.3", 0x08000, 0x08000, CRC(120040d8) SHA1(22d5f84f3ca724cbf39dfc4790f2175ba4945aaf) ) ROM_LOAD( "at27c512.2", 0x10000, 0x10000, CRC(e2d4bba9) SHA1(99f0310debe51f4bcd00b5fdaedc1caf2eeccdeb) ) @@ -3422,10 +3529,10 @@ ROM_START( oscaru ) ROM_LOAD( "ed10", 0x08000, 0x08000, CRC(f9b0d4d4) SHA1(dc2aba978ba96f365027c7be5714728d5d7fb802) ) ROM_LOAD( "ed09", 0x10000, 0x10000, CRC(e2d4bba9) SHA1(99f0310debe51f4bcd00b5fdaedc1caf2eeccdeb) ) - ROM_REGION( 0x10000, "sub", 0 ) /* CPU 2, 1st 16k is empty */ + ROM_REGION( 0x10000, "sub", 0 ) // CPU 2, 1st 16k is empty ROM_LOAD( "ed11", 0x0000, 0x10000, CRC(10e5d919) SHA1(13bc3497cb4aaa6dd272853819212ad63656f8a7) ) - ROM_REGION( 2*0x10000, "audiocpu", 0 ) /* 64K for sound CPU + 64k for decrypted opcodes */ + ROM_REGION( 2*0x10000, "audiocpu", 0 ) // 64K for sound CPU + 64k for decrypted opcodes ROM_LOAD( "ed12", 0x8000, 0x8000, CRC(432031c5) SHA1(af2deea48b98eb0f9e85a4fb1486021f999f9abd) ) ROM_REGION( 0x08000, "char", 0 ) @@ -3443,8 +3550,8 @@ ROM_START( oscaru ) ROM_LOAD( "ed00", 0x40000, 0x10000, CRC(ac201f2d) SHA1(77f13eb6a1a44444ca9b25363031451b0d68c988) ) ROM_LOAD( "ed02", 0x60000, 0x10000, CRC(7ddc5651) SHA1(f5ec5245cf3d9d4d9c1df6a8128c24565e331317) ) - ROM_REGION( 512, "proms", 0 ) - ROM_LOAD( "du-13.bin", 0x00000, 0x200, CRC(bea1f87e) SHA1(f5215992e4b53c9cd4c7e0b20ff5cfdce3ab6d02) ) /* Priority (Not yet used) */ + ROM_REGION( 0x0200, "proms", 0 ) + ROM_LOAD( "du-13.bin", 0x0000, 0x0200, CRC(bea1f87e) SHA1(f5215992e4b53c9cd4c7e0b20ff5cfdce3ab6d02) ) // Priority (Not yet used) ROM_END ROM_START( oscarj1 ) @@ -3452,10 +3559,10 @@ ROM_START( oscarj1 ) ROM_LOAD( "du10-1", 0x08000, 0x08000, CRC(4ebc9f7a) SHA1(df8fdc4b4b203dc1bdd048f069fb6b723bdea0d2) ) ROM_LOAD( "ed09", 0x10000, 0x10000, CRC(e2d4bba9) SHA1(99f0310debe51f4bcd00b5fdaedc1caf2eeccdeb) ) - ROM_REGION( 0x10000, "sub", 0 ) /* CPU 2, 1st 16k is empty */ + ROM_REGION( 0x10000, "sub", 0 ) // CPU 2, 1st 16k is empty ROM_LOAD( "du11", 0x0000, 0x10000, CRC(ff45c440) SHA1(4769944bcfebcdcba7ed7d5133d4d9f98890d75c) ) - ROM_REGION( 2*0x10000, "audiocpu", 0 ) /* 64K for sound CPU + 64k for decrypted opcodes */ + ROM_REGION( 2*0x10000, "audiocpu", 0 ) // 64K for sound CPU + 64k for decrypted opcodes ROM_LOAD( "ed12", 0x8000, 0x8000, CRC(432031c5) SHA1(af2deea48b98eb0f9e85a4fb1486021f999f9abd) ) ROM_REGION( 0x08000, "char", 0 ) @@ -3473,8 +3580,8 @@ ROM_START( oscarj1 ) ROM_LOAD( "ed00", 0x40000, 0x10000, CRC(ac201f2d) SHA1(77f13eb6a1a44444ca9b25363031451b0d68c988) ) ROM_LOAD( "ed02", 0x60000, 0x10000, CRC(7ddc5651) SHA1(f5ec5245cf3d9d4d9c1df6a8128c24565e331317) ) - ROM_REGION( 512, "proms", 0 ) - ROM_LOAD( "du-13.bin", 0x00000, 0x200, CRC(bea1f87e) SHA1(f5215992e4b53c9cd4c7e0b20ff5cfdce3ab6d02) ) /* Priority (Not yet used) */ + ROM_REGION( 0x0200, "proms", 0 ) + ROM_LOAD( "du-13.bin", 0x0000, 0x0200, CRC(bea1f87e) SHA1(f5215992e4b53c9cd4c7e0b20ff5cfdce3ab6d02) ) // Priority (Not yet used) ROM_END /*************************************************************************** @@ -3553,16 +3660,15 @@ OSCAR 7891-1077 (sticker) ***************************************************************************/ - ROM_START( oscarj2 ) ROM_REGION( 0x20000, "maincpu", 0 ) ROM_LOAD( "du10-2.h12", 0x08000, 0x08000, CRC(114e898d) SHA1(1072ccabe6d53c50cdfa1e27d5d848ecdd6559cc) ) ROM_LOAD( "du09.h10", 0x10000, 0x10000, CRC(e2d4bba9) SHA1(99f0310debe51f4bcd00b5fdaedc1caf2eeccdeb) ) - ROM_REGION( 0x10000, "sub", 0 ) /* CPU 2, 1st 16k is empty */ + ROM_REGION( 0x10000, "sub", 0 ) // CPU 2, 1st 16k is empty ROM_LOAD( "du11.h16", 0x0000, 0x10000, CRC(ff45c440) SHA1(4769944bcfebcdcba7ed7d5133d4d9f98890d75c) ) - ROM_REGION( 2*0x10000, "audiocpu", 0 ) /* 64K for sound CPU + 64k for decrypted opcodes */ + ROM_REGION( 2*0x10000, "audiocpu", 0 ) // 64K for sound CPU + 64k for decrypted opcodes ROM_LOAD( "du12.k5", 0x8000, 0x8000, CRC(432031c5) SHA1(af2deea48b98eb0f9e85a4fb1486021f999f9abd) ) ROM_REGION( 0x08000, "char", 0 ) @@ -3580,8 +3686,8 @@ ROM_START( oscarj2 ) ROM_LOAD( "du00.a1", 0x40000, 0x10000, CRC(ac201f2d) SHA1(77f13eb6a1a44444ca9b25363031451b0d68c988) ) ROM_LOAD( "du02.a5", 0x60000, 0x10000, CRC(7ddc5651) SHA1(f5ec5245cf3d9d4d9c1df6a8128c24565e331317) ) - ROM_REGION( 512, "proms", 0 ) - ROM_LOAD( "du-13.c8", 0x00000, 0x200, CRC(bea1f87e) SHA1(f5215992e4b53c9cd4c7e0b20ff5cfdce3ab6d02) ) /* Priority (Not yet used) */ + ROM_REGION( 0x0200, "proms", 0 ) + ROM_LOAD( "du-13.c8", 0x0000, 0x0200, CRC(bea1f87e) SHA1(f5215992e4b53c9cd4c7e0b20ff5cfdce3ab6d02) ) // Priority (Not yet used) ROM_END ROM_START( srdarwin ) @@ -3590,11 +3696,11 @@ ROM_START( srdarwin ) ROM_CONTINUE( 0x08000, 0x08000 ) ROM_LOAD( "dy_00.b16", 0x10000, 0x10000, CRC(2bf6b461) SHA1(435d922c7b9df7f2b2f774346caed81d330be8a0) ) - ROM_REGION( 2*0x10000, "audiocpu", 0 ) /* 64K for sound CPU + 64k for decrypted opcodes */ + ROM_REGION( 2*0x10000, "audiocpu", 0 ) // 64K for sound CPU + 64k for decrypted opcodes ROM_LOAD( "dy_04.d7", 0x8000, 0x8000, CRC(2ae3591c) SHA1(f21b06d84e2c3d3895be0812024641fd006e45cf) ) - ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */ - // 0160: B4 6B 0D : cjne a,#$6B,$0170 (ID code 0x6b = World version) + ROM_REGION( 0x1000, "mcu", 0 ) // i8751 microcontroller + // 0160: B4 6B 0D : cjne a,#$6B,$0170 (ID code 0x6b = World version) ROM_LOAD( "dy-e.d11", 0x0000, 0x1000, CRC(11cd6ca4) SHA1(ec70f84228e37f9fc1bda85fa52a009f61c500b2) ) ROM_REGION( 0x08000, "char", 0 ) @@ -3618,8 +3724,8 @@ ROM_START( srdarwin ) ROM_CONTINUE( 0x28000, 0x4000 ) ROM_CONTINUE( 0x38000, 0x4000 ) - ROM_REGION( 256, "proms", 0 ) - ROM_LOAD( "dy_12.f4", 0x00000, 0x100, CRC(ebfaaed9) SHA1(5723dbfa3eb3fc4df8c8975b320a5c49848309d8) ) /* Priority (Not yet used) */ + ROM_REGION( 0x0100, "proms", 0 ) + ROM_LOAD( "dy_12.f4", 0x0000, 0x0100, CRC(ebfaaed9) SHA1(5723dbfa3eb3fc4df8c8975b320a5c49848309d8) ) // Priority (Not yet used) ROM_END ROM_START( srdarwinj ) @@ -3628,10 +3734,10 @@ ROM_START( srdarwinj ) ROM_CONTINUE( 0x08000, 0x08000 ) ROM_LOAD( "dy_00.b16", 0x10000, 0x10000, CRC(2bf6b461) SHA1(435d922c7b9df7f2b2f774346caed81d330be8a0) ) - ROM_REGION( 2*0x10000, "audiocpu", 0 ) /* 64K for sound CPU + 64k for decrypted opcodes */ + ROM_REGION( 2*0x10000, "audiocpu", 0 ) // 64K for sound CPU + 64k for decrypted opcodes ROM_LOAD( "dy_04.d7", 0x8000, 0x8000, CRC(2ae3591c) SHA1(f21b06d84e2c3d3895be0812024641fd006e45cf) ) - ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */ + ROM_REGION( 0x1000, "mcu", 0 ) // i8751 microcontroller ROM_LOAD( "dy.d11", 0x0000, 0x1000, BAD_DUMP CRC(4ac2ca9d) SHA1(6e07788df9fcf4248a9d3e87b8c5f54776bd269e) ) // hand-modified copy of world version to correct region + coinage ROM_REGION( 0x08000, "char", 0 ) @@ -3655,8 +3761,8 @@ ROM_START( srdarwinj ) ROM_CONTINUE( 0x28000, 0x4000 ) ROM_CONTINUE( 0x38000, 0x4000 ) - ROM_REGION( 256, "proms", 0 ) - ROM_LOAD( "dy_12.f4", 0x00000, 0x100, CRC(ebfaaed9) SHA1(5723dbfa3eb3fc4df8c8975b320a5c49848309d8) ) /* Priority (Not yet used) */ + ROM_REGION( 0x0100, "proms", 0 ) + ROM_LOAD( "dy_12.f4", 0x0000, 0x0100, CRC(ebfaaed9) SHA1(5723dbfa3eb3fc4df8c8975b320a5c49848309d8) ) // Priority (Not yet used) ROM_END ROM_START( srdarwinb ) @@ -3665,15 +3771,12 @@ ROM_START( srdarwinb ) ROM_CONTINUE( 0x08000, 0x08000 ) ROM_LOAD( "4.bin", 0x10000, 0x10000, CRC(2bf6b461) SHA1(435d922c7b9df7f2b2f774346caed81d330be8a0) ) - ROM_REGION( 2*0x10000, "audiocpu", 0 ) // 64K for sound CPU + 64k for decrypted opcodes + ROM_REGION( 2*0x10000, "audiocpu", 0 ) // 64K for sound CPU + 64k for decrypted opcodes ROM_LOAD( "5.bin", 0x8000, 0x8000, CRC(2ae3591c) SHA1(f21b06d84e2c3d3895be0812024641fd006e45cf) ) - ROM_REGION( 0x1000, "mcu", 0 ) // PCB lacks of i8751 microcontroller - ROM_LOAD( "mcu.bin", 0x0000, 0x1000, NO_DUMP ) - ROM_REGION( 0x8000, "char", 0 ) ROM_LOAD( "12.bin", 0x0000, 0x4000, CRC(f5c835cd) SHA1(8b41862dc18ba2e2677c94ecef45a40467aa89ad) ) - ROM_CONTINUE( 0x0000, 0x4000 ) // all data in the 2nd half + ROM_CONTINUE( 0x0000, 0x4000 ) // all data in the 2nd half ROM_REGION( 0x30000, "sprites", 0 ) ROM_LOAD( "6.bin", 0x00000, 0x8000, CRC(3c84a2c6) SHA1(558a7d9acb5af06a7728d010262e3a35c3cdbe25) ) @@ -3693,8 +3796,8 @@ ROM_START( srdarwinb ) ROM_CONTINUE( 0x28000, 0x4000 ) ROM_CONTINUE( 0x38000, 0x4000 ) - ROM_REGION( 256, "proms", 0 ) - ROM_LOAD( "82s123.bin", 0x00000, 0x100, NO_DUMP ) // Priority (Not yet used) + ROM_REGION( 0x0100, "proms", 0 ) + ROM_LOAD( "82s123.bin", 0x0000, 0x0100, NO_DUMP ) // Priority (Not yet used) ROM_END @@ -3774,8 +3877,8 @@ ROM_END ROM_START( cobracomb ) ROM_REGION( 0x30000, "maincpu", 0 ) - ROM_LOAD( "el11.5j", 0x08000, 0x08000, CRC(c6a102e3) SHA1(51d9781d13a8a98c9bbdf34fa79ebfd8a152567e) ) /* "zero" revision - IE: Original version */ - ROM_LOAD( "el12.7j", 0x10000, 0x10000, CRC(72b2dab4) SHA1(ff84a04cfe920a0d8105fbbd1f44ee86822cf0d3) ) /* "zero" revision - IE: Original version */ + ROM_LOAD( "el11.5j", 0x08000, 0x08000, CRC(c6a102e3) SHA1(51d9781d13a8a98c9bbdf34fa79ebfd8a152567e) ) // "zero" revision - IE: Original version + ROM_LOAD( "el12.7j", 0x10000, 0x10000, CRC(72b2dab4) SHA1(ff84a04cfe920a0d8105fbbd1f44ee86822cf0d3) ) // "zero" revision - IE: Original version ROM_LOAD( "el13.9j", 0x20000, 0x10000, CRC(04505acb) SHA1(2220efb277884588859375dab9960f04f07273a7) ) ROM_REGION( 0x10000, "audiocpu", 0 ) @@ -3890,11 +3993,10 @@ ROM_START( cobracomjb ) ROM_END -void lastmisn_state::init_meikyuhbl() +void ghostb_state::init_meikyuhbl() { // this bootleg has the high nibble of the first 0x400 bytes with reversed bits. // Address it here instead of hacking the DECO RM-C3 device. - u8 *proms = memregion("proms")->base(); for (int i = 0; i < 0x400; i++) @@ -3907,53 +4009,52 @@ void srdarwin_state::init_srdarwinb() { // this bootleg has the sprite ROMs with bytes swapped. // just worked here to avoid a new gfxdecode and machine driver. - u8 *rom = memregion("sprites")->base(); - uint8_t byte1; - + for (int i = 0; i < 0x30000; i += 4) { - byte1 = rom[i + 1]; + u8 byte1 = rom[i + 1]; rom[i + 1] = rom[i + 2]; rom[i + 2] = byte1; } } + /******************************************************************************/ -GAME( 1986, lastmisn, 0, lastmisn, lastmisn, lastmisn_state, empty_init, ROT270, "Data East Corporation", "Last Mission (World revision 8)", MACHINE_SUPPORTS_SAVE ) -GAME( 1986, lastmisnu6, lastmisn, lastmisn, lastmisn, lastmisn_state, empty_init, ROT270, "Data East USA", "Last Mission (US revision 6)", MACHINE_SUPPORTS_SAVE ) -GAME( 1986, lastmisnu5, lastmisn, lastmisn, lastmisn, lastmisn_state, empty_init, ROT270, "Data East USA", "Last Mission (US revision 5)", MACHINE_SUPPORTS_SAVE ) -GAME( 1986, lastmisnj, lastmisn, lastmisn, lastmisnj, lastmisn_state, empty_init, ROT270, "Data East Corporation", "Last Mission (Japan)", MACHINE_SUPPORTS_SAVE ) -GAME( 1986, shackled, 0, shackled, shackled, lastmisn_state, empty_init, ROT0, "Data East USA", "Shackled (US)", MACHINE_SUPPORTS_SAVE ) -GAME( 1986, breywood, shackled, shackled, breywood, lastmisn_state, empty_init, ROT0, "Data East Corporation", "Breywood (Japan revision 2)", MACHINE_SUPPORTS_SAVE ) -GAME( 1987, gondo, 0, gondo, gondo, gondo_state, empty_init, ROT270, "Data East Corporation", "Gondomania (World)", MACHINE_SUPPORTS_SAVE ) -GAME( 1987, gondou, gondo, gondo, gondo, gondo_state, empty_init, ROT270, "Data East USA", "Gondomania (US)", MACHINE_SUPPORTS_SAVE ) -GAME( 1987, makyosen, gondo, gondo, gondo, gondo_state, empty_init, ROT270, "Data East Corporation", "Makyou Senshi (Japan)", MACHINE_SUPPORTS_SAVE ) -GAME( 1987, garyoret, 0, garyoret, garyoret, lastmisn_state, empty_init, ROT0, "Data East Corporation", "Garyo Retsuden (Japan)", MACHINE_SUPPORTS_SAVE ) -GAME( 1987, ghostb, 0, ghostb, ghostb, lastmisn_state, empty_init, ROT0, "Data East USA", "The Real Ghostbusters (US 2 Players, revision 2)", MACHINE_SUPPORTS_SAVE ) -GAME( 1987, ghostb2a, ghostb, ghostb, ghostb2a, lastmisn_state, empty_init, ROT0, "Data East USA", "The Real Ghostbusters (US 2 Players)", MACHINE_SUPPORTS_SAVE ) -GAME( 1987, ghostb3, ghostb, ghostb, ghostb3, lastmisn_state, empty_init, ROT0, "Data East USA", "The Real Ghostbusters (US 3 Players, revision 3B?)", MACHINE_SUPPORTS_SAVE ) -GAME( 1987, ghostb3a, ghostb, ghostb, ghostb3, lastmisn_state, empty_init, ROT0, "Data East USA", "The Real Ghostbusters (US 3 Players, revision 2)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // ROMs confirmed working on PCB - stalls in demo mode -GAME( 1987, meikyuh, ghostb, meikyuh, meikyuh, lastmisn_state, empty_init, ROT0, "Data East Corporation", "Meikyuu Hunter G (Japan)", MACHINE_SUPPORTS_SAVE ) -GAME( 1987, meikyuhbl, ghostb, meikyuh, meikyuh, lastmisn_state, init_meikyuhbl, ROT0, "Data East Corporation", "Meikyuu Hunter G (Japan, bootleg)", MACHINE_SUPPORTS_SAVE ) -GAME( 1987, csilver, 0, csilver, csilver, csilver_state, empty_init, ROT0, "Data East Corporation", "Captain Silver (World)", MACHINE_SUPPORTS_SAVE ) -GAME( 1987, csilverj, csilver, csilver, csilverj, csilver_state, empty_init, ROT0, "Data East Corporation", "Captain Silver (Japan, revision 2)", MACHINE_SUPPORTS_SAVE ) -GAME( 1987, csilverja, csilver, csilver, csilverj, csilver_state, empty_init, ROT0, "Data East Corporation", "Captain Silver (Japan, revision 1)", MACHINE_SUPPORTS_SAVE ) -GAME( 1987, oscar, 0, oscar, oscar, oscar_state, empty_init, ROT0, "Data East Corporation", "Psycho-Nics Oscar (World revision 0)", MACHINE_SUPPORTS_SAVE ) -GAME( 1987, oscarbl, oscar, oscarbl, oscar, oscar_state, empty_init, ROT0, "bootleg", "Psycho-Nics Oscar (World revision 0, bootleg)", MACHINE_SUPPORTS_SAVE ) -GAME( 1988, oscaru, oscar, oscar, oscarj, oscar_state, empty_init, ROT0, "Data East USA", "Psycho-Nics Oscar (US)", MACHINE_SUPPORTS_SAVE ) -GAME( 1987, oscarj1, oscar, oscar, oscarj, oscar_state, empty_init, ROT0, "Data East Corporation", "Psycho-Nics Oscar (Japan revision 1)", MACHINE_SUPPORTS_SAVE ) -GAME( 1987, oscarj2, oscar, oscar, oscarj, oscar_state, empty_init, ROT0, "Data East Corporation", "Psycho-Nics Oscar (Japan revision 2)", MACHINE_SUPPORTS_SAVE ) -GAME( 1987, srdarwin, 0, srdarwin, srdarwin, srdarwin_state, empty_init, ROT270, "Data East Corporation", "Super Real Darwin (World)", MACHINE_SUPPORTS_SAVE ) -GAME( 1987, srdarwinj, srdarwin, srdarwin, srdarwinj, srdarwin_state, empty_init, ROT270, "Data East Corporation", "Super Real Darwin (Japan)", MACHINE_SUPPORTS_SAVE ) -GAME( 1987, srdarwinb, srdarwin, srdarwin, srdarwinj, srdarwin_state, init_srdarwinb, ROT270, "bootleg", "Super Real Darwin (Japan, bootleg)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) +GAME( 1986, lastmisn, 0, lastmisn, lastmisn, lastmisn_state, empty_init, ROT270, "Data East Corporation", "Last Mission (World revision 8)", MACHINE_SUPPORTS_SAVE ) +GAME( 1986, lastmisnu6, lastmisn, lastmisn, lastmisn, lastmisn_state, empty_init, ROT270, "Data East USA", "Last Mission (US revision 6)", MACHINE_SUPPORTS_SAVE ) +GAME( 1986, lastmisnu5, lastmisn, lastmisn, lastmisn, lastmisn_state, empty_init, ROT270, "Data East USA", "Last Mission (US revision 5)", MACHINE_SUPPORTS_SAVE ) +GAME( 1986, lastmisnj, lastmisn, lastmisn, lastmisnj, lastmisn_state, empty_init, ROT270, "Data East Corporation", "Last Mission (Japan)", MACHINE_SUPPORTS_SAVE ) +GAME( 1986, shackled, 0, shackled, shackled, lastmisn_state, empty_init, ROT0, "Data East USA", "Shackled (US)", MACHINE_SUPPORTS_SAVE ) +GAME( 1986, breywood, shackled, shackled, breywood, lastmisn_state, empty_init, ROT0, "Data East Corporation", "Breywood (Japan revision 2)", MACHINE_SUPPORTS_SAVE ) +GAME( 1987, gondo, 0, gondo, gondo, gondo_state, empty_init, ROT270, "Data East Corporation", "Gondomania (World)", MACHINE_SUPPORTS_SAVE ) +GAME( 1987, gondou, gondo, gondo, gondo, gondo_state, empty_init, ROT270, "Data East USA", "Gondomania (US)", MACHINE_SUPPORTS_SAVE ) +GAME( 1987, makyosen, gondo, gondo, gondo, gondo_state, empty_init, ROT270, "Data East Corporation", "Makyou Senshi (Japan)", MACHINE_SUPPORTS_SAVE ) +GAME( 1987, garyoret, 0, garyoret, garyoret, ghostb_state, empty_init, ROT0, "Data East Corporation", "Garyo Retsuden (Japan)", MACHINE_SUPPORTS_SAVE ) +GAME( 1987, ghostb, 0, ghostb, ghostb, ghostb_state, empty_init, ROT0, "Data East USA", "The Real Ghostbusters (US 2 Players, revision 2)", MACHINE_SUPPORTS_SAVE ) +GAME( 1987, ghostb2a, ghostb, ghostb, ghostb2a, ghostb_state, empty_init, ROT0, "Data East USA", "The Real Ghostbusters (US 2 Players)", MACHINE_SUPPORTS_SAVE ) +GAME( 1987, ghostb3, ghostb, ghostb, ghostb3, ghostb_state, empty_init, ROT0, "Data East USA", "The Real Ghostbusters (US 3 Players, revision 3B?)", MACHINE_SUPPORTS_SAVE ) +GAME( 1987, ghostb3a, ghostb, ghostb, ghostb3, ghostb_state, empty_init, ROT0, "Data East USA", "The Real Ghostbusters (US 3 Players, revision 2)", MACHINE_SUPPORTS_SAVE ) +GAME( 1987, meikyuh, 0, meikyuh, meikyuh, ghostb_state, empty_init, ROT0, "Data East Corporation", "Meikyuu Hunter G (Japan)", MACHINE_SUPPORTS_SAVE ) // modified Ghostbusters +GAME( 1987, meikyuhbl, meikyuh, meikyuh, meikyuh, ghostb_state, init_meikyuhbl, ROT0, "bootleg", "Meikyuu Hunter G (Japan, bootleg)", MACHINE_SUPPORTS_SAVE ) +GAME( 1987, csilver, 0, csilver, csilver, csilver_state, empty_init, ROT0, "Data East Corporation", "Captain Silver (World)", MACHINE_SUPPORTS_SAVE ) +GAME( 1987, csilverj, csilver, csilver, csilverj, csilver_state, empty_init, ROT0, "Data East Corporation", "Captain Silver (Japan, revision 2)", MACHINE_SUPPORTS_SAVE ) +GAME( 1987, csilverja, csilver, csilver, csilver, csilver_state, empty_init, ROT0, "Data East Corporation", "Captain Silver (Japan, revision 1)", MACHINE_SUPPORTS_SAVE ) +GAME( 1987, oscar, 0, oscar, oscar, oscar_state, empty_init, ROT0, "Data East Corporation", "Psycho-Nics Oscar (World revision 0)", MACHINE_SUPPORTS_SAVE ) +GAME( 1987, oscarbl, oscar, oscarbl, oscar, oscar_state, empty_init, ROT0, "bootleg", "Psycho-Nics Oscar (World revision 0, bootleg)", MACHINE_SUPPORTS_SAVE ) +GAME( 1988, oscaru, oscar, oscar, oscarj, oscar_state, empty_init, ROT0, "Data East USA", "Psycho-Nics Oscar (US)", MACHINE_SUPPORTS_SAVE ) +GAME( 1987, oscarj1, oscar, oscar, oscarj, oscar_state, empty_init, ROT0, "Data East Corporation", "Psycho-Nics Oscar (Japan revision 1)", MACHINE_SUPPORTS_SAVE ) +GAME( 1987, oscarj2, oscar, oscar, oscarj, oscar_state, empty_init, ROT0, "Data East Corporation", "Psycho-Nics Oscar (Japan revision 2)", MACHINE_SUPPORTS_SAVE ) +GAME( 1987, srdarwin, 0, srdarwin, srdarwin, srdarwin_state, empty_init, ROT270, "Data East Corporation", "SRD: Super Real Darwin (World)", MACHINE_SUPPORTS_SAVE ) +GAME( 1987, srdarwinj, srdarwin, srdarwin, srdarwinj, srdarwin_state, empty_init, ROT270, "Data East Corporation", "SRD: Super Real Darwin (Japan)", MACHINE_SUPPORTS_SAVE ) +GAME( 1987, srdarwinb, srdarwin, srdarwinb, srdarwinj, srdarwin_state, init_srdarwinb, ROT270, "bootleg", "SRD: Super Real Darwin (Japan, bootleg)", MACHINE_SUPPORTS_SAVE ) // Unlike most Deco games of this period Cobra Command does not seem to have a Data East USA release. Instead the Data East Corporation release // was used in the US as evidenced by boards with the EL romset bearing AAMA seal stickers (American Amusement Machine Association) -GAME( 1988, cobracom, 0, cobracom, cobracom, oscar_state, empty_init, ROT0, "Data East Corporation", "Cobra-Command (World/US revision 5)", MACHINE_SUPPORTS_SAVE ) -GAME( 1988, cobracoma, cobracom, cobracom, cobracom, oscar_state, empty_init, ROT0, "Data East Corporation", "Cobra-Command (World/US revision 4)", MACHINE_SUPPORTS_SAVE ) -GAME( 1988, cobracomb, cobracom, cobracom, cobracom, oscar_state, empty_init, ROT0, "Data East Corporation", "Cobra-Command (World/US)", MACHINE_SUPPORTS_SAVE ) -GAME( 1988, cobracomj, cobracom, cobracom, cobracom, oscar_state, empty_init, ROT0, "Data East Corporation", "Cobra-Command (Japan)", MACHINE_SUPPORTS_SAVE ) -GAME( 1988, cobracomjb, cobracom, cobracom, cobracom, oscar_state, empty_init, ROT0, "bootleg", "Cobra-Command (Japan, bootleg)", MACHINE_SUPPORTS_SAVE ) +GAME( 1988, cobracom, 0, cobracom, cobracom, oscar_state, empty_init, ROT0, "Data East Corporation", "Cobra-Command (World/US revision 5)", MACHINE_SUPPORTS_SAVE ) +GAME( 1988, cobracoma, cobracom, cobracom, cobracom, oscar_state, empty_init, ROT0, "Data East Corporation", "Cobra-Command (World/US revision 4)", MACHINE_SUPPORTS_SAVE ) +GAME( 1988, cobracomb, cobracom, cobracom, cobracom, oscar_state, empty_init, ROT0, "Data East Corporation", "Cobra-Command (World/US)", MACHINE_SUPPORTS_SAVE ) +GAME( 1988, cobracomj, cobracom, cobracom, cobracom, oscar_state, empty_init, ROT0, "Data East Corporation", "Cobra-Command (Japan)", MACHINE_SUPPORTS_SAVE ) +GAME( 1988, cobracomjb, cobracom, cobracom, cobracom, oscar_state, empty_init, ROT0, "bootleg", "Cobra-Command (Japan, bootleg)", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/dataeast/dec8.h b/src/mame/dataeast/dec8.h index 9e81437dc6de5..143738d7f1709 100644 --- a/src/mame/dataeast/dec8.h +++ b/src/mame/dataeast/dec8.h @@ -32,6 +32,7 @@ class dec8_state_base : public driver_device m_screen(*this, "screen"), m_gfxdecode(*this, "gfxdecode"), m_palette(*this, "palette"), + m_soundirq(*this, "soundirq"), m_soundlatch(*this, "soundlatch"), m_tilegen(*this, "tilegen%u", 1), m_mainbank(*this, "mainbank"), @@ -42,28 +43,24 @@ class dec8_state_base : public driver_device virtual void machine_start() override ATTR_COLD; virtual void machine_reset() override ATTR_COLD; - TIMER_CALLBACK_MEMBER(audiocpu_nmi_clear); - void buffer_spriteram16_w(u8 data); - void sound_w(u8 data); void main_irq_on_w(u8 data); void main_irq_off_w(u8 data); - void main_firq_off_w(u8 data); void sub_irq_on_w(u8 data); void sub_irq_off_w(u8 data); - void sub_firq_off_w(u8 data); + void both_firq_off_w(u8 data); void flip_screen_w(u8 data); void bg_ram_w(offs_t offset, u8 data); u8 bg_ram_r(offs_t offset); void videoram_w(offs_t offset, u8 data); - void set_screen_raw_params_data_east(machine_config &config); + void set_screen_raw_params(machine_config &config); void allocate_buffered_spriteram16(); void dec8_s_map(address_map &map) ATTR_COLD; void oscar_s_map(address_map &map) ATTR_COLD; - /* devices */ + // devices required_device m_maincpu; optional_device m_subcpu; required_device m_audiocpu; @@ -71,28 +68,27 @@ class dec8_state_base : public driver_device required_device m_screen; required_device m_gfxdecode; required_device m_palette; + optional_device m_soundirq; required_device m_soundlatch; optional_device_array m_tilegen; - /* memory regions */ + // memory regions required_memory_bank m_mainbank; - /* memory pointers */ + // memory pointers required_shared_ptr m_videoram; optional_shared_ptr m_bg_ram; std::unique_ptr m_buffered_spriteram16; // for the mxc06 sprite chip emulation (oscar, cobra) - /* video-related */ - tilemap_t *m_bg_tilemap = nullptr; - tilemap_t *m_fix_tilemap = nullptr; - int m_scroll[4]{}; - int m_game_uses_priority = 0; + // video-related + tilemap_t *m_bg_tilemap = nullptr; + tilemap_t *m_fix_tilemap = nullptr; + int m_scroll[4]{}; + int m_game_uses_priority = 0; - /* misc */ - bool m_coin_state = false; - - emu_timer *m_m6502_timer = nullptr; + // misc + bool m_coin_state = false; }; // with I8751 MCU @@ -101,40 +97,31 @@ class dec8_mcu_state_base : public dec8_state_base protected: dec8_mcu_state_base(const machine_config &mconfig, device_type type, const char *tag) : dec8_state_base(mconfig, type, tag), - m_mcu(*this, "mcu"), - m_coin_port(*this, "I8751") + m_mcu(*this, "mcu") { } virtual void machine_start() override ATTR_COLD; virtual void machine_reset() override ATTR_COLD; - TIMER_CALLBACK_MEMBER(mcu_irq_clear); - - u8 i8751_h_r(); - u8 i8751_l_r(); - void i8751_w(offs_t offset, u8 data); + u8 i8751_hi_r(); + u8 i8751_lo_r(); + virtual void i8751_hi_w(u8 data); + void i8751_lo_w(u8 data); u8 i8751_port0_r(); void i8751_port0_w(u8 data); u8 i8751_port1_r(); void i8751_port1_w(u8 data); - void i8751_reset_w(u8 data); - - required_device m_mcu; - - /* ports */ - required_ioport m_coin_port; + optional_device m_mcu; // MCU communication - u8 m_i8751_p2 = 0; + u8 m_i8751_p2 = 0; int m_i8751_port0 = 0; int m_i8751_port1 = 0; int m_i8751_return = 0; int m_i8751_value = 0; - - emu_timer *m_i8751_timer = nullptr; }; // with unique sprite hardware @@ -147,6 +134,8 @@ class srdarwin_state : public dec8_mcu_state_base } void srdarwin(machine_config &config); + void srdarwinb(machine_config &config); + void init_srdarwinb(); protected: @@ -160,10 +149,11 @@ class srdarwin_state : public dec8_mcu_state_base TILE_GET_INFO_MEMBER(get_fix_tile_info); TILE_GET_INFO_MEMBER(get_tile_info); - uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + u32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, bitmap_ind8 &primap); void main_map(address_map &map) ATTR_COLD; + void srdarwinb_map(address_map &map) ATTR_COLD; }; // with 'karnov' sprite hardware @@ -172,16 +162,56 @@ class lastmisn_state : public dec8_mcu_state_base public: lastmisn_state(const machine_config &mconfig, device_type type, const char *tag) : dec8_mcu_state_base(mconfig, type, tag), - m_spritegen_krn(*this, "spritegen_krn"), + m_spritegen_krn(*this, "spritegen_krn") + { + } + + void lastmisn(machine_config &config); + void shackled(machine_config &config); + +protected: + DECLARE_VIDEO_START(lastmisn); + u32 screen_update_lastmisn(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + + required_device m_spritegen_krn; + +private: + void lastmisn_control_w(u8 data); + void shackled_control_w(u8 data); + void lastmisn_scrollx_w(u8 data); + void lastmisn_scrolly_w(u8 data); + void mcu_to_main_w(u8 data); + + TILEMAP_MAPPER_MEMBER(lastmisn_scan_rows); + TILE_GET_INFO_MEMBER(get_lastmisn_tile_info); + TILE_GET_INFO_MEMBER(get_lastmisn_fix_tile_info); + + DECLARE_VIDEO_START(shackled); + + u32 screen_update_shackled(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + + void shackled_coin_irq(int state); + + void lastmisn_map(address_map &map) ATTR_COLD; + void lastmisn_sub_map(address_map &map) ATTR_COLD; + void shackled_map(address_map &map) ATTR_COLD; + void shackled_sub_map(address_map &map) ATTR_COLD; + void ym3526_s_map(address_map &map) ATTR_COLD; +}; + +// different interrupt handling +class ghostb_state : public lastmisn_state +{ +public: + ghostb_state(const machine_config &mconfig, device_type type, const char *tag) : + lastmisn_state(mconfig, type, tag), m_nmigate(*this, "nmigate") { } void garyoret(machine_config &config); void ghostb(machine_config &config); - void lastmisn(machine_config &config); void meikyuh(machine_config &config); - void shackled(machine_config &config); void init_meikyuhbl(); @@ -189,62 +219,48 @@ class lastmisn_state : public dec8_mcu_state_base virtual void machine_start() override ATTR_COLD; virtual void machine_reset() override ATTR_COLD; + virtual void i8751_hi_w(u8 data) override; + void gondo_i8751_hi_w(u8 data); void ghostb_bank_w(u8 data); void gondo_scroll_w(offs_t offset, u8 data); - void gondo_mcu_to_main_w(u8 data); + void mcu_to_main_w(u8 data); + void sound_w(u8 data); + + TIMER_CALLBACK_MEMBER(audiocpu_nmi_clear); + TIMER_CALLBACK_MEMBER(mcu_irq_clear); TILE_GET_INFO_MEMBER(get_gondo_fix_tile_info); TILE_GET_INFO_MEMBER(get_gondo_tile_info); - DECLARE_VIDEO_START(lastmisn); - uint32_t screen_update_lastmisn(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - void screen_vblank(int state); - required_device m_spritegen_krn; optional_device m_nmigate; private: - void lastmisn_control_w(u8 data); - void shackled_control_w(u8 data); - void lastmisn_scrollx_w(u8 data); - void lastmisn_scrolly_w(u8 data); - void shackled_mcu_to_main_w(u8 data); - - TILEMAP_MAPPER_MEMBER(lastmisn_scan_rows); - TILE_GET_INFO_MEMBER(get_ghostb_fix_tile_info); - TILE_GET_INFO_MEMBER(get_lastmisn_tile_info); - TILE_GET_INFO_MEMBER(get_lastmisn_fix_tile_info); DECLARE_VIDEO_START(garyoret); DECLARE_VIDEO_START(ghostb); - DECLARE_VIDEO_START(shackled); - uint32_t screen_update_ghostb(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - uint32_t screen_update_garyoret(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - uint32_t screen_update_shackled(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + u32 screen_update_ghostb(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + u32 screen_update_garyoret(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - void shackled_coin_irq(int state); - - void lastmisn_map(address_map &map) ATTR_COLD; - void lastmisn_sub_map(address_map &map) ATTR_COLD; + void ghostb_map(address_map &map) ATTR_COLD; void garyoret_map(address_map &map) ATTR_COLD; - void meikyuh_map(address_map &map) ATTR_COLD; - void shackled_map(address_map &map) ATTR_COLD; - void shackled_sub_map(address_map &map) ATTR_COLD; - void ym3526_s_map(address_map &map) ATTR_COLD; - bool m_secclr = false; - bool m_nmi_enable = false; + bool m_secclr = false; + bool m_nmi_enable = false; + + emu_timer *m_6502_timer = nullptr; + emu_timer *m_i8751_timer = nullptr; }; // with rotary joystick -class gondo_state : public lastmisn_state +class gondo_state : public ghostb_state { public: gondo_state(const machine_config &mconfig, device_type type, const char *tag) : - lastmisn_state(mconfig, type, tag), + ghostb_state(mconfig, type, tag), m_analog_io(*this, "AN%u", 0U), m_in_io(*this, "IN%u", 0U) { @@ -258,7 +274,7 @@ class gondo_state : public lastmisn_state private: template u8 player_io_r(offs_t offset); - uint32_t screen_update_gondo(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + u32 screen_update_gondo(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); void gondo_colpri_cb(u32 &colour, u32 &pri_mask); @@ -291,8 +307,8 @@ class oscar_state : public dec8_state_base DECLARE_VIDEO_START(cobracom); DECLARE_VIDEO_START(oscar); - uint32_t screen_update_cobracom(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - uint32_t screen_update_oscar(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + u32 screen_update_cobracom(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + u32 screen_update_oscar(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); void coin_irq(int state); void coin_clear_w(u8 data); @@ -340,8 +356,8 @@ class csilver_state : public lastmisn_state required_device m_msm; required_memory_bank m_soundbank; - int m_toggle = 0; - int m_msm5205next = 0; + int m_toggle = 0; + int m_msm5205next = 0; }; #endif // MAME_DATAEAST_DEC8_H diff --git a/src/mame/dataeast/dec8_v.cpp b/src/mame/dataeast/dec8_v.cpp index 073785c66074d..42ad8f11315f8 100644 --- a/src/mame/dataeast/dec8_v.cpp +++ b/src/mame/dataeast/dec8_v.cpp @@ -8,9 +8,9 @@ Cobra Command: 256 colours, palette generated by ram. The Real Ghostbusters: -1 Deco VSC30 (M60348) (on DE-0259-1 sub board) -1 Deco HMC20 (M60232) (on DE-0259-1 sub board) -1 x BAC06 (on DE-0273-1 board) + 1 Deco VSC30 (M60348) (on DE-0259-1 sub board) + 1 Deco HMC20 (M60232) (on DE-0259-1 sub board) + 1 x BAC06 (on DE-0273-1 board) 1 playfield, same as above, with rowscroll 1024 colours from 2 proms. @@ -21,25 +21,24 @@ Super Real Darwin: Closer to earlier Darwin 4078 board than above games. Last Mission/Shackled: - Has 1 Deco VSC30 (M60348) (From readme file) - Has 1 Deco HMC20 (M60232) (From readme file) + Has 1 Deco VSC30 (M60348) (From readme file) + Has 1 Deco HMC20 (M60232) (From readme file) - 1 playfield - Sprite hardware same as Karnov. - (Shackled) Palettes 8-15 for tiles seem to have priority over sprites. + 1 playfield + Sprite hardware same as Karnov. + (Shackled) Palettes 8-15 for tiles seem to have priority over sprites. Gondomania: - Has two large square surface mount chips: [ DRL 40, 8053, 8649a ] - Has 1 Deco VSC30 (M60348) - Has 1 Deco HMC20 (M60232) - Priority - all tiles with *pens* 8-15 appear over sprites with palettes 8-15. + Has two large square surface mount chips: [ DRL 40, 8053, 8649a ] + Has 1 Deco VSC30 (M60348) + Has 1 Deco HMC20 (M60232) + Priority - all tiles with *pens* 8-15 appear over sprites with palettes 8-15. Oscar: - Uses MXC-06 custom chip for sprites. - Uses BAC-06 custom chip for background. - I can't find what makes the fix chars... - Priority - tiles with palettes 8-15 have their *pens* 8-15 appearing over -sprites. + Uses MXC-06 custom chip for sprites. + Uses BAC-06 custom chip for background. + I can't find what makes the fix chars... + Priority - tiles with palettes 8-15 have their *pens* 8-15 appearing over sprites. ***************************************************************************/ @@ -80,14 +79,14 @@ void srdarwin_state::control_w(offs_t offset, u8 data) { switch (offset) { - case 0: /* Top 3 bits - bank switch, bottom 4 - scroll MSB */ + case 0: // Top 3 bits - bank switch, bottom 4 - scroll MSB m_mainbank->set_entry((data >> 5)); m_scroll[0] = data & 0xf; - return; + break; case 1: m_scroll[1] = data; - return; + break; } } @@ -113,7 +112,7 @@ void lastmisn_state::lastmisn_control_w(u8 data) void lastmisn_state::shackled_control_w(u8 data) { - /* Bottom 4 bits - bank switch, Bits 4 & 5 - Scroll MSBs */ + // Bottom 4 bits - bank switch, Bits 4 & 5 - Scroll MSBs m_mainbank->set_entry(data & 0x0f); m_scroll[0] = (data >> 5) & 1; @@ -130,20 +129,20 @@ void lastmisn_state::lastmisn_scrolly_w(u8 data) m_scroll[3] = data; } -void lastmisn_state::gondo_scroll_w(offs_t offset, u8 data) +void ghostb_state::gondo_scroll_w(offs_t offset, u8 data) { switch (offset) { case 0x0: - m_scroll[1] = data; /* X LSB */ + m_scroll[1] = data; // X LSB break; case 0x8: - m_scroll[3] = data; /* Y LSB */ + m_scroll[3] = data; // Y LSB break; case 0x10: - m_scroll[0] = (data >> 0) & 1; /* Bit 0: X MSB */ - m_scroll[2] = (data >> 1) & 1; /* Bit 1: Y MSB */ - /* Bit 2 is also used in Gondo & Garyoret */ + m_scroll[0] = (data >> 0) & 1; // Bit 0: X MSB + m_scroll[2] = (data >> 1) & 1; // Bit 1: Y MSB + // Bit 2 is also used in Gondo & Garyoret break; } } @@ -154,14 +153,14 @@ void dec8_state_base::allocate_buffered_spriteram16() save_pointer(NAME(m_buffered_spriteram16), 0x800/2); } -/******************************************************************************/ +/******************************************************************************/ void srdarwin_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, bitmap_ind8 &primap) { u8 *buffered_spriteram = m_spriteram->buffer(); - /* Sprites */ + // Sprites for (int offs = 0x200 - 4; offs >= 0; offs -= 4) { u32 pri_mask = 0; @@ -185,10 +184,11 @@ void srdarwin_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec { sy = 240 - sy; sx = 240 - sx; - if (fx) fx = 0; else fx = 1; + fx = !fx; sy2 = sy - 16; } - else sy2 = sy + 16; + else + sy2 = sy + 16; m_gfxdecode->gfx(1)->prio_transpen(bitmap,cliprect, code, @@ -204,6 +204,7 @@ void srdarwin_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec } } + /******************************************************************************/ void oscar_state::cobracom_colpri_cb(u32 &colour, u32 &pri_mask) @@ -215,7 +216,7 @@ void oscar_state::cobracom_colpri_cb(u32 &colour, u32 &pri_mask) colour &= 3; } -uint32_t oscar_state::screen_update_cobracom(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +u32 oscar_state::screen_update_cobracom(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { screen.priority().fill(0,cliprect); bool flip = m_tilegen[0]->get_flip_state(); @@ -231,8 +232,8 @@ uint32_t oscar_state::screen_update_cobracom(screen_device &screen, bitmap_ind16 return 0; } -/******************************************************************************/ +/******************************************************************************/ TILE_GET_INFO_MEMBER(oscar_state::get_cobracom_fix_tile_info) { @@ -240,10 +241,7 @@ TILE_GET_INFO_MEMBER(oscar_state::get_cobracom_fix_tile_info) int tile = m_videoram[offs + 1] + (m_videoram[offs] << 8); int color = (tile & 0xe000) >> 13; - tileinfo.set(0, - tile & 0xfff, - color, - 0); + tileinfo.set(0, tile & 0xfff, color, 0); } VIDEO_START_MEMBER(oscar_state,cobracom) @@ -256,9 +254,10 @@ VIDEO_START_MEMBER(oscar_state,cobracom) m_game_uses_priority = 0; } + /******************************************************************************/ -uint32_t lastmisn_state::screen_update_ghostb(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +u32 ghostb_state::screen_update_ghostb(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { m_tilegen[0]->deco_bac06_pf_draw(screen,bitmap,cliprect,TILEMAP_DRAW_OPAQUE, 0); m_spritegen_krn->draw_sprites(screen, bitmap, cliprect, m_buffered_spriteram16.get(), 0x400); @@ -266,22 +265,19 @@ uint32_t lastmisn_state::screen_update_ghostb(screen_device &screen, bitmap_ind1 return 0; } -TILE_GET_INFO_MEMBER(lastmisn_state::get_ghostb_fix_tile_info) +TILE_GET_INFO_MEMBER(ghostb_state::get_ghostb_fix_tile_info) { int offs = tile_index << 1; int tile = m_videoram[offs + 1] + (m_videoram[offs] << 8); int color = (tile & 0xc00) >> 10; - tileinfo.set(0, - tile & 0x3ff, - color, - 0); + tileinfo.set(0, tile & 0x3ff, color, 0); } -VIDEO_START_MEMBER(lastmisn_state,ghostb) +VIDEO_START_MEMBER(ghostb_state,ghostb) { allocate_buffered_spriteram16(); - m_fix_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(lastmisn_state::get_ghostb_fix_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32); + m_fix_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(ghostb_state::get_ghostb_fix_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32); m_fix_tilemap->set_transparent_pen(0); m_game_uses_priority = 0; @@ -290,6 +286,7 @@ VIDEO_START_MEMBER(lastmisn_state,ghostb) save_item(NAME(m_nmi_enable)); } + /******************************************************************************/ // we mimic the priority scheme in dec0.cpp, this was originally a bit different, so this could be wrong @@ -299,7 +296,7 @@ void oscar_state::oscar_tile_cb(tile_data &tileinfo, u32 &tile, u32 &colour, u32 colour &= 7; } -uint32_t oscar_state::screen_update_oscar(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +u32 oscar_state::screen_update_oscar(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { bool flip = m_tilegen[0]->get_flip_state(); m_tilegen[0]->set_flip_screen(flip); @@ -319,10 +316,7 @@ TILE_GET_INFO_MEMBER(oscar_state::get_oscar_fix_tile_info) int tile = m_videoram[offs + 1] + (m_videoram[offs] << 8); int color = (tile & 0xf000) >> 14; - tileinfo.set(0, - tile&0xfff, - color, - 0); + tileinfo.set(0, tile & 0xfff, color, 0); } VIDEO_START_MEMBER(oscar_state,oscar) @@ -337,9 +331,10 @@ VIDEO_START_MEMBER(oscar_state,oscar) m_game_uses_priority = 1; } + /******************************************************************************/ -uint32_t lastmisn_state::screen_update_lastmisn(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +u32 lastmisn_state::screen_update_lastmisn(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { m_bg_tilemap->set_scrollx(0, ((m_scroll[0] << 8)+ m_scroll[1])); m_bg_tilemap->set_scrolly(0, ((m_scroll[2] << 8)+ m_scroll[3])); @@ -350,7 +345,7 @@ uint32_t lastmisn_state::screen_update_lastmisn(screen_device &screen, bitmap_in return 0; } -uint32_t lastmisn_state::screen_update_shackled(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +u32 lastmisn_state::screen_update_shackled(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { m_bg_tilemap->set_scrollx(0, ((m_scroll[0] << 8) + m_scroll[1])); m_bg_tilemap->set_scrolly(0, ((m_scroll[2] << 8) + m_scroll[3])); @@ -366,7 +361,7 @@ uint32_t lastmisn_state::screen_update_shackled(screen_device &screen, bitmap_in TILEMAP_MAPPER_MEMBER(lastmisn_state::lastmisn_scan_rows) { - /* logical (col,row) -> memory offset */ + // logical (col,row) -> memory offset return ((col & 0x0f) + ((row & 0x0f) << 4)) + ((col & 0x10) << 4) + ((row & 0x10) << 5); } @@ -381,10 +376,7 @@ TILE_GET_INFO_MEMBER(lastmisn_state::get_lastmisn_tile_info) else tileinfo.category = 0; - tileinfo.set(1, - tile & 0xfff, - color, - 0); + tileinfo.set(1, tile & 0xfff, color, 0); } TILE_GET_INFO_MEMBER(lastmisn_state::get_lastmisn_fix_tile_info) @@ -393,10 +385,7 @@ TILE_GET_INFO_MEMBER(lastmisn_state::get_lastmisn_fix_tile_info) int tile = m_videoram[offs + 1] + (m_videoram[offs] << 8); int color = (tile & 0xc000) >> 14; - tileinfo.set(0, - tile&0xfff, - color, - 0); + tileinfo.set(0, tile & 0xfff, color, 0); } VIDEO_START_MEMBER(lastmisn_state,lastmisn) @@ -420,9 +409,10 @@ VIDEO_START_MEMBER(lastmisn_state,shackled) m_game_uses_priority = 1; } + /******************************************************************************/ -uint32_t srdarwin_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +u32 srdarwin_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { screen.priority().fill(0, cliprect); m_bg_tilemap->set_scrollx(0, (m_scroll[0] << 8) + m_scroll[1]); @@ -437,14 +427,11 @@ uint32_t srdarwin_state::screen_update(screen_device &screen, bitmap_ind16 &bitm TILE_GET_INFO_MEMBER(srdarwin_state::get_fix_tile_info) { int tile = m_videoram[tile_index]; - int color = 0; /* ? */ + int color = 0; // ? tileinfo.category = 0; - tileinfo.set(0, - tile, - color, - 0); + tileinfo.set(0, tile, color, 0); } TILE_GET_INFO_MEMBER(srdarwin_state::get_tile_info) @@ -456,10 +443,7 @@ TILE_GET_INFO_MEMBER(srdarwin_state::get_tile_info) tile = tile & 0x3ff; bank = (tile / 0x100) + 2; - tileinfo.set(bank, - tile, - color, - 0); + tileinfo.set(bank, tile, color, 0); tileinfo.group = color; } @@ -475,6 +459,7 @@ void srdarwin_state::video_start() m_bg_tilemap->set_transmask(3, 0x0000, 0xffff); // draw as foreground only } + /******************************************************************************/ void gondo_state::gondo_colpri_cb(u32 &colour, u32 &pri_mask) @@ -484,7 +469,7 @@ void gondo_state::gondo_colpri_cb(u32 &colour, u32 &pri_mask) pri_mask |= GFX_PMASK_2; // behind foreground, above background } -uint32_t gondo_state::screen_update_gondo(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +u32 gondo_state::screen_update_gondo(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { screen.priority().fill(0, cliprect); m_bg_tilemap->set_scrollx(0, ((m_scroll[0] << 8) + m_scroll[1])); @@ -497,7 +482,7 @@ uint32_t gondo_state::screen_update_gondo(screen_device &screen, bitmap_ind16 &b return 0; } -uint32_t lastmisn_state::screen_update_garyoret(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +u32 ghostb_state::screen_update_garyoret(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { m_bg_tilemap->set_scrollx(0, ((m_scroll[0] << 8) + m_scroll[1])); m_bg_tilemap->set_scrolly(0, ((m_scroll[2] << 8) + m_scroll[3])); @@ -509,19 +494,16 @@ uint32_t lastmisn_state::screen_update_garyoret(screen_device &screen, bitmap_in return 0; } -TILE_GET_INFO_MEMBER(lastmisn_state::get_gondo_fix_tile_info) +TILE_GET_INFO_MEMBER(ghostb_state::get_gondo_fix_tile_info) { int offs = tile_index * 2; int tile = m_videoram[offs + 1] + (m_videoram[offs] << 8); int color = (tile & 0x7000) >> 12; - tileinfo.set(0, - tile&0xfff, - color, - 0); + tileinfo.set(0, tile & 0xfff, color, 0); } -TILE_GET_INFO_MEMBER(lastmisn_state::get_gondo_tile_info) +TILE_GET_INFO_MEMBER(ghostb_state::get_gondo_tile_info) { int offs = tile_index * 2; int tile = m_bg_ram[offs + 1] + (m_bg_ram[offs] << 8); @@ -532,10 +514,7 @@ TILE_GET_INFO_MEMBER(lastmisn_state::get_gondo_tile_info) else tileinfo.category = 0; - tileinfo.set(1, - tile&0xfff, - color, - 0); + tileinfo.set(1, tile & 0xfff, color, 0); } void gondo_state::video_start() @@ -545,18 +524,16 @@ void gondo_state::video_start() m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(gondo_state::get_gondo_tile_info)), TILEMAP_SCAN_ROWS, 16, 16, 32, 32); m_fix_tilemap->set_transparent_pen(0); - m_bg_tilemap->set_transmask(0, 0x00ff, 0xff00); /* Bottom 8 pens */ + m_bg_tilemap->set_transmask(0, 0x00ff, 0xff00); // Bottom 8 pens m_game_uses_priority = 0; } -VIDEO_START_MEMBER(lastmisn_state,garyoret) +VIDEO_START_MEMBER(ghostb_state,garyoret) { allocate_buffered_spriteram16(); - m_fix_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(lastmisn_state::get_gondo_fix_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32); - m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(lastmisn_state::get_gondo_tile_info)), TILEMAP_SCAN_ROWS, 16, 16, 32, 32); + m_fix_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(ghostb_state::get_gondo_fix_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32); + m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(ghostb_state::get_gondo_tile_info)), TILEMAP_SCAN_ROWS, 16, 16, 32, 32); m_fix_tilemap->set_transparent_pen(0); m_game_uses_priority = 1; } - -/******************************************************************************/ diff --git a/src/mame/dataeast/deco156.cpp b/src/mame/dataeast/deco156.cpp index bf6955d8797b1..9f4e755ef7333 100644 --- a/src/mame/dataeast/deco156.cpp +++ b/src/mame/dataeast/deco156.cpp @@ -191,7 +191,7 @@ static INPUT_PORTS_START( hvysmsh ) PORT_BIT( 0x00020000, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x00040000, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_SERVICE_NO_TOGGLE( 0x00080000, IP_ACTIVE_LOW ) - PORT_BIT( 0x00100000, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x00100000, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x00200000, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x00400000, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x00800000, IP_ACTIVE_LOW, IPT_UNUSED ) @@ -233,7 +233,7 @@ static INPUT_PORTS_START( wcvol95 ) PORT_BIT( 0x00020000, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x00040000, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_SERVICE_NO_TOGGLE( 0x00080000, IP_ACTIVE_LOW ) - PORT_BIT( 0x00100000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x00100000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x00200000, IP_ACTIVE_LOW, IPT_UNUSED ) /* 'soundmask' */ PORT_BIT( 0x00400000, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x00800000, IP_ACTIVE_LOW, IPT_UNUSED ) diff --git a/src/mame/dataeast/deco32.cpp b/src/mame/dataeast/deco32.cpp index ad0df6db9d46e..cce80c1f3476d 100644 --- a/src/mame/dataeast/deco32.cpp +++ b/src/mame/dataeast/deco32.cpp @@ -1568,7 +1568,7 @@ static INPUT_PORTS_START( fghthist ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_SERVICE_NO_TOGGLE( 0x0008, IP_ACTIVE_LOW ) - PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -1605,7 +1605,7 @@ static INPUT_PORTS_START( dragngun ) PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("DSW") PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNUSED ) // Would be a dipswitch, but only 1 present on board @@ -1635,7 +1635,7 @@ static INPUT_PORTS_START( dragngun ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) PORT_START("IN2") - PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") // is this actually vblank? + PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // is this actually vblank? PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_SERVICE( 0x0004, IP_ACTIVE_LOW ) PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN ) //check //test BUTTON F2 @@ -1680,7 +1680,7 @@ static INPUT_PORTS_START( lockload ) PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("DSW") PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNUSED ) // Would be a dipswitch, but only 1 present on board @@ -1710,7 +1710,7 @@ static INPUT_PORTS_START( lockload ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) PORT_START("IN2") - PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_SERVICE( 0x0004, IP_ACTIVE_LOW ) PORT_BIT( 0x00f8, IP_ACTIVE_LOW, IPT_UNUSED ) //check //test BUTTON F2 @@ -1752,7 +1752,7 @@ static INPUT_PORTS_START( tattass ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_SERVICE_NO_TOGGLE( 0x0008, IP_ACTIVE_LOW ) - PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNUSED ) // 'soundmask' PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNUSED ) @@ -1790,7 +1790,7 @@ static INPUT_PORTS_START( nslasher ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_SERVICE_NO_TOGGLE( 0x0008, IP_ACTIVE_LOW ) - PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNUSED ) // 'soundmask' PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNUSED ) diff --git a/src/mame/dataeast/deco_ld.cpp b/src/mame/dataeast/deco_ld.cpp index e5389df4926c0..361ef3942e62d 100644 --- a/src/mame/dataeast/deco_ld.cpp +++ b/src/mame/dataeast/deco_ld.cpp @@ -421,7 +421,7 @@ static INPUT_PORTS_START( cobra ) PORT_INCLUDE( begas ) PORT_MODIFY("IN1") - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // TODO: different dips INPUT_PORTS_END @@ -430,7 +430,7 @@ static INPUT_PORTS_START( rblaster ) PORT_INCLUDE( begas ) PORT_MODIFY("IN1") - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // TODO: different dips INPUT_PORTS_END diff --git a/src/mame/dataeast/decocass.cpp b/src/mame/dataeast/decocass.cpp index 32e95992bd9b5..c85439b6fd6ad 100644 --- a/src/mame/dataeast/decocass.cpp +++ b/src/mame/dataeast/decocass.cpp @@ -211,7 +211,7 @@ static INPUT_PORTS_START( decocass ) PORT_DIPNAME( 0x40, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:7") PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) PORT_DIPSETTING( 0x40, DEF_STR( Cocktail ) ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("DSW2") /* Start with all Unknown as each can change per game, except for Country Code */ PORT_DIPUNKNOWN_DIPLOC( 0x01, 0x01, "SW2:1") /* Most Dipswitch Settings sheets show this as "Number of Players" (Lives) */ diff --git a/src/mame/dataeast/dietgo.cpp b/src/mame/dataeast/dietgo.cpp index 6142ac337f1a7..e425813a2b352 100644 --- a/src/mame/dataeast/dietgo.cpp +++ b/src/mame/dataeast/dietgo.cpp @@ -162,7 +162,7 @@ static INPUT_PORTS_START( dietgo ) PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("INPUTS") PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1) diff --git a/src/mame/dataeast/exprraid.cpp b/src/mame/dataeast/exprraid.cpp index 0d8e759dfedb9..d274cdbf175c6 100644 --- a/src/mame/dataeast/exprraid.cpp +++ b/src/mame/dataeast/exprraid.cpp @@ -533,7 +533,7 @@ INPUT_CHANGED_MEMBER(exprraid_state::coin_inserted_nmi) static INPUT_PORTS_START( exprraid ) PORT_START("IN0") - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("DSW0") PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2") diff --git a/src/mame/dataeast/ffantasy_ms.cpp b/src/mame/dataeast/ffantasy_ms.cpp index a300831bea866..4f31fae8d2cb7 100644 --- a/src/mame/dataeast/ffantasy_ms.cpp +++ b/src/mame/dataeast/ffantasy_ms.cpp @@ -389,7 +389,7 @@ ROM_END } // anonymous namespace -GAME( 199?, automatm, robocop, ffantasym, ffantasym, ffantasy_ms_state, empty_init, ROT0, "bootleg (Gaelco / Ervisa)", "Automat (bootleg of Robocop, Modular System)", MACHINE_IS_SKELETON ) -GAME( 199?, drgninjam, baddudes, ffantasym, ffantasym, ffantasy_ms_state, empty_init, ROT0, "bootleg (Gaelco / Ervisa)", "Dragon Ninja (Modular System)", MACHINE_IS_SKELETON ) -GAME( 199?, ffantasym, hippodrm, ffantasym, ffantasym, ffantasy_ms_state, empty_init, ROT0, "bootleg (Gaelco / Ervisa)", "Fighting Fantasy (Modular System)", MACHINE_IS_SKELETON ) -GAME( 199?, secretagm, secretag, secretagm, ffantasym, ffantasy_ms_state, empty_init, ROT0, "bootleg (Gaelco / Ervisa)", "Secret Agent (Modular System)", MACHINE_IS_SKELETON ) +GAME( 199?, automatm, robocop, ffantasym, ffantasym, ffantasy_ms_state, empty_init, ROT0, "bootleg (Gaelco / Ervisa)", "Automat (bootleg of Robocop, Modular System)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 199?, drgninjam, baddudes, ffantasym, ffantasym, ffantasy_ms_state, empty_init, ROT0, "bootleg (Gaelco / Ervisa)", "Dragon Ninja (Modular System)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 199?, ffantasym, hippodrm, ffantasym, ffantasym, ffantasy_ms_state, empty_init, ROT0, "bootleg (Gaelco / Ervisa)", "Fighting Fantasy (Modular System)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 199?, secretagm, secretag, secretagm, ffantasym, ffantasy_ms_state, empty_init, ROT0, "bootleg (Gaelco / Ervisa)", "Secret Agent (Modular System)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/dataeast/firetrap.cpp b/src/mame/dataeast/firetrap.cpp index 8311af6219e71..cc693fc3fddf8 100644 --- a/src/mame/dataeast/firetrap.cpp +++ b/src/mame/dataeast/firetrap.cpp @@ -763,7 +763,7 @@ static INPUT_PORTS_START( firetrap ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("DSW0") PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2,3") diff --git a/src/mame/dataeast/funkyjet.cpp b/src/mame/dataeast/funkyjet.cpp index d8069af913fdf..4a1912f76d0aa 100644 --- a/src/mame/dataeast/funkyjet.cpp +++ b/src/mame/dataeast/funkyjet.cpp @@ -264,7 +264,7 @@ static INPUT_PORTS_START( funkyjet ) PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // Dips seem inverted with respect to other Deco games PORT_START("DSW") diff --git a/src/mame/dataeast/karnov.cpp b/src/mame/dataeast/karnov.cpp index e256521084aae..a28ebe84dc1a9 100644 --- a/src/mame/dataeast/karnov.cpp +++ b/src/mame/dataeast/karnov.cpp @@ -87,6 +87,7 @@ Stephh's notes (based on the games M68000 code and some tests) : #include "sound/ymopn.h" #include "sound/ymopl.h" #include "video/bufsprite.h" + #include "deckarn.h" #include "decrmc3.h" #include "screen.h" @@ -96,7 +97,6 @@ Stephh's notes (based on the games M68000 code and some tests) : namespace { - /************************************* * * Type definitions @@ -106,8 +106,8 @@ namespace { class karnov_state : public driver_device { public: - karnov_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag), + karnov_state(const machine_config &mconfig, device_type type, const char *tag) : + driver_device(mconfig, type, tag), m_maincpu(*this, "maincpu"), m_audiocpu(*this, "audiocpu"), m_mcu(*this, "mcu"), @@ -169,6 +169,7 @@ class karnov_state : public driver_device void karnovjbl_sound_map(address_map &map) ATTR_COLD; void screen_vblank(int state); + // protection mcu void mcu_coin_irq(int state); void mcu_ack_w(uint16_t data); @@ -234,28 +235,29 @@ void karnov_state::mcu_p2_w(uint8_t data) // ------1- secreq ack // -------0 cinclr - if (BIT(m_mcu_p2, 0) == 1 && BIT(data, 0) == 0) + const uint8_t fall = ~data & m_mcu_p2; + m_mcu_p2 = data; + + if (BIT(fall, 0)) m_mcu->set_input_line(MCS51_INT0_LINE, CLEAR_LINE); - if (BIT(m_mcu_p2, 1) == 1 && BIT(data, 1) == 0) + if (BIT(fall, 1)) m_mcu->set_input_line(MCS51_INT1_LINE, CLEAR_LINE); - if (BIT(m_mcu_p2, 2) == 1 && BIT(data, 2) == 0) + if (BIT(fall, 2)) m_maincpu->set_input_line(6, ASSERT_LINE); - if (BIT(m_mcu_p2, 4) == 1 && BIT(data, 4) == 0) + if (BIT(fall, 4)) m_mcu_p0 = m_maincpu_to_mcu >> 0; - if (BIT(m_mcu_p2, 5) == 1 && BIT(data, 5) == 0) + if (BIT(fall, 5)) m_mcu_p1 = m_maincpu_to_mcu >> 8; - if (BIT(m_mcu_p2, 6) == 1 && BIT(data, 6) == 0) + if (BIT(fall, 6)) m_mcu_to_maincpu = (m_mcu_to_maincpu & 0xff00) | (m_mcu_p0 << 0); - if (BIT(m_mcu_p2, 7) == 1 && BIT(data, 7) == 0) + if (BIT(fall, 7)) m_mcu_to_maincpu = (m_mcu_to_maincpu & 0x00ff) | (m_mcu_p1 << 8); - - m_mcu_p2 = data; } // i8031 for bootleg emulation @@ -294,10 +296,13 @@ void karnov_state::mcu_data_h_w(uint8_t data) void karnov_state::mcubl_p1_w(uint8_t data) { - if (BIT(m_mcu_p1, 0) == 1 && BIT(data, 0) == 0) + const uint8_t fall = ~data & m_mcu_p1; + m_mcu_p1 = data; + + if (BIT(fall, 0)) m_mcu->set_input_line(MCS51_INT1_LINE, CLEAR_LINE); - if (BIT(m_mcu_p1, 1) == 1 && BIT(data, 1) == 0) + if (BIT(fall, 1)) m_maincpu->set_input_line(6, ASSERT_LINE); m_mcu_p1 = data; @@ -391,7 +396,7 @@ static INPUT_PORTS_START( common ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("COIN") PORT_BIT( 0x1f, IP_ACTIVE_LOW, IPT_UNUSED ) @@ -749,9 +754,9 @@ void karnov_state::karnov(machine_config &config) I8751(config, m_mcu, 8_MHz_XTAL); m_mcu->port_in_cb<0>().set([this](){ return m_mcu_p0; }); - m_mcu->port_out_cb<0>().set([this](u8 data){ m_mcu_p0 = data; }); + m_mcu->port_out_cb<0>().set([this](uint8_t data){ m_mcu_p0 = data; }); m_mcu->port_in_cb<1>().set([this](){ return m_mcu_p1; }); - m_mcu->port_out_cb<1>().set([this](u8 data){ m_mcu_p1 = data; }); + m_mcu->port_out_cb<1>().set([this](uint8_t data){ m_mcu_p1 = data; }); m_mcu->port_out_cb<2>().set(FUNC(karnov_state::mcu_p2_w)); m_mcu->port_in_cb<3>().set_ioport("COIN"); @@ -1251,13 +1256,13 @@ ROM_END * *************************************/ -GAME( 1987, karnov, 0, karnov, karnov, karnov_state, empty_init, ROT0, "Data East USA", "Karnov (US, rev 6)", MACHINE_SUPPORTS_SAVE ) -GAME( 1987, karnova, karnov, karnov, karnov, karnov_state, empty_init, ROT0, "Data East USA", "Karnov (US, rev 5)", MACHINE_SUPPORTS_SAVE ) -GAME( 1987, karnovj, karnov, karnov, karnov, karnov_state, empty_init, ROT0, "Data East Corporation", "Karnov (Japan)", MACHINE_SUPPORTS_SAVE ) -GAME( 1987, karnovjbl, karnov, karnovjbl, karnovjbl, karnov_state, empty_init, ROT0, "bootleg (K. J. Corporation)", "Karnov (Japan, bootleg with NEC D8748HD)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) -GAME( 1987, wndrplnt, 0, wndrplnt, wndrplnt, karnov_state, empty_init, ROT270, "Data East Corporation", "Wonder Planet (Japan)", MACHINE_SUPPORTS_SAVE ) -GAME( 1988, chelnov, 0, karnov, chelnov, karnov_state, empty_init, ROT0, "Data East Corporation", "Chelnov - Atomic Runner (World)", MACHINE_SUPPORTS_SAVE ) -GAME( 1988, chelnovu, chelnov, karnov, chelnovu, karnov_state, empty_init, ROT0, "Data East USA", "Chelnov - Atomic Runner (US)", MACHINE_SUPPORTS_SAVE ) -GAME( 1988, chelnovj, chelnov, karnov, chelnovj, karnov_state, empty_init, ROT0, "Data East Corporation", "Chelnov - Atomic Runner (Japan)", MACHINE_SUPPORTS_SAVE ) -GAME( 1988, chelnovjbl, chelnov, chelnovjbl, chelnovjbl, karnov_state, empty_init, ROT0, "bootleg", "Chelnov - Atomic Runner (Japan, bootleg with I8031, set 1)", MACHINE_SUPPORTS_SAVE ) -GAME( 1988, chelnovjbla, chelnov, chelnovjbl, chelnovjbl, karnov_state, empty_init, ROT0, "bootleg", "Chelnov - Atomic Runner (Japan, bootleg with I8031, set 2)", MACHINE_SUPPORTS_SAVE ) +GAME( 1987, karnov, 0, karnov, karnov, karnov_state, empty_init, ROT0, "Data East USA", "Karnov (US, rev 6)", MACHINE_SUPPORTS_SAVE ) +GAME( 1987, karnova, karnov, karnov, karnov, karnov_state, empty_init, ROT0, "Data East USA", "Karnov (US, rev 5)", MACHINE_SUPPORTS_SAVE ) +GAME( 1987, karnovj, karnov, karnov, karnov, karnov_state, empty_init, ROT0, "Data East Corporation", "Karnov (Japan)", MACHINE_SUPPORTS_SAVE ) +GAME( 1987, karnovjbl, karnov, karnovjbl, karnovjbl, karnov_state, empty_init, ROT0, "bootleg (K. J. Corporation)", "Karnov (Japan, bootleg with NEC D8748HD)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) +GAME( 1987, wndrplnt, 0, wndrplnt, wndrplnt, karnov_state, empty_init, ROT270, "Data East Corporation", "Wonder Planet (Japan)", MACHINE_SUPPORTS_SAVE ) +GAME( 1988, chelnov, 0, karnov, chelnov, karnov_state, empty_init, ROT0, "Data East Corporation", "Atomic Runner Chelnov (World)", MACHINE_SUPPORTS_SAVE ) +GAME( 1988, chelnovu, chelnov, karnov, chelnovu, karnov_state, empty_init, ROT0, "Data East USA", "Atomic Runner Chelnov (US)", MACHINE_SUPPORTS_SAVE ) +GAME( 1988, chelnovj, chelnov, karnov, chelnovj, karnov_state, empty_init, ROT0, "Data East Corporation", "Atomic Runner Chelnov (Japan)", MACHINE_SUPPORTS_SAVE ) +GAME( 1988, chelnovjbl, chelnov, chelnovjbl, chelnovjbl, karnov_state, empty_init, ROT0, "bootleg", "Atomic Runner Chelnov (Japan, bootleg with I8031, set 1)", MACHINE_SUPPORTS_SAVE ) +GAME( 1988, chelnovjbla, chelnov, chelnovjbl, chelnovjbl, karnov_state, empty_init, ROT0, "bootleg", "Atomic Runner Chelnov (Japan, bootleg with I8031, set 2)", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/dataeast/kchamp.cpp b/src/mame/dataeast/kchamp.cpp index f1af8bc53f150..d16b1bbfdc8f9 100644 --- a/src/mame/dataeast/kchamp.cpp +++ b/src/mame/dataeast/kchamp.cpp @@ -67,8 +67,8 @@ IO ports and memory map changes. Dip switches differ too. #include "emu.h" #include "kchamp.h" -#include "cpu/z80/z80.h" #include "machine/74259.h" + #include "screen.h" #include "speaker.h" @@ -377,7 +377,7 @@ void kchamp_state::msmint(int state) * 1 Player Version * ********************/ -INTERRUPT_GEN_MEMBER(kchamp_state::sound_int) +INTERRUPT_GEN_MEMBER(kchamp_state::sound_nmi) { if (m_sound_nmi_enable) device.execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE); @@ -406,12 +406,12 @@ void kchamp_state::machine_reset() void kchamp_state::kchampvs(machine_config &config) { // Basic machine hardware - Z80(config, m_maincpu, XTAL(12'000'000)/4); // verified on PCB + Z80(config, m_maincpu, 12_MHz_XTAL / 4); // verified on PCB m_maincpu->set_addrmap(AS_PROGRAM, &kchamp_state::kchampvs_map); m_maincpu->set_addrmap(AS_IO, &kchamp_state::kchampvs_io_map); m_maincpu->set_addrmap(AS_OPCODES, &kchamp_state::decrypted_opcodes_map); - Z80(config, m_audiocpu, XTAL(12'000'000)/4); // verified on PCB + Z80(config, m_audiocpu, 12_MHz_XTAL / 4); // verified on PCB m_audiocpu->set_addrmap(AS_PROGRAM, &kchamp_state::kchampvs_sound_map); m_audiocpu->set_addrmap(AS_IO, &kchamp_state::kchampvs_sound_io_map); // IRQs triggered from main CPU @@ -426,10 +426,7 @@ void kchamp_state::kchampvs(machine_config &config) // Video hardware screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_refresh_hz(59.10); // verified on PCB - screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); - screen.set_size(32*8, 32*8); - screen.set_visarea(0, 32*8-1, 2*8, 30*8-1); + screen.set_raw(12_MHz_XTAL / 2, 384, 0, 256, 264, 16, 240); // 59.10 Hz refresh measured on PCB screen.set_screen_update(FUNC(kchamp_state::screen_update_kchampvs)); screen.set_palette(m_palette); screen.screen_vblank().set(FUNC(kchamp_state::vblank_irq)); @@ -443,15 +440,15 @@ void kchamp_state::kchampvs(machine_config &config) GENERIC_LATCH_8(config, m_soundlatch); m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, 0); - AY8910(config, m_ay[0], XTAL(12'000'000)/8).add_route(ALL_OUTPUTS, "speaker", 0.3); // verified on PCB - AY8910(config, m_ay[1], XTAL(12'000'000)/8).add_route(ALL_OUTPUTS, "speaker", 0.3); // verified on PCB + AY8910(config, m_ay[0], 12_MHz_XTAL / 8).add_route(ALL_OUTPUTS, "speaker", 0.3); // verified on PCB + AY8910(config, m_ay[1], 12_MHz_XTAL / 8).add_route(ALL_OUTPUTS, "speaker", 0.3); // verified on PCB - LS157(config, m_adpcm_select, 0); // at 4C + LS157(config, m_adpcm_select); // at 4C m_adpcm_select->out_callback().set("msm", FUNC(msm5205_device::data_w)); - MSM5205(config, m_msm, 375000); // verified on PCB, discrete circuit clock - m_msm->vck_callback().set(FUNC(kchamp_state::msmint)); // interrupt function - m_msm->set_prescaler_selector(msm5205_device::S96_4B); // 1 / 96 = 3906.25Hz playback + MSM5205(config, m_msm, 12_MHz_XTAL / 32); // 375 kHz verified on PCB + m_msm->vck_callback().set(FUNC(kchamp_state::msmint)); // interrupt function + m_msm->set_prescaler_selector(msm5205_device::S96_4B); // 1 / 96 = 3906.25Hz playback m_msm->add_route(ALL_OUTPUTS, "speaker", 1.0); } @@ -462,16 +459,17 @@ void kchamp_state::kchampvs(machine_config &config) void kchamp_state::kchamp(machine_config &config) { // Basic machine hardware - Z80(config, m_maincpu, XTAL(12'000'000)/4); // 12MHz / 4 = 3.0 MHz + Z80(config, m_maincpu, 12_MHz_XTAL / 4); m_maincpu->set_addrmap(AS_PROGRAM, &kchamp_state::kchamp_map); m_maincpu->set_addrmap(AS_IO, &kchamp_state::kchamp_io_map); - Z80(config, m_audiocpu, XTAL(12'000'000)/4); // 12MHz / 4 = 3.0 MHz + Z80(config, m_audiocpu, 8_MHz_XTAL / 2); + m_audiocpu->z80_set_m1_cycles(4+1); // voice matches PCB recordings m_audiocpu->set_addrmap(AS_PROGRAM, &kchamp_state::kchamp_sound_map); m_audiocpu->set_addrmap(AS_IO, &kchamp_state::kchamp_sound_io_map); - m_audiocpu->set_periodic_int(FUNC(kchamp_state::sound_int), attotime::from_hz(125)); // Hz - // IRQs triggered from main CPU - // NMIs from 125Hz clock + + attotime sound_nmi_period = attotime::from_ticks(0x10000, 8_MHz_XTAL); // ~122 Hz + m_audiocpu->set_periodic_int(FUNC(kchamp_state::sound_nmi), sound_nmi_period); ls259_device &mainlatch(LS259(config, "mainlatch")); // IC71 mainlatch.q_out_cb<0>().set(FUNC(kchamp_state::flip_screen_set)); @@ -481,10 +479,7 @@ void kchamp_state::kchamp(machine_config &config) // Video hardware screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_refresh_hz(60); - screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); - screen.set_size(32*8, 32*8); - screen.set_visarea(0, 32*8-1, 2*8, 30*8-1); + screen.set_raw(12_MHz_XTAL / 2, 384, 0, 256, 264, 16, 240); screen.set_screen_update(FUNC(kchamp_state::screen_update_kchamp)); screen.set_palette(m_palette); screen.screen_vblank().set(FUNC(kchamp_state::vblank_irq)); @@ -498,19 +493,20 @@ void kchamp_state::kchamp(machine_config &config) GENERIC_LATCH_8(config, m_soundlatch); m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, 0); - AY8910(config, m_ay[0], XTAL(12'000'000)/12).add_route(ALL_OUTPUTS, "speaker", 0.3); // Guess based on actual PCB recordings of karatedo - AY8910(config, m_ay[1], XTAL(12'000'000)/12).add_route(ALL_OUTPUTS, "speaker", 0.3); // Guess based on actual PCB recordings of karatedo + AY8910(config, m_ay[0], 8_MHz_XTAL / 8).add_route(ALL_OUTPUTS, "speaker", 0.3); + AY8910(config, m_ay[1], 8_MHz_XTAL / 8).add_route(ALL_OUTPUTS, "speaker", 0.3); - DAC08(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 0.3); // IC11 + DAC08(config, m_dac).add_route(ALL_OUTPUTS, "speaker", 0.3); // IC11 } void kchamp_state::kchamp_arfyc(machine_config &config) { kchamp(config); - m_audiocpu->set_clock(XTAL(8'867'238)/2); // 8.867238 MHz xtal / 2, measured on real PCB - m_ay[0]->set_clock(XTAL(8'867'238)/8); // 8.867238 MHz xtal / 8, measured on real PCB - m_ay[1]->set_clock(XTAL(8'867'238)/8); // 8.867238 MHz xtal / 8, measured on real PCB + // different sound hw XTAL, clocks verified on PCB + m_audiocpu->set_clock(8.867238_MHz_XTAL / 2); + m_ay[0]->set_clock(8.867238_MHz_XTAL / 8); + m_ay[1]->set_clock(8.867238_MHz_XTAL / 8); } @@ -998,8 +994,10 @@ GAME( 1984, kchamp2p, kchamp, kchamp, kchampvs, kchamp_state, empty_init GAME( 1984, karatedo, kchamp, kchamp, kchamp, kchamp_state, empty_init, ROT90, "Data East Corporation", "Karate Dou (Japan)", MACHINE_SUPPORTS_SAVE ) GAME( 1984, kchamptec, kchamp, kchamp, kchamp, kchamp_state, empty_init, ROT90, "bootleg (Tecfri)", "Karate Champ (Tecfri bootleg)", MACHINE_SUPPORTS_SAVE ) GAME( 1984, karateda, kchamp, kchamp_arfyc, kchamp, kchamp_state, empty_init, ROT90, "bootleg (Arfyc)", "Karate Dou (Arfyc bootleg)", MACHINE_SUPPORTS_SAVE ) -GAME( 1984, kchampvs, kchamp, kchampvs, kchampvs, kchamp_state, init_kchampvs, ROT90, "Data East USA", "Karate Champ (US VS version, set 1)", MACHINE_SUPPORTS_SAVE ) -GAME( 1984, kchampvs2, kchamp, kchampvs, kchampvs, kchamp_state, init_kchampvs2, ROT90, "Data East USA", "Karate Champ (US VS version, set 2)", MACHINE_SUPPORTS_SAVE ) -GAME( 1984, kchampvs3, kchamp, kchampvs, kchampvs, kchamp_state, init_kchampvs, ROT90, "Data East USA", "Karate Champ (US VS version, set 3)", MACHINE_SUPPORTS_SAVE ) -GAME( 1984, kchampvs4, kchamp, kchampvs, kchampvs, kchamp_state, init_kchampvs, ROT90, "Data East USA", "Karate Champ (US VS version, set 4)", MACHINE_SUPPORTS_SAVE ) -GAME( 1984, karatevs, kchamp, kchampvs, kchampvs, kchamp_state, init_kchampvs, ROT90, "Data East Corporation", "Taisen Karate Dou (Japan VS version)", MACHINE_SUPPORTS_SAVE ) + +// VS versions +GAME( 1984, kchampvs, 0, kchampvs, kchampvs, kchamp_state, init_kchampvs, ROT90, "Data East USA", "Karate Champ: Player Vs Player (US, set 1)", MACHINE_SUPPORTS_SAVE ) +GAME( 1984, kchampvs2, kchampvs, kchampvs, kchampvs, kchamp_state, init_kchampvs2, ROT90, "Data East USA", "Karate Champ: Player Vs Player (US, set 2)", MACHINE_SUPPORTS_SAVE ) +GAME( 1984, kchampvs3, kchampvs, kchampvs, kchampvs, kchamp_state, init_kchampvs, ROT90, "Data East USA", "Karate Champ: Player Vs Player (US, set 3)", MACHINE_SUPPORTS_SAVE ) +GAME( 1984, kchampvs4, kchampvs, kchampvs, kchampvs, kchamp_state, init_kchampvs, ROT90, "Data East USA", "Karate Champ: Player Vs Player (US, set 4)", MACHINE_SUPPORTS_SAVE ) +GAME( 1984, karatevs, kchampvs, kchampvs, kchampvs, kchamp_state, init_kchampvs, ROT90, "Data East Corporation", "Taisen Karate Dou (Japan)", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/dataeast/kchamp.h b/src/mame/dataeast/kchamp.h index 77d013e26d35b..9e0de63658cf3 100644 --- a/src/mame/dataeast/kchamp.h +++ b/src/mame/dataeast/kchamp.h @@ -10,11 +10,13 @@ #pragma once +#include "cpu/z80/z80.h" #include "machine/74157.h" #include "machine/gen_latch.h" #include "sound/ay8910.h" #include "sound/msm5205.h" #include "sound/dac.h" + #include "emupal.h" #include "tilemap.h" @@ -61,8 +63,8 @@ class kchamp_state : public driver_device bool m_msm_play_lo_nibble = false; /* devices */ - required_device m_maincpu; - required_device m_audiocpu; + required_device m_maincpu; + required_device m_audiocpu; required_device_array m_ay; optional_device m_adpcm_select; optional_device m_msm; @@ -87,7 +89,7 @@ class kchamp_state : public driver_device uint32_t screen_update_kchampvs(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); uint32_t screen_update_kchamp(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); void vblank_irq(int state); - INTERRUPT_GEN_MEMBER(sound_int); + INTERRUPT_GEN_MEMBER(sound_nmi); void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, int dx, int dy); void decrypt_code(); void msmint(int state); diff --git a/src/mame/dataeast/kchamp_v.cpp b/src/mame/dataeast/kchamp_v.cpp index 030da4d9403b7..3096a4c70f42a 100644 --- a/src/mame/dataeast/kchamp_v.cpp +++ b/src/mame/dataeast/kchamp_v.cpp @@ -50,20 +50,20 @@ void kchamp_state::video_start() m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(kchamp_state::get_bg_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32); } -/* - Sprites - ------- - Offset Encoding - 0 YYYYYYYY - 1 TTTTTTTT - 2 FGGTCCCC - 3 XXXXXXXX -*/ void kchamp_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, int dx, int dy) { for (int offs = 0; offs < 0x100; offs += 4) { + /* sprite format: + + Offset Encoding + 0 YYYYYYYY + 1 TTTTTTTT - tile# + 2 FGGTCCCC - y flip, gfx bank, high bit of tile#, color + 3 XXXXXXXX + */ + int attr = m_spriteram[offs + 2]; int bank = 1 + ((attr & 0x60) >> 5); int code = m_spriteram[offs + 1] + ((attr & 0x10) << 4); diff --git a/src/mame/dataeast/kingobox.cpp b/src/mame/dataeast/kingobox.cpp index e6e703ece4be5..63d15590f009e 100644 --- a/src/mame/dataeast/kingobox.cpp +++ b/src/mame/dataeast/kingobox.cpp @@ -317,7 +317,7 @@ static INPUT_PORTS_START( ringking ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START1 ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Sound busy??? */ - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) diff --git a/src/mame/dataeast/lemmings.cpp b/src/mame/dataeast/lemmings.cpp index 7b0c0044286f8..50f5469c65a71 100644 --- a/src/mame/dataeast/lemmings.cpp +++ b/src/mame/dataeast/lemmings.cpp @@ -348,7 +348,7 @@ static INPUT_PORTS_START( lemmings ) PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_SERVICE_NO_TOGGLE(0x0004, IP_ACTIVE_LOW) - PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("DSW") diff --git a/src/mame/dataeast/liberate.cpp b/src/mame/dataeast/liberate.cpp index 1622d69d9d55a..5b2f5edf25d0a 100644 --- a/src/mame/dataeast/liberate.cpp +++ b/src/mame/dataeast/liberate.cpp @@ -358,7 +358,7 @@ void liberate_state::liberate_sound_map(address_map &map) static INPUT_PORTS_START( generic_input ) PORT_START("IN0") - PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("IN1") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY @@ -378,7 +378,7 @@ static INPUT_PORTS_START( generic_input ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("IN3") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) @@ -478,7 +478,7 @@ static INPUT_PORTS_START( yellowcb ) PORT_INCLUDE( kamikcab ) PORT_MODIFY("IN0") - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0xfb, IP_ACTIVE_HIGH, IPT_UNKNOWN ) INPUT_PORTS_END @@ -533,7 +533,7 @@ static INPUT_PORTS_START( liberatb ) PORT_MODIFY("IN0") PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_TILT ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0xf9, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_MODIFY("DSW1") diff --git a/src/mame/dataeast/madalien.cpp b/src/mame/dataeast/madalien.cpp index 1f27f02ebe839..1e2ecc5c6bdc6 100644 --- a/src/mame/dataeast/madalien.cpp +++ b/src/mame/dataeast/madalien.cpp @@ -136,7 +136,7 @@ static INPUT_PORTS_START( madalien ) PORT_DIPNAME( 0x40, 0x00, DEF_STR( Cabinet )) PORT_DIPLOCATION("SW:8") PORT_DIPSETTING( 0x00, DEF_STR( Upright )) PORT_DIPSETTING( 0x40, DEF_STR( Cocktail )) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("PLAYER2") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2) diff --git a/src/mame/dataeast/madmotor.cpp b/src/mame/dataeast/madmotor.cpp index 3c0d8f7bf1975..1ca84a61c0422 100644 --- a/src/mame/dataeast/madmotor.cpp +++ b/src/mame/dataeast/madmotor.cpp @@ -184,7 +184,7 @@ static INPUT_PORTS_START( madmotor ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 ) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) diff --git a/src/mame/dataeast/metlclsh.cpp b/src/mame/dataeast/metlclsh.cpp index f37eab8c9eaff..9db4d2f1b3969 100644 --- a/src/mame/dataeast/metlclsh.cpp +++ b/src/mame/dataeast/metlclsh.cpp @@ -28,7 +28,8 @@ To Do: metlclsh: - Clocks are all unknown - Text on the title screen has wrong colors the first time around - (uninitialized foreground palette 1, will be initialized shortly) + (uninitialized foreground palette 1, will be initialized shortly, verify + on PCB) - The background tilemap RAM is bankswitched with other (not understood) RAM - There are a few unknown writes @@ -528,7 +529,7 @@ static INPUT_PORTS_START( metlclsh ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // cpu2 will clr c040 on startup forever PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, FUNC(metlclsh_state::coin_inserted), 0) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) INPUT_PORTS_END @@ -611,10 +612,8 @@ void metlclsh_state::metlclsh(machine_config &config) // video hardware screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_refresh_hz(58); - screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); // not accurate. We're using PORT_VBLANK - screen.set_size(32*8, 32*8); - screen.set_visarea(0*8, 32*8-1, 1*8, 30*8-1); + // assume standard DECO video CRTC, unverified + screen.set_raw(XTAL(12'000'000)/2,384,0,256,272,8,248); screen.set_screen_update(FUNC(metlclsh_state::screen_update)); screen.set_palette(m_palette); diff --git a/src/mame/dataeast/mirage.cpp b/src/mame/dataeast/mirage.cpp index 84c5e8640577b..be80a3b8cd880 100644 --- a/src/mame/dataeast/mirage.cpp +++ b/src/mame/dataeast/mirage.cpp @@ -191,7 +191,7 @@ static INPUT_PORTS_START( mirage ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_SERVICE( 0x0008, IP_ACTIVE_LOW ) - PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", FUNC(eeprom_serial_93cxx_device::do_read)) PORT_BIT( 0xffc0, IP_ACTIVE_LOW, IPT_UNKNOWN ) diff --git a/src/mame/dataeast/pktgaldx.cpp b/src/mame/dataeast/pktgaldx.cpp index 581e5cf1f022a..b7c78ccb5823f 100644 --- a/src/mame/dataeast/pktgaldx.cpp +++ b/src/mame/dataeast/pktgaldx.cpp @@ -365,7 +365,7 @@ static INPUT_PORTS_START( pktgaldx ) PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN ) diff --git a/src/mame/dataeast/progolf.cpp b/src/mame/dataeast/progolf.cpp index d09eb723c89e2..21ae95e6f8872 100644 --- a/src/mame/dataeast/progolf.cpp +++ b/src/mame/dataeast/progolf.cpp @@ -428,7 +428,7 @@ INPUT_CHANGED_MEMBER(progolf_state::coin_inserted) static INPUT_PORTS_START( progolf ) PORT_START("VBLANK") PORT_BIT( 0x7f, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("P1") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) diff --git a/src/mame/dataeast/rohga.cpp b/src/mame/dataeast/rohga.cpp index 574eca2e2f0a0..3f159d832db5c 100644 --- a/src/mame/dataeast/rohga.cpp +++ b/src/mame/dataeast/rohga.cpp @@ -349,7 +349,7 @@ static INPUT_PORTS_START( rohga ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("DSW") PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2,3") @@ -439,7 +439,7 @@ static INPUT_PORTS_START( wizdfire ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("DSW") PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2,3") @@ -512,7 +512,7 @@ static INPUT_PORTS_START( nitrobal ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("DSW") PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2,3") @@ -596,7 +596,7 @@ static INPUT_PORTS_START( schmeisr ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("DSW") PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:1") @@ -687,7 +687,7 @@ static INPUT_PORTS_START( hangzo ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("DSW") PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2,3") diff --git a/src/mame/dataeast/scregg.cpp b/src/mame/dataeast/scregg.cpp index 41ac3f46631f3..43bd3b594a408 100644 --- a/src/mame/dataeast/scregg.cpp +++ b/src/mame/dataeast/scregg.cpp @@ -181,7 +181,7 @@ static INPUT_PORTS_START( scregg ) PORT_DIPNAME( 0x40, 0x00, DEF_STR( Cabinet ) ) PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) PORT_DIPSETTING( 0x40, DEF_STR( Cocktail ) ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("DSW2") PORT_DIPNAME( 0x01, 0x01, DEF_STR( Lives ) ) diff --git a/src/mame/dataeast/shootout.cpp b/src/mame/dataeast/shootout.cpp index 975c81448e19e..caa53f4af303e 100644 --- a/src/mame/dataeast/shootout.cpp +++ b/src/mame/dataeast/shootout.cpp @@ -470,7 +470,7 @@ static INPUT_PORTS_START( shootout ) PORT_DIPSETTING( 0x10, DEF_STR( Hard ) ) PORT_DIPSETTING( 0x00, DEF_STR( Very_Hard ) ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) // This needs to be low to allow both coins to be accepted... - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) INPUT_PORTS_END static INPUT_PORTS_START( shootoutj ) diff --git a/src/mame/dataeast/simpl156.cpp b/src/mame/dataeast/simpl156.cpp index d6906cd0b7d58..41e519ad7c9bd 100644 --- a/src/mame/dataeast/simpl156.cpp +++ b/src/mame/dataeast/simpl156.cpp @@ -110,7 +110,7 @@ static INPUT_PORTS_START( simpl156 ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_SERVICE_NO_TOGGLE( 0x0008, IP_ACTIVE_LOW ) - PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") // all bits? check.. + PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // all bits? check.. PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", FUNC(eeprom_serial_93cxx_device::do_read)) PORT_BIT( 0xffff0000, IP_ACTIVE_LOW, IPT_UNUSED ) diff --git a/src/mame/dataeast/sshangha.cpp b/src/mame/dataeast/sshangha.cpp index 0b458c9a4b8ac..94ee0689cc4f5 100644 --- a/src/mame/dataeast/sshangha.cpp +++ b/src/mame/dataeast/sshangha.cpp @@ -417,7 +417,7 @@ static INPUT_PORTS_START( sshangha ) PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN ) diff --git a/src/mame/dataeast/stadhero.cpp b/src/mame/dataeast/stadhero.cpp index 6471baf795bc0..87c2c4d22a598 100644 --- a/src/mame/dataeast/stadhero.cpp +++ b/src/mame/dataeast/stadhero.cpp @@ -315,7 +315,7 @@ static INPUT_PORTS_START( stadhero ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) INPUT_PORTS_END /******************************************************************************/ diff --git a/src/mame/dataeast/supbtime.cpp b/src/mame/dataeast/supbtime.cpp index 8ed66609e7d8f..7972f2f601cfa 100644 --- a/src/mame/dataeast/supbtime.cpp +++ b/src/mame/dataeast/supbtime.cpp @@ -313,7 +313,7 @@ static INPUT_PORTS_START( supbtime ) PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0xfff0, IP_ACTIVE_LOW, IPT_UNUSED ) // inverted with respect to other Deco games diff --git a/src/mame/dataeast/tryout.cpp b/src/mame/dataeast/tryout.cpp index b0c5b6664ef93..f9024f4561bfc 100644 --- a/src/mame/dataeast/tryout.cpp +++ b/src/mame/dataeast/tryout.cpp @@ -461,7 +461,7 @@ static INPUT_PORTS_START( tryout ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_CHANGED_MEMBER(DEVICE_SELF, FUNC(tryout_state::coin_inserted), 0) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) INPUT_PORTS_END static const gfx_layout charlayout = diff --git a/src/mame/dataeast/tumbleb.cpp b/src/mame/dataeast/tumbleb.cpp index f3b3d87c3bc4d..1066754777112 100644 --- a/src/mame/dataeast/tumbleb.cpp +++ b/src/mame/dataeast/tumbleb.cpp @@ -976,7 +976,7 @@ static INPUT_PORTS_START( tumblepb ) PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -1063,7 +1063,7 @@ static INPUT_PORTS_START( metlsavr ) PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") // to be confirmed + PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // to be confirmed PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -1189,7 +1189,7 @@ static INPUT_PORTS_START( fncywld ) PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -1277,7 +1277,7 @@ static INPUT_PORTS_START( htchctch ) PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") // to be confirmed + PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // to be confirmed PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -1339,7 +1339,7 @@ static INPUT_PORTS_START( cookbib ) PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") // to be confirmed + PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // to be confirmed PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -1401,7 +1401,7 @@ static INPUT_PORTS_START( chokchok ) PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") // to be confirmed + PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // to be confirmed PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -1477,7 +1477,7 @@ static INPUT_PORTS_START( magicbal ) PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") // to be confirmed + PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // to be confirmed PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -1557,7 +1557,7 @@ static INPUT_PORTS_START( wlstar ) PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") // to be confirmed + PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // to be confirmed PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -1627,7 +1627,7 @@ static INPUT_PORTS_START( wondl96 ) PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // must be high to avoid endless loops - PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") // to be confirmed + PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // to be confirmed PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -1704,7 +1704,7 @@ static INPUT_PORTS_START( sdfight ) PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") // to be confirmed + PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // to be confirmed PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -1782,7 +1782,7 @@ static INPUT_PORTS_START( bcstory ) PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") // to be confirmed + PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // to be confirmed PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -1925,7 +1925,7 @@ static INPUT_PORTS_START( dquizgo ) PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") // to be confirmed + PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // to be confirmed PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -1995,7 +1995,7 @@ static INPUT_PORTS_START( carket ) PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") // to be confirmed + PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // to be confirmed PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN ) diff --git a/src/mame/dataeast/vaportra.cpp b/src/mame/dataeast/vaportra.cpp index bfa82e3c172b5..b649fc826e645 100644 --- a/src/mame/dataeast/vaportra.cpp +++ b/src/mame/dataeast/vaportra.cpp @@ -268,7 +268,7 @@ static INPUT_PORTS_START( vaportra ) PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN ) diff --git a/src/mame/dec/decmate2.cpp b/src/mame/dec/decmate2.cpp index c245d10cfd978..cae9c442c3177 100644 --- a/src/mame/dec/decmate2.cpp +++ b/src/mame/dec/decmate2.cpp @@ -1009,5 +1009,5 @@ ROM_END } // anonymous namespace -COMP(1982, decmate2, 0, 0, pc278, decmate2, decmate2_state, init_pc278, "Digital Equipment Corporation", "DECmate II (PC278)", MACHINE_IS_SKELETON) -COMP(1984, decmate3, 0, 0, pc238, decmate2, decmate2_state, init_pc238, "Digital Equipment Corporation", "DECmate III (PC238)", MACHINE_IS_SKELETON) +COMP(1982, decmate2, 0, 0, pc278, decmate2, decmate2_state, init_pc278, "Digital Equipment Corporation", "DECmate II (PC278)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +COMP(1984, decmate3, 0, 0, pc238, decmate2, decmate2_state, init_pc238, "Digital Equipment Corporation", "DECmate III (PC238)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/dec/decwritr.cpp b/src/mame/dec/decwritr.cpp index 0f92a09ff6da7..d40aa28ba5bcf 100644 --- a/src/mame/dec/decwritr.cpp +++ b/src/mame/dec/decwritr.cpp @@ -494,4 +494,4 @@ ROM_END // DRIVERS //************************************************************************** /* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */ -COMP( 1978, la120, 0, 0, la120, la120, decwriter_state, empty_init, "Digital Equipment Corporation", "DECwriter III (LA120)", MACHINE_IS_SKELETON ) +COMP( 1978, la120, 0, 0, la120, la120, decwriter_state, empty_init, "Digital Equipment Corporation", "DECwriter III (LA120)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/dec/jensen.cpp b/src/mame/dec/jensen.cpp index 8408b821b7e69..8d9c58cfc6149 100644 --- a/src/mame/dec/jensen.cpp +++ b/src/mame/dec/jensen.cpp @@ -304,6 +304,6 @@ ROM_END } /* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */ -COMP( 1993, d2k300axp, 0, 0, d2k300axp, 0, jensen_state, init_common, "DEC", "DEC 2000 Model 300 AXP", MACHINE_IS_SKELETON) -COMP( 1993, d2k500axp, 0, 0, d2k500axp, 0, jensen_state, init_common, "DEC", "DEC 2000 Model 500 AXP", MACHINE_IS_SKELETON) -COMP( 1993, dpcaxp150, 0, 0, dpcaxp150, 0, jensen_state, init_common, "DEC", "DECpc AXP 150", MACHINE_IS_SKELETON) +COMP( 1993, d2k300axp, 0, 0, d2k300axp, 0, jensen_state, init_common, "DEC", "DEC 2000 Model 300 AXP", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +COMP( 1993, d2k500axp, 0, 0, d2k500axp, 0, jensen_state, init_common, "DEC", "DEC 2000 Model 500 AXP", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +COMP( 1993, dpcaxp150, 0, 0, dpcaxp150, 0, jensen_state, init_common, "DEC", "DECpc AXP 150", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/dec/pdp11.cpp b/src/mame/dec/pdp11.cpp index cd82af37dbf39..7d397041a29db 100644 --- a/src/mame/dec/pdp11.cpp +++ b/src/mame/dec/pdp11.cpp @@ -487,4 +487,4 @@ ROM_END COMP( 197?, pdp11ub, 0, 0, pdp11, pdp11, pdp11_state, empty_init, "Digital Equipment Corporation", "PDP-11 [Unibus](M9301-YA)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND) COMP( 197?, pdp11ub2, pdp11ub, 0, pdp11ub2, pdp11, pdp11_state, empty_init, "Digital Equipment Corporation", "PDP-11 [Unibus](M9312)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND) COMP( 198?, pdp11qb, pdp11ub, 0, pdp11qb, pdp11, pdp11_state, empty_init, "Digital Equipment Corporation", "PDP-11 [Q-BUS] (M7195 - MXV11-B)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND) -COMP( 1987, sms1000, 0, 0, sms1000, pdp11, pdp11_state, empty_init, "Scientific Micro Systems", "SMS-1000", MACHINE_IS_SKELETON ) +COMP( 1987, sms1000, 0, 0, sms1000, pdp11, pdp11_state, empty_init, "Scientific Micro Systems", "SMS-1000", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/dec/rainbow.cpp b/src/mame/dec/rainbow.cpp index fd21a64e0bc9e..cce1a9af14e50 100644 --- a/src/mame/dec/rainbow.cpp +++ b/src/mame/dec/rainbow.cpp @@ -3464,6 +3464,6 @@ ROM_END /* Driver */ /* YEAR NAME PARENT COMPAT MACHINE INPUT STATE INIT COMPANY FULLNAME FLAGS */ -COMP(1982, rainbow100a, rainbow, 0, rainbow_modela, rainbow100b_in, rainbow_modela_state, empty_init, "Digital Equipment Corporation", "Rainbow 100-A", MACHINE_IS_SKELETON) +COMP(1982, rainbow100a, rainbow, 0, rainbow_modela, rainbow100b_in, rainbow_modela_state, empty_init, "Digital Equipment Corporation", "Rainbow 100-A", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) COMP(1983, rainbow, 0, 0, rainbow_modelb, rainbow100b_in, rainbow_modelb_state, empty_init, "Digital Equipment Corporation", "Rainbow 100-B", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_COLORS) COMP(1985, rainbow190, rainbow, 0, rainbow_modelb, rainbow100b_in, rainbow_modelb_state, empty_init, "Digital Equipment Corporation", "Rainbow 190-B", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_COLORS) diff --git a/src/mame/dec/vt220.cpp b/src/mame/dec/vt220.cpp index d86383d7f7e6e..2ecba445a1bca 100644 --- a/src/mame/dec/vt220.cpp +++ b/src/mame/dec/vt220.cpp @@ -183,5 +183,5 @@ ROM_END /* Driver */ /* YEAR NAME PARENT COMPAT MACHINE INPUT STATE INIT COMPANY FULLNAME FLAGS */ -COMP( 1983, vt220, 0, 0, vt220, vt220, vt220_state, empty_init, "Digital Equipment Corporation", "VT220 (Version 2.3)", MACHINE_IS_SKELETON ) -COMP( 1983, vt220a, vt220, 0, vt220a, vt220, vt220_state, empty_init, "Digital Equipment Corporation", "VT220 (Version 2.1)", MACHINE_IS_SKELETON ) +COMP( 1983, vt220, 0, 0, vt220, vt220, vt220_state, empty_init, "Digital Equipment Corporation", "VT220 (Version 2.3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 1983, vt220a, vt220, 0, vt220a, vt220, vt220_state, empty_init, "Digital Equipment Corporation", "VT220 (Version 2.1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/dec/vt320.cpp b/src/mame/dec/vt320.cpp index 3c634037c02d0..c0dee4f900705 100644 --- a/src/mame/dec/vt320.cpp +++ b/src/mame/dec/vt320.cpp @@ -141,7 +141,7 @@ ROM_END /* Driver */ /* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */ -COMP( 1987, vt320, 0, 0, vt320, vt320, vt320_state, empty_init, "Digital Equipment Corporation", "VT320", MACHINE_IS_SKELETON ) -COMP( 1987, vt330, 0, 0, vt320, vt320, vt320_state, empty_init, "Digital Equipment Corporation", "VT330", MACHINE_IS_SKELETON ) -//COMP( 1989?, vt340, 0, 0, vt320, vt320, vt320_state, empty_init, "Digital Equipment Corporation", "VT340", MACHINE_IS_SKELETON ) -//COMP( 1990?, vt340p, 0, 0, vt320, vt320, vt320_state, empty_init, "Digital Equipment Corporation", "VT340+", MACHINE_IS_SKELETON ) +COMP( 1987, vt320, 0, 0, vt320, vt320, vt320_state, empty_init, "Digital Equipment Corporation", "VT320", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 1987, vt330, 0, 0, vt320, vt320, vt320_state, empty_init, "Digital Equipment Corporation", "VT330", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +//COMP( 1989?, vt340, 0, 0, vt320, vt320, vt320_state, empty_init, "Digital Equipment Corporation", "VT340", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +//COMP( 1990?, vt340p, 0, 0, vt320, vt320, vt320_state, empty_init, "Digital Equipment Corporation", "VT340+", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/dec/vt520.cpp b/src/mame/dec/vt520.cpp index 41ca9be9954e4..bc86d3bd1c98a 100644 --- a/src/mame/dec/vt520.cpp +++ b/src/mame/dec/vt520.cpp @@ -156,7 +156,7 @@ ROM_END /* Driver */ -COMP( 1990, vt420, 0, 0, vt420, vt520, vt520_state, empty_init, "Digital Equipment Corporation", "VT420 Video Terminal", MACHINE_IS_SKELETON ) -//COMP( 1993, vt510, 0, 0, vt520, vt520, vt520_state, empty_init, "Digital Equipment Corporation", "VT510 Video Terminal", MACHINE_IS_SKELETON) -COMP( 1994, vt520, 0, 0, vt520, vt520, vt520_state, empty_init, "Digital Equipment Corporation", "VT520 Video Terminal", MACHINE_IS_SKELETON) -//COMP( 1994, vt525, 0, 0, vt520, vt520, vt520_state, empty_init, "Digital Equipment Corporation", "VT525 Video Terminal", MACHINE_IS_SKELETON) +COMP( 1990, vt420, 0, 0, vt420, vt520, vt520_state, empty_init, "Digital Equipment Corporation", "VT420 Video Terminal", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +//COMP( 1993, vt510, 0, 0, vt520, vt520, vt520_state, empty_init, "Digital Equipment Corporation", "VT510 Video Terminal", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +COMP( 1994, vt520, 0, 0, vt520, vt520, vt520_state, empty_init, "Digital Equipment Corporation", "VT520 Video Terminal", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +//COMP( 1994, vt525, 0, 0, vt520, vt520, vt520_state, empty_init, "Digital Equipment Corporation", "VT525 Video Terminal", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/dg/aviion88k.cpp b/src/mame/dg/aviion88k.cpp index d2c2342ba91e8..c374a27c1f3f2 100644 --- a/src/mame/dg/aviion88k.cpp +++ b/src/mame/dg/aviion88k.cpp @@ -300,4 +300,4 @@ ROM_END } // anonymous namespace /* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */ -COMP(1991, aviion_4600, 0, 0, aviion_4600, 0, aviion88k_state, init, "Data General", "AViiON 4600", MACHINE_IS_SKELETON) +COMP(1991, aviion_4600, 0, 0, aviion_4600, 0, aviion88k_state, init, "Data General", "AViiON 4600", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/dooyong/dooyong.cpp b/src/mame/dooyong/dooyong.cpp index 2307cd6eb1635..e4cd3dfad32a0 100644 --- a/src/mame/dooyong/dooyong.cpp +++ b/src/mame/dooyong/dooyong.cpp @@ -1209,7 +1209,7 @@ INPUT_PORTS_START( gulfstrm ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") /* ??? */ + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) /* ??? */ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -1223,7 +1223,7 @@ INPUT_PORTS_START( pollux ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") // palette cycle effects need this to work + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // palette cycle effects need this to work PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -1242,7 +1242,7 @@ INPUT_PORTS_START( flytiger ) PORT_DIPSETTING( 0x40, DEF_STR( On ) ) PORT_MODIFY("SYSTEM") -// PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") // allows title screen + ending screen colours to cycle (but I'm not sure they're meant to, reference shots suggest not, maybe a debug port?) +// PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // allows title screen + ending screen colours to cycle (but I'm not sure they're meant to, reference shots suggest not, maybe a debug port?) INPUT_PORTS_END INPUT_PORTS_START( sadari ) diff --git a/src/mame/dynax/ddenlovr.cpp b/src/mame/dynax/ddenlovr.cpp index b02e02ee5efb8..492214d6ab3db 100644 --- a/src/mame/dynax/ddenlovr.cpp +++ b/src/mame/dynax/ddenlovr.cpp @@ -65,7 +65,7 @@ Year + Game Board CPU Sound - verify whether clip_width/height is actually clip_x_end/y_end (this also applies to rectangles drawing, command 1c): the girl in hanakanz divided in 3 chunks (during the intro when bet is on) - is ok with the latter setting; scene 2 of gal 1 check in hkagerou (press 1 in scene 1) + is OK with the latter setting; scene 2 of gal 1 check in hkagerou (press 1 in scene 1) is maybe clipped too much this way and hints at the former setting being correct. There is an #if to switch between the two modes in do_plot. @@ -124,6 +124,10 @@ Year + Game Board CPU Sound #include "emu.h" #include "dynax.h" +#include "mjdipsw.h" + +#include "mahjong.h" + #include "cpu/m68000/m68000.h" #include "cpu/z80/kl5c80a12.h" #include "cpu/z80/tmpz84c015.h" @@ -288,7 +292,6 @@ class ddenlovr_state : public dynax_state uint8_t rongrong_input_r(); void rongrong_select_w(uint8_t data); protected: - void hanakanz_keyb_w(uint8_t data); uint8_t hanakanz_rand_r(); private: void mjschuka_protection_w(uint8_t data); @@ -333,7 +336,6 @@ class ddenlovr_state : public dynax_state void sryudens_rambank_w(uint8_t data); private: uint8_t mjflove_protection_r(); - uint8_t mjflove_keyb_r(offs_t offset); void mjflove_coincounter_w(uint8_t data); uint8_t sryudens_keyb_r(offs_t offset); void sryudens_coincounter_w(uint8_t data); @@ -419,7 +421,7 @@ class ddenlovr_state : public dynax_state // input/output uint8_t m_coins = 0U; - uint8_t m_hopper = 0U; + uint8_t m_hopper_hack = 0U; // blitter (TODO: merge with the dynax.h, where possible) int m_extra_layers; @@ -600,7 +602,6 @@ class hanakanz_state : public ddenlovr_state void hanakanz_blitter_data_w(uint8_t data); void hanakanz_rombank_w(uint8_t data); - //void hanakanz_keyb_w(uint8_t data); void hanakanz_dsw_w(uint8_t data); uint8_t hanakanz_keyb_r(offs_t offset); uint8_t hanakanz_dsw_r(); @@ -2774,11 +2775,6 @@ void hanakanz_state::hanakanz_map(address_map &map) } -void ddenlovr_state::hanakanz_keyb_w(uint8_t data) -{ - m_keyb = data; -} - void hanakanz_state::hanakanz_dsw_w(uint8_t data) { m_dsw_sel = data; @@ -2786,13 +2782,7 @@ void hanakanz_state::hanakanz_dsw_w(uint8_t data) uint8_t hanakanz_state::hanakanz_keyb_r(offs_t offset) { - uint8_t val = 0xff; - - if (!BIT(m_keyb, 0)) val = ioport(offset ? "KEY5" : "KEY0")->read(); - else if (!BIT(m_keyb, 1)) val = ioport(offset ? "KEY6" : "KEY1")->read(); - else if (!BIT(m_keyb, 2)) val = ioport(offset ? "KEY7" : "KEY2")->read(); - else if (!BIT(m_keyb, 3)) val = ioport(offset ? "KEY8" : "KEY3")->read(); - else if (!BIT(m_keyb, 4)) val = ioport(offset ? "KEY9" : "KEY4")->read(); + uint8_t val = offset ? hanamai_keyboard_r<0>() : hanamai_keyboard_r<1>(); val |= ioport(offset ? "HOPPER" : "BET")->read(); return val; @@ -2896,7 +2886,7 @@ void hanakanz_state::hanakanz_portmap(address_map &map) map(0x90, 0x90).portr("SYSTEM"); map(0x91, 0x92).r(FUNC(hanakanz_state::hanakanz_keyb_r)); map(0x93, 0x93).w(FUNC(hanakanz_state::hanakanz_coincounter_w)); - map(0x94, 0x94).w(FUNC(hanakanz_state::hanakanz_keyb_w)); + map(0x94, 0x94).w(FUNC(hanakanz_state::hanamai_keyboard_w)); map(0x96, 0x96).r(FUNC(hanakanz_state::hanakanz_rand_r)); map(0xa0, 0xa1).w("ym2413", FUNC(ym2413_device::write)); map(0xc0, 0xc0).rw(m_oki, FUNC(okim6295_device::read), FUNC(okim6295_device::write)); @@ -2914,7 +2904,7 @@ void hanakanz_state::hkagerou_portmap(address_map &map) map(0xb0, 0xb0).portr("SYSTEM"); map(0xb1, 0xb2).r(FUNC(hanakanz_state::hanakanz_keyb_r)); map(0xb3, 0xb3).w(FUNC(hanakanz_state::hanakanz_coincounter_w)); - map(0xb4, 0xb4).w(FUNC(hanakanz_state::hanakanz_keyb_w)); + map(0xb4, 0xb4).w(FUNC(hanakanz_state::hanamai_keyboard_w)); map(0xb6, 0xb6).r(FUNC(hanakanz_state::hanakanz_rand_r)); map(0xc0, 0xc0).rw(m_oki, FUNC(okim6295_device::read), FUNC(okim6295_device::write)); map(0xe0, 0xef).rw("rtc", FUNC(msm6242_device::read), FUNC(msm6242_device::write)); @@ -2934,7 +2924,7 @@ void hanakanz_state::kotbinyo_portmap(address_map &map) map(0xb1, 0xb1).portr("KEYB0"); map(0xb2, 0xb2).portr("KEYB1"); map(0xb3, 0xb3).w(FUNC(hanakanz_state::hanakanz_coincounter_w)); -// map(0xb4, 0xb4).w(FUNC(hanakanz_state::hanakanz_keyb_w)); +// map(0xb4, 0xb4).w(FUNC(hanakanz_state::hanamai_keyboard_w)); map(0xb6, 0xb6).r(FUNC(hanakanz_state::hanakanz_rand_r)); map(0xc0, 0xc0).rw(m_oki, FUNC(okim6295_device::read), FUNC(okim6295_device::write)); // map(0xe0, 0xef).rw("rtc", FUNC(msm6242_device::read), FUNC(msm6242_device::write)); @@ -2954,7 +2944,7 @@ void hanakanz_state::kotbinsp_portmap(address_map &map) map(0x91, 0x91).portr("KEYB0"); map(0x92, 0x92).portr("KEYB1"); map(0x93, 0x93).w(FUNC(hanakanz_state::hanakanz_coincounter_w)); -// map(0x94, 0x94).w(FUNC(hanakanz_state::hanakanz_keyb_w)); +// map(0x94, 0x94).w(FUNC(hanakanz_state::hanamai_keyboard_w)); map(0x96, 0x96).r(FUNC(hanakanz_state::hanakanz_rand_r)); map(0xc0, 0xc0).rw(m_oki, FUNC(okim6295_device::read), FUNC(okim6295_device::write)); // map(0xe0, 0xef).rw("rtc", FUNC(msm6242_device::read), FUNC(msm6242_device::write)); @@ -2977,7 +2967,7 @@ void hanakanz_state::mjreach1_portmap(address_map &map) map(0x80, 0x80).w(FUNC(hanakanz_state::hanakanz_blitter_data_w)); map(0x81, 0x81).w(FUNC(hanakanz_state::hanakanz_palette_w)); map(0x83, 0x84).r(FUNC(hanakanz_state::hanakanz_gfxrom_r)); - map(0x90, 0x90).w(FUNC(hanakanz_state::hanakanz_keyb_w)); + map(0x90, 0x90).w(FUNC(hanakanz_state::hanamai_keyboard_w)); map(0x92, 0x92).r(FUNC(hanakanz_state::hanakanz_rand_r)); map(0x93, 0x93).rw(FUNC(hanakanz_state::mjreach1_protection_r), FUNC(hanakanz_state::mjreach1_protection_w)); map(0x94, 0x94).portr("SYSTEM"); @@ -2995,13 +2985,7 @@ void hanakanz_state::mjreach1_portmap(address_map &map) uint8_t hanakanz_state::mjchuuka_keyb_r(offs_t offset) { - uint8_t val = 0xff; - - if (!BIT(m_keyb, 0)) val = ioport(offset ? "KEY5" : "KEY0")->read(); - else if (!BIT(m_keyb, 1)) val = ioport(offset ? "KEY6" : "KEY1")->read(); - else if (!BIT(m_keyb, 2)) val = ioport(offset ? "KEY7" : "KEY2")->read(); - else if (!BIT(m_keyb, 3)) val = ioport(offset ? "KEY8" : "KEY3")->read(); - else if (!BIT(m_keyb, 4)) val = ioport(offset ? "KEY9" : "KEY4")->read(); + uint8_t val = offset ? hanamai_keyboard_r<0>() : hanamai_keyboard_r<1>(); val |= ioport(offset ? "HOPPER" : "BET")->read(); @@ -3099,7 +3083,7 @@ void hanakanz_state::mjchuuka_portmap(address_map &map) map(0x21, 0x21).select(0xff00).w(FUNC(hanakanz_state::mjchuuka_palette_w)); map(0x23, 0x23).mirror(0xff00).r(FUNC(hanakanz_state::mjchuuka_gfxrom_0_r)); map(0x40, 0x40).mirror(0xff00).w(FUNC(hanakanz_state::mjchuuka_coincounter_w)); - map(0x41, 0x41).mirror(0xff00).w(FUNC(hanakanz_state::hanakanz_keyb_w)); + map(0x41, 0x41).mirror(0xff00).w(FUNC(hanakanz_state::hanamai_keyboard_w)); map(0x42, 0x42).mirror(0xff00).portr("SYSTEM"); map(0x43, 0x44).mirror(0xff00).r(FUNC(hanakanz_state::mjchuuka_keyb_r)); map(0x45, 0x45).mirror(0xff00).r(FUNC(hanakanz_state::mjchuuka_gfxrom_1_r)); @@ -3160,7 +3144,7 @@ void ddenlovr_state::mjschuka_portmap(address_map &map) map(0x5c, 0x5c).r(FUNC(ddenlovr_state::hanakanz_rand_r)); map(0x60, 0x60).w(FUNC(ddenlovr_state::sryudens_coincounter_w)); - map(0x61, 0x61).w(FUNC(ddenlovr_state::hanakanz_keyb_w)); + map(0x61, 0x61).w(FUNC(ddenlovr_state::hanamai_keyboard_w)); map(0x62, 0x62).portr("SYSTEM"); map(0x63, 0x64).r(FUNC(ddenlovr_state::sryudens_keyb_r)); @@ -3191,7 +3175,7 @@ void ddenlovr_state::mjmyorntr_portmap(address_map &map) map(0x40, 0x41).w(FUNC(ddenlovr_state::ddenlovr_blitter_w)); map(0x43, 0x43).r(FUNC(ddenlovr_state::ddenlovr_gfxrom_r)); map(0x50, 0x50).w(FUNC(ddenlovr_state::sryudens_coincounter_w)); - map(0x51, 0x51).w(FUNC(ddenlovr_state::hanakanz_keyb_w)); + map(0x51, 0x51).w(FUNC(ddenlovr_state::hanamai_keyboard_w)); map(0x52, 0x52).portr("SYSTEM"); map(0x53, 0x54).r(FUNC(ddenlovr_state::sryudens_keyb_r)); map(0x58, 0x58).portr("DSW1"); @@ -3236,7 +3220,7 @@ void ddenlovr_state::mjmyster_select2_w(uint8_t data) m_input_sel = data; if (data & 0x80) - m_keyb = 1; + m_keyb = 0; } uint8_t ddenlovr_state::mjmyster_coins_r() @@ -3258,14 +3242,17 @@ uint8_t ddenlovr_state::mjmyster_keyb_r() { uint8_t ret = 0xff; - if (BIT(m_keyb, 0)) ret = ioport("KEY0")->read(); - else if (BIT(m_keyb, 1)) ret = ioport("KEY1")->read(); - else if (BIT(m_keyb, 2)) ret = ioport("KEY2")->read(); - else if (BIT(m_keyb, 3)) ret = ioport("KEY3")->read(); - else if (BIT(m_keyb, 4)) ret = ioport("KEY4")->read(); - else logerror("%06x: warning, unknown bits read, keyb = %02x\n", m_maincpu->pc(), m_keyb); - - m_keyb <<= 1; + if (m_keyb < 5) + { + ret = m_io_key[BIT(m_input_sel, 0)][m_keyb]->read(); + if (!machine().side_effects_disabled()) + ++m_keyb; + } + else + { + if (!machine().side_effects_disabled()) + logerror("%06x: warning, unknown bits read, keyb = %02x\n", m_maincpu->pc(), m_keyb); + } return ret; } @@ -3420,24 +3407,28 @@ void ddenlovr_state::hginga_coins_w(uint8_t data) uint8_t ddenlovr_state::hginga_input_r() { - static const char *const keynames0[] = { "KEY0", "KEY1", "KEY2", "KEY3", "KEY4" }; - static const char *const keynames1[] = { "KEY5", "KEY6", "KEY7", "KEY8", "KEY9" }; - + uint8_t result = 0xff; switch (m_input_sel) { - case 0x2d: - return 0xff; + case 0x2d: + result = 0xff; + break; - // player 1 - case 0xa1: - return ioport(keynames0[m_keyb++])->read(); + case 0xa1: // player 1 + case 0xa2: // player 2 + if (m_keyb < 5) + { + result = m_io_key[BIT(m_input_sel, 1)][m_keyb]->read(); + if (!machine().side_effects_disabled()) + ++m_keyb; + } + break; - // player 2 - case 0xa2: - return ioport(keynames1[m_keyb++])->read(); + default: + if (!machine().side_effects_disabled()) + logerror("%04x: input_r with select = %02x\n", m_maincpu->pc(), m_input_sel); } - logerror("%04x: input_r with select = %02x\n", m_maincpu->pc(), m_input_sel); - return 0xff; + return result; } void ddenlovr_state::hginga_blitter_w(offs_t offset, uint8_t data) @@ -3500,7 +3491,7 @@ void ddenlovr_state::hginga_portmap(address_map &map) Hanafuda Hana Gokou ***************************************************************************/ -uint8_t ddenlovr_state::hgokou_player_r(int player ) +uint8_t ddenlovr_state::hgokou_player_r(int player) { uint8_t hopper_bit = ((m_hopper && !(m_screen->frame_number() % 10)) ? 0 : (1 << 6)); @@ -3540,9 +3531,9 @@ void ddenlovr_state::hgokou_input_w(uint8_t data) // bit 1 = out counter // bit 2 = hopper // bit 7 = ? - machine().bookkeeping().coin_counter_w(0, data & 1); - machine().bookkeeping().coin_counter_w(1, data & 2); - m_hopper = data & 0x04; + machine().bookkeeping().coin_counter_w(0, BIT(data, 0)); + machine().bookkeeping().coin_counter_w(1, BIT(data, 1)); + m_hopper_hack = data & 0x04; #ifdef MAME_DEBUG // popmessage("COINS %02x",data); #endif @@ -3912,19 +3903,6 @@ uint8_t ddenlovr_state::mjflove_protection_r() return 0x27; } -uint8_t ddenlovr_state::mjflove_keyb_r(offs_t offset) -{ - uint8_t val = 0xff; - - if (!BIT(m_keyb, 0)) val = ioport(offset ? "KEY5" : "KEY0")->read(); - else if (!BIT(m_keyb, 1)) val = ioport(offset ? "KEY6" : "KEY1")->read(); - else if (!BIT(m_keyb, 2)) val = ioport(offset ? "KEY7" : "KEY2")->read(); - else if (!BIT(m_keyb, 3)) val = ioport(offset ? "KEY8" : "KEY3")->read(); - else if (!BIT(m_keyb, 4)) val = ioport(offset ? "KEY9" : "KEY4")->read(); - - return val; -} - ioport_value ddenlovr_state::mjflove_blitter_r() { // bit 7 = 1 -> blitter busy @@ -3957,7 +3935,8 @@ void ddenlovr_state::mjflove_portmap(address_map &map) map(0x0038, 0x0038).nopr(); // ? ack or watchdog map(0x0040, 0x0041).w(FUNC(ddenlovr_state::ddenlovr_blitter_w)).mirror(0xff00); map(0x0043, 0x0043).r(FUNC(ddenlovr_state::ddenlovr_gfxrom_r)); - map(0x0080, 0x0081).r(FUNC(ddenlovr_state::mjflove_keyb_r)); + map(0x0080, 0x0080).r(FUNC(ddenlovr_state::hanamai_keyboard_r<0>)); + map(0x0081, 0x0081).r(FUNC(ddenlovr_state::hanamai_keyboard_r<1>)); map(0x0082, 0x0082).portr("SYSTEM"); map(0x00da, 0x00da).r(FUNC(ddenlovr_state::mjflove_protection_r)).mirror(0xff00); map(0x00f2, 0x00f2).w(FUNC(ddenlovr_state::mjmyster_rambank_w)).mirror(0xff00); @@ -4094,13 +4073,7 @@ void ddenlovr_state::sryudens_map(address_map &map) uint8_t ddenlovr_state::sryudens_keyb_r(offs_t offset) { - uint8_t val = 0x3f; - - if (!BIT(m_keyb, 0)) val = ioport(offset ? "KEY5" : "KEY0")->read(); - else if (!BIT(m_keyb, 1)) val = ioport(offset ? "KEY6" : "KEY1")->read(); - else if (!BIT(m_keyb, 2)) val = ioport(offset ? "KEY7" : "KEY2")->read(); - else if (!BIT(m_keyb, 3)) val = ioport(offset ? "KEY8" : "KEY3")->read(); - else if (!BIT(m_keyb, 4)) val = ioport(offset ? "KEY9" : "KEY4")->read(); + uint8_t val = offset ? hanamai_keyboard_r<0>() : hanamai_keyboard_r<1>(); val |= ioport(offset ? "HOPPER" : "BET")->read(); if (offset) @@ -4116,9 +4089,9 @@ void ddenlovr_state::sryudens_coincounter_w(uint8_t data) // bit 4 = ? on except during boot or test mode // bit 7 = ? mostly on - machine().bookkeeping().coin_counter_w(0, data & 1); - machine().bookkeeping().coin_counter_w(1, data & 2); - m_hopper = data & 0x04; + machine().bookkeeping().coin_counter_w(0, BIT(data, 0)); + machine().bookkeeping().coin_counter_w(1, BIT(data, 1)); + m_hopper_hack = data & 0x04; if (data & 0x68) logerror("%04x: warning, coin counter = %02x\n", m_maincpu->pc(), data); @@ -4159,7 +4132,7 @@ void ddenlovr_state::sryudens_portmap(address_map &map) map(0x93, 0x93).portr("DSW3"); map(0x94, 0x94).portr("DSWTOP"); map(0x98, 0x98).w(FUNC(ddenlovr_state::sryudens_coincounter_w)); - map(0x99, 0x99).w(FUNC(ddenlovr_state::hanakanz_keyb_w)); + map(0x99, 0x99).w(FUNC(ddenlovr_state::hanamai_keyboard_w)); map(0x9a, 0x9a).portr("SYSTEM"); map(0x9b, 0x9c).r(FUNC(ddenlovr_state::sryudens_keyb_r)); } @@ -4205,7 +4178,7 @@ void ddenlovr_state::janshinp_portmap(address_map &map) map(0x03, 0x03).portr("DSW3"); map(0x04, 0x04).portr("DSWTOP"); map(0x08, 0x08).w(FUNC(ddenlovr_state::janshinp_coincounter_w)); - map(0x09, 0x09).w(FUNC(ddenlovr_state::hanakanz_keyb_w)); + map(0x09, 0x09).w(FUNC(ddenlovr_state::hanamai_keyboard_w)); map(0x0a, 0x0a).portr("SYSTEM"); map(0x0b, 0x0c).r(FUNC(ddenlovr_state::sryudens_keyb_r)); map(0x20, 0x23).w(FUNC(ddenlovr_state::ddenlovr_palette_base_w)); @@ -4369,39 +4342,48 @@ void htengoku_state::htengoku_coin_w(uint8_t data) { switch (m_input_sel) { - case 0x0c: - // bit 0 = coin counter - // bit 1 = out counter - // bit 2 = hopper - machine().bookkeeping().coin_counter_w(0, data & 1); - m_hopper = data & 0x04; + case 0x0c: + // bit 0 = coin counter + // bit 1 = out counter + // bit 2 = hopper + machine().bookkeeping().coin_counter_w(0, BIT(data, 0)); + machine().bookkeeping().coin_counter_w(1, BIT(data, 1)); + m_hopper->motor_w(BIT(data, 2)); #ifdef MAME_DEBUG // popmessage("COINS %02x",data); #endif - m_coins = data; - break; + m_coins = data; + break; - case 0x0d: break; // ff resets input port sequence? + case 0x0d: break; // ff resets input port sequence? - case 0xff: break; // CRT controller? - default: - logerror("%04x: coins_w with select = %02x, data = %02x\n", m_maincpu->pc(), m_input_sel, data); + case 0xff: break; // CRT controller? + default: + logerror("%04x: coins_w with select = %02x, data = %02x\n", m_maincpu->pc(), m_input_sel, data); } } uint8_t htengoku_state::htengoku_input_r() { - static const char *const keynames0[] = { "KEY0", "KEY1", "KEY2", "KEY3", "KEY4" }; - static const char *const keynames1[] = { "KEY5", "KEY6", "KEY7", "KEY8", "KEY9" }; - + uint8_t result = 0xff; switch (m_input_sel) { - case 0x81: return ioport(keynames1[m_keyb++])->read(); - case 0x82: return ioport(keynames0[m_keyb++])->read(); - case 0x0d: return 0xff; // unused + case 0x81: + case 0x82: + if (m_keyb < 5) + { + result = m_io_key[BIT(m_input_sel, 0)][m_keyb]->read(); + if (!machine().side_effects_disabled()) + ++m_keyb; + } + break; + case 0x0d: + result = 0xff; // unused + break; + default: + logerror("%04x: input_r with select = %02x\n", m_maincpu->pc(), m_input_sel); } - logerror("%04x: input_r with select = %02x\n", m_maincpu->pc(), m_input_sel); - return 0xff; + return result; } uint8_t htengoku_state::htengoku_coin_r() @@ -4410,7 +4392,7 @@ uint8_t htengoku_state::htengoku_coin_r() { case 0x00: return ioport("COINS")->read(); case 0x01: return 0xff; //? - case 0x02: return 0xbf | ((m_hopper && !(m_screen->frame_number() % 10)) ? 0 : (1 << 6)); // bit 7 = blitter busy, bit 6 = hopper + case 0x02: return 0xbf | (m_hopper->line_r() ? 0 : (1 << 6)); // bit 7 = blitter busy, bit 6 = hopper case 0x03: return m_coins; } logerror("%04x: coin_r with select = %02x\n", m_maincpu->pc(), m_input_sel); @@ -4498,6 +4480,8 @@ void htengoku_state::htengoku(machine_config &config) m_mainlatch->q_out_cb<2>().set(FUNC(dynax_state::layer_half2_w)); // m_mainlatch->q_out_cb<5>().set(FUNC(dynax_state::blitter_ack_w)); // Blitter IRQ Ack + HOPPER(config, m_hopper, attotime::from_msec(50)); + // video hardware SCREEN(config, m_screen, SCREEN_TYPE_RASTER); m_screen->set_refresh_hz(60); @@ -4540,15 +4524,8 @@ void htengoku_state::htengoku(machine_config &config) uint8_t ddenlovr_state::daimyojn_keyb1_r() { - uint8_t val = 0x3f; - - uint8_t hopper_bit = ((m_hopper && !(m_screen->frame_number() % 10)) ? 0 : (1 << 6)); - - if (!BIT(m_keyb, 0)) val = ioport("KEY0")->read() | hopper_bit; - else if (!BIT(m_keyb, 1)) val = ioport("KEY1")->read() | hopper_bit; - else if (!BIT(m_keyb, 2)) val = ioport("KEY2")->read() | hopper_bit; - else if (!BIT(m_keyb, 3)) val = ioport("KEY3")->read() | hopper_bit; - else if (!BIT(m_keyb, 4)) val = ioport("KEY4")->read() | hopper_bit; + uint8_t hopper_bit = ((m_hopper_hack && !(m_screen->frame_number() % 10)) ? 0 : (1 << 6)); + uint8_t val = hanamai_keyboard_r<1>() | hopper_bit; // val |= ioport("BET")->read(); return val; @@ -4556,13 +4533,7 @@ uint8_t ddenlovr_state::daimyojn_keyb1_r() uint8_t ddenlovr_state::daimyojn_keyb2_r() { - uint8_t val = 0x3f; - - if (!BIT(m_keyb, 0)) val = ioport("KEY5")->read(); - else if (!BIT(m_keyb, 1)) val = ioport("KEY6")->read(); - else if (!BIT(m_keyb, 2)) val = ioport("KEY7")->read(); - else if (!BIT(m_keyb, 3)) val = ioport("KEY8")->read(); - else if (!BIT(m_keyb, 4)) val = ioport("KEY9")->read(); + uint8_t val = hanamai_keyboard_r<0>(); val |= ioport("HOPPER")->read(); return val; @@ -4741,7 +4712,7 @@ static INPUT_PORTS_START( ddenlovj ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) PORT_CODE(KEYCODE_F1) // Test + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) // Test PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_CUSTOM ) // blitter busy flag PORT_BIT( 0x60, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(FUNC(ddenlovr_state::ddenlovj_blitter_r)) // blitter irq flag? (bit 5) & RTC (bit 6) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) @@ -4846,7 +4817,7 @@ static INPUT_PORTS_START( ddenlovr ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) PORT_CODE(KEYCODE_F1) // Test + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) // Test PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_CUSTOM ) // ? quiz365 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(FUNC(ddenlovr_state::blitter_irq_r)) // blitter irq flag @@ -4902,7 +4873,7 @@ static INPUT_PORTS_START( nettoqc ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) PORT_CODE(KEYCODE_F1) // Test + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) // Test PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_CUSTOM ) // blitter busy flag PORT_BIT( 0x60, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(FUNC(ddenlovr_state::nettoqc_special_r)) // ? (bit 5) & blitter irq flag (bit 6) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) @@ -4999,7 +4970,7 @@ static INPUT_PORTS_START( ultrchmp ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) PORT_CODE(KEYCODE_F1) // Test + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) // Test PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(FUNC(ddenlovr_state::blitter_irq_r)) // blitter irq flag @@ -5018,16 +4989,17 @@ INPUT_PORTS_END static INPUT_PORTS_START( htengoku ) PORT_START("COINS") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) PORT_CODE(KEYCODE_4) // pay + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) PORT_CODE(KEYCODE_4) PORT_CONDITION("DSW4", 0x10, EQUALS, 0x00) // pay + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_CONDITION("DSW4", 0x10, EQUALS, 0x10) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) PORT_CODE(KEYCODE_F1) PORT_TOGGLE - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // analyzer - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE3 ) // data clear + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) PORT_TOGGLE + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) // analyzer + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // data clear PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) // note PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_INCLUDE( HANAFUDA_KEYS_BET ) + PORT_INCLUDE( dynax_hanafuda_keys_bet ) PORT_START("DSW0") // IN11 - DSW1 PORT_DIPNAME( 0x01, 0x01, "Show Girls" ) @@ -5089,10 +5061,10 @@ static INPUT_PORTS_START( htengoku ) PORT_DIPNAME( 0x04, 0x04, "Credits Per Note" ) PORT_DIPSETTING( 0x00, "5" ) PORT_DIPSETTING( 0x04, "10" ) - PORT_DIPNAME( 0x08, 0x08, "Max Rate" ) + PORT_DIPNAME( 0x08, 0x08, "Maximum Bet" ) PORT_DIPSETTING( 0x08, "5" ) PORT_DIPSETTING( 0x00, "10" ) - PORT_DIPNAME( 0x30, 0x30, "Min Rate To Play" ) + PORT_DIPNAME( 0x30, 0x30, "Minimum Bet" ) PORT_DIPSETTING( 0x30, "1" ) PORT_DIPSETTING( 0x20, "2" ) PORT_DIPSETTING( 0x10, "3" ) @@ -5137,8 +5109,8 @@ static INPUT_PORTS_START( htengoku ) PORT_DIPNAME( 0x08, 0x08, "Unknown 2-9" ) PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, "Pay Out Type" ) - PORT_DIPSETTING( 0x10, "Credit" ) + PORT_DIPNAME( 0x10, 0x10, "Payout Mode" ) + PORT_DIPSETTING( 0x10, "Key-out" ) PORT_DIPSETTING( 0x00, "Hopper" ) PORT_DIPNAME( 0x20, 0x20, "Hopper Switch" ) PORT_DIPSETTING( 0x20, "Active Low" ) @@ -5177,7 +5149,7 @@ static INPUT_PORTS_START( quiz365 ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) PORT_CODE(KEYCODE_F1) // Test + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) // Test PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_CUSTOM ) // ? quiz365 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(FUNC(ddenlovr_state::blitter_irq_r)) // blitter irq flag @@ -5270,7 +5242,7 @@ static INPUT_PORTS_START( rongrong ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) PORT_CODE(KEYCODE_F1) PORT_TOGGLE + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) PORT_TOGGLE PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_CUSTOM ) // ? quiz365 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_CUSTOM ) // ? blitter irq flag ? @@ -5363,7 +5335,7 @@ static INPUT_PORTS_START( quizchq ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) PORT_CODE(KEYCODE_F1) // Test + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) // Test PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_CUSTOM ) // ? quiz365 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_CUSTOM ) // ? blitter irq flag ? @@ -5438,21 +5410,21 @@ static INPUT_PORTS_START( mmpanic ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) // tested? PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) PORT_CODE(KEYCODE_F1) // Test + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) // Test PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // tested? - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("8") PORT_CODE(KEYCODE_8_PAD) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("9") PORT_CODE(KEYCODE_9_PAD) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_CODE(KEYCODE_8_PAD) // top center + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_CODE(KEYCODE_9_PAD) // top right PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) // busy? PORT_START("IN1") // 6b (68 = 0 & 1) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("1") PORT_CODE(KEYCODE_1_PAD) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("2") PORT_CODE(KEYCODE_2_PAD) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("3") PORT_CODE(KEYCODE_3_PAD) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("4") PORT_CODE(KEYCODE_4_PAD) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("5") PORT_CODE(KEYCODE_5_PAD) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("6") PORT_CODE(KEYCODE_6_PAD) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("7") PORT_CODE(KEYCODE_7_PAD) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CODE(KEYCODE_1_PAD) // bottom left + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CODE(KEYCODE_2_PAD) // bottom center + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_CODE(KEYCODE_3_PAD) // bottom right + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_CODE(KEYCODE_4_PAD) // middle left + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_CODE(KEYCODE_5_PAD) // middle center + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_CODE(KEYCODE_6_PAD) // middle right + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_CODE(KEYCODE_7_PAD) // top left PORT_START("DSW1") PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coinage ) ) @@ -5535,7 +5507,7 @@ static INPUT_PORTS_START( animaljr ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) PORT_CODE(KEYCODE_F1) // Test + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) // Test PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -5543,12 +5515,12 @@ static INPUT_PORTS_START( animaljr ) PORT_START("IN1") // 6b (68 = 0 & 1) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) // tested ? - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("1") PORT_CODE(KEYCODE_1_PAD) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("2") PORT_CODE(KEYCODE_2_PAD) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("3") PORT_CODE(KEYCODE_3_PAD) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("4") PORT_CODE(KEYCODE_4_PAD) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("5") PORT_CODE(KEYCODE_5_PAD) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("6") PORT_CODE(KEYCODE_6_PAD) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CODE(KEYCODE_1_PAD) // bottom left + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CODE(KEYCODE_2_PAD) // bottom center + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_CODE(KEYCODE_3_PAD) // bottom right + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_CODE(KEYCODE_4_PAD) // top left + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_CODE(KEYCODE_5_PAD) // top center + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_CODE(KEYCODE_6_PAD) // top right PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) // dipswitches are 2 banks of 10 @@ -5619,94 +5591,109 @@ INPUT_PORTS_END static INPUT_PORTS_START( hanakanz ) PORT_START("SYSTEM") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) PORT_CODE(KEYCODE_4) // pay - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) PORT_CODE(KEYCODE_F1) // Test - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE1 ) // analyzer - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) // data clear + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) PORT_CONDITION("BET",0x40,EQUALS,0x00) PORT_CODE(KEYCODE_4) // pay + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("BET",0x40,EQUALS,0x40) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) // Test + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) // analyzer + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // data clear PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) // note - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN) PORT_START("KEY0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_A ) PORT_PLAYER(2) // A - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_HANAFUDA_E ) PORT_PLAYER(2) // E + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_A ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_HANAFUDA_E ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // I - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_HANAFUDA_YES ) PORT_PLAYER(2) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // Kan - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_HANAFUDA_YES ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) PORT_CONDITION("BET",0x40,EQUALS,0x00) // "t" + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("BET",0x40,EQUALS,0x40) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 ) PORT_START("KEY1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_B ) PORT_PLAYER(2) // B - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_HANAFUDA_F ) PORT_PLAYER(2) // F + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_B ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_HANAFUDA_F ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // J - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_HANAFUDA_NO ) PORT_PLAYER(2) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // Reach - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) PORT_PLAYER(2) // BET + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_HANAFUDA_NO ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) PORT_CONDITION("BET",0x40,EQUALS,0x00) // "s" + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("BET",0x40,EQUALS,0x40) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // BET PORT_START("KEY2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_C ) PORT_PLAYER(2) // C - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_HANAFUDA_G ) PORT_PLAYER(2) // G + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_C ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_HANAFUDA_G ) PORT_CONDITION("BET",0x40,EQUALS,0x40) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("BET",0x40,EQUALS,0x00) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // K - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) // Chi + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) PORT_CONDITION("BET",0x40,EQUALS,0x00) // "b" + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("BET",0x40,EQUALS,0x40) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // Ron PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("KEY3") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_D ) PORT_PLAYER(2) // D - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_HANAFUDA_H ) PORT_PLAYER(2) // H + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_D ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_HANAFUDA_H ) PORT_CONDITION("BET",0x40,EQUALS,0x40) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("BET",0x40,EQUALS,0x00) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // L - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) // PON + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) PORT_CONDITION("BET",0x40,EQUALS,0x00) // "w" + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("BET",0x40,EQUALS,0x40) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("KEY4") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) PORT_PLAYER(2) // "t" - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) PORT_PLAYER(2) // "w" - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_FLIP_FLOP ) PORT_PLAYER(2) // Flip Flop - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) PORT_PLAYER(2) // "b" - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) PORT_PLAYER(2) // "s" + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_FLIP_FLOP ) PORT_CONDITION("BET",0x40,EQUALS,0x40) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("BET",0x40,EQUALS,0x00) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("KEY5") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_A ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_HANAFUDA_E ) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_A ) PORT_PLAYER(2) // A + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_HANAFUDA_E ) PORT_PLAYER(2) // E PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // I - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_HANAFUDA_YES ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // Kan - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_HANAFUDA_YES ) PORT_PLAYER(2) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) PORT_CONDITION("BET",0x40,EQUALS,0x00) PORT_PLAYER(2) // "t" + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("BET",0x40,EQUALS,0x40) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 ) PORT_START("KEY6") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_B ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_HANAFUDA_F ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // J - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_HANAFUDA_NO ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // Reach - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) // BET + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_B ) PORT_PLAYER(2) // B + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_HANAFUDA_F ) PORT_PLAYER(2) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // J + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_HANAFUDA_NO ) PORT_PLAYER(2) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) PORT_CONDITION("BET",0x40,EQUALS,0x00) PORT_PLAYER(2) // "s" + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("BET",0x40,EQUALS,0x40) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // BET PORT_START("KEY7") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_C ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_HANAFUDA_G ) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_C ) PORT_PLAYER(2) // C + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_HANAFUDA_G ) PORT_CONDITION("BET",0x40,EQUALS,0x40) PORT_PLAYER(2) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("BET",0x40,EQUALS,0x00) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // K - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) // Chi + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) PORT_CONDITION("BET",0x40,EQUALS,0x00) PORT_PLAYER(2) // "b" + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("BET",0x40,EQUALS,0x40) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // Ron PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("KEY8") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_D ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_HANAFUDA_H ) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_D ) PORT_PLAYER(2) // D + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_HANAFUDA_H ) PORT_CONDITION("BET",0x40,EQUALS,0x40) PORT_PLAYER(2) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("BET",0x40,EQUALS,0x00) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // L - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) // PON + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) PORT_CONDITION("BET",0x40,EQUALS,0x00) PORT_PLAYER(2) // "w" + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("BET",0x40,EQUALS,0x40) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("KEY9") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) // "t" - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) // "w" - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_FLIP_FLOP ) // Flip Flop - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) // "b" - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) // "s" + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_FLIP_FLOP ) PORT_CONDITION("BET",0x40,EQUALS,0x40) PORT_PLAYER(2) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("BET",0x40,EQUALS,0x00) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("DSW1") PORT_DIPNAME( 0x07, 0x07, "Unknown 1-0&1&2" ) @@ -5843,14 +5830,54 @@ static INPUT_PORTS_START( hkagerou ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) PORT_CODE(KEYCODE_4) // pay PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) PORT_CODE(KEYCODE_F1) // Test - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE1 ) // analyzer - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) // data clear + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) // Test + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) // analyzer + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // data clear PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) // note PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN) PORT_START("KEY0") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A ) PORT_NAME("P1 1 (Hanafuda) / P1 A (Mahjong)") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_E ) PORT_NAME("P1 5 (Hanafuda) / P1 E (Mahjong)") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // P1 I (not used) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P1 Yes") PORT_CODE(KEYCODE_M) // P1 M + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // P1 Kan (not used) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 ) + + PORT_START("KEY1") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_B ) PORT_NAME("P1 2 (Hanafuda) / P1 B (Mahjong)") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_F ) PORT_NAME("P1 6 (Hanafuda) / P1 F (Mahjong)") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // P1 J (not used) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P1 No") PORT_CODE(KEYCODE_N) // P1 N + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // P1 Reach (not used) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) // P1 BET + + PORT_START("KEY2") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_C ) PORT_NAME("P1 3 (Hanafuda) / P1 C (Mahjong)") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) // P1 G (not used) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // P1 K (not used) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) // P1 Chi (not used) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // P1 Ron (not used) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_START("KEY3") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_D ) PORT_NAME("P1 4 (Hanafuda) / P1 D (Mahjong)") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) // P1 H (not used) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // P1 L (not used) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) // P1 PON (not used) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_START("KEY4") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN) // P1 ?? (not used) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) // P1 t (Take) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) // P1 w (W.Up) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_FLIP_FLOP ) // P1 f (Flip Flop) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) // P1 b (Big) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) // P1 s (Small) + + PORT_START("KEY5") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A ) PORT_NAME("P2 1 (Hanafuda) / P2 A (Mahjong)") PORT_PLAYER(2) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_E ) PORT_NAME("P2 5 (Hanafuda) / P2 E (Mahjong)") PORT_PLAYER(2) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // P2 I (not used) @@ -5858,7 +5885,7 @@ static INPUT_PORTS_START( hkagerou ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // P2 Kan (not used) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 ) - PORT_START("KEY1") + PORT_START("KEY6") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_B ) PORT_NAME("P2 2 (Hanafuda) / P2 B (Mahjong)") PORT_PLAYER(2) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_F ) PORT_NAME("P2 6 (Hanafuda) / P2 F (Mahjong)") PORT_PLAYER(2) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // P2 J (not used) @@ -5866,7 +5893,7 @@ static INPUT_PORTS_START( hkagerou ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // P2 Reach (not used) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) PORT_PLAYER(2) // P2 BET - PORT_START("KEY2") + PORT_START("KEY7") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_C ) PORT_NAME("P2 3 (Hanafuda) / P2 C (Mahjong)") PORT_PLAYER(2) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) // P2 G (not used) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // P2 K (not used) @@ -5874,7 +5901,7 @@ static INPUT_PORTS_START( hkagerou ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // P2 Ron (not used) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_START("KEY3") + PORT_START("KEY8") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_D ) PORT_NAME("P2 4 (Hanafuda) / P2 D (Mahjong)") PORT_PLAYER(2) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) // P2 H (not used) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // P2 L (not used) @@ -5882,7 +5909,7 @@ static INPUT_PORTS_START( hkagerou ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_START("KEY4") + PORT_START("KEY9") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN) // P2 ?? (not used) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) PORT_PLAYER(2) // P2 t (Take) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) PORT_PLAYER(2) // P2 w (W.Up) @@ -5890,46 +5917,6 @@ static INPUT_PORTS_START( hkagerou ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) PORT_PLAYER(2) // P2 b (Big) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) PORT_PLAYER(2) // P2 s (Small) - PORT_START("KEY5") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A ) PORT_NAME("P1 1 (Hanafuda) / P1 A (Mahjong)") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_E ) PORT_NAME("P1 5 (Hanafuda) / P1 E (Mahjong)") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // P1 I (not used) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P1 Yes") PORT_CODE(KEYCODE_Y) // P1 M - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // P1 Kan (not used) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 ) - - PORT_START("KEY6") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_B ) PORT_NAME("P1 2 (Hanafuda) / P1 B (Mahjong)") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_F ) PORT_NAME("P1 6 (Hanafuda) / P1 F (Mahjong)") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // P1 J (not used) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P1 No") PORT_CODE(KEYCODE_N) // P1 N - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // P1 Reach (not used) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) // P1 BET - - PORT_START("KEY7") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_C ) PORT_NAME("P1 3 (Hanafuda) / P1 C (Mahjong)") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) // P1 G (not used) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // P1 K (not used) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) // P1 Chi (not used) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // P1 Ron (not used) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("KEY8") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_D ) PORT_NAME("P1 4 (Hanafuda) / P1 D (Mahjong)") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) // P1 H (not used) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // P1 L (not used) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) // P1 PON (not used) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("KEY9") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN) // P1 ?? (not used) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) // P1 t (Take) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) // P1 w (W.Up) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_FLIP_FLOP ) // P1 f (Flip Flop) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) // P1 b (Big) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) // P1 s (Small) - PORT_START("DSW1") PORT_DIPNAME( 0x07, 0x07, "Unknown 1-0&1&2" ) PORT_DIPSETTING( 0x07, "0" ) @@ -6286,91 +6273,13 @@ static INPUT_PORTS_START( mjreach1 ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) PORT_CODE(KEYCODE_4) // pay PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN) PORT_SERVICE(0x04, IP_ACTIVE_LOW) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE1 ) // analyzer - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) // data clear + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) // analyzer + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // data clear PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) // note PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN) - PORT_START("KEY0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A ) PORT_PLAYER(2) // A - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_E ) PORT_PLAYER(2) // E - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_I ) PORT_PLAYER(2) // I - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_M ) PORT_PLAYER(2) // M - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) PORT_PLAYER(2) // Kan - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 ) // Start 2 - - PORT_START("KEY1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_B ) PORT_PLAYER(2) // B - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_F ) PORT_PLAYER(2) // F - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_J ) PORT_PLAYER(2) // J - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_N ) PORT_PLAYER(2) // N - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) PORT_PLAYER(2) // Reach - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) PORT_PLAYER(2) // BET - - PORT_START("KEY2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_C ) PORT_PLAYER(2) // C - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_G ) PORT_PLAYER(2) // G - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_K ) PORT_PLAYER(2) // K - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) PORT_PLAYER(2) // Chi - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) PORT_PLAYER(2) // Ron - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - - PORT_START("KEY3") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_D ) PORT_PLAYER(2) // D - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_H ) PORT_PLAYER(2) // H - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_L ) PORT_PLAYER(2) // L - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) PORT_PLAYER(2) // Pon - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - - PORT_START("KEY4") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_LAST_CHANCE ) PORT_PLAYER(2) // "l" - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) PORT_PLAYER(2) // "t" - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) PORT_PLAYER(2) // "w" - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_FLIP_FLOP ) PORT_PLAYER(2) // Flip Flop - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) PORT_PLAYER(2) // "b" - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) PORT_PLAYER(2) // "s" - - PORT_START("KEY5") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A ) // A - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_E ) // E - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_I ) // I - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_M ) // M - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) // Kan - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 ) // Start 1 - - PORT_START("KEY6") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_B ) // B - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_F ) // F - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_J ) // J - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_N ) // N - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) // Reach - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) // BET - - PORT_START("KEY7") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_C ) // C - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_G ) // G - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_K ) // K - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) // Chi - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) // Ron - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - - PORT_START("KEY8") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_D ) // D - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_H ) // H - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_L ) // L - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) // Pon - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - - PORT_START("KEY9") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_LAST_CHANCE ) // "l" - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) // "t" - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) // "w" - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_FLIP_FLOP ) // Flip Flop - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) // "b" - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) // "s" + PORT_INCLUDE( mahjong_matrix_2p_bet_wup ) PORT_START("DSW1") PORT_DIPNAME( 0x0f, 0x07, "Pay Out Rate (%)" ) @@ -6519,91 +6428,13 @@ static INPUT_PORTS_START( jongtei ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) PORT_CODE(KEYCODE_4) // pay PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN) PORT_SERVICE(0x04, IP_ACTIVE_LOW) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE1 ) // analyzer - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) // data clear + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) // analyzer + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // data clear PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) // note PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN) - PORT_START("KEY0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A ) PORT_PLAYER(2) // A - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_E ) PORT_PLAYER(2) // E - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_I ) PORT_PLAYER(2) // I - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_M ) PORT_PLAYER(2) // M - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) PORT_PLAYER(2) // Kan - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 ) // Start 2 - - PORT_START("KEY1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_B ) PORT_PLAYER(2) // B - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_F ) PORT_PLAYER(2) // F - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_J ) PORT_PLAYER(2) // J - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_N ) PORT_PLAYER(2) // N - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) PORT_PLAYER(2) // Reach - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) PORT_PLAYER(2) // BET - - PORT_START("KEY2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_C ) PORT_PLAYER(2) // C - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_G ) PORT_PLAYER(2) // G - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_K ) PORT_PLAYER(2) // K - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) PORT_PLAYER(2) // Chi - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) PORT_PLAYER(2) // Ron - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - - PORT_START("KEY3") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_D ) PORT_PLAYER(2) // D - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_H ) PORT_PLAYER(2) // H - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_L ) PORT_PLAYER(2) // L - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) PORT_PLAYER(2) // Pon - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - - PORT_START("KEY4") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_LAST_CHANCE ) PORT_PLAYER(2) // "l" - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) PORT_PLAYER(2) // "t" - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) PORT_PLAYER(2) // "w" - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_FLIP_FLOP ) PORT_PLAYER(2) // Flip Flop - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) PORT_PLAYER(2) // "b" - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) PORT_PLAYER(2) // "s" - - PORT_START("KEY5") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A ) // A - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_E ) // E - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_I ) // I - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_M ) // M - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) // Kan - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 ) // Start 1 - - PORT_START("KEY6") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_B ) // B - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_F ) // F - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_J ) // J - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_N ) // N - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) // Reach - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) // BET - - PORT_START("KEY7") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_C ) // C - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_G ) // G - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_K ) // K - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) // Chi - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) // Ron - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - - PORT_START("KEY8") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_D ) // D - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_H ) // H - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_L ) // L - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) // Pon - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - - PORT_START("KEY9") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_LAST_CHANCE ) // "l" - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) // "t" - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) // "w" - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_FLIP_FLOP ) // Flip Flop - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) // "b" - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) // "s" + PORT_INCLUDE( mahjong_matrix_2p_bet_wup ) PORT_START("DSW1") PORT_DIPNAME( 0x0f, 0x07, "Pay Out Rate (%)" ) @@ -6808,91 +6639,13 @@ static INPUT_PORTS_START( mjchuuka ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) PORT_CODE(KEYCODE_4) // pay PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN) PORT_SERVICE(0x04, IP_ACTIVE_LOW) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE1 ) // analyzer - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) // data clear + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) // analyzer + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // data clear PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) // note PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN) - PORT_START("KEY0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A ) PORT_PLAYER(2) // A - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_E ) PORT_PLAYER(2) // E - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_I ) PORT_PLAYER(2) // I - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_M ) PORT_PLAYER(2) // M - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) PORT_PLAYER(2) // Kan - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 ) // Start 2 - - PORT_START("KEY1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_B ) PORT_PLAYER(2) // B - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_F ) PORT_PLAYER(2) // F - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_J ) PORT_PLAYER(2) // J - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_N ) PORT_PLAYER(2) // N - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) PORT_PLAYER(2) // Reach - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) PORT_PLAYER(2) // BET - - PORT_START("KEY2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_C ) PORT_PLAYER(2) // C - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_G ) PORT_PLAYER(2) // G - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_K ) PORT_PLAYER(2) // K - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) PORT_PLAYER(2) // Chi - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) PORT_PLAYER(2) // Ron - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - - PORT_START("KEY3") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_D ) PORT_PLAYER(2) // D - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_H ) PORT_PLAYER(2) // H - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_L ) PORT_PLAYER(2) // L - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) PORT_PLAYER(2) // Pon - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - - PORT_START("KEY4") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_LAST_CHANCE ) PORT_PLAYER(2) // "l" - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) PORT_PLAYER(2) // "t" - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) PORT_PLAYER(2) // "w" - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_FLIP_FLOP ) PORT_PLAYER(2) // Flip Flop - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) PORT_PLAYER(2) // "b" - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) PORT_PLAYER(2) // "s" - - PORT_START("KEY5") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A ) // A - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_E ) // E - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_I ) // I - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_M ) // M - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) // Kan - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 ) // Start 1 - - PORT_START("KEY6") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_B ) // B - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_F ) // F - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_J ) // J - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_N ) // N - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) // Reach - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) // BET - - PORT_START("KEY7") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_C ) // C - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_G ) // G - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_K ) // K - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) // Chi - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) // Ron - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - - PORT_START("KEY8") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_D ) // D - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_H ) // H - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_L ) // L - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) // Pon - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - - PORT_START("KEY9") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_LAST_CHANCE ) // "l" - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) // "t" - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) // "w" - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_FLIP_FLOP ) // Flip Flop - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) // "b" - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) // "s" + PORT_INCLUDE( mahjong_matrix_2p_bet_wup ) PORT_START("DSW1") PORT_DIPNAME( 0x0f, 0x07, "Pay Out Rate (%)" ) @@ -7041,91 +6794,13 @@ static INPUT_PORTS_START( mjschuka ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) PORT_CODE(KEYCODE_4) // pay PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN) PORT_SERVICE(0x04, IP_ACTIVE_LOW) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE1 ) // analyzer - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) // data clear + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) // analyzer + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // data clear PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) // note PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN) - PORT_START("KEY0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A ) PORT_PLAYER(2) // A - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_E ) PORT_PLAYER(2) // E - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_I ) PORT_PLAYER(2) // I - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_M ) PORT_PLAYER(2) // M - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) PORT_PLAYER(2) // Kan - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 ) // Start 2 - - PORT_START("KEY1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_B ) PORT_PLAYER(2) // B - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_F ) PORT_PLAYER(2) // F - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_J ) PORT_PLAYER(2) // J - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_N ) PORT_PLAYER(2) // N - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) PORT_PLAYER(2) // Reach - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) PORT_PLAYER(2) // BET - - PORT_START("KEY2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_C ) PORT_PLAYER(2) // C - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_G ) PORT_PLAYER(2) // G - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_K ) PORT_PLAYER(2) // K - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) PORT_PLAYER(2) // Chi - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) PORT_PLAYER(2) // Ron - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - - PORT_START("KEY3") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_D ) PORT_PLAYER(2) // D - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_H ) PORT_PLAYER(2) // H - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_L ) PORT_PLAYER(2) // L - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) PORT_PLAYER(2) // Pon - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - - PORT_START("KEY4") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_LAST_CHANCE ) PORT_PLAYER(2) // "l" - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) PORT_PLAYER(2) // "t" - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) PORT_PLAYER(2) // "w" - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_FLIP_FLOP ) PORT_PLAYER(2) // Flip Flop - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) PORT_PLAYER(2) // "b" - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) PORT_PLAYER(2) // "s" - - PORT_START("KEY5") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A ) // A - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_E ) // E - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_I ) // I - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_M ) // M - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) // Kan - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 ) // Start 1 - - PORT_START("KEY6") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_B ) // B - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_F ) // F - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_J ) // J - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_N ) // N - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) // Reach - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) // BET - - PORT_START("KEY7") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_C ) // C - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_G ) // G - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_K ) // K - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) // Chi - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) // Ron - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - - PORT_START("KEY8") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_D ) // D - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_H ) // H - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_L ) // L - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) // Pon - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - - PORT_START("KEY9") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_LAST_CHANCE ) // "l" - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) // "t" - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) // "w" - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_FLIP_FLOP ) // Flip Flop - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) // "b" - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) // "s" + PORT_INCLUDE( mahjong_matrix_2p_bet_wup ) PORT_START("DSW1") PORT_DIPNAME( 0x0f, 0x07, "Pay Out Rate (%)" ) @@ -7272,13 +6947,13 @@ INPUT_PORTS_END static INPUT_PORTS_START( funkyfig ) PORT_START("IN0") // Keys (port 83 with port 80 = 20) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("1") PORT_CODE(KEYCODE_1_PAD) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("2") PORT_CODE(KEYCODE_2_PAD) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("3") PORT_CODE(KEYCODE_3_PAD) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("4") PORT_CODE(KEYCODE_4_PAD) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("5") PORT_CODE(KEYCODE_5_PAD) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("6") PORT_CODE(KEYCODE_6_PAD) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("7") PORT_CODE(KEYCODE_7_PAD) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CODE(KEYCODE_1_PAD) // bottom left + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CODE(KEYCODE_2_PAD) // bottom center + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_CODE(KEYCODE_3_PAD) // bottom right + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_CODE(KEYCODE_4_PAD) // middle left + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_CODE(KEYCODE_5_PAD) // middle center + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_CODE(KEYCODE_6_PAD) // middle right + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_CODE(KEYCODE_7_PAD) // top left PORT_START("IN1") // ? (port 83 with port 80 = 21) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START2 ) // ? @@ -7288,10 +6963,10 @@ static INPUT_PORTS_START( funkyfig ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) PORT_CODE(KEYCODE_F1) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("8") PORT_CODE(KEYCODE_8_PAD) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("9") PORT_CODE(KEYCODE_9_PAD) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_CODE(KEYCODE_8_PAD) // top center + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_CODE(KEYCODE_9_PAD) // top right PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("DSW1") // (low bits, port 1c with rombank = 1e) @@ -7375,210 +7050,134 @@ static INPUT_PORTS_START( mjmyster ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) PORT_CODE(KEYCODE_4) // pay PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN) PORT_SERVICE_NO_TOGGLE(0x04, IP_ACTIVE_LOW) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE1 ) // analyzer - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) // data clear + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) // analyzer + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // data clear PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) // note PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN) - PORT_START("KEY0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A ) // A - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_E ) // E - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_I ) // I - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_M ) // M - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) // Kan - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 ) // Start 1 - - PORT_START("KEY1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_B ) // B - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_F ) // F - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_J ) // J - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_N ) // N - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) // Reach - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) // BET - - PORT_START("KEY2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_C ) // C - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_G ) // G - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_K ) // K - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) // Chi - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) // Ron - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - - PORT_START("KEY3") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_D ) // D - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_H ) // H - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_L ) // L - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) // Pon - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - - PORT_START("KEY4") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_LAST_CHANCE ) // "l" - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) // "t" - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) // "w" - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_FLIP_FLOP ) // Flip Flop - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) // "b" - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) // "s" + PORT_INCLUDE( mahjong_matrix_2p_bet_wup ) PORT_START("DSW1") - PORT_DIPNAME( 0x0f, 0x07, "Pay Out Rate (%)" ) - PORT_DIPSETTING( 0x00, "50" ) - PORT_DIPSETTING( 0x01, "53" ) - PORT_DIPSETTING( 0x02, "56" ) - PORT_DIPSETTING( 0x03, "59" ) - PORT_DIPSETTING( 0x04, "62" ) - PORT_DIPSETTING( 0x05, "65" ) - PORT_DIPSETTING( 0x06, "68" ) - PORT_DIPSETTING( 0x07, "71" ) - PORT_DIPSETTING( 0x08, "75" ) - PORT_DIPSETTING( 0x09, "78" ) - PORT_DIPSETTING( 0x0a, "81" ) - PORT_DIPSETTING( 0x0b, "84" ) - PORT_DIPSETTING( 0x0c, "87" ) - PORT_DIPSETTING( 0x0d, "90" ) - PORT_DIPSETTING( 0x0e, "93" ) - PORT_DIPSETTING( 0x0f, "96" ) - PORT_DIPNAME( 0x30, 0x30, "Odds Rate" ) - PORT_DIPSETTING( 0x20, "2 3 6 8 12 15 30 50" ) + MAHJONG_PAYOUT_RATE(0, "SW 1:1,2,3,4") + PORT_DIPNAME( 0x30, 0x00, "Odds Rate" ) PORT_DIPLOCATION("SW 1:5,6") PORT_DIPSETTING( 0x30, "1 2 4 8 12 16 24 32" ) PORT_DIPSETTING( 0x00, "1 2 3 5 8 15 30 50" ) + PORT_DIPSETTING( 0x20, "2 3 6 8 12 15 30 50" ) PORT_DIPSETTING( 0x10, "1 2 3 5 10 25 50 100" ) - PORT_DIPNAME( 0xc0, 0xc0, "Max Rate" ) + PORT_DIPNAME( 0xc0, 0x40, "Maximum Bet" ) PORT_DIPLOCATION("SW 1:7,8") PORT_DIPSETTING( 0xc0, "1" ) PORT_DIPSETTING( 0x80, "5" ) PORT_DIPSETTING( 0x40, "10" ) PORT_DIPSETTING( 0x00, "20" ) PORT_START("DSW2") - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) ) - PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) ) - PORT_DIPSETTING( 0x01, DEF_STR( 1C_5C ) ) - PORT_DIPSETTING( 0x00, "1 Coin/10 Credits" ) - PORT_DIPNAME( 0x0c, 0x0c, "Min Rate To Play" ) + MAHJONG_COINAGE(0, "SW 2:1,2") + PORT_DIPNAME( 0x0c, 0x0c, "Minimum Bet" ) PORT_DIPLOCATION("SW 2:3,4") PORT_DIPSETTING( 0x0c, "1" ) PORT_DIPSETTING( 0x08, "2" ) PORT_DIPSETTING( 0x04, "3" ) PORT_DIPSETTING( 0x00, "5" ) - PORT_DIPNAME( 0x70, 0x70, "YAKUMAN Bonus" ) - PORT_DIPSETTING( 0x70, "Cut" ) - PORT_DIPSETTING( 0x60, "1 T" ) - PORT_DIPSETTING( 0x50, "300" ) - PORT_DIPSETTING( 0x40, "500" ) - PORT_DIPSETTING( 0x30, "700" ) - PORT_DIPSETTING( 0x20, "1000" ) - PORT_DIPSETTING( 0x10, "1000?" ) - PORT_DIPSETTING( 0x00, "1000?" ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x70, 0x40, "Bonus Chance Cycle" ) PORT_DIPLOCATION("SW 2:5,6,7") + PORT_DIPSETTING( 0x70, "None" ) + PORT_DIPSETTING( 0x60, "First time only" ) + PORT_DIPSETTING( 0x50, "Every 300 coins" ) + PORT_DIPSETTING( 0x40, "Every 500 coins" ) + PORT_DIPSETTING( 0x30, "Every 700 coins" ) + PORT_DIPSETTING( 0x20, "Every 1000 coins" ) + //PORT_DIPSETTING( 0x10, "Every 1000 coins" ) + //PORT_DIPSETTING( 0x00, "Every 1000 coins" ) + PORT_DIPNAME( 0x80, 0x00, "Chances Per Cycle" ) PORT_DIPLOCATION("SW 2:8") + PORT_DIPSETTING( 0x00, "1" ) + PORT_DIPSETTING( 0x80, "2" ) PORT_START("DSW3") - PORT_DIPNAME( 0x03, 0x03, "YAKUMAN Times" ) -// PORT_DIPSETTING( 0x00, "1" ) - PORT_DIPSETTING( 0x03, "1" ) - PORT_DIPSETTING( 0x02, "2" ) - PORT_DIPSETTING( 0x01, "3?" ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x18, 0x18, "Payout" ) - PORT_DIPSETTING( 0x18, "300" ) - PORT_DIPSETTING( 0x10, "500" ) - PORT_DIPSETTING( 0x08, "700" ) - PORT_DIPSETTING( 0x00, "1000" ) - PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x03, 0x03, "Game Mode" ) PORT_DIPLOCATION("SW 3:1,2") + PORT_DIPSETTING( 0x03, "Key-out" ) + PORT_DIPSETTING( 0x02, "Hopper payout" ) + PORT_DIPSETTING( 0x01, "Points with credit timer" ) + PORT_DIPNAME( 0x04, 0x04, "Hopper Polarity" ) PORT_DIPLOCATION("SW 3:3") + PORT_DIPSETTING( 0x04, DEF_STR(Normal) ) + PORT_DIPSETTING( 0x00, "Inverted" ) + PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x08, "SW 3:4" ) + PORT_DIPUNKNOWN_DIPLOC( 0x10, 0x10, "SW 3:5" ) + PORT_DIPUNKNOWN_DIPLOC( 0x20, 0x20, "SW 3:6" ) + PORT_DIPNAME( 0x40, 0x00, "Double Bet" ) PORT_DIPLOCATION("SW 3:7") + PORT_DIPSETTING( 0x40, DEF_STR(Off) ) + PORT_DIPSETTING( 0x00, DEF_STR(On) ) + PORT_DIPNAME( 0x80, 0x00, "Last Chance" ) PORT_DIPLOCATION("SW 3:8") + PORT_DIPSETTING( 0x80, DEF_STR(Off) ) + PORT_DIPSETTING( 0x00, DEF_STR(On) ) PORT_START("DSW4") - PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) ) - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x00, "In Game Music" ) - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Controls ) ) + PORT_DIPNAME( 0x01, 0x00, DEF_STR(Demo_Sounds) ) PORT_DIPLOCATION("SW 4:1") + PORT_DIPSETTING( 0x01, DEF_STR(Off) ) + PORT_DIPSETTING( 0x00, DEF_STR(On) ) + PORT_DIPNAME( 0x02, 0x00, "In-Game Music" ) PORT_DIPLOCATION("SW 4:2") + PORT_DIPSETTING( 0x02, DEF_STR(Off) ) + PORT_DIPSETTING( 0x00, DEF_STR(On) ) + PORT_DIPNAME( 0x04, 0x00, "Show Gals" ) PORT_DIPLOCATION("SW 4:3") + PORT_DIPSETTING( 0x04, DEF_STR(Off) ) + PORT_DIPSETTING( 0x00, DEF_STR(On) ) + PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x08, "SW 4:4" ) + PORT_DIPUNKNOWN_DIPLOC( 0x10, 0x10, "SW 4:5" ) + PORT_DIPUNKNOWN_DIPLOC( 0x20, 0x20, "SW 4:6" ) + PORT_DIPNAME( 0x40, 0x40, DEF_STR( Controls ) ) PORT_DIPLOCATION("SW 4:7") PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Region ) ) - PORT_DIPSETTING( 0x80, DEF_STR( Japan ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Hong_Kong ) ) + PORT_DIPNAME( 0x80, 0x80, DEF_STR(Region) ) PORT_DIPLOCATION("SW 4:8") + PORT_DIPSETTING( 0x80, DEF_STR(Japan) ) + PORT_DIPSETTING( 0x00, DEF_STR(Hong_Kong) ) PORT_START("DSW5") - PORT_DIPNAME( 0x03, 0x03, "Computer Strength?" ) + PORT_DIPNAME( 0x03, 0x03, "Computer Strength?" ) PORT_DIPLOCATION("SW 4:9,10") PORT_DIPSETTING( 0x03, "Weak" ) - PORT_DIPSETTING( 0x02, DEF_STR( Normal )) + PORT_DIPSETTING( 0x02, DEF_STR( Normal ) ) PORT_DIPSETTING( 0x01, "Strong" ) PORT_DIPSETTING( 0x00, "Very Strong" ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, "DonDen Key" ) + PORT_DIPNAME( 0x04, 0x00, "Auto Reach" ) PORT_DIPLOCATION("SW 3:9") + PORT_DIPSETTING( 0x04, DEF_STR(Off) ) + PORT_DIPSETTING( 0x00, DEF_STR(On) ) + PORT_DIPNAME( 0x08, 0x00, "Don Den Button" ) PORT_DIPLOCATION("SW 3:10") PORT_DIPSETTING( 0x08, "Start" ) PORT_DIPSETTING( 0x00, "Flip Flop" ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, "Credits Per Note" ) - PORT_DIPSETTING( 0x40, "5" ) - PORT_DIPSETTING( 0x00, "10" ) - PORT_DIPNAME( 0x80, 0x00, DEF_STR( Flip_Screen ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x80, DEF_STR( On ) ) + PORT_DIPUNKNOWN_DIPLOC( 0x10, 0x10, "SW 2:9" ) + PORT_DIPUNKNOWN_DIPLOC( 0x20, 0x20, "SW 2:10" ) + MAHJONG_NOTE_CREDITS(6, "SW 1:9", "DSW2", 0) + PORT_DIPNAME( 0x80, 0x00, DEF_STR(Flip_Screen) ) PORT_DIPLOCATION("SW 1:10") + PORT_DIPSETTING( 0x00, DEF_STR(Off) ) + PORT_DIPSETTING( 0x80, DEF_STR(On) ) INPUT_PORTS_END static INPUT_PORTS_START( hginga ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) PORT_CODE(KEYCODE_4) // pay // PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) PORT_CODE(KEYCODE_F1) // Test - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE1 ) // analyzer - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) // data clear + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) // Test + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) // analyzer + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // data clear PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) // note PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1) // PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("KEY0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A ) PORT_PLAYER(2) // A - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_E ) PORT_PLAYER(2) // E + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_A ) PORT_PLAYER(2) // A + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_HANAFUDA_E ) PORT_PLAYER(2) // E PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // I - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_M ) PORT_PLAYER(2) // M + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_HANAFUDA_YES ) PORT_PLAYER(2) // M PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // Kan PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 ) PORT_START("KEY1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_B ) PORT_PLAYER(2) // B - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_F ) PORT_PLAYER(2) // F + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_B ) PORT_PLAYER(2) // B + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_HANAFUDA_F ) PORT_PLAYER(2) // F PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // J - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_N ) PORT_PLAYER(2) // N + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_HANAFUDA_NO ) PORT_PLAYER(2) // N PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // Reach PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) PORT_PLAYER(2) // BET PORT_START("KEY2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_C ) PORT_PLAYER(2) // C + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_C ) PORT_PLAYER(2) // C PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) // G PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // K PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) // Chi @@ -7586,7 +7185,7 @@ static INPUT_PORTS_START( hginga ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("KEY3") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_D ) PORT_PLAYER(2) // D + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_D ) PORT_PLAYER(2) // D PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) // H PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // L PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) // PON @@ -7602,23 +7201,23 @@ static INPUT_PORTS_START( hginga ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) PORT_PLAYER(2) // "s" PORT_START("KEY5") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A ) // A - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_E ) // E + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_A ) // A + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_HANAFUDA_E ) // E PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // I - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_M ) // M + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_HANAFUDA_YES ) // M PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // Kan PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 ) PORT_START("KEY6") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_B ) // B - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_F ) // F + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_B ) // B + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_HANAFUDA_F ) // F PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // J - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_N ) // N + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_HANAFUDA_NO ) // N PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // Reach PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) // BET PORT_START("KEY7") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_C ) // C + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_C ) // C PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) // G PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // K PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) // Chi @@ -7626,7 +7225,7 @@ static INPUT_PORTS_START( hginga ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("KEY8") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_D ) // D + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_D ) // D PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) // H PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // L PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) // PON @@ -7773,93 +7372,15 @@ INPUT_PORTS_END static INPUT_PORTS_START( hgokou ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) PORT_CODE(KEYCODE_4) // pay - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) PORT_CODE(KEYCODE_F1) PORT_TOGGLE - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE1 ) // analyzer - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) // data clear - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) // note - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN) - - PORT_START("KEY0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_A ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_HANAFUDA_E ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // I - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_HANAFUDA_YES ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) // Kan - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1) - - PORT_START("KEY1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_B ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_HANAFUDA_F ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // J - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_HANAFUDA_NO ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) // Reach - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // BET - - PORT_START("KEY2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_C ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) // G - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // K - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) // Chi - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // Ron - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("KEY3") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_D ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) // H - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // L - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) // PON - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("KEY4") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) // "t" - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // "w" - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // "b" - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // "s" - - PORT_START("KEY5") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_A ) PORT_PLAYER(2) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_HANAFUDA_E ) PORT_PLAYER(2) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // I - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_HANAFUDA_YES ) PORT_PLAYER(2) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) PORT_PLAYER(2) // Kan - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2) - - PORT_START("KEY6") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_B ) PORT_PLAYER(2) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_HANAFUDA_F ) PORT_PLAYER(2) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // J - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_HANAFUDA_NO ) PORT_PLAYER(2) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) PORT_PLAYER(2) // Reach - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // BET - - PORT_START("KEY7") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_C ) PORT_PLAYER(2) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_PLAYER(2) // G - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // K - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) PORT_PLAYER(2) // Chi - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // Ron - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("KEY8") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_D ) PORT_PLAYER(2) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_PLAYER(2) // H - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // L - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) PORT_PLAYER(2) // PON - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) // analyzer + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // data clear + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_START("KEY9") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) // "t" - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // "w" - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // "b" - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // "s" + PORT_INCLUDE( dynax_hanafuda_keys_bet ) // Note the PCB has 4x 10-position DIP switches and SW5 is a 4-position DIP switch. // SW5 is used to select either the Mahjong edge connector, or the 18/10 Edge connectors (i.e. emulation of SW5 is not required) @@ -7885,9 +7406,15 @@ static INPUT_PORTS_START( hgokou ) PORT_DIPSETTING( 0x40, "75%" ) PORT_DIPSETTING( 0x20, "70%" ) PORT_DIPSETTING( 0x00, "65%" ) // Hard - PORT_DIPNAME( 0x80, 0x80, "Key-in Rate ?" ) PORT_DIPLOCATION("SW1:8") // What is this? Manual says キ一インレ一ト - PORT_DIPSETTING( 0x80, "x10" ) - PORT_DIPSETTING( 0x00, "x5" ) + PORT_DIPNAME( 0x80, 0x80, "Key-In Rate" ) PORT_DIPLOCATION("SW1:8") + PORT_DIPSETTING( 0x00, "5" ) PORT_CONDITION("DSW2", 0x03, EQUALS, 0x03) + PORT_DIPSETTING( 0x00, "10" ) PORT_CONDITION("DSW2", 0x03, EQUALS, 0x02) + PORT_DIPSETTING( 0x00, "25" ) PORT_CONDITION("DSW2", 0x03, EQUALS, 0x01) + PORT_DIPSETTING( 0x00, "50" ) PORT_CONDITION("DSW2", 0x03, EQUALS, 0x00) + PORT_DIPSETTING( 0x80, "10" ) PORT_CONDITION("DSW2", 0x03, EQUALS, 0x03) + PORT_DIPSETTING( 0x80, "20" ) PORT_CONDITION("DSW2", 0x03, EQUALS, 0x02) + PORT_DIPSETTING( 0x80, "50" ) PORT_CONDITION("DSW2", 0x03, EQUALS, 0x01) + PORT_DIPSETTING( 0x80, "100" ) PORT_CONDITION("DSW2", 0x03, EQUALS, 0x00) PORT_START("DSW2") PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW2:1,2") @@ -7895,7 +7422,7 @@ static INPUT_PORTS_START( hgokou ) PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x01, DEF_STR( 1C_5C ) ) PORT_DIPSETTING( 0x00, "1 Coin 10 Credits" ) - PORT_DIPNAME( 0x0c, 0x0c, "Start Level" ) PORT_DIPLOCATION("SW2:3,4") + PORT_DIPNAME( 0x0c, 0x0c, "Minimum Bet" ) PORT_DIPLOCATION("SW2:3,4") PORT_DIPSETTING( 0x0c, "1" ) PORT_DIPSETTING( 0x08, "2" ) PORT_DIPSETTING( 0x04, "3" ) @@ -7976,199 +7503,142 @@ static INPUT_PORTS_START( hgokou ) PORT_DIPSETTING( 0x20, "30" ) PORT_DIPSETTING( 0x10, "40" ) PORT_DIPSETTING( 0x00, "50" ) - PORT_DIPNAME( 0x40, 0x40, "Max Bet" ) PORT_DIPLOCATION("SW1:9") - PORT_DIPSETTING( 0x40, "10" ) + PORT_DIPNAME( 0x40, 0x40, "Maximum Bet" ) PORT_DIPLOCATION("SW1:9") PORT_DIPSETTING( 0x00, "5" ) + PORT_DIPSETTING( 0x40, "10" ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:10") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END static INPUT_PORTS_START( mjmyornt ) + // The manual provides three sets of standard settings: + // 標準設定 シングル向け 標準設定 メダル コーナー向け 標準設定 アミューズ コーナー向け + // SW 1 OFF OFF OFF ON ON ON OFF ON ON OFF OFF OFF OFF ON ON ON OFF ON ON OFF ON OFF OFF ON OFF OFF ON OFF ON OFF + // SW 2 OFF OFF OFF OFF ON ON OFF ON ON ON OFF OFF OFF OFF OFF OFF ON ON ON ON OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF + // SW 3 OFF OFF OFF ON ON ON ON ON ON ON OFF OFF OFF ON ON ON ON ON ON OFF OFF ON OFF ON ON ON ON ON ON OFF + // SW 4 OFF ON ON ON ON ON OFF OFF OFF OFF ON ON ON ON ON ON OFF OFF OFF OFF ON ON ON ON ON ON OFF OFF OFF OFF + PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) PORT_CODE(KEYCODE_4) // pay - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN) - PORT_SERVICE_NO_TOGGLE(0x04, IP_ACTIVE_LOW) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE1 ) // analyzer - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) // data clear - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) // note - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN) - - PORT_START("KEY0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A ) // A - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_E ) // E - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_I ) // I - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_M ) // M - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) // Kan - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 ) // Start 1 - - PORT_START("KEY1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_B ) // B - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_F ) // F - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_J ) // J - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_N ) // N - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) // Reach - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) // BET - - PORT_START("KEY2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_C ) // C - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_G ) // G - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_K ) // K - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) // Chi - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) // Ron - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) // 18B + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_TOGGLE PORT_NAME(DEF_STR( Test )) // Test + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) // analyzer + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // data clear + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BILL1 ) PORT_CODE(KEYCODE_6) // note + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_START("KEY3") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_D ) // D - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_H ) // H - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_L ) // L - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) // Pon - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - - PORT_START("KEY4") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_LAST_CHANCE ) // "l" - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) // "t" - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) // "w" - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_FLIP_FLOP ) // Flip Flop - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) // "b" - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) // "s" + PORT_INCLUDE( mahjong_matrix_2p_bet_wup ) PORT_START("DSW1") - PORT_DIPNAME( 0x0f, 0x07, "Pay Out Rate (%)" ) PORT_DIPLOCATION("SW1:1,2,3,4") - PORT_DIPSETTING( 0x00, "50" ) - PORT_DIPSETTING( 0x01, "53" ) - PORT_DIPSETTING( 0x02, "56" ) - PORT_DIPSETTING( 0x03, "59" ) - PORT_DIPSETTING( 0x04, "62" ) - PORT_DIPSETTING( 0x05, "65" ) - PORT_DIPSETTING( 0x06, "68" ) - PORT_DIPSETTING( 0x07, "71" ) - PORT_DIPSETTING( 0x08, "75" ) - PORT_DIPSETTING( 0x09, "78" ) - PORT_DIPSETTING( 0x0a, "81" ) - PORT_DIPSETTING( 0x0b, "84" ) - PORT_DIPSETTING( 0x0c, "87" ) - PORT_DIPSETTING( 0x0d, "90" ) - PORT_DIPSETTING( 0x0e, "93" ) - PORT_DIPSETTING( 0x0f, "96" ) - PORT_DIPNAME( 0x30, 0x30, "Odds Rate" ) PORT_DIPLOCATION("SW1:5,6") - PORT_DIPSETTING( 0x20, "2 3 6 8 12 15 30 50" ) + MAHJONG_PAYOUT_RATE(0, "SW 1:1,2,3,4") // PAY-OUT 管理 + PORT_DIPNAME( 0x30, 0x00, "Odds Rate" ) PORT_DIPLOCATION("SW 1:5,6") // ODDS 設定 PORT_DIPSETTING( 0x30, "1 2 4 8 12 16 24 32" ) PORT_DIPSETTING( 0x00, "1 2 3 5 8 15 30 50" ) + PORT_DIPSETTING( 0x20, "2 3 6 8 12 15 30 50" ) PORT_DIPSETTING( 0x10, "1 2 3 5 10 25 50 100" ) - PORT_DIPNAME( 0xc0, 0xc0, "Max Bet" ) PORT_DIPLOCATION("SW1:7,8") + PORT_DIPNAME( 0xc0, 0x40, "Maximum Bet" ) PORT_DIPLOCATION("SW 1:7,8") // BET-MAX PORT_DIPSETTING( 0xc0, "1" ) PORT_DIPSETTING( 0x80, "5" ) PORT_DIPSETTING( 0x40, "10" ) PORT_DIPSETTING( 0x00, "20" ) PORT_START("DSW2") - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW2:1,2") - PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) ) PORT_CONDITION("DSW5",0x01,EQUALS,0x01) - PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) ) PORT_CONDITION("DSW5",0x01,EQUALS,0x01) - PORT_DIPSETTING( 0x01, DEF_STR( 1C_5C ) ) PORT_CONDITION("DSW5",0x01,EQUALS,0x01) - PORT_DIPSETTING( 0x00, "1 Coin/10 Credits" ) PORT_CONDITION("DSW5",0x01,EQUALS,0x01) - - PORT_DIPSETTING( 0x01, DEF_STR( 2C_2C ) ) PORT_CONDITION("DSW5",0x01,EQUALS,0x00) - PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) ) PORT_CONDITION("DSW5",0x01,EQUALS,0x00) - PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) ) PORT_CONDITION("DSW5",0x01,EQUALS,0x00) - PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) ) PORT_CONDITION("DSW5",0x01,EQUALS,0x00) - - PORT_DIPNAME( 0x0c, 0x0c, "Min Rate To Play" ) PORT_DIPLOCATION("SW2:3,4") - PORT_DIPSETTING( 0x0c, "1" ) - PORT_DIPSETTING( 0x08, "2" ) - PORT_DIPSETTING( 0x04, "3" ) - PORT_DIPSETTING( 0x00, "5" ) - PORT_DIPNAME( 0x70, 0x70, "YAKUMAN Bonus" ) PORT_DIPLOCATION("SW2:5,6,7") - PORT_DIPSETTING( 0x70, "Cut" ) - PORT_DIPSETTING( 0x60, "1 T" ) - PORT_DIPSETTING( 0x50, "300" ) - PORT_DIPSETTING( 0x40, "500" ) - PORT_DIPSETTING( 0x30, "700" ) - PORT_DIPSETTING( 0x20, "1000" ) - PORT_DIPSETTING( 0x10, "1000?" ) - PORT_DIPSETTING( 0x00, "1000?" ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:8") - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x03, 0x03, DEF_STR(Coinage) ) PORT_DIPLOCATION("SW 2:1,2") // COIN RATE + PORT_DIPSETTING( 0x03, DEF_STR(1C_1C) ) PORT_CONDITION("DSW5", 0x01, EQUALS, 0x01) // 1コイン   1プレイ + PORT_DIPSETTING( 0x02, DEF_STR(1C_2C) ) PORT_CONDITION("DSW5", 0x01, EQUALS, 0x01) // 1コイン   2プレイ + PORT_DIPSETTING( 0x01, DEF_STR(1C_5C) ) PORT_CONDITION("DSW5", 0x01, EQUALS, 0x01) // 1コイン   5プレイ + PORT_DIPSETTING( 0x00, "1 Coin/10 Credits" ) PORT_CONDITION("DSW5", 0x01, EQUALS, 0x01) // 1コイン  10プレイ + PORT_DIPSETTING( 0x01, DEF_STR( 2C_2C ) ) PORT_CONDITION("DSW5", 0x01, EQUALS, 0x00) + PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) ) PORT_CONDITION("DSW5", 0x01, EQUALS, 0x00) + PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) ) PORT_CONDITION("DSW5", 0x01, EQUALS, 0x00) + PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) ) PORT_CONDITION("DSW5", 0x01, EQUALS, 0x00) + PORT_DIPNAME( 0x0c, 0x0c, "Minimum Bet" ) PORT_DIPLOCATION("SW 2:3,4") // 最低 BET RATE + PORT_DIPSETTING( 0x0c, "1" ) // レート 1 + PORT_DIPSETTING( 0x08, "2" ) // レート 2 + PORT_DIPSETTING( 0x04, "3" ) // レート 3 + PORT_DIPSETTING( 0x00, "5" ) // レート 5 + PORT_DIPNAME( 0x70, 0x40, "Bonus Chance Cycle" ) PORT_DIPLOCATION("SW 2:5,6,7") // ボーナスチャンスの周期設定 + PORT_DIPSETTING( 0x70, "None" ) // 無し + PORT_DIPSETTING( 0x60, "First time only" ) // 初回のみ + PORT_DIPSETTING( 0x50, "Every 300 coins" ) // 300コイン毎 + PORT_DIPSETTING( 0x40, "Every 500 coins" ) // 500コイン毎 + PORT_DIPSETTING( 0x30, "Every 700 coins" ) // 700コイン毎 + PORT_DIPSETTING( 0x20, "Every 1000 coins" ) // 1000コイン毎 + //PORT_DIPSETTING( 0x10, "Every 1000 coins" ) + //PORT_DIPSETTING( 0x00, "Every 1000 coins" ) + PORT_DIPNAME( 0x80, 0x00, "Chances Per Cycle" ) PORT_DIPLOCATION("SW 2:8") // 周期設定時のチャンス回数 + PORT_DIPSETTING( 0x00, "1" ) // 1回 + PORT_DIPSETTING( 0x80, "2" ) // 2回 PORT_START("DSW3") - PORT_DIPNAME( 0x03, 0x03, "Bonus Game" ) PORT_DIPLOCATION("SW3:1,2") - PORT_DIPSETTING( 0x00, "Slot? (duplicate)" ) - PORT_DIPSETTING( 0x03, "Slot?" ) - PORT_DIPSETTING( 0x02, "Slot + Girls?" ) - PORT_DIPSETTING( 0x01, "Girl Choice" ) // 4 choices in gal mode check (instead of 3) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:3") - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x18, 0x18, "Payout" ) PORT_DIPLOCATION("SW3:4,5") + PORT_DIPNAME( 0x03, 0x03, "Game Mode" ) PORT_DIPLOCATION("SW 3:1,2") + PORT_DIPSETTING( 0x03, "Key-out" ) // クレジット・タイプ + PORT_DIPSETTING( 0x02, "Hopper payout" ) // ホッパー・タイプ + PORT_DIPSETTING( 0x01, "Key-out with credit timer" ) // クレジットタイマー・タイプ + PORT_DIPNAME( 0x04, 0x04, "Hopper Polarity" ) PORT_DIPLOCATION("SW 3:3") // ホッパー・アクティブ + PORT_DIPSETTING( 0x04, DEF_STR(Normal) ) // 通常 + PORT_DIPSETTING( 0x00, "Inverted" ) // 反転 + PORT_DIPNAME( 0x18, 0x00, "Credit Limit" ) PORT_DIPLOCATION("SW 3:4,5") // クレジット・コイン リミット PORT_DIPSETTING( 0x18, "300" ) PORT_DIPSETTING( 0x10, "500" ) PORT_DIPSETTING( 0x08, "700" ) PORT_DIPSETTING( 0x00, "1000" ) - PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:6") - PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:7") - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:8") - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x20, 0x00, "Computer Strength" ) PORT_DIPLOCATION("SW 3:6") // コンピューターの強さ + PORT_DIPSETTING( 0x00, DEF_STR(Normal) ) // 普通 + PORT_DIPSETTING( 0x20, "Strong" ) // 強 + PORT_DIPNAME( 0x40, 0x00, "Double Bet" ) PORT_DIPLOCATION("SW 3:7") // W-BET機能 有無 + PORT_DIPSETTING( 0x40, DEF_STR(Off) ) // 無 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有 + PORT_DIPNAME( 0x80, 0x00, "Last Chance" ) PORT_DIPLOCATION("SW 3:8") // ラスト・チャンス 有無 + PORT_DIPSETTING( 0x80, DEF_STR(Off) ) // 無 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有 PORT_START("DSW4") - PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW4:1") - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x00, "In Game Music" ) PORT_DIPLOCATION("SW4:2") - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW4:3") - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW4:4") - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW4:5") - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW4:6") - PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, "Set Clock" ) PORT_DIPLOCATION("SW4:7") - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW4:8") - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x01, 0x00, DEF_STR(Demo_Sounds) ) PORT_DIPLOCATION("SW 4:1") // デモ・サウンド 有無 + PORT_DIPSETTING( 0x01, DEF_STR(Off) ) // 無 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有 + PORT_DIPNAME( 0x02, 0x00, "In-Game Music" ) PORT_DIPLOCATION("SW 4:2") // ゲーム・サウンド 有無 + PORT_DIPSETTING( 0x02, DEF_STR(Off) ) // 無 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有 + PORT_DIPNAME( 0x04, 0x00, "Show Gals" ) PORT_DIPLOCATION("SW 4:3") // ギャル表示 有無 + PORT_DIPSETTING( 0x04, DEF_STR(Off) ) // 無 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有 + PORT_DIPNAME( 0x08, 0x00, "Gal Select" ) PORT_DIPLOCATION("SW 4:4") // ギャル選択機能 有無 + PORT_DIPSETTING( 0x08, DEF_STR(Off) ) // 無 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有 + PORT_DIPNAME( 0x10, 0x00, "Show Game Action" ) PORT_DIPLOCATION("SW 4:5") // ゲームアクション表示 有無 + PORT_DIPSETTING( 0x10, DEF_STR(Off) ) // 無 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有 + PORT_DIPNAME( 0x20, 0x00, "In-Game Mat" ) PORT_DIPLOCATION("SW 4:6") // ゲーム中のマット変更 + PORT_DIPSETTING( 0x00, "Plain" ) // 無地 + PORT_DIPSETTING( 0x20, "With Character" ) // キャラクター有 + PORT_DIPNAME( 0x40, 0x40, "Time Settings Mode" ) PORT_DIPLOCATION("SW 4:7") // 時間設定モード + PORT_DIPSETTING( 0x40, DEF_STR(Off) ) // 設定時 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 通常 + PORT_DIPUNKNOWN_DIPLOC( 0x80, 0x80, "SW 4:8" ) // OFF固定 PORT_START("DSW5") - PORT_DIPNAME( 0x01, 0x01, "Alternate Coinage" ) PORT_DIPLOCATION("SW4:9") - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW4:10") - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:9") - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, "DonDen Key" ) PORT_DIPLOCATION("SW3:10") - PORT_DIPSETTING( 0x08, "Start" ) - PORT_DIPSETTING( 0x00, "Flip Flop" ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:9") - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:10") - PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, "Credits Per Note" ) PORT_DIPLOCATION("SW1:9") - PORT_DIPSETTING( 0x40, "5" ) - PORT_DIPSETTING( 0x00, "10" ) - PORT_DIPNAME( 0x80, 0x00, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:10") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x80, DEF_STR( On ) ) + PORT_DIPNAME( 0x01, 0x01, "Alternate Coinage" ) PORT_DIPLOCATION("SW 4:9") // OFF固定 + PORT_DIPSETTING( 0x01, DEF_STR(Off) ) + PORT_DIPSETTING( 0x00, DEF_STR(On) ) + PORT_DIPUNKNOWN_DIPLOC( 0x02, 0x02, "SW 4:10" ) // OFF固定 + PORT_DIPNAME( 0x04, 0x00, "Auto Reach" ) PORT_DIPLOCATION("SW 3:9") // オート・リーチ機能の有無 + PORT_DIPSETTING( 0x04, DEF_STR(Off) ) // 無 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有 + PORT_DIPNAME( 0x08, 0x00, "Don Den Button" ) PORT_DIPLOCATION("SW 3:10") // Don・Den 機能ボタン変更 + PORT_DIPSETTING( 0x08, "Start" ) // スタート・ボタ + PORT_DIPSETTING( 0x00, "Flip Flop" ) // F/F・ボタン + PORT_DIPNAME( 0x30, 0x00, "Yakuman/Fever Chance Ratio" ) PORT_DIPLOCATION("SW 2:9,10") // ボーナスチャンス周期設定時の役満チャンス&フィバーチャンスの比率 + PORT_DIPSETTING( 0x30, "Yakuman Chance Only" ) // 役満チャンスのみ + PORT_DIPSETTING( 0x20, "Equal Yakuman/Fever Chance" ) // 役満チャンスとフィバーチャンスが同等 + PORT_DIPSETTING( 0x10, "Frequent Fever Chance" ) // フィバーチャンスが多い + PORT_DIPSETTING( 0x00, "Fever Chance Only" ) // フィバーチャンスのみ + MAHJONG_NOTE_CREDITS(6, "SW 1:9", "DSW2", 0) // NOTE RATE (TODO: this is affected by the alternate coinage setting) + PORT_DIPNAME( 0x80, 0x80, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW 1:10") // ー画面反転 + PORT_DIPSETTING( 0x80, DEF_STR(Off) ) // 通常 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 反転 INPUT_PORTS_END static INPUT_PORTS_START( mjmyorn2 ) @@ -8212,7 +7682,7 @@ static INPUT_PORTS_START( akamaru ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) PORT_CODE(KEYCODE_F1) // Test + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) // Test PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) // blitter irq flag @@ -8269,129 +7739,49 @@ INPUT_PORTS_END static INPUT_PORTS_START( mjflove ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) PORT_CODE(KEYCODE_F1) PORT_TOGGLE + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) // plays coin sound in test mode but not shown + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR(Test)) PORT_TOGGLE PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x60, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(FUNC(ddenlovr_state::mjflove_blitter_r)) // RTC (bit 5) & blitter irq flag (bit 6) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) // blitter busy flag - PORT_START("KEY0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A ) // A - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_E ) // E - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_I ) // I - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_M ) // M - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) // Kan - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 ) // Start 1 - - PORT_START("KEY1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_B ) // B - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_F ) // F - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_J ) // J - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_N ) // N - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) // Reach - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) // BET - - PORT_START("KEY2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_C ) // C - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_G ) // G - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_K ) // K - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) // Chi - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) // Ron - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - - PORT_START("KEY3") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_D ) // D - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_H ) // H - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_L ) // L - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) // Pon - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - - PORT_START("KEY4") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_LAST_CHANCE ) // "l" - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) // "t" - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) // "w" - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_FLIP_FLOP ) // Flip Flop - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) // "b" - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) // "s" - - PORT_START("KEY5") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A ) PORT_PLAYER(2) // A - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_E ) PORT_PLAYER(2) // E - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_I ) PORT_PLAYER(2) // I - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_M ) PORT_PLAYER(2) // M - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) PORT_PLAYER(2) // Kan - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 ) // Start 2 - - PORT_START("KEY6") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_B ) PORT_PLAYER(2) // B - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_F ) PORT_PLAYER(2) // F - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_J ) PORT_PLAYER(2) // J - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_N ) PORT_PLAYER(2) // N - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) PORT_PLAYER(2) // Reach - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) PORT_PLAYER(2) // BET - - PORT_START("KEY7") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_C ) PORT_PLAYER(2) // C - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_G ) PORT_PLAYER(2) // G - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_K ) PORT_PLAYER(2) // K - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) PORT_PLAYER(2) // Chi - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) PORT_PLAYER(2) // Ron - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - - PORT_START("KEY8") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_D ) PORT_PLAYER(2) // D - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_H ) PORT_PLAYER(2) // H - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_L ) PORT_PLAYER(2) // L - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) PORT_PLAYER(2) // Pon - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - - PORT_START("KEY9") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_LAST_CHANCE ) PORT_PLAYER(2) // "l" - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) PORT_PLAYER(2) // "t" - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) PORT_PLAYER(2) // "w" - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_FLIP_FLOP ) PORT_PLAYER(2) // Flip Flop - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) PORT_PLAYER(2) // "b" - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) PORT_PLAYER(2) // "s" + PORT_INCLUDE( mahjong_matrix_2p_bet_wup ) PORT_START("DSW2") // IN12 - DSW2 - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:1,2") - PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) ) - PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) ) - PORT_DIPNAME( 0x1c, 0x1c, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:3,4,5") - PORT_DIPSETTING( 0x18, "1" ) - PORT_DIPSETTING( 0x14, "2" ) - PORT_DIPSETTING( 0x10, "3" ) - PORT_DIPSETTING( 0x1c, "4" ) - PORT_DIPSETTING( 0x0c, "5" ) - PORT_DIPSETTING( 0x08, "6" ) - PORT_DIPSETTING( 0x04, "7" ) - PORT_DIPSETTING( 0x00, "8" ) - PORT_DIPNAME( 0x20, 0x20, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:6") - PORT_DIPSETTING( 0x20, DEF_STR( On ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:7") - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_SERVICE( 0x80, IP_ACTIVE_LOW ) PORT_DIPLOCATION("SW1:8") -/* - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Test ) ) PORT_DIPLOCATION("SW1:8") - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) )*/ + PORT_DIPNAME( 0x03, 0x03, DEF_STR(Coinage) ) PORT_DIPLOCATION("SW1:1,2") // コインレート + PORT_DIPSETTING( 0x00, DEF_STR(3C_1C) ) // 3コイン  1クレジット + PORT_DIPSETTING( 0x01, DEF_STR(2C_1C) ) // 2コイン  1クレジット + PORT_DIPSETTING( 0x03, DEF_STR(1C_1C) ) // 1コイン  1クレジット + PORT_DIPSETTING( 0x02, DEF_STR(1C_2C) ) // 1コイン  2クレジット + PORT_DIPNAME( 0x1c, 0x1c, DEF_STR(Difficulty) ) PORT_DIPLOCATION("SW1:3,4,5") // 難易度 + PORT_DIPSETTING( 0x18, "1 (Weak)" ) // 1 弱い + PORT_DIPSETTING( 0x14, "2" ) // 2 + PORT_DIPSETTING( 0x10, "3" ) // 3 + PORT_DIPSETTING( 0x1c, "4 (Normal)" ) // 4 標準 + PORT_DIPSETTING( 0x0c, "5" ) // 5 + PORT_DIPSETTING( 0x08, "6" ) // 6 + PORT_DIPSETTING( 0x04, "7" ) // 7 + PORT_DIPSETTING( 0x00, "8 (Strong)" ) // 8 強い + PORT_DIPNAME( 0x20, 0x20, DEF_STR(Demo_Sounds) ) PORT_DIPLOCATION("SW1:6") // デモ音楽 + PORT_DIPSETTING( 0x00, DEF_STR(Off) ) // 無し + PORT_DIPSETTING( 0x20, DEF_STR(On) ) // 有り + PORT_DIPNAME( 0x40, 0x40, DEF_STR(Flip_Screen) ) PORT_DIPLOCATION("SW1:7") // 画面反転 + PORT_DIPSETTING( 0x40, DEF_STR(Off) ) // 正 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 逆 + PORT_DIPNAME( 0x80, 0x80, DEF_STR(Service_Mode) ) PORT_DIPLOCATION("SW1:8") // モード + PORT_DIPSETTING( 0x80, DEF_STR(Off) ) // ゲームモード + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // テストモード PORT_START("DSW1") // IN11 - DSW1 - PORT_DIPUNUSED_DIPLOC( 0x01, 0x01, "SW2:1" ) - PORT_DIPUNUSED_DIPLOC( 0x02, 0x02, "SW2:2" ) - PORT_DIPUNUSED_DIPLOC( 0x04, 0x04, "SW2:3" ) - PORT_DIPUNUSED_DIPLOC( 0x08, 0x08, "SW2:4" ) - PORT_DIPUNUSED_DIPLOC( 0x10, 0x10, "SW2:5" ) - PORT_DIPUNUSED_DIPLOC( 0x20, 0x20, "SW2:6" ) - PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW2:7" ) - PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW2:8" ) + PORT_DIPUNKNOWN_DIPLOC( 0x01, 0x00, "SW2:1" ) // 常時OFF (recommended settings in manual show this ON, possibly a misprint) + PORT_DIPUNKNOWN_DIPLOC( 0x02, 0x02, "SW2:2" ) // 常時OFF + PORT_DIPUNKNOWN_DIPLOC( 0x04, 0x04, "SW2:3" ) // 常時OFF + PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x08, "SW2:4" ) // 常時OFF + PORT_DIPUNKNOWN_DIPLOC( 0x10, 0x10, "SW2:5" ) // 常時OFF + PORT_DIPUNKNOWN_DIPLOC( 0x20, 0x20, "SW2:6" ) // 常時OFF + PORT_DIPUNKNOWN_DIPLOC( 0x40, 0x40, "SW2:7" ) // 常時OFF + PORT_DIPUNKNOWN_DIPLOC( 0x80, 0x80, "SW2:8" ) // 常時OFF INPUT_PORTS_END static INPUT_PORTS_START( hparadis ) @@ -8412,9 +7802,9 @@ static INPUT_PORTS_START( hparadis ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) PORT_CODE(KEYCODE_F1) PORT_TOGGLE - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) // analyzer - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE3 ) // data clear + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) PORT_TOGGLE + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) // analyzer + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // data clear PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -8589,91 +7979,13 @@ static INPUT_PORTS_START( sryudens ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) PORT_CODE(KEYCODE_4) // pay PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_SERVICE( 0x04, IP_ACTIVE_LOW ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE1 ) // analyzer - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) // data clear + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) // analyzer + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // data clear PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) // note PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN3 ) // note2 - PORT_START("KEY0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A ) PORT_PLAYER(2) // A - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_E ) PORT_PLAYER(2) // E - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_I ) PORT_PLAYER(2) // I - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_M ) PORT_PLAYER(2) // M - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) PORT_PLAYER(2) // Kan - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 ) // Start 2 - - PORT_START("KEY1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_B ) PORT_PLAYER(2) // B - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_F ) PORT_PLAYER(2) // F - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_J ) PORT_PLAYER(2) // J - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_N ) PORT_PLAYER(2) // N - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) PORT_PLAYER(2) // Reach - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) PORT_PLAYER(2) // BET - - PORT_START("KEY2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_C ) PORT_PLAYER(2) // C - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_G ) PORT_PLAYER(2) // G - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_K ) PORT_PLAYER(2) // K - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) PORT_PLAYER(2) // Chi - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) PORT_PLAYER(2) // Ron - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - - PORT_START("KEY3") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_D ) PORT_PLAYER(2) // D - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_H ) PORT_PLAYER(2) // H - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_L ) PORT_PLAYER(2) // L - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) PORT_PLAYER(2) // Pon - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - - PORT_START("KEY4") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_LAST_CHANCE ) PORT_PLAYER(2) // "l" - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) PORT_PLAYER(2) // "t" - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) PORT_PLAYER(2) // "w" - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_FLIP_FLOP ) PORT_PLAYER(2) // Flip Flop - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) PORT_PLAYER(2) // "b" - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) PORT_PLAYER(2) // "s" - - PORT_START("KEY5") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A ) // A - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_E ) // E - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_I ) // I - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_M ) // M - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) // Kan - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 ) // Start 1 - - PORT_START("KEY6") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_B ) // B - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_F ) // F - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_J ) // J - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_N ) // N - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) // Reach - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) // BET - - PORT_START("KEY7") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_C ) // C - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_G ) // G - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_K ) // K - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) // Chi - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) // Ron - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - - PORT_START("KEY8") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_D ) // D - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_H ) // H - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_L ) // L - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) // Pon - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - - PORT_START("KEY9") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_LAST_CHANCE ) // "l" - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) // "t" - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) // "w" - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_FLIP_FLOP ) // Flip Flop - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) // "b" - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) // "s" + PORT_INCLUDE( mahjong_matrix_2p_bet_wup ) PORT_START("DSW1") PORT_DIPNAME( 0x0f, 0x07, "Pay Out Rate (%)" ) @@ -8822,91 +8134,13 @@ static INPUT_PORTS_START( seljan2 ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) PORT_CODE(KEYCODE_4) // pay PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_SERVICE( 0x04, IP_ACTIVE_LOW ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE1 ) // analyzer - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) // data clear + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) // analyzer + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // data clear PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) // note PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(5) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN3 ) // note2 - PORT_START("KEY0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A ) PORT_PLAYER(2) // A - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_E ) PORT_PLAYER(2) // E - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_I ) PORT_PLAYER(2) // I - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_M ) PORT_PLAYER(2) // M - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) PORT_PLAYER(2) // Kan - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 ) // Start 2 - - PORT_START("KEY1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_B ) PORT_PLAYER(2) // B - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_F ) PORT_PLAYER(2) // F - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_J ) PORT_PLAYER(2) // J - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_N ) PORT_PLAYER(2) // N - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) PORT_PLAYER(2) // Reach - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) PORT_PLAYER(2) // BET - - PORT_START("KEY2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_C ) PORT_PLAYER(2) // C - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_G ) PORT_PLAYER(2) // G - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_K ) PORT_PLAYER(2) // K - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) PORT_PLAYER(2) // Chi - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) PORT_PLAYER(2) // Ron - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - - PORT_START("KEY3") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_D ) PORT_PLAYER(2) // D - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_H ) PORT_PLAYER(2) // H - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_L ) PORT_PLAYER(2) // L - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) PORT_PLAYER(2) // Pon - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - - PORT_START("KEY4") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_LAST_CHANCE ) PORT_PLAYER(2) // "l" - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) PORT_PLAYER(2) // "t" - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) PORT_PLAYER(2) // "w" - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_FLIP_FLOP ) PORT_PLAYER(2) // Flip Flop - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) PORT_PLAYER(2) // "b" - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) PORT_PLAYER(2) // "s" - - PORT_START("KEY5") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A ) // A - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_E ) // E - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_I ) // I - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_M ) // M - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) // Kan - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 ) // Start 1 - - PORT_START("KEY6") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_B ) // B - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_F ) // F - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_J ) // J - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_N ) // N - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) // Reach - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) // BET - - PORT_START("KEY7") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_C ) // C - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_G ) // G - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_K ) // K - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) // Chi - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) // Ron - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - - PORT_START("KEY8") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_D ) // D - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_H ) // H - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_L ) // L - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) // Pon - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - - PORT_START("KEY9") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_LAST_CHANCE ) // "l" - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) // "t" - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) // "w" - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_FLIP_FLOP ) // Flip Flop - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) // "b" - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) // "s" + PORT_INCLUDE( mahjong_matrix_2p_bet_wup ) PORT_START("DSW1") PORT_DIPNAME( 0x0f, 0x07, "Pay Out Rate (%)" ) @@ -9055,91 +8289,13 @@ static INPUT_PORTS_START( janshinp ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) PORT_CODE(KEYCODE_4) // pay PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_SERVICE(0x04, IP_ACTIVE_LOW) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE1 ) // analyzer - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) // data clear + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) // analyzer + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // data clear PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) // note PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN3 ) // service coin (test mode) - PORT_START("KEY0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A ) PORT_PLAYER(2) // A - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_E ) PORT_PLAYER(2) // E - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_I ) PORT_PLAYER(2) // I - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_M ) PORT_PLAYER(2) // M - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) PORT_PLAYER(2) // Kan - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 ) // Start 2 - - PORT_START("KEY1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_B ) PORT_PLAYER(2) // B - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_F ) PORT_PLAYER(2) // F - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_J ) PORT_PLAYER(2) // J - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_N ) PORT_PLAYER(2) // N - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) PORT_PLAYER(2) // Reach - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) PORT_PLAYER(2) // BET - - PORT_START("KEY2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_C ) PORT_PLAYER(2) // C - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_G ) PORT_PLAYER(2) // G - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_K ) PORT_PLAYER(2) // K - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) PORT_PLAYER(2) // Chi - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) PORT_PLAYER(2) // Ron - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - - PORT_START("KEY3") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_D ) PORT_PLAYER(2) // D - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_H ) PORT_PLAYER(2) // H - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_L ) PORT_PLAYER(2) // L - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) PORT_PLAYER(2) // Pon - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - - PORT_START("KEY4") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_LAST_CHANCE ) PORT_PLAYER(2) // "l" - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) PORT_PLAYER(2) // "t" - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) PORT_PLAYER(2) // "w" - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_FLIP_FLOP ) PORT_PLAYER(2) // Flip Flop - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) PORT_PLAYER(2) // "b" - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) PORT_PLAYER(2) // "s" - - PORT_START("KEY5") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A ) // A - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_E ) // E - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_I ) // I - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_M ) // M - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) // Kan - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 ) // Start 1 - - PORT_START("KEY6") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_B ) // B - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_F ) // F - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_J ) // J - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_N ) // N - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) // Reach - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) // BET - - PORT_START("KEY7") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_C ) // C - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_G ) // G - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_K ) // K - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) // Chi - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) // Ron - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - - PORT_START("KEY8") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_D ) // D - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_H ) // H - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_L ) // L - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) // Pon - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - - PORT_START("KEY9") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_LAST_CHANCE ) // "l" - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) // "t" - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) // "w" - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_FLIP_FLOP ) // Flip Flop - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) // "b" - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) // "s" + PORT_INCLUDE( mahjong_matrix_2p_bet_wup ) PORT_START("DSW1") PORT_DIPNAME( 0x0f, 0x07, "Pay Out Rate (%)" ) @@ -9287,91 +8443,13 @@ static INPUT_PORTS_START( dtoyoken ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) PORT_CODE(KEYCODE_4) // pay PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_SERVICE(0x04, IP_ACTIVE_LOW) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE1 ) // analyzer - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) // data clear + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) // analyzer + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // data clear PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) // note PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN3 ) // service coin (test mode) - PORT_START("KEY0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A ) PORT_PLAYER(2) // A - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_E ) PORT_PLAYER(2) // E - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_I ) PORT_PLAYER(2) // I - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_M ) PORT_PLAYER(2) // M - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) PORT_PLAYER(2) // Kan - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 ) // Start 2 - - PORT_START("KEY1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_B ) PORT_PLAYER(2) // B - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_F ) PORT_PLAYER(2) // F - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_J ) PORT_PLAYER(2) // J - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_N ) PORT_PLAYER(2) // N - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) PORT_PLAYER(2) // Reach - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) PORT_PLAYER(2) // BET - - PORT_START("KEY2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_C ) PORT_PLAYER(2) // C - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_G ) PORT_PLAYER(2) // G - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_K ) PORT_PLAYER(2) // K - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) PORT_PLAYER(2) // Chi - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) PORT_PLAYER(2) // Ron - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - - PORT_START("KEY3") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_D ) PORT_PLAYER(2) // D - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_H ) PORT_PLAYER(2) // H - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_L ) PORT_PLAYER(2) // L - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) PORT_PLAYER(2) // Pon - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - - PORT_START("KEY4") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_LAST_CHANCE ) PORT_PLAYER(2) // "l" - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) PORT_PLAYER(2) // "t" - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) PORT_PLAYER(2) // "w" - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_FLIP_FLOP ) PORT_PLAYER(2) // Flip Flop - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) PORT_PLAYER(2) // "b" - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) PORT_PLAYER(2) // "s" - - PORT_START("KEY5") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A ) // A - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_E ) // E - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_I ) // I - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_M ) // M - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) // Kan - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 ) // Start 1 - - PORT_START("KEY6") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_B ) // B - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_F ) // F - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_J ) // J - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_N ) // N - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) // Reach - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) // BET - - PORT_START("KEY7") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_C ) // C - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_G ) // G - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_K ) // K - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) // Chi - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) // Ron - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - - PORT_START("KEY8") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_D ) // D - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_H ) // H - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_L ) // L - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) // Pon - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - - PORT_START("KEY9") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_LAST_CHANCE ) // "l" - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) // "t" - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) // "w" - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_FLIP_FLOP ) // Flip Flop - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) // "b" - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) // "s" + PORT_INCLUDE( mahjong_matrix_2p_bet_wup ) PORT_START("DSW1") PORT_DIPNAME( 0x0f, 0x07, "Pay Out Rate (%)" ) @@ -9518,92 +8596,14 @@ static INPUT_PORTS_START( daimyojn ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) PORT_CODE(KEYCODE_4) // pay PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) PORT_CODE(KEYCODE_F1) PORT_TOGGLE - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE1 ) // analyzer - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) // data clear + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) PORT_TOGGLE + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) // analyzer + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // data clear PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) // note PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(5) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN3 ) // note2 - PORT_START("KEY0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A ) PORT_PLAYER(2) // A - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_E ) PORT_PLAYER(2) // E - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_I ) PORT_PLAYER(2) // I - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_M ) PORT_PLAYER(2) // M - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) PORT_PLAYER(2) // Kan - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 ) // Start 2 - - PORT_START("KEY1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_B ) PORT_PLAYER(2) // B - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_F ) PORT_PLAYER(2) // F - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_J ) PORT_PLAYER(2) // J - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_N ) PORT_PLAYER(2) // N - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) PORT_PLAYER(2) // Reach - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) PORT_PLAYER(2) // BET - - PORT_START("KEY2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_C ) PORT_PLAYER(2) // C - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_G ) PORT_PLAYER(2) // G - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_K ) PORT_PLAYER(2) // K - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) PORT_PLAYER(2) // Chi - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) PORT_PLAYER(2) // Ron - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - - PORT_START("KEY3") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_D ) PORT_PLAYER(2) // D - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_H ) PORT_PLAYER(2) // H - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_L ) PORT_PLAYER(2) // L - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) PORT_PLAYER(2) // Pon - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - - PORT_START("KEY4") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_LAST_CHANCE ) PORT_PLAYER(2) // "l" - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) PORT_PLAYER(2) // "t" - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) PORT_PLAYER(2) // "w" - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_FLIP_FLOP ) PORT_PLAYER(2) // Flip Flop - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) PORT_PLAYER(2) // "b" - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) PORT_PLAYER(2) // "s" - - PORT_START("KEY5") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A ) // A - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_E ) // E - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_I ) // I - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_M ) // M - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) // Kan - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 ) // Start 1 - - PORT_START("KEY6") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_B ) // B - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_F ) // F - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_J ) // J - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_N ) // N - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) // Reach - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) // BET - - PORT_START("KEY7") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_C ) // C - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_G ) // G - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_K ) // K - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) // Chi - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) // Ron - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - - PORT_START("KEY8") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_D ) // D - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_H ) // H - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_L ) // L - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) // Pon - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing - - PORT_START("KEY9") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_LAST_CHANCE ) // "l" - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) // "t" - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) // "w" - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_FLIP_FLOP ) // Flip Flop - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) // "b" - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) // "s" + PORT_INCLUDE( mahjong_matrix_2p_bet_wup ) PORT_START("DSW1") PORT_DIPNAME( 0x0f, 0x07, "Pay Out Rate (%)" ) @@ -9762,7 +8762,7 @@ MACHINE_START_MEMBER(ddenlovr_state,ddenlovr) save_item(NAME(m_dsw_sel)); save_item(NAME(m_keyb)); save_item(NAME(m_coins)); - save_item(NAME(m_hopper)); + save_item(NAME(m_hopper_hack)); save_item(NAME(m_okibank)); @@ -9781,7 +8781,7 @@ MACHINE_RESET_MEMBER(ddenlovr_state,ddenlovr) m_dsw_sel = 0; m_keyb = 0; m_coins = 0; - m_hopper = 0; + m_hopper_hack = 0; m_okibank = 0; m_prot_val = 0; @@ -10625,7 +9625,7 @@ void ddenlovr_state::mjflove(machine_config &config) maincpu.set_addrmap(AS_PROGRAM, &ddenlovr_state::rongrong_map); maincpu.set_addrmap(AS_IO, &ddenlovr_state::mjflove_portmap); maincpu.in_pa_callback().set_ioport("DSW2"); - maincpu.out_pb_callback().set(FUNC(ddenlovr_state::hanakanz_keyb_w)); + maincpu.out_pb_callback().set(FUNC(ddenlovr_state::hanamai_keyboard_w)); MCFG_MACHINE_START_OVERRIDE(ddenlovr_state,mjflove) @@ -10846,7 +9846,7 @@ void ddenlovr_state::seljan2(machine_config &config) tmpz84c015_device &maincpu(TMPZ84C015(config, m_maincpu, XTAL(16'000'000) / 2)); maincpu.set_addrmap(AS_PROGRAM, &ddenlovr_state::seljan2_map); maincpu.set_addrmap(AS_IO, &ddenlovr_state::seljan2_portmap); - maincpu.out_pa_callback().set(FUNC(ddenlovr_state::hanakanz_keyb_w)); + maincpu.out_pa_callback().set(FUNC(ddenlovr_state::hanamai_keyboard_w)); maincpu.out_pb_callback().set(FUNC(ddenlovr_state::sryudens_coincounter_w)); MCFG_MACHINE_START_OVERRIDE(ddenlovr_state,seljan2) @@ -12942,6 +11942,20 @@ ROM_START( hgokbang ) ROM_LOAD( "1161.2d", 0x00000, 0x40000, CRC(74dede40) SHA1(d148f9ab9223b4c0b2f457a6f0e7fa3d173ab12b) ) ROM_END +ROM_START( hgokoua ) // same PCB as hgokbang + ROM_REGION( 0x90000+8*0x1000, "maincpu", 0 ) // Z80 Code + ROM_LOAD( "1082a.2b", 0x00000, 0x40000, CRC(3ddd4a5f) SHA1(3b38a9c16b9fe9668a71f60103c3ed3254719899) ) + ROM_RELOAD( 0x10000, 0x40000 ) + + ROM_REGION( 0x200000, "blitter", 0 ) + // unused + ROM_LOAD( "1083.9a", 0x100000, 0x80000, CRC(054200c3) SHA1(7db457fa1f8639d15a6faa3e1e05d4302e7dd281) ) + ROM_LOAD( "1084.10a", 0x180000, 0x80000, CRC(49f657e8) SHA1(077c553f88a76f826495ad516350a53ce361c6da) ) + + ROM_REGION( 0x40000, "oki", 0 ) // samples + ROM_LOAD( "1081.2d", 0x00000, 0x40000, CRC(74dede40) SHA1(d148f9ab9223b4c0b2f457a6f0e7fa3d173ab12b) ) +ROM_END + /*************************************************************************** Mahjong Jong-Tei @@ -13361,7 +12375,7 @@ ROM_END } // anonymous namespace -GAME( 1992, htengoku, 0, htengoku, htengoku, htengoku_state, empty_init, ROT180, "Dynax", "Hanafuda Hana Tengoku (Japan)", 0) +GAME( 1992, htengoku, 0, htengoku, htengoku, htengoku_state, empty_init, ROT180, "Dynax", "Hanafuda Hana Tengoku (Japan)", 0 ) GAME( 1992, mmpanic, 0, mmpanic, mmpanic, mmpanic_state, empty_init, ROT0, "Nakanihon / East Technology (Taito license)", "Monkey Mole Panic (USA)", MACHINE_NO_COCKTAIL ) // "Waiwai Animal Land" (without the Jr.) should be the original Japanese version of Monkey Mole Panic @@ -13396,8 +12410,9 @@ GAME( 1994, rongrongg, rongrong, rongrong, rongrong, ddenlovr_state, init_rongr GAME( 1994, hparadis, 0, hparadis, hparadis, ddenlovr_state, empty_init, ROT0, "Dynax", "Super Hana Paradise (Japan)", MACHINE_NO_COCKTAIL ) -GAME( 1995, hgokou, 0, hgokou, hgokou, ddenlovr_state, empty_init, ROT0, "Dynax (Alba license)", "Hanafuda Hana Gokou (Japan)", MACHINE_NO_COCKTAIL ) -GAME( 1995, hgokbang, hgokou, hgokbang, hgokou, ddenlovr_state, empty_init, ROT0, "Dynax", "Hanafuda Hana Gokou Bangaihen (Japan)", MACHINE_NO_COCKTAIL ) +GAME( 1995, hgokou, 0, hgokou, hgokou, ddenlovr_state, empty_init, ROT0, "Dynax (Alba license)", "Hanafuda Hana Gokou (Japan, ver. B)", MACHINE_NO_COCKTAIL | MACHINE_NOT_WORKING ) +GAME( 1995, hgokoua, hgokou, hgokbang, hgokou, ddenlovr_state, empty_init, ROT0, "Dynax (Alba license)", "Hanafuda Hana Gokou (Japan, ver. A)", MACHINE_NO_COCKTAIL | MACHINE_NOT_WORKING ) +GAME( 1995, hgokbang, hgokou, hgokbang, hgokou, ddenlovr_state, empty_init, ROT0, "Dynax", "Hanafuda Hana Gokou Bangaihen (Japan)", MACHINE_NO_COCKTAIL | MACHINE_NOT_WORKING ) GAME( 1995, mjdchuka, 0, mjchuuka, mjchuuka, hanakanz_state, empty_init, ROT0, "Dynax", "Maque Da Zhonghua Quan (Taiwan, D111)", MACHINE_NO_COCKTAIL ) diff --git a/src/mame/dynax/dynax.cpp b/src/mame/dynax/dynax.cpp index b674ed4228d8c..71c3d5764dd3c 100644 --- a/src/mame/dynax/dynax.cpp +++ b/src/mame/dynax/dynax.cpp @@ -82,6 +82,10 @@ Year + Game Main Board Sub Board CPU Sound #include "emu.h" #include "dynax.h" +#include "mjdipsw.h" + +#include "mahjong.h" + #include "cpu/tlcs90/tlcs90.h" #include "cpu/z80/z80.h" #include "cpu/z80/tmpz84c015.h" @@ -218,30 +222,16 @@ uint8_t dynax_state::ret_ff() } -uint8_t dynax_state::hanamai_keyboard_0_r() +template +uint8_t dynax_state::hanamai_keyboard_r() { - int res = 0x3f; - /* the game reads all rows at once (keyb = 0) to check if a key is pressed */ - if (!BIT(m_keyb, 0)) res &= ioport("KEY0")->read(); - if (!BIT(m_keyb, 1)) res &= ioport("KEY1")->read(); - if (!BIT(m_keyb, 2)) res &= ioport("KEY2")->read(); - if (!BIT(m_keyb, 3)) res &= ioport("KEY3")->read(); - if (!BIT(m_keyb, 4)) res &= ioport("KEY4")->read(); - - return res; -} - -uint8_t dynax_state::hanamai_keyboard_1_r() -{ int res = 0x3f; - - /* the game reads all rows at once (keyb = 0) to check if a key is pressed */ - if (!BIT(m_keyb, 0)) res &= ioport("KEY5")->read(); - if (!BIT(m_keyb, 1)) res &= ioport("KEY6")->read(); - if (!BIT(m_keyb, 2)) res &= ioport("KEY7")->read(); - if (!BIT(m_keyb, 3)) res &= ioport("KEY8")->read(); - if (!BIT(m_keyb, 4)) res &= ioport("KEY9")->read(); + for (unsigned i = 0; 5 > i; ++i) + { + if (!BIT(m_keyb, i)) + res &= m_io_key[N][i]->read(); + } return res; } @@ -483,8 +473,8 @@ void dynax_adpcm_state::hanamai_io_map(address_map &map) map(0x20, 0x20).w(FUNC(dynax_adpcm_state::dynax_extra_scrolly_w)); // screen scroll Y map(0x41, 0x47).w(m_blitter, FUNC(dynax_blitter_rev2_device::regs_w)); // Blitter map(0x50, 0x50).w(FUNC(dynax_adpcm_state::dynax_rombank_w)); // BANK ROM Select hnkochou only - map(0x60, 0x60).r(FUNC(dynax_adpcm_state::hanamai_keyboard_0_r)); // P1 - map(0x61, 0x61).r(FUNC(dynax_adpcm_state::hanamai_keyboard_1_r)); // P2 + map(0x60, 0x60).r(FUNC(dynax_adpcm_state::hanamai_keyboard_r<0>)); // P1 + map(0x61, 0x61).r(FUNC(dynax_adpcm_state::hanamai_keyboard_r<1>)); // P2 map(0x62, 0x62).portr("COINS"); // Coins map(0x63, 0x63).r(FUNC(dynax_adpcm_state::ret_ff)); // ? map(0x64, 0x64).w(FUNC(dynax_adpcm_state::hanamai_keyboard_w)); // keyboard row select @@ -515,8 +505,8 @@ void dynax_adpcm_state::hnoridur_io_map(address_map &map) // map(0x11, 0x11).nopw(); // CRT Controller map(0x20, 0x20).w(FUNC(dynax_adpcm_state::hanamai_keyboard_w)); // keyboard row select map(0x21, 0x21).portr("COINS"); // Coins - map(0x22, 0x22).r(FUNC(dynax_adpcm_state::hanamai_keyboard_1_r)); // P2 - map(0x23, 0x23).r(FUNC(dynax_adpcm_state::hanamai_keyboard_0_r)); // P1 + map(0x22, 0x22).r(FUNC(dynax_adpcm_state::hanamai_keyboard_r<1>)); // P2 + map(0x23, 0x23).r(FUNC(dynax_adpcm_state::hanamai_keyboard_r<0>)); // P1 map(0x24, 0x24).portr("DSW1"); // DSW2 map(0x25, 0x25).portr("DSW3"); // DSW4 map(0x26, 0x26).portr("DSW2"); // DSW3 @@ -555,12 +545,12 @@ void dynax_adpcm_state::hjingi_lockout_w(int state) uint8_t dynax_adpcm_state::hjingi_keyboard_0_r() { - return hanamai_keyboard_0_r() | (m_hopper->line_r() ? 0 : (1 << 6)); + return hanamai_keyboard_r<0>() | (m_hopper->line_r() ? 0 : (1 << 6)); } uint8_t dynax_adpcm_state::hjingi_keyboard_1_r() { - return hanamai_keyboard_1_r() | ioport("BET")->read(); + return hanamai_keyboard_r<1>() | ioport("BET")->read(); } void dynax_adpcm_state::hjingi_mem_map(address_map &map) @@ -635,57 +625,61 @@ void dynax_adpcm_state::yarunara_input_w(offs_t offset, uint8_t data) { switch (offset) { - case 0: m_input_sel = data; - m_keyb = 0; - break; + case 0: + m_input_sel = data; + m_keyb = 0; + break; - case 1: break; + case 1: + break; } } uint8_t dynax_adpcm_state::yarunara_input_r(offs_t offset) { - static const char *const keynames0[] = { "KEY0", "KEY1", "KEY2", "KEY3", "KEY4" }; - static const char *const keynames1[] = { "KEY5", "KEY6", "KEY7", "KEY8", "KEY9" }; - + uint8_t result = 0xff; switch (offset) { - case 0: + case 0: + switch (m_input_sel) { - switch (m_input_sel) - { - case 0x00: - return ioport("COINS")->read(); // coins + case 0x00: + result = ioport("COINS")->read(); // coins + break; - case 0x02: - return 0xff; // bit 7 must be 1. Bit 2? + case 0x02: + result = 0xff; // bit 7 must be 1. Bit 2? + break; - default: - return 0xff; - } + default: + result = 0xff; } + break; - case 1: + case 1: + switch (m_input_sel) { - switch (m_input_sel) + // player 2 + case 0x01: //quiztvqq + case 0x81: + // player 1 + case 0x02: //quiztvqq + case 0x82: + if (m_keyb < 5) { - // player 2 - case 0x01: //quiztvqq - case 0x81: - return ioport(keynames1[m_keyb++])->read(); - - // player 1 - case 0x02: //quiztvqq - case 0x82: - return ioport(keynames0[m_keyb++])->read(); - - default: - return 0xff; + result = m_io_key[BIT(m_input_sel, 0)][m_keyb]->read(); + if (!machine().side_effects_disabled()) + ++m_keyb; } + break; + + default: + result = 0xff; } + break; } - return 0xff; + return result; } void dynax_adpcm_state::yarunara_rombank_w(uint8_t data) @@ -743,8 +737,8 @@ void dynax_adpcm_state::mcnpshnt_io_map(address_map &map) // map(0x11, 0x11).nopw(); // CRT Controller map(0x20, 0x20).w(FUNC(dynax_adpcm_state::hanamai_keyboard_w)); // keyboard row select map(0x21, 0x21).portr("COINS"); // Coins - map(0x22, 0x22).r(FUNC(dynax_adpcm_state::hanamai_keyboard_1_r)); // P2 - map(0x23, 0x23).r(FUNC(dynax_adpcm_state::hanamai_keyboard_0_r)); // P1 + map(0x22, 0x22).r(FUNC(dynax_adpcm_state::hanamai_keyboard_r<1>)); // P2 + map(0x23, 0x23).r(FUNC(dynax_adpcm_state::hanamai_keyboard_r<0>)); // P1 map(0x24, 0x24).portr("DSW0"); // DSW2 map(0x26, 0x26).portr("DSW1"); // DSW3 map(0x30, 0x30).w(FUNC(dynax_adpcm_state::adpcm_reset_w)); // MSM5205 reset @@ -797,22 +791,22 @@ void dynax_state::sprtmtch_io_map(address_map &map) void dynax_state::mjfriday_io_map(address_map &map) { map.global_mask(0xff); - map(0x00, 0x00).w(m_blitter, FUNC(dynax_blitter_rev2_device::pen_w)); // Destination Pen - map(0x01, 0x01).w(FUNC(dynax_state::dynax_blit_palette01_w)); // Layers Palettes (Low Bits) - map(0x02, 0x02).w(FUNC(dynax_state::dynax_rombank_w)); // BANK ROM Select - map(0x03, 0x03).w(FUNC(dynax_state::dynax_blit_backpen_w)); // Background Color + map(0x00, 0x00).w(m_blitter, FUNC(dynax_blitter_rev2_device::pen_w)); // Destination Pen + map(0x01, 0x01).w(FUNC(dynax_state::dynax_blit_palette01_w)); // Layers Palettes (Low Bits) + map(0x02, 0x02).w(FUNC(dynax_state::dynax_rombank_w)); // BANK ROM Select + map(0x03, 0x03).w(FUNC(dynax_state::dynax_blit_backpen_w)); // Background Color map(0x10, 0x17).w(m_mainlatch, FUNC(ls259_device::write_d0)); - map(0x41, 0x47).w(m_blitter, FUNC(dynax_blitter_rev2_device::regs_w)); // Blitter -// map(0x50, 0x50).nopw(); // CRT Controller -// map(0x51, 0x51).nopw(); // CRT Controller - map(0x60, 0x60).w(FUNC(dynax_state::hanamai_keyboard_w)); // keyboard row select - map(0x61, 0x61).portr("COINS"); // Coins - map(0x62, 0x62).r(FUNC(dynax_state::hanamai_keyboard_1_r)); // P2 - map(0x63, 0x63).r(FUNC(dynax_state::hanamai_keyboard_0_r)); // P1 - map(0x64, 0x64).portr("DSW0"); // DSW - map(0x67, 0x67).portr("DSW1"); // DSW - map(0x70, 0x71).w("ym2413", FUNC(ym2413_device::write)); // -// map(0x80, 0x80).nopw(); // IRQ ack? + map(0x41, 0x47).w(m_blitter, FUNC(dynax_blitter_rev2_device::regs_w)); // Blitter +// map(0x50, 0x50).nopw(); // CRT Controller +// map(0x51, 0x51).nopw(); // CRT Controller + map(0x60, 0x60).w(FUNC(dynax_state::hanamai_keyboard_w)); // keyboard row select + map(0x61, 0x61).portr("COINS"); // Coins + map(0x62, 0x62).r(FUNC(dynax_state::hanamai_keyboard_r<1>)); // P2 + map(0x63, 0x63).r(FUNC(dynax_state::hanamai_keyboard_r<0>)); // P1 + map(0x64, 0x64).portr("DSW0"); // DSW + map(0x67, 0x67).portr("DSW1"); // DSW + map(0x70, 0x71).w("ym2413", FUNC(ym2413_device::write)); // +// map(0x80, 0x80).nopw(); // IRQ ack? } @@ -826,8 +820,8 @@ void dynax_adpcm_state::nanajign_io_map(address_map &map) map(0x0a, 0x0a).w("aysnd", FUNC(ay8912_device::address_w)); // map(0x10, 0x10).w(FUNC(dynax_adpcm_state::hanamai_keyboard_w)); // keyboard row select map(0x11, 0x11).portr("COINS"); // Coins - map(0x12, 0x12).r(FUNC(dynax_adpcm_state::hanamai_keyboard_1_r)); // P2 - map(0x13, 0x13).r(FUNC(dynax_adpcm_state::hanamai_keyboard_0_r)); // P1 + map(0x12, 0x12).r(FUNC(dynax_adpcm_state::hanamai_keyboard_r<1>)); // P2 + map(0x13, 0x13).r(FUNC(dynax_adpcm_state::hanamai_keyboard_r<0>)); // P1 map(0x14, 0x14).portr("DSW0"); // DSW1 map(0x15, 0x15).portr("DSW1"); // DSW2 map(0x16, 0x16).portr("DSW2"); // DSW3 @@ -884,7 +878,7 @@ void jantouki_state::jantouki_io_map(address_map &map) map(0x4f, 0x4f).w(FUNC(jantouki_state::dynax_blit2_romregion_w)); // Blitter 2 ROM bank map(0x50, 0x50).w(FUNC(jantouki_state::jantouki_vblank_ack_w)); // VBlank IRQ Ack map(0x51, 0x51).w(FUNC(jantouki_state::hanamai_keyboard_w)); // keyboard row select - map(0x52, 0x52).r(FUNC(jantouki_state::hanamai_keyboard_0_r)); // P1 + map(0x52, 0x52).r(FUNC(jantouki_state::hanamai_keyboard_r<0>)); // P1 map(0x54, 0x54).portr("COINS"); // Coins map(0x55, 0x55).portr("DSW0"); // DSW1 map(0x56, 0x56).portr("DSW1"); // DSW2 @@ -934,7 +928,7 @@ void jantouki_state::jantouki_sound_io_map(address_map &map) uint8_t dynax_adpcm_state::mjelctrn_keyboard_1_r() { - return (hanamai_keyboard_1_r() & 0x3f) | (ioport("FAKE")->read() ? 0x40 : 0); + return (hanamai_keyboard_r<1>() & 0x3f) | (ioport("FAKE")->read() ? 0x40 : 0); } uint8_t dynax_adpcm_state::mjelctrn_dsw_r() @@ -1047,9 +1041,6 @@ void dynax_state::tenkai_ip_w(uint8_t data) uint8_t dynax_state::tenkai_ip_r(offs_t offset) { - static const char *const keynames0[] = { "KEY0", "KEY1", "KEY2", "KEY3", "KEY4" }; - //static const char *const keynames1[] = { "KEY5", "KEY6", "KEY7", "KEY8", "KEY9" }; - uint8_t result = 0xff; switch (offset) { @@ -1079,15 +1070,8 @@ uint8_t dynax_state::tenkai_ip_r(offs_t offset) result = 0xff; break; - // player 2 - case 0x81: - if (m_keyb >= 5) - logerror("%s: unmapped keyb=%02x read\n", machine().describe_context(), m_keyb); - result = 0xff;//ioport(keynames1[m_keyb++])->read(); - break; - - // player 1 - case 0x82: + case 0x81: // player 2 + case 0x82: // player 1 if (m_input_mode != 0xff) { result = 0x00; @@ -1097,9 +1081,12 @@ uint8_t dynax_state::tenkai_ip_r(offs_t offset) logerror("%s: unmapped keyb=%02x read\n", machine().describe_context(), m_keyb); result = 0x00; } - result = ioport(keynames0[m_keyb])->read(); - if (!machine().side_effects_disabled()) - ++m_keyb; + else + { + result = m_io_key[BIT(m_input_sel, 0)][m_keyb]->read(); + if (!machine().side_effects_disabled()) + ++m_keyb; + } break; default: @@ -1302,27 +1289,9 @@ void dynax_state::ougonhai_banked_map(address_map &map) Mahjong Gekisha ***************************************************************************/ -uint8_t dynax_state::gekisha_keyboard_0_r() -{ - int res = 0x3f; - - if (!BIT(m_keyb, 0)) res &= ioport("KEY0")->read(); - if (!BIT(m_keyb, 1)) res &= ioport("KEY1")->read(); - if (!BIT(m_keyb, 2)) res &= ioport("KEY2")->read(); - if (!BIT(m_keyb, 3)) res &= ioport("KEY3")->read(); - if (!BIT(m_keyb, 4)) res &= ioport("KEY4")->read(); - - return res; -} uint8_t dynax_state::gekisha_keyboard_1_r() { - int res = 0x3f; - - if (!BIT(m_keyb, 0)) res &= ioport("KEY5")->read(); - if (!BIT(m_keyb, 1)) res &= ioport("KEY6")->read(); - if (!BIT(m_keyb, 2)) res &= ioport("KEY7")->read(); - if (!BIT(m_keyb, 3)) res &= ioport("KEY8")->read(); - if (!BIT(m_keyb, 4)) res &= ioport("KEY9")->read(); + uint8_t res = hanamai_keyboard_r<1>(); // bit 6 res |= ioport("BET")->read(); @@ -1366,7 +1335,7 @@ void dynax_state::gekisha_banked_map(address_map &map) map(0x10060, 0x10060).w(FUNC(dynax_state::hanamai_keyboard_w)); // keyboard row select map(0x10061, 0x10061).portr("COINS"); // Coins map(0x10062, 0x10062).r(FUNC(dynax_state::gekisha_keyboard_1_r)); // P2 - map(0x10063, 0x10063).r(FUNC(dynax_state::gekisha_keyboard_0_r)); // P1 + map(0x10063, 0x10063).r(FUNC(dynax_state::hanamai_keyboard_r<0>)); // P1 map(0x10064, 0x10064).portr("DSW1"); // DSW map(0x10065, 0x10065).portr("DSW3"); // DSW map(0x10066, 0x10066).portr("DSW4"); // DSW @@ -1433,111 +1402,17 @@ void cdracula_state::cdracula_io_map(address_map &map) ***************************************************************************/ -static INPUT_PORTS_START( MAHJONG_KEYS ) - PORT_START("KEY0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A ) PORT_PLAYER(1) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_E ) PORT_PLAYER(1) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_I ) PORT_PLAYER(1) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_M ) PORT_PLAYER(1) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) PORT_PLAYER(1) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 ) - - PORT_START("KEY1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_B ) PORT_PLAYER(1) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_F ) PORT_PLAYER(1) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_J ) PORT_PLAYER(1) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_N ) PORT_PLAYER(1) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) PORT_PLAYER(1) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("KEY2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_C ) PORT_PLAYER(1) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_G ) PORT_PLAYER(1) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_K ) PORT_PLAYER(1) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) PORT_PLAYER(1) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) PORT_PLAYER(1) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("KEY3") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_D ) PORT_PLAYER(1) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_H ) PORT_PLAYER(1) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_L ) PORT_PLAYER(1) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) PORT_PLAYER(1) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("KEY4") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_LAST_CHANCE ) PORT_PLAYER(1) // "l" - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_FLIP_FLOP ) PORT_PLAYER(1) // "f" - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("KEY5") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A ) PORT_PLAYER(2) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_E ) PORT_PLAYER(2) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_I ) PORT_PLAYER(2) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_M ) PORT_PLAYER(2) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) PORT_PLAYER(2) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 ) - - PORT_START("KEY6") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_B ) PORT_PLAYER(2) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_F ) PORT_PLAYER(2) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_J ) PORT_PLAYER(2) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_N ) PORT_PLAYER(2) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) PORT_PLAYER(2) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("KEY7") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_C ) PORT_PLAYER(2) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_G ) PORT_PLAYER(2) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_K ) PORT_PLAYER(2) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) PORT_PLAYER(2) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) PORT_PLAYER(2) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("KEY8") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_D ) PORT_PLAYER(2) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_H ) PORT_PLAYER(2) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_L ) PORT_PLAYER(2) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) PORT_PLAYER(2) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("KEY9") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_LAST_CHANCE ) PORT_PLAYER(2) // "l" - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_FLIP_FLOP ) PORT_PLAYER(2) // "f" - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) -INPUT_PORTS_END - -static INPUT_PORTS_START( MAHJONG_KEYS_BET ) - PORT_INCLUDE( MAHJONG_KEYS ) - - PORT_MODIFY("KEY1") - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) PORT_PLAYER(1) +INPUT_PORTS_START( dynax_mahjong_keys ) + PORT_INCLUDE( mahjong_matrix_2p_ff ) PORT_MODIFY("KEY4") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) PORT_PLAYER(1) // "t" - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) PORT_PLAYER(1) // "w" - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) PORT_PLAYER(1) // "b" - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) PORT_PLAYER(1) // "s" - - PORT_MODIFY("KEY6") - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) PORT_PLAYER(2) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_LAST_CHANCE ) PORT_MODIFY("KEY9") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) PORT_PLAYER(2) // "t" - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) PORT_PLAYER(2) // "w" - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) PORT_PLAYER(2) // "b" - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) PORT_PLAYER(2) // "s" + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_LAST_CHANCE ) PORT_PLAYER(2) INPUT_PORTS_END -static INPUT_PORTS_START( HANAFUDA_KEYS ) +static INPUT_PORTS_START( dynax_hanafuda_keys ) PORT_START("KEY0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_A ) PORT_PLAYER(1) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_HANAFUDA_E ) PORT_PLAYER(1) @@ -1619,13 +1494,21 @@ static INPUT_PORTS_START( HANAFUDA_KEYS ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) INPUT_PORTS_END -INPUT_PORTS_START( HANAFUDA_KEYS_BET ) - PORT_INCLUDE( HANAFUDA_KEYS ) +// Medal hanafuda games use 6 card hands +INPUT_PORTS_START( dynax_hanafuda_keys_bet ) + PORT_INCLUDE( dynax_hanafuda_keys ) PORT_MODIFY("KEY1") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) PORT_PLAYER(1) + PORT_MODIFY("KEY2") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_MODIFY("KEY3") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_MODIFY("KEY4") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) // "t" PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) // "w" PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) // "b" @@ -1634,7 +1517,14 @@ INPUT_PORTS_START( HANAFUDA_KEYS_BET ) PORT_MODIFY("KEY6") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) PORT_PLAYER(2) + PORT_MODIFY("KEY7") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_MODIFY("KEY8") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_MODIFY("KEY9") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) PORT_PLAYER(2) // "t" PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) PORT_PLAYER(2) // "w" PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) PORT_PLAYER(2) // "b" @@ -1643,7 +1533,7 @@ INPUT_PORTS_END #if 0 [[maybe_unused]] static INPUT_PORTS_START( HANAFUDA_KEYS_BET_ALT ) - PORT_INCLUDE( HANAFUDA_KEYS ) + PORT_INCLUDE( dynax_hanafuda_keys ) PORT_MODIFY("KEY0") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) // "t" @@ -1658,7 +1548,7 @@ INPUT_PORTS_END PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) // "w" PORT_MODIFY("KEY4") - PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x3f, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_MODIFY("KEY5") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) PORT_PLAYER(2) // "t" @@ -1673,7 +1563,7 @@ INPUT_PORTS_END PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) PORT_PLAYER(2) // "w" PORT_MODIFY("KEY9") - PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x3f, IP_ACTIVE_LOW, IPT_UNKNOWN ) INPUT_PORTS_END #endif @@ -1689,61 +1579,6 @@ INPUT_PORTS_END PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) /* Coin */ \ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1 ) /* Service */ -#define MAHJONG_PAYOUT_RATE(shift, loc) \ - PORT_DIPNAME( 0x0f << shift, 0x07 << shift, "Payout Rate" ) PORT_DIPLOCATION(loc) \ - PORT_DIPSETTING( 0x00 << shift, "50%" ) \ - PORT_DIPSETTING( 0x01 << shift, "53%" ) \ - PORT_DIPSETTING( 0x02 << shift, "56%" ) \ - PORT_DIPSETTING( 0x03 << shift, "59%" ) \ - PORT_DIPSETTING( 0x04 << shift, "62%" ) \ - PORT_DIPSETTING( 0x05 << shift, "65%" ) \ - PORT_DIPSETTING( 0x06 << shift, "68%" ) \ - PORT_DIPSETTING( 0x07 << shift, "71%" ) \ - PORT_DIPSETTING( 0x08 << shift, "75%" ) \ - PORT_DIPSETTING( 0x09 << shift, "78%" ) \ - PORT_DIPSETTING( 0x0a << shift, "81%" ) \ - PORT_DIPSETTING( 0x0b << shift, "84%" ) \ - PORT_DIPSETTING( 0x0c << shift, "87%" ) \ - PORT_DIPSETTING( 0x0d << shift, "90%" ) \ - PORT_DIPSETTING( 0x0e << shift, "93%" ) \ - PORT_DIPSETTING( 0x0f << shift, "96%" ) - -#define MAHJONG_ODDS_RATE(shift, loc) \ - PORT_DIPNAME( 0x03 << shift, 0x00 << shift, "Odds Rate" ) PORT_DIPLOCATION(loc) \ - PORT_DIPSETTING( 0x03 << shift, "1 2 4 8 12 16 24 32" ) \ - PORT_DIPSETTING( 0x00 << shift, "1 2 3 5 8 15 30 50" ) \ - PORT_DIPSETTING( 0x01 << shift, "1 2 3 5 10 25 50 100" ) \ - PORT_DIPSETTING( 0x02 << shift, "1 2 3 5 10 50 100 200" ) - -#define MAHJONG_COINAGE(shift, loc) \ - PORT_DIPNAME( 0x03 << shift, 0x03 << shift, DEF_STR(Coinage) ) PORT_DIPLOCATION(loc) /* COIN RATE */ \ - PORT_DIPSETTING( 0x03 << shift, DEF_STR(1C_1C) ) /* 1コイン  1プレイ */ \ - PORT_DIPSETTING( 0x02 << shift, DEF_STR(1C_2C) ) /* 1コイン  2プレイ */ \ - PORT_DIPSETTING( 0x01 << shift, DEF_STR(1C_5C) ) /* 1コイン  5プレイ */ \ - PORT_DIPSETTING( 0x00 << shift, "1 Coin/10 Credits" ) /* 1コイン 10プレイ */ - -#define MAHJONG_NOTE_CREDITS(shift, loc, ct, cs) \ - PORT_DIPNAME( 0x01 << shift, 0x00 << shift, "Credits Per Note" ) PORT_DIPLOCATION(loc) /* NOTE RATE */ \ - PORT_DIPSETTING( 0x01 << shift, "5" ) PORT_CONDITION(ct, 0x03 << cs, EQUALS, 0x03 << cs) /* COIN×5 */ \ - PORT_DIPSETTING( 0x01 << shift, "10" ) PORT_CONDITION(ct, 0x03 << cs, EQUALS, 0x02 << cs) \ - PORT_DIPSETTING( 0x01 << shift, "25" ) PORT_CONDITION(ct, 0x03 << cs, EQUALS, 0x01 << cs) \ - PORT_DIPSETTING( 0x01 << shift, "50" ) PORT_CONDITION(ct, 0x03 << cs, EQUALS, 0x00 << cs) \ - PORT_DIPSETTING( 0x00 << shift, "10" ) PORT_CONDITION(ct, 0x03 << cs, EQUALS, 0x03 << cs) /* COIN×10 */ \ - PORT_DIPSETTING( 0x00 << shift, "20" ) PORT_CONDITION(ct, 0x03 << cs, EQUALS, 0x02 << cs) \ - PORT_DIPSETTING( 0x00 << shift, "50" ) PORT_CONDITION(ct, 0x03 << cs, EQUALS, 0x01 << cs) \ - PORT_DIPSETTING( 0x00 << shift, "100" ) PORT_CONDITION(ct, 0x03 << cs, EQUALS, 0x00 << cs) - -#define MAHJONG_YAKUMAN_BONUS(shift, loc) \ - PORT_DIPNAME( 0x07 << shift, 0x04 << shift, "Yakuman Bonus Cycle" ) PORT_DIPLOCATION(loc) /* 役満ボーナスの設定周期 */ \ - PORT_DIPSETTING( 0x07 << shift, "None" ) /* 無し */ \ - PORT_DIPSETTING( 0x06 << shift, "First time only" ) /* 初回のみ */ \ - PORT_DIPSETTING( 0x05 << shift, "Every 300 coins" ) /* 300コイン毎 */ \ - PORT_DIPSETTING( 0x04 << shift, "Every 500 coins" ) /* 500コイン毎 */ \ - PORT_DIPSETTING( 0x03 << shift, "Every 700 coins" ) /* 700コイン毎 */ \ - PORT_DIPSETTING( 0x02 << shift, "Every 1000 coins" ) /* 1000コイン毎 */ \ - /* PORT_DIPSETTING( 0x01 << shift, "Every 1000 coins" )*/ \ - /* PORT_DIPSETTING( 0x00 << shift, "Every 1000 coins" )*/ - static INPUT_PORTS_START( cdracula ) PORT_START("P1") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1) @@ -1885,7 +1720,7 @@ static INPUT_PORTS_START( hanamai ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_INCLUDE( HANAFUDA_KEYS ) + PORT_INCLUDE( dynax_hanafuda_keys ) INPUT_PORTS_END static INPUT_PORTS_START( hnkochou ) @@ -1950,7 +1785,7 @@ static INPUT_PORTS_START( hnkochou ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_INCLUDE( HANAFUDA_KEYS_BET ) + PORT_INCLUDE( dynax_hanafuda_keys_bet ) INPUT_PORTS_END @@ -2015,7 +1850,7 @@ static INPUT_PORTS_START( hnoridur ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_INCLUDE( HANAFUDA_KEYS ) + PORT_INCLUDE( dynax_hanafuda_keys ) PORT_START("DSW2") PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION( "DIP3:1" ) @@ -2072,117 +1907,111 @@ INPUT_PORTS_END static INPUT_PORTS_START( hjingi ) PORT_START("DSW0") /* note that these are in reverse order wrt the others */ - PORT_DIPNAME( 0x80, 0x80, "Stage Select" ) PORT_DIPLOCATION( "DIP1:1" ) - PORT_DIPSETTING( 0x00, DEF_STR( No ) ) - PORT_DIPSETTING( 0x80, DEF_STR( Yes ) ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION( "DIP1:2" ) - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, "Gal" ) PORT_DIPLOCATION( "DIP1:3" ) // "Renchan Gal" - PORT_DIPSETTING( 0x00, DEF_STR( No ) ) - PORT_DIPSETTING( 0x20, DEF_STR( Yes ) ) - PORT_DIPNAME( 0x10, 0x10, "Game Music" ) PORT_DIPLOCATION( "DIP1:4" ) - PORT_DIPSETTING( 0x00, DEF_STR( No ) ) - PORT_DIPSETTING( 0x10, DEF_STR( Yes ) ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION( "DIP1:5" ) - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x08, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, "Suggest Move" ) PORT_DIPLOCATION( "DIP1:6" ) // "Teach TEFUDA" - PORT_DIPSETTING( 0x00, DEF_STR( No ) ) - PORT_DIPSETTING( 0x04, DEF_STR( Yes ) ) - PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION( "DIP1:7" ) - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Service_Mode ) ) PORT_DIPLOCATION( "DIP1:8" ) - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x80, 0x80, "Stage Select" ) PORT_DIPLOCATION("DIPSW 1:1") // ステージセレクト + PORT_DIPSETTING( 0x00, DEF_STR(Off) ) // 無し + PORT_DIPSETTING( 0x80, DEF_STR(On) ) // 有り + PORT_DIPNAME( 0x40, 0x40, "Gal H Mode" ) PORT_DIPLOCATION("DIPSW 1:2") // ギャルHモード + PORT_DIPSETTING( 0x40, DEF_STR(Off) ) // 無し + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有り (more explicit win sequences) + PORT_DIPNAME( 0x20, 0x20, "Renchan Gal" ) PORT_DIPLOCATION("DIPSW 1:3") // 漣ちゃんギャル + PORT_DIPSETTING( 0x00, DEF_STR(Off) ) // 無し + PORT_DIPSETTING( 0x20, DEF_STR(On) ) // 有り + PORT_DIPNAME( 0x10, 0x10, "In-Game Music" ) PORT_DIPLOCATION("DIPSW 1:4") // ゲーム音楽 + PORT_DIPSETTING( 0x00, DEF_STR(Off) ) // 無し + PORT_DIPSETTING( 0x10, DEF_STR(On) ) // 有り + PORT_DIPNAME( 0x08, 0x08, DEF_STR(Demo_Sounds) ) PORT_DIPLOCATION("DIPSW 1:5") // デモ音楽 + PORT_DIPSETTING( 0x00, DEF_STR(Off) ) // 無し + PORT_DIPSETTING( 0x08, DEF_STR(On) ) // 有り + PORT_DIPNAME( 0x04, 0x04, "Hand Lesson" ) PORT_DIPLOCATION("DIPSW 1:6") // 手札教え + PORT_DIPSETTING( 0x00, DEF_STR(Off) ) // 無し + PORT_DIPSETTING( 0x04, DEF_STR(On) ) // 有り + PORT_DIPNAME( 0x02, 0x02, DEF_STR(Flip_Screen) ) PORT_DIPLOCATION("DIPSW 1:7") // 画面反転 + PORT_DIPSETTING( 0x02, DEF_STR(Off) ) // 正 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 逆 + PORT_DIPNAME( 0x01, 0x01, DEF_STR(Service_Mode) ) PORT_DIPLOCATION("DIPSW 1:8") + PORT_DIPSETTING( 0x01, DEF_STR(Off) ) // ゲームモード + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // テストモード PORT_START("DSW1") - PORT_DIPNAME( 0x07, 0x07, "Payout Rate" ) PORT_DIPLOCATION( "DIP2:1,2,3" ) - PORT_DIPSETTING( 0x07, DEF_STR( Highest ) ) - PORT_DIPSETTING( 0x06, DEF_STR( Higher ) ) - PORT_DIPSETTING( 0x05, DEF_STR( High) ) - PORT_DIPSETTING( 0x04, DEF_STR( Medium ) ) - PORT_DIPSETTING( 0x03, DEF_STR( Low ) ) - PORT_DIPSETTING( 0x02, DEF_STR( Very_Low ) ) + PORT_DIPNAME( 0x07, 0x07, "Hanafuda Game Payout Rate" ) PORT_DIPLOCATION("DIPSW 2:1,2,3") // 花札 ゲーム 配当率 + PORT_DIPSETTING( 0x02, DEF_STR(Very_Low) ) // 低い6 + PORT_DIPSETTING( 0x03, DEF_STR(Low) ) //   5 + PORT_DIPSETTING( 0x04, DEF_STR(Medium) ) //   4 + PORT_DIPSETTING( 0x05, DEF_STR(High) ) //   3 + PORT_DIPSETTING( 0x06, DEF_STR(Higher) ) //   2 + PORT_DIPSETTING( 0x07, DEF_STR(Highest) ) // 高い1 // PORT_DIPSETTING( 0x01, DEF_STR( ) ) // PORT_DIPSETTING( 0x00, DEF_STR( ) ) - PORT_DIPNAME( 0x08, 0x08, "Payout Rate Change" ) PORT_DIPLOCATION( "DIP2:4" ) - PORT_DIPSETTING( 0x08, "Big" ) - PORT_DIPSETTING( 0x00, "Small" ) - PORT_DIPNAME( 0x10, 0x10, "Double-Up Game Rate" ) PORT_DIPLOCATION( "DIP2:5" ) - PORT_DIPSETTING( 0x10, DEF_STR( High ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Low ) ) - PORT_DIPNAME( 0x20, 0x20, "Gokou Odds" ) PORT_DIPLOCATION( "DIP2:6" ) + PORT_DIPNAME( 0x08, 0x08, "Payout Variation" ) PORT_DIPLOCATION("DIPSW 2:4") // 配当の波 + PORT_DIPSETTING( 0x00, "Small" ) // 小さい + PORT_DIPSETTING( 0x08, "Big" ) // 大きい + PORT_DIPNAME( 0x10, 0x10, "Double-Up Game Payout Rate" ) PORT_DIPLOCATION("DIPSW 2:5") // WUPゲーム配当率 + PORT_DIPSETTING( 0x00, DEF_STR(Low) ) // 低い + PORT_DIPSETTING( 0x10, DEF_STR(High) ) // 高い + PORT_DIPNAME( 0x20, 0x20, "Gokou Odds" ) PORT_DIPLOCATION("DIPSW 2:6") // 五光オッズ PORT_DIPSETTING( 0x20, "100" ) PORT_DIPSETTING( 0x00, "200" ) - PORT_DIPNAME( 0x40, 0x40, "Gokou Cut" ) PORT_DIPLOCATION( "DIP2:7" ) - PORT_DIPSETTING( 0x00, DEF_STR( No ) ) - PORT_DIPSETTING( 0x40, DEF_STR( Yes ) ) - PORT_DIPNAME( 0x80, 0x80, "3-Renchan Bonus" ) PORT_DIPLOCATION( "DIP2:8" ) - PORT_DIPSETTING( 0x00, DEF_STR( No ) ) - PORT_DIPSETTING( 0x80, DEF_STR( Yes ) ) + PORT_DIPNAME( 0x40, 0x40, "Gokou Cut" ) PORT_DIPLOCATION("DIPSW 2:7") // 五光カット + PORT_DIPSETTING( 0x00, DEF_STR(Off) ) // 出ない + PORT_DIPSETTING( 0x40, DEF_STR(On) ) // 出る + PORT_DIPNAME( 0x80, 0x80, "3-Renchan Bonus" ) PORT_DIPLOCATION("DIPSW 2:8") // 3連ちゃんボーナス + PORT_DIPSETTING( 0x00, DEF_STR(Off) ) // 無し + PORT_DIPSETTING( 0x80, DEF_STR(On) ) // 有り PORT_START("DSW2") - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coinage ) ) PORT_DIPLOCATION( "DIP3:1,2" ) - PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) ) - PORT_DIPSETTING( 0x01, DEF_STR( 1C_5C ) ) - PORT_DIPSETTING( 0x00, "1 Coin/10 Credits" ) - PORT_DIPNAME( 0x04, 0x04, "Credits Per Note" ) PORT_DIPLOCATION( "DIP3:3" ) - PORT_DIPSETTING( 0x04, "5" ) - PORT_DIPSETTING( 0x00, "10" ) - PORT_DIPNAME( 0x18, 0x18, "Max Bet" ) PORT_DIPLOCATION( "DIP3:4,5" ) + PORT_DIPNAME( 0x03, 0x03, DEF_STR(Coinage) ) PORT_DIPLOCATION("DIPSW 3:1,2") // コインレート + PORT_DIPSETTING( 0x03, DEF_STR(1C_1C) ) // 1コイン 1プレイ + PORT_DIPSETTING( 0x02, DEF_STR(1C_2C) ) // 1コイン 2プレイ + PORT_DIPSETTING( 0x01, DEF_STR(1C_5C) ) // 1コイン 5プレイ + PORT_DIPSETTING( 0x00, "1 Coin/10 Credits" ) // 1コイン10プレイ + PORT_DIPNAME( 0x04, 0x04, "Key-In Rate" ) PORT_DIPLOCATION("DIPSW 3:3") // キーインレーと + PORT_DIPSETTING( 0x00, "5" ) PORT_CONDITION("DSW2", 0x03, EQUALS, 0x03) // × 5 + PORT_DIPSETTING( 0x00, "10" ) PORT_CONDITION("DSW2", 0x03, EQUALS, 0x02) + PORT_DIPSETTING( 0x00, "25" ) PORT_CONDITION("DSW2", 0x03, EQUALS, 0x01) + PORT_DIPSETTING( 0x00, "50" ) PORT_CONDITION("DSW2", 0x03, EQUALS, 0x00) + PORT_DIPSETTING( 0x04, "10" ) PORT_CONDITION("DSW2", 0x03, EQUALS, 0x03) // ×10 + PORT_DIPSETTING( 0x04, "20" ) PORT_CONDITION("DSW2", 0x03, EQUALS, 0x02) + PORT_DIPSETTING( 0x04, "50" ) PORT_CONDITION("DSW2", 0x03, EQUALS, 0x01) + PORT_DIPSETTING( 0x04, "100" ) PORT_CONDITION("DSW2", 0x03, EQUALS, 0x00) + PORT_DIPNAME( 0x18, 0x10, "Maximum Bet" ) PORT_DIPLOCATION("DIPSW 3:4,5") // ベットmax PORT_DIPSETTING( 0x18, "5" ) PORT_DIPSETTING( 0x10, "10" ) PORT_DIPSETTING( 0x08, "20" ) PORT_DIPSETTING( 0x00, "50" ) - PORT_DIPNAME( 0x60, 0x60, "Min Rate To Play" ) PORT_DIPLOCATION( "DIP3:6,7" ) + PORT_DIPNAME( 0x60, 0x60, "Minimum Bet" ) PORT_DIPLOCATION("DIPSW 3:6,7") // ゲーム・スタートの最低レート枚数 PORT_DIPSETTING( 0x60, "1" ) PORT_DIPSETTING( 0x40, "2" ) PORT_DIPSETTING( 0x20, "3" ) PORT_DIPSETTING( 0x00, "5" ) - PORT_DIPNAME( 0x80, 0x80, "Higi" ) PORT_DIPLOCATION( "DIP3:8" ) - PORT_DIPSETTING( 0x00, DEF_STR( No ) ) - PORT_DIPSETTING( 0x80, DEF_STR( Yes ) ) + PORT_DIPNAME( 0x80, 0x80, "Higi" ) PORT_DIPLOCATION("DIPSW 3:8") // 秘技 + PORT_DIPSETTING( 0x00, DEF_STR(Off) ) // 無し + PORT_DIPSETTING( 0x80, DEF_STR(On) ) // 有り PORT_START("DSW3") - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION( "DIP4:1" ) - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, "Pay Out Type" ) PORT_DIPLOCATION( "DIP4:2" ) - PORT_DIPSETTING( 0x02, "Credit" ) - PORT_DIPSETTING( 0x00, "Hopper" ) - PORT_DIPNAME( 0x04, 0x04, "Hopper Switch" ) PORT_DIPLOCATION( "DIP4:3" ) - PORT_DIPSETTING( 0x04, "Active Low" ) - PORT_DIPSETTING( 0x00, "Active High" ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION( "DIP4:4" ) - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION( "DIP4:5" ) - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION( "DIP4:6" ) - PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION( "DIP4:7" ) - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION( "DIP4:8" ) - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPUNKNOWN_DIPLOC( 0x01, 0x01, "DIPSW 4:1") // OFF固定 + PORT_DIPNAME( 0x02, 0x02, "Payout Mode" ) PORT_DIPLOCATION("DIPSW 4:2") + PORT_DIPSETTING( 0x02, "Key-out" ) // クレジットタイプ + PORT_DIPSETTING( 0x00, "Hopper" ) // ホッパータイプ + PORT_DIPNAME( 0x04, 0x04, "Hopper Polarity" ) PORT_DIPLOCATION("DIPSW 4:3") // ホッパーマイクロsw + PORT_DIPSETTING( 0x04, "Active Low" ) // Low Active + PORT_DIPSETTING( 0x00, "Active High" ) // High Active + PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x08, "DIPSW 4:4") // OFF固定 + PORT_DIPUNKNOWN_DIPLOC( 0x10, 0x10, "DIPSW 4:5") // OFF固定 + PORT_DIPUNKNOWN_DIPLOC( 0x20, 0x20, "DIPSW 4:6") // OFF固定 + PORT_DIPUNKNOWN_DIPLOC( 0x40, 0x40, "DIPSW 4:7") // OFF固定 + PORT_DIPUNKNOWN_DIPLOC( 0x80, 0x80, "DIPSW 4:8") // OFF固定 PORT_START("COINS") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) PORT_CODE(KEYCODE_4) // Pay PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE4 ) // 18B - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR(Test)) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) // Analyzer PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // Memory Reset - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) // Key In + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1 ) // 18A - PORT_INCLUDE( HANAFUDA_KEYS_BET ) + PORT_INCLUDE( dynax_hanafuda_keys_bet ) // PORT_INCLUDE( HANAFUDA_KEYS_BET_ALT ) PORT_START("BET") @@ -2342,61 +2171,61 @@ static INPUT_PORTS_START( mjfriday ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) // "18A" - PORT_INCLUDE( MAHJONG_KEYS ) + PORT_INCLUDE( dynax_mahjong_keys ) INPUT_PORTS_END static INPUT_PORTS_START( mjdialq2 ) PORT_START("DSW0") - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:1,2") - PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) ) - PORT_DIPSETTING( 0x02, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) ) - PORT_DIPNAME( 0x04, 0x00, "PINFU with TSUMO" ) PORT_DIPLOCATION("SW1:3") - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x38, 0x20, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:4,5,6") - PORT_DIPSETTING( 0x38, "1 (Easy)" ) - PORT_DIPSETTING( 0x30, "2" ) - PORT_DIPSETTING( 0x28, "3" ) - PORT_DIPSETTING( 0x20, "4" ) - PORT_DIPSETTING( 0x18, "5" ) - PORT_DIPSETTING( 0x10, "6" ) - PORT_DIPSETTING( 0x08, "7" ) - PORT_DIPSETTING( 0x00, "8 (Hard)" ) - PORT_DIPNAME( 0x40, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:7") - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:8") - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x03, 0x03, DEF_STR(Coinage) ) PORT_DIPLOCATION("SW. 1:1,2") // プレイ料金 + PORT_DIPSETTING( 0x00, DEF_STR(3C_1C) ) // 3コイン 1プレー + PORT_DIPSETTING( 0x02, DEF_STR(2C_1C) ) // 2コイン 1プレー + PORT_DIPSETTING( 0x03, DEF_STR(1C_1C) ) // 1コイン 1プレー + PORT_DIPSETTING( 0x01, DEF_STR(1C_2C) ) // 1コイン 2プレー + PORT_DIPNAME( 0x04, 0x00, "Allow Pinfu with Tsumo") PORT_DIPLOCATION("SW. 1:3") // ルール ピンフ・ツモ複合 + PORT_DIPSETTING( 0x04, DEF_STR(No) ) // 無し + PORT_DIPSETTING( 0x00, DEF_STR(Yes) ) // 有り + PORT_DIPNAME( 0x38, 0x20, DEF_STR(Difficulty) ) PORT_DIPLOCATION("SW. 1:4,5,6") // 難易度 コンピュー + PORT_DIPSETTING( 0x38, "1 (Weak)" ) // 弱い  (1) + PORT_DIPSETTING( 0x30, "2" ) //     (2) + PORT_DIPSETTING( 0x28, "3" ) //     (3) + PORT_DIPSETTING( 0x20, "4 (Normal)" ) // 標準  (4) + PORT_DIPSETTING( 0x18, "5" ) //     (5) + PORT_DIPSETTING( 0x10, "6" ) //     (6) + PORT_DIPSETTING( 0x08, "7" ) //     (7) + PORT_DIPSETTING( 0x00, "8 (Strong)" ) // 強い  (8) + PORT_DIPNAME( 0x40, 0x00, DEF_STR(Demo_Sounds ) ) PORT_DIPLOCATION("SW. 1:7") // デモ・サウンド + PORT_DIPSETTING( 0x40, DEF_STR(Off) ) // 無し + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有り + PORT_DIPNAME( 0x80, 0x80, DEF_STR(Flip_Screen) ) PORT_DIPLOCATION("SW. 1:8") // モニター画面反転 + PORT_DIPSETTING( 0x80, DEF_STR(Off) ) // 正 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 逆 PORT_START("DSW1") - PORT_DIPNAME( 0x07, 0x07, "Time Setting" ) PORT_DIPLOCATION("SW2:1,2,3") - PORT_DIPSETTING( 0x07, "08:30" ) - PORT_DIPSETTING( 0x06, "09:00" ) - PORT_DIPSETTING( 0x05, "09:30" ) - PORT_DIPSETTING( 0x04, "10:00" ) - PORT_DIPSETTING( 0x03, "10:30" ) - PORT_DIPSETTING( 0x02, "11:00" ) - PORT_DIPSETTING( 0x01, "11:30" ) - PORT_DIPSETTING( 0x00, "12:00" ) - PORT_DIPNAME( 0x08, 0x00, "Time Service" ) PORT_DIPLOCATION("SW2:4") // "secret moves" happen at certain time stamps - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, "TEL Display" ) PORT_DIPLOCATION("SW2:5") - PORT_DIPSETTING( 0x10, DEF_STR( On ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPNAME( 0x20, 0x20, "GAL mode" ) PORT_DIPLOCATION("SW2:6") // unknown what this does - PORT_DIPSETTING( 0x20, "1" ) - PORT_DIPSETTING( 0x00, "2" ) - PORT_DIPNAME( 0x40, 0x40, "Select Special Item" ) PORT_DIPLOCATION("SW2:7")/* Allows to select which one of the nine special items you want. */ - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, "Debug" ) PORT_DIPLOCATION("SW2:8") - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x07, 0x07, "Game Clock Start" ) PORT_DIPLOCATION("SW. 2:1,2,3") // ゲーム時計スタート + PORT_DIPSETTING( 0x07, "08:30" ) //  8時30分 + PORT_DIPSETTING( 0x06, "09:00" ) //  9時00分 + PORT_DIPSETTING( 0x05, "09:30" ) //  9時30分 + PORT_DIPSETTING( 0x04, "10:00" ) // 10時00分 + PORT_DIPSETTING( 0x03, "10:30" ) // 10時30分 + PORT_DIPSETTING( 0x02, "11:00" ) // 11時00分 + PORT_DIPSETTING( 0x01, "11:30" ) // 11時30分 + PORT_DIPSETTING( 0x00, "12:00" ) // 12時00分 + PORT_DIPNAME( 0x08, 0x00, "Time Service" ) PORT_DIPLOCATION("SW. 2:4") // タイム-サービス(時間等によりできる秘技) + PORT_DIPSETTING( 0x08, DEF_STR(Off) ) // 無し + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有り (allows secret techniques depending on the time) + PORT_DIPNAME( 0x10, 0x10, "Show Telephone Numbers" ) PORT_DIPLOCATION("SW. 2:5") // TEL表示 + PORT_DIPSETTING( 0x00, DEF_STR(Off) ) // 無し + PORT_DIPSETTING( 0x10, DEF_STR(On) ) // 有り + PORT_DIPNAME( 0x20, 0x20, "Gal Mode" ) PORT_DIPLOCATION("SW. 2:6") // GALモード切り替え (not clear what this does) + PORT_DIPSETTING( 0x20, "1" ) // 1 + PORT_DIPSETTING( 0x00, "2" ) // 2 + PORT_DIPNAME( 0x40, 0x40, "Bonus Item Select (cheat)" ) PORT_DIPLOCATION("SW. 2:7") // OFF固定 + PORT_DIPSETTING( 0x40, DEF_STR(Off) ) + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // (allows you to select a bonus item and always win the jan-ken-pon game) + PORT_DIPNAME( 0x80, 0x80, "Show Debug Info" ) PORT_DIPLOCATION("SW. 2:8") // OFF固定 + PORT_DIPSETTING( 0x80, DEF_STR(Off) ) + PORT_DIPSETTING( 0x00, DEF_STR(On) ) PORT_START("COINS") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) // "17B" @@ -2408,7 +2237,7 @@ static INPUT_PORTS_START( mjdialq2 ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) // "18A" - PORT_INCLUDE( MAHJONG_KEYS ) + PORT_INCLUDE( mahjong_matrix_2p_ff ) INPUT_PORTS_END @@ -2473,9 +2302,63 @@ static INPUT_PORTS_START( yarunara ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_INCLUDE( MAHJONG_KEYS ) + PORT_INCLUDE( dynax_mahjong_keys ) INPUT_PORTS_END + +static INPUT_PORTS_START( mjcomv1 ) + PORT_START("DSW0") + PORT_DIPNAME( 0x03, 0x03, DEF_STR(Coinage) ) PORT_DIPLOCATION("SW 1:1,2") // コインレート + PORT_DIPSETTING( 0x00, DEF_STR(3C_1C) ) // 3 コイン 1 プレー + PORT_DIPSETTING( 0x01, DEF_STR(2C_1C) ) // 2 コイン 1 プレー + PORT_DIPSETTING( 0x03, DEF_STR(1C_1C) ) // 1 コイン 1 プレー + PORT_DIPSETTING( 0x02, DEF_STR(1C_2C) ) // 1 コイン 2 プレー + PORT_DIPNAME( 0x0c, 0x0c, DEF_STR(Difficulty) ) PORT_DIPLOCATION("SW 1:3,4") // コンピューターの強さ + PORT_DIPSETTING( 0x08, DEF_STR(Easy) ) // 弱い + PORT_DIPSETTING( 0x0c, DEF_STR(Normal) ) // 標準 + PORT_DIPSETTING( 0x04, DEF_STR(Hard) ) + PORT_DIPSETTING( 0x00, DEF_STR(Hardest) ) // 強い + PORT_DIPNAME( 0x10, 0x10, DEF_STR(Flip_Screen) ) PORT_DIPLOCATION("SW 1:5") // 画面反転 + PORT_DIPSETTING( 0x10, DEF_STR(Off) ) // 通常 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 反転 + PORT_DIPNAME( 0x20, 0x20, DEF_STR(Demo_Sounds) ) PORT_DIPLOCATION("SW 1:6") // デモ  サウンド + PORT_DIPSETTING( 0x00, DEF_STR(Off) ) // 無 + PORT_DIPSETTING( 0x20, DEF_STR(On) ) // 有 + PORT_DIPNAME( 0x40, 0x40, "Allow Pinfu with Tsumo") PORT_DIPLOCATION("SW 1:7") // ルール ピンフ・ツモ複合 + PORT_DIPSETTING( 0x00, DEF_STR(No) ) // 無 + PORT_DIPSETTING( 0x40, DEF_STR(Yes) ) // 有 + PORT_DIPNAME( 0x80, 0x80, "Time Settings Mode" ) PORT_DIPLOCATION("SW 1:8") // 時間設定モード + PORT_DIPSETTING( 0x80, DEF_STR(Off) ) // 無 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有 + + PORT_START("DSW1") + PORT_DIPUNKNOWN_DIPLOC( 0x01, 0x01, "SW 2:1" ) // OFF 固定 + PORT_DIPUNKNOWN_DIPLOC( 0x02, 0x02, "SW 2:2" ) // OFF 固定 + PORT_DIPUNKNOWN_DIPLOC( 0x04, 0x04, "SW 2:3" ) // OFF 固定 + PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x08, "SW 2:4" ) // OFF 固定 + PORT_DIPUNKNOWN_DIPLOC( 0x10, 0x10, "SW 2:5" ) // OFF 固定 + PORT_DIPNAME( 0x20, 0x20, "Computer Hand Always Open" ) PORT_DIPLOCATION("SW 2:6") // OFF 固定 + PORT_DIPSETTING( 0x20, DEF_STR(Off) ) + PORT_DIPSETTING( 0x00, DEF_STR(On) ) + PORT_DIPUNKNOWN_DIPLOC( 0x40, 0x40, "SW 2:7" ) // OFF 固定 + PORT_DIPNAME( 0x80, 0x80, DEF_STR(Service_Mode) ) PORT_DIPLOCATION("SW 2:8") // テストモード + PORT_DIPSETTING( 0x80, DEF_STR(Off) ) // 無 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有 + + PORT_START("COINS") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) // "17B" + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) // "18B" + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_TOGGLE PORT_NAME(DEF_STR(Test)) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) // Analyzer + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // Memory Reset + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // "06B" + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1 ) + + PORT_INCLUDE( dynax_mahjong_keys ) +INPUT_PORTS_END + + static INPUT_PORTS_START( warahana ) PORT_START("DSW0") PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coinage ) ) @@ -2519,7 +2402,7 @@ static INPUT_PORTS_START( warahana ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_INCLUDE( MAHJONG_KEYS ) + PORT_INCLUDE( dynax_mahjong_keys ) INPUT_PORTS_END static INPUT_PORTS_START( hanayara ) @@ -2583,7 +2466,7 @@ static INPUT_PORTS_START( hanayara ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_INCLUDE( HANAFUDA_KEYS ) + PORT_INCLUDE( dynax_hanafuda_keys ) INPUT_PORTS_END static INPUT_PORTS_START( quiztvqq ) @@ -2746,150 +2629,117 @@ static INPUT_PORTS_START( mcnpshnt ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_INCLUDE( MAHJONG_KEYS ) + PORT_INCLUDE( dynax_mahjong_keys ) INPUT_PORTS_END static INPUT_PORTS_START( nanajign ) PORT_START("DSW0") - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coinage ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) ) - PORT_DIPSETTING( 0x02, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x38, 0x38, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x38, "0" ) - PORT_DIPSETTING( 0x30, "1" ) - PORT_DIPSETTING( 0x28, "2" ) - PORT_DIPSETTING( 0x20, "3" ) - PORT_DIPSETTING( 0x18, "4" ) - PORT_DIPSETTING( 0x10, "5" ) - PORT_DIPSETTING( 0x08, "6" ) - PORT_DIPSETTING( 0x00, "7" ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) //? - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Flip_Screen ) ) - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x03, 0x03, DEF_STR(Coinage) ) PORT_DIPLOCATION("SW. 2:1,2") // プレイ料金 + PORT_DIPSETTING( 0x00, DEF_STR(3C_1C) ) // 3コイン 1プレー + PORT_DIPSETTING( 0x02, DEF_STR(2C_1C) ) // 2コイン 1プレー + PORT_DIPSETTING( 0x03, DEF_STR(1C_1C) ) // 1コイン 1プレー + PORT_DIPSETTING( 0x01, DEF_STR(1C_2C) ) // 1コイン 2プレー + PORT_DIPNAME( 0x04, 0x00, "Allow Pinfu with Tsumo") PORT_DIPLOCATION("SW. 2:3") // ルール ピンフ・ツモ複合 + PORT_DIPSETTING( 0x04, DEF_STR(No) ) // 無し + PORT_DIPSETTING( 0x00, DEF_STR(Yes) ) // 有り + PORT_DIPNAME( 0x38, 0x20, DEF_STR(Difficulty) ) PORT_DIPLOCATION("SW. 2:4,5,6") // 難易度 コンピューター + PORT_DIPSETTING( 0x38, "1 (Weak)" ) //   弱い  (1) + PORT_DIPSETTING( 0x30, "2" ) //       (2) + PORT_DIPSETTING( 0x28, "3" ) //       (3) + PORT_DIPSETTING( 0x20, "4 (Normal)" ) // 標準    (4) + PORT_DIPSETTING( 0x18, "5" ) //       (5) + PORT_DIPSETTING( 0x10, "6" ) //       (6) + PORT_DIPSETTING( 0x08, "7" ) //       (7) + PORT_DIPSETTING( 0x00, "8 (Strong)" ) //   強い  (8) + PORT_DIPNAME( 0x40, 0x40, "Auto Reach" ) PORT_DIPLOCATION("SW. 2:7") // オート・ツモ + PORT_DIPSETTING( 0x40, DEF_STR(Off) ) // 無し + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有り + PORT_DIPNAME( 0x80, 0x80, DEF_STR(Flip_Screen) ) PORT_DIPLOCATION("SW. 2:8") // モニター画面反転 + PORT_DIPSETTING( 0x80, DEF_STR(Off) ) // 正 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 逆 PORT_START("DSW1") - PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) ) - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) //* - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) //* - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) //* - PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) //* - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Service_Mode ) ) - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x01, 0x00, DEF_STR(Demo_Sounds ) ) PORT_DIPLOCATION("SW. 3:1") // デモ・サウンド + PORT_DIPSETTING( 0x01, DEF_STR(Off) ) // 無し + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有り + PORT_DIPUNKNOWN_DIPLOC( 0x02, 0x02, "SW. 3:2" ) // OFF固定 + PORT_DIPUNKNOWN_DIPLOC( 0x04, 0x04, "SW. 3:3" ) // OFF固定 + PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x08, "SW. 3:4" ) // OFF固定 + PORT_DIPUNKNOWN_DIPLOC( 0x10, 0x10, "SW. 3:5" ) // OFF固定 + PORT_DIPUNKNOWN_DIPLOC( 0x20, 0x20, "SW. 3:6" ) // OFF固定 + PORT_DIPNAME( 0x40, 0x40, "Computer Hand Always Open" ) PORT_DIPLOCATION("SW. 3:7") // OFF固定 + PORT_DIPSETTING( 0x40, DEF_STR(Off) ) + PORT_DIPSETTING( 0x00, DEF_STR(On) ) + PORT_DIPNAME( 0x80, 0x80, DEF_STR(Service_Mode) ) PORT_DIPLOCATION("SW. 3:8") // OFF固定 + PORT_DIPSETTING( 0x80, DEF_STR(Off) ) + PORT_DIPSETTING( 0x00, DEF_STR(On) ) PORT_START("COINS") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) // Test + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR(Test)) // Test PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) // Analyzer PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // Memory Reset PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_INCLUDE( MAHJONG_KEYS ) + PORT_INCLUDE( mahjong_matrix_2p_ff ) - PORT_START("DSW2") - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_START("DSW2") // not shown in test mode or manual + PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED ) INPUT_PORTS_END static INPUT_PORTS_START( janyuki ) PORT_START("DSW0") - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) + PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW 1:1") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) + PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW 1:2") PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) + PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW 1:3") PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x18, 0x18, DEF_STR( Coinage ) ) + PORT_DIPNAME( 0x18, 0x18, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW 1:4,5") PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) // PORT_DIPSETTING( 0x08, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x18, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x10, DEF_STR( 1C_2C ) ) - PORT_DIPNAME( 0x20, 0x20, DEF_STR( Demo_Sounds ) ) + PORT_DIPNAME( 0x20, 0x20, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW 1:6") PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x20, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) //* + PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW 1:7") //* PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) //* + PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW 1:8") //* PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW1") - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Unknown ) ) + PORT_DIPNAME( 0x03, 0x03, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW 2:1,2") PORT_DIPSETTING( 0x03, "0" ) PORT_DIPSETTING( 0x02, "1" ) PORT_DIPSETTING( 0x01, "2" ) PORT_DIPSETTING( 0x00, "3" ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) + PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW 2:3") PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) + PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW 2:4") PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) + PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW 2:5") PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) //* + PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW 2:6") //* PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) //* + PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW 2:7") //* PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) //* + PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW 2:8") //* PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) @@ -3113,10 +2963,10 @@ static INPUT_PORTS_START( mjembase ) PORT_DIPNAME( 0x02, 0x00, "Renchan Rate" ) PORT_DIPLOCATION("SW 4:2") PORT_DIPSETTING( 0x02, DEF_STR(Off) ) PORT_DIPSETTING( 0x00, DEF_STR(On) ) - PORT_DIPNAME( 0x04, 0x00, "Auto Tsumo" ) PORT_DIPLOCATION("SW 4:3") + PORT_DIPNAME( 0x04, 0x00, "Auto Reach" ) PORT_DIPLOCATION("SW 4:3") PORT_DIPSETTING( 0x04, DEF_STR(Off) ) PORT_DIPSETTING( 0x00, DEF_STR(On) ) - PORT_DIPNAME( 0x08, 0x00, "Double Up" ) PORT_DIPLOCATION("SW 4:4") + PORT_DIPNAME( 0x08, 0x00, "Double Bet" ) PORT_DIPLOCATION("SW 4:4") PORT_DIPSETTING( 0x08, DEF_STR(Off) ) PORT_DIPSETTING( 0x00, DEF_STR(On) ) // press Bet during game to double the bet PORT_DIPNAME( 0x10, 0x00, DEF_STR(Demo_Sounds) ) PORT_DIPLOCATION("SW 4:5") @@ -3139,7 +2989,7 @@ static INPUT_PORTS_START( mjembase ) MAHJONG_COIN_TEST("DSW1", 0x40) - PORT_INCLUDE( MAHJONG_KEYS_BET ) + PORT_INCLUDE( mahjong_matrix_2p_bet_wup ) INPUT_PORTS_END @@ -3147,7 +2997,7 @@ INPUT_PORTS_END static INPUT_PORTS_START( mjelct3 ) MAHJONG_COIN_TEST("DSW1", 0x40) - PORT_INCLUDE( MAHJONG_KEYS_BET ) + PORT_INCLUDE( mahjong_matrix_2p_bet_wup ) PORT_START("SW1") // port 85 PORT_DIPUNKNOWN_DIPLOC(0x01, 0x01, "SW1:1") @@ -3246,7 +3096,7 @@ static INPUT_PORTS_START( mjelctrn ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) // Coin PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1 ) // Service - PORT_INCLUDE( MAHJONG_KEYS_BET ) + PORT_INCLUDE( mahjong_matrix_2p_bet_wup ) PORT_START("SW1") // port 85 PORT_DIPUNKNOWN_DIPLOC(0x01, 0x01, "SW1:1") @@ -3363,122 +3213,89 @@ INPUT_PORTS_END static INPUT_PORTS_START( majxtal7 ) + PORT_START("COINS") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) PORT_CODE(KEYCODE_4) PORT_CONDITION("DSW0", 0x40, EQUALS, 0x00) // Pay + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_CONDITION("DSW0", 0x40, EQUALS, 0x40) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) // 18B + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) // Test + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) // Analyzer + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // Memory Reset + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BILL1 ) PORT_CODE(KEYCODE_6) // Note + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) // Coin + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1 ) // Service + + PORT_INCLUDE( mahjong_matrix_2p_bet_wup ) + PORT_START("DSW0") /* select = 00 */ - PORT_DIPNAME( 0x03, 0x03, "Difficulty?" ) - PORT_DIPSETTING( 0x03, "0" ) // 20 - PORT_DIPSETTING( 0x00, "1" ) // 32 - PORT_DIPSETTING( 0x01, "2" ) // 64 - PORT_DIPSETTING( 0x02, "3" ) // c8 - PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_A ) ) - PORT_DIPSETTING( 0x0c, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) ) - PORT_DIPSETTING( 0x04, DEF_STR( 1C_5C ) ) - PORT_DIPSETTING( 0x00, "1 Coin/10 Credits" ) - PORT_DIPNAME( 0x30, 0x30, "Min Pay?" ) + MAHJONG_ODDS_RATE(0, "DIP2:1,2") + MAHJONG_COINAGE(2, "DIP2:3,4") + PORT_DIPNAME( 0x30, 0x30, "Minimum Bet" ) PORT_DIPLOCATION("DIP2:5,6") PORT_DIPSETTING( 0x30, "1" ) PORT_DIPSETTING( 0x20, "2" ) PORT_DIPSETTING( 0x10, "3" ) PORT_DIPSETTING( 0x00, "5" ) - PORT_DIPNAME( 0x40, 0x40, "Allow Coin Out" ) - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x40, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, "Win A Prize?" ) - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x40, 0x40, "Payout Mode" ) PORT_DIPLOCATION("DIP2:7") + PORT_DIPSETTING( 0x40, "Key-out" ) + PORT_DIPSETTING( 0x00, "Hopper" ) + PORT_DIPNAME( 0x80, 0x80, "Hopper Polarity" ) PORT_DIPLOCATION("DIP2:8") + PORT_DIPSETTING( 0x80, DEF_STR(Normal) ) + PORT_DIPSETTING( 0x00, "Inverted" ) PORT_START("DSW1") /* select = 40 */ - PORT_DIPNAME( 0x0f, 0x07, "Pay Out Rate" ) - PORT_DIPSETTING( 0x00, "50" ) - PORT_DIPSETTING( 0x01, "53" ) - PORT_DIPSETTING( 0x02, "56" ) - PORT_DIPSETTING( 0x03, "59" ) - PORT_DIPSETTING( 0x04, "62" ) - PORT_DIPSETTING( 0x05, "65" ) - PORT_DIPSETTING( 0x06, "68" ) - PORT_DIPSETTING( 0x07, "71" ) - PORT_DIPSETTING( 0x08, "75" ) - PORT_DIPSETTING( 0x09, "78" ) - PORT_DIPSETTING( 0x0a, "81" ) - PORT_DIPSETTING( 0x0b, "84" ) - PORT_DIPSETTING( 0x0c, "87" ) - PORT_DIPSETTING( 0x0d, "90" ) - PORT_DIPSETTING( 0x0e, "93" ) - PORT_DIPSETTING( 0x0f, "96" ) - PORT_DIPNAME( 0x30, 0x30, "Max Bet" ) + MAHJONG_PAYOUT_RATE(0, "DIP1:1,2,3,4") + PORT_DIPNAME( 0x30, 0x10, "Maximum Bet" ) PORT_DIPLOCATION("DIP1:5,6") PORT_DIPSETTING( 0x30, "1" ) PORT_DIPSETTING( 0x20, "5" ) PORT_DIPSETTING( 0x10, "10" ) PORT_DIPSETTING( 0x00, "20" ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coin_B ) ) - PORT_DIPSETTING( 0x40, DEF_STR( 1C_5C ) ) - PORT_DIPSETTING( 0x00, "1 Coin/10 Credits" ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Flip_Screen ) ) - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - - PORT_START("COINS") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) PORT_CODE(KEYCODE_4) // Pay - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) // 18B - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) // Test - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) // Analyzer - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // Memory Reset - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) // Note - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) // Coin - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1 ) // Service - - PORT_INCLUDE( MAHJONG_KEYS_BET ) + MAHJONG_NOTE_CREDITS(6, "DIP1:7", "DSW0", 2) + PORT_DIPNAME( 0x80, 0x80, DEF_STR(Flip_Screen) ) PORT_DIPLOCATION("DIP1:8") + PORT_DIPSETTING( 0x80, DEF_STR(Off) ) + PORT_DIPSETTING( 0x00, DEF_STR(On) ) PORT_START("DSW2") /* select = 80 */ - PORT_DIPNAME( 0x07, 0x07, "YAKUMAN Bonus" ) - PORT_DIPSETTING( 0x07, "Cut" ) - PORT_DIPSETTING( 0x06, "1 T" ) - PORT_DIPSETTING( 0x05, "300" ) - PORT_DIPSETTING( 0x04, "500" ) - PORT_DIPSETTING( 0x03, "700" ) - PORT_DIPSETTING( 0x02, "1000" ) -// PORT_DIPSETTING( 0x01, "1000" ) -// PORT_DIPSETTING( 0x00, "1000" ) - PORT_DIPNAME( 0x08, 0x08, "YAKU times" ) + MAHJONG_YAKUMAN_BONUS(0, "DIP3:1,2,3") + PORT_DIPNAME( 0x08, 0x08, "Yakuman Bonuses Per Cycle" ) PORT_DIPLOCATION("DIP3:4") PORT_DIPSETTING( 0x08, "1" ) PORT_DIPSETTING( 0x00, "2" ) - PORT_DIPNAME( 0x10, 0x10, "Win Rate?" ) + PORT_DIPNAME( 0x10, 0x10, "Win Rate?" ) PORT_DIPLOCATION("DIP3:5") PORT_DIPSETTING( 0x10, DEF_STR( High ) ) PORT_DIPSETTING( 0x00, DEF_STR( Low ) ) - PORT_DIPNAME( 0x20, 0x20, "Draw New Tile (Part 4 Only)" ) - PORT_DIPSETTING( 0x00, "Automatic" ) - PORT_DIPSETTING( 0x20, "Manual" ) - PORT_DIPNAME( 0x40, 0x40, "DonDen Key" ) + PORT_DIPNAME( 0x20, 0x20, DEF_STR(Unknown) ) PORT_DIPLOCATION("DIP3:6") + PORT_DIPSETTING( 0x20, DEF_STR(Off) ) + PORT_DIPSETTING( 0x00, DEF_STR(On) ) + PORT_DIPNAME( 0x40, 0x00, "Don Den Button" ) PORT_DIPLOCATION("DIP3:7") PORT_DIPSETTING( 0x40, "A" ) PORT_DIPSETTING( 0x00, "Flip Flop" ) - PORT_DIPNAME( 0x80, 0x80, "Title" ) - PORT_DIPSETTING( 0x80, "X-Tal" ) - PORT_DIPSETTING( 0x00, "Diamond" ) + PORT_DIPNAME( 0x80, 0x80, "Game Title" ) PORT_DIPLOCATION("DIP3:8") + PORT_DIPSETTING( 0x80, "Mahjong X-tal 7" ) + PORT_DIPSETTING( 0x00, "Mahjong Diamond 7" ) PORT_START("DSW3") /* select = c0 */ - PORT_DIPNAME( 0x01, 0x01, "Last Chance" ) - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x01, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, "Pay Rate?" ) + PORT_DIPNAME( 0x01, 0x01, "Last Chance" ) PORT_DIPLOCATION("DIP4:1") + PORT_DIPSETTING( 0x01, "Free" ) + PORT_DIPSETTING( 0x00, "Paid" ) + PORT_DIPNAME( 0x02, 0x02, "Pay Rate?" ) PORT_DIPLOCATION("DIP4:2") PORT_DIPSETTING( 0x02, DEF_STR( High ) ) PORT_DIPSETTING( 0x00, DEF_STR( Low ) ) - PORT_DIPNAME( 0x04, 0x04, "Choose Bonus" ) + PORT_DIPNAME( 0x04, 0x04, "Choose Bonus" ) PORT_DIPLOCATION("DIP4:3") PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, "In-Game Bet?" ) - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x08, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x00, DEF_STR( Demo_Sounds ) ) - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x00, "In-Game Music" ) - PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, "Select Girl" ) - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x08, 0x08, DEF_STR(Unknown) ) PORT_DIPLOCATION("DIP4:4") + PORT_DIPSETTING( 0x00, DEF_STR(Off) ) + PORT_DIPSETTING( 0x08, DEF_STR(On) ) + PORT_DIPNAME( 0x10, 0x00, DEF_STR(Demo_Sounds) ) PORT_DIPLOCATION("DIP4:5") + PORT_DIPSETTING( 0x10, DEF_STR(Off) ) + PORT_DIPSETTING( 0x00, DEF_STR(On) ) + PORT_DIPNAME( 0x20, 0x00, "In-Game Music" ) PORT_DIPLOCATION("DIP4:6") + PORT_DIPSETTING( 0x20, DEF_STR(Off) ) + PORT_DIPSETTING( 0x00, DEF_STR(On) ) + PORT_DIPNAME( 0x40, 0x40, "Gal Select" ) PORT_DIPLOCATION("DIP4:7") + PORT_DIPSETTING( 0x40, DEF_STR(Off) ) + PORT_DIPSETTING( 0x00, DEF_STR(On) ) + PORT_DIPNAME( 0x80, 0x00, DEF_STR(Unknown) ) PORT_DIPLOCATION("DIP4:8") + PORT_DIPSETTING( 0x80, DEF_STR(Off) ) + PORT_DIPSETTING( 0x00, DEF_STR(On) ) PORT_START("FAKE") /* IN10 - Fake DSW */ PORT_DIPNAME( 0xff, 0xff, DEF_STR( Unknown ) ) @@ -3491,55 +3308,55 @@ INPUT_PORTS_END static INPUT_PORTS_START( neruton ) PORT_START("DSW0") /* 6a77 (select = 00) */ - PORT_DIPNAME( 0x07, 0x07, "Time Setting" ) - PORT_DIPSETTING( 0x07, "08:30" ) - PORT_DIPSETTING( 0x06, "09:00" ) - PORT_DIPSETTING( 0x05, "09:30" ) - PORT_DIPSETTING( 0x04, "10:00" ) - PORT_DIPSETTING( 0x03, "10:30" ) - PORT_DIPSETTING( 0x02, "11:00" ) - PORT_DIPSETTING( 0x01, "11:30" ) - PORT_DIPSETTING( 0x00, "12:00" ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) + PORT_DIPNAME( 0x07, 0x07, "Game Clock Start" ) PORT_DIPLOCATION("SW. 2:1,2,3") // ゲーム時計スタート + PORT_DIPSETTING( 0x07, "08:30" ) //  8時30分 + PORT_DIPSETTING( 0x06, "09:00" ) //  9時00分 + PORT_DIPSETTING( 0x05, "09:30" ) //  9時30分 + PORT_DIPSETTING( 0x04, "10:00" ) // 10時00分 + PORT_DIPSETTING( 0x03, "10:30" ) // 10時30分 + PORT_DIPSETTING( 0x02, "11:00" ) // 11時00分 + PORT_DIPSETTING( 0x01, "11:30" ) // 11時30分 + PORT_DIPSETTING( 0x00, "12:00" ) // 12時00分 + PORT_DIPNAME( 0x08, 0x00, "Time Service" ) PORT_DIPLOCATION("SW. 2:4") // タイム-サービス(時間等によりできる秘技) + PORT_DIPSETTING( 0x08, DEF_STR(Off) ) // 無し + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有り (allows secret techniques depending on the time) + PORT_DIPNAME( 0x10, 0x10, "Gal H Pose" ) PORT_DIPLOCATION("SW. 2:5") // OFF固定 + PORT_DIPSETTING( 0x00, DEF_STR(Off) ) // shows moles on gals' faces + PORT_DIPSETTING( 0x10, DEF_STR(On) ) // win sequences show more "interaction" with gals + PORT_DIPNAME( 0x20, 0x20, DEF_STR(Unknown) ) PORT_DIPLOCATION("SW. 2:6") // OFF固定 PORT_DIPSETTING( 0x00, "30" ) PORT_DIPSETTING( 0x20, "60" ) - PORT_DIPNAME( 0x40, 0x40, "See Opponent's Tiles (Cheat)") - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Service_Mode ) ) - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x40, 0x40, "Computer Hand Always Open" ) PORT_DIPLOCATION("SW. 2:7") // OFF固定 + PORT_DIPSETTING( 0x40, DEF_STR(Off) ) + PORT_DIPSETTING( 0x00, DEF_STR(On) ) + PORT_DIPNAME( 0x80, 0x80, DEF_STR(Service_Mode) ) PORT_DIPLOCATION("SW. 2:8") // OFF固定 + PORT_DIPSETTING( 0x80, DEF_STR(Off) ) + PORT_DIPSETTING( 0x00, DEF_STR(On) ) PORT_START("DSW1") /* 6a76 (select = 40) */ - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coinage ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) ) - PORT_DIPSETTING( 0x02, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) ) - PORT_DIPNAME( 0x04, 0x04, "PINFU with TSUMO" ) - PORT_DIPSETTING( 0x00, DEF_STR( No ) ) - PORT_DIPSETTING( 0x04, DEF_STR( Yes ) ) - PORT_DIPNAME( 0x38, 0x20, DEF_STR( Difficulty ) ) - PORT_DIPSETTING( 0x38, "1 (Easy)" ) - PORT_DIPSETTING( 0x30, "2" ) - PORT_DIPSETTING( 0x28, "3" ) - PORT_DIPSETTING( 0x20, "4" ) - PORT_DIPSETTING( 0x18, "5" ) - PORT_DIPSETTING( 0x10, "6" ) - PORT_DIPSETTING( 0x08, "7" ) - PORT_DIPSETTING( 0x00, "8 (Hard)" ) - PORT_DIPNAME( 0x40, 0x00, DEF_STR( Demo_Sounds ) ) - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Flip_Screen ) ) - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x03, 0x03, DEF_STR(Coinage) ) PORT_DIPLOCATION("SW. 1:1,2") // プレイ料金 + PORT_DIPSETTING( 0x00, DEF_STR(3C_1C) ) // 3コイン 1プレイ + PORT_DIPSETTING( 0x02, DEF_STR(2C_1C) ) // 2コイン 1プレイ + PORT_DIPSETTING( 0x03, DEF_STR(1C_1C) ) // 1コイン 1プレイ + PORT_DIPSETTING( 0x01, DEF_STR(1C_2C) ) // 1コイン 2プレイ + PORT_DIPNAME( 0x04, 0x00, "Allow Pinfu with Tsumo") PORT_DIPLOCATION("SW. 1:3") // ルール ピンフ・ツモ複合 + PORT_DIPSETTING( 0x04, DEF_STR(No) ) // 無し + PORT_DIPSETTING( 0x00, DEF_STR(Yes) ) // 有り + PORT_DIPNAME( 0x38, 0x20, DEF_STR(Difficulty) ) PORT_DIPLOCATION("SW. 1:4,5,6") // 難易度 + PORT_DIPSETTING( 0x38, "1 (Weak Computer)" ) // コンピューター 弱い (1) + PORT_DIPSETTING( 0x30, "2" ) //            (2) + PORT_DIPSETTING( 0x28, "3" ) //            (3) + PORT_DIPSETTING( 0x20, "4 (Normal)" ) //       標準   (4) + PORT_DIPSETTING( 0x18, "5" ) //            (5) + PORT_DIPSETTING( 0x10, "6" ) //            (6) + PORT_DIPSETTING( 0x08, "7" ) //            (7) + PORT_DIPSETTING( 0x00, "8 (Strong Computer)" ) // コンピューター 強い (8) + PORT_DIPNAME( 0x40, 0x00, DEF_STR(Demo_Sounds ) ) PORT_DIPLOCATION("SW. 1:7") // デモ・サウンド + PORT_DIPSETTING( 0x40, DEF_STR(Off) ) // 無し + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有り + PORT_DIPNAME( 0x80, 0x80, DEF_STR(Flip_Screen) ) PORT_DIPLOCATION("SW. 1:8") // モニター画面反転 + PORT_DIPSETTING( 0x80, DEF_STR(Off) ) // 正 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 逆 PORT_START("COINS") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) // 17B @@ -3551,7 +3368,7 @@ static INPUT_PORTS_START( neruton ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) // Coin PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) // 18A - PORT_INCLUDE( MAHJONG_KEYS ) + PORT_INCLUDE( mahjong_matrix_2p_ff ) /* 2008-06 FP: the following are needed to make happy the read handlers shared with mjelctrn */ PORT_START("SW1") @@ -3560,6 +3377,15 @@ static INPUT_PORTS_START( neruton ) PORT_START("FAKE") INPUT_PORTS_END +static INPUT_PORTS_START( nerutona ) + PORT_INCLUDE(neruton) + + PORT_MODIFY("DSW0") + PORT_DIPNAME( 0x10, 0x10, "Moles on Gals' Faces") PORT_DIPLOCATION("SW. 2:5") // OFF固定 + PORT_DIPSETTING( 0x10, DEF_STR(Off) ) + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // shows moles on gals' faces, but win sequences are not censored +INPUT_PORTS_END + static INPUT_PORTS_START( tenkai ) // The manual provides two sets of standard settings: @@ -3617,7 +3443,7 @@ static INPUT_PORTS_START( tenkai ) PORT_DIPNAME( 0x04, 0x00, "Tenkaigen Day" ) PORT_DIPLOCATION("SW 3:3") // 天開眼の日 PORT_DIPSETTING( 0x04, DEF_STR(Off) ) // 無 PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有 - PORT_DIPNAME( 0x08, 0x00, "Double Up" ) PORT_DIPLOCATION("SW 3:4") // W-BET + PORT_DIPNAME( 0x08, 0x00, "Double Bet" ) PORT_DIPLOCATION("SW 3:4") // W-BET PORT_DIPSETTING( 0x08, DEF_STR(Off) ) // 無 PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有 PORT_DIPNAME( 0x10, 0x00, "Renchan Rate" ) PORT_DIPLOCATION("SW 3:5") // 連荘レート @@ -3634,7 +3460,7 @@ static INPUT_PORTS_START( tenkai ) PORT_DIPSETTING( 0x00, "Flip Flop" ) // F/F・ボタン PORT_START("DSW3") - PORT_DIPNAME( 0x01, 0x00, DEF_STR(Demo_Sounds )) PORT_DIPLOCATION("SW 4:1") // デモ・サウンド + PORT_DIPNAME( 0x01, 0x00, DEF_STR(Demo_Sounds) ) PORT_DIPLOCATION("SW 4:1") // デモ・サウンド PORT_DIPSETTING( 0x01, DEF_STR(Off) ) // 無 PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有 PORT_DIPNAME( 0x02, 0x00, "In-Game Music" ) PORT_DIPLOCATION("SW 4:2") // ゲーム・サウンド @@ -3660,8 +3486,8 @@ static INPUT_PORTS_START( tenkai ) PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有 PORT_START("DSW4") /* (top) */ - MAHJONG_NOTE_CREDITS(0, "SW 1:9", "DSW1", 0) // NOTE RATE - PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW 1:10") // モニター画面反転 + MAHJONG_NOTE_CREDITS(0, "SW 1:9", "DSW1", 0) // NOTE RATE + PORT_DIPNAME( 0x02, 0x02, DEF_STR(Flip_Screen) ) PORT_DIPLOCATION("SW 1:10") // モニター画面反転 PORT_DIPSETTING( 0x02, DEF_STR(Off) ) // 通常 PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 反転 PORT_DIPNAME( 0x04, 0x00, "Computer Strength" ) PORT_DIPLOCATION("SW 2:9") // コンピューターの強さ @@ -3688,7 +3514,7 @@ static INPUT_PORTS_START( tenkai ) MAHJONG_COIN_TEST("DSW2", 0x01) - PORT_INCLUDE( MAHJONG_KEYS_BET ) + PORT_INCLUDE( mahjong_matrix_2p_bet_wup ) INPUT_PORTS_END @@ -3736,7 +3562,7 @@ INPUT_PORTS_START( ougonhai ) PORT_DIPNAME( 0x40, 0x40, DEF_STR(Service_Mode) ) PORT_DIPLOCATION("SW 4:7") // OFF固定 PORT_DIPSETTING( 0x40, DEF_STR(Off) ) PORT_DIPSETTING( 0x00, DEF_STR(On) ) - PORT_DIPNAME( 0x80, 0x80, "Show Statistics (Debug)" ) PORT_DIPLOCATION("SW 4:8" ) // OFF固定 + PORT_DIPNAME( 0x80, 0x80, "Show Statistics (debug)" ) PORT_DIPLOCATION("SW 4:8" ) // OFF固定 PORT_DIPSETTING( 0x80, DEF_STR(Off) ) PORT_DIPSETTING( 0x00, DEF_STR(On) ) @@ -3752,252 +3578,182 @@ INPUT_PORTS_END static INPUT_PORTS_START( mjreach ) + // The manual provides two sets of standard settings: + // 標準設定 シングル向け 標準設定 メダルコーナー向け + // SW 1 OFF OFF OFF ON ON ON OFF ON ON OFF OFF OFF OFF ON ON ON OFF ON ON OFF + // SW 2 OFF OFF OFF OFF OFF OFF ON ON ON ON OFF OFF OFF OFF ON OFF OFF OFF ON ON + PORT_START("DSW0") - PORT_DIPNAME( 0x0f, 0x07, "Pay Out Rate" ) - PORT_DIPSETTING( 0x00, "50" ) - PORT_DIPSETTING( 0x01, "53" ) - PORT_DIPSETTING( 0x02, "56" ) - PORT_DIPSETTING( 0x03, "59" ) - PORT_DIPSETTING( 0x04, "62" ) - PORT_DIPSETTING( 0x05, "65" ) - PORT_DIPSETTING( 0x06, "68" ) - PORT_DIPSETTING( 0x07, "71" ) - PORT_DIPSETTING( 0x08, "75" ) - PORT_DIPSETTING( 0x09, "78" ) - PORT_DIPSETTING( 0x0a, "81" ) - PORT_DIPSETTING( 0x0b, "84" ) - PORT_DIPSETTING( 0x0c, "87" ) - PORT_DIPSETTING( 0x0d, "90" ) - PORT_DIPSETTING( 0x0e, "93" ) - PORT_DIPSETTING( 0x0f, "96" ) - PORT_DIPNAME( 0x30, 0x10, "Odds Rate" ) - PORT_DIPSETTING( 0x30, "1 2 4 8 12 16 24 32" ) - PORT_DIPSETTING( 0x00, "1 2 3 5 8 15 30 50" ) - PORT_DIPSETTING( 0x10, "1 2 3 5 10 25 50 100" ) - PORT_DIPSETTING( 0x20, "1 2 3 5 10 50 100 200" ) - PORT_DIPNAME( 0xc0, 0x40, "Max Bet" ) + MAHJONG_PAYOUT_RATE(0, "DIP-SW1:1,2,3,4") + MAHJONG_ODDS_RATE(4, "DIP-SW1:5,6") // ODDS 設定 + PORT_DIPNAME( 0xc0, 0x40, "Maximum Bet" ) PORT_DIPLOCATION("DIP-SW1:7,8") // BET MAX PORT_DIPSETTING( 0xc0, "1" ) PORT_DIPSETTING( 0x80, "5" ) PORT_DIPSETTING( 0x40, "10" ) PORT_DIPSETTING( 0x00, "20" ) PORT_START("DSW1") - PORT_DIPNAME( 0x03, 0x03, "Unknown 1-0&1" ) - PORT_DIPSETTING( 0x03, "1:1" ) - PORT_DIPSETTING( 0x02, "1:2" ) - PORT_DIPSETTING( 0x01, "1:5" ) - PORT_DIPSETTING( 0x00, "1:10" ) - PORT_DIPNAME( 0x0c, 0x0c, "Min Rate To Play" ) - PORT_DIPSETTING( 0x0c, "1" ) - PORT_DIPSETTING( 0x08, "2" ) - PORT_DIPSETTING( 0x04, "3" ) - PORT_DIPSETTING( 0x00, "5" ) - PORT_DIPNAME( 0x70, 0x70, "YAKUMAN Bonus" ) - PORT_DIPSETTING( 0x70, "Cut" ) - PORT_DIPSETTING( 0x60, "1 T" ) - PORT_DIPSETTING( 0x50, "300" ) - PORT_DIPSETTING( 0x40, "500" ) - PORT_DIPSETTING( 0x30, "700" ) - PORT_DIPSETTING( 0x20, "1000" ) -// PORT_DIPSETTING( 0x10, "1000" ) -// PORT_DIPSETTING( 0x00, "1000" ) - PORT_DIPNAME( 0x80, 0x80, "Unknown 1-7" ) - PORT_DIPSETTING( 0x00, "1" ) - PORT_DIPSETTING( 0x80, "2" ) + MAHJONG_COINAGE(0, "DIP-SW2:1,2") // COIN RATE + PORT_DIPNAME( 0x0c, 0x0c, "Minimum Bet" ) PORT_DIPLOCATION("DIP-SW2:3,4") // ゲーム・スタート時の最低レート数 + PORT_DIPSETTING( 0x0c, "1" ) // レート1 + PORT_DIPSETTING( 0x08, "2" ) // レート2 + PORT_DIPSETTING( 0x04, "3" ) // レート3 + PORT_DIPSETTING( 0x00, "5" ) // レート5 + MAHJONG_YAKUMAN_BONUS(4, "DIP-SW2:5,6,7") // 役満ボーナスチャンスの設定周期 + PORT_DIPNAME( 0x80, 0x00, "Yakuman Bonuses Per Cycle" ) PORT_DIPLOCATION("DIP-SW2:8") // 役満ボーナスの回数設定周期毎に + PORT_DIPSETTING( 0x00, "1" ) // 1回 + PORT_DIPSETTING( 0x80, "2" ) // 2回 PORT_START("DSW2") - PORT_DIPNAME( 0x01, 0x01, "Unknown 2-0" ) - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, "Unknown 2-1" ) - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, "Unknown 2-2" ) - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, "Unknown 2-3" ) - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, "Unknown 2-4" ) - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, "Unknown 2-5" ) - PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, "Unknown 2-6" ) - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, "Unknown 2-7" ) - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x01, 0x01, "Payout Mode" ) PORT_DIPLOCATION("DIP-SW3:1") // ゲーム仕様 + PORT_DIPSETTING( 0x01, "Key-out" ) // クレジット式 + PORT_DIPSETTING( 0x00, "Hopper" ) // ホッパー式 + PORT_DIPNAME( 0x02, 0x02, "Hopper Polarity" ) PORT_DIPLOCATION("DIP-SW3:2") // ホッパーアクティブ + PORT_DIPSETTING( 0x02, DEF_STR(Normal) ) // 通常 + PORT_DIPSETTING( 0x00, "Inverted" ) // 反転 + PORT_DIPNAME( 0x04, 0x00, "Double Bet" ) PORT_DIPLOCATION("DIP-SW3:3") // W-BET機能 + PORT_DIPSETTING( 0x04, DEF_STR(Off) ) // 無 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有 + PORT_DIPNAME( 0x08, 0x00, "Computer Strength" ) PORT_DIPLOCATION("DIP-SW3:4") // コンピューターの強さ + PORT_DIPSETTING( 0x00, DEF_STR(Normal) ) // 普通 + PORT_DIPSETTING( 0x08, "Strong" ) // 強い + PORT_DIPNAME( 0x10, 0x00, "Renchan Rate" ) PORT_DIPLOCATION("DIP-SW3:5") // 連荘レート + PORT_DIPSETTING( 0x10, DEF_STR(Off) ) // 無 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有 + PORT_DIPNAME( 0x20, 0x00, "Last Chance" ) PORT_DIPLOCATION("DIP-SW3:6") // ラストチャンス + PORT_DIPSETTING( 0x20, DEF_STR(Off) ) // 無 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有 + PORT_DIPNAME( 0xc0, 0x00, "Last Chance Count" ) PORT_DIPLOCATION("DIP-SW3:7,8") // ラストチャンスのツモ回数 + PORT_DIPSETTING( 0xc0, "1" ) + PORT_DIPSETTING( 0x80, "3" ) + PORT_DIPSETTING( 0x00, "5" ) + PORT_DIPSETTING( 0x40, "10" ) PORT_START("DSW3") - PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) ) - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, "Unknown 3-1" ) - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, "Unknown 3-2" ) - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, "DonDen Key" ) - PORT_DIPSETTING( 0x08, "Start" ) - PORT_DIPSETTING( 0x00, "Flip Flop" ) - PORT_DIPNAME( 0x10, 0x10, "Unknown 3-4" ) - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, "Unknown 3-5" ) - PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, "Unknown 3-6" ) - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, "Unknown 3-7" ) - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x01, 0x00, DEF_STR(Demo_Sounds) ) PORT_DIPLOCATION("DIP-SW4:1") // デモ・サウンド + PORT_DIPSETTING( 0x01, DEF_STR(Off) ) // 無 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有 + PORT_DIPNAME( 0x02, 0x00, "In-Game Music" ) PORT_DIPLOCATION("DIP-SW4:2") // ゲーム・サウンド + PORT_DIPSETTING( 0x02, DEF_STR(Off) ) // 無 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有 + PORT_DIPNAME( 0x04, 0x00, "Auto Reach" ) PORT_DIPLOCATION("DIP-SW4:3") // オート・リーチ機能 + PORT_DIPSETTING( 0x04, DEF_STR(Off) ) // 無 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有 + PORT_DIPNAME( 0x08, 0x00, "Don Den Button" ) PORT_DIPLOCATION("DIP-SW4:4") // Don・Den機能 ボタン変更 + PORT_DIPSETTING( 0x08, "Start" ) // スタートボタン + PORT_DIPSETTING( 0x00, "Flip Flop" ) // F/Fボタン + PORT_DIPNAME( 0x10, 0x00, "Show Renchan Gal" ) PORT_DIPLOCATION("DIP-SW4:5") // 連荘ギャル表示 + PORT_DIPSETTING( 0x10, DEF_STR(Off) ) // 無 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有 + PORT_DIPNAME( 0x20, 0x00, "In-Game Messages" ) PORT_DIPLOCATION("DIP-SW4:6") // ゲーム中のメッセージ + PORT_DIPSETTING( 0x20, DEF_STR(Off) ) // 無 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有 (shows when kan/pon/chi/ron is possible) + PORT_DIPNAME( 0x40, 0x00, DEF_STR(Unknown) ) PORT_DIPLOCATION("DIP-SW4:7") // ON固定 + PORT_DIPSETTING( 0x40, DEF_STR(Off) ) + PORT_DIPSETTING( 0x00, DEF_STR(On) ) + PORT_DIPNAME( 0x80, 0x80, "Super Revolver Jackpot Payout Rate" ) PORT_DIPLOCATION("DIP-SW4:8") // スパーレボルバーのJACK-POTの出率 + PORT_DIPSETTING( 0x00, DEF_STR(Normal) ) // 通常 (shows "super revolver" bonus game during attract mode) + PORT_DIPSETTING( 0x80, "Frequent" ) // よく出る PORT_START("DSW4") /* 4 (top) */ - PORT_DIPNAME( 0x01, 0x01, "Credits Per Note" ) - PORT_DIPSETTING( 0x01, "5" ) - PORT_DIPSETTING( 0x00, "10" ) - PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) ) - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x0c, 0x0c, "Unknown top-2&3" ) + MAHJONG_NOTE_CREDITS(0, "DIP-SW1:9", "DSW1", 0) // NOTE RATE + PORT_DIPNAME( 0x02, 0x02, DEF_STR(Flip_Screen) ) PORT_DIPLOCATION("DIP-SW1:10") // モニター画面反転 + PORT_DIPSETTING( 0x02, DEF_STR(Off) ) // 通常 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 反転 + PORT_DIPNAME( 0x0c, 0x08, "Credit Limit" ) PORT_DIPLOCATION("DIP-SW2:9,10") // クレジット・コインリミット PORT_DIPSETTING( 0x0c, "300" ) PORT_DIPSETTING( 0x08, "500" ) PORT_DIPSETTING( 0x04, "700" ) PORT_DIPSETTING( 0x00, "1000" ) - PORT_DIPNAME( 0x10, 0x10, "Unknown top-4" ) - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, "Unknown top-5" ) - PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, "Unknown top-6" ) - PORT_DIPSETTING( 0x40, "1" ) - PORT_DIPSETTING( 0x00, "3" ) - PORT_DIPNAME( 0x80, 0x80, "Unknown top-7" ) - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x10, 0x00, "Super Revolver" ) PORT_DIPLOCATION("DIP-SW3:9") // スパーレボルバー + PORT_DIPSETTING( 0x10, DEF_STR(Off) ) // 無 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有 + PORT_DIPNAME( 0x20, 0x00, "Payout Variation" ) PORT_DIPLOCATION("DIP-SW3:10") // 配当の波 + PORT_DIPSETTING( 0x20, "Small" ) // 小さい + PORT_DIPSETTING( 0x00, DEF_STR(Normal) ) // 通常 + PORT_DIPNAME( 0x40, 0x40, "Renchan Gal Display" ) PORT_DIPLOCATION("DIP-SW4:9") // 連荘ギャルの表示の方式 + PORT_DIPSETTING( 0x40, "After Each Win" ) // 勝つごとに表示 (= On according to manual page?) + PORT_DIPSETTING( 0x00, "After 3 Consecutive Wins" ) // 3連荘のみ表示 (= Off according to manual page?) + PORT_DIPNAME( 0x80, 0x80, DEF_STR(Unknown) ) PORT_DIPLOCATION("DIP-SW4:10") // OFF固定 + PORT_DIPSETTING( 0x80, DEF_STR(Off) ) + PORT_DIPSETTING( 0x00, DEF_STR(On) ) - PORT_START("COINS") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) PORT_CODE(KEYCODE_4) // Pay - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) // 18B - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) // Test - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) // Analyzer - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // Memory Reset - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) // Note - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) // Coin - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1 ) // Service + MAHJONG_COIN_TEST("DSW2", 0x01) - PORT_INCLUDE( MAHJONG_KEYS_BET ) + PORT_INCLUDE( mahjong_matrix_2p_bet_wup ) INPUT_PORTS_END static INPUT_PORTS_START( gekisha ) PORT_START("DSW1") // $7C20 - PORT_DIPNAME( 0x0f, 0x07, "Pay Out Rate" ) - PORT_DIPSETTING( 0x00, "50" ) - PORT_DIPSETTING( 0x01, "53" ) - PORT_DIPSETTING( 0x02, "56" ) - PORT_DIPSETTING( 0x03, "59" ) - PORT_DIPSETTING( 0x04, "62" ) - PORT_DIPSETTING( 0x05, "65" ) - PORT_DIPSETTING( 0x06, "68" ) - PORT_DIPSETTING( 0x07, "71" ) - PORT_DIPSETTING( 0x08, "75" ) - PORT_DIPSETTING( 0x09, "78" ) - PORT_DIPSETTING( 0x0a, "81" ) - PORT_DIPSETTING( 0x0b, "84" ) - PORT_DIPSETTING( 0x0c, "87" ) - PORT_DIPSETTING( 0x0d, "90" ) - PORT_DIPSETTING( 0x0e, "93" ) - PORT_DIPSETTING( 0x0f, "96" ) - PORT_DIPNAME( 0x30, 0x30, "Max Bet" ) + MAHJONG_PAYOUT_RATE(0, "SW1:1,2,3,4") // PAY-OUT RATE + PORT_DIPNAME( 0x30, 0x30, "Max Bet" ) PORT_DIPLOCATION( "SW1:5,6" ) // BET-MAX PORT_DIPSETTING( 0x30, "1" ) PORT_DIPSETTING( 0x20, "5" ) PORT_DIPSETTING( 0x10, "10" ) PORT_DIPSETTING( 0x00, "20" ) - PORT_DIPNAME( 0x40, 0x40, "Credits Per Note" ) + PORT_DIPNAME( 0x40, 0x40, "Credits Per Note" ) PORT_DIPLOCATION( "SW1:7" ) // NOTE RATE PORT_DIPSETTING( 0x40, "5" ) PORT_DIPSETTING( 0x00, "10" ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Flip_Screen ) ) + PORT_DIPNAME( 0x80, 0x80, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION( "SW1:8" ) // 画面反転 PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW2") // $7C21 - PORT_DIPNAME( 0x03, 0x03, "Odds Rate" ) - PORT_DIPSETTING( 0x03, "1 2 4 8 12 16 24 32" ) - PORT_DIPSETTING( 0x00, "1 2 3 5 8 15 30 50" ) - PORT_DIPSETTING( 0x01, "1 2 3 5 10 25 50 100" ) - PORT_DIPSETTING( 0x02, "1 2 3 5 10 50 100 200" ) - PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_A ) ) - PORT_DIPSETTING( 0x0c, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) ) - PORT_DIPSETTING( 0x04, DEF_STR( 1C_5C ) ) - PORT_DIPSETTING( 0x00, "1 Coin/10 Credits" ) - PORT_DIPNAME( 0x30, 0x30, "Min Rate To Play" ) - PORT_DIPSETTING( 0x30, "1" ) - PORT_DIPSETTING( 0x20, "2" ) - PORT_DIPSETTING( 0x10, "3" ) - PORT_DIPSETTING( 0x00, "5" ) - PORT_DIPNAME( 0x40, 0x40, "Unknown 2-6" ) - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, "Unknown 2-7" ) - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + MAHJONG_ODDS_RATE(0, "SW2:1,2") // ODDS RATE + MAHJONG_COINAGE(2, "SW2:3,4") // コイン レート + PORT_DIPNAME( 0x30, 0x30, "Min Rate To Play" ) PORT_DIPLOCATION( "SW2:5,6" ) // ゲーム・スタートの最低レート枚数 + PORT_DIPSETTING( 0x30, "1" ) // レート 1 + PORT_DIPSETTING( 0x20, "2" ) // レート 2 + PORT_DIPSETTING( 0x10, "3" ) // レート 3 + PORT_DIPSETTING( 0x00, "5" ) // レート 5 + PORT_DIPNAME( 0x40, 0x40, "Game Type" ) PORT_DIPLOCATION( "SW2:7" ) // ゲームタイプ + PORT_DIPSETTING( 0x40, "Credit" ) // クレジット式 + PORT_DIPSETTING( 0x00, "Hopper" ) // ホッパー式 + PORT_DIPNAME( 0x80, 0x80, "Hopper Switch" ) PORT_DIPLOCATION( "SW2:8" ) // HOPPER COIN 感覚 SW + PORT_DIPSETTING( 0x80, "Active Low" ) + PORT_DIPSETTING( 0x00, "Active High" ) PORT_START("DSW3") // $7c22 - PORT_DIPNAME( 0x07, 0x07, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x07, "0" ) - PORT_DIPSETTING( 0x06, "1" ) - PORT_DIPSETTING( 0x05, "2" ) - PORT_DIPSETTING( 0x04, "3" ) - PORT_DIPSETTING( 0x03, "4" ) - PORT_DIPSETTING( 0x02, "5" ) - PORT_DIPSETTING( 0x01, "6" ) - PORT_DIPSETTING( 0x00, "7" ) - PORT_DIPNAME( 0x08, 0x08, "Unknown 3-3" ) - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, "Unknown 3-4" ) - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, "Unknown 3-5" ) + MAHJONG_YAKUMAN_BONUS(0, "SW3:1,2,3") // 役満ボーナスの設定 + PORT_DIPNAME( 0x08, 0x08, "Yakuman Bonuses Per Cycle" ) PORT_DIPLOCATION("SW3:4")// 役満ボーナスの回数設定周期毎に + PORT_DIPSETTING( 0x08, "1" ) // 1回 + PORT_DIPSETTING( 0x00, "2" ) // 2回 + PORT_DIPNAME( 0x10, 0x00, "Computer Strength" ) PORT_DIPLOCATION("SW3:5") // コンピューターの強さ + PORT_DIPSETTING( 0x00, DEF_STR(Normal) ) // 普通 + PORT_DIPSETTING( 0x10, "Strong" ) + PORT_DIPNAME( 0x20, 0x20, "Payout Rate Change" ) PORT_DIPLOCATION( "SW3:6" ) // 自動配当率変更 PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, "Unknown 3-6" ) + PORT_DIPNAME( 0x40, 0x00, "Service Count" ) PORT_DIPLOCATION( "SW3:7" ) // サービスカウント PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, "DonDen Key" ) + PORT_DIPNAME( 0x80, 0x80, "DonDen Key" ) PORT_DIPLOCATION( "SW3:8" ) // DonDen機能ボタン変更 PORT_DIPSETTING( 0x80, "A" ) PORT_DIPSETTING( 0x00, "Flip Flop" ) PORT_START("DSW4") // $7c23 - PORT_DIPNAME( 0x01, 0x01, "Unknown 4-0" ) + PORT_DIPNAME( 0x01, 0x01, "Last Chance" ) PORT_DIPLOCATION( "SW4:1" ) // ラスト チャンス PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, "Unknown 4-1" ) + PORT_DIPNAME( 0x02, 0x02, "Dice Chance" ) PORT_DIPLOCATION( "SW4:2" ) // ダイス チャンス PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, "Auto Tsumo after Reach" ) + PORT_DIPNAME( 0x04, 0x04, "Auto Tsumo after Reach" ) PORT_DIPLOCATION( "SW4:3" ) // オート ツモ PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, "Unknown 4-3" ) + PORT_DIPNAME( 0x08, 0x08, "Double Bet" ) PORT_DIPLOCATION( "SW4:4" ) // W-BET PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, "Girls (Demo)" ) + PORT_DIPNAME( 0x10, 0x10, "Girls (Demo)" ) PORT_DIPLOCATION( "SW4:5" ) // ギャル カット PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x10, DEF_STR( Yes ) ) - PORT_DIPNAME( 0x20, 0x20, "Unknown 4-5" ) + PORT_DIPNAME( 0x20, 0x20, "Girls (H-Scenes)" ) PORT_DIPLOCATION( "SW4:6" ) // ギャル Hカット PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x00, DEF_STR( Demo_Sounds ) ) + PORT_DIPNAME( 0x40, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION( "SW4:7" ) // デモ サウンド PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, "Unknown 4-7" ) + PORT_DIPNAME( 0x80, 0x80, "Unknown 4-7" ) PORT_DIPLOCATION( "SW4:8" ) PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) @@ -4016,7 +3772,7 @@ static INPUT_PORTS_START( gekisha ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) // Coin PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_INCLUDE( MAHJONG_KEYS_BET ) + PORT_INCLUDE( mahjong_matrix_2p_bet_wup ) INPUT_PORTS_END @@ -7313,9 +7069,9 @@ GAME( 1990, mjelct3a, mjelctrn, mjelctrn, mjelct3, dynax_adpcm_state, init_ GAME( 1993, mjelctrb, mjelctrn, mjelctrn, mjelct3, dynax_adpcm_state, init_mjelct3, ROT180, "bootleg", "Mahjong Electron Base (parts 2 & 4, Japan bootleg)", MACHINE_SUPPORTS_SAVE ) GAME( 1990, majxtal7, 7jigen, neruton, majxtal7, dynax_adpcm_state, init_mjelct3, ROT180, "Dynax", "Mahjong X-Tal 7 - Crystal Mahjong / Mahjong Diamond 7 (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) // reuses a subset of 7jigen assets GAME( 1990, neruton, 0, neruton, neruton, dynax_adpcm_state, init_mjelct3, ROT180, "Dynax / Yukiyoshi Tokoro", "Mahjong Neruton Haikujiradan (Japan, Rev. B?)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) -GAME( 1990, nerutona, neruton, neruton, neruton, dynax_adpcm_state, init_mjelct3, ROT180, "Dynax / Yukiyoshi Tokoro", "Mahjong Neruton Haikujiradan (Japan, Rev. A?)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) +GAME( 1990, nerutona, neruton, neruton, nerutona, dynax_adpcm_state, init_mjelct3, ROT180, "Dynax / Yukiyoshi Tokoro", "Mahjong Neruton Haikujiradan (Japan, Rev. A?)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) GAME( 1991, hanayara, 0, yarunara, hanayara, dynax_adpcm_state, empty_init, ROT180, "Dynax", "Hana wo Yaraneba! (Japan)", MACHINE_SUPPORTS_SAVE ) -GAME( 1991, mjcomv1, 0, mjangels, yarunara, dynax_adpcm_state, empty_init, ROT180, "Dynax", "Mahjong Comic Gekijou Vol.1 (Japan)", MACHINE_SUPPORTS_SAVE ) +GAME( 1991, mjcomv1, 0, mjangels, mjcomv1, dynax_adpcm_state, empty_init, ROT180, "Dynax", "Mahjong Comic Gekijou Vol.1 (Japan)", MACHINE_SUPPORTS_SAVE ) GAME( 1991, tenkai, 0, tenkai, tenkai, dynax_state, empty_init, ROT0, "Dynax", "Mahjong Tenkaigen (Japan)", MACHINE_SUPPORTS_SAVE ) GAME( 1991, tenkai2b, tenkai, tenkai, tenkai, dynax_state, empty_init, ROT0, "bootleg", "Mahjong Tenkaigen Part 2 (bootleg)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // FIXME: check if Japan & medal GAME( 1991, tenkaibb, tenkai, tenkai, tenkai, dynax_state, empty_init, ROT0, "bootleg", "Mahjong Tenkaigen (Japan bootleg b)", MACHINE_SUPPORTS_SAVE ) // FIXME: check if "b" is a PCB rev. letter diff --git a/src/mame/dynax/dynax.h b/src/mame/dynax/dynax.h index 17b32bb7e6ba2..061a660a6b338 100644 --- a/src/mame/dynax/dynax.h +++ b/src/mame/dynax/dynax.h @@ -37,6 +37,7 @@ class dynax_state : public driver_device , m_hopper(*this, "hopper") , m_bankdev(*this, "bankdev") , m_mainirq(*this, "mainirq") + , m_io_key{ { *this, "KEY%u", 0U }, { *this, "KEY%u", 5U } } { } @@ -69,6 +70,9 @@ class dynax_state : public driver_device optional_device m_mainlatch; optional_device m_blitter; optional_device m_hopper; + optional_device m_bankdev; + optional_device m_mainirq; + optional_ioport_array<5> m_io_key[2]; /* input / output */ uint8_t m_input_sel = 0U; @@ -94,8 +98,7 @@ class dynax_state : public driver_device void coincounter_0_w(int state); void coincounter_1_w(int state); uint8_t ret_ff(); - uint8_t hanamai_keyboard_0_r(); - uint8_t hanamai_keyboard_1_r(); + template uint8_t hanamai_keyboard_r(); void hanamai_keyboard_w(uint8_t data); void dynax_rombank_w(uint8_t data); void dynax_blit_palette23_w(uint8_t data); @@ -118,10 +121,6 @@ class dynax_state : public driver_device void sprtmtch_mem_map(address_map &map) ATTR_COLD; - // devices - optional_device m_bankdev; - optional_device m_mainirq; - // up to 8 layers, 2 images per layer (interleaved on screen) std::unique_ptr m_pixmap[8][2]{}; @@ -171,7 +170,6 @@ class dynax_state : public driver_device void tenkai_6c_w(int state); void tenkai_70_w(int state); void tenkai_blit_romregion_w(uint8_t data); - uint8_t gekisha_keyboard_0_r(); uint8_t gekisha_keyboard_1_r(); void gekisha_hopper_w(offs_t offset, uint8_t data); void gekisha_p4_w(uint8_t data); @@ -461,6 +459,7 @@ class cdracula_state : public dynax_state }; -INPUT_PORTS_EXTERN(HANAFUDA_KEYS_BET); +INPUT_PORTS_EXTERN(dynax_mahjong_keys); +INPUT_PORTS_EXTERN(dynax_hanafuda_keys_bet); #endif // MAME_DYNAX_DYNAX_H diff --git a/src/mame/dynax/hnayayoi.cpp b/src/mame/dynax/hnayayoi.cpp index d1ae40e96b27b..713a682bff170 100644 --- a/src/mame/dynax/hnayayoi.cpp +++ b/src/mame/dynax/hnayayoi.cpp @@ -666,7 +666,7 @@ static INPUT_PORTS_START( hnayayoi ) // test mode shows and test 3 dip banks, bu PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) // there is also a dip switch - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Analizer") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) // "Anarizer" PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // "Non Use" in service mode PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) // "Note" ("Paper Money") = 10 Credits PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) @@ -756,7 +756,7 @@ static INPUT_PORTS_START( hnfubuki ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Analizer") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) // "Anarizer" PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) // "Note" ("Paper Money") = 10 Credits PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) @@ -820,7 +820,7 @@ static INPUT_PORTS_START( untoucha ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Analizer") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) // "Analizer Key" PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) // "Note" ("Paper Money") = 5 or 8 Credits PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) diff --git a/src/mame/dynax/mjdipsw.h b/src/mame/dynax/mjdipsw.h new file mode 100644 index 0000000000000..e086be9310502 --- /dev/null +++ b/src/mame/dynax/mjdipsw.h @@ -0,0 +1,69 @@ +// license:BSD-3-Clause +// copyright-holders:Vas Crabb +/*************************************************************************** + + Common Dynax mahjong DIP switch settings + +***************************************************************************/ +#ifndef MAME_DYNAX_MJDIPSW_H +#define MAME_DYNAX_MJDIPSW_H + +#pragma once + + +#define MAHJONG_PAYOUT_RATE(shift, loc) \ + PORT_DIPNAME( 0x0f << shift, 0x07 << shift, "Payout Rate" ) PORT_DIPLOCATION(loc) \ + PORT_DIPSETTING( 0x00 << shift, "50%" ) \ + PORT_DIPSETTING( 0x01 << shift, "53%" ) \ + PORT_DIPSETTING( 0x02 << shift, "56%" ) \ + PORT_DIPSETTING( 0x03 << shift, "59%" ) \ + PORT_DIPSETTING( 0x04 << shift, "62%" ) \ + PORT_DIPSETTING( 0x05 << shift, "65%" ) \ + PORT_DIPSETTING( 0x06 << shift, "68%" ) \ + PORT_DIPSETTING( 0x07 << shift, "71%" ) \ + PORT_DIPSETTING( 0x08 << shift, "75%" ) \ + PORT_DIPSETTING( 0x09 << shift, "78%" ) \ + PORT_DIPSETTING( 0x0a << shift, "81%" ) \ + PORT_DIPSETTING( 0x0b << shift, "84%" ) \ + PORT_DIPSETTING( 0x0c << shift, "87%" ) \ + PORT_DIPSETTING( 0x0d << shift, "90%" ) \ + PORT_DIPSETTING( 0x0e << shift, "93%" ) \ + PORT_DIPSETTING( 0x0f << shift, "96%" ) + +#define MAHJONG_ODDS_RATE(shift, loc) \ + PORT_DIPNAME( 0x03 << shift, 0x00 << shift, "Odds Rate" ) PORT_DIPLOCATION(loc) \ + PORT_DIPSETTING( 0x03 << shift, "1 2 4 8 12 16 24 32" ) \ + PORT_DIPSETTING( 0x00 << shift, "1 2 3 5 8 15 30 50" ) \ + PORT_DIPSETTING( 0x01 << shift, "1 2 3 5 10 25 50 100" ) \ + PORT_DIPSETTING( 0x02 << shift, "1 2 3 5 10 50 100 200" ) + +#define MAHJONG_COINAGE(shift, loc) \ + PORT_DIPNAME( 0x03 << shift, 0x03 << shift, DEF_STR(Coinage) ) PORT_DIPLOCATION(loc) /* COIN RATE */ \ + PORT_DIPSETTING( 0x03 << shift, DEF_STR(1C_1C) ) /* 1コイン  1プレイ */ \ + PORT_DIPSETTING( 0x02 << shift, DEF_STR(1C_2C) ) /* 1コイン  2プレイ */ \ + PORT_DIPSETTING( 0x01 << shift, DEF_STR(1C_5C) ) /* 1コイン  5プレイ */ \ + PORT_DIPSETTING( 0x00 << shift, "1 Coin/10 Credits" ) /* 1コイン 10プレイ */ + +#define MAHJONG_NOTE_CREDITS(shift, loc, ct, cs) \ + PORT_DIPNAME( 0x01 << shift, 0x00 << shift, "Credits Per Note" ) PORT_DIPLOCATION(loc) /* NOTE RATE */ \ + PORT_DIPSETTING( 0x01 << shift, "5" ) PORT_CONDITION(ct, 0x03 << cs, EQUALS, 0x03 << cs) /* COIN×5 */ \ + PORT_DIPSETTING( 0x01 << shift, "10" ) PORT_CONDITION(ct, 0x03 << cs, EQUALS, 0x02 << cs) \ + PORT_DIPSETTING( 0x01 << shift, "25" ) PORT_CONDITION(ct, 0x03 << cs, EQUALS, 0x01 << cs) \ + PORT_DIPSETTING( 0x01 << shift, "50" ) PORT_CONDITION(ct, 0x03 << cs, EQUALS, 0x00 << cs) \ + PORT_DIPSETTING( 0x00 << shift, "10" ) PORT_CONDITION(ct, 0x03 << cs, EQUALS, 0x03 << cs) /* COIN×10 */ \ + PORT_DIPSETTING( 0x00 << shift, "20" ) PORT_CONDITION(ct, 0x03 << cs, EQUALS, 0x02 << cs) \ + PORT_DIPSETTING( 0x00 << shift, "50" ) PORT_CONDITION(ct, 0x03 << cs, EQUALS, 0x01 << cs) \ + PORT_DIPSETTING( 0x00 << shift, "100" ) PORT_CONDITION(ct, 0x03 << cs, EQUALS, 0x00 << cs) + +#define MAHJONG_YAKUMAN_BONUS(shift, loc) \ + PORT_DIPNAME( 0x07 << shift, 0x04 << shift, "Yakuman Bonus Cycle" ) PORT_DIPLOCATION(loc) /* 役満ボーナスの設定周期 */ \ + PORT_DIPSETTING( 0x07 << shift, "None" ) /* 無し */ \ + PORT_DIPSETTING( 0x06 << shift, "First time only" ) /* 初回のみ */ \ + PORT_DIPSETTING( 0x05 << shift, "Every 300 coins" ) /* 300コイン毎 */ \ + PORT_DIPSETTING( 0x04 << shift, "Every 500 coins" ) /* 500コイン毎 */ \ + PORT_DIPSETTING( 0x03 << shift, "Every 700 coins" ) /* 700コイン毎 */ \ + PORT_DIPSETTING( 0x02 << shift, "Every 1000 coins" ) /* 1000コイン毎 */ \ + /* PORT_DIPSETTING( 0x01 << shift, "Every 1000 coins" )*/ \ + /* PORT_DIPSETTING( 0x00 << shift, "Every 1000 coins" )*/ + +#endif // MAME_DYNAX_MJDIPSW_H diff --git a/src/mame/dynax/royalmah.cpp b/src/mame/dynax/royalmah.cpp index 6cb7c7ace77ba..20d8778cd3474 100644 --- a/src/mame/dynax/royalmah.cpp +++ b/src/mame/dynax/royalmah.cpp @@ -58,6 +58,9 @@ Year + Game Board(s) CPU Company Not - mjtensin: random crashes, interrupts related +- janoh, janohb: they do the same bank switching calls as mjsiyoub and kiwako/jongkyo.cpp + but there's no ROM to map there. Missing on the dumped PCBs or something else going on? + Stephh's notes (based on the games Z80 code and some tests) : 1) 'royalmah' @@ -103,6 +106,10 @@ Stephh's notes (based on the games Z80 code and some tests) : #include "emu.h" +#include "mjdipsw.h" + +#include "mahjong.h" + #include "cpu/tlcs90/tlcs90.h" #include "cpu/z80/tmpz84c015.h" #include "cpu/z80/z80.h" @@ -1633,97 +1640,45 @@ void royalmah_prgbank_state::mjvegasa_map(address_map &map) static INPUT_PORTS_START( mjctrl1 ) - PORT_START("KEY0") // P1 IN0 - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_E ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_I ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_M ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P1 Credit Clear") PORT_CODE(KEYCODE_O) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P2 Credit Clear") PORT_CODE(KEYCODE_8) - - PORT_START("KEY1") // P1 IN1 - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_B ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_F ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_J ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_N ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) + PORT_INCLUDE(mahjong_matrix_2p_bet_wup) + + PORT_MODIFY("KEY0") // P1 IN0 + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P1 Credit Clear") PORT_CODE(KEYCODE_MINUS) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P2 Credit Clear") PORT_CODE(KEYCODE_EQUALS) + + PORT_MODIFY("KEY1") // P1 IN1 PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_START("KEY2") // P1 IN2 - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_C ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_G ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_K ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) - PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED ) - - PORT_START("KEY3") // P1 IN3 - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_D ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_H ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_L ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) - PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED ) + PORT_MODIFY("KEY2") // P1 IN2 + PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_START("KEY4") // P1 IN4 - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_LAST_CHANCE ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_FLIP_FLOP ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) + PORT_MODIFY("KEY3") // P1 IN3 PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_START("KEY5") // P2 IN0 - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A ) PORT_PLAYER(2) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_E ) PORT_PLAYER(2) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_I ) PORT_PLAYER(2) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_M ) PORT_PLAYER(2) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) PORT_PLAYER(2) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 ) + PORT_MODIFY("KEY4") // P1 IN4 + PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) + + PORT_MODIFY("KEY5") // P2 IN0 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_START("KEY6") // P2 IN1 - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_B ) PORT_PLAYER(2) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_F ) PORT_PLAYER(2) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_J ) PORT_PLAYER(2) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_N ) PORT_PLAYER(2) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) PORT_PLAYER(2) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) PORT_PLAYER(2) + PORT_MODIFY("KEY6") // P2 IN1 PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_START("KEY7") // P2 IN2 - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_C ) PORT_PLAYER(2) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_G ) PORT_PLAYER(2) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_K ) PORT_PLAYER(2) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) PORT_PLAYER(2) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) PORT_PLAYER(2) - PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED ) - - PORT_START("KEY8") // P2 IN3 - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_D ) PORT_PLAYER(2) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_H ) PORT_PLAYER(2) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_L ) PORT_PLAYER(2) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) PORT_PLAYER(2) - PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED ) + PORT_MODIFY("KEY7") // P2 IN2 + PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) + + PORT_MODIFY("KEY8") // P2 IN3 + PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_START("KEY9") // P2 IN4 - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_LAST_CHANCE ) PORT_PLAYER(2) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) PORT_PLAYER(2) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) PORT_PLAYER(2) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_FLIP_FLOP ) PORT_PLAYER(2) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) PORT_PLAYER(2) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) PORT_PLAYER(2) + PORT_MODIFY("KEY9") // P2 IN4 PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("SYSTEM") // IN10 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN2 ) // "Note" ("Paper Money") = 10 Credits PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_MEMORY_RESET ) // Memory Reset - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE1 ) // Analizer (Statistics) - PORT_SERVICE( 0x08, IP_ACTIVE_HIGH ) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_GAMBLE_BOOK ) PORT_TOGGLE // Analizer (Statistics) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SERVICE ) PORT_TOGGLE PORT_NAME( DEF_STR(Service_Mode) ) PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END @@ -1732,7 +1687,7 @@ static INPUT_PORTS_START( mjctrl2 ) PORT_INCLUDE( mjctrl1 ) PORT_MODIFY("KEY0") - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Payout") PORT_CODE(KEYCODE_O) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) PORT_CODE(KEYCODE_4) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) INPUT_PORTS_END @@ -3202,137 +3157,221 @@ static INPUT_PORTS_START( mjtensin ) INPUT_PORTS_END static INPUT_PORTS_START( cafetime ) // dips definitions and defaults taken from MT05580, this uses 10 switch dip banks + // The manual provides two sets of standard settings: + // 標準設定 シングル向け 標準設定 コーナー向け + // SW 1 OFF OFF OFF ON ON ON OFF ON ON OFF OFF OFF OFF ON ON ON OFF ON ON OFF + // SW 2 OFF OFF OFF OFF ON ON OFF ON ON OFF OFF OFF OFF OFF ON OFF ON ON ON OFF + // SW 3 OFF OFF ON ON ON ON ON OFF OFF OFF OFF OFF ON ON ON ON ON OFF OFF OFF + // SW 4 OFF ON ON ON ON ON OFF ON OFF OFF ON ON OFF ON ON ON OFF ON OFF OFF + PORT_INCLUDE( mjctrl2 ) PORT_START("DSW1") // IN11 - PORT_DIPNAME( 0x0f, 0x07, "Pay Out Rate" ) PORT_DIPLOCATION("SW1:1,2,3,4") - PORT_DIPSETTING( 0x0f, "96%" ) - PORT_DIPSETTING( 0x0e, "93%" ) - PORT_DIPSETTING( 0x0d, "90%" ) - PORT_DIPSETTING( 0x0c, "87%" ) - PORT_DIPSETTING( 0x0b, "84%" ) - PORT_DIPSETTING( 0x0a, "81%" ) - PORT_DIPSETTING( 0x09, "78%" ) - PORT_DIPSETTING( 0x08, "75%" ) - PORT_DIPSETTING( 0x07, "71%" ) - PORT_DIPSETTING( 0x06, "68%" ) - PORT_DIPSETTING( 0x05, "65%" ) - PORT_DIPSETTING( 0x04, "62%" ) - PORT_DIPSETTING( 0x03, "59%" ) - PORT_DIPSETTING( 0x02, "56%" ) - PORT_DIPSETTING( 0x01, "53%" ) - PORT_DIPSETTING( 0x00, "50%" ) - PORT_DIPNAME( 0x30, 0x00, "Odds Rate" ) PORT_DIPLOCATION("SW1:5,6") // Yakuman - Triple - Double - Haneman - Mangan - 3 Han - 2 Han - 1 Han - PORT_DIPSETTING( 0x30, "32-24-16-12-8-4-2-1" ) - PORT_DIPSETTING( 0x00, "50-30-15-8-5-3-2-1" ) - PORT_DIPSETTING( 0x10, "100-50-25-10-5-3-2-1" ) - PORT_DIPSETTING( 0x20, "200-100-50-10-5-3-2-1" ) - PORT_DIPNAME( 0xc0, 0x40, "Maximum Bet" ) PORT_DIPLOCATION("SW1:7,8") + MAHJONG_PAYOUT_RATE(0, "SW 1:1,2,3,4") // PAY-OUT RATE + MAHJONG_ODDS_RATE(4, "SW 1:5,6") // ODDS RATE + PORT_DIPNAME( 0xc0, 0x40, "Maximum Bet" ) PORT_DIPLOCATION("SW 1:7,8") // BET-MAX PORT_DIPSETTING( 0xc0, "1" ) PORT_DIPSETTING( 0x80, "5" ) PORT_DIPSETTING( 0x40, "10" ) PORT_DIPSETTING( 0x00, "20" ) - PORT_START("DSW2") // IN12, defaults for 'single type' - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW2:1,2") - PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) ) - PORT_DIPSETTING( 0x01, DEF_STR( 1C_5C ) ) - PORT_DIPSETTING( 0x00, "1C_10C" ) - PORT_DIPNAME( 0x0c, 0x0c, "Minimum Rate" ) PORT_DIPLOCATION("SW2:3,4") - PORT_DIPSETTING( 0x0c, "1" ) - PORT_DIPSETTING( 0x08, "2" ) - PORT_DIPSETTING( 0x04, "3" ) - PORT_DIPSETTING( 0x00, "5" ) - PORT_DIPNAME( 0x70, 0x40, "Yakuman Bonus" ) PORT_DIPLOCATION("SW2:5,6,7") // default for 'corner type' would be 0x20 - PORT_DIPSETTING( 0x70, DEF_STR( No ) ) - PORT_DIPSETTING( 0x60, "Once on Start" ) - PORT_DIPSETTING( 0x50, "Every 300 Coins" ) - PORT_DIPSETTING( 0x40, "Every 500 Coins" ) - PORT_DIPSETTING( 0x30, "Every 700 Coins" ) - PORT_DIPSETTING( 0x20, "Every 1000 Coins" ) - PORT_DIPSETTING( 0x10, DEF_STR( Unknown ) ) // not listed on dip sheet - PORT_DIPSETTING( 0x00, DEF_STR( Unknown ) ) // not listed on dip sheet - PORT_DIPNAME( 0x80, 0x00, "Yakuman Bonus Cycle" ) PORT_DIPLOCATION("SW2:8") - PORT_DIPSETTING( 0x00, "Once" ) - PORT_DIPSETTING( 0x80, "Twice" ) + PORT_START("DSW2") // IN12 + MAHJONG_COINAGE(0, "SW 2:1,2") // COIN RATE + PORT_DIPNAME( 0x0c, 0x0c, "Minimum Bet" ) PORT_DIPLOCATION("SW 2:3,4") // ゲーム・スタート時の最低レート数 + PORT_DIPSETTING( 0x0c, "1" ) // レート 1 + PORT_DIPSETTING( 0x08, "2" ) // レート 2 + PORT_DIPSETTING( 0x04, "3" ) // レート 3 + PORT_DIPSETTING( 0x00, "5" ) // レート 5 + MAHJONG_YAKUMAN_BONUS(4, "SW 2:5,6,7") // 役満ボーナスの設定周期 + PORT_DIPNAME( 0x80, 0x00, "Yakuman Bonuses Per Cycle" ) PORT_DIPLOCATION("SW 2:8") // 役満ボーナスの回数設定周期毎に + PORT_DIPSETTING( 0x00, "1" ) // 1回 + PORT_DIPSETTING( 0x80, "2" ) // 2回 PORT_START("DSW3") // IN13 - PORT_DIPNAME( 0x01, 0x01, "Payout Type" ) PORT_DIPLOCATION("SW3:1") - PORT_DIPSETTING( 0x01, "Credits" ) - PORT_DIPSETTING( 0x00, "Hopper" ) - PORT_DIPNAME( 0x02, 0x02, "Hopper Type" ) PORT_DIPLOCATION("SW3:2") - PORT_DIPSETTING( 0x02, DEF_STR( Normal ) ) - PORT_DIPSETTING( 0x00, "Reversed" ) - PORT_DIPNAME( 0x04, 0x00, "W-Bet" ) PORT_DIPLOCATION("SW3:3") - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x00, "Renchan Rate" ) PORT_DIPLOCATION("SW3:4") - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x00, "Last Chance" ) PORT_DIPLOCATION("SW3:5") - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x00, "Good Time Timer" ) PORT_DIPLOCATION("SW3:6") - PORT_DIPSETTING( 0x00, "3 Minutes" ) - PORT_DIPSETTING( 0x20, "5 Minutes" ) - PORT_DIPNAME( 0x40, 0x00, "Quiz Bonus" ) PORT_DIPLOCATION("SW3:7") - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, "Quiz Bonus Points" ) PORT_DIPLOCATION("SW3:8") - PORT_DIPSETTING( 0x00, "2" ) - PORT_DIPSETTING( 0x80, "3" ) + PORT_DIPNAME( 0x01, 0x01, "Payout Mode" ) PORT_DIPLOCATION("SW 3:1") // ゲーム・タイプ + PORT_DIPSETTING( 0x01, "Key-out" ) // クレジット・タイプ + PORT_DIPSETTING( 0x00, "Hopper" ) // ホッパー・タイプ + PORT_DIPNAME( 0x02, 0x02, "Hopper Polarity" ) PORT_DIPLOCATION("SW 3:2") // ホッパー・アクティブ + PORT_DIPSETTING( 0x02, DEF_STR(Normal) ) // 通常 + PORT_DIPSETTING( 0x00, "Inverted" ) // 反転 + PORT_DIPNAME( 0x04, 0x00, "Double Bet" ) PORT_DIPLOCATION("SW 3:3") // W-BET + PORT_DIPSETTING( 0x04, DEF_STR(Off) ) // 無 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有 + PORT_DIPNAME( 0x08, 0x00, "Renchan Rate" ) PORT_DIPLOCATION("SW 3:4") // 連荘レート + PORT_DIPSETTING( 0x08, DEF_STR(Off) ) // 無 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有 + PORT_DIPNAME( 0x10, 0x00, "Last Chance" ) PORT_DIPLOCATION("SW 3:5") // ラスト・チャンス + PORT_DIPSETTING( 0x10, DEF_STR(Off) ) // 無 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有 + PORT_DIPNAME( 0x20, 0x00, "Good Time Duration" ) PORT_DIPLOCATION("SW 3:6") // Good Time の時間 + PORT_DIPSETTING( 0x00, "3 Minutes" ) // 3分間 + PORT_DIPSETTING( 0x20, "5 Minutes" ) // 5分間 + PORT_DIPNAME( 0x40, 0x00, "Quiz Bonus" ) PORT_DIPLOCATION("SW 3:7") // クイズ・ボーナス + PORT_DIPSETTING( 0x40, DEF_STR(Off) ) // 無 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有 + PORT_DIPNAME( 0x80, 0x80, "Quiz Bonus Points" ) PORT_DIPLOCATION("SW 3:8") // クイズ・ボーナスのポイント + PORT_DIPSETTING( 0x00, "2" ) // 2点 + PORT_DIPSETTING( 0x80, "3" ) // 3点 + + PORT_START("DSW4") // IN14 + PORT_DIPNAME( 0x01, 0x00, DEF_STR(Demo_Sounds) ) PORT_DIPLOCATION("SW 4:1") // デモ・サウンド + PORT_DIPSETTING( 0x01, DEF_STR(Off) ) // 無 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有 + PORT_DIPNAME( 0x02, 0x00, "In-Game Music" ) PORT_DIPLOCATION("SW 4:2") // ゲーム・サウンド + PORT_DIPSETTING( 0x02, DEF_STR(Off) ) // 無 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有 + PORT_DIPNAME( 0x04, 0x00, "Don Den Button" ) PORT_DIPLOCATION("SW 4:3") // Don・Den 機能ボタン変更 + PORT_DIPSETTING( 0x04, "Start" ) // スタート・ボタ + PORT_DIPSETTING( 0x00, "Flip Flop" ) // F/F・ボタン + PORT_DIPNAME( 0x08, 0x00, "Auto Reach" ) PORT_DIPLOCATION("SW 4:4") // オート・リーチ + PORT_DIPSETTING( 0x08, DEF_STR(Off) ) // 無 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有 + PORT_DIPNAME( 0x10, 0x00, "Show 4-Panel Comics" ) PORT_DIPLOCATION("SW 4:5") // 4コマ・漫画表示 + PORT_DIPSETTING( 0x10, DEF_STR(Off) ) // 無 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有 + PORT_DIPNAME( 0x20, 0x00, "Background Color" ) PORT_DIPLOCATION("SW 4:6") // バック・カラー + PORT_DIPSETTING( 0x20, "Black" ) // 黒 + PORT_DIPSETTING( 0x00, "Green" ) // 緑 + PORT_DIPNAME( 0x40, 0x40, "Stage Select" ) PORT_DIPLOCATION("SW 4:7") // 本(ステージ)セレクト + PORT_DIPSETTING( 0x40, DEF_STR(Off) ) // 無 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有 + PORT_DIPNAME( 0x80, 0x00, "Yakuman Match" ) PORT_DIPLOCATION("SW 4:8") // 役満勝負 + PORT_DIPSETTING( 0x80, DEF_STR(Off) ) // 無 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有 + + PORT_START("DSWTOP") // IN15, actually switches 9-10 of the first 4 banks + MAHJONG_NOTE_CREDITS(0, "SW 1:9", "DSW2", 0) // NOTE RATE + PORT_DIPNAME( 0x02, 0x02, DEF_STR(Flip_Screen) ) PORT_DIPLOCATION("SW 1:10") // モニター画面反転 + PORT_DIPSETTING( 0x02, DEF_STR(Off) ) // 通常 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 反転 + PORT_DIPNAME( 0x04, 0x00, "Computer Strength" ) PORT_DIPLOCATION("SW 2:9") // コンピューターの強さ + PORT_DIPSETTING( 0x00, DEF_STR(Normal) ) // 普通 + PORT_DIPSETTING( 0x04, "Strong" ) // 強い + PORT_DIPNAME( 0x08, 0x08, DEF_STR(Unknown) ) PORT_DIPLOCATION("SW 2:10") // OFF固定 + PORT_DIPSETTING( 0x08, DEF_STR(Off) ) + PORT_DIPSETTING( 0x00, DEF_STR(On) ) + PORT_DIPNAME( 0x30, 0x30, "Quiz Questions Table" ) PORT_DIPLOCATION("SW 3:9,10") // クイズ問題テーブル + PORT_DIPSETTING( 0x30, "A" ) // テーブル A + PORT_DIPSETTING( 0x20, "B" ) // テーブル B + PORT_DIPSETTING( 0x10, "C" ) // テーブル C + PORT_DIPSETTING( 0x00, "D" ) // テーブル D + PORT_DIPNAME( 0x40, 0x40, "Yakuman Match Frequency" ) PORT_DIPLOCATION("SW 4:9") // 役満勝負の頻度 + PORT_DIPSETTING( 0x00, DEF_STR(Normal) ) // 普通 + PORT_DIPSETTING( 0x40, "Frequent" ) // よく出る + PORT_DIPNAME( 0x80, 0x80, "4-Panel Comic Type" ) PORT_DIPLOCATION("SW 4:10") // 4コマ・漫画 タイプ + PORT_DIPSETTING( 0x00, "A" ) // Aタイプ + PORT_DIPSETTING( 0x80, "B" ) // Bタイプ +INPUT_PORTS_END - PORT_START("DSW4") // IN14, defaults for 'single type' - PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW4:1") // Should be off for 'single type' and on for 'corner type', left on for easier regression testing - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x00, "BGM during Gameplay" ) PORT_DIPLOCATION("SW4:2") - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x00, "Don Den Button" ) PORT_DIPLOCATION("SW4:3") // Off for 'corner type' - PORT_DIPSETTING( 0x04, "Start Button" ) - PORT_DIPSETTING( 0x00, "F/F Button" ) - PORT_DIPNAME( 0x08, 0x00, "Auto Reach" ) PORT_DIPLOCATION("SW4:4") - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x00, "Full Test" ) PORT_DIPLOCATION("SW4:5") // 4 koma comic test - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x00, "Background" ) PORT_DIPLOCATION("SW4:6") - PORT_DIPSETTING( 0x20, "Black" ) - PORT_DIPSETTING( 0x00, "Green" ) - PORT_DIPNAME( 0x40, 0x40, "Book (Stage) Select" ) PORT_DIPLOCATION("SW4:7") - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x00, "Yakuman Match" ) PORT_DIPLOCATION("SW4:8") - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) +static INPUT_PORTS_START( cafedoll ) + // The manual provides three sets of standard settings: + // 標準設定 シングル向け 標準設定 メダル コーナー向け 標準設定 アミューズ コーナー向け + // SW 1 OFF OFF OFF ON ON ON OFF ON ON OFF OFF OFF OFF ON ON ON OFF ON ON OFF ON OFF OFF ON OFF OFF ON OFF ON OFF + // SW 2 OFF OFF OFF OFF ON ON ON ON ON ON OFF OFF OFF OFF ON ON ON ON ON ON OFF OFF OFF OFF ON ON ON ON ON ON + // SW 3 ON OFF ON ON ON OFF OFF ON OFF OFF OFF ON ON ON ON OFF OFF ON OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF ON ON + // SW 4 OFF ON ON ON ON ON ON ON OFF OFF ON ON ON ON OFF ON ON ON ON OFF ON ON ON ON OFF ON ON ON ON OFF - PORT_START("DSWTOP") // IN15, actually dips 9-10 of the first 4 banks - PORT_DIPNAME( 0x01, 0x00, "Credits Per Note" ) PORT_DIPLOCATION("SW1:9") - PORT_DIPSETTING( 0x01, "5" ) - PORT_DIPSETTING( 0x00, "10" ) - PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:10") - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:9") - PORT_DIPSETTING( 0x00, DEF_STR( Normal ) ) - PORT_DIPSETTING( 0x04, DEF_STR( Hard ) ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:10") // listed as Unused OFF - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x30, 0x30, "Quiz Questions Table" ) PORT_DIPLOCATION("SW3:9,10") - PORT_DIPSETTING( 0x30, "A" ) - PORT_DIPSETTING( 0x20, "B" ) - PORT_DIPSETTING( 0x10, "C" ) - PORT_DIPSETTING( 0x00, "D" ) - PORT_DIPNAME( 0x40, 0x40, "Yakuman Match Frequency" ) PORT_DIPLOCATION("SW4:9") - PORT_DIPSETTING( 0x00, DEF_STR( Normal ) ) - PORT_DIPSETTING( 0x40, "Often" ) - PORT_DIPNAME( 0x80, 0x80, "4 Koma Comic Type" ) PORT_DIPLOCATION("SW4:10") - PORT_DIPSETTING( 0x00, "A" ) - PORT_DIPSETTING( 0x80, "B" ) + PORT_INCLUDE( mjctrl2 ) + + PORT_START("DSW1") // IN11 + MAHJONG_PAYOUT_RATE(0, "SW 1:1,2,3,4") // PAY-OUT RATE + MAHJONG_ODDS_RATE(4, "SW 1:5,6") // ODDS RATE + PORT_DIPNAME( 0xc0, 0x40, "Maximum Bet" ) PORT_DIPLOCATION("SW 1:7,8") // BET-MAX + PORT_DIPSETTING( 0xc0, "1" ) + PORT_DIPSETTING( 0x80, "5" ) + PORT_DIPSETTING( 0x40, "10" ) + PORT_DIPSETTING( 0x00, "20" ) + + PORT_START("DSW2") // IN12 + MAHJONG_COINAGE(0, "SW 2:1,2") // COIN RATE + PORT_DIPNAME( 0x0c, 0x0c, "Minimum Bet" ) PORT_DIPLOCATION("SW 2:3,4") // ゲーム・スタート時の最低レート数 + PORT_DIPSETTING( 0x0c, "1" ) // レート 1 + PORT_DIPSETTING( 0x08, "2" ) // レート 2 + PORT_DIPSETTING( 0x04, "3" ) // レート 3 + PORT_DIPSETTING( 0x00, "5" ) // レート 5 + PORT_DIPNAME( 0x30, 0x00, "Credit Limit" ) PORT_DIPLOCATION("SW 2:5,6") // クレジット・コインリミット + PORT_DIPSETTING( 0x30, "300" ) + PORT_DIPSETTING( 0x20, "500" ) + PORT_DIPSETTING( 0x10, "700" ) + PORT_DIPSETTING( 0x00, "1000" ) + PORT_DIPNAME( 0x40, 0x00, "Double Bet" ) PORT_DIPLOCATION("SW 2:7") // W-BET機能 + PORT_DIPSETTING( 0x40, DEF_STR(Off) ) // 無 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有 + PORT_DIPNAME( 0x80, 0x00, "Renchan Rate" ) PORT_DIPLOCATION("SW 2:8") // 連荘レート + PORT_DIPSETTING( 0x80, DEF_STR(Off) ) // 無 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有 + + PORT_START("DSW3") // IN13 + PORT_DIPNAME( 0x03, 0x02, "Bonus Chance Cycle" ) PORT_DIPLOCATION("SW 3:1,2") // ボーナス・チャンスの設定周期 + PORT_DIPSETTING( 0x03, "First time only" ) // 初回のみ + PORT_DIPSETTING( 0x02, "Every 500 coins" ) // 500コイン毎 + PORT_DIPSETTING( 0x01, "Every 700 coins" ) // 700コイン毎 + PORT_DIPSETTING( 0x00, "Every 1000 coins" ) // 1000コイン毎 + PORT_DIPNAME( 0x04, 0x00, "Bonus Chances Per Cycle" ) PORT_DIPLOCATION("SW 3:3") // ボーナス・チャンスの回数設定周期毎に + PORT_DIPSETTING( 0x00, "1" ) // 1回 + PORT_DIPSETTING( 0x04, "2" ) // 2回 + PORT_DIPNAME( 0x18, 0x00, "Bonus Chance Combination" ) PORT_DIPLOCATION("SW 3:4,5") // ボーナス・チャンスの組みあわせ + PORT_DIPSETTING( 0x18, "No Bonus Chance" ) // ボーナス・チャンス無し + PORT_DIPSETTING( 0x10, "Yakuman Chance Only" ) // 役満チャンスのみ + PORT_DIPSETTING( 0x08, "Renzoku Chance Only" ) // 連続チャンスのみ + PORT_DIPSETTING( 0x00, "(A) Yakuman Chance and (B) Renzoku Chance" ) // (A)役満チャンスと(B)連続チャンス + PORT_DIPNAME( 0x60, 0x60, "Ratio of (A) and (B) When Combined" ) PORT_DIPLOCATION("SW 3:6,7") // 組み合わせ複合時の(A)(B)の出率 + PORT_DIPSETTING( 0x60, "Equal" ) // 同等 + PORT_DIPSETTING( 0x40, "More of (A)" ) // (A)が多い + PORT_DIPSETTING( 0x20, "More of (B)" ) // (B)が多い + PORT_DIPNAME( 0x80, 0x00, "Renzoku Chance Payout" ) PORT_DIPLOCATION("SW 3:8") // 連続チャンスの配当 + PORT_DIPSETTING( 0x80, DEF_STR(Low) ) // 小さい + PORT_DIPSETTING( 0x00, DEF_STR(Normal) ) // 通常 + + PORT_START("DSW4") // IN14 + PORT_DIPNAME( 0x01, 0x00, DEF_STR(Demo_Sounds) ) PORT_DIPLOCATION("SW 4:1") // デモ・サウンド + PORT_DIPSETTING( 0x01, DEF_STR(Off) ) // 無 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有 + PORT_DIPNAME( 0x02, 0x00, "In-Game Music" ) PORT_DIPLOCATION("SW 4:2") // ゲーム・サウンド + PORT_DIPSETTING( 0x02, DEF_STR(Off) ) // 無 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有 + PORT_DIPNAME( 0x04, 0x00, "Background Color" ) PORT_DIPLOCATION("SW 4:3") // バック・カラー + PORT_DIPSETTING( 0x04, "Black" ) // 黒 + PORT_DIPSETTING( 0x00, "Green" ) // グリーン + PORT_DIPNAME( 0x08, 0x00, "Last Chance" ) PORT_DIPLOCATION("SW 4:4") // ラスト・チャンス + PORT_DIPSETTING( 0x08, DEF_STR(Off) ) // 無 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有 + PORT_DIPNAME( 0x10, 0x00, "Don Den Button" ) PORT_DIPLOCATION("SW 4:5") // Don・Den 機能ボタン変更 + PORT_DIPSETTING( 0x10, "Start" ) // スタート・ボタ + PORT_DIPSETTING( 0x00, "Flip Flop" ) // F/F・ボタン + PORT_DIPNAME( 0x20, 0x00, "Show 4-Panel Comics" ) PORT_DIPLOCATION("SW 4:6") // 4コマ・漫画表示 + PORT_DIPSETTING( 0x20, DEF_STR(Off) ) // 無 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有 + PORT_DIPNAME( 0x40, 0x00, "Quiz Bonus" ) PORT_DIPLOCATION("SW 4:7") // クイズ・ボーナス + PORT_DIPSETTING( 0x40, DEF_STR(Off) ) // 無 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有 + PORT_DIPNAME( 0x80, 0x00, "Mid-Game Bonus Game" ) PORT_DIPLOCATION("SW 4:8") // ゲーム中のボーナス ゲーム + PORT_DIPSETTING( 0x80, DEF_STR(Off) ) // 無 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有 + + PORT_START("DSWTOP") // IN15, actually switches 9-10 of the first 4 banks + MAHJONG_NOTE_CREDITS(0, "SW 1:9", "DSW2", 0) // NOTE RATE + PORT_DIPNAME( 0x02, 0x02, DEF_STR(Flip_Screen) ) PORT_DIPLOCATION("SW 1:10") // モニター画面反転 + PORT_DIPSETTING( 0x02, DEF_STR(Off) ) // 通常 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 反転 + PORT_DIPNAME( 0x04, 0x00, "Computer Strength" ) PORT_DIPLOCATION("SW 2:9") // コンピューターの強さ + PORT_DIPSETTING( 0x00, DEF_STR(Normal) ) // 普通 + PORT_DIPSETTING( 0x04, "Strong" ) // 強い + PORT_DIPNAME( 0x08, 0x00, "Auto Reach" ) PORT_DIPLOCATION("SW 2:10") // オート・リーチ機能 + PORT_DIPSETTING( 0x08, DEF_STR(Off) ) // 無 + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有 + PORT_DIPNAME( 0x10, 0x10, "Game Type" ) PORT_DIPLOCATION("SW 3:9") // ゲーム タイプ + PORT_DIPSETTING( 0x10, "Credit Type" ) // クレジット タイプ + PORT_DIPSETTING( 0x00, "Credit Timer Type" ) // クレジット タイマー タイプ + PORT_DIPNAME( 0x20, 0x20, "Game Start Rate 1" ) PORT_DIPLOCATION("SW 3:10") // ゲームスタート レート1 + PORT_DIPSETTING( 0x20, DEF_STR(Normal) ) // 通常 + PORT_DIPSETTING( 0x00, "Fixed" ) // 固定 + PORT_DIPNAME( 0x40, 0x40, "Just Time Bonus Standard Settings" ) PORT_DIPLOCATION("SW 4:9") // ジャスト・タイム・ボーナス 標準設定 + PORT_DIPSETTING( 0x40, "Single" ) // シングル向け + PORT_DIPSETTING( 0x00, "Medal Corner" ) // メダル コーナー向け + PORT_DIPNAME( 0x80, 0x80, DEF_STR(Unknown) ) PORT_DIPLOCATION("SW 4:10") // OFF固定 + PORT_DIPSETTING( 0x80, DEF_STR(Off) ) + PORT_DIPSETTING( 0x00, DEF_STR(On) ) INPUT_PORTS_END static INPUT_PORTS_START( ippatsu ) @@ -3344,7 +3383,7 @@ static INPUT_PORTS_START( ippatsu ) PORT_START("DSW1") // DSW (inport $10) - PORT_DIPNAME( 0x0f, 0x0f, "Pay Out Rate" ) + PORT_DIPNAME( 0x0f, 0x0f, "Payout Rate" ) PORT_DIPLOCATION("MAIN SW:1,2,3,4") // PAY OUT RATE PORT_DIPSETTING( 0x0f, "96%" ) PORT_DIPSETTING( 0x0e, "93%" ) PORT_DIPSETTING( 0x0d, "90%" ) @@ -3361,65 +3400,64 @@ static INPUT_PORTS_START( ippatsu ) PORT_DIPSETTING( 0x02, "56%" ) PORT_DIPSETTING( 0x01, "53%" ) PORT_DIPSETTING( 0x00, "50%" ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x60, 0x60, "Maximum Bet" ) + PORT_DIPNAME( 0x10, 0x10, DEF_STR(Unknown) ) PORT_DIPLOCATION("MAIN SW:5") + PORT_DIPSETTING( 0x10, DEF_STR(Off) ) + PORT_DIPSETTING( 0x00, DEF_STR(On) ) + PORT_DIPNAME( 0x60, 0x60, "Maximum Bet" ) PORT_DIPLOCATION("MAIN SW:6,7") // BET MAX PORT_DIPSETTING( 0x00, "1" ) PORT_DIPSETTING( 0x20, "5" ) PORT_DIPSETTING( 0x40, "7" ) PORT_DIPSETTING( 0x60, "10" ) - PORT_DIPNAME( 0x80, 0x80, "First Chance" ) - PORT_DIPSETTING( 0x00, DEF_STR( No ) ) - PORT_DIPSETTING( 0x80, DEF_STR( Yes ) ) + PORT_DIPNAME( 0x80, 0x80, "Open Reach" ) PORT_DIPLOCATION("MAIN SW:8") // OPEN リーチ + PORT_DIPSETTING( 0x00, DEF_STR(Off) ) // ナシ + PORT_DIPSETTING( 0x80, DEF_STR(On) ) // アリ PORT_START("DSW2") // DSW (inport $12) - PORT_DIPNAME( 0x03, 0x03, "Cut" ) - PORT_DIPSETTING( 0x00, DEF_STR( No ) ) - PORT_DIPSETTING( 0x02, "2 Bai" ) - PORT_DIPSETTING( 0x01, "3 Bai" ) - PORT_DIPSETTING( 0x03, "Yakuman" ) - PORT_DIPNAME( 0x0c, 0x0c, "Yakuman Bonus" ) - PORT_DIPSETTING( 0x00, "32" ) - PORT_DIPSETTING( 0x04, "100" ) - PORT_DIPSETTING( 0x08, "200" ) - PORT_DIPSETTING( 0x0c, "300" ) - PORT_DIPNAME( 0x30, 0x30, "Unknown 1-4&5*" ) - PORT_DIPSETTING( 0x00, "3" ) - PORT_DIPSETTING( 0x10, "4" ) - PORT_DIPSETTING( 0x20, "5" ) - PORT_DIPSETTING( 0x30, "6" ) - PORT_DIPNAME( 0x40, 0x40, "Unknown 1-6*" ) - PORT_DIPSETTING( 0x00, "3" ) - PORT_DIPSETTING( 0x40, "5" ) - PORT_DIPNAME( 0x80, 0x80, "Unknown 1-7" ) - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x03, 0x03, "Cut" ) PORT_DIPLOCATION("SUB SW-1:1,2") + PORT_DIPSETTING( 0x00, DEF_STR(Off) ) // CUT ナシ + PORT_DIPSETTING( 0x01, "Baiman" ) // バイマン      CUT + PORT_DIPSETTING( 0x02, "Sanbaiman" ) // 3バイマン     CUT + PORT_DIPSETTING( 0x03, "Yakuman" ) // ヤクマン      CUT + PORT_DIPNAME( 0x0c, 0x0c, "Yakuman Payout" ) PORT_DIPLOCATION("SUB SW-1:3,4") // ハイトウ + PORT_DIPSETTING( 0x00, "32" ) // D    (32) + PORT_DIPSETTING( 0x04, "100" ) // C   (100) + PORT_DIPSETTING( 0x08, "200" ) // B   (200) + PORT_DIPSETTING( 0x0c, "300" ) // A   (300) + PORT_DIPNAME( 0x30, 0x30, "Double-Up Count" ) PORT_DIPLOCATION("SUB SW-1:5,6") // ダブル UP + PORT_DIPSETTING( 0x00, "3" ) // 3カイ + PORT_DIPSETTING( 0x10, "4" ) // 4カイ + PORT_DIPSETTING( 0x20, "5" ) // 5カイ + PORT_DIPSETTING( 0x30, "6" ) // 6カイ + PORT_DIPNAME( 0x40, 0x40, "Last Chance Count" ) PORT_DIPLOCATION("SUB SW-1:7") // ラストチャンス + PORT_DIPSETTING( 0x00, "3" ) // 3カイ + PORT_DIPSETTING( 0x40, "5" ) // 5カイ + PORT_DIPNAME( 0x80, 0x80, DEF_STR(Unknown) ) PORT_DIPLOCATION("SUB SW-1:8") // (未使用) + PORT_DIPSETTING( 0x80, DEF_STR(Off) ) + PORT_DIPSETTING( 0x00, DEF_STR(On) ) PORT_START("DSW3") // DSW (inport $13) - PORT_DIPNAME( 0x01, 0x01, "Unknown 2-0*" ) - PORT_DIPSETTING( 0x00, DEF_STR( No ) ) - PORT_DIPSETTING( 0x01, DEF_STR( Yes ) ) - PORT_DIPNAME( 0x02, 0x02, "Second Bonus" ) - PORT_DIPSETTING( 0x00, DEF_STR( No ) ) - PORT_DIPSETTING( 0x02, DEF_STR( Yes ) ) - PORT_DIPNAME( 0x04, 0x04, "Allow Bets" ) - PORT_DIPSETTING( 0x00, DEF_STR( No ) ) - PORT_DIPSETTING( 0x04, DEF_STR( Yes ) ) - PORT_DIPNAME( 0x18, 0x18, "Unknown 2-3&4*" ) - PORT_DIPSETTING( 0x00, DEF_STR( No ) ) - PORT_DIPSETTING( 0x18, "2" ) - PORT_DIPSETTING( 0x10, "4" ) - PORT_DIPSETTING( 0x08, "8" ) - PORT_DIPNAME( 0x20, 0x20, "Unknown 2-5" ) - PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, "Unknown 2-6" ) - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, "Unknown 2-7" ) - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x01, 0x01, "Double Chance (1/8)" ) PORT_DIPLOCATION("SUB SW-2:1") // DOUBLEチャンス(1/8) + PORT_DIPSETTING( 0x00, DEF_STR(Off) ) // ナシ + PORT_DIPSETTING( 0x01, DEF_STR(On) ) // アリ + PORT_DIPNAME( 0x02, 0x02, "Second Bonus" ) PORT_DIPLOCATION("SUB SW-2:2") // 2nd BONUS + PORT_DIPSETTING( 0x00, DEF_STR(Off) ) // ナシ + PORT_DIPSETTING( 0x02, DEF_STR(On) ) // アリ + PORT_DIPNAME( 0x04, 0x04, "Double Bet" ) PORT_DIPLOCATION("SUB SW-2:3") // DOUBLE BET + PORT_DIPSETTING( 0x00, DEF_STR(Off) ) // ナシ + PORT_DIPSETTING( 0x04, DEF_STR(On) ) // アリ + PORT_DIPNAME( 0x18, 0x18, "Heart Chance" ) PORT_DIPLOCATION("SUB SW-2:4,5") + PORT_DIPSETTING( 0x00, DEF_STR(Off) ) // ハートチャンス    ナシ + PORT_DIPSETTING( 0x08, "1/8 (12.5%)" ) // 1/8  (12.5%)   アリ + PORT_DIPSETTING( 0x10, "1/4 (25%)" ) // 1/4   (25%)   アリ + PORT_DIPSETTING( 0x18, "1/2 (50%)" ) // 1/2   (50%)   アリ + PORT_DIPNAME( 0x60, 0x60, "Payout Limit" ) PORT_DIPLOCATION("SUB SW-2:6,7") // ウチドメクレジト + PORT_DIPSETTING( 0x60, "300" ) + PORT_DIPSETTING( 0x40, "500" ) + PORT_DIPSETTING( 0x20, "800" ) + PORT_DIPSETTING( 0x00, "1000" ) + PORT_DIPNAME( 0x80, 0x80, "Show Payout Limit" ) PORT_DIPLOCATION("SUB SW-2:8") // メッセージ + PORT_DIPSETTING( 0x00, DEF_STR(Off) ) // ナシ + PORT_DIPSETTING( 0x80, DEF_STR(On) ) // アリ INPUT_PORTS_END static INPUT_PORTS_START( mjdejavu ) @@ -4456,6 +4494,17 @@ ROM_START( janyoup2a ) ROM_LOAD( "n82s123n.c98", 0x0000, 0x0020, CRC(d3007282) SHA1(e4d863ab193e49208ed0f59dcddb1da0492314f6) ) ROM_END +ROM_START( janyoup2702 ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "1.11a", 0x0000, 0x2000, CRC(d51d8525) SHA1(46a181141c6a64114bf025e6ea5f2e2e23f8ce62) ) + ROM_LOAD( "2.10a", 0x2000, 0x2000, CRC(324426d4) SHA1(409244c8458d9bafa325746c37de9e7b955b3787) ) + ROM_LOAD( "3.8a", 0x4000, 0x2000, CRC(cc4fed44) SHA1(11362654f8a40f594f90b84abf24e624c3e83eb0) ) + ROM_LOAD( "4.7a", 0x6000, 0x1000, CRC(377b8ce9) SHA1(a5efc517ae975e54af5325b8b3f4867e9f449d4c) ) + + ROM_REGION( 0x0020, "proms", 0 ) + ROM_LOAD( "n82s123n.c98", 0x0000, 0x0020, CRC(d3007282) SHA1(e4d863ab193e49208ed0f59dcddb1da0492314f6) ) +ROM_END + ROM_START( seljan ) // Z80A + HD46505SP + AY891X (a sticker covers the chip type) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "2", 0x0000, 0x2000, CRC(8d26d334) SHA1(4ac0f0961f666954caf59336f8389312db9dc263) ) // ok @@ -5490,7 +5539,21 @@ ROM_START( janoh ) ROM_LOAD( "rom7.p6", 0x6000, 0x1000, NO_DUMP ) ROM_REGION( 0x20, "proms", 0 ) - ROM_LOAD( "janho.color", 0x00, 0x20, NO_DUMP ) + ROM_LOAD( "janoh.color", 0x00, 0x20, NO_DUMP ) +ROM_END + +ROM_START( janohb ) // same set was also found with the first 6 ROMs combined in 3 bigger capacity ROMs + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "jo1.1", 0x0000, 0x1000, CRC(8fc19963) SHA1(309e941c059a97b117090fd9dd69a00031aa6109) ) // "1984 JAN OH" + ROM_LOAD( "jo2.2", 0x1000, 0x1000, CRC(13b44a7d) SHA1(30ed6bda1597fb123e0e6104ef87cef48f3039a3) ) + ROM_LOAD( "jo3.3", 0x2000, 0x1000, CRC(6efcaf89) SHA1(e7a8035b1ecd468a6054926a263f22741635e0df) ) // "JANOH TOAPLAN 84" + ROM_LOAD( "jo4.4", 0x3000, 0x1000, CRC(9186f02c) SHA1(b7dc2d6c19e67dd3f841cbb56df9589e3e6941f7) ) + ROM_LOAD( "jo5.5", 0x4000, 0x1000, CRC(3c8d1f2a) SHA1(9e05f310a6d8a485a1005fc35ac2e3a79410a507) ) + ROM_LOAD( "jo6.6", 0x5000, 0x1000, CRC(92687327) SHA1(4fafba5881dca2a147616d94dd055eba6aa3c653) ) + ROM_LOAD( "jo7.7", 0x6000, 0x1000, CRC(774cb324) SHA1(930d6643fcd7e479a68811e775144d46f0183636) ) + + ROM_REGION( 0x20, "proms", 0 ) + ROM_LOAD( "janoh.color", 0x00, 0x20, CRC(74a53e94) SHA1(ca9114bd9b2b07f5abe82616b41ae9fdb9537a4f) ) ROM_END /*************************************************************************** @@ -5896,14 +5959,12 @@ ROM_START( jangtaku ) ROM_LOAD( "82s123a.6k", 0x0000, 0x0020, CRC(e9598146) SHA1(619e7eb76cc3e882b5b3e55cdd23fe00b0a1fe45) ) ROM_END -ROM_START( rkjanoh2 ) +ROM_START( rkjanoh2 ) // dump confirmed from 2 PCBs, only difference being 0x4b instead of 0x46 at 0x2a22 ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "pf_1", 0x000000, 0x001000, CRC(582e7eda) SHA1(96578b6142051d9452f23c8c1b674e2d8a4c3b62) ) ROM_LOAD( "pf_2", 0x001000, 0x001000, CRC(49e7dc40) SHA1(d6232a82b6927c79dd47884e5e2a6589c5524424) ) ROM_LOAD( "pf_3_1", 0x002000, 0x001000, CRC(a1fdc929) SHA1(27cab4da2365bcf311d7f00d75e8db150183b108) ) ROM_LOAD( "pf_4l", 0x003000, 0x001000, CRC(c9ccdfa0) SHA1(ce6f2df7fb6739ddf0529bcae0596e4593ecc3e0) ) - //ROM_LOAD( "pf_4_fewest", 0x003000, 0x001000, CRC(9a1650a0) SHA1(2da5957879d9f207721fc2f0d63dccc32850cbe2) ) - //ROM_LOAD( "pf_4_middle", 0x003000, 0x001000, CRC(b1a721d8) SHA1(de24ec4bac7ec761c7b25a7ba62b850006444bbc) ) ROM_LOAD( "pf_5", 0x004000, 0x001000, CRC(8a858464) SHA1(55c71ce1c30e908dfc8c21237256dfbb75c55363) ) ROM_LOAD( "pf_6", 0x005000, 0x001000, CRC(5b649918) SHA1(191a221a515c261d90d7432443a7fbc8da71e7ac) ) ROM_LOAD( "pf_7", 0x006000, 0x001000, CRC(c4fdd2ac) SHA1(76c5645534b87dde87acfb4140d0f3ba18c95cd2) ) @@ -6006,6 +6067,18 @@ ROM_START( dragonmj ) // MJ911 PCB, as ichiban. TODO: how does the banking work? ROM_LOAD( "b.u38", 0x400, 0x200, CRC(6b2fa97a) SHA1(7f8e33f2132348eaca1af55062b280e0a9234ac9) ) ROM_END +ROM_START( dragonmj103 ) + ROM_REGION( 0x60000, "maincpu", 0 ) // opcodes in first half are mixed with pseudo-random garbage + ROM_LOAD( "3_excel.u15", 0x00000, 0x20000, CRC(437a8b32) SHA1(527dbb924fd6844757781e230f34ca1585d269b7) ) + ROM_LOAD( "oct_no1.u28", 0x20000, 0x20000, CRC(0142aed1) SHA1(1ee627d6cbddeafbe1407fd569704ec511874c60) ) + ROM_LOAD( "oct_no2.u14", 0x40000, 0x20000, CRC(40310894) SHA1(072418ed995e8dda1b47b59483a5139d731ed542) ) + + ROM_REGION( 0x600, "proms", 0 ) + ROM_LOAD( "r.u36", 0x000, 0x200, CRC(1c5d555b) SHA1(cc9bc20d3ef5397acf3f3e195d59c7a633e6500e) ) + ROM_LOAD( "g.u37", 0x200, 0x200, CRC(eb40711b) SHA1(2ed08fd86dc4f578536ebf65f377c63c8fdc6e07) ) + ROM_LOAD( "b.u38", 0x400, 0x200, CRC(6b2fa97a) SHA1(7f8e33f2132348eaca1af55062b280e0a9234ac9) ) +ROM_END + /* Pong Boo! 2 by OCT @@ -6226,56 +6299,59 @@ void royalmah_prgbank_state::init_pongboo2() // the original Janputer (Sanritsu) is not yet dumped, basically Royal Mahjong but non-BET type -GAME( 1981, royalmj, 0, royalmah, royalmah, royalmah_state, empty_init, ROT0, "Nichibutsu", "Royal Mahjong (Japan, v1.13)", 0 ) -GAME( 1981?, openmj, royalmj, royalmah, royalmah, royalmah_state, empty_init, ROT0, "Sapporo Mechanic", "Open Mahjong (Japan)", 0 ) -GAME( 1982, royalmah, royalmj, royalmah, royalmah, royalmah_state, empty_init, ROT0, "bootleg", "Royal Mahjong (Falcon bootleg, v1.01)", 0 ) -GAME( 1984?, chalgirl, 0, chalgirl, royalmah, royalmah_prgbank_state, init_chalgirl, ROT0, "bootleg", "Challenge Girl (Falcon bootleg)", MACHINE_WRONG_COLORS | MACHINE_NOT_WORKING ) // verify ROM loading / banking, bad girl colors -GAME( 1983, seljan, 0, seljan, seljan, royalmah_state, empty_init, ROT0, "Jem / Dyna Corp", "Sel-Jan (Japan)", 0 ) -GAME( 1983, janyoup2, royalmj, janyoup2, janyoup2, royalmah_state, empty_init, ROT0, "Cosmo Denshi", "Janyou Part II (ver 7.03, July 1 1983)",0 ) -GAME( 1983, janyoup2a,royalmj, janyoup2, janyoup2, royalmah_state, empty_init, ROT0, "Cosmo Denshi", "Janyou Part II (ver 7.03, July 1 1983, no title screen)",0 ) -GAME( 1985, tahjong, royalmj, tahjong, tahjong, royalmah_prgbank_state, init_tahjong, ROT0, "Bally Pond / Nasco", "Tahjong Yakitori (ver. 2-1)", 0 ) // 1985 Jun. 17 -GAME( 1981, janputer, 0, royalmah, royalmah, royalmah_state, empty_init, ROT0, "bootleg (Paradise Denshi Ltd. / Mes)", "New Double Bet Mahjong (bootleg of Royal Mahjong, set 1)", 0 ) // MT #05392 -GAME( 1981, janputera,janputer, royalmah, royalmah, royalmah_state, empty_init, ROT0, "bootleg (Paradise Denshi Ltd. / Ever Denshi)", "New Double Bet Mahjong (bootleg of Royal Mahjong, set 2)", 0 ) -GAME( 1990, akamj, 0, ippatsu, ippatsu, royalmah_state, empty_init, ROT0, "bootleg (Paradise Electronics)", "Aka Mahjong (Double Bet, ver 1 16)", 0 ) -GAME( 1984, rkjanoh2, 0, rkjanoh2, royalmah, royalmah_prgbank_state, init_chalgirl, ROT0, "SNK / Dyna Corp", "Royal King Jang Oh 2 (v4.00 1984 Jun 10th)", MACHINE_WRONG_COLORS | MACHINE_NOT_WORKING ) // never seems to set the palette bank? -GAME( 1984, janoh, 0, janoh, royalmah, royalmah_state, empty_init, ROT0, "Toaplan", "Jan Oh (set 1)", MACHINE_NOT_WORKING ) -GAME( 1984, janoha, janoh, janoha, royalmah, royalmah_state, empty_init, ROT0, "Toaplan", "Jan Oh (set 2)", MACHINE_NOT_WORKING ) // this one is complete? -GAME( 1985, jansou, 0, jansou, jansou, royalmah_state, init_jansou, ROT0, "Dyna Computer", "Jansou (set 1)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) -GAME( 1985, jansoua, jansou, jansou, jansou, royalmah_state, init_jansou, ROT0, "Dyna Computer", "Jansou (V 1.1)", 0 ) -GAME( 1986, jangtaku, 0, jansou, jansou, royalmah_state, init_jansou, ROT0, "Dyna Computer", "Jang Taku (V 1.3)", 0 ) -GAME( 1986, dondenmj, 0, dondenmj, majs101b, royalmah_prgbank_state, init_dynax, ROT0, "Dyna Electronics", "Don Den Mahjong (Japan)", 0 ) -GAME( 1986, ippatsu, 0, ippatsu, ippatsu, royalmah_state, empty_init, ROT0, "Public Software / Paradais", "Ippatsu Gyakuten (Japan)", 0 ) -GAME( 1986, suzume, 0, suzume, suzume, royalmah_prgbank_state, init_suzume, ROT0, "Dyna Electronics", "Watashiha Suzumechan (Japan)", 0 ) -GAME( 1986, jongshin, 0, jongshin, jongshin, royalmah_prgbank_state, init_jongshin, ROT0, "Dyna Electronics", "Jong Shin (Japan)", 0 ) -GAME( 1986, mjsiyoub, 0, mjsiyoub, mjyarou, royalmah_prgbank_state, init_mjsiyoub, ROT0, "Visco", "Mahjong Shiyou (Japan)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_COLORS | MACHINE_NOT_WORKING ) // MSM5205 isn't hooked up, colors need to be verified against original -GAME( 1986, mjsenka, 0, mjsenka, mjyarou, royalmah_prgbank_state, init_mjsenka, ROT0, "Visco", "Mahjong Senka (Japan)", MACHINE_WRONG_COLORS | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING ) // never seems to set the palette bank? -GAME( 1986, mjyarou, 0, mjyarou, mjyarou, royalmah_prgbank_state, init_chalgirl, ROT0, "Visco / Video System", "Mahjong Yarou (Japan, set 1)", MACHINE_WRONG_COLORS | MACHINE_IMPERFECT_GRAPHICS ) // never seems to set the palette bank? -GAME( 1986, mjyarou2, mjyarou, mjyarou, mjyarou, royalmah_prgbank_state, init_chalgirl, ROT0, "Visco / Video System", "Mahjong Yarou (Japan, set 2)", MACHINE_WRONG_COLORS | MACHINE_IMPERFECT_GRAPHICS ) // never seems to set the palette bank? -GAME( 1986?, mjclub, 0, mjclub, mjclub, royalmah_prgbank_state, init_tontonb, ROT0, "Xex", "Mahjong Club (Japan)", 0 ) -GAME( 1987, mjdiplob, 0, mjdiplob, mjdiplob, royalmah_prgbank_state, init_tontonb, ROT0, "Dynax", "Mahjong Diplomat (Japan)", 0 ) -GAME( 1987, tontonb, 0, tontonb, tontonb, royalmah_prgbank_state, init_tontonb, ROT0, "Dynax", "Tonton (Japan)", 0 ) -GAME( 1987, makaijan, 0, makaijan, makaijan, royalmah_prgbank_state, init_dynax, ROT0, "Dynax", "Makaijan (Japan)", 0 ) -GAME( 1988, majs101b, 0, majs101b, majs101b, royalmah_prgbank_state, init_dynax, ROT0, "Dynax", "Mahjong Studio 101 (Japan)", 0 ) -GAME( 1988, mjapinky, 0, mjapinky, mjapinky, royalmah_prgbank_state, init_tontonb, ROT0, "Dynax", "Almond Pinky (Japan)", 0 ) -GAME( 1989, mjdejavu, 0, mjdejavu, mjdejavu, royalmah_prgbank_state, init_mjifb, ROT0, "Dynax", "Mahjong Shinkirou Deja Vu (Japan)", MACHINE_NOT_WORKING ) // MT #00964 -GAME( 1989, mjdejav2, mjdejavu, mjdejavu, mjdejavu, royalmah_prgbank_state, init_mjifb, ROT0, "Dynax", "Mahjong Shinkirou Deja Vu 2 (Japan)", MACHINE_NOT_WORKING ) -GAME( 1989, mjderngr, 0, mjderngr, mjderngr, royalmah_prgbank_state, init_dynax, ROT0, "Dynax", "Mahjong Derringer (Japan)", 0 ) -GAME( 1989, daisyari, 0, daisyari, daisyari, royalmah_prgbank_state, init_daisyari, ROT0, "Best System", "Daisyarin (Japan)", 0 ) -GAME( 1990, mjifb, 0, mjifb, mjifb, royalmah_prgbank_state, init_mjifb, ROT0, "Dynax", "Mahjong If...?", 0 ) -GAME( 1990, mjifb2, mjifb, mjifb, mjifb, royalmah_prgbank_state, init_mjifb, ROT0, "Dynax", "Mahjong If...? (2921)", 0 ) -GAME( 1990, mjifb3, mjifb, mjifb, mjifb, royalmah_prgbank_state, init_mjifb, ROT0, "Dynax", "Mahjong If...? (2931)", 0 ) -GAME( 1991, mjvegasa, 0, mjvegasa, mjvegasa, royalmah_prgbank_state, init_mjvegasa, ROT0, "Dynax", "Mahjong Vegas (Japan, unprotected)", 0 ) -GAME( 1991, mjvegas, mjvegasa, mjvegas, mjvegasa, royalmah_prgbank_state, init_mjvegas, ROT0, "Dynax", "Mahjong Vegas (Japan)", 0 ) -GAME( 1992, cafetime, 0, cafetime, cafetime, royalmah_prgbank_state, init_cafetime, ROT0, "Dynax", "Mahjong Cafe Time", 0 ) -GAME( 1993, cafedoll, 0, cafedoll, cafetime, royalmah_prgbank_state, init_cafedoll, ROT0, "Dynax", "Mahjong Cafe Doll (Japan, Ver. 1.00)", MACHINE_NOT_WORKING ) // fails protection check (at 0x178 it puts 0x55 in 0xFFBF instead of 0x56 like the code expects and chaos ensues) -GAME( 1993, cafedollg,cafedoll, cafedoll, cafetime, royalmah_prgbank_state, init_cafedoll, ROT0, "Dynax", "Mahjong Cafe Doll Great (Japan, Ver. 1.00)", MACHINE_NOT_WORKING ) // fails protection check (at 0x178 it puts 0x55 in 0xFFBF instead of 0x56 like the code expects and chaos ensues) -GAME( 1993, ichiban, 0, ichiban, ichiban, royalmah_prgbank_state, init_ichiban, ROT0, "Excel", "Ichi Ban Jyan", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS ) // ROM banking is wrong, causing several GFX problems -GAME( 1993, dragonmj, 0, ichiban, ichiban, royalmah_prgbank_state, init_ichiban, ROT0, "OCT", "Dragon Mahjong (Ver 1.20)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS ) // " - DRAGON Ver1.20 1993/11/09 -GAME( 1995, mjtensin, 0, mjtensin, mjtensin, royalmah_prgbank_state, init_mjtensin, ROT0, "Dynax", "Mahjong Tensinhai (Japan)", MACHINE_NOT_WORKING ) -GAME( 1996, majrjhdx, 0, majrjh, mjtensin, royalmah_prgbank_state, init_mjtensin, ROT0, "Dynax", "Mahjong Raijinhai DX (Ver. D105)", 0 ) -GAME( 1996, majrjh, majrjhdx, majrjh, mjtensin, royalmah_prgbank_state, init_mjtensin, ROT0, "Dynax", "Mahjong Raijinhai (Ver. D105)", 0 ) -GAME( 1996, janptr96, 0, janptr96, janptr96, royalmah_prgbank_state, init_janptr96, ROT0, "Dynax", "Janputer '96 (Japan)", 0 ) -GAME( 1997, janptrsp, 0, janptr96, janptr96, royalmah_prgbank_state, init_janptr96, ROT0, "Dynax", "Janputer Special (Japan)", 0 ) -GAME( 1997, pongboo2, 0, pongboo2, ichiban, royalmah_prgbank_state, init_pongboo2, ROT0, "OCT", "Pong Boo! 2 (Ver. 1.31)", MACHINE_NOT_WORKING | MACHINE_WRONG_COLORS ) // banking, palette, inputs -GAME( 1999, cafebrk, 0, cafepara, cafetime, royalmah_prgbank_state, init_cafepara, ROT0, "Nakanihon / Dynax", "Mahjong Cafe Break (Ver. 1.01J)", MACHINE_NOT_WORKING ) // needs correct banking and / or 1d ROM descrambling -GAME( 1999, cafepara, 0, cafepara, cafetime, royalmah_prgbank_state, init_cafepara, ROT0, "Techno-Top", "Mahjong Cafe Paradise (Ver. 1.00)", MACHINE_NOT_WORKING ) // needs correct banking and / or 1d ROM descrambling +GAME( 1981, royalmj, 0, royalmah, royalmah, royalmah_state, empty_init, ROT0, "Nichibutsu", "Royal Mahjong (Japan, v1.13)", 0 ) +GAME( 1981?, openmj, royalmj, royalmah, royalmah, royalmah_state, empty_init, ROT0, "Sapporo Mechanic", "Open Mahjong (Japan)", 0 ) +GAME( 1982, royalmah, royalmj, royalmah, royalmah, royalmah_state, empty_init, ROT0, "bootleg", "Royal Mahjong (Falcon bootleg, v1.01)", 0 ) +GAME( 1984?, chalgirl, 0, chalgirl, royalmah, royalmah_prgbank_state, init_chalgirl, ROT0, "bootleg", "Challenge Girl (Falcon bootleg)", MACHINE_WRONG_COLORS | MACHINE_NOT_WORKING ) // verify ROM loading / banking, bad girl colors +GAME( 1983, seljan, 0, seljan, seljan, royalmah_state, empty_init, ROT0, "Jem / Dyna Corp", "Sel-Jan (Japan)", 0 ) +GAME( 1983, janyoup2, royalmj, janyoup2, janyoup2, royalmah_state, empty_init, ROT0, "Cosmo Denshi", "Janyou Part II (ver 7.03, July 1 1983)",0 ) +GAME( 1983, janyoup2a, royalmj, janyoup2, janyoup2, royalmah_state, empty_init, ROT0, "Cosmo Denshi", "Janyou Part II (ver 7.03, July 1 1983, no title screen)",0 ) +GAME( 1983, janyoup2702, royalmj, janyoup2, janyoup2, royalmah_state, empty_init, ROT0, "Cosmo Denshi", "Janyou Part II (ver 7.02, July 1 1983)",0 ) +GAME( 1985, tahjong, royalmj, tahjong, tahjong, royalmah_prgbank_state, init_tahjong, ROT0, "Bally Pond / Nasco", "Tahjong Yakitori (ver. 2-1)", 0 ) // 1985 Jun. 17 +GAME( 1981, janputer, 0, royalmah, royalmah, royalmah_state, empty_init, ROT0, "bootleg (Paradise Denshi Ltd. / Mes)", "New Double Bet Mahjong (bootleg of Royal Mahjong, set 1)", 0 ) // MT #05392 +GAME( 1981, janputera, janputer, royalmah, royalmah, royalmah_state, empty_init, ROT0, "bootleg (Paradise Denshi Ltd. / Ever Denshi)", "New Double Bet Mahjong (bootleg of Royal Mahjong, set 2)", 0 ) +GAME( 1990, akamj, 0, ippatsu, ippatsu, royalmah_state, empty_init, ROT0, "bootleg (Paradise Electronics)", "Aka Mahjong (Double Bet, ver 1 16)", 0 ) +GAME( 1984, rkjanoh2, 0, rkjanoh2, royalmah, royalmah_prgbank_state, init_chalgirl, ROT0, "SNK / Dyna Corp", "Royal King Jang Oh 2 (v4.00 1984 Jun 10th)", MACHINE_WRONG_COLORS | MACHINE_NOT_WORKING ) // never seems to set the palette bank? +GAME( 1984, janoh, 0, janoh, royalmah, royalmah_state, empty_init, ROT0, "Toaplan", "Jan Oh (set 1)", MACHINE_NOT_WORKING ) +GAME( 1984, janoha, janoh, janoha, royalmah, royalmah_state, empty_init, ROT0, "Toaplan", "Jan Oh (set 2)", MACHINE_NOT_WORKING ) // this one is complete? +GAME( 1984, janohb, janoh, janoh, royalmah, royalmah_state, empty_init, ROT0, "Toaplan", "Jan Oh (set 3)", MACHINE_NOT_WORKING ) +GAME( 1985, jansou, 0, jansou, jansou, royalmah_state, init_jansou, ROT0, "Dyna Computer", "Jansou (set 1)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) +GAME( 1985, jansoua, jansou, jansou, jansou, royalmah_state, init_jansou, ROT0, "Dyna Computer", "Jansou (V 1.1)", 0 ) +GAME( 1986, jangtaku, 0, jansou, jansou, royalmah_state, init_jansou, ROT0, "Dyna Computer", "Jang Taku (V 1.3)", 0 ) +GAME( 1986, dondenmj, 0, dondenmj, majs101b, royalmah_prgbank_state, init_dynax, ROT0, "Dyna Electronics", "Don Den Mahjong (Japan)", 0 ) +GAME( 1986, ippatsu, 0, ippatsu, ippatsu, royalmah_state, empty_init, ROT0, "Public Software / Paradais", "Ippatsu Gyakuten (Japan)", 0 ) +GAME( 1986, suzume, 0, suzume, suzume, royalmah_prgbank_state, init_suzume, ROT0, "Dyna Electronics", "Watashiha Suzumechan (Japan)", 0 ) +GAME( 1986, jongshin, 0, jongshin, jongshin, royalmah_prgbank_state, init_jongshin, ROT0, "Dyna Electronics", "Jong Shin (Japan)", 0 ) +GAME( 1986, mjsiyoub, 0, mjsiyoub, mjyarou, royalmah_prgbank_state, init_mjsiyoub, ROT0, "Visco", "Mahjong Shiyou (Japan)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_COLORS | MACHINE_NOT_WORKING ) // MSM5205 isn't hooked up, colors need to be verified against original +GAME( 1986, mjsenka, 0, mjsenka, mjyarou, royalmah_prgbank_state, init_mjsenka, ROT0, "Visco", "Mahjong Senka (Japan)", MACHINE_WRONG_COLORS | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING ) // never seems to set the palette bank? +GAME( 1986, mjyarou, 0, mjyarou, mjyarou, royalmah_prgbank_state, init_chalgirl, ROT0, "Visco / Video System", "Mahjong Yarou (Japan, set 1)", MACHINE_WRONG_COLORS | MACHINE_IMPERFECT_GRAPHICS ) // never seems to set the palette bank? +GAME( 1986, mjyarou2, mjyarou, mjyarou, mjyarou, royalmah_prgbank_state, init_chalgirl, ROT0, "Visco / Video System", "Mahjong Yarou (Japan, set 2)", MACHINE_WRONG_COLORS | MACHINE_IMPERFECT_GRAPHICS ) // never seems to set the palette bank? +GAME( 1986?, mjclub, 0, mjclub, mjclub, royalmah_prgbank_state, init_tontonb, ROT0, "Xex", "Mahjong Club (Japan)", 0 ) +GAME( 1987, mjdiplob, 0, mjdiplob, mjdiplob, royalmah_prgbank_state, init_tontonb, ROT0, "Dynax", "Mahjong Diplomat (Japan)", 0 ) +GAME( 1987, tontonb, 0, tontonb, tontonb, royalmah_prgbank_state, init_tontonb, ROT0, "Dynax", "Tonton (Japan)", 0 ) +GAME( 1987, makaijan, 0, makaijan, makaijan, royalmah_prgbank_state, init_dynax, ROT0, "Dynax", "Makaijan (Japan)", 0 ) +GAME( 1988, majs101b, 0, majs101b, majs101b, royalmah_prgbank_state, init_dynax, ROT0, "Dynax", "Mahjong Studio 101 (Japan)", 0 ) +GAME( 1988, mjapinky, 0, mjapinky, mjapinky, royalmah_prgbank_state, init_tontonb, ROT0, "Dynax", "Almond Pinky (Japan)", 0 ) +GAME( 1989, mjdejavu, 0, mjdejavu, mjdejavu, royalmah_prgbank_state, init_mjifb, ROT0, "Dynax", "Mahjong Shinkirou Deja Vu (Japan)", MACHINE_NOT_WORKING ) // MT #00964 +GAME( 1989, mjdejav2, mjdejavu, mjdejavu, mjdejavu, royalmah_prgbank_state, init_mjifb, ROT0, "Dynax", "Mahjong Shinkirou Deja Vu 2 (Japan)", MACHINE_NOT_WORKING ) +GAME( 1989, mjderngr, 0, mjderngr, mjderngr, royalmah_prgbank_state, init_dynax, ROT0, "Dynax", "Mahjong Derringer (Japan)", 0 ) +GAME( 1989, daisyari, 0, daisyari, daisyari, royalmah_prgbank_state, init_daisyari, ROT0, "Best System", "Daisyarin (Japan)", 0 ) +GAME( 1990, mjifb, 0, mjifb, mjifb, royalmah_prgbank_state, init_mjifb, ROT0, "Dynax", "Mahjong If...?", 0 ) +GAME( 1990, mjifb2, mjifb, mjifb, mjifb, royalmah_prgbank_state, init_mjifb, ROT0, "Dynax", "Mahjong If...? (2921)", 0 ) +GAME( 1990, mjifb3, mjifb, mjifb, mjifb, royalmah_prgbank_state, init_mjifb, ROT0, "Dynax", "Mahjong If...? (2931)", 0 ) +GAME( 1991, mjvegasa, 0, mjvegasa, mjvegasa, royalmah_prgbank_state, init_mjvegasa, ROT0, "Dynax", "Mahjong Vegas (Japan, unprotected)", 0 ) +GAME( 1991, mjvegas, mjvegasa, mjvegas, mjvegasa, royalmah_prgbank_state, init_mjvegas, ROT0, "Dynax", "Mahjong Vegas (Japan)", 0 ) +GAME( 1992, cafetime, 0, cafetime, cafetime, royalmah_prgbank_state, init_cafetime, ROT0, "Dynax", "Mahjong Cafe Time", 0 ) +GAME( 1993, cafedoll, 0, cafedoll, cafedoll, royalmah_prgbank_state, init_cafedoll, ROT0, "Dynax", "Mahjong Cafe Doll (Japan, Ver. 1.00)", MACHINE_NOT_WORKING ) // fails protection check (at 0x178 it puts 0x55 in 0xFFBF instead of 0x56 like the code expects and chaos ensues) +GAME( 1993, cafedollg, cafedoll, cafedoll, cafedoll, royalmah_prgbank_state, init_cafedoll, ROT0, "Dynax", "Mahjong Cafe Doll Great (Japan, Ver. 1.00)", MACHINE_NOT_WORKING ) // fails protection check (at 0x178 it puts 0x55 in 0xFFBF instead of 0x56 like the code expects and chaos ensues) +GAME( 1993, ichiban, 0, ichiban, ichiban, royalmah_prgbank_state, init_ichiban, ROT0, "Excel", "Ichi Ban Jyan", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS ) // ROM banking is wrong, causing several GFX problems +GAME( 1993, dragonmj, 0, ichiban, ichiban, royalmah_prgbank_state, init_ichiban, ROT0, "OCT", "Dragon Mahjong (Ver 1.20)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS ) // " - DRAGON Ver1.20 1993/11/09 +GAME( 1993, dragonmj103, dragonmj, ichiban, ichiban, royalmah_prgbank_state, init_ichiban, ROT0, "OCT", "Dragon Mahjong (Ver 1.03)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS ) // " - DRAGON Ver1.03 1993/10/16 +GAME( 1995, mjtensin, 0, mjtensin, mjtensin, royalmah_prgbank_state, init_mjtensin, ROT0, "Dynax", "Mahjong Tensinhai (Japan)", MACHINE_NOT_WORKING ) +GAME( 1996, majrjhdx, 0, majrjh, mjtensin, royalmah_prgbank_state, init_mjtensin, ROT0, "Dynax", "Mahjong Raijinhai DX (Ver. D105)", 0 ) +GAME( 1996, majrjh, majrjhdx, majrjh, mjtensin, royalmah_prgbank_state, init_mjtensin, ROT0, "Dynax", "Mahjong Raijinhai (Ver. D105)", 0 ) +GAME( 1996, janptr96, 0, janptr96, janptr96, royalmah_prgbank_state, init_janptr96, ROT0, "Dynax", "Janputer '96 (Japan)", 0 ) +GAME( 1997, janptrsp, 0, janptr96, janptr96, royalmah_prgbank_state, init_janptr96, ROT0, "Dynax", "Janputer Special (Japan)", 0 ) +GAME( 1997, pongboo2, 0, pongboo2, ichiban, royalmah_prgbank_state, init_pongboo2, ROT0, "OCT", "Pong Boo! 2 (Ver. 1.31)", MACHINE_NOT_WORKING | MACHINE_WRONG_COLORS ) // banking, palette, inputs +GAME( 1999, cafebrk, 0, cafepara, cafetime, royalmah_prgbank_state, init_cafepara, ROT0, "Nakanihon / Dynax", "Mahjong Cafe Break (Ver. 1.01J)", MACHINE_NOT_WORKING ) // needs correct banking and / or 1d ROM descrambling +GAME( 1999, cafepara, 0, cafepara, cafetime, royalmah_prgbank_state, init_cafepara, ROT0, "Techno-Top", "Mahjong Cafe Paradise (Ver. 1.00)", MACHINE_NOT_WORKING ) // needs correct banking and / or 1d ROM descrambling diff --git a/src/mame/edevices/mwarr.cpp b/src/mame/edevices/mwarr.cpp index ebad7b9d6182b..af33ca4d9661f 100644 --- a/src/mame/edevices/mwarr.cpp +++ b/src/mame/edevices/mwarr.cpp @@ -169,7 +169,7 @@ static INPUT_PORTS_START( mwarr ) PORT_START("SYSTEM") PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) - PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_CUSTOM ) // otherwise it doesn't boot (is service switch on stlforce) PORT_BIT( 0xfff0, IP_ACTIVE_LOW, IPT_UNKNOWN ) diff --git a/src/mame/edevices/pzletime.cpp b/src/mame/edevices/pzletime.cpp index ac66a98f857de..25b621ccc9ef3 100644 --- a/src/mame/edevices/pzletime.cpp +++ b/src/mame/edevices/pzletime.cpp @@ -226,7 +226,7 @@ static INPUT_PORTS_START( pzletime ) PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_SERVICE_NO_TOGGLE( 0x0004, IP_ACTIVE_LOW ) - PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", FUNC(eeprom_serial_93cxx_device::do_read)) diff --git a/src/mame/edevices/stlforce.cpp b/src/mame/edevices/stlforce.cpp index 39e9430b65fc0..9fb224ca25ae2 100644 --- a/src/mame/edevices/stlforce.cpp +++ b/src/mame/edevices/stlforce.cpp @@ -223,7 +223,7 @@ static INPUT_PORTS_START( stlforce ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_SERVICE_NO_TOGGLE( 0x0008, IP_ACTIVE_LOW ) - PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", FUNC(eeprom_serial_93cxx_device::do_read)) PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNUSED ) diff --git a/src/mame/emusys/emax.cpp b/src/mame/emusys/emax.cpp index b0e5dc89ccac4..5642e0a75e310 100644 --- a/src/mame/emusys/emax.cpp +++ b/src/mame/emusys/emax.cpp @@ -308,6 +308,6 @@ ROM_END } // anonymous namespace -SYST(1986, emax, 0, 0, emax, emax, emax_state, empty_init, "E-mu Systems", "Emax Digital Sampling Keyboard", MACHINE_IS_SKELETON) -SYST(198?, emaxp, emax, 0, emaxp, emax, emax_state, empty_init, "E-mu Systems", "Emax Plus Digital Sampling Keyboard", MACHINE_IS_SKELETON) -SYST(1989, emax2, 0, 0, emax2, emax2, emax_state, empty_init, "E-mu Systems", "Emax II 16-Bit Digital Sound System", MACHINE_IS_SKELETON) +SYST(1986, emax, 0, 0, emax, emax, emax_state, empty_init, "E-mu Systems", "Emax Digital Sampling Keyboard", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(198?, emaxp, emax, 0, emaxp, emax, emax_state, empty_init, "E-mu Systems", "Emax Plus Digital Sampling Keyboard", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1989, emax2, 0, 0, emax2, emax2, emax_state, empty_init, "E-mu Systems", "Emax II 16-Bit Digital Sound System", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/emusys/emu2.cpp b/src/mame/emusys/emu2.cpp index 0f97202722e59..abf1d3df9f89c 100644 --- a/src/mame/emusys/emu2.cpp +++ b/src/mame/emusys/emu2.cpp @@ -332,4 +332,4 @@ ROM_END } // anonymous namespace -SYST(1984, emu2, 0, 0, emu2, emu2, emu2_state, empty_init, "E-mu Systems", "Emulator II", MACHINE_IS_SKELETON) +SYST(1984, emu2, 0, 0, emu2, emu2, emu2_state, empty_init, "E-mu Systems", "Emulator II", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/emusys/emu3.cpp b/src/mame/emusys/emu3.cpp index 57887d18dd523..ad42a92b96740 100644 --- a/src/mame/emusys/emu3.cpp +++ b/src/mame/emusys/emu3.cpp @@ -298,4 +298,4 @@ ROM_END } // anonymous namespace -SYST(1987, emu3, 0, 0, emu3, emu3, emu3_state, empty_init, "E-mu Systems", "Emulator Three Digital Sound Production System", MACHINE_IS_SKELETON) +SYST(1987, emu3, 0, 0, emu3, emu3, emu3_state, empty_init, "E-mu Systems", "Emulator Three Digital Sound Production System", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/emusys/emu68k.cpp b/src/mame/emusys/emu68k.cpp index 2ac6ece6225af..e7fd500bf6fc7 100644 --- a/src/mame/emusys/emu68k.cpp +++ b/src/mame/emusys/emu68k.cpp @@ -240,10 +240,10 @@ ROM_END } // anonymous namespace -SYST(1989, proteus1, 0, 0, proteus1, proteus1, emu68k_state, empty_init, "E-mu Systems", "Proteus/1 16-Bit Multi-Timbral Digital Sound Module", MACHINE_IS_SKELETON) -SYST(1989, proteusxr, 0, 0, proteusxr, proteus1, emu68k_state, empty_init, "E-mu Systems", "Proteus/1 XR 16-Bit Multi-Timbral Digital Sound Module", MACHINE_IS_SKELETON) -SYST(1991, procuss, 0, 0, proteusxr, procuss, emu68k_state, empty_init, "E-mu Systems", "Pro/Cussion Maximum Percussion Module", MACHINE_IS_SKELETON) -SYST(1993, vintkeys, 0, 0, vintkeys, vintkeys, emu68k_state, empty_init, "E-mu Systems", "Vintage Keys Classic Analog Keyboards", MACHINE_IS_SKELETON) -SYST(1996, orbit9090, 0, 0, phatt, orbit9090, emu68k_state, empty_init, "E-mu Systems", "Orbit 9090 - The Dance Planet", MACHINE_IS_SKELETON) -SYST(1997, phatt, 0, 0, phatt, phatt, emu68k_state, empty_init, "E-mu Systems", "Planet Phatt - The Swing System", MACHINE_IS_SKELETON) -SYST(1997, carnaval, 0, 0, phatt, carnaval, emu68k_state, empty_init, "E-mu Systems", "Carnaval - Jugando con Fuego", MACHINE_IS_SKELETON) +SYST(1989, proteus1, 0, 0, proteus1, proteus1, emu68k_state, empty_init, "E-mu Systems", "Proteus/1 16-Bit Multi-Timbral Digital Sound Module", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1989, proteusxr, 0, 0, proteusxr, proteus1, emu68k_state, empty_init, "E-mu Systems", "Proteus/1 XR 16-Bit Multi-Timbral Digital Sound Module", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1991, procuss, 0, 0, proteusxr, procuss, emu68k_state, empty_init, "E-mu Systems", "Pro/Cussion Maximum Percussion Module", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1993, vintkeys, 0, 0, vintkeys, vintkeys, emu68k_state, empty_init, "E-mu Systems", "Vintage Keys Classic Analog Keyboards", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1996, orbit9090, 0, 0, phatt, orbit9090, emu68k_state, empty_init, "E-mu Systems", "Orbit 9090 - The Dance Planet", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1997, phatt, 0, 0, phatt, phatt, emu68k_state, empty_init, "E-mu Systems", "Planet Phatt - The Swing System", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1997, carnaval, 0, 0, phatt, carnaval, emu68k_state, empty_init, "E-mu Systems", "Carnaval - Jugando con Fuego", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/epoch/cassvisn.cpp b/src/mame/epoch/cassvisn.cpp index 129d51369556a..f1977d661b7fe 100644 --- a/src/mame/epoch/cassvisn.cpp +++ b/src/mame/epoch/cassvisn.cpp @@ -65,7 +65,7 @@ static INPUT_PORTS_START( cassvisn ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON7 ) PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON6 ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON5 ) - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON2 ) // Jump on monstrmn + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON2 ) // Jump on monstrmn INPUT_PORTS_END DEVICE_IMAGE_LOAD_MEMBER(cassvisn_state::cart_load) @@ -109,4 +109,4 @@ ROM_END } // anonymous namespace -CONS( 1981, cassvisn, 0, 0, cassvisn, cassvisn, cassvisn_state, empty_init, "Epoch", "Cassette Vision", MACHINE_IS_SKELETON ) +CONS( 1981, cassvisn, 0, 0, cassvisn, cassvisn, cassvisn_state, empty_init, "Epoch", "Cassette Vision", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/ericsson/alfaskop41xx.cpp b/src/mame/ericsson/alfaskop41xx.cpp index 70f317ef999cd..8dfe474965a3c 100644 --- a/src/mame/ericsson/alfaskop41xx.cpp +++ b/src/mame/ericsson/alfaskop41xx.cpp @@ -579,6 +579,6 @@ ROM_END // Only 4101 may exist as a driver in the end making the 4110 and 4120 as slots devices on the SS3 bus, time will tell // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 1984, alfaskop4110, 0, 0, alfaskop4110, alfaskop4110, alfaskop4110_state, empty_init, "Ericsson", "Alfaskop Display Unit 4110", MACHINE_IS_SKELETON) -COMP( 1984, alfaskop4120, 0, 0, alfaskop4120, alfaskop4120, alfaskop4120_state, empty_init, "Ericsson", "Alfaskop Flexible Disk Unit 4120", MACHINE_IS_SKELETON) -COMP( 1984, alfaskop4101, 0, 0, alfaskop4101, alfaskop4101, alfaskop4101_state, empty_init, "Ericsson", "Alfaskop Communication Processor 4101", MACHINE_IS_SKELETON) +COMP( 1984, alfaskop4110, 0, 0, alfaskop4110, alfaskop4110, alfaskop4110_state, empty_init, "Ericsson", "Alfaskop Display Unit 4110", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +COMP( 1984, alfaskop4120, 0, 0, alfaskop4120, alfaskop4120, alfaskop4120_state, empty_init, "Ericsson", "Alfaskop Flexible Disk Unit 4120", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +COMP( 1984, alfaskop4101, 0, 0, alfaskop4101, alfaskop4101, alfaskop4101_state, empty_init, "Ericsson", "Alfaskop Communication Processor 4101", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/ericsson/e9161.cpp b/src/mame/ericsson/e9161.cpp index 3b9017f648151..37296e121d587 100644 --- a/src/mame/ericsson/e9161.cpp +++ b/src/mame/ericsson/e9161.cpp @@ -85,4 +85,4 @@ ROM_END } // anonymous namespace -COMP(198?, e9161, 0, 0, e9161, e9161, e9161_state, empty_init, "Ericsson", "9161 Display Processor Unit", MACHINE_IS_SKELETON) +COMP(198?, e9161, 0, 0, e9161, e9161, e9161_state, empty_init, "Ericsson", "9161 Display Processor Unit", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/excellent/es9501.cpp b/src/mame/excellent/es9501.cpp new file mode 100644 index 0000000000000..e5ea5d7020b48 --- /dev/null +++ b/src/mame/excellent/es9501.cpp @@ -0,0 +1,235 @@ +// license:BSD-3-Clause +// copyright-holders: + +/* +Excellent System's ES-9501 PCB + +Main components: +TMP68HC000-P16 CPU +2x HM6265LK-70 RAM (near CPU) +28.6363 MHz XTAL (near CPU) +ES-9409 custom (GFX, same as dblcrown.cpp) +6x N341256P-15 RAM (near custom) +IS61C64AH-20N RAM (near custom) +2x N341256P-15 RAM (near custom) +YMZ280B-F sound chip (no XTAL) +YMZ284-D SSGL (in audio amp area) +MAX693ACPE watchdog +93C56 EEPROM +bank of 8 DIP switches +battery (near CPU) + +Undumped games known to run on this PCB: +* Multi Spin +* Star Ball +*/ + +#include "emu.h" + +#include "cpu/m68000/m68000.h" +#include "machine/eepromser.h" +#include "machine/watchdog.h" +#include "sound/ay8910.h" +#include "sound/ymz280b.h" + +#include "emupal.h" +#include "screen.h" +#include "speaker.h" +#include "tilemap.h" + + +namespace { + +class es9501_state : public driver_device +{ +public: + es9501_state(const machine_config &mconfig, device_type type, const char *tag) + : driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu"), + m_screen(*this, "screen"), + m_gfxdecode(*this, "gfxdecode"), + m_palette(*this, "palette") + { } + + void es9501(machine_config &config); + +protected: + virtual void video_start() override ATTR_COLD; + +private: + required_device m_maincpu; + required_device m_screen; + required_device m_gfxdecode; + required_device m_palette; + + uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + + void program_map(address_map &map) ATTR_COLD; +}; + + +void es9501_state::video_start() +{ +} + +uint32_t es9501_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +{ + return 0; +} + + +void es9501_state::program_map(address_map &map) +{ + map(0x000000, 0x07ffff).rom(); + map(0x3fc000, 0x3fffff).ram(); + map(0x400000, 0x407fff).ram(); + map(0x600000, 0x600001).portr("IN0"); + map(0x600002, 0x600003).portr("IN1"); + map(0x600004, 0x600005).portr("DSW"); + // map(0x600008, 0x600009).w // watchdog? + map(0x700000, 0x700003).rw("ymz", FUNC(ymz280b_device::read), FUNC(ymz280b_device::write)).umask16(0x00ff); // ?? + map(0x700004, 0x700007).w("ymz284", FUNC(ymz284_device::address_data_w)).umask16(0x00ff); // ?? +} + + +static INPUT_PORTS_START( specd9 ) + PORT_START("IN0") + PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_START("IN1") + PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_START("DSW") + PORT_DIPUNKNOWN_DIPLOC(0x01, 0x01, "SW1:1") + PORT_DIPUNKNOWN_DIPLOC(0x02, 0x02, "SW1:2") + PORT_DIPUNKNOWN_DIPLOC(0x04, 0x04, "SW1:3") + PORT_DIPUNKNOWN_DIPLOC(0x08, 0x08, "SW1:4") + PORT_DIPUNKNOWN_DIPLOC(0x10, 0x10, "SW1:5") + PORT_DIPUNKNOWN_DIPLOC(0x20, 0x20, "SW1:6") + PORT_DIPUNKNOWN_DIPLOC(0x40, 0x40, "SW1:7") + PORT_DIPUNKNOWN_DIPLOC(0x80, 0x80, "SW1:8") +INPUT_PORTS_END + + +static const gfx_layout char_16x16_layout = +{ + 16,16, + RGN_FRAC(1,1), + 4, + { 0,1,2,3 }, + { 4,0, 12,8, 20,16, 28,24, 36,32, 44,40, 52,48, 60,56 }, + { STEP16(0,8*8) }, + 8*8*16 +}; + +static GFXDECODE_START( gfx_es9501 ) + GFXDECODE_ENTRY( "gfx", 0, char_16x16_layout, 0, 0x10 ) +GFXDECODE_END + + +void es9501_state::es9501(machine_config &config) +{ + M68000(config, m_maincpu, 28.636363_MHz_XTAL / 2); // divider not verified + m_maincpu->set_addrmap(AS_PROGRAM, &es9501_state::program_map); + + EEPROM_93C56_16BIT(config, "eeprom"); + + WATCHDOG_TIMER(config, "watchdog", 0); + + SCREEN(config, m_screen, SCREEN_TYPE_RASTER); // TODO: everything + m_screen->set_refresh_hz(60); + m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0)); + m_screen->set_size(40*8, 32*8); + m_screen->set_visarea(0*8, 40*8-1, 2*8, 30*8-1); + m_screen->set_screen_update(FUNC(es9501_state::screen_update)); + m_screen->set_palette(m_palette); + + GFXDECODE(config, m_gfxdecode, m_palette, gfx_es9501); + PALETTE(config, m_palette).set_format(palette_device::RRRRGGGGBBBBRGBx, 0x1000 / 2); // TODO + + SPEAKER(config, "lspeaker").front_left(); + SPEAKER(config, "rspeaker").front_right(); + + ymz280b_device &ymz(YMZ280B(config, "ymz", 28.636363_MHz_XTAL / 2)); + ymz.add_route(0, "lspeaker", 1.0); + ymz.add_route(1, "rspeaker", 1.0); + + ymz284_device & ymz284(YMZ284(config, "ymz284", 28.636363_MHz_XTAL / 8)); // divider not verified + ymz284.add_route(0, "lspeaker", 1.0); + ymz284.add_route(1, "rspeaker", 1.0); +} + + +ROM_START( d9flower ) // Dream 9 Flower string, but images seem more Flower 9 Dream. No mask ROMs, only EPROMs + ROM_REGION( 0x80000, "maincpu", 0 ) + ROM_LOAD16_BYTE( "2.u33", 0x00000, 0x40000, CRC(a57ef10e) SHA1(89d46c80e03b21469f61ee021013e4be51ef882e) ) // 1xxxxxxxxxxxxxxxxx = 0xFF + ROM_LOAD16_BYTE( "1.u31", 0x00001, 0x40000, CRC(fb6c1e72) SHA1(a03e9129c52c4587fb360f2f886bbd9983f49f05) ) // 1xxxxxxxxxxxxxxxxx = 0xFF + + ROM_REGION( 0x200000, "gfx", ROMREGION_ERASE00 ) + ROM_LOAD( "3.u50", 0x000000, 0x080000, CRC(0f1f8b61) SHA1(d33d73dcdbf06a84e6be28ac1c3273dd21d0ad17) ) + ROM_LOAD( "4.u51", 0x080000, 0x080000, CRC(c2a06ed5) SHA1(ffb07982f9ad91ce28bf3eacb8deedcc957bbbc1) ) + + ROM_REGION( 0x200000, "ymz", ROMREGION_ERASE00 ) + ROM_LOAD( "5.u23", 0x000000, 0x080000, CRC(b6ad2e58) SHA1(84c0cdc155f641d4e5d8ae99acbfa5b297762418) ) + + ROM_REGION16_BE( 0x100, "eeprom", ROMREGION_ERASE00 ) + ROM_LOAD16_WORD_SWAP( "93c56.u12", 0x000, 0x100, NO_DUMP ) + + ROM_REGION( 0x117, "plds", 0 ) + ROM_LOAD( "3.u37", 0x000, 0x117, BAD_DUMP CRC(bea4cb24) SHA1(09987e6b903cc3bd202a9d933474b36bdbb99d9a) ) // not dumped for this set, but marked same +ROM_END + +ROM_START( specd9 ) + ROM_REGION( 0x80000, "maincpu", 0 ) + ROM_LOAD16_BYTE( "3.u33", 0x00000, 0x40000, CRC(e4b00f37) SHA1(4c33912b7c38399ba2ca5e4dc0335458d929bd52) ) + ROM_LOAD16_BYTE( "2.u31", 0x00001, 0x40000, CRC(620bc09e) SHA1(fce0e9c7394aa782d0b6f1558a3b4c76c5c1e787) ) + + ROM_REGION( 0x280000, "gfx", 0 ) + ROM_LOAD( "t58.u10", 0x000000, 0x200000, CRC(7a572d9e) SHA1(9a1d842ac78fea6047242c405aaf81c827dc2358) ) // contains Multi Spin logo + ROM_LOAD( "u51.u51", 0x200000, 0x080000, CRC(a213c33b) SHA1(42b4c3d3cb2db50ea0fad06509e3e73b81f3db4c) ) // TODO: this is an EPROM, contains Special Dream 9 logo, should be overlayed on the mask ROM contents, IGS style + + ROM_REGION( 0x200000, "ymz", 0 ) + ROM_LOAD( "t59.u23", 0x000000, 0x200000, CRC(b11857b4) SHA1(c0a6478fd8a8ef1ed35cfbfa9fd2af44eb258725) ) + + ROM_REGION16_BE( 0x100, "eeprom", 0 ) + ROM_LOAD16_WORD_SWAP( "93c56.u12", 0x000, 0x100, CRC(dba91cd8) SHA1(dfbe41e3a8d7e8ad7068d25afe10a1d93bf3cc4d) ) + + ROM_REGION( 0x117, "plds", 0 ) + ROM_LOAD( "3.u37", 0x000, 0x117, CRC(bea4cb24) SHA1(09987e6b903cc3bd202a9d933474b36bdbb99d9a) ) // PALCE16V8H +ROM_END + +} // anonymous namespace + + +GAME( 1998, d9flower, 0, es9501, specd9, es9501_state, empty_init, ROT0, "Cadence Technology", "Dream 9 Flower (v1.00c)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1997, specd9, 0, es9501, specd9, es9501_state, empty_init, ROT0, "Excellent System", "Special Dream 9 (v1.0.5G)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/excellent/lastbank.cpp b/src/mame/excellent/lastbank.cpp index ba5be39e663f9..9934691f5d71d 100644 --- a/src/mame/excellent/lastbank.cpp +++ b/src/mame/excellent/lastbank.cpp @@ -18,6 +18,7 @@ Undumped games on similar hardware (ES-9402 or ES-9410): TODO: - lastbank: sprites should be clip masked during gameplay (verify); - fever13: OKI sound volume overdrives a lot; +- wcircus: sound flags / latches are somewhat different, need correct implementation - hookup hopper device; **************************************************************************************************/ @@ -83,7 +84,7 @@ class lastbank_state : public driver_device void key_select_w(uint8_t data); TIMER_DEVICE_CALLBACK_MEMBER(scanline_cb); - void audio_map(address_map &map) ATTR_COLD; + virtual void audio_map(address_map &map) ATTR_COLD; void tc0091lvc_map(address_map &map) ATTR_COLD; }; @@ -99,6 +100,17 @@ class fever13_state : public lastbank_state virtual void audio_io(address_map &map) override ATTR_COLD; }; +class wcircus_state : public fever13_state +{ +public: + wcircus_state(const machine_config &mconfig, device_type type, const char *tag) + : fever13_state(mconfig, type, tag) + { } + +protected: + virtual void audio_map(address_map &map) override ATTR_COLD; +}; + void lastbank_state::machine_start() { @@ -229,6 +241,13 @@ void fever13_state::audio_io(address_map &map) map(0xc0, 0xc0).r("soundlatch1", FUNC(generic_latch_8_device::read)).w(FUNC(fever13_state::sound_flags_w)); } +void wcircus_state::audio_map(address_map &map) +{ + map(0x0000, 0x7fff).rom(); // TODO: partly banked? + map(0x8000, 0x87ff).ram(); +} + + static INPUT_PORTS_START( lastbank ) PORT_START("COINS") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_CODE(KEYCODE_M) @@ -608,6 +627,110 @@ static INPUT_PORTS_START( mir7hg ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END +static INPUT_PORTS_START( wcircus ) + PORT_INCLUDE( fever13 ) + + PORT_MODIFY("DSW1") + PORT_DIPNAME( 0x03, 0x03, "Max Bet" ) PORT_DIPLOCATION("DSW1:1,2") + PORT_DIPSETTING( 0x03, "5" ) + PORT_DIPSETTING( 0x02, "10" ) + PORT_DIPSETTING( 0x01, "50" ) + PORT_DIPSETTING( 0x00, "100" ) + PORT_DIPNAME( 0x0c, 0x0c, "Min Bet" ) PORT_DIPLOCATION("DSW1:3,4") + PORT_DIPSETTING( 0x0c, "1" ) + PORT_DIPSETTING( 0x08, "5" ) + PORT_DIPSETTING( 0x04, "10" ) + PORT_DIPSETTING( 0x00, "20" ) + PORT_DIPNAME( 0x10, 0x10, "Double Up Game" ) PORT_DIPLOCATION("DSW1:5") + PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x20, 0x20, "Payout Rate Type" ) PORT_DIPLOCATION("DSW1:6") + PORT_DIPSETTING( 0x00, "Credit In / Out" ) + PORT_DIPSETTING( 0x20, "Game In / Out" ) + PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:7") // no effect in test mode + PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:8") // no effect in test mode + PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + + PORT_MODIFY("DSW2") + PORT_DIPNAME( 0x07, 0x07, "Credit Limit" ) PORT_DIPLOCATION("DSW2:1,2,3") + PORT_DIPSETTING( 0x07, "1000" ) + PORT_DIPSETTING( 0x06, "2000" ) + PORT_DIPSETTING( 0x05, "3000" ) + PORT_DIPSETTING( 0x04, "5000" ) + PORT_DIPSETTING( 0x03, "10000" ) + PORT_DIPSETTING( 0x02, "20000" ) + PORT_DIPSETTING( 0x01, "30000" ) + PORT_DIPSETTING( 0x00, "50000" ) + PORT_DIPNAME( 0x38, 0x38, "Win Percentage" ) PORT_DIPLOCATION("DSW2:4,5,6") + PORT_DIPSETTING( 0x00, "55" ) + PORT_DIPSETTING( 0x08, "60" ) + PORT_DIPSETTING( 0x10, "65" ) + PORT_DIPSETTING( 0x18, "70" ) + PORT_DIPSETTING( 0x20, "75" ) + PORT_DIPSETTING( 0x28, "80" ) + PORT_DIPSETTING( 0x30, "85" ) + PORT_DIPSETTING( 0x38, "90" ) + PORT_DIPNAME( 0x40, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("DSW2:7") + PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x80, 0x80, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("DSW2:8") + PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + + PORT_MODIFY("DSW3") + PORT_DIPNAME( 0x01, 0x01, "Hopper Motor" ) PORT_DIPLOCATION("DSW3:1") + PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x02, 0x02, "Hopper Switch" ) PORT_DIPLOCATION("DSW3:2") + PORT_DIPSETTING( 0x02, "Micro" ) + PORT_DIPSETTING( 0x00, "Sensor" ) + PORT_DIPNAME( 0x1c, 0x1c, "Coin A / Coin C" ) PORT_DIPLOCATION("DSW3:3,4,5") + PORT_DIPSETTING( 0x00, DEF_STR( 5C_1C ) ) + PORT_DIPSETTING( 0x04, DEF_STR( 3C_1C ) ) + PORT_DIPSETTING( 0x08, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x1c, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x18, DEF_STR( 1C_5C ) ) + PORT_DIPSETTING( 0x14, "1 Coin / 10 Credits" ) + PORT_DIPSETTING( 0x10, "1 Coin / 50 Credits" ) + PORT_DIPSETTING( 0x0c, "1 Coin / 100 Credits" ) + PORT_DIPNAME( 0xe0, 0xe0, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("DSW3:6,7,8") + PORT_DIPSETTING( 0x00, DEF_STR( 5C_1C ) ) + PORT_DIPSETTING( 0x20, DEF_STR( 3C_1C ) ) + PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0xe0, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0xc0, DEF_STR( 1C_5C ) ) + PORT_DIPSETTING( 0xa0, "1 Coin / 10 Credits" ) + PORT_DIPSETTING( 0x80, "1 Coin / 50 Credits" ) + PORT_DIPSETTING( 0x60, "1 Coin / 100 Credits" ) + + PORT_MODIFY("DSW4") + PORT_DIPNAME( 0x03, 0x03, "Key In" ) PORT_DIPLOCATION("DSW4:1,2") + PORT_DIPSETTING( 0x03, "50 Credits" ) + PORT_DIPSETTING( 0x02, "100 Credits" ) + PORT_DIPSETTING( 0x01, "500 Credits" ) + PORT_DIPSETTING( 0x00, "1000 Credits" ) + PORT_DIPNAME( 0x1c, 0x1c, "Pay Out" ) PORT_DIPLOCATION("DSW4:3,4,5") + PORT_DIPSETTING( 0x00, DEF_STR( 5C_1C ) ) + PORT_DIPSETTING( 0x04, DEF_STR( 3C_1C ) ) + PORT_DIPSETTING( 0x08, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x1c, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x18, DEF_STR( 1C_5C ) ) + PORT_DIPSETTING( 0x14, "1 Coin / 10 Credits" ) + PORT_DIPSETTING( 0x10, "1 Coin / 50 Credits" ) + PORT_DIPSETTING( 0x0c, "1 Coin / 100 Credits" ) + PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:6") // no effect in test mode + PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0xc0, 0xc0, "Left / Center / Right Stop Buttons" ) PORT_DIPLOCATION("DSW4:7,8") + PORT_DIPSETTING( 0xc0, "Take / Small / Big" ) + PORT_DIPSETTING( 0x80, "W-Up / Small / Big" ) + PORT_DIPSETTING( 0x40, "Small / Big / Take" ) + PORT_DIPSETTING( 0x00, "Small / Big / W-Up" ) +INPUT_PORTS_END + TIMER_DEVICE_CALLBACK_MEMBER(lastbank_state::scanline_cb) { @@ -758,6 +881,26 @@ ROM_START( mir7hg ) // v1.0.2 Feb 19 1996 15:05:17 ROM_LOAD( "5.u60", 0x00000, 0x80000, CRC(13d8c30a) SHA1(1a2dc0c97992e9e1d73c5f3f713db8599d2d2285) ) // 11xxxxxxxxxxxxxxxxx = 0xFF ROM_END +ROM_START( wcircus ) + ROM_REGION( 0x40000, "maincpu", 0 ) + ROM_LOAD( "6.u9", 0x00000, 0x40000, CRC(6cb29023) SHA1(e1a980f789d4c66ddd80e819d0a94991a5ad1f2b) ) + + ROM_REGION( 0x10000, "audiocpu", 0 ) + ROM_LOAD( "3.u48", 0x00000, 0x10000, CRC(ec8a0ccc) SHA1(84ffb5c9614764500f41cff8f0d6d5ad9f0d8084) ) + + ROM_REGION( 0x200000, "maincpu:gfx", ROMREGION_ERASEFF ) + ROM_LOAD( "27c802.u11", 0x000000, 0x100000, CRC(fefee118) SHA1(21c81e4a7d5ac86e1ebb452647a1908fd4ee9600) ) // 1xxxxxxxxxxxxxxxxxxx = 0xFF + + ROM_REGION( 0x40000, "oki", 0 ) + ROM_LOAD( "5.u55", 0x00000, 0x40000, CRC(390911e9) SHA1(10ed6fca1a0d183f47c231503a3077faab0d593e) ) // 1xxxxxxxxxxxxxxxxx = 0xFF + + ROM_REGION( 0x80000, "essnd", 0 ) // Samples + ROM_LOAD( "7.u60", 0x00000, 0x80000, CRC(d018ed97) SHA1(02eb6559805f81f371d39b9c0660cd6d9d392656) ) + + ROM_REGION( 0x117, "plds", 0 ) + ROM_LOAD( "gal16v8b.u45", 0x000, 0x117, CRC(02e1f2e9) SHA1(25ae98facfed2796bfc1ad33cce73c5074edd135) ) +ROM_END + } // anonymous namespace @@ -765,3 +908,4 @@ GAME( 1994, lastbank, 0, lastbank, lastbank, lastbank_state, empty_init, R GAME( 1995, fever13, 0, lastbank, fever13, fever13_state, empty_init, ROT0, "Excellent System", "Fever 13 (Japan, v1.3)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL ) GAME( 1995, ukiyobox, fever13, lastbank, ukiyobox, fever13_state, empty_init, ROT0, "Excellent System", "Ukiyo Box (Japan, v1.3.7)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL ) GAME( 1996, mir7hg, 0, lastbank, mir7hg, fever13_state, empty_init, ROT0, "Excellent System", "Miracle Seven - Heaven's Gate (Japan, v1.0.2)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL ) +GAME( 199?, wcircus, 0, lastbank, wcircus, wcircus_state, empty_init, ROT0, "Cobra", "Wonder Circus (Japan, v1.1.1)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL ) diff --git a/src/mame/exidy/circus.cpp b/src/mame/exidy/circus.cpp index b61f0d0a5f8ca..5daf712e7030e 100644 --- a/src/mame/exidy/circus.cpp +++ b/src/mame/exidy/circus.cpp @@ -156,7 +156,7 @@ static INPUT_PORTS_START( circus ) PORT_DIPSETTING( 0x00, "Single Line" ) PORT_DIPSETTING( 0x20, "Super Bonus" ) PORT_DIPUNKNOWN_DIPLOC( 0x40, 0x00, "14A:1" ) /* Not mentioned in the manual */ - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("PADDLE") PORT_BIT( 0xff, 115, IPT_PADDLE ) PORT_MINMAX(64,167) PORT_SENSITIVITY(30) PORT_KEYDELTA(10) PORT_CENTERDELTA(0) @@ -190,7 +190,7 @@ static INPUT_PORTS_START( robotbwl ) PORT_DIPSETTING( 0x20, "5 seconds" ) PORT_DIPSETTING( 0x40, "7 seconds" ) PORT_DIPSETTING( 0x60, "9 seconds" ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("PADDLE") PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED) @@ -224,7 +224,7 @@ static INPUT_PORTS_START( crash ) PORT_DIPSETTING( 0x10, "Credit Awarded" ) PORT_DIPUNKNOWN_DIPLOC( 0x20, 0x00, "14A:2" ) /* Not mentioned in the manual */ PORT_DIPUNKNOWN_DIPLOC( 0x40, 0x00, "14A:1" ) /* Not mentioned in the manual */ - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("PADDLE") PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED) @@ -264,7 +264,7 @@ static INPUT_PORTS_START( ripcord ) PORT_DIPSETTING( 0x00, "No Award" ) PORT_DIPUNKNOWN_DIPLOC( 0x20, 0x00, "14A:2" ) /* Not mentioned in the manual */ PORT_DIPUNKNOWN_DIPLOC( 0x40, 0x00, "14A:1" ) /* Not mentioned in the manual */ - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("PADDLE") PORT_BIT( 0xff, 115, IPT_PADDLE ) PORT_MINMAX(64,167) PORT_SENSITIVITY(30) PORT_KEYDELTA(10) PORT_CENTERDELTA(0) PORT_REVERSE diff --git a/src/mame/exidy/exidy.cpp b/src/mame/exidy/exidy.cpp index 5bbefc4f3bd3d..104c9867125d3 100644 --- a/src/mame/exidy/exidy.cpp +++ b/src/mame/exidy/exidy.cpp @@ -683,7 +683,7 @@ static INPUT_PORTS_START( targ ) PORT_START("INTSOURCE") PORT_BIT( 0x1f, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_BIT( 0x60, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(FUNC(spectar_state::spectar_coins_r)) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("IN2") PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -821,7 +821,7 @@ static INPUT_PORTS_START( mtrap ) PORT_BIT( 0x1f, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_BIT( 0x60, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(FUNC(exidy_state::intsource_coins_r)) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("IN2") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Yellow Button") @@ -882,7 +882,7 @@ static INPUT_PORTS_START( venture ) */ PORT_BIT( 0x1f, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_BIT( 0x60, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(FUNC(exidy_state::intsource_coins_r)) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("IN2") PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -937,7 +937,7 @@ static INPUT_PORTS_START( teetert ) */ PORT_BIT( 0x1f, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x60, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(FUNC(exidy_state::intsource_coins_r)) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("IN2") PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -996,7 +996,7 @@ static INPUT_PORTS_START( pepper2 ) */ PORT_BIT( 0x1f, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_BIT( 0x60, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(FUNC(exidy_state::intsource_coins_r)) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("IN2") PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -1047,7 +1047,7 @@ static INPUT_PORTS_START( fax ) */ PORT_BIT( 0x1f, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_BIT( 0x60, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(FUNC(exidy_state::intsource_coins_r)) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("IN2") PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN ) diff --git a/src/mame/exidy/exidyttl.cpp b/src/mame/exidy/exidyttl.cpp index df508a4137335..b77163839494d 100644 --- a/src/mame/exidy/exidyttl.cpp +++ b/src/mame/exidy/exidyttl.cpp @@ -237,8 +237,8 @@ ROM_END } // anonymous namespace -GAME( 1977, attckexd, 0, attack, 0, exidyttl_state, empty_init, ROT0, "Exidy", "Attack (set 1)", MACHINE_IS_SKELETON ) -GAME( 1977, attckexd2, attckexd, attack, 0, exidyttl_state, empty_init, ROT0, "Exidy", "Attack (set 2)", MACHINE_IS_SKELETON ) -GAME( 1976, deathrac, 0, attack, 0, exidyttl_state, empty_init, ROT0, "Exidy", "Death Race", MACHINE_IS_SKELETON ) -GAME( 1976, destdrby, 0, attack, 0, exidyttl_state, empty_init, ROT0, "Exidy", "Destruction Derby", MACHINE_IS_SKELETON) -GAME( 1976, rhunting, deathrac, attack, 0, exidyttl_state, empty_init, ROT0, "bootleg", "Robot Hunting (bootleg of Death Race)",MACHINE_IS_SKELETON ) +GAME( 1977, attckexd, 0, attack, 0, exidyttl_state, empty_init, ROT0, "Exidy", "Attack (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1977, attckexd2, attckexd, attack, 0, exidyttl_state, empty_init, ROT0, "Exidy", "Attack (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1976, deathrac, 0, attack, 0, exidyttl_state, empty_init, ROT0, "Exidy", "Death Race", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1976, destdrby, 0, attack, 0, exidyttl_state, empty_init, ROT0, "Exidy", "Destruction Derby", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME( 1976, rhunting, deathrac, attack, 0, exidyttl_state, empty_init, ROT0, "bootleg", "Robot Hunting (bootleg of Death Race)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/exidy/sorcerer.cpp b/src/mame/exidy/sorcerer.cpp index ae494ef649994..294673f9c2e0c 100644 --- a/src/mame/exidy/sorcerer.cpp +++ b/src/mame/exidy/sorcerer.cpp @@ -230,7 +230,7 @@ void sorcererd_state::sorcererd_io(address_map &map) static INPUT_PORTS_START(sorcerer) PORT_START("VS") /* vblank */ - PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_CUSTOM) PORT_VBLANK("screen") + PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_CUSTOM) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) /* line 0 */ PORT_START("X.0") diff --git a/src/mame/f32/f-32.cpp b/src/mame/f32/f-32.cpp index 47f81c6fa6e6b..736a88e5ac4af 100644 --- a/src/mame/f32/f-32.cpp +++ b/src/mame/f32/f-32.cpp @@ -211,7 +211,7 @@ static INPUT_PORTS_START( mosaicf2 ) PORT_BIT( 0x00000200, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_SERVICE_NO_TOGGLE( 0x00000400, IP_ACTIVE_LOW ) PORT_BIT( 0x00007800, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x00008000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x00008000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x00010000, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2) PORT_BIT( 0x00020000, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2) PORT_BIT( 0x00040000, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2) @@ -305,7 +305,7 @@ static INPUT_PORTS_START( royalpk2 ) PORT_BIT( 0x00100000, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Income") PORT_CODE(KEYCODE_R) PORT_BIT( 0x00200000, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Income Clear") PORT_CODE(KEYCODE_T) PORT_BIT( 0x00400000, IP_ACTIVE_LOW, IPT_GAMBLE_SERVICE ) - PORT_BIT( 0x00800000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x00800000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x01000000, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x02000000, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x04000000, IP_ACTIVE_LOW, IPT_COIN3 ) diff --git a/src/mame/falco/falco500.cpp b/src/mame/falco/falco500.cpp index 56869893cf670..1030cbef6f14f 100644 --- a/src/mame/falco/falco500.cpp +++ b/src/mame/falco/falco500.cpp @@ -656,5 +656,5 @@ ROM_END // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS COMP( 1987, falco5220e, 0, 0, falco500, 0, falco500_state, empty_init, "Falco Data Products", "Falco 5220e", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) -COMP( 1991, falco500e, falco5220e, 0, falco500, 0, falco500_state, empty_init, "Falco Data Products", "Falco 500e", MACHINE_IS_SKELETON ) -COMP( 1989, falco5220s, falco5220e, 0, falco500, 0, falco500_state, empty_init, "Falco Data Products", "Falco 5220s", MACHINE_IS_SKELETON ) +COMP( 1991, falco500e, falco5220e, 0, falco500, 0, falco500_state, empty_init, "Falco Data Products", "Falco 500e", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 1989, falco5220s, falco5220e, 0, falco500, 0, falco500_state, empty_init, "Falco Data Products", "Falco 5220s", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/fidelity/dames.cpp b/src/mame/fidelity/dames.cpp index 185ee867cd600..578e4d802ecf2 100644 --- a/src/mame/fidelity/dames.cpp +++ b/src/mame/fidelity/dames.cpp @@ -64,7 +64,6 @@ class dsc_state : public driver_device required_ioport_array<2> m_inputs; u8 m_inp_mux = 0; - u8 m_led_select = 0; void main_map(address_map &map) ATTR_COLD; @@ -72,7 +71,6 @@ class dsc_state : public driver_device u8 read_board_row(u8 row); // I/O handlers - void update_display(); void control_w(u8 data); void select_w(u8 data); u8 input_r(); @@ -80,9 +78,7 @@ class dsc_state : public driver_device void dsc_state::machine_start() { - // register for savestates save_item(NAME(m_inp_mux)); - save_item(NAME(m_led_select)); } @@ -132,27 +128,20 @@ u8 dsc_state::read_board_row(u8 row) I/O *******************************************************************************/ -void dsc_state::update_display() -{ - // 4 7seg leds - m_display->matrix(m_led_select, m_inp_mux); -} - void dsc_state::control_w(u8 data) { // d0-d7: input mux, 7seg data - m_inp_mux = data; - update_display(); + m_inp_mux = ~data; + m_display->write_mx(data); } void dsc_state::select_w(u8 data) { + // d0-d3: digit select + m_display->write_my(data & 0xf); + // d4: speaker out m_dac->write(BIT(~data, 4)); - - // d0-d3: digit select - m_led_select = data & 0xf; - update_display(); } u8 dsc_state::input_r() @@ -161,7 +150,7 @@ u8 dsc_state::input_r() // d0-d7: multiplexed inputs (active low) for (int i = 0; i < 8; i++) - if (BIT(~m_inp_mux, i)) + if (BIT(m_inp_mux, i)) { // read checkerboard data |= read_board_row(i); diff --git a/src/mame/fidelity/desdis.cpp b/src/mame/fidelity/desdis.cpp index 44a40c11b41bf..6655c8d27698c 100644 --- a/src/mame/fidelity/desdis.cpp +++ b/src/mame/fidelity/desdis.cpp @@ -38,7 +38,7 @@ Designer Mach IV Master 2325 (model 6129) overview: #include "emu.h" #include "cpu/m6502/r65c02.h" -#include "cpu/m6502/m65sc02.h" +#include "cpu/m6502/w65c02.h" #include "cpu/m68000/m68000.h" #include "cpu/m68000/m68020.h" #include "machine/clock.h" @@ -286,7 +286,7 @@ INPUT_PORTS_END void desdis_state::fdes2100d(machine_config &config) { // basic machine hardware - M65C02(config, m_maincpu, 6_MHz_XTAL); // W65C02P-6 + W65C02(config, m_maincpu, 6_MHz_XTAL); // W65C02P-6 m_maincpu->set_addrmap(AS_PROGRAM, &desdis_state::fdes2100d_map); auto &irq_clock(CLOCK(config, "irq_clock", 600)); // from 556 timer (22nF, 102K, 1K), ideal frequency is 600Hz diff --git a/src/mame/fidelity/elite.cpp b/src/mame/fidelity/elite.cpp index a068416620120..6c57bca896af3 100644 --- a/src/mame/fidelity/elite.cpp +++ b/src/mame/fidelity/elite.cpp @@ -82,7 +82,6 @@ alternate view (see video options). The EAG conversion is a cloneset of feag. #include "bus/generic/carts.h" #include "bus/generic/slot.h" -#include "cpu/m6502/m65c02.h" #include "cpu/m6502/r65c02.h" #include "machine/clock.h" #include "machine/i8255.h" diff --git a/src/mame/fidelity/excel.cpp b/src/mame/fidelity/excel.cpp index 3b2c0e63ec6a6..18d60b5ff6119 100644 --- a/src/mame/fidelity/excel.cpp +++ b/src/mame/fidelity/excel.cpp @@ -177,8 +177,8 @@ CPU D6 to W: (model 6092, tied to VCC otherwise) #include "emu.h" +#include "cpu/m6502/g65sc02.h" #include "cpu/m6502/r65c02.h" -#include "cpu/m6502/m65sc02.h" #include "machine/clock.h" #include "machine/sensorboard.h" #include "sound/dac.h" @@ -460,7 +460,7 @@ INPUT_PORTS_END void excel_state::fexcel(machine_config &config) { // basic machine hardware - M65SC02(config, m_maincpu, 12_MHz_XTAL/4); // G65SC102P-3, 12.0M ceramic resonator + G65SC102(config, m_maincpu, 12_MHz_XTAL); // G65SC102P-3, 12.0M ceramic resonator (divided by 4 internally) m_maincpu->set_addrmap(AS_PROGRAM, &excel_state::fexcel_map); auto &irq_clock(CLOCK(config, "irq_clock", 600)); // from 556 timer (22nF, 102K, 1K), ideal frequency is 600Hz diff --git a/src/mame/funtech/supracan.cpp b/src/mame/funtech/supracan.cpp index 62fe56948ce30..4757c11be54d2 100644 --- a/src/mame/funtech/supracan.cpp +++ b/src/mame/funtech/supracan.cpp @@ -68,7 +68,7 @@ Super A'Can (c) 1995 Funtech #include "bus/supracan/rom.h" #include "bus/supracan/slot.h" #include "cpu/m68000/m68000.h" -#include "cpu/m6502/m65c02.h" +#include "cpu/m6502/w65c02.h" #include "emupal.h" #include "screen.h" @@ -2394,7 +2394,7 @@ void supracan_state::supracan(machine_config &config) // TODO: Verify type and actual clock // /4 makes speedyd to fail booting - M65C02(config, m_soundcpu, U13_CLOCK / 6 / 2); + W65C02(config, m_soundcpu, U13_CLOCK / 6 / 2); m_soundcpu->set_addrmap(AS_PROGRAM, &supracan_state::sound_map); config.set_perfect_quantum(m_soundcpu); diff --git a/src/mame/funworld/4roses.cpp b/src/mame/funworld/4roses.cpp index 180825bc93b61..571834f7bc4c6 100644 --- a/src/mame/funworld/4roses.cpp +++ b/src/mame/funworld/4roses.cpp @@ -195,7 +195,7 @@ #include "emu.h" #include "funworld.h" -#include "cpu/m6502/m65c02.h" +#include "cpu/m6502/w65c02.h" #include "machine/6821pia.h" #include "machine/nvram.h" #include "sound/ay8910.h" @@ -460,7 +460,7 @@ GFXDECODE_END void _4roses_state::_4roses(machine_config &config) { // basic machine hardware - M65C02(config, m_maincpu, MASTER_CLOCK/8); // 2MHz, guess + W65C02(config, m_maincpu, MASTER_CLOCK/8); // 2MHz, guess m_maincpu->set_addrmap(AS_PROGRAM, &_4roses_state::_4roses_map); m_maincpu->set_addrmap(AS_OPCODES, &_4roses_state::_4roses_opcodes_map); diff --git a/src/mame/funworld/funworld.cpp b/src/mame/funworld/funworld.cpp index 5ddb9c39d2b7a..6ad4b425322c2 100644 --- a/src/mame/funworld/funworld.cpp +++ b/src/mame/funworld/funworld.cpp @@ -108,6 +108,7 @@ * Power Card (Ver 0263, encrypted), Fun World, 1993. * Mega Card (Ver.0210, encrypted), Fun World, 1993. * Mega Card (Ver.0053, encrypted), Fun World, 1992. + * Joker Card (encrypted), Fun World, 1993. * Joker Card 300 (Ver.A267BC, encrypted), Amatic Trading, 1993. * Royal Card (Evona, Polish, encrypted), Evona Electronic, 1991. * Saloon (French, encrypted), unknown, 199?. @@ -143,9 +144,6 @@ * Royal Card (stealth with MSX multigame), bootleg, 1991. - Supported games: 123 - - ********************************************************************************************** The hardware is generally composed by: @@ -757,7 +755,7 @@ #include "emu.h" #include "funworld.h" -#include "cpu/m6502/m65sc02.h" +#include "cpu/m6502/g65sc02.h" #include "cpu/m6502/r65c02.h" #include "machine/6821pia.h" #include "machine/nvram.h" @@ -3308,7 +3306,7 @@ void lunapark_state::machine_reset() void funworld_state::fw1stpal(machine_config &config) { // basic machine hardware - M65SC02(config, m_maincpu, CPU_CLOCK); // 2 MHz. + G65SC02(config, m_maincpu, CPU_CLOCK); // 2 MHz. m_maincpu->set_addrmap(AS_PROGRAM, &funworld_state::funworld_map); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); @@ -3472,7 +3470,7 @@ void intergames_state::intrgmes(machine_config &config) { fw1stpal(config); - M65SC02(config.replace(), m_maincpu, CPU_CLOCK); // 2 MHz. + G65SC02(config.replace(), m_maincpu, CPU_CLOCK); // 2 MHz. m_maincpu->set_addrmap(AS_PROGRAM, &intergames_state::intergames_map); //m_maincpu->set_periodic_int(FUNC(intergames_state::nmi_line_pulse), attotime::from_hz(60)); @@ -9028,7 +9026,7 @@ GAME( 1990, funquizb, 0, funquiz, funquiza, funworld_state, empty_in GAMEL( 1986, novoplay, 0, fw2ndpal, novoplay, funworld_state, empty_init, ROT0, "Admiral / Novomatic", "Novo Play Multi Card / Club Card", 0, layout_novoplay ) GAMEL( 1992, novoplaya, novoplay, intrgmes, novop_ab, intergames_state, init_novop_a, ROT0, "Novo Play International", "Novo Play Club Card (V6.2H)", 0, layout_novoplay ) GAMEL( 1991, novoplayb, novoplay, intrgmes, novop_ab, intergames_state, init_novop_b, ROT0, "Novo Play International", "Novo Play Club Card (V3.3H)", 0, layout_novoplay ) -GAME( 1991, intrgmes, 0, intrgmes, intrgmes, intergames_state, init_intgms, ROT0, "Inter Games", "Joker Card (Inter Games)", 0 ) +GAME( 1991, intrgmes, 0, intrgmes, intrgmes, intergames_state, init_intgms, ROT0, "Inter Games", "Joker Card (Inter Games)", 0 ) GAMEL( 1985, fw_a7_11, 0, fw_brick_2, fw_brick1, funworld_state, empty_init, ROT0, "Fun World", "unknown Fun World A7-11 game 1", MACHINE_NOT_WORKING, layout_jollycrd ) GAMEL( 1985, fw_a7_11a, fw_a7_11, fw_brick_2, fw_brick1, funworld_state, empty_init, ROT0, "Fun World", "unknown Fun World A7-11 game 2", MACHINE_NOT_WORKING, layout_jollycrd ) GAMEL( 1991, fw_a0_1, 0, fw_brick_2, fw_brick1, funworld_state, empty_init, ROT0, "Fun World", "unknown Fun World A0-1 game", MACHINE_NOT_WORKING, layout_jollycrd ) diff --git a/src/mame/funworld/photoplys.cpp b/src/mame/funworld/photoplys.cpp index b48a89962472f..a0572a0e74949 100644 --- a/src/mame/funworld/photoplys.cpp +++ b/src/mame/funworld/photoplys.cpp @@ -75,4 +75,4 @@ ROM_END } // Anonymous namespace -GAME( 2001, photoply2k1sp, 0, photoplays, photoplays, photoplays_state, empty_init, ROT0, "Funworld", "Photo Play 2001 (Spanish)", MACHINE_IS_SKELETON ) +GAME( 2001, photoply2k1sp, 0, photoplays, photoplays, photoplays_state, empty_init, ROT0, "Funworld", "Photo Play 2001 (Spanish)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/funworld/photoplysx.cpp b/src/mame/funworld/photoplysx.cpp index 2cbcc9ef4532f..fd43b1f58419a 100644 --- a/src/mame/funworld/photoplysx.cpp +++ b/src/mame/funworld/photoplysx.cpp @@ -100,5 +100,5 @@ ROM_END } // Anonymous namespace -GAME( 2004, photopsxsp, 0, photoplaysx, photoplaysx, photoplaysx_state, empty_init, ROT0, "Funworld", "Photo Play Spirit Xtreme (Spanish)", MACHINE_IS_SKELETON ) -GAME( 2004?, photopsxusp, photopsxsp, photoplaysx, photoplaysx, photoplaysx_state, empty_init, ROT0, "Funworld", "Photo Play Spirit Xtreme (update, Spanish)", MACHINE_IS_SKELETON ) +GAME( 2004, photopsxsp, 0, photoplaysx, photoplaysx, photoplaysx_state, empty_init, ROT0, "Funworld", "Photo Play Spirit Xtreme (Spanish)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2004?, photopsxusp, photopsxsp, photoplaysx, photoplaysx, photoplaysx_state, empty_init, ROT0, "Funworld", "Photo Play Spirit Xtreme (update, Spanish)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/funworld/snookr10.cpp b/src/mame/funworld/snookr10.cpp index ef67c73c60701..83b28abddda98 100644 --- a/src/mame/funworld/snookr10.cpp +++ b/src/mame/funworld/snookr10.cpp @@ -619,7 +619,7 @@ #include "emu.h" #include "snookr10.h" -#include "cpu/m6502/m65sc02.h" +#include "cpu/m6502/g65sc02.h" #include "machine/nvram.h" #include "sound/okim6295.h" #include "screen.h" @@ -1037,7 +1037,7 @@ GFXDECODE_END void snookr10_state::snookr10(machine_config &config) { // basic machine hardware - M65SC02(config, m_maincpu, XTAL(16'000'000) / 8); // 2 MHz (1.999 MHz measured) + G65SC02(config, m_maincpu, XTAL(16'000'000) / 8); // 2 MHz (1.999 MHz measured) m_maincpu->set_addrmap(AS_PROGRAM, &snookr10_state::snookr10_map); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); diff --git a/src/mame/gaelco/gaelco3d.cpp b/src/mame/gaelco/gaelco3d.cpp index b66650778659f..d3d3346f88411 100644 --- a/src/mame/gaelco/gaelco3d.cpp +++ b/src/mame/gaelco/gaelco3d.cpp @@ -640,13 +640,6 @@ void gaelco3d_state::adsp_tx_callback(offs_t offset, uint32_t data) * *************************************/ - -void gaelco3d_state::radikalb_lamp_w(int state) -{ - // Arbitrary data written - logerror("%06X:unknown_127_w = %d\n", m_maincpu->pc(), state); -} - void gaelco3d_state::unknown_137_w(int state) { // Only written $00 or $ff @@ -948,7 +941,7 @@ void gaelco3d_state::gaelco3d(machine_config &config) LS259(config, m_outlatch); // IC2 on top board near edge connector m_outlatch->q_out_cb<1>().set(FUNC(gaelco3d_state::tms_control3_w)); - m_outlatch->q_out_cb<2>().set(FUNC(gaelco3d_state::radikalb_lamp_w)); + m_outlatch->q_out_cb<2>().set_output("Start_lamp"); // START LAMP m_outlatch->q_out_cb<3>().set(FUNC(gaelco3d_state::unknown_137_w)); m_outlatch->q_out_cb<4>().set(m_serial, FUNC(gaelco_serial_device::irq_enable)); m_outlatch->q_out_cb<5>().set(FUNC(gaelco3d_state::analog_port_clock_w)); diff --git a/src/mame/gaelco/gaelco3d.h b/src/mame/gaelco/gaelco3d.h index 073d123415655..e6e76b4789624 100644 --- a/src/mame/gaelco/gaelco3d.h +++ b/src/mame/gaelco/gaelco3d.h @@ -155,7 +155,6 @@ class gaelco3d_state : public driver_device void tms_control3_w(int state); void adsp_control_w(offs_t offset, uint16_t data); void adsp_rombank_w(offs_t offset, uint16_t data); - void radikalb_lamp_w(int state); void unknown_137_w(int state); void unknown_13a_w(int state); void gaelco3d_render_w(uint32_t data); diff --git a/src/mame/gaelco/gaelcof3.cpp b/src/mame/gaelco/gaelcof3.cpp index 68e399657097e..68fc7a0d3a0af 100644 --- a/src/mame/gaelco/gaelcof3.cpp +++ b/src/mame/gaelco/gaelcof3.cpp @@ -142,6 +142,6 @@ ROM_END } // anonymous namespace -GAME( 199?, autopapa, 0, gaelcof3, gaelcof3, gaelcof3_state, empty_init, ROT0, "Gaelco", "El auto feo", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, donpepito, 0, gaelcof3, gaelcof3, gaelcof3_state, empty_init, ROT0, "Gaelco", "Hola Don Pepito", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, susanita, 0, gaelcof3, gaelcof3, gaelcof3_state, empty_init, ROT0, "Gaelco", "Susanita", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, autopapa, 0, gaelcof3, gaelcof3, gaelcof3_state, empty_init, ROT0, "Gaelco", "El auto feo", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, donpepito, 0, gaelcof3, gaelcof3, gaelcof3_state, empty_init, ROT0, "Gaelco", "Hola Don Pepito", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, susanita, 0, gaelcof3, gaelcof3, gaelcof3_state, empty_init, ROT0, "Gaelco", "Susanita", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/gaelco/gaelcopc.cpp b/src/mame/gaelco/gaelcopc.cpp index a1d7b0bc26deb..438c7ccb9a35f 100644 --- a/src/mame/gaelco/gaelcopc.cpp +++ b/src/mame/gaelco/gaelcopc.cpp @@ -142,8 +142,8 @@ ROM_END } // anonymous namespace -GAME( 2003, tokyocop, 0, gaelcopc, gaelcopc, gaelcopc_state, empty_init, ROT0, "Gaelco", "Tokyo Cop (US, dedicated version)", MACHINE_IS_SKELETON ) -GAME( 2003, tokyocopk, tokyocop, gaelcopc, gaelcopc, gaelcopc_state, empty_init, ROT0, "Gaelco", "Tokyo Cop (US, kit version)", MACHINE_IS_SKELETON ) -GAME( 2003, tokyocopi, tokyocop, gaelcopc, gaelcopc, gaelcopc_state, empty_init, ROT0, "Gaelco", "Tokyo Cop (Italy)", MACHINE_IS_SKELETON ) -GAME( 2004, rriders, 0, gaelcopc, gaelcopc, gaelcopc_state, empty_init, ROT0, "Gaelco", "Ring Riders (Software version v2.2)", MACHINE_IS_SKELETON ) -GAME( 2005, tuningrc, 0, gaelcopc, gaelcopc, gaelcopc_state, empty_init, ROT0, "Gaelco", "Gaelco Championship Tuning Race", MACHINE_IS_SKELETON ) +GAME( 2003, tokyocop, 0, gaelcopc, gaelcopc, gaelcopc_state, empty_init, ROT0, "Gaelco", "Tokyo Cop (US, dedicated version)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2003, tokyocopk, tokyocop, gaelcopc, gaelcopc, gaelcopc_state, empty_init, ROT0, "Gaelco", "Tokyo Cop (US, kit version)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2003, tokyocopi, tokyocop, gaelcopc, gaelcopc, gaelcopc_state, empty_init, ROT0, "Gaelco", "Tokyo Cop (Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2004, rriders, 0, gaelcopc, gaelcopc, gaelcopc_state, empty_init, ROT0, "Gaelco", "Ring Riders (Software version v2.2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2005, tuningrc, 0, gaelcopc, gaelcopc, gaelcopc_state, empty_init, ROT0, "Gaelco", "Gaelco Championship Tuning Race", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/gaelco/radikaldarts.cpp b/src/mame/gaelco/radikaldarts.cpp index 76a4220abefc4..d6b2ddfca683a 100644 --- a/src/mame/gaelco/radikaldarts.cpp +++ b/src/mame/gaelco/radikaldarts.cpp @@ -77,4 +77,4 @@ ROM_END } // Anonymous namespace -GAME( 2011?, radikaldrt, 0, radikaldarts, radikaldarts, radikaldarts_state, empty_init, ROT0, "Gaelco Darts", "Radikal Darts (Diana Version 7.29.25)", MACHINE_IS_SKELETON ) +GAME( 2011?, radikaldrt, 0, radikaldarts, radikaldarts, radikaldarts_state, empty_init, ROT0, "Gaelco Darts", "Radikal Darts (Diana Version 7.29.25)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/galaxian/galaxian.cpp b/src/mame/galaxian/galaxian.cpp index b5f333a25f4a8..61ffd12126bd3 100644 --- a/src/mame/galaxian/galaxian.cpp +++ b/src/mame/galaxian/galaxian.cpp @@ -2446,6 +2446,29 @@ void galaxian_state::turtles_map(address_map &map) } +// map not derived from schematics, but comparing disasm to turpin +void galaxian_state::turpinnv_map(address_map &map) +{ + map.unmap_value_high(); + map(0x0000, 0x3fff).rom(); + map(0x4000, 0x47ff).ram(); + map(0x4800, 0x4bff).mirror(0x0400).ram().w(FUNC(galaxian_state::galaxian_videoram_w)).share("videoram"); + map(0x5000, 0x50ff).mirror(0x0700).ram().w(FUNC(galaxian_state::galaxian_objram_w)).share("spriteram"); + map(0x6800, 0x6800).mirror(0x07f8).w(FUNC(galaxian_state::coin_count_0_w)); + map(0x6801, 0x6801).mirror(0x07f8).w(FUNC(galaxian_state::irq_enable_w)); + map(0x6802, 0x6802).mirror(0x07f8).w(FUNC(galaxian_state::coin_count_1_w)); + map(0x6803, 0x6803).mirror(0x07f8).w(FUNC(galaxian_state::scramble_background_blue_w)); + map(0x6804, 0x6804).mirror(0x07f8).w(FUNC(galaxian_state::scramble_background_green_w)); + map(0x6805, 0x6805).mirror(0x07f8).w(FUNC(galaxian_state::scramble_background_red_w)); + map(0x6806, 0x6806).mirror(0x07f8).w(FUNC(galaxian_state::galaxian_flip_screen_x_w)); + map(0x6807, 0x6807).mirror(0x07f8).w(FUNC(galaxian_state::galaxian_flip_screen_y_w)); + map(0x7000, 0x7000).mirror(0x07ff).r("watchdog", FUNC(watchdog_timer_device::reset_r)); + map(0x8100, 0x8103).rw("ppi8255_0", FUNC(i8255_device::read), FUNC(i8255_device::write)); + map(0x8200, 0x8203).rw("ppi8255_1", FUNC(i8255_device::read), FUNC(i8255_device::write)); + map(0xc000, 0xcfff).rom().region("maincpu", 0x4000); +} + + // map NOT derived from schematics void galaxian_state::amigo2_map(address_map &map) { @@ -8080,6 +8103,15 @@ void galaxian_state::turtles(machine_config &config) } +void galaxian_state::turpinnv(machine_config &config) +{ + turtles(config); + + // alternate memory map + m_maincpu->set_addrmap(AS_PROGRAM, &galaxian_state::turpinnv_map); +} + + void galaxian_state::theend(machine_config &config) { konami_base(config); @@ -14315,6 +14347,27 @@ ROM_START( turpins ) ROM_LOAD( "turtles.clr", 0x0000, 0x0020, BAD_DUMP CRC(f3ef02dd) SHA1(09fd795170d7d30f101d579f57553da5ff3800ab) ) ROM_END +// Novatronic bootleg on GGI Corp. PCB +ROM_START( turpinnv ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "2532.2c", 0x0000, 0x1000, CRC(f8e1edee) SHA1(8bd721cf35a8f1f9618af48bfcf4724822369e3a) ) + ROM_LOAD( "2532.2f", 0x1000, 0x1000, CRC(cdf884ba) SHA1(b2454715510535e116d1496d1631e736a0c4a693) ) + ROM_LOAD( "2532.2j", 0x2000, 0x1000, CRC(bf7d4f3b) SHA1(a29bb8d425188b23b2ff3df0f76b6714a6ab73ee) ) + ROM_LOAD( "2532.2m", 0x3000, 0x1000, CRC(ec9d0e04) SHA1(0be9f7ad72e90d7fa22044fa7dfbd679fbceec20) ) + ROM_LOAD( "2532.2p", 0x4000, 0x1000, CRC(c1c4d304) SHA1(e98319707870f548e425276f9219258a25ec70c5) ) + + ROM_REGION( 0x10000, "audiocpu", 0 ) + ROM_LOAD( "2532.5c", 0x0000, 0x1000, CRC(f0c30f9a) SHA1(5621f336e9be8acf986a34bbb8855ed5d45c28ef) ) + ROM_LOAD( "2532.5d", 0x1000, 0x1000, CRC(af5fc43c) SHA1(8a49c55feba094b07380615cf0b6f0878c25a260) ) + + ROM_REGION( 0x1000, "gfx1", 0 ) + ROM_LOAD( "2716.5f", 0x0000, 0x0800, CRC(e5999d52) SHA1(bc3f52cf6c6e19dfd2dacd1e8c9128f437e995fc) ) + ROM_LOAD( "2716.5h", 0x0800, 0x0800, BAD_DUMP CRC(c3ffd655) SHA1(dee51d77be262a2944488e381541c10a2b6e5d83) ) // ROM damaged, borrowed from the original Turtles set + + ROM_REGION( 0x0020, "proms", 0 ) + ROM_LOAD( "74s288.6e", 0x0000, 0x0020, CRC(c5f12bc3) SHA1(b746ba06b596d4227fdc730a23bdf495f84e6a72) ) +ROM_END + ROM_START( 600 ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "600_vid.2c", 0x0000, 0x1000, CRC(8ee090ae) SHA1(3d491313da6cccd6dbc15774569be0555fe2f73a) ) @@ -16813,12 +16866,13 @@ GAME( 1981, froggeram, frogger, froggeram, froggeram, galaxian_state, init_ // Turtles based hardware // CPU/Video Board: KT-4108-2 // Sound Board: KT-4108-1 -GAME( 1981, turtles, 0, turtles, turtles, galaxian_state, init_turtles, ROT90, "Konami (Stern Electronics license)", "Turtles", MACHINE_SUPPORTS_SAVE ) -GAME( 1981, turpin, turtles, turtles, turpin, galaxian_state, init_turtles, ROT90, "Konami (Sega license)", "Turpin", MACHINE_SUPPORTS_SAVE ) -GAME( 1981, 600, turtles, turtles, turtles, galaxian_state, init_turtles, ROT90, "Konami", "600", MACHINE_SUPPORTS_SAVE ) -GAME( 1981, turpins, turtles, turpins, turtles, galaxian_state, init_turtles, ROT90, "bootleg", "Turpin (bootleg on Super Cobra hardware)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // needs different sound timer +GAME( 1981, turtles, 0, turtles, turtles, galaxian_state, init_turtles, ROT90, "Konami (Stern Electronics license)", "Turtles", MACHINE_SUPPORTS_SAVE ) +GAME( 1981, turpin, turtles, turtles, turpin, galaxian_state, init_turtles, ROT90, "Konami (Sega license)", "Turpin", MACHINE_SUPPORTS_SAVE ) +GAME( 1981, 600, turtles, turtles, turtles, galaxian_state, init_turtles, ROT90, "Konami", "600", MACHINE_SUPPORTS_SAVE ) +GAME( 1981, turpins, turtles, turpins, turtles, galaxian_state, init_turtles, ROT90, "bootleg", "Turpin (bootleg on Super Cobra hardware)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // needs different sound timer +GAME( 1981, turpinnv, turtles, turpinnv, turtles, galaxian_state, init_turtles, ROT90, "bootleg (Novatronic)", "Turpin (Novatronic bootleg)", MACHINE_SUPPORTS_SAVE ) -GAME( 1981, froggert, frogger, turtles, frogger, galaxian_state, init_quaak, ROT90, "Konami (Sega license)", "Frogger (Turtles hardware)", MACHINE_SUPPORTS_SAVE ) +GAME( 1981, froggert, frogger, turtles, frogger, galaxian_state, init_quaak, ROT90, "Konami (Sega license)", "Frogger (Turtles hardware)", MACHINE_SUPPORTS_SAVE ) GAME( 1982, amidar, 0, turtles, amidaru, galaxian_state, init_turtles, ROT90, "Konami", "Amidar", MACHINE_SUPPORTS_SAVE ) GAME( 1981, amidar1, amidar, turtles, amidar, galaxian_state, init_turtles, ROT90, "Konami", "Amidar (older)", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/galaxian/galaxian.h b/src/mame/galaxian/galaxian.h index 7e3fcb413f187..3800c993c3014 100644 --- a/src/mame/galaxian/galaxian.h +++ b/src/mame/galaxian/galaxian.h @@ -324,6 +324,7 @@ class galaxian_state : public driver_device void galartic(machine_config &config); void bigkonggx(machine_config &config); void scrammr(machine_config &config); + void turpinnv(machine_config &config); template ioport_value ckongg_coinage_r(); template int ckongs_coinage_r(); @@ -392,6 +393,7 @@ class galaxian_state : public driver_device void takeoff_sound_portmap(address_map &map) ATTR_COLD; void theend_map(address_map &map) ATTR_COLD; void thepitm_map(address_map &map) ATTR_COLD; + void turpinnv_map(address_map &map) ATTR_COLD; void turpins_map(address_map &map) ATTR_COLD; void turpins_sound_map(address_map &map) ATTR_COLD; void turtles_map(address_map &map) ATTR_COLD; diff --git a/src/mame/gottlieb/gottlieb.cpp b/src/mame/gottlieb/gottlieb.cpp index 649792e5d7ce9..d321e44683451 100644 --- a/src/mame/gottlieb/gottlieb.cpp +++ b/src/mame/gottlieb/gottlieb.cpp @@ -306,11 +306,10 @@ class gottlieb_state : public driver_device TILE_GET_INFO_MEMBER(get_screwloo_bg_tile_info); DECLARE_VIDEO_START(screwloo); uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); - INTERRUPT_GEN_MEMBER(interrupt); TIMER_CALLBACK_MEMBER(laserdisc_philips_callback); TIMER_CALLBACK_MEMBER(laserdisc_bit_off_callback); TIMER_CALLBACK_MEMBER(laserdisc_bit_callback); - TIMER_CALLBACK_MEMBER(nmi_clear); + void laserdisc_vblank(int state); void draw_sprites(bitmap_rgb32 &bitmap, const rectangle &cliprect); inline void audio_end_state(); void audio_process_clock(bool logit); @@ -350,7 +349,6 @@ class gottlieb_state : public driver_device emu_timer *m_laserdisc_bit_timer = nullptr; emu_timer *m_laserdisc_bit_off_timer = nullptr; emu_timer *m_laserdisc_philips_timer = nullptr; - emu_timer *m_nmi_clear_timer = nullptr; u8 m_laserdisc_select = 0U; u8 m_laserdisc_status = 0U; uint16_t m_laserdisc_philips_code = 0U; @@ -392,8 +390,6 @@ void gottlieb_state::machine_start() save_item(NAME(m_gfxcharhi)); save_item(NAME(m_weights)); - m_nmi_clear_timer = timer_alloc(FUNC(gottlieb_state::nmi_clear), this); - /* see if we have a laserdisc */ if (m_laserdisc != nullptr) { @@ -430,9 +426,12 @@ void gottlieb_state::machine_start() void gottlieb_state::machine_reset() { - /* if we have a laserdisc, reset our philips code callback for the next line 17 */ + // if we have a laserdisc, reset our philips code callback for the next line 17 if (m_laserdisc != nullptr) m_laserdisc_philips_timer->adjust(m_screen->time_until_pos(17), 17); + + // HACK: prevent NMI immediately after soft reset + m_maincpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); } @@ -493,12 +492,10 @@ VIDEO_START_MEMBER(gottlieb_state,screwloo) void gottlieb_state::palette_w(offs_t offset, u8 data) { - int val; - m_paletteram[offset] = data; /* blue & green are encoded in the even bytes */ - val = m_paletteram[offset & ~1]; + int val = m_paletteram[offset & ~1]; int const g = combine_weights(m_weights, BIT(val, 4), BIT(val, 5), BIT(val, 6), BIT(val, 7)); int const b = combine_weights(m_weights, BIT(val, 0), BIT(val, 1), BIT(val, 2), BIT(val, 3)); @@ -606,13 +603,12 @@ TILE_GET_INFO_MEMBER(gottlieb_state::get_screwloo_bg_tile_info) void gottlieb_state::draw_sprites(bitmap_rgb32 &bitmap, const rectangle &cliprect) { rectangle clip = cliprect; - int offs; /* this is a temporary guess until the sprite hardware is better understood */ /* there is some additional clipping, but this may not be it */ clip.min_x = 8; - for (offs = 0; offs < 256; offs += 4) + for (int offs = 0; offs < 256; offs += 4) { /* coordinates hand tuned to make the position correct in Q*Bert Qubes start */ /* of level animation. */ @@ -626,7 +622,7 @@ void gottlieb_state::draw_sprites(bitmap_rgb32 &bitmap, const rectangle &cliprec m_gfxdecode->gfx(2)->transpen(bitmap,clip, code, 0, flip_screen_x(), flip_screen_y(), - sx,sy, 0); + sx, sy, 0); } } @@ -862,6 +858,19 @@ TIMER_CALLBACK_MEMBER(gottlieb_state::laserdisc_bit_callback) } +void gottlieb_state::laserdisc_vblank(int state) +{ + if (!state) + return; + + /* set the "disc ready" bit, which basically indicates whether or not we have a proper video frame */ + if (!m_laserdisc->video_active()) + m_laserdisc_status &= ~0x20; + else + m_laserdisc_status |= 0x20; +} + + /************************************* * @@ -1071,37 +1080,6 @@ void gottlieb_state::qbert_knocker(machine_config &config) -/************************************* -* -* Interrupt generation -* -*************************************/ - -TIMER_CALLBACK_MEMBER(gottlieb_state::nmi_clear) -{ - m_maincpu->set_input_line(INPUT_LINE_NMI, CLEAR_LINE); -} - - -INTERRUPT_GEN_MEMBER(gottlieb_state::interrupt) -{ - /* assert the NMI and set a timer to clear it at the first visible line */ - device.execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE); - m_nmi_clear_timer->adjust(m_screen->time_until_pos(0)); - - /* if we have a laserdisc, update it */ - if (m_laserdisc != nullptr) - { - /* set the "disc ready" bit, which basically indicates whether or not we have a proper video frame */ - if (!m_laserdisc->video_active()) - m_laserdisc_status &= ~0x20; - else - m_laserdisc_status |= 0x20; - } -} - - - /************************************* * * Main CPU memory handlers @@ -2140,7 +2118,6 @@ void gottlieb_state::gottlieb_core(machine_config &config) /* basic machine hardware */ I8088(config, m_maincpu, CPU_CLOCK/3); m_maincpu->set_addrmap(AS_PROGRAM, &gottlieb_state::gottlieb_ram_map); - m_maincpu->set_vblank_int("screen", FUNC(gottlieb_state::interrupt)); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1); @@ -2150,6 +2127,7 @@ void gottlieb_state::gottlieb_core(machine_config &config) SCREEN(config, m_screen, SCREEN_TYPE_RASTER); m_screen->set_raw(SYSTEM_CLOCK/4, GOTTLIEB_VIDEO_HCOUNT, 0, GOTTLIEB_VIDEO_HBLANK, GOTTLIEB_VIDEO_VCOUNT, 0, GOTTLIEB_VIDEO_VBLANK); m_screen->set_screen_update(FUNC(gottlieb_state::screen_update)); + m_screen->screen_vblank().set_inputline(m_maincpu, INPUT_LINE_NMI); GFXDECODE(config, m_gfxdecode, m_palette, gfxdecode); PALETTE(config, m_palette).set_entries(16); @@ -2211,6 +2189,8 @@ void gottlieb_state::g2laser(machine_config &config) m_screen->set_video_attributes(VIDEO_SELF_RENDER); m_screen->set_raw(XTAL(14'318'181)*2, 910, 0, 704, 525, 44, 524); m_screen->set_screen_update("laserdisc", FUNC(laserdisc_device::screen_update)); + m_screen->screen_vblank().set_inputline(m_maincpu, INPUT_LINE_NMI); + m_screen->screen_vblank().append(FUNC(gottlieb_state::laserdisc_vblank)); } @@ -2272,6 +2252,8 @@ void gottlieb_state::cobram3(machine_config &config) m_screen->set_video_attributes(VIDEO_SELF_RENDER); m_screen->set_raw(XTAL(14'318'181)*2, 910, 0, 704, 525, 44, 524); m_screen->set_screen_update("laserdisc", FUNC(laserdisc_device::screen_update)); + m_screen->screen_vblank().set_inputline(m_maincpu, INPUT_LINE_NMI); + m_screen->screen_vblank().append(FUNC(gottlieb_state::laserdisc_vblank)); /* sound hardware */ subdevice("r2sound:dac")->reset_routes(); diff --git a/src/mame/gridcomp/gridcomp.cpp b/src/mame/gridcomp/gridcomp.cpp index 8662ea377d862..8dab1ed6293b9 100644 --- a/src/mame/gridcomp/gridcomp.cpp +++ b/src/mame/gridcomp/gridcomp.cpp @@ -613,8 +613,8 @@ ROM_END // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS COMP( 1982, grid1101, 0, 0, grid1101, gridcomp, gridcomp_state, empty_init, "GRiD Computers", "Compass 1101", MACHINE_NO_SOUND_HW | MACHINE_IMPERFECT_CONTROLS ) -COMP( 1982, grid1109, grid1101, 0, grid1109, gridcomp, gridcomp_state, empty_init, "GRiD Computers", "Compass 1109", MACHINE_IS_SKELETON ) -COMP( 1984, grid1121, 0, 0, grid1121, gridcomp, gridcomp_state, empty_init, "GRiD Computers", "Compass II 1121", MACHINE_IS_SKELETON ) -COMP( 1984, grid1129, grid1121, 0, grid1129, gridcomp, gridcomp_state, empty_init, "GRiD Computers", "Compass II 1129", MACHINE_IS_SKELETON ) -COMP( 1984, grid1131, grid1121, 0, grid1131, gridcomp, gridcomp_state, empty_init, "GRiD Computers", "Compass II 1131", MACHINE_IS_SKELETON ) -COMP( 1984, grid1139, grid1121, 0, grid1139, gridcomp, gridcomp_state, empty_init, "GRiD Computers", "Compass II 1139", MACHINE_IS_SKELETON ) +COMP( 1982, grid1109, grid1101, 0, grid1109, gridcomp, gridcomp_state, empty_init, "GRiD Computers", "Compass 1109", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 1984, grid1121, 0, 0, grid1121, gridcomp, gridcomp_state, empty_init, "GRiD Computers", "Compass II 1121", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 1984, grid1129, grid1121, 0, grid1129, gridcomp, gridcomp_state, empty_init, "GRiD Computers", "Compass II 1129", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 1984, grid1131, grid1121, 0, grid1131, gridcomp, gridcomp_state, empty_init, "GRiD Computers", "Compass II 1131", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 1984, grid1139, grid1121, 0, grid1139, gridcomp, gridcomp_state, empty_init, "GRiD Computers", "Compass II 1139", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/handheld/hh_e0c6x.cpp b/src/mame/handheld/hh_e0c6x.cpp new file mode 100644 index 0000000000000..1e776dac2de2a --- /dev/null +++ b/src/mame/handheld/hh_e0c6x.cpp @@ -0,0 +1,392 @@ +// license:BSD-3-Clause +// copyright-holders:hap +// thanks-to:digshadow, Segher, azya +/******************************************************************************* + +Seiko Epson E0C6S46 / E0C6S48 handhelds, mostly electronic keychain toys from +the late-1990s. The first Tamagotchi games are on this MCU. + +These were meant to stay on 24/7, so make sure to use save states if you want +to play the games for a longer time. For the drivers that don't have an SVG +screen, use -prescale or -nofilter to disable bilinear filtering. + +TODO: +- SVGs could be more accurate? it seems they're handmade instead of a 1:1 scan + like for eg. the Game & Watch LCDs +- alienfev unmapped reads/writes, or are they harmless? +- add LCD deflicker like hh_sm510? see venusdm for example +- hook up LCD contrast, does any game use it? (eg. for fade-out) + +*******************************************************************************/ + +#include "emu.h" + +#include "cpu/e0c6200/e0c6s46.h" +#include "sound/spkrdev.h" + +#include "emupal.h" +#include "screen.h" +#include "speaker.h" + +// internal artwork +#include "hh_e0c6x_lcd.lh" + + +namespace { + +class hh_e0c6x_state : public driver_device +{ +public: + hh_e0c6x_state(const machine_config &mconfig, device_type type, const char *tag) : + driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu"), + m_out_x(*this, "%u.%u", 0U, 0U) + { } + + DECLARE_INPUT_CHANGED_MEMBER(input_changed); + +protected: + virtual void machine_start() override ATTR_COLD; + + void lcd_segment_w(offs_t offset, u8 data) { m_out_x[offset & 0xf][offset >> 4] = data; } + + required_device m_maincpu; + output_finder<16, 51> m_out_x; // max 16 * 51 +}; + +void hh_e0c6x_state::machine_start() +{ + m_out_x.resolve(); +} + + + +/******************************************************************************* + + Helper Functions + +*******************************************************************************/ + +// generic input handlers + +#define PORT_CHANGED_CB(x) \ + PORT_CHANGED_MEMBER(DEVICE_SELF, FUNC(hh_e0c6x_state::input_changed), E0C6S46_LINE_K00 + x) + +INPUT_CHANGED_MEMBER(hh_e0c6x_state::input_changed) +{ + // inputs are hooked up backwards here, because MCU input ports are all tied to its interrupt controller + m_maincpu->set_input_line(param, newval ? ASSERT_LINE : CLEAR_LINE); +} + + + +/******************************************************************************* + + Minidrivers (subclass, I/O, Inputs, Machine Config, ROM Defs) + +*******************************************************************************/ + +/******************************************************************************* + + Bandai Tamagotchi (Generation 1) + * PCB label: TMG-M1 + * Seiko Epson E0C6S46 MCU under epoxy + * 32*16 LCD screen + 8 custom segments, 1-bit sound + + Generation 2 is on the exact same hardware. + +*******************************************************************************/ + +class tama_state : public hh_e0c6x_state +{ +public: + tama_state(const machine_config &mconfig, device_type type, const char *tag) : + hh_e0c6x_state(mconfig, type, tag) + { } + + void tama(machine_config &config); +}; + +// inputs + +static INPUT_PORTS_START( tama ) + PORT_START("K0") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_CHANGED_CB(0) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CHANGED_CB(1) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CHANGED_CB(2) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED ) +INPUT_PORTS_END + +// config + +void tama_state::tama(machine_config &config) +{ + // basic machine hardware + E0C6S46(config, m_maincpu, 32.768_kHz_XTAL); + m_maincpu->write_r<4>().set("speaker", FUNC(speaker_sound_device::level_w)).bit(3); + m_maincpu->write_segs().set(FUNC(tama_state::lcd_segment_w)); + + // video hardware + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_refresh_hz(32); + screen.set_size(1119, 1080); + screen.set_visarea_full(); + + config.set_default_layout(layout_hh_e0c6x_lcd); + + // sound hardware + SPEAKER(config, "mono").front_center(); + SPEAKER_SOUND(config, "speaker").add_route(ALL_OUTPUTS, "mono", 0.25); +} + +// roms + +ROM_START( tama ) + ROM_REGION( 0x3000, "maincpu", 0 ) + ROM_LOAD( "tama.bin", 0x0000, 0x3000, CRC(5c864cb1) SHA1(4b4979cf92dc9d2fb6d7295a38f209f3da144f72) ) + + ROM_REGION( 0x3000, "maincpu:test", 0 ) + ROM_LOAD( "test.bin", 0x0000, 0x3000, CRC(4372220e) SHA1(6e13d015113e16198c0059b9d0c38d7027ae7324) ) // this rom is on the die too, test pin enables it? + + ROM_REGION( 139072, "screen", 0) + ROM_LOAD( "tama.svg", 0, 139072, CRC(9468b964) SHA1(ab49471db21a00a3b3a68da39c40da69da5d7e1b) ) +ROM_END + +ROM_START( tamag2 ) + ROM_REGION( 0x3000, "maincpu", 0 ) + ROM_LOAD( "tamag2.bin", 0x0000, 0x3000, CRC(9f97539e) SHA1(09e5101b37636a314fc599d5d69b4846721b3c88) ) + + ROM_REGION( 139072, "screen", 0) + ROM_LOAD( "tama.svg", 0, 139072, CRC(9468b964) SHA1(ab49471db21a00a3b3a68da39c40da69da5d7e1b) ) +ROM_END + + + + + +/******************************************************************************* + + Bandai Tamagotchi Angel (aka Angel Gotch in Japan) + * Seiko Epson E0C6S48 + * 32*16 LCD screen + 8 custom segments, 1-bit sound + + Mothra no Tamagotch is on similar hardware. + +*******************************************************************************/ + +class tamaang_state : public hh_e0c6x_state +{ +public: + tamaang_state(const machine_config &mconfig, device_type type, const char *tag) : + hh_e0c6x_state(mconfig, type, tag) + { } + + void tamaang(machine_config &config); +}; + +// inputs + +static INPUT_PORTS_START( tamaang ) + PORT_INCLUDE( tama ) + + PORT_MODIFY("K0") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_CHANGED_CB(3) PORT_NAME("Vibration Sensor") +INPUT_PORTS_END + +// config + +void tamaang_state::tamaang(machine_config &config) +{ + // basic machine hardware + E0C6S48(config, m_maincpu, 32.768_kHz_XTAL); + m_maincpu->set_osc3(1'000'000); + m_maincpu->write_r<4>().set("speaker", FUNC(speaker_sound_device::level_w)).bit(3); + m_maincpu->write_segs().set(FUNC(tamaang_state::lcd_segment_w)); + + // video hardware + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_refresh_hz(32); + screen.set_size(1119, 1080); + screen.set_visarea_full(); + + config.set_default_layout(layout_hh_e0c6x_lcd); + + // sound hardware + SPEAKER(config, "mono").front_center(); + SPEAKER_SOUND(config, "speaker").add_route(ALL_OUTPUTS, "mono", 0.25); +} + +// roms + +ROM_START( tamaang ) + ROM_REGION( 0x4000, "maincpu", 0 ) + ROM_LOAD( "tamaang.bin", 0x0000, 0x4000, CRC(87bcb59f) SHA1(f5899bb7717756ac581451cf16cf97d909961c5c) ) + + ROM_REGION( 139978, "screen", 0) + ROM_LOAD( "tamaang.svg", 0, 139978, CRC(76f27f06) SHA1(b416275a12173316e053fa994c5fd68a4d5c1a5c) ) +ROM_END + +ROM_START( tamamot ) + ROM_REGION( 0x4000, "maincpu", 0 ) + ROM_LOAD( "tamamot.bin", 0x0000, 0x4000, CRC(85e4bee9) SHA1(74c1f6761724b7cbda8bca3113db78586b786d2d) ) + + ROM_REGION( 138289, "screen", 0) + ROM_LOAD( "tamamot.svg", 0, 138289, CRC(4e8210c2) SHA1(522536ae5bf744889c0d028c3a292bdf649f81e3) ) +ROM_END + + + + + +/******************************************************************************* + + Epoch Chibi Pachi: Alien Fever + * Seiko Epson E0C6S46 MCU + * 39*16 LCD screen, 1-bit sound + + It's a Pachislot keychain game, the MCU constantly runs on the higher-speed OSC3. + +*******************************************************************************/ + +class alienfev_state : public hh_e0c6x_state +{ +public: + alienfev_state(const machine_config &mconfig, device_type type, const char *tag) : + hh_e0c6x_state(mconfig, type, tag) + { } + + void alienfev(machine_config &config); +}; + +// inputs + +static INPUT_PORTS_START( alienfev ) + PORT_START("K0") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CHANGED_CB(0) PORT_NAME("Mode") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_CHANGED_CB(1) PORT_NAME("Select") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_CHANGED_CB(2) PORT_NAME("Sound") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CHANGED_CB(3) PORT_NAME("Handle") +INPUT_PORTS_END + +// config + +void alienfev_state::alienfev(machine_config &config) +{ + // basic machine hardware + E0C6S46(config, m_maincpu, 32.768_kHz_XTAL); + m_maincpu->set_osc3(1'000'000); + m_maincpu->write_r<4>().set("speaker", FUNC(speaker_sound_device::level_w)).bit(3); + + // video hardware + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_LCD)); + screen.set_refresh_hz(32); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); + screen.set_size(39, 16); + screen.set_visarea_full(); + screen.set_screen_update(m_maincpu, FUNC(e0c6s46_device::screen_update)); + screen.set_palette("palette"); + + PALETTE(config, "palette", palette_device::MONOCHROME_INVERTED); + + config.set_default_layout(layout_hh_e0c6x_lcd); + + // sound hardware + SPEAKER(config, "mono").front_center(); + SPEAKER_SOUND(config, "speaker").add_route(ALL_OUTPUTS, "mono", 0.25); +} + +// roms + +ROM_START( alienfev ) + ROM_REGION( 0x3000, "maincpu", 0 ) + ROM_LOAD( "alienfev.bin", 0x0000, 0x3000, CRC(e561599c) SHA1(7927e198f8989861ba057150e59d1f4ad403c1d2) ) +ROM_END + + + + + +/******************************************************************************* + + Nikko Beans Collection: Venus Diet Monogatari + * Seiko Epson E0C6S46 MCU + * 32*20 LCD screen, 1-bit sound + +*******************************************************************************/ + +class venusdm_state : public hh_e0c6x_state +{ +public: + venusdm_state(const machine_config &mconfig, device_type type, const char *tag) : + hh_e0c6x_state(mconfig, type, tag) + { } + + void venusdm(machine_config &config); + +private: + void pixel_callback(int &dx, int &dy) { int x = dx; dx = dy | (dx / 20) << 4; dy = x % 20; } +}; + +// inputs + +static INPUT_PORTS_START( venusdm ) + PORT_START("K1") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_CHANGED_CB(4) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CHANGED_CB(5) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CHANGED_CB(6) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED ) +INPUT_PORTS_END + +// config + +void venusdm_state::venusdm(machine_config &config) +{ + // basic machine hardware + E0C6S46(config, m_maincpu, 32.768_kHz_XTAL); + m_maincpu->write_r<4>().set("speaker", FUNC(speaker_sound_device::level_w)).bit(3); + m_maincpu->set_pixel_callback(FUNC(venusdm_state::pixel_callback)); + + // video hardware + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_LCD)); + screen.set_refresh_hz(32); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); + screen.set_size(32, 20); + screen.set_visarea_full(); + screen.set_screen_update(m_maincpu, FUNC(e0c6s46_device::screen_update)); + screen.set_palette("palette"); + + PALETTE(config, "palette", palette_device::MONOCHROME_INVERTED); + + config.set_default_layout(layout_hh_e0c6x_lcd); + + // sound hardware + SPEAKER(config, "mono").front_center(); + SPEAKER_SOUND(config, "speaker").add_route(ALL_OUTPUTS, "mono", 0.25); +} + +// roms + +ROM_START( venusdm ) + ROM_REGION( 0x3000, "maincpu", 0 ) + ROM_LOAD( "venusdm.bin", 0x0000, 0x3000, CRC(2228b081) SHA1(22f6a2ede6259e76f1c8b9b50171c54d8a7de502) ) +ROM_END + +} // anonymous namespace + + + +/******************************************************************************* + + Game driver(s) + +*******************************************************************************/ + +// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS +SYST( 1997, tama, 0, 0, tama, tama, tama_state, empty_init, "Bandai", "Tamagotchi (Gen. 1, World)", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK ) +SYST( 1997, tamag2, 0, 0, tama, tama, tama_state, empty_init, "Bandai", "Tamagotchi (Gen. 2, Japan)", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK ) +SYST( 1997, tamaang, 0, 0, tamaang, tamaang, tamaang_state, empty_init, "Bandai", "Angel Gotch (Japan)", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK ) +SYST( 1997, tamamot, 0, 0, tamaang, tama, tamaang_state, empty_init, "Bandai", "Mothra no Tamagotch (Japan)", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK ) + +SYST( 1997, alienfev, 0, 0, alienfev, alienfev, alienfev_state, empty_init, "Epoch", "Chibi Pachi: Alien Fever", MACHINE_SUPPORTS_SAVE ) + +SYST( 1997, venusdm, 0, 0, venusdm, venusdm, venusdm_state, empty_init, "Nikko", "Beans Collection: Venus Diet Monogatari", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/handheld/hh_ht11xx.cpp b/src/mame/handheld/hh_ht11xx.cpp index 05b1910d2cebc..16ff0ab967c71 100644 --- a/src/mame/handheld/hh_ht11xx.cpp +++ b/src/mame/handheld/hh_ht11xx.cpp @@ -32,11 +32,13 @@ HTG1395 3-in-1 (Car racing, Soccer, The eagle preys on the chicken) #include "speaker.h" // internal artwork -#include "hh_ht11xx_single.lh" +#include "hh_ht11xx_lcd.lh" namespace { +// base class + class hh_ht11xx_state : public driver_device { public: @@ -53,16 +55,34 @@ class hh_ht11xx_state : public driver_device required_device m_maincpu; }; -class hh_ht1190_state : public hh_ht11xx_state +INPUT_CHANGED_MEMBER(hh_ht11xx_state::input_wakeup) +{ + m_maincpu->set_input_line(HT1130_EXT_WAKEUP_LINE, newval ? CLEAR_LINE : ASSERT_LINE); +} + +void hh_ht11xx_state::mcfg_svg_screen(machine_config &config, u16 width, u16 height, const char *tag) +{ + screen_device &screen(SCREEN(config, tag, SCREEN_TYPE_SVG)); + screen.set_refresh_hz(60); + screen.set_size(width, height); + screen.set_visarea_full(); + + config.set_default_layout(layout_hh_ht11xx_lcd); +} + + +// HT1130 class + +class hh_ht1130_state : public hh_ht11xx_state { public: - hh_ht1190_state(const machine_config &mconfig, device_type type, const char *tag) : + hh_ht1130_state(const machine_config &mconfig, device_type type, const char *tag) : hh_ht11xx_state(mconfig, type, tag), m_out_x(*this, "%u.%u", 0U, 0U), m_in(*this, "IN%u", 1) { } - void brke23p2(machine_config &config); + void ga888(machine_config &config); protected: virtual void machine_start() override ATTR_COLD; @@ -70,21 +90,35 @@ class hh_ht1190_state : public hh_ht11xx_state void segment_w(offs_t offset, u64 data); private: - output_finder<8, 40> m_out_x; - required_ioport_array<2> m_in; + output_finder<4, 32> m_out_x; + required_ioport_array<3> m_in; }; +void hh_ht1130_state::machine_start() +{ + m_out_x.resolve(); +} -class hh_ht1130_state : public hh_ht11xx_state +void hh_ht1130_state::segment_w(offs_t offset, u64 data) +{ + // output to x.y where x = COM# and y = SEG# + for (int i = 0; i < 32; i++) + m_out_x[offset][i] = BIT(data, i); +} + + +// HT1190 class + +class hh_ht1190_state : public hh_ht11xx_state { public: - hh_ht1130_state(const machine_config &mconfig, device_type type, const char *tag) : + hh_ht1190_state(const machine_config &mconfig, device_type type, const char *tag) : hh_ht11xx_state(mconfig, type, tag), m_out_x(*this, "%u.%u", 0U, 0U), m_in(*this, "IN%u", 1) { } - void ga888(machine_config &config); + void brke23p2(machine_config &config); protected: virtual void machine_start() override ATTR_COLD; @@ -92,8 +126,8 @@ class hh_ht1130_state : public hh_ht11xx_state void segment_w(offs_t offset, u64 data); private: - output_finder<4, 32> m_out_x; - required_ioport_array<3> m_in; + output_finder<8, 40> m_out_x; + required_ioport_array<2> m_in; }; void hh_ht1190_state::machine_start() @@ -101,16 +135,30 @@ void hh_ht1190_state::machine_start() m_out_x.resolve(); } -void hh_ht1130_state::machine_start() +void hh_ht1190_state::segment_w(offs_t offset, u64 data) { - m_out_x.resolve(); + // output to x.y where x = COM# and y = SEG# + for (int i = 0; i < 40; i++) + m_out_x[offset][i] = BIT(data, i); } -INPUT_CHANGED_MEMBER(hh_ht11xx_state::input_wakeup) -{ - m_maincpu->set_input_line(HT1130_EXT_WAKEUP_LINE, newval ? CLEAR_LINE : ASSERT_LINE); -} + +/******************************************************************************* + + Minidrivers (optional subclass, I/O, Inputs, Machine Config, ROM Defs) + +*******************************************************************************/ + +/******************************************************************************* + + E-Star Brick Game 96 in 1 (E-23 Plus Mark II) + * Holtek HT1190 + * 10*20 LCD screen + custom segments, 1-bit sound + +*******************************************************************************/ + +// inputs static INPUT_PORTS_START( brke23p2 ) PORT_START("IN1") @@ -126,6 +174,48 @@ static INPUT_PORTS_START( brke23p2 ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Left") INPUT_PORTS_END +// config + +void hh_ht1190_state::brke23p2(machine_config &config) +{ + HT1190(config, m_maincpu, 1000000/8); // frequency? + m_maincpu->segment_out_cb().set(FUNC(hh_ht1190_state::segment_w)); + + m_maincpu->ps_in_cb().set_ioport(m_in[0]); + m_maincpu->pp_in_cb().set_ioport(m_in[1]); + + SPEAKER(config, "speaker").front_center(); + + mcfg_svg_screen(config, 755, 1080); +} + +// roms + +ROM_START( brke23p2 ) + ROM_REGION( 0x1000, "maincpu", 0 ) + ROM_LOAD( "brke23p2.bin", 0x0000, 0x1000, CRC(8045fac4) SHA1(a36213309e6add31f31e4248f02f17de9914a5c1) ) // visual decap + + ROM_REGION( 0x280, "melody", 0 ) + ROM_LOAD( "e23plusmarkii96in1.srom", 0x000, 0x280, CRC(591a8a21) SHA1(f039359e8e1d1bf75581a4c852b263c8c140e072) ) + + ROM_REGION( 160500, "screen", 0) + ROM_LOAD( "brke23p2.svg", 0, 160500, CRC(9edf8aab) SHA1(f2ab907d23517612196648f1b5b0cb9b4a1ab3bd) ) +ROM_END + + + + + +/******************************************************************************* + + Block Game & Echo Key GA888 + * Holtek HT1130 + * 8*12 LCD screen + 8 custom segments, 1-bit sound + +*******************************************************************************/ + +// inputs + static INPUT_PORTS_START( ga888 ) // the unit also has an up button, and a reset button, is 'up' connected to anything? PORT_START("IN1") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_VOLUME_DOWN ) PORT_NAME("Pause / Power") PORT_CHANGED_MEMBER(DEVICE_SELF, FUNC(hh_ht11xx_state::input_wakeup), 0) @@ -146,47 +236,7 @@ static INPUT_PORTS_START( ga888 ) // the unit also has an up button, and a reset PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Left") INPUT_PORTS_END -void hh_ht1190_state::segment_w(offs_t offset, u64 data) -{ - for (int i = 0; i < 40; i++) - { - // output to x.y where x = COM# and y = SEG# - m_out_x[offset][i] = BIT(data, i); - } -} - -void hh_ht1130_state::segment_w(offs_t offset, u64 data) -{ - for (int i = 0; i < 32; i++) - { - // output to x.y where x = COM# and y = SEG# - m_out_x[offset][i] = BIT(data, i); - } -} - - -void hh_ht11xx_state::mcfg_svg_screen(machine_config &config, u16 width, u16 height, const char *tag) -{ - screen_device &screen(SCREEN(config, tag, SCREEN_TYPE_SVG)); - screen.set_refresh_hz(60); - screen.set_size(width, height); - screen.set_visarea_full(); - - config.set_default_layout(layout_hh_ht11xx_single); -} - -void hh_ht1190_state::brke23p2(machine_config &config) -{ - HT1190(config, m_maincpu, 1000000/8); // frequency? - m_maincpu->segment_out_cb().set(FUNC(hh_ht1190_state::segment_w)); - - m_maincpu->ps_in_cb().set_ioport(m_in[0]); - m_maincpu->pp_in_cb().set_ioport(m_in[1]); - - SPEAKER(config, "speaker").front_center(); - - mcfg_svg_screen(config, 755, 1080); -} +// config void hh_ht1130_state::ga888(machine_config &config) { @@ -202,16 +252,7 @@ void hh_ht1130_state::ga888(machine_config &config) mcfg_svg_screen(config, 698, 1080); } -ROM_START( brke23p2 ) - ROM_REGION( 0x1000, "maincpu", 0 ) - ROM_LOAD( "brke23p2.bin", 0x0000, 0x1000, CRC(8045fac4) SHA1(a36213309e6add31f31e4248f02f17de9914a5c1) ) // visual decap - - ROM_REGION( 0x280, "melody", 0 ) - ROM_LOAD( "e23plusmarkii96in1.srom", 0x000, 0x280, CRC(591a8a21) SHA1(f039359e8e1d1bf75581a4c852b263c8c140e072) ) - - ROM_REGION( 160500, "screen", 0) - ROM_LOAD( "brke23p2.svg", 0, 160500, CRC(9edf8aab) SHA1(f2ab907d23517612196648f1b5b0cb9b4a1ab3bd) ) -ROM_END +// roms ROM_START( ga888 ) ROM_REGION( 0x1000, "maincpu", 0 ) @@ -224,11 +265,17 @@ ROM_START( ga888 ) ROM_LOAD( "ga888.svg", 0, 85508, CRC(9ab6dd67) SHA1(a4365a00204bf4e376f28600c0b87289bda0cbb0) ) ROM_END - } // anonymous namespace -// some other dieshots have 1996 on them, it is also possible the software is from Holtek -CONS( 1993, brke23p2, 0, 0, brke23p2, brke23p2, hh_ht1190_state, empty_init, "E-Star", "Brick Game 96 in 1 (E-23 Plus Mark II)", MACHINE_IMPERFECT_TIMING | MACHINE_NO_SOUND ) -CONS( 199?, ga888, 0, 0, ga888, ga888, hh_ht1130_state, empty_init, "", "Block Game & Echo Key GA888", MACHINE_IMPERFECT_TIMING | MACHINE_NO_SOUND ) // clone of Tetris Jr? +/******************************************************************************* + + Game driver(s) + +*******************************************************************************/ + +// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS +CONS( 1993, brke23p2, 0, 0, brke23p2, brke23p2, hh_ht1190_state, empty_init, "E-Star", "Brick Game 96 in 1 (E-23 Plus Mark II)", MACHINE_IMPERFECT_TIMING | MACHINE_NO_SOUND ) // some other dieshots have 1996 on them, it is also possible the software is from Holtek + +CONS( 199?, ga888, 0, 0, ga888, ga888, hh_ht1130_state, empty_init, "", "Block Game & Echo Key GA888", MACHINE_IMPERFECT_TIMING | MACHINE_NO_SOUND ) // clone of Tetris Jr? diff --git a/src/mame/handheld/scrablex.cpp b/src/mame/handheld/scrablex.cpp index 36aacb73ea2ae..7e19b46a5cecd 100644 --- a/src/mame/handheld/scrablex.cpp +++ b/src/mame/handheld/scrablex.cpp @@ -185,6 +185,7 @@ void scrablex_state::scrablex(machine_config &config) { // basic machine hardware MB8841(config, m_maincpu, 500000); // approximation - RC osc. R=15K, C=100pF + m_maincpu->set_pla_bits(4); m_maincpu->write_o().set(FUNC(scrablex_state::write_o)); m_maincpu->write_p().set(FUNC(scrablex_state::write_p)); m_maincpu->read_r<0>().set(FUNC(scrablex_state::read_r<0>)); diff --git a/src/mame/heathzenith/h89.cpp b/src/mame/heathzenith/h89.cpp index 0412404811b48..fec89e8763f81 100644 --- a/src/mame/heathzenith/h89.cpp +++ b/src/mame/heathzenith/h89.cpp @@ -204,6 +204,16 @@ class h89_sigmasoft_state : public h89_state void h89_sigmasoft(machine_config &config); }; +class h89_cdr_state : public h89_base_state +{ +public: + h89_cdr_state(const machine_config &mconfig, device_type type, const char *tag): + h89_base_state(mconfig, type, tag) + { + } + + void h89_cdr(machine_config &config); +}; /** * Heathkit H89 with MMS hardware @@ -605,6 +615,30 @@ static INPUT_PORTS_START( h89 ) PORT_DIPSETTING( 0x00, DEF_STR( Normal ) ) PORT_DIPSETTING( 0x80, "Auto" ) + // CDR8390 ROM + PORT_DIPNAME( 0x03, 0x00, "Disk I/O #2" ) PORT_DIPLOCATION("SW501:1,2") PORT_CONDITION("CONFIG", 0x3c, EQUALS, 0x20) + PORT_DIPSETTING( 0x00, "H-88-1" ) + PORT_DIPSETTING( 0x01, "undefined" ) + PORT_DIPSETTING( 0x02, "undefined" ) + PORT_DIPSETTING( 0x03, "undefined" ) + PORT_DIPNAME( 0x0c, 0x00, "Disk I/O #1" ) PORT_DIPLOCATION("SW501:3,4") PORT_CONDITION("CONFIG", 0x3c, EQUALS, 0x20) + PORT_DIPSETTING( 0x00, "undefined" ) + PORT_DIPSETTING( 0x04, "CDR FDC-880H" ) + PORT_DIPSETTING( 0x08, "undefined" ) + PORT_DIPSETTING( 0x0c, "undefined" ) + PORT_DIPNAME( 0x10, 0x00, "Primary Boot from" ) PORT_DIPLOCATION("SW501:5") PORT_CONDITION("CONFIG", 0x3c, EQUALS, 0x20) + PORT_DIPSETTING( 0x00, "Disk I/O #2" ) + PORT_DIPSETTING( 0x10, "Disk I/O #1" ) + PORT_DIPNAME( 0x20, 0x20, "Perform memory test at start" ) PORT_DIPLOCATION("SW501:6") PORT_CONDITION("CONFIG", 0x3c, EQUALS, 0x20) + PORT_DIPSETTING( 0x20, DEF_STR( No ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) + PORT_DIPNAME( 0x40, 0x00, "Console Baud rate" ) PORT_DIPLOCATION("SW501:7") PORT_CONDITION("CONFIG", 0x3c, EQUALS, 0x20) + PORT_DIPSETTING( 0x00, "9600" ) + PORT_DIPSETTING( 0x40, "19200" ) + PORT_DIPNAME( 0x80, 0x00, "Boot mode" ) PORT_DIPLOCATION("SW501:8") PORT_CONDITION("CONFIG", 0x3c, EQUALS, 0x20) + PORT_DIPSETTING( 0x00, DEF_STR( Normal ) ) + PORT_DIPSETTING( 0x80, "Auto" ) + PORT_START("CONFIG") PORT_CONFNAME(0x03, 0x00, "CPU Clock Speed Upgrade") @@ -620,6 +654,7 @@ static INPUT_PORTS_START( h89 ) PORT_CONFSETTING( 0x14, "Ultimeth MTRHEX-4k") PORT_CONFSETTING( 0x18, "Ultimeth MTRHEX-2k") PORT_CONFSETTING( 0x1c, "SigmaROM") + PORT_CONFSETTING( 0x20, "CDR8390 ROM") INPUT_PORTS_END @@ -993,6 +1028,17 @@ void h89_sigmasoft_state::h89_sigmasoft(machine_config &config) H89BUS_LEFT_SLOT(config.replace(), "p501", "h89bus", h89_left_cards, "ss_parallel"); } +void h89_cdr_state::h89_cdr(machine_config &config) +{ + h89_base(config); + m_h89bus->set_default_bios_tag("cdr86"); + + m_intr_socket->set_default_option("original"); + m_intr_socket->set_fixed(true); + + H89BUS_RIGHT_SLOT(config.replace(), "p504", "h89bus", h89_right_cards, "cdr_fdc"); +} + void h89_mms_state::h89_mms(machine_config &config) { h89_base(config); @@ -1053,6 +1099,15 @@ void h89_mms_state::h89_mms(machine_config &config) ROM_SYSTEM_BIOS(x, "sigmarom_v1_2", "SigmaROM v1.2") \ ROMX_LOAD("2732_sigma_rom_v_1.2.bin", 0x0000, 0x1000, CRC(c4ff47c5) SHA1(d6f3d71ff270a663003ec18a3ed1fa49f627123a), ROM_BIOS(x)) +#define ROM_CDR_8390(x) \ + ROM_SYSTEM_BIOS(x, "cdr8390", "CDR 8390") \ + ROMX_LOAD("2732_cdr8390.u518", 0x0000, 0x1000, CRC(1d30fe43) SHA1(170092d1b62cf88edd29338b474e799c249a0dd7), ROM_BIOS(x)) + +// NOTE: this rom is not currently working +#define ROM_CDR_80B2(x) \ + ROM_SYSTEM_BIOS(x, "cdr80b2", "CDR 80B2") \ + ROMX_LOAD("2732_cdr80b2.u518", 0x0000, 0x1000, CRC(804a6898) SHA1(a58daca0baf7b5d7c1485531680bd63168eb2d7e), ROM_BIOS(x)) + ROM_START( h88 ) ROM_REGION( 0x2000, "maincpu", ROMREGION_ERASEFF ) @@ -1087,6 +1142,10 @@ ROM_START( h89 ) ROM_SIGMA_V_1_3(8) ROM_SIGMA_V_1_2(9) + + ROM_CDR_8390(10) + + ROM_CDR_80B2(11) ROM_END ROM_START( h89_sigmasoft ) @@ -1114,6 +1173,25 @@ ROM_START( h89_sigmasoft ) ROM_SIGMA_V_1_3(8) ROM_SIGMA_V_1_2(9) + + ROM_CDR_8390(10) + + ROM_CDR_80B2(11) +ROM_END + +ROM_START( h89_cdr ) + ROM_REGION( 0x2000, "maincpu", ROMREGION_ERASEFF ) + ROM_DEFAULT_BIOS("cdr8390") + + ROM_H17 + + ROM_CDR_8390(0) + + ROM_CDR_80B2(1) + + ROM_KMR_100(2) + + ROM_ULTIMETH_4K(3) ROM_END ROM_START( h89_mms ) @@ -1154,6 +1232,10 @@ ROM_START( z90 ) ROM_SIGMA_V_1_3(6) ROM_SIGMA_V_1_2(7) + + ROM_CDR_8390(8) + + ROM_CDR_80B2(9) ROM_END } // anonymous namespace @@ -1162,6 +1244,7 @@ ROM_END // year name parent compat machine input class init company fullname flags COMP( 1979, h88, h89, 0, h88, h88, h88_state, empty_init, "Heath Company", "H-88", MACHINE_SUPPORTS_SAVE) COMP( 1979, h89, 0, 0, h89, h89, h89_state, empty_init, "Heath Company", "H-89", MACHINE_SUPPORTS_SAVE) +COMP( 1981, h89_cdr, h89, 0, h89_cdr, h89, h89_cdr_state, empty_init, "Heath Company", "H-89 with CDR Equipment", MACHINE_SUPPORTS_SAVE) COMP( 1981, h89_mms, h89, 0, h89_mms, h89, h89_mms_state, empty_init, "Heath Company", "H-89 with MMS Equipment", MACHINE_SUPPORTS_SAVE) COMP( 1981, z90, h89, 0, h89, h89, h89_state, empty_init, "Zenith Data Systems", "Z-90", MACHINE_SUPPORTS_SAVE) COMP( 1984, h89_sigmasoft, h89, 0, h89_sigmasoft, h89, h89_sigmasoft_state, empty_init, "Heath Company", "H-89 with SigmaSoft IGC", MACHINE_SUPPORTS_SAVE) diff --git a/src/mame/heathzenith/z29.cpp b/src/mame/heathzenith/z29.cpp index 1c069682f3933..301a311acf470 100644 --- a/src/mame/heathzenith/z29.cpp +++ b/src/mame/heathzenith/z29.cpp @@ -196,4 +196,4 @@ ROM_END } // anonymous namespace // year name parent compat machine input class init company fullname flags -COMP( 1983, z29, 0, 0, z29, z29, z29_state, empty_init, "Zenith Data Systems", "Z-29 Terminal", MACHINE_IS_SKELETON) +COMP( 1983, z29, 0, 0, z29, z29, z29_state, empty_init, "Zenith Data Systems", "Z-29 Terminal", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/hegenerglaser/academy.cpp b/src/mame/hegenerglaser/academy.cpp index 09c9faddda9fc..d57c0456a76c3 100644 --- a/src/mame/hegenerglaser/academy.cpp +++ b/src/mame/hegenerglaser/academy.cpp @@ -27,7 +27,7 @@ Academy hardware. Much unused data remains, and the TRAIN button doesn't work. #include "mmboard.h" #include "mmdisplay2.h" -#include "cpu/m6502/m65c02.h" +#include "cpu/m6502/w65c02.h" #include "machine/74259.h" #include "machine/nvram.h" #include "video/pwm.h" @@ -130,7 +130,7 @@ INPUT_PORTS_END void academy_state::academy(machine_config &config) { // basic machine hardware - M65C02(config, m_maincpu, 4.9152_MHz_XTAL); + W65C02(config, m_maincpu, 4.9152_MHz_XTAL); m_maincpu->set_addrmap(AS_PROGRAM, &academy_state::main_map); const attotime nmi_period = attotime::from_hz(4.9152_MHz_XTAL / 0x2000); diff --git a/src/mame/hegenerglaser/modena.cpp b/src/mame/hegenerglaser/modena.cpp index 99e1d944a3efa..4d74595400ccb 100644 --- a/src/mame/hegenerglaser/modena.cpp +++ b/src/mame/hegenerglaser/modena.cpp @@ -20,7 +20,7 @@ Hardware notes: #include "mmdisplay1.h" -#include "cpu/m6502/m65c02.h" +#include "cpu/m6502/w65c02.h" #include "machine/clock.h" #include "machine/nvram.h" #include "machine/sensorboard.h" @@ -170,7 +170,7 @@ INPUT_PORTS_END void modena_state::modena(machine_config &config) { // basic machine hardware - M65C02(config, m_maincpu, 4.194304_MHz_XTAL); + W65C02(config, m_maincpu, 4.194304_MHz_XTAL); m_maincpu->set_addrmap(AS_PROGRAM, &modena_state::modena_mem); clock_device &nmi_clock(CLOCK(config, "nmi_clock", 4.194304_MHz_XTAL / 0x2000)); // active for 975us diff --git a/src/mame/hegenerglaser/mondial.cpp b/src/mame/hegenerglaser/mondial.cpp index 0395f4fde7ca8..291f1b0b8b342 100644 --- a/src/mame/hegenerglaser/mondial.cpp +++ b/src/mame/hegenerglaser/mondial.cpp @@ -23,7 +23,7 @@ Hardware notes: #include "bus/generic/slot.h" #include "bus/generic/carts.h" -#include "cpu/m6502/m65sc02.h" +#include "cpu/m6502/g65sc02.h" #include "machine/sensorboard.h" #include "sound/beep.h" #include "video/pwm.h" @@ -166,7 +166,7 @@ INPUT_PORTS_END void mondial_state::mondial(machine_config &config) { // basic machine hardware - M65SC02(config, m_maincpu, 2'000'000); + G65SC02(config, m_maincpu, 2'000'000); m_maincpu->set_addrmap(AS_PROGRAM, &mondial_state::mondial_mem); const attotime irq_period = attotime::from_hz(2'000'000 / 0x1000); diff --git a/src/mame/hegenerglaser/mondial2.cpp b/src/mame/hegenerglaser/mondial2.cpp index 5b77c18e8fd6b..5ea45de82dc9d 100644 --- a/src/mame/hegenerglaser/mondial2.cpp +++ b/src/mame/hegenerglaser/mondial2.cpp @@ -15,7 +15,7 @@ Hardware notes: #include "emu.h" -#include "cpu/m6502/m65sc02.h" +#include "cpu/m6502/g65sc02.h" #include "machine/sensorboard.h" #include "sound/dac.h" #include "video/pwm.h" @@ -175,7 +175,7 @@ INPUT_PORTS_END void mondial2_state::mondial2(machine_config &config) { // basic machine hardware - M65SC02(config, m_maincpu, 2_MHz_XTAL); + G65SC02(config, m_maincpu, 2_MHz_XTAL); m_maincpu->set_addrmap(AS_PROGRAM, &mondial2_state::mondial2_mem); const attotime nmi_period = attotime::from_hz(2_MHz_XTAL / 0x1000); diff --git a/src/mame/hegenerglaser/montec.cpp b/src/mame/hegenerglaser/montec.cpp index dc2d72890b00c..9904ebb0bb7a6 100644 --- a/src/mame/hegenerglaser/montec.cpp +++ b/src/mame/hegenerglaser/montec.cpp @@ -23,8 +23,8 @@ Hardware notes: #include "mmboard.h" -#include "cpu/m6502/m65c02.h" #include "cpu/m6502/r65c02.h" +#include "cpu/m6502/w65c02.h" #include "machine/74259.h" #include "machine/nvram.h" #include "sound/dac.h" @@ -224,7 +224,7 @@ void montec_state::montec4le(machine_config &config) montec4(config); // basic machine hardware - M65C02(config.replace(), m_maincpu, 8_MHz_XTAL); + W65C02(config.replace(), m_maincpu, 8_MHz_XTAL); m_maincpu->set_addrmap(AS_PROGRAM, &montec_state::montec_mem); const attotime irq_period = attotime::from_hz(8_MHz_XTAL / 0x4000); diff --git a/src/mame/hegenerglaser/polgar.cpp b/src/mame/hegenerglaser/polgar.cpp index 4739bd9790c42..c49d5b2e098bc 100644 --- a/src/mame/hegenerglaser/polgar.cpp +++ b/src/mame/hegenerglaser/polgar.cpp @@ -19,8 +19,8 @@ The 10MHz version has a W65C02P-8 @ 9.83MHz. #include "mmboard.h" #include "mmdisplay2.h" -#include "cpu/m6502/m65c02.h" #include "cpu/m6502/r65c02.h" +#include "cpu/m6502/w65c02.h" #include "machine/74259.h" #include "machine/nvram.h" @@ -134,7 +134,7 @@ void polgar_state::polgar10(machine_config &config) polgar(config); // basic machine hardware - M65C02(config.replace(), m_maincpu, 9.8304_MHz_XTAL); + W65C02(config.replace(), m_maincpu, 9.8304_MHz_XTAL); m_maincpu->set_addrmap(AS_PROGRAM, &polgar_state::polgar_mem); const attotime nmi_period = attotime::from_hz(9.8304_MHz_XTAL / 0x2000); diff --git a/src/mame/hegenerglaser/risc.cpp b/src/mame/hegenerglaser/risc.cpp index 8e81bc87fab23..da1bc98c863bd 100644 --- a/src/mame/hegenerglaser/risc.cpp +++ b/src/mame/hegenerglaser/risc.cpp @@ -23,7 +23,7 @@ Hardware notes: #include "mmboard.h" #include "mmdisplay2.h" -#include "cpu/m6502/m65sc02.h" +#include "cpu/m6502/g65sc02.h" #include "machine/74259.h" #include "machine/chessmachine.h" #include "machine/nvram.h" @@ -145,7 +145,7 @@ INPUT_PORTS_END void risc_state::mrisc(machine_config &config) { // basic machine hardware - M65SC02(config, m_maincpu, 10_MHz_XTAL / 4); + G65SC02(config, m_maincpu, 10_MHz_XTAL / 4); m_maincpu->set_addrmap(AS_PROGRAM, &risc_state::mrisc_mem); const attotime irq_period = attotime::from_hz(10_MHz_XTAL / 0x4000); diff --git a/src/mame/hegenerglaser/smondial.cpp b/src/mame/hegenerglaser/smondial.cpp index 7b26c98209eb9..e50e8b40ad3bd 100644 --- a/src/mame/hegenerglaser/smondial.cpp +++ b/src/mame/hegenerglaser/smondial.cpp @@ -23,7 +23,7 @@ Undocumented buttons: #include "bus/generic/slot.h" #include "bus/generic/carts.h" -#include "cpu/m6502/m65sc02.h" +#include "cpu/m6502/g65sc02.h" #include "cpu/m6502/r65c02.h" #include "machine/74259.h" #include "machine/nvram.h" @@ -279,7 +279,7 @@ INPUT_PORTS_END void smondialb_state::smondialb(machine_config &config) { // basic machine hardware - M65SC02(config, m_maincpu, 4_MHz_XTAL); + G65SC02(config, m_maincpu, 4_MHz_XTAL); m_maincpu->set_addrmap(AS_PROGRAM, &smondialb_state::smondialb_mem); const attotime nmi_period = attotime::from_hz(4_MHz_XTAL / 0x2000); diff --git a/src/mame/homebrew/ultim809.cpp b/src/mame/homebrew/ultim809.cpp index 2d68013af8136..0df6c6cdaedcc 100644 --- a/src/mame/homebrew/ultim809.cpp +++ b/src/mame/homebrew/ultim809.cpp @@ -180,4 +180,4 @@ ROM_END /* Driver */ // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 2010, ultim809, 0, 0, ultim809, ultim809, ultim809_state, empty_init, "Matthew Sarnoff", "Ultim809", MACHINE_IS_INCOMPLETE | MACHINE_IS_SKELETON | MACHINE_SUPPORTS_SAVE ) +COMP( 2010, ultim809, 0, 0, ultim809, ultim809, ultim809_state, empty_init, "Matthew Sarnoff", "Ultim809", MACHINE_IS_INCOMPLETE | MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/homebrew/zexall.cpp b/src/mame/homebrew/zexall.cpp index 996c0ebf79156..862d4ecab24e7 100644 --- a/src/mame/homebrew/zexall.cpp +++ b/src/mame/homebrew/zexall.cpp @@ -14,17 +14,22 @@ Ram 0000-FFFF (preloaded with binary) Special calls take place for three ram values (this interface was designed by kevtris): - FFFD - 'ack' - shared ram with output device; z80 reads from here and considers the byte at FFFF read if this value incremented - FFFE - 'req' - shared ram with output device; z80 writes an incrementing value to FFFE to indicate that there is a byte waiting at FFFF - and hence requesting the output device on the other end do something about it, until FFFD is incremented by the - output device to acknowledge receipt + FFFD - 'ack' - shared ram with output device; z80 reads from here and considers + the byte at FFFF read if this value incremented + FFFE - 'req' - shared ram with output device; z80 writes an incrementing value + to FFFE to indicate that there is a byte waiting at FFFF and hence + requesting the output device on the other end do something about it, + until FFFD is incremented by the output device to acknowledge receipt FFFF - 'data' - shared ram with output device; z80 writes the data to be sent to output device here + One i/o port is used, but left unemulated: - 0001 - bit 0 controls whether interrupt timer is enabled (1) or not (0), this is a holdover from a project of kevtris' and can be ignored. + 0001 - bit 0 controls whether interrupt timer is enabled (1) or not (0), + this is a holdover from a project of kevtris' and can be ignored. ******************************************************************************/ #include "emu.h" + #include "cpu/z80/z80.h" #include "machine/terminal.h" @@ -43,6 +48,10 @@ class zexall_state : public driver_device void zexall(machine_config &config); +protected: + virtual void machine_start() override ATTR_COLD; + virtual void machine_reset() override ATTR_COLD; + private: uint8_t output_ack_r(); uint8_t output_req_r(); @@ -60,9 +69,6 @@ class zexall_state : public driver_device uint8_t m_out_req = 0U; // byte written to 0xFFFE uint8_t m_out_req_last = 0U; // old value at 0xFFFE before the most recent write uint8_t m_out_ack = 0U; // byte written to 0xFFFC - - virtual void machine_start() override ATTR_COLD; - virtual void machine_reset() override ATTR_COLD; }; diff --git a/src/mame/homelab/braiplus.cpp b/src/mame/homelab/braiplus.cpp index 2f6cef3dccf56..9a5f6252f8190 100644 --- a/src/mame/homelab/braiplus.cpp +++ b/src/mame/homelab/braiplus.cpp @@ -265,4 +265,4 @@ ROM_END } // anonymous namespace -COMP( 1988, braiplus, 0, 0, braiplus, braiplus, braiplus_state, empty_init, "Jozsef and Endre Lukacs", "BraiLab Plus", MACHINE_IS_SKELETON ) +COMP( 1988, braiplus, 0, 0, braiplus, braiplus, braiplus_state, empty_init, "Jozsef and Endre Lukacs", "BraiLab Plus", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/homelab/homelab.cpp b/src/mame/homelab/homelab.cpp index 266fea15a78b3..544ac550b3bab 100644 --- a/src/mame/homelab/homelab.cpp +++ b/src/mame/homelab/homelab.cpp @@ -537,7 +537,7 @@ INPUT_PORTS_END PORT_BIT(0xf0, IP_ACTIVE_LOW, IPT_UNUSED) PORT_START("X2") - PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_CUSTOM) PORT_VBLANK("screen") + PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_CUSTOM) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Left Shift") PORT_CODE(KEYCODE_LSHIFT) PORT_CHAR(UCHAR_SHIFT_1) PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Right Shift") PORT_CODE(KEYCODE_RSHIFT) PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("ALT") PORT_CODE(KEYCODE_CAPSLOCK) @@ -650,7 +650,7 @@ static INPUT_PORTS_START(brailab4) // F4 to F8 are foreign characters PORT_BIT(0xf0, IP_ACTIVE_LOW, IPT_UNUSED) PORT_START("X2") - PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_CUSTOM) PORT_VBLANK("screen") + PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_CUSTOM) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Left Shift") PORT_CODE(KEYCODE_LSHIFT) PORT_CHAR(UCHAR_SHIFT_1) PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Right Shift") PORT_CODE(KEYCODE_RSHIFT) PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("ALT") PORT_CODE(KEYCODE_CAPSLOCK) diff --git a/src/mame/hp/hp2100.cpp b/src/mame/hp/hp2100.cpp index fe521d560ae90..8a258c3dcae75 100644 --- a/src/mame/hp/hp2100.cpp +++ b/src/mame/hp/hp2100.cpp @@ -348,4 +348,4 @@ ROM_END } // anonymous namespace -COMP( 1966, hp2100, 0, 0, hp2100, hp2100, hp2100_state, empty_init, "Hewlett-Packard", "HP 2100", MACHINE_IS_SKELETON ) +COMP( 1966, hp2100, 0, 0, hp2100, hp2100, hp2100_state, empty_init, "Hewlett-Packard", "HP 2100", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/hp/hp700.cpp b/src/mame/hp/hp700.cpp index 354ca71a9a138..eedd0e365b90e 100644 --- a/src/mame/hp/hp700.cpp +++ b/src/mame/hp/hp700.cpp @@ -144,5 +144,5 @@ ROM_END } // anonymous namespace -COMP(1987, hp700_92, 0, 0, hp700_92, hp700_92, hp700_state, empty_init, "Hewlett-Packard", "HP 700/92 Display Terminal", MACHINE_IS_SKELETON) -COMP(1994, hp700_70, 0, 0, hp700_70, hp700_92, hp700_state, empty_init, "Hewlett-Packard", "HP 700/70 Windowing Terminal", MACHINE_IS_SKELETON) +COMP(1987, hp700_92, 0, 0, hp700_92, hp700_92, hp700_state, empty_init, "Hewlett-Packard", "HP 700/92 Display Terminal", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +COMP(1994, hp700_70, 0, 0, hp700_70, hp700_92, hp700_state, empty_init, "Hewlett-Packard", "HP 700/70 Windowing Terminal", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/hp/hp7596a.cpp b/src/mame/hp/hp7596a.cpp index cd1f6442bc8dd..08b71f22d6606 100644 --- a/src/mame/hp/hp7596a.cpp +++ b/src/mame/hp/hp7596a.cpp @@ -60,4 +60,4 @@ ROM_END } // anonymous namespace -SYST(1988, hp7596a, 0, 0, hp7596a, hp7596a, hp7596a_state, empty_init, "Hewlett-Packard", "HP 7596A DraftMaster II", MACHINE_IS_SKELETON) +SYST(1988, hp7596a, 0, 0, hp7596a, hp7596a, hp7596a_state, empty_init, "Hewlett-Packard", "HP 7596A DraftMaster II", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/hp/hp9845.cpp b/src/mame/hp/hp9845.cpp index cf8347a760700..c2815915b2f9b 100644 --- a/src/mame/hp/hp9845.cpp +++ b/src/mame/hp/hp9845.cpp @@ -3933,10 +3933,10 @@ ROM_START( hp9845t_de ) ROM_END // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 1977, hp9845a, 0, 0, hp9845a, hp9845, hp9845_state, empty_init, "Hewlett-Packard", "9845A", MACHINE_IS_SKELETON ) -COMP( 1977, hp9845s, hp9845a, 0, hp9845a, hp9845, hp9845_state, empty_init, "Hewlett-Packard", "9845S", MACHINE_IS_SKELETON ) -COMP( 1979, hp9835a, 0, 0, hp9835a, hp9845, hp9845_state, empty_init, "Hewlett-Packard", "9835A", MACHINE_IS_SKELETON ) -COMP( 1979, hp9835b, hp9835a, 0, hp9835a, hp9845, hp9845_state, empty_init, "Hewlett-Packard", "9835B", MACHINE_IS_SKELETON ) +COMP( 1977, hp9845a, 0, 0, hp9845a, hp9845, hp9845_state, empty_init, "Hewlett-Packard", "9845A", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 1977, hp9845s, hp9845a, 0, hp9845a, hp9845, hp9845_state, empty_init, "Hewlett-Packard", "9845S", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 1979, hp9835a, 0, 0, hp9835a, hp9845, hp9845_state, empty_init, "Hewlett-Packard", "9835A", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 1979, hp9835b, hp9835a, 0, hp9835a, hp9845, hp9845_state, empty_init, "Hewlett-Packard", "9835B", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) COMP( 1979, hp9845b, 0, 0, hp9845b, hp9845_base, hp9845b_state, empty_init, "Hewlett-Packard", "9845B", 0 ) COMP( 1982, hp9845t, 0, 0, hp9845t, hp9845ct, hp9845t_state, empty_init, "Hewlett-Packard", "9845T", 0 ) COMP( 1980, hp9845c, 0, 0, hp9845c, hp9845ct, hp9845c_state, empty_init, "Hewlett-Packard", "9845C", 0 ) diff --git a/src/mame/hp/jornada.cpp b/src/mame/hp/jornada.cpp index 9653b28400b8f..3e7b6486cb844 100644 --- a/src/mame/hp/jornada.cpp +++ b/src/mame/hp/jornada.cpp @@ -656,4 +656,4 @@ ROM_END } // anonymous namespace -COMP( 2000, jorn720, 0, 0, jornada720, jornada720, jornada_state, empty_init, "Hewlett Packard", "Jornada 720", MACHINE_IS_SKELETON ) +COMP( 2000, jorn720, 0, 0, jornada720, jornada720, jornada_state, empty_init, "Hewlett Packard", "Jornada 720", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/husky/hawk.cpp b/src/mame/husky/hawk.cpp index 68e1467a0405c..e2a93da42e2de 100644 --- a/src/mame/husky/hawk.cpp +++ b/src/mame/husky/hawk.cpp @@ -155,4 +155,4 @@ ROM_END // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 1987, hawk, 0, 0, hawk, hawk, hawk_state, init_hawk, "Husky Computers Ltd", "Husky Hawk", MACHINE_IS_SKELETON ) +COMP( 1987, hawk, 0, 0, hawk, hawk, hawk_state, init_hawk, "Husky Computers Ltd", "Husky Hawk", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/husky/hunter16.cpp b/src/mame/husky/hunter16.cpp index 200c6d2cc0e22..912f3e5ca5357 100644 --- a/src/mame/husky/hunter16.cpp +++ b/src/mame/husky/hunter16.cpp @@ -274,6 +274,6 @@ ROM_END /* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */ -COMP( 1989, hunter16, 0, 0, hunter16, hunter16, hunter16_state, empty_init, "Husky Computers Ltd", "Husky Hunter 16", MACHINE_IS_SKELETON ) -COMP( 1990, hunter216, hunter16, 0, hunter16, hunter2, hunter16_state, empty_init, "Husky Computers Ltd", "Husky Hunter 2/16", MACHINE_IS_SKELETON ) -COMP( 1989, hunter1680, hunter16, 0, hunter1680, hunter16, hunter16_state, empty_init, "Husky Computers Ltd", "Husky Hunter 16/80", MACHINE_IS_SKELETON ) +COMP( 1989, hunter16, 0, 0, hunter16, hunter16, hunter16_state, empty_init, "Husky Computers Ltd", "Husky Hunter 16", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 1990, hunter216, hunter16, 0, hunter16, hunter2, hunter16_state, empty_init, "Husky Computers Ltd", "Husky Hunter 2/16", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 1989, hunter1680, hunter16, 0, hunter1680, hunter16, hunter16_state, empty_init, "Husky Computers Ltd", "Husky Hunter 16/80", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/ibm/ibm3153.cpp b/src/mame/ibm/ibm3153.cpp index f8fb8ef63a97e..2e8025748a68b 100644 --- a/src/mame/ibm/ibm3153.cpp +++ b/src/mame/ibm/ibm3153.cpp @@ -137,4 +137,4 @@ ROM_END /* Driver */ // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 1999?, ibm3153, 0, 0, ibm3153, ibm3153, ibm3153_state, empty_init, "IBM", "IBM 3153 Terminal", MACHINE_IS_SKELETON) +COMP( 1999?, ibm3153, 0, 0, ibm3153, ibm3153, ibm3153_state, empty_init, "IBM", "IBM 3153 Terminal", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/ibm/ibm5550.cpp b/src/mame/ibm/ibm5550.cpp index 3cf5910445a20..10398603f8b35 100644 --- a/src/mame/ibm/ibm5550.cpp +++ b/src/mame/ibm/ibm5550.cpp @@ -287,4 +287,4 @@ ROM_START( ibm5550 ) ROM_LOAD("chargen.rom", 0x00000, 0x20000, NO_DUMP ) ROM_END -COMP( 1983, ibm5550, 0, 0, ibm5550, ibm5550, ibm5550_state, empty_init, "International Business Machines", "Multistation 5550", MACHINE_IS_SKELETON ) +COMP( 1983, ibm5550, 0, 0, ibm5550, ibm5550, ibm5550_state, empty_init, "International Business Machines", "Multistation 5550", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/ibm/ibm6580.cpp b/src/mame/ibm/ibm6580.cpp index eb8cf005a79f5..3334962cac6e2 100644 --- a/src/mame/ibm/ibm6580.cpp +++ b/src/mame/ibm/ibm6580.cpp @@ -1073,4 +1073,4 @@ ROM_END /* Driver */ /* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */ -COMP( 1980, ibm6580, 0, 0, ibm6580, 0, ibm6580_state, empty_init, "IBM", "IBM 6580 Displaywriter", MACHINE_IS_SKELETON) +COMP( 1980, ibm6580, 0, 0, ibm6580, 0, ibm6580_state, empty_init, "IBM", "IBM 6580 Displaywriter", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/ibm/thinkpad8xx.cpp b/src/mame/ibm/thinkpad8xx.cpp index 7f246e64bd865..2a290b4ba7b38 100644 --- a/src/mame/ibm/thinkpad8xx.cpp +++ b/src/mame/ibm/thinkpad8xx.cpp @@ -102,4 +102,4 @@ ROM_END } // anonymous namespace // YEAR, NAME, PARENT, COMPAT, MACHINE, INPUT, CLASS, INIT, COMPANY, FULLNAME, FLAGS -COMP( 1996, thinkpad850, 0, 0, thinkpad850, thinkpad8xx, thinkpad8xx_state, empty_init, "IBM", "ThinkPad 850", MACHINE_IS_SKELETON ) +COMP( 1996, thinkpad850, 0, 0, thinkpad850, thinkpad8xx, thinkpad8xx_state, empty_init, "IBM", "ThinkPad 850", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/ice/frenzyxprss.cpp b/src/mame/ice/frenzyxprss.cpp index fc1c2f70bb2e8..f747df3b61c90 100644 --- a/src/mame/ice/frenzyxprss.cpp +++ b/src/mame/ice/frenzyxprss.cpp @@ -103,4 +103,4 @@ ROM_END } // Anonymous namespace -GAME(2001, frenzyxprss, 0, frenzyxprss, frenzyxprss, frenzyxprss_state, empty_init, ROT0, "ICE / Uniana", "Frenzy Express", MACHINE_IS_SKELETON) +GAME(2001, frenzyxprss, 0, frenzyxprss, frenzyxprss, frenzyxprss_state, empty_init, ROT0, "ICE / Uniana", "Frenzy Express", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/ice/ice_hhhippos.cpp b/src/mame/ice/ice_hhhippos.cpp index c0edd2c444431..2b6b359ad536d 100644 --- a/src/mame/ice/ice_hhhippos.cpp +++ b/src/mame/ice/ice_hhhippos.cpp @@ -91,4 +91,4 @@ ROM_END } // anonymous namespace -GAME(1991, hhhippos, 0, hhhippos, hhhippos, ice_hhhippos_state, empty_init, ROT0, "ICE (Innovative Concepts in Entertainment)", "Hungry Hungry Hippos (redemption game)", MACHINE_IS_SKELETON_MECHANICAL) +GAME(1991, hhhippos, 0, hhhippos, hhhippos, ice_hhhippos_state, empty_init, ROT0, "ICE (Innovative Concepts in Entertainment)", "Hungry Hungry Hippos (redemption game)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) diff --git a/src/mame/ice/ice_tbd.cpp b/src/mame/ice/ice_tbd.cpp index 931a9365bbedf..9f9b494e5dde4 100644 --- a/src/mame/ice/ice_tbd.cpp +++ b/src/mame/ice/ice_tbd.cpp @@ -91,4 +91,4 @@ ROM_END } // anonymous namespace -GAME( 1988, ice_tbd, 0, ice_tbd, ice_tbd, ice_tbd_state, empty_init, ROT0, "Innovative Creations in Entertainment", "Turbo Drive (ICE)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1988, ice_tbd, 0, ice_tbd, ice_tbd, ice_tbd_state, empty_init, ROT0, "Innovative Creations in Entertainment", "Turbo Drive (ICE)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/ice/schexx4gen.cpp b/src/mame/ice/schexx4gen.cpp index b33014e73beed..81ed2b0ec8cd9 100644 --- a/src/mame/ice/schexx4gen.cpp +++ b/src/mame/ice/schexx4gen.cpp @@ -51,4 +51,4 @@ ROM_END } // Anonymous namespace -GAME(1996, schexx, 0, schexx, schexx, schexx_state, empty_init, ROT0, "ICE", "Super Chexx (EM Bubble Hockey)", MACHINE_IS_SKELETON_MECHANICAL) +GAME(1996, schexx, 0, schexx, schexx, schexx_state, empty_init, ROT0, "ICE", "Super Chexx (EM Bubble Hockey)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) diff --git a/src/mame/igs/goldstar.cpp b/src/mame/igs/goldstar.cpp index a2fc62701f845..e1b3bd05a0f63 100644 --- a/src/mame/igs/goldstar.cpp +++ b/src/mame/igs/goldstar.cpp @@ -457,6 +457,7 @@ class cmaster_state : public goldstar_state void init_cll(); void init_animalhs(); void init_eldoraddoa(); + template void init_tsk(); uint32_t screen_update_amcoe1a(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); uint32_t screen_update_cmast91(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); @@ -481,6 +482,7 @@ class cmaster_state : public goldstar_state void super7(machine_config &config); void animalhs(machine_config &config); void eldoraddoa(machine_config &config); + void amaztsk(machine_config &config); void animalhs_map(address_map &map) ATTR_COLD; void animalhs_portmap(address_map &map) ATTR_COLD; void amcoe1_portmap(address_map &map) ATTR_COLD; @@ -494,6 +496,7 @@ class cmaster_state : public goldstar_state void cmtetriskr_portmap(address_map &map) ATTR_COLD; void cmv4zg_portmap(address_map &map) ATTR_COLD; void eldoraddoa_portmap(address_map &map) ATTR_COLD; + void nfm_portmap(address_map &map) ATTR_COLD; void super7_portmap(address_map &map) ATTR_COLD; void chryangl_decrypted_opcodes_map(address_map &map) ATTR_COLD; void ss2001_portmap(address_map &map) ATTR_COLD; @@ -524,12 +527,14 @@ class wingco_state : public goldstar_state void init_lucky8f(); void init_lucky8l(); void init_lucky8m(); + void init_lucky8n(); void init_magoddsc(); void init_flaming7(); void init_flam7_tw(); void init_luckylad(); void init_nd8lines(); void init_super972(); + void init_wcat(); void init_wcat3(); DECLARE_VIDEO_START(bingowng); @@ -2363,6 +2368,12 @@ void cmaster_state::amcoe2_portmap(address_map &map) map(0x13, 0x13).w(FUNC(cmaster_state::background_col_w)); } +void cmaster_state::nfm_portmap(address_map &map) +{ + amcoe2_portmap(map); + + map(0x17, 0x17).rw("oki", FUNC(okim6295_device::read), FUNC(okim6295_device::write)); +} void goldstar_state::lucky8_map(address_map &map) { @@ -10004,7 +10015,7 @@ static const gfx_layout tiles8x8_3bpp_layout = static GFXDECODE_START( gfx_nfm ) GFXDECODE_ENTRY( "tilegfx", 0, tiles8x8_3bpp_layout, 0, 16 ) GFXDECODE_ENTRY( "reelgfx", 0, tiles8x32_4bpp_layout, 128+64, 4 ) - GFXDECODE_ENTRY( "user1", 0, tiles128x128x4_layout, 128, 4 ) // wrong, needs correct decoding + GFXDECODE_ENTRY( "user1", 0, gfx_8x8x8_raw, 0, 16 ) GFXDECODE_END @@ -11181,12 +11192,21 @@ void cmaster_state::nfm(machine_config &config) /* basic machine hardware */ m_maincpu->set_addrmap(AS_PROGRAM, &cmaster_state::nfm_map); + m_maincpu->set_addrmap(AS_IO, &cmaster_state::nfm_portmap); m_gfxdecode->set_info(gfx_nfm); m_palette->set_init(FUNC(cmaster_state::nfm_palette)); + + OKIM6295(config, "oki", OKI_CLOCK, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 1.0); /* clock frequency & pin 7 not verified */ } +void cmaster_state::amaztsk(machine_config &config) +{ + nfm(config); + + m_maincpu->set_addrmap(AS_PROGRAM, &cmaster_state::cm_map); // expects NVRAM instead of ROM in the 0xd000 - 0xd7ff range +} void unkch_state::vblank_irq(int state) { @@ -14522,6 +14542,73 @@ ROM_START( lucky8m ) ROM_LOAD( "g13", 0x0000, 0x0020, BAD_DUMP CRC(6df3f972) SHA1(0096a7f7452b70cac6c0752cb62e24b643015b5c) ) ROM_END +ROM_START( lucky8n ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "gold.ic8.sub", 0x0000, 0x8000, CRC(f2fc90a2) SHA1(ab9f9166a3b15d69d2f70e1bcc562f54452628e7) ) + + ROM_REGION( 0x18000, "gfx1", 0 ) + ROM_LOAD( "5.7h", 0x00000, 0x8000, CRC(59026af3) SHA1(3d7f7e78968ca26275635aeaa0e994468a3da575) ) + ROM_LOAD( "6.8h", 0x08000, 0x8000, CRC(67a073c1) SHA1(36194d57d0dc0601fa1fdf2e6806f11b2ea6da36) ) + ROM_LOAD( "7.10h", 0x10000, 0x8000, CRC(c415b9d0) SHA1(fd558fe8a116c33bbd712a639224d041447a45c1) ) + + ROM_REGION( 0x8000, "gfx2", 0 ) // all 1ST AND 2ND HALF IDENTICAL, match many other lucky8 sets otherwise + ROM_LOAD( "1.1h", 0x0000, 0x2000, CRC(8ca19ee7) SHA1(2e0cd4a74bd9abef60ed561ba4e5bb2681ce1222) ) + ROM_IGNORE( 0x2000) + ROM_LOAD( "2.3h", 0x2000, 0x2000, CRC(3b5a992d) SHA1(bc862caa6bab654aad80c615ec5a9114bf060300) ) + ROM_IGNORE( 0x2000) + ROM_LOAD( "3.4h", 0x4000, 0x2000, CRC(0219b22d) SHA1(faf7c6804ff36bdff31b5584660e4f2613d0e220) ) + ROM_IGNORE( 0x2000) + ROM_LOAD( "4.6h", 0x6000, 0x2000, CRC(d26c3262) SHA1(c7f1868a66180fc58d65dc90f700df3e33af63a2) ) + ROM_IGNORE( 0x2000) + + // PROMs weren't dumped for this set, but GFX match so color PROMs should match too + ROM_REGION( 0x200, "proms", 0 ) + ROM_LOAD( "d12", 0x000, 0x100, BAD_DUMP CRC(23e81049) SHA1(78071dae70fad870e972d944642fb3a2374be5e4) ) + ROM_LOAD( "prom4", 0x100, 0x100, BAD_DUMP CRC(526cf9d3) SHA1(eb779d70f2507d0f26d225ac8f5de8f2243599ca) ) + + ROM_REGION( 0x20, "proms2", 0 ) + ROM_LOAD( "d13", 0x00, 0x20, BAD_DUMP CRC(c6b41352) SHA1(d7c3b5aa32e4e456c9432a13bede1db6d62eb270) ) + + ROM_REGION( 0x100, "unkprom", 0 ) + ROM_LOAD( "g14", 0x000, 0x100, BAD_DUMP CRC(bd48de71) SHA1(e4fa1e774af1499bc568be5b2deabb859d8c8172) ) + + ROM_REGION( 0x20, "unkprom2", 0 ) + ROM_LOAD( "g13", 0x00, 0x20, BAD_DUMP CRC(6df3f972) SHA1(0096a7f7452b70cac6c0752cb62e24b643015b5c) ) +ROM_END + +// only the subboard available (Z80, ROM, 2 stickered chips (sanded), 2 banks of 8 DIP switches (marked SW5 and SW6) and a rotary switch (SW7)) +// very professional-looking subboard marked Excel Planning +// needs correct GFX ROMs / color PROMs (using the ones from wcat3, for now) +ROM_START( wcat ) + ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_LOAD( "y8.u1.sub", 0x00000, 0x20000, CRC(49e11ff4) SHA1(ce421f85b298c2e9c335fdbf0547a355ae29f1a6) ) + ROM_FILL( 0x1c000, 0x1000, 0xc9 ) // jumps in this area multiple times, but nothing here. Something to do with the 2 stickered chips? + + ROM_REGION( 0x18000, "gfx1", 0 ) + ROM_LOAD( "wcat3.h7", 0x10000, 0x8000, BAD_DUMP CRC(065cb575) SHA1(4dd49773c4caeaa489342e61f26c8eaaae876edc) ) + ROM_LOAD( "wcat3.h8", 0x08000, 0x8000, BAD_DUMP CRC(60463213) SHA1(b0937b4a55f74831ce9a06f3df0af504845f908d) ) + ROM_LOAD( "wcat3.h10", 0x00000, 0x8000, BAD_DUMP CRC(dda38c26) SHA1(4b9292911133dd6067a1c61a44845e824e88a52d) ) + + ROM_REGION( 0x8000, "gfx2", 0 ) + ROM_LOAD( "wcat3.h1", 0x6000, 0x2000, BAD_DUMP CRC(0509d556) SHA1(c2f46d279f45b544c67b0c966659cc6d5d53c22f) ) + ROM_LOAD( "wcat3.h2", 0x4000, 0x2000, BAD_DUMP CRC(d50f3d62) SHA1(8500c7f3a2f51ea0ed7e142ecdc4e669ba3e7065) ) + ROM_LOAD( "wcat3.h4", 0x2000, 0x2000, BAD_DUMP CRC(373d9949) SHA1(ff483505fb9e86411acad7059bf5434dde290946) ) + ROM_LOAD( "wcat3.h5", 0x0000, 0x2000, BAD_DUMP CRC(50febe3b) SHA1(0479bcee53b174aa0413951e283e446b09a6f156) ) + + ROM_REGION( 0x200, "proms", 0 ) + ROM_LOAD( "wcat3.g13", 0x0000, 0x0100, BAD_DUMP CRC(c29a36f2) SHA1(936b07a195f6e7f6a884bd35f442003cf67aa447) ) + ROM_LOAD( "wcat3.g14", 0x0100, 0x0100, BAD_DUMP CRC(dcd53d2c) SHA1(bbcb4266117c3cd1c8ef0e5046d3558c8293313a) ) + + ROM_REGION( 0x40, "proms2", 0 ) + ROM_LOAD( "wcat3.d13", 0x0000, 0x0020, BAD_DUMP CRC(eab832ed) SHA1(0fbc8914ba1805cfc6698fe7f137a934e63a4f89) ) + + ROM_REGION( 0x100, "unkprom", 0 ) + ROM_LOAD( "wcat3.f3", 0x0000, 0x0100, BAD_DUMP CRC(1d668d4a) SHA1(459117f78323ea264d3a29f1da2889bbabe9e4be) ) + + ROM_REGION( 0x40, "unkprom2", 0 ) + ROM_LOAD( "wcat3.d12", 0x0000, 0x0020, BAD_DUMP CRC(6df3f972) SHA1(0096a7f7452b70cac6c0752cb62e24b643015b5c) ) +ROM_END + ROM_START( animalw ) // according to the dumper: runs on the same HW as lucky8 but at the two 8255 has some shorts ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "rom8.bin", 0x0000, 0x8000, CRC(8826e4e7) SHA1(70cff8c5ce75ab0f568e8cdf39ef9165b73fa2c0) ) @@ -18127,11 +18214,13 @@ ROM_START( nfm ) ROM_LOAD( "fruit6", 0x08000, 0x08000, CRC(39d5b89a) SHA1(4cf52fa557ffc792d3e13f7dbb5d45fd617bac85) ) ROM_LOAD( "fruit5", 0x10000, 0x08000, CRC(a7a8f08d) SHA1(76c93194133ba85c0dde1f364260e16d5b647134) ) - ROM_REGION( 0x140000, "user1", 0 ) - ROM_LOAD( "8_f29c51002t.u53", 0x00000, 0x40000, CRC(ff9d5b6d) SHA1(a84fe241ff9958740dcdbd4650bd16a0aa6e01ca) ) + ROM_REGION( 0x100000, "user1", 0 ) // according to the dumper, the next two contain game logo + symbols animations + talking sounds - ROM_LOAD( "am29f040b.plcc32-a.bin", 0x40000, 0x80000, CRC(04bb0bcf) SHA1(b72fc5c351cb05d86938d49d310fe623c7de70d5) ) - ROM_LOAD( "am29f040b.plcc32-b.bin", 0xc0000, 0x80000, CRC(f95838f9) SHA1(99a999945e489c56ec04a87b5037d7e8d138f686) ) + ROM_LOAD( "am29f040b.plcc32-a.bin", 0x00000, 0x80000, CRC(04bb0bcf) SHA1(b72fc5c351cb05d86938d49d310fe623c7de70d5) ) + ROM_LOAD( "am29f040b.plcc32-b.bin", 0x80000, 0x80000, CRC(f95838f9) SHA1(99a999945e489c56ec04a87b5037d7e8d138f686) ) + + ROM_REGION( 0x40000, "oki", 0 ) + ROM_LOAD( "8_f29c51002t.u53", 0x00000, 0x40000, CRC(ff9d5b6d) SHA1(a84fe241ff9958740dcdbd4650bd16a0aa6e01ca) ) ROM_REGION( 0x8000, "colours", 0 ) // colours, only 0x200 used ROM_LOAD( "fruiprg2", 0x0000, 0x08000, CRC(13925ff5) SHA1(236415a244ef6092834f8080cf0d2e04bbfa2650) ) @@ -18167,16 +18256,94 @@ ROM_START( nfma ) ROM_LOAD( "6_27c256.u11", 0x08000, 0x08000, CRC(39d5b89a) SHA1(4cf52fa557ffc792d3e13f7dbb5d45fd617bac85) ) // matches nfm ROM_LOAD( "5_27c256.u4", 0x10000, 0x08000, CRC(a7a8f08d) SHA1(76c93194133ba85c0dde1f364260e16d5b647134) ) // matches nfm - ROM_REGION( 0x140000, "user1", 0 ) - ROM_LOAD( "8_f29c51002t.u53", 0x00000, 0x40000, CRC(ff9d5b6d) SHA1(a84fe241ff9958740dcdbd4650bd16a0aa6e01ca) ) + ROM_REGION( 0x100000, "user1", 0 ) // according to the dumper, the next two contain game logo + symbols animations + talking sounds - ROM_LOAD( "am29f040b.plcc32-a.bin", 0x40000, 0x80000, CRC(04bb0bcf) SHA1(b72fc5c351cb05d86938d49d310fe623c7de70d5) ) - ROM_LOAD( "am29f040b.plcc32-b.bin", 0xc0000, 0x80000, CRC(f95838f9) SHA1(99a999945e489c56ec04a87b5037d7e8d138f686) ) + ROM_LOAD( "am29f040b.plcc32-a.bin", 0x00000, 0x80000, CRC(04bb0bcf) SHA1(b72fc5c351cb05d86938d49d310fe623c7de70d5) ) + ROM_LOAD( "am29f040b.plcc32-b.bin", 0x80000, 0x80000, CRC(f95838f9) SHA1(99a999945e489c56ec04a87b5037d7e8d138f686) ) + + ROM_REGION( 0x40000, "oki", 0 ) + ROM_LOAD( "8_f29c51002t.u53", 0x00000, 0x40000, CRC(ff9d5b6d) SHA1(a84fe241ff9958740dcdbd4650bd16a0aa6e01ca) ) ROM_REGION( 0x8000, "colours", 0 ) // colours, only 0x200 used ROM_LOAD( "10bp_27c257.u62", 0x0000, 0x8000, CRC(13925ff5) SHA1(236415a244ef6092834f8080cf0d2e04bbfa2650) ) // matches nfm ROM_END +ROM_START( halltsk ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "halloween_mp.u3", 0x00000, 0x10000, CRC(73bd23a2) SHA1(15f91995e69b8da096135df2d27fb0439206c0fa) ) // on subboard, 27C512 + + ROM_REGION( 0x10000, "reelgfx", 0 ) // all 27C256 + ROM_LOAD( "halloween_4.bin", 0x0000, 0x4000, CRC(3d824818) SHA1(85ad476da4d48afb3814a005724ab82bd8879d8c) ) // 0xxxxxxxxxxxxxx = 0xFF + ROM_CONTINUE( 0x0000, 0x4000 ) + ROM_LOAD( "halloween_3.bin", 0x4000, 0x4000, CRC(3ff5daf9) SHA1(b8a37fb0c32c85a263dd9a4b7a64d82e6b4012a7) ) // 0xxxxxxxxxxxxxx = 0xFF + ROM_CONTINUE( 0x4000, 0x4000 ) + ROM_LOAD( "halloween_2.bin", 0x8000, 0x4000, CRC(aa9ae972) SHA1(f5ee3faac34940a80b86a5d8bd39fefaa75f59f0) ) // 0xxxxxxxxxxxxxx = 0xFF + ROM_CONTINUE( 0x8000, 0x4000 ) + ROM_LOAD( "halloween_1.bin", 0xc000, 0x4000, CRC(b03f696a) SHA1(7eeead9737ab7d62872dc4f26654c8e661e6b9f4) ) // 0xxxxxxxxxxxxxx = 0xFF + ROM_CONTINUE( 0xc000, 0x4000 ) + + ROM_REGION( 0x18000, "tilegfx", 0 ) // all 27C512 + ROM_LOAD( "halloween_7.bin", 0x00000, 0x08000, CRC(2be097f6) SHA1(c7114262524c532b99018aca0aa236263e820337) ) // 1ST AND 2ND HALF IDENTICAL + ROM_CONTINUE( 0x00000, 0x08000 ) + ROM_LOAD( "halloween_6.bin", 0x08000, 0x08000, CRC(83095784) SHA1(3a623fa6259e452fc27a51b0d2801ef69f24d34d) ) // 1ST AND 2ND HALF IDENTICAL + ROM_CONTINUE( 0x08000, 0x08000 ) + ROM_LOAD( "halloween_5.bin", 0x10000, 0x08000, CRC(475e58ed) SHA1(0841762c96cd7ad884f18e3991edf94d70867cbc) ) // 1ST AND 2ND HALF IDENTICAL + ROM_CONTINUE( 0x10000, 0x08000 ) + + ROM_REGION( 0x100000, "user1", ROMREGION_ERASE00 ) // not on this PCB? + + ROM_REGION( 0x40000, "oki", 0 ) // on subboard, AM29F040 + ROM_LOAD( "halloween_vsp.bin", 0x00000, 0x40000, CRC(fc56b7fb) SHA1(cf4087a765a9b3e7a3abb6049deba37d6859c02c) ) // 1ST AND 2ND HALF IDENTICAL + ROM_IGNORE( 0x40000 ) + + ROM_REGION( 0x10000, "colours", 0 ) // 27c512, only 0x200 used + ROM_LOAD( "halloween_8.bin", 0x00000, 0x10000, CRC(d5bd2fad) SHA1(7b8988cf4ec76ff1f4bdbb11a4cc4b2562fc4996) ) + + ROM_REGION( 0x400, "proms", 0 ) // TODO: verify what are these for + ROM_LOAD( "h.1", 0x000, 0x100, CRC(2e3cf7a7) SHA1(4dd4e85e693b3966b7dd21c38041c2e28bef6a3c) ) + ROM_LOAD( "h.2", 0x100, 0x100, CRC(c40219ad) SHA1(544982e63847a08d3a4c135775c83deeb004a81f) ) + ROM_LOAD( "t.1", 0x200, 0x100, CRC(6d52f710) SHA1(9729a4240f9a4408f33d743c97eef1572f083e66) ) + ROM_LOAD( "t.2", 0x300, 0x100, CRC(242535dc) SHA1(260f7a141c1915cf65726a5182a5dac4271419f5) ) +ROM_END + +ROM_START( amaztsk ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "amazonia_mp.u3", 0x00000, 0x10000, CRC(baddb153) SHA1(1a696ad1ef21d0d27fa2d2a729b56c7130d1f205) ) // on subboard, 27C512 + + ROM_REGION( 0x10000, "reelgfx", 0 ) // all 27C256 + ROM_LOAD( "amazonia_4.bin", 0x0000, 0x4000, CRC(03da97b6) SHA1(e2ec003a0584b93724c84e674c20a2e047015949) ) // 0xxxxxxxxxxxxxx = 0xFF + ROM_CONTINUE( 0x0000, 0x4000 ) + ROM_LOAD( "amazonia_3.bin", 0x4000, 0x4000, CRC(4585c8c5) SHA1(cb32caa5fbf611ea4dc3f638c62614abbec83cfa) ) // 0xxxxxxxxxxxxxx = 0xFF + ROM_CONTINUE( 0x4000, 0x4000 ) + ROM_LOAD( "amazonia_2.bin", 0x8000, 0x4000, CRC(acf3100f) SHA1(988813b60f01a188b6a46df32a2c6634b3178ced) ) // 0xxxxxxxxxxxxxx = 0xFF + ROM_CONTINUE( 0x8000, 0x4000 ) + ROM_LOAD( "amazonia_1.bin", 0xc000, 0x4000, CRC(fc6d856f) SHA1(05eec692b3ecd8fa74a7ebfa9bf84915b189ef11) ) // 0xxxxxxxxxxxxxx = 0xFF + ROM_CONTINUE( 0xc000, 0x4000 ) + + ROM_REGION( 0x18000, "tilegfx", 0 ) // all 27C512 + ROM_LOAD( "amazonia_7.bin", 0x00000, 0x08000, CRC(5680d299) SHA1(78eba64d4b94346b2c4204657f4b2549c26c8c3d) ) // 0xxxxxxxxxxxxxxx = 0xFF + ROM_CONTINUE( 0x00000, 0x08000 ) + ROM_LOAD( "amazonia_6.bin", 0x08000, 0x08000, CRC(c3cb5d5c) SHA1(8d8f1c2cf2f91a75355828aba2716fdd2e4d255e) ) // 0xxxxxxxxxxxxxxx = 0xFF + ROM_CONTINUE( 0x08000, 0x08000 ) + ROM_LOAD( "amazonia_5.bin", 0x10000, 0x08000, CRC(46630843) SHA1(fb703c09e0d89999999f2c4ce726dd2d5d21224e) ) // 0xxxxxxxxxxxxxxx = 0xFF + ROM_CONTINUE( 0x10000, 0x08000 ) + + ROM_REGION( 0x100000, "user1", ROMREGION_ERASE00 ) // not on this PCB? + + ROM_REGION( 0x80000, "oki", 0 ) // on subboard, AM29F040 + ROM_LOAD( "amazonia_vsp.bin", 0x00000, 0x80000, CRC(1aad7535) SHA1(7e585596de545d47c8db426adc2cf7f47cdd04de) ) + + ROM_REGION( 0x10000, "colours", 0 ) // 27c512, only 0x200 used + ROM_LOAD( "amazonia_8.bin", 0x0000, 0x8000, CRC(044a140a) SHA1(fe46a21270ba1c39ba7b8229479e379a25510d44) ) // 0xxxxxxxxxxxxxxx = 0xFF + ROM_CONTINUE( 0x0000, 0x8000 ) + + ROM_REGION( 0x400, "proms", 0 ) + ROM_LOAD( "h.1", 0x000, 0x100, NO_DUMP ) + ROM_LOAD( "h.2", 0x100, 0x100, NO_DUMP ) + ROM_LOAD( "t.1", 0x200, 0x100, NO_DUMP ) + ROM_LOAD( "t.2", 0x300, 0x100, NO_DUMP ) +ROM_END + /* Super Cherry Master. Lacks of Dyna copyright. Maybe bootleg. @@ -18441,6 +18608,23 @@ ROM_START( eldoraddoa ) // String "DYNA ELD2 V1.4D" in program ROM. The two dum ROM_LOAD( "82s129.h5", 0x000, 0x100, CRC(209ccf78) SHA1(9f92875855702c7cc4d429ba5f463b698e0e91d3) ) ROM_END +ROM_START( eldoraddob ) // String "DYNA ELD3 V2.0D" in program ROM, DYNA D9105B PCB + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD16_WORD( "elb.50d.d15", 0x00000, 0x10000, CRC(34d55507) SHA1(8cc293bb5e493a837320e14d0316a0658084dde3) ) + + ROM_REGION( 0x100000, "gfx", 0 ) + ROM_LOAD( "tc538000p-dyna dm9106.h2", 0x000000, 0x100000, CRC(fa84c372) SHA1(a71e57e76321b7ebb16933d9bc983b9160995b4a) ) + + ROM_REGION( 0x300, "proms", 0 ) + ROM_LOAD( "e14", 0x000, 0x100, CRC(fa274678) SHA1(6712cb1f7ead1a7aa703ec799e7199c33ace857c) ) + ROM_LOAD( "e15", 0x100, 0x100, CRC(e58877ea) SHA1(30fa873fc05d91610ef68eef54b78f2c7301a62a) ) + ROM_LOAD( "e16", 0x200, 0x100, CRC(781b2842) SHA1(566667d4f81e93b29bb01dbc51bf144c02dff75d) ) + + ROM_REGION( 0x400, "plds", 0 ) // available as brute-forced dumps, need to be verified and converted + ROM_LOAD( "pal16l8.d13", 0x000, 0x104, NO_DUMP ) + ROM_LOAD( "pal16l8.e11", 0x200, 0x104, NO_DUMP ) +ROM_END + ROM_START( animalhs ) // Animal House. Strings "SUNS PECKER V1.0" and "SUNS CO LTD." on program ROM. Clearly derived from the eldoraddoa set above ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD16_WORD( "1_am27512.l2", 0x00000, 0x10000, CRC(258208d7) SHA1(11a75963c535636ff1320a3d3c3b9867a1f169d4) ) @@ -20680,6 +20864,15 @@ void goldstar_state::init_ladylinre() } } +void wingco_state::init_wcat() +{ + uint8_t *rom = memregion("maincpu")->base(); + + for (int i = 0; i < 0x10000; i++) + m_decrypted_opcodes[i] = rom[0x10000 + i]; +} + + void wingco_state::init_wcat3() { // there must be some more conditions and/or some errors as the game needs to be soft resets 4-5 times before working apparently fine @@ -21362,6 +21555,45 @@ void wingco_state::init_lucky8m() } } +void wingco_state::init_lucky8n() +{ + uint8_t *rom = memregion("maincpu")->base(); + + for (int i = 0; i < 0x8000; i++) + { + m_decrypted_opcodes[i] = rom[i]; + + if (i < 0x100 || (i >= 0x300 && i < 0x400) || (i >= 0x500 && i < 0x600) || + (i >= 0xa00 && i < 0xb00) || (i >= 0xc00 && i < 0xd00) || (i >= 0x6e00 && i < 0x6f00) || + (i >= 0x7100 && i < 0x7200)) + { + uint8_t x = rom[i]; + + switch(i & 0x1e) + { + case 0x00: x = bitswap<8>(x ^ 0xaa, 3, 6, 7, 4, 1, 5, 2, 0); break; + case 0x02: x = bitswap<8>(x ^ 0xaa, 3, 6, 7, 4, 1, 5, 2, 0); break; + case 0x04: x = bitswap<8>(x ^ 0x02, 6, 7, 3, 4, 1, 5, 2, 0); break; + case 0x06: x = bitswap<8>(x ^ 0x02, 6, 7, 3, 4, 1, 5, 2, 0); break; + case 0x08: x = bitswap<8>(x ^ 0x04, 1, 6, 5, 4, 3, 2, 7, 0); break; + case 0x0a: x = bitswap<8>(x ^ 0x04, 1, 6, 5, 4, 3, 2, 7, 0); break; + case 0x0c: x = bitswap<8>(x ^ 0xcc, 6, 2, 7, 4, 5, 1, 3, 0); break; + case 0x0e: x = bitswap<8>(x ^ 0xa0, 7, 2, 6, 4, 5, 3, 1, 0); break; + case 0x10: x = bitswap<8>(x ^ 0xaa, 3, 6, 7, 4, 1, 5, 2, 0); break; + case 0x12: x = bitswap<8>(x ^ 0xaa, 3, 6, 7, 4, 1, 5, 2, 0); break; + case 0x14: x = bitswap<8>(x ^ 0x60, 6, 5, 2, 4, 7, 3, 1, 0); break; + case 0x16: x = bitswap<8>(x ^ 0x60, 6, 5, 2, 4, 7, 3, 1, 0); break; + case 0x18: x = bitswap<8>(x ^ 0x04, 1, 6, 5, 4, 3, 2, 7, 0); break; + case 0x1a: x = bitswap<8>(x ^ 0x04, 1, 6, 5, 4, 3, 2, 7, 0); break; + case 0x1c: x = bitswap<8>(x ^ 0x60, 6, 5, 2, 4, 7, 3, 1, 0); break; + case 0x1e: x = bitswap<8>(x ^ 0x60, 6, 5, 2, 4, 7, 3, 1, 0); break; + } + + m_decrypted_opcodes[i] = x; + } + } +} + void wingco_state::init_nd8lines() { uint8_t *rom = memregion("maincpu")->base(); @@ -22166,6 +22398,20 @@ void cmaster_state::init_eldoraddoa() m_decrypted_opcodes[a] = bitswap<8>(rom[a] ^ 0xff, 4, 5, 6, 7, 0, 1, 2, 3); } +template +void cmaster_state::init_tsk() +{ + uint8_t *rom = memregion("maincpu")->base(); + std::vector buffer(0x10000); + memcpy(&buffer[0], rom, 0x10000); + + for (int i = 0; i < 0xc000; i++) + rom [i] = buffer[i ^ 0x1000]; + + for (int i = 0; i < 0x10000; i++) + rom[i] = bitswap<8>(rom[i] ^ Xor_value, 6, 7, 4, 5, 2, 3, 0, 1); +} + } // anonymous namespace @@ -22260,6 +22506,7 @@ GAME( 1992, cmast92, 0, eldoradd, cmast91, cmaster_state, init_cmas GAME( 1992, cmast92a, cmast92, eldoradd, cmast91, cmaster_state, init_cmast91, ROT0, "Dyna", "Cherry Master '92 (V1.1D)", MACHINE_NOT_WORKING ) // different GFX hw? Game is running and sounds play GAME( 1991, eldoradd, 0, eldoradd, cmast91, cmaster_state, empty_init, ROT0, "Dyna", "El Dorado (V5.1DR)", MACHINE_NOT_WORKING ) // different GFX hw? Game is running and sounds play GAME( 1991, eldoraddo, eldoradd, eldoradd, cmast91, cmaster_state, empty_init, ROT0, "Dyna", "El Dorado (V1.1TA)", MACHINE_NOT_WORKING ) // different GFX hw? +GAME( 1991, eldoraddob, eldoradd, eldoradd, cmast91, cmaster_state, empty_init, ROT0, "Dyna", "El Dorado (V2.0D)", MACHINE_NOT_WORKING ) // different GFX hw? GAME( 1996, cmast97, 0, cm97, cmv801, cmaster_state, empty_init, ROT0, "Dyna", "Cherry Master '97 (V1.7)", MACHINE_NOT_WORKING ) // fix prom decode, reels GAME( 1996, cmast97i, cmast97, cm97, cmv801, cmaster_state, empty_init, ROT0, "Dyna", "Cheri Mondo '97 (V1.4I)", MACHINE_NOT_WORKING ) // fix prom decode, reels GAME( 1999, cmast99, 0, cm, cmast99, cmaster_state, init_cmv4, ROT0, "Dyna", "Cherry Master '99 (V9B.00)", MACHINE_NOT_WORKING ) @@ -22285,6 +22532,7 @@ GAMEL( 199?, lucky8j, lucky8, lucky8, lucky8, wingco_state, empty_ini GAMEL( 1989, lucky8k, lucky8, lucky8k, lucky8, wingco_state, empty_init, ROT0, "Wing Co., Ltd.", "New Lucky 8 Lines (set 10, W-4, encrypted NEC D315-5136)", 0, layout_lucky8 ) // 2 control sets... GAMEL( 1989, lucky8l, lucky8, lucky8, lucky8, wingco_state, init_lucky8l, ROT0, "Wing Co., Ltd.", "New Lucky 8 Lines (set 11, W-4)", MACHINE_WRONG_COLORS, layout_lucky8 ) // uses a strange mix of PLDs and PROMs for colors GAMEL( 1989, lucky8m, lucky8, lucky8f, lucky8, wingco_state, init_lucky8m, ROT0, "Wing Co., Ltd.", "New Lucky 8 Lines (set 12, W-4, encrypted)", 0, layout_lucky8 ) +GAMEL( 1989, lucky8n, lucky8, lucky8f, lucky8, wingco_state, init_lucky8n, ROT0, "Wing Co., Ltd.", "New Lucky 8 Lines (set 13)", 0, layout_lucky8 ) // 2 control sets... GAMEL( 198?, ns8lines, 0, lucky8, lucky8b, wingco_state, empty_init, ROT0, "", "New Lucky 8 Lines / New Super 8 Lines (W-4)", 0, layout_lucky8p1 ) // only 1 control set... GAMEL( 1985, ns8linesa, ns8lines, lucky8, lucky8b, wingco_state, empty_init, ROT0, "Yamate (bootleg)", "New Lucky 8 Lines / New Super 8 Lines (W-4, Lucky97 HW)", 0, layout_lucky8p1 ) // only 1 control set... GAMEL( 198?, ns8linew, ns8lines, lucky8, ns8linew, wingco_state, empty_init, ROT0, "", "New Lucky 8 Lines / New Super 8 Lines (F-5, Witch Bonus)", 0, layout_lucky8 ) // 2 control sets... @@ -22299,6 +22547,7 @@ GAME( 198?, ladylinrb, ladylinr, ladylinrb,ladylinr, goldstar_state, init_lady GAME( 198?, ladylinrc, ladylinr, ladylinrb,ladylinr, goldstar_state, init_ladylinrc, ROT0, "TAB Austria", "Lady Liner (encrypted, set 2)", 0 ) GAME( 198?, ladylinrd, ladylinr, ladylinrb,ladylinr, goldstar_state, init_ladylinrd, ROT0, "TAB Austria", "Lady Liner (encrypted, set 3)", 0 ) GAME( 198?, ladylinre, ladylinr, ladylinrb,ladylinr, goldstar_state, init_ladylinre, ROT0, "TAB Austria", "Lady Liner (encrypted, set 4)", 0 ) +GAME ( 1992?,wcat, 0, wcat3, lucky8b, wingco_state, init_wcat, ROT0, "Excel", "Wild Cat", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING ) // needs correct GFX ROMs, I/O, etc GAME( 1995, wcat3, 0, wcat3, lucky8, wingco_state, init_wcat3, ROT0, "E.A.I.", "Wild Cat 3", MACHINE_NOT_WORKING | MACHINE_WRONG_COLORS ) // decryption partially wrong, needs soft resets before running. Bad PROM decode GAMEL( 199?, animalw, 0, lucky8, animalw, wingco_state, empty_init, ROT0, "bootleg", "Animal Wonders (ver A900)", MACHINE_NOT_WORKING, layout_lucky8 ) // inputs / DIPs need to be checked @@ -22399,8 +22648,10 @@ GAME( 2002, carb2002, nfb96, amcoe2, nfb96bl, cmaster_state, empty_in GAME( 2003, carb2003, nfb96, amcoe2, nfb96bl, cmaster_state, empty_init, ROT0, "bootleg", "Carriage Bonus 2003 (bootleg)", MACHINE_WRONG_COLORS ) GAME( 2006, noved, nfb96, amcoe2, nfb96bl, cmaster_state, empty_init, ROT0, "bootleg (Kon)", "Nove Diamante (bootleg)", MACHINE_NOT_WORKING ) // needs correct gfx2 region decode, controls, etc -GAME( 2003, nfm, 0, nfm, nfm, cmaster_state, empty_init, ROT0, "Ming-Yang Electronic", "New Fruit Machine (Ming-Yang Electronic, vFB02-07A)", MACHINE_NOT_WORKING ) // vFB02-07A "Copyright By Ms. Liu Orchis 2003/03/06", needs correct PROM and USER1 regions decode -GAME( 2003, nfma, nfm, nfm, nfm, cmaster_state, empty_init, ROT0, "Ming-Yang Electronic", "New Fruit Machine (Ming-Yang Electronic, vFB02-01A)", MACHINE_NOT_WORKING ) // vFB02-01A "Copyright By Ms. Liu Orchis 2003/03/06", needs correct PROM and USER1 regions decode +GAME( 2003, nfm, 0, nfm, nfm, cmaster_state, empty_init, ROT0, "Ming-Yang Electronic / TSK", "Fruit Bonus 2002 (Ming-Yang Electronic / TSK, vFB02-07A)", MACHINE_NOT_WORKING ) // vFB02-07A "Copyright By Ms. Liu Orchis 2003/03/06", needs correct PROM and USER1 regions decode +GAME( 2003, nfma, nfm, nfm, nfm, cmaster_state, empty_init, ROT0, "Ming-Yang Electronic / TSK", "Fruit Bonus 2002 (Ming-Yang Electronic / TSK, vFB02-01A)", MACHINE_NOT_WORKING ) // vFB02-01A "Copyright By Ms. Liu Orchis 2003/03/06", needs correct PROM and USER1 regions decode +GAME( 2006, amaztsk, 0, amaztsk, nfm, cmaster_state, init_tsk<0xba>, ROT0, "Ming-Yang Electronic / TSK", "Amazonia (Ming-Yang Electronic / TSK)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // resets when starting reels, reels don't show, inputs need fixing, no sound +GAME( 2006, halltsk, 0, nfm, nfm, cmaster_state, init_tsk<0x71>, ROT0, "Ming-Yang Electronic / TSK", "Halloween (Ming-Yang Electronic / TSK, version 1.0)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // resets when starting reels, reels don't show, inputs need fixing, no sound // Super Cherry Master sets... @@ -22419,7 +22670,7 @@ GAME( 1996, cherry96, scmaster, unkch, unkch4, unkch_state, init_un GAME( 1998, rolling, scmaster, rolling, unkch4, unkch_state, empty_init, ROT0, "bootleg", "Rolling", MACHINE_NOT_WORKING ) // inputs, outputs // this has a 4th reel -GAME( 200?, ss2001, 0, ss2001, cmaster, cmaster_state, empty_init, ROT0, "bootleg", "Super Shanghai 2001", MACHINE_IS_SKELETON ) // TODO: everything +GAME( 200?, ss2001, 0, ss2001, cmaster, cmaster_state, empty_init, ROT0, "bootleg", "Super Shanghai 2001", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // TODO: everything /* Stealth sets. These have hidden games inside that can be switched to avoid inspections, police or whatever purposes)... */ diff --git a/src/mame/igs/igs011.cpp b/src/mame/igs/igs011.cpp index fea1dd4e790ed..477510e593106 100644 --- a/src/mame/igs/igs011.cpp +++ b/src/mame/igs/igs011.cpp @@ -67,12 +67,18 @@ To do: ***************************************************************************/ #include "emu.h" + +#include "igsmahjong.h" + +#include "mahjong.h" + #include "cpu/m68000/m68000.h" +#include "machine/nvram.h" +#include "machine/timer.h" #include "sound/ics2115.h" #include "sound/okim6295.h" #include "sound/ymopl.h" -#include "machine/nvram.h" -#include "machine/timer.h" + #include "emupal.h" #include "screen.h" #include "speaker.h" @@ -94,12 +100,10 @@ class igs011_state : public driver_device , m_oki(*this, "oki") , m_screen(*this, "screen") , m_palette(*this, "palette") - , m_ics(*this, "ics") , m_priority_ram(*this, "priority_ram") - , m_vbowl_trackball(*this, "vbowl_trackball") , m_maincpu_region(*this, "maincpu") , m_gfx(*this, "blitter") - , m_gfx2(*this, "blitter_hi") + , m_gfx_hi(*this, "blitter_hi") , m_io_in(*this, "IN%u", 0U) , m_io_key(*this, "KEY%u", 0U) , m_io_an(*this, "AN%u", 0U) @@ -110,59 +114,56 @@ class igs011_state : public driver_device int igs_hopper_r(); - void init_lhbv33c(); - void init_drgnwrldv21j(); - void init_wlcc(); - void init_nkishusp(); - void init_drgnwrldv21(); - void init_dbc(); - void init_lhb(); - void init_drgnwrld(); - void init_drgnwrldv30(); - void init_drgnwrldv11h(); - void init_lhb2(); - void init_xymg(); - void init_drgnwrldv10c(); - void init_drgnwrldv20j(); - void init_drgnwrldv40k(); - void init_vbowl(); - void init_vbowlj(); - void init_vbowlhk(); - void init_ryukobou(); - void init_tygn(); - - void igs011_base(machine_config &config); - void drgnwrld(machine_config &config); - void nkishusp(machine_config &config); - void tygn(machine_config &config); - void wlcc(machine_config &config); - void vbowl(machine_config &config); - void vbowlhk(machine_config &config); - void xymg(machine_config &config); - void lhb2(machine_config &config); - void lhb(machine_config &config); - void drgnwrld_igs012(machine_config &config); + void init_lhbv33c() ATTR_COLD; + void init_drgnwrldv21j() ATTR_COLD; + void init_wlcc() ATTR_COLD; + void init_nkishusp() ATTR_COLD; + void init_drgnwrldv21() ATTR_COLD; + void init_dbc() ATTR_COLD; + void init_lhb() ATTR_COLD; + void init_drgnwrld() ATTR_COLD; + void init_drgnwrldv30() ATTR_COLD; + void init_drgnwrldv11h() ATTR_COLD; + void init_lhb2() ATTR_COLD; + void init_xymg() ATTR_COLD; + void init_drgnwrldv10c() ATTR_COLD; + void init_drgnwrldv20j() ATTR_COLD; + void init_drgnwrldv40k() ATTR_COLD; + void init_ryukobou() ATTR_COLD; + void init_tygn() ATTR_COLD; + + void drgnwrld(machine_config &config) ATTR_COLD; + void nkishusp(machine_config &config) ATTR_COLD; + void tygn(machine_config &config) ATTR_COLD; + void wlcc(machine_config &config) ATTR_COLD; + void xymg(machine_config &config) ATTR_COLD; + void lhb2(machine_config &config) ATTR_COLD; + void lhb(machine_config &config) ATTR_COLD; + void drgnwrld_igs012(machine_config &config) ATTR_COLD; protected: - virtual void machine_start() override ATTR_COLD; - virtual void video_start() override ATTR_COLD; + struct blitter_t + { + u16 x, y, w, h, + gfx_lo, gfx_hi, + depth, + pen, + flags; + }; -private: /* devices */ required_device m_maincpu; optional_device m_oki; required_device m_screen; required_device m_palette; - optional_device m_ics; /* memory pointers */ required_shared_ptr m_priority_ram; - optional_shared_ptr m_vbowl_trackball; /* memory regions */ required_memory_region m_maincpu_region; required_region_ptr m_gfx; - optional_region_ptr m_gfx2; + optional_region_ptr m_gfx_hi; optional_ioport_array<3> m_io_in; optional_ioport_array<5> m_io_key; @@ -172,10 +173,10 @@ class igs011_state : public driver_device std::unique_ptr m_layer[8]; u16 m_priority; - u8 m_lhb2_pen_hi; - u16 m_igs_dips_sel; - u16 m_igs_input_sel; - u16 m_igs_hopper; + u8 m_blitter_pen_hi; + u16 m_dips_sel; + u16 m_input_sel; + u16 m_hopper_bit; u8 m_prot1; u8 m_prot1_swap; u32 m_prot1_addr; @@ -186,15 +187,6 @@ class igs011_state : public driver_device u16 m_igs003_reg; u16 m_lhb_irq_enable; - struct blitter_t - { - u16 x, y, w, h, - gfx_lo, gfx_hi, - depth, - pen, - flags; - }; - blitter_t m_blitter; u16 m_igs003_prot_hold; @@ -204,6 +196,11 @@ class igs011_state : public driver_device u8 m_igs003_prot_h1; u8 m_igs003_prot_h2; + virtual void machine_start() override ATTR_COLD; + virtual void video_start() override ATTR_COLD; + + void igs011_base(machine_config &config) ATTR_COLD; + void igs011_priority_w(offs_t offset, u16 data, u16 mem_mask = ~0); u16 igs011_layers_r(offs_t offset); void igs011_layers_w(offs_t offset, u16 data, u16 mem_mask = ~0); @@ -216,8 +213,9 @@ class igs011_state : public driver_device void igs011_blit_depth_w(offs_t offset, u16 data, u16 mem_mask = ~0); void igs011_blit_pen_w(offs_t offset, u16 data, u16 mem_mask = ~0); void igs011_blit_flags_w(offs_t offset, u16 data, u16 mem_mask = ~0); - void igs_dips_w(offs_t offset, u16 data, u16 mem_mask = ~0); - template u16 igs_dips_r(); + void dips_w(offs_t offset, u16 data, u16 mem_mask = ~0); + u16 key_matrix_r(); + template u16 dips_r(); void igs011_prot1_w(offs_t offset, u8 data); u16 igs011_prot1_r(); void igs011_prot_addr_w(u16 data); @@ -228,7 +226,6 @@ class igs011_state : public driver_device void drgnwrld_igs011_prot2_swap_w(u8 data); void lhb_igs011_prot2_swap_w(u8 data); void wlcc_igs011_prot2_swap_w(u8 data); - void vbowl_igs011_prot2_swap_w(u8 data); u16 drgnwrldv40k_igs011_prot2_r(); u16 drgnwrldv21_igs011_prot2_r(); u16 drgnwrldv20j_igs011_prot2_r(); @@ -236,8 +233,6 @@ class igs011_state : public driver_device u16 dbc_igs011_prot2_r(); u16 ryukobou_igs011_prot2_r(); u16 lhb2_igs011_prot2_r(); - u16 vbowl_igs011_prot2_r(); - u16 vbowlhk_igs011_prot2_r(); void igs012_prot_reset_w(u16 data); void igs012_prot_mode_w(offs_t offset, u8 data); void igs012_prot_inc_w(offs_t offset, u8 data); @@ -257,16 +252,7 @@ class igs011_state : public driver_device u16 wlcc_igs003_r(); void xymg_igs003_w(offs_t offset, u16 data, u16 mem_mask = ~0); u16 xymg_igs003_r(); - void vbowl_igs003_w(offs_t offset, u16 data, u16 mem_mask = ~0); - u16 vbowl_igs003_r(); - void vbowlhk_igs003_w(offs_t offset, u16 data, u16 mem_mask = ~0); void lhb_irq_enable_w(offs_t offset, u16 data, u16 mem_mask = ~0); - u16 vbowl_unk_r(); - void vbowl_pen_hi_w(u8 data); - void vbowl_link_0_w(u16 data); - void vbowl_link_1_w(u16 data); - void vbowl_link_2_w(u16 data); - void vbowl_link_3_w(u16 data); void lhb_okibank_w(u8 data); void sound_irq(int state); TIMER_DEVICE_CALLBACK_MEMBER(lev5_timer_irq_cb); @@ -274,7 +260,6 @@ class igs011_state : public driver_device TIMER_DEVICE_CALLBACK_MEMBER(lev3_timer_irq_cb); u32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - void screen_vblank_vbowl(int state); INTERRUPT_GEN_MEMBER(lhb_vblank_irq); void wlcc_decrypt(); void lhb_decrypt(); @@ -284,13 +269,10 @@ class igs011_state : public driver_device void drgnwrldv40k_decrypt(); void lhb2_decrypt(); void nkishusp_decrypt(); - void vbowl_decrypt(); - void vbowlhk_decrypt(); void dbc_decrypt(); void ryukobou_decrypt(); void tygn_decrypt(); void lhb2_gfx_decrypt(); - void vbowl_gfx_decrypt(); void drgnwrld_gfx_decrypt(); void prot_mem_range_set(); @@ -300,12 +282,61 @@ class igs011_state : public driver_device void lhb2_mem(address_map &map) ATTR_COLD; void nkishusp_mem(address_map &map) ATTR_COLD; void tygn_mem(address_map &map) ATTR_COLD; - void vbowl_mem(address_map &map) ATTR_COLD; - void vbowlhk_mem(address_map &map) ATTR_COLD; void wlcc_mem(address_map &map) ATTR_COLD; void xymg_mem(address_map &map) ATTR_COLD; }; +// With trackball inputs +class vbowl_state : public igs011_state +{ +public: + vbowl_state(const machine_config &mconfig, device_type type, const char *tag) + : igs011_state(mconfig, type, tag) + , m_ics(*this, "ics") + , m_vbowl_trackball(*this, "vbowl_trackball") + , m_io_an(*this, "AN%u", 0U) + { + } + + void init_vbowl() ATTR_COLD; + void init_vbowlj() ATTR_COLD; + void init_vbowlhk() ATTR_COLD; + + void vbowl(machine_config &config) ATTR_COLD; + void vbowlhk(machine_config &config) ATTR_COLD; + +private: + /* devices */ + required_device m_ics; + + /* memory pointers */ + required_shared_ptr m_vbowl_trackball; + + required_ioport_array<2> m_io_an; + + void vbowl_igs011_prot2_swap_w(u8 data); + u16 vbowl_igs011_prot2_r(); + u16 vbowlhk_igs011_prot2_r(); + void vbowl_igs003_w(offs_t offset, u16 data, u16 mem_mask = ~0); + u16 vbowl_igs003_r(); + void vbowlhk_igs003_w(offs_t offset, u16 data, u16 mem_mask = ~0); + u16 vbowl_unk_r(); + void vbowl_pen_hi_w(u8 data); + void vbowl_link_0_w(u16 data); + void vbowl_link_1_w(u16 data); + void vbowl_link_2_w(u16 data); + void vbowl_link_3_w(u16 data); + void sound_irq(int state); + + void screen_vblank(int state); + void vbowl_decrypt(); + void vbowlhk_decrypt(); + void vbowl_gfx_unpack(); + + void vbowl_mem(address_map &map) ATTR_COLD; + void vbowlhk_mem(address_map &map) ATTR_COLD; +}; + /*************************************************************************** @@ -342,10 +373,10 @@ void igs011_state::video_start() save_pointer(NAME(m_layer[i]), 512 * 256, i); } - m_lhb2_pen_hi = 0; + m_blitter_pen_hi = 0; save_item(NAME(m_priority)); - save_item(NAME(m_lhb2_pen_hi)); + save_item(NAME(m_blitter_pen_hi)); save_item(NAME(m_blitter.x)); save_item(NAME(m_blitter.y)); save_item(NAME(m_blitter.w)); @@ -379,19 +410,19 @@ u32 igs011_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, con } #endif - u16 *pri_ram = &m_priority_ram[(m_priority & 7) * 512/2]; + u16 const *const pri_ram = &m_priority_ram[(m_priority & 7) * 512/2]; for (int y = cliprect.min_y; y <= cliprect.max_y; y++) { for (int x = cliprect.min_x; x <= cliprect.max_x; x++) { - int scr_addr = x + y * 512; + const int scr_addr = x + y * 512; int pri_addr = 0xff; int l; for (l = 0; l < 8; l++) { - if ( (m_layer[l][scr_addr] != 0xff) + if ((m_layer[l][scr_addr] != 0xff) #ifdef MAME_DEBUG && (layer_enable & (1 << l)) #endif @@ -399,8 +430,7 @@ u32 igs011_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, con pri_addr &= ~(1 << l); } - - l = pri_ram[pri_addr] & 7; + l = pri_ram[pri_addr] & 7; #ifdef MAME_DEBUG if ((layer_enable != -1) && (pri_addr == 0xff)) @@ -433,10 +463,10 @@ u32 igs011_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, con u16 igs011_state::igs011_layers_r(offs_t offset) { - int layer0 = ((offset & (0x80000/2)) ? 4 : 0) + ((offset & 1) ? 0 : 2); + const int layer0 = bitswap<2>(offset ^ 1, 18, 0) << 1; - u8 *l0 = m_layer[layer0].get(); - u8 *l1 = m_layer[layer0+1].get(); + u8 const *const l0 = m_layer[layer0].get(); + u8 const *const l1 = m_layer[layer0 + 1].get(); offset >>= 1; offset &= 0x1ffff; @@ -446,17 +476,15 @@ u16 igs011_state::igs011_layers_r(offs_t offset) void igs011_state::igs011_layers_w(offs_t offset, u16 data, u16 mem_mask) { - u16 word; + const int layer0 = bitswap<2>(offset ^ 1, 18, 0) << 1; - int layer0 = ((offset & (0x80000/2)) ? 4 : 0) + ((offset & 1) ? 0 : 2); - - u8 *l0 = m_layer[layer0].get(); - u8 *l1 = m_layer[layer0+1].get(); + u8 *const l0 = m_layer[layer0].get(); + u8 *const l1 = m_layer[layer0 + 1].get(); offset >>= 1; offset &= 0x1ffff; - word = (l0[offset] << 8) | l1[offset]; + u16 word = (l0[offset] << 8) | l1[offset]; COMBINE_DATA(&word); l0[offset] = word >> 8; l1[offset] = word; @@ -471,126 +499,118 @@ void igs011_state::igs011_layers_w(offs_t offset, u16 data, u16 mem_mask) void igs011_state::igs011_blit_x_w(offs_t offset, u16 data, u16 mem_mask) { - struct blitter_t &blitter = m_blitter; - COMBINE_DATA(&blitter.x); + COMBINE_DATA(&m_blitter.x); } void igs011_state::igs011_blit_y_w(offs_t offset, u16 data, u16 mem_mask) { - struct blitter_t &blitter = m_blitter; - COMBINE_DATA(&blitter.y); + COMBINE_DATA(&m_blitter.y); } void igs011_state::igs011_blit_gfx_lo_w(offs_t offset, u16 data, u16 mem_mask) { - struct blitter_t &blitter = m_blitter; - COMBINE_DATA(&blitter.gfx_lo); + COMBINE_DATA(&m_blitter.gfx_lo); } void igs011_state::igs011_blit_gfx_hi_w(offs_t offset, u16 data, u16 mem_mask) { - struct blitter_t &blitter = m_blitter; - COMBINE_DATA(&blitter.gfx_hi); + COMBINE_DATA(&m_blitter.gfx_hi); } void igs011_state::igs011_blit_w_w(offs_t offset, u16 data, u16 mem_mask) { - struct blitter_t &blitter = m_blitter; - COMBINE_DATA(&blitter.w); + COMBINE_DATA(&m_blitter.w); } void igs011_state::igs011_blit_h_w(offs_t offset, u16 data, u16 mem_mask) { - struct blitter_t &blitter = m_blitter; - COMBINE_DATA(&blitter.h); + COMBINE_DATA(&m_blitter.h); } void igs011_state::igs011_blit_depth_w(offs_t offset, u16 data, u16 mem_mask) { - struct blitter_t &blitter = m_blitter; - COMBINE_DATA(&blitter.depth); + COMBINE_DATA(&m_blitter.depth); } void igs011_state::igs011_blit_pen_w(offs_t offset, u16 data, u16 mem_mask) { - struct blitter_t &blitter = m_blitter; - COMBINE_DATA(&blitter.pen); + COMBINE_DATA(&m_blitter.pen); } void igs011_state::igs011_blit_flags_w(offs_t offset, u16 data, u16 mem_mask) { - struct blitter_t &blitter = m_blitter; - int xend, xinc; - int yend, yinc; - u8 trans_pen, clear_pen; - u8 pen = 0; - const rectangle &clip = m_screen->visible_area(); - COMBINE_DATA(&blitter.flags); + COMBINE_DATA(&m_blitter.flags); LOGMASKED(LOG_BLITTER, "%06x: blit x %03x, y %03x, w %03x, h %03x, gfx %03x%04x, depth %02x, pen %02x, flags %03x\n", m_maincpu->pc(), - blitter.x,blitter.y,blitter.w,blitter.h,blitter.gfx_hi,blitter.gfx_lo,blitter.depth,blitter.pen,blitter.flags); - - u8 *dest = m_layer[blitter.flags & 0x0007].get(); - const bool opaque = !(blitter.flags & 0x0008); - const bool clear = blitter.flags & 0x0010; - const bool flipx = blitter.flags & 0x0020; - const bool flipy = blitter.flags & 0x0040; - if (!(blitter.flags & 0x0400)) + m_blitter.x,m_blitter.y,m_blitter.w,m_blitter.h,m_blitter.gfx_hi,m_blitter.gfx_lo,m_blitter.depth,m_blitter.pen,m_blitter.flags); + + u8 *const dest = m_layer[m_blitter.flags & 0x0007].get(); + const bool opaque = BIT(~m_blitter.flags, 3); + const bool clear = BIT( m_blitter.flags, 4); + const bool flipx = BIT( m_blitter.flags, 5); + const bool flipy = BIT( m_blitter.flags, 6); + if (BIT(~m_blitter.flags, 10)) return; - u8 pen_hi = (m_lhb2_pen_hi & 0x07) << 5; + const u8 pen_hi = (m_blitter_pen_hi & 0x07) << 5; // pixel address - u32 z = blitter.gfx_lo + (blitter.gfx_hi << 16); + u32 z = m_blitter.gfx_lo + (m_blitter.gfx_hi << 16); // what were they smoking??? - const bool depth4 = !((blitter.flags & 0x7) < (4 - (blitter.depth & 0x7))) || + const bool depth4 = !((m_blitter.flags & 0x7) < (4 - (m_blitter.depth & 0x7))) || (z & 0x800000); // see lhb2 z &= 0x7fffff; + u8 trans_pen, clear_pen; + if (depth4) { - z *= 2; - if (m_gfx2 && (blitter.gfx_hi & 0x80)) trans_pen = 0x1f; // lhb2 - else trans_pen = 0x0f; + z <<= 1; + if (m_gfx_hi && (m_blitter.gfx_hi & 0x80)) trans_pen = 0x1f; // lhb2 + else trans_pen = 0x0f; - clear_pen = blitter.pen | 0xf0; + clear_pen = m_blitter.pen | 0xf0; } else { - if (m_gfx2) trans_pen = 0x1f; // vbowl - else trans_pen = 0xff; + if (m_gfx_hi) trans_pen = 0x1f; // vbowl + else trans_pen = 0xff; - clear_pen = blitter.pen; + clear_pen = m_blitter.pen; } - int xstart = (blitter.x & 0x1ff) - (blitter.x & 0x200); - int ystart = (blitter.y & 0x0ff) - (blitter.y & 0x100); + const int xstart = (m_blitter.x & 0x1ff) - (m_blitter.x & 0x200); + const int ystart = (m_blitter.y & 0x0ff) - (m_blitter.y & 0x100); - if (flipx) { xend = xstart - (blitter.w & 0x1ff) - 1; xinc = -1; } - else { xend = xstart + (blitter.w & 0x1ff) + 1; xinc = 1; } + int xend, xinc; + int yend, yinc; - if (flipy) { yend = ystart - (blitter.h & 0x0ff) - 1; yinc = -1; } - else { yend = ystart + (blitter.h & 0x0ff) + 1; yinc = 1; } + if (flipx) { xend = xstart - (m_blitter.w & 0x1ff) - 1; xinc = -1; } + else { xend = xstart + (m_blitter.w & 0x1ff) + 1; xinc = 1; } + + if (flipy) { yend = ystart - (m_blitter.h & 0x0ff) - 1; yinc = -1; } + else { yend = ystart + (m_blitter.h & 0x0ff) + 1; yinc = 1; } for (int y = ystart; y != yend; y += yinc) { for (int x = xstart; x != xend; x += xinc) { + u8 pen = 0; // fetch the pixel if (!clear) { - if (depth4) pen = (m_gfx[(z/2)%m_gfx.length()] >> ((z&1)?4:0)) & 0x0f; - else pen = m_gfx[z%m_gfx.length()]; + if (depth4) pen = (m_gfx[(z >> 1) % m_gfx.length()] >> (BIT(z, 0) << 2)) & 0x0f; + else pen = m_gfx[z % m_gfx.length()]; - if (m_gfx2) + if (m_gfx_hi) { pen &= 0x0f; - if (m_gfx2[(z/8)%m_gfx2.length()] & (1 << (z & 7))) + if (BIT(m_gfx_hi[(z >> 3) % m_gfx_hi.length()], z & 7)) pen |= 0x10; } } @@ -598,9 +618,9 @@ void igs011_state::igs011_blit_flags_w(offs_t offset, u16 data, u16 mem_mask) // plot it if (clip.contains(x, y)) { - if (clear) dest[x + y * 512] = clear_pen; - else if (pen != trans_pen) dest[x + y * 512] = pen | pen_hi; - else if (opaque) dest[x + y * 512] = 0xff; + if (clear) dest[x + y * 512] = clear_pen; + else if (pen != trans_pen) dest[x + y * 512] = pen | pen_hi; + else if (opaque) dest[x + y * 512] = 0xff; } z++; @@ -611,8 +631,8 @@ void igs011_state::igs011_blit_flags_w(offs_t offset, u16 data, u16 mem_mask) #if 1 if (machine().input().code_pressed(KEYCODE_Z)) { char buf[20]; - sprintf(buf, "%02X%02X",blitter.depth,blitter.flags&0xff); -// ui_draw_text(buf, blitter.x, blitter.y); // crashes mame! + sprintf(buf, "%02X%02X",m_blitter.depth,m_blitter.flags&0xff); +// ui_draw_text(buf, m_blitter.x, m_blitter.y); // crashes mame! } #endif #endif @@ -629,9 +649,9 @@ void igs011_state::machine_start() m_prot1_addr = 0; m_lhb_irq_enable = 0; - save_item(NAME(m_igs_dips_sel)); - save_item(NAME(m_igs_input_sel)); - save_item(NAME(m_igs_hopper)); + save_item(NAME(m_dips_sel)); + save_item(NAME(m_input_sel)); + save_item(NAME(m_hopper_bit)); save_item(NAME(m_prot1)); save_item(NAME(m_prot1_swap)); save_item(NAME(m_prot1_addr)); @@ -651,25 +671,37 @@ void igs011_state::machine_start() // Inputs +u16 igs011_state::key_matrix_r() +{ + u16 ret = 0xffff; + + for (int i = 0; i < 5; i++) + { + if (BIT(~m_input_sel, i)) + ret &= m_io_key[i]->read(); + } + + return ret; +} int igs011_state::igs_hopper_r() { - return (m_igs_hopper && ((m_screen->frame_number()/5)&1)) ? 0x0000 : 0x0001; + return (m_hopper_bit && ((m_screen->frame_number() / 5) & 1)) ? 0x0000 : 0x0001; } -void igs011_state::igs_dips_w(offs_t offset, u16 data, u16 mem_mask) +void igs011_state::dips_w(offs_t offset, u16 data, u16 mem_mask) { - COMBINE_DATA(&m_igs_dips_sel); + COMBINE_DATA(&m_dips_sel); } template -u16 igs011_state::igs_dips_r() +u16 igs011_state::dips_r() { - u16 ret=0; + u16 ret = 0xff; for (int i = 0; i < Num; i++) - if ((~m_igs_dips_sel) & (1 << i)) - ret = m_io_dsw[i]->read(); + if (BIT(~m_dips_sel, i)) + ret &= m_io_dsw[i]->read(); // 0x0100 is blitter busy return (ret & 0xff) | 0x0000; @@ -687,7 +719,7 @@ void igs011_state::wlcc_decrypt() { u16 *src = (u16 *) (m_maincpu_region->base()); - int rom_size = 0x80000; + const int rom_size = 0x80000; for (int i=0; ibase()); - int rom_size = 0x80000; + const int rom_size = 0x80000; for (int i=0; ibase()); - int rom_size = 0x80000; + const int rom_size = 0x80000; for (int i=0; ibase()); - int rom_size = 0x80000; + const int rom_size = 0x80000; for (int i=0; ibase()); - int rom_size = 0x80000; + const int rom_size = 0x80000; for (int i=0; ibase()); - int rom_size = 0x80000; + const int rom_size = 0x80000; for (int i = 0; i < rom_size / 2; i++) { @@ -849,7 +881,7 @@ void igs011_state::drgnwrldv40k_decrypt() void igs011_state::lhb2_decrypt() { - int rom_size = 0x80000; + const int rom_size = 0x80000; u16 *src = (u16 *) (m_maincpu_region->base()); std::vector result_data(rom_size/2); @@ -866,7 +898,7 @@ void igs011_state::lhb2_decrypt() if ((i & 0x3080) != 0x3080 && (i & 0x3090) != 0x3010) x ^= 0x0020; - int j = bitswap<24>(i, 23,22,21,20,19,18,17,16,15,14,13, 8, 11,10, 9, 2, 7,6,5,4,3, 12, 1,0); + const int j = bitswap<24>(i, 23,22,21,20,19,18,17,16,15,14,13, 8, 11,10, 9, 2, 7,6,5,4,3, 12, 1,0); result_data[j] = x; } @@ -878,7 +910,7 @@ void igs011_state::lhb2_decrypt() // xor similar to ryukobou (both sets are Japan), address scrambling from lhb2 void igs011_state::nkishusp_decrypt() { - int rom_size = 0x80000; + const int rom_size = 0x80000; u16 *src = (u16 *) (m_maincpu_region->base()); std::vector result_data(rom_size/2); @@ -887,7 +919,7 @@ void igs011_state::nkishusp_decrypt() u16 x = src[i]; // lhb2 address scrambling - int j = bitswap<24>(i, 23,22,21,20,19,18,17,16,15,14,13, 8, 11,10, 9, 2, 7,6,5,4,3, 12, 1,0); + const int j = bitswap<24>(i, 23,22,21,20,19,18,17,16,15,14,13, 8, 11,10, 9, 2, 7,6,5,4,3, 12, 1,0); // ryukobou xor: @@ -914,7 +946,7 @@ void igs011_state::nkishusp_decrypt() void igs011_state::tygn_decrypt() { - int rom_size = 0x80000; + const int rom_size = 0x80000; u16 *src = (u16 *) (m_maincpu_region->base()); std::vector result_data(rom_size / 2); @@ -922,7 +954,7 @@ void igs011_state::tygn_decrypt() { u16 x = src[i]; - int j = bitswap<24>(i, 23, 22, 21, 20, 19, 18, 17, 0, 2, 9, 5, 12, 14, 11, 8, 6, 3, 4, 16, 15, 13, 10, 7, 1); + const int j = bitswap<24>(i, 23, 22, 21, 20, 19, 18, 17, 0, 2, 9, 5, 12, 14, 11, 8, 6, 3, 4, 16, 15, 13, 10, 7, 1); if ((j & 0x0280 / 2) || ((j & 0x0024 / 2) == 0x24 / 2)) x ^= 0x0004; @@ -945,11 +977,11 @@ void igs011_state::tygn_decrypt() } -void igs011_state::vbowl_decrypt() +void vbowl_state::vbowl_decrypt() { u16 *src = (u16 *) (m_maincpu_region->base()); - int rom_size = 0x80000; + const int rom_size = 0x80000; for (int i=0; ibase()); - int rom_size = 0x80000; + const int rom_size = 0x80000; for (int i=0; ibase()); - int rom_size = 0x80000; + const int rom_size = 0x80000; for (int i=0; ibase(); - int rom_size = 0x80000; + const int rom_size = 0x80000; for (int i=0; ibase()); std::vector result_data(rom_size); @@ -1120,7 +1152,7 @@ void igs011_state::lhb2_gfx_decrypt() void igs011_state::drgnwrld_gfx_decrypt() { - unsigned rom_size = 0x400000; + const unsigned rom_size = 0x400000; u8 *src = (u8 *) (memregion("blitter")->base()); std::vector result_data(rom_size); @@ -1130,9 +1162,9 @@ void igs011_state::drgnwrld_gfx_decrypt() memcpy(src,&result_data[0],rom_size); } -void igs011_state::vbowl_gfx_decrypt() +void vbowl_state::vbowl_gfx_unpack() { - u8 *gfx = (u8 *)memregion("blitter")->base(); + u8 *gfx = (u8 *)memregion("blitter")->base(); for (int i = 0x400000-1; i >= 0; i--) { gfx[i * 2 + 1] = (gfx[i] & 0xf0) >> 4; @@ -1352,7 +1384,7 @@ void igs011_state::wlcc_igs011_prot2_swap_w(u8 data) } // vbowl -void igs011_state::vbowl_igs011_prot2_swap_w(u8 data) +void vbowl_state::vbowl_igs011_prot2_swap_w(u8 data) { // if ((data & 0xff) == 0x33) { @@ -1426,7 +1458,7 @@ u16 igs011_state::lhb2_igs011_prot2_r() } // vbowl, vbowlj -u16 igs011_state::vbowl_igs011_prot2_r() +u16 vbowl_state::vbowl_igs011_prot2_r() { // b9 = (!b4 & !b3) | !(b2 & b1) | !(b4 | b0) u8 x = m_prot2; @@ -1435,7 +1467,7 @@ u16 igs011_state::vbowl_igs011_prot2_r() } // vbowlhk -u16 igs011_state::vbowlhk_igs011_prot2_r() +u16 vbowl_state::vbowlhk_igs011_prot2_r() { // b9 = (!b4 & !b3) | !(!b2 & !b1) | !(b4 | !b0) u8 x = m_prot2; @@ -1586,7 +1618,7 @@ void igs011_state::drgnwrld_igs003_w(offs_t offset, u16 data, u16 mem_mask) { case 0x00: if (ACCESSING_BITS_0_7) - machine().bookkeeping().coin_counter_w(0,data & 2); + machine().bookkeeping().coin_counter_w(0, BIT(data, 1)); if (data & ~0x2) logerror("%06x: warning, unknown bits written in coin counter = %02x\n", m_maincpu->pc(), data); @@ -1642,38 +1674,28 @@ u16 igs011_state::drgnwrld_igs003_r() return 0; } - void igs011_state::lhb_inputs_w(offs_t offset, u16 data, u16 mem_mask) { - COMBINE_DATA(&m_igs_input_sel); + COMBINE_DATA(&m_input_sel); if (ACCESSING_BITS_0_7) { - machine().bookkeeping().coin_counter_w(0, data & 0x20 ); - // coin out data & 0x40 - m_igs_hopper = data & 0x80; + machine().bookkeeping().coin_counter_w(0, BIT(data, 5)); + // coin out BIT(data, 6) + m_hopper_bit = BIT(data, 7); } - if (m_igs_input_sel & (~0xff) ) - logerror("%06x: warning, unknown bits written in igs_input_sel = %02x\n", m_maincpu->pc(), m_igs_input_sel); + if (m_input_sel & (~0xff)) + logerror("%06x: warning, unknown bits written in input_sel = %02x\n", m_maincpu->pc(), m_input_sel); -// popmessage("sel2 %02x",m_igs_input_sel&~0x1f); +// popmessage("sel2 %02x",m_input_sel&~0x1f); } u16 igs011_state::lhb_inputs_r(offs_t offset) { switch (offset) { - case 0: return m_igs_input_sel; - - case 1: - if (~m_igs_input_sel & 0x01) return m_io_key[0]->read(); - if (~m_igs_input_sel & 0x02) return m_io_key[1]->read(); - if (~m_igs_input_sel & 0x04) return m_io_key[2]->read(); - if (~m_igs_input_sel & 0x08) return m_io_key[3]->read(); - if (~m_igs_input_sel & 0x10) return m_io_key[4]->read(); - - logerror("%06x: warning, reading with igs_input_sel = %02x\n", m_maincpu->pc(), m_igs_input_sel); - break; + case 0: return m_input_sel; + case 1: return key_matrix_r(); } return 0; } @@ -1684,33 +1706,33 @@ void igs011_state::lhb2_igs003_w(offs_t offset, u16 data, u16 mem_mask) switch (m_igs003_reg) { case 0x00: - COMBINE_DATA(&m_igs_input_sel); + COMBINE_DATA(&m_input_sel); if (ACCESSING_BITS_0_7) { - machine().bookkeeping().coin_counter_w(0, data & 0x20); - // coin out data & 0x40 - m_igs_hopper = data & 0x80; + machine().bookkeeping().coin_counter_w(0, BIT(data, 5)); + // coin out BIT(data, 6) + m_hopper_bit = BIT(data, 7); } - if (m_igs_input_sel & ~0x7f ) - logerror("%06x: warning, unknown bits written in igs_input_sel = %02x\n", m_maincpu->pc(), m_igs_input_sel); + if (m_input_sel & ~0x7f) + logerror("%06x: warning, unknown bits written in input_sel = %02x\n", m_maincpu->pc(), m_input_sel); -// popmessage("sel2 %02x",m_igs_input_sel&~0x1f); +// popmessage("sel2 %02x",m_input_sel&~0x1f); break; case 0x02: if (ACCESSING_BITS_0_7) { - m_lhb2_pen_hi = data & 0x07; + m_blitter_pen_hi = data & 0x07; - m_oki->set_rom_bank((data >> 3) & 1); + m_oki->set_rom_bank(BIT(data, 3)); } - if (m_lhb2_pen_hi & ~0xf ) - logerror("%06x: warning, unknown bits written in lhb2_pen_hi = %02x\n", m_maincpu->pc(), m_lhb2_pen_hi); + if (m_blitter_pen_hi & ~0xf) + logerror("%06x: warning, unknown bits written in blitter_pen_hi = %02x\n", m_maincpu->pc(), m_blitter_pen_hi); -// popmessage("oki %02x",m_lhb2_pen_hi & 0x08); +// popmessage("oki %02x",m_blitter_pen_hi & 0x08); break; case 0x40: @@ -1748,12 +1770,10 @@ void igs011_state::lhb2_igs003_w(offs_t offset, u16 data, u16 mem_mask) case 0x86: case 0x87: { - u16 old; - m_igs003_prot_y = m_igs003_reg & 0x07; m_igs003_prot_z = data; - old = m_igs003_prot_hold; + const u16 old = m_igs003_prot_hold; // rotate (with some bits inverted) m_igs003_prot_hold <<= 1; @@ -1782,14 +1802,10 @@ u16 igs011_state::lhb2_igs003_r() switch (m_igs003_reg) { case 0x01: - if (~m_igs_input_sel & 0x01) return m_io_key[0]->read(); - if (~m_igs_input_sel & 0x02) return m_io_key[1]->read(); - if (~m_igs_input_sel & 0x04) return m_io_key[2]->read(); - if (~m_igs_input_sel & 0x08) return m_io_key[3]->read(); - if (~m_igs_input_sel & 0x10) return m_io_key[4]->read(); - [[fallthrough]]; + return key_matrix_r(); default: - logerror("%06x: warning, reading with igs003_reg = %02x\n", m_maincpu->pc(), m_igs003_reg); + if (!machine().side_effects_disabled()) + logerror("%06x: warning, reading with igs003_reg = %02x\n", m_maincpu->pc(), m_igs003_reg); break; case 0x03: @@ -1833,11 +1849,11 @@ void igs011_state::wlcc_igs003_w(offs_t offset, u16 data, u16 mem_mask) case 0x02: if (ACCESSING_BITS_0_7) { - machine().bookkeeping().coin_counter_w(0, data & 0x01); - // coin out data & 0x02 + machine().bookkeeping().coin_counter_w(0, BIT(data, 0)); + // coin out BIT(data, 1) - m_oki->set_rom_bank((data >> 4) & 1); - m_igs_hopper = data & 0x20; + m_oki->set_rom_bank(BIT(data, 4)); + m_hopper_bit = BIT(data, 5); } if (data & ~0x33) @@ -1879,7 +1895,8 @@ u16 igs011_state::wlcc_igs003_r() case 0x34: return 0x32; default: - logerror("%06x: warning, reading with igs003_reg = %02x\n", m_maincpu->pc(), m_igs003_reg); + if (!machine().side_effects_disabled()) + logerror("%06x: warning, reading with igs003_reg = %02x\n", m_maincpu->pc(), m_igs003_reg); } return 0; @@ -1891,19 +1908,19 @@ void igs011_state::xymg_igs003_w(offs_t offset, u16 data, u16 mem_mask) switch (m_igs003_reg) { case 0x01: - COMBINE_DATA(&m_igs_input_sel); + COMBINE_DATA(&m_input_sel); if (ACCESSING_BITS_0_7) { - machine().bookkeeping().coin_counter_w(0, data & 0x20); - // coin out data & 0x40 - m_igs_hopper = data & 0x80; + machine().bookkeeping().coin_counter_w(0, BIT(data, 5)); + // coin out BIT(data, 6) + m_hopper_bit = BIT(data, 7); } - if (m_igs_input_sel & 0x40 ) - logerror("%06x: warning, unknown bits written in igs_input_sel = %02x\n", m_maincpu->pc(), m_igs_input_sel); + if (m_input_sel & 0x40) + logerror("%06x: warning, unknown bits written in input_sel = %02x\n", m_maincpu->pc(), m_input_sel); -// popmessage("sel2 %02x",m_igs_input_sel&~0x1f); +// popmessage("sel2 %02x",m_input_sel&~0x1f); break; default: @@ -1916,13 +1933,7 @@ u16 igs011_state::xymg_igs003_r() { case 0x00: return m_io_coin->read(); - case 0x02: - if (~m_igs_input_sel & 0x01) return m_io_key[0]->read(); - if (~m_igs_input_sel & 0x02) return m_io_key[1]->read(); - if (~m_igs_input_sel & 0x04) return m_io_key[2]->read(); - if (~m_igs_input_sel & 0x08) return m_io_key[3]->read(); - if (~m_igs_input_sel & 0x10) return m_io_key[4]->read(); - [[fallthrough]]; + case 0x02: return key_matrix_r(); case 0x20: return 0x49; case 0x21: return 0x47; @@ -1947,7 +1958,8 @@ u16 igs011_state::xymg_igs003_r() case 0x34: return 0x32; default: - logerror("%06x: warning, reading with igs003_reg = %02x\n", m_maincpu->pc(), m_igs003_reg); + if (!machine().side_effects_disabled()) + logerror("%06x: warning, reading with igs003_reg = %02x\n", m_maincpu->pc(), m_igs003_reg); break; } @@ -1956,15 +1968,15 @@ u16 igs011_state::xymg_igs003_r() // vbowl, vbowlj -void igs011_state::vbowl_igs003_w(offs_t offset, u16 data, u16 mem_mask) +void vbowl_state::vbowl_igs003_w(offs_t offset, u16 data, u16 mem_mask) { switch (m_igs003_reg) { case 0x02: if (ACCESSING_BITS_0_7) { - machine().bookkeeping().coin_counter_w(0, data & 1); - machine().bookkeeping().coin_counter_w(1, data & 2); + machine().bookkeeping().coin_counter_w(0, BIT(data, 0)); + machine().bookkeeping().coin_counter_w(1, BIT(data, 1)); } if (data & ~0x3) @@ -2007,12 +2019,10 @@ void igs011_state::vbowl_igs003_w(offs_t offset, u16 data, u16 mem_mask) case 0x86: case 0x87: { - u16 old; - m_igs003_prot_y = m_igs003_reg & 0x07; m_igs003_prot_z = data; - old = m_igs003_prot_hold; + const u16 old = m_igs003_prot_hold; // rotate (with some bits inverted) m_igs003_prot_hold <<= 1; @@ -2036,7 +2046,7 @@ void igs011_state::vbowl_igs003_w(offs_t offset, u16 data, u16 mem_mask) logerror("%06x: warning, writing to igs003_reg %02x = %02x\n", m_maincpu->pc(), m_igs003_reg, data); } } -u16 igs011_state::vbowl_igs003_r() +u16 vbowl_state::vbowl_igs003_r() { switch (m_igs003_reg) { @@ -2069,7 +2079,8 @@ u16 igs011_state::vbowl_igs003_r() case 0x34: return 0x32; default: - logerror("%06x: warning, reading with igs003_reg = %02x\n", m_maincpu->pc(), m_igs003_reg); + if (!machine().side_effects_disabled()) + logerror("%06x: warning, reading with igs003_reg = %02x\n", m_maincpu->pc(), m_igs003_reg); } return 0; @@ -2077,15 +2088,15 @@ u16 igs011_state::vbowl_igs003_r() // vbowlhk (different bitswap) -void igs011_state::vbowlhk_igs003_w(offs_t offset, u16 data, u16 mem_mask) +void vbowl_state::vbowlhk_igs003_w(offs_t offset, u16 data, u16 mem_mask) { switch (m_igs003_reg) { case 0x02: if (ACCESSING_BITS_0_7) { - machine().bookkeeping().coin_counter_w(0, data & 1); - machine().bookkeeping().coin_counter_w(1, data & 2); + machine().bookkeeping().coin_counter_w(0, BIT(data, 0)); + machine().bookkeeping().coin_counter_w(1, BIT(data, 1)); } if (data & ~0x3) @@ -2128,12 +2139,10 @@ void igs011_state::vbowlhk_igs003_w(offs_t offset, u16 data, u16 mem_mask) case 0x86: case 0x87: { - u16 old; - m_igs003_prot_y = m_igs003_reg & 0x07; m_igs003_prot_z = data; - old = m_igs003_prot_hold; + const u16 old = m_igs003_prot_hold; // rotate (with some bits inverted) m_igs003_prot_hold <<= 1; @@ -2521,12 +2530,12 @@ void igs011_state::init_tygn() //rom[0x4c67a/2] = 0x6038; // 04c67a: 6e38 bgt $4c6b4 (system error) } -void igs011_state::init_vbowl() +void vbowl_state::init_vbowl() { u16 *rom = (u16 *) m_maincpu_region->base(); vbowl_decrypt(); - vbowl_gfx_decrypt(); + vbowl_gfx_unpack(); // Patch the bad dump so that it doesn't reboot at the end of a game (the patched value is from vbowlj) rom[0x080e0/2] = 0xe549; // 0080E0: 0449 dc.w $0449; ILLEGAL @@ -2537,16 +2546,16 @@ void igs011_state::init_vbowl() rom[0x1e6e6/2] = 0x600c; // 01E6E6: 670C beq $1e6f4 rom[0x1f7ce/2] = 0x600c; // 01F7CE: 670C beq $1f7dc */ - machine().save().register_postload(save_prepost_delegate(FUNC(igs011_state::prot_mem_range_set), this)); + machine().save().register_postload(save_prepost_delegate(FUNC(vbowl_state::prot_mem_range_set), this)); } -void igs011_state::init_vbowlj() +void vbowl_state::init_vbowlj() { // u16 *rom = (u16 *) m_maincpu_region->base(); vbowl_decrypt(); - vbowl_gfx_decrypt(); + vbowl_gfx_unpack(); /* // PROTECTION CHECKS @@ -2555,16 +2564,16 @@ void igs011_state::init_vbowlj() rom[0x1e6e6/2] = 0x600c; // 01E6E6: 670C beq $1e6f4 rom[0x1f7c8/2] = 0x600c; // 01F7C8: 670C beq 1f7d6 */ - machine().save().register_postload(save_prepost_delegate(FUNC(igs011_state::prot_mem_range_set), this)); + machine().save().register_postload(save_prepost_delegate(FUNC(vbowl_state::prot_mem_range_set), this)); } -void igs011_state::init_vbowlhk() +void vbowl_state::init_vbowlhk() { vbowlhk_decrypt(); - vbowl_gfx_decrypt(); + vbowl_gfx_unpack(); - machine().save().register_postload(save_prepost_delegate(FUNC(igs011_state::prot_mem_range_set), this)); + machine().save().register_postload(save_prepost_delegate(FUNC(vbowl_state::prot_mem_range_set), this)); } @@ -2612,7 +2621,7 @@ void igs011_state::drgnwrld_mem(address_map &map) map(0x000000, 0x07ffff).rom(); map(0x100000, 0x103fff).ram().share("nvram"); - map(0x200000, 0x200fff).ram().share("priority_ram"); + map(0x200000, 0x200fff).ram().share(m_priority_ram); map(0x400000, 0x400fff).rw(m_palette, FUNC(palette_device::read8), FUNC(palette_device::write8)).umask16(0x00ff).share("palette"); map(0x401000, 0x401fff).rw(m_palette, FUNC(palette_device::read8_ext), FUNC(palette_device::write8_ext)).umask16(0x00ff).share("palette_ext"); map(0x500000, 0x500001).portr("COIN"); @@ -2623,7 +2632,7 @@ void igs011_state::drgnwrld_mem(address_map &map) map(0x800002, 0x800003).rw(FUNC(igs011_state::drgnwrld_igs003_r), FUNC(igs011_state::drgnwrld_igs003_w)); map(0xa20000, 0xa20001).w(FUNC(igs011_state::igs011_priority_w)); - map(0xa40000, 0xa40001).w(FUNC(igs011_state::igs_dips_w)); + map(0xa40000, 0xa40001).w(FUNC(igs011_state::dips_w)); map(0xa50000, 0xa50001).w(FUNC(igs011_state::igs011_prot_addr_w)); // map(0xa50000, 0xa50005).r(FUNC(igs011_state::igs011_prot_fake_r)); @@ -2637,7 +2646,7 @@ void igs011_state::drgnwrld_mem(address_map &map) map(0xa5b000, 0xa5b001).w(FUNC(igs011_state::igs011_blit_flags_w)); map(0xa5b800, 0xa5b801).w(FUNC(igs011_state::igs011_blit_pen_w)); map(0xa5c000, 0xa5c001).w(FUNC(igs011_state::igs011_blit_depth_w)); - map(0xa88000, 0xa88001).r(FUNC(igs011_state::igs_dips_r<3>)); + map(0xa88000, 0xa88001).r(FUNC(igs011_state::dips_r<3>)); } void igs011_state::drgnwrld_igs012_mem(address_map &map) @@ -2667,14 +2676,14 @@ void igs011_state::drgnwrld_igs012_mem(address_map &map) // Only values 0 and 7 are written (1 bit per irq source?) void igs011_state::lhb_irq_enable_w(offs_t offset, u16 data, u16 mem_mask) { - COMBINE_DATA( &m_lhb_irq_enable ); + COMBINE_DATA(&m_lhb_irq_enable); } void igs011_state::lhb_okibank_w(u8 data) { - m_oki->set_rom_bank((data >> 1) & 1); + m_oki->set_rom_bank(BIT(data, 1)); - if (data & (~0x2) ) + if (data & (~0x2)) logerror("%s: warning, unknown bits written in oki bank = %02x\n", machine().describe_context(), data); // popmessage("oki %04x",data); @@ -2696,7 +2705,7 @@ void igs011_state::lhb_mem(address_map &map) // no reset map(0x100000, 0x103fff).ram().share("nvram"); - map(0x200000, 0x200fff).ram().share("priority_ram"); + map(0x200000, 0x200fff).ram().share(m_priority_ram); map(0x300000, 0x3fffff).rw(FUNC(igs011_state::igs011_layers_r), FUNC(igs011_state::igs011_layers_w)); map(0x400000, 0x400fff).rw(m_palette, FUNC(palette_device::read8), FUNC(palette_device::write8)).umask16(0x00ff).share("palette"); map(0x401000, 0x401fff).rw(m_palette, FUNC(palette_device::read8_ext), FUNC(palette_device::write8_ext)).umask16(0x00ff).share("palette_ext"); @@ -2706,7 +2715,7 @@ void igs011_state::lhb_mem(address_map &map) map(0x700002, 0x700003).w(FUNC(igs011_state::lhb_inputs_w)); map(0x820000, 0x820001).w(FUNC(igs011_state::igs011_priority_w)); map(0x838000, 0x838001).w(FUNC(igs011_state::lhb_irq_enable_w)); - map(0x840000, 0x840001).w(FUNC(igs011_state::igs_dips_w)); + map(0x840000, 0x840001).w(FUNC(igs011_state::dips_w)); map(0x850000, 0x850001).w(FUNC(igs011_state::igs011_prot_addr_w)); // map(0x850000, 0x850005).w(FUNC(igs011_state::igs011_prot_fake_r)); @@ -2720,7 +2729,7 @@ void igs011_state::lhb_mem(address_map &map) map(0x85b000, 0x85b001).w(FUNC(igs011_state::igs011_blit_flags_w)); map(0x85b800, 0x85b801).w(FUNC(igs011_state::igs011_blit_pen_w)); map(0x85c000, 0x85c001).w(FUNC(igs011_state::igs011_blit_depth_w)); - map(0x888000, 0x888001).r(FUNC(igs011_state::igs_dips_r<5>)); + map(0x888000, 0x888001).r(FUNC(igs011_state::dips_r<5>)); } void igs011_state::xymg_mem(address_map &map) @@ -2740,7 +2749,7 @@ void igs011_state::xymg_mem(address_map &map) map(0x100000, 0x103fff).ram(); map(0x1f0000, 0x1f3fff).ram().share("nvram"); // extra ram - map(0x200000, 0x200fff).ram().share("priority_ram"); + map(0x200000, 0x200fff).ram().share(m_priority_ram); map(0x300000, 0x3fffff).rw(FUNC(igs011_state::igs011_layers_r), FUNC(igs011_state::igs011_layers_w)); map(0x400000, 0x400fff).rw(m_palette, FUNC(palette_device::read8), FUNC(palette_device::write8)).umask16(0x00ff).share("palette"); map(0x401000, 0x401fff).rw(m_palette, FUNC(palette_device::read8_ext), FUNC(palette_device::write8_ext)).umask16(0x00ff).share("palette_ext"); @@ -2748,7 +2757,7 @@ void igs011_state::xymg_mem(address_map &map) map(0x700000, 0x700001).w(FUNC(igs011_state::igs003_w)); map(0x700002, 0x700003).rw(FUNC(igs011_state::xymg_igs003_r), FUNC(igs011_state::xymg_igs003_w)); map(0x820000, 0x820001).w(FUNC(igs011_state::igs011_priority_w)); - map(0x840000, 0x840001).w(FUNC(igs011_state::igs_dips_w)); + map(0x840000, 0x840001).w(FUNC(igs011_state::dips_w)); map(0x850000, 0x850001).w(FUNC(igs011_state::igs011_prot_addr_w)); // map(0x850000, 0x850005).w(FUNC(igs011_state::igs011_prot_fake_r)); @@ -2762,7 +2771,7 @@ void igs011_state::xymg_mem(address_map &map) map(0x85b000, 0x85b001).w(FUNC(igs011_state::igs011_blit_flags_w)); map(0x85b800, 0x85b801).w(FUNC(igs011_state::igs011_blit_pen_w)); map(0x85c000, 0x85c001).w(FUNC(igs011_state::igs011_blit_depth_w)); - map(0x888000, 0x888001).r(FUNC(igs011_state::igs_dips_r<3>)); + map(0x888000, 0x888001).r(FUNC(igs011_state::dips_r<3>)); } void igs011_state::wlcc_mem(address_map &map) @@ -2778,7 +2787,7 @@ void igs011_state::wlcc_mem(address_map &map) map(0x000000, 0x07ffff).rom(); map(0x100000, 0x103fff).ram().share("nvram"); - map(0x200000, 0x200fff).ram().share("priority_ram"); + map(0x200000, 0x200fff).ram().share(m_priority_ram); map(0x300000, 0x3fffff).rw(FUNC(igs011_state::igs011_layers_r), FUNC(igs011_state::igs011_layers_w)); map(0x400000, 0x400fff).rw(m_palette, FUNC(palette_device::read8), FUNC(palette_device::write8)).umask16(0x00ff).share("palette"); map(0x401000, 0x401fff).rw(m_palette, FUNC(palette_device::read8_ext), FUNC(palette_device::write8_ext)).umask16(0x00ff).share("palette_ext"); @@ -2787,7 +2796,7 @@ void igs011_state::wlcc_mem(address_map &map) map(0x800000, 0x800001).w(FUNC(igs011_state::igs003_w)); map(0x800002, 0x800003).rw(FUNC(igs011_state::wlcc_igs003_r), FUNC(igs011_state::wlcc_igs003_w)); map(0xa20000, 0xa20001).w(FUNC(igs011_state::igs011_priority_w)); - map(0xa40000, 0xa40001).w(FUNC(igs011_state::igs_dips_w)); + map(0xa40000, 0xa40001).w(FUNC(igs011_state::dips_w)); map(0xa50000, 0xa50001).w(FUNC(igs011_state::igs011_prot_addr_w)); // map(0xa50000, 0xa50005).r(FUNC(igs011_state::igs011_prot_fake_r)); @@ -2801,7 +2810,7 @@ void igs011_state::wlcc_mem(address_map &map) map(0xa5b000, 0xa5b001).w(FUNC(igs011_state::igs011_blit_flags_w)); map(0xa5b800, 0xa5b801).w(FUNC(igs011_state::igs011_blit_pen_w)); map(0xa5c000, 0xa5c001).w(FUNC(igs011_state::igs011_blit_depth_w)); - map(0xa88000, 0xa88001).r(FUNC(igs011_state::igs_dips_r<4>)); + map(0xa88000, 0xa88001).r(FUNC(igs011_state::dips_r<4>)); } @@ -2823,13 +2832,13 @@ void igs011_state::lhb2_mem(address_map &map) map(0x204000, 0x204003).w("ymsnd", FUNC(ym2413_device::write)).umask16(0x00ff); map(0x208000, 0x208001).w(FUNC(igs011_state::igs003_w)); map(0x208002, 0x208003).rw(FUNC(igs011_state::lhb2_igs003_r), FUNC(igs011_state::lhb2_igs003_w)); - map(0x20c000, 0x20cfff).ram().share("priority_ram"); + map(0x20c000, 0x20cfff).ram().share(m_priority_ram); map(0x210000, 0x210fff).rw(m_palette, FUNC(palette_device::read8), FUNC(palette_device::write8)).umask16(0x00ff).share("palette"); map(0x211000, 0x211fff).rw(m_palette, FUNC(palette_device::read8_ext), FUNC(palette_device::write8_ext)).umask16(0x00ff).share("palette_ext"); map(0x214000, 0x214001).portr("COIN"); map(0x300000, 0x3fffff).rw(FUNC(igs011_state::igs011_layers_r), FUNC(igs011_state::igs011_layers_w)); map(0xa20000, 0xa20001).w(FUNC(igs011_state::igs011_priority_w)); - map(0xa40000, 0xa40001).w(FUNC(igs011_state::igs_dips_w)); + map(0xa40000, 0xa40001).w(FUNC(igs011_state::dips_w)); map(0xa50000, 0xa50001).w(FUNC(igs011_state::igs011_prot_addr_w)); // map(0xa50000, 0xa50005).r(FUNC(igs011_state::igs011_prot_fake_r)); @@ -2843,7 +2852,7 @@ void igs011_state::lhb2_mem(address_map &map) map(0xa5b000, 0xa5b001).w(FUNC(igs011_state::igs011_blit_flags_w)); map(0xa5b800, 0xa5b801).w(FUNC(igs011_state::igs011_blit_pen_w)); map(0xa5c000, 0xa5c001).w(FUNC(igs011_state::igs011_blit_depth_w)); - map(0xa88000, 0xa88001).r(FUNC(igs011_state::igs_dips_r<3>)); + map(0xa88000, 0xa88001).r(FUNC(igs011_state::dips_r<3>)); } @@ -2866,14 +2875,14 @@ void igs011_state::nkishusp_mem(address_map &map) map(0x204000, 0x204003).w("ymsnd", FUNC(ym2413_device::write)).umask16(0x00ff); map(0x208000, 0x208001).w(FUNC(igs011_state::igs003_w)); map(0x208002, 0x208003).rw(FUNC(igs011_state::lhb2_igs003_r), FUNC(igs011_state::lhb2_igs003_w)); - map(0x20c000, 0x20cfff).ram().share("priority_ram"); + map(0x20c000, 0x20cfff).ram().share(m_priority_ram); map(0x210000, 0x210fff).rw(m_palette, FUNC(palette_device::read8), FUNC(palette_device::write8)).umask16(0x00ff).share("palette"); map(0x211000, 0x211fff).rw(m_palette, FUNC(palette_device::read8_ext), FUNC(palette_device::write8_ext)).umask16(0x00ff).share("palette_ext"); map(0x214000, 0x214001).portr("COIN"); map(0x300000, 0x3fffff).rw(FUNC(igs011_state::igs011_layers_r), FUNC(igs011_state::igs011_layers_w)); map(0xa20000, 0xa20001).w(FUNC(igs011_state::igs011_priority_w)); map(0xa38000, 0xa38001).w(FUNC(igs011_state::lhb_irq_enable_w)); - map(0xa40000, 0xa40001).w(FUNC(igs011_state::igs_dips_w)); + map(0xa40000, 0xa40001).w(FUNC(igs011_state::dips_w)); map(0xa50000, 0xa50001).w(FUNC(igs011_state::igs011_prot_addr_w)); // map(0xa50000, 0xa50005).r(FUNC(igs011_state::igs011_prot_fake_r)); @@ -2887,7 +2896,7 @@ void igs011_state::nkishusp_mem(address_map &map) map(0xa5b000, 0xa5b001).w(FUNC(igs011_state::igs011_blit_flags_w)); map(0xa5b800, 0xa5b801).w(FUNC(igs011_state::igs011_blit_pen_w)); map(0xa5c000, 0xa5c001).w(FUNC(igs011_state::igs011_blit_depth_w)); - map(0xa88000, 0xa88001).r(FUNC(igs011_state::igs_dips_r<3>)); + map(0xa88000, 0xa88001).r(FUNC(igs011_state::dips_r<3>)); } void igs011_state::tygn_mem(address_map &map) @@ -2899,12 +2908,12 @@ void igs011_state::tygn_mem(address_map &map) } -u16 igs011_state::vbowl_unk_r() +u16 vbowl_state::vbowl_unk_r() { return 0xffff; } -void igs011_state::screen_vblank_vbowl(int state) +void vbowl_state::screen_vblank(int state) { // rising edge if (state) @@ -2914,96 +2923,96 @@ void igs011_state::screen_vblank_vbowl(int state) } } -void igs011_state::vbowl_pen_hi_w(u8 data) +void vbowl_state::vbowl_pen_hi_w(u8 data) { - m_lhb2_pen_hi = data & 0x07; + m_blitter_pen_hi = data & 0x07; if (data & ~0x7) logerror("%06x: warning, unknown bits written to pen_hi = %02x\n", m_maincpu->pc(), m_priority); } -void igs011_state::vbowl_link_0_w(u16 data){ } -void igs011_state::vbowl_link_1_w(u16 data){ } -void igs011_state::vbowl_link_2_w(u16 data){ } -void igs011_state::vbowl_link_3_w(u16 data){ } +void vbowl_state::vbowl_link_0_w(u16 data){ } +void vbowl_state::vbowl_link_1_w(u16 data){ } +void vbowl_state::vbowl_link_2_w(u16 data){ } +void vbowl_state::vbowl_link_3_w(u16 data){ } -void igs011_state::vbowl_mem(address_map &map) +void vbowl_state::vbowl_mem(address_map &map) { map(0x000000, 0x07ffff).rom(); // vbowl: IGS011 protection dynamically mapped at 834x -// map(0x008340, 0x008347).w(FUNC(igs011_state::igs011_prot1_w)).umask16(0xff00); -// map(0x008348, 0x008349).r(FUNC(igs011_state::igs011_prot1_r)); +// map(0x008340, 0x008347).w(FUNC(vbowl_state::igs011_prot1_w)).umask16(0xff00); +// map(0x008348, 0x008349).r(FUNC(vbowl_state::igs011_prot1_r)); // IGS012 - map(0x001600, 0x00160f).w(FUNC(igs011_state::igs012_prot_swap_w)).mirror(0x01c000); // swap (a5 / 55) - map(0x001610, 0x00161f).r(FUNC(igs011_state::igs012_prot_r)).mirror(0x01c000); // read (mode 0) - map(0x001620, 0x00162f).w(FUNC(igs011_state::igs012_prot_dec_inc_w)).mirror(0x01c000); // dec (aa), inc (fa) - map(0x001630, 0x00163f).w(FUNC(igs011_state::igs012_prot_inc_w)).mirror(0x01c000); // inc (ff) - map(0x001640, 0x00164f).w(FUNC(igs011_state::igs012_prot_copy_w)).mirror(0x01c000); // copy (22) - map(0x001650, 0x00165f).w(FUNC(igs011_state::igs012_prot_dec_copy_w)).mirror(0x01c000); // dec (5a), copy (33) - map(0x001660, 0x00166f).r(FUNC(igs011_state::igs012_prot_r)).mirror(0x01c000); // read (mode 1) - map(0x001670, 0x00167f).w(FUNC(igs011_state::igs012_prot_mode_w)).mirror(0x01c000); // mode (cc / dd) - - map(0x00d400, 0x00d43f).w(FUNC(igs011_state::igs011_prot2_dec_w)); // dec (33) - map(0x00d440, 0x00d47f).w(FUNC(igs011_state::drgnwrld_igs011_prot2_swap_w)); // swap (33) - map(0x00d480, 0x00d4bf).w(FUNC(igs011_state::igs011_prot2_reset_w)); // reset (33) - map(0x00d4c0, 0x00d4ff).r(FUNC(igs011_state::drgnwrldv20j_igs011_prot2_r)); // read - - map(0x50f000, 0x50f1ff).w(FUNC(igs011_state::igs011_prot2_dec_w)); // dec (33) - map(0x50f200, 0x50f3ff).w(FUNC(igs011_state::vbowl_igs011_prot2_swap_w)); // swap (33) - map(0x50f400, 0x50f5ff).w(FUNC(igs011_state::igs011_prot2_reset_w)); // reset (33) - map(0x50f600, 0x50f7ff).r(FUNC(igs011_state::vbowl_igs011_prot2_r)); // read - - map(0x902000, 0x902fff).w(FUNC(igs011_state::igs012_prot_reset_w)); // reset? -// map(0x902000, 0x902005).w(FUNC(igs011_state::igs012_prot_fake_r)); + map(0x001600, 0x00160f).w(FUNC(vbowl_state::igs012_prot_swap_w)).mirror(0x01c000); // swap (a5 / 55) + map(0x001610, 0x00161f).r(FUNC(vbowl_state::igs012_prot_r)).mirror(0x01c000); // read (mode 0) + map(0x001620, 0x00162f).w(FUNC(vbowl_state::igs012_prot_dec_inc_w)).mirror(0x01c000); // dec (aa), inc (fa) + map(0x001630, 0x00163f).w(FUNC(vbowl_state::igs012_prot_inc_w)).mirror(0x01c000); // inc (ff) + map(0x001640, 0x00164f).w(FUNC(vbowl_state::igs012_prot_copy_w)).mirror(0x01c000); // copy (22) + map(0x001650, 0x00165f).w(FUNC(vbowl_state::igs012_prot_dec_copy_w)).mirror(0x01c000); // dec (5a), copy (33) + map(0x001660, 0x00166f).r(FUNC(vbowl_state::igs012_prot_r)).mirror(0x01c000); // read (mode 1) + map(0x001670, 0x00167f).w(FUNC(vbowl_state::igs012_prot_mode_w)).mirror(0x01c000); // mode (cc / dd) + + map(0x00d400, 0x00d43f).w(FUNC(vbowl_state::igs011_prot2_dec_w)); // dec (33) + map(0x00d440, 0x00d47f).w(FUNC(vbowl_state::drgnwrld_igs011_prot2_swap_w)); // swap (33) + map(0x00d480, 0x00d4bf).w(FUNC(vbowl_state::igs011_prot2_reset_w)); // reset (33) + map(0x00d4c0, 0x00d4ff).r(FUNC(vbowl_state::drgnwrldv20j_igs011_prot2_r)); // read + + map(0x50f000, 0x50f1ff).w(FUNC(vbowl_state::igs011_prot2_dec_w)); // dec (33) + map(0x50f200, 0x50f3ff).w(FUNC(vbowl_state::vbowl_igs011_prot2_swap_w)); // swap (33) + map(0x50f400, 0x50f5ff).w(FUNC(vbowl_state::igs011_prot2_reset_w)); // reset (33) + map(0x50f600, 0x50f7ff).r(FUNC(vbowl_state::vbowl_igs011_prot2_r)); // read + + map(0x902000, 0x902fff).w(FUNC(vbowl_state::igs012_prot_reset_w)); // reset? +// map(0x902000, 0x902005).w(FUNC(vbowl_state::igs012_prot_fake_r)); map(0x100000, 0x103fff).ram().share("nvram"); - map(0x200000, 0x200fff).ram().share("priority_ram"); - map(0x300000, 0x3fffff).rw(FUNC(igs011_state::igs011_layers_r), FUNC(igs011_state::igs011_layers_w)); + map(0x200000, 0x200fff).ram().share(m_priority_ram); + map(0x300000, 0x3fffff).rw(FUNC(vbowl_state::igs011_layers_r), FUNC(vbowl_state::igs011_layers_w)); map(0x400000, 0x400fff).rw(m_palette, FUNC(palette_device::read8), FUNC(palette_device::write8)).umask16(0x00ff).share("palette"); map(0x401000, 0x401fff).rw(m_palette, FUNC(palette_device::read8_ext), FUNC(palette_device::write8_ext)).umask16(0x00ff).share("palette_ext"); map(0x520000, 0x520001).portr("COIN"); map(0x600000, 0x600007).rw(m_ics, FUNC(ics2115_device::word_r), FUNC(ics2115_device::word_w)); - map(0x700000, 0x700003).ram().share("vbowl_trackball"); - map(0x700005, 0x700005).w(FUNC(igs011_state::vbowl_pen_hi_w)); - map(0x800000, 0x800001).w(FUNC(igs011_state::igs003_w)); - map(0x800002, 0x800003).rw(FUNC(igs011_state::vbowl_igs003_r), FUNC(igs011_state::vbowl_igs003_w)); + map(0x700000, 0x700003).ram().share(m_vbowl_trackball); + map(0x700005, 0x700005).w(FUNC(vbowl_state::vbowl_pen_hi_w)); + map(0x800000, 0x800001).w(FUNC(vbowl_state::igs003_w)); + map(0x800002, 0x800003).rw(FUNC(vbowl_state::vbowl_igs003_r), FUNC(vbowl_state::vbowl_igs003_w)); - map(0xa00000, 0xa00001).w(FUNC(igs011_state::vbowl_link_0_w)); - map(0xa08000, 0xa08001).w(FUNC(igs011_state::vbowl_link_1_w)); - map(0xa10000, 0xa10001).w(FUNC(igs011_state::vbowl_link_2_w)); - map(0xa18000, 0xa18001).w(FUNC(igs011_state::vbowl_link_3_w)); + map(0xa00000, 0xa00001).w(FUNC(vbowl_state::vbowl_link_0_w)); + map(0xa08000, 0xa08001).w(FUNC(vbowl_state::vbowl_link_1_w)); + map(0xa10000, 0xa10001).w(FUNC(vbowl_state::vbowl_link_2_w)); + map(0xa18000, 0xa18001).w(FUNC(vbowl_state::vbowl_link_3_w)); - map(0xa20000, 0xa20001).w(FUNC(igs011_state::igs011_priority_w)); -// map(0xa38000, 0xa38001).w(FUNC(igs011_state::lhb_irq_enable_w)); - map(0xa40000, 0xa40001).w(FUNC(igs011_state::igs_dips_w)); + map(0xa20000, 0xa20001).w(FUNC(vbowl_state::igs011_priority_w)); +// map(0xa38000, 0xa38001).w(FUNC(vbowl_state::lhb_irq_enable_w)); + map(0xa40000, 0xa40001).w(FUNC(vbowl_state::dips_w)); - map(0xa48000, 0xa48001).w(FUNC(igs011_state::igs011_prot_addr_w)); -// map(0xa48000, 0xa48005).w(FUNC(igs011_state::igs011_prot_fake_r)); + map(0xa48000, 0xa48001).w(FUNC(vbowl_state::igs011_prot_addr_w)); +// map(0xa48000, 0xa48005).w(FUNC(vbowl_state::igs011_prot_fake_r)); - map(0xa58000, 0xa58001).w(FUNC(igs011_state::igs011_blit_x_w)); - map(0xa58800, 0xa58801).w(FUNC(igs011_state::igs011_blit_y_w)); - map(0xa59000, 0xa59001).w(FUNC(igs011_state::igs011_blit_w_w)); - map(0xa59800, 0xa59801).w(FUNC(igs011_state::igs011_blit_h_w)); - map(0xa5a000, 0xa5a001).w(FUNC(igs011_state::igs011_blit_gfx_lo_w)); - map(0xa5a800, 0xa5a801).w(FUNC(igs011_state::igs011_blit_gfx_hi_w)); - map(0xa5b000, 0xa5b001).w(FUNC(igs011_state::igs011_blit_flags_w)); - map(0xa5b800, 0xa5b801).w(FUNC(igs011_state::igs011_blit_pen_w)); - map(0xa5c000, 0xa5c001).w(FUNC(igs011_state::igs011_blit_depth_w)); + map(0xa58000, 0xa58001).w(FUNC(vbowl_state::igs011_blit_x_w)); + map(0xa58800, 0xa58801).w(FUNC(vbowl_state::igs011_blit_y_w)); + map(0xa59000, 0xa59001).w(FUNC(vbowl_state::igs011_blit_w_w)); + map(0xa59800, 0xa59801).w(FUNC(vbowl_state::igs011_blit_h_w)); + map(0xa5a000, 0xa5a001).w(FUNC(vbowl_state::igs011_blit_gfx_lo_w)); + map(0xa5a800, 0xa5a801).w(FUNC(vbowl_state::igs011_blit_gfx_hi_w)); + map(0xa5b000, 0xa5b001).w(FUNC(vbowl_state::igs011_blit_flags_w)); + map(0xa5b800, 0xa5b801).w(FUNC(vbowl_state::igs011_blit_pen_w)); + map(0xa5c000, 0xa5c001).w(FUNC(vbowl_state::igs011_blit_depth_w)); - map(0xa80000, 0xa80001).r(FUNC(igs011_state::vbowl_unk_r)); // comm - map(0xa88000, 0xa88001).r(FUNC(igs011_state::igs_dips_r<4>)); - map(0xa90000, 0xa90001).r(FUNC(igs011_state::vbowl_unk_r)); // comm - map(0xa98000, 0xa98001).r(FUNC(igs011_state::vbowl_unk_r)); // comm + map(0xa80000, 0xa80001).r(FUNC(vbowl_state::vbowl_unk_r)); // comm + map(0xa88000, 0xa88001).r(FUNC(vbowl_state::dips_r<4>)); + map(0xa90000, 0xa90001).r(FUNC(vbowl_state::vbowl_unk_r)); // comm + map(0xa98000, 0xa98001).r(FUNC(vbowl_state::vbowl_unk_r)); // comm } -void igs011_state::vbowlhk_mem(address_map &map) +void vbowl_state::vbowlhk_mem(address_map &map) { vbowl_mem(map); - map(0x800002, 0x800003).w(FUNC(igs011_state::vbowlhk_igs003_w)); - map(0x50f600, 0x50f7ff).r(FUNC(igs011_state::vbowlhk_igs011_prot2_r)); // read + map(0x800002, 0x800003).w(FUNC(vbowl_state::vbowlhk_igs003_w)); + map(0x50f600, 0x50f7ff).r(FUNC(vbowl_state::vbowlhk_igs011_prot2_r)); // read } @@ -3288,262 +3297,194 @@ INPUT_PORTS_END static INPUT_PORTS_START( lhb2 ) PORT_START("DSW1") - PORT_DIPNAME( 0x07, 0x02, "Pay Out (%)" ) - PORT_DIPSETTING( 0x07, "50" ) - PORT_DIPSETTING( 0x06, "54" ) - PORT_DIPSETTING( 0x05, "58" ) - PORT_DIPSETTING( 0x04, "62" ) - PORT_DIPSETTING( 0x03, "66" ) - PORT_DIPSETTING( 0x02, "70" ) - PORT_DIPSETTING( 0x01, "74" ) - PORT_DIPSETTING( 0x00, "78" ) - PORT_DIPNAME( 0x08, 0x00, "Odds Rate" ) + PORT_DIPNAME( 0x07, 0x02, "Payout Rate" ) PORT_DIPLOCATION("SW1:1,2,3") // 機率調整 + PORT_DIPSETTING( 0x07, "50%" ) + PORT_DIPSETTING( 0x06, "54%" ) + PORT_DIPSETTING( 0x05, "58%" ) + PORT_DIPSETTING( 0x04, "62%" ) + PORT_DIPSETTING( 0x03, "66%" ) + PORT_DIPSETTING( 0x02, "70%" ) + PORT_DIPSETTING( 0x01, "74%" ) + PORT_DIPSETTING( 0x00, "78%" ) + PORT_DIPNAME( 0x08, 0x00, "Odds Rate" ) PORT_DIPLOCATION("SW1:4") // 倍數? PORT_DIPSETTING( 0x00, "1,2,3,4,5,6,7,8" ) PORT_DIPSETTING( 0x08, "1,2,3,5,8,15,30,50" ) - PORT_DIPNAME( 0x10, 0x00, "Max Bet" ) + PORT_DIPNAME( 0x10, 0x00, "Maximum Bet" ) PORT_DIPLOCATION("SW1:5") // 最大押注 PORT_DIPSETTING( 0x00, "5" ) PORT_DIPSETTING( 0x10, "10" ) - PORT_DIPNAME( 0x60, 0x60, "Min Bet" ) + PORT_DIPNAME( 0x60, 0x60, "Minimum Bet" ) PORT_DIPLOCATION("SW1:6,7") // 最小押注 PORT_DIPSETTING( 0x60, "1" ) PORT_DIPSETTING( 0x40, "2" ) PORT_DIPSETTING( 0x20, "3" ) PORT_DIPSETTING( 0x00, "5" ) - PORT_DIPUNKNOWN( 0x80, 0x80 ) + PORT_DIPNAME( 0x80, 0x80, "Credit Timer" ) PORT_DIPLOCATION("SW1:8") // ??清除 (clears credits after timeout if you don't start a game) + PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) // ? + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) // ? PORT_START("DSW2") - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coinage ) ) // Only when bit 4 = 1 + PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW2:1,2") // 投幣比率 PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x01, DEF_STR( 1C_3C ) ) - PORT_DIPNAME( 0x04, 0x04, "Credits Per Note" ) // Only when bit 4 = 0 + PORT_DIPNAME( 0x04, 0x04, "Key-in Rate" ) PORT_DIPLOCATION("SW2:3") // 開分比率 PORT_DIPSETTING( 0x04, "10" ) PORT_DIPSETTING( 0x00, "100" ) - PORT_DIPNAME( 0x08, 0x08, "Max Note Credits" ) + PORT_DIPNAME( 0x08, 0x08, "Credit Limit" ) PORT_DIPLOCATION("SW2:4") // 進分上限 PORT_DIPSETTING( 0x08, "100" ) PORT_DIPSETTING( 0x00, "500" ) - PORT_DIPNAME( 0x10, 0x10, "Money Type" ) // Decides whether to use bits 0&1 or bit 2 - PORT_DIPSETTING( 0x10, "Coins" ) - PORT_DIPSETTING( 0x00, "Notes" ) - PORT_DIPNAME( 0x20, 0x20, "Pay Out Type" ) - PORT_DIPSETTING( 0x20, "Coins" ) - PORT_DIPSETTING( 0x00, "Notes" ) - PORT_DIPUNKNOWN( 0x40, 0x40 ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Demo_Sounds ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x80, DEF_STR( On ) ) + PORT_DIPNAME( 0x10, 0x10, "Credit Mode" ) PORT_DIPLOCATION("SW2:5") // 進分方式 + PORT_DIPSETTING( 0x10, "Coin Acceptor" ) // 投幣 + PORT_DIPSETTING( 0x00, "Key-In" ) // 開分 + PORT_DIPNAME( 0x20, 0x20, "Payout Mode" ) PORT_DIPLOCATION("SW2:6") // 退分方式 + PORT_DIPSETTING( 0x20, "Key-Out" ) // 洗分 + PORT_DIPSETTING( 0x00, "Return Coins" ) // 退幣 (doesn't seem to work properly) + PORT_DIPUNKNOWN_DIPLOC( 0x40, 0x40, "SW2:7" ) // ???? + PORT_DIPNAME( 0x80, 0x80, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:8") // ??音? + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) // ? + PORT_DIPSETTING( 0x80, DEF_STR( On ) ) // ? PORT_START("DSW3") - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Unknown ) ) + PORT_DIPNAME( 0x03, 0x03, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:1,2") // ??限? PORT_DIPSETTING( 0x03, "500" ) PORT_DIPSETTING( 0x02, "1000" ) PORT_DIPSETTING( 0x01, "2000" ) - PORT_DIPSETTING( 0x00, "30000" ) - PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x0c, "0" ) - PORT_DIPSETTING( 0x08, "1" ) - PORT_DIPSETTING( 0x04, "2" ) -// PORT_DIPSETTING( 0x00, "2" ) - PORT_DIPNAME( 0x70, 0x70, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x70, "1 : 1" ) - PORT_DIPSETTING( 0x60, "1 : 2" ) - PORT_DIPSETTING( 0x50, "1 : 5" ) - PORT_DIPSETTING( 0x40, "1 : 6" ) - PORT_DIPSETTING( 0x30, "1 : 7" ) - PORT_DIPSETTING( 0x20, "1 : 8" ) - PORT_DIPSETTING( 0x10, "1 : 9" ) - PORT_DIPSETTING( 0x00, "1 : 10" ) - PORT_DIPUNKNOWN( 0x80, 0x80 ) + PORT_DIPSETTING( 0x00, "?" ) // ?限? + PORT_DIPNAME( 0x0c, 0x0c, "Gals" ) PORT_DIPLOCATION("SW3:3,4") // 美女 + PORT_DIPSETTING( 0x0c, "0?" ) // ?美女 + PORT_DIPSETTING( 0x08, "1?" ) // ?美女 + PORT_DIPSETTING( 0x04, "2?" ) // ?開女 + PORT_DIPSETTING( 0x00, "3?" ) // ?開女 + PORT_DIPUNKNOWN_DIPLOC( 0x10, 0x10, "SW3:5" ) // (not shown in settings display) + PORT_DIPUNKNOWN_DIPLOC( 0x20, 0x20, "SW3:6" ) // (not shown in settings display) + PORT_DIPUNKNOWN_DIPLOC( 0x40, 0x40, "SW3:7" ) // (not shown in settings display) + PORT_DIPUNKNOWN_DIPLOC( 0x80, 0x80, "SW3:8" ) // (not shown in settings display) PORT_START("COIN") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 ) // data clear - PORT_SERVICE_NO_TOGGLE( 0x04, IP_ACTIVE_LOW ) // keep pressed while booting - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(FUNC(igs011_state::igs_hopper_r)) // hopper switch - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) // stats - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Pay Out") PORT_CODE(KEYCODE_O) // clear coin + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_CONDITION("DSW2", 0x10, EQUALS, 0x10) // 投幣 + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_CONDITION("DSW2", 0x10, EQUALS, 0x00) // 投幣 + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // 清除 + PORT_SERVICE_NO_TOGGLE( 0x04, IP_ACTIVE_LOW ) // 測試 (hold on start for input test) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(FUNC(igs011_state::igs_hopper_r)) // 哈巴 + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) // 查帳 + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_CONDITION("DSW2", 0x20, EQUALS, 0x20) // 洗分 + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) PORT_CONDITION("DSW2", 0x20, EQUALS, 0x00) // 洗分 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_START("KEY0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_E ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_I ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_M ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) // ? set to 0 both - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) // ? and you can't start a game - - PORT_START("KEY1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_B ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_F ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_J ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_N ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_INCLUDE(mahjong_matrix_1p) - PORT_START("KEY2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_C ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_G ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_K ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_MODIFY("KEY0") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) // ? set to 0 both + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) // ? and you can't start a game - PORT_START("KEY3") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_D ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_H ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_L ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_MODIFY("KEY1") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) // doesn't use any other gambling keys + PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_START("KEY4") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_MODIFY("KEY2") + PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_MODIFY("KEY3") + PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_MODIFY("KEY4") + PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNKNOWN ) INPUT_PORTS_END static INPUT_PORTS_START( nkishusp ) PORT_START("DSW1") - PORT_DIPNAME( 0x07, 0x02, "Pay Out (%)" ) - PORT_DIPSETTING( 0x07, "74" ) - PORT_DIPSETTING( 0x06, "77" ) - PORT_DIPSETTING( 0x05, "80" ) - PORT_DIPSETTING( 0x04, "83" ) - PORT_DIPSETTING( 0x03, "86" ) - PORT_DIPSETTING( 0x02, "89" ) - PORT_DIPSETTING( 0x01, "92" ) - PORT_DIPSETTING( 0x00, "95" ) - PORT_DIPNAME( 0x08, 0x00, "Odds Rate" ) + PORT_DIPNAME( 0x07, 0x02, "Payout Rate" ) PORT_DIPLOCATION("SW1:1,2,3") + PORT_DIPSETTING( 0x07, "74%" ) + PORT_DIPSETTING( 0x06, "77%" ) + PORT_DIPSETTING( 0x05, "80%" ) + PORT_DIPSETTING( 0x04, "83%" ) + PORT_DIPSETTING( 0x03, "86%" ) + PORT_DIPSETTING( 0x02, "89%" ) + PORT_DIPSETTING( 0x01, "92%" ) + PORT_DIPSETTING( 0x00, "95%" ) + PORT_DIPNAME( 0x08, 0x00, "Odds Rate" ) PORT_DIPLOCATION("SW1:4") PORT_DIPSETTING( 0x00, "1,2,3,4,5,6,7,8" ) PORT_DIPSETTING( 0x08, "1,2,3,5,8,15,30,50" ) - PORT_DIPNAME( 0x10, 0x00, "Max Bet" ) + PORT_DIPNAME( 0x10, 0x00, "Maximum Bet" ) PORT_DIPLOCATION("SW1:5") PORT_DIPSETTING( 0x00, "5" ) PORT_DIPSETTING( 0x10, "10" ) - PORT_DIPNAME( 0x60, 0x60, "Min Bet" ) + PORT_DIPNAME( 0x60, 0x60, "Minimum Bet" ) PORT_DIPLOCATION("SW1:6,7") PORT_DIPSETTING( 0x60, "1" ) PORT_DIPSETTING( 0x40, "2" ) PORT_DIPSETTING( 0x20, "3" ) PORT_DIPSETTING( 0x00, "5" ) - PORT_DIPNAME( 0x80, 0x00, "Credit Timer" ) + PORT_DIPNAME( 0x80, 0x80, "Credit Timer" ) PORT_DIPLOCATION("SW1:8") // (clears credits after timeout if you don't start a game) PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW2") - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coinage ) ) // Only when bit 3 = 1 + PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW2:1,2") PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x01, DEF_STR( 1C_3C ) ) - PORT_DIPNAME( 0x04, 0x04, "Credits Per Note" ) // Only when bit 3 = 0 + PORT_DIPNAME( 0x04, 0x04, "Key-in Rate" ) PORT_DIPLOCATION("SW2:3") PORT_DIPSETTING( 0x04, "10" ) PORT_DIPSETTING( 0x00, "100" ) - PORT_DIPNAME( 0x08, 0x08, "Money Type" ) // Decides whether to use bits 0&1 or bit 2 - PORT_DIPSETTING( 0x08, "Coins" ) - PORT_DIPSETTING( 0x00, "Notes" ) - PORT_DIPNAME( 0x10, 0x10, "Auto Play" ) + PORT_DIPNAME( 0x08, 0x08, "Credit Mode" ) PORT_DIPLOCATION("SW2:4") + PORT_DIPSETTING( 0x08, "Coin Acceptor" ) + PORT_DIPSETTING( 0x00, "Key-In" ) + PORT_DIPNAME( 0x10, 0x10, "Auto Play" ) PORT_DIPLOCATION("SW2:5") // (automatically draws and discards tiles after reach) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x10, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, DEF_STR( Demo_Sounds ) ) + PORT_DIPNAME( 0x20, 0x20, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:6") PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x20, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, "Undress Girl" ) + PORT_DIPNAME( 0x40, 0x40, "Nudity" ) PORT_DIPLOCATION("SW2:7") PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPUNKNOWN( 0x80, 0x80 ) + PORT_DIPUNKNOWN_DIPLOC( 0x80, 0x80, "SW2:8" ) // (not shown in settings display) PORT_START("DSW3") - PORT_DIPNAME( 0x03, 0x03, "Credit Limit" ) + PORT_DIPNAME( 0x03, 0x03, "Credit Limit" ) PORT_DIPLOCATION("SW3:1,2") PORT_DIPSETTING( 0x03, "500" ) PORT_DIPSETTING( 0x02, "1000" ) PORT_DIPSETTING( 0x01, "2000" ) - PORT_DIPSETTING( 0x00, "30000" ) - PORT_DIPUNKNOWN( 0x04, 0x04 ) - PORT_DIPUNKNOWN( 0x08, 0x08 ) - PORT_DIPNAME( 0x70, 0x70, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x70, "1 : 1" ) - PORT_DIPSETTING( 0x60, "1 : 2" ) - PORT_DIPSETTING( 0x50, "1 : 5" ) - PORT_DIPSETTING( 0x40, "1 : 6" ) - PORT_DIPSETTING( 0x30, "1 : 7" ) - PORT_DIPSETTING( 0x20, "1 : 8" ) - PORT_DIPSETTING( 0x10, "1 : 9" ) - PORT_DIPSETTING( 0x00, "1 : 10" ) - PORT_DIPUNKNOWN( 0x80, 0x80 ) + PORT_DIPSETTING( 0x00, "Unlimited" ) // (seems to be limited to 9,999 trying to exceed this gives "RECORD ERROR 10") + PORT_DIPUNKNOWN_DIPLOC( 0x04, 0x04, "SW3:3" ) // (not shown in settings display) + PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x08, "SW3:4" ) // (not shown in settings display) + PORT_DIPUNKNOWN_DIPLOC( 0x10, 0x10, "SW3:5" ) // (not shown in settings display) + PORT_DIPUNKNOWN_DIPLOC( 0x20, 0x20, "SW3:6" ) // (not shown in settings display) + PORT_DIPUNKNOWN_DIPLOC( 0x40, 0x40, "SW3:7" ) // (not shown in settings display) + PORT_DIPUNKNOWN_DIPLOC( 0x80, 0x80, "SW3:8" ) // (not shown in settings display) PORT_START("COIN") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 ) // data clear - PORT_SERVICE_NO_TOGGLE( 0x04, IP_ACTIVE_LOW ) // keep pressed while booting - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(FUNC(igs011_state::igs_hopper_r)) // hopper switch - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) // stats - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Pay Out") PORT_CODE(KEYCODE_O) // clear coin + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_CONDITION("DSW2", 0x08, EQUALS, 0x08) // 投幣 + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_CONDITION("DSW2", 0x08, EQUALS, 0x00) // 投幣 + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // 清除 + PORT_SERVICE_NO_TOGGLE( 0x04, IP_ACTIVE_LOW ) // 測試 (hold on start for input test) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(FUNC(igs011_state::igs_hopper_r)) // 哈巴 + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) // 查帳 + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) // 洗分 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_START("KEY0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_E ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_I ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_M ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) // ? set to 0 both - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) // ? and you can't start a game - - PORT_START("KEY1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_B ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_F ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_J ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_N ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_INCLUDE(mahjong_matrix_1p) - PORT_START("KEY2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_C ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_G ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_K ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_START("KEY3") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_D ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_H ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_L ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_MODIFY("KEY0") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) // ? set to 0 both + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) // ? and you can't start a game - PORT_START("KEY4") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_MODIFY("KEY1") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) // doesn't use any other gambling keys + PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_MODIFY("KEY2") + PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_MODIFY("KEY3") + PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_MODIFY("KEY4") + PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNKNOWN ) INPUT_PORTS_END @@ -3828,63 +3769,18 @@ static INPUT_PORTS_START( lhb ) PORT_START("COIN") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(FUNC(igs011_state::igs_hopper_r)) // hopper switch - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE2 ) // system reset - PORT_SERVICE_NO_TOGGLE( 0x04, IP_ACTIVE_LOW ) // keep pressed while booting - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE1 ) // stats - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(5) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Pay Out") PORT_CODE(KEYCODE_O) // clear coins - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("0") PORT_CODE(KEYCODE_0_PAD) // shown in test mode - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("KEY0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_E ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_I ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_M ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("KEY1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_B ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_F ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_J ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_N ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("KEY2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_C ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_G ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_K ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 ) // system reset + PORT_SERVICE_NO_TOGGLE( 0x04, IP_ACTIVE_LOW ) // keep pressed while booting + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) // stats + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(5) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Pay Out") PORT_CODE(KEYCODE_O) // clear coins + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) // shows garbage in test mode PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_START("KEY3") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_D ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_H ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_L ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_INCLUDE(igs_mahjong_matrix) - PORT_START("KEY4") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_LAST_CHANCE ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) -PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2) // shown in test mode - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + //PORT_MODIFY("KEY4") + //PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2) // shows garbage in test mode INPUT_PORTS_END @@ -4033,45 +3929,48 @@ INPUT_PORTS_END static INPUT_PORTS_START( xymg ) PORT_START("DSW1") - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coinage ) ) + PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:1,2") // 投幣比率 PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x01, DEF_STR( 1C_3C ) ) PORT_DIPSETTING( 0x00, DEF_STR( 1C_4C ) ) - PORT_DIPNAME( 0x0c, 0x0c, "Credits Per Note" ) + PORT_DIPNAME( 0x0c, 0x0c, "Key-in Rate" ) PORT_DIPLOCATION("SW1:3,4") // 開分比率 PORT_DIPSETTING( 0x0c, "10" ) PORT_DIPSETTING( 0x08, "20" ) PORT_DIPSETTING( 0x04, "50" ) PORT_DIPSETTING( 0x00, "100" ) - PORT_DIPNAME( 0x10, 0x10, "Max Note Credits" ) + PORT_DIPNAME( 0x10, 0x10, "Credit Limit" ) PORT_DIPLOCATION("SW1:5") // 進分上限 PORT_DIPSETTING( 0x10, "500" ) - PORT_DIPSETTING( 0x00, "9999" ) - PORT_DIPNAME( 0x20, 0x20, "Money Type" ) - PORT_DIPSETTING( 0x20, "Coins" ) // use bits 0-1 - PORT_DIPSETTING( 0x00, "Notes" ) // use bits 2-3 - PORT_DIPUNKNOWN( 0x40, 0x40 ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Demo_Sounds ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x80, DEF_STR( On ) ) + PORT_DIPSETTING( 0x00, "Unlimited" ) // 無限制 (if you have 10,000 or more credits, further credits will be rejected) + PORT_DIPNAME( 0x20, 0x20, "Credit Mode" ) PORT_DIPLOCATION("SW1:6") // 進分方式 + PORT_DIPSETTING( 0x20, "Coin Acceptor" ) // 投幣 + PORT_DIPSETTING( 0x00, "Key-In" ) // 開分 + PORT_DIPNAME( 0x40, 0x40, "Payout Mode" ) PORT_DIPLOCATION("SW1:7") // 退分方式 + PORT_DIPSETTING( 0x40, "Return Coins" ) // 退幣 + PORT_DIPSETTING( 0x00, "Key-Out" ) // 洗分 + PORT_DIPNAME( 0x80, 0x80, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:8") // 示範音樂 + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) // 無 + PORT_DIPSETTING( 0x80, DEF_STR( On ) ) // 有 PORT_START("DSW2") - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Unknown ) ) + PORT_DIPNAME( 0x03, 0x03, "Double Up Jackpot" ) PORT_DIPLOCATION("SW2:1,2") // 比倍爆機 PORT_DIPSETTING( 0x03, "1000" ) PORT_DIPSETTING( 0x02, "1500" ) PORT_DIPSETTING( 0x01, "2000" ) PORT_DIPSETTING( 0x00, "3000" ) - PORT_DIPNAME( 0x0c, 0x0c, "Min Bet" ) + PORT_DIPNAME( 0x0c, 0x0c, "Minimum Bet" ) PORT_DIPLOCATION("SW2:3,4") // 最小押注 PORT_DIPSETTING( 0x0c, "1" ) PORT_DIPSETTING( 0x08, "2" ) PORT_DIPSETTING( 0x04, "3" ) PORT_DIPSETTING( 0x00, "5" ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) // shown in test mode - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPUNKNOWN( 0x20, 0x20 ) - PORT_DIPUNKNOWN( 0x40, 0x40 ) - PORT_DIPUNKNOWN( 0x80, 0x80 ) - + PORT_DIPNAME( 0x10, 0x10, "Double Up Game" ) PORT_DIPLOCATION("SW2:5") // 比倍遊戲 + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) // 無 + PORT_DIPSETTING( 0x10, DEF_STR( On ) ) // 有 + PORT_DIPUNKNOWN_DIPLOC( 0x20, 0x20, "SW2:6" ) // (not shown in settings display) + PORT_DIPUNKNOWN_DIPLOC( 0x40, 0x40, "SW2:7" ) // (not shown in settings display) + PORT_DIPUNKNOWN_DIPLOC( 0x80, 0x80, "SW2:8" ) // (not shown in settings display) + + // FIXME: SW3 doesn't respond in input test - are these hooked up correctly? PORT_START("DSW3") PORT_DIPUNKNOWN( 0x01, 0x01 ) PORT_DIPUNKNOWN( 0x02, 0x02 ) @@ -4085,62 +3984,16 @@ static INPUT_PORTS_START( xymg ) PORT_START("COIN") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(FUNC(igs011_state::igs_hopper_r)) // hopper switch PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_SERVICE_NO_TOGGLE( 0x04, IP_ACTIVE_LOW ) // keep pressed while booting - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE1 ) // stats - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Pay Out") PORT_CODE(KEYCODE_O) // clear coin + PORT_SERVICE_NO_TOGGLE( 0x04, IP_ACTIVE_LOW ) // keep pressed while booting + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) // stats + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_CONDITION("DSW1", 0x20, EQUALS, 0x20) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_CONDITION("DSW1", 0x20, EQUALS, 0x00) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) PORT_CONDITION("DSW1", 0x40, EQUALS, 0x40) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_CONDITION("DSW1", 0x40, EQUALS, 0x00) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_START("KEY0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_E ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_I ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_M ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("KEY1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_B ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_F ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_J ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_N ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("KEY2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_C ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_G ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_K ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("KEY3") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_D ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_H ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_L ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("KEY4") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_LAST_CHANCE ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_INCLUDE(igs_mahjong_matrix) INPUT_PORTS_END @@ -4153,37 +4006,6 @@ INPUT_PORTS_END // for debugging #if 0 -static const gfx_layout layout_16x16x4 = -{ - 16,16, - RGN_FRAC(1,1), - 4, - { STEP4(0,1) }, - { 4, 0, 12, 8, 20,16, 28,24, - 36,32, 44,40, 52,48, 60,56 }, - { STEP16(0,16*4) }, - 16*16*4 -}; -static const gfx_layout layout_8x8x8 = -{ - 8,8, - RGN_FRAC(1,1), - 8, - { STEP8(0,1) }, - { STEP8(0,8) }, - { STEP8(0,8*8) }, - 8*8*8 -}; -static const gfx_layout layout_16x16x8 = -{ - 16,16, - RGN_FRAC(1,1), - 8, - { STEP8(0,1) }, - { STEP16(0,8) }, - { STEP16(0,16*8) }, - 16*16*8 -}; static const gfx_layout layout_16x16x1 = { 16,16, @@ -4196,17 +4018,18 @@ static const gfx_layout layout_16x16x1 = }; static GFXDECODE_START( gfx_igs011 ) - GFXDECODE_ENTRY( "blitter", 0, gfx_8x8x4_packed_lsb, 0, 0x80 ) - GFXDECODE_ENTRY( "blitter", 0, layout_16x16x4, 0, 0x80 ) - GFXDECODE_ENTRY( "blitter", 0, layout_8x8x8, 0, 0x08 ) - GFXDECODE_ENTRY( "blitter", 0, layout_16x16x8, 0, 0x08 ) + GFXDECODE_ENTRY( "blitter", 0, gfx_8x8x4_packed_lsb, 0, 0x80 ) + GFXDECODE_ENTRY( "blitter", 0, gfx_16x16x4_packed_lsb, 0, 0x80 ) + GFXDECODE_ENTRY( "blitter", 0, gfx_8x8x8_raw, 0, 0x08 ) + GFXDECODE_ENTRY( "blitter", 0, gfx_16x16x8_raw, 0, 0x08 ) GFXDECODE_END + static GFXDECODE_START( gfx_igs011_hi ) - GFXDECODE_ENTRY( "blitter", 0, gfx_8x8x4_packed_lsb, 0, 0x80 ) - GFXDECODE_ENTRY( "blitter", 0, layout_16x16x4, 0, 0x80 ) - GFXDECODE_ENTRY( "blitter", 0, layout_8x8x8, 0, 0x08 ) - GFXDECODE_ENTRY( "blitter", 0, layout_16x16x8, 0, 0x08 ) - GFXDECODE_ENTRY( "blitter_hi", 0, layout_16x16x1, 0, 0x80 ) + GFXDECODE_ENTRY( "blitter", 0, gfx_8x8x4_packed_lsb, 0, 0x80 ) + GFXDECODE_ENTRY( "blitter", 0, gfx_16x16x4_packed_lsb, 0, 0x80 ) + GFXDECODE_ENTRY( "blitter", 0, gfx_8x8x8_raw, 0, 0x08 ) + GFXDECODE_ENTRY( "blitter", 0, gfx_16x16x8_raw, 0, 0x08 ) + GFXDECODE_ENTRY( "blitter_hi", 0, layout_16x16x1, 0, 0x80 ) GFXDECODE_END #endif @@ -4341,33 +4164,33 @@ void igs011_state::tygn(machine_config &config) } -void igs011_state::sound_irq(int state) +void vbowl_state::sound_irq(int state) { // m_maincpu->set_input_line(3, state); } -void igs011_state::vbowl(machine_config &config) +void vbowl_state::vbowl(machine_config &config) { igs011_base(config); - m_maincpu->set_addrmap(AS_PROGRAM, &igs011_state::vbowl_mem); - m_maincpu->set_vblank_int("screen", FUNC(igs011_state::irq6_line_hold)); - TIMER(config, "timer_irq").configure_periodic(FUNC(igs011_state::lev3_timer_irq_cb), attotime::from_hz(240)); // lev3 frequency drives the music tempo + m_maincpu->set_addrmap(AS_PROGRAM, &vbowl_state::vbowl_mem); + m_maincpu->set_vblank_int("screen", FUNC(vbowl_state::irq6_line_hold)); + TIMER(config, "timer_irq").configure_periodic(FUNC(vbowl_state::lev3_timer_irq_cb), attotime::from_hz(240)); // lev3 frequency drives the music tempo // irq 5 points to a debug function (all routines are clearly patched out) // irq 4 points to an apparently unneeded routine - m_screen->screen_vblank().set(FUNC(igs011_state::screen_vblank_vbowl)); + m_screen->screen_vblank().set(FUNC(vbowl_state::screen_vblank)); // GFXDECODE(config, "gfxdecode", m_palette, gfx_igs011_hi); config.device_remove("oki"); ICS2115(config, m_ics, 33.8688_MHz_XTAL); - m_ics->irq().set(FUNC(igs011_state::sound_irq)); + m_ics->irq().set(FUNC(vbowl_state::sound_irq)); m_ics->add_route(ALL_OUTPUTS, "mono", 5.0); } -void igs011_state::vbowlhk(machine_config &config) +void vbowl_state::vbowlhk(machine_config &config) { vbowl(config); - m_maincpu->set_addrmap(AS_PROGRAM, &igs011_state::vbowlhk_mem); + m_maincpu->set_addrmap(AS_PROGRAM, &vbowl_state::vbowlhk_mem); } @@ -4380,7 +4203,7 @@ void igs011_state::vbowlhk(machine_config &config) /*************************************************************************** Dragon World (World, V040O) -(C) 1997 IGS / ALTA +(C) 1997 IGS Chips: 1x 68000 (main) @@ -4622,6 +4445,12 @@ ROM_START( drgnwrldv10c ) ROM_LOAD( "ccdu45.u45", 0x000, 0x2e5, CRC(a15fce69) SHA1(3e38d75c7263bfb36aebdbbd55ebbdd7ca601633) ) ROM_END +/*************************************************************************** + + 東方之珠/dongbang jiju + (Korea version of 中國龍/Zhōngguó Lóng) + +***************************************************************************/ ROM_START( drgnwrldv40k ) ROM_REGION( 0x80000, "maincpu", 0 ) @@ -5144,7 +4973,7 @@ ROM_END ***************************************************************************/ GAME( 1997, drgnwrld, 0, drgnwrld, drgnwrld, igs011_state, init_drgnwrld, ROT0, "IGS", "Dragon World (World, V040O)", MACHINE_SUPPORTS_SAVE ) -GAME( 1995, drgnwrldv40k, drgnwrld, drgnwrld_igs012, drgnwrldc, igs011_state, init_drgnwrldv40k, ROT0, "IGS", "Dragon World (Korea, V040K)", MACHINE_SUPPORTS_SAVE ) +GAME( 1995, drgnwrldv40k, drgnwrld, drgnwrld_igs012, drgnwrldc, igs011_state, init_drgnwrldv40k, ROT0, "IGS", "Dongbang Jiju (Korea, V040K)", MACHINE_SUPPORTS_SAVE ) GAME( 1995, drgnwrldv30, drgnwrld, drgnwrld, drgnwrld, igs011_state, init_drgnwrldv30, ROT0, "IGS", "Dragon World (World, V030O)", MACHINE_SUPPORTS_SAVE ) GAME( 1995, drgnwrldv21, drgnwrld, drgnwrld_igs012, drgnwrld, igs011_state, init_drgnwrldv21, ROT0, "IGS", "Dragon World (World, V021O)", MACHINE_SUPPORTS_SAVE ) GAME( 1995, drgnwrldv21j, drgnwrld, drgnwrld_igs012, drgnwrldj, igs011_state, init_drgnwrldv21j, ROT0, "IGS / Alta", "Chuugokuryuu (Japan, V021J)", MACHINE_SUPPORTS_SAVE ) @@ -5160,7 +4989,7 @@ GAME( 1996, lhb2, 0, lhb2, lhb2, igs011_state, i GAME( 1996, tygn, lhb2, tygn, tygn, igs011_state, init_tygn, ROT0, "IGS", "Te Yi Gong Neng (China, V632C)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING ) // needs correct IGS003 routines GAME( 1996, xymg, 0, xymg, xymg, igs011_state, init_xymg, ROT0, "IGS", "Xingyun Man Guan (China, V651C)", MACHINE_SUPPORTS_SAVE ) GAME( 1996, wlcc, xymg, wlcc, wlcc, igs011_state, init_wlcc, ROT0, "IGS", "Wanli Changcheng (China, V638C)", MACHINE_SUPPORTS_SAVE ) -GAME( 1996, vbowl, 0, vbowl, vbowl, igs011_state, init_vbowl, ROT0, "IGS", "Virtua Bowling (World, V101XCM)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) -GAME( 1996, vbowlj, vbowl, vbowl, vbowlj, igs011_state, init_vbowlj, ROT0, "IGS / Alta", "Virtua Bowling (Japan, V100JCM)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) -GAME( 1996, vbowlhk, vbowl, vbowlhk, vbowlhk, igs011_state, init_vbowlhk, ROT0, "IGS / Tai Tin Amusement", "Virtua Bowling (Hong Kong, V101HJS)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) +GAME( 1996, vbowl, 0, vbowl, vbowl, vbowl_state, init_vbowl, ROT0, "IGS", "Virtua Bowling (World, V101XCM)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) +GAME( 1996, vbowlj, vbowl, vbowl, vbowlj, vbowl_state, init_vbowlj, ROT0, "IGS / Alta", "Virtua Bowling (Japan, V100JCM)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) +GAME( 1996, vbowlhk, vbowl, vbowlhk, vbowlhk, vbowl_state, init_vbowlhk, ROT0, "IGS / Tai Tin Amusement", "Virtua Bowling (Hong Kong, V101HJS)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) GAME( 1998, nkishusp, lhb2, nkishusp, nkishusp, igs011_state, init_nkishusp, ROT0, "IGS / Alta", "Mahjong Nenrikishu SP (Japan, V250J)", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/igs/igs017.cpp b/src/mame/igs/igs017.cpp index 59e5ac9b6a17d..0083fe0724f1f 100644 --- a/src/mame/igs/igs017.cpp +++ b/src/mame/igs/igs017.cpp @@ -82,7 +82,7 @@ To Do: #include "igs017_igs031.h" #include "igs022.h" -#include "mahjong.h" +#include "igsmahjong.h" #include "cpu/m68000/m68000.h" #include "cpu/z180/z180.h" diff --git a/src/mame/igs/igs_m027.cpp b/src/mame/igs/igs_m027.cpp index 031b3e4578d7f..354012f530441 100644 --- a/src/mame/igs/igs_m027.cpp +++ b/src/mame/igs/igs_m027.cpp @@ -87,7 +87,7 @@ #include "igs017_igs031.h" #include "igs027a.h" -#include "mahjong.h" +#include "igsmahjong.h" #include "pgmcrypt.h" #include "machine/i8255.h" diff --git a/src/mame/igs/igs_m027_023vid.cpp b/src/mame/igs/igs_m027_023vid.cpp index bf690cec2b2d3..25cd409e68354 100644 --- a/src/mame/igs/igs_m027_023vid.cpp +++ b/src/mame/igs/igs_m027_023vid.cpp @@ -31,7 +31,7 @@ Main components for the PCB-0457-03-GS are: #include "igs023_video.h" #include "igs027a.h" -#include "mahjong.h" +#include "igsmahjong.h" #include "pgmcrypt.h" #include "machine/i8255.h" diff --git a/src/mame/igs/igs_m027_link.cpp b/src/mame/igs/igs_m027_link.cpp index c21c69d399ac9..72d373e95d03d 100644 --- a/src/mame/igs/igs_m027_link.cpp +++ b/src/mame/igs/igs_m027_link.cpp @@ -491,9 +491,9 @@ void extension_state::init_mgcs2l() // hosts -GAME( 1999, mgcs2h, 0, host, host, host_state, empty_init, ROT0, "IGS", "Manguan Caishen 2 (link version, host)", MACHINE_IS_SKELETON ) -GAME( 1999, cjslh, 0, host, host, host_state, empty_init, ROT0, "IGS", "Cai Jin Shen Long (link version, host)", MACHINE_IS_SKELETON ) +GAME( 1999, mgcs2h, 0, host, host, host_state, empty_init, ROT0, "IGS", "Manguan Caishen 2 (link version, host)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1999, cjslh, 0, host, host, host_state, empty_init, ROT0, "IGS", "Cai Jin Shen Long (link version, host)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // extensions -GAME( 1999, mgcs2l, 0, mgcs2l, extension, extension_state, init_mgcs2l, ROT0, "IGS", "Manguan Caishen 2 (link version, extension, S110CN)", MACHINE_IS_SKELETON ) -GAME( 1999, cjsll, 0, cjsll, extension, extension_state, init_cjsll, ROT0, "IGS", "Cai Jin Shen Long (link version, extension, S111CN)", MACHINE_IS_SKELETON ) +GAME( 1999, mgcs2l, 0, mgcs2l, extension, extension_state, init_mgcs2l, ROT0, "IGS", "Manguan Caishen 2 (link version, extension, S110CN)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1999, cjsll, 0, cjsll, extension, extension_state, init_cjsll, ROT0, "IGS", "Cai Jin Shen Long (link version, extension, S111CN)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/igs/igs_m036.cpp b/src/mame/igs/igs_m036.cpp index 2d5aacf1e70a3..d428c1b74f9ae 100644 --- a/src/mame/igs/igs_m036.cpp +++ b/src/mame/igs/igs_m036.cpp @@ -557,25 +557,25 @@ void igs_m036_state::init_igsm312() ***************************************************************************/ -GAME( 200?, cjdh2, 0, igs_m036, igs_m036, igs_m036_state, init_cjdh2, ROT0, "IGS", "Chao Ji Da Heng 2 (V311CN)", MACHINE_IS_SKELETON ) -GAME( 200?, cjdh2a, cjdh2, igs_m036, igs_m036, igs_m036_state, init_cjdh2, ROT0, "IGS", "Chao Ji Da Heng 2 (V311CNA)", MACHINE_IS_SKELETON ) -GAME( 200?, cjdh2b, cjdh2, igs_m036, igs_m036, igs_m036_state, init_cjdh2, ROT0, "IGS", "Chao Ji Da Heng 2 (V311CNB)", MACHINE_IS_SKELETON ) -GAME( 200?, cjdh2c, cjdh2, igs_m036, igs_m036, igs_m036_state, init_cjdh2, ROT0, "IGS", "Chao Ji Da Heng 2 (V215CN)", MACHINE_IS_SKELETON ) +GAME( 200?, cjdh2, 0, igs_m036, igs_m036, igs_m036_state, init_cjdh2, ROT0, "IGS", "Chao Ji Da Heng 2 (V311CN)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, cjdh2a, cjdh2, igs_m036, igs_m036, igs_m036_state, init_cjdh2, ROT0, "IGS", "Chao Ji Da Heng 2 (V311CNA)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, cjdh2b, cjdh2, igs_m036, igs_m036, igs_m036_state, init_cjdh2, ROT0, "IGS", "Chao Ji Da Heng 2 (V311CNB)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, cjdh2c, cjdh2, igs_m036, igs_m036, igs_m036_state, init_cjdh2, ROT0, "IGS", "Chao Ji Da Heng 2 (V215CN)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) -GAME( 200?, cjddzsp, 0, igs_m036_tt, igs_m036, igs_m036_state, init_cjddzsp, ROT0, "IGS", "Super Dou Di Zhu Special (V122CN)", MACHINE_IS_SKELETON ) +GAME( 200?, cjddzsp, 0, igs_m036_tt, igs_m036, igs_m036_state, init_cjddzsp, ROT0, "IGS", "Super Dou Di Zhu Special (V122CN)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) -GAME( 2007, qhzb, 0, igs_m036_tt, igs_m036, igs_m036_state, init_cjddzsp, ROT0, "IGS", "Que Huang Zheng Ba (V100CN)", MACHINE_IS_SKELETON ) +GAME( 2007, qhzb, 0, igs_m036_tt, igs_m036, igs_m036_state, init_cjddzsp, ROT0, "IGS", "Que Huang Zheng Ba (V100CN)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) -GAME( 2009, lhtb, 0, igs_m036_tt, igs_m036, igs_m036_state, init_cjddzsp, ROT0, "IGS", "Long Hu Tebie Ban (V101CN)", MACHINE_IS_SKELETON ) // 龍虎特別版 - Lónghǔ tèbié bǎn +GAME( 2009, lhtb, 0, igs_m036_tt, igs_m036, igs_m036_state, init_cjddzsp, ROT0, "IGS", "Long Hu Tebie Ban (V101CN)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // 龍虎特別版 - Lónghǔ tèbié bǎn -GAME( 200?, lhzb3in1, 0, igs_m036_tt, igs_m036, igs_m036_state, init_cjddzsp, ROT0, "IGS", "Long Hu Zhengba San He Yi (V100CN)", MACHINE_IS_SKELETON ) // 龙虎争霸三合一 +GAME( 200?, lhzb3in1, 0, igs_m036_tt, igs_m036, igs_m036_state, init_cjddzsp, ROT0, "IGS", "Long Hu Zhengba San He Yi (V100CN)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // 龙虎争霸三合一 -GAME( 200?, igsm312, 0, igs_m036_tt, igs_m036, igs_m036_state, init_igsm312, ROT0, "IGS", "unknown 'IGS 6POKER2' game (V312CN)", MACHINE_IS_SKELETON ) // there's very little code and no gfx ROMs, might be a 'set/clear' chip for a gambling game. +GAME( 200?, igsm312, 0, igs_m036_tt, igs_m036, igs_m036_state, init_igsm312, ROT0, "IGS", "unknown 'IGS 6POKER2' game (V312CN)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // there's very little code and no gfx ROMs, might be a 'set/clear' chip for a gambling game. -GAME( 200?, super70s, 0, igs_m036_tt, igs_m036, igs_m036_state, init_igsm312, ROT0, "IGS", "Super 70's (V100US)", MACHINE_IS_SKELETON ) +GAME( 200?, super70s, 0, igs_m036_tt, igs_m036, igs_m036_state, init_igsm312, ROT0, "IGS", "Super 70's (V100US)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) -GAME( 2010, lhfy, 0, igs_m036_tt, igs_m036, igs_m036_state, init_igsm312, ROT0, "IGS", "Long Hu Feng Yun Gao Qing Ban (V206CN)", MACHINE_IS_SKELETON ) +GAME( 2010, lhfy, 0, igs_m036_tt, igs_m036, igs_m036_state, init_igsm312, ROT0, "IGS", "Long Hu Feng Yun Gao Qing Ban (V206CN)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) -GAME( 2010, lhzbgqb, 0, igs_m036_tt, igs_m036, igs_m036_state, init_igsm312, ROT0, "IGS", "Long Hu Zheng Ba Gao Qing Ban (V105CN)", MACHINE_IS_SKELETON ) +GAME( 2010, lhzbgqb, 0, igs_m036_tt, igs_m036, igs_m036_state, init_igsm312, ROT0, "IGS", "Long Hu Zheng Ba Gao Qing Ban (V105CN)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) -GAME( 2015, mghammer, 0, igs_m036_tt, igs_m036, igs_m036_state, init_igsm312, ROT0, "IGS / Enheart", "Medal Get Hammer (V100JP)", MACHINE_IS_SKELETON ) +GAME( 2015, mghammer, 0, igs_m036_tt, igs_m036, igs_m036_state, init_igsm312, ROT0, "IGS / Enheart", "Medal Get Hammer (V100JP)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/igs/igsmahjong.cpp b/src/mame/igs/igsmahjong.cpp new file mode 100644 index 0000000000000..12d315e18e4b7 --- /dev/null +++ b/src/mame/igs/igsmahjong.cpp @@ -0,0 +1,27 @@ +// license:BSD-3-Clause +// copyright-holders:Luca Elia, Vas Crabb +#include "emu.h" +#include "igsmahjong.h" + +#include "mahjong.h" + + +INPUT_PORTS_START( igs_mahjong_matrix ) + PORT_INCLUDE(mahjong_matrix_1p_bet_wup) + + PORT_MODIFY("KEY0") + PORT_BIT(0xc0, IP_ACTIVE_LOW, IPT_UNKNOWN) + + PORT_MODIFY("KEY1") + PORT_BIT(0xc0, IP_ACTIVE_LOW, IPT_UNKNOWN) + + PORT_MODIFY("KEY2") + PORT_BIT(0xc0, IP_ACTIVE_LOW, IPT_UNKNOWN) + + PORT_MODIFY("KEY3") + PORT_BIT(0xc0, IP_ACTIVE_LOW, IPT_UNKNOWN) + + PORT_MODIFY("KEY4") + PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_UNUSED) // no Flip Flop key + PORT_BIT(0xc0, IP_ACTIVE_LOW, IPT_UNKNOWN) +INPUT_PORTS_END diff --git a/src/mame/igs/mahjong.h b/src/mame/igs/igsmahjong.h similarity index 98% rename from src/mame/igs/mahjong.h rename to src/mame/igs/igsmahjong.h index 2a50bd8a4a7f5..741144b573855 100644 --- a/src/mame/igs/mahjong.h +++ b/src/mame/igs/igsmahjong.h @@ -1,7 +1,7 @@ // license:BSD-3-Clause // copyright-holders:Luca Elia, Vas Crabb -#ifndef MAME_IGS_MAHJONG_H -#define MAME_IGS_MAHJONG_H +#ifndef MAME_IGS_IGSMAHJONG_H +#define MAME_IGS_IGSMAHJONG_H #define IGS_MAHJONG_MATRIX_CONDITIONAL(port, mask, on) \ PORT_START("KEY0") \ @@ -50,4 +50,4 @@ INPUT_PORTS_EXTERN(igs_mahjong_matrix); -#endif // MAME_IGS_MAHJONG_H +#endif // MAME_IGS_IGSMAHJONG_H diff --git a/src/mame/igs/mahjong.cpp b/src/mame/igs/mahjong.cpp deleted file mode 100644 index fe619a7c03c21..0000000000000 --- a/src/mame/igs/mahjong.cpp +++ /dev/null @@ -1,51 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Luca Elia, Vas Crabb -#include "emu.h" -#include "mahjong.h" - - -INPUT_PORTS_START( igs_mahjong_matrix ) - // // Traditional Simplified English - - PORT_START("KEY0") - PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A) - PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_MAHJONG_E) - PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_MAHJONG_I) - PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_MAHJONG_M) - PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_MAHJONG_KAN) // 槓 杠 GUN - PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_START1) // 開始 开始 START - PORT_BIT(0xc0, IP_ACTIVE_LOW, IPT_UNKNOWN) - - PORT_START("KEY1") - PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_MAHJONG_B) - PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_MAHJONG_F) - PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_MAHJONG_J) - PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_MAHJONG_N) - PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_MAHJONG_REACH) // 聽 听 LISTEN - PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET) // 押注/押 押注/押 BET - PORT_BIT(0xc0, IP_ACTIVE_LOW, IPT_UNKNOWN) - - PORT_START("KEY2") - PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_MAHJONG_C) - PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_MAHJONG_G) - PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_MAHJONG_K) - PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_MAHJONG_CHI) // 吃 吃 EAT - PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_MAHJONG_RON) // 胡 胡 WHO - PORT_BIT(0xe0, IP_ACTIVE_LOW, IPT_UNKNOWN) - - PORT_START("KEY3") - PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_MAHJONG_D) - PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_MAHJONG_H) - PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_MAHJONG_L) - PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_MAHJONG_PON) // 碰 碰 PON - PORT_BIT(0xf0, IP_ACTIVE_LOW, IPT_UNKNOWN) - - PORT_START("KEY4") - PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_MAHJONG_LAST_CHANCE) // 海底 海底 - PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE) // 得分 續玩 TAKE - PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP) // 比倍/續玩 比倍/续玩 DUP - PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_UNKNOWN) - PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_MAHJONG_BIG) // 大/左 大/左 BIG - PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL) // 小/右 小/右 SMALL - PORT_BIT(0xc0, IP_ACTIVE_LOW, IPT_UNKNOWN) -INPUT_PORTS_END diff --git a/src/mame/igs/pgm2.cpp b/src/mame/igs/pgm2.cpp index 6346e7c570d5b..f7ef1c85c211c 100644 --- a/src/mame/igs/pgm2.cpp +++ b/src/mame/igs/pgm2.cpp @@ -1568,7 +1568,7 @@ GAME( 2011, kov3_100, kov3, pgm2_hires, pgm2, pgm2_state, init_kov3_100, // King of Fighters '98: Ultimate Match Hero GAME( 2009, kof98umh, 0, pgm2_lores, pgm2, pgm2_state, init_kof98umh, ROT0, "IGS / SNK Playmore / New Channel", "The King of Fighters '98: Ultimate Match HERO (China, V100, 09-08-23)", MACHINE_SUPPORTS_SAVE ) -GAME( 2009, bubucar, 0, pgm2, pgm2, pgm2_state, init_bubucar, ROT0, "IGS", "Bu Bu Car (English)", MACHINE_IS_SKELETON ) // Only the program ROM is dumped +GAME( 2009, bubucar, 0, pgm2, pgm2, pgm2_state, init_bubucar, ROT0, "IGS", "Bu Bu Car (English)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // Only the program ROM is dumped // ジグソーワールドアリーナ/Jigsaw World Arena diff --git a/src/mame/igs/pgm3.cpp b/src/mame/igs/pgm3.cpp index 2e1a9a5b4bb29..7d8de0482322c 100644 --- a/src/mame/igs/pgm3.cpp +++ b/src/mame/igs/pgm3.cpp @@ -175,8 +175,8 @@ void pgm3_state::init_kov3hd() // all dumped sets might be China region, unless region info comes from elsewhere -GAME( 2011, kov3hd, 0, pgm3, pgm3, pgm3_state, init_kov3hd, ROT0, "IGS", "Knights of Valour 3 HD (M-105CN 13-07-04 18:54:01)", MACHINE_IS_SKELETON ) -GAME( 2011, kov3hd104, kov3hd, pgm3, pgm3, pgm3_state, init_kov3hd, ROT0, "IGS", "Knights of Valour 3 HD (V104)", MACHINE_IS_SKELETON ) -GAME( 2011, kov3hd103, kov3hd, pgm3, pgm3, pgm3_state, init_kov3hd, ROT0, "IGS", "Knights of Valour 3 HD (V103)", MACHINE_IS_SKELETON ) -GAME( 2011, kov3hd102, kov3hd, pgm3, pgm3, pgm3_state, init_kov3hd, ROT0, "IGS", "Knights of Valour 3 HD (V102)", MACHINE_IS_SKELETON ) -GAME( 2011, kov3hd101, kov3hd, pgm3, pgm3, pgm3_state, init_kov3hd, ROT0, "IGS", "Knights of Valour 3 HD (V101)", MACHINE_IS_SKELETON ) +GAME( 2011, kov3hd, 0, pgm3, pgm3, pgm3_state, init_kov3hd, ROT0, "IGS", "Knights of Valour 3 HD (M-105CN 13-07-04 18:54:01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2011, kov3hd104, kov3hd, pgm3, pgm3, pgm3_state, init_kov3hd, ROT0, "IGS", "Knights of Valour 3 HD (V104)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2011, kov3hd103, kov3hd, pgm3, pgm3, pgm3_state, init_kov3hd, ROT0, "IGS", "Knights of Valour 3 HD (V103)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2011, kov3hd102, kov3hd, pgm3, pgm3, pgm3_state, init_kov3hd, ROT0, "IGS", "Knights of Valour 3 HD (V102)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2011, kov3hd101, kov3hd, pgm3, pgm3, pgm3_state, init_kov3hd, ROT0, "IGS", "Knights of Valour 3 HD (V101)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/igt/gkigt.cpp b/src/mame/igt/gkigt.cpp index 2a3ef48225a55..1c8b3b3ec71b2 100644 --- a/src/mame/igt/gkigt.cpp +++ b/src/mame/igt/gkigt.cpp @@ -229,7 +229,7 @@ void igt_gameking_state::igt_gameking_map(address_map &map) { map(0x00000000, 0x0007ffff).flags(i960_cpu_device::BURST).rom().region("maincpu", 0); map(0x08000000, 0x081fffff).flags(i960_cpu_device::BURST).rom().region("game", 0); - map(0x08200000, 0x083fffff).flags(i960_cpu_device::BURST).rom().region("plx", 0); + map(0x08200000, 0x083fffff).flags(i960_cpu_device::BURST).rom().region("pxl", 0); // map(0x0ac00000, 0x0ac0000f) - board identifiers? // map(0x0ae00000, 0x0ae0000f) / @@ -609,14 +609,12 @@ ROM_START( ms14 ) ROM_LOAD16_BYTE( "cg1_1g5043ax.u48", 0x000000, 0x040000, CRC(4d81e8dd) SHA1(fd9afb1179f863536b65613e9168924247822e63) ) ROM_LOAD16_BYTE( "cg2_1g5043ax.u47", 0x000001, 0x040000, CRC(025695be) SHA1(ed846c1a8bf0c23ae710af6281fdd2612ba08c51) ) - ROM_REGION32_LE( 0x200000, "plx", 0 ) + ROM_REGION32_LE( 0x200000, "pxl", 0 ) ROM_LOAD16_BYTE( "px1_1g5043ax.u20", 0x000000, 0x100000, CRC(70829422) SHA1(78e4d40cff86f197334746a68dc08fa2af42a058) ) - ROM_LOAD16_BYTE( "px2_1g5043ax.u4", 0x000001, 0x100000, CRC(968d70e4) SHA1(a786fb12fa242fa5c3052fbadf897e8f4091c506) - ) + ROM_LOAD16_BYTE( "px2_1g5043ax.u4", 0x000001, 0x100000, CRC(968d70e4) SHA1(a786fb12fa242fa5c3052fbadf897e8f4091c506) ) ROM_REGION32_LE( 0x200000, "snd", 0 ) - ROM_LOAD( "snd_1h5005ax.u6", 0x000000, 0x100000, CRC(8cee9699) SHA1(e40daebf15499abf0eface4ff277c8cbdd5f43be) - ) + ROM_LOAD( "snd_1h5005ax.u6", 0x000000, 0x100000, CRC(8cee9699) SHA1(e40daebf15499abf0eface4ff277c8cbdd5f43be) ) ROM_END ROM_START( ms3 ) @@ -631,7 +629,7 @@ ROM_START( ms3 ) ROM_LOAD16_BYTE( "1g5032ax.u48", 0x000000, 0x040000, CRC(aba6002f) SHA1(2ed51aa8bbc1e703cd63f633d745dfa4fa7f3dd0) ) ROM_LOAD16_BYTE( "1g5032ax.u47", 0x000001, 0x040000, CRC(605a71ec) SHA1(13fe64c611c0903a7b79d8680de3ac81f3226a67) ) - ROM_REGION32_LE( 0x200000, "plx", 0 ) + ROM_REGION32_LE( 0x200000, "pxl", 0 ) ROM_LOAD16_BYTE( "1g5032ax.u20", 0x000000, 0x100000, CRC(517e7478) SHA1(316a8e48ad6502f9508b06f900555d53ef40b464) ) ROM_LOAD16_BYTE( "1g5032ax.u4", 0x000001, 0x100000, CRC(e67c878f) SHA1(b03f8d28924351e96bb9f24d32f0e4a40a51910c) ) @@ -654,7 +652,7 @@ ROM_START( ms5 ) ROM_LOAD16_BYTE( "cg1_1g5013bx.u48", 0x000000, 0x040000, CRC(6ad179a3) SHA1(645b04873bfb38222c5a80326c8ad9bf897e75a2 ) ) ROM_LOAD16_BYTE( "cg2_1g5013bx.u47", 0x000001, 0x040000, CRC(e3a00dc2) SHA1(0afae4ca882f39845fca679187dd9005088a39c2 ) ) - ROM_REGION32_LE( 0x200000, "plx", 0 ) + ROM_REGION32_LE( 0x200000, "pxl", 0 ) ROM_LOAD16_BYTE( "px1_1g5013bx.u20", 0x000000, 0x100000, CRC(d9801616) SHA1(87e449afa454d2ed8a415be648c62a95d36b43e3) ) ROM_LOAD16_BYTE( "px2_1g5013bx.u4", 0x000001, 0x100000, CRC(61271927) SHA1(12fd97d11a569cfe6edb476e186edddb55203344) ) @@ -674,7 +672,7 @@ ROM_START( ms72c ) ROM_LOAD16_BYTE( "1g5019fa multistar 7 pub.u48", 0x000000, 0x80000, CRC(ac50a155) SHA1(50d07ba5ca176c97adde169fda6e6385c8ec8299) ) ROM_LOAD16_BYTE( "1g5019fa multistar 7 pub.u47", 0x000001, 0x80000, CRC(5fee078b) SHA1(a41591d14fbc12c68d773fbd1ac340d9427d68e9) ) - ROM_REGION32_LE( 0x200000, "plx", 0 ) + ROM_REGION32_LE( 0x200000, "pxl", 0 ) ROM_LOAD16_BYTE( "1g5019fa multistar 7 pub.u20", 0x000000, 0x100000, CRC(806ec7d4) SHA1(b9263f942b3d7101797bf87ad18cfddac9582791) ) ROM_LOAD16_BYTE( "1g5019fa multistar 7 pub.u4", 0x000001, 0x100000, CRC(2e1e9c8a) SHA1(b6992f013f43debf43f4704396fc71e88449e365) ) @@ -697,7 +695,7 @@ ROM_START( bmoonii ) ROM_LOAD16_BYTE( "cg1-265069ax.u48", 0x000000, 0x40000, CRC(75188c21) SHA1(5e2ff760d68e66369d164c66a97e0fa4edeba101) ) // 1xxxxxxxxxxxxxxxxx = 0x00 ROM_LOAD16_BYTE( "cg2-265069ax.u47", 0x000001, 0x40000, CRC(cab7ef14) SHA1(5f904230f41ebf40c138c3d58d4dcf80e631b500) ) // 1xxxxxxxxxxxxxxxxx = 0x00 - ROM_REGION32_LE( 0x200000, "plx", 0 ) + ROM_REGION32_LE( 0x200000, "pxl", 0 ) ROM_LOAD16_BYTE( "px1-265069ax.u20", 0x000000, 0x080000, CRC(5a5191f4) SHA1(fafc1587b3186f5ecc4cb04529f0fa5d05c3a306) ) ROM_LOAD16_BYTE( "px2-265069ax.u4", 0x000001, 0x080000, CRC(65d51a0f) SHA1(487be168f94c815dd3e0a871f1b657795ecf0186) ) @@ -705,6 +703,81 @@ ROM_START( bmoonii ) ROM_LOAD( "sound-1h5025ax.u6", 0x000000, 0x080000, CRC(2502d6f6) SHA1(efe1177a6c02778df8ed62e52d1083c105ebe2ce) ) ROM_END +/* +GAME VERSION: G0000143 - GAME DATE: 01/08/98 - GAME TIME: 09:30:00 +CONFIG VERSION: I0000114 - CONFIG DATE: 12/10/97 - CONFIG TIME: 14:35:00 +PIXEL VERSION: C0000176 - PIXEL DATE: 10/15/97 - PIXEL TIME: 10:30:00 +*/ +ROM_START( brhino ) + ROM_REGION( 0x80000, "maincpu", 0 ) + ROM_LOAD( "i0000114 base,1-4002.bin", 0x00000, 0x80000, CRC(d8f7a957) SHA1(fb9665534e68c3d1539c50358787ce484fb38684) ) + + ROM_REGION32_LE( 0x200000, "game", 0 ) + ROM_LOAD16_BYTE( "g0000143 gme1 1 of 2,2-80.bin", 0x000000, 0x100000, CRC(3584b0b3) SHA1(55eddb4a785fece9f86f173c1933f0c8c53bb3a8) ) + ROM_LOAD16_BYTE( "g0000143 gme2 2 of 2,2-80.bin", 0x000001, 0x100000, CRC(64a70488) SHA1(ba683a08fa55dc09c836c4e53538d13cfc76ec8d) ) + + ROM_REGION( 0x100000, "cg", 0 ) + ROM_LOAD16_BYTE( "c0000176 cg1 1 of 4,2-40.bin", 0x000000, 0x080000, CRC(2782968a) SHA1(f62295a75d81179b7314bc4a01d724d2ec38d473) ) + ROM_LOAD16_BYTE( "c0000176 cg2 2 of 4,2-40.bin", 0x000001, 0x080000, CRC(52534609) SHA1(0584965e63ecbbe229c1a7152bdad310224d9b6c) ) + + ROM_REGION32_LE( 0x200000, "pxl", 0 ) + ROM_LOAD16_BYTE( "c0000176 pxl1 3 of 4,2-80.bin", 0x000000, 0x100000, CRC(e0fcd660) SHA1(0c179121b8772a331f768bdac9fc58781a341adb) ) + ROM_LOAD16_BYTE( "c0000176 pxl2 4 of 4,2-80.bin", 0x000001, 0x100000, CRC(d2c0116f) SHA1(a4cd72f0d6d56f1455728af78baf5bfafbcc5b1c) ) + + ROM_REGION32_LE( 0x200000, "snd", ROMREGION_ERASE00 ) + ROM_LOAD( "swc00002 snd1 1 of 1,1-80.rom1", 0x000000, 0x100000, CRC(d8d41f3d) SHA1(45f3124da07d021361ac84d69d234dc1f0398476) ) // Add-on sound board @ U6 +ROM_END + +/* +GAME VERSION: G0000176 - GAME DATE: 04/07/98 - GAME TIME: 12:02:00 +CONFIG VERSION: I0000123 - CONFIG DATE: 01/15/98 - CONFIG TIME: 15:00:00 +PIXEL VERSION: C0000180 - PIXEL DATE: 12/04/97 - PIXEL TIME: 15:00:00 +*/ +ROM_START( wofigt ) + ROM_REGION( 0x80000, "maincpu", 0 ) + ROM_LOAD( "i0000123 base,1-4002.bin", 0x00000, 0x80000, CRC(7de6ff13) SHA1(33145364fa6df7d772b1931404c7f13a89db267f) ) + + ROM_REGION32_LE( 0x200000, "game", 0 ) + ROM_LOAD16_BYTE( "g0000176 gme1 1 of 2,2-80.bin", 0x000000, 0x100000, CRC(b5ffe32d) SHA1(5c120e5157d81edb3b739dcad0fe49a92b4e610b) ) + ROM_LOAD16_BYTE( "g0000176 gme2 2 of 2,2-80.bin", 0x000001, 0x100000, CRC(46279275) SHA1(a40180607893ca63de865d3023730f4929e62b67) ) + + ROM_REGION( 0x100000, "cg", 0 ) + ROM_LOAD16_BYTE( "c0000180 cg1 1 of 4,2-40.bin", 0x000000, 0x080000, CRC(24ec6600) SHA1(6e3a8ef0d09b92141bc556b5c00436a0ccc7f294) ) + ROM_LOAD16_BYTE( "c0000180 cg2 2 of 4,2-40.bin", 0x000001, 0x080000, CRC(84f55a7d) SHA1(46cccc382203ec5a28dd0e5a29ba3f27541f883b) ) + + ROM_REGION32_LE( 0x200000, "pxl", 0 ) + ROM_LOAD16_BYTE( "c0000180 pxl1 3 of 4,2-80.bin", 0x000000, 0x100000, CRC(5d150993) SHA1(1790b5451e8a8fe8d7f05ab9c2ba4ae9e09af353) ) + ROM_LOAD16_BYTE( "c0000180 pxl2 4 of 4,2-80.bin", 0x000001, 0x100000, CRC(d86f2e7f) SHA1(8d02aec29f40393948df295f79621d086d20ef89) ) + + ROM_REGION32_LE( 0x200000, "snd", ROMREGION_ERASE00 ) + ROM_LOAD( "swc00003 snd1 1 of 1,1-80.rom1", 0x000000, 0x100000, CRC(2d75ae0b) SHA1(419c9517cdf17137b032c1446f0526a85e3b2aeb) ) // Add-on sound board @ U6 +ROM_END + +/* +GAME VERSION: G0000080 - GAME DATE: 01/08/97 - GAME TIME: 18:00:00 +CONFIG VERSION: I0000007 - CONFIG DATE: 10/15/96 - CONFIG TIME: 11:40:00 +PIXEL VERSION: C0000102 - PIXEL DATE: 10/15/96 - PIXEL TIME: 14:40:00 +*/ +ROM_START( sup8race ) + ROM_REGION( 0x80000, "maincpu", 0 ) + ROM_LOAD( "i0000007 base,1-4002.bin", 0x00000, 0x80000, CRC(2e9b9c7f) SHA1(6ed33ca50b8a01da46f7d58b774f43fde60a2ef5) ) + + ROM_REGION32_LE( 0x200000, "game", 0 ) + ROM_LOAD16_BYTE( "g0000080 gme1 1 of 2,2-80.bin", 0x000000, 0x100000, CRC(1334b795) SHA1(25ae7ad1825f5d27eaf36b4c03245fc86c362e0f) ) + ROM_LOAD16_BYTE( "g0000080 gme2 2 of 2,2-80.bin", 0x000001, 0x100000, CRC(58d3c394) SHA1(cff735f66da2874f3a67be13b39c2507fc695a93) ) + + ROM_REGION( 0x100000, "cg", ROMREGION_ERASE00 ) + ROM_LOAD16_BYTE( "c0000102 cg1 1 of 4,2-20.bin", 0x000000, 0x040000, CRC(234507e4) SHA1(76b1931e9e8877b1fae69b830b03d19b3fea7b07) ) // 1xxxxxxxxxxxxxxxxx = 0x00 + ROM_LOAD16_BYTE( "c0000102 cg2 2 of 4,2-20.bin", 0x000001, 0x040000, CRC(54420c19) SHA1(e3a16d41177b7a209a25eac6dbab2ff396d432ea) ) // 1xxxxxxxxxxxxxxxxx = 0x00 + + ROM_REGION32_LE( 0x200000, "pxl", ROMREGION_ERASE00 ) + ROM_LOAD16_BYTE( "c0000102 pxl1 3 of 4,2-40.bin", 0x000000, 0x080000, CRC(0dadfc8c) SHA1(9bf634c0e1b57f413d750d0df96dfd491e9a5a2f) ) + ROM_LOAD16_BYTE( "c0000102 pxl2 4 of 4,2-40.bin", 0x000001, 0x080000, CRC(cf69ee9f) SHA1(5edead51c4d537ad134fb7dca0da1e33d81bd6f9) ) + + ROM_REGION32_LE( 0x200000, "snd", ROMREGION_ERASE00 ) + ROM_LOAD( "swc00004 snd1 1 of 1,1-40.rom1", 0x000000, 0x080000, CRC(0d40d44e) SHA1(3c28db7fc656494cb4271f55f2a5138611a51449) ) // Add-on sound board @ U6 +ROM_END + ROM_START( dblheart ) ROM_REGION( 0x80000, "maincpu", 0 ) ROM_LOAD( "config_1b5154ax.u8", 0x000000, 0x080000, CRC(53ec9b2b) SHA1(0a2f277a59e9b61df1f38e5c9d7f53bd9d28caf3) ) @@ -717,7 +790,7 @@ ROM_START( dblheart ) ROM_LOAD16_BYTE( "cg1_1g5077ax.u48", 0x000000, 0x040000, CRC(18870d22) SHA1(4ead7a84a2e2d3b2e6141ef6f99a5f586779867b) ) ROM_LOAD16_BYTE( "cg2_1g5077ax.u47", 0x000001, 0x040000, CRC(02395605) SHA1(adbc44d8595ad86265df96d1645b18228081146f) ) - ROM_REGION32_LE( 0x200000, "plx", 0 ) + ROM_REGION32_LE( 0x200000, "pxl", 0 ) ROM_LOAD16_BYTE( "px1_1g5077ax.u20", 0x000000, 0x80000, CRC(85598395) SHA1(9b6d09668ff08140a257b75eb41932c6ccca3f4d) ) ROM_LOAD16_BYTE( "px2_1g5077ax.u4", 0x000001, 0x80000, CRC(339e2f5e) SHA1(b54076c2775e28c91c76c93ea456ebf52b3fede8) ) @@ -737,16 +810,15 @@ ROM_START( mystjag ) ROM_LOAD16_BYTE( "cg1_2g5116xx.u48", 0x000000, 0x040000, CRC(4a1ebbc5) SHA1(f37f1b141338dd872734ecaca8fdfb2c12bcc2cf) ) ROM_LOAD16_BYTE( "cg2_2g5116xx.u47", 0x000001, 0x040000, CRC(d227f254) SHA1(3ec6839c43fe368c1e318037d45d7ea796718dde) ) - ROM_REGION32_LE( 0x200000, "plx", 0 ) - ROM_LOAD16_BYTE( "px1_2g5116xx.u20", 0x000000, 0x100000, CRC(a40abd1a) SHA1(177b7cbae5c9f7e2063fe1641e203502b4a4c927) - ) - ROM_LOAD16_BYTE( "px2_2g5116xx.u4", 0x000001, 0x100000, CRC(55906b92) SHA1(f4c5d5c0e2b2407b9d4383dba7e28cc8341bafc2) - ) + ROM_REGION32_LE( 0x200000, "pxl", 0 ) + ROM_LOAD16_BYTE( "px1_2g5116xx.u20", 0x000000, 0x100000, CRC(a40abd1a) SHA1(177b7cbae5c9f7e2063fe1641e203502b4a4c927) ) + ROM_LOAD16_BYTE( "px2_2g5116xx.u4", 0x000001, 0x100000, CRC(55906b92) SHA1(f4c5d5c0e2b2407b9d4383dba7e28cc8341bafc2) ) ROM_REGION32_LE( 0x200000, "snd", 0 ) ROM_LOAD( "snd_1h5152xx.u6", 0x000000, 0x100000, CRC(e459e0be) SHA1(21089fd03a1ea8e4ca3963988647fa4414390d0c) ) ROM_END + /* Triple Play (M0000230, Spanish) (c) IGT 1993-1999 @@ -768,7 +840,7 @@ ROM_START( tripplay ) // M0000230, Spanish ROM_LOAD16_BYTE( "cg1_4001_0f8b.u48", 0x000000, 0x080000, CRC(1842e0bd) SHA1(625f99eece1a89a102156a7f7371c2296ea31d85) ) ROM_LOAD16_BYTE( "cg2_4001_a0f0.u47", 0x000001, 0x080000, CRC(9b409d86) SHA1(e4a434f110484691042be608ed69017d649d6c12) ) - ROM_REGION32_LE( 0x200000, "plx", 0 ) + ROM_REGION32_LE( 0x200000, "pxl", 0 ) ROM_LOAD16_BYTE( "pxl1_801_6206.u20", 0x000000, 0x100000, CRC(35e7f52e) SHA1(9517d513fd75aefdbf2a91ecad5f1f4865a6547d) ) ROM_LOAD16_BYTE( "pxl2_801_d371.u4", 0x000001, 0x100000, CRC(809cb731) SHA1(00728be2a490d2c86c43224f54c0e9f035ab7cb9) ) @@ -776,6 +848,236 @@ ROM_START( tripplay ) // M0000230, Spanish ROM_LOAD( "snd.u6", 0x000000, 0x080000, NO_DUMP ) // no devices... ROM_END +/* +GAME VERSION: G0000073 - GAME DATE: 12/06/96 - GAME TIME: 15:20:00 +CONFIG VERSION: M0000133 - CONFIG DATE: 01/13/97 - CONFIG TIME: 16:10:00 +PIXEL VERSION: C0000074 - PIXEL DATE: 06/07/96 - PIXEL TIME: 14:40:00 +*/ +ROM_START( igtmg133 ) + ROM_REGION( 0x80000, "maincpu", 0 ) + ROM_LOAD( "m0000133 base,1-4002.bin", 0x00000, 0x80000, CRC(292d85e8) SHA1(490a6b5cb055e12534f872c49ae1baf896fdaa02) ) + + ROM_REGION32_LE( 0x200000, "game", 0 ) // outputs game CRC error so one or both could be bad dumps + ROM_LOAD16_BYTE( "g000073 gme1 1 of 2,2-80.bin", 0x000000, 0x100000, CRC(5b638c47) SHA1(f55d9925a7c3a4aeab0fb58f0d5a21f78a11fa16) ) + ROM_LOAD16_BYTE( "g000073 gme2 2 of 2,2-80.bin", 0x000001, 0x100000, CRC(98e13542) SHA1(9afefad038234a0c308724478899790269325a0c) ) + + ROM_REGION( 0x100000, "cg", ROMREGION_ERASE00 ) // same as igtmg159 + ROM_LOAD16_BYTE( "c0000074 cg1 1 of 4,2-20.bin", 0x000000, 0x040000, CRC(1cda421b) SHA1(c4b4df2a0c60d5bf78b635679a1293003010e15d) ) + ROM_LOAD16_BYTE( "c0000074 cg2 2 of 4,2-20.bin", 0x000001, 0x040000, CRC(ebc14b9d) SHA1(37812e5de9fd1c70b700ad170290ac7e5163a7b2) ) + + ROM_REGION32_LE( 0x200000, "pxl", 0 ) // same as igtmg159 + ROM_LOAD16_BYTE( "c0000074 pxl1 3 of 4,2-80.bin", 0x000000, 0x100000, CRC(8fb6f1dd) SHA1(67601c63c1b915c21e69e20f8b0734a0aa243f78) ) + ROM_LOAD16_BYTE( "c0000074 pxl2 4 of 4,2-80.bin", 0x000001, 0x100000, CRC(f1f4c70b) SHA1(1335565e4ac6830f89f7c0dabbfe7ad9fd667e64) ) + + ROM_REGION32_LE( 0x200000, "snd", ROMREGION_ERASE00 ) + ROM_LOAD( "snd", 0x000000, 0x100000, NO_DUMP ) // no sound ROMs were included (could also be 2 ROMs) +ROM_END + +/* +GAME VERSION: G0000120 - GAME DATE: 05/15/97 - GAME TIME: 13:30:00 +CONFIG VERSION: M0000156 - CONFIG DATE: 04/15/97 - CONFIG TIME: 09:55:00 +PIXEL VERSION: C0000074 - PIXEL DATE: 06/07/96 - PIXEL TIME: 14:40:00 +*/ +ROM_START( igtmg156 ) // was called Game King 1 in the archive, to be verified once it boots + ROM_REGION( 0x80000, "maincpu", 0 ) + ROM_LOAD( "m0000156 base,1-4002.bin", 0x00000, 0x80000, CRC(2a73d7bc) SHA1(d83053161e0d67da02c0d3f2ffa23edcf92bd5cb) ) + + ROM_REGION32_LE( 0x200000, "game", 0 ) + ROM_LOAD16_BYTE( "g0000120 gme1 1 of 2,2-80.bin", 0x000000, 0x100000, CRC(369d3d98) SHA1(90080f3f20498f4f61487f1c9f552cfb52dd0eeb) ) + ROM_LOAD16_BYTE( "g0000120 gme2 2 of 2,2-80.bin", 0x000001, 0x100000, CRC(8aec46ef) SHA1(e9bb853ddbeb701af7e64bab6ff6d448ee5f8416) ) + + ROM_REGION( 0x100000, "cg", ROMREGION_ERASE00 ) // same as igtmg133 and igtmg159 + ROM_LOAD16_BYTE( "c0000074 cg1 1 of 4,2-20.bin", 0x000000, 0x040000, CRC(1cda421b) SHA1(c4b4df2a0c60d5bf78b635679a1293003010e15d) ) + ROM_LOAD16_BYTE( "c0000074 cg2 2 of 4,2-20.bin", 0x000001, 0x040000, CRC(ebc14b9d) SHA1(37812e5de9fd1c70b700ad170290ac7e5163a7b2) ) + + ROM_REGION32_LE( 0x200000, "pxl", 0 ) // same as igtmg133 and igtmg159 + ROM_LOAD16_BYTE( "c0000074 pxl1 3 of 4,2-80.bin", 0x000000, 0x100000, CRC(8fb6f1dd) SHA1(67601c63c1b915c21e69e20f8b0734a0aa243f78) ) + ROM_LOAD16_BYTE( "c0000074 pxl2 4 of 4,2-80.bin", 0x000001, 0x100000, CRC(f1f4c70b) SHA1(1335565e4ac6830f89f7c0dabbfe7ad9fd667e64) ) + + ROM_REGION32_LE( 0x200000, "snd", ROMREGION_ERASE00 ) + ROM_LOAD( "snd", 0x000000, 0x100000, NO_DUMP ) // no sound ROMs were included (could also be 2 ROMs) +ROM_END + +/* +GAME VERSION: G0000139 - GAME DATE: 08/15/97 - GAME TIME: 10:40:00 +CONFIG VERSION: M0000159 - CONFIG DATE: 04/23/97 - CONFIG TIME: 16:15:00 +PIXEL VERSION: C0000074 - PIXEL DATE: 06/07/96 - PIXEL TIME: 14:40:00 +*/ +ROM_START( igtmg159 ) // was called New Multi Game in the archive, to be verified once it boots + ROM_REGION( 0x80000, "maincpu", 0 ) + ROM_LOAD( "m0000159 base,1-4002.bin", 0x00000, 0x80000, CRC(4762259a) SHA1(ea101a1626172415e66bd48700aebdabb74679c3) ) + + ROM_REGION32_LE( 0x200000, "game", 0 ) + ROM_LOAD16_BYTE( "g0000139 gme1 1 of 2,2-80.bin", 0x000000, 0x100000, CRC(3c87cadd) SHA1(3c018111f88ca37a049414426a74d9afe3215768) ) + ROM_LOAD16_BYTE( "g0000139 gme2 2 of 2,2-80.bin", 0x000001, 0x100000, CRC(b39fe864) SHA1(3e53d848e9d8c1ed5f07c7b191f12704b58bb2ad) ) + + ROM_REGION( 0x100000, "cg", ROMREGION_ERASE00 ) + ROM_LOAD16_BYTE( "c0000074 cg1 1 of 4,2-20.bin", 0x000000, 0x040000, CRC(1cda421b) SHA1(c4b4df2a0c60d5bf78b635679a1293003010e15d) ) + ROM_LOAD16_BYTE( "c0000074 cg2 2 of 4,2-20.bin", 0x000001, 0x040000, CRC(ebc14b9d) SHA1(37812e5de9fd1c70b700ad170290ac7e5163a7b2) ) + + ROM_REGION32_LE( 0x200000, "pxl", 0 ) // same as igtmg133 and igtmg159 + ROM_LOAD16_BYTE( "c0000074 pxl1 3 of 4,2-80.bin", 0x000000, 0x100000, CRC(8fb6f1dd) SHA1(67601c63c1b915c21e69e20f8b0734a0aa243f78) ) + ROM_LOAD16_BYTE( "c0000074 pxl2 4 of 4,2-80.bin", 0x000001, 0x100000, CRC(f1f4c70b) SHA1(1335565e4ac6830f89f7c0dabbfe7ad9fd667e64) ) + + ROM_REGION32_LE( 0x200000, "snd", ROMREGION_ERASE00 ) + ROM_LOAD( "snd", 0x000000, 0x100000, NO_DUMP ) // no sound ROMs were included (could also be 2 ROMs) +ROM_END + +/* +GAME VERSION: G0000152 - GAME DATE: 11/17/97 - GAME TIME: 23:59:11 +CONFIG VERSION: M0000164 - CONFIG DATE: 06/18/97 - CONFIG TIME: 23:59:11 +PIXEL VERSION: C0000136 - PIXEL DATE: 06/02/97 - PIXEL TIME: 23:59:00 +*/ +ROM_START( igtmg164 ) + ROM_REGION( 0x80000, "maincpu", 0 ) + ROM_LOAD( "m0000164 base,1-4002.bin", 0x00000, 0x80000, CRC(79b438d5) SHA1(fef5e14f4f83f663adde33b5d6453399a712ff47) ) + + ROM_REGION32_LE( 0x200000, "game", 0 ) + ROM_LOAD16_BYTE( "g0000152 gme1 1 of 2,2-80.bin", 0x000000, 0x100000, CRC(ff42cd6d) SHA1(22c93cada24c9a6e9b9e3b8ae07b542c4c52c34d) ) + ROM_LOAD16_BYTE( "g0000152 gme2 2 of 2,2-80.bin", 0x000001, 0x100000, CRC(37c8d93c) SHA1(a70cc1e6cea02ef6be062889633e1e25268d643e) ) + + ROM_REGION( 0x100000, "cg", 0 ) + ROM_LOAD16_BYTE( "c0000136 cg1 1 of 4,2-40.bin", 0x000000, 0x080000, CRC(9815e9bc) SHA1(d661bf807abcecff697640f485ab854cf9ed0fa6) ) + ROM_LOAD16_BYTE( "c0000136 cg2 2 of 4,2-40.bin", 0x000001, 0x080000, CRC(cd622938) SHA1(9f235b7fccda20468925cc6487212107d63d750c) ) + + ROM_REGION32_LE( 0x200000, "pxl", 0 ) + ROM_LOAD16_BYTE( "c0000136 pxl1 3 of 4,2-80.bin", 0x000000, 0x100000, CRC(6f20559b) SHA1(218f59f434ccb2df56e41f2371d1af0951ff48a4) ) // 2ND HALF = 00xx + ROM_LOAD16_BYTE( "c0000136 pxl2 4 of 4,2-80.bin", 0x000001, 0x100000, CRC(2ecbc0f7) SHA1(14c0b1ee1dc2005983d64227ee85c6676c26eb7b) ) // 2ND HALF = 00xx + + ROM_REGION32_LE( 0x200000, "snd", ROMREGION_ERASE00 ) + ROM_LOAD( "snd", 0x000000, 0x100000, NO_DUMP ) // no sound ROMs were included (could also be 2 ROMs) +ROM_END + +/* +GAME VERSION: G0000109 - GAME DATE: 05/02/97 - GAME TIME: 16:26:00 +CONFIG VERSION: M0000166 - CONFIG DATE: 05/21/97 - CONFIG TIME: 17:15:00 +PIXEL VERSION: C0000074 - PIXEL DATE: 06/07/96 - PIXEL TIME: 14:40:00 +*/ +ROM_START( igtmg166 ) + ROM_REGION( 0x80000, "maincpu", 0 ) + ROM_LOAD( "m0000166 base,1-4002.bin", 0x00000, 0x80000, CRC(bb2abc98) SHA1(7a8da6772c9e0a8cd9568b0f04ec21e33a1de004) ) + + ROM_REGION32_LE( 0x200000, "game", 0 ) + ROM_LOAD16_BYTE( "g0000109 gme1 1 of 2,2-80.bin", 0x000000, 0x100000, CRC(68775094) SHA1(c3c3eb747e9c78e2cdace43b0ca25ce38d649df8) ) + ROM_LOAD16_BYTE( "g0000109 gme2 2 of 2,2-80.bin", 0x000001, 0x100000, CRC(37af5837) SHA1(d8973ecfd353e0987ad2e35da45a68e0e341dde7) ) + + ROM_REGION( 0x100000, "cg", ROMREGION_ERASE00 ) // same as igtmg133 and igtmg159 + ROM_LOAD16_BYTE( "c0000074 cg1 1 of 4,2-20.bin", 0x000000, 0x040000, CRC(1cda421b) SHA1(c4b4df2a0c60d5bf78b635679a1293003010e15d) ) + ROM_LOAD16_BYTE( "c0000074 cg2 2 of 4,2-20.bin", 0x000001, 0x040000, CRC(ebc14b9d) SHA1(37812e5de9fd1c70b700ad170290ac7e5163a7b2) ) + + ROM_REGION32_LE( 0x200000, "pxl", 0 ) // same as igtmg133 and igtmg159 + ROM_LOAD16_BYTE( "c0000074 pxl1 3 of 4,2-80.bin", 0x000000, 0x100000, CRC(8fb6f1dd) SHA1(67601c63c1b915c21e69e20f8b0734a0aa243f78) ) + ROM_LOAD16_BYTE( "c0000074 pxl2 4 of 4,2-80.bin", 0x000001, 0x100000, CRC(f1f4c70b) SHA1(1335565e4ac6830f89f7c0dabbfe7ad9fd667e64) ) + + ROM_REGION32_LE( 0x200000, "snd", ROMREGION_ERASE00 ) + ROM_LOAD( "snd", 0x000000, 0x100000, NO_DUMP ) // no sound ROMs were included (could also be 2 ROMs) +ROM_END + +/* +GAME VERSION: G0000177 - GAME DATE: 10/10/98 - GAME TIME: 17:38:00 +CONFIG VERSION: M0000214 - CONFIG DATE: 08/19/98 - CONFIG TIME: 12:16:11 +PIXEL VERSION: C0000235 - PIXEL DATE: 09/16/98 - PIXEL TIME: 11:25:00 +*/ +ROM_START( igtmg214 ) + ROM_REGION( 0x80000, "maincpu", 0 ) + ROM_LOAD( "m0000214 base,1-4002.bin", 0x00000, 0x80000, CRC(f832ddd3) SHA1(6f4ba8e2967091499e84d860a7a95cd2d5a1ee6d) ) + + ROM_REGION32_LE( 0x200000, "game", 0 ) + ROM_LOAD16_BYTE( "g0000177 gme1 1 of 2,2-80.bin", 0x000000, 0x100000, CRC(57d530c7) SHA1(ea67b7b96b6d007ffa793a2cb209c1d0df0b5ae8) ) + ROM_LOAD16_BYTE( "g0000177 gme2 2 of 2,2-80.bin", 0x000001, 0x100000, CRC(8339edd7) SHA1(f7167ce39669a3cd6ada3be351cebb51b2fd9938) ) + + ROM_REGION( 0x100000, "cg", 0 ) + ROM_LOAD16_BYTE( "c0000235 cg1 1 of 4,2-40.bin", 0x000000, 0x080000, CRC(4b0e06d6) SHA1(33c158e7a857a2237fdd4a80b67abc158763dca1) ) + ROM_LOAD16_BYTE( "c0000235 cg2 2 of 4,2-40.bin", 0x000001, 0x080000, CRC(3e78e5be) SHA1(382a5d4c663d8132f1b17b24f6981a75cec2f0c4) ) + + ROM_REGION32_LE( 0x200000, "pxl", 0 ) + ROM_LOAD16_BYTE( "c0000235 pxl1 3 of 4,2-80.bin", 0x000000, 0x100000, CRC(29819cd7) SHA1(07243f6c6175b01bfdcbabe411ebec11d73aa289) ) + ROM_LOAD16_BYTE( "c0000235 pxl2 4 of 4,2-80.bin", 0x000001, 0x100000, CRC(60b92b5e) SHA1(1b8aa0d16b16705c1a7a1869f15d62da6f0c6800) ) + + ROM_REGION32_LE( 0x200000, "snd", 0 ) + ROM_LOAD( "swc00030 snd1 1 of 2,2-80.rom1", 0x000000, 0x100000, CRC(12af1bc9) SHA1(c0d17da6aa45e4d2a8986e8ab043673733325eda) ) + ROM_LOAD( "swc00030 snd2 2 of 2,2-80.rom2", 0x100000, 0x100000, CRC(9c68744f) SHA1(6f33b6d87ca8c6340c9ec612a6419e4e1fa6d6c3) ) +ROM_END + +/* +GAME VERSION: G0000397 - GAME DATE: 12/16/99 - GAME TIME: 12:44:00 +CONFIG VERSION: M0000247 - CONFIG DATE: 05/03/99 - CONFIG TIME: 13:41:00 +PIXEL VERSION: C0000265 - PIXEL DATE: 05/05/99 - PIXEL TIME: 17:15:00 +*/ +ROM_START( igtmg247 ) // key00017 was in the archive + ROM_REGION( 0x80000, "maincpu", 0 ) + ROM_LOAD( "m0000247 base,1-4002.bin", 0x00000, 0x80000, CRC(03cf1431) SHA1(3e7f0a1ed192ffe353424713546c2671725f1c88) ) + + ROM_REGION32_LE( 0x200000, "game", 0 ) + ROM_LOAD16_BYTE( "g0000397 gme1 1 of 2,2-80.bin", 0x000000, 0x100000, CRC(c9429c7b) SHA1(15d97bbbe356fa5018172d3ea1afb975b89a9840) ) + ROM_LOAD16_BYTE( "g0000397 gme2 2 of 2,2-80.bin", 0x000001, 0x100000, CRC(e56c617e) SHA1(80189ae9f9cca88500a038e8d729ba28b6bcf842) ) + + ROM_REGION( 0x100000, "cg", 0 ) + ROM_LOAD16_BYTE( "c0000265 cg1 1 of 4,2-x0.bin", 0x000000, 0x080000, NO_DUMP ) // not included for this set (x is 2==27C020, 4==270C40, 8==27C080 ROM type) + ROM_LOAD16_BYTE( "c0000265 cg2 2 of 4,2-x0.bin", 0x000001, 0x080000, NO_DUMP ) // not included for this set + + ROM_REGION32_LE( 0x200000, "pxl", 0 ) + ROM_LOAD16_BYTE( "c0000265 pxl1 3 of 4,2-80.bin", 0x000000, 0x100000, CRC(88ed5614) SHA1(6dde8956d344b7aa699167fcd0260d074a74287e) ) + ROM_LOAD16_BYTE( "c0000265 pxl2 4 of 4,2-80.bin", 0x000001, 0x100000, CRC(b535d175) SHA1(c253344ed54a072cb6d35d816927d80c12565ab8) ) + + ROM_REGION32_LE( 0x200000, "snd", 0 ) // same as gkigt4ms and others + ROM_LOAD( "swc00046 snd1 1 of 2,2-80.rom1", 0x000000, 0x100000, CRC(8213aeac) SHA1(4beff02fed64e607270e0e8e322a96f112bd2093) ) + ROM_LOAD( "swc00046 snd2 2 of 2,2-80.rom2", 0x100000, 0x100000, CRC(a7ef9b46) SHA1(031373fb8e39c4ed828a58bb63a9395a205c6b6b) ) +ROM_END + +/* +GAME VERSION: G0000619 - GAME DATE: 06/30/00 - GAME TIME: 11:00:11 +CONFIG VERSION: M0000394 - CONFIG DATE: 10/29/99 - CONFIG TIME: 14:00:00 +PIXEL VERSION: C0000351 - PIXEL DATE: 02/16/00 - PIXEL TIME: 15:40:00 +*/ +ROM_START( igtmg394 ) // key00017 was in the archive + ROM_REGION( 0x80000, "maincpu", 0 ) + ROM_LOAD( "m0000394 base,1-4002.u8", 0x00000, 0x80000, CRC(d6c48b14) SHA1(08b9a822a6822a94afcac843ff3740bbd4c53f08) ) + + ROM_REGION32_LE( 0x200000, "game", 0 ) + ROM_LOAD16_BYTE( "g0000619 gme1 1 of 2,2-80.u21", 0x000000, 0x100000, CRC(64048a70) SHA1(74ab372686b3a79d09f105a1e78aba86f5d728f8) ) + ROM_LOAD16_BYTE( "g0000619 gme2 2 of 2,2-80.u5", 0x000001, 0x100000, CRC(150315bc) SHA1(75e41a483b88e0b31c5e58a294261f4b484a4576) ) + + ROM_REGION( 0x100000, "cg", 0 ) // same as gkigt4ms and others + ROM_LOAD16_BYTE( "c000351 cg1 1 of 4,2-40,ms.u30", 0x000000, 0x80000, CRC(2e841b28) SHA1(492b54e092b0d4028fd8edcb981bd1fd25dca47d) ) + ROM_LOAD16_BYTE( "c000351 cg2 2 of 4,2-40,ms.u53", 0x000001, 0x80000, CRC(673fc86c) SHA1(4d844330c5602d725253b4f78781fa9e213b8556) ) + + ROM_REGION32_LE( 0x200000, "pxl", 0 ) + ROM_LOAD16_BYTE( "c000351 pxl1 3 of 4,2-80,ms.u14", 0x000000, 0x100000, CRC(438fb625) SHA1(369c860dffa323c2e9be155da1989252f6b0e694) ) + ROM_LOAD16_BYTE( "c000351 pxl2 4 of 4,2-80,ms.u37", 0x000001, 0x100000, CRC(22ec9c65) SHA1(bd944ae79faa8ceb73ed8f6f244fce6ff543ccd1) ) + + ROM_REGION32_LE( 0x200000, "snd", 0 ) // Notes say snd1.u6 & snd2.u7 are swc0046 and "not used" but don't match known swc0046 sets + ROM_LOAD( "snd1.u6", 0x000000, 0x100000, CRC(9c40caa2) SHA1(14c3ce95e09411325d219377dadf754a8bc9fad6) ) // The listed checksum8 didn't match checksum8 for swc0046 ROMs + ROM_LOAD( "snd2.u7", 0x100000, 0x100000, CRC(eaf1b8df) SHA1(b336afdb0edbc8f864f873285b29e9998819c782) ) // The listed checksum8 didn't match checksum8 for swc0046 ROMs + ROM_LOAD( "swc00046 snd1 1 of 2,2-80.rom1", 0x000000, 0x100000, CRC(8213aeac) SHA1(4beff02fed64e607270e0e8e322a96f112bd2093) ) // load in swc0046 sound ROMs because they were specifically mentioned in readme / notes + ROM_LOAD( "swc00046 snd2 2 of 2,2-80.rom2", 0x100000, 0x100000, CRC(a7ef9b46) SHA1(031373fb8e39c4ed828a58bb63a9395a205c6b6b) ) +ROM_END + +/* +GAME VERSION: G0001125 - GAME DATE: 11/27/01 - GAME TIME: 15:11:00 +CONFIG VERSION: M0000535 - CONFIG DATE: 02/01/01 - CONFIG TIME: 10:30:00 +PIXEL VERSION: C0000351 - PIXEL DATE: 02/16/00 - PIXEL TIME: 15:40:00 +*/ +ROM_START( igtmg535 ) // close to gkigtez? Same graphics & sound, game ROMs G0001126 vs this games G0001125 + ROM_REGION( 0x80000, "maincpu", 0 ) + ROM_LOAD( "m0000535 base,1-4002.bin", 0x00000, 0x80000, CRC(4577258e) SHA1(ad3b907727f7cef71d73e58ec4e43ff6bb092129) ) + + ROM_REGION32_LE( 0x200000, "game", 0 ) + ROM_LOAD16_BYTE( "g0001125 gme1 1 of 2,2-80.bin", 0x000000, 0x100000, CRC(d4d2e987) SHA1(4c0ffc02d7dcc8f94828763e12e61d926d30d749) ) + ROM_LOAD16_BYTE( "g0001125 gme2 2 of 2,2-80.bin", 0x000001, 0x100000, CRC(9068fbac) SHA1(223efff9823cd92a4f83b74986c47bc2a8e4420f) ) + + ROM_REGION( 0x100000, "cg", 0 ) + ROM_LOAD16_BYTE( "c000351 cg1 1 of 4,2-40,ms.u30", 0x000000, 0x80000, CRC(2e841b28) SHA1(492b54e092b0d4028fd8edcb981bd1fd25dca47d) ) + ROM_LOAD16_BYTE( "c000351 cg2 2 of 4,2-40,ms.u53", 0x000001, 0x80000, CRC(673fc86c) SHA1(4d844330c5602d725253b4f78781fa9e213b8556) ) + + ROM_REGION32_LE( 0x200000, "pxl", 0 ) + ROM_LOAD16_BYTE( "c000351 pxl1 3 of 4,2-80,ms.u14", 0x000000, 0x100000, CRC(438fb625) SHA1(369c860dffa323c2e9be155da1989252f6b0e694) ) + ROM_LOAD16_BYTE( "c000351 pxl2 4 of 4,2-80,ms.u37", 0x000001, 0x100000, CRC(22ec9c65) SHA1(bd944ae79faa8ceb73ed8f6f244fce6ff543ccd1) ) + + ROM_REGION32_LE( 0x200000, "snd", 0 ) // same as gkigt4 + ROM_LOAD( "swc00046 snd1 1 of 2,2-80.rom1", 0x000000, 0x100000, CRC(8213aeac) SHA1(4beff02fed64e607270e0e8e322a96f112bd2093) ) + ROM_LOAD( "swc00046 snd2 2 of 2,2-80.rom2", 0x100000, 0x100000, CRC(a7ef9b46) SHA1(031373fb8e39c4ed828a58bb63a9395a205c6b6b) ) +ROM_END ROM_START( gkigt4 ) ROM_REGION( 0x80000, "maincpu", 0 ) @@ -789,7 +1091,7 @@ ROM_START( gkigt4 ) ROM_LOAD16_BYTE( "c0000330 cg1 1 of 4,2-40.bin", 0x000000, 0x80000, CRC(b92b8aa4) SHA1(05a1feac4012a73777eb28ab6e66e1dcadb9430f) ) ROM_LOAD16_BYTE( "c0000330 cg2 2 of 4,2-40.bin", 0x000001, 0x80000, CRC(4e0560b5) SHA1(109f0bd47cfb0ed593fc34c5904bc639b0097d12)) - ROM_REGION32_LE( 0x200000, "plx", 0 ) + ROM_REGION32_LE( 0x200000, "pxl", 0 ) ROM_LOAD16_BYTE( "c0000330 plx1 3 of 4,2-80.bin", 0x000000, 0x100000, CRC(806ec7d4) SHA1(b9263f942b3d7101797bf87ad18cfddac9582791) ) ROM_LOAD16_BYTE( "c0000330 plx2 4 of 4,2-80.bin", 0x000001, 0x100000, CRC(c4ce5dc5) SHA1(cc5d090e88551550787b87d80aafe18ee1661dd7) ) @@ -810,7 +1112,7 @@ ROM_START( gkigt4ms ) ROM_LOAD16_BYTE( "c000351 cg1 1 of 4,2-40,ms.u30", 0x000000, 0x80000, CRC(2e841b28) SHA1(492b54e092b0d4028fd8edcb981bd1fd25dca47d) ) ROM_LOAD16_BYTE( "c000351 cg2 2 of 4,2-40,ms.u53", 0x000001, 0x80000, CRC(673fc86c) SHA1(4d844330c5602d725253b4f78781fa9e213b8556) ) - ROM_REGION32_LE( 0x200000, "plx", 0 ) + ROM_REGION32_LE( 0x200000, "pxl", 0 ) ROM_LOAD16_BYTE( "c000351 pxl1 3 of 4,2-80,ms.u14", 0x000000, 0x100000, CRC(438fb625) SHA1(369c860dffa323c2e9be155da1989252f6b0e694) ) ROM_LOAD16_BYTE( "c000351 pxl2 4 of 4,2-80,ms.u37", 0x000001, 0x100000, CRC(22ec9c65) SHA1(bd944ae79faa8ceb73ed8f6f244fce6ff543ccd1) ) @@ -831,7 +1133,7 @@ ROM_START( gkigt43 ) ROM_LOAD16_BYTE( "c0000793 cg1 1 of 4,2-40.bin", 0x000000, 0x80000, CRC(582137cc) SHA1(66686a2332a3844f816cf7e988a346f5f593d8f6) ) ROM_LOAD16_BYTE( "c0000793 cg2 2 of 4,2-40.bin", 0x000001, 0x80000, CRC(5e0b6310) SHA1(4bf718dc9859e8c10c9dca967185c57738249319) ) - ROM_REGION32_LE( 0x200000, "plx", 0 ) + ROM_REGION32_LE( 0x200000, "pxl", 0 ) ROM_LOAD16_BYTE( "c0000793 plx1 3 of 4,2-80.bin", 0x000000, 0x100000, CRC(6327a76e) SHA1(01ad5747788389d3d9d71a1c37472d33db3ba5fb) ) ROM_LOAD16_BYTE( "c0000793 plx2 4 of 4,2-80.bin", 0x000001, 0x100000, CRC(5a400e90) SHA1(c01be47d03e9ec418d0e4e1293fcf2c890301430) ) @@ -852,7 +1154,7 @@ ROM_START( gkigt43n ) ROM_LOAD16_BYTE( "c0000770 cg1 1 of 4,2-40,nj.bin", 0x000000, 0x80000, CRC(35847c45) SHA1(9f6192a9cb43df1a32d13d09248f10d62cd5ad3c) ) ROM_LOAD16_BYTE( "c0000770 cg2 2 of 4,2-40,nj.bin", 0x000001, 0x80000, CRC(2207af01) SHA1(6f59d624fbbae56af081f2a2f4eb3f7a6e6c0ec1) ) - ROM_REGION32_LE( 0x200000, "plx", 0 ) + ROM_REGION32_LE( 0x200000, "pxl", 0 ) ROM_LOAD16_BYTE( "c0000770 plx1 3 of 4,2-80,nj.bin", 0x000000, 0x100000, CRC(d1e673cd) SHA1(22d0234e3efb5238d60c9aab4ffc171f28f5abac) ) ROM_LOAD16_BYTE( "c0000770 plx2 4 of 4,2-80,nj.bin", 0x000001, 0x100000, CRC(d99074f3) SHA1(a5829761f558f8e543a1442128c0ae3520d42318) ) @@ -873,7 +1175,7 @@ ROM_START( gkigtez ) ROM_LOAD16_BYTE( "c000351 cg1 1 of 4,2-40,ms.u30", 0x000000, 0x80000, CRC(2e841b28) SHA1(492b54e092b0d4028fd8edcb981bd1fd25dca47d) ) ROM_LOAD16_BYTE( "c000351 cg2 2 of 4,2-40,ms.u53", 0x000001, 0x80000, CRC(673fc86c) SHA1(4d844330c5602d725253b4f78781fa9e213b8556) ) - ROM_REGION32_LE( 0x200000, "plx", 0 ) // same as gkigt4ms + ROM_REGION32_LE( 0x200000, "pxl", 0 ) // same as gkigt4ms ROM_LOAD16_BYTE( "c000351 pxl1 3 of 4,2-80,ms.u14", 0x000000, 0x100000, CRC(438fb625) SHA1(369c860dffa323c2e9be155da1989252f6b0e694) ) ROM_LOAD16_BYTE( "c000351 pxl2 4 of 4,2-80,ms.u37", 0x000001, 0x100000, CRC(22ec9c65) SHA1(bd944ae79faa8ceb73ed8f6f244fce6ff543ccd1) ) @@ -894,7 +1196,7 @@ ROM_START( gkigtezms ) ROM_LOAD16_BYTE( "c000351 cg1 1 of 4,2-40,ms.u30", 0x000000, 0x80000, CRC(2e841b28) SHA1(492b54e092b0d4028fd8edcb981bd1fd25dca47d) ) ROM_LOAD16_BYTE( "c000351 cg2 2 of 4,2-40,ms.u53", 0x000001, 0x80000, CRC(673fc86c) SHA1(4d844330c5602d725253b4f78781fa9e213b8556) ) - ROM_REGION32_LE( 0x200000, "plx", 0 ) // same as gkigt4ms + ROM_REGION32_LE( 0x200000, "pxl", 0 ) // same as gkigt4ms ROM_LOAD16_BYTE( "c000351 pxl1 3 of 4,2-80,ms.u14", 0x000000, 0x100000, CRC(438fb625) SHA1(369c860dffa323c2e9be155da1989252f6b0e694) ) ROM_LOAD16_BYTE( "c000351 pxl2 4 of 4,2-80,ms.u37", 0x000001, 0x100000, CRC(22ec9c65) SHA1(bd944ae79faa8ceb73ed8f6f244fce6ff543ccd1) ) @@ -915,7 +1217,7 @@ ROM_START( gkigt5p ) ROM_LOAD16_BYTE( "c0000517 cg1 1 of 4,2-40.bin", 0x000000, 0x80000, CRC(26db44c9) SHA1(8afe145d1fb7535c651d78b23872b71c2c946509) ) ROM_LOAD16_BYTE( "c0000517 cg2 2 of 4,2-40.bin", 0x000001, 0x80000, CRC(3554ba38) SHA1(6e0b8506943559dbee4cfa7c9e4b60590c6529fb) ) - ROM_REGION32_LE( 0x200000, "plx", 0 ) + ROM_REGION32_LE( 0x200000, "pxl", 0 ) ROM_LOAD16_BYTE( "c0000517 plx1 3 of 4,2-80.bin", 0x000000, 0x100000, CRC(956ba40c) SHA1(7d8ae934ef663ea6b3f342455d1e8c70a1ca4581) ) ROM_LOAD16_BYTE( "c0000517 plx2 4 of 4,2-80.bin", 0x000001, 0x100000, CRC(dff43975) SHA1(e1ca212e4e51175bcbab2af447863605f74ba77f) ) @@ -924,6 +1226,33 @@ ROM_START( gkigt5p ) ROM_LOAD( "swc00046 snd2 2 of 2,2-80.rom2", 0x100000, 0x100000, CRC(a7ef9b46) SHA1(031373fb8e39c4ed828a58bb63a9395a205c6b6b) ) ROM_END +/* +GAME VERSION: G0000912 - GAME DATE: 02/27/01 - GAME TIME: 09:02:10 +CONFIG VERSION: I0000500 - CONFIG DATE: 07/11/00 - CONFIG TIME: 17:05:30 +PIXEL VERSION: C000???? - PIXEL DATE: ??/??/?? - PIXEL TIME: ??:??:?? +*/ +ROM_START( munsters ) // key00017 was in the archive + ROM_REGION( 0x80000, "maincpu", 0 ) + ROM_LOAD( "i0000500 base,1-4002.bin", 0x00000, 0x80000, CRC(d173af36) SHA1(d6b468e1aecf849deee7e37a906c16f8b1cdd721) ) + + ROM_REGION32_LE( 0x200000, "game", 0 ) + ROM_LOAD16_BYTE( "g0000912 gme1 1 of 2,2-80.bin", 0x000000, 0x100000, CRC(5ad6361b) SHA1(e7d45f37ecd4b725665f39d8ce0db6bd8de9ea26) ) + ROM_LOAD16_BYTE( "g0000912 gme1 2 of 2,2-80.bin", 0x000001, 0x100000, CRC(62f65eef) SHA1(df3d777847d23b9d9e7f6b1edb048cadcbf1cb33) ) + + ROM_REGION32_LE( 0x100000, "game_clrram", 0 ) // ?? + ROM_LOAD16_BYTE( "gme1clrram.040", 0x000000, 0x080000, CRC(84848907) SHA1(3474af27304b96e8946315e0f10be2608444f533) ) + ROM_LOAD16_BYTE( "gme2clrram.040", 0x000001, 0x080000, CRC(ad3af31c) SHA1(ef663dc636c7a2d9895f92c38811e75d7bea23b2) ) + + ROM_REGION( 0x800000, "cg", 0 ) // not included for this set (probably SIMM like igtsc) + ROM_LOAD( "cg", 0x000000, 0x800000, NO_DUMP ) + + ROM_REGION32_LE( 0x1000000, "pxl", 0 ) // not included for this set (probably SIMM like igtsc) + ROM_LOAD( "pxl", 0x0000000, 0x1000000, NO_DUMP ) + + ROM_REGION32_LE( 0x1000000, "snd", 0 ) // not included for this set (probably SIMM like igtsc) + ROM_LOAD( "snd", 0x0000000, 0x1000000, NO_DUMP ) +ROM_END + ROM_START( igtsc ) ROM_REGION( 0x80000, "maincpu", 0 ) ROM_LOAD( "i0000838 base,1-4002.bin", 0x00000, 0x80000, CRC(7b66f0d5) SHA1(a13e7fa4062668ff7acb15e58025eeb401754898) ) @@ -932,12 +1261,12 @@ ROM_START( igtsc ) ROM_LOAD16_BYTE( "g0001175 gme1 1 of 2,2-80.bin", 0x000000, 0x100000, CRC(674e0172) SHA1(e7bfe13781988b9193f22ad93502e303ba9427eb) ) ROM_LOAD16_BYTE( "g0001175 gme2 2 of 2,2-80.bin", 0x000001, 0x100000, CRC(db76db22) SHA1(e389b11a05f0ef0dcee303ba91578f4cd56beba0) ) - // all these SIMM files are bad dumps, they never contains the byte value 0x0d (uploaded in ASCII mode with carriage return stripped out?) + // all these SIMM files are bad dumps, they never contain the byte value 0x0d (uploaded in ASCII mode with carriage return stripped out?) ROM_REGION( 0x1000000, "cg", ROMREGION_ERASE00 ) // uses a SIMM ROM_LOAD( "c0000464 cgf.bin", 0x000000, 0x07ff9a3, BAD_DUMP CRC(52fcc9fd) SHA1(98089dcf550bc3670d29b7ee78e014154e672120) ) // should be 0x800000 - ROM_REGION32_LE( 0x1000000, "plx", 0 ) + ROM_REGION32_LE( 0x1000000, "pxl", 0 ) // uses a SIMM ROM_LOAD( "c000464 pxl3.bin", 0x000000, 0xff73bb, BAD_DUMP CRC(c6acb3cf) SHA1(0ea2d2a506be43a2a8b9d05d80f765c8351494a2) ) // should be 0x1000000 @@ -948,6 +1277,7 @@ ROM_END ROM_START( gkkey ) ROM_REGION( 0x80000, "maincpu", 0 ) + ROM_LOAD( "key00005.bin", 0x00000, 0x80000, CRC(07652909) SHA1(93ad85aa1f32a16084e9261f59394c8af49c24ec) ) ROM_LOAD( "key00016,1-4002.bin", 0x00000, 0x80000, CRC(97f43f33) SHA1(1485a343f7865f3600ba9cd80eedc489ea75ae40) ) ROM_LOAD( "key00017,1-4002.bin", 0x00000, 0x80000, CRC(1579739f) SHA1(7b6257d17f74599a4ada3014d02a2e7c6686ab3f) ) /* non WAP keychip */ ROM_LOAD( "key00018,1-4002.bin", 0x00000, 0x80000, CRC(b35b8888) SHA1(60adc02d17ab0a163e9a6bfbac1f46eeb4a77243) ) /* WAP keychip */ @@ -972,13 +1302,34 @@ ROM_START( gkkey ) ROM_LOAD( "cvs00077,1-4002.bin", 0x00000, 0x80000, CRC(052e7da8) SHA1(e781b198b273ecfd904168e3e30e6b453d54bd16) ) /* EZ Pay 80960 CVT Clear/Key & 80960 CVT Route/Safe */ ROM_LOAD( "cvs00080,1-4002.bin", 0x00000, 0x80000, CRC(f58a3040) SHA1(906ed54aeafdf2cf58ee8425405498a8c64b52e1) ) ROM_LOAD( "ivc00097,1-4002.bin", 0x00000, 0x80000, CRC(f0a59fd1) SHA1(8e980e9eb80e6899fe3bbcd21ccbd39f9fdccaca) ) /* Vision Ram/E-Square Clear (Replaces IVC00070) */ + ROM_LOAD( "set00028", 0x00000, 0x80000, CRC(2fa9485b) SHA1(46778fbeed2a7a8102ab94bdaf5e2328d5cdb6af) ) // came with the igtmg156 set + + ROM_REGION( 0x10000, "set_denom", 0 ) + ROM_LOAD( "setdenom", 0x00000, 0x10000, CRC(34aa584e) SHA1(2b28f4bfe19f539575755a26b8e3b56134fc7695) ) // ROM_REGION( 0x80000, "miscbad", 0 ) -// these are also bad dumps, again they never contains the byte value 0x0d (uploaded in ASCII mode with carriage return stripped out?) +// these are also bad dumps, again they never contain the byte value 0x0d (uploaded in ASCII mode with carriage return stripped out?) ROM_REGION32_LE( 0x200000, "game", ROMREGION_ERASEFF ) ROM_REGION( 0x100000, "cg", ROMREGION_ERASEFF ) - ROM_REGION32_LE( 0x200000, "plx", ROMREGION_ERASEFF ) + ROM_REGION32_LE( 0x200000, "pxl", ROMREGION_ERASEFF ) + ROM_REGION32_LE( 0x200000, "snd", ROMREGION_ERASEFF ) +ROM_END + +ROM_START( igtvp ) // IGT Vision printer? For now added it here for archiving purpose. Is the set complete? + ROM_REGION( 0x80000, "maincpu", 0 ) + ROM_LOAD( "sb100077base.402", 0x00000, 0x80000, CRC(163dfa5f) SHA1(bd88ee41c8b059a0748b4e2692d7c0adf3b291b5) ) + + ROM_REGION32_LE( 0x200000, "game", 0 ) + ROM_LOAD16_BYTE( "sg000115gme1.080", 0x000000, 0x100000, CRC(4de1128f) SHA1(96867eee7d93dac8404e15a8575a453ebc4f1932) ) + ROM_LOAD16_BYTE( "sg000115gme2.080", 0x000001, 0x100000, CRC(9b1b43c1) SHA1(fcf54d65373ce3f55f00ee49f1b02146dc3b7142) ) + + ROM_REGION( 0x20000, "unkrom", 0 ) + ROM_LOAD( "vs009gx0.010", 0x00000, 0x20000, CRC(a8cf1942) SHA1(3e4beb813b180fdf1d7b401b5742c1bd8b0a5a9a) ) + + // for now, to avoid crashing + ROM_REGION( 0x100000, "cg", ROMREGION_ERASEFF ) + ROM_REGION32_LE( 0x200000, "pxl", ROMREGION_ERASEFF ) ROM_REGION32_LE( 0x200000, "snd", ROMREGION_ERASEFF ) ROM_END @@ -986,13 +1337,26 @@ ROM_END GAME( 1997, ms14, 0, igt_gameking, igt_gameking, igt_gameking_state, empty_init, ROT0, "IGT", "Multistar 14", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) +GAME( 1997, igtmg133, 0, igt_gameking, igt_gameking, igt_gameking_state, empty_init, ROT0, "IGT", "Multi Game (IGT, M0000133)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) +GAME( 1997, igtmg156, 0, igt_gameking, igt_gameking, igt_gameking_state, empty_init, ROT0, "IGT", "Multi Game (IGT, M0000156)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) +GAME( 1997, igtmg159, 0, igt_gameking, igt_gameking, igt_gameking_state, empty_init, ROT0, "IGT", "Multi Game (IGT, M0000159)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) +GAME( 1997, igtmg164, 0, igt_gameking, igt_gameking, igt_gameking_state, empty_init, ROT0, "IGT", "Multi Game (IGT, M0000164)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) +GAME( 1997, igtmg166, 0, igt_gameking, igt_gameking, igt_gameking_state, empty_init, ROT0, "IGT", "Multi Game (IGT, M0000166)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) +GAME( 1997, sup8race, 0, igt_gameking, igt_gameking, igt_gameking_state, empty_init, ROT0, "IGT", "Super 8 Race", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) +GAME( 1998, brhino, 0, igt_gameking, igt_gameking, igt_gameking_state, empty_init, ROT0, "IGT", "Black Rhino (IGT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) GAME( 1998, bmoonii, 0, igt_gameking, igt_gameking, igt_gameking_state, empty_init, ROT0, "IGT", "Blue Moon II", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) GAME( 1998, dblheart, 0, igt_gameking, igt_gameking, igt_gameking_state, empty_init, ROT0, "IGT", "Double Hearts", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) +GAME( 1998, igtmg214, 0, igt_gameking, igt_gameking, igt_gameking_state, empty_init, ROT0, "IGT", "Multi Game (IGT, M0000214)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) GAME( 1998, ms3, 0, igt_gameking, igt_gameking, igt_gameking_state, empty_init, ROT0, "IGT", "Multistar 3", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) GAME( 1998, ms5, 0, igt_gameking, igt_gameking, igt_gameking_state, empty_init, ROT0, "IGT", "Multistar 5", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) +GAME( 1998, wofigt, 0, igt_gameking, igt_gameking, igt_gameking_state, empty_init, ROT0, "IGT", "Wheel of Fortune (IGT)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) +GAME( 1999, igtmg247, 0, igt_gameking, igt_gameking, igt_gameking_state, empty_init, ROT0, "IGT", "Multi Game (IGT, M0000247)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) GAME( 1999, mystjag, 0, igt_gameking, igt_gameking, igt_gameking_state, empty_init, ROT0, "IGT", "Mystic Jaguar", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) GAME( 1999, tripplay, 0, igt_gameking, igt_gameking, igt_gameking_state, empty_init, ROT0, "IGT", "Triple Play (M0000230, Spanish)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // sound is undumped +GAME( 2000, igtmg394, 0, igt_gameking, igt_gameking, igt_gameking_state, empty_init, ROT0, "IGT", "Multi Game (IGT, M0000394)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) GAME( 2000, ms72c, 0, igt_gameking, igt_gameking, igt_gameking_state, empty_init, ROT0, "IGT", "Multistar 7 2c", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) +GAME( 2001, igtmg535, 0, igt_gameking, igt_gameking, igt_gameking_state, empty_init, ROT0, "IGT", "Multi Game (IGT, M0000535)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) +GAME( 2001, igtvp, 0, igt_gameking, igt_gameking, igt_gameking_state, empty_init, ROT0, "IGT", "Vision printer", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) GAME( 2003, gkigt4, 0, igt_gameking, igt_gameking, igt_gameking_state, empty_init, ROT0, "IGT", "Game King (v4.x)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) GAME( 2003, gkigt4ms, gkigt4, igt_gameking, igt_gameking, igt_gameking_state, empty_init, ROT0, "IGT", "Game King (v4.x, MS)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) GAME( 2003, gkigt43, gkigt4, igt_gameking, igt_gameking, igt_gameking_state, empty_init, ROT0, "IGT", "Game King (v4.3)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) @@ -1001,4 +1365,5 @@ GAME( 2003, gkigtez, gkigt4, igt_gameking, igt_gameking, igt_gameking_state, e GAME( 2003, gkigtezms, gkigt4, igt_gameking, igt_gameking, igt_gameking_state, empty_init, ROT0, "IGT", "Game King (EZ Pay, v4.0, MS)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) GAME( 2003, gkigt5p, gkigt4, igt_gameking, igt_gameking, igt_gameking_state, empty_init, ROT0, "IGT", "Game King (Triple-Five Play)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) GAME( 2003, igtsc, 0, igt_gameking, igt_gameking, igt_gameking_state, empty_init, ROT0, "IGT", "Super Cherry", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // SIMM dumps are bad. -GAME( 2003, gkkey, 0, igt_gameking, igt_gameking, igt_gameking_state, empty_init, ROT0, "IGT", "Game King (Set Chips)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // only 2 are good dumps +GAME( 2003, munsters, 0, igt_gameking, igt_gameking, igt_gameking_state, empty_init, ROT0, "IGT", "The Munsters", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // GFX and sound ROMs not dumped +GAME( 2003, gkkey, 0, igt_gameking, igt_gameking, igt_gameking_state, empty_init, ROT0, "IGT", "Game King (Set Chips)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) diff --git a/src/mame/igt/peplus.cpp b/src/mame/igt/peplus.cpp index 50b205d6aeba0..b50076b4a1eab 100644 --- a/src/mame/igt/peplus.cpp +++ b/src/mame/igt/peplus.cpp @@ -3153,6 +3153,72 @@ PayTable 10s+ 2PR 3K STR FL FH 4K SF RF (Bonus) ROM_LOAD( "cap881.u50", 0x0000, 0x0100, CRC(e51990d5) SHA1(41946722b61e955d37808761d451fc894e6adc8a) ) ROM_END +ROM_START( pepp0045e ) // Normal board : 10's or Better (PP0045) +/* +PayTable 10s+ 2PR 3K STR FL FH 4K SF RF (Bonus) +---------------------------------------------------------- + P8A 1 1 3 4 5 8 25 50 300 800 + % Range: 84.6-86.6% Optimum: 88.6% Hit Frequency: 49.2% + Programs Available: PP0045, X000045P +*/ + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "pp0045_a45-a74.u68", 0x00000, 0x10000, CRC(9c7cf6d7) SHA1(3da9829678b853d85146b66b40800257a8eaa151) ) // Game Version: A45, Library Version: A74 + + ROM_REGION( 0x020000, "tiles", 0 ) + ROM_LOAD( "mro-cg737.u72", 0x00000, 0x8000, CRC(40d6fe9a) SHA1(2c3c4853385cb79fb12edf101ad82f6d0d40cd26) ) // Custom Circus Circus graphics + ROM_LOAD( "mgo-cg737.u73", 0x08000, 0x8000, CRC(587afa95) SHA1(cb254ef2d7a26892faade74c311cc5ca2b7bccb5) ) // No support for Deuces Wild sets + ROM_LOAD( "mbo-cg737.u74", 0x10000, 0x8000, CRC(57007a70) SHA1(39d01a148227bdcfcc1837b08ca87010caf252bf) ) + ROM_LOAD( "mxo-cg737.u75", 0x18000, 0x8000, CRC(4a0b3493) SHA1(91b5f4bc8ebf65fe25dcfb59cb08904db9df2e37) ) + + ROM_REGION( 0x100, "proms", 0 ) + ROM_LOAD( "cap737.u50", 0x0000, 0x0100, NO_DUMP ) + ROM_LOAD( "cap740.u50", 0x0000, 0x0100, CRC(6fe619c4) SHA1(49e43dafd010ce0fe9b2a63b96a4ddedcb933c6d) ) +ROM_END + +ROM_START( pepp0045f ) // Normal board : 10's or Better (PP0045) +/* +PayTable 10s+ 2PR 3K STR FL FH 4K SF RF (Bonus) +---------------------------------------------------------- + P8A 1 1 3 4 5 8 25 50 300 800 + % Range: 84.6-86.6% Optimum: 88.6% Hit Frequency: 49.2% + Programs Available: PP0045, X000045P +*/ + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "pp0045_a45-a74.u68", 0x00000, 0x10000, CRC(9c7cf6d7) SHA1(3da9829678b853d85146b66b40800257a8eaa151) ) // Game Version: A45, Library Version: A74 + + ROM_REGION( 0x020000, "tiles", 0 ) + ROM_LOAD( "mro-cg994.u72", 0x00000, 0x8000, CRC(b08ed6ca) SHA1(91e9a5199b8686a7aaa5a9f65b3128d9277699fd) ) // Custom Old Reno Casino graphics + ROM_LOAD( "mgo-cg994.u73", 0x08000, 0x8000, CRC(a9d71ef0) SHA1(b2fb69602fed9cd278a785e7b2a88f0fe4e24e25) ) // No support for Deuces Wild sets + ROM_LOAD( "mbo-cg994.u74", 0x10000, 0x8000, CRC(2a2c7ae1) SHA1(19a4bc381d1477f5aa97964520840709e0dfeca5) ) + ROM_LOAD( "mxo-cg994.u75", 0x18000, 0x8000, CRC(a7b65865) SHA1(79b99284198a8206a6dd50c3c3c0488cb162c910) ) + + ROM_REGION( 0x100, "proms", 0 ) + ROM_LOAD( "cap994.u50", 0x0000, 0x0100, NO_DUMP ) + ROM_LOAD( "cap740.u50", 0x0000, 0x0100, CRC(6fe619c4) SHA1(49e43dafd010ce0fe9b2a63b96a4ddedcb933c6d) ) +ROM_END + +ROM_START( pepp0045g ) // Normal board : 10's or Better (PP0045) +/* +PayTable 10s+ 2PR 3K STR FL FH 4K SF RF (Bonus) +---------------------------------------------------------- + P8A 1 1 3 4 5 8 25 50 300 800 + % Range: 84.6-86.6% Optimum: 88.6% Hit Frequency: 49.2% + Programs Available: PP0045, X000045P +*/ + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "pp0045_a45-a74.u68", 0x00000, 0x10000, CRC(9c7cf6d7) SHA1(3da9829678b853d85146b66b40800257a8eaa151) ) // Game Version: A45, Library Version: A74 + + ROM_REGION( 0x020000, "tiles", 0 ) + ROM_LOAD( "mro-cg754.u72", 0x00000, 0x8000, CRC(4f306f7e) SHA1(c66c5966ba412ed1a190cf0cc93ef7f9aac807f1) ) // Custom Harrah's graphics + ROM_LOAD( "mgo-cg754.u73", 0x08000, 0x8000, CRC(e52301b4) SHA1(b947d4aeff87c7ed795070510babd9bcb499f0bc) ) // No support for Deuces Wild sets + ROM_LOAD( "mbo-cg754.u74", 0x10000, 0x8000, CRC(38b09064) SHA1(79c165e52ae1438382c2ff4f01a5ea9d85c0fd85) ) + ROM_LOAD( "mxo-cg754.u75", 0x18000, 0x8000, CRC(12be68ae) SHA1(50399f2eeb53bc3d372639b1cd4828e331047885) ) + + ROM_REGION( 0x100, "proms", 0 ) + ROM_LOAD( "cap754.u50", 0x0000, 0x0100, NO_DUMP ) + ROM_LOAD( "cap740.u50", 0x0000, 0x0100, CRC(6fe619c4) SHA1(49e43dafd010ce0fe9b2a63b96a4ddedcb933c6d) ) +ROM_END + ROM_START( pepp0046 ) // Normal board : 10's or Better (PP0046) - PSR Verified /* PayTable 10s+ 2PR 3K STR FL FH 4K SF RF (Bonus) @@ -3355,6 +3421,28 @@ ROM_START( pepp0050a ) // Normal board : Joker Poker (PP0050) - PSR Verified /* w/J w/oJ PayTable Ks+ 2P 3K STR FL FH 4K SF RF 5K RF (Bonus) +---------------------------------------------------------------- + ZD 1 1 2 3 5 7 20 50 100 200 400 940 + % Range: 96.6-98.6% Optimum: 100.6% Hit Frequency: 43.9% + Programs Available: PP0050, X002441P +*/ + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "pp0050_979-a0c.u68", 0x00000, 0x10000, CRC(2bc56252) SHA1(d4ff379a751669e533b37b3e44d766627b185fcd) ) // Game Version: 979, Library Version: A0C - 06/08/94 @ IGT L94-1225 + + ROM_REGION( 0x020000, "tiles", 0 ) + ROM_LOAD( "mro-cg2004.u72", 0x00000, 0x8000, CRC(e5e40ea5) SHA1(e0d9e50b30cc0c25c932b2bf444990df1fb2c38c) ) // 08/31/94 @ IGT L95-0146 + ROM_LOAD( "mgo-cg2004.u73", 0x08000, 0x8000, CRC(12607f1e) SHA1(248e1ecee4e735f5943c50f8c350ca95b81509a7) ) + ROM_LOAD( "mbo-cg2004.u74", 0x10000, 0x8000, CRC(78c3fb9f) SHA1(2b9847c511888de507a008dec981778ca4dbcd6c) ) + ROM_LOAD( "mxo-cg2004.u75", 0x18000, 0x8000, CRC(5aaa4480) SHA1(353c4ce566c944406fce21f2c5045c856ef7a609) ) + + ROM_REGION( 0x100, "proms", 0 ) + ROM_LOAD( "cap740.u50", 0x0000, 0x0100, CRC(6fe619c4) SHA1(49e43dafd010ce0fe9b2a63b96a4ddedcb933c6d) ) +ROM_END + +ROM_START( pepp0050b ) // Normal board : Joker Poker (PP0050) - PSR Verified +/* + w/J w/oJ +PayTable Ks+ 2P 3K STR FL FH 4K SF RF 5K RF (Bonus) ---------------------------------------------------------------- ZD 1 1 2 3 5 7 20 50 100 200 400 940 % Range: 96.6-98.6% Optimum: 100.6% Hit Frequency: 43.9% @@ -3373,7 +3461,7 @@ PayTable Ks+ 2P 3K STR FL FH 4K SF RF 5K RF (Bonus) ROM_LOAD( "cap740.u50", 0x0000, 0x0100, CRC(6fe619c4) SHA1(49e43dafd010ce0fe9b2a63b96a4ddedcb933c6d) ) ROM_END -ROM_START( pepp0050b ) // Normal board Joker Poker (PP0050) - Must use a SET chip to set denomination - PSR Verified +ROM_START( pepp0050c ) // Normal board: Joker Poker (PP0050) - Must use a SET chip to set denomination - PSR Verified /* w/J w/oJ PayTable Ks+ 2P 3K STR FL FH 4K SF RF 5K RF (Bonus) @@ -3395,7 +3483,7 @@ PayTable Ks+ 2P 3K STR FL FH 4K SF RF 5K RF (Bonus) ROM_LOAD( "cap740.u50", 0x0000, 0x0100, CRC(6fe619c4) SHA1(49e43dafd010ce0fe9b2a63b96a4ddedcb933c6d) ) ROM_END -ROM_START( pepp0050c ) // Normal board Joker Poker (PP0050) +ROM_START( pepp0050d ) // Normal board: Joker Poker (PP0050) /* w/J w/oJ PayTable Ks+ 2P 3K STR FL FH 4K SF RF 5K RF (Bonus) ---------------------------------------------------------------- @@ -3558,7 +3646,30 @@ PayTable 3K STR FL FH 4K SF 5K RF 4D RF (Bonus) ROM_LOAD( "cap1276.u50", 0x0000, 0x0100, CRC(4ce5aef5) SHA1(e9a9f358aedeb9ed917162eafd6ffade66d460e8) ) ROM_END -ROM_START( pepp0055b ) // Normal board Deuces Wild Poker (PP0055) - PSR Verified +ROM_START( pepp0055b ) // Normal board Deuces Wild Poker (PP0055) +/* + w/D w/oD +PayTable 3K STR FL FH 4K SF 5K RF 4D RF (Bonus) +------------------------------------------------------------ + P32A 1 2 2 3 4 10 15 25 200 250 800 + % Range: 90.8-92.8% Optimum: 94.8% Hit Frequency: 45.1% + Programs Available: PP0055, X000055P, PP0723 +*/ + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "pp0055_a47-a76.u68", 0x00000, 0x10000, CRC(adff06ea) SHA1(098409bd4474a69217e3cd17ee8c650005cc3e17) ) // Game Version: A47, Library Version: A76 - 10/23/95 @ IGT L95-2432 + + ROM_REGION( 0x020000, "tiles", 0 ) + ROM_LOAD( "mro-cg1317.u72", 0x00000, 0x8000, CRC(13e0b682) SHA1(d61cab824232c92ddbb86d9912695aebf5d39566) ) // Custom Casino Rouge card backs + ROM_LOAD( "mgo-cg1317.u73", 0x08000, 0x8000, CRC(0c884d55) SHA1(65c4a8e1f3eb0ecf8c108acbbfc6ace27f67f78b) ) + ROM_LOAD( "mbo-cg1317.u74", 0x10000, 0x8000, CRC(9389fb90) SHA1(d6ee1274b1b8e0f6b9688a819e55ba2907d41788) ) + ROM_LOAD( "mxo-cg1317.u75", 0x18000, 0x8000, CRC(6a816eb2) SHA1(e12294286aa36b94f999b6be2cc4ed9e6ab1accf) ) + + ROM_REGION( 0x100, "proms", 0 ) + ROM_LOAD( "cap1317.u50", 0x0000, 0x0100, NO_DUMP ) + ROM_LOAD( "cap773.u50", 0x0000, 0x0100, CRC(294b7b10) SHA1(a405a4b8547b713c5c02dacb19e7354095a7b584) ) +ROM_END + +ROM_START( pepp0055c ) // Normal board Deuces Wild Poker (PP0055) - PSR Verified /* w/D w/oD PayTable 3K STR FL FH 4K SF 5K RF 4D RF (Bonus) @@ -3580,7 +3691,7 @@ PayTable 3K STR FL FH 4K SF 5K RF 4D RF (Bonus) ROM_LOAD( "cap773.u50", 0x0000, 0x0100, CRC(294b7b10) SHA1(a405a4b8547b713c5c02dacb19e7354095a7b584) ) ROM_END -ROM_START( pepp0055c ) // Normal board Deuces Wild Poker (PP0055) +ROM_START( pepp0055d ) // Normal board Deuces Wild Poker (PP0055) /* w/D w/oD PayTable 3K STR FL FH 4K SF 5K RF 4D RF (Bonus) @@ -4095,6 +4206,29 @@ PayTable Js+ 2PR 3K STR FL FH 4K SF RF (Bonus) ROM_LOAD( "cap740.u50", 0x0000, 0x0100, CRC(6fe619c4) SHA1(49e43dafd010ce0fe9b2a63b96a4ddedcb933c6d) ) ROM_END +ROM_START( pepp0102 ) // Normal board : Standard Draw Poker (PP0102) +/* +PayTable Js+ 2PR 3K STR FL FH 4K SF RF (Bonus) +--------------------------------------------------------- + CA 1 2 3 4 6 9 25 50 250 800 + % Range: 95.5-97.5% Optimum: 99.5% Hit Frequency: 45.5% + Programs Available: PP0102 + +*/ + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "pp0102_553-544.u68", 0x00000, 0x8000, CRC(ae9ad12b) SHA1(f7cf5820d61aa189c79ddaf0e0f20a718ed4fbd2) ) // Game Version: 553, Library Version: 544, Video Lib Ver: 544 + ROM_RELOAD( 0x08000, 0x8000) // 32K version built using earlier gaming libraries + + ROM_REGION( 0x020000, "tiles", 0 ) + ROM_LOAD( "mro-cg740.u72", 0x00000, 0x8000, CRC(72667f6c) SHA1(89843f472cc0329317cfc643c63bdfd11234b194) ) // 08/12/87 @ IGT L87-2243 + ROM_LOAD( "mgo-cg740.u73", 0x08000, 0x8000, CRC(7437254a) SHA1(bba166dece8af58da217796f81117d0b05752b87) ) + ROM_LOAD( "mbo-cg740.u74", 0x10000, 0x8000, CRC(92e8c33e) SHA1(05344664d6fdd3f4205c50fa4ca76fc46c18cf8f) ) + ROM_LOAD( "mxo-cg740.u75", 0x18000, 0x8000, CRC(ce4cbe0b) SHA1(4bafcd68be94a5deaae9661584fa0fc940b834bb) ) + + ROM_REGION( 0x100, "proms", 0 ) + ROM_LOAD( "cap740.u50", 0x0000, 0x0100, CRC(6fe619c4) SHA1(49e43dafd010ce0fe9b2a63b96a4ddedcb933c6d) ) +ROM_END + ROM_START( pepp0103 ) // Normal board Deuces Wild Poker (PP0103) /* w/D w/oD @@ -4379,6 +4513,28 @@ PayTable 3K STR FL FH 4K SF 5K RF 4D RF (Bonus) ROM_LOAD( "cap773.u50", 0x0000, 0x0100, CRC(294b7b10) SHA1(a405a4b8547b713c5c02dacb19e7354095a7b584) ) ROM_END +ROM_START( pepp0123 ) // Normal board Deuces Wild Poker (PP0123) - PSR Verified +/* + w/D w/oD +PayTable 3K STR FL FH 4K SF 5K RF 4D RF (Bonus) +------------------------------------------------------------ + P58A 1 2 3 4 4 10 10 20 200 250 800 + % Range: 93.0-95.0% Optimum: 97.0% Hit Frequency: 44.4% + Programs Available: PP0123 +*/ + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "pp0123_a47-a76.u68", 0x00000, 0x10000, CRC(22eca15a) SHA1(58b717519045fcc40f443393150185a90dc7927b) ) // Game Version: A47, Library Version: A76 + + ROM_REGION( 0x020000, "tiles", 0 ) + ROM_LOAD( "mro-cg2133.u72", 0x00000, 0x8000, CRC(b21a789f) SHA1(c49f9b5f51c29bbc0e1392e86d6602bd44e46380) ) // 02/02/95 @ IGT L95-0276 + ROM_LOAD( "mgo-cg2133.u73", 0x08000, 0x8000, CRC(2b7db148) SHA1(d5ff5dde3589d28937d13dc5c4c38caa1ebf2d56) ) + ROM_LOAD( "mbo-cg2133.u74", 0x10000, 0x8000, CRC(6ed455b7) SHA1(e4f223606c19d09be501461f38520f423599e0a2) ) + ROM_LOAD( "mxo-cg2133.u75", 0x18000, 0x8000, CRC(095ea26d) SHA1(9bdd8afe67da2370c4ca2d8418f3afdaf7b557ff) ) + + ROM_REGION( 0x100, "proms", 0 ) + ROM_LOAD( "cap773.u50", 0x0000, 0x0100, CRC(294b7b10) SHA1(a405a4b8547b713c5c02dacb19e7354095a7b584) ) +ROM_END + ROM_START( pepp0125 ) // Normal board Deuces Wild Poker (PP0125) /* w/D w/oD @@ -4597,7 +4753,7 @@ PayTable Js+ 2PR 3K STR FL FH 4K 4K 4A SF RF (Bonus) ROM_LOAD( "pp0130_a4y-a6g.u68", 0x00000, 0x10000, CRC(bf9293f2) SHA1(79f5247a2d5447c89e281c618b09c7f7790176a2) ) // Game Version: A4Y, Library Version: A6G - 09/09/96 @ IGT L96-2634 ROM_REGION( 0x020000, "tiles", 0 ) - ROM_LOAD( "mro-cg2135.u72", 0x00000, 0x8000, CRC(ecb5c319) SHA1(8c6dce009017c919b4ebfeb0292cfb8819b652a0) ) // 02/08/95 @ IGT MS + ROM_LOAD( "mro-cg2135.u72", 0x00000, 0x8000, CRC(ecb5c319) SHA1(8c6dce009017c919b4ebfeb0292cfb8819b652a0) ) // 02/08/95 @ IGT MS - Grand Casino custom card backs ROM_LOAD( "mgo-cg2135.u73", 0x08000, 0x8000, CRC(98754b2a) SHA1(7f3838643a4af29b633149615221c930cd12ff49) ) ROM_LOAD( "mbo-cg2135.u74", 0x10000, 0x8000, CRC(517ad68a) SHA1(de3645a533fc7e7a7d192dc11df2ddc980fd3989) ) ROM_LOAD( "mxo-cg2135.u75", 0x18000, 0x8000, CRC(dc905cdc) SHA1(2c7032841d322a7e280a385a652f203e2fb8042e) ) @@ -5224,6 +5380,27 @@ PayTable Js+ 2PR 3K STR FL FH 4K SF RF (Bonus) ROM_LOAD( "cap740.u50", 0x0000, 0x0100, CRC(6fe619c4) SHA1(49e43dafd010ce0fe9b2a63b96a4ddedcb933c6d) ) ROM_END +ROM_START( pepp0197f ) // Normal board Standard Draw Poker (PP0197) - Multi Regional / Multi Currency - Tournament Mode capable +/* +PayTable Js+ 2PR 3K STR FL FH 4K SF RF (Bonus) +---------------------------------------------------------- + BA 1 2 3 4 5 8 25 50 250 800 + % Range: 93.8-95.8% Optimum: 97.8% Hit Frequency: 45.3% + Programs Available: PP0197, X000197P & PP0419 - Non Double-up Only +*/ + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "pp0197_a0b-a1s.u68", 0x00000, 0x10000, CRC(cbe05e5b) SHA1(1e15cbedda3dcd62da3a5dd2c133e7a15d8adcde) ) // Game Version: A0B, Library Version: A1S + + ROM_REGION( 0x020000, "tiles", 0 ) + ROM_LOAD( "mro-cg2014.u72", 0x00000, 0x8000, CRC(90220e65) SHA1(c03417e09b72c8f3afe182b15e41e9d9ae32a831) ) // 09/01/94 @IGT IGT-EURO + ROM_LOAD( "mgo-cg2014.u73", 0x08000, 0x8000, CRC(3189b3e3) SHA1(34c4c170dba74a50ffcbc5c5c97b37200b6d2509) ) + ROM_LOAD( "mbo-cg2014.u74", 0x10000, 0x8000, CRC(77650c39) SHA1(7e89682d0a192ef83288bc3ad22dea45129344f9) ) + ROM_LOAD( "mxo-cg2014.u75", 0x18000, 0x8000, CRC(af9c89a6) SHA1(e256259c20f5b1308e89c9fbb424d1396bccbcd1) ) + + ROM_REGION( 0x100, "proms", 0 ) + ROM_LOAD( "cap740.u50", 0x0000, 0x0100, CRC(6fe619c4) SHA1(49e43dafd010ce0fe9b2a63b96a4ddedcb933c6d) ) +ROM_END + ROM_START( pepp0203 ) // Normal board 4 of a Kind Bonus Poker (PP0203) - PSR Verified /* 5-K 2-4 @@ -5556,6 +5733,29 @@ PayTable Js+ 2PR 3K STR FL FH 4K SF RF (Bonus) ROM_LOAD( "cap740.u50", 0x0000, 0x0100, CRC(6fe619c4) SHA1(49e43dafd010ce0fe9b2a63b96a4ddedcb933c6d) ) ROM_END +ROM_START( pepp0231 ) // Normal board: Deuces Joker Wild Poker (PP0231) - PSR Verified +/* + With w/o w/o With + Wild JKR Wild JKR +PayTable 3K STR FL FH 4K SF 5K RF 4D RF 4D (Bonus) +--------------------------------------------------------------------- + ???? 1 2 3 3 3 5 8 10 25 250 1000 2000 + % Range: 92.9-94.9% Optimum: 96.9% Hit Frequency: 50.5% + Programs Available: PP0231 +*/ + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "pp0231_a1k-a37.u68", 0x00000, 0x10000, CRC(def57641) SHA1(0b6e2533194b04f8ae5b24bbf0af40829763f34f) ) // Game Version: A1K, Library Version: A37 + + ROM_REGION( 0x020000, "tiles", 0 ) + ROM_LOAD( "mro-cg2023.u72", 0x00000, 0x8000, CRC(06f11ac6) SHA1(c9b111ffef75257b88d8500e77b09565c5ccbc54) ) // 09/01/94 @ IGT L94-1943 + ROM_LOAD( "mgo-cg2023.u73", 0x08000, 0x8000, CRC(58db7723) SHA1(8cc10f9ed8c7da0d9aae780b9c2204d7c5890d83) ) + ROM_LOAD( "mbo-cg2023.u74", 0x10000, 0x8000, CRC(bbd02472) SHA1(ef05af64502cc7833fe69b0b1bffe4efbc50e6fa) ) + ROM_LOAD( "mxo-cg2023.u75", 0x18000, 0x8000, CRC(21028c83) SHA1(76c3d0811332ca9b3cdb19952dbe6897531f562d) ) + + ROM_REGION( 0x100, "proms", 0 ) + ROM_LOAD( "cap740.u50", 0x0000, 0x0100, CRC(6fe619c4) SHA1(49e43dafd010ce0fe9b2a63b96a4ddedcb933c6d) ) +ROM_END + ROM_START( pepp0232 ) // Normal board Patriot Poker (PP0232) /* Has 5 additional cards, 10 through Ace, with a US Flag for a Suit. @@ -5591,7 +5791,29 @@ Sequential Royal is left to right 10, J, Q, K, A ROM_LOAD( "cap1020.u50", 0x0000, 0x0100, CRC(abec7425) SHA1(b52223c4b6657d04230675bac6d100c103d9386a) ) ROM_END -ROM_START( pepp0242 ) // Normal board Deuces Wild Poker (PP0242) - Multi Regional / Multi Currency in English / Spanish - Tournament Mode capable - PSR Verified +ROM_START( pepp0242 ) // Normal board Deuces Wild Poker (PP0242) - PSR Verified +/* + w/D w/oD +PayTable 3K STR FL FH 4K SF 5K RF 4D RF (Bonus) +------------------------------------------------------------ + P56A 1 2 3 3 4 8 10 20 200 250 800 + % Range: 89.4-91.4% Optimum: 93.4% Hit Frequency: 45.1% + Programs Available: PP0242, X000242P +*/ + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "pp0242_a47-a76.u68", 0x00000, 0x10000, CRC(566b9b77) SHA1(ae04427ed2abf9a813dee6140a9de5f210678f83) ) // Game Version: A47, Library Version: A76 + + ROM_REGION( 0x020000, "tiles", 0 ) + ROM_LOAD( "mro-cg2133.u72", 0x00000, 0x8000, CRC(b21a789f) SHA1(c49f9b5f51c29bbc0e1392e86d6602bd44e46380) ) // 02/02/95 @ IGT L95-0276 + ROM_LOAD( "mgo-cg2133.u73", 0x08000, 0x8000, CRC(2b7db148) SHA1(d5ff5dde3589d28937d13dc5c4c38caa1ebf2d56) ) + ROM_LOAD( "mbo-cg2133.u74", 0x10000, 0x8000, CRC(6ed455b7) SHA1(e4f223606c19d09be501461f38520f423599e0a2) ) + ROM_LOAD( "mxo-cg2133.u75", 0x18000, 0x8000, CRC(095ea26d) SHA1(9bdd8afe67da2370c4ca2d8418f3afdaf7b557ff) ) + + ROM_REGION( 0x100, "proms", 0 ) + ROM_LOAD( "cap773.u50", 0x0000, 0x0100, CRC(294b7b10) SHA1(a405a4b8547b713c5c02dacb19e7354095a7b584) ) +ROM_END + +ROM_START( pepp0242a ) // Normal board Deuces Wild Poker (PP0242) - Multi Regional / Multi Currency in English / Spanish - Tournament Mode capable - PSR Verified /* w/D w/oD PayTable 3K STR FL FH 4K SF 5K RF 4D RF (Bonus) @@ -7427,7 +7649,29 @@ PayTable Js+ 2PR 3K STR FL FH 4K 4K 4A SF RF (Bonus) ROM_LOAD( "cap773.u50", 0x0000, 0x0100, CRC(294b7b10) SHA1(a405a4b8547b713c5c02dacb19e7354095a7b584) ) ROM_END -ROM_START( pepp0540a ) // Normal board Double Bonus Poker (PP0540) +ROM_START( pepp0540a ) // Normal board Double Bonus Poker (PP0540) - PSR Verified +/* + 5-K 2-4 +PayTable Js+ 2PR 3K STR FL FH 4K 4K 4A SF RF (Bonus) +----------------------------------------------------------------- + P325A 1 2 3 4 5 8 50 80 160 50 250 800 + % Range: 93.8-95.8% Optimum: 97.8% Hit Frequency: 44.5% + Programs Available: PP0516, X000516P & PP0540 - Non Double-up Only +*/ + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "pp0540_a0n-a23.u68", 0x00000, 0x10000, CRC(f3a7dd5c) SHA1(56cd34462f208df8c6b649238cafc911d448ad49) ) // Game Version: A0N, Library Version: A23, Video Lib ver: A0Y + + ROM_REGION( 0x020000, "tiles", 0 ) + ROM_LOAD( "mro-cg2003.u72", 0x00000, 0x8000, CRC(0d425f48) SHA1(b60aaf3f4bd76f75f72f6e8dda724bdf795cb521) ) // 08/30/94 @ IGT L95-0145 + ROM_LOAD( "mgo-cg2003.u73", 0x08000, 0x8000, CRC(add0afc4) SHA1(0519bf2f36cb67140933b2c533e625544f27d16b) ) + ROM_LOAD( "mbo-cg2003.u74", 0x10000, 0x8000, CRC(8649dec0) SHA1(0024d3a8fd85279552910b14b69b225bda93957f) ) + ROM_LOAD( "mxo-cg2003.u75", 0x18000, 0x8000, CRC(904631cd) SHA1(d280a2f16b51a04b3f601db3535980a765c60e6f) ) + + ROM_REGION( 0x100, "proms", 0 ) + ROM_LOAD( "cap904.u50", 0x0000, 0x0100, CRC(0eec8336) SHA1(a6585c978dbc2f4f3818e3a5b92f8c28be23c4c0) ) +ROM_END + +ROM_START( pepp0540b ) // Normal board Double Bonus Poker (PP0540) /* 5-K 2-4 PayTable Js+ 2PR 3K STR FL FH 4K 4K 4A SF RF (Bonus) @@ -7931,7 +8175,7 @@ PayTable Js+ 2PR 3K STR FL FH 4K 4K 4A SF RF (Bonus) ROM_LOAD( "pp0733_a4y-a6g.u68", 0x00000, 0x10000, CRC(027e8e0c) SHA1(8735a6d9cc59ac5ecb615a4e437fb5beaac0dc9f) ) // Game Version: A4Y, Library Version: A6G, Video Lib Ver: A0Y - 05/09/96 @ IGT MS ROM_REGION( 0x020000, "tiles", 0 ) - ROM_LOAD( "mro-cg2135.u72", 0x00000, 0x8000, CRC(ecb5c319) SHA1(8c6dce009017c919b4ebfeb0292cfb8819b652a0) ) // 02/08/95 @ IGT MS + ROM_LOAD( "mro-cg2135.u72", 0x00000, 0x8000, CRC(ecb5c319) SHA1(8c6dce009017c919b4ebfeb0292cfb8819b652a0) ) // 02/08/95 @ IGT MS - Grand Casino custom card backs ROM_LOAD( "mgo-cg2135.u73", 0x08000, 0x8000, CRC(98754b2a) SHA1(7f3838643a4af29b633149615221c930cd12ff49) ) ROM_LOAD( "mbo-cg2135.u74", 0x10000, 0x8000, CRC(517ad68a) SHA1(de3645a533fc7e7a7d192dc11df2ddc980fd3989) ) ROM_LOAD( "mxo-cg2135.u75", 0x18000, 0x8000, CRC(dc905cdc) SHA1(2c7032841d322a7e280a385a652f203e2fb8042e) ) @@ -9610,6 +9854,20 @@ ROM_START( peps0275a ) // Normal board 4th of July Slots (PS0275) - Payout 92.52 ROM_LOAD( "cap1225.u50", 0x0000, 0x0100, CRC(3fa46756) SHA1(a7f3fd6aaa64f3c3ed5e83068b42b39a6dc7f00d) ) ROM_END +ROM_START( peps0278 ) // Normal board 4th of July Slots (PS0278) - Payout 94.95% + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "ps0278_571-a3h.u68", 0x00000, 0x10000, CRC(5740ce11) SHA1(30f5e73bd36e82dfd764170b4c2d3dbac4067ce4) ) // 3 Coins Max / 1 Line + + ROM_REGION( 0x020000, "tiles", 0 ) + ROM_LOAD( "mro-cg1225.u72", 0x00000, 0x8000, CRC(49fe4fff) SHA1(f886791668427f9d7d42da07cea94c024413a983) ) // 07/12/93 @IGT MN + ROM_LOAD( "mgo-cg1225.u73", 0x08000, 0x8000, CRC(b6982a78) SHA1(d3853f14d4a4fad9633f482bdd24756d4416d9eb) ) + ROM_LOAD( "mbo-cg1225.u74", 0x10000, 0x8000, CRC(1363c0bd) SHA1(70d11a201b228b8d51d8a0b16e0ef8d799f8e346) ) + ROM_LOAD( "mxo-cg1225.u75", 0x18000, 0x8000, CRC(a3ba92d9) SHA1(43285157ed30a93dd2e96468fa1086eab069a58b) ) + + ROM_REGION( 0x100, "proms", 0 ) + ROM_LOAD( "cap1225.u50", 0x0000, 0x0100, CRC(3fa46756) SHA1(a7f3fd6aaa64f3c3ed5e83068b42b39a6dc7f00d) ) +ROM_END + ROM_START( peps0280 ) // Normal board 4th of July Slots (PS0280) - Payout 90.04% ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "ps0280_571-a3h.u68", 0x00000, 0x10000, CRC(752eb09e) SHA1(551da5a1f1abcdcc25e84e25fdd8ca3264e9ac0a) ) // 3 Coins Max / 1 Line - 11/08/94 @IGT MN @@ -11032,7 +11290,32 @@ PayTable 3K STR FL FH 4K SF 5K RF 4D RF (Bonus) ROM_LOAD( "capx1321.u43", 0x0000, 0x0200, CRC(4b57569f) SHA1(fa29c0f627e7ce79951ec6dadec114864144f37d) ) ROM_END -ROM_START( pex0127p ) // Superboard : Deuces Wild Poker (X000127P+XP000038) - PSR Verified +ROM_START( pex0126p ) // Superboard : Deuces Wild Poker (X000126P+XP000038) - PSR Verified +/* + w/D w/oD +PayTable 3K STR FL FH 4K SF 5K RF 4D RF (Bonus) +------------------------------------------------------------ + P63A 1 2 2 3 5 9 12 20 200 250 800 + % Range: 93.2-95.2% Optimum: 97.2% Hit Frequency: 44.5% + Programs Available: PP0126, X000126P +*/ + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "xp000038.u67", 0x00000, 0x10000, CRC(8707ab9e) SHA1(3e00a2ad8017e1495c6d6fe900d0efa68a1772b8) ) // 09/05/95 @ IGT L95-2452 + + ROM_REGION( 0x10000, "user1", 0 ) + ROM_LOAD( "x000126p.u66", 0x00000, 0x10000, CRC(9f1246ef) SHA1(af70c99a421f98351f1744456201c7f871a93beb) ) // Deuces Wild Poker + + ROM_REGION( 0x020000, "tiles", 0 ) + ROM_LOAD( "mro-cg2242.u77", 0x00000, 0x8000, CRC(963a7e7d) SHA1(ebb159f6c731a3f912382745ef9a9c6d4fa2fc99) ) // 03/19/96 @ IGT L96-0703 + ROM_LOAD( "mgo-cg2242.u78", 0x08000, 0x8000, CRC(53eed56f) SHA1(e79f31c5c817b8b96b4970c1a702d1892961d441) ) + ROM_LOAD( "mbo-cg2242.u79", 0x10000, 0x8000, CRC(af092f50) SHA1(53a3536593bb14c4072e8a5ee9e05af332feceb1) ) + ROM_LOAD( "mxo-cg2242.u80", 0x18000, 0x8000, CRC(ecacb6b2) SHA1(32660adcc266fbbb3702a0cd30e25d11b953d23d) ) + + ROM_REGION( 0x200, "proms", 0 ) + ROM_LOAD( "capx1321.u43", 0x0000, 0x0200, CRC(4b57569f) SHA1(fa29c0f627e7ce79951ec6dadec114864144f37d) ) +ROM_END + +ROM_START( pex0127p ) // Superboard : Deuces Joker Wild Poker (X000127P+XP000038) - PSR Verified /* With w/o w/o With Wild JKR Wild JKR @@ -11046,7 +11329,7 @@ PayTable 3K STR FL FH 4K SF 5K RF 4D RF 4D (Bonus) ROM_LOAD( "xp000038.u67", 0x00000, 0x10000, CRC(8707ab9e) SHA1(3e00a2ad8017e1495c6d6fe900d0efa68a1772b8) ) // 09/05/95 @ IGT L95-2452 ROM_REGION( 0x10000, "user1", 0 ) - ROM_LOAD( "x000127p.u66", 0x00000, 0x10000, CRC(8e833642) SHA1(5068cc3290e24068a688c4159e2c6d981f3495b1) ) // Deuces Wild Poker + ROM_LOAD( "x000127p.u66", 0x00000, 0x10000, CRC(8e833642) SHA1(5068cc3290e24068a688c4159e2c6d981f3495b1) ) // Deuces Joker Wild Poker ROM_REGION( 0x020000, "tiles", 0 ) ROM_LOAD( "mro-cg2242.u77", 0x00000, 0x8000, CRC(963a7e7d) SHA1(ebb159f6c731a3f912382745ef9a9c6d4fa2fc99) ) // 03/19/96 @ IGT L96-0703 @@ -12223,6 +12506,34 @@ PayTable Js+ 2PR 3K STR FL FH 4K 4K 4A SF RF (Bonus) ROM_LOAD( "capx1321.u43", 0x0000, 0x0200, CRC(4b57569f) SHA1(fa29c0f627e7ce79951ec6dadec114864144f37d) ) ROM_END +ROM_START( pex2001p ) // Superboard : Double Double Bonus Poker (X002001P+XP000038) PSR Verified +/* + 2-4 4A + 5-K 2-4 4K with +PayTable Js+ 2PR 3K STR FL FH 4K 4K 4A with A 2-4 SF RF (Bonus) +------------------------------------------------------------------------------ + P505A 1 1 3 4 5 9 50 80 160 160 400 50 250 800 + % Range: 93.8-95.8% Optimum: 97.8% Hit Frequency: 44.7% + Programs Available: X002001P + +NOTE: Same payout as X002068P but internally reports a return of 96.7% instead of 96.8% +*/ + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "xp000038.u67", 0x00000, 0x10000, CRC(8707ab9e) SHA1(3e00a2ad8017e1495c6d6fe900d0efa68a1772b8) ) // 09/05/95 @ IGT L95-2452 + + ROM_REGION( 0x10000, "user1", 0 ) + ROM_LOAD( "x002001p.u66", 0x00000, 0x10000, CRC(36864b6e) SHA1(cc3392622e596c98a8596ae214a60d53868f0638) ) // Double Double Bonus Poker + + ROM_REGION( 0x020000, "tiles", 0 ) + ROM_LOAD( "mro-cg2242.u77", 0x00000, 0x8000, CRC(963a7e7d) SHA1(ebb159f6c731a3f912382745ef9a9c6d4fa2fc99) ) // 03/19/96 @ IGT L96-0703 + ROM_LOAD( "mgo-cg2242.u78", 0x08000, 0x8000, CRC(53eed56f) SHA1(e79f31c5c817b8b96b4970c1a702d1892961d441) ) + ROM_LOAD( "mbo-cg2242.u79", 0x10000, 0x8000, CRC(af092f50) SHA1(53a3536593bb14c4072e8a5ee9e05af332feceb1) ) + ROM_LOAD( "mxo-cg2242.u80", 0x18000, 0x8000, CRC(ecacb6b2) SHA1(32660adcc266fbbb3702a0cd30e25d11b953d23d) ) + + ROM_REGION( 0x200, "proms", 0 ) + ROM_LOAD( "capx1321.u43", 0x0000, 0x0200, CRC(4b57569f) SHA1(fa29c0f627e7ce79951ec6dadec114864144f37d) ) +ROM_END + ROM_START( pex2002p ) // Superboard : Double Double Bonus Poker (X002002P+XP000038) PSR Verified /* 2-4 4A @@ -12922,7 +13233,7 @@ ROM_START( pex2066p ) // Superboard : Double Double Bonus Poker (X002066P+XP0000 5-K 2-4 with with PayTable Js+ 2PR 3K STR FL FH 4K 4K 4A A,2-4 2-4 SF RF (Bonus) ----------------------------------------------------------------------------- - P505A 1 1 3 4 6 9 50 80 160 160 400 50 250 800 + P506A 1 1 3 4 6 9 50 80 160 160 400 50 250 800 % Range: 95.0-97.0% Optimum: 99.0% Hit Frequency: 44.7% Programs Available: X002066P */ @@ -12950,7 +13261,7 @@ ROM_START( pex2067p ) // Superboard : Double Double Bonus Poker (X002067P+XP0000 PayTable Js+ 2PR 3K STR FL FH 4K 4K 4A A,2-4 2-4 SF RF (Bonus) ----------------------------------------------------------------------------- P505A 1 1 3 4 5 9 50 80 160 160 400 50 250 800 - % Range: 93.9-95.9% Optimum: 97.9% Hit Frequency: 44.8% + % Range: 93.8-95.8% Optimum: 97.8% Hit Frequency: 44.8% Programs Available: X002067P */ ROM_REGION( 0x10000, "maincpu", 0 ) @@ -13158,6 +13469,41 @@ Also compatible with: ROM_LOAD( "capx1321.u43", 0x0000, 0x0200, CRC(4b57569f) SHA1(fa29c0f627e7ce79951ec6dadec114864144f37d) ) ROM_END +ROM_START( pex2133p ) // Superboard : Faces 'n' Deuces Double Bonus Poker (X002133P+XP000043) - PSR Verified +/* + with + 5-K 2-4 Face +PayTable Js+ 2PR 3K STR FL FH 4K 4K 4A 4D SF RF (Bonus) +--------------------------------------------------------------------- + P434A 1 1 3 4 5 8 50 80 160 200 50 250 800 + % Range: 91.1-93.1% Optimum: 95.1% Hit Frequency: 44.3% + Programs Available: X002133P + +Bonus "Dealt" payouts per Coin In are: + Dealt 4 Deuces with Face - 800 + +Designed and co-created by Best Bet Products + +Also compatible with: + XP000031 + CG2244 + CAPX1321 + +*/ + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "xp000043.u67", 0x00000, 0x10000, CRC(630756ee) SHA1(b5582bdd0172ad926d4a7636c27afa3a0fbc0fd1) ) // 8/5/96 L96/1960 + + ROM_REGION( 0x10000, "user1", 0 ) + ROM_LOAD( "x002133p.u66", 0x00000, 0x10000, CRC(66fa8197) SHA1(a8b0df821fdafcc00159bbf8255caf05ae34701f) ) // Faces 'n' Deuces Double Bonus + + ROM_REGION( 0x020000, "tiles", 0 ) + ROM_LOAD( "mro-cg2244.u77", 0x00000, 0x8000, CRC(25561458) SHA1(fe5d624e0e16956df589f3682bad9181bdc99956) ) // 04/18/96 L96/0977 BBP + ROM_LOAD( "mgo-cg2244.u78", 0x08000, 0x8000, CRC(b2de0a7a) SHA1(34f0ef951560f6f71e14c822baa4ccb1028b5028) ) + ROM_LOAD( "mbo-cg2244.u79", 0x10000, 0x8000, CRC(d2c12418) SHA1(dfb1aebaac23ff6e2cf556f228dbdb7c272a1b30) ) + ROM_LOAD( "mxo-cg2244.u80", 0x18000, 0x8000, CRC(8dc10a99) SHA1(92edb31f44e52609ed1ba2a53577048d424c6238) ) + + ROM_REGION( 0x200, "proms", 0 ) + ROM_LOAD( "capx1321.u43", 0x0000, 0x0200, CRC(4b57569f) SHA1(fa29c0f627e7ce79951ec6dadec114864144f37d) ) +ROM_END + ROM_START( pex2134p ) // Superboard : Faces 'n' Deuces Double Bonus Poker (X002134P+XP000043) - PSR Verified /* with @@ -13908,6 +14254,31 @@ PayTable Js+ 2PR STR FL FH 4K SF 4K 4K 4A 4K 4K 4A RF (Bonus) ROM_LOAD( "capx1321.u43", 0x0000, 0x0200, CRC(4b57569f) SHA1(fa29c0f627e7ce79951ec6dadec114864144f37d) ) ROM_END +ROM_START( pex2278p ) // Superboard : Joker Poker (X002278P+XP000038) - PSR Verified +/* + w/J w/oJ +PayTable 2P 3K STR FL FH 4K SF RF 5K RF (Bonus) +----------------------------------------------------------- + ???? 1 2 4 5 6 15 100 100 400 100 800 + % Range: 89.4-91.4% Optimum: 93.4% Hit Frequency: 30.1% + Programs Available: X002278P +*/ + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "xp000038.u67", 0x00000, 0x10000, CRC(8707ab9e) SHA1(3e00a2ad8017e1495c6d6fe900d0efa68a1772b8) ) // 09/05/95 @ IGT L95-2452 + + ROM_REGION( 0x10000, "user1", 0 ) + ROM_LOAD( "x002278p.u66", 0x00000, 0x10000, CRC(6a10c454) SHA1(fb1a2315c74a964845966a64d7baf331bee36875) ) // Joker Poker + + ROM_REGION( 0x020000, "tiles", 0 ) + ROM_LOAD( "mro-cg2242.u77", 0x00000, 0x8000, CRC(963a7e7d) SHA1(ebb159f6c731a3f912382745ef9a9c6d4fa2fc99) ) // 03/19/96 @ IGT L96-0703 + ROM_LOAD( "mgo-cg2242.u78", 0x08000, 0x8000, CRC(53eed56f) SHA1(e79f31c5c817b8b96b4970c1a702d1892961d441) ) + ROM_LOAD( "mbo-cg2242.u79", 0x10000, 0x8000, CRC(af092f50) SHA1(53a3536593bb14c4072e8a5ee9e05af332feceb1) ) + ROM_LOAD( "mxo-cg2242.u80", 0x18000, 0x8000, CRC(ecacb6b2) SHA1(32660adcc266fbbb3702a0cd30e25d11b953d23d) ) + + ROM_REGION( 0x200, "proms", 0 ) + ROM_LOAD( "capx1321.u43", 0x0000, 0x0200, CRC(4b57569f) SHA1(fa29c0f627e7ce79951ec6dadec114864144f37d) ) +ROM_END + ROM_START( pex2279p ) // Superboard : ACE$ Bonus (X002283P+XP000057) - PSR Verified /* 5-K 2-4 @@ -15917,11 +16288,14 @@ GAMEL( 1987, pepp0042b, pepp0001, peplus, peplus_poker, peplus_state, init_pepl GAMEL( 1987, pepp0043, pepp0001, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0043) 10's or Better", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0043a, pepp0001, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0043) 10's or Better (International, set 1)",MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0043b, pepp0001, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0043) 10's or Better (International, set 2)",MACHINE_SUPPORTS_SAVE, layout_pe_poker ) -GAMEL( 1987, pepp0045, pepp0001, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0045) 10's or Better", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) -GAMEL( 1987, pepp0045a, pepp0001, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0045) 10's or Better (Gambler Downtown Reno)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) -GAMEL( 1987, pepp0045b, pepp0001, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0045) 10's or Better (Par-A-Dice Riverboat Casino)", MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE, layout_pe_poker ) // CAP1150 not dumped -GAMEL( 1987, pepp0045c, pepp0001, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0045) 10's or Better (Annie Oakley's Central City)", MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE, layout_pe_poker ) // CAP1072 not dumped -GAMEL( 1987, pepp0045d, pepp0001, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0045) 10's or Better (Las Vegas Rio)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) +GAMEL( 1987, pepp0045, pepp0001, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0045) 10's or Better (set 1)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) +GAMEL( 1987, pepp0045a, pepp0001, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0045) 10's or Better (set 2, Gambler Downtown Reno)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) +GAMEL( 1987, pepp0045b, pepp0001, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0045) 10's or Better (set 3, Par-A-Dice Riverboat Casino)", MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE, layout_pe_poker ) // CAP1150 not dumped +GAMEL( 1987, pepp0045c, pepp0001, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0045) 10's or Better (set 4, Annie Oakley's Central City)", MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE, layout_pe_poker ) // CAP1072 not dumped +GAMEL( 1987, pepp0045d, pepp0001, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0045) 10's or Better (set 5, Las Vegas Rio)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) +GAMEL( 1987, pepp0045e, pepp0001, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0045) 10's or Better (set 6, Circus Circus)", MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE, layout_pe_poker ) // CAP737 not dumped +GAMEL( 1987, pepp0045f, pepp0001, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0045) 10's or Better (set 7, Old Reno Casino)", MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE, layout_pe_poker ) // CAP994 not dumped +GAMEL( 1987, pepp0045g, pepp0001, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0045) 10's or Better (set 8, Harrah's)", MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE, layout_pe_poker ) // CAP754 not dumped GAMEL( 1987, pepp0046, pepp0001, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0046) 10's or Better (set 1)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0046a, pepp0001, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0046) 10's or Better (International, set 1)",MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0046b, pepp0001, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0046) 10's or Better (International, set 2)",MACHINE_SUPPORTS_SAVE, layout_pe_poker ) @@ -15931,17 +16305,19 @@ GAMEL( 1987, pepp0048a, pepp0048, peplus, peplus_poker, peplus_state, init_nonp GAMEL( 1987, pepp0048b, pepp0048, peplus, peplus_poker, peplus_state, init_nonplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0048) Joker Poker (set 3)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0048c, pepp0048, peplus, peplus_poker, peplus_state, init_nonplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0048) Joker Poker (set 4)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0050, pepp0048, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0050) Joker Poker (set 1)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) -GAMEL( 1987, pepp0050a, pepp0048, peplus, peplus_poker, peplus_state, init_nonplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0050) Joker Poker (set 2)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) -GAMEL( 1987, pepp0050b, pepp0048, peplus, peplus_poker, peplus_state, init_nonplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0050) Joker Poker (set 3)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) -GAMEL( 1987, pepp0050c, pepp0048, peplus, peplus_poker, peplus_state, init_nonplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0050) Joker Poker (set 4, El Cortez)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) +GAMEL( 1987, pepp0050a, pepp0048, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0050) Joker Poker (set 2)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) +GAMEL( 1987, pepp0050b, pepp0048, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0050) Joker Poker (set 3)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) +GAMEL( 1987, pepp0050c, pepp0048, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0050) Joker Poker (set 4)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) +GAMEL( 1987, pepp0050d, pepp0048, peplus, peplus_poker, peplus_state, init_nonplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0050) Joker Poker (set 5, El Cortez)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0051, pepp0048, peplus, peplus_poker, peplus_state, init_nonplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0051) Joker Poker", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0052, pepp0048, peplus, peplus_poker, peplus_state, init_nonplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0052) Joker Poker (Aces or Better)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0053, pepp0048, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0053) Joker Poker (Aces or Better)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0054, 0, peplus, peplus_poker, peplus_state, init_nonplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0054) Deuces Wild Poker (El Cortez)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0055, pepp0054, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0055) Deuces Wild Poker (set 1)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0055a, pepp0054, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0055) Deuces Wild Poker (set 2, Skyline Casino)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) -GAMEL( 1987, pepp0055b, pepp0054, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0055) Deuces Wild Poker (set 3)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) -GAMEL( 1987, pepp0055c, pepp0054, peplus, peplus_poker, peplus_state, init_nonplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0055) Deuces Wild Poker (set 4)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) +GAMEL( 1987, pepp0055b, pepp0054, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0055) Deuces Wild Poker (set 3, Casino Rouge)", MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE, layout_pe_poker ) // CAP1317 not dumped +GAMEL( 1987, pepp0055c, pepp0054, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0055) Deuces Wild Poker (set 4)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) +GAMEL( 1987, pepp0055d, pepp0054, peplus, peplus_poker, peplus_state, init_nonplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0055) Deuces Wild Poker (set 5)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0057, pepp0054, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0057) Deuces Wild Poker (set 1)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0057a, pepp0054, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0057) Deuces Wild Poker (set 2)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0057b, pepp0054, peplus, peplus_poker, peplus_state, init_nonplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0057) Deuces Wild Poker (set 3, El Cortez)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) @@ -15964,6 +16340,7 @@ GAMEL( 1987, pepp0085, pepp0001, peplus, peplus_poker, peplus_state, init_nonp GAMEL( 1987, pepp0089, pepp0001, peplus, peplus_poker, peplus_state, init_nonplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0089) Standard Draw Poker", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0094, pepp0001, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0094) Standard Draw Poker (set 1)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0094a, pepp0001, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0094) Standard Draw Poker (set 2)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) +GAMEL( 1987, pepp0102, pepp0001, peplus, peplus_poker, peplus_state, init_nonplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0102) Standard Draw Poker", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0103, pepp0054, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0103) Deuces Wild Poker (set 1)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0103a, pepp0054, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0103) Deuces Wild Poker (set 2)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0103b, pepp0054, peplus, peplus_poker, peplus_state, init_nonplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0103) Deuces Wild Poker (set 3)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) @@ -15976,6 +16353,7 @@ GAMEL( 1987, pepp0117, pepp0001, peplus, peplus_poker, peplus_state, init_nonp GAMEL( 1987, pepp0118, pepp0001, peplus, peplus_poker, peplus_state, init_nonplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0118) Standard Draw Poker", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0120, 0, peplus, peplus_poker, peplus_state, init_nonplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0120) Wild Sevens Poker", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0122, pepp0054, peplus, peplus_poker, peplus_state, init_nonplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0122) Deuces Wild Poker", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) +GAMEL( 1987, pepp0123, pepp0054, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0123) Deuces Wild Poker", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0125, pepp0054, peplus, peplus_poker, peplus_state, init_nonplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0125) Deuces Wild Poker (set 1)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0125a, pepp0054, peplus, peplus_poker, peplus_state, init_nonplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0125) Deuces Wild Poker (set 2)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0126, pepp0054, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0126) Deuces Wild Poker (set 1)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) @@ -15985,7 +16363,7 @@ GAMEL( 1987, pepp0127, 0, peplus, peplus_poker, peplus_state, init_pepl GAMEL( 1987, pepp0127a, pepp0127, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0127) Deuces Joker Wild Poker (set 2)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0127b, pepp0127, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0127) Deuces Joker Wild Poker (International)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0129, pepp0048, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0129) Joker Poker (Two Pair or Better)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) -GAMEL( 1987, pepp0130, 0, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0130) Aces and Faces Bonus Poker", MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE, layout_pe_poker ) // CAP1292 not dumped +GAMEL( 1987, pepp0130, 0, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0130) Aces and Faces Bonus Poker (Grand Casino)", MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE, layout_pe_poker ) // CAP1292 not dumped GAMEL( 1987, pepp0132, pepp0001, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0132) Standard Draw Poker", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0143, pepp0127, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0143) Deuces Joker Wild Poker", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0150, pepp0001, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0150) Standard Draw Poker", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) @@ -16014,6 +16392,7 @@ GAMEL( 1987, pepp0197b, pepp0001, peplus, peplus_poker, peplus_state, init_pepl GAMEL( 1987, pepp0197c, pepp0001, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0197) Standard Draw Poker (set 4)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0197d, pepp0001, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0197) Standard Draw Poker (set 5)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0197e, pepp0001, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0197) Standard Draw Poker (Cruise)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) +GAMEL( 1987, pepp0197f, pepp0001, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0197) Standard Draw Poker (International)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0203, pepp0158, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0203) 4 of a Kind Bonus Poker (set 1)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0203a, pepp0158, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0203) 4 of a Kind Bonus Poker (set 2)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0203b, pepp0158, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0203) 4 of a Kind Bonus Poker (set 3)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) @@ -16029,8 +16408,10 @@ GAMEL( 1987, pepp0223, pepp0127, peplus, peplus_poker, peplus_state, init_pepl GAMEL( 1987, pepp0224, pepp0054, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0224) Deuces Wild Poker (set 1)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0224a, pepp0054, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0224) Deuces Wild Poker (set 2)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0230, pepp0001, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0230) Standard Draw Poker", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) +GAMEL( 1987, pepp0231, pepp0127, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0231) Deuces Joker Wild Poker", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0232, 0, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0232) Patriot Poker", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) -GAMEL( 1987, pepp0242, pepp0054, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0242) Deuces Wild Poker (International English/Spanish)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) +GAMEL( 1987, pepp0242, pepp0054, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0242) Deuces Wild Poker", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) +GAMEL( 1987, pepp0242a, pepp0054, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0242) Deuces Wild Poker (International English/Spanish)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0249, pepp0054, peplus, peplus_poker, peplus_state, init_nonplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0249) Deuces Wild Poker", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0250, 0, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0250) Double Down Stud Poker (set 1)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0250a, pepp0250, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0250) Double Down Stud Poker (set 2)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) @@ -16115,6 +16496,7 @@ GAMEL( 1987, pepp0536, pepp0048, peplus, peplus_poker, peplus_state, init_pepl GAMEL( 1987, pepp0538, pepp0514, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0538) Double Bonus Poker", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0540, pepp0514, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0540) Double Bonus Poker (set 1)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0540a, pepp0514, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0540) Double Bonus Poker (set 2)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) +GAMEL( 1987, pepp0540b, pepp0514, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0540) Double Bonus Poker (set 3)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0542, 0, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0542) One Eyed Jacks Wild Poker (CG2243)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0542a, pepp0542, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0542) One Eyed Jacks Wild Poker (CG2020)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0542b, pepp0542, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0542) One Eyed Jacks Wild Poker (CG1199)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) @@ -16136,7 +16518,7 @@ GAMEL( 1987, pepp0725a, pepp0514, peplus, peplus_poker, peplus_state, init_pepl GAMEL( 1987, pepp0726, pepp0514, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0726) Double Bonus Poker", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0728, pepp0514, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0728) Double Bonus Poker", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0729, pepp0514, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0729) Double Bonus Poker", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) -GAMEL( 1987, pepp0733, 0, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0733) Double Aces and Faces Bonus Poker", MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE, layout_pe_poker ) // CAP1292 not dumped +GAMEL( 1987, pepp0733, 0, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0733) Double Aces and Faces Bonus Poker (Grand Casino)", MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE, layout_pe_poker ) // CAP1292 not dumped GAMEL( 1987, pepp0750, pepp0001, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0750) Standard Draw Poker (set 1)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0750a, pepp0001, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0750) Standard Draw Poker (set 2)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1987, pepp0757, pepp0250, peplus, peplus_poker, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PP0757) Double Down Stud Joker Poker", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) @@ -16235,6 +16617,7 @@ GAMEL( 1996, peps0267, 0, peplus, peplus_slots, peplus_state, init_pepl GAMEL( 1996, peps0271, peps0267, peplus, peplus_slots, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PS0271) Spin Til You Win Slots", MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE, layout_pe_slots ) // CAP1227 not dumped GAMEL( 1996, peps0275, 0, peplus, peplus_slots, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PS0275) 4th of July Slots (set 1)", MACHINE_SUPPORTS_SAVE, layout_pe_slots ) GAMEL( 1996, peps0275a, peps0275, peplus, peplus_slots, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PS0275) 4th of July Slots (set 2)", MACHINE_SUPPORTS_SAVE, layout_pe_slots ) +GAMEL( 1996, peps0278, peps0275, peplus, peplus_slots, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PS0278) 4th of July Slots", MACHINE_SUPPORTS_SAVE, layout_pe_slots ) GAMEL( 1996, peps0280, peps0275, peplus, peplus_slots, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PS0280) 4th of July Slots (set 1)", MACHINE_SUPPORTS_SAVE, layout_pe_slots ) GAMEL( 1996, peps0280a, peps0275, peplus, peplus_slots, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PS0280) 4th of July Slots (set 2)", MACHINE_SUPPORTS_SAVE, layout_pe_slots ) GAMEL( 1996, peps0291, 0, peplus, peplus_slots, peplus_state, init_peplus, ROT0, "IGT - International Game Technology", "Player's Edge Plus (PS0291) Haywire Slots", MACHINE_SUPPORTS_SAVE, layout_pe_slots ) @@ -16310,7 +16693,8 @@ GAMEL( 1995, pex0057pf, pex0057p, peplus, peplus_poker, peplus_state, init_pepl GAMEL( 1995, pex0057pg, pex0057p, peplus, peplus_poker, peplus_state, init_peplussb, ROT0, "IGT - International Game Technology", "Player's Edge Plus (X000057P+XP000038) Deuces Wild Poker (MGM Grand Casino)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1995, pex0060p, 0, peplus, peplus_poker, peplus_state, init_peplussb, ROT0, "IGT - International Game Technology", "Player's Edge Plus (X000060P+XP000038) Standard Draw Poker", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1995, pex0124p, 0, peplus, peplus_poker, peplus_state, init_peplussb, ROT0, "IGT - International Game Technology", "Player's Edge Plus (X000124P+XP000038) Deuces Wild Poker", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) -GAMEL( 1995, pex0127p, 0, peplus, peplus_poker, peplus_state, init_peplussb, ROT0, "IGT - International Game Technology", "Player's Edge Plus (X000127P+XP000038) Deuces Wild Poker", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) +GAMEL( 1995, pex0126p, 0, peplus, peplus_poker, peplus_state, init_peplussb, ROT0, "IGT - International Game Technology", "Player's Edge Plus (X000126P+XP000038) Deuces Wild Poker", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) +GAMEL( 1995, pex0127p, 0, peplus, peplus_poker, peplus_state, init_peplussb, ROT0, "IGT - International Game Technology", "Player's Edge Plus (X000127P+XP000038) Deuces Joker Wild Poker", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1995, pex0150p, 0, peplus, peplus_poker, peplus_state, init_peplussb, ROT0, "IGT - International Game Technology", "Player's Edge Plus (X000150P+XP000038) Standard Draw Poker", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1995, pex0158p, 0, peplus, peplus_poker, peplus_state, init_peplussb, ROT0, "IGT - International Game Technology", "Player's Edge Plus (X000158P+XP000038) 4 of a Kind Bonus Poker", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1995, pex0171p, 0, peplus, peplus_poker, peplus_state, init_peplussb, ROT0, "IGT - International Game Technology", "Player's Edge Plus (X000171P+XP000038) Joker Poker", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) @@ -16357,6 +16741,7 @@ GAMEL( 1995, pex0726p, 0, peplus, peplus_poker, peplus_state, init_pepl GAMEL( 1995, pex0727p, 0, peplus, peplus_poker, peplus_state, init_peplussb, ROT0, "IGT - International Game Technology", "Player's Edge Plus (X000727P+XP000038) Double Bonus Poker", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1995, pex0763p, 0, peplus, peplus_poker, peplus_state, init_peplussb, ROT0, "IGT - International Game Technology", "Player's Edge Plus (X000763P+XP000038) 4 of a Kind Bonus Poker", MACHINE_SUPPORTS_SAVE,layout_pe_poker ) GAMEL( 1995, pex0764p, 0, peplus, peplus_poker, peplus_state, init_peplussb, ROT0, "IGT - International Game Technology", "Player's Edge Plus (X000764P+XP000038) 4 of a Kind Bonus Poker", MACHINE_SUPPORTS_SAVE,layout_pe_poker ) +GAMEL( 1995, pex2001p, 0, peplus, peplus_poker, peplus_state, init_peplussb, ROT0, "IGT - International Game Technology", "Player's Edge Plus (X002001P+XP000038) Double Double Bonus Poker", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1995, pex2002p, 0, peplus, peplus_poker, peplus_state, init_peplussb, ROT0, "IGT - International Game Technology", "Player's Edge Plus (X002002P+XP000038) Double Double Bonus Poker", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1995, pex2004p, 0, peplus, peplus_poker, peplus_state, init_peplussb, ROT0, "IGT - International Game Technology", "Player's Edge Plus (X002004P+XP000038) Double Double Bonus Poker", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1995, pex2010p, 0, peplus, peplus_poker, peplus_state, init_peplussb, ROT0, "IGT - International Game Technology", "Player's Edge Plus (X002010P+XP000038) Nevada Bonus Poker", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) @@ -16393,6 +16778,7 @@ GAMEL( 1995, pex2111p, 0, peplus, peplus_poker, peplus_state, init_pepl GAMEL( 1995, pex2121p, 0, peplus, peplus_poker, peplus_state, init_peplussb, ROT0, "IGT - International Game Technology", "Player's Edge Plus (X002121P+XP000038) Standard Draw Poker", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1995, pex2121pa, pex2121p, peplus, peplus_poker, peplus_state, init_peplussb, ROT0, "IGT - International Game Technology", "Player's Edge Plus (X002121P+XP000037) Standard Draw Poker", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1995, pex2127p, 0, peplus, peplus_poker, peplus_state, init_peplussb, ROT0, "IGT - International Game Technology", "Player's Edge Plus (X002127P+XP000043) Double Bonus Poker featuring 'Your Property' Royals", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) +GAMEL( 1995, pex2133p, 0, peplus, peplus_poker, peplus_state, init_peplussb, ROT0, "IGT - International Game Technology", "Player's Edge Plus (X002133P+XP000043) Faces 'n' Deuces Double Bonus Poker", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1995, pex2134p, 0, peplus, peplus_poker, peplus_state, init_peplussb, ROT0, "IGT - International Game Technology", "Player's Edge Plus (X002134P+XP000043) Faces 'n' Deuces Double Bonus Poker", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1995, pex2143p, 0, peplus, peplus_poker, peplus_state, init_peplussb, ROT0, "IGT - International Game Technology", "Player's Edge Plus (X002143P+XP000043) Joker's Revenge Poker", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1995, pex2149p, 0, peplus, peplus_poker, peplus_state, init_peplussb, ROT0, "IGT - International Game Technology", "Player's Edge Plus (X002149P+XP000038) Triple Bonus Poker", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) @@ -16419,6 +16805,7 @@ GAMEL( 1995, pex2270p, 0, peplus, peplus_poker, peplus_state, init_pepl GAMEL( 1995, pex2272p, 0, peplus, peplus_poker, peplus_state, init_peplussb, ROT0, "IGT - International Game Technology", "Player's Edge Plus (X002272P+XP000055) Black Jack Bonus Poker", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1995, pex2275p, 0, peplus, peplus_poker, peplus_state, init_peplussb, ROT0, "IGT - International Game Technology", "Player's Edge Plus (X002275P+XP000055) Black Jack Bonus Poker", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1995, pex2276p, 0, peplus, peplus_poker, peplus_state, init_peplussb, ROT0, "IGT - International Game Technology", "Player's Edge Plus (X002276P+XP000055) Black Jack Bonus Poker", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) +GAMEL( 1995, pex2278p, 0, peplus, peplus_poker, peplus_state, init_peplussb, ROT0, "IGT - International Game Technology", "Player's Edge Plus (X002278P+XP000038) Joker Poker (Two Pair or Better)", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1995, pex2279p, 0, peplus, peplus_poker, peplus_state, init_peplussb, ROT0, "IGT - International Game Technology", "Player's Edge Plus (X002279P+XP000057) Ace$ Bonus", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1995, pex2283p, 0, peplus, peplus_poker, peplus_state, init_peplussb, ROT0, "IGT - International Game Technology", "Player's Edge Plus (X002283P+XP000057) Barbaric Decues Wild Poker", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) GAMEL( 1995, pex2284p, 0, peplus, peplus_poker, peplus_state, init_peplussb, ROT0, "IGT - International Game Technology", "Player's Edge Plus (X002284P+XP000057) Barbaric Decues Wild Poker", MACHINE_SUPPORTS_SAVE, layout_pe_poker ) diff --git a/src/mame/informer/informer_207_100.cpp b/src/mame/informer/informer_207_100.cpp index 4cb77af53c6ed..aaa20f605f413 100644 --- a/src/mame/informer/informer_207_100.cpp +++ b/src/mame/informer/informer_207_100.cpp @@ -222,4 +222,4 @@ ROM_END //************************************************************************** // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 1983, in207100, 0, 0, informer_207_100, informer_207_100, informer_207_100_state, empty_init, "Informer", "Informer 207/100", MACHINE_IS_SKELETON | MACHINE_SUPPORTS_SAVE ) +COMP( 1983, in207100, 0, 0, informer_207_100, informer_207_100, informer_207_100_state, empty_init, "Informer", "Informer 207/100", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/intel/intellec8.cpp b/src/mame/intel/intellec8.cpp index 75738be60c439..43ea963c79aea 100644 --- a/src/mame/intel/intellec8.cpp +++ b/src/mame/intel/intellec8.cpp @@ -81,4 +81,4 @@ ROM_END } // Anonymous namespace // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 1973, intlc8, 0, 0, intlc8, intlc8, intlc8_state, empty_init, "Intel", "Intellec 8 MCS", MACHINE_IS_SKELETON ) +COMP( 1973, intlc8, 0, 0, intlc8, intlc8, intlc8_state, empty_init, "Intel", "Intellec 8 MCS", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/intel/sdk51.cpp b/src/mame/intel/sdk51.cpp index 350ef85b37b6b..211d69b7652f2 100644 --- a/src/mame/intel/sdk51.cpp +++ b/src/mame/intel/sdk51.cpp @@ -324,4 +324,4 @@ ROM_END } // anonymous namespace -COMP(1981, sdk51, 0, 0, sdk51, sdk51, sdk51_state, empty_init, "Intel", "MCS-51 System Design Kit", MACHINE_IS_SKELETON) +COMP(1981, sdk51, 0, 0, sdk51, sdk51, sdk51_state, empty_init, "Intel", "MCS-51 System Design Kit", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/irem/m102.cpp b/src/mame/irem/m102.cpp index 985651faa4097..08da49c66109d 100644 --- a/src/mame/irem/m102.cpp +++ b/src/mame/irem/m102.cpp @@ -142,4 +142,4 @@ ROM_END } // anonymous namespace -GAME( 1992, hclimber, 0, m102, m102, m102_state, empty_init, ROT0, "Irem", "Hill Climber", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1992, hclimber, 0, m102, m102, m102_state, empty_init, ROT0, "Irem", "Hill Climber", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/irem/m107.cpp b/src/mame/irem/m107.cpp index caa276ba582c4..8245455858eea 100644 --- a/src/mame/irem/m107.cpp +++ b/src/mame/irem/m107.cpp @@ -661,7 +661,7 @@ static INPUT_PORTS_START( m107_2player ) PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") //this is sprite flag on Irem M92, if this is active low then Dream Soccer '94 is unplayably slow + PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) //this is sprite flag on Irem M92, if this is active low then Dream Soccer '94 is unplayably slow PORT_DIPUNKNOWN_DIPLOC( 0x0100, 0x0100, "SW3:1" ) PORT_DIPUNKNOWN_DIPLOC( 0x0200, 0x0200, "SW3:2" ) @@ -810,7 +810,7 @@ static INPUT_PORTS_START( wpksoc ) PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") //this is sprite flag on Irem M92, if this is active low then Dream Soccer '94 is unplayably slow + PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) //this is sprite flag on Irem M92, if this is active low then Dream Soccer '94 is unplayably slow PORT_DIPNAME( 0x0100, 0x0000, "DSW3" ) PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0100, DEF_STR( On ) ) diff --git a/src/mame/irem/m119.cpp b/src/mame/irem/m119.cpp index 8a593d6b7eb4c..79c55325bc29c 100644 --- a/src/mame/irem/m119.cpp +++ b/src/mame/irem/m119.cpp @@ -140,4 +140,4 @@ ROM_END } // anonymous namespace -GAME( 2000, scumimon, 0, m119, m119, m119_state, empty_init, ROT0, "Irem", "Slotters Club: Umi Monogatari", MACHINE_IS_SKELETON ) // Ver PROGRAM 2000/09/14 +GAME( 2000, scumimon, 0, m119, m119, m119_state, empty_init, ROT0, "Irem", "Slotters Club: Umi Monogatari", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // Ver PROGRAM 2000/09/14 diff --git a/src/mame/irem/m14.cpp b/src/mame/irem/m14.cpp index 8309565398ffe..223b7f06bfb54 100644 --- a/src/mame/irem/m14.cpp +++ b/src/mame/irem/m14.cpp @@ -342,7 +342,7 @@ static INPUT_PORTS_START( m14 ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) diff --git a/src/mame/irem/m72.cpp b/src/mame/irem/m72.cpp index f662164742023..225c856fbde51 100644 --- a/src/mame/irem/m72.cpp +++ b/src/mame/irem/m72.cpp @@ -1687,7 +1687,7 @@ GFXDECODE_END void m72_state::m72_audio_chips(machine_config &config) { - /* sound hardware */ + // sound hardware SPEAKER(config, "speaker").front_center(); generic_latch_8_device &soundlatch(GENERIC_LATCH_8(config, "soundlatch")); @@ -1711,8 +1711,8 @@ void m72_state::m72_audio_chips(machine_config &config) void m72_state::m72_base(machine_config &config) { - /* basic machine hardware */ - V30(config, m_maincpu, MASTER_CLOCK/2/2); /* 16 MHz external freq (8MHz internal) */ + // basic machine hardware + V30(config, m_maincpu, MASTER_CLOCK/2/2); // 16 MHz external freq (8MHz internal) m_maincpu->set_addrmap(AS_PROGRAM, &m72_state::m72_map); m_maincpu->set_addrmap(AS_IO, &m72_state::m72_portmap); m_maincpu->set_irq_acknowledge_callback("upd71059c", FUNC(pic8259_device::inta_cb)); @@ -1724,7 +1724,7 @@ void m72_state::m72_base(machine_config &config) PIC8259(config, m_upd71059c, 0); m_upd71059c->out_int_callback().set_inputline(m_maincpu, 0); - /* video hardware */ + // video hardware BUFFERED_SPRITERAM16(config, m_spriteram); GFXDECODE(config, m_gfxdecode, m_palette, gfx_m72); @@ -1743,9 +1743,8 @@ void m72_state::m72_base(machine_config &config) void m72_state::m72(machine_config &config) { m72_base(config); - /* Sample rate verified (Gallop : https://youtu.be/aozd0dbPzOw) */ - m_soundcpu->set_periodic_int(FUNC(m72_state::fake_nmi), attotime::from_hz(MASTER_CLOCK/8/512)); - /* IRQs are generated by main Z80 and YM2151 */ + + m_soundcpu->set_periodic_int(FUNC(m72_state::fake_nmi), attotime::from_hz(MASTER_CLOCK/8/512)); // samplerate verified } void m72_mcu_state::m72_8751(machine_config &config) @@ -1766,7 +1765,7 @@ void m72_mcu_state::m72_8751(machine_config &config) GENERIC_LATCH_8(config, "soundlatch2").data_pending_callback().set_inputline(m_soundcpu, INPUT_LINE_NMI); - i8751_device &mcu(I8751(config, m_mcu, XTAL(8'000'000))); /* Uses its own XTAL */ + i8751_device &mcu(I8751(config, m_mcu, XTAL(8'000'000))); // Uses its own XTAL mcu.set_addrmap(AS_IO, &m72_mcu_state::mcu_io_map); mcu.port_out_cb<1>().set(m_dac, FUNC(dac_byte_interface::write)); } @@ -1805,9 +1804,7 @@ void m72_mcu_state::m72_xmultipl(machine_config &config) m72_8751(config); m_maincpu->set_addrmap(AS_PROGRAM, &m72_mcu_state::xmultiplm72_map); - /* Sample rate verified (Gallop : https://youtu.be/aozd0dbPzOw) */ - m_soundcpu->set_periodic_int(FUNC(m72_mcu_state::nmi_line_pulse), attotime::from_hz(MASTER_CLOCK/8/512)); - /* IRQs are generated by main Z80 and YM2151 */ + m_soundcpu->set_periodic_int(FUNC(m72_mcu_state::nmi_line_pulse), attotime::from_hz(MASTER_CLOCK/8/512)); // verified } void m72_state::m72_dbreedw(machine_config &config) @@ -1815,9 +1812,7 @@ void m72_state::m72_dbreedw(machine_config &config) m72_base(config); m_maincpu->set_addrmap(AS_PROGRAM, &m72_state::dbreedwm72_map); - /* Sample rate verified (Gallop : https://youtu.be/aozd0dbPzOw) */ - m_soundcpu->set_periodic_int(FUNC(m72_state::nmi_line_pulse), attotime::from_hz(MASTER_CLOCK/8/512)); - /* IRQs are generated by main Z80 and YM2151 */ + m_soundcpu->set_periodic_int(FUNC(m72_state::nmi_line_pulse), attotime::from_hz(MASTER_CLOCK/8/512)); // verified MCFG_VIDEO_START_OVERRIDE(m72_state,dbreedm72) } @@ -1827,9 +1822,7 @@ void m72_mcu_state::m72_dbreed(machine_config &config) m72_8751(config); m_maincpu->set_addrmap(AS_PROGRAM, &m72_mcu_state::dbreedm72_map); - /* Sample rate verified (Gallop : https://youtu.be/aozd0dbPzOw) */ - m_soundcpu->set_periodic_int(FUNC(m72_mcu_state::nmi_line_pulse), attotime::from_hz(MASTER_CLOCK/8/512)); - /* IRQs are generated by main Z80 and YM2151 */ + m_soundcpu->set_periodic_int(FUNC(m72_mcu_state::nmi_line_pulse), attotime::from_hz(MASTER_CLOCK/8/512)); // verified MCFG_VIDEO_START_OVERRIDE(m72_mcu_state,dbreedm72) } @@ -1873,8 +1866,8 @@ void m72_state::m81_dbreed(machine_config &config) // M84 void m72_state::rtype2(machine_config &config) { - /* basic machine hardware */ - V30(config, m_maincpu, MASTER_CLOCK/2/2); /* 16 MHz external freq (8MHz internal) */ + // basic machine hardware + V30(config, m_maincpu, MASTER_CLOCK/2/2); // 16 MHz external freq (8MHz internal) m_maincpu->set_addrmap(AS_PROGRAM, &m72_state::rtype2_map); m_maincpu->set_addrmap(AS_IO, &m72_state::m84_portmap); m_maincpu->set_irq_acknowledge_callback("upd71059c", FUNC(pic8259_device::inta_cb)); @@ -1882,13 +1875,12 @@ void m72_state::rtype2(machine_config &config) Z80(config, m_soundcpu, SOUND_CLOCK); m_soundcpu->set_addrmap(AS_PROGRAM, &m72_state::sound_rom_map); m_soundcpu->set_addrmap(AS_IO, &m72_state::rtype2_sound_portmap); - m_soundcpu->set_periodic_int(FUNC(m72_state::nmi_line_pulse), attotime::from_hz(MASTER_CLOCK/8/512)); /* verified (https://youtu.be/lUszf9Ong7U) */ - /* IRQs are generated by main Z80 and YM2151 */ + m_soundcpu->set_periodic_int(FUNC(m72_state::nmi_line_pulse), attotime::from_hz(MASTER_CLOCK/8/512)); // verified PIC8259(config, m_upd71059c, 0); m_upd71059c->out_int_callback().set_inputline(m_maincpu, 0); - /* video hardware */ + // video hardware BUFFERED_SPRITERAM16(config, m_spriteram); GFXDECODE(config, m_gfxdecode, m_palette, gfx_rtype2); @@ -1908,7 +1900,7 @@ void m72_state::rtype2(machine_config &config) void m72_state::hharryu(machine_config &config) { rtype2(config); - /* basic machine hardware */ + m_maincpu->set_addrmap(AS_PROGRAM, &m72_state::hharryu_map); MCFG_VIDEO_START_OVERRIDE(m72_state,hharryu) @@ -1919,7 +1911,7 @@ void m72_state::hharryu(machine_config &config) void m72_state::cosmccop(machine_config &config) { - /* basic machine hardware */ + // basic machine hardware V35(config, m_maincpu, MASTER_CLOCK/2); m_maincpu->set_addrmap(AS_PROGRAM, &m72_state::kengo_map); m_maincpu->set_addrmap(AS_IO, &m72_state::m84_v35_portmap); @@ -1927,15 +1919,14 @@ void m72_state::cosmccop(machine_config &config) Z80(config, m_soundcpu, SOUND_CLOCK); m_soundcpu->set_addrmap(AS_PROGRAM, &m72_state::sound_rom_map); m_soundcpu->set_addrmap(AS_IO, &m72_state::rtype2_sound_portmap); - m_soundcpu->set_periodic_int(FUNC(m72_state::nmi_line_pulse), attotime::from_hz(MASTER_CLOCK/8/512)); /* verified (https://youtu.be/Sol2Yq2S5hQ) */ - /* IRQs are generated by main Z80 and YM2151 */ + m_soundcpu->set_periodic_int(FUNC(m72_state::nmi_line_pulse), attotime::from_hz(MASTER_CLOCK/8/512)); // verified MCFG_MACHINE_START_OVERRIDE(m72_state,kengo) MCFG_MACHINE_RESET_OVERRIDE(m72_state,kengo) // upd71059c isn't needed because the V35 has its own IRQ controller - /* video hardware */ + // video hardware BUFFERED_SPRITERAM16(config, m_spriteram); GFXDECODE(config, m_gfxdecode, m_palette, gfx_rtype2); @@ -1985,8 +1976,8 @@ M82-B-A and as the bottom board */ void m82_state::m82(machine_config &config) { - /* basic machine hardware */ - V30(config, m_maincpu, MASTER_CLOCK/2/2); /* 16 MHz external freq (8MHz internal) */ + // basic machine hardware + V30(config, m_maincpu, MASTER_CLOCK/2/2); // 16 MHz external freq (8MHz internal) m_maincpu->set_addrmap(AS_PROGRAM, &m82_state::m82_map); m_maincpu->set_addrmap(AS_IO, &m82_state::m82_portmap); m_maincpu->set_irq_acknowledge_callback("upd71059c", FUNC(pic8259_device::inta_cb)); @@ -1994,13 +1985,12 @@ void m82_state::m82(machine_config &config) Z80(config, m_soundcpu, SOUND_CLOCK); m_soundcpu->set_addrmap(AS_PROGRAM, &m82_state::sound_rom_map); m_soundcpu->set_addrmap(AS_IO, &m82_state::rtype2_sound_portmap); - m_soundcpu->set_periodic_int(FUNC(m82_state::nmi_line_pulse), attotime::from_hz(MASTER_CLOCK/8/512)); /* verified (https://youtu.be/lLQDPe-8Ha0) */ - /* IRQs are generated by main Z80 and YM2151 */ + m_soundcpu->set_periodic_int(FUNC(m82_state::nmi_line_pulse), attotime::from_hz(MASTER_CLOCK/8/512)); // verified PIC8259(config, m_upd71059c, 0); m_upd71059c->out_int_callback().set_inputline(m_maincpu, 0); - /* video hardware */ + // video hardware BUFFERED_SPRITERAM16(config, m_spriteram); GFXDECODE(config, m_gfxdecode, m_palette, gfx_majtitle); @@ -2021,8 +2011,8 @@ void m82_state::m82(machine_config &config) void poundfor_state::poundfor(machine_config &config) { - /* basic machine hardware */ - V30(config, m_maincpu, MASTER_CLOCK/2/2); /* 16 MHz external freq (8MHz internal) */ + // basic machine hardware + V30(config, m_maincpu, MASTER_CLOCK/2/2); // 16 MHz external freq (8MHz internal) m_maincpu->set_addrmap(AS_PROGRAM, £for_state::rtype2_map); m_maincpu->set_addrmap(AS_IO, £for_state::poundfor_portmap); m_maincpu->set_irq_acknowledge_callback("upd71059c", FUNC(pic8259_device::inta_cb)); @@ -2030,8 +2020,7 @@ void poundfor_state::poundfor(machine_config &config) Z80(config, m_soundcpu, SOUND_CLOCK); m_soundcpu->set_addrmap(AS_PROGRAM, £for_state::sound_rom_map); m_soundcpu->set_addrmap(AS_IO, £for_state::poundfor_sound_portmap); - m_soundcpu->set_periodic_int(FUNC(poundfor_state::fake_nmi), attotime::from_hz(MASTER_CLOCK/8/512)); /* clocked by V1? (Vigilante) */ - /* IRQs are generated by main Z80 and YM2151 */ + m_soundcpu->set_periodic_int(FUNC(poundfor_state::fake_nmi), attotime::from_hz(MASTER_CLOCK/8/512)); PIC8259(config, m_upd71059c, 0); m_upd71059c->out_int_callback().set_inputline(m_maincpu, 0); @@ -2044,7 +2033,7 @@ void poundfor_state::poundfor(machine_config &config) m_upd4701[1]->set_portx_tag("TRACK1_X"); m_upd4701[1]->set_porty_tag("TRACK1_Y"); - /* video hardware */ + // video hardware BUFFERED_SPRITERAM16(config, m_spriteram); GFXDECODE(config, m_gfxdecode, m_palette, gfx_rtype2); @@ -2060,8 +2049,8 @@ void poundfor_state::poundfor(machine_config &config) void m72_state::lohtb(machine_config &config) // almost all to be verified { - /* basic machine hardware */ - V30(config, m_maincpu, MASTER_CLOCK/2/2); /* 16 MHz external freq (8MHz internal) */ + // basic machine hardware + V30(config, m_maincpu, MASTER_CLOCK/2/2); // 16 MHz external freq (8MHz internal) m_maincpu->set_addrmap(AS_PROGRAM, &m72_state::lohtb_map); m_maincpu->set_addrmap(AS_IO, &m72_state::lohtb_portmap); @@ -2072,7 +2061,7 @@ void m72_state::lohtb(machine_config &config) // almost all to be verified MCFG_MACHINE_START_OVERRIDE(m72_state,kengo) MCFG_MACHINE_RESET_OVERRIDE(m72_state,kengo) - /* video hardware */ + // video hardware BUFFERED_SPRITERAM16(config, m_spriteram); GFXDECODE(config, m_gfxdecode, m_palette, gfx_m72); diff --git a/src/mame/irem/m92.cpp b/src/mame/irem/m92.cpp index 283bef7ded241..89099963bdf0a 100644 --- a/src/mame/irem/m92.cpp +++ b/src/mame/irem/m92.cpp @@ -251,7 +251,6 @@ TIMER_DEVICE_CALLBACK_MEMBER(m92_state::scanline_interrupt) { m_upd71059c->ir0_w(0); } - } } @@ -300,7 +299,7 @@ void m92_state::sound_reset_w(uint16_t data) void m92_state::m92_base_map(address_map &map) { - map(0xe0000, 0xeffff).ram(); /* System ram */ + map(0xe0000, 0xeffff).ram(); // System ram map(0xf8000, 0xf87ff).ram().share("spriteram"); map(0xf8800, 0xf8fff).rw(FUNC(m92_state::paletteram_r), FUNC(m92_state::paletteram_w)); map(0xf9000, 0xf900f).w(FUNC(m92_state::spritecontrol_w)).share("spritecontrol"); @@ -308,7 +307,7 @@ void m92_state::m92_base_map(address_map &map) map(0xffff0, 0xfffff).rom().region("maincpu", 0x7fff0); } -/* appears to be an earlier board */ +// appears to be an earlier board void m92_state::lethalth_map(address_map &map) { m92_base_map(map); @@ -320,7 +319,7 @@ void m92_state::m92_map(address_map &map) { m92_base_map(map); map(0x00000, 0xbffff).rom(); - map(0xc0000, 0xcffff).rom().region("maincpu", 0x00000); /* Mirror used by In The Hunt as protection */ + map(0xc0000, 0xcffff).rom().region("maincpu", 0x00000); // Mirror used by In The Hunt as protection map(0xd0000, 0xdffff).ram().w(FUNC(m92_state::vram_w)).share("vram_data"); } @@ -329,17 +328,27 @@ void m92_state::m92_banked_map(address_map &map) m92_base_map(map); map(0x00000, 0x9ffff).rom(); map(0xa0000, 0xbffff).bankr("mainbank"); - map(0xc0000, 0xcffff).rom().region("maincpu", 0x00000); /* Mirror used by In The Hunt as protection */ + map(0xc0000, 0xcffff).rom().region("maincpu", 0x00000); // Mirror used by In The Hunt as protection map(0xd0000, 0xdffff).ram().w(FUNC(m92_state::vram_w)).share("vram_data"); } -/* This game has an eeprom on the game board */ +// This game has an eeprom on the game board void m92_state::majtitl2_map(address_map &map) { m92_banked_map(map); map(0xf0000, 0xf3fff).rw("eeprom", FUNC(eeprom_parallel_28xx_device::read), FUNC(eeprom_parallel_28xx_device::write)).umask16(0x00ff); } +void m92_state::nbbatman2bl_map(address_map &map) +{ + m92_banked_map(map); + + // disable for now, it has different sprite hardware + map(0xf8000, 0xf87ff).unmaprw(); + map(0xf9000, 0xf900f).unmapw(); + map(0xf9800, 0xf9801).unmapw(); +} + void m92_state::m92_portmap(address_map &map) { map(0x00, 0x00).w("soundlatch", FUNC(generic_latch_8_device::write)); @@ -348,7 +357,7 @@ void m92_state::m92_portmap(address_map &map) map(0x02, 0x02).w(FUNC(m92_state::coincounter_w)); map(0x04, 0x05).portr("DSW"); map(0x06, 0x07).portr("P3_P4"); - map(0x08, 0x08).r("soundlatch2", FUNC(generic_latch_8_device::read)); // answer from sound CPU + map(0x08, 0x08).r("soundlatch2", FUNC(generic_latch_8_device::read)); // answer from sound CPU map(0x40, 0x43).rw(m_upd71059c, FUNC(pic8259_device::read), FUNC(pic8259_device::write)).umask16(0x00ff); map(0x80, 0x87).w(FUNC(m92_state::pf_control_w<0>)); map(0x88, 0x8f).w(FUNC(m92_state::pf_control_w<1>)); @@ -424,7 +433,7 @@ static INPUT_PORTS_START( m92_2player ) PORT_DIPUNKNOWN_DIPLOC( 0x8000, 0x8000, "SW3:8" ) PORT_START("DSW") - /* Dip switch bank 1 */ + /* DIP switch bank 1 */ PORT_DIPUNKNOWN_DIPLOC( 0x0001, 0x0001, "SW1:1" ) PORT_DIPUNKNOWN_DIPLOC( 0x0002, 0x0002, "SW1:2" ) PORT_DIPUNKNOWN_DIPLOC( 0x0004, 0x0004, "SW1:3" ) @@ -437,7 +446,7 @@ static INPUT_PORTS_START( m92_2player ) PORT_DIPSETTING( 0x0040, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) PORT_SERVICE_DIPLOC( 0x0080, IP_ACTIVE_LOW, "SW1:8" ) - /* Dip switch bank 2 */ + /* DIP switch bank 2 */ PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:1") PORT_DIPSETTING( 0x0100, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) @@ -490,10 +499,10 @@ INPUT_PORTS_END static INPUT_PORTS_START( bmaster ) PORT_INCLUDE(m92_2player) - /* Game manual specificly mentions dip switch bank 3 is unused */ + /* Game manual specificly mentions DIP switch bank 3 is unused */ PORT_MODIFY("DSW") - /* Dip switch bank 1 */ + /* DIP switch bank 1 */ PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:1,2") PORT_DIPSETTING( 0x0000, "1" ) PORT_DIPSETTING( 0x0003, "2" ) @@ -514,7 +523,7 @@ static INPUT_PORTS_START( gunforce ) PORT_INCLUDE(m92_2player) PORT_MODIFY("DSW") - /* Dip switch bank 1 */ + /* DIP switch bank 1 */ PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:1,2") PORT_DIPSETTING( 0x0002, "2" ) PORT_DIPSETTING( 0x0003, "3" ) @@ -535,7 +544,7 @@ static INPUT_PORTS_START( lethalth ) PORT_INCLUDE(m92_2player) PORT_MODIFY("COINS_DSW3") - /* Dip switch bank 3 */ + /* DIP switch bank 3 */ PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW3:1,2") PORT_DIPSETTING( 0x0200, "500K & 1M" ) PORT_DIPSETTING( 0x0300, "700K & 1.5M" ) @@ -543,7 +552,7 @@ static INPUT_PORTS_START( lethalth ) PORT_DIPSETTING( 0x0100, "1M & 2M" ) PORT_MODIFY("DSW") - /* Dip switch bank 1 */ + /* DIP switch bank 1 */ PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:1,2") PORT_DIPSETTING( 0x0002, "2" ) PORT_DIPSETTING( 0x0003, "3" ) @@ -564,7 +573,7 @@ static INPUT_PORTS_START( thndblst ) PORT_INCLUDE(lethalth) PORT_MODIFY("DSW") - /* Dip switch bank 1 */ + /* DIP switch bank 1 */ PORT_DIPNAME( 0x0010, 0x0000, "Continuous Play" ) PORT_DIPLOCATION("SW1:5") /* manual says Unused */ PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) PORT_DIPSETTING( 0x0010, DEF_STR( Off ) ) @@ -575,7 +584,7 @@ static INPUT_PORTS_START( hook ) PORT_INCLUDE(m92_4player) PORT_MODIFY("DSW") - /* Dip switch bank 1 */ + /* DIP switch bank 1 */ PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:1,2") PORT_DIPSETTING( 0x0000, "1" ) PORT_DIPSETTING( 0x0003, "2" ) @@ -597,7 +606,7 @@ static INPUT_PORTS_START( majtitl2 ) PORT_INCLUDE(m92_4player) PORT_MODIFY("COINS_DSW3") - /* Dip switch bank 3 */ + /* DIP switch bank 3 */ PORT_DIPNAME( 0x0100, 0x0100, "Ticket Dispenser" ) PORT_DIPLOCATION("SW3:1") PORT_DIPSETTING( 0x0100, DEF_STR( Off ) ) /* "Ticket payout function is not working now" will be shown on screen */ PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) /* Stored data is shown on screen with the option to clear data */ @@ -615,12 +624,12 @@ static INPUT_PORTS_START( majtitl2 ) PORT_DIPSETTING( 0x0000, "DL 4SS" ) PORT_MODIFY("DSW") - /* Dip switch bank 2 */ + /* DIP switch bank 2 */ PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW2:2") PORT_DIPSETTING( 0x0200, DEF_STR( Upright ) ) PORT_DIPSETTING( 0x0000, DEF_STR( Cocktail ) ) - /* Dip switch bank 1 */ + /* DIP switch bank 1 */ PORT_DIPNAME( 0x0001, 0x0001, "Given Holes/Stroke Play" ) PORT_DIPLOCATION("SW1:1") PORT_DIPSETTING( 0x0000, "1" ) PORT_DIPSETTING( 0x0001, "2" ) @@ -646,7 +655,7 @@ static INPUT_PORTS_START( mysticri ) PORT_INCLUDE(m92_2player) PORT_MODIFY("DSW") - /* Dip switch bank 1 */ + /* DIP switch bank 1 */ PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:1,2") PORT_DIPSETTING( 0x0002, "2" ) PORT_DIPSETTING( 0x0003, "3" ) @@ -667,7 +676,7 @@ static INPUT_PORTS_START( uccops ) PORT_INCLUDE(m92_3player) PORT_MODIFY("DSW") - /* Dip switch bank 1 */ + /* DIP switch bank 1 */ PORT_DIPNAME( 0x0003, 0x0002, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:1,2") PORT_DIPSETTING( 0x0000, "1" ) PORT_DIPSETTING( 0x0003, "2" ) @@ -690,7 +699,7 @@ static INPUT_PORTS_START( rtypeleo ) PORT_INCLUDE(m92_2player) PORT_MODIFY("DSW") - /* Dip switch bank 1 */ + /* DIP switch bank 1 */ PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:1,2") PORT_DIPSETTING( 0x0002, "2" ) PORT_DIPSETTING( 0x0003, "3" ) @@ -708,7 +717,7 @@ static INPUT_PORTS_START( inthunt ) PORT_INCLUDE(m92_2player) PORT_MODIFY("DSW") - /* Dip switch bank 1 */ + /* DIP switch bank 1 */ PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:1,2") PORT_DIPSETTING( 0x0002, "2" ) PORT_DIPSETTING( 0x0003, "3" ) @@ -729,7 +738,7 @@ static INPUT_PORTS_START( nbbatman ) PORT_INCLUDE(m92_4player) PORT_MODIFY("DSW") - /* Dip switch bank 1 */ + /* DIP switch bank 1 */ PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:1,2") PORT_DIPSETTING( 0x0000, "1" ) PORT_DIPSETTING( 0x0003, "2" ) @@ -753,7 +762,7 @@ static INPUT_PORTS_START( psoldier ) IREM_GENERIC_JOYSTICKS_3_BUTTONS(1, 2) PORT_MODIFY("DSW") - /* Dip switch bank 1 */ + /* DIP switch bank 1 */ PORT_DIPNAME( 0x0020, 0x0000, "Any Button to Start" ) PORT_DIPLOCATION("SW1:6") PORT_DIPSETTING( 0x0020, DEF_STR( No ) ) PORT_DIPSETTING( 0x0000, DEF_STR( Yes ) ) @@ -772,10 +781,10 @@ INPUT_PORTS_END static INPUT_PORTS_START( dsoccr94j ) PORT_INCLUDE(m92_4player) - /* Dip Switch 2, dip 2 is listed as "Don't Change" and is "OFF" */ + /* DIP Switch 2, dip 2 is listed as "Don't Change" and is "OFF" */ PORT_MODIFY("COINS_DSW3") - /* Dip switch bank 3 */ + /* DIP switch bank 3 */ PORT_DIPNAME( 0x0300, 0x0300, "Player Power" ) PORT_DIPLOCATION("SW3:1,2") PORT_DIPSETTING( 0x0000, "500" ) PORT_DIPSETTING( 0x0300, "1000" ) @@ -783,7 +792,7 @@ static INPUT_PORTS_START( dsoccr94j ) PORT_DIPSETTING( 0x0200, "2000" ) PORT_MODIFY("DSW") - /* Dip switch bank 1 */ + /* DIP switch bank 1 */ PORT_DIPNAME( 0x0003, 0x0003, "Time" ) PORT_DIPLOCATION("SW1:1,2") PORT_DIPSETTING( 0x0000, "1:30" ) PORT_DIPSETTING( 0x0003, "2:00" ) @@ -798,11 +807,11 @@ static INPUT_PORTS_START( dsoccr94j ) PORT_DIPSETTING( 0x0010, "Match Mode" ) PORT_DIPSETTING( 0x0000, "Power Mode" ) /* - Match Mode: Winner advances to the next game. Game Over for the loser - Power Mode: The Players can play the game until their respective powers run - out, reguardless of whether they win or lose the game. - Player 2 can join in any time during the game - Player power (time) can be adjusted by dip switch #3 + Match Mode: Winner advances to the next game. Game Over for the loser + Power Mode: The Players can play the game until their respective powers run + out, reguardless of whether they win or lose the game. + Player 2 can join in any time during the game + Player power (time) can be adjusted by DIP switch #3 */ PORT_DIPNAME( 0x0020, 0x0020, "Starting Button" ) PORT_DIPLOCATION("SW1:6") PORT_DIPSETTING( 0x0000, "Button 1" ) @@ -814,7 +823,7 @@ static INPUT_PORTS_START( gunforc2 ) PORT_INCLUDE(m92_2player) PORT_MODIFY("DSW") - /* Dip switch bank 1 */ + /* DIP switch bank 1 */ PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:1,2") PORT_DIPSETTING( 0x0002, "3" ) PORT_DIPSETTING( 0x0003, "2" ) @@ -897,8 +906,8 @@ static const gfx_layout bootleg_spritelayout = static GFXDECODE_START( gfx_bootleg ) - GFXDECODE_ENTRY( "gfx1", 0, bootleg_charlayout, 0x400, 128 ) - GFXDECODE_ENTRY( "gfx2", 0, bootleg_spritelayout, 0x400, 128 ) + GFXDECODE_ENTRY( "gfx1", 0, bootleg_charlayout, 0, 128 ) + GFXDECODE_ENTRY( "gfx2", 0, bootleg_spritelayout, 0, 128 ) GFXDECODE_END @@ -1071,6 +1080,8 @@ void m92_state::nbbatman2bl(machine_config &config) config.device_remove("ymsnd"); config.device_remove("irem"); + m_maincpu->set_addrmap(AS_PROGRAM, &m92_state::nbbatman2bl_map); + m_gfxdecode->set_info(gfx_bootleg); /* 8951 MCU as sound CPU */ diff --git a/src/mame/irem/m92.h b/src/mame/irem/m92.h index 9a33994b344e5..09facc2c0ea04 100644 --- a/src/mame/irem/m92.h +++ b/src/mame/irem/m92.h @@ -15,16 +15,17 @@ #include "machine/timer.h" #include "sound/okim6295.h" #include "video/bufsprite.h" + #include "emupal.h" #include "screen.h" #include "tilemap.h" struct M92_pf_layer_info { - tilemap_t * tmap = nullptr; - tilemap_t * wide_tmap = nullptr; - uint16_t vram_base = 0; - uint16_t control[4]{}; + tilemap_t *tmap = nullptr; + tilemap_t *wide_tmap = nullptr; + uint16_t vram_base = 0; + uint16_t control[4]{}; }; class m92_state : public driver_device @@ -126,6 +127,7 @@ class m92_state : public driver_device void m92_base_map(address_map &map) ATTR_COLD; void m92_portmap(address_map &map) ATTR_COLD; void majtitl2_map(address_map &map) ATTR_COLD; + void nbbatman2bl_map(address_map &map) ATTR_COLD; void ppan_portmap(address_map &map) ATTR_COLD; void sound_map(address_map &map) ATTR_COLD; diff --git a/src/mame/itech/itech32.cpp b/src/mame/itech/itech32.cpp index d36f36af4fe6c..7d63beab6e1a4 100644 --- a/src/mame/itech/itech32.cpp +++ b/src/mame/itech/itech32.cpp @@ -1134,7 +1134,7 @@ static INPUT_PORTS_START( timekill ) PORT_START("DIPS") // 58000 PORT_SERVICE_NO_TOGGLE( 0x0001, IP_ACTIVE_LOW ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(FUNC(itech32_state::special_port_r)) PORT_DIPNAME( 0x0010, 0x0000, "Video Sync" ) PORT_DIPLOCATION("SW1:1") PORT_DIPSETTING( 0x0000, "-" ) @@ -1179,7 +1179,7 @@ static INPUT_PORTS_START( itech32_base_16bit ) PORT_START("DIPS") // 280000 PORT_SERVICE_NO_TOGGLE( 0x0001, IP_ACTIVE_LOW ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(FUNC(itech32_state::special_port_r)) PORT_DIPNAME( 0x0010, 0x0000, "Video Sync" ) PORT_DIPLOCATION("SW1:4") PORT_DIPSETTING( 0x0000, "-" ) @@ -1329,7 +1329,7 @@ static INPUT_PORTS_START( drivedge ) PORT_BIT( 0x0000ffff, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x01000000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02000000, IP_ACTIVE_LOW, IPT_COIN3 ) - PORT_BIT( 0x04000000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x04000000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x08000000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_DIPNAME( 0x70000000, 0x00000000, "Network Number" ) PORT_DIPLOCATION("SW1:4,3,2") PORT_DIPSETTING( 0x00000000, "1" ) @@ -1430,7 +1430,7 @@ static INPUT_PORTS_START( itech32_base_32bit ) PORT_BIT( 0x0000ffff, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_SERVICE_NO_TOGGLE( 0x00010000, IP_ACTIVE_LOW ) PORT_BIT( 0x00020000, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x00040000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x00040000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x00080000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(FUNC(itech32_state::special_port_r)) PORT_DIPNAME( 0x00100000, 0x00000000, "Video Sync" ) PORT_DIPLOCATION("SW1:4") PORT_DIPSETTING( 0x00000000, "-" ) diff --git a/src/mame/jaleco/exerion.cpp b/src/mame/jaleco/exerion.cpp index 3398d173a26cd..8de95b960eedf 100644 --- a/src/mame/jaleco/exerion.cpp +++ b/src/mame/jaleco/exerion.cpp @@ -758,7 +758,7 @@ static INPUT_PORTS_START( exerion ) PORT_DIPSETTING( 0x80, DEF_STR( Cocktail ) ) PORT_START("DSW1") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_DIPNAME( 0x0e, 0x00, DEF_STR( Coinage ) ) // see notes PORT_DIPSETTING( 0x0e, DEF_STR( 5C_1C ) ) PORT_DIPSETTING( 0x0a, DEF_STR( 4C_1C ) ) diff --git a/src/mame/jaleco/fcombat.cpp b/src/mame/jaleco/fcombat.cpp index 51699e30c0588..a3e5956ed1fc3 100644 --- a/src/mame/jaleco/fcombat.cpp +++ b/src/mame/jaleco/fcombat.cpp @@ -515,7 +515,7 @@ static INPUT_PORTS_START( fcombat ) PORT_DIPSETTING( 0x80, DEF_STR( Cocktail ) ) PORT_START("DSW1") // dip switches/VBLANK (0xe200) - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_DIPNAME( 0x0e, 0x00, DEF_STR( Coinage ) ) PORT_DIPSETTING( 0x0e, DEF_STR( 5C_1C ) ) PORT_DIPSETTING( 0x0a, DEF_STR( 4C_1C ) ) diff --git a/src/mame/jaleco/megasys1.cpp b/src/mame/jaleco/megasys1.cpp index 670ce1bd1919f..c49c57f3d5d1a 100644 --- a/src/mame/jaleco/megasys1.cpp +++ b/src/mame/jaleco/megasys1.cpp @@ -130,23 +130,24 @@ RAM RW 0e0000-0effff* < < #include "emu.h" #include "megasys1.h" +#include "jalcrpt.h" + #include "cpu/m68000/m68000.h" #include "cpu/z80/z80.h" #include "sound/ymopm.h" #include "sound/ymopn.h" -#include "jalcrpt.h" #include "speaker.h" +#define VERBOSE 0 +#include "logmacro.h" + #define SYS_A_CPU_CLOCK (XTAL(12'000'000) / 2) /* clock for main 68000 */ -#define SYS_B_CPU_CLOCK XTAL(8'000'000) /* clock for main 68000 */ +#define SYS_B_CPU_CLOCK XTAL(8'000'000) /* clock for main 68000 */ #define SYS_C_CPU_CLOCK (XTAL(24'000'000) / 2) /* clock for main 68000 */ -#define SYS_D_CPU_CLOCK XTAL(8'000'000) /* clock for main 68000 */ -#define SOUND_CPU_CLOCK XTAL(7'000'000) /* clock for sound 68000 */ +#define SYS_D_CPU_CLOCK XTAL(8'000'000) /* clock for main 68000 */ +#define SOUND_CPU_CLOCK XTAL(7'000'000) /* clock for sound 68000 */ #define OKI4_SOUND_CLOCK XTAL(4'000'000) -#define VERBOSE 0 -#include "logmacro.h" - void megasys1_state::machine_reset() { m_ignore_oki_status = 1; /* ignore oki status due 'protection' */ @@ -253,6 +254,17 @@ void megasys1_typez_state::megasys1Z_map(address_map &map) map(0x084308, 0x084309).w(FUNC(megasys1_typez_state::soundlatch_z_w)); } +void megasys1_state::ram_w(offs_t offset, u16 data) +{ + // DON'T use COMBINE_DATA + // byte writes end up mirroring in both bytes of the word like nmk16.cpp + // 64th Street and Chimera Beast rely on this for attract inputs + + m_ram[offset] = data; +// if (mem_mask != 0xffff) printf("byte write to RAM %04x %04x %04x\n", offset, data, mem_mask); + +} + void megasys1_state::megasys_base_map(address_map &map) { map.global_mask(0xfffff); @@ -274,8 +286,8 @@ void megasys1_state::megasys_base_map(address_map &map) void megasys1_typea_state::megasys1A_map(address_map &map) { - map.global_mask(0xfffff); megasys_base_map(map); + map(0x000000, 0x07ffff).rom(); map(0x080008, 0x080009).r(m_soundlatch[1], FUNC(generic_latch_16_device::read)); /* from sound cpu */ map(0x084000, 0x084001).w(FUNC(megasys1_typea_state::active_layers_w)); @@ -286,23 +298,51 @@ void megasys1_typea_state::megasys1A_map(address_map &map) } /*************************************************************************** - [ Main CPU - System B ] + [ Interrupts - System B & C ] ***************************************************************************/ -TIMER_DEVICE_CALLBACK_MEMBER(megasys1_state::megasys1B_scanline) +void megasys1_state::megasys1bc_handle_scanline_irq(int scanline) +{ + if(scanline == 224+16) // vblank-out irq + m_maincpu->set_input_line(4, HOLD_LINE); + + if(scanline == 80+16) + m_maincpu->set_input_line(1, HOLD_LINE); +} + +TIMER_DEVICE_CALLBACK_MEMBER(megasys1_state::megasys1BC_scanline) { int scanline = param; - if(scanline == 240) // vblank-out irq - m_maincpu->set_input_line(4, HOLD_LINE); + megasys1bc_handle_scanline_irq(scanline); - if(scanline == 0) + if(scanline == 0+16) m_maincpu->set_input_line(2, HOLD_LINE); - if(scanline == 128) - m_maincpu->set_input_line(1, HOLD_LINE); } +TIMER_DEVICE_CALLBACK_MEMBER(megasys1_bc_iomcu_state::megasys1BC_iomcu_scanline) +{ + int scanline = param; + + megasys1bc_handle_scanline_irq(scanline); + + if(scanline == 0+16) // end of vblank (rising edge) + { + LOG("%s: megasys1BC_iomcu_scanline: Send INT1 to MCU: (scanline %03d)\n", machine().describe_context(), scanline); + m_iomcu->set_input_line(INPUT_LINE_IRQ1, ASSERT_LINE); + } + + if(scanline == 224+16) // start of vblank (falling edge) + { + LOG("%s: megasys1BC_iomcu_scanline: Clear INT1 to MCU: (scanline %03d)\n", machine().describe_context(), scanline); + m_iomcu->set_input_line(INPUT_LINE_IRQ1, CLEAR_LINE); + } +} + +/*************************************************************************** + [ IO Simulation - System B & C ] +***************************************************************************/ /* Read the input ports, through a protection device: @@ -325,11 +365,11 @@ void megasys1_bc_iosim_state::ip_select_w(u16 data) // TO MCU int i; // Coins P1 P2 DSW1 DSW2 -// 57 53 54 55 56 < 64street +// 57 53 54 55 56 < 64street (not used any more - MCU code dumped) // 37 35 36 33 34 < avspirit -// 58 54 55 56 57 < bigstrik -// 56 52 53 54 55 < cybattlr -// 20 21 22 23 24 < edf +// 58 54 55 56 57 < bigstrik (not used any more - MCU code dumped) +// 56 52 53 54 55 < cybattlr (not used any more - MCU code dumped) +// 20 21 22 23 24 < edf (not used any more - MCU code dumped) // 51 52 53 54 55 < hayaosi1 /* f(x) = ((x*x)>>4)&0xFF ; f(f($D)) == 6 */ @@ -350,149 +390,14 @@ void megasys1_bc_iosim_state::ip_select_w(u16 data) // TO MCU default: return; // get out if it wasn't a valid request } - // if the command is valid, generate an IRQ from the MCU m_maincpu->set_input_line(2, HOLD_LINE); } -void megasys1_state::megasys1B_map(address_map &map) -{ - map.global_mask(0xfffff); - map(0x000000, 0x03ffff).rom(); - map(0x044000, 0x044001).w(FUNC(megasys1_state::active_layers_w)); - map(0x044008, 0x04400d).rw("scroll2", FUNC(megasys1_tilemap_device::scroll_r), FUNC(megasys1_tilemap_device::scroll_w)); - map(0x044100, 0x044101).rw(FUNC(megasys1_state::sprite_flag_r), FUNC(megasys1_state::sprite_flag_w)); - map(0x044200, 0x044205).rw("scroll0", FUNC(megasys1_tilemap_device::scroll_r), FUNC(megasys1_tilemap_device::scroll_w)); - map(0x044208, 0x04420d).rw("scroll1", FUNC(megasys1_tilemap_device::scroll_r), FUNC(megasys1_tilemap_device::scroll_w)); - map(0x044300, 0x044301).w(FUNC(megasys1_state::screen_flag_w)); - map(0x044308, 0x044309).w(FUNC(megasys1_state::soundlatch_w)); - map(0x048000, 0x0487ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); - map(0x04e000, 0x04ffff).ram().share("objectram"); - map(0x050000, 0x053fff).ram().w("scroll0", FUNC(megasys1_tilemap_device::write)).share("scroll0"); - map(0x054000, 0x057fff).ram().w("scroll1", FUNC(megasys1_tilemap_device::write)).share("scroll1"); - map(0x058000, 0x05bfff).ram().w("scroll2", FUNC(megasys1_tilemap_device::write)).share("scroll2"); - map(0x060000, 0x06ffff).mirror(0x10000).ram().w(FUNC(megasys1_state::ram_w)).share("ram"); - map(0x080000, 0x0bffff).rom(); -} - -void megasys1_bc_iosim_state::megasys1B_iosim_map(address_map &map) -{ - megasys1B_map(map); - map(0x0e0000, 0x0e0001).rw(FUNC(megasys1_bc_iosim_state::ip_select_r), FUNC(megasys1_bc_iosim_state::ip_select_w)); -} - -void megasys1_state::megasys1B_edfbl_map(address_map &map) -{ - map.global_mask(0xfffff); - megasys1B_map(map); - map(0x0e0002, 0x0e0003).portr("SYSTEM"); - map(0x0e0004, 0x0e0005).portr("P1"); - map(0x0e0006, 0x0e0007).portr("P2"); - map(0x0e0008, 0x0e0009).portr("DSW1"); - map(0x0e000a, 0x0e000b).portr("DSW2"); - //map(0x0e000e, 0x0e000f).w(FUNC(megasys1_state::soundlatch_w)); -} - -void megasys1_state::megasys1B_monkelf_map(address_map &map) -{ - map.global_mask(0xfffff); - megasys1B_map(map); - map(0x044200, 0x044205).w(FUNC(megasys1_state::monkelf_scroll0_w)); - map(0x044208, 0x04420d).w(FUNC(megasys1_state::monkelf_scroll1_w)); - map(0x0e0002, 0x0e0003).portr("P1"); - map(0x0e0004, 0x0e0005).portr("P2"); - map(0x0e0006, 0x0e0007).portr("DSW1"); - map(0x0e0008, 0x0e0009).portr("DSW2"); - map(0x0e000a, 0x0e000b).portr("SYSTEM"); -} - - - - /*************************************************************************** - [ Main CPU - System C ] + [ IO MCU Emulation - System B & C ] ***************************************************************************/ - -#define INTERRUPT_NUM_C INTERRUPT_NUM_B -#define interrupt_C interrupt_B - -void megasys1_state::megasys1c_handle_scanline_irq(int scanline) -{ - if(scanline == 224+16) // vblank-out irq - m_maincpu->set_input_line(4, HOLD_LINE); - - if(scanline == 80+16) - m_maincpu->set_input_line(1, HOLD_LINE); -} - -TIMER_DEVICE_CALLBACK_MEMBER(megasys1_state::megasys1C_scanline) -{ - int scanline = param; - - megasys1c_handle_scanline_irq(scanline); - - if(scanline == 0+16) - m_maincpu->set_input_line(2, HOLD_LINE); - -} -TIMER_DEVICE_CALLBACK_MEMBER(megasys1_bc_iomcu_state::megasys1C_iomcu_scanline) -{ - int scanline = param; - - megasys1c_handle_scanline_irq(scanline); - - if(scanline == 0+16) // end of vblank (rising edge) - { - LOG("%s: megasys1C_iomcu_scanline: Send INT1 to MCU: (scanline %03d)\n", machine().describe_context(), scanline); - m_iomcu->set_input_line(INPUT_LINE_IRQ1, ASSERT_LINE); - } - - if(scanline == 224+16) // start of vblank (falling edge) - { - LOG("%s: megasys1C_iomcu_scanline: Clear INT1 to MCU: (scanline %03d)\n", machine().describe_context(), scanline); - m_iomcu->set_input_line(INPUT_LINE_IRQ1, CLEAR_LINE); - } -} - -void megasys1_state::ram_w(offs_t offset, u16 data) -{ - // DON'T use COMBINE_DATA - // byte writes end up mirroring in both bytes of the word like nmk16.cpp - // 64th Street and Chimera Beast rely on this for attract inputs - - m_ram[offset] = data; -// if (mem_mask != 0xffff) printf("byte write to RAM %04x %04x %04x\n", offset, data, mem_mask); - -} - -void megasys1_state::megasys1C_map(address_map &map) -{ - map.global_mask(0x1fffff); - map(0x000000, 0x07ffff).rom(); - map(0x0c2000, 0x0c2005).rw("scroll0", FUNC(megasys1_tilemap_device::scroll_r), FUNC(megasys1_tilemap_device::scroll_w)); - map(0x0c2008, 0x0c200d).rw("scroll1", FUNC(megasys1_tilemap_device::scroll_r), FUNC(megasys1_tilemap_device::scroll_w)); - map(0x0c2100, 0x0c2105).rw("scroll2", FUNC(megasys1_tilemap_device::scroll_r), FUNC(megasys1_tilemap_device::scroll_w)); - map(0x0c2108, 0x0c2109).w(FUNC(megasys1_state::sprite_bank_w)); - map(0x0c2200, 0x0c2201).rw(FUNC(megasys1_state::sprite_flag_r), FUNC(megasys1_state::sprite_flag_w)); - map(0x0c2208, 0x0c2209).w(FUNC(megasys1_state::active_layers_w)); - map(0x0c2308, 0x0c2309).w(FUNC(megasys1_state::screen_flag_w)); - map(0x0c8000, 0x0c8001).r(m_soundlatch[1], FUNC(generic_latch_16_device::read)).w(FUNC(megasys1_state::soundlatch_c_w)); - map(0x0d2000, 0x0d3fff).ram().share("objectram"); - // 64th Street actively uses 0xe4*** for breakable objects. - map(0x0e0000, 0x0e3fff).mirror(0x4000).ram().w("scroll0", FUNC(megasys1_tilemap_device::write)).share("scroll0"); - map(0x0e8000, 0x0ebfff).mirror(0x4000).ram().w("scroll1", FUNC(megasys1_tilemap_device::write)).share("scroll1"); - map(0x0f0000, 0x0f3fff).mirror(0x4000).ram().w("scroll2", FUNC(megasys1_tilemap_device::write)).share("scroll2"); - map(0x0f8000, 0x0f87ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); - map(0x1c0000, 0x1cffff).mirror(0x30000).ram().w(FUNC(megasys1_state::ram_w)).share("ram"); //0x1f****, Cybattler reads attract mode inputs at 0x1d**** -} - -void megasys1_bc_iosim_state::megasys1C_iosim_map(address_map &map) -{ - megasys1C_map(map); - map(0x0d8000, 0x0d8001).rw(FUNC(megasys1_bc_iosim_state::ip_select_r), FUNC(megasys1_bc_iosim_state::ip_select_w)); -} - /* Used by IO MCU to read data from different inputs (DSW1, DSW2, P1, P2, COIN) depending on which one was previously selected by the MCU itself using the offset. @@ -578,6 +483,112 @@ void megasys1_bc_iomcu_state::iomcu_map(address_map &map) map(0x000000, 0x0fffff).r(FUNC(megasys1_bc_iomcu_state::mcu_capture_inputs_r)); } +/*************************************************************************** + [ Main CPU - System B ] +***************************************************************************/ + +TIMER_DEVICE_CALLBACK_MEMBER(megasys1_state::megasys1Bbl_scanline) +{ + int scanline = param; + + if(scanline == 240) // vblank-out irq + m_maincpu->set_input_line(4, HOLD_LINE); + + if(scanline == 0) + m_maincpu->set_input_line(2, HOLD_LINE); + + if(scanline == 128) + m_maincpu->set_input_line(1, HOLD_LINE); +} + +void megasys1_state::megasys1B_map(address_map &map) +{ + map.global_mask(0xfffff); + map(0x000000, 0x03ffff).rom(); + map(0x044000, 0x044001).w(FUNC(megasys1_state::active_layers_w)); + map(0x044008, 0x04400d).rw("scroll2", FUNC(megasys1_tilemap_device::scroll_r), FUNC(megasys1_tilemap_device::scroll_w)); + map(0x044100, 0x044101).rw(FUNC(megasys1_state::sprite_flag_r), FUNC(megasys1_state::sprite_flag_w)); + map(0x044200, 0x044205).rw("scroll0", FUNC(megasys1_tilemap_device::scroll_r), FUNC(megasys1_tilemap_device::scroll_w)); + map(0x044208, 0x04420d).rw("scroll1", FUNC(megasys1_tilemap_device::scroll_r), FUNC(megasys1_tilemap_device::scroll_w)); + map(0x044300, 0x044301).w(FUNC(megasys1_state::screen_flag_w)); + map(0x044308, 0x044309).w(FUNC(megasys1_state::soundlatch_w)); + map(0x048000, 0x0487ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); + map(0x04e000, 0x04ffff).ram().share("objectram"); + map(0x050000, 0x053fff).ram().w("scroll0", FUNC(megasys1_tilemap_device::write)).share("scroll0"); + map(0x054000, 0x057fff).ram().w("scroll1", FUNC(megasys1_tilemap_device::write)).share("scroll1"); + map(0x058000, 0x05bfff).ram().w("scroll2", FUNC(megasys1_tilemap_device::write)).share("scroll2"); + map(0x060000, 0x06ffff).mirror(0x10000).ram().w(FUNC(megasys1_state::ram_w)).share("ram"); + map(0x080000, 0x0bffff).rom(); +} + +void megasys1_bc_iosim_state::megasys1B_iosim_map(address_map &map) +{ + megasys1B_map(map); + map(0x0e0000, 0x0e0001).rw(FUNC(megasys1_bc_iosim_state::ip_select_r), FUNC(megasys1_bc_iosim_state::ip_select_w)); +} + +void megasys1_bc_iomcu_state::megasys1B_iomcu_map(address_map &map) +{ + megasys1B_map(map); + map(0x0e0000, 0x0e0001).rw(FUNC(megasys1_bc_iomcu_state::ip_select_iomcu_r), FUNC(megasys1_bc_iomcu_state::ip_select_iomcu_w)); +} + +void megasys1_state::megasys1B_edfbl_map(address_map &map) +{ + megasys1B_map(map); + + map(0x0e0002, 0x0e0003).portr("SYSTEM"); + map(0x0e0004, 0x0e0005).portr("P1"); + map(0x0e0006, 0x0e0007).portr("P2"); + map(0x0e0008, 0x0e0009).portr("DSW1"); + map(0x0e000a, 0x0e000b).portr("DSW2"); + //map(0x0e000e, 0x0e000f).w(FUNC(megasys1_state::soundlatch_w)); +} + +void megasys1_state::megasys1B_monkelf_map(address_map &map) +{ + megasys1B_map(map); + + map(0x044200, 0x044205).w(FUNC(megasys1_state::monkelf_scroll0_w)); + map(0x044208, 0x04420d).w(FUNC(megasys1_state::monkelf_scroll1_w)); + map(0x0e0002, 0x0e0003).portr("P1"); + map(0x0e0004, 0x0e0005).portr("P2"); + map(0x0e0006, 0x0e0007).portr("DSW1"); + map(0x0e0008, 0x0e0009).portr("DSW2"); + map(0x0e000a, 0x0e000b).portr("SYSTEM"); +} + +/*************************************************************************** + [ Main CPU - System C ] +***************************************************************************/ + +void megasys1_state::megasys1C_map(address_map &map) +{ + map.global_mask(0x1fffff); + map(0x000000, 0x07ffff).rom(); + map(0x0c2000, 0x0c2005).rw("scroll0", FUNC(megasys1_tilemap_device::scroll_r), FUNC(megasys1_tilemap_device::scroll_w)); + map(0x0c2008, 0x0c200d).rw("scroll1", FUNC(megasys1_tilemap_device::scroll_r), FUNC(megasys1_tilemap_device::scroll_w)); + map(0x0c2100, 0x0c2105).rw("scroll2", FUNC(megasys1_tilemap_device::scroll_r), FUNC(megasys1_tilemap_device::scroll_w)); + map(0x0c2108, 0x0c2109).w(FUNC(megasys1_state::sprite_bank_w)); + map(0x0c2200, 0x0c2201).rw(FUNC(megasys1_state::sprite_flag_r), FUNC(megasys1_state::sprite_flag_w)); + map(0x0c2208, 0x0c2209).w(FUNC(megasys1_state::active_layers_w)); + map(0x0c2308, 0x0c2309).w(FUNC(megasys1_state::screen_flag_w)); + map(0x0c8000, 0x0c8001).r(m_soundlatch[1], FUNC(generic_latch_16_device::read)).w(FUNC(megasys1_state::soundlatch_c_w)); + map(0x0d2000, 0x0d3fff).ram().share("objectram"); + // 64th Street actively uses 0xe4*** for breakable objects. + map(0x0e0000, 0x0e3fff).mirror(0x4000).ram().w("scroll0", FUNC(megasys1_tilemap_device::write)).share("scroll0"); + map(0x0e8000, 0x0ebfff).mirror(0x4000).ram().w("scroll1", FUNC(megasys1_tilemap_device::write)).share("scroll1"); + map(0x0f0000, 0x0f3fff).mirror(0x4000).ram().w("scroll2", FUNC(megasys1_tilemap_device::write)).share("scroll2"); + map(0x0f8000, 0x0f87ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); + map(0x1c0000, 0x1cffff).mirror(0x30000).ram().w(FUNC(megasys1_state::ram_w)).share("ram"); //0x1f****, Cybattler reads attract mode inputs at 0x1d**** +} + +void megasys1_bc_iosim_state::megasys1C_iosim_map(address_map &map) +{ + megasys1C_map(map); + map(0x0d8000, 0x0d8001).rw(FUNC(megasys1_bc_iosim_state::ip_select_r), FUNC(megasys1_bc_iosim_state::ip_select_w)); +} + void megasys1_bc_iomcu_state::megasys1C_iomcu_map(address_map &map) { megasys1C_map(map); @@ -2025,17 +2036,41 @@ void megasys1_typea_state::system_A_p47bl(machine_config &config) m_p47bl_adpcm[1]->add_route(ALL_OUTPUTS, "rspeaker", 1.0); } -void megasys1_bc_iosim_state::system_B(machine_config &config) +void megasys1_state::system_B(machine_config &config) { system_base(config); /* basic machine hardware */ m_maincpu->set_clock(SYS_B_CPU_CLOCK); /* 8MHz */ + m_maincpu->set_addrmap(AS_PROGRAM, &megasys1_state::megasys1B_map); + m_scantimer->set_callback(FUNC(megasys1_state::megasys1BC_scanline)); + + /* video hardware */ + m_screen->set_raw(SYS_A_CPU_CLOCK, 384, 0, 256, 278, 16, 240); +// m_screen->set_raw(SYS_A_CPU_CLOCK, 406, 0, 256, 263, 16, 240); + + m_audiocpu->set_addrmap(AS_PROGRAM, &megasys1_state::megasys1B_sound_map); +} + +void megasys1_bc_iosim_state::system_B_iosim(machine_config &config) +{ + system_B(config); m_maincpu->set_addrmap(AS_PROGRAM, &megasys1_bc_iosim_state::megasys1B_iosim_map); - m_scantimer->set_callback(FUNC(megasys1_bc_iosim_state::megasys1B_scanline)); +} + +void megasys1_bc_iomcu_state::system_B_iomcu(machine_config &config) +{ + system_B(config); + + m_maincpu->set_addrmap(AS_PROGRAM, &megasys1_bc_iomcu_state::megasys1B_iomcu_map); + m_scantimer->set_callback(FUNC(megasys1_bc_iomcu_state::megasys1BC_iomcu_scanline)); - m_audiocpu->set_addrmap(AS_PROGRAM, &megasys1_bc_iosim_state::megasys1B_sound_map); + TMP91640(config, m_iomcu, SYS_B_CPU_CLOCK); // Toshiba TMP91640, with 16Kbyte internal ROM, 512bytes internal RAM + m_iomcu->set_addrmap(AS_PROGRAM, &megasys1_bc_iomcu_state::iomcu_map); + m_iomcu->port_read<1>().set(FUNC(megasys1_bc_iomcu_state::mcu_port1_r)); + m_iomcu->port_write<2>().set(FUNC(megasys1_bc_iomcu_state::mcu_port2_w)); + m_iomcu->port_write<6>().set(FUNC(megasys1_bc_iomcu_state::mcu_port6_w)); } void megasys1_state::system_B_monkelf(machine_config &config) @@ -2046,7 +2081,7 @@ void megasys1_state::system_B_monkelf(machine_config &config) m_maincpu->set_clock(SYS_B_CPU_CLOCK); /* 8MHz */ m_maincpu->set_addrmap(AS_PROGRAM, &megasys1_state::megasys1B_monkelf_map); - m_scantimer->set_callback(FUNC(megasys1_state::megasys1B_scanline)); + m_scantimer->set_callback(FUNC(megasys1_state::megasys1Bbl_scanline)); m_audiocpu->set_addrmap(AS_PROGRAM, &megasys1_state::megasys1B_sound_map); } @@ -2056,7 +2091,7 @@ void megasys1_state::system_Bbl(machine_config &config) /* basic machine hardware */ M68000(config, m_maincpu, 12_MHz_XTAL / 2); // edfbl has lower clock, verified on PCB m_maincpu->set_addrmap(AS_PROGRAM, &megasys1_state::megasys1B_edfbl_map); - TIMER(config, m_scantimer).configure_scanline(FUNC(megasys1_state::megasys1B_scanline), m_screen, 0, 1); + TIMER(config, m_scantimer).configure_scanline(FUNC(megasys1_state::megasys1Bbl_scanline), m_screen, 0, 1); /* video hardware */ SCREEN(config, m_screen, SCREEN_TYPE_RASTER); @@ -2091,7 +2126,7 @@ void megasys1_state::system_Bbl(machine_config &config) void megasys1_bc_iosim_state::system_B_hayaosi1(machine_config &config) { - system_B(config); + system_B_iosim(config); /* basic machine hardware */ @@ -2111,7 +2146,7 @@ void megasys1_state::system_C(machine_config &config) /* basic machine hardware */ m_maincpu->set_clock(SYS_C_CPU_CLOCK); /* 12MHz */ m_maincpu->set_addrmap(AS_PROGRAM, &megasys1_state::megasys1C_map); - m_scantimer->set_callback(FUNC(megasys1_state::megasys1C_scanline)); + m_scantimer->set_callback(FUNC(megasys1_state::megasys1BC_scanline)); /* video hardware */ m_screen->set_raw(SYS_A_CPU_CLOCK, 384, 0, 256, 278, 16, 240); @@ -2133,14 +2168,13 @@ void megasys1_bc_iomcu_state::system_C_iomcu(machine_config &config) system_C(config); m_maincpu->set_addrmap(AS_PROGRAM, &megasys1_bc_iomcu_state::megasys1C_iomcu_map); - m_scantimer->set_callback(FUNC(megasys1_bc_iomcu_state::megasys1C_iomcu_scanline)); + m_scantimer->set_callback(FUNC(megasys1_bc_iomcu_state::megasys1BC_iomcu_scanline)); TMP91640(config, m_iomcu, SYS_C_CPU_CLOCK); // Toshiba TMP91640, with 16Kbyte internal ROM, 512bytes internal RAM m_iomcu->set_addrmap(AS_PROGRAM, &megasys1_bc_iomcu_state::iomcu_map); m_iomcu->port_read<1>().set(FUNC(megasys1_bc_iomcu_state::mcu_port1_r)); m_iomcu->port_write<2>().set(FUNC(megasys1_bc_iomcu_state::mcu_port2_w)); m_iomcu->port_write<6>().set(FUNC(megasys1_bc_iomcu_state::mcu_port6_w)); - } /*************************************************************************** @@ -3108,7 +3142,7 @@ ROM_START( edf ) ROM_LOAD16_BYTE( "edf2.f3", 0x000001, 0x020000, CRC(ce93643e) SHA1(686bf0ec104af8c97624a782e0d60afe170fd945) ) ROM_REGION( 0x4000, "iomcu", 0 ) /* TMP91640 Internal Code */ - ROM_LOAD( "edf.mcu", 0x00000, 0x04000, NO_DUMP ) + ROM_LOAD( "edf.mcu", 0x00000, 0x04000, CRC(1503026d) SHA1(5ff63cc5aa58b7a805c019612ddd6d5191a92333) ) ROM_REGION( 0x080000, "scroll0", 0 ) /* Scroll 0 */ ROM_LOAD( "edf_m04.rom", 0x000000, 0x080000, CRC(6744f406) SHA1(3b8f13ca968456186d9ad61f34611b7eab62ea86) ) @@ -3147,7 +3181,7 @@ ROM_START( edfa ) ROM_LOAD16_BYTE( "edf2.f3", 0x000001, 0x020000, CRC(ce93643e) SHA1(686bf0ec104af8c97624a782e0d60afe170fd945) ) ROM_REGION( 0x4000, "iomcu", 0 ) /* TMP91640 Internal Code */ - ROM_LOAD( "edf.mcu", 0x00000, 0x04000, NO_DUMP ) + ROM_LOAD( "edf.mcu", 0x00000, 0x04000, CRC(1503026d) SHA1(5ff63cc5aa58b7a805c019612ddd6d5191a92333) ) ROM_REGION( 0x080000, "scroll0", 0 ) /* Scroll 0 */ ROM_LOAD( "edf_m04.rom", 0x000000, 0x080000, CRC(6744f406) SHA1(3b8f13ca968456186d9ad61f34611b7eab62ea86) ) @@ -3186,7 +3220,7 @@ ROM_START( edfu ) ROM_LOAD16_BYTE( "edf2.f3", 0x000001, 0x020000, CRC(ce93643e) SHA1(686bf0ec104af8c97624a782e0d60afe170fd945) ) ROM_REGION( 0x4000, "iomcu", 0 ) /* TMP91640 Internal Code */ - ROM_LOAD( "edf.mcu", 0x00000, 0x04000, NO_DUMP ) + ROM_LOAD( "edf.mcu", 0x00000, 0x04000, CRC(1503026d) SHA1(5ff63cc5aa58b7a805c019612ddd6d5191a92333) ) ROM_REGION( 0x080000, "scroll0", 0 ) /* Scroll 0 */ ROM_LOAD( "edf_m04.rom", 0x000000, 0x080000, CRC(6744f406) SHA1(3b8f13ca968456186d9ad61f34611b7eab62ea86) ) @@ -5201,11 +5235,6 @@ void megasys1_bc_iosim_state::init_avspirit() // Type B m_ip_select_values = avspirit_seq; } -void megasys1_bc_iosim_state::init_edf() // Type B -{ - m_ip_select_values = edf_seq; -} - void megasys1_bc_iosim_state::init_hayaosi1() // Type B { m_ip_select_values = hayaosi1_seq; @@ -5254,8 +5283,8 @@ void megasys1_state::init_monkelf() *************************************/ // Type Z -GAME( 1988, lomakai, 0, system_Z, lomakai, megasys1_typez_state, empty_init, ROT0, "Jaleco", "Legend of Makai (World)", MACHINE_SUPPORTS_SAVE ) -GAME( 1988, makaiden, lomakai, system_Z, lomakai, megasys1_typez_state, empty_init, ROT0, "Jaleco", "Makai Densetsu (Japan)", MACHINE_SUPPORTS_SAVE ) +GAME( 1988, lomakai, 0, system_Z, lomakai, megasys1_typez_state, empty_init, ROT0, "Jaleco", "Legend of Makai (World)", MACHINE_SUPPORTS_SAVE ) +GAME( 1988, makaiden, lomakai, system_Z, lomakai, megasys1_typez_state, empty_init, ROT0, "Jaleco", "Makai Densetsu (Japan)", MACHINE_SUPPORTS_SAVE ) // Type A GAME( 1988, p47, 0, system_A, p47, megasys1_typea_state, empty_init, ROT0, "Jaleco", "P-47 - The Phantom Fighter (World)", MACHINE_SUPPORTS_SAVE ) @@ -5296,23 +5325,23 @@ GAME( 1992, soldam, 0, system_A_d65006_soldam, soldam, megasys1_t GAME( 1992, soldamj, soldam, system_A_gs88000_soldam, soldam, megasys1_typea_state, empty_init, ROT0, "Jaleco", "Soldam (Japan)", MACHINE_SUPPORTS_SAVE ) // Type B -GAME( 1991, avspirit, 0, system_B, avspirit, megasys1_bc_iosim_state, init_avspirit, ROT0, "Jaleco", "Avenging Spirit", MACHINE_SUPPORTS_SAVE ) -GAME( 1990, monkelf, avspirit, system_B_monkelf, avspirit, megasys1_state, init_monkelf, ROT0, "bootleg","Monky Elf (Korean bootleg of Avenging Spirit)", MACHINE_SUPPORTS_SAVE ) -GAME( 1991, edf, 0, system_B, edf, megasys1_bc_iosim_state, init_edf, ROT0, "Jaleco", "E.D.F. : Earth Defense Force (set 1)", MACHINE_SUPPORTS_SAVE ) -GAME( 1991, edfa, edf, system_B, edf, megasys1_bc_iosim_state, init_edf, ROT0, "Jaleco", "E.D.F. : Earth Defense Force (set 2)", MACHINE_SUPPORTS_SAVE ) -GAME( 1991, edfu, edf, system_B, edf, megasys1_bc_iosim_state, init_edf, ROT0, "Jaleco", "E.D.F. : Earth Defense Force (North America)", MACHINE_SUPPORTS_SAVE ) -GAME( 1991, edfbl, edf, system_Bbl, edf, megasys1_state, empty_init, ROT0, "bootleg","E.D.F. : Earth Defense Force (bootleg)", MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE ) -GAME( 1993, hayaosi1, 0, system_B_hayaosi1, hayaosi1, megasys1_bc_iosim_state, init_hayaosi1, ROT0, "Jaleco", "Hayaoshi Quiz Ouza Ketteisen - The King Of Quiz", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) +GAME( 1991, avspirit, 0, system_B_iosim, avspirit, megasys1_bc_iosim_state, init_avspirit, ROT0, "Jaleco", "Avenging Spirit", MACHINE_SUPPORTS_SAVE ) +GAME( 1990, monkelf, avspirit, system_B_monkelf, avspirit, megasys1_state, init_monkelf, ROT0, "bootleg","Monky Elf (Korean bootleg of Avenging Spirit)", MACHINE_SUPPORTS_SAVE ) +GAME( 1991, edf, 0, system_B_iomcu, edf, megasys1_bc_iomcu_state, empty_init, ROT0, "Jaleco", "E.D.F. : Earth Defense Force (set 1)", MACHINE_SUPPORTS_SAVE ) +GAME( 1991, edfa, edf, system_B_iomcu, edf, megasys1_bc_iomcu_state, empty_init, ROT0, "Jaleco", "E.D.F. : Earth Defense Force (set 2)", MACHINE_SUPPORTS_SAVE ) +GAME( 1991, edfu, edf, system_B_iomcu, edf, megasys1_bc_iomcu_state, empty_init, ROT0, "Jaleco", "E.D.F. : Earth Defense Force (North America)", MACHINE_SUPPORTS_SAVE ) +GAME( 1991, edfbl, edf, system_Bbl, edf, megasys1_state, empty_init, ROT0, "bootleg","E.D.F. : Earth Defense Force (bootleg)", MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE ) +GAME( 1993, hayaosi1, 0, system_B_hayaosi1, hayaosi1, megasys1_bc_iosim_state, init_hayaosi1, ROT0, "Jaleco", "Hayaoshi Quiz Ouza Ketteisen - The King Of Quiz", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) // Type C -GAME( 1991, 64street, 0, system_C_iomcu, 64street, megasys1_bc_iomcu_state, empty_init, ROT0, "Jaleco", "64th. Street - A Detective Story (World)", MACHINE_SUPPORTS_SAVE ) -GAME( 1991, 64streetj, 64street, system_C_iomcu, 64street, megasys1_bc_iomcu_state, empty_init, ROT0, "Jaleco", "64th. Street - A Detective Story (Japan, set 1)", MACHINE_SUPPORTS_SAVE ) -GAME( 1991, 64streetja, 64street, system_C_iomcu, 64street, megasys1_bc_iomcu_state, empty_init, ROT0, "Jaleco", "64th. Street - A Detective Story (Japan, set 2)", MACHINE_SUPPORTS_SAVE ) -GAME( 1992, bigstrik, 0, system_C_iomcu, bigstrik, megasys1_bc_iomcu_state, empty_init, ROT0, "Jaleco", "Big Striker", MACHINE_SUPPORTS_SAVE ) -GAME( 1993, chimerab, 0, system_C_iomcu, chimerab, megasys1_bc_iomcu_state, empty_init, ROT0, "Jaleco", "Chimera Beast (Japan, prototype, set 1)", MACHINE_SUPPORTS_SAVE ) -GAME( 1993, chimeraba, chimerab, system_C_iosim, chimerab, megasys1_bc_iosim_state, init_chimeraba,ROT0, "Jaleco", "Chimera Beast (Japan, prototype, set 2)", MACHINE_SUPPORTS_SAVE ) -GAME( 1993, cybattlr, 0, system_C_iomcu, cybattlr, megasys1_bc_iomcu_state, empty_init, ROT90, "Jaleco", "Cybattler", MACHINE_SUPPORTS_SAVE ) +GAME( 1991, 64street, 0, system_C_iomcu, 64street, megasys1_bc_iomcu_state, empty_init, ROT0, "Jaleco", "64th. Street - A Detective Story (World)", MACHINE_SUPPORTS_SAVE ) +GAME( 1991, 64streetj, 64street, system_C_iomcu, 64street, megasys1_bc_iomcu_state, empty_init, ROT0, "Jaleco", "64th. Street - A Detective Story (Japan, set 1)", MACHINE_SUPPORTS_SAVE ) +GAME( 1991, 64streetja, 64street, system_C_iomcu, 64street, megasys1_bc_iomcu_state, empty_init, ROT0, "Jaleco", "64th. Street - A Detective Story (Japan, set 2)", MACHINE_SUPPORTS_SAVE ) +GAME( 1992, bigstrik, 0, system_C_iomcu, bigstrik, megasys1_bc_iomcu_state, empty_init, ROT0, "Jaleco", "Big Striker", MACHINE_SUPPORTS_SAVE ) +GAME( 1993, chimerab, 0, system_C_iomcu, chimerab, megasys1_bc_iomcu_state, empty_init, ROT0, "Jaleco", "Chimera Beast (Japan, prototype, set 1)", MACHINE_SUPPORTS_SAVE ) +GAME( 1993, chimeraba, chimerab, system_C_iosim, chimerab, megasys1_bc_iosim_state, init_chimeraba, ROT0, "Jaleco", "Chimera Beast (Japan, prototype, set 2)", MACHINE_SUPPORTS_SAVE ) +GAME( 1993, cybattlr, 0, system_C_iomcu, cybattlr, megasys1_bc_iomcu_state, empty_init, ROT90, "Jaleco", "Cybattler", MACHINE_SUPPORTS_SAVE ) // Type D -GAME( 1993, peekaboo, 0, system_D, peekaboo, megasys1_typed_state, init_peekaboo, ROT0, "Jaleco", "Peek-a-Boo! (Japan, ver. 1.1)", MACHINE_SUPPORTS_SAVE ) -GAME( 1993, peekaboou, peekaboo, system_D, peekaboo, megasys1_typed_state, init_peekaboo, ROT0, "Jaleco", "Peek-a-Boo! (North America, ver 1.0)", MACHINE_SUPPORTS_SAVE ) +GAME( 1993, peekaboo, 0, system_D, peekaboo, megasys1_typed_state, init_peekaboo, ROT0, "Jaleco", "Peek-a-Boo! (Japan, ver. 1.1)", MACHINE_SUPPORTS_SAVE ) +GAME( 1993, peekaboou, peekaboo, system_D, peekaboo, megasys1_typed_state, init_peekaboo, ROT0, "Jaleco", "Peek-a-Boo! (North America, ver 1.0)", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/jaleco/megasys1.h b/src/mame/jaleco/megasys1.h index 3941eb911d3f1..4aa6c4c73b292 100644 --- a/src/mame/jaleco/megasys1.h +++ b/src/mame/jaleco/megasys1.h @@ -51,11 +51,9 @@ class megasys1_state : public driver_device m_hardware_type_z = 0; } - void system_B_monkelf(machine_config &config); - void system_C(machine_config &config); - void system_Bbl(machine_config &config); - void system_base(machine_config &config); + void system_B_monkelf(machine_config &config) ATTR_COLD; + void system_Bbl(machine_config &config) ATTR_COLD; void init_monkelf(); @@ -84,13 +82,17 @@ class megasys1_state : public driver_device void megasys1B_map(address_map &map) ATTR_COLD; void megasys1C_map(address_map &map) ATTR_COLD; - void megasys1c_handle_scanline_irq(int scanline); + void megasys1bc_handle_scanline_irq(int scanline); TIMER_DEVICE_CALLBACK_MEMBER(megasys_base_scanline); - TIMER_DEVICE_CALLBACK_MEMBER(megasys1B_scanline); + TIMER_DEVICE_CALLBACK_MEMBER(megasys1Bbl_scanline); void megasys_base_map(address_map &map) ATTR_COLD; void megasys1B_sound_map(address_map &map) ATTR_COLD; + void system_base(machine_config &config) ATTR_COLD; + void system_B(machine_config &config) ATTR_COLD; + void system_C(machine_config &config) ATTR_COLD; + void megasys1_palette(palette_device &palette); virtual void draw_sprites(screen_device &screen, bitmap_ind16 &bitmap,const rectangle &cliprect); @@ -142,7 +144,7 @@ class megasys1_state : public driver_device void ram_w(offs_t offset, u16 data); - TIMER_DEVICE_CALLBACK_MEMBER(megasys1C_scanline); + TIMER_DEVICE_CALLBACK_MEMBER(megasys1BC_scanline); void priority_create(); @@ -159,16 +161,16 @@ class megasys1_typea_state : public megasys1_state m_gatearray(*this, "gatearray") { } - void system_A(machine_config &config); - void system_A_d65006_soldam(machine_config &config); - void system_A_gs88000_soldam(machine_config &config); - void system_A_iganinju(machine_config &config); - void system_A_kickoffb(machine_config &config); - void system_A_p47bl(machine_config &config); - void system_A_d65006(machine_config &config); - void system_A_d65006_iganinju(machine_config &config); - void system_A_gs88000(machine_config &config); - void system_A_unkarray(machine_config &config); + void system_A(machine_config &config) ATTR_COLD; + void system_A_d65006_soldam(machine_config &config) ATTR_COLD; + void system_A_gs88000_soldam(machine_config &config) ATTR_COLD; + void system_A_iganinju(machine_config &config) ATTR_COLD; + void system_A_kickoffb(machine_config &config) ATTR_COLD; + void system_A_p47bl(machine_config &config) ATTR_COLD; + void system_A_d65006(machine_config &config) ATTR_COLD; + void system_A_d65006_iganinju(machine_config &config) ATTR_COLD; + void system_A_gs88000(machine_config &config) ATTR_COLD; + void system_A_unkarray(machine_config &config) ATTR_COLD; void init_jitsupro_gfx(); void init_rodland_gfx(); @@ -219,7 +221,7 @@ class megasys1_typed_state : public megasys1_state m_okibank(*this, "okibank") { } - void system_D(machine_config &config); + void system_D(machine_config &config) ATTR_COLD; void init_peekaboo(); @@ -272,11 +274,10 @@ class megasys1_bc_iosim_state : public megasys1_state void init_avspirit(); void init_chimeraba(); void init_hayaosi1(); - void init_edf(); - void system_B(machine_config &config); - void system_B_hayaosi1(machine_config &config); - void system_C_iosim(machine_config &config); + void system_B_iosim(machine_config &config) ATTR_COLD; + void system_B_hayaosi1(machine_config &config) ATTR_COLD; + void system_C_iosim(machine_config &config) ATTR_COLD; protected: virtual void machine_start() override ATTR_COLD; @@ -287,7 +288,6 @@ class megasys1_bc_iosim_state : public megasys1_state u16 m_ip_latched = 0; static constexpr u8 avspirit_seq[7] = { 0x37,0x35,0x36,0x33,0x34, 0xff,0x06 }; - static constexpr u8 edf_seq[7] = { 0x20,0x21,0x22,0x23,0x24, 0xf0,0x06 }; static constexpr u8 hayaosi1_seq[7] = { 0x51,0x52,0x53,0x54,0x55, 0xfc,0x06 }; static constexpr u8 chimeraba_seq[7] = { 0x56,0x52,0x53,0x55,0x54, 0xfa,0x06 }; @@ -306,7 +306,8 @@ class megasys1_bc_iomcu_state : public megasys1_state m_iomcu(*this, "iomcu") { } - void system_C_iomcu(machine_config &config); + void system_B_iomcu(machine_config &config) ATTR_COLD; + void system_C_iomcu(machine_config &config) ATTR_COLD; protected: virtual void machine_start() override ATTR_COLD; @@ -325,10 +326,11 @@ class megasys1_bc_iomcu_state : public megasys1_state u8 m_mcu_input_data; u8 m_mcu_io_data; + void megasys1B_iomcu_map(address_map &map) ATTR_COLD; void megasys1C_iomcu_map(address_map &map) ATTR_COLD; void iomcu_map(address_map &map) ATTR_COLD; - TIMER_DEVICE_CALLBACK_MEMBER(megasys1C_iomcu_scanline); + TIMER_DEVICE_CALLBACK_MEMBER(megasys1BC_iomcu_scanline); }; #endif // MAME_JALECO_MEGASYS1_H diff --git a/src/mame/jaleco/ms32.cpp b/src/mame/jaleco/ms32.cpp index bcd25792b6ce6..008bd2c20a1f2 100644 --- a/src/mame/jaleco/ms32.cpp +++ b/src/mame/jaleco/ms32.cpp @@ -473,6 +473,8 @@ Notes from Charles MacDonald #include "ms32.h" #include "jalcrpt.h" +#include "mahjong.h" + #include "cpu/z80/z80.h" #include "cpu/v60/v60.h" #include "speaker.h" @@ -492,7 +494,7 @@ ioport_value ms32_state::mahjong_ctrl_r() mj_input &= m_io_mj[i]->read(); } - return mj_input; + return bitswap<8>(mj_input, 6, 5, 4, 2, 3, 1, 0, 7); } void ms32_base_state::sound_command_w(u32 data) @@ -960,55 +962,23 @@ static INPUT_PORTS_START( ms32_mahjong ) PORT_BIT( 0x00400000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x00800000, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_START("MJ0") - PORT_BIT( 0x00000001, IP_ACTIVE_LOW, IPT_START1 ) - PORT_BIT( 0x00000002, IP_ACTIVE_LOW, IPT_MAHJONG_A ) - PORT_BIT( 0x00000004, IP_ACTIVE_LOW, IPT_MAHJONG_E ) - PORT_BIT( 0x00000008, IP_ACTIVE_LOW, IPT_MAHJONG_M ) - PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_MAHJONG_I ) - PORT_BIT( 0x00000020, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) - PORT_BIT( 0x00000040, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x00000080, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("MJ1") - PORT_BIT( 0x00000001, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x00000002, IP_ACTIVE_LOW, IPT_MAHJONG_B ) - PORT_BIT( 0x00000004, IP_ACTIVE_LOW, IPT_MAHJONG_F ) - PORT_BIT( 0x00000008, IP_ACTIVE_LOW, IPT_MAHJONG_N ) - PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_MAHJONG_J ) - PORT_BIT( 0x00000020, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) - PORT_BIT( 0x00000040, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x00000080, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("MJ2") - PORT_BIT( 0x00000001, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x00000002, IP_ACTIVE_LOW, IPT_MAHJONG_C ) - PORT_BIT( 0x00000004, IP_ACTIVE_LOW, IPT_MAHJONG_G ) - PORT_BIT( 0x00000008, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) - PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_MAHJONG_K ) - PORT_BIT( 0x00000020, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) - PORT_BIT( 0x00000040, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x00000080, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("MJ3") - PORT_BIT( 0x00000001, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x00000002, IP_ACTIVE_LOW, IPT_MAHJONG_D ) - PORT_BIT( 0x00000004, IP_ACTIVE_LOW, IPT_MAHJONG_H ) - PORT_BIT( 0x00000008, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) - PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_MAHJONG_L ) - PORT_BIT( 0x00000020, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x00000040, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x00000080, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("MJ4") - PORT_BIT( 0x00000001, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x00000002, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x00000004, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x00000008, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x00000020, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x00000040, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x00000080, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_INCLUDE(mahjong_matrix_1p) + + PORT_MODIFY("KEY0") + PORT_BIT( 0x00000060, IP_ACTIVE_LOW, IPT_UNUSED ) + PORT_BIT( 0x00000080, IP_ACTIVE_LOW, IPT_START1 ) // rotated into LSB + + PORT_MODIFY("KEY1") + PORT_BIT( 0x000000c0, IP_ACTIVE_LOW, IPT_UNUSED ) + + PORT_MODIFY("KEY2") + PORT_BIT( 0x000000c0, IP_ACTIVE_LOW, IPT_UNUSED ) + + PORT_MODIFY("KEY3") + PORT_BIT( 0x000000c0, IP_ACTIVE_LOW, IPT_UNUSED ) + + PORT_MODIFY("KEY4") + PORT_BIT( 0x000000c0, IP_ACTIVE_LOW, IPT_UNUSED ) INPUT_PORTS_END /************************************* diff --git a/src/mame/jaleco/ms32.h b/src/mame/jaleco/ms32.h index 6591ee88947fb..4ae4a7021cca8 100644 --- a/src/mame/jaleco/ms32.h +++ b/src/mame/jaleco/ms32.h @@ -80,7 +80,7 @@ class ms32_state : public ms32_base_state , m_sprram(*this, "sprram", 0x10000, ENDIANNESS_LITTLE) , m_txram(*this, "txram", 0x4000, ENDIANNESS_LITTLE) , m_bgram(*this, "bgram", 0x4000, ENDIANNESS_LITTLE) - , m_io_mj(*this, "MJ%u", 0U) + , m_io_mj(*this, "KEY%u", 0U) { } void ms32(machine_config &config); diff --git a/src/mame/jaleco/skyfox.cpp b/src/mame/jaleco/skyfox.cpp index ef013a6b7475e..c87882c8b6329 100644 --- a/src/mame/jaleco/skyfox.cpp +++ b/src/mame/jaleco/skyfox.cpp @@ -412,7 +412,7 @@ static INPUT_PORTS_START( skyfox ) PORT_DIPSETTING( 0x80, DEF_STR( Cocktail ) ) PORT_START("DSW1") // Coins, DSW + Vblank - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_DIPNAME( 0x0e, 0x00, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW2:1,2,3") PORT_DIPSETTING( 0x0e, DEF_STR( 5C_1C ) ) PORT_DIPSETTING( 0x0a, DEF_STR( 4C_1C ) ) diff --git a/src/mame/jpm/jpmmps.cpp b/src/mame/jpm/jpmmps.cpp index 10d418b6515aa..19c3be0b91469 100644 --- a/src/mame/jpm/jpmmps.cpp +++ b/src/mame/jpm/jpmmps.cpp @@ -2132,211 +2132,211 @@ ROM_END } // anonymous namespace -GAMEL( 198?, j2adnote, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Add A Note (JPM) (MPS, set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2adnote ) -GAMEL( 198?, j2adnotea, j2adnote, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Add A Note (JPM) (MPS, set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2adnote ) -GAMEL( 198?, j2adnoteb, j2adnote, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Add A Note (JPM) (MPS, set 3)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2adnote ) -GAMEL( 198?, j2adnotec, j2adnote, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Add A Note (JPM) (MPS, set 4)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2adnote ) -GAMEL( 198?, j2adnoted, j2adnote, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Add A Note (JPM) (MPS, set 5)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2adnote ) -GAMEL( 198?, j2adnotee, j2adnote, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Add A Note (JPM) (MPS, set 6)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2adnote ) -GAMEL( 198?, j2adnotef, j2adnote, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Add A Note (JPM) (MPS, set 7)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2adnote ) -GAMEL( 198?, j2adnoteg, j2adnote, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Add A Note (JPM) (MPS, set 8)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2adnote ) -GAMEL( 198?, j2adnoteh, j2adnote, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Add A Note (JPM) (MPS, set 9)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2adnote ) -GAMEL( 198?, j2adnotei, j2adnote, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Add A Note (JPM) (MPS, set 10)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2adnote ) -GAMEL( 198?, j2bankch, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Bank Chase (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2bankch ) -GAME( 198?, j2bankrd, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Bank Raid (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAMEL( 198?, j2bigbnk, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Big Banker (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2bigbnk ) -GAMEL( 198?, j2bigbox, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Big Box (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2bigbox ) -GAME( 198?, j2bigbuk, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Big Buck$ (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2bigdl, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Big Deal (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2blkchy, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Black Cherry (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAMEL( 198?, j2cashbn, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Cash Bonus Club (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2cashbn ) -GAME( 198?, j2cashfl, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Cash Falls (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAMEL( 198?, j2cashrl, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Cash Reels (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2cashrl ) -GAMEL( 198?, j2cashrv, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Cash Reserve (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2cashrv ) -GAMEL( 198?, j2cashro, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Cash Rolls (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2cashro ) -GAMEL( 198?, j2cashtk, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Cash Track (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2cashtk ) -GAME( 198?, j2cashtd, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Cash Track Deluxe (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAMEL( 198?, j2coppot, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Copper Pot (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2coppot ) -GAME( 198?, j2coprun, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Copper Run (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAMEL( 198?, j2cprndx, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Copper Run Deluxe (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2cprndx ) -GAME( 198?, j2crkbnk, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Crack The Bank (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAMEL( 198?, j2droplt, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Drop The Lot (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2droplt ) -GAME( 198?, j2dropld, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Drop The Lot Deluxe (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAMEL( 198?, j2ewn, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Each Way Nudger (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2ewn ) -GAMEL( 198?, j2ews, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Each Way Shuffle (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2ews ) -GAMEL( 198?, j2exec, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Executive Club (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2exec ) -GAMEL( 198?, j2fasttk, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Fast Trak (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2fasttk ) -GAMEL( 198?, j2fqueen, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Find The Queen (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2fqueen ) -GAMEL( 198?, j2fiveal, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Five Alive (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2fiveal ) -GAMEL( 198?, j2fiveln, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Five Liner (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2fiveln ) -GAMEL( 198?, j2fws, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Five Way Shuffle (set 1) (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2fws ) -GAMEL( 198?, j2fwsa, j2fws, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Five Way Shuffle (set 2) (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2fws ) -GAME( 198?, j2frmtch, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Fruit Match (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAMEL( 198?, j2fullhs, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Full House Club (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2fullhs ) -GAMEL( 198?, j2ghostb, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Ghostbuster (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2ghostb ) -GAME( 198?, j2goldrn, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Gold Run (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAMEL( 198?, j2goldbr, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Golden Bars (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2goldbr ) -GAMEL( 198?, j2gldchy, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Golden Cherry (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2gldchy ) -GAME( 198?, j2gldwin, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Golden Win (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAMEL( 198?, j2hinote, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Hi Note (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2hinote ) -GAMEL( 198?, j2hiroll, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Hi Roller (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2hiroll ) -GAMEL( 198?, j2hotpot, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Hot Pot (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2hotpot ) -GAME( 198?, j2hotptd, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Hot Pot Deluxe (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAMEL( 198?, j2hotsht, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Hot Shot Club (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2hotsht ) -GAMEL( 198?, j2hypnot, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Hypernote (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2hypnot ) -GAMEL( 198?, j2jackbr, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Jackpot Bars (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2jackbr ) -GAME( 198?, j2jackdc, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Jackpot Dice (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2jokers, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Jokers (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAMEL( 198?, j2kingcl, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","King Of Clubs (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2kingcl ) -GAMEL( 198?, j2litean, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Lite A Nudge (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2litean ) -GAMEL( 198?, j2lovsht, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Loot Shoot (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2lovsht ) -GAMEL( 198?, j2lovshd, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Loot Shoot Deluxe (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2lovshd ) -GAMEL( 198?, j2luckar, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Lucky Arrows (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2luckar ) -GAMEL( 198?, j2lucky2, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Lucky 2s (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2lucky2 ) -GAMEL( 198?, j2monblt, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Money Belt (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2monblt ) -GAMEL( 198?, j2mongam, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Money Game (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2mongam ) -GAME( 198?, j2mongmd, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Money Game Deluxe (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2multwn, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Multi Win (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2notexc, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Note Exchange (set 1) (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2notexca, j2notexc, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Note Exchange (set 2) (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2notexcb, j2notexc, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Note Exchange (set 3) (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAMEL( 198?, j2notesh, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Note Shoot (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2notesh ) -GAMEL( 198?, j2nudbnz, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Nudge Bonanza Deluxe (set 1) (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2nudbnz ) -GAME( 198?, j2nudbnza, j2nudbnz, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Nudge Bonanza Deluxe (set 2) (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2nuddup, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Nudge Double Up (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2nuddud, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Nudge Double Up Deluxe (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2nudup3, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Nudge Double Up MkIII (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAMEL( 198?, j2nudshf, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Nudge Shuffler (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2nudshf ) -GAME( 198?, j2plsmon, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Plus Money (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAMEL( 198?, j2plsmnd, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Plus Money Deluxe (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2plsmnd ) -GAMEL( 198?, j2plsnud, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Plus Nudge (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2plsnud ) -GAME( 198?, j2potlck, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Pot Luck (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAMEL( 198?, j2pndrsh, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Pound Rush (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2pndrsh ) -GAME( 198?, j2pyramd, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Pyramid (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAMEL( 198?, j2reelbn, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Reel Bingo Club (set 1) (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2reelbn ) -GAMEL( 198?, j2reelbna, j2reelbn, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Reel Bingo Club (set 2) (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2reelbn ) -GAMEL( 198?, j2reelbo, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Reel Bonus (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2reelbo ) -GAME( 198?, j2reelmg, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Reel Magic (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2reelmgd, j2reelmg, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Reel Magic (JPM) [Dutch] (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAMEL( 198?, j2reelmc, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Reel Magic Club (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2reelmc ) -GAMEL( 198?, j2reelmo, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Reel Money (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2reelmo ) -GAME( 198?, j2rotnot, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Rota Note (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2roulcl, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Roulette Club (JPM) [Mps] (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAMEL( 198?, j2rdclb, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Royal Deal Club (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2rdclb ) -GAMEL( 198?, j2slvrgh, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Silver Ghost (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2slvrgh ) -GAMEL( 198?, j2sldgld, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Solid Gold (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2sldgld ) -GAMEL( 198?, j2spcrsv, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Special Reserve (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2spcrsv ) -GAMEL( 198?, j2stahed, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Streets Ahead (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2stahed ) -GAME( 198?, j2supfrt, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Supa Fruit (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAMEL( 198?, j2supfrc, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Supa Fruit Club (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2supfrc ) -GAMEL( 1987, j2supsft, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Supashifta (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2supsft ) -GAMEL( 198?, j2supstp, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Supa Steppa (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2supstp ) -GAMEL( 198?, j2suptrk, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Supa Track (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2suptrk ) -GAME( 198?, j2suprft, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Super Fruit (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2supln, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Super Line (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2suppot, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Super Pots (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2suprl, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Super Reel (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAMEL( 198?, j2suprsh, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Supershot (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2suprsh ) -GAME( 198?, j2supstr, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Superstars (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAMEL( 198?, j2swbank, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Switch Back (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2swbank ) -GAMEL( 198?, j2take2, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Take 2 (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2take2 ) -GAME( 198?, j2topsht, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Top Shot (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2westrn, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Western (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) - - -GAMEL( 198?, j2blustr, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Pcp","Blue Streak (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2blustr ) -GAMEL( 198?, j2cshalm, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Pcp","Cash Alarm (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2cshalm ) -GAMEL( 198?, j2cshcrd, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Pcp","Cash Cards (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2cshcrd ) -GAMEL( 198?, j2cshfil, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Pcp","Cash-Filla (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2cshfil ) -GAMEL( 198?, j2cshsmh, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Pcp","Cash Smash (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2cshsmh ) -GAMEL( 198?, j2criscr, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Pcp","Criss Cross Jackpot (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2criscr ) -GAMEL( 198?, j2frucnx, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Pcp","Fruit Connexion (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2frucnx ) -GAMEL( 198?, j2hitmon, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Pcp","Hit Money (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2hitmon ) -GAMEL( 198?, j2penny, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Pcp","In For A Penny In For A Pound (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2penny ) -GAMEL( 198?, j2maxima, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Pcp","Maxima (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2maxima ) -GAMEL( 198?, j2montrp, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Pcp","Money Trapper (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2montrp ) -GAMEL( 198?, j2nudmon, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Pcp","Nudge Money (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2nudmon ) -GAMEL( 198?, j2paypkt, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Pcp","Pay Packet (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2paypkt ) -GAMEL( 198?, j2silvcl, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Pcp","Silver Classic (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2silvcl ) -GAMEL( 198?, j2silvsh, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Pcp","Silver Shot (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2silvsh ) -GAMEL( 198?, j2sstrea, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Pcp","Supa Streak (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2sstrea ) -GAMEL( 198?, j2tstplt, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Pcp","Test Pilot (set 1) (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2tstplt ) -GAMEL( 198?, j2tstplta, j2tstplt, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Pcp","Test Pilot (set 2) (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2tstplt ) - -GAME( 198?, j2bonanz, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Eurocoin","Bonanza (Eurocoin) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2supchy, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Eurocoin","Super Cherry (Eurocoin) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) - -GAMEL( 198?, j2hilocl, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Crystal","Hi Lo Climber Club (Crystal) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2hilocl ) -GAMEL( 198?, j2litnot, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Crystal","Lite A Note Club (Crystal) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2litnot ) -GAMEL( 198?, j2missis, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Crystal","Mississippi Gambler Club (Crystal) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2missis ) - -GAMEL( 198?, j2always, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Bwb","Always Eight (Bwb) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2always ) -GAMEL( 198?, j2coinsh, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Bwb","Coin Shoot (Bwb) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2coinsh ) -GAMEL( 198?, j2nudfev, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Bwb","Nudge Fever (Bwb) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2nudfev ) -GAMEL( 198?, j2trail, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Bwb","Trailblazer (Bwb) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2trail ) -GAME( 198?, j2wag, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Bwb","Win-A-Gain (Bwb) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) - -GAMEL( 198?, j2cshnud, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Mdm","Cash Nudger (Mdm) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2cshnud ) -GAME( 198?, j2fivepn, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Mdm","Fivepenny Nudger (Mdm) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAMEL( 198?, j2nolimt, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Mdm","No Limit Nudge (Mdm) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2nolimt ) - -GAME( 198?, j2strk10, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Ace?","Strike Ten (Ace) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) // there was another (68k based) game in this set, which makes me wonder if this one is by Ace at all - - - - -GAME( 198?, j2bkroll, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Bank Roll (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2bodym, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Body Match (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAMEL( 198?, j2cvault, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Cash Vault (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2cvault ) -GAME( 198?, j2cashab, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Cashablanca (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2cashry, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Pcp","Cashino Royale (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2casino, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Pcp","Casino Classic (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2coinct, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Coin Count (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2loots, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Pcp","Loot Shoot (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2match, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Match It (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2monbnd, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Money Bands (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2monmtx, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Bwb","Money Matrix (Bwb) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2tst, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","MPS 1 Test Rom (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2nudnud, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Nudge Nudge (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2pinac, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Pinnacle (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2pinclb, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Pinnacle Club (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAMEL( 198?, j2reelcz, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Reel Crazy (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2reelcz ) -GAME( 198?, j2reeldc, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Reel Deal Club (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2topcd, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Bwb","Top Card (Bwb) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2xxx, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Bwb","Triple X (Bwb) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2tupnud, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Tuppenny Nudger (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2wrb, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Wild Reel Bingo (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2ncsp, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Bwb","unknown 'ncsp0pp' (Bwb) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2nrrp, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Bwb","unknown 'nprpopp' (Bwb) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2nsc15, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Pcp","unknown 'nsc15' (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2nsw12, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Pcp","unknown 'nsw12' (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 198?, j2club77, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "","Club 77 (Unk) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2contnd, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Mdm","Continuous Nudger (Mdm) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAMEL( 198?, j2crown, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "","Crown Dealer (Unk) (MPS)", MACHINE_IS_SKELETON_MECHANICAL, layout_j2crown ) -GAME( 198?, j2hirola, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "","Hi Roll (Unk) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2monmin, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "","Money Mine (Unk) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2notspn, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "","Note Spinner (Unk) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2super7, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "","Super 7's (Unk) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2sex, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "","Super Exchanger (Unk) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2sng, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Cotswold Microsystems","Super Nudge Gambler (Cotswold Microsystems) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2tupnd, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Mdm","Tuppenny Nudger (Mdm) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2008, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "","unknown '008' (Unk) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2chsn, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "","unknown 'chsnsn05' (Unk) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2lhs, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "","unknown 'lhs' (Unk) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2nn2, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "","unknown 'nn_2' (Unk) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2rm941, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "","unknown 'rm941' (Unk) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2pharo, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "","Pharoah (Unk) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 198?, j2nud5p, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","5p Nudger (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2b7, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Bar 7? (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2ss, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Supa Stepper (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2nbz, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Nudge Bonanza (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 198?, j2clbbin, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Crystal?","Club Bingo (Crystal) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 198?, j2sirich, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Strike It Rich (JPM) (MPS) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) // I don't think this is MayGay, it was just in a MayGay set with some actual MayGay roms -GAME( 198?, j2siricha, j2sirich, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Strike It Rich (JPM) (MPS) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) // I don't think this is MayGay, it was just in a MayGay set with some actual MayGay roms - -GAME( 198?, j2hcash, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "","Hot Cash (Unk) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j2sset, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "","Sunset Strip (v2.0) (Unk) (MPS?)", MACHINE_IS_SKELETON_MECHANICAL ) +GAMEL( 198?, j2adnote, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Add A Note (JPM) (MPS, set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2adnote ) +GAMEL( 198?, j2adnotea, j2adnote, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Add A Note (JPM) (MPS, set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2adnote ) +GAMEL( 198?, j2adnoteb, j2adnote, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Add A Note (JPM) (MPS, set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2adnote ) +GAMEL( 198?, j2adnotec, j2adnote, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Add A Note (JPM) (MPS, set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2adnote ) +GAMEL( 198?, j2adnoted, j2adnote, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Add A Note (JPM) (MPS, set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2adnote ) +GAMEL( 198?, j2adnotee, j2adnote, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Add A Note (JPM) (MPS, set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2adnote ) +GAMEL( 198?, j2adnotef, j2adnote, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Add A Note (JPM) (MPS, set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2adnote ) +GAMEL( 198?, j2adnoteg, j2adnote, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Add A Note (JPM) (MPS, set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2adnote ) +GAMEL( 198?, j2adnoteh, j2adnote, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Add A Note (JPM) (MPS, set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2adnote ) +GAMEL( 198?, j2adnotei, j2adnote, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Add A Note (JPM) (MPS, set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2adnote ) +GAMEL( 198?, j2bankch, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Bank Chase (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2bankch ) +GAME( 198?, j2bankrd, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Bank Raid (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAMEL( 198?, j2bigbnk, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Big Banker (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2bigbnk ) +GAMEL( 198?, j2bigbox, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Big Box (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2bigbox ) +GAME( 198?, j2bigbuk, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Big Buck$ (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2bigdl, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Big Deal (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2blkchy, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Black Cherry (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAMEL( 198?, j2cashbn, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Cash Bonus Club (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2cashbn ) +GAME( 198?, j2cashfl, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Cash Falls (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAMEL( 198?, j2cashrl, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Cash Reels (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2cashrl ) +GAMEL( 198?, j2cashrv, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Cash Reserve (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2cashrv ) +GAMEL( 198?, j2cashro, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Cash Rolls (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2cashro ) +GAMEL( 198?, j2cashtk, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Cash Track (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2cashtk ) +GAME( 198?, j2cashtd, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Cash Track Deluxe (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAMEL( 198?, j2coppot, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Copper Pot (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2coppot ) +GAME( 198?, j2coprun, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Copper Run (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAMEL( 198?, j2cprndx, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Copper Run Deluxe (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2cprndx ) +GAME( 198?, j2crkbnk, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Crack The Bank (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAMEL( 198?, j2droplt, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Drop The Lot (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2droplt ) +GAME( 198?, j2dropld, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Drop The Lot Deluxe (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAMEL( 198?, j2ewn, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Each Way Nudger (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2ewn ) +GAMEL( 198?, j2ews, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Each Way Shuffle (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2ews ) +GAMEL( 198?, j2exec, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Executive Club (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2exec ) +GAMEL( 198?, j2fasttk, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Fast Trak (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2fasttk ) +GAMEL( 198?, j2fqueen, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Find The Queen (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2fqueen ) +GAMEL( 198?, j2fiveal, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Five Alive (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2fiveal ) +GAMEL( 198?, j2fiveln, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Five Liner (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2fiveln ) +GAMEL( 198?, j2fws, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Five Way Shuffle (set 1) (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2fws ) +GAMEL( 198?, j2fwsa, j2fws, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Five Way Shuffle (set 2) (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2fws ) +GAME( 198?, j2frmtch, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Fruit Match (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAMEL( 198?, j2fullhs, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Full House Club (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2fullhs ) +GAMEL( 198?, j2ghostb, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Ghostbuster (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2ghostb ) +GAME( 198?, j2goldrn, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Gold Run (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAMEL( 198?, j2goldbr, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Golden Bars (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2goldbr ) +GAMEL( 198?, j2gldchy, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Golden Cherry (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2gldchy ) +GAME( 198?, j2gldwin, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Golden Win (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAMEL( 198?, j2hinote, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Hi Note (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2hinote ) +GAMEL( 198?, j2hiroll, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Hi Roller (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2hiroll ) +GAMEL( 198?, j2hotpot, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Hot Pot (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2hotpot ) +GAME( 198?, j2hotptd, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Hot Pot Deluxe (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAMEL( 198?, j2hotsht, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Hot Shot Club (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2hotsht ) +GAMEL( 198?, j2hypnot, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Hypernote (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2hypnot ) +GAMEL( 198?, j2jackbr, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Jackpot Bars (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2jackbr ) +GAME( 198?, j2jackdc, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Jackpot Dice (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2jokers, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Jokers (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAMEL( 198?, j2kingcl, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","King Of Clubs (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2kingcl ) +GAMEL( 198?, j2litean, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Lite A Nudge (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2litean ) +GAMEL( 198?, j2lovsht, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Loot Shoot (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2lovsht ) +GAMEL( 198?, j2lovshd, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Loot Shoot Deluxe (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2lovshd ) +GAMEL( 198?, j2luckar, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Lucky Arrows (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2luckar ) +GAMEL( 198?, j2lucky2, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Lucky 2s (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2lucky2 ) +GAMEL( 198?, j2monblt, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Money Belt (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2monblt ) +GAMEL( 198?, j2mongam, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Money Game (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2mongam ) +GAME( 198?, j2mongmd, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Money Game Deluxe (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2multwn, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Multi Win (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2notexc, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Note Exchange (set 1) (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2notexca, j2notexc, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Note Exchange (set 2) (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2notexcb, j2notexc, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Note Exchange (set 3) (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAMEL( 198?, j2notesh, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Note Shoot (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2notesh ) +GAMEL( 198?, j2nudbnz, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Nudge Bonanza Deluxe (set 1) (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2nudbnz ) +GAME( 198?, j2nudbnza, j2nudbnz, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Nudge Bonanza Deluxe (set 2) (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2nuddup, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Nudge Double Up (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2nuddud, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Nudge Double Up Deluxe (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2nudup3, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Nudge Double Up MkIII (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAMEL( 198?, j2nudshf, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Nudge Shuffler (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2nudshf ) +GAME( 198?, j2plsmon, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Plus Money (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAMEL( 198?, j2plsmnd, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Plus Money Deluxe (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2plsmnd ) +GAMEL( 198?, j2plsnud, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Plus Nudge (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2plsnud ) +GAME( 198?, j2potlck, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Pot Luck (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAMEL( 198?, j2pndrsh, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Pound Rush (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2pndrsh ) +GAME( 198?, j2pyramd, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Pyramid (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAMEL( 198?, j2reelbn, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Reel Bingo Club (set 1) (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2reelbn ) +GAMEL( 198?, j2reelbna, j2reelbn, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Reel Bingo Club (set 2) (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2reelbn ) +GAMEL( 198?, j2reelbo, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Reel Bonus (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2reelbo ) +GAME( 198?, j2reelmg, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Reel Magic (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2reelmgd, j2reelmg, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Reel Magic (JPM) [Dutch] (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAMEL( 198?, j2reelmc, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Reel Magic Club (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2reelmc ) +GAMEL( 198?, j2reelmo, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Reel Money (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2reelmo ) +GAME( 198?, j2rotnot, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Rota Note (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2roulcl, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Roulette Club (JPM) [Mps] (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAMEL( 198?, j2rdclb, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Royal Deal Club (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2rdclb ) +GAMEL( 198?, j2slvrgh, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Silver Ghost (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2slvrgh ) +GAMEL( 198?, j2sldgld, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Solid Gold (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2sldgld ) +GAMEL( 198?, j2spcrsv, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Special Reserve (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2spcrsv ) +GAMEL( 198?, j2stahed, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Streets Ahead (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2stahed ) +GAME( 198?, j2supfrt, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Supa Fruit (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAMEL( 198?, j2supfrc, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Supa Fruit Club (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2supfrc ) +GAMEL( 1987, j2supsft, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Supashifta (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2supsft ) +GAMEL( 198?, j2supstp, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Supa Steppa (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2supstp ) +GAMEL( 198?, j2suptrk, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Supa Track (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2suptrk ) +GAME( 198?, j2suprft, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Super Fruit (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2supln, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Super Line (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2suppot, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Super Pots (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2suprl, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Super Reel (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAMEL( 198?, j2suprsh, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Supershot (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2suprsh ) +GAME( 198?, j2supstr, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Superstars (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAMEL( 198?, j2swbank, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Switch Back (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2swbank ) +GAMEL( 198?, j2take2, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Take 2 (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2take2 ) +GAME( 198?, j2topsht, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Top Shot (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2westrn, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Western (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + + +GAMEL( 198?, j2blustr, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Pcp","Blue Streak (Pcp) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2blustr ) +GAMEL( 198?, j2cshalm, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Pcp","Cash Alarm (Pcp) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2cshalm ) +GAMEL( 198?, j2cshcrd, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Pcp","Cash Cards (Pcp) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2cshcrd ) +GAMEL( 198?, j2cshfil, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Pcp","Cash-Filla (Pcp) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2cshfil ) +GAMEL( 198?, j2cshsmh, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Pcp","Cash Smash (Pcp) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2cshsmh ) +GAMEL( 198?, j2criscr, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Pcp","Criss Cross Jackpot (Pcp) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2criscr ) +GAMEL( 198?, j2frucnx, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Pcp","Fruit Connexion (Pcp) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2frucnx ) +GAMEL( 198?, j2hitmon, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Pcp","Hit Money (Pcp) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2hitmon ) +GAMEL( 198?, j2penny, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Pcp","In For A Penny In For A Pound (Pcp) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2penny ) +GAMEL( 198?, j2maxima, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Pcp","Maxima (Pcp) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2maxima ) +GAMEL( 198?, j2montrp, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Pcp","Money Trapper (Pcp) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2montrp ) +GAMEL( 198?, j2nudmon, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Pcp","Nudge Money (Pcp) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2nudmon ) +GAMEL( 198?, j2paypkt, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Pcp","Pay Packet (Pcp) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2paypkt ) +GAMEL( 198?, j2silvcl, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Pcp","Silver Classic (Pcp) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2silvcl ) +GAMEL( 198?, j2silvsh, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Pcp","Silver Shot (Pcp) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2silvsh ) +GAMEL( 198?, j2sstrea, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Pcp","Supa Streak (Pcp) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2sstrea ) +GAMEL( 198?, j2tstplt, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Pcp","Test Pilot (set 1) (Pcp) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2tstplt ) +GAMEL( 198?, j2tstplta, j2tstplt, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Pcp","Test Pilot (set 2) (Pcp) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2tstplt ) + +GAME( 198?, j2bonanz, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Eurocoin","Bonanza (Eurocoin) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2supchy, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Eurocoin","Super Cherry (Eurocoin) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAMEL( 198?, j2hilocl, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Crystal","Hi Lo Climber Club (Crystal) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2hilocl ) +GAMEL( 198?, j2litnot, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Crystal","Lite A Note Club (Crystal) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2litnot ) +GAMEL( 198?, j2missis, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Crystal","Mississippi Gambler Club (Crystal) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2missis ) + +GAMEL( 198?, j2always, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Bwb","Always Eight (Bwb) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2always ) +GAMEL( 198?, j2coinsh, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Bwb","Coin Shoot (Bwb) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2coinsh ) +GAMEL( 198?, j2nudfev, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Bwb","Nudge Fever (Bwb) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2nudfev ) +GAMEL( 198?, j2trail, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Bwb","Trailblazer (Bwb) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2trail ) +GAME( 198?, j2wag, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Bwb","Win-A-Gain (Bwb) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAMEL( 198?, j2cshnud, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Mdm","Cash Nudger (Mdm) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2cshnud ) +GAME( 198?, j2fivepn, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Mdm","Fivepenny Nudger (Mdm) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAMEL( 198?, j2nolimt, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Mdm","No Limit Nudge (Mdm) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2nolimt ) + +GAME( 198?, j2strk10, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Ace?","Strike Ten (Ace) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // there was another (68k based) game in this set, which makes me wonder if this one is by Ace at all + + + + +GAME( 198?, j2bkroll, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Bank Roll (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2bodym, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Body Match (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAMEL( 198?, j2cvault, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Cash Vault (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2cvault ) +GAME( 198?, j2cashab, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Cashablanca (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2cashry, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Pcp","Cashino Royale (Pcp) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2casino, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Pcp","Casino Classic (Pcp) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2coinct, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Coin Count (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2loots, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Pcp","Loot Shoot (Pcp) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2match, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Match It (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2monbnd, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Money Bands (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2monmtx, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Bwb","Money Matrix (Bwb) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2tst, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","MPS 1 Test Rom (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2nudnud, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Nudge Nudge (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2pinac, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Pinnacle (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2pinclb, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Pinnacle Club (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAMEL( 198?, j2reelcz, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Reel Crazy (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2reelcz ) +GAME( 198?, j2reeldc, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Reel Deal Club (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2topcd, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Bwb","Top Card (Bwb) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2xxx, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Bwb","Triple X (Bwb) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2tupnud, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Tuppenny Nudger (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2wrb, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Wild Reel Bingo (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2ncsp, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Bwb","unknown 'ncsp0pp' (Bwb) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2nrrp, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Bwb","unknown 'nprpopp' (Bwb) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2nsc15, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Pcp","unknown 'nsc15' (Pcp) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2nsw12, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Pcp","unknown 'nsw12' (Pcp) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 198?, j2club77, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "","Club 77 (Unk) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2contnd, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Mdm","Continuous Nudger (Mdm) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAMEL( 198?, j2crown, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "","Crown Dealer (Unk) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j2crown ) +GAME( 198?, j2hirola, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "","Hi Roll (Unk) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2monmin, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "","Money Mine (Unk) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2notspn, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "","Note Spinner (Unk) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2super7, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "","Super 7's (Unk) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2sex, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "","Super Exchanger (Unk) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2sng, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Cotswold Microsystems","Super Nudge Gambler (Cotswold Microsystems) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2tupnd, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Mdm","Tuppenny Nudger (Mdm) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2008, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "","unknown '008' (Unk) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2chsn, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "","unknown 'chsnsn05' (Unk) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2lhs, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "","unknown 'lhs' (Unk) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2nn2, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "","unknown 'nn_2' (Unk) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2rm941, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "","unknown 'rm941' (Unk) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2pharo, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "","Pharoah (Unk) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 198?, j2nud5p, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","5p Nudger (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2b7, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Bar 7? (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2ss, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Supa Stepper (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2nbz, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Nudge Bonanza (JPM) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 198?, j2clbbin, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "Crystal?","Club Bingo (Crystal) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 198?, j2sirich, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Strike It Rich (JPM) (MPS) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // I don't think this is MayGay, it was just in a MayGay set with some actual MayGay roms +GAME( 198?, j2siricha, j2sirich, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "JPM","Strike It Rich (JPM) (MPS) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // I don't think this is MayGay, it was just in a MayGay set with some actual MayGay roms + +GAME( 198?, j2hcash, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "","Hot Cash (Unk) (MPS)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j2sset, 0, jpmmps, jpmmps, jpmmps_state, empty_init, ROT0, "","Sunset Strip (v2.0) (Unk) (MPS?)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/jpm/jpms80.cpp b/src/mame/jpm/jpms80.cpp index 800ecefc41cf7..9f95b13bf761d 100644 --- a/src/mame/jpm/jpms80.cpp +++ b/src/mame/jpm/jpms80.cpp @@ -359,29 +359,29 @@ ROM_END } // anonymous namespace -GAMEL( 198?, j80bac, 0, jpms80,jpms80, jpms80_state, init_jpms80, ROT0, "JPM", "Bank A Coin (JPM) (SYSTEM80)", MACHINE_IS_SKELETON_MECHANICAL, layout_j80bac ) -GAMEL( 198?, j80bounc, 0, jpms80,jpms80, jpms80_state, init_jpms80, ROT0, "JPM", "Bouncer (JPM) (SYSTEM80)", MACHINE_IS_SKELETON_MECHANICAL, layout_j80bounc ) -GAMEL( 198?, j80frogh, 0, jpms80,jpms80, jpms80_state, init_jpms80, ROT0, "JPM", "Frog Hop (JPM) (SYSTEM80)", MACHINE_IS_SKELETON_MECHANICAL, layout_j80frogh ) -GAME( 198?, j80fruit, 0, jpms80,jpms80, jpms80_state, init_jpms80, ROT0, "JPM", "Fruit Snappa (JPM) (SYSTEM80)", MACHINE_IS_SKELETON_MECHANICAL ) -GAMEL( 198?, j80golds, 0, jpms80,jpms80, jpms80_state, init_jpms80, ROT0, "JPM", "Golden Steppa (JPM) (SYSTEM80)", MACHINE_IS_SKELETON_MECHANICAL, layout_j80golds ) -GAMEL( 198?, j80hotln, 0, jpms80,jpms80, jpms80_state, init_jpms80, ROT0, "JPM", "Hot Lines (JPM) (SYSTEM80)", MACHINE_IS_SKELETON_MECHANICAL, layout_j80hotln ) -GAMEL( 198?, j80myspn, 0, jpms80,jpms80, jpms80_state, init_jpms80, ROT0, "JPM", "Mystery Spin (JPM) (SYSTEM80)", MACHINE_IS_SKELETON_MECHANICAL, layout_j80myspn ) -GAMEL( 198?, j80nudg2, 0, jpms80,jpms80, jpms80_state, init_jpms80, ROT0, "JPM", "Nudge Double Up MkII (JPM) (SYSTEM80)", MACHINE_IS_SKELETON_MECHANICAL, layout_j80nudg2 ) -GAMEL( 198?, j80rr, 0, jpms80,jpms80, jpms80_state, init_jpms80, ROT0, "JPM", "Road Runner (JPM) (SYSTEM80, set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_j80rr ) // was also in a set named 'Route 66' with identical roms, but text in ROM indicates name is Road Runner, maybe a reskin? -GAMEL( 198?, j80rra, j80rr, jpms80,jpms80, jpms80_state, init_jpms80, ROT0, "JPM", "Road Runner (JPM) (SYSTEM80, set 2)", MACHINE_IS_SKELETON_MECHANICAL, layout_j80rr ) -GAMEL( 198?, j80supst, 0, jpms80,jpms80, jpms80_state, init_jpms80, ROT0, "JPM", "Supa Steppa (JPM) (SYSTEM80)", MACHINE_IS_SKELETON_MECHANICAL, layout_j80supst ) -GAMEL( 198?, j80supbk, 0, jpms80,jpms80, jpms80_state, init_jpms80, ROT0, "JPM", "Superbank (JPM) (SYSTEM80)", MACHINE_IS_SKELETON_MECHANICAL, layout_j80supbk ) -GAMEL( 198?, j80topsp, 0, jpms80,jpms80, jpms80_state, init_jpms80, ROT0, "JPM", "Top Sprint (JPM) (SYSTEM80)", MACHINE_IS_SKELETON_MECHANICAL, layout_j80topsp ) -GAME( 198?, j80topup, 0, jpms80,jpms80, jpms80_state, init_jpms80, ROT0, "JPM", "Top Up (JPM) (SYSTEM80)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j80tumbl, 0, jpms80,jpms80, jpms80_state, init_jpms80, ROT0, "JPM", "Tumble (JPM) (SYSTEM80)", MACHINE_IS_SKELETON_MECHANICAL ) -GAMEL( 198?, j80wsprt, 0, jpms80,jpms80, jpms80_state, init_jpms80, ROT0, "JPM", "Winsprint (JPM) (V4, 5x20p) (SYSTEM80)", MACHINE_IS_SKELETON_MECHANICAL, layout_j80wsprt2 ) -GAMEL( 198?, j80wsprt3, j80wsprt, jpms80,jpms80, jpms80_state, init_jpms80, ROT0, "JPM", "Winsprint (JPM) (V3, 50p, 5 credits) (SYSTEM80)", MACHINE_IS_SKELETON_MECHANICAL, layout_j80wsprt2 ) -GAMEL( 198?, j80wsprt2, j80wsprt, jpms80,jpms80, jpms80_state, init_jpms80, ROT0, "JPM", "Winsprint (JPM) (V2, 10x10p) (SYSTEM80)", MACHINE_IS_SKELETON_MECHANICAL, layout_j80wsprt2 ) - -GAME( 198?, j80blbnk, 0, jpms80,jpms80, jpms80_state, init_jpms80, ROT0, "PCP", "Blankity Bank (PCP) (SYSTEM80)", MACHINE_IS_SKELETON_MECHANICAL ) +GAMEL( 198?, j80bac, 0, jpms80,jpms80, jpms80_state, init_jpms80, ROT0, "JPM", "Bank A Coin (JPM) (SYSTEM80)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j80bac ) +GAMEL( 198?, j80bounc, 0, jpms80,jpms80, jpms80_state, init_jpms80, ROT0, "JPM", "Bouncer (JPM) (SYSTEM80)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j80bounc ) +GAMEL( 198?, j80frogh, 0, jpms80,jpms80, jpms80_state, init_jpms80, ROT0, "JPM", "Frog Hop (JPM) (SYSTEM80)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j80frogh ) +GAME( 198?, j80fruit, 0, jpms80,jpms80, jpms80_state, init_jpms80, ROT0, "JPM", "Fruit Snappa (JPM) (SYSTEM80)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAMEL( 198?, j80golds, 0, jpms80,jpms80, jpms80_state, init_jpms80, ROT0, "JPM", "Golden Steppa (JPM) (SYSTEM80)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j80golds ) +GAMEL( 198?, j80hotln, 0, jpms80,jpms80, jpms80_state, init_jpms80, ROT0, "JPM", "Hot Lines (JPM) (SYSTEM80)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j80hotln ) +GAMEL( 198?, j80myspn, 0, jpms80,jpms80, jpms80_state, init_jpms80, ROT0, "JPM", "Mystery Spin (JPM) (SYSTEM80)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j80myspn ) +GAMEL( 198?, j80nudg2, 0, jpms80,jpms80, jpms80_state, init_jpms80, ROT0, "JPM", "Nudge Double Up MkII (JPM) (SYSTEM80)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j80nudg2 ) +GAMEL( 198?, j80rr, 0, jpms80,jpms80, jpms80_state, init_jpms80, ROT0, "JPM", "Road Runner (JPM) (SYSTEM80, set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j80rr ) // was also in a set named 'Route 66' with identical roms, but text in ROM indicates name is Road Runner, maybe a reskin? +GAMEL( 198?, j80rra, j80rr, jpms80,jpms80, jpms80_state, init_jpms80, ROT0, "JPM", "Road Runner (JPM) (SYSTEM80, set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j80rr ) +GAMEL( 198?, j80supst, 0, jpms80,jpms80, jpms80_state, init_jpms80, ROT0, "JPM", "Supa Steppa (JPM) (SYSTEM80)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j80supst ) +GAMEL( 198?, j80supbk, 0, jpms80,jpms80, jpms80_state, init_jpms80, ROT0, "JPM", "Superbank (JPM) (SYSTEM80)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j80supbk ) +GAMEL( 198?, j80topsp, 0, jpms80,jpms80, jpms80_state, init_jpms80, ROT0, "JPM", "Top Sprint (JPM) (SYSTEM80)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j80topsp ) +GAME( 198?, j80topup, 0, jpms80,jpms80, jpms80_state, init_jpms80, ROT0, "JPM", "Top Up (JPM) (SYSTEM80)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j80tumbl, 0, jpms80,jpms80, jpms80_state, init_jpms80, ROT0, "JPM", "Tumble (JPM) (SYSTEM80)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAMEL( 198?, j80wsprt, 0, jpms80,jpms80, jpms80_state, init_jpms80, ROT0, "JPM", "Winsprint (JPM) (V4, 5x20p) (SYSTEM80)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j80wsprt2 ) +GAMEL( 198?, j80wsprt3, j80wsprt, jpms80,jpms80, jpms80_state, init_jpms80, ROT0, "JPM", "Winsprint (JPM) (V3, 50p, 5 credits) (SYSTEM80)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j80wsprt2 ) +GAMEL( 198?, j80wsprt2, j80wsprt, jpms80,jpms80, jpms80_state, init_jpms80, ROT0, "JPM", "Winsprint (JPM) (V2, 10x10p) (SYSTEM80)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_j80wsprt2 ) + +GAME( 198?, j80blbnk, 0, jpms80,jpms80, jpms80_state, init_jpms80, ROT0, "PCP", "Blankity Bank (PCP) (SYSTEM80)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // these look like they're probably SYSTEM80, not 100% sure tho -GAME( 198?, j80alad, 0, jpms80,jpms80, jpms80_state, init_jpms80, ROT0, "JPM", "Aladdin's Cave (PCP)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j80fortr, 0, jpms80,jpms80, jpms80_state, init_jpms80, ROT0, "JPM", "Fortune Trail (JPM)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j80mster, 0, jpms80,jpms80, jpms80_state, init_jpms80, ROT0, "JPM", "Masterspy (Pcp)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 198?, j80plsnd, 0, jpms80,jpms80, jpms80_state, init_jpms80, ROT0, "JPM", "Plus Nudge (JPM)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 198?, j80alad, 0, jpms80,jpms80, jpms80_state, init_jpms80, ROT0, "JPM", "Aladdin's Cave (PCP)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j80fortr, 0, jpms80,jpms80, jpms80_state, init_jpms80, ROT0, "JPM", "Fortune Trail (JPM)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j80mster, 0, jpms80,jpms80, jpms80_state, init_jpms80, ROT0, "JPM", "Masterspy (Pcp)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 198?, j80plsnd, 0, jpms80,jpms80, jpms80_state, init_jpms80, ROT0, "JPM", "Plus Nudge (JPM)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/jpm/jpmsys7.cpp b/src/mame/jpm/jpmsys7.cpp index 18cd20cc48db0..dd04774c81db3 100644 --- a/src/mame/jpm/jpmsys7.cpp +++ b/src/mame/jpm/jpmsys7.cpp @@ -235,15 +235,15 @@ ROM_END } // anonymous namespace -GAME( 200?, j7bmagic, 0, jpmsys7, jpmsys7, jpmsys7_state, empty_init, ROT0, "JPM","Black Magic (JPM)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, j7cexprs, 0, jpmsys7, jpmsys7, jpmsys7_state, empty_init, ROT0, "JPM","Cash Xpress (JPM)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, j7crztrl, 0, jpmsys7, jpmsys7, jpmsys7_state, empty_init, ROT0, "JPM","Crazy Trails (JPM)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, j7fantaz, 0, jpmsys7, jpmsys7, jpmsys7_state, empty_init, ROT0, "JPM","Fantaztec (JPM)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, j7kerchn, 0, jpmsys7, jpmsys7, jpmsys7_state, empty_init, ROT0, "JPM","Ker - Chinq (JPM)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, j7razzma, 0, jpmsys7, jpmsys7, jpmsys7_state, empty_init, ROT0, "JPM","Razzamataz (JPM) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, j7razzmaa, j7razzma, jpmsys7, jpmsys7, jpmsys7_state, empty_init, ROT0, "JPM","Razzamataz (JPM) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, j7r2roll, 0, jpmsys7, jpmsys7, jpmsys7_state, empty_init, ROT0, "JPM","Ready To Roll (JPM)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, j7tubgld, 0, jpmsys7, jpmsys7, jpmsys7_state, empty_init, ROT0, "JPM","Turbo Gold (JPM)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, j7wldwkd, 0, jpmsys7, jpmsys7, jpmsys7_state, empty_init, ROT0, "JPM","Wild 'N' Wicked (JPM)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, j7bullio, 0, jpmsys7, jpmsys7, jpmsys7_state, empty_init, ROT0, "Ace","Bullionaire (Ace)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, j7clbmag, 0, jpmsys7, jpmsys7, jpmsys7_state, empty_init, ROT0, "Qps","Club Magic (JPM)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 200?, j7bmagic, 0, jpmsys7, jpmsys7, jpmsys7_state, empty_init, ROT0, "JPM","Black Magic (JPM)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, j7cexprs, 0, jpmsys7, jpmsys7, jpmsys7_state, empty_init, ROT0, "JPM","Cash Xpress (JPM)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, j7crztrl, 0, jpmsys7, jpmsys7, jpmsys7_state, empty_init, ROT0, "JPM","Crazy Trails (JPM)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, j7fantaz, 0, jpmsys7, jpmsys7, jpmsys7_state, empty_init, ROT0, "JPM","Fantaztec (JPM)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, j7kerchn, 0, jpmsys7, jpmsys7, jpmsys7_state, empty_init, ROT0, "JPM","Ker - Chinq (JPM)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, j7razzma, 0, jpmsys7, jpmsys7, jpmsys7_state, empty_init, ROT0, "JPM","Razzamataz (JPM) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, j7razzmaa, j7razzma, jpmsys7, jpmsys7, jpmsys7_state, empty_init, ROT0, "JPM","Razzamataz (JPM) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, j7r2roll, 0, jpmsys7, jpmsys7, jpmsys7_state, empty_init, ROT0, "JPM","Ready To Roll (JPM)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, j7tubgld, 0, jpmsys7, jpmsys7, jpmsys7_state, empty_init, ROT0, "JPM","Turbo Gold (JPM)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, j7wldwkd, 0, jpmsys7, jpmsys7, jpmsys7_state, empty_init, ROT0, "JPM","Wild 'N' Wicked (JPM)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, j7bullio, 0, jpmsys7, jpmsys7, jpmsys7_state, empty_init, ROT0, "Ace","Bullionaire (Ace)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, j7clbmag, 0, jpmsys7, jpmsys7, jpmsys7_state, empty_init, ROT0, "Qps","Club Magic (JPM)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/jpm/pluto5.cpp b/src/mame/jpm/pluto5.cpp index 843ceca3d1ff5..5895840d254ce 100644 --- a/src/mame/jpm/pluto5.cpp +++ b/src/mame/jpm/pluto5.cpp @@ -936,119 +936,119 @@ void pluto5_state::init_hb() } // anonymous namespace -GAME( 2003, hb_junglet, 0, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Sega", "Jungle Treasures", MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 200?, hb_cr, 0, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Cash Raker (Qps) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_cra, hb_cr, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Cash Raker (Qps) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_crb, hb_cr, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Cash Raker (Qps) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 200?, hb_bar7, 0, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Fairgames", "Bar Seven (Fairgames) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_bar7a, hb_bar7, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Fairgames", "Bar Seven (Fairgames) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 200?, hb_bigx, 0, pluto5, pluto5, pluto5_state, init_hb, ROT0, "JPM", "Big X (JPM) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_bigxa, hb_bigx, pluto5, pluto5, pluto5_state, init_hb, ROT0, "JPM", "Big X (JPM) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_bigxb, hb_bigx, pluto5, pluto5, pluto5_state, init_hb, ROT0, "JPM", "Big X (JPM) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_bigxc, hb_bigx, pluto5, pluto5, pluto5_state, init_hb, ROT0, "JPM", "Big X (JPM) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_bigxd, hb_bigx, pluto5, pluto5, pluto5_state, init_hb, ROT0, "JPM", "Big X (JPM) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 200?, hb_ccow, 0, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Cash Cow (Qps) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_ccowa, hb_ccow, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Cash Cow (Qps) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_ccowb, hb_ccow, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Cash Cow (Qps) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 200?, hb_cashc, 0, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Cash Crusade (Qps) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_cashca, hb_cashc, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Cash Crusade (Qps) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_cashcb, hb_cashc, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Cash Crusade (Qps) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 200?, hb_cashx, 0, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Fairgames", "Cash X (Fairgames) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_cashxa, hb_cashx, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Fairgames", "Cash X (Fairgames) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 200?, hb_cwf, 0, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Fairgames", "Cherry Win Falls (Fairgames) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_cwfa, hb_cwf, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Fairgames", "Cherry Win Falls (Fairgames) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 200?, hb_dac, 0, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Dough & Arrow Club (Qps, set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_daca, hb_dac, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Dough & Arrow Club (Qps, set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_dacb, hb_dac, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Dough & Arrow Club (Qps, set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_dacc, hb_dac, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Dough & Arrow Club (Qps, set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_dacd, hb_dac, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Dough & Arrow Club (Qps, set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_dace, hb_dac, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Dough & Arrow Club (Qps, set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_dacf, hb_dac, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Dough & Arrow Club (Qps, set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_dacg, hb_dac, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Dough & Arrow Club (Qps, set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_dacz, hb_dac, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Dough & Arrow Club (Qps, set 9)", MACHINE_IS_SKELETON_MECHANICAL ) // bad dump - -GAME( 200?, hb_frtcl, 0, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Fruitopia Club (Qps) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_frtcla, hb_frtcl, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Fruitopia Club (Qps) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_frtclb, hb_frtcl, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Fruitopia Club (Qps) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_frtclc, hb_frtcl, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Fruitopia Club (Qps) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_frtcld, hb_frtcl, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Fruitopia Club (Qps) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_frtcle, hb_frtcl, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Fruitopia Club (Qps) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_frtclf, hb_frtcl, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Fruitopia Club (Qps) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_frtclg, hb_frtcl, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Fruitopia Club (Qps) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_frtclh, hb_frtcl, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Fruitopia Club (Qps) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_frtcli, hb_frtcl, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Fruitopia Club (Qps) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_frtclj, hb_frtcl, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Fruitopia Club (Qps) (set 11)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_frtclk, hb_frtcl, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Fruitopia Club (Qps) (set 12)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_frtcll, hb_frtcl, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Fruitopia Club (Qps) (set 13)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_frtclm, hb_frtcl, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Fruitopia Club (Qps) (set 14)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_frtcln, hb_frtcl, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Fruitopia Club (Qps) (set 15)", MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 200?, hb_gpal, 0, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Golden Palace (Qps) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_gpala, hb_gpal, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Golden Palace (Qps) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_gpalb, hb_gpal, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Golden Palace (Qps) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_gpalc, hb_gpal, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Golden Palace (Qps) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_gpald, hb_gpal, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Golden Palace (Qps) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_gpale, hb_gpal, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Golden Palace (Qps) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_gpalf, hb_gpal, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Golden Palace (Qps) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_gpalg, hb_gpal, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Golden Palace (Qps) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_gpalh, hb_gpal, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Golden Palace (Qps) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_gpali, hb_gpal, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Golden Palace (Qps) (set 10)", MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 200?, hb_gldpl, 0, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps / Mazooma", "Golden Palace (Qps / Mazooma) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_gldpla, hb_gldpl, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps / Mazooma", "Golden Palace (Qps / Mazooma) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 200?, hb_gldwn, 0, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Fairgames", "Golden Winner (Fairgames) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_gldwna, hb_gldwn, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Fairgames", "Golden Winner (Fairgames) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 200?, hb_jailb, 0, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Jail Break (Qps) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_jailba, hb_jailb, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Jail Break (Qps) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 200?, hb_jkrwl, 0, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Fairgames", "Jokers Wild (Fairgames) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_jkrwla, hb_jkrwl, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Fairgames", "Jokers Wild (Fairgames) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 200?, hb_mrmon, 0, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Mr. Money (Qps) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_mrmona, hb_mrmon, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Mr. Money (Qps) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_mrmonb, hb_mrmon, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Mr. Money (Qps) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_mrmonc, hb_mrmon, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Mr. Money (Qps) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 200?, hb_rhv, 0, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Red Hot Voucher (Qps) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_rhva, hb_rhv, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Red Hot Voucher (Qps) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 200?, hb_ringb, 0, pluto5, pluto5, pluto5_state, init_hb, ROT0, "JPM", "Ring A Bell (JPM) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) // this game might be on Astra hardware, bigger roms, and a game of this name is known to exist there -GAME( 200?, hb_ringba, hb_ringb, pluto5, pluto5, pluto5_state, init_hb, ROT0, "JPM", "Ring A Bell (JPM) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_ringbb, hb_ringb, pluto5, pluto5, pluto5_state, init_hb, ROT0, "JPM", "Ring A Bell (JPM) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_ringbc, hb_ringb, pluto5, pluto5, pluto5_state, init_hb, ROT0, "JPM", "Ring A Bell (JPM) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_ringbd, hb_ringb, pluto5, pluto5, pluto5_state, init_hb, ROT0, "JPM", "Ring A Bell (JPM) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_ringbe, hb_ringb, pluto5, pluto5, pluto5_state, init_hb, ROT0, "JPM", "Ring A Bell (JPM) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 200?, hb_rckrl, 0, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Rock 'n' Roll (Qps) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_rckrla, hb_rckrl, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Rock 'n' Roll (Qps) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_rckrlb, hb_rckrl, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Rock 'n' Roll (Qps) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_rckrlc, hb_rckrl, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Rock 'n' Roll (Qps) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_rckrld, hb_rckrl, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Rock 'n' Roll (Qps) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_rckrle, hb_rckrl, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Rock 'n' Roll (Qps) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_rckrlf, hb_rckrl, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Rock 'n' Roll (Qps) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_rckrlg, hb_rckrl, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Rock 'n' Roll (Qps) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 200?, hb_ydd, 0, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Yabba-Dabba-Dough (Qps) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_ydda, hb_ydd, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Yabba-Dabba-Dough (Qps) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 200?, hb_hotst, 0, pluto5, pluto5, pluto5_state, init_hb, ROT0, "JPM?", "Hot Stuff (JPM?) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) // was in a Barcrest MPU5 set, but I doubt it is -GAME( 200?, hb_hotsta, hb_hotst, pluto5, pluto5, pluto5_state, init_hb, ROT0, "JPM?", "Hot Stuff (JPM?) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_hotstb, hb_hotst, pluto5, pluto5, pluto5_state, init_hb, ROT0, "JPM?", "Hot Stuff (JPM?) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_hotstc, hb_hotst, pluto5, pluto5, pluto5_state, init_hb, ROT0, "JPM?", "Hot Stuff (JPM?) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_hotstd, hb_hotst, pluto5, pluto5, pluto5_state, init_hb, ROT0, "JPM?", "Hot Stuff (JPM?) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_hotste, hb_hotst, pluto5, pluto5, pluto5_state, init_hb, ROT0, "JPM?", "Hot Stuff (JPM?) (set 6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_hotstf, hb_hotst, pluto5, pluto5, pluto5_state, init_hb, ROT0, "JPM?", "Hot Stuff (JPM?) (set 7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_hotstg, hb_hotst, pluto5, pluto5, pluto5_state, init_hb, ROT0, "JPM?", "Hot Stuff (JPM?) (set 8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 200?, hb_hotsth, hb_hotst, pluto5, pluto5, pluto5_state, init_hb, ROT0, "JPM?", "Hot Stuff (JPM?) (set 9)", MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 200?, hb_medal, 0, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Medallion Job (Qps)", MACHINE_IS_SKELETON_MECHANICAL ) // was in an IMPACT set, strings indicate it's the same game, rebuild for this HW I guess +GAME( 2003, hb_junglet, 0, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Sega", "Jungle Treasures", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 200?, hb_cr, 0, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Cash Raker (Qps) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_cra, hb_cr, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Cash Raker (Qps) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_crb, hb_cr, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Cash Raker (Qps) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 200?, hb_bar7, 0, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Fairgames", "Bar Seven (Fairgames) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_bar7a, hb_bar7, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Fairgames", "Bar Seven (Fairgames) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 200?, hb_bigx, 0, pluto5, pluto5, pluto5_state, init_hb, ROT0, "JPM", "Big X (JPM) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_bigxa, hb_bigx, pluto5, pluto5, pluto5_state, init_hb, ROT0, "JPM", "Big X (JPM) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_bigxb, hb_bigx, pluto5, pluto5, pluto5_state, init_hb, ROT0, "JPM", "Big X (JPM) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_bigxc, hb_bigx, pluto5, pluto5, pluto5_state, init_hb, ROT0, "JPM", "Big X (JPM) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_bigxd, hb_bigx, pluto5, pluto5, pluto5_state, init_hb, ROT0, "JPM", "Big X (JPM) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 200?, hb_ccow, 0, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Cash Cow (Qps) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_ccowa, hb_ccow, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Cash Cow (Qps) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_ccowb, hb_ccow, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Cash Cow (Qps) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 200?, hb_cashc, 0, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Cash Crusade (Qps) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_cashca, hb_cashc, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Cash Crusade (Qps) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_cashcb, hb_cashc, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Cash Crusade (Qps) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 200?, hb_cashx, 0, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Fairgames", "Cash X (Fairgames) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_cashxa, hb_cashx, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Fairgames", "Cash X (Fairgames) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 200?, hb_cwf, 0, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Fairgames", "Cherry Win Falls (Fairgames) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_cwfa, hb_cwf, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Fairgames", "Cherry Win Falls (Fairgames) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 200?, hb_dac, 0, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Dough & Arrow Club (Qps, set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_daca, hb_dac, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Dough & Arrow Club (Qps, set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_dacb, hb_dac, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Dough & Arrow Club (Qps, set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_dacc, hb_dac, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Dough & Arrow Club (Qps, set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_dacd, hb_dac, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Dough & Arrow Club (Qps, set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_dace, hb_dac, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Dough & Arrow Club (Qps, set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_dacf, hb_dac, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Dough & Arrow Club (Qps, set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_dacg, hb_dac, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Dough & Arrow Club (Qps, set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_dacz, hb_dac, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Dough & Arrow Club (Qps, set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // bad dump + +GAME( 200?, hb_frtcl, 0, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Fruitopia Club (Qps) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_frtcla, hb_frtcl, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Fruitopia Club (Qps) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_frtclb, hb_frtcl, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Fruitopia Club (Qps) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_frtclc, hb_frtcl, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Fruitopia Club (Qps) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_frtcld, hb_frtcl, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Fruitopia Club (Qps) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_frtcle, hb_frtcl, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Fruitopia Club (Qps) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_frtclf, hb_frtcl, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Fruitopia Club (Qps) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_frtclg, hb_frtcl, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Fruitopia Club (Qps) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_frtclh, hb_frtcl, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Fruitopia Club (Qps) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_frtcli, hb_frtcl, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Fruitopia Club (Qps) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_frtclj, hb_frtcl, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Fruitopia Club (Qps) (set 11)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_frtclk, hb_frtcl, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Fruitopia Club (Qps) (set 12)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_frtcll, hb_frtcl, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Fruitopia Club (Qps) (set 13)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_frtclm, hb_frtcl, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Fruitopia Club (Qps) (set 14)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_frtcln, hb_frtcl, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Fruitopia Club (Qps) (set 15)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 200?, hb_gpal, 0, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Golden Palace (Qps) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_gpala, hb_gpal, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Golden Palace (Qps) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_gpalb, hb_gpal, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Golden Palace (Qps) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_gpalc, hb_gpal, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Golden Palace (Qps) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_gpald, hb_gpal, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Golden Palace (Qps) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_gpale, hb_gpal, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Golden Palace (Qps) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_gpalf, hb_gpal, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Golden Palace (Qps) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_gpalg, hb_gpal, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Golden Palace (Qps) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_gpalh, hb_gpal, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Golden Palace (Qps) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_gpali, hb_gpal, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Golden Palace (Qps) (set 10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 200?, hb_gldpl, 0, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps / Mazooma", "Golden Palace (Qps / Mazooma) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_gldpla, hb_gldpl, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps / Mazooma", "Golden Palace (Qps / Mazooma) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 200?, hb_gldwn, 0, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Fairgames", "Golden Winner (Fairgames) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_gldwna, hb_gldwn, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Fairgames", "Golden Winner (Fairgames) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 200?, hb_jailb, 0, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Jail Break (Qps) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_jailba, hb_jailb, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Jail Break (Qps) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 200?, hb_jkrwl, 0, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Fairgames", "Jokers Wild (Fairgames) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_jkrwla, hb_jkrwl, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Fairgames", "Jokers Wild (Fairgames) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 200?, hb_mrmon, 0, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Mr. Money (Qps) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_mrmona, hb_mrmon, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Mr. Money (Qps) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_mrmonb, hb_mrmon, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Mr. Money (Qps) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_mrmonc, hb_mrmon, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Mr. Money (Qps) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 200?, hb_rhv, 0, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Red Hot Voucher (Qps) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_rhva, hb_rhv, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Red Hot Voucher (Qps) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 200?, hb_ringb, 0, pluto5, pluto5, pluto5_state, init_hb, ROT0, "JPM", "Ring A Bell (JPM) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // this game might be on Astra hardware, bigger roms, and a game of this name is known to exist there +GAME( 200?, hb_ringba, hb_ringb, pluto5, pluto5, pluto5_state, init_hb, ROT0, "JPM", "Ring A Bell (JPM) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_ringbb, hb_ringb, pluto5, pluto5, pluto5_state, init_hb, ROT0, "JPM", "Ring A Bell (JPM) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_ringbc, hb_ringb, pluto5, pluto5, pluto5_state, init_hb, ROT0, "JPM", "Ring A Bell (JPM) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_ringbd, hb_ringb, pluto5, pluto5, pluto5_state, init_hb, ROT0, "JPM", "Ring A Bell (JPM) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_ringbe, hb_ringb, pluto5, pluto5, pluto5_state, init_hb, ROT0, "JPM", "Ring A Bell (JPM) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 200?, hb_rckrl, 0, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Rock 'n' Roll (Qps) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_rckrla, hb_rckrl, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Rock 'n' Roll (Qps) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_rckrlb, hb_rckrl, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Rock 'n' Roll (Qps) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_rckrlc, hb_rckrl, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Rock 'n' Roll (Qps) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_rckrld, hb_rckrl, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Rock 'n' Roll (Qps) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_rckrle, hb_rckrl, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Rock 'n' Roll (Qps) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_rckrlf, hb_rckrl, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Rock 'n' Roll (Qps) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_rckrlg, hb_rckrl, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Rock 'n' Roll (Qps) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 200?, hb_ydd, 0, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Yabba-Dabba-Dough (Qps) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_ydda, hb_ydd, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Yabba-Dabba-Dough (Qps) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 200?, hb_hotst, 0, pluto5, pluto5, pluto5_state, init_hb, ROT0, "JPM?", "Hot Stuff (JPM?) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // was in a Barcrest MPU5 set, but I doubt it is +GAME( 200?, hb_hotsta, hb_hotst, pluto5, pluto5, pluto5_state, init_hb, ROT0, "JPM?", "Hot Stuff (JPM?) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_hotstb, hb_hotst, pluto5, pluto5, pluto5_state, init_hb, ROT0, "JPM?", "Hot Stuff (JPM?) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_hotstc, hb_hotst, pluto5, pluto5, pluto5_state, init_hb, ROT0, "JPM?", "Hot Stuff (JPM?) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_hotstd, hb_hotst, pluto5, pluto5, pluto5_state, init_hb, ROT0, "JPM?", "Hot Stuff (JPM?) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_hotste, hb_hotst, pluto5, pluto5, pluto5_state, init_hb, ROT0, "JPM?", "Hot Stuff (JPM?) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_hotstf, hb_hotst, pluto5, pluto5, pluto5_state, init_hb, ROT0, "JPM?", "Hot Stuff (JPM?) (set 7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_hotstg, hb_hotst, pluto5, pluto5, pluto5_state, init_hb, ROT0, "JPM?", "Hot Stuff (JPM?) (set 8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 200?, hb_hotsth, hb_hotst, pluto5, pluto5, pluto5_state, init_hb, ROT0, "JPM?", "Hot Stuff (JPM?) (set 9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 200?, hb_medal, 0, pluto5, pluto5, pluto5_state, init_hb, ROT0, "Qps", "Medallion Job (Qps)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // was in an IMPACT set, strings indicate it's the same game, rebuild for this HW I guess diff --git a/src/mame/jpm/pluto6.cpp b/src/mame/jpm/pluto6.cpp index c2b7c5d9d1818..f2c00addb741b 100644 --- a/src/mame/jpm/pluto6.cpp +++ b/src/mame/jpm/pluto6.cpp @@ -103,5 +103,5 @@ ROM_END } // anonymous namespace -GAME( 2014, pl6_kfp, 0, pluto6, pluto6, pluto6_state, empty_init, ROT0, "G Squared", "Kung Fu Pounda", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2014, pl6_lgk, 0, pluto6, pluto6, pluto6_state, empty_init, ROT0, "Betcom", "Let's Get Kraken", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 2014, pl6_kfp, 0, pluto6, pluto6, pluto6_state, empty_init, ROT0, "G Squared", "Kung Fu Pounda", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2014, pl6_lgk, 0, pluto6, pluto6, pluto6_state, empty_init, ROT0, "Betcom", "Let's Get Kraken", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/kaneko/jchan.cpp b/src/mame/kaneko/jchan.cpp index 09d9e9576824a..f663c29314e3e 100644 --- a/src/mame/kaneko/jchan.cpp +++ b/src/mame/kaneko/jchan.cpp @@ -599,10 +599,7 @@ void jchan_state::jchan(machine_config &config) WATCHDOG_TIMER(config, "watchdog"); screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_refresh_hz(60); - screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); - screen.set_size(64*8, 64*8); - screen.set_visarea(0*8, 40*8-1, 0*8, 30*8-1); + screen.set_raw(28.636363_MHz_XTAL / 4, 460, 0, 320, 261, 0, 240); screen.set_screen_update(FUNC(jchan_state::screen_update)); screen.set_palette(m_palette); diff --git a/src/mame/kaneko/snowbros.cpp b/src/mame/kaneko/snowbros.cpp index dcff18f21c0ef..f9538964a1863 100644 --- a/src/mame/kaneko/snowbros.cpp +++ b/src/mame/kaneko/snowbros.cpp @@ -713,7 +713,7 @@ static INPUT_PORTS_START( honeydol ) PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) - PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") /* Must be low or game stops! */ + PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) /* Must be low or game stops! */ PORT_START("DSW2") PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Difficulty ) ) @@ -789,7 +789,7 @@ static INPUT_PORTS_START( twinadv ) PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) - PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") /* Must be low or game stops! */ + PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) /* Must be low or game stops! */ PORT_START("DSW2") PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Difficulty ) ) diff --git a/src/mame/kawai/acr20.cpp b/src/mame/kawai/acr20.cpp index 1b3cb59a2b201..c80bf26790567 100644 --- a/src/mame/kawai/acr20.cpp +++ b/src/mame/kawai/acr20.cpp @@ -57,4 +57,4 @@ ROM_END } // anonymous namespace -SYST(199?, acr20, 0, 0, acr20, acr20, acr20_state, empty_init, "Kawai Musical Instruments Manufacturing", "ACR-20 Digital Accompaniment Center", MACHINE_IS_SKELETON) +SYST(199?, acr20, 0, 0, acr20, acr20, acr20_state, empty_init, "Kawai Musical Instruments Manufacturing", "ACR-20 Digital Accompaniment Center", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/kawai/k1.cpp b/src/mame/kawai/k1.cpp index 655162e86a30f..5f4ef0bec03bc 100644 --- a/src/mame/kawai/k1.cpp +++ b/src/mame/kawai/k1.cpp @@ -112,8 +112,8 @@ ROM_END } // anonymous namespace -SYST(1988, k1, 0, 0, k1, k1, kawai_k1_state, empty_init, "Kawai Musical Instrument Manufacturing", "K1 Digital Multi-Dimensional Synthesizer", MACHINE_IS_SKELETON) -SYST(1988, k1m, k1, 0, k1m, k1, kawai_k1_state, empty_init, "Kawai Musical Instrument Manufacturing", "K1m Digital Multi-Dimensional Synthesizer Module", MACHINE_IS_SKELETON) -SYST(1988, k1r, k1, 0, k1m, k1, kawai_k1_state, empty_init, "Kawai Musical Instrument Manufacturing", "K1r Digital Multi-Dimensional Synthesizer Module", MACHINE_IS_SKELETON) +SYST(1988, k1, 0, 0, k1, k1, kawai_k1_state, empty_init, "Kawai Musical Instrument Manufacturing", "K1 Digital Multi-Dimensional Synthesizer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1988, k1m, k1, 0, k1m, k1, kawai_k1_state, empty_init, "Kawai Musical Instrument Manufacturing", "K1m Digital Multi-Dimensional Synthesizer Module", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1988, k1r, k1, 0, k1m, k1, kawai_k1_state, empty_init, "Kawai Musical Instrument Manufacturing", "K1r Digital Multi-Dimensional Synthesizer Module", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) -SYST(1989, k1rii, 0, 0, k1m, k1, kawai_k1_state, empty_init, "Kawai Musical Instrument Manufacturing", "K1rII Digital Multi-Dimensional Synthesizer Module", MACHINE_IS_SKELETON) +SYST(1989, k1rii, 0, 0, k1m, k1, kawai_k1_state, empty_init, "Kawai Musical Instrument Manufacturing", "K1rII Digital Multi-Dimensional Synthesizer Module", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/kawai/k4.cpp b/src/mame/kawai/k4.cpp index 3e3a6c6a11bbe..7a865880fed91 100644 --- a/src/mame/kawai/k4.cpp +++ b/src/mame/kawai/k4.cpp @@ -82,5 +82,5 @@ ROM_END } // anonymous namespace -SYST(1989, k4, 0, 0, k4, k4, kawai_k4_state, empty_init, "Kawai Musical Instrument Manufacturing", "K4 16-bit Digital Synthesizer", MACHINE_IS_SKELETON) -SYST(1989, k4r, k4, 0, k4, k4, kawai_k4_state, empty_init, "Kawai Musical Instrument Manufacturing", "K4r 16-bit Digital Synthesizer Module", MACHINE_IS_SKELETON) +SYST(1989, k4, 0, 0, k4, k4, kawai_k4_state, empty_init, "Kawai Musical Instrument Manufacturing", "K4 16-bit Digital Synthesizer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1989, k4r, k4, 0, k4, k4, kawai_k4_state, empty_init, "Kawai Musical Instrument Manufacturing", "K4r 16-bit Digital Synthesizer Module", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/kawai/k5.cpp b/src/mame/kawai/k5.cpp index d753eb9b15de4..0886731934bc1 100644 --- a/src/mame/kawai/k5.cpp +++ b/src/mame/kawai/k5.cpp @@ -81,5 +81,5 @@ ROM_END } // anonymous namespace -SYST(1987, k5, 0, 0, k5, k5, kawai_k5_state, empty_init, "Kawai Musical Instrument Manufacturing", "K5 Digital Multi-Dimensional Synthesizer", MACHINE_IS_SKELETON) -SYST(1987, k5m, k5, 0, k5, k5, kawai_k5_state, empty_init, "Kawai Musical Instrument Manufacturing", "K5m Digital Multi-Dimensional Synthesizer Module", MACHINE_IS_SKELETON) +SYST(1987, k5, 0, 0, k5, k5, kawai_k5_state, empty_init, "Kawai Musical Instrument Manufacturing", "K5 Digital Multi-Dimensional Synthesizer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1987, k5m, k5, 0, k5, k5, kawai_k5_state, empty_init, "Kawai Musical Instrument Manufacturing", "K5m Digital Multi-Dimensional Synthesizer Module", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/kawai/ksp10.cpp b/src/mame/kawai/ksp10.cpp index 9acb8959a7fba..12e8848ad15ee 100644 --- a/src/mame/kawai/ksp10.cpp +++ b/src/mame/kawai/ksp10.cpp @@ -57,4 +57,4 @@ ROM_END } // anonymous namespace -SYST(199?, ksp10, 0, 0, ksp10, ksp10, kawai_ksp10_state, empty_init, "Kawai Musical Instruments Manufacturing", "KSP10 Digital Piano", MACHINE_IS_SKELETON) +SYST(199?, ksp10, 0, 0, ksp10, ksp10, kawai_ksp10_state, empty_init, "Kawai Musical Instruments Manufacturing", "KSP10 Digital Piano", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/kawai/r100.cpp b/src/mame/kawai/r100.cpp index 930f3309965b7..5c328569a7e95 100644 --- a/src/mame/kawai/r100.cpp +++ b/src/mame/kawai/r100.cpp @@ -153,4 +153,4 @@ ROM_END } // anonymous namespace -SYST(1987, r100, 0, 0, r100, r100, kawai_r100_state, empty_init, "Kawai Musical Instrument Manufacturing", "R-100 Digital Drum Machine", MACHINE_IS_SKELETON) +SYST(1987, r100, 0, 0, r100, r100, kawai_r100_state, empty_init, "Kawai Musical Instrument Manufacturing", "R-100 Digital Drum Machine", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/kawai/sx240.cpp b/src/mame/kawai/sx240.cpp index 6bf6ff4593372..2e2e8ccd6e953 100644 --- a/src/mame/kawai/sx240.cpp +++ b/src/mame/kawai/sx240.cpp @@ -141,4 +141,4 @@ ROM_END } // anonymous namespace -SYST(1984, sx240, 0, 0, sx240, sx240, kawai_sx240_state, empty_init, "Kawai Musical Instrument Manufacturing", "SX-240 8-Voice Programmable Polyphonic Synthesizer", MACHINE_IS_SKELETON) +SYST(1984, sx240, 0, 0, sx240, sx240, kawai_sx240_state, empty_init, "Kawai Musical Instrument Manufacturing", "SX-240 8-Voice Programmable Polyphonic Synthesizer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/konami/cougar.cpp b/src/mame/konami/cougar.cpp index 302069b57bd51..3841c8f6abf4b 100644 --- a/src/mame/konami/cougar.cpp +++ b/src/mame/konami/cougar.cpp @@ -111,4 +111,4 @@ ROM_END } // anonymous namespace -GAME( 2008, spinfev, 0, cougar, cougar, cougar_state, empty_init, ROT0, "Konami", "Spin Fever", MACHINE_IS_SKELETON ) // 'GPB-JB-F01 2008-04-17' and 'SPIN FEVER (GSGPB) BOOT SCRIPT' strings in HDD +GAME( 2008, spinfev, 0, cougar, cougar, cougar_state, empty_init, ROT0, "Konami", "Spin Fever", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // 'GPB-JB-F01 2008-04-17' and 'SPIN FEVER (GSGPB) BOOT SCRIPT' strings in HDD diff --git a/src/mame/konami/finalizr.cpp b/src/mame/konami/finalizr.cpp index a85fa5e23e823..69a83d8628d93 100644 --- a/src/mame/konami/finalizr.cpp +++ b/src/mame/konami/finalizr.cpp @@ -415,7 +415,7 @@ static INPUT_PORTS_START( finalizr ) KONAMI8_SYSTEM_10 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("P1") KONAMI8_MONO_B12_UNK diff --git a/src/mame/konami/gryzor_ms.cpp b/src/mame/konami/gryzor_ms.cpp index a5e396c1b96ad..b9c287bae8a8f 100644 --- a/src/mame/konami/gryzor_ms.cpp +++ b/src/mame/konami/gryzor_ms.cpp @@ -185,4 +185,4 @@ ROM_END } // anonymous namespace -GAME( 1987, gryzorm, contra, gryzorm, gryzorm, gryzor_ms_state, empty_init, ROT90, "bootleg (Gaelco / Ervisa)", "Gryzor (Modular System)", MACHINE_IS_SKELETON ) +GAME( 1987, gryzorm, contra, gryzorm, gryzorm, gryzor_ms_state, empty_init, ROT90, "bootleg (Gaelco / Ervisa)", "Gryzor (Modular System)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/konami/kongs470.cpp b/src/mame/konami/kongs470.cpp index 0971a55c5b4d5..a05e223a3740e 100644 --- a/src/mame/konami/kongs470.cpp +++ b/src/mame/konami/kongs470.cpp @@ -98,4 +98,4 @@ ROM_END } // Anonymous namespace -GAME( 1995, tdbingo, 0, kongs470, tdbingo, kongs470_state, empty_init, ROT0, "Konami", "Trio de Bingo", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1995, tdbingo, 0, kongs470, tdbingo, kongs470_state, empty_init, ROT0, "Konami", "Trio de Bingo", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/konami/kpontoon.cpp b/src/mame/konami/kpontoon.cpp index 0abe1b7fa653b..7d60e96fffa71 100644 --- a/src/mame/konami/kpontoon.cpp +++ b/src/mame/konami/kpontoon.cpp @@ -431,4 +431,4 @@ ROM_END } // Anonymous namespace -GAME( 1993, kpontoon, 0, kpontoon, kpontoon, kpontoon_state, empty_init, ROT0, "Konami", "Pontoon (Konami)", MACHINE_IS_SKELETON ) +GAME( 1993, kpontoon, 0, kpontoon, kpontoon, kpontoon_state, empty_init, ROT0, "Konami", "Pontoon (Konami)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/konami/kpython.cpp b/src/mame/konami/kpython.cpp index 96ec65e4c0a9b..4f00e94f29ad0 100644 --- a/src/mame/konami/kpython.cpp +++ b/src/mame/konami/kpython.cpp @@ -373,9 +373,9 @@ ROM_END } // anonymous namespace -GAME(2002, kpython, 0, kpython, kpython, kpython_state, empty_init, ROT0, "Konami", "Konami Python BIOS", MACHINE_IS_SKELETON|MACHINE_IS_BIOS_ROOT) -GAME(2002, dogstdx, kpython, kpython, kpython, kpython_state, empty_init, ROT0, "Konami", "dogstation Deluxe", MACHINE_IS_SKELETON) -GAME(2002, pesta, kpython, kpython, kpython, kpython_state, empty_init, ROT0, "Konami", "Pro Evolution Soccer The Arcade (ver EAA)", MACHINE_IS_SKELETON) -GAME(2002, wswe, kpython, kpython, kpython, kpython_state, empty_init, ROT0, "Konami", "World Soccer Winning Eleven Arcade Game Style", MACHINE_IS_SKELETON) -GAME(2003, wswe2k3, kpython, kpython, kpython, kpython_state, empty_init, ROT0, "Konami", "World Soccer Winning Eleven Arcade Game 2003", MACHINE_IS_SKELETON) -GAME(2003, popn9, kpython, kpython, kpython, kpython_state, empty_init, ROT0, "Konami", "Pop'n Music 9 (ver JAB)", MACHINE_IS_SKELETON) +GAME(2002, kpython, 0, kpython, kpython, kpython_state, empty_init, ROT0, "Konami", "Konami Python BIOS", MACHINE_NO_SOUND | MACHINE_NOT_WORKING|MACHINE_IS_BIOS_ROOT) +GAME(2002, dogstdx, kpython, kpython, kpython, kpython_state, empty_init, ROT0, "Konami", "dogstation Deluxe", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2002, pesta, kpython, kpython, kpython, kpython_state, empty_init, ROT0, "Konami", "Pro Evolution Soccer The Arcade (ver EAA)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2002, wswe, kpython, kpython, kpython, kpython_state, empty_init, ROT0, "Konami", "World Soccer Winning Eleven Arcade Game Style", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2003, wswe2k3, kpython, kpython, kpython, kpython_state, empty_init, ROT0, "Konami", "World Soccer Winning Eleven Arcade Game 2003", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2003, popn9, kpython, kpython, kpython, kpython_state, empty_init, ROT0, "Konami", "Pop'n Music 9 (ver JAB)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/konami/kpython2.cpp b/src/mame/konami/kpython2.cpp index cc8b9c9e5ebc5..eafcbda33d27b 100644 --- a/src/mame/konami/kpython2.cpp +++ b/src/mame/konami/kpython2.cpp @@ -1915,49 +1915,49 @@ ROM_END } // anonymous namespace -GAME(2005, kpython2, 0, kpython2, kpython2, kpython2_state, empty_init, ROT0, "Konami", "Konami Python 2 BIOS", MACHINE_IS_SKELETON|MACHINE_IS_BIOS_ROOT) - -GAME(2005, dance864, kpython2, kpython2, dance864, kpython2_state, empty_init, ROT0, "Konami", "DANCE 86.4 FUNKY RADIO STATION (E01:J:A:A:2005040400)", MACHINE_IS_SKELETON) - -GAME(2006, ddrsnj, kpython2, kpython2, ddr, kpython2_state, empty_init, ROT0, "Konami", "Dance Dance Revolution SuperNOVA (FDH:J:A:A:2006090600)", MACHINE_IS_SKELETON) -GAME(2006, ddrsna, kpython2, kpython2, ddr, kpython2_state, empty_init, ROT0, "Konami", "Dance Dance Revolution SuperNOVA (FDH:A:A:A:2006071300)", MACHINE_IS_SKELETON) -GAME(2006, ddrsnu, kpython2, kpython2, ddr, kpython2_state, empty_init, ROT0, "Konami", "Dance Dance Revolution SuperNOVA (FDH:U:A:A:2006072400)", MACHINE_IS_SKELETON) -GAME(2007, ddrsn2j, kpython2, kpython2, ddr, kpython2_state, empty_init, ROT0, "Konami", "Dance Dance Revolution SuperNOVA 2 (GDJ:J:A:A:2007100800)", MACHINE_IS_SKELETON) -GAME(2007, ddrsn2ja, ddrsn2j, kpython2, ddr, kpython2_state, empty_init, ROT0, "Konami", "Dance Dance Revolution SuperNOVA 2 (GDJ:J:A:A:2007071100)", MACHINE_IS_SKELETON) -GAME(2007, ddrsn2a, kpython2, kpython2, ddr, kpython2_state, empty_init, ROT0, "Konami", "Dance Dance Revolution SuperNOVA 2 (GDJ:A:A:A:2007100800)", MACHINE_IS_SKELETON) -GAME(2007, ddrsn2aa, ddrsn2a, kpython2, ddr, kpython2_state, empty_init, ROT0, "Konami", "Dance Dance Revolution SuperNOVA 2 (GDJ:A:A:A:2007071100)", MACHINE_IS_SKELETON) -GAME(2007, ddrsn2u, kpython2, kpython2, ddr, kpython2_state, empty_init, ROT0, "Konami", "Dance Dance Revolution SuperNOVA 2 (GDJ:U:A:A:2007100800)", MACHINE_IS_SKELETON) - -GAME(2006, dstagesn, kpython2, kpython2, ddr, kpython2_state, empty_init, ROT0, "Konami", "Dancing Stage SuperNOVA (FDH:E:A:A:2006072500)", MACHINE_IS_SKELETON) -GAME(2006, dstagesna, dstagesn, kpython2, ddr, kpython2_state, empty_init, ROT0, "Konami", "Dancing Stage SuperNOVA (FDH:E:A:A:2006032200)", MACHINE_IS_SKELETON) - -GAME(2005, drmnvj, kpython2, kpython2, drmn, kpython2_state, empty_init, ROT0, "Konami", "DrumMania V (E02:J:A:A:2005050200)", MACHINE_IS_SKELETON) -GAME(2006, drmnv2j, kpython2, kpython2, drmn, kpython2_state, empty_init, ROT0, "Konami", "DrumMania V2 (F02:J:A:A:2006011201)", MACHINE_IS_SKELETON) -GAME(2005, drmnv2ja, drmnv2j, kpython2, drmn, kpython2_state, empty_init, ROT0, "Konami", "DrumMania V2 (F02:J:A:A:2005112800)", MACHINE_IS_SKELETON) -GAME(2005, drmnv2jb, drmnv2j, kpython2, drmn, kpython2_state, empty_init, ROT0, "Konami", "DrumMania V2 (F02:J:A:A:2005101600)", MACHINE_IS_SKELETON) -GAME(2006, drmnv3j, kpython2, kpython2, drmn, kpython2_state, empty_init, ROT0, "Konami", "DrumMania V3 (F32:J:A:A:2006101800)", MACHINE_IS_SKELETON) -GAME(2006, drmnv3ja, drmnv3j, kpython2, drmn, kpython2_state, empty_init, ROT0, "Konami", "DrumMania V3 (F32:J:A:A:2006072600)", MACHINE_IS_SKELETON) -GAME(2005, drmnva, kpython2, kpython2, drmn, kpython2_state, empty_init, ROT0, "Konami", "DrumMania V (E02:A:A:A:2005050200)", MACHINE_IS_SKELETON) -GAME(2006, drmnv2a, kpython2, kpython2, drmn, kpython2_state, empty_init, ROT0, "Konami", "DrumMania V2 (F02:A:A:A:2006011201)", MACHINE_IS_SKELETON) -GAME(2005, drmnv2aa, drmnv2a, kpython2, drmn, kpython2_state, empty_init, ROT0, "Konami", "DrumMania V2 (F02:A:A:A:2005112800)", MACHINE_IS_SKELETON) -GAME(2005, drmnv2ab, drmnv2a, kpython2, drmn, kpython2_state, empty_init, ROT0, "Konami", "DrumMania V2 (F02:A:A:A:2005101600)", MACHINE_IS_SKELETON) -GAME(2006, drmnv3a, kpython2, kpython2, drmn, kpython2_state, empty_init, ROT0, "Konami", "DrumMania V3 (F32:A:A:A:2006101800)", MACHINE_IS_SKELETON) -GAME(2006, drmnv3aa, drmnv3a, kpython2, drmn, kpython2_state, empty_init, ROT0, "Konami", "DrumMania V3 (F32:A:A:A:2006072600)", MACHINE_IS_SKELETON) - -GAME(2005, gtrfrkvj, kpython2, kpython2, gtrfrks, kpython2_state, empty_init, ROT0, "Konami", "Guitar Freaks V (E03:J:A:A:2005050200)", MACHINE_IS_SKELETON) -GAME(2006, gtrfrkv2j, kpython2, kpython2, gtrfrks, kpython2_state, empty_init, ROT0, "Konami", "Guitar Freaks V2 (F03:J:A:A:2006011201)", MACHINE_IS_SKELETON) -GAME(2005, gtrfrkv2ja, gtrfrkv2j, kpython2, gtrfrks, kpython2_state, empty_init, ROT0, "Konami", "Guitar Freaks V2 (F03:J:A:A:2005112800)", MACHINE_IS_SKELETON) -GAME(2005, gtrfrkv2jb, gtrfrkv2j, kpython2, gtrfrks, kpython2_state, empty_init, ROT0, "Konami", "Guitar Freaks V2 (F03:J:A:A:2005101600)", MACHINE_IS_SKELETON) -GAME(2006, gtrfrkv3j, kpython2, kpython2, gtrfrks, kpython2_state, empty_init, ROT0, "Konami", "Guitar Freaks V3 (F33:J:A:A:2006101800)", MACHINE_IS_SKELETON) -GAME(2006, gtrfrkv3ja, gtrfrkv3j, kpython2, gtrfrks, kpython2_state, empty_init, ROT0, "Konami", "Guitar Freaks V3 (F33:J:A:A:2006072600)", MACHINE_IS_SKELETON) -GAME(2005, gtrfrkva, kpython2, kpython2, gtrfrks, kpython2_state, empty_init, ROT0, "Konami", "Guitar Freaks V (E03:A:A:A:2005050200)", MACHINE_IS_SKELETON) -GAME(2006, gtrfrkv2a, kpython2, kpython2, gtrfrks, kpython2_state, empty_init, ROT0, "Konami", "Guitar Freaks V2 (F03:A:A:A:2006011201)", MACHINE_IS_SKELETON) -GAME(2005, gtrfrkv2aa, gtrfrkv2a, kpython2, gtrfrks, kpython2_state, empty_init, ROT0, "Konami", "Guitar Freaks V2 (F03:A:A:A:2005112800)", MACHINE_IS_SKELETON) -GAME(2005, gtrfrkv2ab, gtrfrkv2a, kpython2, gtrfrks, kpython2_state, empty_init, ROT0, "Konami", "Guitar Freaks V2 (F03:A:A:A:2005101600)", MACHINE_IS_SKELETON) -GAME(2006, gtrfrkv3a, kpython2, kpython2, gtrfrks, kpython2_state, empty_init, ROT0, "Konami", "Guitar Freaks V3 (F33:A:A:A:2006101800)", MACHINE_IS_SKELETON) -GAME(2006, gtrfrkv3aa, gtrfrkv3a, kpython2, gtrfrks, kpython2_state, empty_init, ROT0, "Konami", "Guitar Freaks V3 (F33:A:A:A:2006072600)", MACHINE_IS_SKELETON) - -GAME(2005, thrild3j, kpython2, kpython2, thrild3, kpython2_state, empty_init, ROT0, "Konami", "Thrill Drive 3 (D44:J:A:A:20050316)", MACHINE_IS_SKELETON) - -GAME(2005, toysmarch, kpython2, kpython2, toysmarch, kpython2_state, empty_init, ROT0, "Konami", "Toy's March (E00:J:A:A:2005011602)", MACHINE_IS_SKELETON) -GAME(2005, toysmarch2, kpython2, kpython2, toysmarch, kpython2_state, empty_init, ROT0, "Konami", "Toy's March 2 (F00:J:A:A:2005110400)", MACHINE_IS_SKELETON) +GAME(2005, kpython2, 0, kpython2, kpython2, kpython2_state, empty_init, ROT0, "Konami", "Konami Python 2 BIOS", MACHINE_NO_SOUND | MACHINE_NOT_WORKING|MACHINE_IS_BIOS_ROOT) + +GAME(2005, dance864, kpython2, kpython2, dance864, kpython2_state, empty_init, ROT0, "Konami", "DANCE 86.4 FUNKY RADIO STATION (E01:J:A:A:2005040400)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) + +GAME(2006, ddrsnj, kpython2, kpython2, ddr, kpython2_state, empty_init, ROT0, "Konami", "Dance Dance Revolution SuperNOVA (FDH:J:A:A:2006090600)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2006, ddrsna, kpython2, kpython2, ddr, kpython2_state, empty_init, ROT0, "Konami", "Dance Dance Revolution SuperNOVA (FDH:A:A:A:2006071300)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2006, ddrsnu, kpython2, kpython2, ddr, kpython2_state, empty_init, ROT0, "Konami", "Dance Dance Revolution SuperNOVA (FDH:U:A:A:2006072400)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2007, ddrsn2j, kpython2, kpython2, ddr, kpython2_state, empty_init, ROT0, "Konami", "Dance Dance Revolution SuperNOVA 2 (GDJ:J:A:A:2007100800)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2007, ddrsn2ja, ddrsn2j, kpython2, ddr, kpython2_state, empty_init, ROT0, "Konami", "Dance Dance Revolution SuperNOVA 2 (GDJ:J:A:A:2007071100)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2007, ddrsn2a, kpython2, kpython2, ddr, kpython2_state, empty_init, ROT0, "Konami", "Dance Dance Revolution SuperNOVA 2 (GDJ:A:A:A:2007100800)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2007, ddrsn2aa, ddrsn2a, kpython2, ddr, kpython2_state, empty_init, ROT0, "Konami", "Dance Dance Revolution SuperNOVA 2 (GDJ:A:A:A:2007071100)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2007, ddrsn2u, kpython2, kpython2, ddr, kpython2_state, empty_init, ROT0, "Konami", "Dance Dance Revolution SuperNOVA 2 (GDJ:U:A:A:2007100800)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) + +GAME(2006, dstagesn, kpython2, kpython2, ddr, kpython2_state, empty_init, ROT0, "Konami", "Dancing Stage SuperNOVA (FDH:E:A:A:2006072500)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2006, dstagesna, dstagesn, kpython2, ddr, kpython2_state, empty_init, ROT0, "Konami", "Dancing Stage SuperNOVA (FDH:E:A:A:2006032200)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) + +GAME(2005, drmnvj, kpython2, kpython2, drmn, kpython2_state, empty_init, ROT0, "Konami", "DrumMania V (E02:J:A:A:2005050200)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2006, drmnv2j, kpython2, kpython2, drmn, kpython2_state, empty_init, ROT0, "Konami", "DrumMania V2 (F02:J:A:A:2006011201)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2005, drmnv2ja, drmnv2j, kpython2, drmn, kpython2_state, empty_init, ROT0, "Konami", "DrumMania V2 (F02:J:A:A:2005112800)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2005, drmnv2jb, drmnv2j, kpython2, drmn, kpython2_state, empty_init, ROT0, "Konami", "DrumMania V2 (F02:J:A:A:2005101600)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2006, drmnv3j, kpython2, kpython2, drmn, kpython2_state, empty_init, ROT0, "Konami", "DrumMania V3 (F32:J:A:A:2006101800)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2006, drmnv3ja, drmnv3j, kpython2, drmn, kpython2_state, empty_init, ROT0, "Konami", "DrumMania V3 (F32:J:A:A:2006072600)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2005, drmnva, kpython2, kpython2, drmn, kpython2_state, empty_init, ROT0, "Konami", "DrumMania V (E02:A:A:A:2005050200)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2006, drmnv2a, kpython2, kpython2, drmn, kpython2_state, empty_init, ROT0, "Konami", "DrumMania V2 (F02:A:A:A:2006011201)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2005, drmnv2aa, drmnv2a, kpython2, drmn, kpython2_state, empty_init, ROT0, "Konami", "DrumMania V2 (F02:A:A:A:2005112800)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2005, drmnv2ab, drmnv2a, kpython2, drmn, kpython2_state, empty_init, ROT0, "Konami", "DrumMania V2 (F02:A:A:A:2005101600)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2006, drmnv3a, kpython2, kpython2, drmn, kpython2_state, empty_init, ROT0, "Konami", "DrumMania V3 (F32:A:A:A:2006101800)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2006, drmnv3aa, drmnv3a, kpython2, drmn, kpython2_state, empty_init, ROT0, "Konami", "DrumMania V3 (F32:A:A:A:2006072600)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) + +GAME(2005, gtrfrkvj, kpython2, kpython2, gtrfrks, kpython2_state, empty_init, ROT0, "Konami", "Guitar Freaks V (E03:J:A:A:2005050200)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2006, gtrfrkv2j, kpython2, kpython2, gtrfrks, kpython2_state, empty_init, ROT0, "Konami", "Guitar Freaks V2 (F03:J:A:A:2006011201)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2005, gtrfrkv2ja, gtrfrkv2j, kpython2, gtrfrks, kpython2_state, empty_init, ROT0, "Konami", "Guitar Freaks V2 (F03:J:A:A:2005112800)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2005, gtrfrkv2jb, gtrfrkv2j, kpython2, gtrfrks, kpython2_state, empty_init, ROT0, "Konami", "Guitar Freaks V2 (F03:J:A:A:2005101600)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2006, gtrfrkv3j, kpython2, kpython2, gtrfrks, kpython2_state, empty_init, ROT0, "Konami", "Guitar Freaks V3 (F33:J:A:A:2006101800)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2006, gtrfrkv3ja, gtrfrkv3j, kpython2, gtrfrks, kpython2_state, empty_init, ROT0, "Konami", "Guitar Freaks V3 (F33:J:A:A:2006072600)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2005, gtrfrkva, kpython2, kpython2, gtrfrks, kpython2_state, empty_init, ROT0, "Konami", "Guitar Freaks V (E03:A:A:A:2005050200)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2006, gtrfrkv2a, kpython2, kpython2, gtrfrks, kpython2_state, empty_init, ROT0, "Konami", "Guitar Freaks V2 (F03:A:A:A:2006011201)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2005, gtrfrkv2aa, gtrfrkv2a, kpython2, gtrfrks, kpython2_state, empty_init, ROT0, "Konami", "Guitar Freaks V2 (F03:A:A:A:2005112800)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2005, gtrfrkv2ab, gtrfrkv2a, kpython2, gtrfrks, kpython2_state, empty_init, ROT0, "Konami", "Guitar Freaks V2 (F03:A:A:A:2005101600)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2006, gtrfrkv3a, kpython2, kpython2, gtrfrks, kpython2_state, empty_init, ROT0, "Konami", "Guitar Freaks V3 (F33:A:A:A:2006101800)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2006, gtrfrkv3aa, gtrfrkv3a, kpython2, gtrfrks, kpython2_state, empty_init, ROT0, "Konami", "Guitar Freaks V3 (F33:A:A:A:2006072600)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) + +GAME(2005, thrild3j, kpython2, kpython2, thrild3, kpython2_state, empty_init, ROT0, "Konami", "Thrill Drive 3 (D44:J:A:A:20050316)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) + +GAME(2005, toysmarch, kpython2, kpython2, toysmarch, kpython2_state, empty_init, ROT0, "Konami", "Toy's March (E00:J:A:A:2005011602)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2005, toysmarch2, kpython2, kpython2, toysmarch, kpython2_state, empty_init, ROT0, "Konami", "Toy's March 2 (F00:J:A:A:2005110400)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/konami/quickpick5.cpp b/src/mame/konami/quickpick5.cpp index 59aa6750c20a5..b4e14c47a739c 100644 --- a/src/mame/konami/quickpick5.cpp +++ b/src/mame/konami/quickpick5.cpp @@ -449,7 +449,7 @@ static INPUT_PORTS_START( quickpick5 ) PORT_START("IN3") PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_CUSTOM) PORT_READ_LINE_MEMBER(FUNC(quickpick5_state::serial_io_r)) - PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_CUSTOM) PORT_VBLANK("screen") // guess + PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_CUSTOM) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // guess PORT_BIT(0x7e, IP_ACTIVE_LOW, IPT_UNUSED) PORT_START("SIO1") @@ -572,7 +572,7 @@ static INPUT_PORTS_START( waijockey ) PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Bet 1-3") PORT_CODE(KEYCODE_F) PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_UNUSED) PORT_BIT(0x60, IP_ACTIVE_LOW, IPT_CUSTOM) // battery sensor - PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_CUSTOM) PORT_VBLANK("screen") // guess + PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_CUSTOM) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // guess INPUT_PORTS_END void waijockey_state::machine_start() diff --git a/src/mame/konami/rungun.cpp b/src/mame/konami/rungun.cpp index a30508862a4e4..2a5b03a1486d1 100644 --- a/src/mame/konami/rungun.cpp +++ b/src/mame/konami/rungun.cpp @@ -53,8 +53,7 @@ class rungun_state : public driver_device driver_device(mconfig, type, tag), m_maincpu(*this, "maincpu"), m_soundcpu(*this, "soundcpu"), - m_k054539_1(*this, "k054539_1"), - m_k054539_2(*this, "k054539_2"), + m_k054539(*this, "k054539_%u", 0), m_k053936(*this, "k053936"), m_k055673(*this, "k055673"), m_k053252(*this, "k053252"), @@ -84,8 +83,7 @@ class rungun_state : public driver_device /* devices */ required_device m_maincpu; required_device m_soundcpu; - required_device m_k054539_1; - required_device m_k054539_2; + required_device_array m_k054539; required_device m_k053936; required_device m_k055673; required_device m_k053252; @@ -110,23 +108,23 @@ class rungun_state : public driver_device tilemap_t *m_ttl_tilemap[2]{}; tilemap_t *m_936_tilemap[2]{}; std::unique_ptr m_psac2_vram; - std::unique_ptr m_ttl_vram; - std::unique_ptr m_pal_ram; - uint8_t m_current_display_bank = 0; + std::unique_ptr m_ttl_vram; + std::unique_ptr m_pal_ram; + uint8_t m_current_display_bank = 0; int m_ttl_gfx_index = 0; int m_sprite_colorbase = 0; - uint8_t *m_roz_rom = nullptr; - uint8_t m_roz_rombase = 0; + uint8_t *m_roz_rom = nullptr; + uint8_t m_roz_rombase = 0; /* sound */ - uint8_t m_sound_ctrl = 0; - uint8_t m_sound_nmi_clk = 0; + uint8_t m_sound_ctrl = 0; + uint8_t m_sound_nmi_clk = 0; bool m_video_priority_mode = false; std::unique_ptr m_banked_ram; bool m_single_screen_mode = false; - uint8_t m_video_mux_bank = 0; + uint8_t m_video_mux_bank = 0; uint16_t sysregs_r(offs_t offset, uint16_t mem_mask = ~0); void sysregs_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); @@ -140,9 +138,8 @@ class rungun_state : public driver_device TILE_GET_INFO_MEMBER(ttl_get_tile_info); TILE_GET_INFO_MEMBER(get_rng_936_tile_info); void k054539_nmi_gen(int state); - uint16_t palette_read(offs_t offset); - void palette_write(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); - + uint16_t palette_r(offs_t offset); + void palette_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); K055673_CB_MEMBER(sprite_callback); @@ -152,7 +149,7 @@ class rungun_state : public driver_device uint32_t screen_update_rng_dual_right(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); bitmap_ind16 m_rng_dual_demultiplex_left_temp; bitmap_ind16 m_rng_dual_demultiplex_right_temp; - void sprite_dma_trigger(void); + void sprite_dma_trigger(void); INTERRUPT_GEN_MEMBER(rng_interrupt); @@ -182,10 +179,11 @@ uint16_t rungun_state::sysregs_r(offs_t offset, uint16_t mem_mask) */ { uint8_t field_bit = m_screen->frame_number() & 1; - if(m_single_screen_mode == true) + if (m_single_screen_mode == true) field_bit = 1; return (m_system->read() & 0xfdff) | (field_bit << 9); } + case 0x06/2: if (ACCESSING_BITS_0_7) { @@ -231,7 +229,7 @@ void rungun_state::sysregs_w(offs_t offset, uint16_t data, uint16_t mem_mask) if (!(data & 0x400)) // actually a 0 -> 1 transition m_maincpu->set_input_line(M68K_IRQ_5, CLEAR_LINE); } - break; + break; case 0x0c/2: /* @@ -243,7 +241,7 @@ void rungun_state::sysregs_w(offs_t offset, uint16_t data, uint16_t mem_mask) */ m_k055673->k053246_set_objcha_line((data & 0x04) ? ASSERT_LINE : CLEAR_LINE); m_roz_rombase = (data & 0xf0) >> 4; - break; + break; } } @@ -267,38 +265,36 @@ uint8_t rungun_state::k53936_rom_r(offs_t offset) { // TODO: odd addresses returns ...? uint32_t rom_addr = offset; - rom_addr+= (m_roz_rombase)*0x20000; + rom_addr += m_roz_rombase * 0x20000; return m_roz_rom[rom_addr]; } -uint16_t rungun_state::palette_read(offs_t offset) +uint16_t rungun_state::palette_r(offs_t offset) { return m_pal_ram[offset + m_video_mux_bank*0x800/2]; } -void rungun_state::palette_write(offs_t offset, uint16_t data, uint16_t mem_mask) +void rungun_state::palette_w(offs_t offset, uint16_t data, uint16_t mem_mask) { - palette_device &cur_paldevice = m_video_mux_bank == 0 ? *m_palette : *m_palette2; uint32_t addr = offset + m_video_mux_bank*0x800/2; COMBINE_DATA(&m_pal_ram[addr]); - uint8_t r,g,b; + uint8_t r = m_pal_ram[addr] & 0x1f; + uint8_t g = (m_pal_ram[addr] & 0x3e0) >> 5; + uint8_t b = (m_pal_ram[addr] & 0x7e00) >> 10; - r = m_pal_ram[addr] & 0x1f; - g = (m_pal_ram[addr] & 0x3e0) >> 5; - b = (m_pal_ram[addr] & 0x7e00) >> 10; - - cur_paldevice.set_pen_color(offset,pal5bit(r),pal5bit(g),pal5bit(b)); + palette_device &cur_paldevice = m_video_mux_bank == 0 ? *m_palette : *m_palette2; + cur_paldevice.set_pen_color(offset, pal5bit(r), pal5bit(g), pal5bit(b)); } void rungun_state::rungun_map(address_map &map) { map(0x000000, 0x2fffff).rom(); // main program + data - map(0x300000, 0x3007ff).rw(FUNC(rungun_state::palette_read), FUNC(rungun_state::palette_write)); + map(0x300000, 0x3007ff).rw(FUNC(rungun_state::palette_r), FUNC(rungun_state::palette_w)); map(0x380000, 0x39ffff).ram(); // work RAM map(0x400000, 0x43ffff).r(FUNC(rungun_state::k53936_rom_r)).umask16(0x00ff); // '936 ROM readback window map(0x480000, 0x48001f).rw(FUNC(rungun_state::sysregs_r), FUNC(rungun_state::sysregs_w)).share("sysreg"); - map(0x4c0000, 0x4c001f).rw(m_k053252, FUNC(k053252_device::read), FUNC(k053252_device::write)).umask16(0x00ff); // CCU (for scanline and vblank polling) + map(0x4c0000, 0x4c001f).rw(m_k053252, FUNC(k053252_device::read), FUNC(k053252_device::write)).umask16(0x00ff); // CCU (for scanline and vblank polling) map(0x540000, 0x540001).w(FUNC(rungun_state::sound_irq_w)); map(0x580000, 0x58001f).m(m_k054321, FUNC(k054321_device::main_map)).umask16(0xff00); map(0x5c0000, 0x5c000f).r(m_k055673, FUNC(k055673_device::k055673_rom_word_r)); // 246A ROM readback window @@ -334,12 +330,12 @@ K055673_CB_MEMBER(rungun_state::sprite_callback) uint16_t rungun_state::ttl_ram_r(offs_t offset) { - return m_ttl_vram[offset+(m_video_mux_bank*0x1000)]; + return m_ttl_vram[offset + (m_video_mux_bank*0x1000)]; } void rungun_state::ttl_ram_w(offs_t offset, uint16_t data, uint16_t mem_mask) { - COMBINE_DATA(&m_ttl_vram[offset+(m_video_mux_bank*0x1000)]); + COMBINE_DATA(&m_ttl_vram[offset + (m_video_mux_bank*0x1000)]); m_ttl_tilemap[m_video_mux_bank]->mark_tile_dirty(offset / 2); } @@ -398,7 +394,7 @@ void rungun_state::video_start() m_ttl_gfx_index = gfx_index; // create the tilemaps - for(uint32_t screen_num = 0;screen_num < 2;screen_num++) + for (uint32_t screen_num = 0; screen_num < 2; screen_num++) { m_ttl_tilemap[screen_num] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(rungun_state::ttl_get_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 64, 32); m_ttl_tilemap[screen_num]->set_user_data((void *)(uintptr_t)(screen_num * 0x2000)); @@ -420,10 +416,10 @@ uint32_t rungun_state::screen_update_rng(screen_device &screen, bitmap_ind16 &bi bitmap.fill(m_palette->black_pen(), cliprect); screen.priority().fill(0, cliprect); m_current_display_bank = m_screen->frame_number() & 1; - if(m_single_screen_mode == true) + if (m_single_screen_mode == true) m_current_display_bank = 0; - if(m_video_priority_mode == false) + if (m_video_priority_mode == false) { m_k053936->zoom_draw(screen, bitmap, cliprect, m_936_tilemap[m_current_display_bank], 0, 0, 1); m_k055673->k053247_sprites_draw(bitmap, cliprect); @@ -464,14 +460,14 @@ void rungun_state::sprite_dma_trigger(void) { uint32_t src_address; - if(m_single_screen_mode == true) + if (m_single_screen_mode == true) src_address = 1*0x2000; else src_address = m_current_display_bank*0x2000; // TODO: size could be programmable somehow. - for(int i=0;i<0x1000;i+=2) - m_k055673->k053247_word_w(i/2, m_banked_ram[(i + src_address) /2]); + for (int i = 0; i < 0x1000; i += 2) + m_k055673->k053247_word_w(i / 2, m_banked_ram[(i + src_address) / 2]); } @@ -514,9 +510,9 @@ void rungun_state::rungun_sound_map(address_map &map) map(0x0000, 0x7fff).rom(); map(0x8000, 0xbfff).bankr("bank2"); map(0xc000, 0xdfff).ram(); - map(0xe000, 0xe22f).rw(m_k054539_1, FUNC(k054539_device::read), FUNC(k054539_device::write)); + map(0xe000, 0xe22f).rw(m_k054539[0], FUNC(k054539_device::read), FUNC(k054539_device::write)); map(0xe230, 0xe3ff).ram(); - map(0xe400, 0xe62f).rw(m_k054539_2, FUNC(k054539_device::read), FUNC(k054539_device::write)); + map(0xe400, 0xe62f).rw(m_k054539[1], FUNC(k054539_device::read), FUNC(k054539_device::write)); map(0xe630, 0xe7ff).ram(); map(0xf000, 0xf003).m(m_k054321, FUNC(k054321_device::sound_map)); map(0xf800, 0xf800).w(FUNC(rungun_state::sound_ctrl_w)); @@ -624,19 +620,16 @@ void rungun_state::machine_start() m_bank2->configure_entries(0, 8, &ROM[0x10000], 0x4000); m_banked_ram = make_unique_clear(0x2000); - m_pal_ram = make_unique_clear(0x800*2); - m_spriteram_bank->configure_entries(0,2,&m_banked_ram[0],0x2000); + m_pal_ram = make_unique_clear(0x800); + m_spriteram_bank->configure_entries(0, 2, &m_banked_ram[0], 0x2000); save_item(NAME(m_sound_ctrl)); save_item(NAME(m_sound_nmi_clk)); - //save_item(NAME(m_ttl_vram)); } void rungun_state::machine_reset() { memset(m_sysreg, 0, 0x20); - //memset(m_ttl_vram, 0, 0x1000 * sizeof(uint16_t)); - m_sound_ctrl = 0; } @@ -685,8 +678,8 @@ void rungun_state::rng(machine_config &config) m_k053252->set_screen("screen"); PALETTE(config, m_palette2).set_format(palette_device::xBGR_555, 1024); - m_palette->enable_shadows(); - m_palette->enable_hilights(); + m_palette2->enable_shadows(); + m_palette2->enable_hilights(); /* sound hardware */ SPEAKER(config, "lspeaker").front_left(); @@ -695,17 +688,17 @@ void rungun_state::rng(machine_config &config) K054321(config, m_k054321, "lspeaker", "rspeaker"); // SFX - K054539(config, m_k054539_1, 18.432_MHz_XTAL); - m_k054539_1->set_device_rom_tag("k054539"); - m_k054539_1->timer_handler().set(FUNC(rungun_state::k054539_nmi_gen)); - m_k054539_1->add_route(0, "rspeaker", 1.0); - m_k054539_1->add_route(1, "lspeaker", 1.0); + K054539(config, m_k054539[0], 18.432_MHz_XTAL); + m_k054539[0]->set_device_rom_tag("k054539"); + m_k054539[0]->timer_handler().set(FUNC(rungun_state::k054539_nmi_gen)); + m_k054539[0]->add_route(0, "rspeaker", 1.0); + m_k054539[0]->add_route(1, "lspeaker", 1.0); // BGM, volumes handtuned to make SFXs audible (still not 100% right tho) - K054539(config, m_k054539_2, 18.432_MHz_XTAL); - m_k054539_2->set_device_rom_tag("k054539"); - m_k054539_2->add_route(0, "rspeaker", 0.6); - m_k054539_2->add_route(1, "lspeaker", 0.6); + K054539(config, m_k054539[1], 18.432_MHz_XTAL); + m_k054539[1]->set_device_rom_tag("k054539"); + m_k054539[1]->add_route(0, "rspeaker", 0.6); + m_k054539[1]->add_route(1, "lspeaker", 0.6); } // for dual-screen output Run and Gun requires the video de-multiplexer board connected to the Jamma output, this gives you 2 Jamma connectors, one for each screen. @@ -717,16 +710,16 @@ void rungun_state::rng_dual(machine_config &config) m_screen->set_screen_update(FUNC(rungun_state::screen_update_rng_dual_left)); - screen_device &demultiplex2(SCREEN(config, "demultiplex2", SCREEN_TYPE_RASTER)); - demultiplex2.set_video_attributes(VIDEO_UPDATE_BEFORE_VBLANK); - demultiplex2.set_refresh_hz(59.185606); - demultiplex2.set_vblank_time(ATTOSECONDS_IN_USEC(0)); - demultiplex2.set_size(64*8, 32*8); - demultiplex2.set_visarea(88, 88+416-1, 24, 24+224-1); - demultiplex2.set_screen_update(FUNC(rungun_state::screen_update_rng_dual_right)); - demultiplex2.set_palette(m_palette2); + screen_device &screen2(SCREEN(config, "screen2", SCREEN_TYPE_RASTER)); + screen2.set_video_attributes(VIDEO_UPDATE_BEFORE_VBLANK); + screen2.set_refresh_hz(59.185606); + screen2.set_vblank_time(ATTOSECONDS_IN_USEC(0)); + screen2.set_size(64*8, 32*8); + screen2.set_visarea(88, 88+416-1, 24, 24+224-1); + screen2.set_screen_update(FUNC(rungun_state::screen_update_rng_dual_right)); + screen2.set_palette(m_palette2); - m_k053252->set_slave_screen("demultiplex2"); + m_k053252->set_slave_screen("screen2"); } diff --git a/src/mame/konami/shaolins.cpp b/src/mame/konami/shaolins.cpp index fbb9af6b61385..bce59ee982188 100644 --- a/src/mame/konami/shaolins.cpp +++ b/src/mame/konami/shaolins.cpp @@ -181,6 +181,7 @@ class shaolins_state : public driver_device bit 0 -- 2.2kohm resistor -- RED/GREEN/BLUE ***************************************************************************/ + void shaolins_state::palette(palette_device &palette) const { const uint8_t *color_prom = memregion("proms")->base(); @@ -312,10 +313,10 @@ void shaolins_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec sy--; m_gfxdecode->gfx(1)->transmask(bitmap, cliprect, - code, color, - flipx, flipy, - sx, sy, - m_palette->transpen_mask(*m_gfxdecode->gfx(1), color, m_palettebank << 5)); + code, color, + flipx, flipy, + sx, sy, + m_palette->transpen_mask(*m_gfxdecode->gfx(1), color, m_palettebank << 5)); } } @@ -331,11 +332,13 @@ TIMER_DEVICE_CALLBACK_MEMBER(shaolins_state::interrupt) { int const scanline = param; + // vblank interrupt if (scanline == 240) - m_maincpu->set_input_line(0, HOLD_LINE); - else if ((scanline % 32) == 0) - if (m_nmi_enable & 0x02) - m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); + m_maincpu->set_input_line(0, HOLD_LINE); + + // NMI from 16V + if ((scanline & 0x1f) == 0x10 && m_nmi_enable & 0x02) + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } @@ -505,23 +508,17 @@ GFXDECODE_END void shaolins_state::shaolins(machine_config &config) { - static constexpr XTAL MASTER_CLOCK = XTAL(18'432'000); - // basic machine hardware - MC6809E(config, m_maincpu, MASTER_CLOCK / 12); // verified on PCB + MC6809E(config, m_maincpu, 18.432_MHz_XTAL / 12); // verified on PCB m_maincpu->set_addrmap(AS_PROGRAM, &shaolins_state::prg_map); TIMER(config, "scantimer").configure_scanline(FUNC(shaolins_state::interrupt), "screen", 0, 1); WATCHDOG_TIMER(config, "watchdog"); // video hardware SCREEN(config, m_screen, SCREEN_TYPE_RASTER); -// m_screen->set_refresh_hz(60); -// m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0)); -// m_screen->set_size(32*8, 32*8); -// m_screen->set_visarea(0*8, 32*8-1, 2*8, 30*8-1); // Pixel clock is / 3 the master clock (6'144'000) // Refresh rate is 60.606060 Hz, with 40 vblank lines - m_screen->set_raw(MASTER_CLOCK / 3, 384, 0, 256, 264, 16, 240); + m_screen->set_raw(18.432_MHz_XTAL / 3, 384, 0, 256, 264, 16, 240); m_screen->set_screen_update(FUNC(shaolins_state::screen_update)); m_screen->set_palette(m_palette); @@ -531,21 +528,11 @@ void shaolins_state::shaolins(machine_config &config) // sound hardware SPEAKER(config, "mono").front_center(); - SN76489A(config, "sn1", MASTER_CLOCK / 12).add_route(ALL_OUTPUTS, "mono", 1.0); // verified on PCB - - SN76489A(config, "sn2", MASTER_CLOCK / 6).add_route(ALL_OUTPUTS, "mono", 1.0); // verified on PCB + // also seen with SN76489 instead of SN76489A on a bootleg board + SN76489A(config, "sn1", 18.432_MHz_XTAL / 12).add_route(ALL_OUTPUTS, "mono", 1.0); // verified on PCB + SN76489A(config, "sn2", 18.432_MHz_XTAL / 6).add_route(ALL_OUTPUTS, "mono", 1.0); // verified on PCB } -#if 0 // a bootleg board was found with downgraded sound hardware, but is otherwise the same -void shaolins_state::shaolinb(machine_config &config) -{ - shaolins(config); - - SN76489(config.replace(), "sn1", MASTER_CLOCK / 12).add_route(ALL_OUTPUTS, "mono", 1.0); // only type verified on PCB - - SN76489(config.replace(), "sn2", MASTER_CLOCK / 6).add_route(ALL_OUTPUTS, "mono", 1.0); -} -#endif /*************************************************************************** diff --git a/src/mame/konami/twin16.cpp b/src/mame/konami/twin16.cpp index 7d65f2fb35297..aa9b89457812a 100644 --- a/src/mame/konami/twin16.cpp +++ b/src/mame/konami/twin16.cpp @@ -58,8 +58,6 @@ Known Issues: #include "speaker.h" - - int twin16_state::spriteram_process_enable() { return (m_CPUA_register & 0x40) == 0; @@ -133,6 +131,7 @@ void fround_state::fround_CPU_register_w(offs_t offset, uint16_t data, uint16_t */ uint16_t old = m_CPUA_register; COMBINE_DATA(&m_CPUA_register); + if (m_CPUA_register != old) { if ((old & 0x08) == 0 && (m_CPUA_register & 0x08)) @@ -171,7 +170,7 @@ void twin16_state::sound_map(address_map &map) map(0xd000, 0xd000).w(m_upd7759, FUNC(upd7759_device::port_w)); map(0xe000, 0xe000).w(FUNC(twin16_state::upd_start_w)); map(0xf000, 0xf000).r(FUNC(twin16_state::upd_busy_r)); // miaj writes 0 to it - } +} void twin16_state::main_map(address_map &map) { diff --git a/src/mame/korg/korgds8.cpp b/src/mame/korg/korgds8.cpp index e1d7319f77414..412c259fe5e3c 100644 --- a/src/mame/korg/korgds8.cpp +++ b/src/mame/korg/korgds8.cpp @@ -267,5 +267,5 @@ ROM_END } // anonymous namespace -SYST(1986, ds8, 0, 0, ds8, ds8, korg_ds8_state, empty_init, "Korg", "DS-8 Digital Synthesizer", MACHINE_IS_SKELETON) -SYST(1987, korg707, 0, 0, korg707, ds8, korg_ds8_state, empty_init, "Korg", "707 Performing Synthesizer", MACHINE_IS_SKELETON) +SYST(1986, ds8, 0, 0, ds8, ds8, korg_ds8_state, empty_init, "Korg", "DS-8 Digital Synthesizer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1987, korg707, 0, 0, korg707, ds8, korg_ds8_state, empty_init, "Korg", "707 Performing Synthesizer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/korg/korgdss1.cpp b/src/mame/korg/korgdss1.cpp index 4ea0a56635e08..ba50cdb28271d 100644 --- a/src/mame/korg/korgdss1.cpp +++ b/src/mame/korg/korgdss1.cpp @@ -581,5 +581,5 @@ ROM_END } // anonymous namespace -SYST(1986, dss1, 0, 0, dss1, dss1, korg_dss1_state, empty_init, "Korg", "DSS-1 Digital Sampling Synthesizer", MACHINE_IS_SKELETON) -SYST(1987, dssmsrk, dss1, 0, dssmsrk, dss1, korg_dssmsrk_state, empty_init, "Korg / Sound Logic", "DSS-1 Digital Sampling Synthesizer (Memory/SCSI Retrofit)", MACHINE_IS_SKELETON) +SYST(1986, dss1, 0, 0, dss1, dss1, korg_dss1_state, empty_init, "Korg", "DSS-1 Digital Sampling Synthesizer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1987, dssmsrk, dss1, 0, dssmsrk, dss1, korg_dssmsrk_state, empty_init, "Korg / Sound Logic", "DSS-1 Digital Sampling Synthesizer (Memory/SCSI Retrofit)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/korg/korgdvp1.cpp b/src/mame/korg/korgdvp1.cpp index 83a18aa0496e9..27bff6450d62a 100644 --- a/src/mame/korg/korgdvp1.cpp +++ b/src/mame/korg/korgdvp1.cpp @@ -116,4 +116,4 @@ ROM_END } // anonymous namespace -SYST(1985, dvp1, 0, 0, dvp1, dvp1, korgdvp1_state, empty_init, "Korg", "DVP-1 Digital Voice Processor", MACHINE_IS_SKELETON) +SYST(1985, dvp1, 0, 0, dvp1, dvp1, korgdvp1_state, empty_init, "Korg", "DVP-1 Digital Voice Processor", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/korg/korgdw8k.cpp b/src/mame/korg/korgdw8k.cpp index dcf860a896b5c..d2ea2573a1c74 100644 --- a/src/mame/korg/korgdw8k.cpp +++ b/src/mame/korg/korgdw8k.cpp @@ -167,6 +167,6 @@ ROM_END } // anonymous namespace -SYST(1985, dw8000, 0, 0, dw8000, dw8000, korgdw8k_state, empty_init, "Korg", "DW-8000 Programmable Digital Waveform Synthesizer", MACHINE_IS_SKELETON) -SYST(1985, dw8000ex, dw8000, 0, dw8000ex, dw8000, korgdw8k_state, empty_init, "Korg / Musitronics", "DW-8000-EX Programmable Digital Waveform Synthesizer", MACHINE_IS_SKELETON) -SYST(1985, ex8000, dw8000, 0, dw8000, dw8000, korgdw8k_state, empty_init, "Korg", "EX-8000 Programmable Polyphonic Synthe Module", MACHINE_IS_SKELETON) +SYST(1985, dw8000, 0, 0, dw8000, dw8000, korgdw8k_state, empty_init, "Korg", "DW-8000 Programmable Digital Waveform Synthesizer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1985, dw8000ex, dw8000, 0, dw8000ex, dw8000, korgdw8k_state, empty_init, "Korg / Musitronics", "DW-8000-EX Programmable Digital Waveform Synthesizer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1985, ex8000, dw8000, 0, dw8000, dw8000, korgdw8k_state, empty_init, "Korg", "EX-8000 Programmable Polyphonic Synthe Module", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/korg/korgws.cpp b/src/mame/korg/korgws.cpp index 970852f0caad3..4436c97e8d4d1 100644 --- a/src/mame/korg/korgws.cpp +++ b/src/mame/korg/korgws.cpp @@ -106,6 +106,6 @@ ROM_END } // anonymous namespace -SYST(1992, korgwsex, 0, 0, korgws, korgws, korgws_state, empty_init, "Korg", "WaveStation EX", MACHINE_IS_SKELETON) -SYST(1991, korgwsad, 0, 0, korgws, korgws, korgws_state, empty_init, "Korg", "WaveStation A/D", MACHINE_IS_SKELETON) -SYST(1992, korgwssr, 0, 0, korgwssr, korgws, korgws_state, empty_init, "Korg", "WaveStation SR", MACHINE_IS_SKELETON) +SYST(1992, korgwsex, 0, 0, korgws, korgws, korgws_state, empty_init, "Korg", "WaveStation EX", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1991, korgwsad, 0, 0, korgws, korgws, korgws_state, empty_init, "Korg", "WaveStation A/D", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1992, korgwssr, 0, 0, korgwssr, korgws, korgws_state, empty_init, "Korg", "WaveStation SR", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/korg/korgz3.cpp b/src/mame/korg/korgz3.cpp index 371ab291b2a78..812e1ade33d96 100644 --- a/src/mame/korg/korgz3.cpp +++ b/src/mame/korg/korgz3.cpp @@ -148,4 +148,4 @@ ROM_END } // anonymous namespace -SYST(1988, korgz3, 0, 0, korgz3, korgz3, korgz3_state, empty_init, "Korg", "Z3 Guitar Synthesizer", MACHINE_IS_SKELETON) +SYST(1988, korgz3, 0, 0, korgz3, korgz3, korgz3_state, empty_init, "Korg", "Z3 Guitar Synthesizer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/korg/microkorg.cpp b/src/mame/korg/microkorg.cpp index d28ceeb3e82d7..e8b7791de7ef3 100644 --- a/src/mame/korg/microkorg.cpp +++ b/src/mame/korg/microkorg.cpp @@ -64,4 +64,4 @@ ROM_END } // anonymous namespace -SYST(2002, microkorg, 0, 0, microkorg, microkorg, microkorg_state, empty_init, "Korg", "microKORG Synthesizer/Vocoder", MACHINE_IS_SKELETON) +SYST(2002, microkorg, 0, 0, microkorg, microkorg, microkorg_state, empty_init, "Korg", "microKORG Synthesizer/Vocoder", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/korg/poly61.cpp b/src/mame/korg/poly61.cpp index 1e86049cb2f0b..492446f644d84 100644 --- a/src/mame/korg/poly61.cpp +++ b/src/mame/korg/poly61.cpp @@ -125,4 +125,4 @@ ROM_END } // anonymous namespace -SYST(1982, poly61, 0, 0, poly61, poly61, poly61_state, empty_init, "Korg", "Poly-61 Programmable Polyphonic Synthesizer", MACHINE_IS_SKELETON) +SYST(1982, poly61, 0, 0, poly61, poly61, poly61_state, empty_init, "Korg", "Poly-61 Programmable Polyphonic Synthesizer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/korg/poly800.cpp b/src/mame/korg/poly800.cpp index 8e3a9200b6145..26f0df556573c 100644 --- a/src/mame/korg/poly800.cpp +++ b/src/mame/korg/poly800.cpp @@ -149,6 +149,6 @@ ROM_END } // anonymous namespace -SYST(1984, poly800, 0, 0, poly800, poly800, poly800_state, empty_init, "Korg", "Poly-800 Programmable Polyphonic Synthesizer", MACHINE_IS_SKELETON) -SYST(1984, poly800mdk, 0, 0, poly800mdk, poly800, poly800_state, empty_init, "Korg", "Poly-800 Programmable Polyphonic Synthesizer (MIDI Dump Kit)", MACHINE_IS_SKELETON) -SYST(1986, poly800ii, 0, 0, poly800ii, poly800, poly800ii_state, empty_init, "Korg", "Poly-800II Programmable Polyphonic Synthesizer", MACHINE_IS_SKELETON) +SYST(1984, poly800, 0, 0, poly800, poly800, poly800_state, empty_init, "Korg", "Poly-800 Programmable Polyphonic Synthesizer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1984, poly800mdk, 0, 0, poly800mdk, poly800, poly800_state, empty_init, "Korg", "Poly-800 Programmable Polyphonic Synthesizer (MIDI Dump Kit)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1986, poly800ii, 0, 0, poly800ii, poly800, poly800ii_state, empty_init, "Korg", "Poly-800II Programmable Polyphonic Synthesizer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/korg/polysix.cpp b/src/mame/korg/polysix.cpp index 6ecfde0bb5a1d..bb2475eb4ad63 100644 --- a/src/mame/korg/polysix.cpp +++ b/src/mame/korg/polysix.cpp @@ -988,4 +988,4 @@ ROM_START(polysix) ROM_END -SYST(1980, polysix, 0, 0, polysix, polysix, polysix_state, empty_init, "Korg", "Polysix Programmable Polyphonic Synthesizer", MACHINE_IS_SKELETON) +SYST(1980, polysix, 0, 0, polysix, polysix, polysix_state, empty_init, "Korg", "Polysix Programmable Polyphonic Synthesizer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/layout/3bagflvt.lay b/src/mame/layout/3bagfull.lay similarity index 100% rename from src/mame/layout/3bagflvt.lay rename to src/mame/layout/3bagfull.lay diff --git a/src/mame/layout/3bagflnz.lay b/src/mame/layout/3bagfullnz.lay similarity index 100% rename from src/mame/layout/3bagflnz.lay rename to src/mame/layout/3bagfullnz.lay diff --git a/src/mame/layout/beaminv.lay b/src/mame/layout/beaminv.lay index 9e94279908d5a..6958409e4b17c 100644 --- a/src/mame/layout/beaminv.lay +++ b/src/mame/layout/beaminv.lay @@ -1,24 +1,21 @@ - - + + - - + + - - - - - - + + diff --git a/src/mame/layout/blackpntu.lay b/src/mame/layout/blackpntu.lay new file mode 100644 index 0000000000000..5a7e027ffde9f --- /dev/null +++ b/src/mame/layout/blackpntu.lay @@ -0,0 +1,271 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/mame/layout/blockch.lay b/src/mame/layout/blockch.lay index acc0f510e66e7..9daf0b37a5190 100644 --- a/src/mame/layout/blockch.lay +++ b/src/mame/layout/blockch.lay @@ -5,7 +5,7 @@ authors:hap --> - + diff --git a/src/mame/layout/bpartyb.lay b/src/mame/layout/bpartyb.lay new file mode 100644 index 0000000000000..39656c209aefa --- /dev/null +++ b/src/mame/layout/bpartyb.lay @@ -0,0 +1,876 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/mame/layout/ctainv.lay b/src/mame/layout/ctainv.lay new file mode 100644 index 0000000000000..9daf0b37a5190 --- /dev/null +++ b/src/mame/layout/ctainv.lay @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + diff --git a/src/mame/layout/cxg_junior.lay b/src/mame/layout/cxg_junior.lay new file mode 100644 index 0000000000000..929812b2e1539 --- /dev/null +++ b/src/mame/layout/cxg_junior.lay @@ -0,0 +1,480 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/mame/layout/dolphntru.lay b/src/mame/layout/dolphntru.lay new file mode 100644 index 0000000000000..0daae14e78991 --- /dev/null +++ b/src/mame/layout/dolphntru.lay @@ -0,0 +1,365 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/mame/layout/dolphntrua.lay b/src/mame/layout/dolphntrua.lay new file mode 100644 index 0000000000000..8c03ef7cbf4f5 --- /dev/null +++ b/src/mame/layout/dolphntrua.lay @@ -0,0 +1,365 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/mame/layout/geisha.lay b/src/mame/layout/geishanz.lay similarity index 100% rename from src/mame/layout/geisha.lay rename to src/mame/layout/geishanz.lay diff --git a/src/mame/layout/goldpyrb.lay b/src/mame/layout/goldpyr.lay similarity index 100% rename from src/mame/layout/goldpyrb.lay rename to src/mame/layout/goldpyr.lay diff --git a/src/mame/layout/hh_ht11xx_single.lay b/src/mame/layout/hh_e0c6x_lcd.lay similarity index 100% rename from src/mame/layout/hh_ht11xx_single.lay rename to src/mame/layout/hh_e0c6x_lcd.lay diff --git a/src/mame/layout/hh_ht11xx_lcd.lay b/src/mame/layout/hh_ht11xx_lcd.lay new file mode 100644 index 0000000000000..1e847d9b61173 --- /dev/null +++ b/src/mame/layout/hh_ht11xx_lcd.lay @@ -0,0 +1,15 @@ + + + + + + + + + + + + diff --git a/src/mame/layout/kgbird.lay b/src/mame/layout/kgbirdnz.lay similarity index 100% rename from src/mame/layout/kgbird.lay rename to src/mame/layout/kgbirdnz.lay diff --git a/src/mame/layout/kingsran.lay b/src/mame/layout/kingsran.lay new file mode 100644 index 0000000000000..771453ad30798 --- /dev/null +++ b/src/mame/layout/kingsran.lay @@ -0,0 +1,447 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/mame/layout/marmagicu.lay b/src/mame/layout/marmagicua.lay similarity index 100% rename from src/mame/layout/marmagicu.lay rename to src/mame/layout/marmagicua.lay diff --git a/src/mame/layout/moog_source.lay b/src/mame/layout/moog_source.lay new file mode 100644 index 0000000000000..26a33ffbc9280 --- /dev/null +++ b/src/mame/layout/moog_source.lay @@ -0,0 +1,1178 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/mame/layout/novag_accord.lay b/src/mame/layout/novag_accord.lay index 5b5998b9ffd0d..8c2512b66d651 100644 --- a/src/mame/layout/novag_accord.lay +++ b/src/mame/layout/novag_accord.lay @@ -20,7 +20,7 @@ authors:hap - + @@ -52,7 +52,7 @@ authors:hap - + @@ -71,7 +71,7 @@ authors:hap - + diff --git a/src/mame/layout/novag_cnchess.lay b/src/mame/layout/novag_cnchess.lay new file mode 100644 index 0000000000000..125b5e6937fc5 --- /dev/null +++ b/src/mame/layout/novag_cnchess.lay @@ -0,0 +1,939 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + ]]> + + + + + + + + + + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/mame/layout/novag_mentor16.lay b/src/mame/layout/novag_mentor16.lay index cb3889d171627..aea588159e7f7 100644 --- a/src/mame/layout/novag_mentor16.lay +++ b/src/mame/layout/novag_mentor16.lay @@ -389,7 +389,7 @@ authors:hap - + diff --git a/src/mame/layout/pacominv.lay b/src/mame/layout/pacominv.lay new file mode 100644 index 0000000000000..a35fda2020b0c --- /dev/null +++ b/src/mame/layout/pacominv.lay @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/mame/layout/pengpaycea.lay b/src/mame/layout/pengpaycea.lay new file mode 100644 index 0000000000000..14fd933fe9ffb --- /dev/null +++ b/src/mame/layout/pengpaycea.lay @@ -0,0 +1,895 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/mame/layout/pengpaydx.lay b/src/mame/layout/pengpaydx.lay new file mode 100644 index 0000000000000..dce4be6392900 --- /dev/null +++ b/src/mame/layout/pengpaydx.lay @@ -0,0 +1,760 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/mame/layout/tama.lay b/src/mame/layout/tama.lay deleted file mode 100644 index 403676fee81b5..0000000000000 --- a/src/mame/layout/tama.lay +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/mame/layout/tascr30.lay b/src/mame/layout/tascr30.lay index df2f57cce2d80..836130472fa77 100644 --- a/src/mame/layout/tascr30.lay +++ b/src/mame/layout/tascr30.lay @@ -520,7 +520,7 @@ authors:Sandro Ronco, hap - + diff --git a/src/mame/layout/vgmplay.lay b/src/mame/layout/vgmplay.lay index 2317397478d5c..0101a2375cd66 100644 --- a/src/mame/layout/vgmplay.lay +++ b/src/mame/layout/vgmplay.lay @@ -97,31 +97,79 @@ license:CC0-1.0 - - - - + - - - + + + + + + + + + + + + ]]> + - - - + + + + + + + + + + + ]]> + - - - + + + + + + + + + + + ]]> + - - - + + + + + + + + + + + ]]> + - - - + + + + + + + + + + + ]]> + @@ -218,23 +266,13 @@ license:CC0-1.0 - - - - - - - - - - - - - - - + + + + + diff --git a/src/mame/layout/warrior.lay b/src/mame/layout/warrior.lay index b4fb790ec39e2..bcfbe76391cb1 100644 --- a/src/mame/layout/warrior.lay +++ b/src/mame/layout/warrior.lay @@ -6,23 +6,23 @@ license:CC0-1.0 - + - + - + - + - + @@ -32,13 +32,13 @@ license:CC0-1.0 - + - + @@ -46,24 +46,20 @@ license:CC0-1.0 - + + + + - - + - - + - - + - - - - diff --git a/src/mame/layout/wtiger.lay b/src/mame/layout/wtigerc.lay similarity index 100% rename from src/mame/layout/wtiger.lay rename to src/mame/layout/wtigerc.lay diff --git a/src/mame/leapfrog/iquest.cpp b/src/mame/leapfrog/iquest.cpp index 55395a0bc2778..9a999a74ab497 100644 --- a/src/mame/leapfrog/iquest.cpp +++ b/src/mame/leapfrog/iquest.cpp @@ -751,21 +751,21 @@ ROM_END // year, name, parent, compat, machine, input, class, init, company, fullname, flags // it is unknown if the versions of IQuest without 4.0 on the case have different system ROM -CONS( 2004, iquest, 0, 0, leapfrog_iquest, leapfrog_iquest, leapfrog_iquest_state, empty_init, "LeapFrog", "IQuest 4.0 (US)", MACHINE_IS_SKELETON ) +CONS( 2004, iquest, 0, 0, leapfrog_iquest, leapfrog_iquest, leapfrog_iquest_state, empty_init, "LeapFrog", "IQuest 4.0 (US)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) -CONS( 2004, turboex, 0, 0, leapfrog_turboex, leapfrog_iquest, leapfrog_turboextreme_state, empty_init, "LeapFrog", "Turbo Extreme (US)", MACHINE_IS_SKELETON ) +CONS( 2004, turboex, 0, 0, leapfrog_turboex, leapfrog_iquest, leapfrog_turboextreme_state, empty_init, "LeapFrog", "Turbo Extreme (US)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // from a silver unit with orange lettering (there are different case styles, it is unknown if the software changed) -CONS( 2002, ttwistm, 0, 0, leapfrog_turbotwistmath, leapfrog_iquest, leapfrog_turbotwistmath_state, empty_init, "LeapFrog", "Turbo Twist Math (US)", MACHINE_IS_SKELETON ) +CONS( 2002, ttwistm, 0, 0, leapfrog_turbotwistmath, leapfrog_iquest, leapfrog_turbotwistmath_state, empty_init, "LeapFrog", "Turbo Twist Math (US)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // Brain Quest / Fact Blaster are compatible with the same cartridges -CONS( 200?, ttwistfb, 0, 0, leapfrog_turbotwistbrainquest, leapfrog_iquest, leapfrog_turbotwistbrainquest_state, empty_init, "LeapFrog", "Turbo Twist Fact Blaster (US)", MACHINE_IS_SKELETON ) -CONS( 2002, ttwistbq, 0, 0, leapfrog_turbotwistbrainquest, leapfrog_iquest, leapfrog_turbotwistbrainquest_state, empty_init, "LeapFrog", "Turbo Twist Brain Quest (US)", MACHINE_IS_SKELETON ) +CONS( 200?, ttwistfb, 0, 0, leapfrog_turbotwistbrainquest, leapfrog_iquest, leapfrog_turbotwistbrainquest_state, empty_init, "LeapFrog", "Turbo Twist Fact Blaster (US)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 2002, ttwistbq, 0, 0, leapfrog_turbotwistbrainquest, leapfrog_iquest, leapfrog_turbotwistbrainquest_state, empty_init, "LeapFrog", "Turbo Twist Brain Quest (US)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // from a green unit with blue edges -CONS( 2000, ttwistsp, 0, 0, leapfrog_turbotwistspelling, leapfrog_iquest, leapfrog_turbotwistspelling_state, empty_init, "LeapFrog", "Turbo Twist Spelling (US)", MACHINE_IS_SKELETON ) +CONS( 2000, ttwistsp, 0, 0, leapfrog_turbotwistspelling, leapfrog_iquest, leapfrog_turbotwistspelling_state, empty_init, "LeapFrog", "Turbo Twist Spelling (US)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) -CONS( 2001, ttwistvc, 0, 0, leapfrog_turbotwistvocabulator, leapfrog_iquest, leapfrog_turbotwistvocabulator_state, empty_init, "LeapFrog", "Turbo Twist Vocabulator (US)", MACHINE_IS_SKELETON ) +CONS( 2001, ttwistvc, 0, 0, leapfrog_turbotwistvocabulator, leapfrog_iquest, leapfrog_turbotwistvocabulator_state, empty_init, "LeapFrog", "Turbo Twist Vocabulator (US)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // Undumped units diff --git a/src/mame/leapfrog/leappad.cpp b/src/mame/leapfrog/leappad.cpp index de34fb49c1828..b390b3dd32089 100644 --- a/src/mame/leapfrog/leappad.cpp +++ b/src/mame/leapfrog/leappad.cpp @@ -275,7 +275,7 @@ ROM_END // year, name, parent, compat, machine, input, class, init, company, fullname, flags -CONS( 2001, leappad, 0, 0, leapfrog_leappad, leapfrog_leappad, leapfrog_leappad_state, empty_init, "LeapFrog", "LeapPad", MACHINE_IS_SKELETON ) -CONS( 2002, mfleappad, 0, 0, leapfrog_mfleappad, leapfrog_leappad, leapfrog_leappad_state, empty_init, "LeapFrog", "My First LeapPad", MACHINE_IS_SKELETON ) -CONS( 2004, leappadmic, 0, 0, leapfrog_leappad, leapfrog_leappad, leapfrog_leappad_state, empty_init, "LeapFrog", "LeapPad Plus Microphone", MACHINE_IS_SKELETON ) // Compatible with regular LeapPad carts -CONS( 2005, ltleappad, 0, 0, leapfrog_ltleappad, leapfrog_leappad, leapfrog_leappad_state, empty_init, "LeapFrog", "Little Touch LeapPad", MACHINE_IS_SKELETON ) +CONS( 2001, leappad, 0, 0, leapfrog_leappad, leapfrog_leappad, leapfrog_leappad_state, empty_init, "LeapFrog", "LeapPad", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 2002, mfleappad, 0, 0, leapfrog_mfleappad, leapfrog_leappad, leapfrog_leappad_state, empty_init, "LeapFrog", "My First LeapPad", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 2004, leappadmic, 0, 0, leapfrog_leappad, leapfrog_leappad, leapfrog_leappad_state, empty_init, "LeapFrog", "LeapPad Plus Microphone", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // Compatible with regular LeapPad carts +CONS( 2005, ltleappad, 0, 0, leapfrog_ltleappad, leapfrog_leappad, leapfrog_leappad_state, empty_init, "LeapFrog", "Little Touch LeapPad", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/leapfrog/leapster.cpp b/src/mame/leapfrog/leapster.cpp index e8e42838290a2..e7dc5f65ba05e 100644 --- a/src/mame/leapfrog/leapster.cpp +++ b/src/mame/leapfrog/leapster.cpp @@ -592,7 +592,7 @@ void leapster_state::init_leapster() } // anonymous namespace -CONS( 2003, leapster, 0, 0, leapster, leapster, leapster_state, init_leapster, "LeapFrog", "Leapster", MACHINE_IS_SKELETON ) -CONS( 2005, leapstertv, leapster, 0, leapster, leapster, leapster_state, init_leapster, "LeapFrog", "Leapster TV", MACHINE_IS_SKELETON ) -CONS( 2005, leapsterlmx, leapster, 0, leapster, leapster, leapster_state, init_leapster, "LeapFrog", "Leapster L-MAX", MACHINE_IS_SKELETON ) -CONS( 2009, leapster2, leapster, 0, leapster, leapster, leapster_state, init_leapster, "LeapFrog", "Leapster 2", MACHINE_IS_SKELETON ) +CONS( 2003, leapster, 0, 0, leapster, leapster, leapster_state, init_leapster, "LeapFrog", "Leapster", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 2005, leapstertv, leapster, 0, leapster, leapster, leapster_state, init_leapster, "LeapFrog", "Leapster TV", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 2005, leapsterlmx, leapster, 0, leapster, leapster, leapster_state, init_leapster, "LeapFrog", "Leapster L-MAX", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 2009, leapster2, leapster, 0, leapster, leapster, leapster_state, init_leapster, "LeapFrog", "Leapster 2", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/leapfrog/leapster_explorer.cpp b/src/mame/leapfrog/leapster_explorer.cpp index fe47e27505ef7..ab4fd6f484c5f 100644 --- a/src/mame/leapfrog/leapster_explorer.cpp +++ b/src/mame/leapfrog/leapster_explorer.cpp @@ -110,4 +110,4 @@ ROM_END } // anonymous namespace -CONS( 2010, leapexpr, 0, 0, leapfrog_leapster_explorer, leapfrog_leapster_explorer, leapfrog_leapster_explorer_state, empty_init, "LeapFrog", "Leapster Explorer", MACHINE_IS_SKELETON ) +CONS( 2010, leapexpr, 0, 0, leapfrog_leapster_explorer, leapfrog_leapster_explorer, leapfrog_leapster_explorer_state, empty_init, "LeapFrog", "Leapster Explorer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/learsiegler/adm11.cpp b/src/mame/learsiegler/adm11.cpp index 7541b0deb4a67..21ed319b1cc45 100644 --- a/src/mame/learsiegler/adm11.cpp +++ b/src/mame/learsiegler/adm11.cpp @@ -199,4 +199,4 @@ ROM_END } // anonymous namespace -COMP(1984, adm12, 0, 0, adm12, adm12, adm11_state, empty_init, "Lear Siegler", "ADM 12 Video Display Terminal", MACHINE_IS_SKELETON) +COMP(1984, adm12, 0, 0, adm12, adm12, adm11_state, empty_init, "Lear Siegler", "ADM 12 Video Display Terminal", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/learsiegler/adm23.cpp b/src/mame/learsiegler/adm23.cpp index 4a5cdfe5c8bc7..f6b4345580569 100644 --- a/src/mame/learsiegler/adm23.cpp +++ b/src/mame/learsiegler/adm23.cpp @@ -88,4 +88,4 @@ ROM_END } // anonymous namespace -COMP(1982, adm23, 0, 0, adm23, adm23, adm23_state, empty_init, "Lear Siegler", "ADM 23 Smart Terminal", MACHINE_IS_SKELETON) +COMP(1982, adm23, 0, 0, adm23, adm23, adm23_state, empty_init, "Lear Siegler", "ADM 23 Smart Terminal", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/learsiegler/adm31.cpp b/src/mame/learsiegler/adm31.cpp index a311865924793..cb0af4f25b82c 100644 --- a/src/mame/learsiegler/adm31.cpp +++ b/src/mame/learsiegler/adm31.cpp @@ -515,4 +515,4 @@ ROM_END } // anonymous namespace -COMP(1978, adm31, 0, 0, adm31, adm31, adm31_state, empty_init, "Lear Siegler", "ADM-31 Data Display Terminal", MACHINE_IS_SKELETON) +COMP(1978, adm31, 0, 0, adm31, adm31, adm31_state, empty_init, "Lear Siegler", "ADM-31 Data Display Terminal", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/learsiegler/adm36.cpp b/src/mame/learsiegler/adm36.cpp index 70a11d206ab6e..53a1a771ae024 100644 --- a/src/mame/learsiegler/adm36.cpp +++ b/src/mame/learsiegler/adm36.cpp @@ -202,4 +202,4 @@ ROM_END } // anonymous namespace -COMP(1981, adm36, 0, 0, adm36, adm36, adm36_state, empty_init, "Lear Siegler", "ADM 36 Video Display Terminal", MACHINE_IS_SKELETON) +COMP(1981, adm36, 0, 0, adm36, adm36, adm36_state, empty_init, "Lear Siegler", "ADM 36 Video Display Terminal", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/liberty/freedom120.cpp b/src/mame/liberty/freedom120.cpp index 3e4e580335bf0..9c3c2cdfd2319 100644 --- a/src/mame/liberty/freedom120.cpp +++ b/src/mame/liberty/freedom120.cpp @@ -151,4 +151,4 @@ ROM_END //************************************************************************** // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 1993, free120, 0, 0, freedom120, 0, freedom120_state, empty_init, "Liberty Electronics", "Freedom 120/Aspect 100", MACHINE_IS_SKELETON ) +COMP( 1993, free120, 0, 0, freedom120, 0, freedom120_state, empty_init, "Liberty Electronics", "Freedom 120/Aspect 100", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/luxor/abc80x.h b/src/mame/luxor/abc80x.h index 6c1de58bf92fc..cb6ddbe8aa38d 100644 --- a/src/mame/luxor/abc80x.h +++ b/src/mame/luxor/abc80x.h @@ -63,9 +63,9 @@ #define Z80SIO_TAG "z80sio" #define Z80DART_TAG "z80dart" #define DISCRETE_TAG "discrete" -#define CASSETTE_TAG "cassette" -#define RS232_A_TAG "rs232a" -#define RS232_B_TAG "rs232b" +#define CASSETTE_TAG "cas" +#define RS232_A_TAG "pr" +#define RS232_B_TAG "v24" #define ABC_KEYBOARD_PORT_TAG "kb" #define TIMER_CTC_TAG "timer_ctc" #define TIMER_CASSETTE_TAG "timer_cass" diff --git a/src/mame/mame.lst b/src/mame/mame.lst index e9dbdaa8cf574..6e096f5fd7664 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -58,241 +58,259 @@ acrnsys5 // 1982 Acorn System 5 acrnsys1 // 1979 Acorn System 1 (Microcomputer Kit) @source:acorn/aristmk5.cpp -aristmk5 // (c) 1995, USA platform set chips -adonis // (c) 1998 -adonisa // (c) 1998 -adonisu // (c) 2001 -adonisce // (c) 1999 -alchemst // (c) 2002 -baddog // (c) 1996 -blackpnt // (c) 1996 -bootsctn // (c) 1998 -bootsctnu // (c) 1999 -bootsctnua // (c) 1999 -bootsctnub // (c) 1999 -bparty // (c) 2000 -bpartya // (c) 2000 -bumblbug // (c) 1996 -bumblbugq // (c) 1996 -bumblbugu // (c) 1997 -bumblbugua // (c) 1997 -buttdeli // (c) 1995 -canrose // (c) 1996 -cashcat // (c) 1998 -cashcata // (c) 1997 -cashcatnz // (c) 1999 -cashcham // (c) 1997 -cashchamu // (c) 1996 -cashchama // (c) 1998 -cashchamnz // (c) 1998 -cashcra5 // (c) 1997 -cashcra5a // (c) 1997 -chariotc // (c) 1998 -chariotcpe // (c) 1998 -checkma5 // (c) 2001 -chickna5 // (c) 1996 -chickna5q // (c) 1998 -chickna5u // (c) 1998 -chickna5ua // (c) 1998 -chickna5v // (c) 1996 -coralrc2 // (c) 1998 -cuckoo // (c) 1998 -cuckoou // (c) 2000 -dstbloom // (c) 1995 -dstblooma // (c) 1995 -diamdest // (c) 2000 -diamdove // (c) 1999 -dmdfever // (c) 1996 -dimtouch // (c) 1997 -dolphntr // (c) 1996 -dolphntra // (c) 1996 -dolphntrb // (c) 1996 -dolphntrce // (c) 1999 -dolphntrcea // (c) 1999 -dolphntrceb // (c) 1999 -dolphntrq // (c) 2000 -dolphntru // (c) 1996 -dreamwv // (c) 1997 -drgneye // (c) 1997 -dynajack // (c) 2000 -dynajacku // (c) 2001 -eldorda5 // (c) 1998 -eforsta5 // (c) 1995 -eforsta5ce // (c) 2000 -eforsta5cea // (c) 2000 -eforsta5u // (c) 1997 -eforsta5ua // (c) 1997 -fastfort // (c) 1998 -fortellr // (c) 2000 -fortfvr // (c) 2001 -gambler // (c) 1998 -geisha // (c) 2001 -genmagi // (c) 1999 -glizrdce // (c) 2001 -gnomeatw // (c) 1998 -goldpyr // (c) 1997 -goldpyra // (c) 1997 -goldpyrb // (c) 1998 -goldenra // (c) 2000 -honeypot // (c) 2000 -hnktonku // (c) 2001 -hrtthrob // (c) 2006 -incasun // (c) 1999 -incasunsp // (c) 1999 -incasunnz // (c) 2000 -incasunv // (c) 1999 -incasunu // (c) 2000 -incasunua // (c) 2000 -indrema5 // (c) 1998 -indrema5q // (c) 2000 -indrema5v // (c) 1998 -jumpbean // (c) 1996 -jumpjoey // (c) 1996 -jungjuic // (c) 1996 -kgalah // (c) 1995 -kgalaha // (c) 1995 -kgalahce // (c) 2001 -kgbirda5 // (c) 1994 -koalamnt // (c) 2001 -kookabuk // (c) 1998 -kyhatonu // (c) 2000 -locoloot // (c) 1997 -locoloota // (c) 1997 -locolootnz // (c) 1998 -locolootq // (c) 1997 -locolootu // (c) 2001 -lonewolf // (c) 1997 -luckyclo // (c) 1995 -mgarden // (c) 1997 -magimask // (c) 2000 -magimaska // (c) 2000 -magimaskb // (c) 2000 -magtcha5 // (c) 1997 -magtcha5a // (c) 1997 -mammothm // (c) 1997 -marmagic // (c) 2000 -marmagicu // (c) 2000 -marmagicua // (c) 2000 -minemine // (c) 1996 -minemineu // (c) 1996 -minemineua // (c) 1996 -monmouse // (c) 1997 -monmousea // (c) 1997 -montree // (c) 2001 -mountmon // (c) 1996 -mountmona // (c) 1996 -mountmonce // (c) 2001 -mountmonu // (c) 2001 -mountmonua // (c) 2001 -multidrw // (c) 2000 -mystgard // (c) 1996 -one4all // (c) 2001 -orchidms // (c) 1999 -orchidmsa // (c) 1999 -orchidmsnz // (c) 2000 -oscara5 // (c) 1996 -oscara5a // (c) 1996 -pantmag // (c) 1999 -pantmaga // (c) 1999 -partygrs // (c) 2001 -partygrsa // (c) 2001 -partygrsb // (c) 2001 -peaflut // (c) 2000 -peafluta // (c) 2000 -pengpay // (c) 1997 -pengpaya // (c) 1996 -pengpayb // (c) 1997 -pengpayc // (c) 1995 -pengpayce // (c) 2001 -pengpayd // (c) 1995 -pengpayu // (c) 1997 -pengpayua // (c) 1997 -pengpayub // (c) 1997 -pengpuck // (c) 2001 -penpir // (c) 1998 -penpira // (c) 1998 -penpir2 // (c) 1998 -petshop // (c) 1998 -petshopa // (c) 1998 -phantpay // (c) 1995 -phantpyc // (c) 2000 -przfight // (c) 1996 -qcash // (c) 1998 -qnile // (c) 1997 -qnilea // (c) 1997 -qnileb // (c) 1997 -qnilebr // (c) 2002 -qnilec // (c) 1997 -qnilece // (c) 2001 -qnilecea // (c) 2001 -qnileceb // (c) 2001 -qniled // (c) 1999 -qnilefl // (c) 2001 -qnilemax // (c) 1999 -qnilenl // (c) 2000 -qnilenz // (c) 1998 -qnilepe // (c) 1997 -qnileq // (c) 1999 -qnileu // (c) 1997 -qnileua // (c) 1997 -qtbird // (c) 1994 -rainwarr // (c) 2001 -rainwarrce // (c) 2001 -reelpwr // (c) 1996 -reelrock // (c) 1998 -reelrockq // (c) 2000 -retrsam // (c) 1997 -retrsama // (c) 1997 -retrsamb // (c) 1997 -rushrst // (c) 1997 -sbuk2 // (c) 1999 -sbuk2a // (c) 1995 -sbuk3 // (c) 1998 -sbuk3a // (c) 1998 -sldeluxe // (c) 2001 -slvrwolf // (c) 1998 -snowcat // (c) 1996 -sumospin // (c) 1997 -swhr2 // (c) 1995 -swhr2a // (c) 1995 -swhr2q // (c) 1996 -swhr2u // (c) 1998 -swhr2v // (c) 1995 -thndh // (c) 1996 -thndha // (c) 1996 -thor // (c) 1996 -topbana // (c) 1997 -toutango // (c) 1998 -toutangonl // (c) 1999 -trstrove // (c) 2000 -tritreat // (c) 2002 -trojhors // (c) 2001 -trpdlght // (c) 1996 -trpdlghtu // (c) 1997 -unicornd // (c) 1998 -unicornda // (c) 1998 -unicorndnz // (c) 2000 -unicorndu // (c) 2001 -venicea5 // (c) 2002 -wafricau // (c) 2001 -wamazon // (c) 1996 -wamazona // (c) 1996 -wamazonv // (c) 1996 -wikwin // (c) 1997 -wildbill // (c) 1996 -wldangel // (c) 1996 -wcougar // (c) 1996 -wcougaru // (c) 1997 -wcougarua // (c) 1997 -wcougarub // (c) 1997 -wcougaruc // (c) 1997 -wcoyote // (c) 2001 -wizways // (c) 1996 -wnpost // (c) 1997 -wthing // (c) 1999 -wthinga // (c) 2000 -wtiger // (c) 1999 -yukongl5 // (c) 2000 +adonis // +adonisa // +adonisce // +adonisu // +alchemst // +aristmk5 // USA platform set chips +baddog // +blackpnt // +blackpntu // +bootsctn // +bootsctnu // +bootsctnua // +bootsctnub // +bootsctnuc // +bootsctnud // +bparty // +bpartya // +bpartyb // +bumblbug // +bumblbugq // +bumblbugu // +bumblbugua // +bumblbugub // +buttdeli // +canrose // +cashcat // +cashcata // +cashcatnz // +cashcham // +cashchama // +cashchamnz // +cashchamu // +cashcra5 // +cashcra5a // +chariotc // +chariotcpe // +chariotcu // +checkma5 // +chickna5 // +chickna5q // +chickna5u // +chickna5ua // +chickna5v // +coralrc2 // +cuckoo // +cuckoou // +diamdest // +diamdove // +dimtouch // +dmdfever // +dolphntr // +dolphntra // +dolphntrb // +dolphntrce // +dolphntrcea // +dolphntrceb // +dolphntrq // +dolphntru // +dolphntrua // +dreamwv // +drgneye // +dstbloom // +dstblooma // +dynajack // +dynajacku // +eforsta5 // +eforsta5u // +eforsta5ua // +eforstce // +eforstcea // +eldorda5 // +fastfort // +fortellr // +fortfvr // +gamblra5 // +geisha // +geishanz // +genmagi // +glizrdce // +gnomeatw // +goldenra // +goldpyr // +goldpyru // +goldpyrua // +honeypot // +honktonk // +hrtthrob // +incasun // +incasunnz // +incasunsp // +incasunu // +incasunua // +incasunv // +indrema5 // +indrema5q // +indrema5v // +jkrpkra5 // +jumpbean // +jumpjoey // +jumpjoeyu // +jungjuic // +kgalah // +kgalaha // +kgalahce // +kgbirda5 // +kingsran // +koalamnt // +kookabuk // +kyhaton // +locoloot // +locoloota // +locolootnz // +locolootq // +locolootu // +lonewolf // +luckyclo // +magimask // +magimaska // +magimaskb // +magimaskc // +magtcha5 // +magtcha5a // +mammothm // +marmagic // +marmagicu // +marmagicua // +mgarden // +mgardena // +minemine // +minemineu // +minemineua // +minemineub // +monmouse // +monmousea // +montree // +mountmon // +mountmona // +mountmonce // +mountmonu // +mountmonua // +multidrw // +mystgard // +one4all // +orchidms // +orchidmsa // +orchidmsnz // +oscara5 // +oscara5a // +pantmag // +pantmaga // +partygrs // +partygrsa // +partygrsb // +peaflut // +peafluta // +pengpay // +pengpaya // +pengpayb // +pengpayc // +pengpayce // +pengpaycea // +pengpayd // +pengpaydx // +pengpayu // +pengpayua // +pengpayub // +pengpuck // +penpir // +penpir2 // +penpira // +petshop // +petshopa // +phantpay // +phantpyc // +przfight // +qcash // +qnile // +qnilea // +qnileb // +qnilebr // +qnilec // +qnilece // +qnilecea // +qnileceb // +qniled // +qnilefl // +qnilemax // +qnilenl // +qnilenz // +qnilepe // +qnileq // +qnileu // +qnileua // +qtbird // +rainwarr // +rainwarrce // +reelpwr // +reelrock // +reelrockq // +retrsam // +retrsama // +retrsamb // +rushrst // +sbuk2 // +sbuk2a // +sbuk3 // +sbuk3a // +sldeluxe // +slvrwolf // +snowcat // +sumospin // +swhr2 // +swhr2a // +swhr2q // +swhr2u // +swhr2v // +thndh // +thndha // +thor // +topbana // +toutango // +toutangonl // +tritreat // +trojhors // +trpdlght // +trpdlghtu // +trstrove // +unicornd // +unicornda // +unicorndnz // +unicorndu // +venicea5 // +wafrica // +wamazon // +wamazona // +wamazonv // +wcougar // +wcougaru // +wcougarua // +wcougarub // +wcougaruc // +wcougarud // +wcoyote // +wikwin // +wildbill // +wizways // +wldangel // +wldangelu // +wnpost // +wthing // +wthinga // +wtigerc // +yukongl5 // @source:acorn/atom.cpp atom // 1979 Acorn Atom @@ -454,6 +472,10 @@ mpc3000 hana6pt2 // (c) 1991 Alba yumefuda // (c) 1991 Alba +@source:alba/hanadojo.cpp +hanadojo +hanadojoa + @source:alba/rmhaihai.cpp rmhaihai // (c) 1985 Alba rmhaihai2 // (c) 1985 Alba @@ -816,25 +838,39 @@ ace500 // 1986 Franklin Ace 500 apple2c // Apr 1984 Apple //c apple2c0 // ??? 1985 Apple //c (3.5 ROM) apple2c0uk // ??? 1985 Apple //c (3.5 ROM) (UK) +apple2c0de // ??? 1985 Apple //c (3.5 ROM) (Germany) apple2c0fr // ??? 1985 Apple //c (3.5 ROM) (France) +apple2c0se // ??? 1985 Apple //c (3.5 ROM) (Sweden) apple2c3 // Sep 1986 Apple //c (Original Mem. Exp.) apple2c3uk // Sep 1986 Apple //c (Original Mem. Exp.) (UK) +apple2c3de // Sep 1986 Apple //c (Original Mem. Exp.) (Germany) apple2c3fr // Sep 1986 Apple //c (Original Mem. Exp.) (France) +apple2c3se // Sep 1986 Apple //c (Original Mem. Exp.) (Sweden) apple2c4 // ??? 198? Apple //c (rev 4) apple2c4uk // ??? 198? Apple //c (rev 4) (UK) +apple2c4de // ??? 198? Apple //c (rev 4) (Germany) apple2c4fr // ??? 198? Apple //c (rev 4) (France) +apple2c4se // ??? 198? Apple //c (rev 4) (Sweden) +apple2cde // Apr 1984 Apple //c (Germany) apple2cfr // Apr 1984 Apple //c (France) apple2cp // Sep 1988 Apple //c+ +apple2cse // Apr 1984 Apple //c (Sweden) apple2cuk // Apr 1984 Apple //c (UK) apple2e // Jan 1983 Apple //e apple2ee // Mar 1985 Apple //e Enhanced +apple2ede // Jan 1983 Apple //e (Germany) +apple2eede // Mar 1985 Apple //e Enhanced (Germany) apple2eefr // Mar 1985 Apple //e Enhanced (France) +apple2eese // Mar 1985 Apple //e Enhanced (Sweden) apple2ees // Mar 1985 Apple //e Enhanced (Spain) apple2eeuk // Mar 1985 Apple //e Enhanced (UK) apple2efr // Jan 1983 Apple //e (France) apple2ep // Jan 1987 Apple //e Platinum +apple2epde // Jan 1987 Apple //e Platinum (Germany) apple2epfr // Jan 1987 Apple //e Platinum (France) +apple2epse // Jan 1987 Apple //e Platinum (Sweden) apple2epuk // Jan 1987 Apple //e Platinum (UK) +apple2ese // Jan 1983 Apple //e (Sweden) apple2euk // Jan 1983 Apple //e (UK) cec2000 // China Education Computer-2000 cece // China Education Computer-E @@ -1036,375 +1072,387 @@ tvg2000 // Schmid TVG 2000 vdmaster // Video Master @source:aristocrat/aristmk4.cpp -3bagflnz // (c) 1996 -3bagflvt // (c) 1996 -86lions // (c) 1985? -arcwins // (c) 1996 -autmoon // (c) 1999 -blkrhino // (c) 1995 -blkrhinonz // (c) 1996 -cgold // (c) 1986 Ainsworth Nominees P.L. -cgold2 // (c) 1995 -clkwise // (c) 1986 Ainsworth Nominees P.L. -coralr2 // (c) 2000 -eforest // (c) 1995 -eforestnz // (c) 1996 -eforestu // (c) 1996 -ffortune // (c) 1998 -fhunter // (c) 1996 -fhuntera // (c) 1996 -fvrpitch // (c) 1986 Ainsworth Nominees P.L. -gldnpkr // (c) 1986 Ainsworth Nominees P.L. -goldenc // (c) 1996 -grnlizrd // (c) 1994 -gtroppo // (c) 1986 Ainsworth Nominees P.L. -gunnrose // (c) 1993 -kgbird // (c) 1996 -kgbirda // (c) 1996 -phantomp // (c) 1998 -swtht2nz // (c) 1998 -teqsun // (c) 1993 -topgear // (c) 1996 -wildone // (c) 1997 -wtigernz // (c) 1996 +3bagfull // +3bagfullnz // +3bagfullu // +86lions // +arcwins // +arcwinsa // +autmoon // +blkrhino // +blkrhinonz // +cgold // +cgold2 // +cgold2a // +clkwise // +coralr2 // +dblagent // +eforest // +eforestnz // +eforestu // +ffortune // +fhunter // +fhuntera // +fvrpitch // +gambler // +gldnpkr // +goldenc // +grnlizrd // +gtroppo // +gunnrose // +kgbird // +kgbirdnz // +kgbirdnza // +letsgof // +phantomp // +swtht2nz // +teqsun // +thundhrt // +topgear // +trktreat // +wildone // +wtiger // +wtigernz // @source:aristocrat/aristmk6.cpp -aristmk6 // (c) 2000 -5drag // (c) 2004 -5draga // (c) 2004 -5dragnz // (c) 2005 -5dragsp // (c) 2004 -5dragce // (c) 2007 -5koi // (c) 2007 -5koia // (c) 2007 -15lions // (c) 2004 -50lions // (c) 2002 -50lionsa // (c) 2003 -50lionsu // (c) 2005 -50lionrr // (c) 2012 -100lions // (c) 2006 -100lionsa // (c) 2006 -adonisa6 // (c) 2005 -aduskcm // (c) 2001 -afterhrs // (c) 2004 -alchemy // (c) 2003 -atkgld // (c) 2007 -amzqueen // (c) 2001 -amztempl // (c) 2009 -antcleo // (c) 2004 -antcleoa // (c) 2004 -apocof // (c) 2003 -arabnga6 // (c) 2001 -arabnga6a // (c) 2001 -arabnga6u // (c) 2004 -arwincm // (c) 2003 -arish // (c) 2003 -asnprinc // (c) 2004 -beavbuk // (c) 2008 -betzoo // (c) 2003 -bigben // (c) 2003 -bigbena // (c) 2003 -bigbenb // (c) 2004 -bigbenq // (c) 2005 -bigheart // (c) 1999 -bigred // (c) 2002 -bigreda // (c) 2002 -bigred2 // (c) 2005 -blkbrum // (c) 2002 -blkmust // (c) 200? -bluetigr // (c) 2007 -bobdolly // (c) 2007 -brazil // (c) 2005 -brazila // (c) 2006 -bucaneer // (c) 2004 -bucaneera // (c) 2004 -bucaneeru // (c) 2005 -buckstop // (c) 2010 -buffalo // (c) 2006 -buffaloa // (c) 2006 -buffalou // (c) 2006 -bmbugs // (c) 2005 -bushrngr // (c) 2001 -cactusco // (c) 2007 -callwld // (c) 2007 -calyking // (c) 2005 -canaryrc // (c) 2006 -centrion // (c) 2007 -cmtonig // (c) 2005 -cinhell // (c) 2004 -corrida // (c) 2005 -cryspri // (c) 2003 -cryspria // (c) 2003 -cryspriu // (c) 2006 -csd // (c) 2002 -csda // (c) 2003 -csdce // (c) 2003 -csdjc // (c) 2003 -csdq // (c) 2002 -csret // (c) 2006 -csdsp // (c) 2002 -deepfrz // (c) 2009 -deepfrzu // (c) 2010 -deltabel // (c) 2005 -deltaqn // (c) 2004 -diamhrts // (c) 2007 -dimeye // (c) 2002 -dimeyece // (c) 2004 -dimeyeu // (c) 2004 -di4ever // (c) 2002 -dinosa6 // (c) 2003 -dblagent // (c) 2005 -dbldolph // (c) 2000 -dbldolphq // (c) 2000 -doltra6 // (c) 2004 -doltra6nz // (c) 2004 -drgnlord // (c) 2004 -drgnmgic // (c) 2006 -drmcatch // (c) 2003 -drmcatcha // (c) 2004 -drmred // (c) 2008 -dstgold // (c) 2005 -eaglrock // (c) 2004 -estrike // (c) 2010 -eastland // (c) 2004 -eggsrccm // (c) 2005 -efce // (c) 200? -encspell // (c) 2007 -enchantr // (c) 2000 -eott // (c) 2000 -firednc // (c) 2004 -firednca // (c) 2005 -flamolce // (c) 2002 -flamoljc // (c) 2002 -followst // (c) 2000 -fortath // (c) 2007 -fortking // (c) 2006 -frogwld // (c) 2004 -gambjack // (c) 2005 -gwnn // (c) 2004 -geishaa6 // (c) 2000 -geishaa6a // (c) 2001 -geishaa6b // (c) 2001 -geishajc // (c) 2001 -goape // (c) 2001 -gogreen // (c) 2001 -gogreena // (c) 2001 -goldarch // (c) 2005 -gldnflc // (c) 2003 -gldgong // (c) 2005 -gldgongq // (c) 2005 -gldgongu // (c) 2005 -goldinc // (c) 2004 -goldincu // (c) 2005 -goldpya6 // (c) 2004 -goldpym // (c) 2002 -goldsam // (c) 2007 -gbmoney // (c) 2002 -grizzly // (c) 2006 -heartgld // (c) 2003 -heartglda // (c) 2004 -heartveg // (c) 2006 -hlntroy // (c) 2002 -hlntroya // (c) 2002 -hlntroyb // (c) 2002 -hlntroyc // (c) 2002 -hlntroyu // (c) 2004 -highnoon // (c) 2001 -holdrma6 // (c) 2002 -holdrma6a // (c) 2002 -househrt // (c) 2004 -househrta // (c) 2005 -incachf // (c) 2005 -indream // (c) 2001 -indreama // (c) 2004 -indremce // (c) 2002 -indremll // (c) 2003 -indrem2c // (c) 2003 -indremmm // (c) 2003 -indgldcm // (c) 2001 -indprncs // (c) 2004 -jailbrk // (c) 2002 -jefffox // (c) 2003 -jewelcm // (c) 2003 -kingnep // (c) 2005 -kingnile // (c) 2003 -kingnilea // (c) 2002 -kingnileb // (c) 2003 -kingpeng // (c) 2002 -kingpengsp // (c) 2002 -koalama6 // (c) 2000 -kohinoor // (c) 2003 -lgfish // (c) 2006 -lgfisha // (c) 2006 -lemrol // (c) 2004 -lineking // (c) 2005 -lordleo // (c) 2002 -lougcm // (c) 2001 -lovestuk // (c) 200? -luigibal // (c) 2007 -lucky88 // (c) 2007 -magforst // (c) 2005 -magician // (c) 2006 -magmerm // (c) 2003 -mchilli // (c) 2008 -mchilliq // (c) 2010 -metestrm // (c) 2007 -milkin // (c) 2007 -mskitty // (c) 2005 -mnytree // (c) 2000 -mnytreea // (c) 2001 -moonfire // (c) 2004 -moonwalt // (c) 2007 -mrwoo // (c) 200? -mystarr // (c) 2002 -mysteycm // (c) 2001 -mysteycmu // (c) 2002 -mystmerm // (c) 2002 -nerdwild // (c) 2005 -opsesam // (c) 200? -orbeaut // (c) 2006 -outbackj // (c) 2005 -owlcap // (c) 2001 -pandpays // (c) 2004 -parislgt // (c) 2001 -parislgta // (c) 2001 -parislgtu // (c) 2002 -pcockmag // (c) 2002 -pcockmaga // (c) 2002 -pcockmagu // (c) 2004 -pelipete // (c) 2004 -pelipetea // (c) 2005 -pelipetejc // (c) 2006 -pelipeteu // (c) 2005 -pennyar // (c) 2005 -pengpyce // (c) 2003 -pharfor // (c) 2000 -phxfant // (c) 2005 -pirata6 // (c) 2000 -pirata6a // (c) 2001 -pcbydem // (c) 2006 -pcfavor // (c) 2004 -pcgold // (c) 2010 -pcmostw // (c) 2006 -pcorig // (c) 2004 -pcplat // (c) 2009 -pwsuper // (c) 200? -pompeia6 // (c) 2001 -pompeia6a // (c) 2002 -pompeia6u // (c) 2005 -pompeia6ua // (c) 2002 -prideaf // (c) 2005 -prophecy // (c) 2004 -qnilea6 // (c) 2005 -qnilea6a // (c) 2005 -qnilea6b // (c) 2005 -qnilese // (c) 2001 -qnilesea // (c) 2001 -qnileseb // (c) 2001 -qnilejc // (c) 2002 -qnilejcsp // (c) 2002 -qnilemt2 // (c) 2005 -qsheba // (c) 2003 -qshebaa // (c) 2003 -raprichs // (c) 2005 -redbara6 // (c) 2002 -redbarfl // (c) 2003 -redbarjc // (c) 2003 -reelrkfl // (c) 201? -retsama6 // (c) 2002 -roadtrip // (c) 2005 -rubymag // (c) 2002 -rubymaga // (c) 2003 -rumbreel // (c) 2010 -ruprup // (c) 2002 -scatmag2 // (c) 2000 -scatmag2a // (c) 2001 -scatmag2sa // (c) 2001 -scatmag3 // (c) 2006 -sealdeal // (c) 2002 -shorthng // (c) 2004 -shamnmg // (c) 2006 -shamnmgu // (c) 200? -smtma6 // (c) 2001 -smtma6q // (c) 2001 -silkrda6 // (c) 2004 -silkrda6u // (c) 2006 -silgola6 // (c) 2002 -skydnca6 // (c) 2008 -snapshot // (c) 200? -spgcarn // (c) 1999 -spgcarnjc // (c) 2003 -spgcarnq // (c) 2001 -spgfest // (c) 2008 -spgfestnz // (c) 2008 -stardrft // (c) 2003 -stardrftu // (c) 2004 -starqst // (c) 2001 -statsymb // (c) 2005 -sunmoon // (c) 2003 -sunmoona // (c) 2003 -sunmonbb // (c) 200? -sunqndol // (c) 2003 -sbuk5 // (c) 2005 -swhr2a6 // (c) 2005 -swh2ld // (c) 2002 -tahitim // (c) 2006 -thaiprnc // (c) 2002 -thaiprnca // (c) 2003 -thndrhrt // (c) 2004 -tigress // (c) 2007 -tigressa // (c) 2007 -tikitalk // (c) 2007 -tiktorch // (c) 2003 -tiktorchnz // (c) 2003 -timbwolf // (c) 200? -topshta6 // (c) 2002 -torgods // (c) 2000 -torgodsa // (c) 2004 -toprdice // (c) 2001 -trsking // (c) 2006 -turtreas // (c) 2006 -turtreasa // (c) 2006 -venetian // (c) 2002 -venice // (c) 2004 -wcougpp // (c) 2006 -werewild // (c) 2009 -werewildq // (c) 2010 -whalecsh // (c) 2002 -whalecshu // (c) 2003 -whalecshua // (c) 2005 -wheregld // (c) 2004 -whereglda // (c) 2004 -wheregldb // (c) 2004 -wheregldq // (c) 2005 -wheregldsp // (c) 2004 -whtwater // (c) 2003 -wikwin2 // (c) 2006 -wingoly // (c) 2004 -wingolyu // (c) 2005 -wldafr // (c) 2002 -wldcata6 // (c) 2006 -wldcata6a // (c) 2007 -wldgoos // (c) 2003 -wldgoosa // (c) 2003 -wgorilla // (c) 2009 -wldpanda // (c) 2006 -wldpandaa // (c) 2006 -wldpanth // (c) 2004 -wldstall // (c) 2006 -wtepee // (c) 2007 -wwaratah // (c) 2006 -wwaratahsp // (c) 2006 -wways // (c) 2002 -wwaysa // (c) 2003 -wzwaysll // (c) 2003 -zorroa6 // (c) 2003 -zorroa6a // (c) 2006 -zorroa6u // (c) 2005 +100lions // +100lionsa // +15lions // +50lions // +50lionsa // +50lionsu // +50lionrr // +5drag // +5draga // +5dragnz // +5dragsp // +5dragce // +5koi // +5koia // +adonisa6 // +aduskcm // +afterhrs // +alchemy // +amzqueen // +amztempl // +antcleo // +antcleoa // +apocof // +arabnga6 // +arabnga6a // +arabnga6u // +arish // +aristmk6 // +arwincm // +asnprinc // +atkgld // +beavbuk // +betzoo // +bigben // +bigbena // +bigbenb // +bigbenq // +bigheart // +bigred // +bigred2 // +bigreda // +blkbrum // +blkmust // +bluetigr // +bmbugs // +bobdolly // +brazil // +brazila // +bucaneer // +bucaneera // +bucaneeru // +buckstop // +buffalo // +buffaloa // +buffalou // +bushrngr // +cactusco // +callwld // +calyking // +canaryrc // +centrion // +cmtonig // +cinhell // +corrida // +cryspri // +cryspria // +cryspriu // +csd // +csda // +csdce // +csdjc // +csdq // +csdsp // +csret // +dagenta6 // +dbldolph // +dbldolphq // +dbldolphu // +deepfrz // +deepfrzu // +deltabel // +deltaqn // +di4ever // +diamhrts // +dimeye // +dimeyece // +dimeyeu // +dinosa6 // +doltra6 // +doltra6nz // +drgnlord // +drgnmgic // +drmcatch // +drmcatcha // +drmred // +dstgold // +eaglrock // +eastland // +efce // +eggsrccm // +enchantr // +encspell // +eott // +estrike // +firednc // +firednca // +flamolce // +flamoljc // +followst // +fortath // +fortking // +frogwld // +gambjack // +gbmoney // +geishaa6 // +geishaa6a // +geishaa6b // +geishajc // +gldgong // +gldgongq // +gldgongu // +gldnflc // +goape // +gogreen // +gogreena // +goldarch // +goldinc // +goldincu // +goldpya6 // +goldpym // +goldsam // +grizzly // +gwnn // +heartgld // +heartglda // +heartveg // +highnoon // +hlntroy // +hlntroya // +hlntroyb // +hlntroyc // +hlntroyu // +holdrma6 // +holdrma6a // +househrt // +househrta // +incachf // +indream // +indreama // +indremll // +indrem2c // +indremce // +indremmm // +indgldcm // +indprncs // +jailbrk // +jefffox // +jewelcm // +kingnep // +kingnile // +kingnilea // +kingnileb // +kingpeng // +kingpengsp // +koalama6 // +kohinoor // +lemrol // +lgfish // +lgfisha // +lineking // +lordleo // +lougcm // +lovestuk // +lucky88 // +luigibal // +magforst // +magician // +magmerm // +mchilli // +mchilliq // +metestrm // +milkin // +mnytree // +mnytreea // +moonfire // +moonwalt // +mrwoo // +mskitty // +mystarr // +mysteycm // +mysteycmu // +mystmerm // +nerdwild // +opsesam // +orbeaut // +outbackj // +owlcap // +pandpays // +parislgt // +parislgta // +parislgtu // +pcockmag // +pcockmaga // +pcockmagu // +pelipete // +pelipetea // +pelipetejc // +pelipeteu // +pengpyce // +pennyar // +pharfor // +phxfant // +pirata6 // +pirata6a // +pcbydem // +pcfavor // +pcgold // +pcmostw // +pcorig // +pcplat // +pompeia6 // +pompeia6a // +pompeia6u // +pompeia6ua // +prideaf // +prophecy // +pwsuper // +qnilea6 // +qnilea6a // +qnilea6b // +qnilejc // +qnilejcsp // +qnilemt2 // +qnilese // +qnilesea // +qnileseb // +qsheba // +qshebaa // +raprichs // +redbara6 // +redbarfl // +redbarjc // +reelrkfl // +retsama6 // +roadtrip // +rubymag // +rubymaga // +rumbreel // +ruprup // +sbuk5 // +scatmag2 // +scatmag2a // +scatmag2sa // +scatmag3 // +sctmagce // +sealdeal // +shamnmg // +shamnmgu // +shorthng // +silgola6 // +silkrda6 // +silkrda6u // +skydnca6 // +smtma6 // +smtma6q // +snapshot // +spgcarn // +spgcarnjc // +spgcarnq // +spgfest // +spgfestnz // +stardrft // +stardrftu // +starqst // +statsymb // +sunmonbb // +sunmoon // +sunmoona // +sunqndol // +swh2ld // +swhr2a6 // +tahitim // +thaiprnc // +thaiprnca // +thndrhrt // +tigress // +tigressa // +tikitalk // +tiktorch // +tiktorchnz // +timbwolf // +toprdice // +topshta6 // +torgods // +torgodsa // +trsking // +turtreas // +turtreasa // +venetian // +venice // +wcougpp // +werewild // +werewildq // +wgorilla // +whalecsh // +whalecshu // +whalecshua // +wheregld // +whereglda // +wheregldb // +wheregldq // +wheregldsp // +whtwater // +wikwin2 // +wingoly // +wingolyu // +wldafr // +wldcata6 // +wldcata6a // +wldgoos // +wldgoosa // +wldpanda // +wldpandaa // +wldpanth // +wldstall // +wtepee // +wwaratah // +wwaratahsp // +wways // +wwaysa // +wzwaysll // +zorroa6 // +zorroa6a // +zorroa6u // @source:aristocrat/aristmk7.cpp -aristmk7 // (c) 2006? -a7lucky88 // (c) 200? +aristmk7 // +a7lucky88 // @source:aristocrat/caswin.cpp caswin // (c) 1985 @@ -2450,9 +2498,6 @@ rx78 // @source:bandai/sv8000.cpp sv8000 // Super Vision 8000 -@source:bandai/tamag1.cpp -tama // Bandai - @source:bandai/wswan.cpp pockchv2 // Benesse Pocket Challenge V2 wscolor // Bandai WonderSwan Color Handheld @@ -15225,6 +15270,9 @@ blktigerm @source:capcom/cbasebal.cpp cbasebal // 10/1989 (c) 1989 Capcom (Japan) (different hardware) +@source:capcom/chakumelo.cpp +chakumel + @source:capcom/commando.cpp commando // 5/1985 (c) 1985 (World) commandob // bootleg @@ -16654,6 +16702,7 @@ scpchessa @source:cxg/dominator.cpp scmder sdtor +sdtora sgalaxy sgalaxya sgalaxyb @@ -16670,6 +16719,9 @@ supra senterp senterpc +@source:cxg/junior.cpp +sjunior + @source:cxg/sphinx40.cpp sphinx40 @@ -17496,6 +17548,7 @@ hanakanz // "507" (c) 1996 Dynax hginga // "81" (c) 1994 Dynax hgokbang // "116" (c) 1995 Dynax hgokou // "108" (c) 1995 Dynax (Alba license) +hgokoua // "108" (c) 1995 Dynax (Alba license) hkagerou // "510" Hana Kagerou 1996 Nakanihon hparadis // "101" (c) 1994 Nakanihon htengoku // "65" (c) 1992 Dynax @@ -17611,11 +17664,13 @@ chalgirl // bootleg daisyari // (c) 1989 Best System dondenmj // "03" (c) 1986 Dyna Electronics dragonmj // OCT +dragonmj103 // OCT ichiban // (c) 1993 Excel ippatsu // 01? (c) 1986 Dyna Electronics jangtaku // (c) 1986 Dyna Computer janoh // (c) 1984 Toaplan janoha // (c) 1984 Toaplan +janohb // (c) 1984 Toaplan janptr96 // "503" (c) 1996 Dynax janptrsp // "511" (c) 1997 Dynax janputer // bootleg @@ -17623,6 +17678,7 @@ janputera // bootleg jansou // (c) 1985 Dyna jansoua // (c) 1985 Dyna janyoup2 // Falcon bootleg +janyoup2702 // janyoup2a // Cosmo jongshin // (c) 1986 Dyna majrjh // "105" (c) 1996 Dynax @@ -17904,6 +17960,10 @@ rpanic // (c) 1992 Excellent System / Jaleco @source:excellent/dblcrown.cpp dblcrown // (c) 1994 Excellent System +@source:excellent/es9501.cpp +d9flower +specd9 + @source:excellent/gcpinbal.cpp gcpinbal // (c) 1994 Excellent System pwrflip // (c) 1994 Excellent System @@ -17913,6 +17973,7 @@ fever13 // (c) 1995 Excellent System lastbank // (c) 1994 Excellent System mir7hg // (c) 1996 Excellent System ukiyobox // (c) 1995 Excellent System +wcircus // (c) 199? Cobra @source:excellent/witch.cpp keirinou // (c) 1987 Excellent System @@ -18864,6 +18925,7 @@ thepitm // bootleg timefgtr // (c) Taito (Brazil) - rewrite of Time Pilot tst_galx // Galaxian Test ROM turpin // (c) 1981 Sega +turpinnv // bootleg (Novatronic) turpins // (c) 1981 bootleg turtles // (c) 1981 Stern uniwars // (c) Irem @@ -19083,6 +19145,14 @@ msoccer // Mattel qkracer // National Semiconductor qkspeller // National Semiconductor +@source:handheld/hh_e0c6x.cpp +alienfev // Epoch +tama // Bandai +tamaang // Bandai +tamag2 // Bandai +tamamot // Bandai +venusdm // Nikko + @source:handheld/hh_hmcs40.cpp alnattck // Coleco bambball // Bambino @@ -19556,6 +19626,7 @@ h19 // Heath H19 @source:heathzenith/h89.cpp h89 // Heath H89 (WH89) h88 // Heath H88 (with cassette tape) +h89_cdr // Heath H89 with CDR Systems hardware h89_mms // Heath H89 with Magnolia MicroSystems(MMS) hardware h89_sigmasoft // H89 with the SigmaSoft IGC card z90 // Zenith Z-90 @@ -20069,6 +20140,7 @@ poker21 @source:igs/goldstar.cpp 3cdpoker // hack? 3cdpokera // hack? +amaztsk // animalhs // (c) 1991 Suns Co Ltd. animalhsa // (c) 1991 Suns Co Ltd. animalhsb // bootleg @@ -20141,6 +20213,7 @@ crazybonb // (c) 199? unknown eldoradd // (c) 1991 Dyna Electronics eldoraddo // (c) 1991 Dyna Electronics eldoraddoa // (c) 1991 Dyna Electronics +eldoraddob // (c) 1991 Dyna Electronics fb2010 // (c) 2009 Amcoe fl7_3121 // (c) 199? Cyberdyne Systems, Inc. fl7_50 // (c) 199? Cyberdyne Systems, Inc. @@ -20151,6 +20224,7 @@ fl7_tw // Taiwanese Hardware. goldfrui // bootleg goldstar // (c) 198? IGS goldstbl // (c) 198? IGS +halltsk // hamhouse // bootleg hamhouse9 // bootleg jkrmast // (c) 199? unknown @@ -20177,6 +20251,7 @@ lucky8j // 199?, hack lucky8k // (c) 1989 Wing. With CPU NEC D315-5136 lucky8l // (c) 1989 Wing Co. Ltd lucky8m // (c) 1989 Wing Co. Ltd +lucky8n // (c) 1989 Wing Co. Ltd luckybar // unknown luckylad // (c) 1985 Wing Co. Ltd magodds // 198? (c) Micro Manufacturing Ltd. @@ -20259,6 +20334,7 @@ unkch2 // bootleg unkch3 // bootleg unkch4 // bootleg war3cb // +wcat // wcat3 // wcat3a // wcherry // bootleg @@ -20652,6 +20728,7 @@ drw80pkr // (c) 1982 IGT @source:igt/gkigt.cpp bmoonii // +brhino // dblheart // gkigt4 // gkigt43 // @@ -20661,641 +20738,670 @@ gkigt5p // gkigtez // gkigtezms // gkkey // +igtmg133 // +igtmg156 // +igtmg159 // +igtmg164 // +igtmg166 // +igtmg214 // +igtmg247 // +igtmg394 // +igtmg535 // igtsc // +igtvp // ms14 // ms3 // ms5 // ms72c // +munsters // mystjag // +sup8race // tripplay // (c) 1999 IGT +wofigt // @source:igt/peplus.cpp -im1p1952 // (c) 1995 IGT - International Game Technology -im1p19s1 // (c) 1995 IGT - International Game Technology -im2p1929 // (c) 1995 IGT - International Game Technology -im3p1940 // (c) 1995 IGT - International Game Technology -pcramclr // (c) 1987 IGT - International Game Technology -pc644vz // (c) 1987 IGT - International Game Technology -pc679cy // (c) 1987 IGT - International Game Technology -pc714vz // (c) 1987 IGT - International Game Technology -pc716vy // (c) 1987 IGT - International Game Technology -pc718vy // (c) 1987 IGT - International Game Technology -pebe0013 // (c) 1994 IGT - International Game Technology -pebe0014 // (c) 1994 IGT - International Game Technology -pebe0014a // (c) 1994 IGT - International Game Technology -peip0028 // (c) 1987 IGT - International Game Technology -peip0029 // (c) 1987 IGT - International Game Technology -peip0031 // (c) 1987 IGT - International Game Technology -peip0041 // (c) 1987 IGT - International Game Technology -peip0051 // (c) 1987 IGT - International Game Technology -peip0058 // (c) 1987 IGT - International Game Technology -peip0062 // (c) 1987 IGT - International Game Technology -peip0074 // (c) 1987 IGT - International Game Technology -peip0079 // (c) 1987 IGT - International Game Technology -peip0101 // (c) 1987 IGT - International Game Technology -peip0103 // (c) 1987 IGT - International Game Technology -peip0105 // (c) 1987 IGT - International Game Technology -peip0108 // (c) 1987 IGT - International Game Technology -peip0111 // (c) 1987 IGT - International Game Technology -peip0112 // (c) 1987 IGT - International Game Technology -peip0114 // (c) 1987 IGT - International Game Technology -peip0115 // (c) 1987 IGT - International Game Technology -peip0116 // (c) 1987 IGT - International Game Technology -peip0118 // (c) 1987 IGT - International Game Technology -peip0120 // (c) 1987 IGT - International Game Technology -peivc006 // (c) 1987 IGT - International Game Technology -peke0004 // (c) 1994 IGT - International Game Technology -peke0004a // (c) 1994 IGT - International Game Technology -peke0004b // (c) 1994 IGT - International Game Technology -peke0017 // (c) 1994 IGT - International Game Technology -peke0017a // (c) 1994 IGT - International Game Technology -peke0026 // (c) 1994 IGT - International Game Technology -peke1001 // (c) 1994 IGT - International Game Technology -peke1006 // (c) 1994 IGT - International Game Technology -peke1012 // (c) 1994 IGT - International Game Technology -peke1012a // (c) 1994 IGT - International Game Technology -peke1012b // (c) 1994 IGT - International Game Technology -peke1013 // (c) 1994 IGT - International Game Technology -peke1013a // (c) 1994 IGT - International Game Technology -pekoc766 // (c) 1997 IGT - International Game Technology -pekoc801 // (c) 1997 IGT - International Game Technology -pekoc802 // (c) 1997 IGT - International Game Technology -pekoc803 // (c) 1997 IGT - International Game Technology -pekoc803a // (c) 1997 IGT - International Game Technology -pekoc804 // (c) 1997 IGT - International Game Technology -pekoc806 // (c) 1997 IGT - International Game Technology -pekoc818 // (c) 1997 IGT - International Game Technology -pekoc819 // (c) 1997 IGT - International Game Technology -pekoc822 // (c) 1997 IGT - International Game Technology -pekoc825 // (c) 1997 IGT - International Game Technology -pemg0025 // (c) 1994 IGT - International Game Technology -pemg0026 // (c) 1994 IGT - International Game Technology -pemg0182 // (c) 1994 IGT - International Game Technology -pemg0183 // (c) 1994 IGT - International Game Technology -pemg0213 // (c) 1994 IGT - International Game Technology -pemg0225 // (c) 1994 IGT - International Game Technology -pemg0252 // (c) 1994 IGT - International Game Technology -pepk0719 // (c) 1987 IGT - International Game Technology -pepk0719a // (c) 1987 IGT - International Game Technology -pepk0719b // (c) 1987 IGT - International Game Technology -pepk0756 // (c) 1987 IGT - International Game Technology -pepk0756a // (c) 1987 IGT - International Game Technology -pepk0756b // (c) 1987 IGT - International Game Technology -pepk0756c // (c) 1987 IGT - International Game Technology -pepk0756d // (c) 1987 IGT - International Game Technology -pepk0757 // (c) 1987 IGT - International Game Technology -pepk0758 // (c) 1987 IGT - International Game Technology -pepk0769 // (c) 1987 IGT - International Game Technology -pepk0773 // (c) 1987 IGT - International Game Technology -pepk0785 // (c) 1987 IGT - International Game Technology -pepk0788 // (c) 1987 IGT - International Game Technology -pepk0810 // (c) 1987 IGT - International Game Technology -pepk0810a // (c) 1987 IGT - International Game Technology -pepk0811 // (c) 1987 IGT - International Game Technology -pepk0823 // (c) 1987 IGT - International Game Technology -pepk0832 // (c) 1987 IGT - International Game Technology -pepk0846 // (c) 1987 IGT - International Game Technology -pepk0849 // (c) 1987 IGT - International Game Technology -pepk0856 // (c) 1987 IGT - International Game Technology -pepk0856a // (c) 1987 IGT - International Game Technology -pepk0858 // (c) 1987 IGT - International Game Technology -pepk0873 // (c) 1987 IGT - International Game Technology -pepk0873a // (c) 1987 IGT - International Game Technology -pepk0885 // (c) 1987 IGT - International Game Technology -pepk0930 // (c) 1987 IGT - International Game Technology -pepk0930a // (c) 1987 IGT - International Game Technology -pepk1002 // (c) 1987 IGT - International Game Technology -pepk1004 // (c) 1987 IGT - International Game Technology -pepk1013 // (c) 1987 IGT - International Game Technology -pepk1015 // (c) 1987 IGT - International Game Technology -pepk1017 // (c) 1987 IGT - International Game Technology -pepk1020 // (c) 1987 IGT - International Game Technology -pepk1024 // (c) 1987 IGT - International Game Technology -pepk1030 // (c) 1987 IGT - International Game Technology -pepk1031 // (c) 1987 IGT - International Game Technology -pepk1069 // (c) 1987 IGT - International Game Technology -pepp0001 // (c) 1987 IGT - International Game Technology -pepp0002 // (c) 1987 IGT - International Game Technology -pepp0002a // (c) 1987 IGT - International Game Technology -pepp0005 // (c) 1987 IGT - International Game Technology -pepp0006 // (c) 1987 IGT - International Game Technology -pepp0008 // (c) 1987 IGT - International Game Technology -pepp0008a // (c) 1987 IGT - International Game Technology -pepp0008b // (c) 1987 IGT - International Game Technology -pepp0009 // (c) 1987 IGT - International Game Technology -pepp0010 // (c) 1987 IGT - International Game Technology -pepp0014 // (c) 1987 IGT - International Game Technology -pepp0014a // (c) 1987 IGT - International Game Technology -pepp0021 // (c) 1987 IGT - International Game Technology -pepp0023 // (c) 1987 IGT - International Game Technology -pepp0038 // (c) 1987 IGT - International Game Technology -pepp0040 // (c) 1987 IGT - International Game Technology -pepp0040a // (c) 1987 IGT - International Game Technology -pepp0040b // (c) 1987 IGT - International Game Technology -pepp0041 // (c) 1987 IGT - International Game Technology -pepp0042 // (c) 1987 IGT - International Game Technology -pepp0042a // (c) 1987 IGT - International Game Technology -pepp0042b // (c) 1987 IGT - International Game Technology -pepp0043 // (c) 1987 IGT - International Game Technology -pepp0043a // (c) 1987 IGT - International Game Technology -pepp0043b // (c) 1987 IGT - International Game Technology -pepp0045 // (c) 1987 IGT - International Game Technology -pepp0045a // (c) 1987 IGT - International Game Technology -pepp0045b // (c) 1987 IGT - International Game Technology -pepp0045c // (c) 1987 IGT - International Game Technology -pepp0045d // (c) 1987 IGT - International Game Technology -pepp0046 // (c) 1987 IGT - International Game Technology -pepp0046a // (c) 1987 IGT - International Game Technology -pepp0046b // (c) 1987 IGT - International Game Technology -pepp0046c // (c) 1987 IGT - International Game Technology -pepp0048 // (c) 1987 IGT - International Game Technology -pepp0048a // (c) 1987 IGT - International Game Technology -pepp0048b // (c) 1987 IGT - International Game Technology -pepp0048c // (c) 1987 IGT - International Game Technology -pepp0050 // (c) 1987 IGT - International Game Technology -pepp0050a // (c) 1987 IGT - International Game Technology -pepp0050b // (c) 1987 IGT - International Game Technology -pepp0050c // (c) 1987 IGT - International Game Technology -pepp0051 // (c) 1987 IGT - International Game Technology -pepp0052 // (c) 1987 IGT - International Game Technology -pepp0053 // (c) 1987 IGT - International Game Technology -pepp0054 // (c) 1987 IGT - International Game Technology -pepp0055 // (c) 1987 IGT - International Game Technology -pepp0055a // (c) 1987 IGT - International Game Technology -pepp0055b // (c) 1987 IGT - International Game Technology -pepp0055c // (c) 1987 IGT - International Game Technology -pepp0057 // (c) 1987 IGT - International Game Technology -pepp0057a // (c) 1987 IGT - International Game Technology -pepp0057b // (c) 1987 IGT - International Game Technology -pepp0057c // (c) 1987 IGT - International Game Technology -pepp0057d // (c) 1987 IGT - International Game Technology -pepp0059 // (c) 1987 IGT - International Game Technology -pepp0059a // (c) 1987 IGT - International Game Technology -pepp0060 // (c) 1987 IGT - International Game Technology -pepp0060a // (c) 1987 IGT - International Game Technology -pepp0060b // (c) 1987 IGT - International Game Technology -pepp0060c // (c) 1987 IGT - International Game Technology -pepp0063 // (c) 1987 IGT - International Game Technology -pepp0064 // (c) 1987 IGT - International Game Technology -pepp0065 // (c) 1987 IGT - International Game Technology -pepp0078 // (c) 1987 IGT - International Game Technology -pepp0079 // (c) 1987 IGT - International Game Technology -pepp0083 // (c) 1987 IGT - International Game Technology -pepp0083a // (c) 1987 IGT - International Game Technology -pepp0085 // (c) 1987 IGT - International Game Technology -pepp0089 // (c) 1987 IGT - International Game Technology -pepp0094 // (c) 1987 IGT - International Game Technology -pepp0094a // (c) 1987 IGT - International Game Technology -pepp0103 // (c) 1987 IGT - International Game Technology -pepp0103a // (c) 1987 IGT - International Game Technology -pepp0103b // (c) 1987 IGT - International Game Technology -pepp0103c // (c) 1987 IGT - International Game Technology -pepp0104 // (c) 1987 IGT - International Game Technology -pepp0104a // (c) 1987 IGT - International Game Technology -pepp0116 // (c) 1987 IGT - International Game Technology -pepp0116a // (c) 1987 IGT - International Game Technology -pepp0117 // (c) 1987 IGT - International Game Technology -pepp0118 // (c) 1987 IGT - International Game Technology -pepp0120 // (c) 1987 IGT - International Game Technology -pepp0122 // (c) 1987 IGT - International Game Technology -pepp0125 // (c) 1987 IGT - International Game Technolog -pepp0125a // (c) 1987 IGT - International Game Technology -pepp0126 // (c) 1987 IGT - International Game Technology -pepp0126a // (c) 1987 IGT - International Game Technology -pepp0126b // (c) 1987 IGT - International Game Technology -pepp0127 // (c) 1987 IGT - International Game Technology -pepp0127a // (c) 1987 IGT - International Game Technology -pepp0127b // (c) 1987 IGT - International Game Technology -pepp0129 // (c) 1987 IGT - International Game Technology -pepp0130 // (c) 1987 IGT - International Game Technology -pepp0132 // (c) 1987 IGT - International Game Technology -pepp0143 // (c) 1987 IGT - International Game Technology -pepp0150 // (c) 1987 IGT - International Game Technology -pepp0158 // (c) 1987 IGT - International Game Technology -pepp0158a // (c) 1987 IGT - International Game Technology -pepp0158b // (c) 1987 IGT - International Game Technology -pepp0158c // (c) 1987 IGT - International Game Technology -pepp0158d // (c) 1987 IGT - International Game Technology -pepp0159 // (c) 1987 IGT - International Game Technology -pepp0171 // (c) 1987 IGT - International Game Technology -pepp0171a // (c) 1987 IGT - International Game Technology -pepp0178 // (c) 1987 IGT - International Game Technology -pepp0181 // (c) 1987 IGT - International Game Technology -pepp0188 // (c) 1987 IGT - International Game Technology -pepp0188a // (c) 1987 IGT - International Game Technology -pepp0188b // (c) 1987 IGT - International Game Technology -pepp0189 // (c) 1987 IGT - International Game Technology -pepp0190 // (c) 1987 IGT - International Game Technology -pepp0190a // (c) 1987 IGT - International Game Technology -pepp0190b // (c) 1987 IGT - International Game Technology -pepp0190c // (c) 1987 IGT - International Game Technology -pepp0195 // (c) 1987 IGT - International Game Technology -pepp0197 // (c) 1987 IGT - International Game Technology -pepp0197a // (c) 1987 IGT - International Game Technology -pepp0197b // (c) 1987 IGT - International Game Technology -pepp0197c // (c) 1987 IGT - International Game Technology -pepp0197d // (c) 1987 IGT - International Game Technology -pepp0197e // (c) 1987 IGT - International Game Technology -pepp0203 // (c) 1987 IGT - International Game Technology -pepp0203a // (c) 1987 IGT - International Game Technology -pepp0203b // (c) 1987 IGT - International Game Technology -pepp0203c // (c) 1987 IGT - International Game Technology -pepp0203d // (c) 1987 IGT - International Game Technology -pepp0203e // (c) 1987 IGT - International Game Technology -pepp0218 // (c) 1987 IGT - International Game Technology -pepp0219 // (c) 1987 IGT - International Game Technology -pepp0221 // (c) 1987 IGT - International Game Technology -pepp0221a // (c) 1987 IGT - International Game Technology -pepp0221b // (c) 1987 IGT - International Game Technology -pepp0223 // (c) 1987 IGT - International Game Technology -pepp0224 // (c) 1987 IGT - International Game Technology -pepp0224a // (c) 1987 IGT - International Game Technology -pepp0230 // (c) 1987 IGT - International Game Technology -pepp0232 // (c) 1987 IGT - International Game Technology -pepp0242 // (c) 1987 IGT - International Game Technology -pepp0249 // (c) 1987 IGT - International Game Technology -pepp0250 // (c) 1987 IGT - International Game Technology -pepp0250a // (c) 1987 IGT - International Game Technology -pepp0265 // (c) 1987 IGT - International Game Technology -pepp0265a // (c) 1987 IGT - International Game Technology -pepp0265b // (c) 1987 IGT - International Game Technology -pepp0265c // (c) 1987 IGT - International Game Technology -pepp0274 // (c) 1987 IGT - International Game Technology -pepp0288 // (c) 1987 IGT - International Game Technology -pepp0290 // (c) 1987 IGT - International Game Technology -pepp0290a // (c) 1987 IGT - International Game Technology -pepp0291 // (c) 1987 IGT - International Game Technology -pepp0291a // (c) 1987 IGT - International Game Technology -pepp0294 // (c) 1987 IGT - International Game Technology -pepp0295 // (c) 1987 IGT - International Game Technology -pepp0401 // (c) 1987 IGT - International Game Technology -pepp0409 // (c) 1987 IGT - International Game Technology -pepp0410 // (c) 1987 IGT - International Game Technology -pepp0410a // (c) 1987 IGT - International Game Technology -pepp0417 // (c) 1987 IGT - International Game Technology -pepp0417a // (c) 1987 IGT - International Game Technology -pepp0418 // (c) 1987 IGT - International Game Technology -pepp0418a // (c) 1987 IGT - International Game Technology -pepp0419 // (c) 1987 IGT - International Game Technology -pepp0419a // (c) 1987 IGT - International Game Technology -pepp0419b // (c) 1987 IGT - International Game Technology -pepp0420 // (c) 1987 IGT - International Game Technology -pepp0420a // (c) 1987 IGT - International Game Technology -pepp0423 // (c) 1987 IGT - International Game Technology -pepp0423a // (c) 1987 IGT - International Game Technology -pepp0423b // (c) 1987 IGT - International Game Technology -pepp0423c // (c) 1987 IGT - International Game Technology -pepp0425 // (c) 1987 IGT - International Game Technology -pepp0426 // (c) 1987 IGT - International Game Technology -pepp0428 // (c) 1987 IGT - International Game Technology -pepp0429 // (c) 1987 IGT - International Game Technology -pepp0429a // (c) 1987 IGT - International Game Technology -pepp0430 // (c) 1987 IGT - International Game Technology -pepp0430a // (c) 1987 IGT - International Game Technology -pepp0431 // (c) 1987 IGT - International Game Technology -pepp0434 // (c) 1987 IGT - International Game Technology -pepp0434a // (c) 1987 IGT - International Game Technology -pepp0445 // (c) 1987 IGT - International Game Technology -pepp0447 // (c) 1987 IGT - International Game Technology -pepp0447a // (c) 1987 IGT - International Game Technology -pepp0447b // (c) 1987 IGT - International Game Technology -pepp0449 // (c) 1987 IGT - International Game Technology -pepp0449a // (c) 1987 IGT - International Game Technology -pepp0450 // (c) 1995 IGT - International Game Technology -pepp0451 // (c) 1995 IGT - International Game Technology -pepp0452 // (c) 1987 IGT - International Game Technology -pepp0452a // (c) 1987 IGT - International Game Technology -pepp0453 // (c) 1987 IGT - International Game Technology -pepp0454 // (c) 1987 IGT - International Game Technology -pepp0454a // (c) 1987 IGT - International Game Technology -pepp0455 // (c) 1987 IGT - International Game Technology -pepp0458 // (c) 1987 IGT - International Game Technology -pepp0459 // (c) 1987 IGT - International Game Technology -pepp0459a // (c) 1987 IGT - International Game Technology -pepp0467 // (c) 1987 IGT - International Game Technology -pepp0469 // (c) 1987 IGT - International Game Technology -pepp0472 // (c) 1987 IGT - International Game Technology -pepp0488 // (c) 1987 IGT - International Game Technology -pepp0508 // (c) 1987 IGT - International Game Technology -pepp0508a // (c) 1987 IGT - International Game Technology -pepp0509 // (c) 1987 IGT - International Game Technology -pepp0510 // (c) 1987 IGT - International Game Technology -pepp0514 // (c) 1987 IGT - International Game Technology -pepp0514a // (c) 1987 IGT - International Game Technology -pepp0514b // (c) 1987 IGT - International Game Technology -pepp0515 // (c) 1987 IGT - International Game Technology -pepp0515a // (c) 1987 IGT - International Game Technology -pepp0515b // (c) 1987 IGT - International Game Technology -pepp0515c // (c) 1987 IGT - International Game Technology -pepp0516 // (c) 1987 IGT - International Game Technology -pepp0516a // (c) 1987 IGT - International Game Technology -pepp0516b // (c) 1987 IGT - International Game Technology -pepp0516c // (c) 1987 IGT - International Game Technology -pepp0526 // (c) 1987 IGT - International Game Technology -pepp0531 // (c) 1987 IGT - International Game Technology -pepp0536 // (c) 1987 IGT - International Game Technology -pepp0538 // (c) 1987 IGT - International Game Technology -pepp0540 // (c) 1987 IGT - International Game Technology -pepp0540a // (c) 1987 IGT - International Game Technology -pepp0542 // (c) 1987 IGT - International Game Technology -pepp0542a // (c) 1987 IGT - International Game Technology -pepp0542b // (c) 1987 IGT - International Game Technology -pepp0550 // (c) 1987 IGT - International Game Technology -pepp0550a // (c) 1987 IGT - International Game Technology -pepp0550b // (c) 1987 IGT - International Game Technology -pepp0555 // (c) 1987 IGT - International Game Technology -pepp0559 // (c) 1987 IGT - International Game Technology -pepp0562 // (c) 1987 IGT - International Game Technology -pepp0568 // (c) 1987 IGT - International Game Technology -pepp0585 // (c) 1987 IGT - International Game Technology -pepp0587 // (c) 1987 IGT - International Game Technology -pepp0596 // (c) 1987 IGT - International Game Technology -pepp0598 // (c) 1987 IGT - International Game Technology -pepp0711 // (c) 1987 IGT - International Game Technology -pepp0713 // (c) 1987 IGT - International Game Technology -pepp0725 // (c) 1987 IGT - International Game Technology -pepp0725a // (c) 1987 IGT - International Game Technology -pepp0726 // (c) 1987 IGT - International Game Technology -pepp0728 // (c) 1987 IGT - International Game Technology -pepp0729 // (c) 1987 IGT - International Game Technology -pepp0733 // (c) 1987 IGT - International Game Technology -pepp0750 // (c) 1987 IGT - International Game Technology -pepp0750a // (c) 1987 IGT - International Game Technology -pepp0757 // (c) 1987 IGT - International Game Technology -pepp0760 // (c) 1987 IGT - International Game Technology -pepp0763 // (c) 1987 IGT - International Game Technology -pepp0764 // (c) 1987 IGT - International Game Technology -pepp0775 // (c) 1987 IGT - International Game Technology -pepp0777 // (c) 1987 IGT - International Game Technology -pepp0797 // (c) 1987 IGT - International Game Technology -pepp0812 // (c) 1987 IGT - International Game Technology -pepp0816 // (c) 1987 IGT - International Game Technology -peps0014 // (c) 1996 IGT - International Game Technology -peps0015 // (c) 1996 IGT - International Game Technology -peps0021 // (c) 1996 IGT - International Game Technology -peps0022 // (c) 1996 IGT - International Game Technology -peps0040 // (c) 1996 IGT - International Game Technology -peps0041 // (c) 1996 IGT - International Game Technology -peps0042 // (c) 1996 IGT - International Game Technology -peps0043 // (c) 1996 IGT - International Game Technology -peps0044 // (c) 1996 IGT - International Game Technology -peps0045 // (c) 1996 IGT - International Game Technology -peps0047 // (c) 1996 IGT - International Game Technology -peps0048 // (c) 1996 IGT - International Game Technology -peps0070 // (c) 1996 IGT - International Game Technology -peps0086 // (c) 1996 IGT - International Game Technology -peps0090 // (c) 1996 IGT - International Game Technology -peps0092 // (c) 1996 IGT - International Game Technology -peps0205 // (c) 1996 IGT - International Game Technology -peps0206 // (c) 1996 IGT - International Game Technology -peps0207 // (c) 1996 IGT - International Game Technology -peps0239 // (c) 1996 IGT - International Game Technology -peps0267 // (c) 1996 IGT - International Game Technology -peps0271 // (c) 1996 IGT - International Game Technology -peps0275 // (c) 1996 IGT - International Game Technology -peps0275a // (c) 1996 IGT - International Game Technology -peps0280 // (c) 1996 IGT - International Game Technology -peps0280a // (c) 1996 IGT - International Game Technology -peps0291 // (c) 1996 IGT - International Game Technology -peps0296 // (c) 1996 IGT - International Game Technology -peps0298 // (c) 1996 IGT - International Game Technology -peps0308 // (c) 1996 IGT - International Game Technology -peps0358 // (c) 1996 IGT - International Game Technology -peps0364 // (c) 1996 IGT - International Game Technology -peps0366 // (c) 1996 IGT - International Game Technology -peps0372 // (c) 1996 IGT - International Game Technology -peps0373 // (c) 1996 IGT - International Game Technology -peps0425 // (c) 1996 IGT - International Game Technology -peps0426 // (c) 1996 IGT - International Game Technology -peps0470 // (c) 1996 IGT - International Game Technology -peps0581 // (c) 1996 IGT - International Game Technology -peps0615 // (c) 1996 IGT - International Game Technology -peps0623 // (c) 1996 IGT - International Game Technology -peps0628 // (c) 1996 IGT - International Game Technology -peps0629 // (c) 1996 IGT - International Game Technology -peps0631 // (c) 1996 IGT - International Game Technology -peps0708 // (c) 1996 IGT - International Game Technology -peps0716 // (c) 1996 IGT - International Game Technology -peps0722 // (c) 1996 IGT - International Game Technology -peset001 // (c) 1987 IGT - International Game Technology -peset004 // (c) 1987 IGT - International Game Technology -peset012 // (c) 1987 IGT - International Game Technology -peset022 // (c) 1987 IGT - International Game Technology -peset033 // (c) 1987 IGT - International Game Technology -peset038 // (c) 1987 IGT - International Game Technology -peset100 // (c) 1987 IGT - International Game Technology -peset117 // (c) 1987 IGT - International Game Technology -pex0002p // (c) 1995 IGT - International Game Technology -pex0002pa // (c) 1995 IGT - International Game Technology -pex0006k // (c) 1997 IGT - International Game Technology -pex0006p // (c) 1995 IGT - International Game Technology -pex0013k // (c) 1997 IGT - International Game Technology -pex0013ka // (c) 1997 IGT - International Game Technology -pex0014p // (c) 1995 IGT - International Game Technology -pex0040p // (c) 1995 IGT - International Game Technology -pex0042p // (c) 1995 IGT - International Game Technology -pex0045p // (c) 1995 IGT - International Game Technology -pex0046p // (c) 1995 IGT - International Game Technology -pex0053p // (c) 1995 IGT - International Game Technology -pex0054p // (c) 1995 IGT - International Game Technology -pex0055p // (c) 1995 IGT - International Game Technology -pex0055pa // (c) 1995 IGT - International Game Technology -pex0055pb // (c) 1995 IGT - International Game Technology -pex0055pc // (c) 1995 IGT - International Game Technology -pex0055pd // (c) 1995 IGT - International Game Technology -pex0055pe // (c) 1995 IGT - International Game Technology -pex0055pf // (c) 1995 IGT - International Game Technology -pex0055pg // (c) 1995 IGT - International Game Technology -pex0055ph // (c) 1995 IGT - International Game Technology -pex0055pi // (c) 1995 IGT - International Game Technology -pex0055pj // (c) 1995 IGT - International Game Technology -pex0055pk // (c) 1995 IGT - International Game Technology -pex0055pl // (c) 1995 IGT - International Game Technology -pex0055pm // (c) 1995 IGT - International Game Technology -pex0055pn // (c) 1995 IGT - International Game Technology -pex0055po // (c) 1995 IGT - International Game Technology -pex0055pp // (c) 1995 IGT - International Game Technology -pex0055pq // (c) 1995 IGT - International Game Technology -pex0055pr // (c) 1995 IGT - International Game Technology -pex0055ps // (c) 1995 IGT - International Game Technology -pex0055pt // (c) 1995 IGT - International Game Technology -pex0057p // (c) 1995 IGT - International Game Technology -pex0057pa // (c) 1995 IGT - International Game Technology -pex0057pb // (c) 1995 IGT - International Game Technology -pex0057pc // (c) 1995 IGT - International Game Technology -pex0057pd // (c) 1995 IGT - International Game Technology -pex0057pe // (c) 1995 IGT - International Game Technology -pex0057pf // (c) 1995 IGT - International Game Technology -pex0057pg // (c) 1995 IGT - International Game Technology -pex0060p // (c) 1995 IGT - International Game Technology -pex0124p // (c) 1995 IGT - International Game Technology -pex0127p // (c) 1995 IGT - International Game Technology -pex0150p // (c) 1995 IGT - International Game Technology -pex0158p // (c) 1995 IGT - International Game Technology -pex0171p // (c) 1995 IGT - International Game Technology -pex0188p // (c) 1995 IGT - International Game Technology -pex0190p // (c) 1995 IGT - International Game Technology -pex0197p // (c) 1995 IGT - International Game Technology -pex0203p // (c) 1995 IGT - International Game Technology -pex0224p // (c) 1995 IGT - International Game Technology -pex0225p // (c) 1995 IGT - International Game Technology -pex0242p // (c) 1995 IGT - International Game Technology -pex0265p // (c) 1995 IGT - International Game Technology -pex0291p // (c) 1995 IGT - International Game Technology -pex0403p // (c) 1995 IGT - International Game Technology -pex0417p // (c) 1995 IGT - International Game Technology -pex0426p // (c) 1995 IGT - International Game Technology -pex0430p // (c) 1995 IGT - International Game Technology -pex0434p // (c) 1995 IGT - International Game Technology -pex0444p // (c) 1995 IGT - International Game Technology -pex0447p // (c) 1995 IGT - International Game Technology -pex0449p // (c) 1995 IGT - International Game Technology -pex0451p // (c) 1995 IGT - International Game Technology -pex0452p // (c) 1995 IGT - International Game Technology -pex0454p // (c) 1995 IGT - International Game Technology -pex0455p // (c) 1995 IGT - International Game Technology -pex0458p // (c) 1995 IGT - International Game Technology -pex0459p // (c) 1995 IGT - International Game Technology -pex0459pa // (c) 1995 IGT - International Game Technology -pex0489p // (c) 1995 IGT - International Game Technology -pex0508p // (c) 1995 IGT - International Game Technology -pex0514p // (c) 1995 IGT - International Game Technology -pex0515p // (c) 1995 IGT - International Game Technology -pex0516p // (c) 1995 IGT - International Game Technology -pex0536p // (c) 1995 IGT - International Game Technology -pex0537p // (c) 1995 IGT - International Game Technology -pex0550p // (c) 1995 IGT - International Game Technology -pex0556p // (c) 1995 IGT - International Game Technology -pex0557p // (c) 1995 IGT - International Game Technology -pex0568p // (c) 1995 IGT - International Game Technology -pex0578p // (c) 1995 IGT - International Game Technology -pex0581p // (c) 1995 IGT - International Game Technology -pex0588p // (c) 1995 IGT - International Game Technology -pex0725p // (c) 1995 IGT - International Game Technology -pex0726p // (c) 1995 IGT - International Game Technology -pex0727p // (c) 1995 IGT - International Game Technology -pex0763p // (c) 1995 IGT - International Game Technology -pex0764p // (c) 1995 IGT - International Game Technology -pex0827s // (c) 1997 IGT - International Game Technology -pex0838s // (c) 1997 IGT - International Game Technology -pex0841s // (c) 1997 IGT - International Game Technology -pex0846s // (c) 1997 IGT - International Game Technology -pex0998s // (c) 1997 IGT - International Game Technology -pex1087s // (c) 1997 IGT - International Game Technology -pex2002p // (c) 1995 IGT - International Game Technology -pex2004p // (c) 1995 IGT - International Game Technology -pex2010p // (c) 1995 IGT - International Game Technology -pex2016p // (c) 1995 IGT - International Game Technology -pex2017p // (c) 1995 IGT - International Game Technology -pex2018p // (c) 1995 IGT - International Game Technology -pex2021p // (c) 1995 IGT - International Game Technology -pex2024p // (c) 1995 IGT - International Game Technology -pex2025p // (c) 1995 IGT - International Game Technology -pex2026p // (c) 1995 IGT - International Game Technology -pex2027p // (c) 1995 IGT - International Game Technology -pex2028p // (c) 1995 IGT - International Game Technology -pex2029p // (c) 1995 IGT - International Game Technology -pex2031p // (c) 1995 IGT - International Game Technology -pex2033p // (c) 1995 IGT - International Game Technology -pex2034p // (c) 1995 IGT - International Game Technology -pex2035p // (c) 1995 IGT - International Game Technology -pex2036p // (c) 1995 IGT - International Game Technology -pex2037p // (c) 1995 IGT - International Game Technology -pex2038p // (c) 1995 IGT - International Game Technology -pex2039p // (c) 1995 IGT - International Game Technology -pex2040p // (c) 1995 IGT - International Game Technology -pex2042p // (c) 1995 IGT - International Game Technology -pex2043p // (c) 1995 IGT - International Game Technology -pex2044p // (c) 1995 IGT - International Game Technology -pex2045p // (c) 1995 IGT - International Game Technology -pex2046p // (c) 1995 IGT - International Game Technology -pex2066p // (c) 1995 IGT - International Game Technology -pex2067p // (c) 1995 IGT - International Game Technology -pex2068p // (c) 1995 IGT - International Game Technology -pex2069p // (c) 1995 IGT - International Game Technology -pex2070p // (c) 1995 IGT - International Game Technology -pex2111p // (c) 1995 IGT - International Game Technology -pex2121p // (c) 1995 IGT - International Game Technology -pex2121pa // (c) 1995 IGT - International Game Technology -pex2127p // (c) 1995 IGT - International Game Technology -pex2134p // (c) 1995 IGT - International Game Technology -pex2143p // (c) 1995 IGT - International Game Technology -pex2149p // (c) 1995 IGT - International Game Technology -pex2150p // (c) 1995 IGT - International Game Technology -pex2152p // (c) 1995 IGT - International Game Technology -pex2172p // (c) 1995 IGT - International Game Technology -pex2172pa // (c) 1995 IGT - International Game Technology -pex2173p // (c) 1995 IGT - International Game Technology -pex2178p // (c) 1995 IGT - International Game Technology -pex2179p // (c) 1995 IGT - International Game Technology -pex2180p // (c) 1995 IGT - International Game Technology -pex2211p // (c) 1995 IGT - International Game Technology -pex2236p // (c) 1995 IGT - International Game Technology -pex2240p // (c) 1995 IGT - International Game Technology -pex2241p // (c) 1995 IGT - International Game Technology -pex2244p // (c) 1995 IGT - International Game Technology -pex2245p // (c) 1995 IGT - International Game Technology -pex2245pa // (c) 1995 IGT - International Game Technology -pex2247p // (c) 1995 IGT - International Game Technology -pex2250p // (c) 1995 IGT - International Game Technology -pex2251p // (c) 1995 IGT - International Game Technology -pex2252p // (c) 1995 IGT - International Game Technology -pex2270p // (c) 1995 IGT - International Game Technology -pex2272p // (c) 1995 IGT - International Game Technology -pex2275p // (c) 1995 IGT - International Game Technology -pex2276p // (c) 1995 IGT - International Game Technology -pex2279p // (c) 1995 IGT - International Game Technology -pex2283p // (c) 1995 IGT - International Game Technology -pex2284p // (c) 1995 IGT - International Game Technology -pex2287p // (c) 1995 IGT - International Game Technology -pex2297p // (c) 1995 IGT - International Game Technology -pex2297pa // (c) 1995 IGT - International Game Technology -pex2302p // (c) 1995 IGT - International Game Technology -pex2303p // (c) 1995 IGT - International Game Technology -pex2306p // (c) 1995 IGT - International Game Technology -pex2307p // (c) 1995 IGT - International Game Technology -pex2308p // (c) 1995 IGT - International Game Technology -pex2309p // (c) 1995 IGT - International Game Technology -pex2310p // (c) 1995 IGT - International Game Technology -pex2312p // (c) 1995 IGT - International Game Technology -pex2314p // (c) 1995 IGT - International Game Technology -pex2315p // (c) 1995 IGT - International Game Technology -pex2374p // (c) 1995 IGT - International Game Technology -pex2376p // (c) 1995 IGT - International Game Technology -pex2377p // (c) 1995 IGT - International Game Technology -pex2386p // (c) 1995 IGT - International Game Technology -pex2412p // (c) 1995 IGT - International Game Technology -pex2419p // (c) 1995 IGT - International Game Technology -pex2420p // (c) 1995 IGT - International Game Technology -pex2421p // (c) 1995 IGT - International Game Technology -pex2440p // (c) 1995 IGT - International Game Technology -pex2461p // (c) 1995 IGT - International Game Technology -pex2474p // (c) 1995 IGT - International Game Technology -pex2478p // (c) 1995 IGT - International Game Technology -pex2479p // (c) 1995 IGT - International Game Technology -pex2480p // (c) 1995 IGT - International Game Technology -pex2485p // (c) 1995 IGT - International Game Technology -pexm001p // (c) 1997 IGT - International Game Technology -pexm002p // (c) 1997 IGT - International Game Technology -pexm002pa // (c) 1997 IGT - International Game Technology -pexm003p // (c) 1997 IGT - International Game Technology -pexm004p // (c) 1997 IGT - International Game Technology -pexm005p // (c) 1997 IGT - International Game Technology -pexm006p // (c) 1997 IGT - International Game Technology -pexm006pa // (c) 1997 IGT - International Game Technology -pexm007p // (c) 1997 IGT - International Game Technology -pexm008p // (c) 1997 IGT - International Game Technology -pexm009p // (c) 1997 IGT - International Game Technology -pexm013p // (c) 1997 IGT - International Game Technology -pexmp011 // (c) 1997 IGT - International Game Technology -pexmp013 // (c) 1997 IGT - International Game Technology -pexmp014 // (c) 1997 IGT - International Game Technology -pexmp017 // (c) 1997 IGT - International Game Technology -pexmp017a // (c) 1997 IGT - International Game Technology -pexmp022 // (c) 1997 IGT - International Game Technology -pexmp026 // (c) 1997 IGT - International Game Technology -pexmp030 // (c) 1997 IGT - International Game Technology -sv1pf434 // (c) 1992 IGT - International Game Technology +im1p1952 // +im1p19s1 // +im2p1929 // +im3p1940 // +pcramclr // +pc644vz // +pc679cy // +pc714vz // +pc716vy // +pc718vy // +pebe0013 // +pebe0014 // +pebe0014a // +peip0028 // +peip0029 // +peip0031 // +peip0041 // +peip0051 // +peip0058 // +peip0062 // +peip0074 // +peip0079 // +peip0101 // +peip0103 // +peip0105 // +peip0108 // +peip0111 // +peip0112 // +peip0114 // +peip0115 // +peip0116 // +peip0118 // +peip0120 // +peivc006 // +peke0004 // +peke0004a // +peke0004b // +peke0017 // +peke0017a // +peke0026 // +peke1001 // +peke1006 // +peke1012 // +peke1012a // +peke1012b // +peke1013 // +peke1013a // +pekoc766 // +pekoc801 // +pekoc802 // +pekoc803 // +pekoc803a // +pekoc804 // +pekoc806 // +pekoc818 // +pekoc819 // +pekoc822 // +pekoc825 // +pemg0025 // +pemg0026 // +pemg0182 // +pemg0183 // +pemg0213 // +pemg0225 // +pemg0252 // +pepk0719 // +pepk0719a // +pepk0719b // +pepk0756 // +pepk0756a // +pepk0756b // +pepk0756c // +pepk0756d // +pepk0757 // +pepk0758 // +pepk0769 // +pepk0773 // +pepk0785 // +pepk0788 // +pepk0810 // +pepk0810a // +pepk0811 // +pepk0823 // +pepk0832 // +pepk0846 // +pepk0849 // +pepk0856 // +pepk0856a // +pepk0858 // +pepk0873 // +pepk0873a // +pepk0885 // +pepk0930 // +pepk0930a // +pepk1002 // +pepk1004 // +pepk1013 // +pepk1015 // +pepk1017 // +pepk1020 // +pepk1024 // +pepk1030 // +pepk1031 // +pepk1069 // +pepp0001 // +pepp0002 // +pepp0002a // +pepp0005 // +pepp0006 // +pepp0008 // +pepp0008a // +pepp0008b // +pepp0009 // +pepp0010 // +pepp0014 // +pepp0014a // +pepp0021 // +pepp0023 // +pepp0038 // +pepp0040 // +pepp0040a // +pepp0040b // +pepp0041 // +pepp0042 // +pepp0042a // +pepp0042b // +pepp0043 // +pepp0043a // +pepp0043b // +pepp0045 // +pepp0045a // +pepp0045b // +pepp0045c // +pepp0045d // +pepp0045e // +pepp0045f // +pepp0045g // +pepp0046 // +pepp0046a // +pepp0046b // +pepp0046c // +pepp0048 // +pepp0048a // +pepp0048b // +pepp0048c // +pepp0050 // +pepp0050a // +pepp0050b // +pepp0050c // +pepp0050d // +pepp0051 // +pepp0052 // +pepp0053 // +pepp0054 // +pepp0055 // +pepp0055a // +pepp0055b // +pepp0055c // +pepp0055d // +pepp0057 // +pepp0057a // +pepp0057b // +pepp0057c // +pepp0057d // +pepp0059 // +pepp0059a // +pepp0060 // +pepp0060a // +pepp0060b // +pepp0060c // +pepp0063 // +pepp0064 // +pepp0065 // +pepp0078 // +pepp0079 // +pepp0083 // +pepp0083a // +pepp0085 // +pepp0089 // +pepp0094 // +pepp0094a // +pepp0102 // +pepp0103 // +pepp0103a // +pepp0103b // +pepp0103c // +pepp0104 // +pepp0104a // +pepp0116 // +pepp0116a // +pepp0117 // +pepp0118 // +pepp0120 // +pepp0122 // +pepp0123 // +pepp0125 // +pepp0125a // +pepp0126 // +pepp0126a // +pepp0126b // +pepp0127 // +pepp0127a // +pepp0127b // +pepp0129 // +pepp0130 // +pepp0132 // +pepp0143 // +pepp0150 // +pepp0158 // +pepp0158a // +pepp0158b // +pepp0158c // +pepp0158d // +pepp0159 // +pepp0171 // +pepp0171a // +pepp0178 // +pepp0181 // +pepp0188 // +pepp0188a // +pepp0188b // +pepp0189 // +pepp0190 // +pepp0190a // +pepp0190b // +pepp0190c // +pepp0195 // +pepp0197 // +pepp0197a // +pepp0197b // +pepp0197c // +pepp0197d // +pepp0197e // +pepp0197f // +pepp0203 // +pepp0203a // +pepp0203b // +pepp0203c // +pepp0203d // +pepp0203e // +pepp0218 // +pepp0219 // +pepp0221 // +pepp0221a // +pepp0221b // +pepp0223 // +pepp0224 // +pepp0224a // +pepp0230 // +pepp0231 // +pepp0232 // +pepp0242 // +pepp0242a // +pepp0249 // +pepp0250 // +pepp0250a // +pepp0265 // +pepp0265a // +pepp0265b // +pepp0265c // +pepp0274 // +pepp0288 // +pepp0290 // +pepp0290a // +pepp0291 // +pepp0291a // +pepp0294 // +pepp0295 // +pepp0401 // +pepp0409 // +pepp0410 // +pepp0410a // +pepp0417 // +pepp0417a // +pepp0418 // +pepp0418a // +pepp0419 // +pepp0419a // +pepp0419b // +pepp0420 // +pepp0420a // +pepp0423 // +pepp0423a // +pepp0423b // +pepp0423c // +pepp0425 // +pepp0426 // +pepp0428 // +pepp0429 // +pepp0429a // +pepp0430 // +pepp0430a // +pepp0431 // +pepp0434 // +pepp0434a // +pepp0445 // +pepp0447 // +pepp0447a // +pepp0447b // +pepp0449 // +pepp0449a // +pepp0450 // +pepp0451 // +pepp0452 // +pepp0452a // +pepp0453 // +pepp0454 // +pepp0454a // +pepp0455 // +pepp0458 // +pepp0459 // +pepp0459a // +pepp0467 // +pepp0469 // +pepp0472 // +pepp0488 // +pepp0508 // +pepp0508a // +pepp0509 // +pepp0510 // +pepp0514 // +pepp0514a // +pepp0514b // +pepp0515 // +pepp0515a // +pepp0515b // +pepp0515c // +pepp0516 // +pepp0516a // +pepp0516b // +pepp0516c // +pepp0526 // +pepp0531 // +pepp0536 // +pepp0538 // +pepp0540 // +pepp0540a // +pepp0540b // +pepp0542 // +pepp0542a // +pepp0542b // +pepp0550 // +pepp0550a // +pepp0550b // +pepp0555 // +pepp0559 // +pepp0562 // +pepp0568 // +pepp0585 // +pepp0587 // +pepp0596 // +pepp0598 // +pepp0711 // +pepp0713 // +pepp0725 // +pepp0725a // +pepp0726 // +pepp0728 // +pepp0729 // +pepp0733 // +pepp0750 // +pepp0750a // +pepp0757 // +pepp0760 // +pepp0763 // +pepp0764 // +pepp0775 // +pepp0777 // +pepp0797 // +pepp0812 // +pepp0816 // +peps0014 // +peps0015 // +peps0021 // +peps0022 // +peps0040 // +peps0041 // +peps0042 // +peps0043 // +peps0044 // +peps0045 // +peps0047 // +peps0048 // +peps0070 // +peps0086 // +peps0090 // +peps0092 // +peps0205 // +peps0206 // +peps0207 // +peps0239 // +peps0267 // +peps0271 // +peps0275 // +peps0275a // +peps0278 // +peps0280 // +peps0280a // +peps0291 // +peps0296 // +peps0298 // +peps0308 // +peps0358 // +peps0364 // +peps0366 // +peps0372 // +peps0373 // +peps0425 // +peps0426 // +peps0470 // +peps0581 // +peps0615 // +peps0623 // +peps0628 // +peps0629 // +peps0631 // +peps0708 // +peps0716 // +peps0722 // +peset001 // +peset004 // +peset012 // +peset022 // +peset033 // +peset038 // +peset100 // +peset117 // +pex0002p // +pex0002pa // +pex0006k // +pex0006p // +pex0013k // +pex0013ka // +pex0014p // +pex0040p // +pex0042p // +pex0045p // +pex0046p // +pex0053p // +pex0054p // +pex0055p // +pex0055pa // +pex0055pb // +pex0055pc // +pex0055pd // +pex0055pe // +pex0055pf // +pex0055pg // +pex0055ph // +pex0055pi // +pex0055pj // +pex0055pk // +pex0055pl // +pex0055pm // +pex0055pn // +pex0055po // +pex0055pp // +pex0055pq // +pex0055pr // +pex0055ps // +pex0055pt // +pex0057p // +pex0057pa // +pex0057pb // +pex0057pc // +pex0057pd // +pex0057pe // +pex0057pf // +pex0057pg // +pex0060p // +pex0124p // +pex0126p // +pex0127p // +pex0150p // +pex0158p // +pex0171p // +pex0188p // +pex0190p // +pex0197p // +pex0203p // +pex0224p // +pex0225p // +pex0242p // +pex0265p // +pex0291p // +pex0403p // +pex0417p // +pex0426p // +pex0430p // +pex0434p // +pex0444p // +pex0447p // +pex0449p // +pex0451p // +pex0452p // +pex0454p // +pex0455p // +pex0458p // +pex0459p // +pex0459pa // +pex0489p // +pex0508p // +pex0514p // +pex0515p // +pex0516p // +pex0536p // +pex0537p // +pex0550p // +pex0556p // +pex0557p // +pex0568p // +pex0578p // +pex0581p // +pex0588p // +pex0725p // +pex0726p // +pex0727p // +pex0763p // +pex0764p // +pex0827s // +pex0838s // +pex0841s // +pex0846s // +pex0998s // +pex1087s // +pex2001p // +pex2002p // +pex2004p // +pex2010p // +pex2016p // +pex2017p // +pex2018p // +pex2021p // +pex2024p // +pex2025p // +pex2026p // +pex2027p // +pex2028p // +pex2029p // +pex2031p // +pex2033p // +pex2034p // +pex2035p // +pex2036p // +pex2037p // +pex2038p // +pex2039p // +pex2040p // +pex2042p // +pex2043p // +pex2044p // +pex2045p // +pex2046p // +pex2066p // +pex2067p // +pex2068p // +pex2069p // +pex2070p // +pex2111p // +pex2121p // +pex2121pa // +pex2127p // +pex2133p // +pex2134p // +pex2143p // +pex2149p // +pex2150p // +pex2152p // +pex2172p // +pex2172pa // +pex2173p // +pex2178p // +pex2179p // +pex2180p // +pex2211p // +pex2236p // +pex2240p // +pex2241p // +pex2244p // +pex2245p // +pex2245pa // +pex2247p // +pex2250p // +pex2251p // +pex2252p // +pex2270p // +pex2272p // +pex2275p // +pex2276p // +pex2278p // +pex2279p // +pex2283p // +pex2284p // +pex2287p // +pex2297p // +pex2297pa // +pex2302p // +pex2303p // +pex2306p // +pex2307p // +pex2308p // +pex2309p // +pex2310p // +pex2312p // +pex2314p // +pex2315p // +pex2374p // +pex2376p // +pex2377p // +pex2386p // +pex2412p // +pex2419p // +pex2420p // +pex2421p // +pex2440p // +pex2461p // +pex2474p // +pex2478p // +pex2479p // +pex2480p // +pex2485p // +pexm001p // +pexm002p // +pexm002pa // +pexm003p // +pexm004p // +pexm005p // +pexm006p // +pexm006pa // +pexm007p // +pexm008p // +pexm009p // +pexm013p // +pexmp011 // +pexmp013 // +pexmp014 // +pexmp017 // +pexmp017a // +pexmp022 // +pexmp026 // +pexmp030 // +sv1pf434 // @source:igt/splus.cpp spset005 // (c) 1993 IGT - International Game Technology @@ -29080,9 +29186,16 @@ abigchs // Big Cheese aclown // Clown atlantca // Atlantica atlantcaa // +atrbonpk // Bonus Poker +atrbtlma // Beetlemania +atricmon // I C Money +atricmona // atronic // atronica // -baboshka // Baboshka +atronicb // +atrwild // Wild Thing +baboshka // Babooshka +baboshkar // beachpt // Beach Patrol bearnec // Bear Necessities beetleup // Beetles Unplugged @@ -29092,21 +29205,23 @@ castawaya // cfblue // Crazy Fruits Blue cfbluea // cfgreen // Crazy Fruits Green +chicdale // Chickendales chicken // Chicken dncsprt // Dancing Spirit drmmake // Dream Maker +drmmaker // goldcity // Gold City goldglen // Golden Glenn +haphippy // Happy Happy Hippy iccash // I C Cash jumpjkpt // Jumping Jackpots mushmagi // Mushroom Magic santam // Santa Maria -shpinxii // Sphinx II +sphinxii // Sphinx II +sphinxiir // splmastr // Spell Master tajmah // Tajmahal -atrwild -atricmon -atrbonpk +tylagoon // Typhoon Lagoon @source:misc/attckufo.cpp attckufo // (c) 1980 Ryoto Electric Co. @@ -29276,7 +29391,9 @@ castrev // Revolution @source:misc/cb2001.cpp cb2001 // (c) 2000 Dyna Electronics +cb4 // (c) 1997 Dyna Electronics cb5 // (c) 1997 Dyna Electronics +crzybell // (c) 1995 Dyna Electronics dynastye // (c) 2002 Dyna Electronics mystjb // (c) 1998 Dyna Electronics ndongmul2 // (c) 1999 Dyna Electronics @@ -30575,8 +30692,10 @@ goldnpkd // Bootleg goldnpke // Intercoast (bootleg) goldnpkf // Intercoast (bootleg) goldnpkg // Bootleg +goldnpkh // (c) 1981 Bonanza goldnpkr // (c) 1981 Bonanza goodluck // Unknown +icproul // bootleg? jkrbonus // bootleg? jokercar // 199?, unknown lespendu // (c) 198? Voyageur de L'Espace Inc. @@ -30610,6 +30729,8 @@ potnpkrk // Bootleg potnpkrl // Bootleg potnpkrm // Bootleg potnpkrn // Bootleg +potnpkro // Bootleg +potnpkrp // Bootleg pottnpkr // Bootleg royale // Unknown royalea // Unknown @@ -30918,10 +31039,6 @@ dealracl // kingpin // (c) 1983 American Communications Laboratories Inc. maxideal // (c) 1983 American Communications Laboratories Inc. -@source:misc/kurukuru.cpp -kurukuru // (c) 1990 Success / Taiyo Jidoki. -ppj // (c) 199? Success / Taiyo Jidoki. - @source:misc/ladyfrog.cpp ladyfrog // (c) 1990 Mondial Games toucheme // @@ -31627,9 +31744,6 @@ onetwoe // (c) 1997 Barko multibaby // (c) 1990 Oper Coin spirulo // (c) 1988 Oper Coin -@source:misc/othello.cpp -othello // (c) 1984 Success. - @source:misc/pachifev.cpp pachifev // (c) 1983? @@ -32154,9 +32268,6 @@ skeetsht // (c) 1991 @source:misc/skimaxx.cpp skimaxx // (c) 1996 Kyle Hodgetts/ICE -@source:misc/skopro.cpp -drgdance // 2008 - @source:misc/skyarmy.cpp skyarmy // (c) 1982 Shoei @@ -32205,9 +32316,6 @@ sms4in1a // (c) 1984 SMS MFG CORP trvhang // (c) 1984 SMS MFG CORP trvhanga // (c) 1984 SMS MFG CORP -@source:misc/sothello.cpp -sothello // (c) 1986 Success / Fujiwara. - @source:misc/spdamjes.cpp spdamjes // (c) 19?? T-90 S.A. @@ -32612,6 +32720,9 @@ sshot // (c) 1979 Model Racing @source:modelracing/subhuntr.cpp subhuntr // 1979 Model Racing +@source:moog/source.cpp +moogsource // Moog Source + @source:morrow/microdec.cpp md2 // md3 // @@ -32673,10 +32784,6 @@ sys1121 // (c) 1984 Motorola @source:motorola/uchroma68.cpp uchroma68 // 1980 Motorola evaluation board for the MC6847 -@source:msx/big10.cpp -big10 // -big10a // (c) 1986 System Make - @source:msx/forte2.cpp pesadelo // (c) 1989 Forte II Games @@ -35310,6 +35417,9 @@ cexpert cfortea cforteb +@source:novag/cnchess.cpp +cnchess + @source:novag/const.cpp const const36 @@ -35459,6 +35569,9 @@ popper // (c) 1983 Omori Electric Co., Ltd. @source:omori/spaceg.cpp spaceg // (c) 19?? +@source:omori/yakyuken.cpp +yakyuken + @source:omron/luna_68k.cpp luna // Omron Luna @@ -42336,6 +42449,12 @@ e100 // @source:skeleton/easy_karaoke.cpp bkarast +bkarasta +bkarastb +bkarastc +bkarastd +bkaraste +bkarastf dks7000c dks7000p easykara @@ -42424,9 +42543,6 @@ goupilg2 // @source:skeleton/grfd2301.cpp grfd2301 // -@source:skeleton/guchokipa.cpp -guchokip - @source:skeleton/happyvideo.cpp hppyvideo // @@ -42639,6 +42755,9 @@ mycom // ngen // 1983 ngenb38 // 1991 +@source:skeleton/nordlead.cpp +nordle2x // 2003 + @source:skeleton/onyx.cpp c5000 // 1981 c8002 // @@ -42897,6 +43016,9 @@ vector3 // @source:skeleton/vectrix.cpp vectrix // (c) 19?? Olympia? +@source:skeleton/venteta.cpp +venteta + @source:skeleton/vgame.cpp hilice // @@ -43412,6 +43534,26 @@ xplan // (c) 2006 Subsino xreel xtrain // (c) 1999 Subsino +@source:success/big10.cpp +big10 // +big10a // (c) 1986 System Make + +@source:success/kurukuru.cpp +kurukuru // (c) 1990 Success / Taiyo Jidoki. +ppj // (c) 199? Success / Taiyo Jidoki. + +@source:success/othello.cpp +othello // (c) 1984 Success. + +@source:success/skopro.cpp +drgdance // 2008 + +@source:success/sothello.cpp +sothello // (c) 1986 Success / Fujiwara. + +@source:success/tonton.cpp +tonton // (c) 199? Success / Taiyo Jidoki. + @source:sun/sun1.cpp sun1 // @@ -43558,9 +43700,6 @@ shangha2a // (c) 1989 Sunsoft (Sun Electronics) shanghai // (c) 1988 Sunsoft (Sun Electronics) shanghaij // (c) 1988 Sunsoft (Sun Electronics) -@source:sunelectronics/tonton.cpp -tonton // (c) 199? Success / Taiyo Jidoki. - @source:sunwise/anoworld.cpp anoworld @@ -43996,6 +44135,8 @@ rollace2 // (c) 1983 Williams @source:taito/sbmjb.cpp bubbroul // E48 (c) 1997 Taito +bubbroul17 // E48 (c) 1997 Taito +harikiri // E67 (c) 1998 Taito honooinv // E41 (c) 1997 Taito packysts // E55 (c) 1997 Taito rendfgtr // E88 (c) 2000 Taito @@ -45829,6 +45970,7 @@ lxspidaj mattelcs // ordentv pballpup +prail rad_crik // rad_fb2 // rad_skat // @@ -45853,6 +45995,7 @@ rad_digi @source:tvgames/spg2xx_dreamlife.cpp dreamlif // dsgnwrld +gigapets @source:tvgames/spg2xx_ican.cpp icanguit // @@ -46135,6 +46278,7 @@ tvpc_tom ltv_naru // domfitad // dombikec // +epo_dabj @source:tvgames/xavix_2000.cpp ban_omt // @@ -46157,6 +46301,8 @@ ttv_sw // ttv_swj // @source:tvgames/xavix_2002.cpp +ban_kksj +ban_ordj domdance // domfitch // domfitex // @@ -46166,6 +46312,7 @@ mrangbat suprtvpc suprtvpcdo suprtvpchk +tmy_rkmj tmy_thom // udance xavaero // diff --git a/src/mame/matsushita/jr200.cpp b/src/mame/matsushita/jr200.cpp index fa0cc42cd6e50..799253a17bb63 100644 --- a/src/mame/matsushita/jr200.cpp +++ b/src/mame/matsushita/jr200.cpp @@ -459,7 +459,7 @@ void jr200_state::mem_map(address_map &map) /* Input ports */ static INPUT_PORTS_START( jr200 ) -// PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") +// PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("X0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_1) PORT_CHAR('1') PORT_CHAR('!') diff --git a/src/mame/mattel/pixtermu.cpp b/src/mame/mattel/pixtermu.cpp index 6655a731ef449..46e89ca28f68c 100644 --- a/src/mame/mattel/pixtermu.cpp +++ b/src/mame/mattel/pixtermu.cpp @@ -248,4 +248,4 @@ ROM_END // year, name, parent, compat, machine, input, class, init, company, fullname, flags -CONS( 2005, pixtermu, 0, 0, pixter_multimedia, pixter_multimedia, pixter_multimedia_state, empty_init, "Mattel", "Pixter Multi-Media", MACHINE_IS_SKELETON ) +CONS( 2005, pixtermu, 0, 0, pixter_multimedia, pixter_multimedia, pixter_multimedia_state, empty_init, "Mattel", "Pixter Multi-Media", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/maygay/maygayep.cpp b/src/mame/maygay/maygayep.cpp index 902d647331a21..7d947d09b6a21 100644 --- a/src/mame/maygay/maygayep.cpp +++ b/src/mame/maygay/maygayep.cpp @@ -7053,1028 +7053,1028 @@ ROM_END /* header info */ -GAME( 1998, ep_simp, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (3.6, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1998, ep_simpa, ep_simp, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (3.5, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1998, ep_simpb, ep_simp, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (3.5, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1998, ep_simpc, ep_simp, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (4.5, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1998, ep_simpd, ep_simp, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (4.5, set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1998, ep_simpe, ep_simp, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (1.5, set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1998, ep_simpf, ep_simp, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (1.5, set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1998, ep_simpg, ep_simp, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (2.5, set 8)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1998, ep_simph, ep_simp, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (2.5, set 9)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1999, ep_simpj, ep_simp, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (1.8, set 10)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1999, ep_simpk, ep_simp, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (1.8, set 11)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1999, ep_simpl, ep_simp, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (3.7, set 12)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1999, ep_simpm, ep_simp, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (3.7, set 13)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 1999, ep_merln, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Merlin's Magic (Maygay) (EPOCH) (1.91)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 1998, ep_bingb, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Bingo Belle (Maygay) (EPOCH) (1.3, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1998, ep_bingba, ep_bingb, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Bingo Belle (Maygay) (EPOCH) (1.3, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 1998, ep_calyp, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Calypso (Maygay) (EPOCH) (2.2, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1998, ep_calypa, ep_calyp, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Calypso (Maygay) (EPOCH) (2.2, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 1998, ep_cow, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Carry On Winning (Maygay) (EPOCH) (1.3, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1998, ep_cowa, ep_cow, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Carry On Winning (Maygay) (EPOCH) (1.3, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 1998, ep_cfall, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash Falls (Maygay) (EPOCH) (1.2, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1998, ep_cfalla, ep_cfall, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash Falls (Maygay) (EPOCH) (1.3, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1998, ep_cfallb, ep_cfall, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash Falls (Maygay) (EPOCH) (1.3, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1998, ep_cfallc, ep_cfall, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash Falls (Maygay) (EPOCH) (2.3, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1998, ep_cfalld, ep_cfall, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash Falls (Maygay) (EPOCH) (2.3, set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1998, ep_cfalle, ep_cfall, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash Falls (Maygay) (EPOCH) (3.2, set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1998, ep_cfallf, ep_cfall, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash Falls (Maygay) (EPOCH) (3.2, set 7)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 1998, ep_cflow, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash Flow (Maygay) (EPOCH) (3.7, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1998, ep_cflowa, ep_cflow, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash Flow (Maygay) (EPOCH) (3.2, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1999, ep_cflowc, ep_cflow, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash Flow (Maygay) (EPOCH) (3.A, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1999, ep_cflowd, ep_cflow, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash Flow (Maygay) (EPOCH) (3.A, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_doubl, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Double Top (Maygay) (EPOCH) (1.4, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_doubla, ep_doubl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Double Top (Maygay) (EPOCH) (1.4, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_doublb, ep_doubl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Double Top (Maygay) (EPOCH) (1.6, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_doublc, ep_doubl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Double Top (Maygay) (EPOCH) (1.6, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_doubld, ep_doubl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Double Top (Maygay) (EPOCH) (1.4, set 5)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_evil, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Evil Streak (Maygay) (EPOCH) (1.6, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_evila, ep_evil, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Evil Streak (Maygay) (EPOCH) (1.6, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_evilb, ep_evil, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Evil Streak (Maygay) (EPOCH) (1.4, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 1998, ep_nyny, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "New York New York (Maygay) (EPOCH) (3.6, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1998, ep_nynya, ep_nyny, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "New York New York (Maygay) (EPOCH) (3.6, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1998, ep_nynyb, ep_nyny, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "New York New York (Maygay) (EPOCH) (4.6, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1998, ep_nynyc, ep_nyny, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "New York New York (Maygay) (EPOCH) (4.6, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1998, ep_nynyd, ep_nyny, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "New York New York (Maygay) (EPOCH) (3.A, set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1998, ep_nynye, ep_nyny, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "New York New York (Maygay) (EPOCH) (3.A, set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1998, ep_nynyf, ep_nyny, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "New York New York (Maygay) (EPOCH) (3.9, set 7)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_pizza, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Pizza The Action (Maygay) (EPOCH) (2.3, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_pizzaa, ep_pizza, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Pizza The Action (Maygay) (EPOCH) (2.3, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_pizzab, ep_pizza, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Pizza The Action (Maygay) (EPOCH) (2.1, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_pizzac, ep_pizza, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Pizza The Action (Maygay) (EPOCH) (2.1, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_crazy, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Reel Crazy (Maygay) (EPOCH) (1.6, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_crazya, ep_crazy, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Reel Crazy (Maygay) (EPOCH) (1.6, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_crazyb, ep_crazy, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Reel Crazy (Maygay) (EPOCH) (2.6, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_crazyc, ep_crazy, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Reel Crazy (Maygay) (EPOCH) (2.6, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_crazyd, ep_crazy, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Reel Crazy (Maygay) (EPOCH) (1.9, set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_crazye, ep_crazy, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Reel Crazy (Maygay) (EPOCH) (1.9, set 6)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1998, ep_simp, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (3.6, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1998, ep_simpa, ep_simp, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (3.5, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1998, ep_simpb, ep_simp, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (3.5, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1998, ep_simpc, ep_simp, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (4.5, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1998, ep_simpd, ep_simp, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (4.5, set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1998, ep_simpe, ep_simp, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (1.5, set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1998, ep_simpf, ep_simp, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (1.5, set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1998, ep_simpg, ep_simp, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (2.5, set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1998, ep_simph, ep_simp, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (2.5, set 9)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1999, ep_simpj, ep_simp, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (1.8, set 10)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1999, ep_simpk, ep_simp, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (1.8, set 11)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1999, ep_simpl, ep_simp, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (3.7, set 12)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1999, ep_simpm, ep_simp, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (3.7, set 13)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 1999, ep_merln, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Merlin's Magic (Maygay) (EPOCH) (1.91)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 1998, ep_bingb, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Bingo Belle (Maygay) (EPOCH) (1.3, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1998, ep_bingba, ep_bingb, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Bingo Belle (Maygay) (EPOCH) (1.3, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 1998, ep_calyp, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Calypso (Maygay) (EPOCH) (2.2, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1998, ep_calypa, ep_calyp, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Calypso (Maygay) (EPOCH) (2.2, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 1998, ep_cow, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Carry On Winning (Maygay) (EPOCH) (1.3, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1998, ep_cowa, ep_cow, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Carry On Winning (Maygay) (EPOCH) (1.3, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 1998, ep_cfall, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash Falls (Maygay) (EPOCH) (1.2, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1998, ep_cfalla, ep_cfall, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash Falls (Maygay) (EPOCH) (1.3, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1998, ep_cfallb, ep_cfall, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash Falls (Maygay) (EPOCH) (1.3, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1998, ep_cfallc, ep_cfall, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash Falls (Maygay) (EPOCH) (2.3, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1998, ep_cfalld, ep_cfall, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash Falls (Maygay) (EPOCH) (2.3, set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1998, ep_cfalle, ep_cfall, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash Falls (Maygay) (EPOCH) (3.2, set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1998, ep_cfallf, ep_cfall, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash Falls (Maygay) (EPOCH) (3.2, set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 1998, ep_cflow, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash Flow (Maygay) (EPOCH) (3.7, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1998, ep_cflowa, ep_cflow, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash Flow (Maygay) (EPOCH) (3.2, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1999, ep_cflowc, ep_cflow, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash Flow (Maygay) (EPOCH) (3.A, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1999, ep_cflowd, ep_cflow, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash Flow (Maygay) (EPOCH) (3.A, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_doubl, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Double Top (Maygay) (EPOCH) (1.4, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_doubla, ep_doubl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Double Top (Maygay) (EPOCH) (1.4, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_doublb, ep_doubl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Double Top (Maygay) (EPOCH) (1.6, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_doublc, ep_doubl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Double Top (Maygay) (EPOCH) (1.6, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_doubld, ep_doubl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Double Top (Maygay) (EPOCH) (1.4, set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_evil, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Evil Streak (Maygay) (EPOCH) (1.6, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_evila, ep_evil, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Evil Streak (Maygay) (EPOCH) (1.6, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_evilb, ep_evil, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Evil Streak (Maygay) (EPOCH) (1.4, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 1998, ep_nyny, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "New York New York (Maygay) (EPOCH) (3.6, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1998, ep_nynya, ep_nyny, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "New York New York (Maygay) (EPOCH) (3.6, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1998, ep_nynyb, ep_nyny, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "New York New York (Maygay) (EPOCH) (4.6, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1998, ep_nynyc, ep_nyny, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "New York New York (Maygay) (EPOCH) (4.6, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1998, ep_nynyd, ep_nyny, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "New York New York (Maygay) (EPOCH) (3.A, set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1998, ep_nynye, ep_nyny, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "New York New York (Maygay) (EPOCH) (3.A, set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1998, ep_nynyf, ep_nyny, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "New York New York (Maygay) (EPOCH) (3.9, set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_pizza, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Pizza The Action (Maygay) (EPOCH) (2.3, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_pizzaa, ep_pizza, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Pizza The Action (Maygay) (EPOCH) (2.3, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_pizzab, ep_pizza, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Pizza The Action (Maygay) (EPOCH) (2.1, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_pizzac, ep_pizza, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Pizza The Action (Maygay) (EPOCH) (2.1, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_crazy, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Reel Crazy (Maygay) (EPOCH) (1.6, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_crazya, ep_crazy, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Reel Crazy (Maygay) (EPOCH) (1.6, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_crazyb, ep_crazy, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Reel Crazy (Maygay) (EPOCH) (2.6, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_crazyc, ep_crazy, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Reel Crazy (Maygay) (EPOCH) (2.6, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_crazyd, ep_crazy, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Reel Crazy (Maygay) (EPOCH) (1.9, set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_crazye, ep_crazy, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Reel Crazy (Maygay) (EPOCH) (1.9, set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // CA000527 SUPER MARIO - version number seems to jump backwards from 2.A after 1.A, with 2.A having the exact same build date as 1.A.. is the KJ / SM / CW bit significant? or is the 2.A revision a mistake, it comes after the 1.A in label tho, so 1.A isn't a correction. -GAME( 1997, ep_mario, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Super Mario (Maygay) (EPOCH) (1.5, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) // SA970024 SA970018 11:40:00 DEC 02 1997 MAB, V1.5 EPOCH APOLLO AllCash -GAME( 1997, ep_marioa, ep_mario, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Super Mario (Maygay) (EPOCH) (1.5, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) // SA970025 SA970019 11:40:00 DEC 02 1997 MAB, V1.5 EPOCH APOLLO AllCash -GAME( 1997, ep_mariob, ep_mario, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Super Mario (Maygay) (EPOCH) (1.A, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) // SA970036 SA970024 11:15:00 DEC 23 1997 KJGio.x, 1.A EPOCH APOLLO -GAME( 1997, ep_marioc, ep_mario, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Super Mario (Maygay) (EPOCH) (1.A, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) // SA970037 SA970025 11:15:00 DEC 23 1997 KJGio.x, 1.A EPOCH APOLLO -GAME( 1997, ep_mariod, ep_mario, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Super Mario (Maygay) (EPOCH) (2.A, set 5)",MACHINE_IS_SKELETON_MECHANICAL ) // SA970038 SA970026 11:15:00 DEC 23 1997 KJGio.x, 2.A EPOCH APOLLO -GAME( 1997, ep_marioe, ep_mario, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Super Mario (Maygay) (EPOCH) (2.A, set 6)",MACHINE_IS_SKELETON_MECHANICAL ) // SA970039 SA970027 11:15:00 DEC 23 1997 KJGio.x, 2.A EPOCH APOLLO -GAME( 1998, ep_marioh, ep_mario, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Super Mario (Maygay) (EPOCH) (1.B, set 9)",MACHINE_IS_SKELETON_MECHANICAL ) // SA980286 SA970037 10:05:00 AUG 26 1998 SJMio.x, 1.B EPOCH APOLLO -GAME( 1999, ep_mariof, ep_mario, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Super Mario (Maygay) (EPOCH) (1.C, set 7)",MACHINE_IS_SKELETON_MECHANICAL ) // SA990033 SA980286 14:05:00 FEB 26 1999 CWGio.x, 1.C EPOCH APOLLO -GAME( 1999, ep_mariog, ep_mario, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Super Mario (Maygay) (EPOCH) (1.C, set 8)",MACHINE_IS_SKELETON_MECHANICAL ) // SA990034 SA980287 14:05:00 FEB 26 1999 CWGio.x, 1.C EPOCH APOLLO - -GAME( 199?, ep_tincn, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Tin Can Alley (Maygay) (EPOCH) (1.5, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_tincna, ep_tincn, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Tin Can Alley (Maygay) (EPOCH) (1.5, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_tonfn, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Tons Of Fun (Maygay) (EPOCH) (1.5, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_tonfna, ep_tonfn, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Tons Of Fun (Maygay) (EPOCH) (1.5, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_tcrwn, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Triple Crown (Maygay) (EPOCH) (2.2, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_tcrwna, ep_tcrwn, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Triple Crown (Maygay) (EPOCH) (2.2, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_tcrwnb, ep_tcrwn, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Triple Crown (Maygay) (EPOCH) (2.2, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_tcrwnc, ep_tcrwn, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Triple Crown (Maygay) (EPOCH) (2.2, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_tcrwnd, ep_tcrwn, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Triple Crown (Maygay) (EPOCH) (3.1, set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_tcrwne, ep_tcrwn, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Triple Crown (Maygay) (EPOCH) (3.1, set 6)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_word, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Word Up (Maygay) (EPOCH) (1.4, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_worda, ep_word, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Word Up (Maygay) (EPOCH) (1.4, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_wordb, ep_word, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Word Up (Maygay) (EPOCH) (2.4, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_wordc, ep_word, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Word Up (Maygay) (EPOCH) (2.4, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_wordd, ep_word, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Word Up (Maygay) (EPOCH) (3.1, set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_worde, ep_word, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Word Up (Maygay) (EPOCH) (3.1, set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_wordf, ep_word, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Word Up (Maygay) (EPOCH) (4.1, set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_wordg, ep_word, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Word Up (Maygay) (EPOCH) (4.1, set 8)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_xtra, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "X-tra X-tra (Maygay) (EPOCH) (1.5, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_xtraa, ep_xtra, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "X-tra X-tra (Maygay) (EPOCH) (1.5, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 2002, ep_25crt, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "25 Carrot Gold (Maygay) (EPOCH) (1.2, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, ep_25crta, ep_25crt, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "25 Carrot Gold (Maygay) (EPOCH) (1.1, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, ep_25crtb, ep_25crt, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "25 Carrot Gold (Maygay) (EPOCH) (3.1, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2003, ep_25crtc, ep_25crt, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "25 Carrot Gold (Maygay) (EPOCH) (4.1, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2003, ep_25crtd, ep_25crt, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "25 Carrot Gold (Maygay) (EPOCH) (5.1, set 5)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_bartk, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Bar Trekkin (Maygay) (EPOCH) (4.5, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_bartka, ep_bartk, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Bar Trekkin (Maygay) (EPOCH) (3.9, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_bartkb, ep_bartk, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Bar Trekkin (Maygay) (EPOCH) (3.9, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_bartkc, ep_bartk, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Bar Trekkin (Maygay) (EPOCH) (4.4, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_bartkd, ep_bartk, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Bar Trekkin (Maygay) (EPOCH) (4.4, set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_bartke, ep_bartk, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Bar Trekkin (Maygay) (EPOCH) (4.5, set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_bartkf, ep_bartk, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Bar Trekkin (Maygay) (EPOCH) (4.2, set 7)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_batls, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Battleships (Maygay) (EPOCH) (2.2, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_batlsa, ep_batls, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Battleships (Maygay) (EPOCH) (2.2, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_batlsb, ep_batls, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Battleships (Maygay) (EPOCH) (1.9, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_batlsc, ep_batls, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Battleships (Maygay) (EPOCH) (1.9, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_cdspn, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cardinal Spin (Maygay) (EPOCH) (1.1, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cdspna, ep_cdspn, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cardinal Spin (Maygay) (EPOCH) (1.1, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_cosc, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Carry On Screaming (Maygay) (EPOCH) (1.3, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cosca, ep_cosc, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Carry On Screaming (Maygay) (EPOCH) (1.3, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1997, ep_mario, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Super Mario (Maygay) (EPOCH) (1.5, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // SA970024 SA970018 11:40:00 DEC 02 1997 MAB, V1.5 EPOCH APOLLO AllCash +GAME( 1997, ep_marioa, ep_mario, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Super Mario (Maygay) (EPOCH) (1.5, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // SA970025 SA970019 11:40:00 DEC 02 1997 MAB, V1.5 EPOCH APOLLO AllCash +GAME( 1997, ep_mariob, ep_mario, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Super Mario (Maygay) (EPOCH) (1.A, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // SA970036 SA970024 11:15:00 DEC 23 1997 KJGio.x, 1.A EPOCH APOLLO +GAME( 1997, ep_marioc, ep_mario, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Super Mario (Maygay) (EPOCH) (1.A, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // SA970037 SA970025 11:15:00 DEC 23 1997 KJGio.x, 1.A EPOCH APOLLO +GAME( 1997, ep_mariod, ep_mario, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Super Mario (Maygay) (EPOCH) (2.A, set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // SA970038 SA970026 11:15:00 DEC 23 1997 KJGio.x, 2.A EPOCH APOLLO +GAME( 1997, ep_marioe, ep_mario, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Super Mario (Maygay) (EPOCH) (2.A, set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // SA970039 SA970027 11:15:00 DEC 23 1997 KJGio.x, 2.A EPOCH APOLLO +GAME( 1998, ep_marioh, ep_mario, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Super Mario (Maygay) (EPOCH) (1.B, set 9)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // SA980286 SA970037 10:05:00 AUG 26 1998 SJMio.x, 1.B EPOCH APOLLO +GAME( 1999, ep_mariof, ep_mario, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Super Mario (Maygay) (EPOCH) (1.C, set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // SA990033 SA980286 14:05:00 FEB 26 1999 CWGio.x, 1.C EPOCH APOLLO +GAME( 1999, ep_mariog, ep_mario, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Super Mario (Maygay) (EPOCH) (1.C, set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // SA990034 SA980287 14:05:00 FEB 26 1999 CWGio.x, 1.C EPOCH APOLLO + +GAME( 199?, ep_tincn, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Tin Can Alley (Maygay) (EPOCH) (1.5, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_tincna, ep_tincn, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Tin Can Alley (Maygay) (EPOCH) (1.5, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_tonfn, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Tons Of Fun (Maygay) (EPOCH) (1.5, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_tonfna, ep_tonfn, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Tons Of Fun (Maygay) (EPOCH) (1.5, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_tcrwn, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Triple Crown (Maygay) (EPOCH) (2.2, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_tcrwna, ep_tcrwn, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Triple Crown (Maygay) (EPOCH) (2.2, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_tcrwnb, ep_tcrwn, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Triple Crown (Maygay) (EPOCH) (2.2, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_tcrwnc, ep_tcrwn, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Triple Crown (Maygay) (EPOCH) (2.2, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_tcrwnd, ep_tcrwn, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Triple Crown (Maygay) (EPOCH) (3.1, set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_tcrwne, ep_tcrwn, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Triple Crown (Maygay) (EPOCH) (3.1, set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_word, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Word Up (Maygay) (EPOCH) (1.4, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_worda, ep_word, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Word Up (Maygay) (EPOCH) (1.4, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_wordb, ep_word, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Word Up (Maygay) (EPOCH) (2.4, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_wordc, ep_word, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Word Up (Maygay) (EPOCH) (2.4, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_wordd, ep_word, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Word Up (Maygay) (EPOCH) (3.1, set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_worde, ep_word, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Word Up (Maygay) (EPOCH) (3.1, set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_wordf, ep_word, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Word Up (Maygay) (EPOCH) (4.1, set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_wordg, ep_word, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Word Up (Maygay) (EPOCH) (4.1, set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_xtra, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "X-tra X-tra (Maygay) (EPOCH) (1.5, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_xtraa, ep_xtra, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "X-tra X-tra (Maygay) (EPOCH) (1.5, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 2002, ep_25crt, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "25 Carrot Gold (Maygay) (EPOCH) (1.2, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, ep_25crta, ep_25crt, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "25 Carrot Gold (Maygay) (EPOCH) (1.1, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, ep_25crtb, ep_25crt, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "25 Carrot Gold (Maygay) (EPOCH) (3.1, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2003, ep_25crtc, ep_25crt, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "25 Carrot Gold (Maygay) (EPOCH) (4.1, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2003, ep_25crtd, ep_25crt, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "25 Carrot Gold (Maygay) (EPOCH) (5.1, set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_bartk, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Bar Trekkin (Maygay) (EPOCH) (4.5, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_bartka, ep_bartk, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Bar Trekkin (Maygay) (EPOCH) (3.9, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_bartkb, ep_bartk, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Bar Trekkin (Maygay) (EPOCH) (3.9, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_bartkc, ep_bartk, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Bar Trekkin (Maygay) (EPOCH) (4.4, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_bartkd, ep_bartk, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Bar Trekkin (Maygay) (EPOCH) (4.4, set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_bartke, ep_bartk, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Bar Trekkin (Maygay) (EPOCH) (4.5, set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_bartkf, ep_bartk, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Bar Trekkin (Maygay) (EPOCH) (4.2, set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_batls, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Battleships (Maygay) (EPOCH) (2.2, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_batlsa, ep_batls, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Battleships (Maygay) (EPOCH) (2.2, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_batlsb, ep_batls, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Battleships (Maygay) (EPOCH) (1.9, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_batlsc, ep_batls, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Battleships (Maygay) (EPOCH) (1.9, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_cdspn, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cardinal Spin (Maygay) (EPOCH) (1.1, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cdspna, ep_cdspn, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cardinal Spin (Maygay) (EPOCH) (1.1, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_cosc, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Carry On Screaming (Maygay) (EPOCH) (1.3, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cosca, ep_cosc, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Carry On Screaming (Maygay) (EPOCH) (1.3, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // these 3 are 'fruit cocktail' (CA000627) in the header -GAME( 199?, ep_ccock, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash Cocktail (Maygay) (EPOCH) (1.1, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_ccocka, ep_ccock, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash Cocktail (Maygay) (EPOCH) (1.1, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_ccockb, ep_ccock, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash Cocktail (Maygay) (EPOCH) (1.1, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_ccock, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash Cocktail (Maygay) (EPOCH) (1.1, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_ccocka, ep_ccock, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash Cocktail (Maygay) (EPOCH) (1.1, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_ccockb, ep_ccock, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash Cocktail (Maygay) (EPOCH) (1.1, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // this one is 'cash cocktail' (CA000710) -GAME( 199?, ep_ccockc, ep_ccock, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash Cocktail (Maygay) (EPOCH) (1.1, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_ccockc, ep_ccock, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash Cocktail (Maygay) (EPOCH) (1.1, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, ep_cgord, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash Gordon (Maygay) (EPOCH) (2.1, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cgorda, ep_cgord, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash Gordon (Maygay) (EPOCH) (2.3, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cgordb, ep_cgord, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash Gordon (Maygay) (EPOCH) (2.3, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cgordc, ep_cgord, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash Gordon (Maygay) (EPOCH) (1.9, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_cgord, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash Gordon (Maygay) (EPOCH) (2.1, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cgorda, ep_cgord, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash Gordon (Maygay) (EPOCH) (2.3, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cgordb, ep_cgord, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash Gordon (Maygay) (EPOCH) (2.3, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cgordc, ep_cgord, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash Gordon (Maygay) (EPOCH) (1.9, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, ep_cshpn, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash In The Pan (Maygay) (EPOCH) (1.1, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cshpna, ep_cshpn, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash In The Pan (Maygay) (EPOCH) (1.1, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_cshpn, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash In The Pan (Maygay) (EPOCH) (1.1, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cshpna, ep_cshpn, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash In The Pan (Maygay) (EPOCH) (1.1, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, ep_ctit, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash Of The Titans (Maygay) (EPOCH) (1.5, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_ctita, ep_ctit, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash Of The Titans (Maygay) (EPOCH) (1.5, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_ctit, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash Of The Titans (Maygay) (EPOCH) (1.5, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_ctita, ep_ctit, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash Of The Titans (Maygay) (EPOCH) (1.5, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // CASINO GRAND -GAME( 199?, ep_casgc, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Casino Grand Club (Maygay) (EPOCH) (1.1, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_casgca, ep_casgc, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Casino Grand Club (Maygay) (EPOCH) (1.1, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_casgc, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Casino Grand Club (Maygay) (EPOCH) (1.1, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_casgca, ep_casgc, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Casino Grand Club (Maygay) (EPOCH) (1.1, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // CLASSIC CASINO GRAND -GAME( 199?, ep_casgcb, ep_casgc, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Casino Grand Club (Maygay) (EPOCH) (1.4, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_casgcc, ep_casgc, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Casino Grand Club (Maygay) (EPOCH) (1.4, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_casgcb, ep_casgc, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Casino Grand Club (Maygay) (EPOCH) (1.4, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_casgcc, ep_casgc, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Casino Grand Club (Maygay) (EPOCH) (1.4, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, ep_casrd, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Casino Royale Deluxe Club (Maygay) (EPOCH) (1.5, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_casrda, ep_casrd, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Casino Royale Deluxe Club (Maygay) (EPOCH) (1.3, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_casrd, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Casino Royale Deluxe Club (Maygay) (EPOCH) (1.5, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_casrda, ep_casrd, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Casino Royale Deluxe Club (Maygay) (EPOCH) (1.3, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, ep_chock, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Chocks Away (Maygay) (EPOCH) (1.1, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_chocka, ep_chock, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Chocks Away (Maygay) (EPOCH) (1.1, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_chockb, ep_chock, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Chocks Away (Maygay) (EPOCH) (1.1, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_chock, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Chocks Away (Maygay) (EPOCH) (1.1, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_chocka, ep_chock, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Chocks Away (Maygay) (EPOCH) (1.1, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_chockb, ep_chock, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Chocks Away (Maygay) (EPOCH) (1.1, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, ep_commd, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Complete Madness (Maygay) (EPOCH) (2.2, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_commda, ep_commd, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Complete Madness (Maygay) (EPOCH) (2.2, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_commdb, ep_commd, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Complete Madness (Maygay) (EPOCH) (1.1, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_commdc, ep_commd, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Complete Madness (Maygay) (EPOCH) (1.2, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_commdd, ep_commd, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Complete Madness (Maygay) (EPOCH) (2.1, set 5)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_commd, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Complete Madness (Maygay) (EPOCH) (2.2, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_commda, ep_commd, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Complete Madness (Maygay) (EPOCH) (2.2, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_commdb, ep_commd, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Complete Madness (Maygay) (EPOCH) (1.1, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_commdc, ep_commd, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Complete Madness (Maygay) (EPOCH) (1.2, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_commdd, ep_commd, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Complete Madness (Maygay) (EPOCH) (2.1, set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, ep_cor2, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Coronation Street 2 (Maygay) (EPOCH) (3.7, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cor2a, ep_cor2, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Coronation Street 2 (Maygay) (EPOCH) (3.7, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cor2b, ep_cor2, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Coronation Street 2 (Maygay) (EPOCH) (3.8, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cor2c, ep_cor2, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Coronation Street 2 (Maygay) (EPOCH) (3.8, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_cor2, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Coronation Street 2 (Maygay) (EPOCH) (3.7, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cor2a, ep_cor2, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Coronation Street 2 (Maygay) (EPOCH) (3.7, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cor2b, ep_cor2, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Coronation Street 2 (Maygay) (EPOCH) (3.8, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cor2c, ep_cor2, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Coronation Street 2 (Maygay) (EPOCH) (3.8, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, ep_cormn, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Coronation Street Monopoly Club (Maygay) (EPOCH) (1.7, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cormna, ep_cormn, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Coronation Street Monopoly Club (Maygay) (EPOCH) (1.7, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_cormn, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Coronation Street Monopoly Club (Maygay) (EPOCH) (1.7, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cormna, ep_cormn, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Coronation Street Monopoly Club (Maygay) (EPOCH) (1.7, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, ep_cycl, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cyclone Club (Maygay) (EPOCH) (3.1, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cycla, ep_cycl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cyclone Club (Maygay) (EPOCH) (3.1, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cyclb, ep_cycl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cyclone Club (Maygay) (EPOCH) (2.1, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_cycl, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cyclone Club (Maygay) (EPOCH) (3.1, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cycla, ep_cycl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cyclone Club (Maygay) (EPOCH) (3.1, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cyclb, ep_cycl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cyclone Club (Maygay) (EPOCH) (2.1, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // these are dated 2001 with a MMLNFOTG string (game CA000727) -GAME( 2001, ep_fgods, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Fruit Of The Gods (Maygay) (EPOCH) (1.2, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2001, ep_fgodsa, ep_fgods, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Fruit Of The Gods (Maygay) (EPOCH) (1.2, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2001, ep_fgodsb, ep_fgods, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Fruit Of The Gods (Maygay) (EPOCH) (2.2, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2001, ep_fgodsc, ep_fgods, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Fruit Of The Gods (Maygay) (EPOCH) (2.2, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 2001, ep_fgods, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Fruit Of The Gods (Maygay) (EPOCH) (1.2, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2001, ep_fgodsa, ep_fgods, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Fruit Of The Gods (Maygay) (EPOCH) (1.2, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2001, ep_fgodsb, ep_fgods, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Fruit Of The Gods (Maygay) (EPOCH) (2.2, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2001, ep_fgodsc, ep_fgods, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Fruit Of The Gods (Maygay) (EPOCH) (2.2, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // below are dated 2002 with a UGLNFOTG string (still CA000727) versioning seems independent of above -GAME( 2002, ep_fgodsd, ep_fgods, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Fruit Of The Gods (Maygay) (EPOCH) (2.1, set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, ep_fgodse, ep_fgods, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Fruit Of The Gods (Maygay) (EPOCH) (3.2, set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, ep_fgodsf, ep_fgods, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Fruit Of The Gods (Maygay) (EPOCH) (1.1, set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, ep_fgodsg, ep_fgods, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Fruit Of The Gods (Maygay) (EPOCH) (1.1, set 8)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 2002, ep_fgodsd, ep_fgods, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Fruit Of The Gods (Maygay) (EPOCH) (2.1, set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, ep_fgodse, ep_fgods, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Fruit Of The Gods (Maygay) (EPOCH) (3.2, set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, ep_fgodsf, ep_fgods, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Fruit Of The Gods (Maygay) (EPOCH) (1.1, set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, ep_fgodsg, ep_fgods, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Fruit Of The Gods (Maygay) (EPOCH) (1.1, set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 2002, ep_gldtp, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Gold Top (Maygay) (EPOCH) (1.1, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, ep_gldtpa, ep_gldtp, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Gold Top (Maygay) (EPOCH) (1.1, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 2002, ep_gldtp, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Gold Top (Maygay) (EPOCH) (1.1, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, ep_gldtpa, ep_gldtp, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Gold Top (Maygay) (EPOCH) (1.1, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // CA000782 GREATESCAPE -GAME( 2002, ep_gesc2, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Great Escape 2 (Maygay) (EPOCH) (2.1, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, ep_gesc2a, ep_gesc2, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Great Escape 2 (Maygay) (EPOCH) (2.1, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, ep_gresc, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Great Escape (Maygay) (EPOCH) (1.1, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, ep_gresca, ep_gresc, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Great Escape (Maygay) (EPOCH) (1.1, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 2002, ep_gesc2, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Great Escape 2 (Maygay) (EPOCH) (2.1, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, ep_gesc2a, ep_gesc2, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Great Escape 2 (Maygay) (EPOCH) (2.1, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, ep_gresc, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Great Escape (Maygay) (EPOCH) (1.1, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, ep_gresca, ep_gresc, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Great Escape (Maygay) (EPOCH) (1.1, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // CC000043 CLUB ESCAPE -GAME( 1999, ep_geclb, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Great Escape Club (Maygay) (EPOCH) (1.C, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1999, ep_geclba, ep_geclb, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Great Escape Club (Maygay) (EPOCH) (1.C, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1998, ep_geclbb, ep_geclb, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Great Escape Club (Maygay) (EPOCH) (1.9, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1999, ep_geclb, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Great Escape Club (Maygay) (EPOCH) (1.C, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1999, ep_geclba, ep_geclb, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Great Escape Club (Maygay) (EPOCH) (1.C, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1998, ep_geclbb, ep_geclb, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Great Escape Club (Maygay) (EPOCH) (1.9, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 2002, ep_hhclb, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Haunted House Club (Maygay) (EPOCH) (1.4, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, ep_hhclba, ep_hhclb, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Haunted House Club (Maygay) (EPOCH) (1.4, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2000, ep_hhclbb, ep_hhclb, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Haunted House Club (Maygay) (EPOCH) (1.1, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) // only one of the last roms differs from below -GAME( 2000, ep_hhclbc, ep_hhclb, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Haunted House Club (Maygay) (EPOCH) (1.1, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 2002, ep_hhclb, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Haunted House Club (Maygay) (EPOCH) (1.4, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, ep_hhclba, ep_hhclb, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Haunted House Club (Maygay) (EPOCH) (1.4, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2000, ep_hhclbb, ep_hhclb, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Haunted House Club (Maygay) (EPOCH) (1.1, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // only one of the last roms differs from below +GAME( 2000, ep_hhclbc, ep_hhclb, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Haunted House Club (Maygay) (EPOCH) (1.1, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // CA000623 HOMERS MELT -GAME( 2000, ep_homer, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons - Homer's Meltdown (Maygay) (EPOCH) (2.A, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2000, ep_homeri, ep_homer, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons - Homer's Meltdown (Maygay) (EPOCH) (2.9, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 2000, ep_homer, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons - Homer's Meltdown (Maygay) (EPOCH) (2.A, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2000, ep_homeri, ep_homer, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons - Homer's Meltdown (Maygay) (EPOCH) (2.9, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // CA000623 MELTDOWN lt -GAME( 2002, ep_homera, ep_homer, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons - Homer's Meltdown (Maygay) (EPOCH) (3.2, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, ep_homerb, ep_homer, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons - Homer's Meltdown (Maygay) (EPOCH) (3.2, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, ep_homerc, ep_homer, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons - Homer's Meltdown (Maygay) (EPOCH) (2.B, set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, ep_homerd, ep_homer, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons - Homer's Meltdown (Maygay) (EPOCH) (2.B, set 6)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 2002, ep_homera, ep_homer, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons - Homer's Meltdown (Maygay) (EPOCH) (3.2, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, ep_homerb, ep_homer, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons - Homer's Meltdown (Maygay) (EPOCH) (3.2, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, ep_homerc, ep_homer, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons - Homer's Meltdown (Maygay) (EPOCH) (2.B, set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, ep_homerd, ep_homer, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons - Homer's Meltdown (Maygay) (EPOCH) (2.B, set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // CA000555 HOMERS MELT -GAME( 2003, ep_homere, ep_homer, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons - Homer's Meltdown (Maygay) (EPOCH) (3.1, set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2003, ep_homerf, ep_homer, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons - Homer's Meltdown (Maygay) (EPOCH) (3.1, set 8)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2003, ep_homerg, ep_homer, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons - Homer's Meltdown (Maygay) (EPOCH) (2.1, set 9)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2003, ep_homerh, ep_homer, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons - Homer's Meltdown (Maygay) (EPOCH) (2.1, set 10)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 2003, ep_homere, ep_homer, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons - Homer's Meltdown (Maygay) (EPOCH) (3.1, set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2003, ep_homerf, ep_homer, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons - Homer's Meltdown (Maygay) (EPOCH) (3.1, set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2003, ep_homerg, ep_homer, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons - Homer's Meltdown (Maygay) (EPOCH) (2.1, set 9)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2003, ep_homerh, ep_homer, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons - Homer's Meltdown (Maygay) (EPOCH) (2.1, set 10)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // versioning doesn't make much sense here -GAME( 2002, ep_icebg, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Ice Burger (Maygay) (EPOCH) (1.4, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, ep_icebga, ep_icebg, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Ice Burger (Maygay) (EPOCH) (1.2, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, ep_icebgb, ep_icebg, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Ice Burger (Maygay) (EPOCH) (1.4, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, ep_icebgc, ep_icebg, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Ice Burger (Maygay) (EPOCH) (1.3, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, ep_icebgd, ep_icebg, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Ice Burger (Maygay) (EPOCH) (1.1, set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, ep_icebge, ep_icebg, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Ice Burger (Maygay) (EPOCH) (1.1, set 6)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 2002, ep_icebg, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Ice Burger (Maygay) (EPOCH) (1.4, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, ep_icebga, ep_icebg, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Ice Burger (Maygay) (EPOCH) (1.2, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, ep_icebgb, ep_icebg, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Ice Burger (Maygay) (EPOCH) (1.4, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, ep_icebgc, ep_icebg, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Ice Burger (Maygay) (EPOCH) (1.3, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, ep_icebgd, ep_icebg, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Ice Burger (Maygay) (EPOCH) (1.1, set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, ep_icebge, ep_icebg, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Ice Burger (Maygay) (EPOCH) (1.1, set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // these have 2003 dates, despite being versioned lower? -GAME( 2003, ep_icebgf, ep_icebg, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Ice Burger (Maygay) (EPOCH) (1.3, set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2003, ep_icebgg, ep_icebg, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Ice Burger (Maygay) (EPOCH) (1.3, set 8)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2003, ep_icebgh, ep_icebg, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Ice Burger (Maygay) (EPOCH) (1.4, set 9)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2003, ep_icebgi, ep_icebg, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Ice Burger (Maygay) (EPOCH) (1.4, set 10)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 2003, ep_icebgf, ep_icebg, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Ice Burger (Maygay) (EPOCH) (1.3, set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2003, ep_icebgg, ep_icebg, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Ice Burger (Maygay) (EPOCH) (1.3, set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2003, ep_icebgh, ep_icebg, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Ice Burger (Maygay) (EPOCH) (1.4, set 9)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2003, ep_icebgi, ep_icebg, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Ice Burger (Maygay) (EPOCH) (1.4, set 10)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // CA000719 ITALIAN JOB -GAME( 2002, ep_itjb2, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Italian Job 2 (Maygay) (EPOCH) (1.5, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, ep_itjb2a, ep_itjb2, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Italian Job 2 (Maygay) (EPOCH) (1.5, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, ep_itjb2b, ep_itjb2, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Italian Job 2 (Maygay) (EPOCH) (2.3, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, ep_itjb2c, ep_itjb2, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Italian Job 2 (Maygay) (EPOCH) (2.3, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 2002, ep_itjb2, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Italian Job 2 (Maygay) (EPOCH) (1.5, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, ep_itjb2a, ep_itjb2, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Italian Job 2 (Maygay) (EPOCH) (1.5, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, ep_itjb2b, ep_itjb2, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Italian Job 2 (Maygay) (EPOCH) (2.3, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, ep_itjb2c, ep_itjb2, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Italian Job 2 (Maygay) (EPOCH) (2.3, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // same game code, but 2.1 is (c)2001 wheras 1.5 above is 2002... -GAME( 2001, ep_ijob, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Italian Job (Maygay) (EPOCH, v2.1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2001, ep_ijoba, ep_ijob, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Italian Job (Maygay) (EPOCH, v1.1)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 2001, ep_ijob, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Italian Job (Maygay) (EPOCH, v2.1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2001, ep_ijoba, ep_ijob, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Italian Job (Maygay) (EPOCH, v1.1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // CC000059 CLUBITALIAN -GAME( 2002, ep_ijcl, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Italian Job Club (Maygay) (EPOCH) (2.6, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, ep_ijcla, ep_ijcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Italian Job Club (Maygay) (EPOCH) (2.5, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 2002, ep_ijcl, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Italian Job Club (Maygay) (EPOCH) (2.6, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, ep_ijcla, ep_ijcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Italian Job Club (Maygay) (EPOCH) (2.5, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // again build date vs build number doesn't make sense -GAME( 2002, ep_jsttt, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Just The Ticket (Maygay) (EPOCH) (4.2, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, ep_jsttta, ep_jsttt, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Just The Ticket (Maygay) (EPOCH) (4.2, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, ep_jstttb, ep_jsttt, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Just The Ticket (Maygay) (EPOCH) (3.5, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, ep_jstttc, ep_jsttt, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Just The Ticket (Maygay) (EPOCH) (3.4, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2003, ep_jstttd, ep_jsttt, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Just The Ticket (Maygay) (EPOCH) (3.5, set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2003, ep_jsttte, ep_jsttt, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Just The Ticket (Maygay) (EPOCH) (3.5, set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2003, ep_jstttf, ep_jsttt, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Just The Ticket (Maygay) (EPOCH) (3.6, set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2003, ep_jstttg, ep_jsttt, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Just The Ticket (Maygay) (EPOCH) (3.6, set 8)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 2002, ep_jsttt, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Just The Ticket (Maygay) (EPOCH) (4.2, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, ep_jsttta, ep_jsttt, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Just The Ticket (Maygay) (EPOCH) (4.2, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, ep_jstttb, ep_jsttt, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Just The Ticket (Maygay) (EPOCH) (3.5, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, ep_jstttc, ep_jsttt, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Just The Ticket (Maygay) (EPOCH) (3.4, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2003, ep_jstttd, ep_jsttt, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Just The Ticket (Maygay) (EPOCH) (3.5, set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2003, ep_jsttte, ep_jsttt, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Just The Ticket (Maygay) (EPOCH) (3.5, set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2003, ep_jstttf, ep_jsttt, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Just The Ticket (Maygay) (EPOCH) (3.6, set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2003, ep_jstttg, ep_jsttt, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Just The Ticket (Maygay) (EPOCH) (3.6, set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // CA000593 MARIO KART 'ELEGANCE' -GAME( 1999, ep_mkart, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Mario Kart (Maygay) (EPOCH) (1.2, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1999, ep_mkarta, ep_mkart, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Mario Kart (Maygay) (EPOCH) (1.2, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1999, ep_mkartd, ep_mkart, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Mario Kart (Maygay) (EPOCH) (1.1, set 5)",MACHINE_IS_SKELETON_MECHANICAL ) // First Master For Elegance cab +GAME( 1999, ep_mkart, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Mario Kart (Maygay) (EPOCH) (1.2, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1999, ep_mkarta, ep_mkart, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Mario Kart (Maygay) (EPOCH) (1.2, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1999, ep_mkartd, ep_mkart, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Mario Kart (Maygay) (EPOCH) (1.1, set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // First Master For Elegance cab // CA000580 MARIOKART 'EPOCH APOLLO' -GAME( 1999, ep_mkartb, ep_mkart, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Mario Kart (Maygay) (EPOCH) (1.6, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1999, ep_mkartc, ep_mkart, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Mario Kart (Maygay) (EPOCH) (1.6, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1999, ep_mkarte, ep_mkart, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Mario Kart (Maygay) (EPOCH) (1.5, set 6)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1999, ep_mkartb, ep_mkart, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Mario Kart (Maygay) (EPOCH) (1.6, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1999, ep_mkartc, ep_mkart, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Mario Kart (Maygay) (EPOCH) (1.6, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1999, ep_mkarte, ep_mkart, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Mario Kart (Maygay) (EPOCH) (1.5, set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 1998, ep_midas, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Midas Touch Club (Maygay) (EPOCH) (1.1, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1998, ep_midasa, ep_midas, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Midas Touch Club (Maygay) (EPOCH) (1.1, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1998, ep_midas, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Midas Touch Club (Maygay) (EPOCH) (1.1, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1998, ep_midasa, ep_midas, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Midas Touch Club (Maygay) (EPOCH) (1.1, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // CA000612 MONTE CARLO 'ELEGANCE' -GAME( 199?, ep_monbs, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Monte Carlo Or Bust (Maygay) (EPOCH) (1.2, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_monbsa, ep_monbs, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Monte Carlo Or Bust (Maygay) (EPOCH) (1.2, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_monbs, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Monte Carlo Or Bust (Maygay) (EPOCH) (1.2, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_monbsa, ep_monbs, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Monte Carlo Or Bust (Maygay) (EPOCH) (1.2, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, ep_mrmus, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Mr Muscle (Maygay) (EPOCH) (1.2, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_mrmusa, ep_mrmus, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Mr Muscle (Maygay) (EPOCH) (1.2, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_mrmus, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Mr Muscle (Maygay) (EPOCH) (1.2, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_mrmusa, ep_mrmus, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Mr Muscle (Maygay) (EPOCH) (1.2, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, ep_nuns, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Nuns Of Navarone (Maygay) (EPOCH) (2.4, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_nunsa, ep_nuns, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Nuns Of Navarone (Maygay) (EPOCH) (2.4, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_nuns, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Nuns Of Navarone (Maygay) (EPOCH) (2.4, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_nunsa, ep_nuns, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Nuns Of Navarone (Maygay) (EPOCH) (2.4, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, ep_otm, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Over The Moon (Maygay) (EPOCH) (1.2, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_otma, ep_otm, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Over The Moon (Maygay) (EPOCH) (1.2, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_otm, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Over The Moon (Maygay) (EPOCH) (1.2, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_otma, ep_otm, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Over The Moon (Maygay) (EPOCH) (1.2, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // messy headers.. -GAME( 199?, ep_ozzie, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Ozzie Ozzie Ozzie (Maygay) (EPOCH) (2.Z, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_ozziea, ep_ozzie, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Ozzie Ozzie Ozzie (Maygay) (EPOCH) ( .2, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_ozzieb, ep_ozzie, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Ozzie Ozzie Ozzie (Maygay) (EPOCH) (5.J, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_ozziec, ep_ozzie, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Ozzie Ozzie Ozzie (Maygay) (EPOCH) (6.J, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_ozzied, ep_ozzie, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Ozzie Ozzie Ozzie (Maygay) (EPOCH) (1.1, set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_ozziee, ep_ozzie, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Ozzie Ozzie Ozzie (Maygay) (EPOCH) (1.1, set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_ozzief, ep_ozzie, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Ozzie Ozzie Ozzie (Maygay) (EPOCH) (2.Z, set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_ozzieg, ep_ozzie, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Ozzie Ozzie Ozzie (Maygay) (EPOCH) (0.2, set 8)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_ozzieh, ep_ozzie, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Ozzie Ozzie Ozzie (Maygay) (EPOCH) (0.2, set 9)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_pascl, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Passport To Riches Classic Club (Maygay) (EPOCH) (1.2, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_pascla, ep_pascl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Passport To Riches Classic Club (Maygay) (EPOCH) (1.2, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_passpb, ep_pascl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Passport To Riches Classic Club (Maygay) (EPOCH) (1.3, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_passpc, ep_pascl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Passport To Riches Classic Club (Maygay) (EPOCH) (1.3, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_passp, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Passport To Riches Club (Maygay) (EPOCH) (1.2, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_passpa, ep_passp, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Passport To Riches Club (Maygay) (EPOCH) (1.2, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_baskr, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Pounds Of The Baskervilles (Maygay) (EPOCH) (1.7, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_baskra, ep_baskr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Pounds Of The Baskervilles (Maygay) (EPOCH) (2.2, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_baskrb, ep_baskr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Pounds Of The Baskervilles (Maygay) (EPOCH) (2.2, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_baskrc, ep_baskr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Pounds Of The Baskervilles (Maygay) (EPOCH) (1.7, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_baskrd, ep_baskr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Pounds Of The Baskervilles (Maygay) (EPOCH) (2.1, set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_baskre, ep_baskr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Pounds Of The Baskervilles (Maygay) (EPOCH) (1.5, set 6)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_rags, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Rags To Riches Club (Maygay) (EPOCH) (1.10, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_ragsa, ep_rags, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Rags To Riches Club (Maygay) (EPOCH) (1.10, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_roost, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Roosters Millions (Maygay) (EPOCH) (1.2, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_roosta, ep_roost, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Roosters Millions (Maygay) (EPOCH) (1.2, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - - -GAME( 2002, ep_secag, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Secret Agent (Maygay) (EPOCH) (1.5, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, ep_secaga, ep_secag, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Secret Agent (Maygay) (EPOCH) (1.5, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2000, ep_secagb, ep_secag, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Secret Agent (Maygay) (EPOCH) (1.3, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_simfr, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Simply Fruits (Maygay) (EPOCH) (1.2, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_simfra, ep_simfr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Simply Fruits (Maygay) (EPOCH) (1.2, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 2002, ep_srwin, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Sir Winalot (Maygay) (EPOCH) (2.6, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, ep_srwina, ep_srwin, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Sir Winalot (Maygay) (EPOCH) (3.3, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, ep_srwinb, ep_srwin, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Sir Winalot (Maygay) (EPOCH) (3.3, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, ep_srwinc, ep_srwin, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Sir Winalot (Maygay) (EPOCH) (2.6, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2000, ep_srwind, ep_srwin, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Sir Winalot (Maygay) (EPOCH) (2.1, set 5)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_spcbw, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Special Brew (Maygay) (EPOCH) (1.1, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_spcbwa, ep_spcbw, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Special Brew (Maygay) (EPOCH) (1.1, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_spcbwb, ep_spcbw, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Special Brew (Maygay) (EPOCH) (1.3, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_spcbwc, ep_spcbw, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Special Brew (Maygay) (EPOCH) (1.3, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_spcbwd, ep_spcbw, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Special Brew (Maygay) (EPOCH) (1.5, set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_spcbwe, ep_spcbw, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Special Brew (Maygay) (EPOCH) (1.5, set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_spcbwf, ep_spcbw, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Special Brew (Maygay) (EPOCH) (1.6, set 7)",MACHINE_IS_SKELETON_MECHANICAL ) // version seems typoed as " .6" in ROM -GAME( 199?, ep_spcbwg, ep_spcbw, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Special Brew (Maygay) (EPOCH) (1.6, set 8)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_spcbwh, ep_spcbw, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Special Brew (Maygay) (EPOCH) (1.4, set 9)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_spcbwi, ep_spcbw, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Special Brew (Maygay) (EPOCH) (1.4, set 10)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_spcbwj, ep_spcbw, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Special Brew (Maygay) (EPOCH) (1.8, set 11)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_spcbwk, ep_spcbw, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Special Brew (Maygay) (EPOCH) (1.8, set 12)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_spcbwl, ep_spcbw, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Special Brew (Maygay) (EPOCH) (1.9, set 13)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_spcbwm, ep_spcbw, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Special Brew (Maygay) (EPOCH) (1.9, set 14)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 2002, ep_spec, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Spectre (Maygay) (EPOCH) (1.6, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, ep_speca, ep_spec, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Spectre (Maygay) (EPOCH) (1.6, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1999, ep_specb, ep_spec, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Spectre (Maygay) (EPOCH) (1.3, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_step, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Stepping Stones (Maygay) (EPOCH) (1.0, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_stepa, ep_step, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Stepping Stones (Maygay) (EPOCH) (1.0, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_survi, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Survival (Maygay) (EPOCH) (1.4, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_survia, ep_survi, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Survival (Maygay) (EPOCH) (1.4, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_tits, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Title Shot Club (Maygay) (EPOCH) (1.7, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_titsa, ep_tits, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Title Shot Club (Maygay) (EPOCH) (1.7, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_titsb, ep_tits, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Title Shot Club (Maygay) (EPOCH) (1.5, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 2000, ep_tortr, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Torture TV (Maygay) (EPOCH) (1.3, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2000, ep_tortra, ep_tortr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Torture TV (Maygay) (EPOCH) (1.3, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_ozzie, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Ozzie Ozzie Ozzie (Maygay) (EPOCH) (2.Z, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_ozziea, ep_ozzie, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Ozzie Ozzie Ozzie (Maygay) (EPOCH) ( .2, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_ozzieb, ep_ozzie, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Ozzie Ozzie Ozzie (Maygay) (EPOCH) (5.J, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_ozziec, ep_ozzie, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Ozzie Ozzie Ozzie (Maygay) (EPOCH) (6.J, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_ozzied, ep_ozzie, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Ozzie Ozzie Ozzie (Maygay) (EPOCH) (1.1, set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_ozziee, ep_ozzie, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Ozzie Ozzie Ozzie (Maygay) (EPOCH) (1.1, set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_ozzief, ep_ozzie, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Ozzie Ozzie Ozzie (Maygay) (EPOCH) (2.Z, set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_ozzieg, ep_ozzie, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Ozzie Ozzie Ozzie (Maygay) (EPOCH) (0.2, set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_ozzieh, ep_ozzie, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Ozzie Ozzie Ozzie (Maygay) (EPOCH) (0.2, set 9)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_pascl, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Passport To Riches Classic Club (Maygay) (EPOCH) (1.2, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_pascla, ep_pascl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Passport To Riches Classic Club (Maygay) (EPOCH) (1.2, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_passpb, ep_pascl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Passport To Riches Classic Club (Maygay) (EPOCH) (1.3, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_passpc, ep_pascl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Passport To Riches Classic Club (Maygay) (EPOCH) (1.3, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_passp, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Passport To Riches Club (Maygay) (EPOCH) (1.2, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_passpa, ep_passp, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Passport To Riches Club (Maygay) (EPOCH) (1.2, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_baskr, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Pounds Of The Baskervilles (Maygay) (EPOCH) (1.7, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_baskra, ep_baskr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Pounds Of The Baskervilles (Maygay) (EPOCH) (2.2, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_baskrb, ep_baskr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Pounds Of The Baskervilles (Maygay) (EPOCH) (2.2, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_baskrc, ep_baskr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Pounds Of The Baskervilles (Maygay) (EPOCH) (1.7, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_baskrd, ep_baskr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Pounds Of The Baskervilles (Maygay) (EPOCH) (2.1, set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_baskre, ep_baskr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Pounds Of The Baskervilles (Maygay) (EPOCH) (1.5, set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_rags, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Rags To Riches Club (Maygay) (EPOCH) (1.10, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_ragsa, ep_rags, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Rags To Riches Club (Maygay) (EPOCH) (1.10, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_roost, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Roosters Millions (Maygay) (EPOCH) (1.2, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_roosta, ep_roost, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Roosters Millions (Maygay) (EPOCH) (1.2, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + + +GAME( 2002, ep_secag, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Secret Agent (Maygay) (EPOCH) (1.5, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, ep_secaga, ep_secag, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Secret Agent (Maygay) (EPOCH) (1.5, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2000, ep_secagb, ep_secag, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Secret Agent (Maygay) (EPOCH) (1.3, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_simfr, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Simply Fruits (Maygay) (EPOCH) (1.2, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_simfra, ep_simfr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Simply Fruits (Maygay) (EPOCH) (1.2, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 2002, ep_srwin, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Sir Winalot (Maygay) (EPOCH) (2.6, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, ep_srwina, ep_srwin, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Sir Winalot (Maygay) (EPOCH) (3.3, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, ep_srwinb, ep_srwin, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Sir Winalot (Maygay) (EPOCH) (3.3, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, ep_srwinc, ep_srwin, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Sir Winalot (Maygay) (EPOCH) (2.6, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2000, ep_srwind, ep_srwin, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Sir Winalot (Maygay) (EPOCH) (2.1, set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_spcbw, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Special Brew (Maygay) (EPOCH) (1.1, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_spcbwa, ep_spcbw, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Special Brew (Maygay) (EPOCH) (1.1, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_spcbwb, ep_spcbw, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Special Brew (Maygay) (EPOCH) (1.3, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_spcbwc, ep_spcbw, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Special Brew (Maygay) (EPOCH) (1.3, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_spcbwd, ep_spcbw, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Special Brew (Maygay) (EPOCH) (1.5, set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_spcbwe, ep_spcbw, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Special Brew (Maygay) (EPOCH) (1.5, set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_spcbwf, ep_spcbw, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Special Brew (Maygay) (EPOCH) (1.6, set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // version seems typoed as " .6" in ROM +GAME( 199?, ep_spcbwg, ep_spcbw, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Special Brew (Maygay) (EPOCH) (1.6, set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_spcbwh, ep_spcbw, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Special Brew (Maygay) (EPOCH) (1.4, set 9)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_spcbwi, ep_spcbw, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Special Brew (Maygay) (EPOCH) (1.4, set 10)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_spcbwj, ep_spcbw, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Special Brew (Maygay) (EPOCH) (1.8, set 11)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_spcbwk, ep_spcbw, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Special Brew (Maygay) (EPOCH) (1.8, set 12)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_spcbwl, ep_spcbw, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Special Brew (Maygay) (EPOCH) (1.9, set 13)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_spcbwm, ep_spcbw, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Special Brew (Maygay) (EPOCH) (1.9, set 14)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 2002, ep_spec, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Spectre (Maygay) (EPOCH) (1.6, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, ep_speca, ep_spec, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Spectre (Maygay) (EPOCH) (1.6, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1999, ep_specb, ep_spec, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Spectre (Maygay) (EPOCH) (1.3, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_step, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Stepping Stones (Maygay) (EPOCH) (1.0, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_stepa, ep_step, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Stepping Stones (Maygay) (EPOCH) (1.0, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_survi, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Survival (Maygay) (EPOCH) (1.4, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_survia, ep_survi, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Survival (Maygay) (EPOCH) (1.4, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_tits, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Title Shot Club (Maygay) (EPOCH) (1.7, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_titsa, ep_tits, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Title Shot Club (Maygay) (EPOCH) (1.7, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_titsb, ep_tits, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Title Shot Club (Maygay) (EPOCH) (1.5, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 2000, ep_tortr, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Torture TV (Maygay) (EPOCH) (1.3, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2000, ep_tortra, ep_tortr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Torture TV (Maygay) (EPOCH) (1.3, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // CA000715 TRIVIAL PUR -GAME( 199?, ep_tp, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Trivial Pursuit (Maygay) (EPOCH) (3.5, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_tpa, ep_tp, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Trivial Pursuit (Maygay) (EPOCH) (3.5, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_tpb, ep_tp, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Trivial Pursuit (Maygay) (EPOCH) (2.1, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_tp, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Trivial Pursuit (Maygay) (EPOCH) (3.5, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_tpa, ep_tp, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Trivial Pursuit (Maygay) (EPOCH) (3.5, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_tpb, ep_tp, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Trivial Pursuit (Maygay) (EPOCH) (2.1, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // same code as above? -GAME( 199?, ep_tp2, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Trivial Pursuit 2 (Maygay) (EPOCH) (2.2, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_tp2a, ep_tp2, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Trivial Pursuit 2 (Maygay) (EPOCH) (2.2, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_tp2, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Trivial Pursuit 2 (Maygay) (EPOCH) (2.2, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_tp2a, ep_tp2, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Trivial Pursuit 2 (Maygay) (EPOCH) (2.2, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, ep_tutcl, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Tutankhamun Club (Maygay) (EPOCH) (2.1, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_tutcla, ep_tutcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Tutankhamun Club (Maygay) (EPOCH) (2.1, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_tutclb, ep_tutcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Tutankhamun Club (Maygay) (EPOCH) (1.8, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_tutcl, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Tutankhamun Club (Maygay) (EPOCH) (2.1, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_tutcla, ep_tutcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Tutankhamun Club (Maygay) (EPOCH) (2.1, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_tutclb, ep_tutcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Tutankhamun Club (Maygay) (EPOCH) (1.8, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, ep_21clb, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Twenty One Club (Maygay) (EPOCH) (3.2, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_21clba, ep_21clb, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Twenty One Club (Maygay) (EPOCH) (3.2, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_21clb, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Twenty One Club (Maygay) (EPOCH) (3.2, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_21clba, ep_21clb, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Twenty One Club (Maygay) (EPOCH) (3.2, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 2002, ep_xspot, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "X Marks The Spot (Maygay) (EPOCH) (1.5, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, ep_xspota, ep_xspot, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "X Marks The Spot (Maygay) (EPOCH) (1.5, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1999, ep_xspotb, ep_xspot, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "X Marks The Spot (Maygay) (EPOCH) (1.4, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 2002, ep_xspot, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "X Marks The Spot (Maygay) (EPOCH) (1.5, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, ep_xspota, ep_xspot, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "X Marks The Spot (Maygay) (EPOCH) (1.5, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1999, ep_xspotb, ep_xspot, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "X Marks The Spot (Maygay) (EPOCH) (1.4, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, ep_bathl, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Bat Outa Hell (Global) (EPOCH) (2.1, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_bathla, ep_bathl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Bat Outa Hell (Global) (EPOCH) (2.1, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_bathlb, ep_bathl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Bat Outa Hell (Global) (EPOCH) (2.2, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_bathlc, ep_bathl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Bat Outa Hell (Global) (EPOCH) (2.2, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_bathld, ep_bathl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Bat Outa Hell (Global) (EPOCH) (3.1, set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_bathle, ep_bathl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Bat Outa Hell (Global) (EPOCH) (3.1, set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_bathlf, ep_bathl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Bat Outa Hell (Global) (EPOCH) (4.1, set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_bathlg, ep_bathl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Bat Outa Hell (Global) (EPOCH) (4.1, set 8)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_bathlh, ep_bathl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Bat Outa Hell (Global) (EPOCH) (3.3, set 9)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_bathl, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Bat Outa Hell (Global) (EPOCH) (2.1, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_bathla, ep_bathl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Bat Outa Hell (Global) (EPOCH) (2.1, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_bathlb, ep_bathl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Bat Outa Hell (Global) (EPOCH) (2.2, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_bathlc, ep_bathl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Bat Outa Hell (Global) (EPOCH) (2.2, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_bathld, ep_bathl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Bat Outa Hell (Global) (EPOCH) (3.1, set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_bathle, ep_bathl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Bat Outa Hell (Global) (EPOCH) (3.1, set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_bathlf, ep_bathl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Bat Outa Hell (Global) (EPOCH) (4.1, set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_bathlg, ep_bathl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Bat Outa Hell (Global) (EPOCH) (4.1, set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_bathlh, ep_bathl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Bat Outa Hell (Global) (EPOCH) (3.3, set 9)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // CA000720 BEAVER LAS (2.3 has a newer date than 3.3...) -GAME( 2001, ep_beav3, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Beaver Las Vegas (Global) (EPOCH) (CA000720, 3.3, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2001, ep_beav3a, ep_beav3, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Beaver Las Vegas (Global) (EPOCH) (CA000720, 3.3, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, ep_beav3b, ep_beav3, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Beaver Las Vegas (Global) (EPOCH) (CA000720, 4.2, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, ep_beav3c, ep_beav3, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Beaver Las Vegas (Global) (EPOCH) (CA000720, 4.2, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, ep_beavrn, ep_beav3, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Beaver Las Vegas (Global) (EPOCH) (CA000720, 2.3, set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, ep_beavro, ep_beav3, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Beaver Las Vegas (Global) (EPOCH) (CA000720, 2.3, set 6)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 2001, ep_beav3, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Beaver Las Vegas (Global) (EPOCH) (CA000720, 3.3, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2001, ep_beav3a, ep_beav3, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Beaver Las Vegas (Global) (EPOCH) (CA000720, 3.3, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, ep_beav3b, ep_beav3, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Beaver Las Vegas (Global) (EPOCH) (CA000720, 4.2, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, ep_beav3c, ep_beav3, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Beaver Las Vegas (Global) (EPOCH) (CA000720, 4.2, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, ep_beavrn, ep_beav3, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Beaver Las Vegas (Global) (EPOCH) (CA000720, 2.3, set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, ep_beavro, ep_beav3, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Beaver Las Vegas (Global) (EPOCH) (CA000720, 2.3, set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, ep_bvruc, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Beaver Uncovered (Global) (EPOCH) (1.4, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_bvruca, ep_bvruc, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Beaver Uncovered (Global) (EPOCH) (1.4, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_bvrucb, ep_bvruc, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Beaver Uncovered (Global) (EPOCH) (1.6, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_bvrucc, ep_bvruc, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Beaver Uncovered (Global) (EPOCH) (2.3, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_bvruc, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Beaver Uncovered (Global) (EPOCH) (1.4, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_bvruca, ep_bvruc, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Beaver Uncovered (Global) (EPOCH) (1.4, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_bvrucb, ep_bvruc, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Beaver Uncovered (Global) (EPOCH) (1.6, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_bvrucc, ep_bvruc, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Beaver Uncovered (Global) (EPOCH) (2.3, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, ep_cbrun, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Cannonball Run (Global) (EPOCH) (2.2, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cbruna, ep_cbrun, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Cannonball Run (Global) (EPOCH) (2.2, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cbrunb, ep_cbrun, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Cannonball Run (Global) (EPOCH) (2.4, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cbrunc, ep_cbrun, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Cannonball Run (Global) (EPOCH) (2.4, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cbrund, ep_cbrun, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Cannonball Run (Global) (EPOCH) (3.1, set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cbrune, ep_cbrun, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Cannonball Run (Global) (EPOCH) (3.1, set 6)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_cbrun, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Cannonball Run (Global) (EPOCH) (2.2, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cbruna, ep_cbrun, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Cannonball Run (Global) (EPOCH) (2.2, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cbrunb, ep_cbrun, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Cannonball Run (Global) (EPOCH) (2.4, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cbrunc, ep_cbrun, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Cannonball Run (Global) (EPOCH) (2.4, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cbrund, ep_cbrun, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Cannonball Run (Global) (EPOCH) (3.1, set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cbrune, ep_cbrun, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Cannonball Run (Global) (EPOCH) (3.1, set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, ep_ctc, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Cut Throat Cash (Global) (EPOCH) (1.2, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_ctca, ep_ctc, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Cut Throat Cash (Global) (EPOCH) (1.2, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_ctc, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Cut Throat Cash (Global) (EPOCH) (1.2, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_ctca, ep_ctc, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Cut Throat Cash (Global) (EPOCH) (1.2, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, ep_ddq, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Dungeons & Drag Queens (Global) (EPOCH) (1.4, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_ddqa, ep_ddq, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Dungeons & Drag Queens (Global) (EPOCH) (1.4, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_ddqb, ep_ddq, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Dungeons & Drag Queens (Global) (EPOCH) (2.1, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_ddqc, ep_ddq, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Dungeons & Drag Queens (Global) (EPOCH) (2.1, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_ddqd, ep_ddq, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Dungeons & Drag Queens (Global) (EPOCH) (2.2, set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_ddqe, ep_ddq, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Dungeons & Drag Queens (Global) (EPOCH) (2.2, set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_ddqf, ep_ddq, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Dungeons & Drag Queens (Global) (EPOCH) (2.4, set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_ddqg, ep_ddq, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Dungeons & Drag Queens (Global) (EPOCH) (2.4, set 8)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_ddqh, ep_ddq, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Dungeons & Drag Queens (Global) (EPOCH) (2.5, set 9)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_ddqi, ep_ddq, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Dungeons & Drag Queens (Global) (EPOCH) (2.5, set 10)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_ddq, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Dungeons & Drag Queens (Global) (EPOCH) (1.4, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_ddqa, ep_ddq, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Dungeons & Drag Queens (Global) (EPOCH) (1.4, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_ddqb, ep_ddq, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Dungeons & Drag Queens (Global) (EPOCH) (2.1, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_ddqc, ep_ddq, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Dungeons & Drag Queens (Global) (EPOCH) (2.1, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_ddqd, ep_ddq, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Dungeons & Drag Queens (Global) (EPOCH) (2.2, set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_ddqe, ep_ddq, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Dungeons & Drag Queens (Global) (EPOCH) (2.2, set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_ddqf, ep_ddq, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Dungeons & Drag Queens (Global) (EPOCH) (2.4, set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_ddqg, ep_ddq, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Dungeons & Drag Queens (Global) (EPOCH) (2.4, set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_ddqh, ep_ddq, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Dungeons & Drag Queens (Global) (EPOCH) (2.5, set 9)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_ddqi, ep_ddq, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Dungeons & Drag Queens (Global) (EPOCH) (2.5, set 10)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, ep_greed, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Greed (Global) (EPOCH) (1.3, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_greeda, ep_greed, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Greed (Global) (EPOCH) (1.3, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_greed, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Greed (Global) (EPOCH) (1.3, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_greeda, ep_greed, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Greed (Global) (EPOCH) (1.3, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // CA000702 HI SPIRITS -GAME( 199?, ep_hispr, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Hi Spirits (Global) (EPOCH) (1.A, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_hispra, ep_hispr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Hi Spirits (Global) (EPOCH) (1.A, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_hisprb, ep_hispr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Hi Spirits (Global) (EPOCH) (4.2, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_hisprc, ep_hispr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Hi Spirits (Global) (EPOCH) (4.2, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_hisprd, ep_hispr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Hi Spirits (Global) (EPOCH) (3.2, set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_hispre, ep_hispr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Hi Spirits (Global) (EPOCH) (3.2, set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_spirt, ep_hispr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Hi Spirits (Global) (EPOCH) (2.3, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) // same game code -GAME( 199?, ep_spirta, ep_hispr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Hi Spirits (Global) (EPOCH) (2.3, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_spirtb, ep_hispr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Hi Spirits (Global) (EPOCH) (4.1, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_pkni, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "The Phoenix Knights (Global) (EPOCH) (1.1, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_pknia, ep_pkni, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "The Phoenix Knights (Global) (EPOCH) (1.1, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_pknib, ep_pkni, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "The Phoenix Knights (Global) (EPOCH) (1.3, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_pknic, ep_pkni, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "The Phoenix Knights (Global) (EPOCH) (1.3, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_pknid, ep_pkni, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "The Phoenix Knights (Global) (EPOCH) (1.4, set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_pknie, ep_pkni, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "The Phoenix Knights (Global) (EPOCH) (1.7, set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_pknif, ep_pkni, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "The Phoenix Knights (Global) (EPOCH) (1.7, set 7)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_snbev, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Saturday Night Beaver (Global) (EPOCH) (1.8, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_snbeva, ep_snbev, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Saturday Night Beaver (Global) (EPOCH) (1.8, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_snbevb, ep_snbev, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Saturday Night Beaver (Global) (EPOCH) (1.9, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_snbevc, ep_snbev, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Saturday Night Beaver (Global) (EPOCH) (1.9, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_snbevd, ep_snbev, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Saturday Night Beaver (Global) (EPOCH) (2.1, set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_snbeve, ep_snbev, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Saturday Night Beaver (Global) (EPOCH) (2.1, set 6)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_spook, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Spooky Hollow (Global) (EPOCH) (1.3, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_spooka, ep_spook, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Spooky Hollow (Global) (EPOCH) (1.3, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_spookb, ep_spook, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Spooky Hollow (Global) (EPOCH) (2.7, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) - - -GAME( 199?, ep_milhr, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Who Wants To Be A Millionhare? (Global) (EPOCH) (1.2, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_milhra, ep_milhr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Who Wants To Be A Millionhare? (Global) (EPOCH) (1.2, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_milhrb, ep_milhr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Who Wants To Be A Millionhare? (Global) (EPOCH) (1.3, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_milhrc, ep_milhr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Who Wants To Be A Millionhare? (Global) (EPOCH) (1.3, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_milhrd, ep_milhr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Who Wants To Be A Millionhare? (Global) (EPOCH) (1.6, set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_milhre, ep_milhr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Who Wants To Be A Millionhare? (Global) (EPOCH) (1.6, set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_milhrf, ep_milhr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Who Wants To Be A Millionhare? (Global) (EPOCH) (1.9, set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_milhrg, ep_milhr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Who Wants To Be A Millionhare? (Global) (EPOCH) (1.9, set 8)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_bbars, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Balloon Bars (Maygay) (EPOCH) (1.2, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_bbarsa, ep_bbars, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Balloon Bars (Maygay) (EPOCH) (1.2, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_bbarsb, ep_bbars, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Balloon Bars (Maygay) (EPOCH) (2.0, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_bbarsc, ep_bbars, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Balloon Bars (Maygay) (EPOCH) (2.0, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_cslay, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Cash Slayer (Global) (EPOCH) (1.4, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cslaya, ep_cslay, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Cash Slayer (Global) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) // incomplete pair - -GAME( 199?, ep_monky, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Monkey Business (Global) (EPOCH) (1.4, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_monkya, ep_monky, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Monkey Business (Global) (EPOCH) (1.5, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 1999, ep_lug, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "London Underground (Maygay) (EPOCH) (2.4, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1999, ep_luga, ep_lug, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "London Underground (Maygay) (EPOCH) (2.9, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, ep_lugb, ep_lug, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "London Underground (Maygay) (EPOCH) (3.1, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2002, ep_lugc, ep_lug, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "London Underground (Maygay) (EPOCH) (3.1, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_crzbn, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Crazy Bingo (Maygay) (EPOCH) (1.1, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_crzbna, ep_crzbn, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Crazy Bingo (Maygay) (EPOCH) (1.1, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_crzbnb, ep_crzbn, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Crazy Bingo (Maygay) (EPOCH) (1.1 Gala, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_crzbnc, ep_crzbn, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Crazy Bingo (Maygay) (EPOCH) (1.1 Gala, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_hispr, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Hi Spirits (Global) (EPOCH) (1.A, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_hispra, ep_hispr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Hi Spirits (Global) (EPOCH) (1.A, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_hisprb, ep_hispr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Hi Spirits (Global) (EPOCH) (4.2, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_hisprc, ep_hispr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Hi Spirits (Global) (EPOCH) (4.2, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_hisprd, ep_hispr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Hi Spirits (Global) (EPOCH) (3.2, set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_hispre, ep_hispr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Hi Spirits (Global) (EPOCH) (3.2, set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_spirt, ep_hispr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Hi Spirits (Global) (EPOCH) (2.3, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // same game code +GAME( 199?, ep_spirta, ep_hispr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Hi Spirits (Global) (EPOCH) (2.3, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_spirtb, ep_hispr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Hi Spirits (Global) (EPOCH) (4.1, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_pkni, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "The Phoenix Knights (Global) (EPOCH) (1.1, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_pknia, ep_pkni, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "The Phoenix Knights (Global) (EPOCH) (1.1, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_pknib, ep_pkni, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "The Phoenix Knights (Global) (EPOCH) (1.3, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_pknic, ep_pkni, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "The Phoenix Knights (Global) (EPOCH) (1.3, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_pknid, ep_pkni, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "The Phoenix Knights (Global) (EPOCH) (1.4, set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_pknie, ep_pkni, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "The Phoenix Knights (Global) (EPOCH) (1.7, set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_pknif, ep_pkni, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "The Phoenix Knights (Global) (EPOCH) (1.7, set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_snbev, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Saturday Night Beaver (Global) (EPOCH) (1.8, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_snbeva, ep_snbev, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Saturday Night Beaver (Global) (EPOCH) (1.8, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_snbevb, ep_snbev, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Saturday Night Beaver (Global) (EPOCH) (1.9, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_snbevc, ep_snbev, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Saturday Night Beaver (Global) (EPOCH) (1.9, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_snbevd, ep_snbev, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Saturday Night Beaver (Global) (EPOCH) (2.1, set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_snbeve, ep_snbev, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Saturday Night Beaver (Global) (EPOCH) (2.1, set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_spook, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Spooky Hollow (Global) (EPOCH) (1.3, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_spooka, ep_spook, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Spooky Hollow (Global) (EPOCH) (1.3, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_spookb, ep_spook, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Spooky Hollow (Global) (EPOCH) (2.7, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + + +GAME( 199?, ep_milhr, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Who Wants To Be A Millionhare? (Global) (EPOCH) (1.2, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_milhra, ep_milhr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Who Wants To Be A Millionhare? (Global) (EPOCH) (1.2, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_milhrb, ep_milhr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Who Wants To Be A Millionhare? (Global) (EPOCH) (1.3, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_milhrc, ep_milhr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Who Wants To Be A Millionhare? (Global) (EPOCH) (1.3, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_milhrd, ep_milhr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Who Wants To Be A Millionhare? (Global) (EPOCH) (1.6, set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_milhre, ep_milhr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Who Wants To Be A Millionhare? (Global) (EPOCH) (1.6, set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_milhrf, ep_milhr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Who Wants To Be A Millionhare? (Global) (EPOCH) (1.9, set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_milhrg, ep_milhr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Who Wants To Be A Millionhare? (Global) (EPOCH) (1.9, set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_bbars, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Balloon Bars (Maygay) (EPOCH) (1.2, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_bbarsa, ep_bbars, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Balloon Bars (Maygay) (EPOCH) (1.2, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_bbarsb, ep_bbars, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Balloon Bars (Maygay) (EPOCH) (2.0, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_bbarsc, ep_bbars, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Balloon Bars (Maygay) (EPOCH) (2.0, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_cslay, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Cash Slayer (Global) (EPOCH) (1.4, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cslaya, ep_cslay, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Cash Slayer (Global) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // incomplete pair + +GAME( 199?, ep_monky, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Monkey Business (Global) (EPOCH) (1.4, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_monkya, ep_monky, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Monkey Business (Global) (EPOCH) (1.5, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 1999, ep_lug, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "London Underground (Maygay) (EPOCH) (2.4, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1999, ep_luga, ep_lug, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "London Underground (Maygay) (EPOCH) (2.9, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, ep_lugb, ep_lug, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "London Underground (Maygay) (EPOCH) (3.1, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2002, ep_lugc, ep_lug, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "London Underground (Maygay) (EPOCH) (3.1, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_crzbn, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Crazy Bingo (Maygay) (EPOCH) (1.1, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_crzbna, ep_crzbn, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Crazy Bingo (Maygay) (EPOCH) (1.1, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_crzbnb, ep_crzbn, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Crazy Bingo (Maygay) (EPOCH) (1.1 Gala, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_crzbnc, ep_crzbn, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Crazy Bingo (Maygay) (EPOCH) (1.1 Gala, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // Z0000024 CASINOCR AZ -GAME( 199?, ep_cascza, ep_cascz, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Crazy (Global) (EPOCH) (2.1, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_cascza, ep_cascz, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Crazy (Global) (EPOCH) (2.1, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, ep_wside, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Wildside (Global) (EPOCH) (1.2, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_wsidea, ep_wside, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Wildside (Global) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) // incomplete pair +GAME( 199?, ep_wside, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Wildside (Global) (EPOCH) (1.2, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_wsidea, ep_wside, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Wildside (Global) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // incomplete pair -GAME( 199?, ep_imj, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "I'm A Jackpot (Global) (EPOCH) (1.5)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_imj, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "I'm A Jackpot (Global) (EPOCH) (1.5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 1998, ep_party, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Party Party (Global) (EPOCH) (1.1)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1998, ep_party, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Party Party (Global) (EPOCH) (1.1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) /* no header info */ -GAME( 199?, ep_dblim, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Double Impact (Maygay - Impulse) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_dblima, ep_dblim, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Double Impact (Maygay - Impulse) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_dblimb, ep_dblim, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Double Impact (Maygay - Impulse) (EPOCH) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_dblimc, ep_dblim, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Double Impact (Maygay - Impulse) (EPOCH) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_dblimd, ep_dblim, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Double Impact (Maygay - Impulse) (EPOCH) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_itjb3, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Italian Job 3 (Maygay) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_itjb3a, ep_itjb3, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Italian Job 3 (Maygay) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_wipeo, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Wipeout (Maygay) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_wipeoa, ep_wipeo, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Wipeout (Maygay) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_wipeob, ep_wipeo, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Wipeout (Maygay) (EPOCH) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_wipeoc, ep_wipeo, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Wipeout (Maygay) (EPOCH) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_wipeoe, ep_wipeo, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Wipeout (Maygay) (EPOCH) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_bbonz, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Bingo Bonanza (Maygay - Union) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_bbonza, ep_bbonz, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Bingo Bonanza (Maygay - Union) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_cahoy, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay - Eclipse?", "Cash Ahoy (Maygay - Eclipse?) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cahoya, ep_cahoy, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash Ahoy (Maygay) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cahoyb, ep_cahoy, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash Ahoy (Maygay) (EPOCH) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_cock, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cock A Doodle Dosh (Maygay - Union) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cocka, ep_cock, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cock A Doodle Dosh (Maygay - Union) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cockb, ep_cock, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cock A Doodle Dosh (Maygay - Union) (EPOCH) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cockc, ep_cock, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cock A Doodle Dosh (Maygay - Union) (EPOCH) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cockd, ep_cock, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cock A Doodle Dosh (Maygay - Union) (EPOCH) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cocke, ep_cock, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cock A Doodle Dosh (Maygay - Union) (EPOCH) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_duff, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons - Duff Beer Guide (Maygay) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_duffa, ep_duff, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons - Duff Beer Guide (Maygay) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_duffb, ep_duff, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons - Duff Beer Guide (Maygay) (EPOCH) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_duffc, ep_duff, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons - Duff Beer Guide (Maygay) (EPOCH) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_flash, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Flashback (Maygay - Impulse) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_flasha, ep_flash, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Flashback (Maygay - Impulse) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_flashb, ep_flash, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Flashback (Maygay - Impulse) (EPOCH) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_flashc, ep_flash, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Flashback (Maygay - Impulse) (EPOCH) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_flashd, ep_flash, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Flashback (Maygay - Impulse) (EPOCH) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_flashe, ep_flash, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Flashback (Maygay - Impulse) (EPOCH) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_flashf, ep_flash, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Flashback (Maygay - Impulse) (EPOCH) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_fortg, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Fortune & Glory (Maygay - Impulse) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_fortga, ep_fortg, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Fortune & Glory (Maygay - Impulse) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_fortgb, ep_fortg, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Fortune & Glory (Maygay - Impulse) (EPOCH) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_fran, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Frantic (Maygay) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_frana, ep_fran, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Frantic (Maygay) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_fnclb, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Fruit & Nudge Club (Maygay) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_fnclba, ep_fnclb, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Fruit & Nudge Club (Maygay) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_fullm, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Full Moon Fever (Maygay - Impulse) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_fullma, ep_fullm, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Full Moon Fever (Maygay - Impulse) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_fullmb, ep_fullm, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Full Moon Fever (Maygay - Impulse) (EPOCH) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_fullmc, ep_fullm, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Full Moon Fever (Maygay - Impulse) (EPOCH) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_fullmd, ep_fullm, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Full Moon Fever (Maygay - Impulse) (EPOCH) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_fullme, ep_fullm, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Full Moon Fever (Maygay - Impulse) (EPOCH) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_fullmf, ep_fullm, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Full Moon Fever (Maygay - Impulse) (EPOCH) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_funny, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Funny Money (Maygay) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_funnya, ep_funny, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Funny Money (Maygay) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_funnyb, ep_funny, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Funny Money (Maygay) (EPOCH) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_funnyc, ep_funny, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Funny Money (Maygay) (EPOCH) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_funnyd, ep_funny, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Funny Money (Maygay) (EPOCH) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_funnye, ep_funny, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Funny Money (Maygay) (EPOCH) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_funnyf, ep_funny, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Funny Money (Maygay) (EPOCH) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_funnyg, ep_funny, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Funny Money (Maygay) (EPOCH) (set 8)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_geron, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Geronimo (Maygay - Impulse) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_gerona, ep_geron, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Geronimo (Maygay - Impulse) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_geronb, ep_geron, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Geronimo (Maygay - Impulse) (EPOCH) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_geronc, ep_geron, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Geronimo (Maygay - Impulse) (EPOCH) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_gerond, ep_geron, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Geronimo (Maygay - Impulse) (EPOCH) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_gerone, ep_geron, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Geronimo (Maygay - Impulse) (EPOCH) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_gridr, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Gridrunner (Maygay - Impulse) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_gridra, ep_gridr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Gridrunner (Maygay - Impulse) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_gridrb, ep_gridr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Gridrunner (Maygay - Impulse) (EPOCH) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_gridrc, ep_gridr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Gridrunner (Maygay - Impulse) (EPOCH) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_gridrd, ep_gridr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Gridrunner (Maygay - Impulse) (EPOCH) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_hvns, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Heavens Above (Maygay) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_hvnsa, ep_hvns, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Heavens Above (Maygay) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_highv, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "High Voltage (Maygay - Impulse) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_highva, ep_highv, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "High Voltage (Maygay - Impulse) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_highvb, ep_highv, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "High Voltage (Maygay - Impulse) (EPOCH) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_highvc, ep_highv, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "High Voltage (Maygay - Impulse) (EPOCH) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_highvd, ep_highv, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "High Voltage (Maygay - Impulse) (EPOCH) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_highve, ep_highv, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "High Voltage (Maygay - Impulse) (EPOCH) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_highvf, ep_highv, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "High Voltage (Maygay - Impulse) (EPOCH) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_hogmn, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Hog Money (Maygay - Impulse) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_hogmna, ep_hogmn, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Hog Money (Maygay - Impulse) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_hogmnb, ep_hogmn, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Hog Money (Maygay - Impulse) (EPOCH) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_htdgs, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Hot Dogs (Maygay) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_htdgsa, ep_htdgs, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Hot Dogs (Maygay) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_hubbl, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Hubble Bubble (Maygay) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_hubbla, ep_hubbl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Hubble Bubble (Maygay) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_huric, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Hurricane (Maygay - Impulse) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_hurica, ep_huric, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Hurricane (Maygay - Impulse) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_huricb, ep_huric, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Hurricane (Maygay - Impulse) (EPOCH) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_huricc, ep_huric, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Hurricane (Maygay - Impulse) (EPOCH) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_huricd, ep_huric, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Hurricane (Maygay - Impulse) (EPOCH) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_hurice, ep_huric, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Hurricane (Maygay - Impulse) (EPOCH) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_hur, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Hurricane (Global) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_hura, ep_hur, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Hurricane (Global) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_hurb, ep_hur, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Hurricane (Global) (EPOCH) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_hyst, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Hysteria (Maygay - Impulse) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_hysta, ep_hyst, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Hysteria (Maygay - Impulse) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_manic, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Manic Miner (Maygay - Impulse) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_manica, ep_manic, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Manic Miner (Maygay - Impulse) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_manicb, ep_manic, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Manic Miner (Maygay - Impulse) (EPOCH) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_manicc, ep_manic, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Manic Miner (Maygay - Impulse) (EPOCH) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_manicd, ep_manic, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Manic Miner (Maygay - Impulse) (EPOCH) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_manice, ep_manic, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Manic Miner (Maygay - Impulse) (EPOCH) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_manicf, ep_manic, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Manic Miner (Maygay - Impulse) (EPOCH) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_matrx, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Matrix (Maygay - Impulse) (EPOCH)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_mwom, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Mortal Wombat (Maygay) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_mwoma, ep_mwom, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Mortal Wombat (Maygay) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_mwomb, ep_mwom, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Mortal Wombat (Maygay) (EPOCH) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_mwomc, ep_mwom, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Mortal Wombat (Maygay) (EPOCH) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_mwomd, ep_mwom, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Mortal Wombat (Maygay) (EPOCH) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_otmcl, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Over The Moon Club (Maygay) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_otmcla, ep_otmcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Over The Moon Club (Maygay) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_dblim, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Double Impact (Maygay - Impulse) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_dblima, ep_dblim, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Double Impact (Maygay - Impulse) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_dblimb, ep_dblim, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Double Impact (Maygay - Impulse) (EPOCH) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_dblimc, ep_dblim, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Double Impact (Maygay - Impulse) (EPOCH) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_dblimd, ep_dblim, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Double Impact (Maygay - Impulse) (EPOCH) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_itjb3, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Italian Job 3 (Maygay) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_itjb3a, ep_itjb3, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Italian Job 3 (Maygay) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_wipeo, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Wipeout (Maygay) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_wipeoa, ep_wipeo, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Wipeout (Maygay) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_wipeob, ep_wipeo, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Wipeout (Maygay) (EPOCH) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_wipeoc, ep_wipeo, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Wipeout (Maygay) (EPOCH) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_wipeoe, ep_wipeo, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Wipeout (Maygay) (EPOCH) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_bbonz, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Bingo Bonanza (Maygay - Union) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_bbonza, ep_bbonz, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Bingo Bonanza (Maygay - Union) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_cahoy, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay - Eclipse?", "Cash Ahoy (Maygay - Eclipse?) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cahoya, ep_cahoy, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash Ahoy (Maygay) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cahoyb, ep_cahoy, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cash Ahoy (Maygay) (EPOCH) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_cock, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cock A Doodle Dosh (Maygay - Union) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cocka, ep_cock, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cock A Doodle Dosh (Maygay - Union) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cockb, ep_cock, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cock A Doodle Dosh (Maygay - Union) (EPOCH) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cockc, ep_cock, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cock A Doodle Dosh (Maygay - Union) (EPOCH) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cockd, ep_cock, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cock A Doodle Dosh (Maygay - Union) (EPOCH) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cocke, ep_cock, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cock A Doodle Dosh (Maygay - Union) (EPOCH) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_duff, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons - Duff Beer Guide (Maygay) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_duffa, ep_duff, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons - Duff Beer Guide (Maygay) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_duffb, ep_duff, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons - Duff Beer Guide (Maygay) (EPOCH) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_duffc, ep_duff, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "The Simpsons - Duff Beer Guide (Maygay) (EPOCH) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_flash, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Flashback (Maygay - Impulse) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_flasha, ep_flash, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Flashback (Maygay - Impulse) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_flashb, ep_flash, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Flashback (Maygay - Impulse) (EPOCH) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_flashc, ep_flash, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Flashback (Maygay - Impulse) (EPOCH) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_flashd, ep_flash, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Flashback (Maygay - Impulse) (EPOCH) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_flashe, ep_flash, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Flashback (Maygay - Impulse) (EPOCH) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_flashf, ep_flash, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Flashback (Maygay - Impulse) (EPOCH) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_fortg, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Fortune & Glory (Maygay - Impulse) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_fortga, ep_fortg, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Fortune & Glory (Maygay - Impulse) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_fortgb, ep_fortg, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Fortune & Glory (Maygay - Impulse) (EPOCH) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_fran, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Frantic (Maygay) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_frana, ep_fran, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Frantic (Maygay) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_fnclb, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Fruit & Nudge Club (Maygay) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_fnclba, ep_fnclb, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Fruit & Nudge Club (Maygay) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_fullm, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Full Moon Fever (Maygay - Impulse) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_fullma, ep_fullm, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Full Moon Fever (Maygay - Impulse) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_fullmb, ep_fullm, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Full Moon Fever (Maygay - Impulse) (EPOCH) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_fullmc, ep_fullm, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Full Moon Fever (Maygay - Impulse) (EPOCH) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_fullmd, ep_fullm, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Full Moon Fever (Maygay - Impulse) (EPOCH) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_fullme, ep_fullm, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Full Moon Fever (Maygay - Impulse) (EPOCH) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_fullmf, ep_fullm, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Full Moon Fever (Maygay - Impulse) (EPOCH) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_funny, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Funny Money (Maygay) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_funnya, ep_funny, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Funny Money (Maygay) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_funnyb, ep_funny, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Funny Money (Maygay) (EPOCH) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_funnyc, ep_funny, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Funny Money (Maygay) (EPOCH) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_funnyd, ep_funny, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Funny Money (Maygay) (EPOCH) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_funnye, ep_funny, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Funny Money (Maygay) (EPOCH) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_funnyf, ep_funny, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Funny Money (Maygay) (EPOCH) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_funnyg, ep_funny, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Funny Money (Maygay) (EPOCH) (set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_geron, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Geronimo (Maygay - Impulse) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_gerona, ep_geron, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Geronimo (Maygay - Impulse) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_geronb, ep_geron, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Geronimo (Maygay - Impulse) (EPOCH) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_geronc, ep_geron, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Geronimo (Maygay - Impulse) (EPOCH) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_gerond, ep_geron, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Geronimo (Maygay - Impulse) (EPOCH) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_gerone, ep_geron, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Geronimo (Maygay - Impulse) (EPOCH) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_gridr, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Gridrunner (Maygay - Impulse) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_gridra, ep_gridr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Gridrunner (Maygay - Impulse) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_gridrb, ep_gridr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Gridrunner (Maygay - Impulse) (EPOCH) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_gridrc, ep_gridr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Gridrunner (Maygay - Impulse) (EPOCH) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_gridrd, ep_gridr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Gridrunner (Maygay - Impulse) (EPOCH) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_hvns, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Heavens Above (Maygay) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_hvnsa, ep_hvns, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Heavens Above (Maygay) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_highv, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "High Voltage (Maygay - Impulse) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_highva, ep_highv, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "High Voltage (Maygay - Impulse) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_highvb, ep_highv, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "High Voltage (Maygay - Impulse) (EPOCH) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_highvc, ep_highv, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "High Voltage (Maygay - Impulse) (EPOCH) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_highvd, ep_highv, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "High Voltage (Maygay - Impulse) (EPOCH) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_highve, ep_highv, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "High Voltage (Maygay - Impulse) (EPOCH) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_highvf, ep_highv, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "High Voltage (Maygay - Impulse) (EPOCH) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_hogmn, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Hog Money (Maygay - Impulse) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_hogmna, ep_hogmn, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Hog Money (Maygay - Impulse) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_hogmnb, ep_hogmn, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Hog Money (Maygay - Impulse) (EPOCH) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_htdgs, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Hot Dogs (Maygay) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_htdgsa, ep_htdgs, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Hot Dogs (Maygay) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_hubbl, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Hubble Bubble (Maygay) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_hubbla, ep_hubbl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Hubble Bubble (Maygay) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_huric, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Hurricane (Maygay - Impulse) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_hurica, ep_huric, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Hurricane (Maygay - Impulse) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_huricb, ep_huric, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Hurricane (Maygay - Impulse) (EPOCH) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_huricc, ep_huric, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Hurricane (Maygay - Impulse) (EPOCH) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_huricd, ep_huric, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Hurricane (Maygay - Impulse) (EPOCH) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_hurice, ep_huric, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Hurricane (Maygay - Impulse) (EPOCH) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_hur, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Hurricane (Global) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_hura, ep_hur, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Hurricane (Global) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_hurb, ep_hur, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Hurricane (Global) (EPOCH) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_hyst, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Hysteria (Maygay - Impulse) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_hysta, ep_hyst, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Hysteria (Maygay - Impulse) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_manic, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Manic Miner (Maygay - Impulse) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_manica, ep_manic, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Manic Miner (Maygay - Impulse) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_manicb, ep_manic, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Manic Miner (Maygay - Impulse) (EPOCH) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_manicc, ep_manic, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Manic Miner (Maygay - Impulse) (EPOCH) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_manicd, ep_manic, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Manic Miner (Maygay - Impulse) (EPOCH) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_manice, ep_manic, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Manic Miner (Maygay - Impulse) (EPOCH) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_manicf, ep_manic, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Manic Miner (Maygay - Impulse) (EPOCH) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_matrx, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Matrix (Maygay - Impulse) (EPOCH)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_mwom, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Mortal Wombat (Maygay) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_mwoma, ep_mwom, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Mortal Wombat (Maygay) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_mwomb, ep_mwom, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Mortal Wombat (Maygay) (EPOCH) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_mwomc, ep_mwom, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Mortal Wombat (Maygay) (EPOCH) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_mwomd, ep_mwom, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Mortal Wombat (Maygay) (EPOCH) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_otmcl, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Over The Moon Club (Maygay) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_otmcla, ep_otmcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Over The Moon Club (Maygay) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // 'awards' -GAME( 199?, ep_pharo, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Pharaoh's Treasure (Maygay) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) // has hdd dump -GAME( 199?, ep_pharoa, ep_pharo, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Pharaoh's Treasure (Maygay) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_pesos, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Pick Yer Pesos (Maygay - Impulse) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_pesosa, ep_pesos, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Pick Yer Pesos (Maygay - Impulse) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_pesosb, ep_pesos, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Pick Yer Pesos (Maygay - Impulse) (EPOCH) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_pesosc, ep_pesos, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Pick Yer Pesos (Maygay - Impulse) (EPOCH) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_react, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Reactor (Maygay - Impulse) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_reacta, ep_react, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Reactor (Maygay - Impulse) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_reactb, ep_react, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Reactor (Maygay - Impulse) (EPOCH) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_reactc, ep_react, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Reactor (Maygay - Impulse) (EPOCH) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_reactd, ep_react, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Reactor (Maygay - Impulse) (EPOCH) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_reacte, ep_react, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Reactor (Maygay - Impulse) (EPOCH) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_rtt, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Round The Twist (Maygay) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_rtta, ep_rtt, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Round The Twist (Maygay) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_royrl, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Royal Roulette (Maygay) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_royrla, ep_royrl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Royal Roulette (Maygay) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_royrlb, ep_royrl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Royal Roulette (Maygay) (EPOCH) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_royrlc, ep_royrl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Royal Roulette (Maygay) (EPOCH) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_royrld, ep_royrl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Royal Roulette (Maygay) (EPOCH) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_royrle, ep_royrl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Royal Roulette (Maygay) (EPOCH) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_spart, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Spartacash (Maygay - Impulse) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_sparta, ep_spart, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Spartacash (Maygay - Impulse) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_spartb, ep_spart, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Spartacash (Maygay - Impulse) (EPOCH) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_spntn, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Spin & Tonic (Maygay - Impulse) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_spntna, ep_spntn, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Spin & Tonic (Maygay - Impulse) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_spntnb, ep_spntn, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Spin & Tonic (Maygay - Impulse) (EPOCH) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_spntnc, ep_spntn, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Spin & Tonic (Maygay - Impulse) (EPOCH) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_spin, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Spin On It (Maygay - Impulse) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_spina, ep_spin, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Spin On It (Maygay - Impulse) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_spinb, ep_spin, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Spin On It (Maygay - Impulse) (EPOCH) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_spinc, ep_spin, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Spin On It (Maygay - Impulse) (EPOCH) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_spind, ep_spin, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Spin On It (Maygay - Impulse) (EPOCH) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_spine, ep_spin, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Spin On It (Maygay - Impulse) (EPOCH) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_strat, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Stratagem (Maygay) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_strata, ep_strat, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Stratagem (Maygay) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_subb, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Subbuteo (Maygay) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_subba, ep_subb, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Subbuteo (Maygay) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_subbb, ep_subb, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Subbuteo (Maygay) (EPOCH) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_subbc, ep_subb, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Subbuteo (Maygay) (EPOCH) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_subbd, ep_subb, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Subbuteo (Maygay) (EPOCH) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_subbe, ep_subb, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Subbuteo (Maygay) (EPOCH) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_subbf, ep_subb, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Subbuteo (Maygay) (EPOCH) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_subbg, ep_subb, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Subbuteo (Maygay) (EPOCH) (set 8)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_snw, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Super Nudge Wink (Maygay - Union) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_snwa, ep_snw, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Super Nudge Wink (Maygay - Union) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_snwb, ep_snw, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Super Nudge Wink (Maygay - Union) (EPOCH) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_snwc, ep_snw, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Super Nudge Wink (Maygay - Union) (EPOCH) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_snwd, ep_snw, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Super Nudge Wink (Maygay - Union) (EPOCH) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_tak5, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Take Five (Maygay - Union) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_tak5a, ep_tak5, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Take Five (Maygay - Union) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_trail, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Trailblazer (Maygay - Impulse) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_traila, ep_trail, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Trailblazer (Maygay - Impulse) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_trailb, ep_trail, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Trailblazer (Maygay - Impulse) (EPOCH) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_trics, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Triple Cash (Maygay - Union) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_tricsa, ep_trics, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Triple Cash (Maygay - Union) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_wildf, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Wildfire (Maygay - Impulse) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_wildfa, ep_wildf, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Wildfire (Maygay - Impulse) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_beavr, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Beaver Las Vegas (Global) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_beavra, ep_beavr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Beaver Las Vegas (Global) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_beavrb, ep_beavr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Beaver Las Vegas (Global) (EPOCH) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_beavrc, ep_beavr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Beaver Las Vegas (Global) (EPOCH) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_beavrd, ep_beavr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Beaver Las Vegas (Global) (EPOCH) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_beavre, ep_beavr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Beaver Las Vegas (Global) (EPOCH) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_beavrf, ep_beavr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Beaver Las Vegas (Global) (EPOCH) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_beavrg, ep_beavr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Beaver Las Vegas (Global) (EPOCH) (set 8)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_beavrh, ep_beavr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Beaver Las Vegas (Global) (EPOCH) (set 9)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_beavri, ep_beavr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Beaver Las Vegas (Global) (EPOCH) (set 10)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_beavrj, ep_beavr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Beaver Las Vegas (Global) (EPOCH) (set 11)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_beavrk, ep_beavr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Beaver Las Vegas (Global) (EPOCH) (set 12)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_beavrl, ep_beavr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Beaver Las Vegas (Global) (EPOCH) (set 13)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_beavrm, ep_beavr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Beaver Las Vegas (Global) (EPOCH) (set 14)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_bvrcl, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Beaver Las Vegas Club (Global) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_bvrcla, ep_bvrcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Beaver Las Vegas Club (Global) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_bvrclb, ep_bvrcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Beaver Las Vegas Club (Global) (EPOCH) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_bvrclc, ep_bvrcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Beaver Las Vegas Club (Global) (EPOCH) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_bvrcld, ep_bvrcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Beaver Las Vegas Club (Global) (EPOCH) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_bvrcle, ep_bvrcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Beaver Las Vegas Club (Global) (EPOCH) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_bvrclf, ep_bvrcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Beaver Las Vegas Club (Global) (EPOCH) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_bvrclg, ep_bvrcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Beaver Las Vegas Club (Global) (EPOCH) (set 8)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_bvrclh, ep_bvrcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Beaver Las Vegas Club (Global) (EPOCH) (set 9)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_bvrcli, ep_bvrcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Beaver Las Vegas Club (Global) (EPOCH) (set 10)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_bvrclj, ep_bvrcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Beaver Las Vegas Club (Global) (EPOCH) (set 11)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_bvrclk, ep_bvrcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Beaver Las Vegas Club (Global) (EPOCH) (set 12)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_bjclb, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "The Blackjack Club (Global) (EPOCH)",MACHINE_IS_SKELETON_MECHANICAL ) - - -GAME( 199?, ep_cbrcl, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Cannonball Run Club (Global) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cbrcla, ep_cbrcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Cannonball Run Club (Global) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cbrclb, ep_cbrcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Cannonball Run Club (Global) (EPOCH) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cbrclc, ep_cbrcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Cannonball Run Club (Global) (EPOCH) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cbrcld, ep_cbrcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Cannonball Run Club (Global) (EPOCH) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cbrcle, ep_cbrcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Cannonball Run Club (Global) (EPOCH) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cbrclf, ep_cbrcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Cannonball Run Club (Global) (EPOCH) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cbrclg, ep_cbrcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Cannonball Run Club (Global) (EPOCH) (set 8)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cbrclh, ep_cbrcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Cannonball Run Club (Global) (EPOCH) (set 9)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cbrcli, ep_cbrcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Cannonball Run Club (Global) (EPOCH) (set 10)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cbrclj, ep_cbrcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Cannonball Run Club (Global) (EPOCH) (set 11)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cbrclk, ep_cbrcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Cannonball Run Club (Global) (EPOCH) (set 12)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_cclas, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Classic (Global) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cclasa, ep_cclas, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Classic (Global) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_cgrc, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Grand Classic (Global) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cgrca, ep_cgrc, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Grand Classic (Global) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_cgred, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Club Greed (Global) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cgreda, ep_cgred, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Club Greed (Global) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_cstrk, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Crazy Streak Club (Global) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cstrka, ep_cstrk, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Crazy Streak Club (Global) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cstrkb, ep_cstrk, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Crazy Streak Club (Global) (EPOCH) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cstrkc, ep_cstrk, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Crazy Streak Club (Global) (EPOCH) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cstrkd, ep_cstrk, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Crazy Streak Club (Global) (EPOCH) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cstrke, ep_cstrk, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Crazy Streak Club (Global) (EPOCH) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) // bad? (or at least has garbage fill, not 0xff like the other sets) -GAME( 199?, ep_cstrkf, ep_cstrk, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Crazy Streak Club (Global) (EPOCH) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cstrkg, ep_cstrk, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Crazy Streak Club (Global) (EPOCH) (set 8)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_dmbus, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Dambusters (Impulse) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_dmbusa, ep_dmbus, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Dambusters (Impulse) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_dmbusb, ep_dmbus, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Dambusters (Impulse) (EPOCH) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_dmbusc, ep_dmbus, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Dambusters (Impulse) (EPOCH) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_dmbusd, ep_dmbus, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Dambusters (Impulse) (EPOCH) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_dmbuse, ep_dmbus, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Dambusters (Impulse) (EPOCH) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_dmbusf, ep_dmbus, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Dambusters (Impulse) (EPOCH) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_ddqcl, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Dungeons & Drag Queens Club (Global) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_ddqcla, ep_ddqcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Dungeons & Drag Queens Club (Global) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_ddqclb, ep_ddqcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Dungeons & Drag Queens Club (Global) (EPOCH) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_ddqclc, ep_ddqcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Dungeons & Drag Queens Club (Global) (EPOCH) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_ddqcld, ep_ddqcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Dungeons & Drag Queens Club (Global) (EPOCH) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_ddqcle, ep_ddqcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Dungeons & Drag Queens Club (Global) (EPOCH) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_ddqclf, ep_ddqcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Dungeons & Drag Queens Club (Global) (EPOCH) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_ddqclg, ep_ddqcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Dungeons & Drag Queens Club (Global) (EPOCH) (set 8)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_fog, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Fields of Gold (Global) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_foga, ep_fog, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Fields of Gold (Global) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_fmf, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Full Moon Fever (Global) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_fmfa, ep_fmf, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Full Moon Fever (Global) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_gtrot, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Globe Trotter (Global) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) // contains maygay, global and impulse strings -GAME( 199?, ep_gtrota, ep_gtrot, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Globe Trotter (Global) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) // contains maygay, global and impulse strings - -GAME( 199?, ep_grun, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Grid Runner (Global) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_gruna, ep_grun, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Grid Runner (Global) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_grncl, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Grid Runner Club (Global) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_grncla, ep_grncl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Grid Runner Club (Global) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_grnclb, ep_grncl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Grid Runner Club (Global) (EPOCH) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_grnclc, ep_grncl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Grid Runner Club (Global) (EPOCH) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_heybg, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Hey Big Spender (Global) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_heybga, ep_heybg, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Hey Big Spender (Global) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_heybgb, ep_heybg, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Hey Big Spender (Global) (EPOCH) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_heybgc, ep_heybg, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Hey Big Spender (Global) (EPOCH) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_heybc, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Hey Big Spender Club (Global) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_heybca, ep_heybc, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Hey Big Spender Club (Global) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_hiscl, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Hi Spirits Club (Global) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_hiscla, ep_hiscl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Hi Spirits Club (Global) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_smoke, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Holy Smoke! (Impulse) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_smokea, ep_smoke, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Holy Smoke! (Impulse) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_smokeb, ep_smoke, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Holy Smoke! (Impulse) (EPOCH) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_smokec, ep_smoke, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Holy Smoke! (Impulse) (EPOCH) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_smoked, ep_smoke, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Holy Smoke! (Impulse) (EPOCH) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_smokee, ep_smoke, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Holy Smoke! (Impulse) (EPOCH) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_smokef, ep_smoke, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Holy Smoke! (Impulse) (EPOCH) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_smokeg, ep_smoke, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Holy Smoke! (Impulse) (EPOCH) (set 8)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_smokeh, ep_smoke, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Holy Smoke! (Impulse) (EPOCH) (set 9)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_smokei, ep_smoke, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Holy Smoke! (Impulse) (EPOCH) (set 10)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_smokej, ep_smoke, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Holy Smoke! (Impulse) (EPOCH) (set 11)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_ifern, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Inferno (Impulse) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_iferna, ep_ifern, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Inferno (Impulse) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_kopcl, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Knockout Punch Club (Global) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_kopcla, ep_kopcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Knockout Punch Club (Global) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_kopclb, ep_kopcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Knockout Punch Club (Global) (EPOCH) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_ltt, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Licence To Thrill (Global) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_ltta, ep_ltt, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Licence To Thrill (Global) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_monrt, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "The Money Returns Club (Global) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_monrta, ep_monrt, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "The Money Returns Club (Global) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_monrtb, ep_monrt, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "The Money Returns Club (Global) (EPOCH) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_monrtc, ep_monrt, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "The Money Returns Club (Global) (EPOCH) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_monrtd, ep_monrt, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "The Money Returns Club (Global) (EPOCH) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_monrte, ep_monrt, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "The Money Returns Club (Global) (EPOCH) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_monrtf, ep_monrt, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "The Money Returns Club (Global) (EPOCH) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_monsh, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "The Moonshine Club (Global) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_monsha, ep_monsh, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "The Moonshine Club (Global) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_monshb, ep_monsh, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "The Moonshine Club (Global) (EPOCH) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_monshc, ep_monsh, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "The Moonshine Club (Global) (EPOCH) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_monshd, ep_monsh, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "The Moonshine Club (Global) (EPOCH) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_monshe, ep_monsh, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "The Moonshine Club (Global) (EPOCH) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_monshf, ep_monsh, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "The Moonshine Club (Global) (EPOCH) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_mummy, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Mummy Talks (Impulse) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_mummya, ep_mummy, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Mummy Talks (Impulse) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_mummyb, ep_mummy, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Mummy Talks (Impulse) (EPOCH) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_mummyc, ep_mummy, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Mummy Talks (Impulse) (EPOCH) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_mummyd, ep_mummy, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Mummy Talks (Impulse) (EPOCH) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_mummye, ep_mummy, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Mummy Talks (Impulse) (EPOCH) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_mummyf, ep_mummy, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Mummy Talks (Impulse) (EPOCH) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_rlgdt, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Reel Good Time (Rebuild) (Global) (Version 1.0) (EPOCH)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_rchik, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Rich Chics Club (Global) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_rchika, ep_rchik, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Rich Chics Club (Global) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_royrc, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Royal Roulette Club (Impulse) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_royrca, ep_royrc, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Royal Roulette Club (Impulse) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_sdcla, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Spotted Dick Classic (Global) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_sdclaa, ep_sdcla, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Spotted Dick Classic (Global) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_sdclab, ep_sdcla, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Spotted Dick Classic (Global) (EPOCH) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_sdclac, ep_sdcla, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Spotted Dick Classic (Global) (EPOCH) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_sdclaf, ep_sdcla, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Spotted Dick Classic (Global) (EPOCH) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_sdclag, ep_sdcla, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Spotted Dick Classic (Global) (EPOCH) (set 8)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_sdclad, ep_sdcla, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Spotted Dick Classic (Global) (EPOCH) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) // larger roms, header not cleared -GAME( 199?, ep_sdclae, ep_sdcla, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Spotted Dick Classic (Global) (EPOCH) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) // larger roms, header not cleared - -GAME( 199?, ep_sdclb, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Spotted Dick Club (Global) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_sdclba, ep_sdclb, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Spotted Dick Club (Global) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_stm, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Storm Force (Global) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_stma, ep_stm, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Storm Force (Global) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_stmb, ep_stm, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Storm Force (Global) (EPOCH) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_stmc, ep_stm, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Storm Force (Global) (EPOCH) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_stmcl, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Storm Force Club (Global) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_stmcla, ep_stmcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Storm Force Club (Global) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_tod, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Truth Or Dare (Global) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_toda, ep_tod, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Truth Or Dare (Global) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_utnut, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Utter Nutter (Global) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_utnuta, ep_utnut, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Utter Nutter (Global) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_utnutb, ep_utnut, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Utter Nutter (Global) (EPOCH) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_utnutc, ep_utnut, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Utter Nutter (Global) (EPOCH) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_utncl, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Utter Nutter Club (Global) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_utncla, ep_utncl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Utter Nutter Club (Global) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_wleek, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Weakest Leek Club (Global) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_wleeka, ep_wleek, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Weakest Leek Club (Global) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_wud, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "What's Up Doc (Global) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_wuda, ep_wud, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "What's Up Doc (Global) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_wudb, ep_wud, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "What's Up Doc (Global) (EPOCH) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_wudc, ep_wud, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "What's Up Doc (Global) (EPOCH) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_wudd, ep_wud, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "What's Up Doc (Global) (EPOCH) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_wude, ep_wud, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "What's Up Doc (Global) (EPOCH) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_mlhrc, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Who Whats To Be A Millionhare Club (Global) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_mlhrca, ep_mlhrc, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Who Whats To Be A Millionhare Club (Global) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_mlhrcb, ep_mlhrc, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Who Whats To Be A Millionhare Club (Global) (EPOCH) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_mlhrcc, ep_mlhrc, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Who Whats To Be A Millionhare Club (Global) (EPOCH) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_mlhrcd, ep_mlhrc, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Who Whats To Be A Millionhare Club (Global) (EPOCH) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_mlhrce, ep_mlhrc, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Who Whats To Be A Millionhare Club (Global) (EPOCH) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_wf, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Wildfire (Global) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_wfa, ep_wf, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Wildfire (Global) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_wfb, ep_wf, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Wildfire (Global) (EPOCH) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_wfc, ep_wf, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Wildfire (Global) (EPOCH) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_wfd, ep_wf, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Wildfire (Global) (EPOCH) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_wfe, ep_wf, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Wildfire (Global) (EPOCH) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_wff, ep_wf, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Wildfire (Global) (EPOCH) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_wfg, ep_wf, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Wildfire (Global) (EPOCH) (set 8)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_makmv, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Make Your Move (Global) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_makmva, ep_makmv, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Make Your Move (Global) (EPOCH) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, ep_cascz, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Crazy (Global) (EPOCH) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) // check identity, other set has header - -GAME( 199?, ep_goldf, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Gold Fever (Impulse) (EPOCH)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_pharo, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Pharaoh's Treasure (Maygay) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // has hdd dump +GAME( 199?, ep_pharoa, ep_pharo, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Pharaoh's Treasure (Maygay) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_pesos, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Pick Yer Pesos (Maygay - Impulse) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_pesosa, ep_pesos, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Pick Yer Pesos (Maygay - Impulse) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_pesosb, ep_pesos, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Pick Yer Pesos (Maygay - Impulse) (EPOCH) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_pesosc, ep_pesos, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Pick Yer Pesos (Maygay - Impulse) (EPOCH) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_react, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Reactor (Maygay - Impulse) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_reacta, ep_react, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Reactor (Maygay - Impulse) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_reactb, ep_react, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Reactor (Maygay - Impulse) (EPOCH) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_reactc, ep_react, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Reactor (Maygay - Impulse) (EPOCH) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_reactd, ep_react, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Reactor (Maygay - Impulse) (EPOCH) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_reacte, ep_react, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Reactor (Maygay - Impulse) (EPOCH) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_rtt, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Round The Twist (Maygay) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_rtta, ep_rtt, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Round The Twist (Maygay) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_royrl, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Royal Roulette (Maygay) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_royrla, ep_royrl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Royal Roulette (Maygay) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_royrlb, ep_royrl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Royal Roulette (Maygay) (EPOCH) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_royrlc, ep_royrl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Royal Roulette (Maygay) (EPOCH) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_royrld, ep_royrl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Royal Roulette (Maygay) (EPOCH) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_royrle, ep_royrl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Royal Roulette (Maygay) (EPOCH) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_spart, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Spartacash (Maygay - Impulse) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_sparta, ep_spart, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Spartacash (Maygay - Impulse) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_spartb, ep_spart, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Spartacash (Maygay - Impulse) (EPOCH) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_spntn, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Spin & Tonic (Maygay - Impulse) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_spntna, ep_spntn, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Spin & Tonic (Maygay - Impulse) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_spntnb, ep_spntn, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Spin & Tonic (Maygay - Impulse) (EPOCH) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_spntnc, ep_spntn, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Spin & Tonic (Maygay - Impulse) (EPOCH) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_spin, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Spin On It (Maygay - Impulse) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_spina, ep_spin, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Spin On It (Maygay - Impulse) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_spinb, ep_spin, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Spin On It (Maygay - Impulse) (EPOCH) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_spinc, ep_spin, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Spin On It (Maygay - Impulse) (EPOCH) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_spind, ep_spin, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Spin On It (Maygay - Impulse) (EPOCH) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_spine, ep_spin, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Spin On It (Maygay - Impulse) (EPOCH) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_strat, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Stratagem (Maygay) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_strata, ep_strat, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Stratagem (Maygay) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_subb, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Subbuteo (Maygay) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_subba, ep_subb, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Subbuteo (Maygay) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_subbb, ep_subb, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Subbuteo (Maygay) (EPOCH) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_subbc, ep_subb, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Subbuteo (Maygay) (EPOCH) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_subbd, ep_subb, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Subbuteo (Maygay) (EPOCH) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_subbe, ep_subb, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Subbuteo (Maygay) (EPOCH) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_subbf, ep_subb, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Subbuteo (Maygay) (EPOCH) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_subbg, ep_subb, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Subbuteo (Maygay) (EPOCH) (set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_snw, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Super Nudge Wink (Maygay - Union) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_snwa, ep_snw, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Super Nudge Wink (Maygay - Union) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_snwb, ep_snw, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Super Nudge Wink (Maygay - Union) (EPOCH) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_snwc, ep_snw, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Super Nudge Wink (Maygay - Union) (EPOCH) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_snwd, ep_snw, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Super Nudge Wink (Maygay - Union) (EPOCH) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_tak5, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Take Five (Maygay - Union) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_tak5a, ep_tak5, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Take Five (Maygay - Union) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_trail, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Trailblazer (Maygay - Impulse) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_traila, ep_trail, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Trailblazer (Maygay - Impulse) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_trailb, ep_trail, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Trailblazer (Maygay - Impulse) (EPOCH) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_trics, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Triple Cash (Maygay - Union) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_tricsa, ep_trics, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Triple Cash (Maygay - Union) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_wildf, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Wildfire (Maygay - Impulse) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_wildfa, ep_wildf, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Wildfire (Maygay - Impulse) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_beavr, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Beaver Las Vegas (Global) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_beavra, ep_beavr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Beaver Las Vegas (Global) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_beavrb, ep_beavr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Beaver Las Vegas (Global) (EPOCH) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_beavrc, ep_beavr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Beaver Las Vegas (Global) (EPOCH) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_beavrd, ep_beavr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Beaver Las Vegas (Global) (EPOCH) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_beavre, ep_beavr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Beaver Las Vegas (Global) (EPOCH) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_beavrf, ep_beavr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Beaver Las Vegas (Global) (EPOCH) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_beavrg, ep_beavr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Beaver Las Vegas (Global) (EPOCH) (set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_beavrh, ep_beavr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Beaver Las Vegas (Global) (EPOCH) (set 9)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_beavri, ep_beavr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Beaver Las Vegas (Global) (EPOCH) (set 10)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_beavrj, ep_beavr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Beaver Las Vegas (Global) (EPOCH) (set 11)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_beavrk, ep_beavr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Beaver Las Vegas (Global) (EPOCH) (set 12)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_beavrl, ep_beavr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Beaver Las Vegas (Global) (EPOCH) (set 13)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_beavrm, ep_beavr, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Beaver Las Vegas (Global) (EPOCH) (set 14)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_bvrcl, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Beaver Las Vegas Club (Global) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_bvrcla, ep_bvrcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Beaver Las Vegas Club (Global) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_bvrclb, ep_bvrcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Beaver Las Vegas Club (Global) (EPOCH) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_bvrclc, ep_bvrcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Beaver Las Vegas Club (Global) (EPOCH) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_bvrcld, ep_bvrcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Beaver Las Vegas Club (Global) (EPOCH) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_bvrcle, ep_bvrcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Beaver Las Vegas Club (Global) (EPOCH) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_bvrclf, ep_bvrcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Beaver Las Vegas Club (Global) (EPOCH) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_bvrclg, ep_bvrcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Beaver Las Vegas Club (Global) (EPOCH) (set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_bvrclh, ep_bvrcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Beaver Las Vegas Club (Global) (EPOCH) (set 9)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_bvrcli, ep_bvrcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Beaver Las Vegas Club (Global) (EPOCH) (set 10)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_bvrclj, ep_bvrcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Beaver Las Vegas Club (Global) (EPOCH) (set 11)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_bvrclk, ep_bvrcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Beaver Las Vegas Club (Global) (EPOCH) (set 12)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_bjclb, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "The Blackjack Club (Global) (EPOCH)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + + +GAME( 199?, ep_cbrcl, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Cannonball Run Club (Global) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cbrcla, ep_cbrcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Cannonball Run Club (Global) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cbrclb, ep_cbrcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Cannonball Run Club (Global) (EPOCH) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cbrclc, ep_cbrcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Cannonball Run Club (Global) (EPOCH) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cbrcld, ep_cbrcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Cannonball Run Club (Global) (EPOCH) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cbrcle, ep_cbrcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Cannonball Run Club (Global) (EPOCH) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cbrclf, ep_cbrcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Cannonball Run Club (Global) (EPOCH) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cbrclg, ep_cbrcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Cannonball Run Club (Global) (EPOCH) (set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cbrclh, ep_cbrcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Cannonball Run Club (Global) (EPOCH) (set 9)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cbrcli, ep_cbrcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Cannonball Run Club (Global) (EPOCH) (set 10)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cbrclj, ep_cbrcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Cannonball Run Club (Global) (EPOCH) (set 11)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cbrclk, ep_cbrcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Cannonball Run Club (Global) (EPOCH) (set 12)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_cclas, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Classic (Global) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cclasa, ep_cclas, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Classic (Global) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_cgrc, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Grand Classic (Global) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cgrca, ep_cgrc, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Grand Classic (Global) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_cgred, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Club Greed (Global) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cgreda, ep_cgred, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Club Greed (Global) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_cstrk, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Crazy Streak Club (Global) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cstrka, ep_cstrk, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Crazy Streak Club (Global) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cstrkb, ep_cstrk, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Crazy Streak Club (Global) (EPOCH) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cstrkc, ep_cstrk, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Crazy Streak Club (Global) (EPOCH) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cstrkd, ep_cstrk, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Crazy Streak Club (Global) (EPOCH) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cstrke, ep_cstrk, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Crazy Streak Club (Global) (EPOCH) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // bad? (or at least has garbage fill, not 0xff like the other sets) +GAME( 199?, ep_cstrkf, ep_cstrk, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Crazy Streak Club (Global) (EPOCH) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cstrkg, ep_cstrk, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Crazy Streak Club (Global) (EPOCH) (set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_dmbus, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Dambusters (Impulse) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_dmbusa, ep_dmbus, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Dambusters (Impulse) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_dmbusb, ep_dmbus, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Dambusters (Impulse) (EPOCH) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_dmbusc, ep_dmbus, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Dambusters (Impulse) (EPOCH) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_dmbusd, ep_dmbus, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Dambusters (Impulse) (EPOCH) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_dmbuse, ep_dmbus, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Dambusters (Impulse) (EPOCH) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_dmbusf, ep_dmbus, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Dambusters (Impulse) (EPOCH) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_ddqcl, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Dungeons & Drag Queens Club (Global) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_ddqcla, ep_ddqcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Dungeons & Drag Queens Club (Global) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_ddqclb, ep_ddqcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Dungeons & Drag Queens Club (Global) (EPOCH) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_ddqclc, ep_ddqcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Dungeons & Drag Queens Club (Global) (EPOCH) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_ddqcld, ep_ddqcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Dungeons & Drag Queens Club (Global) (EPOCH) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_ddqcle, ep_ddqcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Dungeons & Drag Queens Club (Global) (EPOCH) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_ddqclf, ep_ddqcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Dungeons & Drag Queens Club (Global) (EPOCH) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_ddqclg, ep_ddqcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Dungeons & Drag Queens Club (Global) (EPOCH) (set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_fog, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Fields of Gold (Global) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_foga, ep_fog, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Fields of Gold (Global) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_fmf, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Full Moon Fever (Global) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_fmfa, ep_fmf, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Full Moon Fever (Global) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_gtrot, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Globe Trotter (Global) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // contains maygay, global and impulse strings +GAME( 199?, ep_gtrota, ep_gtrot, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Globe Trotter (Global) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // contains maygay, global and impulse strings + +GAME( 199?, ep_grun, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Grid Runner (Global) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_gruna, ep_grun, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Grid Runner (Global) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_grncl, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Grid Runner Club (Global) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_grncla, ep_grncl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Grid Runner Club (Global) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_grnclb, ep_grncl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Grid Runner Club (Global) (EPOCH) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_grnclc, ep_grncl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Grid Runner Club (Global) (EPOCH) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_heybg, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Hey Big Spender (Global) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_heybga, ep_heybg, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Hey Big Spender (Global) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_heybgb, ep_heybg, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Hey Big Spender (Global) (EPOCH) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_heybgc, ep_heybg, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Hey Big Spender (Global) (EPOCH) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_heybc, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Hey Big Spender Club (Global) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_heybca, ep_heybc, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Hey Big Spender Club (Global) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_hiscl, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Hi Spirits Club (Global) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_hiscla, ep_hiscl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Hi Spirits Club (Global) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_smoke, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Holy Smoke! (Impulse) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_smokea, ep_smoke, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Holy Smoke! (Impulse) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_smokeb, ep_smoke, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Holy Smoke! (Impulse) (EPOCH) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_smokec, ep_smoke, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Holy Smoke! (Impulse) (EPOCH) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_smoked, ep_smoke, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Holy Smoke! (Impulse) (EPOCH) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_smokee, ep_smoke, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Holy Smoke! (Impulse) (EPOCH) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_smokef, ep_smoke, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Holy Smoke! (Impulse) (EPOCH) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_smokeg, ep_smoke, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Holy Smoke! (Impulse) (EPOCH) (set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_smokeh, ep_smoke, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Holy Smoke! (Impulse) (EPOCH) (set 9)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_smokei, ep_smoke, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Holy Smoke! (Impulse) (EPOCH) (set 10)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_smokej, ep_smoke, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Holy Smoke! (Impulse) (EPOCH) (set 11)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_ifern, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Inferno (Impulse) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_iferna, ep_ifern, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Inferno (Impulse) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_kopcl, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Knockout Punch Club (Global) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_kopcla, ep_kopcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Knockout Punch Club (Global) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_kopclb, ep_kopcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Knockout Punch Club (Global) (EPOCH) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_ltt, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Licence To Thrill (Global) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_ltta, ep_ltt, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Licence To Thrill (Global) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_monrt, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "The Money Returns Club (Global) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_monrta, ep_monrt, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "The Money Returns Club (Global) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_monrtb, ep_monrt, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "The Money Returns Club (Global) (EPOCH) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_monrtc, ep_monrt, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "The Money Returns Club (Global) (EPOCH) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_monrtd, ep_monrt, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "The Money Returns Club (Global) (EPOCH) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_monrte, ep_monrt, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "The Money Returns Club (Global) (EPOCH) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_monrtf, ep_monrt, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "The Money Returns Club (Global) (EPOCH) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_monsh, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "The Moonshine Club (Global) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_monsha, ep_monsh, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "The Moonshine Club (Global) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_monshb, ep_monsh, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "The Moonshine Club (Global) (EPOCH) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_monshc, ep_monsh, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "The Moonshine Club (Global) (EPOCH) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_monshd, ep_monsh, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "The Moonshine Club (Global) (EPOCH) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_monshe, ep_monsh, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "The Moonshine Club (Global) (EPOCH) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_monshf, ep_monsh, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "The Moonshine Club (Global) (EPOCH) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_mummy, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Mummy Talks (Impulse) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_mummya, ep_mummy, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Mummy Talks (Impulse) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_mummyb, ep_mummy, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Mummy Talks (Impulse) (EPOCH) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_mummyc, ep_mummy, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Mummy Talks (Impulse) (EPOCH) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_mummyd, ep_mummy, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Mummy Talks (Impulse) (EPOCH) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_mummye, ep_mummy, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Mummy Talks (Impulse) (EPOCH) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_mummyf, ep_mummy, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Mummy Talks (Impulse) (EPOCH) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_rlgdt, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Reel Good Time (Rebuild) (Global) (Version 1.0) (EPOCH)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_rchik, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Rich Chics Club (Global) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_rchika, ep_rchik, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Rich Chics Club (Global) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_royrc, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Royal Roulette Club (Impulse) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_royrca, ep_royrc, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Royal Roulette Club (Impulse) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_sdcla, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Spotted Dick Classic (Global) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_sdclaa, ep_sdcla, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Spotted Dick Classic (Global) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_sdclab, ep_sdcla, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Spotted Dick Classic (Global) (EPOCH) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_sdclac, ep_sdcla, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Spotted Dick Classic (Global) (EPOCH) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_sdclaf, ep_sdcla, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Spotted Dick Classic (Global) (EPOCH) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_sdclag, ep_sdcla, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Spotted Dick Classic (Global) (EPOCH) (set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_sdclad, ep_sdcla, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Spotted Dick Classic (Global) (EPOCH) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // larger roms, header not cleared +GAME( 199?, ep_sdclae, ep_sdcla, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Spotted Dick Classic (Global) (EPOCH) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // larger roms, header not cleared + +GAME( 199?, ep_sdclb, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Spotted Dick Club (Global) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_sdclba, ep_sdclb, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Spotted Dick Club (Global) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_stm, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Storm Force (Global) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_stma, ep_stm, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Storm Force (Global) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_stmb, ep_stm, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Storm Force (Global) (EPOCH) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_stmc, ep_stm, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Storm Force (Global) (EPOCH) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_stmcl, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Storm Force Club (Global) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_stmcla, ep_stmcl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Storm Force Club (Global) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_tod, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Truth Or Dare (Global) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_toda, ep_tod, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Truth Or Dare (Global) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_utnut, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Utter Nutter (Global) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_utnuta, ep_utnut, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Utter Nutter (Global) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_utnutb, ep_utnut, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Utter Nutter (Global) (EPOCH) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_utnutc, ep_utnut, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Utter Nutter (Global) (EPOCH) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_utncl, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Utter Nutter Club (Global) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_utncla, ep_utncl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Utter Nutter Club (Global) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_wleek, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Weakest Leek Club (Global) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_wleeka, ep_wleek, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Weakest Leek Club (Global) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_wud, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "What's Up Doc (Global) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_wuda, ep_wud, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "What's Up Doc (Global) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_wudb, ep_wud, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "What's Up Doc (Global) (EPOCH) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_wudc, ep_wud, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "What's Up Doc (Global) (EPOCH) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_wudd, ep_wud, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "What's Up Doc (Global) (EPOCH) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_wude, ep_wud, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "What's Up Doc (Global) (EPOCH) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_mlhrc, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Who Whats To Be A Millionhare Club (Global) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_mlhrca, ep_mlhrc, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Who Whats To Be A Millionhare Club (Global) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_mlhrcb, ep_mlhrc, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Who Whats To Be A Millionhare Club (Global) (EPOCH) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_mlhrcc, ep_mlhrc, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Who Whats To Be A Millionhare Club (Global) (EPOCH) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_mlhrcd, ep_mlhrc, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Who Whats To Be A Millionhare Club (Global) (EPOCH) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_mlhrce, ep_mlhrc, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Who Whats To Be A Millionhare Club (Global) (EPOCH) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_wf, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Wildfire (Global) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_wfa, ep_wf, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Wildfire (Global) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_wfb, ep_wf, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Wildfire (Global) (EPOCH) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_wfc, ep_wf, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Wildfire (Global) (EPOCH) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_wfd, ep_wf, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Wildfire (Global) (EPOCH) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_wfe, ep_wf, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Wildfire (Global) (EPOCH) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_wff, ep_wf, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Wildfire (Global) (EPOCH) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_wfg, ep_wf, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Wildfire (Global) (EPOCH) (set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_makmv, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Make Your Move (Global) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_makmva, ep_makmv, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Make Your Move (Global) (EPOCH) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, ep_cascz, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Casino Crazy (Global) (EPOCH) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // check identity, other set has header + +GAME( 199?, ep_goldf, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Impulse", "Gold Fever (Impulse) (EPOCH)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) /* minimal header info */ -GAME( 199?, ep_bubsq, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Bubble & Squeak (Extreme) (EPOCH) (BASQ 0.2, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_bubsqa, ep_bubsq, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Bubble & Squeak (Extreme) (EPOCH) (BASQ 0.2, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_bubsqb, ep_bubsq, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Bubble & Squeak (Extreme) (EPOCH) (BASQ 0.3, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_bubsqc, ep_bubsq, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Bubble & Squeak (Extreme) (EPOCH) (BASQ 0.3, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_bubsqd, ep_bubsq, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Bubble & Squeak (Extreme) (EPOCH) (BASQ 0.4, set 5)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_bubsq, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Bubble & Squeak (Extreme) (EPOCH) (BASQ 0.2, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_bubsqa, ep_bubsq, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Bubble & Squeak (Extreme) (EPOCH) (BASQ 0.2, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_bubsqb, ep_bubsq, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Bubble & Squeak (Extreme) (EPOCH) (BASQ 0.3, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_bubsqc, ep_bubsq, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Bubble & Squeak (Extreme) (EPOCH) (BASQ 0.3, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_bubsqd, ep_bubsq, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Bubble & Squeak (Extreme) (EPOCH) (BASQ 0.4, set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, ep_cashn, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cashino (Maygay - Extreme) (EPOCH) (CSHI 1.0, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cashna, ep_cashn, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cashino (Maygay - Extreme) (EPOCH) (CSHI 1.0, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_cashn, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cashino (Maygay - Extreme) (EPOCH) (CSHI 1.0, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cashna, ep_cashn, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Cashino (Maygay - Extreme) (EPOCH) (CSHI 1.0, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, ep_inca, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Inca Dinka Do (Maygay - Extreme) (EPOCH) (INCA 1.2, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_incaa, ep_inca, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Inca Dinka Do (Maygay - Extreme) (EPOCH) (INCA 1.2, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_incab, ep_inca, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Inca Dinka Do (Maygay - Extreme) (EPOCH) (INCA 1.1, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_inca, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Inca Dinka Do (Maygay - Extreme) (EPOCH) (INCA 1.2, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_incaa, ep_inca, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Inca Dinka Do (Maygay - Extreme) (EPOCH) (INCA 1.2, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_incab, ep_inca, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Inca Dinka Do (Maygay - Extreme) (EPOCH) (INCA 1.1, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, ep_jakbn, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Jackpot & The Beanstreak (Extreme) (EPOCH) (JABS 0.3, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_jakbna, ep_jakbn, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Jackpot & The Beanstreak (Extreme) (EPOCH) (JABS 0.3, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_jakbnb, ep_jakbn, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Jackpot & The Beanstreak (Extreme) (EPOCH) (JABS 0.5, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_jakbnc, ep_jakbn, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Jackpot & The Beanstreak (Extreme) (EPOCH) (JABS 0.5, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_jakbn, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Jackpot & The Beanstreak (Extreme) (EPOCH) (JABS 0.3, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_jakbna, ep_jakbn, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Jackpot & The Beanstreak (Extreme) (EPOCH) (JABS 0.3, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_jakbnb, ep_jakbn, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Jackpot & The Beanstreak (Extreme) (EPOCH) (JABS 0.5, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_jakbnc, ep_jakbn, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Jackpot & The Beanstreak (Extreme) (EPOCH) (JABS 0.5, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, ep_loadd, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Loaded (Maygay) (EPOCH) (LOAD 1.2, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_loadda, ep_loadd, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Loaded (Maygay) (EPOCH) (LOAD 1.2, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_loadd, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Loaded (Maygay) (EPOCH) (LOAD 1.2, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_loadda, ep_loadd, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Loaded (Maygay) (EPOCH) (LOAD 1.2, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, ep_lukld, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Lucky Ladders (Maygay) (EPOCH) (LULA 0.2, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_luklda, ep_lukld, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Lucky Ladders (Maygay) (EPOCH) (LULA 0.2, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_lukld, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Lucky Ladders (Maygay) (EPOCH) (LULA 0.2, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_luklda, ep_lukld, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Lucky Ladders (Maygay) (EPOCH) (LULA 0.2, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, ep_noter, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Note Runner (Maygay) (EPOCH) (NORU 0.1, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_notera, ep_noter, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Note Runner (Maygay) (EPOCH) (NORU 0.1, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_noterb, ep_noter, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Note Runner (Maygay) (EPOCH) (NORU 0.2, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_noterc, ep_noter, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Note Runner (Maygay) (EPOCH) (NORU 0.2, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_noterd, ep_noter, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Note Runner (Maygay) (EPOCH) (NORU 1.0, set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_notere, ep_noter, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Note Runner (Maygay) (EPOCH) (NORU 1.0, set 6)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_noter, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Note Runner (Maygay) (EPOCH) (NORU 0.1, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_notera, ep_noter, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Note Runner (Maygay) (EPOCH) (NORU 0.1, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_noterb, ep_noter, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Note Runner (Maygay) (EPOCH) (NORU 0.2, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_noterc, ep_noter, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Note Runner (Maygay) (EPOCH) (NORU 0.2, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_noterd, ep_noter, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Note Runner (Maygay) (EPOCH) (NORU 1.0, set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_notere, ep_noter, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Note Runner (Maygay) (EPOCH) (NORU 1.0, set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, ep_pwrpl, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Power Play (Maygay) (EPOCH) (PPLY 0.3, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_pwrpla, ep_pwrpl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Power Play (Maygay) (EPOCH) (PPLY 0.3, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_pwrpl, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Power Play (Maygay) (EPOCH) (PPLY 0.3, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_pwrpla, ep_pwrpl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Power Play (Maygay) (EPOCH) (PPLY 0.3, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, ep_scrm, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Screamin Demon (Maygay) (EPOCH) (SCDE 2.0, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_scrma, ep_scrm, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Screamin Demon (Maygay) (EPOCH) (SCDE 2.0, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_scrmb, ep_scrm, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Screamin Demon (Maygay) (EPOCH) (SCDE 1.0, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_scrmc, ep_scrm, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Screamin Demon (Maygay) (EPOCH) (SCDE 1.0, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_scrm, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Screamin Demon (Maygay) (EPOCH) (SCDE 2.0, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_scrma, ep_scrm, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Screamin Demon (Maygay) (EPOCH) (SCDE 2.0, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_scrmb, ep_scrm, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Screamin Demon (Maygay) (EPOCH) (SCDE 1.0, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_scrmc, ep_scrm, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Screamin Demon (Maygay) (EPOCH) (SCDE 1.0, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, ep_tree, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Tree Amigos (Maygay) (EPOCH) (TRAM 0.3, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_treea, ep_tree, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Tree Amigos (Maygay) (EPOCH) (TRAM 0.3, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_tree, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Tree Amigos (Maygay) (EPOCH) (TRAM 0.3, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_treea, ep_tree, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Tree Amigos (Maygay) (EPOCH) (TRAM 0.3, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, ep_vipjv, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Viper Jive (Maygay - Extreme) (EPOCH) (JIVE 1.1, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_vipjva, ep_vipjv, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Viper Jive (Maygay - Extreme) (EPOCH) (JIVE 1.1, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_vipjvb, ep_vipjv, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Viper Jive (Maygay - Extreme) (EPOCH) (JIVE 2.2, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_vipjvc, ep_vipjv, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Viper Jive (Maygay - Extreme) (EPOCH) (JIVE 2.2, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_vipjvd, ep_vipjv, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Viper Jive (Maygay - Extreme) (EPOCH) (JIVE 2.1, set 5)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_vipjv, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Viper Jive (Maygay - Extreme) (EPOCH) (JIVE 1.1, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_vipjva, ep_vipjv, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Viper Jive (Maygay - Extreme) (EPOCH) (JIVE 1.1, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_vipjvb, ep_vipjv, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Viper Jive (Maygay - Extreme) (EPOCH) (JIVE 2.2, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_vipjvc, ep_vipjv, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Viper Jive (Maygay - Extreme) (EPOCH) (JIVE 2.2, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_vipjvd, ep_vipjv, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Maygay", "Viper Jive (Maygay - Extreme) (EPOCH) (JIVE 2.1, set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, ep_braid, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Extreme", "Bank Raid (Extreme) (EPOCH) (BARA 0.1, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_braida, ep_braid, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Extreme", "Bank Raid (Extreme) (EPOCH) (BARA 0.1, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_braidb, ep_braid, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Extreme", "Bank Raid (Extreme) (EPOCH) (BARA 0.5, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_braidc, ep_braid, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Extreme", "Bank Raid (Extreme) (EPOCH) (BARA 0.5, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_braidd, ep_braid, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Extreme", "Bank Raid (Extreme) (EPOCH) (BARA 0.5, set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_braide, ep_braid, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Extreme", "Bank Raid (Extreme) (EPOCH) (BARA 0.5, set 6)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_braid, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Extreme", "Bank Raid (Extreme) (EPOCH) (BARA 0.1, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_braida, ep_braid, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Extreme", "Bank Raid (Extreme) (EPOCH) (BARA 0.1, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_braidb, ep_braid, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Extreme", "Bank Raid (Extreme) (EPOCH) (BARA 0.5, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_braidc, ep_braid, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Extreme", "Bank Raid (Extreme) (EPOCH) (BARA 0.5, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_braidd, ep_braid, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Extreme", "Bank Raid (Extreme) (EPOCH) (BARA 0.5, set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_braide, ep_braid, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Extreme", "Bank Raid (Extreme) (EPOCH) (BARA 0.5, set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, ep_cyc, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Extreme", "Cyclone (Extreme) (EPOCH) (CYCL 0.2, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cyca, ep_cyc, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Extreme", "Cyclone (Extreme) (EPOCH) (CYCL 0.2, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cycb, ep_cyc, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Extreme", "Cyclone (Extreme) (EPOCH) (CYCL 0.3, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cycc, ep_cyc, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Extreme", "Cyclone (Extreme) (EPOCH) (CYCL 0.3, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cycd, ep_cyc, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Extreme", "Cyclone (Extreme) (EPOCH) (CYCL 0.1, set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_cyce, ep_cyc, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Extreme", "Cyclone (Extreme) (EPOCH) (CYCL 0.1, set 6)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_cyc, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Extreme", "Cyclone (Extreme) (EPOCH) (CYCL 0.2, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cyca, ep_cyc, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Extreme", "Cyclone (Extreme) (EPOCH) (CYCL 0.2, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cycb, ep_cyc, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Extreme", "Cyclone (Extreme) (EPOCH) (CYCL 0.3, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cycc, ep_cyc, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Extreme", "Cyclone (Extreme) (EPOCH) (CYCL 0.3, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cycd, ep_cyc, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Extreme", "Cyclone (Extreme) (EPOCH) (CYCL 0.1, set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_cyce, ep_cyc, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Extreme", "Cyclone (Extreme) (EPOCH) (CYCL 0.1, set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, ep_ll, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Extreme", "Lucky Ladders (Extreme) (EPOCH) (LULA 0.3, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_lla, ep_ll, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Extreme", "Lucky Ladders (Extreme) (EPOCH) (LULA 0.3, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_ll, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Extreme", "Lucky Ladders (Extreme) (EPOCH) (LULA 0.3, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_lla, ep_ll, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Extreme", "Lucky Ladders (Extreme) (EPOCH) (LULA 0.3, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, ep_redl, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Extreme", "Red Line (Extreme) (EPOCH) (RELI 0.1, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_redla, ep_redl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Extreme", "Red Line (Extreme) (EPOCH) (RELI 0.1, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_redl, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Extreme", "Red Line (Extreme) (EPOCH) (RELI 0.1, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_redla, ep_redl, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Extreme", "Red Line (Extreme) (EPOCH) (RELI 0.1, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, ep_snset, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Extreme", "Sunset Strip (Extreme) (EPOCH) (SUST 0.1, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_snseta, ep_snset, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Extreme", "Sunset Strip (Extreme) (EPOCH) (SUST 0.1, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_snset, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Extreme", "Sunset Strip (Extreme) (EPOCH) (SUST 0.1, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_snseta, ep_snset, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Extreme", "Sunset Strip (Extreme) (EPOCH) (SUST 0.1, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, ep_treas, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Treasure Hunt (Global) (EPOCH) (Version 1.6)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_treas, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Global", "Treasure Hunt (Global) (EPOCH) (Version 1.6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, ep_twarp, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Extreme", "Time Warp (Extreme) (EPOCH) (TWRP 0.1, set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_twarpa, ep_twarp, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Extreme", "Time Warp (Extreme) (EPOCH) (TWRP 0.1, set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_twarpb, ep_twarp, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Extreme", "Time Warp (Extreme) (EPOCH) (TWRP 0.4, set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ep_twarpc, ep_twarp, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Extreme", "Time Warp (Extreme) (EPOCH) (TWRP 0.4, set 4)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, ep_twarp, 0, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Extreme", "Time Warp (Extreme) (EPOCH) (TWRP 0.1, set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_twarpa, ep_twarp, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Extreme", "Time Warp (Extreme) (EPOCH) (TWRP 0.1, set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_twarpb, ep_twarp, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Extreme", "Time Warp (Extreme) (EPOCH) (TWRP 0.4, set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ep_twarpc, ep_twarp, maygayep, maygayep, maygayep_state, init_maygayep, ROT0, "Extreme", "Time Warp (Extreme) (EPOCH) (TWRP 0.4, set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/maygay/maygayew.cpp b/src/mame/maygay/maygayew.cpp index 4cc60335441db..3e1562e4b853c 100644 --- a/src/mame/maygay/maygayew.cpp +++ b/src/mame/maygay/maygayew.cpp @@ -782,39 +782,39 @@ ROM_END // complete(?) dump -GAME( 1997, mg_gbr, 0 , maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Guinness Book Of Records (Maygay M2, SW7-235 SW7-240)", MACHINE_IS_SKELETON ) -GAME( 1998, mg_gbra, mg_gbr, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Guinness Book Of Records (Maygay M2, SW8-146 SW7-360)", MACHINE_IS_SKELETON ) -GAME( 1998, mg_gbrb, mg_gbr, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Guinness Book Of Records (Maygay M2, SW8-147 SW7-361)", MACHINE_IS_SKELETON ) -GAME( 1997, mg_risk, 0, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Risk (Maygay M2, SW7-614 SW7-461)", MACHINE_IS_SKELETON ) -GAME( 1999, mg_riska, mg_risk, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Risk (Maygay M2, SW9-025 SW9-023)", MACHINE_IS_SKELETON ) -GAME( 1999, mg_riskb, mg_risk, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Risk (Maygay M2, SW9-024 SW9-026)", MACHINE_IS_SKELETON ) -GAME( 1996, mg_bb, 0, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Big Break (Maygay M2, SW6-618 SW6-601)", MACHINE_IS_SKELETON ) -GAME( 1996, mg_bba, mg_bb, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Big Break (Maygay M2, SW6-656 SW6-635)", MACHINE_IS_SKELETON ) -GAME( 1996, mg_bbb, mg_bb, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Big Break (Maygay M2, SW6-657 SW6-636)", MACHINE_IS_SKELETON ) -GAME( 1998, mg_lug, 0, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "London Underground (Maygay M2, SW8-232 SW8-154)", MACHINE_IS_SKELETON ) -GAME( 1998, mg_luga, mg_lug, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "London Underground (Maygay M2, SW8-233 SW8-155)", MACHINE_IS_SKELETON ) -GAME( 1997, mg_alad, 0, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Aladdin's Cave (Maygay M2, SW7-536 SW7-465)", MACHINE_IS_SKELETON ) -GAME( 1998, mg_alada, mg_alad, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Aladdin's Cave (Maygay M2, SW8-323 SW8-299)", MACHINE_IS_SKELETON ) -GAME( 1998, mg_aladb, mg_alad, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Aladdin's Cave (Maygay M2, SW8-322 SW8-298)", MACHINE_IS_SKELETON ) -GAME( 1998, mg_aladc, mg_alad, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Aladdin's Cave (Maygay M2, SW8-298 SW8-144)", MACHINE_IS_SKELETON ) +GAME( 1997, mg_gbr, 0 , maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Guinness Book Of Records (Maygay M2, SW7-235 SW7-240)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1998, mg_gbra, mg_gbr, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Guinness Book Of Records (Maygay M2, SW8-146 SW7-360)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1998, mg_gbrb, mg_gbr, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Guinness Book Of Records (Maygay M2, SW8-147 SW7-361)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1997, mg_risk, 0, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Risk (Maygay M2, SW7-614 SW7-461)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1999, mg_riska, mg_risk, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Risk (Maygay M2, SW9-025 SW9-023)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1999, mg_riskb, mg_risk, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Risk (Maygay M2, SW9-024 SW9-026)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1996, mg_bb, 0, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Big Break (Maygay M2, SW6-618 SW6-601)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1996, mg_bba, mg_bb, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Big Break (Maygay M2, SW6-656 SW6-635)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1996, mg_bbb, mg_bb, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Big Break (Maygay M2, SW6-657 SW6-636)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1998, mg_lug, 0, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "London Underground (Maygay M2, SW8-232 SW8-154)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1998, mg_luga, mg_lug, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "London Underground (Maygay M2, SW8-233 SW8-155)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1997, mg_alad, 0, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Aladdin's Cave (Maygay M2, SW7-536 SW7-465)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1998, mg_alada, mg_alad, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Aladdin's Cave (Maygay M2, SW8-323 SW8-299)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1998, mg_aladb, mg_alad, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Aladdin's Cave (Maygay M2, SW8-322 SW8-298)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1998, mg_aladc, mg_alad, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Aladdin's Cave (Maygay M2, SW8-298 SW8-144)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // incomplete dumps -GAME( 1996, mg_ewg, 0, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Each Way Gambler (Maygay M2, SA6_127 SA6_113)", MACHINE_IS_SKELETON ) -GAME( 1996, mg_ewga, mg_ewg, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Each Way Gambler (Maygay M2, SA6_128 SA6_114)", MACHINE_IS_SKELETON ) -GAME( 1996, mg_ewgb, mg_ewg, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Each Way Gambler (Maygay M2, SA6_129 SA6_115)", MACHINE_IS_SKELETON ) -GAME( 1996, mg_ewgc, mg_ewg, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Each Way Gambler (Maygay M2, SA6_130 SA6_115)", MACHINE_IS_SKELETON ) -GAME( 1996, mg_ewgd, mg_ewg, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Each Way Gambler (Maygay M2, SA6_281 NONE)", MACHINE_IS_SKELETON ) -GAME( 1996, mg_ewge, mg_ewg, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Each Way Gambler (Maygay M2, SA6_282 NONE)", MACHINE_IS_SKELETON ) -GAME( 1996, mg_ewgf, mg_ewg, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Each Way Gambler (Maygay M2, SA6_283 NONE)", MACHINE_IS_SKELETON ) -GAME( 1996, mg_ewgg, mg_ewg, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Each Way Gambler (Maygay M2, SA6_284 NONE)", MACHINE_IS_SKELETON ) -GAME( 199?, mg_jv, 0, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Jack & Vera (Maygay M2, set 1)", MACHINE_IS_SKELETON ) -GAME( 199?, mg_jva, mg_jv, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Jack & Vera (Maygay M2, set 2)", MACHINE_IS_SKELETON ) -GAME( 199?, mg_jvb, mg_jv, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Jack & Vera (Maygay M2, set 3)", MACHINE_IS_SKELETON ) -GAME( 199?, mg_jvc, mg_jv, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Jack & Vera (Maygay M2, set 4)", MACHINE_IS_SKELETON ) -GAME( 1998, mg_pbw, 0, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Pinball Wizard (Maygay M2, SW8-098 SW8148)", MACHINE_IS_SKELETON ) -GAME( 1998, mg_pbwa, mg_pbw, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Pinball Wizard (Maygay M2, SW8-099 SW8149)", MACHINE_IS_SKELETON ) -GAME( 1998, mg_pbwb, mg_pbw, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Pinball Wizard (Maygay M2, SW8-098 SW8-096)", MACHINE_IS_SKELETON ) -GAME( 1998, mg_scl, 0, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Super Clue (Maygay M2, SW8-152 SW8-130)", MACHINE_IS_SKELETON ) -GAME( 1998, mg_scla, mg_scl, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Super Clue (Maygay M2, SW8-153 SW8-131)", MACHINE_IS_SKELETON ) -GAME( 199?, mg_kf, 0, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Krypton Factor (Maygay M2, set 1)", MACHINE_IS_SKELETON ) -GAME( 199?, mg_kfa, mg_kf, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Krypton Factor (Maygay M2, set 2)", MACHINE_IS_SKELETON ) +GAME( 1996, mg_ewg, 0, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Each Way Gambler (Maygay M2, SA6_127 SA6_113)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1996, mg_ewga, mg_ewg, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Each Way Gambler (Maygay M2, SA6_128 SA6_114)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1996, mg_ewgb, mg_ewg, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Each Way Gambler (Maygay M2, SA6_129 SA6_115)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1996, mg_ewgc, mg_ewg, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Each Way Gambler (Maygay M2, SA6_130 SA6_115)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1996, mg_ewgd, mg_ewg, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Each Way Gambler (Maygay M2, SA6_281 NONE)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1996, mg_ewge, mg_ewg, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Each Way Gambler (Maygay M2, SA6_282 NONE)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1996, mg_ewgf, mg_ewg, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Each Way Gambler (Maygay M2, SA6_283 NONE)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1996, mg_ewgg, mg_ewg, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Each Way Gambler (Maygay M2, SA6_284 NONE)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 199?, mg_jv, 0, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Jack & Vera (Maygay M2, set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 199?, mg_jva, mg_jv, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Jack & Vera (Maygay M2, set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 199?, mg_jvb, mg_jv, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Jack & Vera (Maygay M2, set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 199?, mg_jvc, mg_jv, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Jack & Vera (Maygay M2, set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1998, mg_pbw, 0, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Pinball Wizard (Maygay M2, SW8-098 SW8148)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1998, mg_pbwa, mg_pbw, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Pinball Wizard (Maygay M2, SW8-099 SW8149)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1998, mg_pbwb, mg_pbw, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Pinball Wizard (Maygay M2, SW8-098 SW8-096)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1998, mg_scl, 0, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Super Clue (Maygay M2, SW8-152 SW8-130)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1998, mg_scla, mg_scl, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Super Clue (Maygay M2, SW8-153 SW8-131)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 199?, mg_kf, 0, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Krypton Factor (Maygay M2, set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 199?, mg_kfa, mg_kf, maygayew, maygayew, maygayew_state, empty_init, ROT0, "Maygay", "Krypton Factor (Maygay M2, set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/maygay/mmm.cpp b/src/mame/maygay/mmm.cpp index 88aa764a34097..76b81c7d4b6f2 100644 --- a/src/mame/maygay/mmm.cpp +++ b/src/mame/maygay/mmm.cpp @@ -213,4 +213,4 @@ ROM_END } // anonymous namespace -GAME( 198?, mmm_ldip, 0, mmm, mmm, mmm_state, empty_init, ROT0, "Maygay", "Lucky Dip (Maygay)", MACHINE_IS_SKELETON_MECHANICAL) +GAME( 198?, mmm_ldip, 0, mmm, mmm, mmm_state, empty_init, ROT0, "Maygay", "Lucky Dip (Maygay)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) diff --git a/src/mame/meadows/meadwttl.cpp b/src/mame/meadows/meadwttl.cpp index 24c6d0e1b966b..5346e0390fb27 100644 --- a/src/mame/meadows/meadwttl.cpp +++ b/src/mame/meadows/meadwttl.cpp @@ -168,7 +168,7 @@ ROM_END } // anonymous namespace -GAME( 1976, bombaway, 0, meadows, 0, meadwttl_state, empty_init, ROT0, "Meadows", "Bombs Away", MACHINE_IS_SKELETON ) -GAME( 1976, ckidzo, 0, meadows, 0, meadwttl_state, empty_init, ROT0, "Meadows", "Ckidzo", MACHINE_IS_SKELETON ) -GAME( 1976, cgunship, 0, meadows, 0, meadwttl_state, empty_init, ROT0, "Meadows", "Cobra Gunship", MACHINE_IS_SKELETON ) -GAME( 1976, mead4in1, 0, meadows, 0, meadwttl_state, empty_init, ROT0, "Meadows", "Meadows 4 in 1", MACHINE_IS_SKELETON ) +GAME( 1976, bombaway, 0, meadows, 0, meadwttl_state, empty_init, ROT0, "Meadows", "Bombs Away", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1976, ckidzo, 0, meadows, 0, meadwttl_state, empty_init, ROT0, "Meadows", "Ckidzo", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1976, cgunship, 0, meadows, 0, meadwttl_state, empty_init, ROT0, "Meadows", "Cobra Gunship", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1976, mead4in1, 0, meadows, 0, meadwttl_state, empty_init, ROT0, "Meadows", "Meadows 4 in 1", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/meadows/warpsped.cpp b/src/mame/meadows/warpsped.cpp index 4e0f463b0bec5..7aa1f4ac71638 100644 --- a/src/mame/meadows/warpsped.cpp +++ b/src/mame/meadows/warpsped.cpp @@ -271,7 +271,7 @@ static INPUT_PORTS_START( warpspeed ) PORT_START("IN2") PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_BIT( 0x7e, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("DSW") PORT_DIPNAME( 0x07, 0x00, "Coin/Time" ) diff --git a/src/mame/mera/ec7915.cpp b/src/mame/mera/ec7915.cpp index c15a0dbe52231..faba2be618906 100644 --- a/src/mame/mera/ec7915.cpp +++ b/src/mame/mera/ec7915.cpp @@ -95,4 +95,4 @@ ROM_END } // anonymous namespace -COMP(198?, ec7915, 0, 0, ec7915, ec7915, ec7915_state, empty_init, "Mera-Elzab", "EC-7915 (EC-7950)", MACHINE_IS_SKELETON) +COMP(198?, ec7915, 0, 0, ec7915, ec7915, ec7915_state, empty_init, "Mera-Elzab", "EC-7915 (EC-7950)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/mera/konin.cpp b/src/mame/mera/konin.cpp index febcbc3de9223..e82a5d538682b 100644 --- a/src/mame/mera/konin.cpp +++ b/src/mame/mera/konin.cpp @@ -158,4 +158,4 @@ ROM_END /* Driver */ // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 198?, konin, 0, 0, konin, konin, konin_state, empty_init, "Mera-Elzab", "Konin", MACHINE_IS_SKELETON | MACHINE_SUPPORTS_SAVE ) +COMP( 198?, konin, 0, 0, konin, konin, konin_state, empty_init, "Mera-Elzab", "Konin", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/mera/vdm7932x.cpp b/src/mame/mera/vdm7932x.cpp index 6d4b060fb69d7..ae39b6822016a 100644 --- a/src/mame/mera/vdm7932x.cpp +++ b/src/mame/mera/vdm7932x.cpp @@ -145,4 +145,4 @@ ROM_END } // anonymous namespace -COMP(1992, vdm79322, 0, 0, vdm7932x, vdm7932x, vdm7932x_state, empty_init, "Mera-Elzab", "VDM 79322/CM 7233", MACHINE_IS_SKELETON) +COMP(1992, vdm79322, 0, 0, vdm7932x, vdm7932x, vdm7932x_state, empty_init, "Mera-Elzab", "VDM 79322/CM 7233", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/merit/merit3xx.cpp b/src/mame/merit/merit3xx.cpp index 6d56a8b834e95..45da45e0b0cd3 100644 --- a/src/mame/merit/merit3xx.cpp +++ b/src/mame/merit/merit3xx.cpp @@ -1484,18 +1484,18 @@ ROM_END // CRT-300 mainboard + CRT-307 Rev - ROM board -GAME( 1989, ma6710, 0, crt307, merit3xx, merit3xx_state, empty_init, ROT0, "Merit", "Multi-Action 6710-13", MACHINE_IS_SKELETON ) // build date is 04/25/96? +GAME( 1989, ma6710, 0, crt307, merit3xx, merit3xx_state, empty_init, ROT0, "Merit", "Multi-Action 6710-13", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // build date is 04/25/96? // CRT-350 mainboard + CRT-307 Rev A ROM board -GAME( 1991, ma6710a, 0, crt307_alt, merit3xx, merit3xx_state, empty_init, ROT0, "Merit", "Multi-Action 6710-21", MACHINE_IS_SKELETON ) // build date is 01/12/99? - but shows 1991 on screen -GAME( 1992, ma6711, 0, crt307_alt, ma6711, merit3xx_state, empty_init, ROT0, "Merit", "Multi-Action 6711-14-R0A", MACHINE_IS_SKELETON ) // build date is 10/06/92? -GAME( 1992, ma9800, 0, crt307_alt, ma9800, merit3xx_state, empty_init, ROT0, "Merit", "Multi-Action 9800-20-R0", MACHINE_IS_SKELETON ) // build date is 10/06/92? +GAME( 1991, ma6710a, 0, crt307_alt, merit3xx, merit3xx_state, empty_init, ROT0, "Merit", "Multi-Action 6710-21", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // build date is 01/12/99? - but shows 1991 on screen +GAME( 1992, ma6711, 0, crt307_alt, ma6711, merit3xx_state, empty_init, ROT0, "Merit", "Multi-Action 6711-14-R0A", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // build date is 10/06/92? +GAME( 1992, ma9800, 0, crt307_alt, ma9800, merit3xx_state, empty_init, ROT0, "Merit", "Multi-Action 9800-20-R0", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // build date is 10/06/92? // CRT-350 mainboard + MEMORY EXPANSION BOARD CRT-352 -GAME( 199?, ma7551t, 0, crt352, merit3xx, merit3xx_state, empty_init, ROT0, "Merit", "Multi-Action 7551-20-R3T", MACHINE_IS_SKELETON ) // build date is 04/12/00? -GAME( 199?, ma7551p, 0, crt352, merit3xx, merit3xx_state, empty_init, ROT0, "Merit", "Multi-Action 7551-21-R2P", MACHINE_IS_SKELETON ) // build date is 12/27/00? -GAME( 199?, ma7556, 0, crt352, merit3xx, merit3xx_state, empty_init, ROT0, "Merit", "Multi-Action 7556-00-R2", MACHINE_IS_SKELETON ) // build date is 10/20/98? -GAME( 199?, ma7558r4, 0, crt352, merit3xx, merit3xx_state, empty_init, ROT0, "Merit", "Multi-Action 7558-01-R4", MACHINE_IS_SKELETON ) // build date is 01/09/01? -GAME( 199?, ma7558r0, 0, crt352, merit3xx, merit3xx_state, empty_init, ROT0, "Merit", "Multi-Action 7558-01-R0", MACHINE_IS_SKELETON ) // build date is 02/25/02? -GAME( 199?, ma8340, 0, crt352, merit3xx, merit3xx_state, empty_init, ROT0, "Merit", "Multi-Action 8340-01-R1", MACHINE_IS_SKELETON ) // build date is 04/18/93? -GAME( 199?, ma8350, 0, crt352, merit3xx, merit3xx_state, empty_init, ROT0, "Merit", "Multi-Action 8350-00-R1", MACHINE_IS_SKELETON ) // build date is 07/28/94? +GAME( 199?, ma7551t, 0, crt352, merit3xx, merit3xx_state, empty_init, ROT0, "Merit", "Multi-Action 7551-20-R3T", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // build date is 04/12/00? +GAME( 199?, ma7551p, 0, crt352, merit3xx, merit3xx_state, empty_init, ROT0, "Merit", "Multi-Action 7551-21-R2P", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // build date is 12/27/00? +GAME( 199?, ma7556, 0, crt352, merit3xx, merit3xx_state, empty_init, ROT0, "Merit", "Multi-Action 7556-00-R2", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // build date is 10/20/98? +GAME( 199?, ma7558r4, 0, crt352, merit3xx, merit3xx_state, empty_init, ROT0, "Merit", "Multi-Action 7558-01-R4", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // build date is 01/09/01? +GAME( 199?, ma7558r0, 0, crt352, merit3xx, merit3xx_state, empty_init, ROT0, "Merit", "Multi-Action 7558-01-R0", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // build date is 02/25/02? +GAME( 199?, ma8340, 0, crt352, merit3xx, merit3xx_state, empty_init, ROT0, "Merit", "Multi-Action 8340-01-R1", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // build date is 04/18/93? +GAME( 199?, ma8350, 0, crt352, merit3xx, merit3xx_state, empty_init, ROT0, "Merit", "Multi-Action 8350-00-R1", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // build date is 07/28/94? diff --git a/src/mame/merit/merits.cpp b/src/mame/merit/merits.cpp index ed4f523677ff6..ba29e7ac553b5 100644 --- a/src/mame/merit/merits.cpp +++ b/src/mame/merit/merits.cpp @@ -147,7 +147,7 @@ ROM_END } // Anonymous namespace // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -GAME(1999, scrpiond, 0, scrpiond, scrpiond, merits_state, empty_init, ROT0, "Merit", "Scorpion (Jun 15, 1999)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1997, scrpionda, scrpiond, scrpiond, scrpiond, merits_state, empty_init, ROT0, "Merit", "Scorpion (Oct 01, 1997)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1993, scrpiondb, scrpiond, scrpiondold, scrpiond, merits_state, empty_init, ROT0, "Merit", "Scorpion (Dec 24, 1993)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1992, pubtimed2ch, 0, scrpiondold, scrpiond, merits_state, empty_init, ROT0, "Merit", "Pub Time Darts II Plus 2 with Solo Challenger (Mar 24, 1992)", MACHINE_IS_SKELETON_MECHANICAL) +GAME(1999, scrpiond, 0, scrpiond, scrpiond, merits_state, empty_init, ROT0, "Merit", "Scorpion (Jun 15, 1999)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(1997, scrpionda, scrpiond, scrpiond, scrpiond, merits_state, empty_init, ROT0, "Merit", "Scorpion (Oct 01, 1997)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(1993, scrpiondb, scrpiond, scrpiondold, scrpiond, merits_state, empty_init, ROT0, "Merit", "Scorpion (Dec 24, 1993)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(1992, pubtimed2ch, 0, scrpiondold, scrpiond, merits_state, empty_init, ROT0, "Merit", "Pub Time Darts II Plus 2 with Solo Challenger (Mar 24, 1992)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) diff --git a/src/mame/merit/meritsdx.cpp b/src/mame/merit/meritsdx.cpp index f16fb8b188f01..3d2b2cb2a268f 100644 --- a/src/mame/merit/meritsdx.cpp +++ b/src/mame/merit/meritsdx.cpp @@ -85,4 +85,4 @@ ROM_END } // anonymous namespace -GAME(1996, scrpndx, 0, scrpndx, scrpndx, meritsdx_state, empty_init, ROT0, "Merit", "Scorpion DX", MACHINE_IS_SKELETON_MECHANICAL) // OCT 15 1996 -- ASM 15:30 +GAME(1996, scrpndx, 0, scrpndx, scrpndx, meritsdx_state, empty_init, ROT0, "Merit", "Scorpion DX", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // OCT 15 1996 -- ASM 15:30 diff --git a/src/mame/microsoft/xbox.cpp b/src/mame/microsoft/xbox.cpp index e5061ec26cc5f..7994b306ecb6e 100644 --- a/src/mame/microsoft/xbox.cpp +++ b/src/mame/microsoft/xbox.cpp @@ -218,4 +218,4 @@ ROM_END } // anonymous namespace -CONS( 2001, xbox, 0, 0, xbox, xbox, xbox_state, empty_init, "Microsoft", "XBOX", MACHINE_IS_SKELETON ) +CONS( 2001, xbox, 0, 0, xbox, xbox, xbox_state, empty_init, "Microsoft", "XBOX", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/microterm/ergo201.cpp b/src/mame/microterm/ergo201.cpp index b8be217d57f5a..16a0d5cc12ed6 100644 --- a/src/mame/microterm/ergo201.cpp +++ b/src/mame/microterm/ergo201.cpp @@ -186,4 +186,4 @@ ROM_END } // anonymous namespace -COMP(1985, ergo201, 0, 0, ergo201, ergo201, ergo201_state, empty_init, "Micro-Term / Kurzweil Computer Products", "ERGO 201 (Special #9233)", MACHINE_IS_SKELETON) +COMP(1985, ergo201, 0, 0, ergo201, ergo201, ergo201_state, empty_init, "Micro-Term / Kurzweil Computer Products", "ERGO 201 (Special #9233)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/microterm/mt420.cpp b/src/mame/microterm/mt420.cpp index 9052f83e9f570..3842a0fac21a4 100644 --- a/src/mame/microterm/mt420.cpp +++ b/src/mame/microterm/mt420.cpp @@ -176,4 +176,4 @@ ROM_END } // anonymous namespace -COMP(1986, mt420, 0, 0, mt420, mt420, mt420_state, empty_init, "Micro-Term", "Micro-Term 420", MACHINE_IS_SKELETON) +COMP(1986, mt420, 0, 0, mt420, mt420, mt420_state, empty_init, "Micro-Term", "Micro-Term 420", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/microterm/mt440.cpp b/src/mame/microterm/mt440.cpp index 8d2e9e6d8b65e..381120fbaaf30 100644 --- a/src/mame/microterm/mt440.cpp +++ b/src/mame/microterm/mt440.cpp @@ -190,4 +190,4 @@ ROM_END //************************************************************************** // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 1986, mt440, 0, 0, mt440, mt440, mt440_state, empty_init, "Micro-Term", "Micro-Term 440", MACHINE_IS_SKELETON ) +COMP( 1986, mt440, 0, 0, mt440, mt440, mt440_state, empty_init, "Micro-Term", "Micro-Term 440", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/microterm/mt5510.cpp b/src/mame/microterm/mt5510.cpp index ca3a5ddba4908..360c0cc71077c 100644 --- a/src/mame/microterm/mt5510.cpp +++ b/src/mame/microterm/mt5510.cpp @@ -121,4 +121,4 @@ ROM_END } // anonymous namespace -COMP(1988, mt5510, 0, 0, mt5510, mt5510, mt5510_state, empty_init, "Microterm", "Microterm 5510", MACHINE_IS_SKELETON) +COMP(1988, mt5510, 0, 0, mt5510, mt5510, mt5510_state, empty_init, "Microterm", "Microterm 5510", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/midcoin/24cdjuke.cpp b/src/mame/midcoin/24cdjuke.cpp index b262a4a85e0f3..e81b0a2be2054 100644 --- a/src/mame/midcoin/24cdjuke.cpp +++ b/src/mame/midcoin/24cdjuke.cpp @@ -48,8 +48,7 @@ QTY Type Notes This is the PCB for one of the first ever CD based Juke Box, made in 1988 by Midcoin, some info here: -http://www.tilt.it/deb/i-midcoin.html - +https://www.tilt.it/deb/midcoin-en.html */ diff --git a/src/mame/midw8080/8080bw.cpp b/src/mame/midw8080/8080bw.cpp index 764f96eb6b2f8..4f23aae3c95b6 100644 --- a/src/mame/midw8080/8080bw.cpp +++ b/src/mame/midw8080/8080bw.cpp @@ -865,7 +865,7 @@ static INPUT_PORTS_START( spacecom ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_START("IN2") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0xfe, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // unused? PORT_START(CABINET_PORT_TAG) /* Dummy port for cocktail mode */ @@ -2880,7 +2880,7 @@ static INPUT_PORTS_START( shuttlei ) PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_START1 ) @@ -2927,7 +2927,7 @@ static INPUT_PORTS_START( skylove ) PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) // must be off to boot PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_START1 ) diff --git a/src/mame/midway/atlantis.cpp b/src/mame/midway/atlantis.cpp index 3d598981790a8..446da68446ccc 100644 --- a/src/mame/midway/atlantis.cpp +++ b/src/mame/midway/atlantis.cpp @@ -15,7 +15,7 @@ * VR4310 CPU (similar to the N64's VR4300) * VR4373 "Nile 3" system controller / PCI bridge * CMD 646U2 Ultra DMA IDE controller - * M4T28-8R128H1 TimeKeeper RTC/CMOS + * M4T28-BR128H1 TimeKeeper RTC/CMOS * PLX PCI9050 Bus Target Interface Chip (interfaces ISA-style designs to PCI) * Midway ZeusII-series custom video * Actiontec PM560LKI PCI Data/Fax Modem (PCI\VEN_11C1&DEV_0480&SUBSYS_04801668) diff --git a/src/mame/midway/balsente.cpp b/src/mame/midway/balsente.cpp index 5d1a63104292e..d1776eaa79c70 100644 --- a/src/mame/midway/balsente.cpp +++ b/src/mame/midway/balsente.cpp @@ -438,7 +438,7 @@ static INPUT_PORTS_START( sentetst ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_BIT( 0x38, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) /* Analog ports */ PORT_START("AN0") diff --git a/src/mame/midway/cashline.cpp b/src/mame/midway/cashline.cpp index cee29402fe7be..0dfadbfd2906a 100644 --- a/src/mame/midway/cashline.cpp +++ b/src/mame/midway/cashline.cpp @@ -225,4 +225,4 @@ ROM_END // YEAR NAME PARENT MACHINE INPUT CLASS INIT ROTATION COMPANY FULLNAME FLAGS -GAME( 1995?, cashline, 0, cashline, cashline, cashline_state, empty_init, ROT0, "Bally/Sente", "Cashline", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1995?, cashline, 0, cashline, cashline, cashline_state, empty_init, ROT0, "Bally/Sente", "Cashline", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/midway/gridlee.cpp b/src/mame/midway/gridlee.cpp index 0b2ec61e5ca06..550895a8c82d8 100644 --- a/src/mame/midway/gridlee.cpp +++ b/src/mame/midway/gridlee.cpp @@ -368,7 +368,7 @@ static INPUT_PORTS_START( gridlee ) PORT_BIT( 0x1f, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_SERVICE( 0x20, IP_ACTIVE_LOW ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) INPUT_PORTS_END diff --git a/src/mame/midway/midqslvr.cpp b/src/mame/midway/midqslvr.cpp index 7ce04e384344b..82d1cdf03dc28 100644 --- a/src/mame/midway/midqslvr.cpp +++ b/src/mame/midway/midqslvr.cpp @@ -537,13 +537,13 @@ ROM_END // there are almost certainly multiple versions of these; updates were offered on floppy disk. The version numbers for the existing CHDs are unknown. -GAME(1999, hydrthnd, 0, midqslvr, 0, midway_quicksilver2_state, empty_init, ROT0, "Midway Games", "Hydro Thunder", MACHINE_IS_SKELETON) -GAME(1999, hydrthnd101b,hydrthnd, midqslvr, 0, midway_quicksilver2_state, empty_init, ROT0, "Midway Games", "Hydro Thunder (v1.01b)", MACHINE_IS_SKELETON) -GAME(1999, hydrthnd100d,hydrthnd, midqslvr, 0, midway_quicksilver2_state, empty_init, ROT0, "Midway Games", "Hydro Thunder (v1.00d)", MACHINE_IS_SKELETON) +GAME(1999, hydrthnd, 0, midqslvr, 0, midway_quicksilver2_state, empty_init, ROT0, "Midway Games", "Hydro Thunder", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(1999, hydrthnd101b,hydrthnd, midqslvr, 0, midway_quicksilver2_state, empty_init, ROT0, "Midway Games", "Hydro Thunder (v1.01b)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(1999, hydrthnd100d,hydrthnd, midqslvr, 0, midway_quicksilver2_state, empty_init, ROT0, "Midway Games", "Hydro Thunder (v1.00d)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) -GAME(2000, offrthnd, 0, midqslvr, 0, midway_quicksilver2_state, empty_init, ROT0, "Midway Games", "Offroad Thunder", MACHINE_IS_SKELETON) +GAME(2000, offrthnd, 0, midqslvr, 0, midway_quicksilver2_state, empty_init, ROT0, "Midway Games", "Offroad Thunder", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) -GAME(2001, arctthnd, 0, graphite, 0, midway_graphite_state, empty_init, ROT0, "Midway Games", "Arctic Thunder (v1.002)", MACHINE_IS_SKELETON) +GAME(2001, arctthnd, 0, graphite, 0, midway_graphite_state, empty_init, ROT0, "Midway Games", "Arctic Thunder (v1.002)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) -GAME(2001, ultarctc, 0, graphite, 0, midway_graphite_state, empty_init, ROT0, "Midway Games", "Ultimate Arctic Thunder", MACHINE_IS_SKELETON) -GAME(2004, ultarctcup, ultarctc, graphite, 0, midway_graphite_state, empty_init, ROT0, "Midway Games", "Ultimate Arctic Thunder Update CD ver 1.950 (5/3/04)", MACHINE_IS_SKELETON) +GAME(2001, ultarctc, 0, graphite, 0, midway_graphite_state, empty_init, ROT0, "Midway Games", "Ultimate Arctic Thunder", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2004, ultarctcup, ultarctc, graphite, 0, midway_graphite_state, empty_init, ROT0, "Midway Games", "Ultimate Arctic Thunder Update CD ver 1.950 (5/3/04)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/midway/midwayttl.cpp b/src/mame/midway/midwayttl.cpp index cae362c0ed9ed..706c6f1441fe3 100644 --- a/src/mame/midway/midwayttl.cpp +++ b/src/mame/midway/midwayttl.cpp @@ -109,4 +109,4 @@ ROM_END } // anonymous namespace -GAME( 1975, wheelsii, 0, midwayttl, 0, midwayttl_state, empty_init, ROT0, "Midway", "Wheels II", MACHINE_IS_SKELETON ) +GAME( 1975, wheelsii, 0, midwayttl, 0, midwayttl_state, empty_init, ROT0, "Midway", "Wheels II", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/midway/pinball2k.cpp b/src/mame/midway/pinball2k.cpp index 88ab27ca89a13..4da67aac7a2e5 100644 --- a/src/mame/midway/pinball2k.cpp +++ b/src/mame/midway/pinball2k.cpp @@ -762,6 +762,6 @@ ROM_END /*****************************************************************************/ -GAME( 1999, swe1pb, 0, mediagx, mediagx, pinball2k_state, init_pinball2k, ROT0, "Midway", "Pinball 2000: Star Wars Episode 1", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1999, rfmpb, 0, mediagx, mediagx, pinball2k_state, init_pinball2k, ROT0, "Midway", "Pinball 2000: Revenge From Mars (rev. 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1999, rfmpbr2, rfmpb, mediagx, mediagx, pinball2k_state, init_pinball2k, ROT0, "Midway", "Pinball 2000: Revenge From Mars (rev. 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1999, swe1pb, 0, mediagx, mediagx, pinball2k_state, init_pinball2k, ROT0, "Midway", "Pinball 2000: Star Wars Episode 1", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1999, rfmpb, 0, mediagx, mediagx, pinball2k_state, init_pinball2k, ROT0, "Midway", "Pinball 2000: Revenge From Mars (rev. 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1999, rfmpbr2, rfmpb, mediagx, mediagx, pinball2k_state, init_pinball2k, ROT0, "Midway", "Pinball 2000: Revenge From Mars (rev. 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/midway/starrider.cpp b/src/mame/midway/starrider.cpp index 2581b9c2a299d..77a0c2f0963ac 100644 --- a/src/mame/midway/starrider.cpp +++ b/src/mame/midway/starrider.cpp @@ -1110,5 +1110,5 @@ ROM_END /*********************************************************************** Machine definitions ***********************************************************************/ -GAME( 1984, starridr, 0, starrider, starrider, sr_state, empty_init, ROT0, "Williams", "Star Rider (REV 1)", MACHINE_IS_SKELETON ) -GAME( 1984, starridrp3, starridr, starrider, starrider, sr_state, empty_init, ROT0, "Williams", "Star Rider (PROTO 3)", MACHINE_IS_SKELETON ) +GAME( 1984, starridr, 0, starrider, starrider, sr_state, empty_init, ROT0, "Williams", "Star Rider (REV 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1984, starridrp3, starridr, starrider, starrider, sr_state, empty_init, ROT0, "Williams", "Star Rider (PROTO 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/midway/williams.cpp b/src/mame/midway/williams.cpp index fe2cb299380cc..aef8ed98ea234 100644 --- a/src/mame/midway/williams.cpp +++ b/src/mame/midway/williams.cpp @@ -41,7 +41,7 @@ **************************************************************************** - CA00-CA07 blitter (Stargate and Defender do not have blitter) + CA00-CA07 blitter (Stargate and Defender do not have blitter) CB00 6 bits of the video counters bits 2-7 diff --git a/src/mame/misc/a1supply.cpp b/src/mame/misc/a1supply.cpp index 550d838e59591..7975db5d7ecbf 100644 --- a/src/mame/misc/a1supply.cpp +++ b/src/mame/misc/a1supply.cpp @@ -156,6 +156,6 @@ ROM_END } // Anonymous namespace -GAME( 197?, tv21, 0, a1supply, 0, a1supply_state, empty_init, ROT0, "A-1 Supply", "T.V. 21", MACHINE_IS_SKELETON ) -GAME( 197?, tv21_3, 0, a1supply, 0, a1supply_state, empty_init, ROT0, "A-1 Supply", "T.V. 21 III", MACHINE_IS_SKELETON ) -GAME( 197?, tvpoker, 0, a1supply, 0, a1supply_state, empty_init, ROT0, "A-1 Supply", "T.V. Poker", MACHINE_IS_SKELETON ) +GAME( 197?, tv21, 0, a1supply, 0, a1supply_state, empty_init, ROT0, "A-1 Supply", "T.V. 21", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 197?, tv21_3, 0, a1supply, 0, a1supply_state, empty_init, ROT0, "A-1 Supply", "T.V. 21 III", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 197?, tvpoker, 0, a1supply, 0, a1supply_state, empty_init, ROT0, "A-1 Supply", "T.V. Poker", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/misc/acefruit.cpp b/src/mame/misc/acefruit.cpp index d6241ee4c2718..700a493d16366 100644 --- a/src/mame/misc/acefruit.cpp +++ b/src/mame/misc/acefruit.cpp @@ -324,7 +324,7 @@ static INPUT_PORTS_START( sidewndr ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME( "Stop Nudge/Nudge Up or Down" ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME( "Gamble" ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 ) /* "Cash in" */ - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") /* active low or high?? */ + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) /* active low or high?? */ PORT_BIT( 0xd8, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("IN1") // 1 @@ -445,7 +445,7 @@ static INPUT_PORTS_START( starspnr ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 ) /* tested at 0xef77 after IN5 bit 1 and before IN2 bit 2 - after coins are tested - table at 0xefa5 (3 bytes) */ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") /* active low or high?? */ + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) /* active low or high?? */ PORT_START("IN1") // 1 /* tested at 0xe77c - call from 0x012c */ diff --git a/src/mame/misc/aces1.cpp b/src/mame/misc/aces1.cpp index b524cc953aa97..6c526fce9c238 100644 --- a/src/mame/misc/aces1.cpp +++ b/src/mame/misc/aces1.cpp @@ -865,51 +865,51 @@ void aces1_state::init_aces1() } // anonymous namespace -GAMEL( 199?, ac1clbmn, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Club Money (Ace) (ACESYS1) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_ac1clbmn ) -GAMEL( 199?, ac1gogld, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Go For Gold (Ace) (ACESYS1) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_ac1gogld ) -GAME( 199?, ac1hotpf, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Hot Profit (Ace) (ACESYS1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAMEL( 199?, ac1pster, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Pound Sterling (Ace) (ACESYS1)", MACHINE_IS_SKELETON_MECHANICAL, layout_ac1pster ) -GAMEL( 199?, ac1pstrt, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Pcp", "Pound Stretcher (Pcp) (ACESYS1)", MACHINE_IS_SKELETON_MECHANICAL, layout_ac1pstrt ) -GAMEL( 199?, ac1primt, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Primetime (Ace) (ACESYS1) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_ac1primt ) -GAMEL( 199?, ac1taklv, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Take It Or Leave It (Ace) (ACESYS1) (set 1)", MACHINE_IS_SKELETON_MECHANICAL, layout_ac1taklv ) -GAME( 199?, ac1cshtw, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Cash Towers (Ace) (ACESYS1)", MACHINE_IS_SKELETON_MECHANICAL ) // same ROM as above, combined, original machine apparently plays the same, reskinned machine? -GAME( 199?, ac1bbclb, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Big Break Club (Ace) (ACESYS1) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ac1bbclba, ac1bbclb, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Big Break Club (Ace) (ACESYS1) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ac1clbsv, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Club Sovereign (Ace) (ACESYS1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ac1clbxt, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Club Xtra (Ace) (ACESYS1) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ac1clbxta, ac1clbxt, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Club Xtra (Ace) (ACESYS1) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ac1piaca, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Play It Again Casino (Ace) (ACESYS1)", MACHINE_IS_SKELETON_MECHANICAL ) // Same ROMs were in 'Play It Again Deluxe' -GAME( 199?, ac1piacl, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Play It Again Club (Ace) (ACESYS1) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ac1piacla, ac1piacl, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Play It Again Club (Ace) (ACESYS1) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ac1piaclb, ac1piacl, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Play It Again Club (Ace) (ACESYS1) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ac1piaclc, ac1piacl, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Play It Again Club (Ace) (ACESYS1) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ac1prmcl, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Premier Club (Ace) (ACESYS1) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ac1prmcla, ac1prmcl, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Premier Club (Ace) (ACESYS1) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ac1prmclb, ac1prmcl, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Premier Club (Ace) (ACESYS1) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ac1prmclc, ac1prmcl, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Premier Club (Ace) (ACESYS1) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ac1rundx, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Runner Deluxe Club (Ace) (ACESYS1) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ac1rundxa, ac1rundx, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Runner Deluxe Club (Ace) (ACESYS1) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ac1totb, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Top Of The Bill (Ace) (ACESYS1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ac1shid, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Super Hi De Hi (Ace) (ACESYS1) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ac1shida, ac1shid , aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Super Hi De Hi (Ace) (ACESYS1) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ac1dbldx, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Pcp", "Double Deluxe (Pcp) (ACESYS1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ac1nudbk, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Pcp", "Nudge Break (Pcp) (ACESYS1) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ac1nudbka, ac1nudbk, aces1, aces1, aces1_state, init_aces1, ROT0, "Pcp", "Nudge Break (Pcp) (ACESYS1) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ac1nudbkb, ac1nudbk, aces1, aces1, aces1_state, init_aces1, ROT0, "Pcp", "Nudge Break (Pcp) (ACESYS1) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ac1nudbkc, ac1nudbk, aces1, aces1, aces1_state, init_aces1, ROT0, "Pcp", "Nudge Break (Pcp) (ACESYS1) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ac1nudbkd, ac1nudbk, aces1, aces1, aces1_state, init_aces1, ROT0, "Pcp", "Nudge Break (Pcp) (ACESYS1) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ac1sstrk, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Pcp", "Starstruck (Pcp) (ACESYS1) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ac1sstrka, ac1sstrk, aces1, aces1, aces1_state, init_aces1, ROT0, "Pcp", "Starstruck (Pcp) (ACESYS1) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ac1sstrkb, ac1sstrk, aces1, aces1, aces1_state, init_aces1, ROT0, "Pcp", "Starstruck (Pcp) (ACESYS1) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ac1xpres, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Pcp", "Xpress (Pcp) (ACESYS1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ac1roll, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Pcp", "Roll Up (Pcp) (ACESYS1) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ac1rolla, ac1roll , aces1, aces1, aces1_state, init_aces1, ROT0, "Pcp", "Roll Up (Pcp) (ACESYS1) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ac1rollb, ac1roll , aces1, aces1, aces1_state, init_aces1, ROT0, "Pcp", "Roll Up (Pcp) (ACESYS1) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ac1bluec, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Pcp", "Blue Chip (Pcp) (ACESYS1) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ac1blueca, ac1bluec, aces1, aces1, aces1_state, init_aces1, ROT0, "Pcp", "Blue Chip (Pcp) (ACESYS1) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ac1bluecb, ac1bluec, aces1, aces1, aces1_state, init_aces1, ROT0, "Pcp", "Blue Chip (Pcp) (ACESYS1) (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ac1bluecc, ac1bluec, aces1, aces1, aces1_state, init_aces1, ROT0, "Pcp", "Blue Chip (Pcp) (ACESYS1) (set 4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ac1bluecd, ac1bluec, aces1, aces1, aces1_state, init_aces1, ROT0, "Pcp", "Blue Chip (Pcp) (ACESYS1) (set 5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, ac1hideh, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Hi De Hi Deluxe (Ace) (ACESYS1) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) // was in Hi De Hi (Ace) (sp.ACE) set -GAME( 199?, ac1hideha, sp_hideh, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Hi De Hi Deluxe (Ace) (ACESYS1) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) // ^^ -GAME( 199?, ac1unk, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "unknown Ace System 1 game", MACHINE_IS_SKELETON_MECHANICAL ) +GAMEL( 199?, ac1clbmn, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Club Money (Ace) (ACESYS1) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_ac1clbmn ) +GAMEL( 199?, ac1gogld, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Go For Gold (Ace) (ACESYS1) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_ac1gogld ) +GAME( 199?, ac1hotpf, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Hot Profit (Ace) (ACESYS1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAMEL( 199?, ac1pster, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Pound Sterling (Ace) (ACESYS1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_ac1pster ) +GAMEL( 199?, ac1pstrt, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Pcp", "Pound Stretcher (Pcp) (ACESYS1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_ac1pstrt ) +GAMEL( 199?, ac1primt, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Primetime (Ace) (ACESYS1) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_ac1primt ) +GAMEL( 199?, ac1taklv, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Take It Or Leave It (Ace) (ACESYS1) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_ac1taklv ) +GAME( 199?, ac1cshtw, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Cash Towers (Ace) (ACESYS1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // same ROM as above, combined, original machine apparently plays the same, reskinned machine? +GAME( 199?, ac1bbclb, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Big Break Club (Ace) (ACESYS1) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ac1bbclba, ac1bbclb, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Big Break Club (Ace) (ACESYS1) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ac1clbsv, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Club Sovereign (Ace) (ACESYS1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ac1clbxt, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Club Xtra (Ace) (ACESYS1) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ac1clbxta, ac1clbxt, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Club Xtra (Ace) (ACESYS1) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ac1piaca, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Play It Again Casino (Ace) (ACESYS1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // Same ROMs were in 'Play It Again Deluxe' +GAME( 199?, ac1piacl, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Play It Again Club (Ace) (ACESYS1) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ac1piacla, ac1piacl, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Play It Again Club (Ace) (ACESYS1) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ac1piaclb, ac1piacl, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Play It Again Club (Ace) (ACESYS1) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ac1piaclc, ac1piacl, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Play It Again Club (Ace) (ACESYS1) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ac1prmcl, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Premier Club (Ace) (ACESYS1) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ac1prmcla, ac1prmcl, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Premier Club (Ace) (ACESYS1) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ac1prmclb, ac1prmcl, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Premier Club (Ace) (ACESYS1) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ac1prmclc, ac1prmcl, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Premier Club (Ace) (ACESYS1) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ac1rundx, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Runner Deluxe Club (Ace) (ACESYS1) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ac1rundxa, ac1rundx, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Runner Deluxe Club (Ace) (ACESYS1) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ac1totb, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Top Of The Bill (Ace) (ACESYS1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ac1shid, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Super Hi De Hi (Ace) (ACESYS1) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ac1shida, ac1shid , aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Super Hi De Hi (Ace) (ACESYS1) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ac1dbldx, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Pcp", "Double Deluxe (Pcp) (ACESYS1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ac1nudbk, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Pcp", "Nudge Break (Pcp) (ACESYS1) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ac1nudbka, ac1nudbk, aces1, aces1, aces1_state, init_aces1, ROT0, "Pcp", "Nudge Break (Pcp) (ACESYS1) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ac1nudbkb, ac1nudbk, aces1, aces1, aces1_state, init_aces1, ROT0, "Pcp", "Nudge Break (Pcp) (ACESYS1) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ac1nudbkc, ac1nudbk, aces1, aces1, aces1_state, init_aces1, ROT0, "Pcp", "Nudge Break (Pcp) (ACESYS1) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ac1nudbkd, ac1nudbk, aces1, aces1, aces1_state, init_aces1, ROT0, "Pcp", "Nudge Break (Pcp) (ACESYS1) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ac1sstrk, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Pcp", "Starstruck (Pcp) (ACESYS1) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ac1sstrka, ac1sstrk, aces1, aces1, aces1_state, init_aces1, ROT0, "Pcp", "Starstruck (Pcp) (ACESYS1) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ac1sstrkb, ac1sstrk, aces1, aces1, aces1_state, init_aces1, ROT0, "Pcp", "Starstruck (Pcp) (ACESYS1) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ac1xpres, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Pcp", "Xpress (Pcp) (ACESYS1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ac1roll, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Pcp", "Roll Up (Pcp) (ACESYS1) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ac1rolla, ac1roll , aces1, aces1, aces1_state, init_aces1, ROT0, "Pcp", "Roll Up (Pcp) (ACESYS1) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ac1rollb, ac1roll , aces1, aces1, aces1_state, init_aces1, ROT0, "Pcp", "Roll Up (Pcp) (ACESYS1) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ac1bluec, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Pcp", "Blue Chip (Pcp) (ACESYS1) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ac1blueca, ac1bluec, aces1, aces1, aces1_state, init_aces1, ROT0, "Pcp", "Blue Chip (Pcp) (ACESYS1) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ac1bluecb, ac1bluec, aces1, aces1, aces1_state, init_aces1, ROT0, "Pcp", "Blue Chip (Pcp) (ACESYS1) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ac1bluecc, ac1bluec, aces1, aces1, aces1_state, init_aces1, ROT0, "Pcp", "Blue Chip (Pcp) (ACESYS1) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ac1bluecd, ac1bluec, aces1, aces1, aces1_state, init_aces1, ROT0, "Pcp", "Blue Chip (Pcp) (ACESYS1) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, ac1hideh, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Hi De Hi Deluxe (Ace) (ACESYS1) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // was in Hi De Hi (Ace) (sp.ACE) set +GAME( 199?, ac1hideha, sp_hideh, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "Hi De Hi Deluxe (Ace) (ACESYS1) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // ^^ +GAME( 199?, ac1unk, 0, aces1, aces1, aces1_state, init_aces1, ROT0, "Ace", "unknown Ace System 1 game", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/misc/acesp.cpp b/src/mame/misc/acesp.cpp index 22b9dc2b8c441..bdd3d6e20f895 100644 --- a/src/mame/misc/acesp.cpp +++ b/src/mame/misc/acesp.cpp @@ -3972,562 +3972,562 @@ void ace_sp_state::init_ace_sp() } // anonymous namespace -GAME( 199?, sp_cbowl, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Cash Bowl (Ace) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_cbowla, sp_cbowl, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Cash Bowl (Ace) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_cbowlb, sp_cbowl, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Cash Bowl (Ace) (sp.ACE) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_cbowlc, sp_cbowl, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Cash Bowl (Ace) (sp.ACE) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_cbowld, sp_cbowl, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Cash Bowl (Ace) (sp.ACE) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_cbowle, sp_cbowl, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Cash Bowl (Ace) (sp.ACE) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_cbowlf, sp_cbowl, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Cash Bowl (Ace) (sp.ACE) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_cbowlg, sp_cbowl, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Cash Bowl (Ace) (sp.ACE) (set 8)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_cbowlh, sp_cbowl, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Cash Bowl (Ace) (sp.ACE) (set 9)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_cbowli, sp_cbowl, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Cash Bowl (Ace) (sp.ACE) (set 10)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_cbowlj, sp_cbowl, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Cash Bowl (Ace) (sp.ACE) (set 11)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_cbowlk, sp_cbowl, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Cash Bowl (Ace) (sp.ACE) (set 12)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_cbowll, sp_cbowl, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Cash Bowl (Ace) (sp.ACE) (set 13)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_cbowlm, sp_cbowl, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Cash Bowl (Ace) (sp.ACE) (set 14)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_cbowln, sp_cbowl, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Cash Bowl (Ace) (sp.ACE) (set 15)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_cbowlo, sp_cbowl, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Cash Bowl (Ace) (sp.ACE) (set 16)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_cbowlp, sp_cbowl, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Cash Bowl (Ace) (sp.ACE) (set 17)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_cbowlq, sp_cbowl, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Cash Bowl (Ace) (sp.ACE) (set 18)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_cbowlr, sp_cbowl, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Cash Bowl (Ace) (sp.ACE) (set 19)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_cbowls, sp_cbowl, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Cash Bowl (Ace) (sp.ACE) (set 20)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_cbowlt, sp_cbowl, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Cash Bowl (Ace) (sp.ACE) (set 21)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_cbowlu, sp_cbowl, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Cash Bowl (Ace) (sp.ACE) (set 22)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, sp_crime, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Crime Watch (Ace) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_crimea, sp_crime, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Crime Watch (Ace) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_crimeb, sp_crime, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Crime Watch (Ace) (sp.ACE) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_crimec, sp_crime, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Crime Watch (Ace) (sp.ACE) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_crimed, sp_crime, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Crime Watch (Ace) (sp.ACE) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_crimee, sp_crime, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Crime Watch (Ace) (sp.ACE) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_crimef, sp_crime, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Crime Watch (Ace) (sp.ACE) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_crimeg, sp_crime, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Crime Watch (Ace) (sp.ACE) (set 8)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_crimeh, sp_crime, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Crime Watch (Ace) (sp.ACE) (set 9)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, sp_cbowl, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Cash Bowl (Ace) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_cbowla, sp_cbowl, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Cash Bowl (Ace) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_cbowlb, sp_cbowl, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Cash Bowl (Ace) (sp.ACE) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_cbowlc, sp_cbowl, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Cash Bowl (Ace) (sp.ACE) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_cbowld, sp_cbowl, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Cash Bowl (Ace) (sp.ACE) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_cbowle, sp_cbowl, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Cash Bowl (Ace) (sp.ACE) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_cbowlf, sp_cbowl, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Cash Bowl (Ace) (sp.ACE) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_cbowlg, sp_cbowl, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Cash Bowl (Ace) (sp.ACE) (set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_cbowlh, sp_cbowl, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Cash Bowl (Ace) (sp.ACE) (set 9)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_cbowli, sp_cbowl, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Cash Bowl (Ace) (sp.ACE) (set 10)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_cbowlj, sp_cbowl, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Cash Bowl (Ace) (sp.ACE) (set 11)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_cbowlk, sp_cbowl, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Cash Bowl (Ace) (sp.ACE) (set 12)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_cbowll, sp_cbowl, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Cash Bowl (Ace) (sp.ACE) (set 13)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_cbowlm, sp_cbowl, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Cash Bowl (Ace) (sp.ACE) (set 14)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_cbowln, sp_cbowl, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Cash Bowl (Ace) (sp.ACE) (set 15)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_cbowlo, sp_cbowl, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Cash Bowl (Ace) (sp.ACE) (set 16)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_cbowlp, sp_cbowl, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Cash Bowl (Ace) (sp.ACE) (set 17)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_cbowlq, sp_cbowl, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Cash Bowl (Ace) (sp.ACE) (set 18)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_cbowlr, sp_cbowl, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Cash Bowl (Ace) (sp.ACE) (set 19)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_cbowls, sp_cbowl, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Cash Bowl (Ace) (sp.ACE) (set 20)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_cbowlt, sp_cbowl, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Cash Bowl (Ace) (sp.ACE) (set 21)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_cbowlu, sp_cbowl, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Cash Bowl (Ace) (sp.ACE) (set 22)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, sp_crime, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Crime Watch (Ace) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_crimea, sp_crime, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Crime Watch (Ace) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_crimeb, sp_crime, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Crime Watch (Ace) (sp.ACE) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_crimec, sp_crime, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Crime Watch (Ace) (sp.ACE) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_crimed, sp_crime, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Crime Watch (Ace) (sp.ACE) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_crimee, sp_crime, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Crime Watch (Ace) (sp.ACE) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_crimef, sp_crime, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Crime Watch (Ace) (sp.ACE) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_crimeg, sp_crime, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Crime Watch (Ace) (sp.ACE) (set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_crimeh, sp_crime, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Crime Watch (Ace) (sp.ACE) (set 9)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // seems to be very closely related to Woolpack, looks like the same basic game with different strings, these have "GO TO EMMERDALE" -GAME( 1995, sp_emmrd, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Emmerdale (Ace) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1995, sp_emmrda, sp_emmrd, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Emmerdale (Ace) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1995, sp_emmrdb, sp_emmrd, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Emmerdale (Ace) (sp.ACE) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1995, sp_emmrdc, sp_emmrd, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Emmerdale (Ace) (sp.ACE) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1995, sp_emmrdd, sp_emmrd, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Emmerdale (Ace) (sp.ACE) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1995, sp_emmrde, sp_emmrd, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Emmerdale (Ace) (sp.ACE) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1995, sp_emmrdf, sp_emmrd, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Emmerdale (Ace) (sp.ACE) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1995, sp_emmrdg, sp_emmrd, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Emmerdale (Ace) (sp.ACE) (set 8)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1995, sp_emmrdh, sp_emmrd, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Emmerdale (Ace) (sp.ACE) (set 9)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1995, sp_emmrdi, sp_emmrd, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Emmerdale (Ace) (sp.ACE) (set 10)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1995, sp_emmrdj, sp_emmrd, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Emmerdale (Ace) (sp.ACE) (set 11)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1995, sp_emmrdk, sp_emmrd, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Emmerdale (Ace) (sp.ACE) (set 12)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1995, sp_emmrdn, sp_emmrd, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Emmerdale (Ace) (sp.ACE) (set 15)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1995, sp_emmrdo, sp_emmrd, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Emmerdale (Ace) (sp.ACE) (set 16)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1995, sp_emmrd, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Emmerdale (Ace) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1995, sp_emmrda, sp_emmrd, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Emmerdale (Ace) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1995, sp_emmrdb, sp_emmrd, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Emmerdale (Ace) (sp.ACE) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1995, sp_emmrdc, sp_emmrd, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Emmerdale (Ace) (sp.ACE) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1995, sp_emmrdd, sp_emmrd, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Emmerdale (Ace) (sp.ACE) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1995, sp_emmrde, sp_emmrd, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Emmerdale (Ace) (sp.ACE) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1995, sp_emmrdf, sp_emmrd, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Emmerdale (Ace) (sp.ACE) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1995, sp_emmrdg, sp_emmrd, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Emmerdale (Ace) (sp.ACE) (set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1995, sp_emmrdh, sp_emmrd, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Emmerdale (Ace) (sp.ACE) (set 9)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1995, sp_emmrdi, sp_emmrd, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Emmerdale (Ace) (sp.ACE) (set 10)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1995, sp_emmrdj, sp_emmrd, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Emmerdale (Ace) (sp.ACE) (set 11)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1995, sp_emmrdk, sp_emmrd, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Emmerdale (Ace) (sp.ACE) (set 12)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1995, sp_emmrdn, sp_emmrd, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Emmerdale (Ace) (sp.ACE) (set 15)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1995, sp_emmrdo, sp_emmrd, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Emmerdale (Ace) (sp.ACE) (set 16)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // seems to be very closely related to Emmerdale, looks like the same basic game with different strings, these have "GO T' WOOLPACK" -GAME( 1995, sp_woolp, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Woolpack (Ace) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1995, sp_woolpa, sp_woolp, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Woolpack (Ace) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1995, sp_woolpb, sp_woolp, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Woolpack (Ace) (sp.ACE) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1995, sp_woolpc, sp_woolp, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Woolpack (Ace) (sp.ACE) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1995, sp_woolpd, sp_woolp, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Woolpack (Ace) (sp.ACE) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1995, sp_woolpe, sp_woolp, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Woolpack (Ace) (sp.ACE) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1995, sp_woolpf, sp_woolp, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Woolpack (Ace) (sp.ACE) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) // incomplete -GAME( 1995, sp_woolpg, sp_woolp, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Woolpack (Ace) (sp.ACE) (set 8)",MACHINE_IS_SKELETON_MECHANICAL ) // incomplete -GAME( 1995, sp_woolph, sp_woolp, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Woolpack (Ace) (sp.ACE) (set 9)",MACHINE_IS_SKELETON_MECHANICAL ) // incomplete -GAME( 1995, sp_woolpi, sp_woolp, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Woolpack (Ace) (sp.ACE) (set 10)",MACHINE_IS_SKELETON_MECHANICAL ) // incomplete -GAME( 1995, sp_woolpj, sp_woolp, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Woolpack (Ace) (sp.ACE) (set 11)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1995, sp_woolpk, sp_woolp, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Woolpack (Ace) (sp.ACE) (set 12)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1995, sp_woolpl, sp_woolp, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Woolpack (Ace) (sp.ACE) (set 13)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1995, sp_woolpm, sp_woolp, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Woolpack (Ace) (sp.ACE) (set 14)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1995, sp_woolpn, sp_woolp, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Woolpack (Ace) (sp.ACE) (set 15)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1995, sp_woolpo, sp_woolp, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Woolpack (Ace) (sp.ACE) (set 16)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1995, sp_woolp, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Woolpack (Ace) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1995, sp_woolpa, sp_woolp, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Woolpack (Ace) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1995, sp_woolpb, sp_woolp, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Woolpack (Ace) (sp.ACE) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1995, sp_woolpc, sp_woolp, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Woolpack (Ace) (sp.ACE) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1995, sp_woolpd, sp_woolp, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Woolpack (Ace) (sp.ACE) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1995, sp_woolpe, sp_woolp, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Woolpack (Ace) (sp.ACE) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1995, sp_woolpf, sp_woolp, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Woolpack (Ace) (sp.ACE) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // incomplete +GAME( 1995, sp_woolpg, sp_woolp, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Woolpack (Ace) (sp.ACE) (set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // incomplete +GAME( 1995, sp_woolph, sp_woolp, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Woolpack (Ace) (sp.ACE) (set 9)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // incomplete +GAME( 1995, sp_woolpi, sp_woolp, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Woolpack (Ace) (sp.ACE) (set 10)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // incomplete +GAME( 1995, sp_woolpj, sp_woolp, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Woolpack (Ace) (sp.ACE) (set 11)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1995, sp_woolpk, sp_woolp, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Woolpack (Ace) (sp.ACE) (set 12)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1995, sp_woolpl, sp_woolp, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Woolpack (Ace) (sp.ACE) (set 13)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1995, sp_woolpm, sp_woolp, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Woolpack (Ace) (sp.ACE) (set 14)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1995, sp_woolpn, sp_woolp, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Woolpack (Ace) (sp.ACE) (set 15)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1995, sp_woolpo, sp_woolp, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Woolpack (Ace) (sp.ACE) (set 16)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // this has 'Emmerdale' padding, but seems to be a unique game, contains "ZIGZAG" strings -GAME( 199?, sp_zigzg, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Zig Zag (Ace) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_zigzga, sp_zigzg, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Zig Zag (Ace) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_zigzgb, sp_zigzg, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Zig Zag (Ace) (sp.ACE) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_zigzgc, sp_zigzg, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Zig Zag (Ace) (sp.ACE) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_zigzgd, sp_zigzg, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Zig Zag (Ace) (sp.ACE) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_zigzge, sp_zigzg, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Zig Zag (Ace) (sp.ACE) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_zigzgf, sp_zigzg, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Zig Zag (Ace) (sp.ACE) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_zigzgg, sp_zigzg, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Zig Zag (Ace) (sp.ACE) (set 8)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_zigzgh, sp_zigzg, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Zig Zag (Ace) (sp.ACE) (set 9)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_zigzgi, sp_zigzg, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Zig Zag (Ace) (sp.ACE) (set 10)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_zigzgj, sp_zigzg, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Zig Zag (Ace) (sp.ACE) (set 11)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_zigzgk, sp_zigzg, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Zig Zag (Ace) (sp.ACE) (set 12)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_zigzgl, sp_zigzg, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Zig Zag (Ace) (sp.ACE) (set 13)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_zigzgm, sp_zigzg, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Zig Zag (Ace) (sp.ACE) (set 14)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, sp_zigzg, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Zig Zag (Ace) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_zigzga, sp_zigzg, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Zig Zag (Ace) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_zigzgb, sp_zigzg, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Zig Zag (Ace) (sp.ACE) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_zigzgc, sp_zigzg, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Zig Zag (Ace) (sp.ACE) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_zigzgd, sp_zigzg, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Zig Zag (Ace) (sp.ACE) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_zigzge, sp_zigzg, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Zig Zag (Ace) (sp.ACE) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_zigzgf, sp_zigzg, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Zig Zag (Ace) (sp.ACE) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_zigzgg, sp_zigzg, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Zig Zag (Ace) (sp.ACE) (set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_zigzgh, sp_zigzg, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Zig Zag (Ace) (sp.ACE) (set 9)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_zigzgi, sp_zigzg, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Zig Zag (Ace) (sp.ACE) (set 10)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_zigzgj, sp_zigzg, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Zig Zag (Ace) (sp.ACE) (set 11)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_zigzgk, sp_zigzg, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Zig Zag (Ace) (sp.ACE) (set 12)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_zigzgl, sp_zigzg, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Zig Zag (Ace) (sp.ACE) (set 13)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_zigzgm, sp_zigzg, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Zig Zag (Ace) (sp.ACE) (set 14)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // some of these have additional Whitbread copyright, many appear to be 'Golden Mile Showcase', several have a 'Golden Mile Prize' padding instead of the regular -GAME( 199?, sp_goldm, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_goldma, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_goldmb, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_goldmc, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_goldmd, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_goldme, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_goldmf, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_goldmg, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 8)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_goldmh, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 9)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_goldmi, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 10)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_goldmj, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 11)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_goldmk, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 12)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_goldml, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 13)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_goldmm, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 14)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_goldmn, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 15)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_goldmo, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 16)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_goldmp, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 17)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_goldmq, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 18)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_goldmr, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 19)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_goldms, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 20)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_goldmt, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 21)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_goldmu, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 22)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_goldmv, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 23)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_goldmw, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 24)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_goldmx, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 25)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_goldmy, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 26)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_goldmz, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 27)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_goldm0, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 28)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_goldm1, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 29)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_goldm2, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 30)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_goldm3, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 31)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, sp_goldm, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_goldma, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_goldmb, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_goldmc, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_goldmd, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_goldme, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_goldmf, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_goldmg, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_goldmh, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 9)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_goldmi, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 10)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_goldmj, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 11)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_goldmk, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 12)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_goldml, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 13)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_goldmm, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 14)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_goldmn, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 15)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_goldmo, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 16)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_goldmp, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 17)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_goldmq, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 18)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_goldmr, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 19)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_goldms, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 20)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_goldmt, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 21)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_goldmu, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 22)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_goldmv, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 23)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_goldmw, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 24)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_goldmx, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 25)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_goldmy, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 26)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_goldmz, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 27)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_goldm0, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 28)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_goldm1, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 29)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_goldm2, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 30)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_goldm3, sp_goldm, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Mile (Ace) (sp.ACE) (set 31)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // one of the types here have blanked out padding, possibly a BWB re-release? -GAME( 199?, sp_gnat, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand National (Ace) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_gnata, sp_gnat , ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand National (Ace) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_gnatb, sp_gnat , ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand National (Ace) (sp.ACE) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_gnatc, sp_gnat , ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand National (Ace) (sp.ACE) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_gnatd, sp_gnat , ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand National (Ace) (sp.ACE) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_gnate, sp_gnat , ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand National (Ace) (sp.ACE) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_gnatf, sp_gnat , ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand National (Ace) (sp.ACE) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_gnatg, sp_gnat , ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand National (Ace) (sp.ACE) (set 8)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_gnath, sp_gnat , ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand National (Ace) (sp.ACE) (set 9)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_gnati, sp_gnat , ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand National (Ace) (sp.ACE) (set 10)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_gnatj, sp_gnat , ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand National (Ace) (sp.ACE) (set 11)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_gnatk, sp_gnat , ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand National (Ace) (sp.ACE) (set 12)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_gnatl, sp_gnat , ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand National (Ace) (sp.ACE) (set 13)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_gnatm, sp_gnat , ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand National (Ace) (sp.ACE) (set 14)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_gnatn, sp_gnat , ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand National (Ace) (sp.ACE) (set 15)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_gnato, sp_gnat , ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand National (Ace) (sp.ACE) (set 16)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, sp_gnat, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand National (Ace) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_gnata, sp_gnat , ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand National (Ace) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_gnatb, sp_gnat , ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand National (Ace) (sp.ACE) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_gnatc, sp_gnat , ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand National (Ace) (sp.ACE) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_gnatd, sp_gnat , ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand National (Ace) (sp.ACE) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_gnate, sp_gnat , ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand National (Ace) (sp.ACE) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_gnatf, sp_gnat , ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand National (Ace) (sp.ACE) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_gnatg, sp_gnat , ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand National (Ace) (sp.ACE) (set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_gnath, sp_gnat , ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand National (Ace) (sp.ACE) (set 9)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_gnati, sp_gnat , ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand National (Ace) (sp.ACE) (set 10)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_gnatj, sp_gnat , ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand National (Ace) (sp.ACE) (set 11)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_gnatk, sp_gnat , ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand National (Ace) (sp.ACE) (set 12)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_gnatl, sp_gnat , ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand National (Ace) (sp.ACE) (set 13)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_gnatm, sp_gnat , ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand National (Ace) (sp.ACE) (set 14)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_gnatn, sp_gnat , ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand National (Ace) (sp.ACE) (set 15)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_gnato, sp_gnat , ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand National (Ace) (sp.ACE) (set 16)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // seems to be a variation on Grand National (prize cabinet?) -GAME( 199?, sp_przna, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Prize National (Ace) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_prznaa, sp_przna, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Prize National (Ace) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_prznab, sp_przna, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Prize National (Ace) (sp.ACE) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_prznac, sp_przna, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Prize National (Ace) (sp.ACE) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_prznad, sp_przna, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Prize National (Ace) (sp.ACE) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_prznae, sp_przna, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Prize National (Ace) (sp.ACE) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_prznaf, sp_przna, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Prize National (Ace) (sp.ACE) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_prznag, sp_przna, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Prize National (Ace) (sp.ACE) (set 8)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, sp_gprix, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand Prix (Ace) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_gprixa, sp_gprix, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand Prix (Ace) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_gprixb, sp_gprix, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand Prix (Ace) (sp.ACE) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_gprixc, sp_gprix, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand Prix (Ace) (sp.ACE) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_gprixd, sp_gprix, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand Prix (Ace) (sp.ACE) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_gprixe, sp_gprix, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand Prix (Ace) (sp.ACE) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_gprixf, sp_gprix, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand Prix (Ace) (sp.ACE) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_gprixg, sp_gprix, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand Prix (Ace) (sp.ACE) (set 8)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_gprixh, sp_gprix, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand Prix (Ace) (sp.ACE) (set 9)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, sp_hideh, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi De Hi (Ace) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_hideha, sp_hideh, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi De Hi (Ace) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_hidehb, sp_hideh, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi De Hi (Ace) (sp.ACE) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_hidehc, sp_hideh, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi De Hi (Ace) (sp.ACE) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_hidehd, sp_hideh, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi De Hi (Ace) (sp.ACE) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_hidehe, sp_hideh, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi De Hi (Ace) (sp.ACE) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_hidehf, sp_hideh, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi De Hi (Ace) (sp.ACE) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_hidehg, sp_hideh, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi De Hi (Ace) (sp.ACE) (set 8)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_hidehh, sp_hideh, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi De Hi (Ace) (sp.ACE) (set 9)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_hidehi, sp_hideh, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi De Hi (Ace) (sp.ACE) (set 10)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_hidehj, sp_hideh, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi De Hi (Ace) (sp.ACE) (set 11)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_hidehk, sp_hideh, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi De Hi (Ace) (sp.ACE) (set 12)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_hidehl, sp_hideh, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi De Hi (Ace) (sp.ACE) (set 13)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_hidehm, sp_hideh, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi De Hi (Ace) (sp.ACE) (set 14)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_hidehn, sp_hideh, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi De Hi (Ace) (sp.ACE) (set 15)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_hideho, sp_hideh, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi De Hi (Ace) (sp.ACE) (set 16)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_hidehp, sp_hideh, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi De Hi (Ace) (sp.ACE) (set 17)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, sp_hifly, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi Flyer (Ace) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_hiflya, sp_hifly, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi Flyer (Ace) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_hiflyb, sp_hifly, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi Flyer (Ace) (sp.ACE) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_hiflyc, sp_hifly, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi Flyer (Ace) (sp.ACE) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_hiflyd, sp_hifly, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi Flyer (Ace) (sp.ACE) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_hiflye, sp_hifly, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi Flyer (Ace) (sp.ACE) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_hiflyf, sp_hifly, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi Flyer (Ace) (sp.ACE) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_hiflyg, sp_hifly, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi Flyer (Ace) (sp.ACE) (set 8)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_hiflyh, sp_hifly, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi Flyer (Ace) (sp.ACE) (set 9)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_hiflyi, sp_hifly, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi Flyer (Ace) (sp.ACE) (set 10)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_hiflyj, sp_hifly, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi Flyer (Ace) (sp.ACE) (set 11)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_hiflyk, sp_hifly, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi Flyer (Ace) (sp.ACE) (set 12)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_hiflyl, sp_hifly, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi Flyer (Ace) (sp.ACE) (set 13)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_hiflym, sp_hifly, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi Flyer (Ace) (sp.ACE) (set 14)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_hiflyn, sp_hifly, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi Flyer (Ace) (sp.ACE) (set 15)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_hiflyo, sp_hifly, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi Flyer (Ace) (sp.ACE) (set 16)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_hiflyp, sp_hifly, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi Flyer (Ace) (sp.ACE) (set 17)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, sp_juras, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Jurassic Trail (Ace) (sp.ACE)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, sp_openb, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Open The Box (Ace) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_openba, sp_openb, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Open The Box (Ace) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_openbb, sp_openb, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Open The Box (Ace) (sp.ACE) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_openbc, sp_openb, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Open The Box (Ace) (sp.ACE) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_openbd, sp_openb, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Open The Box (Ace) (sp.ACE) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_openbe, sp_openb, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Open The Box (Ace) (sp.ACE) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_openbf, sp_openb, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Open The Box (Ace) (sp.ACE) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_openbg, sp_openb, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Open The Box (Ace) (sp.ACE) (set 8)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_openbh, sp_openb, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Open The Box (Ace) (sp.ACE) (set 9)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_openbi, sp_openb, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Open The Box (Ace) (sp.ACE) (set 10)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, sp_payrs, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Payrise (Ace) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_payrsa, sp_payrs, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Payrise (Ace) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_payrsb, sp_payrs, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Payrise (Ace) (sp.ACE) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_payrsc, sp_payrs, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Payrise (Ace) (sp.ACE) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_payrsd, sp_payrs, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Payrise (Ace) (sp.ACE) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_payrse, sp_payrs, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Payrise (Ace) (sp.ACE) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_payrsf, sp_payrs, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Payrise (Ace) (sp.ACE) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_payrsg, sp_payrs, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Payrise (Ace) (sp.ACE) (set 8)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_payrsh, sp_payrs, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Payrise (Ace) (sp.ACE) (set 9)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, sp_playa, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Play It Again (Ace) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_playaa, sp_playa, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Play It Again (Ace) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_playab, sp_playa, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Play It Again (Ace) (sp.ACE) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) // incomplete -GAME( 199?, sp_playac, sp_playa, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Play It Again (Ace) (sp.ACE) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) // incomplete -GAME( 199?, sp_playad, sp_playa, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Play It Again (Ace) (sp.ACE) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) // possible bad pairing -GAME( 199?, sp_playae, sp_playa, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Play It Again (Ace) (sp.ACE) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) // possible bad pairing -GAME( 199?, sp_playaf, sp_playa, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Play It Again (Ace) (sp.ACE) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) // possible bad pairing -GAME( 199?, sp_playag, sp_playa, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Play It Again (Ace) (sp.ACE) (set 8)",MACHINE_IS_SKELETON_MECHANICAL ) // possible bad pairing -GAME( 199?, sp_playah, sp_playa, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Play It Again (Ace) (sp.ACE) (set 9)",MACHINE_IS_SKELETON_MECHANICAL ) // possible bad pairing -GAME( 199?, sp_playai, sp_playa, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Play It Again (Ace) (sp.ACE) (set 10)",MACHINE_IS_SKELETON_MECHANICAL ) // possible bad pairing - -GAME( 199?, sp_spell, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Spellbound (Ace) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_spella, sp_spell, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Spellbound (Ace) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_spellb, sp_spell, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Spellbound (Ace) (sp.ACE) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_spellc, sp_spell, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Spellbound (Ace) (sp.ACE) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_spelld, sp_spell, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Spellbound (Ace) (sp.ACE) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_spelle, sp_spell, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Spellbound (Ace) (sp.ACE) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_spellf, sp_spell, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Spellbound (Ace) (sp.ACE) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_spellg, sp_spell, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Spellbound (Ace) (sp.ACE) (set 8)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_spelli, sp_spell, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Spellbound (Ace) (sp.ACE) (set 10)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_spellj, sp_spell, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Spellbound (Ace) (sp.ACE) (set 11)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, sp_swop, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Swop Shop (Ace) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_swopa, sp_swop , ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Swop Shop (Ace) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_swopb, sp_swop , ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Swop Shop (Ace) (sp.ACE) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_swopc, sp_swop , ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Swop Shop (Ace) (sp.ACE) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_swopd, sp_swop , ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Swop Shop (Ace) (sp.ACE) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_swope, sp_swop , ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Swop Shop (Ace) (sp.ACE) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_swopf, sp_swop , ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Swop Shop (Ace) (sp.ACE) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_swopg, sp_swop , ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Swop Shop (Ace) (sp.ACE) (set 8)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, sp_timem, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Time Machine (Ace) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_timema, sp_timem, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Time Machine (Ace) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_timemb, sp_timem, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Time Machine (Ace) (sp.ACE) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_timemc, sp_timem, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Time Machine (Ace) (sp.ACE) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_timemd, sp_timem, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Time Machine (Ace) (sp.ACE) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_timeme, sp_timem, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Time Machine (Ace) (sp.ACE) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_timemf, sp_timem, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Time Machine (Ace) (sp.ACE) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_timemg, sp_timem, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Time Machine (Ace) (sp.ACE) (set 8)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_timemh, sp_timem, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Time Machine (Ace) (sp.ACE) (set 9)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_timemi, sp_timem, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Time Machine (Ace) (sp.ACE) (set 10)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_timemj, sp_timem, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Time Machine (Ace) (sp.ACE) (set 11)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_timemk, sp_timem, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Time Machine (Ace) (sp.ACE) (set 12)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, sp_tz, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone (Ace) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_tza, sp_tz, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone (Ace) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_tzb, sp_tz, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone (Ace) (sp.ACE) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_tzc, sp_tz, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone (Ace) (sp.ACE) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_tzd, sp_tz, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone (Ace) (sp.ACE) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_tze, sp_tz, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone (Ace) (sp.ACE) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_tzf, sp_tz, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone (Ace) (sp.ACE) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_tzg, sp_tz, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone (Ace) (sp.ACE) (set 8)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_tzh, sp_tz, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone (Ace) (sp.ACE) (set 9)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_tzbwb, sp_tz, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace / Bwb", "Twilight Zone (Ace/Bwb) (sp.ACE)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, sp_tzfe, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_tzfea, sp_tzfe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_tzfeb, sp_tzfe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_tzfec, sp_tzfe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_tzfed, sp_tzfe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_tzfee, sp_tzfe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_tzfef, sp_tzfe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_tzfeg, sp_tzfe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 8)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_tzfeh, sp_tzfe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 9)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_tzfei, sp_tzfe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 10)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_tzfej, sp_tzfe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 11)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_tzfek, sp_tzfe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 12)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_tzfel, sp_tzfe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 13)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_tzfem, sp_tzfe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 14)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_tzfen, sp_tzfe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 15)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_tzfeo, sp_tzfe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 16)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_tzfep, sp_tzfe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 17)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_tzfeq, sp_tzfe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 18)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_tzfer, sp_tzfe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 19)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_tzfes, sp_tzfe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 20)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_tzfet, sp_tzfe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 21)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_tzfeu, sp_tzfe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 22)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, sp_beau, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Beau Peep (Ace) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_beaua, sp_beau, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Beau Peep (Ace) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_beaub, sp_beau, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Beau Peep (Ace) (sp.ACE) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_beauc, sp_beau, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Beau Peep (Ace) (sp.ACE) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_beaud, sp_beau, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Beau Peep (Ace) (sp.ACE) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_beaue, sp_beau, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Beau Peep (Ace) (sp.ACE) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_beauf, sp_beau, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Beau Peep (Ace) (sp.ACE) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_beaug, sp_beau, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Beau Peep (Ace) (sp.ACE) (set 8)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_beauh, sp_beau, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Beau Peep (Ace) (sp.ACE) (set 9)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, sp_bigbd, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Big Break Deluxe Club (Ace) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_bigbda, sp_bigbd, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Big Break Deluxe Club (Ace) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, sp_brkbk, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Break The Bank (Ace) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_brkbka, sp_brkbk, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Break The Bank (Ace) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_brkbkb, sp_brkbk, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Break The Bank (Ace) (sp.ACE) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_brkbkc, sp_brkbk, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Break The Bank (Ace) (sp.ACE) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_brkbkd, sp_brkbk, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Break The Bank (Ace) (sp.ACE) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, sp_camel, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Camelot (Ace) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_camela, sp_camel, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Camelot (Ace) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_camelb, sp_camel, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Camelot (Ace) (sp.ACE) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_camelc, sp_camel, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Camelot (Ace) (sp.ACE) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_cameld, sp_camel, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Camelot (Ace) (sp.ACE) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_camele, sp_camel, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Camelot (Ace) (sp.ACE) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_camelf, sp_camel, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Camelot (Ace) (sp.ACE) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_camelg, sp_camel, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Camelot (Ace) (sp.ACE) (set 8)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_camelh, sp_camel, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Camelot (Ace) (sp.ACE) (set 9)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_cameli, sp_camel, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Camelot (Ace) (sp.ACE) (set 10)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_camelj, sp_camel, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Camelot (Ace) (sp.ACE) (set 11)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_camelk, sp_camel, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Camelot (Ace) (sp.ACE) (set 12)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_camell, sp_camel, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Camelot (Ace) (sp.ACE) (set 13)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_camelm, sp_camel, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Camelot (Ace) (sp.ACE) (set 14)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_cameln, sp_camel, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Camelot (Ace) (sp.ACE) (set 15)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_camelo, sp_camel, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Camelot (Ace) (sp.ACE) (set 16)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, sp_clbna, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Club National (Ace) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_clbnaa, sp_clbna, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Club National (Ace) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, sp_coder, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Code Red (Ace) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_codera, sp_coder, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Code Red (Ace) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_coderb, sp_coder, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Code Red (Ace) (sp.ACE) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_coderc, sp_coder, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Code Red (Ace) (sp.ACE) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_coderd, sp_coder, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Code Red (Ace) (sp.ACE) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_codere, sp_coder, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Code Red (Ace) (sp.ACE) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_coderf, sp_coder, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Code Red (Ace) (sp.ACE) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_coderg, sp_coder, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Code Red (Ace) (sp.ACE) (set 8)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, sp_criss, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Criss Cross Cash (Ace) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_crissa, sp_criss, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Criss Cross Cash (Ace) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_crissb, sp_criss, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Criss Cross Cash (Ace) (sp.ACE) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_crissc, sp_criss, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Criss Cross Cash (Ace) (sp.ACE) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_crissd, sp_criss, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Criss Cross Cash (Ace) (sp.ACE) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_crisse, sp_criss, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Criss Cross Cash (Ace) (sp.ACE) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_crissf, sp_criss, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Criss Cross Cash (Ace) (sp.ACE) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_crissg, sp_criss, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Criss Cross Cash (Ace) (sp.ACE) (set 8)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, sp_daytr, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Daytripper (Ace) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_daytra, sp_daytr, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Daytripper (Ace) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_daytrb, sp_daytr, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Daytripper (Ace) (sp.ACE) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_daytrc, sp_daytr, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Daytripper (Ace) (sp.ACE) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, sp_donky, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Donkey Derby (Ace) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_donkya, sp_donky, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Donkey Derby (Ace) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_donkyb, sp_donky, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Donkey Derby (Ace) (sp.ACE) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_donkyc, sp_donky, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Donkey Derby (Ace) (sp.ACE) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_donkyd, sp_donky, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Donkey Derby (Ace) (sp.ACE) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_donkye, sp_donky, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Donkey Derby (Ace) (sp.ACE) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_donkyf, sp_donky, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Donkey Derby (Ace) (sp.ACE) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_donkyg, sp_donky, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Donkey Derby (Ace) (sp.ACE) (set 8)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, sp_dyour, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Double Your Money (Ace) (sp.ACE)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, sp_festi, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Festival (Spanish) (Ace) (sp.ACE)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, sp_beau2, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Further Adventures Of Beau Peep (Ace) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_beau2a, sp_beau2, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Further Adventures Of Beau Peep (Ace) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_beau2b, sp_beau2, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Further Adventures Of Beau Peep (Ace) (sp.ACE) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_beau2c, sp_beau2, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Further Adventures Of Beau Peep (Ace) (sp.ACE) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_beau2d, sp_beau2, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Further Adventures Of Beau Peep (Ace) (sp.ACE) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_beau2e, sp_beau2, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Further Adventures Of Beau Peep (Ace) (sp.ACE) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_beau2f, sp_beau2, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Further Adventures Of Beau Peep (Ace) (sp.ACE) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, sp_ghost, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Ghost Trapper (Ace) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_ghosta, sp_ghost, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Ghost Trapper (Ace) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_ghostb, sp_ghost, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Ghost Trapper (Ace) (sp.ACE) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_ghostc, sp_ghost, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Ghost Trapper (Ace) (sp.ACE) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_ghostd, sp_ghost, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Ghost Trapper (Ace) (sp.ACE) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_ghoste, sp_ghost, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Ghost Trapper (Ace) (sp.ACE) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_ghostf, sp_ghost, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Ghost Trapper (Ace) (sp.ACE) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_ghostg, sp_ghost, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Ghost Trapper (Ace) (sp.ACE) (set 8)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_ghosth, sp_ghost, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Ghost Trapper (Ace) (sp.ACE) (set 9)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_ghosti, sp_ghost, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Ghost Trapper (Ace) (sp.ACE) (set 10)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_ghostj, sp_ghost, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Ghost Trapper (Ace) (sp.ACE) (set 11)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_ghostk, sp_ghost, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Ghost Trapper (Ace) (sp.ACE) (set 12)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_ghostl, sp_ghost, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Ghost Trapper (Ace) (sp.ACE) (set 13)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_ghostm, sp_ghost, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Ghost Trapper (Ace) (sp.ACE) (set 14)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_ghostn, sp_ghost, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Ghost Trapper (Ace) (sp.ACE) (set 15)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_ghosto, sp_ghost, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Ghost Trapper (Ace) (sp.ACE) (set 16)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_ghostp, sp_ghost, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Ghost Trapper (Ace) (sp.ACE) (set 17)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_ghostq, sp_ghost, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Ghost Trapper (Ace) (sp.ACE) (set 18)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_ghostr, sp_ghost, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Ghost Trapper (Ace) (sp.ACE) (set 19)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_ghosts, sp_ghost, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Ghost Trapper (Ace) (sp.ACE) (set 20)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, sp_globe, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Globe Trotter (Ace) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_globea, sp_globe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Globe Trotter (Ace) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_globeb, sp_globe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Globe Trotter (Ace) (sp.ACE) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_globec, sp_globe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Globe Trotter (Ace) (sp.ACE) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_globed, sp_globe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Globe Trotter (Ace) (sp.ACE) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_globee, sp_globe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Globe Trotter (Ace) (sp.ACE) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_globef, sp_globe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Globe Trotter (Ace) (sp.ACE) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_globeg, sp_globe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Globe Trotter (Ace) (sp.ACE) (set 8)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, sp_gol, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Gol (Spanish) (Ace) (sp.ACE)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, sp_golda, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Arrow Club (Ace) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_goldaa, sp_golda, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Arrow Club (Ace) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, sp_przna, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Prize National (Ace) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_prznaa, sp_przna, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Prize National (Ace) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_prznab, sp_przna, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Prize National (Ace) (sp.ACE) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_prznac, sp_przna, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Prize National (Ace) (sp.ACE) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_prznad, sp_przna, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Prize National (Ace) (sp.ACE) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_prznae, sp_przna, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Prize National (Ace) (sp.ACE) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_prznaf, sp_przna, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Prize National (Ace) (sp.ACE) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_prznag, sp_przna, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Prize National (Ace) (sp.ACE) (set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, sp_gprix, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand Prix (Ace) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_gprixa, sp_gprix, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand Prix (Ace) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_gprixb, sp_gprix, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand Prix (Ace) (sp.ACE) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_gprixc, sp_gprix, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand Prix (Ace) (sp.ACE) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_gprixd, sp_gprix, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand Prix (Ace) (sp.ACE) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_gprixe, sp_gprix, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand Prix (Ace) (sp.ACE) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_gprixf, sp_gprix, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand Prix (Ace) (sp.ACE) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_gprixg, sp_gprix, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand Prix (Ace) (sp.ACE) (set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_gprixh, sp_gprix, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Grand Prix (Ace) (sp.ACE) (set 9)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, sp_hideh, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi De Hi (Ace) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_hideha, sp_hideh, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi De Hi (Ace) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_hidehb, sp_hideh, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi De Hi (Ace) (sp.ACE) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_hidehc, sp_hideh, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi De Hi (Ace) (sp.ACE) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_hidehd, sp_hideh, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi De Hi (Ace) (sp.ACE) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_hidehe, sp_hideh, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi De Hi (Ace) (sp.ACE) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_hidehf, sp_hideh, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi De Hi (Ace) (sp.ACE) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_hidehg, sp_hideh, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi De Hi (Ace) (sp.ACE) (set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_hidehh, sp_hideh, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi De Hi (Ace) (sp.ACE) (set 9)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_hidehi, sp_hideh, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi De Hi (Ace) (sp.ACE) (set 10)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_hidehj, sp_hideh, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi De Hi (Ace) (sp.ACE) (set 11)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_hidehk, sp_hideh, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi De Hi (Ace) (sp.ACE) (set 12)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_hidehl, sp_hideh, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi De Hi (Ace) (sp.ACE) (set 13)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_hidehm, sp_hideh, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi De Hi (Ace) (sp.ACE) (set 14)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_hidehn, sp_hideh, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi De Hi (Ace) (sp.ACE) (set 15)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_hideho, sp_hideh, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi De Hi (Ace) (sp.ACE) (set 16)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_hidehp, sp_hideh, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi De Hi (Ace) (sp.ACE) (set 17)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, sp_hifly, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi Flyer (Ace) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_hiflya, sp_hifly, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi Flyer (Ace) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_hiflyb, sp_hifly, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi Flyer (Ace) (sp.ACE) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_hiflyc, sp_hifly, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi Flyer (Ace) (sp.ACE) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_hiflyd, sp_hifly, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi Flyer (Ace) (sp.ACE) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_hiflye, sp_hifly, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi Flyer (Ace) (sp.ACE) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_hiflyf, sp_hifly, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi Flyer (Ace) (sp.ACE) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_hiflyg, sp_hifly, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi Flyer (Ace) (sp.ACE) (set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_hiflyh, sp_hifly, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi Flyer (Ace) (sp.ACE) (set 9)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_hiflyi, sp_hifly, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi Flyer (Ace) (sp.ACE) (set 10)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_hiflyj, sp_hifly, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi Flyer (Ace) (sp.ACE) (set 11)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_hiflyk, sp_hifly, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi Flyer (Ace) (sp.ACE) (set 12)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_hiflyl, sp_hifly, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi Flyer (Ace) (sp.ACE) (set 13)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_hiflym, sp_hifly, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi Flyer (Ace) (sp.ACE) (set 14)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_hiflyn, sp_hifly, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi Flyer (Ace) (sp.ACE) (set 15)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_hiflyo, sp_hifly, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi Flyer (Ace) (sp.ACE) (set 16)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_hiflyp, sp_hifly, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Hi Flyer (Ace) (sp.ACE) (set 17)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, sp_juras, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Jurassic Trail (Ace) (sp.ACE)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, sp_openb, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Open The Box (Ace) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_openba, sp_openb, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Open The Box (Ace) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_openbb, sp_openb, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Open The Box (Ace) (sp.ACE) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_openbc, sp_openb, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Open The Box (Ace) (sp.ACE) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_openbd, sp_openb, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Open The Box (Ace) (sp.ACE) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_openbe, sp_openb, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Open The Box (Ace) (sp.ACE) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_openbf, sp_openb, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Open The Box (Ace) (sp.ACE) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_openbg, sp_openb, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Open The Box (Ace) (sp.ACE) (set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_openbh, sp_openb, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Open The Box (Ace) (sp.ACE) (set 9)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_openbi, sp_openb, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Open The Box (Ace) (sp.ACE) (set 10)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, sp_payrs, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Payrise (Ace) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_payrsa, sp_payrs, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Payrise (Ace) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_payrsb, sp_payrs, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Payrise (Ace) (sp.ACE) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_payrsc, sp_payrs, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Payrise (Ace) (sp.ACE) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_payrsd, sp_payrs, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Payrise (Ace) (sp.ACE) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_payrse, sp_payrs, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Payrise (Ace) (sp.ACE) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_payrsf, sp_payrs, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Payrise (Ace) (sp.ACE) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_payrsg, sp_payrs, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Payrise (Ace) (sp.ACE) (set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_payrsh, sp_payrs, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Payrise (Ace) (sp.ACE) (set 9)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, sp_playa, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Play It Again (Ace) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_playaa, sp_playa, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Play It Again (Ace) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_playab, sp_playa, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Play It Again (Ace) (sp.ACE) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // incomplete +GAME( 199?, sp_playac, sp_playa, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Play It Again (Ace) (sp.ACE) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // incomplete +GAME( 199?, sp_playad, sp_playa, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Play It Again (Ace) (sp.ACE) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // possible bad pairing +GAME( 199?, sp_playae, sp_playa, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Play It Again (Ace) (sp.ACE) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // possible bad pairing +GAME( 199?, sp_playaf, sp_playa, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Play It Again (Ace) (sp.ACE) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // possible bad pairing +GAME( 199?, sp_playag, sp_playa, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Play It Again (Ace) (sp.ACE) (set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // possible bad pairing +GAME( 199?, sp_playah, sp_playa, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Play It Again (Ace) (sp.ACE) (set 9)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // possible bad pairing +GAME( 199?, sp_playai, sp_playa, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Play It Again (Ace) (sp.ACE) (set 10)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // possible bad pairing + +GAME( 199?, sp_spell, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Spellbound (Ace) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_spella, sp_spell, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Spellbound (Ace) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_spellb, sp_spell, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Spellbound (Ace) (sp.ACE) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_spellc, sp_spell, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Spellbound (Ace) (sp.ACE) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_spelld, sp_spell, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Spellbound (Ace) (sp.ACE) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_spelle, sp_spell, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Spellbound (Ace) (sp.ACE) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_spellf, sp_spell, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Spellbound (Ace) (sp.ACE) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_spellg, sp_spell, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Spellbound (Ace) (sp.ACE) (set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_spelli, sp_spell, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Spellbound (Ace) (sp.ACE) (set 10)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_spellj, sp_spell, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Spellbound (Ace) (sp.ACE) (set 11)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, sp_swop, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Swop Shop (Ace) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_swopa, sp_swop , ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Swop Shop (Ace) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_swopb, sp_swop , ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Swop Shop (Ace) (sp.ACE) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_swopc, sp_swop , ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Swop Shop (Ace) (sp.ACE) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_swopd, sp_swop , ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Swop Shop (Ace) (sp.ACE) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_swope, sp_swop , ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Swop Shop (Ace) (sp.ACE) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_swopf, sp_swop , ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Swop Shop (Ace) (sp.ACE) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_swopg, sp_swop , ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Swop Shop (Ace) (sp.ACE) (set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, sp_timem, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Time Machine (Ace) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_timema, sp_timem, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Time Machine (Ace) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_timemb, sp_timem, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Time Machine (Ace) (sp.ACE) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_timemc, sp_timem, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Time Machine (Ace) (sp.ACE) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_timemd, sp_timem, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Time Machine (Ace) (sp.ACE) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_timeme, sp_timem, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Time Machine (Ace) (sp.ACE) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_timemf, sp_timem, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Time Machine (Ace) (sp.ACE) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_timemg, sp_timem, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Time Machine (Ace) (sp.ACE) (set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_timemh, sp_timem, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Time Machine (Ace) (sp.ACE) (set 9)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_timemi, sp_timem, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Time Machine (Ace) (sp.ACE) (set 10)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_timemj, sp_timem, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Time Machine (Ace) (sp.ACE) (set 11)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_timemk, sp_timem, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Time Machine (Ace) (sp.ACE) (set 12)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, sp_tz, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone (Ace) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_tza, sp_tz, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone (Ace) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_tzb, sp_tz, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone (Ace) (sp.ACE) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_tzc, sp_tz, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone (Ace) (sp.ACE) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_tzd, sp_tz, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone (Ace) (sp.ACE) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_tze, sp_tz, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone (Ace) (sp.ACE) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_tzf, sp_tz, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone (Ace) (sp.ACE) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_tzg, sp_tz, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone (Ace) (sp.ACE) (set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_tzh, sp_tz, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone (Ace) (sp.ACE) (set 9)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_tzbwb, sp_tz, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace / Bwb", "Twilight Zone (Ace/Bwb) (sp.ACE)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, sp_tzfe, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_tzfea, sp_tzfe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_tzfeb, sp_tzfe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_tzfec, sp_tzfe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_tzfed, sp_tzfe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_tzfee, sp_tzfe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_tzfef, sp_tzfe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_tzfeg, sp_tzfe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_tzfeh, sp_tzfe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 9)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_tzfei, sp_tzfe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 10)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_tzfej, sp_tzfe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 11)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_tzfek, sp_tzfe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 12)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_tzfel, sp_tzfe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 13)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_tzfem, sp_tzfe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 14)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_tzfen, sp_tzfe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 15)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_tzfeo, sp_tzfe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 16)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_tzfep, sp_tzfe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 17)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_tzfeq, sp_tzfe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 18)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_tzfer, sp_tzfe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 19)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_tzfes, sp_tzfe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 20)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_tzfet, sp_tzfe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 21)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_tzfeu, sp_tzfe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 22)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, sp_beau, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Beau Peep (Ace) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_beaua, sp_beau, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Beau Peep (Ace) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_beaub, sp_beau, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Beau Peep (Ace) (sp.ACE) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_beauc, sp_beau, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Beau Peep (Ace) (sp.ACE) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_beaud, sp_beau, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Beau Peep (Ace) (sp.ACE) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_beaue, sp_beau, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Beau Peep (Ace) (sp.ACE) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_beauf, sp_beau, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Beau Peep (Ace) (sp.ACE) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_beaug, sp_beau, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Beau Peep (Ace) (sp.ACE) (set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_beauh, sp_beau, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Beau Peep (Ace) (sp.ACE) (set 9)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, sp_bigbd, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Big Break Deluxe Club (Ace) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_bigbda, sp_bigbd, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Big Break Deluxe Club (Ace) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, sp_brkbk, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Break The Bank (Ace) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_brkbka, sp_brkbk, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Break The Bank (Ace) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_brkbkb, sp_brkbk, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Break The Bank (Ace) (sp.ACE) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_brkbkc, sp_brkbk, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Break The Bank (Ace) (sp.ACE) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_brkbkd, sp_brkbk, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Break The Bank (Ace) (sp.ACE) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, sp_camel, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Camelot (Ace) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_camela, sp_camel, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Camelot (Ace) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_camelb, sp_camel, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Camelot (Ace) (sp.ACE) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_camelc, sp_camel, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Camelot (Ace) (sp.ACE) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_cameld, sp_camel, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Camelot (Ace) (sp.ACE) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_camele, sp_camel, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Camelot (Ace) (sp.ACE) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_camelf, sp_camel, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Camelot (Ace) (sp.ACE) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_camelg, sp_camel, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Camelot (Ace) (sp.ACE) (set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_camelh, sp_camel, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Camelot (Ace) (sp.ACE) (set 9)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_cameli, sp_camel, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Camelot (Ace) (sp.ACE) (set 10)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_camelj, sp_camel, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Camelot (Ace) (sp.ACE) (set 11)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_camelk, sp_camel, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Camelot (Ace) (sp.ACE) (set 12)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_camell, sp_camel, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Camelot (Ace) (sp.ACE) (set 13)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_camelm, sp_camel, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Camelot (Ace) (sp.ACE) (set 14)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_cameln, sp_camel, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Camelot (Ace) (sp.ACE) (set 15)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_camelo, sp_camel, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Camelot (Ace) (sp.ACE) (set 16)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, sp_clbna, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Club National (Ace) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_clbnaa, sp_clbna, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Club National (Ace) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, sp_coder, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Code Red (Ace) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_codera, sp_coder, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Code Red (Ace) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_coderb, sp_coder, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Code Red (Ace) (sp.ACE) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_coderc, sp_coder, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Code Red (Ace) (sp.ACE) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_coderd, sp_coder, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Code Red (Ace) (sp.ACE) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_codere, sp_coder, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Code Red (Ace) (sp.ACE) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_coderf, sp_coder, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Code Red (Ace) (sp.ACE) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_coderg, sp_coder, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Code Red (Ace) (sp.ACE) (set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, sp_criss, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Criss Cross Cash (Ace) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_crissa, sp_criss, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Criss Cross Cash (Ace) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_crissb, sp_criss, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Criss Cross Cash (Ace) (sp.ACE) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_crissc, sp_criss, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Criss Cross Cash (Ace) (sp.ACE) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_crissd, sp_criss, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Criss Cross Cash (Ace) (sp.ACE) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_crisse, sp_criss, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Criss Cross Cash (Ace) (sp.ACE) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_crissf, sp_criss, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Criss Cross Cash (Ace) (sp.ACE) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_crissg, sp_criss, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Criss Cross Cash (Ace) (sp.ACE) (set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, sp_daytr, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Daytripper (Ace) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_daytra, sp_daytr, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Daytripper (Ace) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_daytrb, sp_daytr, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Daytripper (Ace) (sp.ACE) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_daytrc, sp_daytr, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Daytripper (Ace) (sp.ACE) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, sp_donky, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Donkey Derby (Ace) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_donkya, sp_donky, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Donkey Derby (Ace) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_donkyb, sp_donky, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Donkey Derby (Ace) (sp.ACE) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_donkyc, sp_donky, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Donkey Derby (Ace) (sp.ACE) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_donkyd, sp_donky, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Donkey Derby (Ace) (sp.ACE) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_donkye, sp_donky, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Donkey Derby (Ace) (sp.ACE) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_donkyf, sp_donky, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Donkey Derby (Ace) (sp.ACE) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_donkyg, sp_donky, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Donkey Derby (Ace) (sp.ACE) (set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, sp_dyour, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Double Your Money (Ace) (sp.ACE)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, sp_festi, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Festival (Spanish) (Ace) (sp.ACE)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, sp_beau2, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Further Adventures Of Beau Peep (Ace) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_beau2a, sp_beau2, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Further Adventures Of Beau Peep (Ace) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_beau2b, sp_beau2, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Further Adventures Of Beau Peep (Ace) (sp.ACE) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_beau2c, sp_beau2, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Further Adventures Of Beau Peep (Ace) (sp.ACE) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_beau2d, sp_beau2, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Further Adventures Of Beau Peep (Ace) (sp.ACE) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_beau2e, sp_beau2, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Further Adventures Of Beau Peep (Ace) (sp.ACE) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_beau2f, sp_beau2, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Further Adventures Of Beau Peep (Ace) (sp.ACE) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, sp_ghost, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Ghost Trapper (Ace) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_ghosta, sp_ghost, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Ghost Trapper (Ace) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_ghostb, sp_ghost, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Ghost Trapper (Ace) (sp.ACE) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_ghostc, sp_ghost, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Ghost Trapper (Ace) (sp.ACE) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_ghostd, sp_ghost, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Ghost Trapper (Ace) (sp.ACE) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_ghoste, sp_ghost, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Ghost Trapper (Ace) (sp.ACE) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_ghostf, sp_ghost, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Ghost Trapper (Ace) (sp.ACE) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_ghostg, sp_ghost, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Ghost Trapper (Ace) (sp.ACE) (set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_ghosth, sp_ghost, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Ghost Trapper (Ace) (sp.ACE) (set 9)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_ghosti, sp_ghost, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Ghost Trapper (Ace) (sp.ACE) (set 10)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_ghostj, sp_ghost, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Ghost Trapper (Ace) (sp.ACE) (set 11)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_ghostk, sp_ghost, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Ghost Trapper (Ace) (sp.ACE) (set 12)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_ghostl, sp_ghost, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Ghost Trapper (Ace) (sp.ACE) (set 13)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_ghostm, sp_ghost, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Ghost Trapper (Ace) (sp.ACE) (set 14)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_ghostn, sp_ghost, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Ghost Trapper (Ace) (sp.ACE) (set 15)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_ghosto, sp_ghost, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Ghost Trapper (Ace) (sp.ACE) (set 16)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_ghostp, sp_ghost, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Ghost Trapper (Ace) (sp.ACE) (set 17)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_ghostq, sp_ghost, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Ghost Trapper (Ace) (sp.ACE) (set 18)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_ghostr, sp_ghost, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Ghost Trapper (Ace) (sp.ACE) (set 19)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_ghosts, sp_ghost, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Ghost Trapper (Ace) (sp.ACE) (set 20)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, sp_globe, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Globe Trotter (Ace) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_globea, sp_globe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Globe Trotter (Ace) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_globeb, sp_globe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Globe Trotter (Ace) (sp.ACE) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_globec, sp_globe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Globe Trotter (Ace) (sp.ACE) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_globed, sp_globe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Globe Trotter (Ace) (sp.ACE) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_globee, sp_globe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Globe Trotter (Ace) (sp.ACE) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_globef, sp_globe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Globe Trotter (Ace) (sp.ACE) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_globeg, sp_globe, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Globe Trotter (Ace) (sp.ACE) (set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, sp_gol, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Gol (Spanish) (Ace) (sp.ACE)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, sp_golda, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Arrow Club (Ace) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_goldaa, sp_golda, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Arrow Club (Ace) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // These contain lots of 'Golden Streak' strings, as well as 'Have you got the Golden Touch?' strings -GAME( 199?, sp_golds, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Streak (Ace) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_goldsa, sp_golds, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Streak (Ace) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_goldsb, sp_golds, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Streak (Ace) (sp.ACE) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_goldsc, sp_golds, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Streak (Ace) (sp.ACE) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_goldsd, sp_golds, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Streak (Ace) (sp.ACE) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_goldse, sp_golds, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Streak (Ace) (sp.ACE) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_goldsf, sp_golds, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Streak (Ace) (sp.ACE) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_goldsg, sp_golds, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Streak (Ace) (sp.ACE) (set 8)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_goldsh, sp_golds, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Streak (Ace) (sp.ACE) (set 9)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, sp_golds, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Streak (Ace) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_goldsa, sp_golds, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Streak (Ace) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_goldsb, sp_golds, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Streak (Ace) (sp.ACE) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_goldsc, sp_golds, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Streak (Ace) (sp.ACE) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_goldsd, sp_golds, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Streak (Ace) (sp.ACE) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_goldse, sp_golds, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Streak (Ace) (sp.ACE) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_goldsf, sp_golds, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Streak (Ace) (sp.ACE) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_goldsg, sp_golds, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Streak (Ace) (sp.ACE) (set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_goldsh, sp_golds, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Streak (Ace) (sp.ACE) (set 9)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // Very similar to above, but many of the 'Golden Streak' strings have been changed to Golden Touch, header still says Golden Streak tho -GAME( 199?, sp_goldt, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Streak (Golden Touch) (Ace) (sp.ACE)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, sp_here, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Here We Go (Ace) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_herea, sp_here, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Here We Go (Ace) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_hereb, sp_here, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Here We Go (Ace) (sp.ACE) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_herec, sp_here, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Here We Go (Ace) (sp.ACE) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_hered, sp_here, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Here We Go (Ace) (sp.ACE) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_heree, sp_here, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Here We Go (Ace) (sp.ACE) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_heref, sp_here, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Here We Go (Ace) (sp.ACE) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_hereg, sp_here, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Here We Go (Ace) (sp.ACE) (set 8)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, sp_holid, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Holiday Club (Ace) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_holida, sp_holid, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Holiday Club (Ace) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, sp_lotto, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Lotto (Spanish) (Ace) (sp.ACE)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, sp_magmo, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Magic Money (Ace) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_magmoa, sp_magmo, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Magic Money (Ace) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_magmob, sp_magmo, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Magic Money (Ace) (sp.ACE) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_magmoc, sp_magmo, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Magic Money (Ace) (sp.ACE) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_magmod, sp_magmo, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Magic Money (Ace) (sp.ACE) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, sp_megmo, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Mega Money (Ace) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_megmoa, sp_megmo, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Mega Money (Ace) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_megmob, sp_megmo, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Mega Money (Ace) (sp.ACE) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_megmoc, sp_megmo, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Mega Money (Ace) (sp.ACE) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_megmod, sp_megmo, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Mega Money (Ace) (sp.ACE) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_megmoe, sp_megmo, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Mega Money (Ace) (sp.ACE) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_megmof, sp_megmo, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Mega Money (Ace) (sp.ACE) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_megmog, sp_megmo, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Mega Money (Ace) (sp.ACE) (set 8)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, sp_monma, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Money Magic (Ace) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_monmaa, sp_monma, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Money Magic (Ace) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_monmab, sp_monma, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Money Magic (Ace) (sp.ACE) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_monmac, sp_monma, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Money Magic (Ace) (sp.ACE) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_monmad, sp_monma, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Money Magic (Ace) (sp.ACE) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, sp_monmo, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Money Mountain (Ace) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_monmoa, sp_monmo, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Money Mountain (Ace) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_monmob, sp_monmo, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Money Mountain (Ace) (sp.ACE) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_monmoc, sp_monmo, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Money Mountain (Ace) (sp.ACE) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_monmod, sp_monmo, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Money Mountain (Ace) (sp.ACE) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_monmoe, sp_monmo, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Money Mountain (Ace) (sp.ACE) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_monmof, sp_monmo, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Money Mountain (Ace) (sp.ACE) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_monmog, sp_monmo, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Money Mountain (Ace) (sp.ACE) (set 8)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, sp_nudex, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Nudge Explosion (Ace) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_nudexa, sp_nudex, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Nudge Explosion (Ace) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, sp_onbox, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Box (Ace) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_onboxa, sp_onbox, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Box (Ace) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_onboxb, sp_onbox, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Box (Ace) (sp.ACE) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_onboxc, sp_onbox, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Box (Ace) (sp.ACE) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_onboxd, sp_onbox, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Box (Ace) (sp.ACE) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_onboxe, sp_onbox, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Box (Ace) (sp.ACE) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_onboxf, sp_onbox, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Box (Ace) (sp.ACE) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_onboxg, sp_onbox, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Box (Ace) (sp.ACE) (set 8)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_onboxh, sp_onbox, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Box (Ace) (sp.ACE) (set 9)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_onboxi, sp_onbox, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Box (Ace) (sp.ACE) (set 10)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_onboxj, sp_onbox, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Box (Ace) (sp.ACE) (set 11)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_onboxk, sp_onbox, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Box (Ace) (sp.ACE) (set 12)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_onboxl, sp_onbox, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Box (Ace) (sp.ACE) (set 13)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_onboxm, sp_onbox, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Box (Ace) (sp.ACE) (set 14)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_onboxn, sp_onbox, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Box (Ace) (sp.ACE) (set 15)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, sp_piste, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Piste (Ace) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_pistea, sp_piste, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Piste (Ace) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_pisteb, sp_piste, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Piste (Ace) (sp.ACE) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_pistec, sp_piste, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Piste (Ace) (sp.ACE) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_pisted, sp_piste, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Piste (Ace) (sp.ACE) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_pistee, sp_piste, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Piste (Ace) (sp.ACE) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_pistef, sp_piste, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Piste (Ace) (sp.ACE) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_pisteg, sp_piste, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Piste (Ace) (sp.ACE) (set 8)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_pisteh, sp_piste, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Piste (Ace) (sp.ACE) (set 9)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_pistei, sp_piste, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Piste (Ace) (sp.ACE) (set 10)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_pistej, sp_piste, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Piste (Ace) (sp.ACE) (set 11)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_pistek, sp_piste, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Piste (Ace) (sp.ACE) (set 12)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_pistel, sp_piste, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Piste (Ace) (sp.ACE) (set 13)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_pistem, sp_piste, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Piste (Ace) (sp.ACE) (set 14)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_pisten, sp_piste, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Piste (Ace) (sp.ACE) (set 15)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_pisteo, sp_piste, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Piste (Ace) (sp.ACE) (set 16)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_pistep, sp_piste, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Piste (Ace) (sp.ACE) (set 17)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, sp_pound, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Pound For Pound (Ace) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_pounda, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Pound For Pound (Ace) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_poundb, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Pound For Pound (Ace) (sp.ACE) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_poundc, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Pound For Pound (Ace) (sp.ACE) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_poundd, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Pound For Pound (Ace) (sp.ACE) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_pounde, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Pound For Pound (Ace) (sp.ACE) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_poundf, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Pound For Pound (Ace) (sp.ACE) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_poundg, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Pound For Pound (Ace) (sp.ACE) (set 8)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_poundh, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Pound For Pound (Ace) (sp.ACE) (set 9)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_poundi, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Pound For Pound (Ace) (sp.ACE) (set 10)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_poundj, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Pound For Pound (Ace) (sp.ACE) (set 11)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_poundk, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Pound For Pound (Ace) (sp.ACE) (set 12)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_poundl, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Pound For Pound (Ace) (sp.ACE) (set 13)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_poundm, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Pound For Pound (Ace) (sp.ACE) (set 14)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_poundn, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Pound For Pound (Ace) (sp.ACE) (set 15)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_poundo, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Pound For Pound (Ace) (sp.ACE) (set 16)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_poundp, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Pound For Pound (Ace) (sp.ACE) (set 17)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_poundbwb, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace / Bwb", "Pound For Pound (Ace/Bwb) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_poundbwba, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace / Bwb", "Pound For Pound (Ace/Bwb) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_poundbwbb, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace / Bwb", "Pound For Pound (Ace/Bwb) (sp.ACE) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_poundbwbc, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace / Bwb", "Pound For Pound (Ace/Bwb) (sp.ACE) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_poundbwbd, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace / Bwb", "Pound For Pound (Ace/Bwb) (sp.ACE) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_poundbwbe, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace / Bwb", "Pound For Pound (Ace/Bwb) (sp.ACE) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_poundbwbf, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace / Bwb", "Pound For Pound (Ace/Bwb) (sp.ACE) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_poundbwbg, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace / Bwb", "Pound For Pound (Ace/Bwb) (sp.ACE) (set 8)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, sp_road, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Road To Hell (Ace) (sp.ACE)",MACHINE_IS_SKELETON_MECHANICAL ) // incomplete program - -GAME( 199?, sp_skylm, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "The Sky's The Limit Club (Ace) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_skylma, sp_skylm, ace_sp ,ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "The Sky's The Limit Club (Ace) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, sp_tkpik, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Take Your Pick (Ace) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_tkpika, sp_tkpik, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Take Your Pick (Ace) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_tkpikb, sp_tkpik, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Take Your Pick (Ace) (sp.ACE) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_tkpikc, sp_tkpik, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Take Your Pick (Ace) (sp.ACE) (set 4)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_tkpikd, sp_tkpik, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Take Your Pick (Ace) (sp.ACE) (set 5)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_tkpike, sp_tkpik, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Take Your Pick (Ace) (sp.ACE) (set 6)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_tkpikf, sp_tkpik, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Take Your Pick (Ace) (sp.ACE) (set 7)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, sp_goldt, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Golden Streak (Golden Touch) (Ace) (sp.ACE)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, sp_here, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Here We Go (Ace) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_herea, sp_here, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Here We Go (Ace) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_hereb, sp_here, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Here We Go (Ace) (sp.ACE) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_herec, sp_here, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Here We Go (Ace) (sp.ACE) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_hered, sp_here, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Here We Go (Ace) (sp.ACE) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_heree, sp_here, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Here We Go (Ace) (sp.ACE) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_heref, sp_here, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Here We Go (Ace) (sp.ACE) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_hereg, sp_here, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Here We Go (Ace) (sp.ACE) (set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, sp_holid, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Holiday Club (Ace) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_holida, sp_holid, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Holiday Club (Ace) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, sp_lotto, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Lotto (Spanish) (Ace) (sp.ACE)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, sp_magmo, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Magic Money (Ace) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_magmoa, sp_magmo, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Magic Money (Ace) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_magmob, sp_magmo, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Magic Money (Ace) (sp.ACE) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_magmoc, sp_magmo, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Magic Money (Ace) (sp.ACE) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_magmod, sp_magmo, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Magic Money (Ace) (sp.ACE) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, sp_megmo, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Mega Money (Ace) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_megmoa, sp_megmo, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Mega Money (Ace) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_megmob, sp_megmo, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Mega Money (Ace) (sp.ACE) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_megmoc, sp_megmo, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Mega Money (Ace) (sp.ACE) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_megmod, sp_megmo, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Mega Money (Ace) (sp.ACE) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_megmoe, sp_megmo, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Mega Money (Ace) (sp.ACE) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_megmof, sp_megmo, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Mega Money (Ace) (sp.ACE) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_megmog, sp_megmo, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Mega Money (Ace) (sp.ACE) (set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, sp_monma, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Money Magic (Ace) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_monmaa, sp_monma, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Money Magic (Ace) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_monmab, sp_monma, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Money Magic (Ace) (sp.ACE) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_monmac, sp_monma, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Money Magic (Ace) (sp.ACE) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_monmad, sp_monma, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Money Magic (Ace) (sp.ACE) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, sp_monmo, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Money Mountain (Ace) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_monmoa, sp_monmo, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Money Mountain (Ace) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_monmob, sp_monmo, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Money Mountain (Ace) (sp.ACE) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_monmoc, sp_monmo, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Money Mountain (Ace) (sp.ACE) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_monmod, sp_monmo, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Money Mountain (Ace) (sp.ACE) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_monmoe, sp_monmo, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Money Mountain (Ace) (sp.ACE) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_monmof, sp_monmo, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Money Mountain (Ace) (sp.ACE) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_monmog, sp_monmo, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Money Mountain (Ace) (sp.ACE) (set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, sp_nudex, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Nudge Explosion (Ace) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_nudexa, sp_nudex, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Nudge Explosion (Ace) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, sp_onbox, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Box (Ace) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_onboxa, sp_onbox, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Box (Ace) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_onboxb, sp_onbox, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Box (Ace) (sp.ACE) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_onboxc, sp_onbox, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Box (Ace) (sp.ACE) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_onboxd, sp_onbox, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Box (Ace) (sp.ACE) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_onboxe, sp_onbox, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Box (Ace) (sp.ACE) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_onboxf, sp_onbox, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Box (Ace) (sp.ACE) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_onboxg, sp_onbox, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Box (Ace) (sp.ACE) (set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_onboxh, sp_onbox, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Box (Ace) (sp.ACE) (set 9)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_onboxi, sp_onbox, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Box (Ace) (sp.ACE) (set 10)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_onboxj, sp_onbox, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Box (Ace) (sp.ACE) (set 11)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_onboxk, sp_onbox, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Box (Ace) (sp.ACE) (set 12)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_onboxl, sp_onbox, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Box (Ace) (sp.ACE) (set 13)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_onboxm, sp_onbox, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Box (Ace) (sp.ACE) (set 14)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_onboxn, sp_onbox, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Box (Ace) (sp.ACE) (set 15)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, sp_piste, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Piste (Ace) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_pistea, sp_piste, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Piste (Ace) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_pisteb, sp_piste, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Piste (Ace) (sp.ACE) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_pistec, sp_piste, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Piste (Ace) (sp.ACE) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_pisted, sp_piste, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Piste (Ace) (sp.ACE) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_pistee, sp_piste, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Piste (Ace) (sp.ACE) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_pistef, sp_piste, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Piste (Ace) (sp.ACE) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_pisteg, sp_piste, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Piste (Ace) (sp.ACE) (set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_pisteh, sp_piste, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Piste (Ace) (sp.ACE) (set 9)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_pistei, sp_piste, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Piste (Ace) (sp.ACE) (set 10)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_pistej, sp_piste, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Piste (Ace) (sp.ACE) (set 11)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_pistek, sp_piste, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Piste (Ace) (sp.ACE) (set 12)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_pistel, sp_piste, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Piste (Ace) (sp.ACE) (set 13)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_pistem, sp_piste, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Piste (Ace) (sp.ACE) (set 14)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_pisten, sp_piste, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Piste (Ace) (sp.ACE) (set 15)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_pisteo, sp_piste, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Piste (Ace) (sp.ACE) (set 16)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_pistep, sp_piste, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "On The Piste (Ace) (sp.ACE) (set 17)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, sp_pound, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Pound For Pound (Ace) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_pounda, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Pound For Pound (Ace) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_poundb, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Pound For Pound (Ace) (sp.ACE) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_poundc, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Pound For Pound (Ace) (sp.ACE) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_poundd, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Pound For Pound (Ace) (sp.ACE) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_pounde, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Pound For Pound (Ace) (sp.ACE) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_poundf, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Pound For Pound (Ace) (sp.ACE) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_poundg, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Pound For Pound (Ace) (sp.ACE) (set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_poundh, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Pound For Pound (Ace) (sp.ACE) (set 9)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_poundi, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Pound For Pound (Ace) (sp.ACE) (set 10)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_poundj, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Pound For Pound (Ace) (sp.ACE) (set 11)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_poundk, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Pound For Pound (Ace) (sp.ACE) (set 12)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_poundl, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Pound For Pound (Ace) (sp.ACE) (set 13)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_poundm, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Pound For Pound (Ace) (sp.ACE) (set 14)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_poundn, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Pound For Pound (Ace) (sp.ACE) (set 15)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_poundo, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Pound For Pound (Ace) (sp.ACE) (set 16)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_poundp, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Pound For Pound (Ace) (sp.ACE) (set 17)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_poundbwb, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace / Bwb", "Pound For Pound (Ace/Bwb) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_poundbwba, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace / Bwb", "Pound For Pound (Ace/Bwb) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_poundbwbb, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace / Bwb", "Pound For Pound (Ace/Bwb) (sp.ACE) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_poundbwbc, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace / Bwb", "Pound For Pound (Ace/Bwb) (sp.ACE) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_poundbwbd, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace / Bwb", "Pound For Pound (Ace/Bwb) (sp.ACE) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_poundbwbe, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace / Bwb", "Pound For Pound (Ace/Bwb) (sp.ACE) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_poundbwbf, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace / Bwb", "Pound For Pound (Ace/Bwb) (sp.ACE) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_poundbwbg, sp_pound, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace / Bwb", "Pound For Pound (Ace/Bwb) (sp.ACE) (set 8)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, sp_road, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Road To Hell (Ace) (sp.ACE)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // incomplete program + +GAME( 199?, sp_skylm, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "The Sky's The Limit Club (Ace) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_skylma, sp_skylm, ace_sp ,ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "The Sky's The Limit Club (Ace) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, sp_tkpik, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Take Your Pick (Ace) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_tkpika, sp_tkpik, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Take Your Pick (Ace) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_tkpikb, sp_tkpik, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Take Your Pick (Ace) (sp.ACE) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_tkpikc, sp_tkpik, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Take Your Pick (Ace) (sp.ACE) (set 4)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_tkpikd, sp_tkpik, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Take Your Pick (Ace) (sp.ACE) (set 5)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_tkpike, sp_tkpik, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Take Your Pick (Ace) (sp.ACE) (set 6)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_tkpikf, sp_tkpik, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Take Your Pick (Ace) (sp.ACE) (set 7)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // not sure.. looks like 6303 code to me -GAME( 199?, sp_atw, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Crystal","Around The World In Eighty Days (Crystal) (sp.ACE?)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, sp_atw, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Crystal","Around The World In Eighty Days (Crystal) (sp.ACE?)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // not sure.. looks like 6303 code to me -GAME( 199?, sp_five, 0, ace_sp, ace_sp, ace_sp_state, init_ace_cr, ROT0, "Crystal","Fiver Fever (Crystal) (sp.ACE?) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_fivea, sp_five, ace_sp, ace_sp, ace_sp_state, init_ace_cr, ROT0, "Crystal","Fiver Fever (Crystal) (sp.ACE?) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, sp_five, 0, ace_sp, ace_sp, ace_sp_state, init_ace_cr, ROT0, "Crystal","Fiver Fever (Crystal) (sp.ACE?) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_fivea, sp_five, ace_sp, ace_sp, ace_sp_state, init_ace_cr, ROT0, "Crystal","Fiver Fever (Crystal) (sp.ACE?) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // not sure.. looks like 6303 code to me -GAME( 199?, sp_crun, 0, ace_sp, ace_sp, ace_sp_state, init_ace_cr, ROT0, "Crystal","Cash Run (Crystal) (sp.ACE?) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_cruna, sp_crun, ace_sp, ace_sp, ace_sp_state, init_ace_cr, ROT0, "Crystal","Cash Run (Crystal) (sp.ACE?) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_crunb, sp_crun, ace_sp, ace_sp, ace_sp_state, init_ace_cr, ROT0, "Crystal","Cash Run (Crystal) (sp.ACE?) (set 3)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, sp_crun, 0, ace_sp, ace_sp, ace_sp_state, init_ace_cr, ROT0, "Crystal","Cash Run (Crystal) (sp.ACE?) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_cruna, sp_crun, ace_sp, ace_sp, ace_sp_state, init_ace_cr, ROT0, "Crystal","Cash Run (Crystal) (sp.ACE?) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_crunb, sp_crun, ace_sp, ace_sp, ace_sp_state, init_ace_cr, ROT0, "Crystal","Cash Run (Crystal) (sp.ACE?) (set 3)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // incomplete dump (was mixed with the IMPACT rebuild) -GAME( 199?, sp_roof, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Thru' The Roof (Ace) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_roofa, sp_roof, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Thru' The Roof (Ace) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, sp_roof, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Thru' The Roof (Ace) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_roofa, sp_roof, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Thru' The Roof (Ace) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, sp_cpal, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Caesars Palace (Ace) (sp.ACE?)",MACHINE_IS_SKELETON_MECHANICAL ) // was in an IMPACT set, might be a different game but CPU seems correct for here +GAME( 199?, sp_cpal, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Ace", "Caesars Palace (Ace) (sp.ACE?)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // was in an IMPACT set, might be a different game but CPU seems correct for here // these show something -GAME( 199?, sp_carry, 0, ace_sp_pcp, ace_sp, ace_sp_state, init_ace_sp, ROT0,"Pcp", "Carry On (Pcp) (sp.ACE) (set 1)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, sp_carrya, sp_carry, ace_sp_pcp, ace_sp, ace_sp_state, init_ace_sp, ROT0,"Pcp", "Carry On (Pcp) (sp.ACE) (set 2)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, sp_carry, 0, ace_sp_pcp, ace_sp, ace_sp_state, init_ace_sp, ROT0,"Pcp", "Carry On (Pcp) (sp.ACE) (set 1)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, sp_carrya, sp_carry, ace_sp_pcp, ace_sp, ace_sp_state, init_ace_sp, ROT0,"Pcp", "Carry On (Pcp) (sp.ACE) (set 2)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // boots to 'Fire Crak V1' (maybe DMD wasn't visible on this machine or this is mislabaled?) -GAME( 199?, sp_front, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Bwb", "Final Frontier (Bwb) (sp.ACE)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, sp_front, 0, ace_sp, ace_sp, ace_sp_state, init_ace_sp, ROT0, "Bwb", "Final Frontier (Bwb) (sp.ACE)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/misc/age_candy.cpp b/src/mame/misc/age_candy.cpp index 12160df43a0d1..b3149027b2934 100644 --- a/src/mame/misc/age_candy.cpp +++ b/src/mame/misc/age_candy.cpp @@ -74,4 +74,4 @@ ROM_END } // anonymous namespace -GAME( 19??, age_cand, 0, age_candy, age_candy, age_candy_state, empty_init, ROT0, "Advanced Games & Engineering", "Candy Crane (AGE)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 19??, age_cand, 0, age_candy, age_candy, age_candy_state, empty_init, ROT0, "Advanced Games & Engineering", "Candy Crane (AGE)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/misc/ampoker2.cpp b/src/mame/misc/ampoker2.cpp index a73bb8ff8b741..484a136d146fc 100644 --- a/src/mame/misc/ampoker2.cpp +++ b/src/mame/misc/ampoker2.cpp @@ -653,7 +653,7 @@ void ampoker2_state::io_map(address_map &map) map(0x36, 0x36).w(FUNC(ampoker2_state::port36_w)); /* see write handlers */ map(0x37, 0x37).w(FUNC(ampoker2_state::watchdog_reset_w)); map(0x38, 0x39).w("aysnd", FUNC(ay8910_device::address_data_w)); - map(0x3A, 0x3A).r("aysnd", FUNC(ay8910_device::data_r)); + map(0x3a, 0x3a).r("aysnd", FUNC(ay8910_device::data_r)); } /* @@ -765,7 +765,7 @@ static INPUT_PORTS_START( ampoker2 ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) PORT_START("IN7") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_VBLANK("screen") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Remote Credit") PORT_IMPULSE(12) PORT_CODE(KEYCODE_3) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN4 ) PORT_IMPULSE(2) PORT_DIPNAME( 0x08, 0x08, "Jackpot" ) PORT_DIPLOCATION("SW1:8") /* DSW8 */ diff --git a/src/mame/misc/amstarz80.cpp b/src/mame/misc/amstarz80.cpp index 9778bfbd74f61..5284cd8bf78c5 100644 --- a/src/mame/misc/amstarz80.cpp +++ b/src/mame/misc/amstarz80.cpp @@ -178,4 +178,4 @@ ROM_END } // anonymous namespace -GAME( 1981, holddraw, 0, amstarz80, holddraw, amstarz80_state, empty_init, ROT0, "Amstar", "Hold & Draw", MACHINE_IS_SKELETON ) // supposedly, but might actually be another similar game +GAME( 1981, holddraw, 0, amstarz80, holddraw, amstarz80_state, empty_init, ROT0, "Amstar", "Hold & Draw", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // supposedly, but might actually be another similar game diff --git a/src/mame/misc/amuzy.cpp b/src/mame/misc/amuzy.cpp index 5a9455a93120c..014f09c4b07e1 100644 --- a/src/mame/misc/amuzy.cpp +++ b/src/mame/misc/amuzy.cpp @@ -18,7 +18,7 @@ "for girls series" GA4004-0 - Wan Wan Dash - ワンワンダッシュ GB4004-0 - Docchi Fighter - ドッチファイター -*** GC4004-0 - Kingyo Carnival - きんぎょかーにばる +*** GC4004-0 - Kingyo Carnival - 金魚カーニバル GD4004-0 - Mogu Mogu Hammer - モグモグハンマー *** GE4004-0 - Ninniki Ninja Battle - ニンニキ忍者バトル *** GF4004-0 - Waku Waku Diving - わくわくダイビング @@ -31,20 +31,20 @@ KB4004-0 - Boo Boo Donpatchi - ブーブードンパッチ KC4004-0 - Fisherman Battle - フィッシャーマンバトル KD4004-0 - Haunted Hunter - ホーンテッドハンター - KE4004-0 - Zenigata Ponta - 銭型ポン太 + KE4004-0 - Zenigata Ponta - 銭形ポン太 KF4004-0 - Rodeo King - ロデオキング - KG4004-0 - Dojokko Tsukami - どじょっこつかみ + KG4004-0 - Dojokko Tsukami - どじょっ子つかみ *** KH4004-0 - Katori Attack - 蚊とりアタック -*** KI4004-0 - ??? - ??? +*** KI4004-0 - ??? (maybe unreleased) - ??? KJ4004-0 - Shippe Champion - しっぺチャンピオン -*** KK4004-0 - ??? - ??? +*** KK4004-0 - ??? (maybe unreleased) - ??? KL4004-0 - Wanpaku Pirates - わんぱくパイレーツ KM4004-0 - Itazura Cockroach - いたずらコックローチ more? "kids and kiddy series" - YA4004-0 - Acchi Muite Hoi Battle - あっちむいてほいバトル -*** YB4004-0 - ??? - ??? + YA4004-0 - Acchi Muite Hoi Battle - あっちむいてホイバトル +*** YB4004-0 - Yubi Zumou Senshuken - 指ずもう選手権 *** YC4004-0 - Dekopin Janken - デコピンじゃんけん *** YD4004-0 - Tsuna Hiki Champ - つなひきチャンプ *** YE4004-0 - Chanbara Kids - チャンバラキッズ diff --git a/src/mame/misc/astrafr.cpp b/src/mame/misc/astrafr.cpp index b560a07800ab4..9004e69ea2162 100644 --- a/src/mame/misc/astrafr.cpp +++ b/src/mame/misc/astrafr.cpp @@ -2169,202 +2169,202 @@ void astrafr_state::init_astradec_sml_dual() // Single games? -GAME( 200?, as_srb, 0, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Super Ring a Bell (Astra, V004)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_srba, as_srb, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Super Ring a Bell (Astra, V100)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_srbb, as_srb, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Super Ring a Bell (Astra, V101)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_srbc, as_srb, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Super Ring a Bell (Astra, V201)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_srbd, as_srb, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Super Ring a Bell (Astra, V202)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_srbe, as_srb, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Super Ring a Bell (Astra, V203)" , MACHINE_IS_SKELETON_MECHANICAL) +GAME( 200?, as_srb, 0, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Super Ring a Bell (Astra, V004)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_srba, as_srb, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Super Ring a Bell (Astra, V100)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_srbb, as_srb, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Super Ring a Bell (Astra, V101)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_srbc, as_srb, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Super Ring a Bell (Astra, V201)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_srbd, as_srb, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Super Ring a Bell (Astra, V202)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_srbe, as_srb, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Super Ring a Bell (Astra, V203)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // Linked games (single rom per CPU with master/slave?) -GAME( 200?, as_party, 0, astrafr_dual_2e, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Party Time (Astra, V105)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_partya, as_party, astrafr_dual_2e, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Party Time (Astra, V110)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_partyb, as_party, astrafr_dual_2e, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Party Time (Astra, V112)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_partyc, as_party, astrafr_dual_2e, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Party Time (Astra, V206)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_partyd, as_party, astrafr_dual_37, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Party Time (Astra, V401)" , MACHINE_IS_SKELETON_MECHANICAL) // significantly different set -GAME( 200?, as_partye, as_party, astrafr_dual_2e, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Party Time (Astra, V907)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_partyf, as_party, astrafr_dual_2e, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Party Time (Astra, V906)" , MACHINE_IS_SKELETON_MECHANICAL) +GAME( 200?, as_party, 0, astrafr_dual_2e, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Party Time (Astra, V105)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_partya, as_party, astrafr_dual_2e, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Party Time (Astra, V110)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_partyb, as_party, astrafr_dual_2e, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Party Time (Astra, V112)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_partyc, as_party, astrafr_dual_2e, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Party Time (Astra, V206)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_partyd, as_party, astrafr_dual_37, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Party Time (Astra, V401)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // significantly different set +GAME( 200?, as_partye, as_party, astrafr_dual_2e, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Party Time (Astra, V907)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_partyf, as_party, astrafr_dual_2e, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Party Time (Astra, V906)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) -GAME( 200?, as_letsp, 0, astrafr_dual_2e, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Let's Party (Astra, V904)" , MACHINE_IS_SKELETON_MECHANICAL) +GAME( 200?, as_letsp, 0, astrafr_dual_2e, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Let's Party (Astra, V904)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) -GAME( 200?, as_topsl, 0, astrafr_dual_2e, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Top Slot (Astra, V103)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_topsla, as_topsl, astrafr_dual_2e, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Top Slot (Astra, V104)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_topslb, as_topsl, astrafr_dual_2e, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Top Slot (Astra, V201)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_topslc, as_topsl, astrafr_dual_2e, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Top Slot (Astra, V203)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_topsld, as_topsl, astrafr_dual_2e, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Top Slot (Astra, V205)" , MACHINE_IS_SKELETON_MECHANICAL) +GAME( 200?, as_topsl, 0, astrafr_dual_2e, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Top Slot (Astra, V103)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_topsla, as_topsl, astrafr_dual_2e, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Top Slot (Astra, V104)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_topslb, as_topsl, astrafr_dual_2e, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Top Slot (Astra, V201)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_topslc, as_topsl, astrafr_dual_2e, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Top Slot (Astra, V203)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_topsld, as_topsl, astrafr_dual_2e, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Top Slot (Astra, V205)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // Other HW? (has u1/u2 pairing) -GAME( 200?, as_bigtm, 0, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Big Time (Astra, V003)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_acp, 0, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "unknown Astra 'ACP' (Astra, V403)" , MACHINE_IS_SKELETON_MECHANICAL) // no sound data in here? -GAME( 200?, as_celeb, 0, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Celebration (Astra, V100)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_celeba, as_celeb, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Celebration (Astra, V101)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_celebb, as_celeb, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Celebration (Astra, V201)" , MACHINE_IS_SKELETON_MECHANICAL) +GAME( 200?, as_bigtm, 0, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Big Time (Astra, V003)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_acp, 0, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "unknown Astra 'ACP' (Astra, V403)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // no sound data in here? +GAME( 200?, as_celeb, 0, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Celebration (Astra, V100)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_celeba, as_celeb, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Celebration (Astra, V101)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_celebb, as_celeb, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Celebration (Astra, V201)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // u1/u2 pairing and Linked? -GAME( 200?, as_hc, 0, astrafr_dual_37, astrafr, astrafr_state, init_astradec_dual, ROT0, "Astra", "Hokey Cokey (Astra, V107)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_hca, as_hc, astrafr_dual_37, astrafr, astrafr_state, init_astradec_dual, ROT0, "Astra", "Hokey Cokey (Astra, V109)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_hcb, as_hc, astrafr_dual_37, astrafr, astrafr_state, init_astradec_dual, ROT0, "Astra", "Hokey Cokey (Astra, V110)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_hcc, as_hc, astrafr_dual_37, astrafr, astrafr_state, init_astradec_dual, ROT0, "Astra", "Hokey Cokey (Astra, V111)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_hcd, as_hc, astrafr_dual_37, astrafr, astrafr_state, init_astradec_dual, ROT0, "Astra", "Hokey Cokey (Astra, V909)" , MACHINE_IS_SKELETON_MECHANICAL) +GAME( 200?, as_hc, 0, astrafr_dual_37, astrafr, astrafr_state, init_astradec_dual, ROT0, "Astra", "Hokey Cokey (Astra, V107)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_hca, as_hc, astrafr_dual_37, astrafr, astrafr_state, init_astradec_dual, ROT0, "Astra", "Hokey Cokey (Astra, V109)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_hcb, as_hc, astrafr_dual_37, astrafr, astrafr_state, init_astradec_dual, ROT0, "Astra", "Hokey Cokey (Astra, V110)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_hcc, as_hc, astrafr_dual_37, astrafr, astrafr_state, init_astradec_dual, ROT0, "Astra", "Hokey Cokey (Astra, V111)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_hcd, as_hc, astrafr_dual_37, astrafr, astrafr_state, init_astradec_dual, ROT0, "Astra", "Hokey Cokey (Astra, V909)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // Non-Astra, same hw? -GAME( 200?, as_cshah, 0, astra_single_alt_57, astrafr, astrafr_state, init_astradec, ROT0, "Lowen", "Cash Ahoi (Lowen, V105)" , MACHINE_IS_SKELETON_MECHANICAL) - - -GAME( 200?, as_big10, 0, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Big 10 (Astra, V500)" , MACHINE_IS_SKELETON_MECHANICAL) // BB96 -GAME( 200?, as_big10a, as_big10, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Big 10 (Astra, V503)" , MACHINE_IS_SKELETON_MECHANICAL) // BB96 -GAME( 200?, as_big10b, as_big10, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Big 10 (Astra, V507)" , MACHINE_IS_SKELETON_MECHANICAL) // BB96 -GAME( 200?, as_big10c, as_big10, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Big 10 (Astra, V601)" , MACHINE_IS_SKELETON_MECHANICAL) // BB96 -GAME( 200?, as_big10d, as_big10, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Big 10 (Astra, V605)" , MACHINE_IS_SKELETON_MECHANICAL) // BB96 -GAME( 200?, as_big15, 0, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Big 15 (Astra, V101)" , MACHINE_IS_SKELETON_MECHANICAL) // DL98 -GAME( 200?, as_bigcs, 0, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Big Cash (Astra, V101)" , MACHINE_IS_SKELETON_MECHANICAL) // CF97/CF98 -GAME( 200?, as_bigcsa, as_bigcs, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Big Cash (Astra, V103)" , MACHINE_IS_SKELETON_MECHANICAL) // CF97/CF98 - -GAME( 200?, as_bbr, 0, astra_single_2e, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Bullion Bars (Astra, V101)" , MACHINE_IS_SKELETON_MECHANICAL) // FA00/CU98 -GAME( 200?, as_bbra, as_bbr, astra_single_2e, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Bullion Bars (Astra, V102,alt)" , MACHINE_IS_SKELETON_MECHANICAL) // FA00/CU98 -GAME( 200?, as_bbrb, as_bbr, astra_single_2e, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Bullion Bars (Astra, V201)" , MACHINE_IS_SKELETON_MECHANICAL) // FA00/CU98 -GAME( 200?, as_bbrc, as_bbr, astra_single_2e, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Bullion Bars (Astra, V003)" , MACHINE_IS_SKELETON_MECHANICAL) // CU98 -GAME( 200?, as_bbrd, as_bbr, astra_single_2e, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Bullion Bars (Astra, V102)" , MACHINE_IS_SKELETON_MECHANICAL) // CU98 -GAME( 200?, as_bbre, as_bbr, astra_single_37, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Bullion Bars (Astra, V105)" , MACHINE_IS_SKELETON_MECHANICAL) // FG01 -GAME( 200?, as_bbrf, as_bbr, astra_single_37, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Bullion Bars (Astra, V004)" , MACHINE_IS_SKELETON_MECHANICAL) // FN01 - -GAME( 200?, as_dblcs, 0, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Double Cash (Astra, V110)" , MACHINE_IS_SKELETON_MECHANICAL) // BR97 -GAME( 200?, as_dblcsa, as_dblcs, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Double Cash (Astra, V112)" , MACHINE_IS_SKELETON_MECHANICAL) // BR97 -GAME( 200?, as_dblcsb, as_dblcs, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Double Cash (Astra, V108)" , MACHINE_IS_SKELETON_MECHANICAL) // BR97 -GAME( 200?, as_dblcsc, as_dblcs, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Double Cash (Astra, V109)" , MACHINE_IS_SKELETON_MECHANICAL) // CN97 -GAME( 200?, as_dblcsd, as_dblcs, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Double Cash (Astra, V106)" , MACHINE_IS_SKELETON_MECHANICAL) // CN97 -GAME( 200?, as_dblcse, as_dblcs, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Double Cash (Astra, V102)" , MACHINE_IS_SKELETON_MECHANICAL) // FB00 -GAME( 200?, as_dblcsf, as_dblcs, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Double Cash (Astra, V100)" , MACHINE_IS_SKELETON_MECHANICAL) // FB00 -GAME( 200?, as_dblcsg, as_dblcs, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Double Cash (Astra, V100, alt)" , MACHINE_IS_SKELETON_MECHANICAL) // DN98 -GAME( 200?, as_dblcsh, as_dblcs, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Double Cash (Astra, V004)" , MACHINE_IS_SKELETON_MECHANICAL) // FO01 - -GAME( 200?, as_fortn, 0, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Fortune Teller (Astra, V009)" , MACHINE_IS_SKELETON_MECHANICAL) - -GAME( 200?, as_gof, 0, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Lowen", "Game Of Fortune (Lowen, V208)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_hog, 0, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Hearts Of Gold (Astra, V002)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_hxr, 0, astra_single, astrafr, astrafr_state, init_astradec_sml, ROT0, "Astra", "Hot Cross Run (Astra, V108)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_hr, 0, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Hot Reel (Astra, V004)" , MACHINE_IS_SKELETON_MECHANICAL) - -GAME( 200?, as_djp, 0, astra_single, astrafr, astrafr_state, init_astradec, ROT0,"Astra", "Double Jackpot (Astra, V107)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_djpa, 0, astra_single, astrafr, astrafr_state, init_astradec_sml, ROT0,"Astra", "Double Jackpot (Astra, V004)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_djpb, 0, astra_single, astrafr, astrafr_state, init_astradec, ROT0,"Astra", "Double Jackpot (Astra, V109)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_cshcs, 0, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Lowen", "Cash Castle (Lowen, V006)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_colmn, 0, astra_single, astrafr, astrafr_state, init_astradec_sml, ROT0, "Astra", "Colour Of Money (Astra, V200)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_colmna, as_colmn, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Colour Of Money (Astra, V107)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_colmnb, as_colmn, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Colour Of Money (Astra, V108)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_colmnc, as_colmn, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Colour Of Money (Astra, V109)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_colmnd, as_colmn, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Colour Of Money (Astra, V908)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_jackb, 0, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Jackpot Bell (Astra, V104)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_jpx, 0, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Jackpot X (Astra, V100)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_jpxa, as_jpx, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Jackpot X (Astra, V101)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_jpxb, as_jpx, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Jackpot X (Astra, V002)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_jolly, 0, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Jolly Roger (Astra, V103)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_jmpj, 0, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Jumping Jackpots (Astra, V100)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_jmpja, as_jmpj, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Jumping Jackpots (Astra, V102)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_jjive, 0, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Jungle Jive (Astra, V107)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_jjivea, as_jjive, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Jungle Jive (Astra, V106)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_jjiveb, as_jjive, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Jungle Jive (Astra, V104)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_jjivec, as_jjive, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Jungle Jive (Astra, V102)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_jjived, as_jjive, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Jungle Jive (Astra, V101)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_jjivee, as_jjive, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Jungle Jive (Astra, V101, alt)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_jjivef, as_jjive, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Jungle Jive (Astra, V004)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_jjiveg, as_jjive, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Jungle Jive (Astra, V005)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_kingc, 0, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "King Cash (Astra, V106)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_kingca, as_kingc, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "King Cash (Astra, V103)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_koc, 0, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "King Of Clubs (Astra, V200)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_koca, as_koc, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "King Of Clubs (Astra, V101)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_lbt, 0, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Little Big 10 (Astra, V103)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_lbta, as_lbt, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Little Big 10 (Astra, V102)" , MACHINE_IS_SKELETON_MECHANICAL) - -GAME( 200?, as_ldl, 0, astra_single_2e, astrafr, astrafr_state, init_astradec_sml, ROT0, "Astra", "Little Devils (Astra, V700)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_ldla, as_ldl, astra_single, astrafr, astrafr_state, init_astradec_sml, ROT0, "Astra", "Little Devils (Astra, V600)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_ldlb, as_ldl, astra_single, astrafr, astrafr_state, init_astradec_sml, ROT0, "Astra", "Little Devils (Astra, V312)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_ldlc, as_ldl, astra_single, astrafr, astrafr_state, init_astradec_sml, ROT0, "Astra", "Little Devils (Astra, V003)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_ldld, as_ldl, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Little Devils (Astra, V102)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_ldle, as_ldl, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Little Devils (Astra, V103)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_mp, 0, astra_single_2e, astrafr, astrafr_state, init_astradec, ROT0, "Lowen", "Mission Possible (Lowen, V118)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_mp2, 0, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Lowen", "Mission Possible 2 (Lowen, V114)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_otr, 0, astra_single_2e, astrafr, astrafr_state, init_astradec_sml, ROT0, "Astra", "Over The Rainbow (Astra, V104)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_otra, as_otr, astra_single, astrafr, astrafr_state, init_astradec_sml, ROT0, "Astra", "Over The Rainbow (Astra, V102)" , MACHINE_IS_SKELETON_MECHANICAL) // incomplete set -GAME( 200?, as_ptf, 0, astrafr_dual_37, astrafr, astrafr_state, init_astradec_sml_dual, ROT0,"Astra", "Party Fruits (Astra, V102)" , MACHINE_IS_SKELETON_MECHANICAL) // strange extra sound(?) roms in here -GAME( 200?, as_ptfa, as_ptf, astrafr_dual_37, astrafr, astrafr_state, init_astradec_sml_dual, ROT0,"Astra", "Party Fruits (Astra, V803)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_ptfb, as_ptf, astrafr_dual_37, astrafr, astrafr_state, init_astradec_sml_dual, ROT0,"Astra", "Party Fruits (Astra, V905)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_ptfc, as_ptf, astrafr_dual_37, astrafr, astrafr_state, init_astradec_sml_dual, ROT0,"Astra", "Party Fruits (Astra)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_pia, 0, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Pay It Again (Astra, V202)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_piaa, as_pia, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Pay It Again (Astra, V206)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_piab, as_pia, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Pay It Again (Astra, V904)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_pharg, 0, astra_single_37, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Pharaoh's Gold (Astra, V005)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_pharga, as_pharg, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Pharaoh's Gold (Astra, V101)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_phargb, as_pharg, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Pharaoh's Gold (Astra, V102)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_phargc, as_pharg, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Pharaoh's Gold (Astra, V104)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_phargd, as_pharg, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Pharaoh's Gold (Astra, V106)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_pharge, as_pharg, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Pharaoh's Gold (Astra, V107)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_pb, 0, astra_single_2e, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Piggy Banking (Astra, V105)" , MACHINE_IS_SKELETON_MECHANICAL) +GAME( 200?, as_cshah, 0, astra_single_alt_57, astrafr, astrafr_state, init_astradec, ROT0, "Lowen", "Cash Ahoi (Lowen, V105)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) + + +GAME( 200?, as_big10, 0, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Big 10 (Astra, V500)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // BB96 +GAME( 200?, as_big10a, as_big10, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Big 10 (Astra, V503)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // BB96 +GAME( 200?, as_big10b, as_big10, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Big 10 (Astra, V507)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // BB96 +GAME( 200?, as_big10c, as_big10, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Big 10 (Astra, V601)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // BB96 +GAME( 200?, as_big10d, as_big10, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Big 10 (Astra, V605)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // BB96 +GAME( 200?, as_big15, 0, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Big 15 (Astra, V101)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // DL98 +GAME( 200?, as_bigcs, 0, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Big Cash (Astra, V101)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // CF97/CF98 +GAME( 200?, as_bigcsa, as_bigcs, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Big Cash (Astra, V103)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // CF97/CF98 + +GAME( 200?, as_bbr, 0, astra_single_2e, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Bullion Bars (Astra, V101)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // FA00/CU98 +GAME( 200?, as_bbra, as_bbr, astra_single_2e, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Bullion Bars (Astra, V102,alt)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // FA00/CU98 +GAME( 200?, as_bbrb, as_bbr, astra_single_2e, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Bullion Bars (Astra, V201)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // FA00/CU98 +GAME( 200?, as_bbrc, as_bbr, astra_single_2e, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Bullion Bars (Astra, V003)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // CU98 +GAME( 200?, as_bbrd, as_bbr, astra_single_2e, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Bullion Bars (Astra, V102)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // CU98 +GAME( 200?, as_bbre, as_bbr, astra_single_37, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Bullion Bars (Astra, V105)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // FG01 +GAME( 200?, as_bbrf, as_bbr, astra_single_37, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Bullion Bars (Astra, V004)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // FN01 + +GAME( 200?, as_dblcs, 0, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Double Cash (Astra, V110)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // BR97 +GAME( 200?, as_dblcsa, as_dblcs, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Double Cash (Astra, V112)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // BR97 +GAME( 200?, as_dblcsb, as_dblcs, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Double Cash (Astra, V108)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // BR97 +GAME( 200?, as_dblcsc, as_dblcs, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Double Cash (Astra, V109)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // CN97 +GAME( 200?, as_dblcsd, as_dblcs, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Double Cash (Astra, V106)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // CN97 +GAME( 200?, as_dblcse, as_dblcs, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Double Cash (Astra, V102)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // FB00 +GAME( 200?, as_dblcsf, as_dblcs, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Double Cash (Astra, V100)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // FB00 +GAME( 200?, as_dblcsg, as_dblcs, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Double Cash (Astra, V100, alt)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // DN98 +GAME( 200?, as_dblcsh, as_dblcs, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Double Cash (Astra, V004)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // FO01 + +GAME( 200?, as_fortn, 0, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Fortune Teller (Astra, V009)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) + +GAME( 200?, as_gof, 0, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Lowen", "Game Of Fortune (Lowen, V208)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_hog, 0, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Hearts Of Gold (Astra, V002)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_hxr, 0, astra_single, astrafr, astrafr_state, init_astradec_sml, ROT0, "Astra", "Hot Cross Run (Astra, V108)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_hr, 0, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Hot Reel (Astra, V004)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) + +GAME( 200?, as_djp, 0, astra_single, astrafr, astrafr_state, init_astradec, ROT0,"Astra", "Double Jackpot (Astra, V107)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_djpa, 0, astra_single, astrafr, astrafr_state, init_astradec_sml, ROT0,"Astra", "Double Jackpot (Astra, V004)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_djpb, 0, astra_single, astrafr, astrafr_state, init_astradec, ROT0,"Astra", "Double Jackpot (Astra, V109)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_cshcs, 0, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Lowen", "Cash Castle (Lowen, V006)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_colmn, 0, astra_single, astrafr, astrafr_state, init_astradec_sml, ROT0, "Astra", "Colour Of Money (Astra, V200)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_colmna, as_colmn, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Colour Of Money (Astra, V107)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_colmnb, as_colmn, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Colour Of Money (Astra, V108)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_colmnc, as_colmn, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Colour Of Money (Astra, V109)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_colmnd, as_colmn, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Colour Of Money (Astra, V908)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_jackb, 0, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Jackpot Bell (Astra, V104)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_jpx, 0, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Jackpot X (Astra, V100)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_jpxa, as_jpx, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Jackpot X (Astra, V101)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_jpxb, as_jpx, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Jackpot X (Astra, V002)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_jolly, 0, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Jolly Roger (Astra, V103)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_jmpj, 0, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Jumping Jackpots (Astra, V100)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_jmpja, as_jmpj, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Jumping Jackpots (Astra, V102)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_jjive, 0, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Jungle Jive (Astra, V107)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_jjivea, as_jjive, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Jungle Jive (Astra, V106)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_jjiveb, as_jjive, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Jungle Jive (Astra, V104)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_jjivec, as_jjive, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Jungle Jive (Astra, V102)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_jjived, as_jjive, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Jungle Jive (Astra, V101)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_jjivee, as_jjive, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Jungle Jive (Astra, V101, alt)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_jjivef, as_jjive, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Jungle Jive (Astra, V004)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_jjiveg, as_jjive, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Jungle Jive (Astra, V005)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_kingc, 0, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "King Cash (Astra, V106)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_kingca, as_kingc, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "King Cash (Astra, V103)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_koc, 0, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "King Of Clubs (Astra, V200)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_koca, as_koc, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "King Of Clubs (Astra, V101)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_lbt, 0, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Little Big 10 (Astra, V103)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_lbta, as_lbt, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Little Big 10 (Astra, V102)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) + +GAME( 200?, as_ldl, 0, astra_single_2e, astrafr, astrafr_state, init_astradec_sml, ROT0, "Astra", "Little Devils (Astra, V700)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_ldla, as_ldl, astra_single, astrafr, astrafr_state, init_astradec_sml, ROT0, "Astra", "Little Devils (Astra, V600)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_ldlb, as_ldl, astra_single, astrafr, astrafr_state, init_astradec_sml, ROT0, "Astra", "Little Devils (Astra, V312)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_ldlc, as_ldl, astra_single, astrafr, astrafr_state, init_astradec_sml, ROT0, "Astra", "Little Devils (Astra, V003)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_ldld, as_ldl, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Little Devils (Astra, V102)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_ldle, as_ldl, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Little Devils (Astra, V103)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_mp, 0, astra_single_2e, astrafr, astrafr_state, init_astradec, ROT0, "Lowen", "Mission Possible (Lowen, V118)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_mp2, 0, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Lowen", "Mission Possible 2 (Lowen, V114)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_otr, 0, astra_single_2e, astrafr, astrafr_state, init_astradec_sml, ROT0, "Astra", "Over The Rainbow (Astra, V104)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_otra, as_otr, astra_single, astrafr, astrafr_state, init_astradec_sml, ROT0, "Astra", "Over The Rainbow (Astra, V102)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // incomplete set +GAME( 200?, as_ptf, 0, astrafr_dual_37, astrafr, astrafr_state, init_astradec_sml_dual, ROT0,"Astra", "Party Fruits (Astra, V102)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // strange extra sound(?) roms in here +GAME( 200?, as_ptfa, as_ptf, astrafr_dual_37, astrafr, astrafr_state, init_astradec_sml_dual, ROT0,"Astra", "Party Fruits (Astra, V803)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_ptfb, as_ptf, astrafr_dual_37, astrafr, astrafr_state, init_astradec_sml_dual, ROT0,"Astra", "Party Fruits (Astra, V905)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_ptfc, as_ptf, astrafr_dual_37, astrafr, astrafr_state, init_astradec_sml_dual, ROT0,"Astra", "Party Fruits (Astra)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_pia, 0, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Pay It Again (Astra, V202)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_piaa, as_pia, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Pay It Again (Astra, V206)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_piab, as_pia, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Pay It Again (Astra, V904)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_pharg, 0, astra_single_37, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Pharaoh's Gold (Astra, V005)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_pharga, as_pharg, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Pharaoh's Gold (Astra, V101)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_phargb, as_pharg, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Pharaoh's Gold (Astra, V102)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_phargc, as_pharg, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Pharaoh's Gold (Astra, V104)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_phargd, as_pharg, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Pharaoh's Gold (Astra, V106)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_pharge, as_pharg, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Pharaoh's Gold (Astra, V107)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_pb, 0, astra_single_2e, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Piggy Banking (Astra, V105)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // this might be another mix of master / slave sets, and multiple games.... -GAME( 200?, as_rtr, 0, astra_single_2e, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Ready To Roll (Astra, V101)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_rtra, as_rtr, astra_single_2e, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Ready To Roll (Astra, V101, alt 1)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_rtrb, as_rtr, astra_single_2e, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Ready To Roll (Astra, V101, alt 2)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_rtrc, as_rtr, astra_single_2e, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Ready To Roll (Astra, V101, alt 3)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_rtrd, as_rtr, astra_single_2e, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Ready To Roll (Astra, V100, )" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_rtre, as_rtr, astra_single_2e, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Ready To Roll (Astra, V100, alt)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_rtrf, as_rtr, astra_single_2e, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Ready To Roll (Astra, V200)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_rtrg, as_rtr, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Ready To Roll (Astra, V200, alt)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_rtrh, as_rtr, astra_single_2e, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Ready To Roll (Astra, V202)" , MACHINE_IS_SKELETON_MECHANICAL) - -GAME( 200?, as_rab, 0, astra_single_2e, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Ring A Bell (Astra, V105)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_raba, as_rab, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Ring A Bell (Astra, V106)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_rabb, as_rab, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Ring A Bell (Astra, V107)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_rabc, as_rab, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Ring A Bell (Astra, V104)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_rbg, 0, astra_single_2e, astrafr, astrafr_state, empty_init, ROT0, "Astra", "River Boat Gambler (Astra, V304)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_rbga, as_rab, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "River Boat Gambler (Astra, V303)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_rbgb, as_rab, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "River Boat Gambler (Astra, V104)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_rbgc, as_rab, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "River Boat Gambler (Astra, V102)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_rbgd, as_rab, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "River Boat Gambler (Astra, V101)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_rbge, as_rab, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "River Boat Gambler (Astra, V008)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_rbglo, 0, astrafr_dual_37, astrafr, astrafr_state, init_astradec_sml_dual, ROT0,"Lowen", "River Boat Gambler (Lowen, V106)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_rox, 0, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Roll X (Astra, V006)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_csv, 0, astra_single_37, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Slot Slant (?) (Astra, V202)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_sltcl, 0, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Slots Classic (?) (Astra)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_stp, 0, astra_single_2e, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Stampede (Astra, V103)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_stpa, as_stp, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Stampede (Astra, V102)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_stpb, as_stp, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Stampede (Astra, V105)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_siu, 0, astra_single_37, astrafr, astrafr_state, init_astradec_sml, ROT0, "Astra", "Step It Up (Astra, V202)" , MACHINE_IS_SKELETON_MECHANICAL) // extra sound roms(?) in this set -GAME( 200?, as_siua, as_siu, astra_single, astrafr, astrafr_state, init_astradec_sml, ROT0, "Astra", "Step It Up (Astra, V203)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_sld, 0, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Super Little Devil (Astra, V700)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_slda, as_sld, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Super Little Devil (Astra, V600)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_sldb, as_sld, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Super Little Devil (Astra, V500)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_sldc, as_sld, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Super Little Devil (Astra, V400)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_sldd, as_sld, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Super Little Devil (Astra, V200)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_slde, as_sld, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Super Little Devil (Astra, V101)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_tem, 0, astra_single_alt_37, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Temptation (Astra, V101)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_tema, as_tem, astra_single_alt_37, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Temptation (Astra, V006)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_tbl, 0, astra_single_2e, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Triple Bells (Astra, V104)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_tbla, as_tbl, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Triple Bells (Astra, V105)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_tblb, as_tbl, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Triple Bells (Astra, V106)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_tblc, as_tbl, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Triple Bells (Astra, V103)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_tbld, as_tbl, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Triple Bells (Astra, V304)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_tble, as_tbl, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Triple Bells (Astra, V303)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_tblf, as_tbl, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Triple Bells (Astra, V301)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_td, 0, astra_single_2e, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Twin Dragons (Astra, V103)" , MACHINE_IS_SKELETON_MECHANICAL) - -GAME( 200?, as_twp, 0, astra_single_2e, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Twin Pots (Astra, V106)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_twpa, as_twp, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Twin Pots (Astra, V104)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_vn, 0, astrafr_dual_alt_37, astrafr, astrafr_state, init_astradec_dual, ROT0, "Astra", "Vegas Nights (Astra, V205)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_vcv, 0, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Viva Cash Vegas (Astra, V005)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_vcva, as_vcv, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Viva Cash Vegas (Astra, V107)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_vcvb, as_vcv, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Viva Cash Vegas (Astra, V106)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_vcvc, as_vcv, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Viva Cash Vegas (Astra, V104)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_vcvd, as_vcv, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Viva Cash Vegas (Astra, V102)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_vcve, as_vcv, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Viva Cash Vegas (Astra, V101)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_ww, 0, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Wicked Willy (Astra, V203)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_wwa, as_ww, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Wicked Willy (Astra, V204)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_wwb, as_ww, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Wicked Willy (Astra, V205)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_wwc, as_ww, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Wicked Willy (Astra, V104)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_wwd, as_ww, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Wicked Willy (Astra, V103)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_wwe, as_ww, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Wicked Willy (Astra, V102)" , MACHINE_IS_SKELETON_MECHANICAL) -GAME( 200?, as_ws, 0, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Win Streak (Astra, V100)" , MACHINE_IS_SKELETON_MECHANICAL) // incomplete dump +GAME( 200?, as_rtr, 0, astra_single_2e, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Ready To Roll (Astra, V101)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_rtra, as_rtr, astra_single_2e, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Ready To Roll (Astra, V101, alt 1)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_rtrb, as_rtr, astra_single_2e, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Ready To Roll (Astra, V101, alt 2)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_rtrc, as_rtr, astra_single_2e, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Ready To Roll (Astra, V101, alt 3)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_rtrd, as_rtr, astra_single_2e, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Ready To Roll (Astra, V100, )" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_rtre, as_rtr, astra_single_2e, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Ready To Roll (Astra, V100, alt)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_rtrf, as_rtr, astra_single_2e, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Ready To Roll (Astra, V200)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_rtrg, as_rtr, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Ready To Roll (Astra, V200, alt)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_rtrh, as_rtr, astra_single_2e, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Ready To Roll (Astra, V202)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) + +GAME( 200?, as_rab, 0, astra_single_2e, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Ring A Bell (Astra, V105)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_raba, as_rab, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Ring A Bell (Astra, V106)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_rabb, as_rab, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Ring A Bell (Astra, V107)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_rabc, as_rab, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Ring A Bell (Astra, V104)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_rbg, 0, astra_single_2e, astrafr, astrafr_state, empty_init, ROT0, "Astra", "River Boat Gambler (Astra, V304)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_rbga, as_rab, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "River Boat Gambler (Astra, V303)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_rbgb, as_rab, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "River Boat Gambler (Astra, V104)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_rbgc, as_rab, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "River Boat Gambler (Astra, V102)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_rbgd, as_rab, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "River Boat Gambler (Astra, V101)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_rbge, as_rab, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "River Boat Gambler (Astra, V008)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_rbglo, 0, astrafr_dual_37, astrafr, astrafr_state, init_astradec_sml_dual, ROT0,"Lowen", "River Boat Gambler (Lowen, V106)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_rox, 0, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Roll X (Astra, V006)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_csv, 0, astra_single_37, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Slot Slant (?) (Astra, V202)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_sltcl, 0, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Slots Classic (?) (Astra)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_stp, 0, astra_single_2e, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Stampede (Astra, V103)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_stpa, as_stp, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Stampede (Astra, V102)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_stpb, as_stp, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Stampede (Astra, V105)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_siu, 0, astra_single_37, astrafr, astrafr_state, init_astradec_sml, ROT0, "Astra", "Step It Up (Astra, V202)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // extra sound roms(?) in this set +GAME( 200?, as_siua, as_siu, astra_single, astrafr, astrafr_state, init_astradec_sml, ROT0, "Astra", "Step It Up (Astra, V203)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_sld, 0, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Super Little Devil (Astra, V700)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_slda, as_sld, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Super Little Devil (Astra, V600)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_sldb, as_sld, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Super Little Devil (Astra, V500)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_sldc, as_sld, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Super Little Devil (Astra, V400)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_sldd, as_sld, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Super Little Devil (Astra, V200)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_slde, as_sld, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Super Little Devil (Astra, V101)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_tem, 0, astra_single_alt_37, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Temptation (Astra, V101)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_tema, as_tem, astra_single_alt_37, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Temptation (Astra, V006)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_tbl, 0, astra_single_2e, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Triple Bells (Astra, V104)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_tbla, as_tbl, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Triple Bells (Astra, V105)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_tblb, as_tbl, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Triple Bells (Astra, V106)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_tblc, as_tbl, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Triple Bells (Astra, V103)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_tbld, as_tbl, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Triple Bells (Astra, V304)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_tble, as_tbl, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Triple Bells (Astra, V303)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_tblf, as_tbl, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Triple Bells (Astra, V301)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_td, 0, astra_single_2e, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Twin Dragons (Astra, V103)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) + +GAME( 200?, as_twp, 0, astra_single_2e, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Twin Pots (Astra, V106)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_twpa, as_twp, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Twin Pots (Astra, V104)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_vn, 0, astrafr_dual_alt_37, astrafr, astrafr_state, init_astradec_dual, ROT0, "Astra", "Vegas Nights (Astra, V205)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_vcv, 0, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Viva Cash Vegas (Astra, V005)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_vcva, as_vcv, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Viva Cash Vegas (Astra, V107)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_vcvb, as_vcv, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Viva Cash Vegas (Astra, V106)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_vcvc, as_vcv, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Viva Cash Vegas (Astra, V104)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_vcvd, as_vcv, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Viva Cash Vegas (Astra, V102)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_vcve, as_vcv, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Viva Cash Vegas (Astra, V101)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_ww, 0, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Wicked Willy (Astra, V203)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_wwa, as_ww, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Wicked Willy (Astra, V204)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_wwb, as_ww, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Wicked Willy (Astra, V205)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_wwc, as_ww, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Wicked Willy (Astra, V104)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_wwd, as_ww, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Wicked Willy (Astra, V103)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_wwe, as_ww, astra_single, astrafr, astrafr_state, empty_init, ROT0, "Astra", "Wicked Willy (Astra, V102)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 200?, as_ws, 0, astra_single, astrafr, astrafr_state, init_astradec, ROT0, "Astra", "Win Streak (Astra, V100)" , MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // incomplete dump diff --git a/src/mame/misc/atronic.cpp b/src/mame/misc/atronic.cpp index 3a2e6ea4f0b4f..d850771bfcdcc 100644 --- a/src/mame/misc/atronic.cpp +++ b/src/mame/misc/atronic.cpp @@ -1,6 +1,7 @@ // license:BSD-3-Clause // copyright-holders:David Haywood -/* Atronic Video Fruit Machines */ + +// Atronic Video Slot Machines /* From 1999? (documentation is dated August 99) @@ -134,7 +135,7 @@ KKC - King Kong Cash, DDTE - ??): There was PC software with these too, I think they're meant to connect to a PC for configuration? I've put what there was in an ISO, and converted it to a CHD for later inspection. - Some of these are probably bad dumps (the ones with strange sized roms, castawaya, tajmahal, maybe magimush) + Some of these are probably bad dumps (the ones with strange sized ROMs, castawaya, tajmahal, maybe magimush) Anybody is welcome to try and figure out what this is. @@ -436,14 +437,17 @@ Markings bottom: 6 470.5020 00.07 */ #include "emu.h" -#include "cpu/z180/z180.h" + #include "cpu/tms34010/tms34010.h" +#include "cpu/z180/z180.h" #include "machine/ds1386.h" #include "machine/pcf8584.h" #include "machine/z80scc.h" +#include "video/ramdac.h" + #include "emupal.h" #include "screen.h" -#include "video/ramdac.h" + namespace { @@ -463,6 +467,14 @@ class atronic_state : public driver_device void atronic(machine_config &config); private: + required_device m_screen; + required_device m_palette; + required_device m_maincpu; + required_device m_videocpu; + required_device m_ramdac; + + required_shared_ptr m_vidram; + [[maybe_unused]] u32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); u8 serial_r(); @@ -475,22 +487,13 @@ class atronic_state : public driver_device void ramdac_map(address_map &map) ATTR_COLD; - // devices - required_device m_screen; - required_device m_palette; - required_device m_maincpu; - required_device m_videocpu; - required_device m_ramdac; - - required_shared_ptr m_vidram; - TMS340X0_TO_SHIFTREG_CB_MEMBER(to_shiftreg); TMS340X0_FROM_SHIFTREG_CB_MEMBER(from_shiftreg); TMS340X0_SCANLINE_RGB32_CB_MEMBER(scanline_update); }; -u32 atronic_state::screen_update( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect ) +u32 atronic_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { return 0; } @@ -546,7 +549,7 @@ TMS340X0_FROM_SHIFTREG_CB_MEMBER(atronic_state::from_shiftreg) TMS340X0_SCANLINE_RGB32_CB_MEMBER(atronic_state::scanline_update) { uint32_t fulladdr = ((params->rowaddr << 16) | params->coladdr) >> 5; - uint32_t const *const bg0_base = &m_vidram[(fulladdr & 0x7fe00)]; // this probably isn't screen ram, but some temp gfx are copied on startup + uint32_t const *const bg0_base = &m_vidram[(fulladdr & 0x7fe00)]; // this probably isn't screen RAM, but some temp gfx are copied on startup uint32_t *const dst = &bitmap.pix(scanline); int coladdr = fulladdr & 0x1ff; const pen_t *pens = m_palette->pens(); @@ -573,9 +576,6 @@ void atronic_state::video_map(address_map &map) } -#define VIDEO_CLOCK XTAL(40'000'000) -#define PIXEL_CLOCK XTAL(25'000'000) - // CPU BOARD // OSC1: 18.432MHz @@ -590,7 +590,7 @@ void atronic_state::ramdac_map(address_map &map) void atronic_state::atronic(machine_config &config) { - /* basic machine hardware */ + // basic machine hardware Z80180(config, m_maincpu, 18.432_MHz_XTAL); m_maincpu->set_addrmap(AS_PROGRAM, &atronic_state::atronic_map); m_maincpu->set_addrmap(AS_IO, &atronic_state::atronic_portmap); @@ -603,17 +603,17 @@ void atronic_state::atronic(machine_config &config) SCC85C30(config, "scc", 5000000); SCREEN(config, m_screen, SCREEN_TYPE_RASTER); - m_screen->set_raw(VIDEO_CLOCK/2, 640, 0, 512, 257, 0, 224); // ?? + m_screen->set_raw(40_MHz_XTAL / 2, 640, 0, 512, 257, 0, 224); // ?? m_screen->set_screen_update("tms", FUNC(tms34020_device::tms340x0_rgb32)); PALETTE(config, "palette").set_entries(256); RAMDAC(config, m_ramdac, 0, m_palette); m_ramdac->set_addrmap(0, &atronic_state::ramdac_map); - TMS34020(config, m_videocpu, VIDEO_CLOCK); + TMS34020(config, m_videocpu, 40_MHz_XTAL); m_videocpu->set_addrmap(AS_PROGRAM, &atronic_state::video_map); m_videocpu->set_halt_on_reset(false); - m_videocpu->set_pixel_clock(PIXEL_CLOCK/4); + m_videocpu->set_pixel_clock(25_MHz_XTAL / 4); m_videocpu->set_pixels_per_clock(4); m_videocpu->set_scanline_rgb32_callback(FUNC(atronic_state::scanline_update)); m_videocpu->set_shiftreg_in_callback(FUNC(atronic_state::to_shiftreg)); @@ -622,42 +622,63 @@ void atronic_state::atronic(machine_config &config) ROM_START( atronic ) - ROM_REGION( 0x100000, "maincpu", 0 ) /* Z8018010VSC code (Z180) */ - ROM_LOAD( "atronic u2.bin", 0x0000, 0x080000, CRC(ddcfa9ed) SHA1(008ffaf56ccdb3eb60fa5a0ad2f14d1988c2fa5a) ) + ROM_REGION( 0x100000, "maincpu", 0 ) // Z8018010VSC code (Z180) + ROM_LOAD( "atronic u2.bin", 0x000000, 0x080000, CRC(ddcfa9ed) SHA1(008ffaf56ccdb3eb60fa5a0ad2f14d1988c2fa5a) ) ROM_REGION( 0x020000, "u6", 0 ) // config? - ROM_LOAD( "atronic u6.bin", 0x0000, 0x020000, CRC(9742b2d8) SHA1(9f5851c78f92055730b834de18f8dc7bd9b29a37) ) + ROM_LOAD( "atronic u6.bin", 0x000000, 0x020000, CRC(9742b2d8) SHA1(9f5851c78f92055730b834de18f8dc7bd9b29a37) ) // VERSION=CK-RDW_-A-C - ROM_REGION32_LE( 0x800000, "user1", ROMREGION_ERASE00 ) /* TMS34020APCM-40 code (34020) */ + ROM_REGION32_LE( 0x800000, "user1", ROMREGION_ERASE00 ) // TMS34020APCM-40 code (34020) ROM_REGION( 0x400000, "u18u21",ROMREGION_ERASE00 ) // sound ROM_REGION( 0x400000, "pals",ROMREGION_ERASE00 ) // pal (converted from JED) - DISK_REGION( "cdrom" ) // some kind of PC based utlities for these games.. + DISK_REGION( "cdrom" ) // some kind of PC based utilities for these games.. DISK_IMAGE_READONLY_OPTIONAL( "atronic", 0,SHA1(3335e9f8f67f1b176e043f078456d2b13178b7ef) ) ROM_END + ROM_START( atronica ) - ROM_REGION( 0x100000, "maincpu", 0 ) /* Z8018010VSC code (Z180) */ - ROM_LOAD( "atronic u2.bin", 0x0000, 0x080000, CRC(ddcfa9ed) SHA1(008ffaf56ccdb3eb60fa5a0ad2f14d1988c2fa5a) ) + ROM_REGION( 0x100000, "maincpu", 0 ) // Z8018010VSC code (Z180) + ROM_LOAD( "atronic u2.bin", 0x000000, 0x080000, CRC(ddcfa9ed) SHA1(008ffaf56ccdb3eb60fa5a0ad2f14d1988c2fa5a) ) ROM_REGION( 0x020000, "u6", 0 ) // config? - ROM_LOAD( "atronic u6 std.bin", 0x0000, 0x020000, CRC(9ef7ae79) SHA1(3ed0ea056b23cee8829421c2369ff869b370ee80) ) + ROM_LOAD( "atronic u6 std.bin", 0x000000, 0x020000, CRC(9ef7ae79) SHA1(3ed0ea056b23cee8829421c2369ff869b370ee80) ) // VERSION=CK-STD-A-A-STD_ - ROM_REGION32_LE( 0x800000, "user1", ROMREGION_ERASE00 ) /* TMS34020APCM-40 code (34020) */ + ROM_REGION32_LE( 0x800000, "user1", ROMREGION_ERASE00 ) // TMS34020APCM-40 code (34020) ROM_REGION( 0x400000, "u18u21",ROMREGION_ERASE00 ) // sound ROM_REGION( 0x400000, "pals",ROMREGION_ERASE00 ) // pal (converted from JED) ROM_END +ROM_START( atronicb ) // assortment of setchips and config chips, needs verification + ROM_REGION( 0x100000, "maincpu", 0 ) // Z8018010VSC code (Z180) + ROM_LOAD( "atronic reset cl", 0x000000, 0x080000, CRC(b6fc07c6) SHA1(9921cf9d9e95034d0353e9e72e4879449a261e21) ) + ROM_LOAD( "demo mode 4meg", 0x000000, 0x080000, CRC(79c31e59) SHA1(9e0f2ea4e8a6bce9840a70608bd4db2edbd01ef7) ) + ROM_LOAD( "masterreset.040", 0x000000, 0x080000, CRC(e6e58b97) SHA1(3250211255a280ff018e6c5912878d01fa3cfaff) ) + + ROM_REGION( 0x020000, "u6", 0 ) // config? + ROM_LOAD( "atronic config key cl u2", 0x000000, 0x020000, CRC(062a7ee9) SHA1(562df047fcba0b9e2a26c7935cef5dade5b3f946) ) // VERSION=CK-ARI_-A-B + ROM_LOAD( "atronic ram clear", 0x000000, 0x020000, CRC(61fe0ce0) SHA1(682d4a99f777f7b7dd77fcc739a1f752ed602aa1) ) + ROM_LOAD( "u6 ck-rdw_-a-a", 0x000000, 0x020000, CRC(edff62cb) SHA1(9be8351e32f3e095abc0f304fe1609770890b833) ) // VERSION=CK-RDW_-A-A + ROM_LOAD( "u6 ck-rdw_-a-b", 0x000000, 0x020000, CRC(15bd42ec) SHA1(ff0bb157bf5d477befc71de11ff2a866cdbaecdf) ) // VERSION=CK-RDW_-A-B + + ROM_REGION32_LE( 0x800000, "user1", ROMREGION_ERASE00 ) // TMS34020APCM-40 code (34020) + ROM_REGION( 0x400000, "u18u21",ROMREGION_ERASE00 ) // sound + + ROM_REGION( 0x400000, "pals",ROMREGION_ERASE00 ) // pal (converted from JED) + ROM_LOAD( "galu35.bin", 0x000000, 0x0002e5, CRC(c81159c9) SHA1(36222e0a72310986fd4a76c0677a6bd74a0ad7df) ) +ROM_END + +// Atlantica (Russia) (set 1) ROM_START( atlantca ) - ROM_REGION( 0x100000, "maincpu", 0 ) /* Z8018010VSC code (Z180) */ - ROM_LOAD( "u2.8 o-atla01-abaaa-ca-rus", 0x0000, 0x100000, CRC(c3f2aa47) SHA1(eda0088bfaea7a9a341dd63ae587c989742c6630) ) + ROM_REGION( 0x100000, "maincpu", 0 ) // Z8018010VSC code (Z180) + ROM_LOAD( "u2.8 o-atla01-abaaa-ca-rus", 0x000000, 0x100000, CRC(c3f2aa47) SHA1(eda0088bfaea7a9a341dd63ae587c989742c6630) ) ROM_REGION( 0x020000, "u6", 0 ) // config? - ROM_LOAD( "u6.1 atla01-a-zb-std-5-xx-xx-axx", 0x0000, 0x020000, CRC(5d09a4bf) SHA1(94aea5396a968ff659ac9e2f4879262c55eba2fe) ) + ROM_LOAD( "u6.1 atla01-a-zb-std-5-xx-xx-axx", 0x000000, 0x020000, CRC(5d09a4bf) SHA1(94aea5396a968ff659ac9e2f4879262c55eba2fe) ) - ROM_REGION32_LE( 0x800000, "user1", 0 ) /* TMS34020APCM-40 code (34020) */ + ROM_REGION32_LE( 0x800000, "user1", 0 ) // TMS34020APCM-40 code (34020) ROM_LOAD32_BYTE( "u9.8 atla01-a-e-std-5", 0x000000, 0x100000, CRC(7f8210fa) SHA1(f71faee0d606c6aa06287f6ea31f41727e2a22d9) ) ROM_LOAD32_BYTE( "u11.8 atla01-a-e-std-5", 0x000001, 0x100000, CRC(af648717) SHA1(8ab57dc9962ed47a8beb03dcfc686c57de326793) ) ROM_LOAD32_BYTE( "u13.8 atla01-a-e-std-5", 0x000002, 0x100000, CRC(6e89bf2b) SHA1(0c3346a5da6c67bf2ef38cf657860dccb03a0461) ) @@ -674,18 +695,19 @@ ROM_START( atlantca ) ROM_LOAD( "u21.8 atla01-aa-a-std", 0x300000, 0x100000, CRC(a1bcd0a3) SHA1(0fd66c3bda92cead9457c35ce4b39f97293bb119) ) ROM_REGION( 0x400000, "pals", 0 ) // pal (converted from JED) - ROM_LOAD( "atlantica.bin", 0x0000, 0x0002dd, CRC(c3fdcd7d) SHA1(b56c859689e44689474142e537951c1cef40e46b) ) + ROM_LOAD( "atlantica.bin", 0x000000, 0x0002dd, CRC(c3fdcd7d) SHA1(b56c859689e44689474142e537951c1cef40e46b) ) ROM_END +// Atlantica (Russia) (set 2) ROM_START( atlantcaa ) - ROM_REGION( 0x100000, "maincpu", 0 ) /* Z8018010VSC code (Z180) */ - ROM_LOAD( "u2-80.bin", 0x0000, 0x100000, CRC(e4553537) SHA1(c61e708511c7790f7d7a7955378b8ceb975c2c55) ) + ROM_REGION( 0x100000, "maincpu", 0 ) // Z8018010VSC code (Z180) + ROM_LOAD( "u2-80.bin", 0x000000, 0x100000, CRC(e4553537) SHA1(c61e708511c7790f7d7a7955378b8ceb975c2c55) ) ROM_REGION( 0x020000, "u6", 0 ) // config? - ROM_LOAD( "u6.1 atla01-a-zb-std-5-xx-xx-axx", 0x0000, 0x020000, CRC(5d09a4bf) SHA1(94aea5396a968ff659ac9e2f4879262c55eba2fe) ) + ROM_LOAD( "u6.1 atla01-a-zb-std-5-xx-xx-axx", 0x000000, 0x020000, CRC(5d09a4bf) SHA1(94aea5396a968ff659ac9e2f4879262c55eba2fe) ) - ROM_REGION32_LE( 0x800000, "user1", 0 ) /* TMS34020APCM-40 code (34020) */ + ROM_REGION32_LE( 0x800000, "user1", 0 ) // TMS34020APCM-40 code (34020) ROM_LOAD32_BYTE( "u9-80.bin", 0x000000, 0x100000, CRC(1c51f9e1) SHA1(9300c80409f28ba55b94b93a3359fac732262b27) ) ROM_LOAD32_BYTE( "u11-80.bin", 0x000001, 0x100000, CRC(b2b1f41f) SHA1(7551c7acc5c6c26b672e4a42d847ec9af79b50fe) ) ROM_LOAD32_BYTE( "u13-80.bin", 0x000002, 0x100000, CRC(515820fa) SHA1(2f5def7145b45f8cd63d5463880a548e58e2b2d3) ) @@ -702,19 +724,45 @@ ROM_START( atlantcaa ) ROM_LOAD( "u21.8 atla01-aa-a-std", 0x300000, 0x100000, CRC(a1bcd0a3) SHA1(0fd66c3bda92cead9457c35ce4b39f97293bb119) ) ROM_REGION( 0x400000, "pals", 0 ) // pal (converted from JED) - ROM_LOAD( "atlantica.bin", 0x0000, 0x0002dd, CRC(c3fdcd7d) SHA1(b56c859689e44689474142e537951c1cef40e46b) ) + ROM_LOAD( "atlantica.bin", 0x000000, 0x0002dd, CRC(c3fdcd7d) SHA1(b56c859689e44689474142e537951c1cef40e46b) ) ROM_END - +// Babooshka ROM_START( baboshka ) - ROM_REGION( 0x100000, "maincpu", 0 ) /* Z8018010VSC code (Z180) */ - ROM_LOAD( "u2-80.bin", 0x0000, 0x100000, CRC(6084ca88) SHA1(608a23b4567271c89ed6a6b9e9a4999699a7b7a0) ) + ROM_REGION( 0x100000, "maincpu", 0 ) // Z8018010VSC code (Z180) + ROM_LOAD( "babooshka_u2_1a73.u2", 0x000000, 0x100000, CRC(b49d4c44) SHA1(fe533d6dbff95b4600ea1e68345097e1ae3d418d) ) ROM_REGION( 0x020000, "u6", 0 ) // config? - ROM_LOAD( "u6-10.bin", 0x0000, 0x020000, CRC(8b0ccfd2) SHA1(abdc59ebddc9e4fc3aa5b723a746de1419f7d6e7) ) + ROM_LOAD( "babooshka_u6_f4ab.u6", 0x000000, 0x020000, CRC(8b0ccfd2) SHA1(abdc59ebddc9e4fc3aa5b723a746de1419f7d6e7) ) + + ROM_REGION32_LE( 0x800000, "user1", 0 ) // TMS34020APCM-40 code (34020) + ROM_LOAD32_BYTE( "babooshka_u9_2830.u9", 0x000000, 0x100000, CRC(bbd0c880) SHA1(d249f701de2639f58aea35f4a19949708fa01f5e) ) + ROM_LOAD32_BYTE( "babooshka_u11_03bb.u11", 0x000001, 0x100000, CRC(3ac1eea2) SHA1(b43a1c93af1b8cfb13e5f9088308676ed17abbcc) ) + ROM_LOAD32_BYTE( "babooshka_u13_ed0c.u13", 0x000002, 0x100000, CRC(ece10619) SHA1(329dd7e64d84cd8d803fb6ec25f7ee4c65d3d1eb) ) + ROM_LOAD32_BYTE( "babooshka_u15_a406.u15", 0x000003, 0x100000, CRC(c5540973) SHA1(23e9faec39fefebc211c15444fdeb940f70344b2) ) + ROM_LOAD32_BYTE( "babooshka_u8_15d7.u8", 0x400000, 0x100000, CRC(d2bf54a6) SHA1(8226343f81c382190bf8ba38142a474c47b72fe2) ) + ROM_LOAD32_BYTE( "babooshka_u10_4868.u10", 0x400001, 0x100000, CRC(6e78855b) SHA1(1f1cee4ddeb58c854eb6e43191681e3dd7c0e377) ) + ROM_LOAD32_BYTE( "babooshka_u12_7f1b.u12", 0x400002, 0x100000, CRC(404ad088) SHA1(3b8caf927d36fccdbda53450a98cbd1b187094cc) ) + ROM_LOAD32_BYTE( "babooshka_u14_c087.u14", 0x400003, 0x100000, CRC(46a2b520) SHA1(7684672e8775aca8eb586148f1917963ef33dc5c) ) + + ROM_REGION( 0x400000, "u18u21", 0 ) // sound + ROM_LOAD( "babooshka_u18_c845.u18", 0x000000, 0x100000, CRC(d26dfd1b) SHA1(7a1ddd4ac4429908997f14295d445586f2c9a26f) ) + ROM_LOAD( "babooshka_u19_8015.u19", 0x000000, 0x100000, CRC(273c7212) SHA1(0689fd7e3862d01f258fba9773f460ea4803d0a3) ) + ROM_LOAD( "babooshka_u20_7bc8.u20", 0x000000, 0x100000, CRC(a030de64) SHA1(fb3d73416e180dfc15c469eca499ee5060482f16) ) + ROM_LOAD( "babooshka_u21_9532.u21", 0x000000, 0x100000, CRC(ef05d889) SHA1(431f3a057aff474221f64a2fdee35ca328db42de) ) +ROM_END - ROM_REGION32_LE( 0x800000, "user1", 0 ) /* TMS34020APCM-40 code (34020) */ + +// Babooshka (Russia) +ROM_START( baboshkar ) + ROM_REGION( 0x100000, "maincpu", 0 ) // Z8018010VSC code (Z180) + ROM_LOAD( "u2-80.bin", 0x000000, 0x100000, CRC(6084ca88) SHA1(608a23b4567271c89ed6a6b9e9a4999699a7b7a0) ) + + ROM_REGION( 0x020000, "u6", 0 ) // config? + ROM_LOAD( "u6-10.bin", 0x000000, 0x020000, CRC(8b0ccfd2) SHA1(abdc59ebddc9e4fc3aa5b723a746de1419f7d6e7) ) + + ROM_REGION32_LE( 0x800000, "user1", 0 ) // TMS34020APCM-40 code (34020) ROM_LOAD32_BYTE( "u9-80.bin", 0x000000, 0x100000, CRC(1a5d8a4f) SHA1(ff8160f000ecb032831ef4320b686fdd37c19bc9) ) ROM_LOAD32_BYTE( "u11-80.bin", 0x000001, 0x100000, CRC(713e18c9) SHA1(eb14213101c3ee09601bf01000631c3a2509e876) ) ROM_LOAD32_BYTE( "u13-80.bin", 0x000002, 0x100000, CRC(dfbc8c2f) SHA1(1ae2dcd572fa5fc31be5cdb7d6de2bced06ff94e) ) @@ -725,359 +773,377 @@ ROM_START( baboshka ) ROM_LOAD32_BYTE( "u14-80.bin", 0x400003, 0x100000, CRC(b6343ede) SHA1(d19b2dc79c7b95cf09759709b422fb78008f5c37) ) ROM_REGION( 0x400000, "u18u21", 0 ) // sound - ROM_LOAD( "u18-80.bin", 0x0000, 0x100000, CRC(d26dfd1b) SHA1(7a1ddd4ac4429908997f14295d445586f2c9a26f) ) - ROM_LOAD( "u19-80.bin", 0x0000, 0x100000, CRC(273c7212) SHA1(0689fd7e3862d01f258fba9773f460ea4803d0a3) ) - ROM_LOAD( "u20-80.bin", 0x0000, 0x100000, CRC(a030de64) SHA1(fb3d73416e180dfc15c469eca499ee5060482f16) ) - ROM_LOAD( "u21-80.bin", 0x0000, 0x100000, CRC(ef05d889) SHA1(431f3a057aff474221f64a2fdee35ca328db42de) ) + ROM_LOAD( "u18-80.bin", 0x000000, 0x100000, CRC(d26dfd1b) SHA1(7a1ddd4ac4429908997f14295d445586f2c9a26f) ) + ROM_LOAD( "u19-80.bin", 0x000000, 0x100000, CRC(273c7212) SHA1(0689fd7e3862d01f258fba9773f460ea4803d0a3) ) + ROM_LOAD( "u20-80.bin", 0x000000, 0x100000, CRC(a030de64) SHA1(fb3d73416e180dfc15c469eca499ee5060482f16) ) + ROM_LOAD( "u21-80.bin", 0x000000, 0x100000, CRC(ef05d889) SHA1(431f3a057aff474221f64a2fdee35ca328db42de) ) ROM_END -ROM_START( cfblue ) - ROM_REGION( 0x100000, "maincpu", 0 ) /* Z8018010VSC code (Z180) */ - ROM_LOAD( "u2.bin", 0x0000, 0x100000, CRC(0b5035d0) SHA1(f77ce0d16da39c259c0f764c23c23d0313166612) ) +// Beach Patrol (Russia) +ROM_START( beachpt ) + ROM_REGION( 0x100000, "maincpu", 0 ) // Z8018010VSC code (Z180) + ROM_LOAD( "u02_o_-wave-a-b-cb-rus_.bin", 0x000000, 0x100000, CRC(b26085fc) SHA1(19f350c46088b58438dfc234d4ac543105913286) ) ROM_REGION( 0x020000, "u6", 0 ) // config? - ROM_LOAD( "u6.bin", 0x0000, 0x020000, CRC(63690e7e) SHA1(9dcb3d64bae03556875185ead23d9b911773f5bd) ) + ROM_LOAD( "u06_crp5bs1a.bin", 0x000000, 0x020000, CRC(0db0531d) SHA1(391e41b2dcd38669dcc24e938e9838feee972559) ) - ROM_REGION32_LE( 0x800000, "user1", 0 ) /* TMS34020APCM-40 code (34020) */ - ROM_LOAD32_BYTE( "u9.bin", 0x000000, 0x100000, CRC(d1c2ad08) SHA1(e53c7e91b2ab86e64f4ae753404aa86ae881becf) ) - ROM_LOAD32_BYTE( "u11.bin", 0x000001, 0x100000, CRC(42872aef) SHA1(54d7cf6a9f3d5d8b2b14fa381fd7b9db974525e1) ) - ROM_LOAD32_BYTE( "u13.bin", 0x000002, 0x100000, CRC(7da9415b) SHA1(aaa73465417dcf92838021b37cb412d52ccb4d85) ) - ROM_LOAD32_BYTE( "u15.bin", 0x000003, 0x100000, CRC(e0270268) SHA1(6bf5281eb5418903403873547690bdfa04597fea) ) - ROM_LOAD32_BYTE( "u8.bin", 0x400000, 0x100000, CRC(a870d32c) SHA1(0014b9b2a2b35ae8a10ed2910213ccea50f8ba61) ) - ROM_LOAD32_BYTE( "u10.bin", 0x400001, 0x100000, CRC(f99ae371) SHA1(b468a18eb7604f191198aae68e961db97cae0332) ) - ROM_LOAD32_BYTE( "u12.bin", 0x400002, 0x100000, CRC(2b2fcd96) SHA1(ce4a8d1267874e5d615e8b3abbb4d1b16630ae7a) ) - ROM_LOAD32_BYTE( "u14.bin", 0x400003, 0x100000, CRC(d66b735c) SHA1(6c4c1e5b5b21b60e950cf70d2d6ad72d5b22237a) ) + ROM_REGION32_LE( 0x800000, "user1", 0 ) // TMS34020APCM-40 code (34020) + ROM_LOAD32_BYTE( "u09_bep5a01d.bin", 0x000000, 0x100000, CRC(0f4614de) SHA1(2181c552e9a3669fda5e87d0c596d5534d24d4b3) ) + ROM_LOAD32_BYTE( "u11_bep5a01d.bin", 0x000001, 0x100000, CRC(4f8c6fee) SHA1(2b75fe948bddda899969ef4a7663a52dc7b0eb81) ) + ROM_LOAD32_BYTE( "u13_bep5a01d.bin", 0x000002, 0x100000, CRC(ca9a24e5) SHA1(67276f680f3aedf480c54c666f0db1110cd77aee) ) + ROM_LOAD32_BYTE( "u15_bep5a01d.bin", 0x000003, 0x100000, CRC(ac904dc8) SHA1(165f66423a9c9231baa4e8b2e465d7f10f61202d) ) + ROM_LOAD32_BYTE( "u08_bep5a01d.bin", 0x400000, 0x100000, CRC(1f19cba6) SHA1(201975c7b440d2f53439e7383fb49b921015f22c) ) + ROM_LOAD32_BYTE( "u10_bep5a01d.bin", 0x400001, 0x100000, CRC(940bb1b2) SHA1(a57d6e5d3872787ff1821cbc80032269b378ecf0) ) + ROM_LOAD32_BYTE( "u12_bep5a01d.bin", 0x400002, 0x100000, CRC(07851214) SHA1(d088243f11ba51c79796986e99f0aa34d0d697d6) ) + ROM_LOAD32_BYTE( "u14_bep5a01d.bin", 0x400003, 0x100000, CRC(16a5ce9c) SHA1(3551e6eb7ff34f9ea70b7e6e940044ea1b4c59bb) ) ROM_REGION( 0x400000, "u18u21", 0 ) // sound - ROM_LOAD( "u18.bin", 0x0000, 0x100000, CRC(77d6c103) SHA1(667c4c77eeba3af9c8c772a9ffe2941f8f3df38f) ) - ROM_LOAD( "u19.bin", 0x0000, 0x100000, CRC(36371ef6) SHA1(83a454a71e01962937b23817419fe2e071f077ee) ) - ROM_LOAD( "u20.bin", 0x0000, 0x100000, CRC(d9548179) SHA1(12537373a6a3f79952d2c7c48d41e156fc578902) ) - ROM_LOAD( "u21.bin", 0x0000, 0x100000, CRC(3a620cc6) SHA1(1dced1a40c6b3d734ea463fe58bdd9ee9e3b8822) ) + ROM_LOAD( "u18_bep_aa_a.bin", 0x000000, 0x100000, CRC(a0c6dafd) SHA1(9a09224b2d91cbf4efad5563a7633b973b0e5ce1) ) + ROM_LOAD( "u19_bep_aa_a.bin", 0x000000, 0x100000, CRC(69f1f267) SHA1(4fa837bf285670ed26ed0f0dada5e2a54ca7f142) ) + ROM_LOAD( "u20_bep_aa_a.bin", 0x000000, 0x100000, CRC(3dc030aa) SHA1(f01305fb187ae150b1264e8b72439e638772fbcc) ) + ROM_LOAD( "u21_bep_aa_a.bin", 0x000000, 0x100000, CRC(791c809a) SHA1(68af52cb2032a0c3f76030681baaaac8fb0bf51b) ) ROM_END -ROM_START( cfbluea ) - ROM_REGION( 0x100000, "maincpu", 0 ) /* Z8018010VSC code (Z180) */ - ROM_LOAD( "u2-80.bin", 0x0000, 0x100000, CRC(4ee3805e) SHA1(45d9438a26230f50013feda1b2c68ab2f8d4f419) ) + +// Beetlemania +ROM_START( atrbtlma ) + ROM_REGION( 0x100000, "maincpu", 0 ) // Z8018010VSC code (Z180) + ROM_LOAD( "mu2.080", 0x000000, 0x100000, CRC(689901a5) SHA1(be9b1f799c108259d0f5c0e9e423b316bb390baf) ) ROM_REGION( 0x020000, "u6", 0 ) // config? - ROM_LOAD( "u6-10.bin", 0x0000, 0x020000, CRC(0db0531d) SHA1(391e41b2dcd38669dcc24e938e9838feee972559) ) - ROM_LOAD( "u6low-10.bin", 0x0000, 0x020000, CRC(3cbad206) SHA1(d2a468d5bfd441b74ef85be088873d1f74d5c66e) ) + ROM_LOAD( "mu6.010", 0x000000, 0x020000, CRC(1912e0df) SHA1(3e864b5535bb24793d491e8ee74973f7612a3308) ) - ROM_REGION32_LE( 0x800000, "user1", 0 ) /* TMS34020APCM-40 code (34020) */ - ROM_LOAD32_BYTE( "u9-80.bin", 0x000000, 0x100000, CRC(37b3a499) SHA1(eb3252185596dd513d3cce95f3425241ca8513ab) ) - ROM_LOAD32_BYTE( "u11-80.bin", 0x000001, 0x100000, CRC(d98b2b1d) SHA1(414d300d113e9737d63efea09b358aeb8eeed7fc) ) - ROM_LOAD32_BYTE( "u13-80.bin", 0x000002, 0x100000, CRC(478bb4a5) SHA1(94304fe1477bfc66e8dcf2c2c91226754cb8c32a) ) - ROM_LOAD32_BYTE( "u15-80.bin", 0x000003, 0x100000, CRC(cfe9e4d4) SHA1(8cd4aadd885fc5500b0a2c1e41b1f096bd4cd2b5) ) - ROM_LOAD32_BYTE( "u8-80.bin", 0x400000, 0x100000, CRC(39670383) SHA1(cd78289377c75497f96dd6b76dc717b2ddc8d9c6) ) - ROM_LOAD32_BYTE( "u10-80.bin", 0x400001, 0x100000, CRC(f9d054ae) SHA1(244733f7ee6e82fef5d0245c3fd947d369b296f9) ) - ROM_LOAD32_BYTE( "u12-80.bin", 0x400002, 0x100000, CRC(5e95768f) SHA1(ba616bf41a2bb205d366e19e773ee5f0009be212) ) - ROM_LOAD32_BYTE( "u14-80.bin", 0x400003, 0x100000, CRC(89aaf76b) SHA1(6e731ba815c20b184e44495dd2231d9ae315a146) ) + ROM_REGION32_LE( 0x800000, "user1", 0 ) // TMS34020APCM-40 code (34020) + ROM_LOAD32_BYTE( "u9.080", 0x000000, 0x100000, CRC(d3458270) SHA1(afb17ee1e568f66ac95c17afd3ae403019531caf) ) + ROM_LOAD32_BYTE( "u11.080", 0x000001, 0x100000, CRC(5a1ee58b) SHA1(8fb81a4e4d5bdd3892db33ad044137f2a43f877a) ) + ROM_LOAD32_BYTE( "u13.080", 0x000002, 0x100000, CRC(1948f27c) SHA1(414e6c507513524aa559c6cb2970f3b2d27b72a0) ) + ROM_LOAD32_BYTE( "u15.080", 0x000003, 0x100000, CRC(d1e734d8) SHA1(3b8fd88f9318ce8adc70dce93b20191f61cb0c45) ) + ROM_LOAD32_BYTE( "u8.080", 0x400000, 0x100000, CRC(075df52c) SHA1(4abd6d1080d93306fc4a741501255f56f24bef59) ) + ROM_LOAD32_BYTE( "u10.080", 0x400001, 0x100000, CRC(5eb6d001) SHA1(ae03e247995e83e355b37e477316654d157a15b6) ) + ROM_LOAD32_BYTE( "u12.080", 0x400002, 0x100000, CRC(d6a7df27) SHA1(0798de5f3676d56623933489a777795cd839a348) ) + ROM_LOAD32_BYTE( "u14.080", 0x400003, 0x100000, CRC(8c5a9df5) SHA1(81cfa3a548dc16b2e996b7e416abd43aa6f11e5f) ) - ROM_REGION( 0x400000, "u18u21", 0 ) // sound - ROM_LOAD( "u18-80.bin", 0x0000, 0x100000, CRC(77d6c103) SHA1(667c4c77eeba3af9c8c772a9ffe2941f8f3df38f) ) - ROM_LOAD( "u19-80.bin", 0x0000, 0x100000, CRC(36371ef6) SHA1(83a454a71e01962937b23817419fe2e071f077ee) ) - ROM_LOAD( "u20-80.bin", 0x0000, 0x100000, CRC(d9548179) SHA1(12537373a6a3f79952d2c7c48d41e156fc578902) ) - ROM_LOAD( "u21-80.bin", 0x0000, 0x100000, CRC(3a620cc6) SHA1(1dced1a40c6b3d734ea463fe58bdd9ee9e3b8822) ) + // sound (missing or not needed here) + + ROM_REGION( 0x400000, "pals", 0 ) // pal (converted from JED) + ROM_LOAD( "galu35.bin", 0x000000, 0x0002e5, CRC(c81159c9) SHA1(36222e0a72310986fd4a76c0677a6bd74a0ad7df) ) ROM_END -ROM_START( cfgreen ) - ROM_REGION( 0x100000, "maincpu", 0 ) /* Z8018010VSC code (Z180) */ - ROM_LOAD( "u2-80.bin", 0x0000, 0x100000, CRC(2afda383) SHA1(8a1d1a780f710119cbf7ee6a53d5de91cfe120c2) ) +// Beetles Unplugged (Russia) +ROM_START( beetleup ) + ROM_REGION( 0x100000, "maincpu", 0 ) // Z8018010VSC code (Z180) + ROM_LOAD( "u02_0-beet-a-a-cc.0def.bin", 0x000000, 0x100000, CRC(b5eedf40) SHA1(40a9baac99e9844cef5d3922c853f5e4903a7833) ) ROM_REGION( 0x020000, "u6", 0 ) // config? - ROM_LOAD( "u6-10.bin", 0x0000, 0x020000, CRC(3cbad206) SHA1(d2a468d5bfd441b74ef85be088873d1f74d5c66e) ) + ROM_LOAD( "u06_n5b0-a-04-b.65aa.bin", 0x000000, 0x020000, CRC(d68d08e4) SHA1(548577d43f4136cf16266fe6855898a30fa49965) ) + ROM_LOAD( "u06_n5b0-a-05-b.648f.bin", 0x000000, 0x020000, CRC(2d2ff35f) SHA1(97759fbad4b6b30ca8f8ea74da74cfaa433a7fa2) ) + ROM_LOAD( "u06_n5b0-a-06-b.64 56.bin", 0x000000, 0x020000, CRC(7b4a6a97) SHA1(e3d54476730ca34a9f7214219cf991a220e15d5c) ) - ROM_REGION32_LE( 0x800000, "user1", 0 ) /* TMS34020APCM-40 code (34020) */ - ROM_LOAD32_BYTE( "u9-80.bin", 0x000000, 0x100000, CRC(19a47a1b) SHA1(ae9ad2027fddf96062833345a5e2b9e7101b3380) ) - ROM_LOAD32_BYTE( "u11-80.bin", 0x000001, 0x100000, CRC(7d805f07) SHA1(0bb27a702e45d3d660363ac75c0f52f07248d40a) ) - ROM_LOAD32_BYTE( "u13-80.bin", 0x000002, 0x100000, CRC(104110dc) SHA1(9322598a94e3c71f546da3b42f137a22fc78a894) ) - ROM_LOAD32_BYTE( "u15-80.bin", 0x000003, 0x100000, CRC(c752e5b1) SHA1(98832603529c99d83885a9b72bf30aa5eb1eee93) ) - ROM_LOAD32_BYTE( "u8-80.bin", 0x400000, 0x100000, CRC(63e91841) SHA1(a9644b4ed37c2143273e782bd0e85906466c1173) ) - ROM_LOAD32_BYTE( "u10-80.bin", 0x400001, 0x100000, CRC(b198a826) SHA1(361f9a055633831f45b148ca5e23cbb9be97c95f) ) - ROM_LOAD32_BYTE( "u12-80.bin", 0x400002, 0x100000, CRC(9eb176c4) SHA1(73dea223338235a3ebd224c210df4923dbb01b56) ) - ROM_LOAD32_BYTE( "u14-80.bin", 0x400003, 0x100000, CRC(ad654d75) SHA1(31804c2fae178b2614759542cba1af34b82e5f12) ) + ROM_REGION32_LE( 0x800000, "user1", 0 ) // TMS34020APCM-40 code (34020) + ROM_LOAD32_BYTE( "u09_7b88.bin", 0x000000, 0x100000, CRC(8443972b) SHA1(5f2eea84ba18a83502f36eeaa52cff49a1631668) ) + ROM_LOAD32_BYTE( "u11_1957.bin", 0x000001, 0x100000, CRC(36c7e5c5) SHA1(2bad0bb6b363af6a37f5b11c7ca8b3b674df4072) ) + ROM_LOAD32_BYTE( "u13_b661.bin", 0x000002, 0x100000, CRC(0e74726c) SHA1(3103d801a622315877fc09d9c99290b54b266885) ) + ROM_LOAD32_BYTE( "u15_fd57.bin", 0x000003, 0x100000, CRC(9eabc514) SHA1(ed89b068b381ad4e007352bddf3aebe10ebebf4a) ) + ROM_LOAD32_BYTE( "u08_5804.bin", 0x400000, 0x100000, CRC(65a020e3) SHA1(2bb781905338e2d444222095d8430137632fae3d) ) + ROM_LOAD32_BYTE( "u10_647c.bin", 0x400001, 0x100000, CRC(c46c064d) SHA1(6181cf0e1d53f0a79c266b4f87d3b0c32313c593) ) + ROM_LOAD32_BYTE( "u12_07f3.bin", 0x400002, 0x100000, CRC(cefdfdad) SHA1(2032e0942f52d025f8da225c31ca7f7121c7b7f8) ) + ROM_LOAD32_BYTE( "u14_fe27.bin", 0x400003, 0x100000, CRC(50cfd898) SHA1(8b881ae8c60f215bb0f75e14493ee4a0c9f2b364) ) ROM_REGION( 0x400000, "u18u21", 0 ) // sound - ROM_LOAD( "u18-80.bin", 0x0000, 0x100000, CRC(40a74e38) SHA1(6ea3458c449434353bbc7d03bbd7a83294584603) ) - ROM_LOAD( "u19-80.bin", 0x0000, 0x100000, CRC(6769a6c2) SHA1(5eddf6a86897b39a6c75462b5047d5175b543b18) ) - ROM_LOAD( "u20-80.bin", 0x0000, 0x100000, CRC(9c3288a0) SHA1(feb3b9fefd38052a5fd2fcee6a653c6043ff1759) ) - ROM_LOAD( "u21-80.bin", 0x0000, 0x100000, CRC(71367522) SHA1(0d82940ff87396e8722f8250cd4961d11dfa46a0) ) + ROM_LOAD( "u18_f978.bin", 0x000000, 0x100000, CRC(afa9a1a8) SHA1(a06bdd776ca7ba9e9ceecc0935761e6d88cad90e) ) + ROM_LOAD( "u19_8766.bin", 0x000000, 0x100000, CRC(f63ed18c) SHA1(59d05582bbd125009a6bc226ec0ef2120c768694) ) + ROM_LOAD( "u20_26f0.bin", 0x000000, 0x100000, CRC(39f8e6d9) SHA1(59cd29d08610f601e3228364ae52a4e49e325f40) ) + ROM_LOAD( "u21_ea59.bin", 0x000000, 0x100000, CRC(0bd2f188) SHA1(f29a67c3cd36e7ee6fd7ef72a7724dc9df5b5657) ) ROM_END -ROM_START( chicken ) - ROM_REGION( 0x100000, "maincpu", 0 ) /* Z8018010VSC code (Z180) */ - ROM_LOAD( "u2-80.bin", 0x0000, 0x100000, CRC(51430fa1) SHA1(cb4357cc0b5c05704c984c9ab373201612f7d340) ) +// Big Blue (Russia) +ROM_START( bigblue ) + ROM_REGION( 0x100000, "maincpu", 0 ) // Z8018010VSC code (Z180) + ROM_LOAD( "o_-bbbu01-adbaa-cb-std_.8mu02.bin", 0x000000, 0x100000, CRC(62d08d90) SHA1(fa563dd59eacd3021744863245aa7f82dea2c266) ) ROM_REGION( 0x020000, "u6", 0 ) // config? - ROM_LOAD( "u6-10.bin", 0x0000, 0x020000, CRC(bac68023) SHA1(fdc5d540ceb4a2d44013dfd59b46103ec6745dea) ) + ROM_LOAD( "big blue bags.bin", 0x000000, 0x020000, CRC(4ec3fc1c) SHA1(7a081d370c54a6ea333957958b1341560458e845) ) + ROM_LOAD( "bbbu01-c-za-std_-5-xx-xx-axx.1mu06.bin", 0x000000, 0x020000, CRC(09e6df0b) SHA1(85961160f95cb8d223f73483d6edad79fa37d729) ) - ROM_REGION32_LE( 0x800000, "user1", 0 ) /* TMS34020APCM-40 code (34020) */ - ROM_LOAD32_BYTE( "u9-80.bin", 0x000000, 0x100000, CRC(1109b7d6) SHA1(c0f6f5d56ee95982688b595894a2985ef53629e7) ) - ROM_LOAD32_BYTE( "u11-80.bin", 0x000001, 0x100000, CRC(5a1449f6) SHA1(3903858239223c37615f12a8db6a8e873722e34c) ) - ROM_LOAD32_BYTE( "u13-80.bin", 0x000002, 0x100000, CRC(e1081c7a) SHA1(dd6390d64cda9af93093092361ca24b551d82549) ) - ROM_LOAD32_BYTE( "u15-80.bin", 0x000003, 0x100000, CRC(2f3930db) SHA1(6dbc3b4c3d43fc6ecec6082dbb1e1d29df43d50e) ) - ROM_LOAD32_BYTE( "u8-80.bin", 0x400000, 0x100000, CRC(d560038c) SHA1(dece84d3e0691d53806382091dfd540dee1a3cdf) ) - ROM_LOAD32_BYTE( "u10-80.bin", 0x400001, 0x100000, CRC(5c6c3a8d) SHA1(43be71f50318d12e4d55b9e1df34b0bfdb719fdf) ) - ROM_LOAD32_BYTE( "u12-80.bin", 0x400002, 0x100000, CRC(a5a119e2) SHA1(decac8c7cea764224ed7e2da8af4f551f99739e6) ) - ROM_LOAD32_BYTE( "u14-80.bin", 0x400003, 0x100000, CRC(9008b8b3) SHA1(b4dd717f46018a7005eff5dc6655d3d473311c16) ) + ROM_REGION32_LE( 0x800000, "user1", 0 ) // TMS34020APCM-40 code (34020) + ROM_LOAD32_BYTE( "bbbu01-a_-a-std_-5_.8gu09.bin", 0x000000, 0x100000, CRC(6f11b908) SHA1(663382bc295615afbc3a9a39c7089470b8b55926) ) + ROM_LOAD32_BYTE( "bbbu01-a_-a-std_-5_.8gu11.bin", 0x000001, 0x100000, CRC(4cddcb5a) SHA1(e23354ab36f814b22c39564111558d4935fe8d70) ) + ROM_LOAD32_BYTE( "bbbu01-a_-a-std_-5_.8gu13.bin", 0x000002, 0x100000, CRC(3a6dd649) SHA1(0f2b6cdf4f10ded99adc4fe0b47e4fada4aa6643) ) + ROM_LOAD32_BYTE( "bbbu01-a_-a-std_-5_.8gu15.bin", 0x000003, 0x100000, CRC(2efd2269) SHA1(3923ec31e245c29786cd67a89d582bc051967580) ) + ROM_LOAD32_BYTE( "bbbu01-a_-a-std_-5_.8gu08.bin", 0x400000, 0x100000, CRC(32f01864) SHA1(f515cfa2ecdc239b441f6f5f7033516e88030ad6) ) + ROM_LOAD32_BYTE( "bbbu01-a_-a-std_-5_.8gu10.bin", 0x400001, 0x100000, CRC(97efddfd) SHA1(1303733596b725b705fa9dfd4150b4a6df9d4172) ) + ROM_LOAD32_BYTE( "bbbu01-a_-a-std_-5_.8gu12.bin", 0x400002, 0x100000, CRC(36c4f212) SHA1(1e7ea33114f1ca836849242d717023b1315a466e) ) + ROM_LOAD32_BYTE( "bbbu01-a_-a-std_-5_.8gu14.bin", 0x400003, 0x100000, CRC(bde8af9e) SHA1(095e567d35c45ae5e377cdf07ab77f6781e39cca) ) ROM_REGION( 0x400000, "u18u21", 0 ) // sound - ROM_LOAD( "u18-80.bin", 0x0000, 0x100000, CRC(12c922c1) SHA1(d463328a203667dad42a7cbfb6853289095fa4c9) ) - ROM_LOAD( "u19-80.bin", 0x0000, 0x100000, CRC(5e9c8810) SHA1(711c85a81dc61290fc43b56ccd955b4e46caee32) ) - ROM_LOAD( "u20-80.bin", 0x0000, 0x100000, CRC(4ce349e4) SHA1(4499e570211aeed44db93a7c3b7b5d0b4390b0ca) ) - ROM_LOAD( "u21-80.bin", 0x0000, 0x100000, CRC(6c7343cf) SHA1(28c282857f0c29198865444061fcf37e84697cf7) ) + ROM_LOAD( "bbbu01-ba-a-std_-_.8su18.bin", 0x000000, 0x100000, CRC(451687c9) SHA1(5165586a7ab69529396e4b387002e1dcbe3d892d) ) + ROM_LOAD( "bbbu01-ba-a-std_-_.8su19.bin", 0x000000, 0x100000, CRC(bb0029ec) SHA1(ab460d40ee46ee43b195b7a2ece42bcaaa043892) ) + ROM_LOAD( "bbbu01-ba-a-std_-_.8su20.bin", 0x000000, 0x100000, CRC(fb1bd294) SHA1(78dcaffc56f56d2b31d0c20d48d91696910be160) ) + ROM_LOAD( "bbbu01-ba-a-std_-_.8su21.bin", 0x000000, 0x100000, CRC(ec6d68ea) SHA1(91167b6379a6e1748e635c4b2b603a39fb6b049d) ) ROM_END -ROM_START( aclown ) - ROM_REGION( 0x100000, "maincpu", 0 ) /* Z8018010VSC code (Z180) */ - ROM_LOAD( "u2-80.bin", 0x0000, 0x100000, CRC(162915c4) SHA1(333d2ac8323eaaa0c7b85804b7d4ceef347118d1) ) +// Bonus Poker +ROM_START( atrbonpk ) + ROM_REGION( 0x100000, "maincpu", 0 ) // Z8018010VSC code (Z180) + ROM_LOAD( "mb-u2.bin", 0x000000, 0x80000, CRC(7f9d9d3c) SHA1(501d3f1482b3c67cbc94a3af40ef31fb5a6e7921) ) - ROM_REGION( 0x020000, "u6", 0 ) // config? - ROM_LOAD( "u6-10.bin", 0x0000, 0x020000, CRC(ab86b3d4) SHA1(b0d32887674f971a3ccd482775ec3f978a2ea0c1) ) + ROM_REGION( 0x080000, "u6", 0 ) // config? + ROM_LOAD( "mb-u6.bin", 0x000000, 0x080000, CRC(0b8d47ba) SHA1(aa1d5b37c330f4f44c1af5caca24bbf670c0bbcb) ) - ROM_REGION32_LE( 0x800000, "user1", 0 ) /* TMS34020APCM-40 code (34020) */ - ROM_LOAD32_BYTE( "u9-80.bin", 0x000000, 0x100000, CRC(8bcbb27f) SHA1(d953268213580af11a2cc0dbd8bf1652f97f3929) ) - ROM_LOAD32_BYTE( "u11-80.bin", 0x000001, 0x100000, CRC(73fb3169) SHA1(8bbe5d8b8898e2d3368506e7b66d05b8f8ac7d02) ) - ROM_LOAD32_BYTE( "u13-80.bin", 0x000002, 0x100000, CRC(47580998) SHA1(37a6e409618aa3fe7d24bd3580fa93269895b059) ) - ROM_LOAD32_BYTE( "u15-80.bin", 0x000003, 0x100000, CRC(948e3737) SHA1(43225f114a3ae66caf95821a1e8a01f1a129e38d) ) - ROM_LOAD32_BYTE( "u8-80.bin", 0x400000, 0x100000, CRC(b4607b04) SHA1(81eff1246c68017e123fbfa46b4b8234808727d7) ) - ROM_LOAD32_BYTE( "u10-80.bin", 0x400001, 0x100000, CRC(df875d3b) SHA1(262ec7db996f13fa32d17c1c5d0c89c2f98ca1cc) ) - ROM_LOAD32_BYTE( "u12-80.bin", 0x400002, 0x100000, CRC(dbab3a76) SHA1(a85b76ade2d410cbbee7a62de96bed333ce23dc3) ) - ROM_LOAD32_BYTE( "u14-80.bin", 0x400003, 0x100000, CRC(f3a6bbd5) SHA1(5a9e81ee9ce533b3ab1aeaa4ca9185f5bf0b2a65) ) + ROM_REGION( 0x2e5, "mbpals", 0 ) + ROM_LOAD( "mb-u22-d.bin", 0x000, 0x117, CRC(dc097847) SHA1(305294284d0ffd578f9115b836ef1f9e906c1599) ) + ROM_LOAD( "mb-u32-i.bin", 0x000, 0x2e5, CRC(996854bc) SHA1(647d2f49b739f7ca55c0b85290b6a21256834fd8)) + ROM_LOAD( "mb-u35-poke-s6366.bin", 0x000, 0x2e5, CRC(996854bc) SHA1(647d2f49b739f7ca55c0b85290b6a21256834fd8) ) - ROM_REGION( 0x400000, "u18u21", 0 ) // sound - ROM_LOAD( "u18-80.bin", 0x0000, 0x100000, CRC(c3efd917) SHA1(7f675c27d616a489c22544e98f726a62cfcb1bdf) ) - ROM_LOAD( "u19-80.bin", 0x0000, 0x100000, CRC(a6e90bbf) SHA1(4aa4746b3d474caf653396171b42b56a3e16caa3) ) - ROM_LOAD( "u20-80.bin", 0x0000, 0x100000, CRC(fef1ae8e) SHA1(efc5c289be052c56b5cb7976da25bd5bfacd97fc) ) - ROM_LOAD( "u21-80.bin", 0x0000, 0x100000, CRC(47108677) SHA1(864f767c54c0f9ff63fad3829e828abbd5e84f0b) ) -ROM_END + ROM_REGION( 0x117, "gfxpals", 0 ) + ROM_LOAD( "u2-f.bin", 0x000, 0x117, CRC(eb5548c2) SHA1(7ccc6a7de0c0765e0da3563f3ee83dd99acc50bf) ) + ROM_LOAD( "u3-i.bin", 0x000, 0x117, CRC(769f7b32) SHA1(72df7c92367403a95c5bda3d6a643cc8fc24e153) ) + ROM_LOAD( "u4-c.bin", 0x000, 0x117, CRC(91e043ea) SHA1(d4d0c721c6c37cbe8babe148bc9887038cdf4820) ) + ROM_LOAD( "u5-a.bin", 0x000, 0x117, CRC(18ffc746) SHA1(e32dd74fb535fd4a754579173a788712b3e6ec30) ) + ROM_LOAD( "u6-b.bin", 0x000, 0x117, CRC(2750fb0a) SHA1(3814c4755a215073425a9d6bb048315498962c76) ) + ROM_LOAD( "u7-a.bin", 0x000, 0x117, CRC(adcb2789) SHA1(cc2ebd69abec73d66665faaec19b8706e539b34c) ) + ROM_REGION32_LE( 0x800000, "user1", 0 ) // TMS34020APCM-40 code (34020) + ROM_LOAD32_BYTE( "u9.bin", 0x400000, 0x080000, CRC(5b8450f1) SHA1(27fc771c3fb824cdb845237324984778fcd0a737) ) + ROM_LOAD32_BYTE( "u11.bin", 0x400001, 0x080000, CRC(c8c52bd1) SHA1(081b8b4c46f18d030329bf519a8ed50385f7c062) ) + ROM_LOAD32_BYTE( "u13.bin", 0x400002, 0x080000, CRC(23164a85) SHA1(e6de6aac28f1dac9ea908aaab9760b56ded1bb91) ) + ROM_LOAD32_BYTE( "u15.bin", 0x400003, 0x080000, CRC(aabbb4ff) SHA1(4a13475929141a4824b15347873cf330f7f7b0d0) ) + ROM_LOAD32_BYTE( "u8.bin", 0x600000, 0x080000, CRC(d6dfde87) SHA1(f3221adecb67ee593d52a1bbbdcee78dde497dbd) ) + ROM_LOAD32_BYTE( "u10.bin", 0x600001, 0x080000, CRC(d81a1f77) SHA1(c3ec3a06dacc3f528c9bcfa7a18e25e0126b1d85) ) + ROM_LOAD32_BYTE( "u12.bin", 0x600002, 0x080000, CRC(4b24dc03) SHA1(f875f09c6d44821b169e111cb1ea3d9716746d5f) ) + ROM_LOAD32_BYTE( "u14.bin", 0x600003, 0x080000, CRC(a6dc78ff) SHA1(96457601e7f90ce14a88765f70accc07d7236d30) ) + // no dedicated sound ROM board present in cage, missing or not needed here? there is an OKI M6585 on the mainboard +ROM_END -ROM_START( goldglen ) - ROM_REGION( 0x100000, "maincpu", 0 ) /* Z8018010VSC code (Z180) */ - ROM_LOAD( "u2-80.bin", 0x0000, 0x100000, CRC(94c48e59) SHA1(b660d81f1659004e08df402ef9da61a1f4818b48) ) + +// Castaway (Russia) (set 1) +ROM_START( castaway ) + ROM_REGION( 0x100000, "maincpu", 0 ) // Z8018010VSC code (Z180) + ROM_LOAD( "u2.8 o-cast-b-a-cc", 0x000000, 0x100000, CRC(8f103bb3) SHA1(65596aff9cfb2345a36a0e2a2b03a2b4310d421c) ) ROM_REGION( 0x020000, "u6", 0 ) // config? - ROM_LOAD( "u6-10.bin", 0x0000, 0x020000, CRC(94409a39) SHA1(99af058e48147fc75a8c23e4f1a28484f3d5f625) ) + ROM_LOAD( "u6.1 c5bo-a-03-a", 0x000000, 0x020000, CRC(3917302a) SHA1(39b0672c36554712825a0e310522933be4b46d84) ) - ROM_REGION32_LE( 0x800000, "user1", 0 ) /* TMS34020APCM-40 code (34020) */ - ROM_LOAD32_BYTE( "u9-80.bin", 0x000000, 0x100000, CRC(01e69d2d) SHA1(a6e6974aec52931aeeb1f90d8f917ab85ebe843e) ) - ROM_LOAD32_BYTE( "u11-80.bin", 0x000001, 0x100000, CRC(6c39a180) SHA1(95f91ec10961d36c86dee5ce42fc7c8ab693e271) ) - ROM_LOAD32_BYTE( "u13-80.bin", 0x000002, 0x100000, CRC(e60a093f) SHA1(fa0af661f869f80e11097e101ec6100a75d1e63f) ) - ROM_LOAD32_BYTE( "u15-80.bin", 0x000003, 0x100000, CRC(9877e8aa) SHA1(2073d451446709d92700cf4afb68e5b04580c620) ) - ROM_LOAD32_BYTE( "u8-80.bin", 0x400000, 0x100000, CRC(631d617c) SHA1(44cbd9a8275537f2f8804b1d17645f74cd12fdb1) ) - ROM_LOAD32_BYTE( "u10-80.bin", 0x400001, 0x100000, CRC(cdd5e435) SHA1(659b29ab16d5a3878e4984599e83f8d1cf377ca7) ) - ROM_LOAD32_BYTE( "u12-80.bin", 0x400002, 0x100000, CRC(dcb50d70) SHA1(7f8c36d5dea9c3ce61c31aef7b310f546095d72e) ) - ROM_LOAD32_BYTE( "u14-80.bin", 0x400003, 0x100000, CRC(6c0277b1) SHA1(266c6eb08cb3d9e49cf397a7e01785627892200e) ) + ROM_REGION32_LE( 0x800000, "user1", 0 ) // TMS34020APCM-40 code (34020) + ROM_LOAD32_BYTE( "u9.8 cw5_b-03-b", 0x000000, 0x100000, CRC(c49aaf25) SHA1(5518312046208b4f912e9dee2ff24653a9976c6f) ) + ROM_LOAD32_BYTE( "u11.8 cw5_b-03-b", 0x000001, 0x100000, CRC(24267b4b) SHA1(9103923dd1bba0b01f6020f7c357ac9b7bef4951) ) + ROM_LOAD32_BYTE( "u13.8 cw5_b-03-b", 0x000002, 0x100000, CRC(3e606516) SHA1(5edad0a3099700bfeedff5a143591a85b3c4f582) ) + ROM_LOAD32_BYTE( "u15.8 cw5_b-03-b", 0x000003, 0x100000, CRC(7211abc5) SHA1(acaa9ad55abeb34e2d97b419f5213e44e80adde0) ) + ROM_LOAD32_BYTE( "u8.8 cw5_b-03-b", 0x400000, 0x100000, CRC(03839c9e) SHA1(56ad8843192ca47c1d467c69ab2d13189a19a905) ) + ROM_LOAD32_BYTE( "u10.8 cw5_b-03-b", 0x400001, 0x100000, CRC(cbe7399e) SHA1(da829dcab116b48a56526750546287e33d3de3c7) ) + ROM_LOAD32_BYTE( "u12.8 cw5_b-03-b", 0x400002, 0x100000, CRC(770e92de) SHA1(c358b0f528fc5c1efd2dd4a0563e958d90b55d64) ) + ROM_LOAD32_BYTE( "u14.8 cw5_b-03-b", 0x400003, 0x100000, CRC(dadd0d0b) SHA1(87750c506f6429f382149d205849663b622abda3) ) ROM_REGION( 0x400000, "u18u21", 0 ) // sound - ROM_LOAD( "u18-80.bin", 0x0000, 0x100000, CRC(2afed5cf) SHA1(633214458cd47666675464fb3621aaffbe0ca63a) ) - ROM_LOAD( "u19-80.bin", 0x0000, 0x100000, CRC(70279081) SHA1(15933d81af85b2c6f831e765f2a4e4f0e44fdc18) ) - ROM_LOAD( "u20-80.bin", 0x0000, 0x100000, CRC(0bcaa5b2) SHA1(c964b7ec99cfc641f91c1a483e68999fc3e23fa4) ) - ROM_LOAD( "u21-80.bin", 0x0000, 0x100000, CRC(e2aad0ee) SHA1(2678ae011a820da644e78e0c5d2a6af39c35ac4d) ) + ROM_LOAD( "u18.8 castaa_a", 0x000000, 0x100000, CRC(98b0a1f3) SHA1(2a6298a82dc549078857e43d60e692062b1cd022) ) + ROM_LOAD( "u19.8 castaa_a", 0x000000, 0x100000, CRC(2c7aa4a4) SHA1(7e495ce9e18ae759e9ecf21f55c6bc7c7b06a92d) ) + ROM_LOAD( "u20.8 castaa_a", 0x000000, 0x100000, CRC(cbb5824d) SHA1(626fd9c0f76942c7c040743519e2af867afed75a) ) + ROM_LOAD( "u21.8 castaa_a", 0x000000, 0x100000, CRC(31554b6b) SHA1(6af8dc72e0fcec7f73b54b728f8c61a51f5f0d48) ) ROM_END -ROM_START( iccash ) - ROM_REGION( 0x100000, "maincpu", 0 ) /* Z8018010VSC code (Z180) */ - ROM_LOAD( "u2-80.bin", 0x0000, 0x100000, CRC(27b1c41e) SHA1(55a24301578b2d4e46948362aab8bfbb2918169a) ) +// Castaway (Russia) (set 2) +ROM_START( castawaya ) // bad dump? (ROMs all look incorrect size to me) + ROM_REGION( 0x100000, "maincpu", 0 ) // Z8018010VSC code (Z180) + ROM_LOAD( "u-2 m27c801.bin", 0x000000, 0x080000, CRC(55b61206) SHA1(abdbe887a6739dbc9f51838b31d23d3c8d8f03dd) ) - ROM_REGION( 0x020000, "u6", 0 ) // config? - ROM_LOAD( "u6-10.bin", 0x0000, 0x020000, CRC(5e7d8a05) SHA1(255355cf594c2818d358860e616b5b578a87e974) ) + ROM_REGION( 0x080000, "u6", 0 ) // config? + ROM_LOAD( "u-6 m27c801.bin", 0x000000, 0x080000, CRC(86538b30) SHA1(6b8d732b59af2cc1a6524989f8cf12a4d4dac484) ) - ROM_REGION32_LE( 0x800000, "user1", 0 ) /* TMS34020APCM-40 code (34020) */ - ROM_LOAD32_BYTE( "u9-80.bin", 0x000000, 0x100000, CRC(db77fe46) SHA1(2502c5c165a9720e5ff1196eaa17189281c3145c) ) - ROM_LOAD32_BYTE( "u11-80.bin", 0x000001, 0x100000, CRC(3a512c6c) SHA1(ba8592773d71e57b3dc6aaff7df1214a57429b10) ) - ROM_LOAD32_BYTE( "u13-80.bin", 0x000002, 0x100000, CRC(75fadda8) SHA1(5a968f10e582fbe74000f3de33dc1e2d07c3fec1) ) - ROM_LOAD32_BYTE( "u15-80.bin", 0x000003, 0x100000, CRC(10e5a8e7) SHA1(e91de378c9485dce080d2d00a923e75f8be30f9a) ) - ROM_LOAD32_BYTE( "u8-80.bin", 0x400000, 0x100000, CRC(0ac57377) SHA1(cbbac3434b5b46f30abe880990300bf0a0393557) ) - ROM_LOAD32_BYTE( "u10-80.bin", 0x400001, 0x100000, CRC(03c67464) SHA1(d5a1e657140a31c3f77c6490bcf35075d0546b71) ) - ROM_LOAD32_BYTE( "u12-80.bin", 0x400002, 0x100000, CRC(622992ef) SHA1(6a31212436dcda308f1f78abff714bbd97df71ef) ) - ROM_LOAD32_BYTE( "u14-80.bin", 0x400003, 0x100000, CRC(ce62e7f9) SHA1(af9eeb7bdb76870e914f1233c9fd496d6c33a615) ) + ROM_REGION32_LE( 0x800000, "user1", 0 ) // TMS34020APCM-40 code (34020) + // seem to be half size, doesn't have the TMS vectors + ROM_LOAD32_BYTE( "u-9 m27c801.bin", 0x000000, 0x080000, BAD_DUMP CRC(4a5efe38) SHA1(23e82eeadccdd0224858686b1d96bd5d184904cb) ) + ROM_LOAD32_BYTE( "u-11 m27c801.bin", 0x000001, 0x080000, BAD_DUMP CRC(099e27e2) SHA1(4419ac8090ccab673e61f4f73c837971e341e7e2) ) + ROM_LOAD32_BYTE( "u-13 m27c801.bin", 0x000002, 0x080000, BAD_DUMP CRC(f65eb71f) SHA1(9e116cc2b6768c1525759735eecc05db5906f2dc) ) + ROM_LOAD32_BYTE( "u-15 m27c801.bin", 0x000003, 0x080000, BAD_DUMP CRC(319c8bb6) SHA1(8de3c66b375f0ff200ff240765c6f37609c4935e) ) + ROM_LOAD32_BYTE( "u-8 m27c801.bin", 0x400000, 0x080000, BAD_DUMP CRC(74e21aeb) SHA1(dce3b413c6efdc2d85357dd1f9e4e2808aef4f7e) ) + ROM_LOAD32_BYTE( "u-10 m27c801.bin", 0x400001, 0x080000, BAD_DUMP CRC(45294960) SHA1(1b5b33ef730c44a4800e80891369d4e21e1729d2) ) + ROM_LOAD32_BYTE( "u-12 m27c801.bin", 0x400002, 0x080000, BAD_DUMP CRC(be19a02c) SHA1(8968d4ec5ff58dcf50c3c9ac9601c6416399091d) ) + ROM_LOAD32_BYTE( "u-14 m27c801.bin", 0x400003, 0x080000, BAD_DUMP CRC(cda73f12) SHA1(dd5556d7e19ef1a9fec1b914a7464fbc4f97effe) ) ROM_REGION( 0x400000, "u18u21", 0 ) // sound - ROM_LOAD( "u18-80.bin", 0x0000, 0x100000, CRC(8e322415) SHA1(14685d1f426187d1fbe878713cd60ece177fdd1b) ) - ROM_LOAD( "u19-80.bin", 0x0000, 0x100000, CRC(8ce5ba46) SHA1(012d8686291d9078be8a489e21180681ace06b8b) ) - ROM_LOAD( "u20-80.bin", 0x0000, 0x100000, CRC(be59025d) SHA1(b64c707129c1418833c1b5601d0a194c2e29d9a8) ) - ROM_LOAD( "u21-80.bin", 0x0000, 0x100000, CRC(d6b79eae) SHA1(a128adbca125f3811edc8c7042bf41b45dc61083) ) + ROM_LOAD( "u-18 m27c801.bin", 0x000000, 0x080000, BAD_DUMP CRC(2e3d7181) SHA1(eed1a1594405f416efb379e134c12be89d495402) ) + ROM_LOAD( "u-19 m27c801.bin", 0x000000, 0x080000, BAD_DUMP CRC(a3c906f6) SHA1(25314d79f420c177424bf1de492ba8d9a928f643) ) + ROM_LOAD( "u-20 m27c801.bin", 0x000000, 0x080000, BAD_DUMP CRC(ec395eaa) SHA1(fa27b928971c039fb1586631f136bd7577be1c57) ) + ROM_LOAD( "u-21 m27c801.bin", 0x000000, 0x080000, BAD_DUMP CRC(324d0539) SHA1(71639e3fc40c09e07221524580046dc2447b43f1) ) + + ROM_REGION( 0x400000, "others", 0 ) + ROM_LOAD( "ds1225y.bin", 0x000000, 0x002000, CRC(76af0395) SHA1(ce6aef5349b155f8e103bb4dd33933c501a490ae) ) + ROM_LOAD( "ds1386-32k.bin", 0x000000, 0x002000, CRC(4e28ebc9) SHA1(dfd60c53ffdd0b44b7f894e19b212bc88e81192f) ) ROM_END -ROM_START( shpinxii ) - ROM_REGION( 0x100000, "maincpu", 0 ) /* Z8018010VSC code (Z180) */ - ROM_LOAD( "u2-80.bin", 0x0000, 0x100000, CRC(943d35a7) SHA1(17ead3a7f084b5e384f99903f57360ff9e133026) ) +// Chicken (Russia) +ROM_START( chicken ) + ROM_REGION( 0x100000, "maincpu", 0 ) // Z8018010VSC code (Z180) + ROM_LOAD( "u2-80.bin", 0x000000, 0x100000, CRC(51430fa1) SHA1(cb4357cc0b5c05704c984c9ab373201612f7d340) ) ROM_REGION( 0x020000, "u6", 0 ) // config? - ROM_LOAD( "u6-10.bin", 0x0000, 0x020000, CRC(4d37999a) SHA1(678dc788cfe00ab2599df08941660324793d7f6c) ) - ROM_LOAD( "sphinx ii.bin", 0x0000, 0x020000, CRC(7fae09a6) SHA1(5c26798337d3691d81f853ee447cb7119fce7b14) ) + ROM_LOAD( "u6-10.bin", 0x000000, 0x020000, CRC(bac68023) SHA1(fdc5d540ceb4a2d44013dfd59b46103ec6745dea) ) - ROM_REGION32_LE( 0x800000, "user1", 0 ) /* TMS34020APCM-40 code (34020) */ - ROM_LOAD32_BYTE( "u9-80.bin", 0x000000, 0x100000, CRC(c54e4e07) SHA1(1249494773dae044a7bb4381b084e3d2e14367d7) ) - ROM_LOAD32_BYTE( "u11-80.bin", 0x000001, 0x100000, CRC(5c1e82ab) SHA1(f22ba1dc6799388e855d8f3064b96d568619a75b) ) - ROM_LOAD32_BYTE( "u13-80.bin", 0x000002, 0x100000, CRC(fb49ae3e) SHA1(bf0cb5815639ebc3db3333249ab2ed81d3bdc684) ) - ROM_LOAD32_BYTE( "u15-80.bin", 0x000003, 0x100000, CRC(ac741fb5) SHA1(a52eaa4a43cd522885d5d9b024c0646279dffe25) ) - ROM_LOAD32_BYTE( "u8-80.bin", 0x400000, 0x100000, CRC(ca4c1626) SHA1(6a883f713272ea70fd0757f9d0e07379925973a3) ) - ROM_LOAD32_BYTE( "u10-80.bin", 0x400001, 0x100000, CRC(b64deef1) SHA1(b3c4baef7137af5b25402cec474f92333d93e727) ) - ROM_LOAD32_BYTE( "u12-80.bin", 0x400002, 0x100000, CRC(cf5a97b7) SHA1(6cb490a5a0c9e908593beff3aee374eddef19a5f) ) - ROM_LOAD32_BYTE( "u14-80.bin", 0x400003, 0x100000, CRC(98730028) SHA1(86b782bea8caf33dab9656c93856fc345977f7cc) ) + ROM_REGION32_LE( 0x800000, "user1", 0 ) // TMS34020APCM-40 code (34020) + ROM_LOAD32_BYTE( "u9-80.bin", 0x000000, 0x100000, CRC(1109b7d6) SHA1(c0f6f5d56ee95982688b595894a2985ef53629e7) ) + ROM_LOAD32_BYTE( "u11-80.bin", 0x000001, 0x100000, CRC(5a1449f6) SHA1(3903858239223c37615f12a8db6a8e873722e34c) ) + ROM_LOAD32_BYTE( "u13-80.bin", 0x000002, 0x100000, CRC(e1081c7a) SHA1(dd6390d64cda9af93093092361ca24b551d82549) ) + ROM_LOAD32_BYTE( "u15-80.bin", 0x000003, 0x100000, CRC(2f3930db) SHA1(6dbc3b4c3d43fc6ecec6082dbb1e1d29df43d50e) ) + ROM_LOAD32_BYTE( "u8-80.bin", 0x400000, 0x100000, CRC(d560038c) SHA1(dece84d3e0691d53806382091dfd540dee1a3cdf) ) + ROM_LOAD32_BYTE( "u10-80.bin", 0x400001, 0x100000, CRC(5c6c3a8d) SHA1(43be71f50318d12e4d55b9e1df34b0bfdb719fdf) ) + ROM_LOAD32_BYTE( "u12-80.bin", 0x400002, 0x100000, CRC(a5a119e2) SHA1(decac8c7cea764224ed7e2da8af4f551f99739e6) ) + ROM_LOAD32_BYTE( "u14-80.bin", 0x400003, 0x100000, CRC(9008b8b3) SHA1(b4dd717f46018a7005eff5dc6655d3d473311c16) ) ROM_REGION( 0x400000, "u18u21", 0 ) // sound - ROM_LOAD( "u18-80.bin", 0x0000, 0x100000, CRC(52da6133) SHA1(51ba2c586ffeddca1d8e345c644525cbccffdba8) ) - ROM_LOAD( "u19-80.bin", 0x0000, 0x100000, CRC(3aed50bc) SHA1(c7abc91dbddf9bccac9cc9a5b73fbd9b22878ca9) ) - ROM_LOAD( "u20-80.bin", 0x0000, 0x100000, CRC(0a8ac239) SHA1(7d58abaff09a7e61d1380121d085a5601549e908) ) - ROM_LOAD( "u21-80.bin", 0x0000, 0x100000, CRC(d4621e8d) SHA1(6ec49c52b88e648dbe2fe3c47868946369d717cf) ) + ROM_LOAD( "u18-80.bin", 0x000000, 0x100000, CRC(12c922c1) SHA1(d463328a203667dad42a7cbfb6853289095fa4c9) ) + ROM_LOAD( "u19-80.bin", 0x000000, 0x100000, CRC(5e9c8810) SHA1(711c85a81dc61290fc43b56ccd955b4e46caee32) ) + ROM_LOAD( "u20-80.bin", 0x000000, 0x100000, CRC(4ce349e4) SHA1(4499e570211aeed44db93a7c3b7b5d0b4390b0ca) ) + ROM_LOAD( "u21-80.bin", 0x000000, 0x100000, CRC(6c7343cf) SHA1(28c282857f0c29198865444061fcf37e84697cf7) ) ROM_END - - - -ROM_START( beachpt ) - ROM_REGION( 0x100000, "maincpu", 0 ) /* Z8018010VSC code (Z180) */ - ROM_LOAD( "u02_o_-wave-a-b-cb-rus_.bin", 0x0000, 0x100000, CRC(b26085fc) SHA1(19f350c46088b58438dfc234d4ac543105913286) ) +// Chickendales +ROM_START( chicdale ) + ROM_REGION( 0x100000, "maincpu", 0 ) // Z8018010VSC code (Z180) + ROM_LOAD( "mu2.040", 0x000000, 0x100000, CRC(2f2670b4) SHA1(3530a3f0f149da0221e1c25351f62de0e8e6a2b7) ) + ROM_LOAD( "chick_u2_0e52.u2", 0x000000, 0x100000, CRC(c213b510) SHA1(9549f16a2bbfc735d55b908adad59283abf1b221) ) ROM_REGION( 0x020000, "u6", 0 ) // config? - ROM_LOAD( "u06_crp5bs1a.bin", 0x0000, 0x020000, CRC(0db0531d) SHA1(391e41b2dcd38669dcc24e938e9838feee972559) ) + ROM_LOAD( "mu6.010", 0x000000, 0x020000, CRC(bac68023) SHA1(fdc5d540ceb4a2d44013dfd59b46103ec6745dea) ) - ROM_REGION32_LE( 0x800000, "user1", 0 ) /* TMS34020APCM-40 code (34020) */ - ROM_LOAD32_BYTE( "u09_bep5a01d.bin", 0x000000, 0x100000, CRC(0f4614de) SHA1(2181c552e9a3669fda5e87d0c596d5534d24d4b3) ) - ROM_LOAD32_BYTE( "u11_bep5a01d.bin", 0x000001, 0x100000, CRC(4f8c6fee) SHA1(2b75fe948bddda899969ef4a7663a52dc7b0eb81) ) - ROM_LOAD32_BYTE( "u13_bep5a01d.bin", 0x000002, 0x100000, CRC(ca9a24e5) SHA1(67276f680f3aedf480c54c666f0db1110cd77aee) ) - ROM_LOAD32_BYTE( "u15_bep5a01d.bin", 0x000003, 0x100000, CRC(ac904dc8) SHA1(165f66423a9c9231baa4e8b2e465d7f10f61202d) ) - ROM_LOAD32_BYTE( "u08_bep5a01d.bin", 0x400000, 0x100000, CRC(1f19cba6) SHA1(201975c7b440d2f53439e7383fb49b921015f22c) ) - ROM_LOAD32_BYTE( "u10_bep5a01d.bin", 0x400001, 0x100000, CRC(940bb1b2) SHA1(a57d6e5d3872787ff1821cbc80032269b378ecf0) ) - ROM_LOAD32_BYTE( "u12_bep5a01d.bin", 0x400002, 0x100000, CRC(07851214) SHA1(d088243f11ba51c79796986e99f0aa34d0d697d6) ) - ROM_LOAD32_BYTE( "u14_bep5a01d.bin", 0x400003, 0x100000, CRC(16a5ce9c) SHA1(3551e6eb7ff34f9ea70b7e6e940044ea1b4c59bb) ) + ROM_REGION32_LE( 0x800000, "user1", 0 ) // TMS34020APCM-40 code (34020) + ROM_LOAD32_BYTE( "u9.080", 0x000000, 0x100000, CRC(9b74ec99) SHA1(99834a3ad4ccbd594ae9de0edde7920619bcad5e) ) + ROM_LOAD32_BYTE( "u11.080", 0x000001, 0x100000, CRC(1b783bf7) SHA1(7018ce74b67370fdf679646d049a64569e7d1906) ) + ROM_LOAD32_BYTE( "u13.080", 0x000002, 0x100000, CRC(f21780da) SHA1(b40ee4de5d7b68bd723affecc9160bd78198390e) ) + ROM_LOAD32_BYTE( "u15.080", 0x000003, 0x100000, CRC(e62e2d2d) SHA1(b06443f0a67f93b3cc8f18fc3b1bdce54ba2c792) ) + ROM_LOAD32_BYTE( "u8.080", 0x400000, 0x100000, CRC(7f2f9e2b) SHA1(ecbf5fc17ea45fd47f6b2a87ee0cd4b8e63eb5b8) ) + ROM_LOAD32_BYTE( "u10.080", 0x400001, 0x100000, CRC(631e4449) SHA1(4b0da20238523efd0235fc95bbf6eea0a0866ca1) ) + ROM_LOAD32_BYTE( "u12.080", 0x400002, 0x100000, CRC(b927f5dc) SHA1(5c9af46b54b7e919ffc0098114bee6fbcc45167a) ) + ROM_LOAD32_BYTE( "u14.080", 0x400003, 0x100000, CRC(6d0f1d70) SHA1(d096ac8b501e3a6664c3042f86aa03fe35626b09) ) - ROM_REGION( 0x400000, "u18u21", 0 ) // sound - ROM_LOAD( "u18_bep_aa_a.bin", 0x0000, 0x100000, CRC(a0c6dafd) SHA1(9a09224b2d91cbf4efad5563a7633b973b0e5ce1) ) - ROM_LOAD( "u19_bep_aa_a.bin", 0x0000, 0x100000, CRC(69f1f267) SHA1(4fa837bf285670ed26ed0f0dada5e2a54ca7f142) ) - ROM_LOAD( "u20_bep_aa_a.bin", 0x0000, 0x100000, CRC(3dc030aa) SHA1(f01305fb187ae150b1264e8b72439e638772fbcc) ) - ROM_LOAD( "u21_bep_aa_a.bin", 0x0000, 0x100000, CRC(791c809a) SHA1(68af52cb2032a0c3f76030681baaaac8fb0bf51b) ) -ROM_END + // sound (missing or not needed here?) + ROM_REGION( 0x400000, "pals", 0 ) // pal (converted from JED) + ROM_LOAD( "galu35.bin", 0x000000, 0x0002e5, CRC(c81159c9) SHA1(36222e0a72310986fd4a76c0677a6bd74a0ad7df) ) +ROM_END -ROM_START( beetleup ) - ROM_REGION( 0x100000, "maincpu", 0 ) /* Z8018010VSC code (Z180) */ - ROM_LOAD( "u02_0-beet-a-a-cc.0def.bin", 0x0000, 0x100000, CRC(b5eedf40) SHA1(40a9baac99e9844cef5d3922c853f5e4903a7833) ) +// Clown (Russia) +ROM_START( aclown ) + ROM_REGION( 0x100000, "maincpu", 0 ) // Z8018010VSC code (Z180) + ROM_LOAD( "mu2.040", 0x000000, 0x100000, CRC(162915c4) SHA1(333d2ac8323eaaa0c7b85804b7d4ceef347118d1) ) ROM_REGION( 0x020000, "u6", 0 ) // config? - ROM_LOAD( "u06_n5b0-a-04-b.65aa.bin", 0x0000, 0x020000, CRC(d68d08e4) SHA1(548577d43f4136cf16266fe6855898a30fa49965) ) - ROM_LOAD( "u06_n5b0-a-05-b.648f.bin", 0x0000, 0x020000, CRC(2d2ff35f) SHA1(97759fbad4b6b30ca8f8ea74da74cfaa433a7fa2) ) - ROM_LOAD( "u06_n5b0-a-06-b.64 56.bin", 0x0000, 0x020000, CRC(7b4a6a97) SHA1(e3d54476730ca34a9f7214219cf991a220e15d5c) ) + ROM_LOAD( "mu6.010", 0x000000, 0x020000, CRC(ab86b3d4) SHA1(b0d32887674f971a3ccd482775ec3f978a2ea0c1) ) - ROM_REGION32_LE( 0x800000, "user1", 0 ) /* TMS34020APCM-40 code (34020) */ - ROM_LOAD32_BYTE( "u09_7b88.bin", 0x000000, 0x100000, CRC(8443972b) SHA1(5f2eea84ba18a83502f36eeaa52cff49a1631668) ) - ROM_LOAD32_BYTE( "u11_1957.bin", 0x000001, 0x100000, CRC(36c7e5c5) SHA1(2bad0bb6b363af6a37f5b11c7ca8b3b674df4072) ) - ROM_LOAD32_BYTE( "u13_b661.bin", 0x000002, 0x100000, CRC(0e74726c) SHA1(3103d801a622315877fc09d9c99290b54b266885) ) - ROM_LOAD32_BYTE( "u15_fd57.bin", 0x000003, 0x100000, CRC(9eabc514) SHA1(ed89b068b381ad4e007352bddf3aebe10ebebf4a) ) - ROM_LOAD32_BYTE( "u08_5804.bin", 0x400000, 0x100000, CRC(65a020e3) SHA1(2bb781905338e2d444222095d8430137632fae3d) ) - ROM_LOAD32_BYTE( "u10_647c.bin", 0x400001, 0x100000, CRC(c46c064d) SHA1(6181cf0e1d53f0a79c266b4f87d3b0c32313c593) ) - ROM_LOAD32_BYTE( "u12_07f3.bin", 0x400002, 0x100000, CRC(cefdfdad) SHA1(2032e0942f52d025f8da225c31ca7f7121c7b7f8) ) - ROM_LOAD32_BYTE( "u14_fe27.bin", 0x400003, 0x100000, CRC(50cfd898) SHA1(8b881ae8c60f215bb0f75e14493ee4a0c9f2b364) ) + ROM_REGION32_LE( 0x800000, "user1", 0 ) // TMS34020APCM-40 code (34020) + ROM_LOAD32_BYTE( "u9-80.bin", 0x000000, 0x100000, CRC(8bcbb27f) SHA1(d953268213580af11a2cc0dbd8bf1652f97f3929) ) + ROM_LOAD32_BYTE( "u11-80.bin", 0x000001, 0x100000, CRC(73fb3169) SHA1(8bbe5d8b8898e2d3368506e7b66d05b8f8ac7d02) ) + ROM_LOAD32_BYTE( "u13-80.bin", 0x000002, 0x100000, CRC(47580998) SHA1(37a6e409618aa3fe7d24bd3580fa93269895b059) ) + ROM_LOAD32_BYTE( "u15-80.bin", 0x000003, 0x100000, CRC(948e3737) SHA1(43225f114a3ae66caf95821a1e8a01f1a129e38d) ) + ROM_LOAD32_BYTE( "u8-80.bin", 0x400000, 0x100000, CRC(b4607b04) SHA1(81eff1246c68017e123fbfa46b4b8234808727d7) ) + ROM_LOAD32_BYTE( "u10-80.bin", 0x400001, 0x100000, CRC(df875d3b) SHA1(262ec7db996f13fa32d17c1c5d0c89c2f98ca1cc) ) + ROM_LOAD32_BYTE( "u12-80.bin", 0x400002, 0x100000, CRC(dbab3a76) SHA1(a85b76ade2d410cbbee7a62de96bed333ce23dc3) ) + ROM_LOAD32_BYTE( "u14-80.bin", 0x400003, 0x100000, CRC(f3a6bbd5) SHA1(5a9e81ee9ce533b3ab1aeaa4ca9185f5bf0b2a65) ) ROM_REGION( 0x400000, "u18u21", 0 ) // sound - ROM_LOAD( "u18_f978.bin", 0x0000, 0x100000, CRC(afa9a1a8) SHA1(a06bdd776ca7ba9e9ceecc0935761e6d88cad90e) ) - ROM_LOAD( "u19_8766.bin", 0x0000, 0x100000, CRC(f63ed18c) SHA1(59d05582bbd125009a6bc226ec0ef2120c768694) ) - ROM_LOAD( "u20_26f0.bin", 0x0000, 0x100000, CRC(39f8e6d9) SHA1(59cd29d08610f601e3228364ae52a4e49e325f40) ) - ROM_LOAD( "u21_ea59.bin", 0x0000, 0x100000, CRC(0bd2f188) SHA1(f29a67c3cd36e7ee6fd7ef72a7724dc9df5b5657) ) + ROM_LOAD( "u18-80.bin", 0x000000, 0x100000, CRC(c3efd917) SHA1(7f675c27d616a489c22544e98f726a62cfcb1bdf) ) + ROM_LOAD( "u19-80.bin", 0x000000, 0x100000, CRC(a6e90bbf) SHA1(4aa4746b3d474caf653396171b42b56a3e16caa3) ) + ROM_LOAD( "u20-80.bin", 0x000000, 0x100000, CRC(fef1ae8e) SHA1(efc5c289be052c56b5cb7976da25bd5bfacd97fc) ) + ROM_LOAD( "u21-80.bin", 0x000000, 0x100000, CRC(47108677) SHA1(864f767c54c0f9ff63fad3829e828abbd5e84f0b) ) ROM_END - -ROM_START( bigblue ) - ROM_REGION( 0x100000, "maincpu", 0 ) /* Z8018010VSC code (Z180) */ - ROM_LOAD( "o_-bbbu01-adbaa-cb-std_.8mu02.bin", 0x0000, 0x100000, CRC(62d08d90) SHA1(fa563dd59eacd3021744863245aa7f82dea2c266) ) +// Crazy Fruits Blue (Russia) (set 1) +ROM_START( cfblue ) + ROM_REGION( 0x100000, "maincpu", 0 ) // Z8018010VSC code (Z180) + ROM_LOAD( "u2.bin", 0x000000, 0x100000, CRC(0b5035d0) SHA1(f77ce0d16da39c259c0f764c23c23d0313166612) ) ROM_REGION( 0x020000, "u6", 0 ) // config? - ROM_LOAD( "big blue bags.bin", 0x0000, 0x020000, CRC(4ec3fc1c) SHA1(7a081d370c54a6ea333957958b1341560458e845) ) - ROM_LOAD( "bbbu01-c-za-std_-5-xx-xx-axx.1mu06.bin", 0x0000, 0x020000, CRC(09e6df0b) SHA1(85961160f95cb8d223f73483d6edad79fa37d729) ) + ROM_LOAD( "u6.bin", 0x000000, 0x020000, CRC(63690e7e) SHA1(9dcb3d64bae03556875185ead23d9b911773f5bd) ) - ROM_REGION32_LE( 0x800000, "user1", 0 ) /* TMS34020APCM-40 code (34020) */ - ROM_LOAD32_BYTE( "bbbu01-a_-a-std_-5_.8gu09.bin", 0x000000, 0x100000, CRC(6f11b908) SHA1(663382bc295615afbc3a9a39c7089470b8b55926) ) - ROM_LOAD32_BYTE( "bbbu01-a_-a-std_-5_.8gu11.bin", 0x000001, 0x100000, CRC(4cddcb5a) SHA1(e23354ab36f814b22c39564111558d4935fe8d70) ) - ROM_LOAD32_BYTE( "bbbu01-a_-a-std_-5_.8gu13.bin", 0x000002, 0x100000, CRC(3a6dd649) SHA1(0f2b6cdf4f10ded99adc4fe0b47e4fada4aa6643) ) - ROM_LOAD32_BYTE( "bbbu01-a_-a-std_-5_.8gu15.bin", 0x000003, 0x100000, CRC(2efd2269) SHA1(3923ec31e245c29786cd67a89d582bc051967580) ) - ROM_LOAD32_BYTE( "bbbu01-a_-a-std_-5_.8gu08.bin", 0x400000, 0x100000, CRC(32f01864) SHA1(f515cfa2ecdc239b441f6f5f7033516e88030ad6) ) - ROM_LOAD32_BYTE( "bbbu01-a_-a-std_-5_.8gu10.bin", 0x400001, 0x100000, CRC(97efddfd) SHA1(1303733596b725b705fa9dfd4150b4a6df9d4172) ) - ROM_LOAD32_BYTE( "bbbu01-a_-a-std_-5_.8gu12.bin", 0x400002, 0x100000, CRC(36c4f212) SHA1(1e7ea33114f1ca836849242d717023b1315a466e) ) - ROM_LOAD32_BYTE( "bbbu01-a_-a-std_-5_.8gu14.bin", 0x400003, 0x100000, CRC(bde8af9e) SHA1(095e567d35c45ae5e377cdf07ab77f6781e39cca) ) + ROM_REGION32_LE( 0x800000, "user1", 0 ) // TMS34020APCM-40 code (34020) + ROM_LOAD32_BYTE( "u9.bin", 0x000000, 0x100000, CRC(d1c2ad08) SHA1(e53c7e91b2ab86e64f4ae753404aa86ae881becf) ) + ROM_LOAD32_BYTE( "u11.bin", 0x000001, 0x100000, CRC(42872aef) SHA1(54d7cf6a9f3d5d8b2b14fa381fd7b9db974525e1) ) + ROM_LOAD32_BYTE( "u13.bin", 0x000002, 0x100000, CRC(7da9415b) SHA1(aaa73465417dcf92838021b37cb412d52ccb4d85) ) + ROM_LOAD32_BYTE( "u15.bin", 0x000003, 0x100000, CRC(e0270268) SHA1(6bf5281eb5418903403873547690bdfa04597fea) ) + ROM_LOAD32_BYTE( "u8.bin", 0x400000, 0x100000, CRC(a870d32c) SHA1(0014b9b2a2b35ae8a10ed2910213ccea50f8ba61) ) + ROM_LOAD32_BYTE( "u10.bin", 0x400001, 0x100000, CRC(f99ae371) SHA1(b468a18eb7604f191198aae68e961db97cae0332) ) + ROM_LOAD32_BYTE( "u12.bin", 0x400002, 0x100000, CRC(2b2fcd96) SHA1(ce4a8d1267874e5d615e8b3abbb4d1b16630ae7a) ) + ROM_LOAD32_BYTE( "u14.bin", 0x400003, 0x100000, CRC(d66b735c) SHA1(6c4c1e5b5b21b60e950cf70d2d6ad72d5b22237a) ) ROM_REGION( 0x400000, "u18u21", 0 ) // sound - ROM_LOAD( "bbbu01-ba-a-std_-_.8su18.bin", 0x0000, 0x100000, CRC(451687c9) SHA1(5165586a7ab69529396e4b387002e1dcbe3d892d) ) - ROM_LOAD( "bbbu01-ba-a-std_-_.8su19.bin", 0x0000, 0x100000, CRC(bb0029ec) SHA1(ab460d40ee46ee43b195b7a2ece42bcaaa043892) ) - ROM_LOAD( "bbbu01-ba-a-std_-_.8su20.bin", 0x0000, 0x100000, CRC(fb1bd294) SHA1(78dcaffc56f56d2b31d0c20d48d91696910be160) ) - ROM_LOAD( "bbbu01-ba-a-std_-_.8su21.bin", 0x0000, 0x100000, CRC(ec6d68ea) SHA1(91167b6379a6e1748e635c4b2b603a39fb6b049d) ) + ROM_LOAD( "u18.bin", 0x000000, 0x100000, CRC(77d6c103) SHA1(667c4c77eeba3af9c8c772a9ffe2941f8f3df38f) ) + ROM_LOAD( "u19.bin", 0x000000, 0x100000, CRC(36371ef6) SHA1(83a454a71e01962937b23817419fe2e071f077ee) ) + ROM_LOAD( "u20.bin", 0x000000, 0x100000, CRC(d9548179) SHA1(12537373a6a3f79952d2c7c48d41e156fc578902) ) + ROM_LOAD( "u21.bin", 0x000000, 0x100000, CRC(3a620cc6) SHA1(1dced1a40c6b3d734ea463fe58bdd9ee9e3b8822) ) ROM_END -ROM_START( castaway ) - ROM_REGION( 0x100000, "maincpu", 0 ) /* Z8018010VSC code (Z180) */ - ROM_LOAD( "u2.8 o-cast-b-a-cc", 0x0000, 0x100000, CRC(8f103bb3) SHA1(65596aff9cfb2345a36a0e2a2b03a2b4310d421c) ) + +// Crazy Fruits Blue (Russia) (set 2) +ROM_START( cfbluea ) + ROM_REGION( 0x100000, "maincpu", 0 ) // Z8018010VSC code (Z180) + ROM_LOAD( "u2-80.bin", 0x000000, 0x100000, CRC(4ee3805e) SHA1(45d9438a26230f50013feda1b2c68ab2f8d4f419) ) ROM_REGION( 0x020000, "u6", 0 ) // config? - ROM_LOAD( "u6.1 c5bo-a-03-a", 0x0000, 0x020000, CRC(3917302a) SHA1(39b0672c36554712825a0e310522933be4b46d84) ) + ROM_LOAD( "u6-10.bin", 0x000000, 0x020000, CRC(0db0531d) SHA1(391e41b2dcd38669dcc24e938e9838feee972559) ) + ROM_LOAD( "u6low-10.bin", 0x000000, 0x020000, CRC(3cbad206) SHA1(d2a468d5bfd441b74ef85be088873d1f74d5c66e) ) - ROM_REGION32_LE( 0x800000, "user1", 0 ) /* TMS34020APCM-40 code (34020) */ - ROM_LOAD32_BYTE( "u9.8 cw5_b-03-b", 0x000000, 0x100000, CRC(c49aaf25) SHA1(5518312046208b4f912e9dee2ff24653a9976c6f) ) - ROM_LOAD32_BYTE( "u11.8 cw5_b-03-b", 0x000001, 0x100000, CRC(24267b4b) SHA1(9103923dd1bba0b01f6020f7c357ac9b7bef4951) ) - ROM_LOAD32_BYTE( "u13.8 cw5_b-03-b", 0x000002, 0x100000, CRC(3e606516) SHA1(5edad0a3099700bfeedff5a143591a85b3c4f582) ) - ROM_LOAD32_BYTE( "u15.8 cw5_b-03-b", 0x000003, 0x100000, CRC(7211abc5) SHA1(acaa9ad55abeb34e2d97b419f5213e44e80adde0) ) - ROM_LOAD32_BYTE( "u8.8 cw5_b-03-b", 0x400000, 0x100000, CRC(03839c9e) SHA1(56ad8843192ca47c1d467c69ab2d13189a19a905) ) - ROM_LOAD32_BYTE( "u10.8 cw5_b-03-b", 0x400001, 0x100000, CRC(cbe7399e) SHA1(da829dcab116b48a56526750546287e33d3de3c7) ) - ROM_LOAD32_BYTE( "u12.8 cw5_b-03-b", 0x400002, 0x100000, CRC(770e92de) SHA1(c358b0f528fc5c1efd2dd4a0563e958d90b55d64) ) - ROM_LOAD32_BYTE( "u14.8 cw5_b-03-b", 0x400003, 0x100000, CRC(dadd0d0b) SHA1(87750c506f6429f382149d205849663b622abda3) ) + ROM_REGION32_LE( 0x800000, "user1", 0 ) // TMS34020APCM-40 code (34020) + ROM_LOAD32_BYTE( "u9-80.bin", 0x000000, 0x100000, CRC(37b3a499) SHA1(eb3252185596dd513d3cce95f3425241ca8513ab) ) + ROM_LOAD32_BYTE( "u11-80.bin", 0x000001, 0x100000, CRC(d98b2b1d) SHA1(414d300d113e9737d63efea09b358aeb8eeed7fc) ) + ROM_LOAD32_BYTE( "u13-80.bin", 0x000002, 0x100000, CRC(478bb4a5) SHA1(94304fe1477bfc66e8dcf2c2c91226754cb8c32a) ) + ROM_LOAD32_BYTE( "u15-80.bin", 0x000003, 0x100000, CRC(cfe9e4d4) SHA1(8cd4aadd885fc5500b0a2c1e41b1f096bd4cd2b5) ) + ROM_LOAD32_BYTE( "u8-80.bin", 0x400000, 0x100000, CRC(39670383) SHA1(cd78289377c75497f96dd6b76dc717b2ddc8d9c6) ) + ROM_LOAD32_BYTE( "u10-80.bin", 0x400001, 0x100000, CRC(f9d054ae) SHA1(244733f7ee6e82fef5d0245c3fd947d369b296f9) ) + ROM_LOAD32_BYTE( "u12-80.bin", 0x400002, 0x100000, CRC(5e95768f) SHA1(ba616bf41a2bb205d366e19e773ee5f0009be212) ) + ROM_LOAD32_BYTE( "u14-80.bin", 0x400003, 0x100000, CRC(89aaf76b) SHA1(6e731ba815c20b184e44495dd2231d9ae315a146) ) ROM_REGION( 0x400000, "u18u21", 0 ) // sound - ROM_LOAD( "u18.8 castaa_a", 0x0000, 0x100000, CRC(98b0a1f3) SHA1(2a6298a82dc549078857e43d60e692062b1cd022) ) - ROM_LOAD( "u19.8 castaa_a", 0x0000, 0x100000, CRC(2c7aa4a4) SHA1(7e495ce9e18ae759e9ecf21f55c6bc7c7b06a92d) ) - ROM_LOAD( "u20.8 castaa_a", 0x0000, 0x100000, CRC(cbb5824d) SHA1(626fd9c0f76942c7c040743519e2af867afed75a) ) - ROM_LOAD( "u21.8 castaa_a", 0x0000, 0x100000, CRC(31554b6b) SHA1(6af8dc72e0fcec7f73b54b728f8c61a51f5f0d48) ) + ROM_LOAD( "u18-80.bin", 0x000000, 0x100000, CRC(77d6c103) SHA1(667c4c77eeba3af9c8c772a9ffe2941f8f3df38f) ) + ROM_LOAD( "u19-80.bin", 0x000000, 0x100000, CRC(36371ef6) SHA1(83a454a71e01962937b23817419fe2e071f077ee) ) + ROM_LOAD( "u20-80.bin", 0x000000, 0x100000, CRC(d9548179) SHA1(12537373a6a3f79952d2c7c48d41e156fc578902) ) + ROM_LOAD( "u21-80.bin", 0x000000, 0x100000, CRC(3a620cc6) SHA1(1dced1a40c6b3d734ea463fe58bdd9ee9e3b8822) ) ROM_END -ROM_START( castawaya ) // bad dump? (roms all look incorrect size to me) - ROM_REGION( 0x100000, "maincpu", 0 ) /* Z8018010VSC code (Z180) */ - ROM_LOAD( "u-2 m27c801.bin", 0x0000, 0x080000, CRC(55b61206) SHA1(abdbe887a6739dbc9f51838b31d23d3c8d8f03dd) ) - ROM_REGION( 0x080000, "u6", 0 ) // config? - ROM_LOAD( "u-6 m27c801.bin", 0x0000, 0x080000, CRC(86538b30) SHA1(6b8d732b59af2cc1a6524989f8cf12a4d4dac484) ) +// Crazy Fruits Green (Russia) +ROM_START( cfgreen ) + ROM_REGION( 0x100000, "maincpu", 0 ) // Z8018010VSC code (Z180) + ROM_LOAD( "u2-80.bin", 0x000000, 0x100000, CRC(2afda383) SHA1(8a1d1a780f710119cbf7ee6a53d5de91cfe120c2) ) - ROM_REGION32_LE( 0x800000, "user1", 0 ) /* TMS34020APCM-40 code (34020) */ - // seem to be half size, doesn't have the TMS vectors - ROM_LOAD32_BYTE( "u-9 m27c801.bin", 0x000000, 0x080000, BAD_DUMP CRC(4a5efe38) SHA1(23e82eeadccdd0224858686b1d96bd5d184904cb) ) - ROM_LOAD32_BYTE( "u-11 m27c801.bin", 0x000001, 0x080000, BAD_DUMP CRC(099e27e2) SHA1(4419ac8090ccab673e61f4f73c837971e341e7e2) ) - ROM_LOAD32_BYTE( "u-13 m27c801.bin", 0x000002, 0x080000, BAD_DUMP CRC(f65eb71f) SHA1(9e116cc2b6768c1525759735eecc05db5906f2dc) ) - ROM_LOAD32_BYTE( "u-15 m27c801.bin", 0x000003, 0x080000, BAD_DUMP CRC(319c8bb6) SHA1(8de3c66b375f0ff200ff240765c6f37609c4935e) ) - ROM_LOAD32_BYTE( "u-8 m27c801.bin", 0x400000, 0x080000, BAD_DUMP CRC(74e21aeb) SHA1(dce3b413c6efdc2d85357dd1f9e4e2808aef4f7e) ) - ROM_LOAD32_BYTE( "u-10 m27c801.bin", 0x400001, 0x080000, BAD_DUMP CRC(45294960) SHA1(1b5b33ef730c44a4800e80891369d4e21e1729d2) ) - ROM_LOAD32_BYTE( "u-12 m27c801.bin", 0x400002, 0x080000, BAD_DUMP CRC(be19a02c) SHA1(8968d4ec5ff58dcf50c3c9ac9601c6416399091d) ) - ROM_LOAD32_BYTE( "u-14 m27c801.bin", 0x400003, 0x080000, BAD_DUMP CRC(cda73f12) SHA1(dd5556d7e19ef1a9fec1b914a7464fbc4f97effe) ) + ROM_REGION( 0x020000, "u6", 0 ) // config? + ROM_LOAD( "u6-10.bin", 0x000000, 0x020000, CRC(3cbad206) SHA1(d2a468d5bfd441b74ef85be088873d1f74d5c66e) ) - ROM_REGION( 0x400000, "u18u21", 0 ) // sound - ROM_LOAD( "u-18 m27c801.bin", 0x0000, 0x080000, BAD_DUMP CRC(2e3d7181) SHA1(eed1a1594405f416efb379e134c12be89d495402) ) - ROM_LOAD( "u-19 m27c801.bin", 0x0000, 0x080000, BAD_DUMP CRC(a3c906f6) SHA1(25314d79f420c177424bf1de492ba8d9a928f643) ) - ROM_LOAD( "u-20 m27c801.bin", 0x0000, 0x080000, BAD_DUMP CRC(ec395eaa) SHA1(fa27b928971c039fb1586631f136bd7577be1c57) ) - ROM_LOAD( "u-21 m27c801.bin", 0x0000, 0x080000, BAD_DUMP CRC(324d0539) SHA1(71639e3fc40c09e07221524580046dc2447b43f1) ) + ROM_REGION32_LE( 0x800000, "user1", 0 ) // TMS34020APCM-40 code (34020) + ROM_LOAD32_BYTE( "u9-80.bin", 0x000000, 0x100000, CRC(19a47a1b) SHA1(ae9ad2027fddf96062833345a5e2b9e7101b3380) ) + ROM_LOAD32_BYTE( "u11-80.bin", 0x000001, 0x100000, CRC(7d805f07) SHA1(0bb27a702e45d3d660363ac75c0f52f07248d40a) ) + ROM_LOAD32_BYTE( "u13-80.bin", 0x000002, 0x100000, CRC(104110dc) SHA1(9322598a94e3c71f546da3b42f137a22fc78a894) ) + ROM_LOAD32_BYTE( "u15-80.bin", 0x000003, 0x100000, CRC(c752e5b1) SHA1(98832603529c99d83885a9b72bf30aa5eb1eee93) ) + ROM_LOAD32_BYTE( "u8-80.bin", 0x400000, 0x100000, CRC(63e91841) SHA1(a9644b4ed37c2143273e782bd0e85906466c1173) ) + ROM_LOAD32_BYTE( "u10-80.bin", 0x400001, 0x100000, CRC(b198a826) SHA1(361f9a055633831f45b148ca5e23cbb9be97c95f) ) + ROM_LOAD32_BYTE( "u12-80.bin", 0x400002, 0x100000, CRC(9eb176c4) SHA1(73dea223338235a3ebd224c210df4923dbb01b56) ) + ROM_LOAD32_BYTE( "u14-80.bin", 0x400003, 0x100000, CRC(ad654d75) SHA1(31804c2fae178b2614759542cba1af34b82e5f12) ) - ROM_REGION( 0x400000, "others", 0 ) - ROM_LOAD( "ds1225y.bin", 0x0000, 0x002000, CRC(76af0395) SHA1(ce6aef5349b155f8e103bb4dd33933c501a490ae) ) - ROM_LOAD( "ds1386-32k.bin", 0x0000, 0x002000, CRC(4e28ebc9) SHA1(dfd60c53ffdd0b44b7f894e19b212bc88e81192f) ) + ROM_REGION( 0x400000, "u18u21", 0 ) // sound + ROM_LOAD( "u18-80.bin", 0x000000, 0x100000, CRC(40a74e38) SHA1(6ea3458c449434353bbc7d03bbd7a83294584603) ) + ROM_LOAD( "u19-80.bin", 0x000000, 0x100000, CRC(6769a6c2) SHA1(5eddf6a86897b39a6c75462b5047d5175b543b18) ) + ROM_LOAD( "u20-80.bin", 0x000000, 0x100000, CRC(9c3288a0) SHA1(feb3b9fefd38052a5fd2fcee6a653c6043ff1759) ) + ROM_LOAD( "u21-80.bin", 0x000000, 0x100000, CRC(71367522) SHA1(0d82940ff87396e8722f8250cd4961d11dfa46a0) ) ROM_END +// Dancing Spirit (Russia) ROM_START( dncsprt ) - ROM_REGION( 0x100000, "maincpu", 0 ) /* Z8018010VSC code (Z180) */ - ROM_LOAD( "o_-dasp01-adaaa-cc-std_.8mu02", 0x0000, 0x100000, CRC(744b40d7) SHA1(f7b3f507ccccb36ae55ac3b567956c45a83d3b63) ) + ROM_REGION( 0x100000, "maincpu", 0 ) // Z8018010VSC code (Z180) + ROM_LOAD( "o_-dasp01-adaaa-cc-std_.8mu02", 0x000000, 0x100000, CRC(744b40d7) SHA1(f7b3f507ccccb36ae55ac3b567956c45a83d3b63) ) ROM_REGION( 0x020000, "u6", 0 ) // config? - ROM_LOAD( "dasp01-d-za-std_-5-xx-xx-axx.1mu06", 0x0000, 0x020000, CRC(2d5f7976) SHA1(77de321ba2f46726a0c26aa498a4c3deb7f8c421) ) + ROM_LOAD( "dasp01-d-za-std_-5-xx-xx-axx.1mu06", 0x000000, 0x020000, CRC(2d5f7976) SHA1(77de321ba2f46726a0c26aa498a4c3deb7f8c421) ) - ROM_REGION32_LE( 0x800000, "user1", 0 ) /* TMS34020APCM-40 code (34020) */ + ROM_REGION32_LE( 0x800000, "user1", 0 ) // TMS34020APCM-40 code (34020) ROM_LOAD32_BYTE( "dasp01-a_-c-std_-5_.8gu09", 0x000000, 0x100000, CRC(e6941863) SHA1(c9fe08bd070c9fac7b8c9089a6ecbff581265b3a) ) ROM_LOAD32_BYTE( "dasp01-a_-c-std_-5_.8gu11", 0x000001, 0x100000, CRC(400b82ab) SHA1(5af6daf65e50b0c5ad27c43b0f3d4d8d24f38102) ) ROM_LOAD32_BYTE( "dasp01-a_-c-std_-5_.8gu13", 0x000002, 0x100000, CRC(b425a8f6) SHA1(82d8e0d8602a81c6d4cf528b73f3c84ab5dde11b) ) @@ -1088,21 +1154,48 @@ ROM_START( dncsprt ) ROM_LOAD32_BYTE( "dasp01-a_-c-std_-5_.8gu14", 0x400003, 0x100000, CRC(b6dd4982) SHA1(45ff8232eb965ad60e4cf066ab3addb532b39b56) ) ROM_REGION( 0x400000, "u18u21", 0 ) // sound - ROM_LOAD( "dasp01-aa-a-std_-_.8su18", 0x0000, 0x100000, CRC(65aeacb0) SHA1(97bbdb4e70e50c14ecb2cc18756c581a2069715f) ) - ROM_LOAD( "dasp01-aa-a-std_-_.8su19", 0x0000, 0x100000, CRC(0f81c833) SHA1(5568c92484c2b52b04034d99a7531a78bc1d5eb1) ) - ROM_LOAD( "dasp01-aa-a-std_-_.8su20", 0x0000, 0x100000, CRC(97302d05) SHA1(4a03d337a5e46f9b5686d1e16fa72f83cf4674f0) ) - ROM_LOAD( "dasp01-aa-a-std_-_.8su21", 0x0000, 0x100000, CRC(849e86f9) SHA1(cba1379b4cef793fc08c20607867d01c53d397a4) ) + ROM_LOAD( "dasp01-aa-a-std_-_.8su18", 0x000000, 0x100000, CRC(65aeacb0) SHA1(97bbdb4e70e50c14ecb2cc18756c581a2069715f) ) + ROM_LOAD( "dasp01-aa-a-std_-_.8su19", 0x000000, 0x100000, CRC(0f81c833) SHA1(5568c92484c2b52b04034d99a7531a78bc1d5eb1) ) + ROM_LOAD( "dasp01-aa-a-std_-_.8su20", 0x000000, 0x100000, CRC(97302d05) SHA1(4a03d337a5e46f9b5686d1e16fa72f83cf4674f0) ) + ROM_LOAD( "dasp01-aa-a-std_-_.8su21", 0x000000, 0x100000, CRC(849e86f9) SHA1(cba1379b4cef793fc08c20607867d01c53d397a4) ) ROM_END + +// Dream Maker ROM_START( drmmake ) - ROM_REGION( 0x100000, "maincpu", 0 ) /* Z8018010VSC code (Z180) */ - ROM_LOAD( "u2-801", 0x0000, 0x100000, CRC(c809ecf0) SHA1(4ab641f9b805cd13d1fb860a3e9776505474a95d) ) + ROM_REGION( 0x100000, "maincpu", 0 ) // Z8018010VSC code (Z180) + ROM_LOAD( "mu2.080", 0x000000, 0x100000, CRC(cf54db9e) SHA1(79ad505c766bcdd51e08ff43c0221c14c9f519df) ) ROM_REGION( 0x020000, "u6", 0 ) // config? - ROM_LOAD( "u6-1001", 0x0000, 0x020000, CRC(7a00ad2a) SHA1(67d90b10b4f62922c4ed94bb8a0f77e474ee385d) ) - ROM_LOAD( "dream maker.bin", 0x0000, 0x020000, CRC(49c19eb3) SHA1(a55d4f9a0dd2b1db41fb28f475efa7e9f7c85be6) ) + ROM_LOAD( "mu6.010", 0x000000, 0x020000, CRC(7a00ad2a) SHA1(67d90b10b4f62922c4ed94bb8a0f77e474ee385d) ) + + ROM_REGION32_LE( 0x800000, "user1", 0 ) // TMS34020APCM-40 code (34020) + ROM_LOAD32_BYTE( "u9.080", 0x000000, 0x100000, CRC(6a453363) SHA1(228652e3915b6d8c1a5523acc77caa65b0c61a1f) ) + ROM_LOAD32_BYTE( "u11.080", 0x000001, 0x100000, CRC(81185cbd) SHA1(0367f0d9c6adf13be4f74863463ed8570209658b) ) + ROM_LOAD32_BYTE( "u13.080", 0x000002, 0x100000, CRC(96c7434f) SHA1(0ed6b3a905d811e9069de446f26b22050d305d7b) ) + ROM_LOAD32_BYTE( "u15.080", 0x000003, 0x100000, CRC(0f8b4209) SHA1(e9f1e03446e9252b843273879e647bf85ed6e1ac) ) + ROM_LOAD32_BYTE( "u8.080", 0x400000, 0x100000, CRC(3975a3da) SHA1(2e2e0647984f38341f6a647964792e60b0b63cd4) ) + ROM_LOAD32_BYTE( "u10.080", 0x400001, 0x100000, CRC(72288580) SHA1(72c430747453df09b3bf13cd1cf044de18ab1333) ) + ROM_LOAD32_BYTE( "u12.080", 0x400002, 0x100000, CRC(2c657b56) SHA1(7377fd4a5e7bd64ece9bb68db993be5a308d9bc8) ) + ROM_LOAD32_BYTE( "u14.080", 0x400003, 0x100000, CRC(146a9774) SHA1(426184154b6ae89a8e659e6a4fdb433a3ce6c449) ) - ROM_REGION32_LE( 0x800000, "user1", 0 ) /* TMS34020APCM-40 code (34020) */ + // sound (missing or not needed here? there is an OKI M6585 on the mainboard) + + ROM_REGION( 0x400000, "pals", 0 ) // pal (converted from JED) + ROM_LOAD( "galu35.bin", 0x000000, 0x0002e5, CRC(996854bc) SHA1(647d2f49b739f7ca55c0b85290b6a21256834fd8) ) +ROM_END + + +// Dream Maker (Russia) +ROM_START( drmmaker ) + ROM_REGION( 0x100000, "maincpu", 0 ) // Z8018010VSC code (Z180) + ROM_LOAD( "u2-801", 0x000000, 0x100000, CRC(c809ecf0) SHA1(4ab641f9b805cd13d1fb860a3e9776505474a95d) ) + + ROM_REGION( 0x020000, "u6", 0 ) // config? + ROM_LOAD( "u6-1001", 0x000000, 0x020000, CRC(7a00ad2a) SHA1(67d90b10b4f62922c4ed94bb8a0f77e474ee385d) ) + ROM_LOAD( "dream maker.bin", 0x000000, 0x020000, CRC(49c19eb3) SHA1(a55d4f9a0dd2b1db41fb28f475efa7e9f7c85be6) ) + + ROM_REGION32_LE( 0x800000, "user1", 0 ) // TMS34020APCM-40 code (34020) ROM_LOAD32_BYTE( "u9-801", 0x000000, 0x100000, CRC(e560eeff) SHA1(fe33927a91be7ecd2a283bb09b87f5f3d659cf09) ) ROM_LOAD32_BYTE( "u11-801", 0x000001, 0x100000, CRC(693cec8e) SHA1(83d33603fa11aa4341a40b2ffc4862992307dcfc) ) ROM_LOAD32_BYTE( "u13-801", 0x000002, 0x100000, CRC(8b78f6aa) SHA1(74804c44124b71f0f11446da342d0548130394f6) ) @@ -1113,23 +1206,146 @@ ROM_START( drmmake ) ROM_LOAD32_BYTE( "u14-801", 0x400003, 0x100000, CRC(416bcc36) SHA1(9e550f49ba63335b21f45786b87aa6e5b42f2acb) ) ROM_REGION( 0x400000, "u18u21", 0 ) // sound - ROM_LOAD( "u18-801", 0x0000, 0x100000, CRC(ee2dabf6) SHA1(8fbace51d38d354318d223f259e5b5ae9d922ec5) ) - ROM_LOAD( "u19-801", 0x0000, 0x100000, CRC(bb0029ec) SHA1(ab460d40ee46ee43b195b7a2ece42bcaaa043892) ) - ROM_LOAD( "u20-801", 0x0000, 0x100000, CRC(d9fe585c) SHA1(d5e6d407ce67e7d536a68fcfe834c66cf365716d) ) - ROM_LOAD( "u21-801", 0x0000, 0x100000, CRC(d5e81837) SHA1(ebbd5a3a73c3f440e518103da7e8db8c0818f351) ) + ROM_LOAD( "u18-801", 0x000000, 0x100000, CRC(ee2dabf6) SHA1(8fbace51d38d354318d223f259e5b5ae9d922ec5) ) + ROM_LOAD( "u19-801", 0x000000, 0x100000, CRC(bb0029ec) SHA1(ab460d40ee46ee43b195b7a2ece42bcaaa043892) ) + ROM_LOAD( "u20-801", 0x000000, 0x100000, CRC(d9fe585c) SHA1(d5e6d407ce67e7d536a68fcfe834c66cf365716d) ) + ROM_LOAD( "u21-801", 0x000000, 0x100000, CRC(d5e81837) SHA1(ebbd5a3a73c3f440e518103da7e8db8c0818f351) ) +ROM_END + + +// Golden Glenn (Russia) +ROM_START( goldglen ) + ROM_REGION( 0x100000, "maincpu", 0 ) // Z8018010VSC code (Z180) + ROM_LOAD( "u2-80.bin", 0x000000, 0x100000, CRC(94c48e59) SHA1(b660d81f1659004e08df402ef9da61a1f4818b48) ) + + ROM_REGION( 0x020000, "u6", 0 ) // config? + ROM_LOAD( "u6-10.bin", 0x000000, 0x020000, CRC(94409a39) SHA1(99af058e48147fc75a8c23e4f1a28484f3d5f625) ) + + ROM_REGION32_LE( 0x800000, "user1", 0 ) // TMS34020APCM-40 code (34020) + ROM_LOAD32_BYTE( "u9-80.bin", 0x000000, 0x100000, CRC(01e69d2d) SHA1(a6e6974aec52931aeeb1f90d8f917ab85ebe843e) ) + ROM_LOAD32_BYTE( "u11-80.bin", 0x000001, 0x100000, CRC(6c39a180) SHA1(95f91ec10961d36c86dee5ce42fc7c8ab693e271) ) + ROM_LOAD32_BYTE( "u13-80.bin", 0x000002, 0x100000, CRC(e60a093f) SHA1(fa0af661f869f80e11097e101ec6100a75d1e63f) ) + ROM_LOAD32_BYTE( "u15-80.bin", 0x000003, 0x100000, CRC(9877e8aa) SHA1(2073d451446709d92700cf4afb68e5b04580c620) ) + ROM_LOAD32_BYTE( "u8-80.bin", 0x400000, 0x100000, CRC(631d617c) SHA1(44cbd9a8275537f2f8804b1d17645f74cd12fdb1) ) + ROM_LOAD32_BYTE( "u10-80.bin", 0x400001, 0x100000, CRC(cdd5e435) SHA1(659b29ab16d5a3878e4984599e83f8d1cf377ca7) ) + ROM_LOAD32_BYTE( "u12-80.bin", 0x400002, 0x100000, CRC(dcb50d70) SHA1(7f8c36d5dea9c3ce61c31aef7b310f546095d72e) ) + ROM_LOAD32_BYTE( "u14-80.bin", 0x400003, 0x100000, CRC(6c0277b1) SHA1(266c6eb08cb3d9e49cf397a7e01785627892200e) ) + + ROM_REGION( 0x400000, "u18u21", 0 ) // sound + ROM_LOAD( "u18-80.bin", 0x000000, 0x100000, CRC(2afed5cf) SHA1(633214458cd47666675464fb3621aaffbe0ca63a) ) + ROM_LOAD( "u19-80.bin", 0x000000, 0x100000, CRC(70279081) SHA1(15933d81af85b2c6f831e765f2a4e4f0e44fdc18) ) + ROM_LOAD( "u20-80.bin", 0x000000, 0x100000, CRC(0bcaa5b2) SHA1(c964b7ec99cfc641f91c1a483e68999fc3e23fa4) ) + ROM_LOAD( "u21-80.bin", 0x000000, 0x100000, CRC(e2aad0ee) SHA1(2678ae011a820da644e78e0c5d2a6af39c35ac4d) ) +ROM_END + + +// Happy Happy Hippy +ROM_START( haphippy ) + ROM_REGION( 0x100000, "maincpu", 0 ) // Z8018010VSC code (Z180) + ROM_LOAD( "hippy_u2_618c.u2", 0x000000, 0x80000, CRC(36600001) SHA1(906647a7901a4bbf7a347580d8a6d49d0378ed86) ) + + ROM_REGION( 0x020000, "u6", 0 ) // config? + ROM_LOAD( "hippy_u6_e8a7.u6", 0x000000, 0x020000, CRC(16c84599) SHA1(af14cb98c95fad16424f1f9582fcede10f187ef0) ) + + ROM_REGION32_LE( 0x800000, "user1", 0 ) // TMS34020APCM-40 code (34020) + // No TMS34020 code or sound data? + ROM_LOAD32_BYTE( "haphippy.u9", 0x000000, 0x100000, NO_DUMP ) + ROM_LOAD32_BYTE( "haphippy.u11", 0x000001, 0x100000, NO_DUMP ) + ROM_LOAD32_BYTE( "haphippy.u13", 0x000002, 0x100000, NO_DUMP ) + ROM_LOAD32_BYTE( "haphippy.u15", 0x000003, 0x100000, NO_DUMP ) + ROM_LOAD32_BYTE( "haphippy.u8", 0x400000, 0x100000, NO_DUMP ) + ROM_LOAD32_BYTE( "haphippy.u10", 0x400001, 0x100000, NO_DUMP ) + ROM_LOAD32_BYTE( "haphippy.u12", 0x400002, 0x100000, NO_DUMP ) + ROM_LOAD32_BYTE( "haphippy.u14", 0x400003, 0x100000, NO_DUMP ) +ROM_END + + +// I C Cash (Russia) +ROM_START( iccash ) + ROM_REGION( 0x100000, "maincpu", 0 ) // Z8018010VSC code (Z180) + ROM_LOAD( "u2-80.bin", 0x000000, 0x100000, CRC(27b1c41e) SHA1(55a24301578b2d4e46948362aab8bfbb2918169a) ) + + ROM_REGION( 0x020000, "u6", 0 ) // config? + ROM_LOAD( "u6-10.bin", 0x000000, 0x020000, CRC(5e7d8a05) SHA1(255355cf594c2818d358860e616b5b578a87e974) ) + + ROM_REGION32_LE( 0x800000, "user1", 0 ) // TMS34020APCM-40 code (34020) + ROM_LOAD32_BYTE( "u9-80.bin", 0x000000, 0x100000, CRC(db77fe46) SHA1(2502c5c165a9720e5ff1196eaa17189281c3145c) ) + ROM_LOAD32_BYTE( "u11-80.bin", 0x000001, 0x100000, CRC(3a512c6c) SHA1(ba8592773d71e57b3dc6aaff7df1214a57429b10) ) + ROM_LOAD32_BYTE( "u13-80.bin", 0x000002, 0x100000, CRC(75fadda8) SHA1(5a968f10e582fbe74000f3de33dc1e2d07c3fec1) ) + ROM_LOAD32_BYTE( "u15-80.bin", 0x000003, 0x100000, CRC(10e5a8e7) SHA1(e91de378c9485dce080d2d00a923e75f8be30f9a) ) + ROM_LOAD32_BYTE( "u8-80.bin", 0x400000, 0x100000, CRC(0ac57377) SHA1(cbbac3434b5b46f30abe880990300bf0a0393557) ) + ROM_LOAD32_BYTE( "u10-80.bin", 0x400001, 0x100000, CRC(03c67464) SHA1(d5a1e657140a31c3f77c6490bcf35075d0546b71) ) + ROM_LOAD32_BYTE( "u12-80.bin", 0x400002, 0x100000, CRC(622992ef) SHA1(6a31212436dcda308f1f78abff714bbd97df71ef) ) + ROM_LOAD32_BYTE( "u14-80.bin", 0x400003, 0x100000, CRC(ce62e7f9) SHA1(af9eeb7bdb76870e914f1233c9fd496d6c33a615) ) + + ROM_REGION( 0x400000, "u18u21", 0 ) // sound + ROM_LOAD( "u18-80.bin", 0x000000, 0x100000, CRC(8e322415) SHA1(14685d1f426187d1fbe878713cd60ece177fdd1b) ) + ROM_LOAD( "u19-80.bin", 0x000000, 0x100000, CRC(8ce5ba46) SHA1(012d8686291d9078be8a489e21180681ace06b8b) ) + ROM_LOAD( "u20-80.bin", 0x000000, 0x100000, CRC(be59025d) SHA1(b64c707129c1418833c1b5601d0a194c2e29d9a8) ) + ROM_LOAD( "u21-80.bin", 0x000000, 0x100000, CRC(d6b79eae) SHA1(a128adbca125f3811edc8c7042bf41b45dc61083) ) +ROM_END + + +// I C Money (set 1) +ROM_START( atricmon ) + ROM_REGION( 0x100000, "maincpu", 0 ) // Z8018010VSC code (Z180) + ROM_LOAD( "mb-u2.bin", 0x000000, 0x80000, CRC(0fc3f42f) SHA1(53d189205ede16bc0199a6163a11eb39c2e3f2f1) ) + + ROM_REGION( 0x040000, "u6", 0 ) // config? + ROM_LOAD( "mb-u6.bin", 0x000000, 0x040000, CRC(eb8d3b4f) SHA1(598fb921026685ccfdb0b1804d92b3c6b3313ff4) ) + + ROM_REGION( 0x2e5, "mbpals", 0 ) + ROM_LOAD( "mb-u22-d.bin", 0x000, 0x117, CRC(dc097847) SHA1(305294284d0ffd578f9115b836ef1f9e906c1599) ) + ROM_LOAD( "mb-u32-d.bin", 0x000, 0x2e5, CRC(996854bc) SHA1(647d2f49b739f7ca55c0b85290b6a21256834fd8) ) + ROM_LOAD( "mb-u35-65994077_icm-s.bin", 0x000, 0x2e5, CRC(996854bc) SHA1(647d2f49b739f7ca55c0b85290b6a21256834fd8) ) + + ROM_REGION32_LE( 0x800000, "user1", 0 ) // TMS34020APCM-40 code (34020) + ROM_LOAD32_BYTE( "gb-u9.bin", 0x000000, 0x100000, CRC(eff83f95) SHA1(743f2fb0dd84a83387919db70175aa62f5f6f858) ) + ROM_LOAD32_BYTE( "gb-u11.bin", 0x000001, 0x100000, CRC(3fc27ae9) SHA1(896da175c11b48fb28dbb0678849b8f167cf5f6e) ) + ROM_LOAD32_BYTE( "gb-u13.bin", 0x000002, 0x100000, CRC(6ad50f67) SHA1(b32781f06acc3e9929467d6d1212cf0dc757e5b3) ) + ROM_LOAD32_BYTE( "gb-u15.bin", 0x000003, 0x100000, CRC(6ae46bb3) SHA1(edc51f9a885c483283edb9b0873b980727205a91) ) + ROM_LOAD32_BYTE( "gb-u8.bin", 0x400000, 0x100000, CRC(7dee3392) SHA1(718333ad5552351702e95a76cc2b61f7c3bf14ac) ) + ROM_LOAD32_BYTE( "gb-u10.bin", 0x400001, 0x100000, CRC(db88f900) SHA1(83638b46fd7b6e4229fa5295479c9763c2f690c0) ) + ROM_LOAD32_BYTE( "gb-u12.bin", 0x400002, 0x100000, CRC(fcbada90) SHA1(3206409c9a689e196694831ff5e6ba0fd32d676a) ) + ROM_LOAD32_BYTE( "gb-u14.bin", 0x400003, 0x100000, CRC(055c7ed6) SHA1(8b8f537b8dfd898d2f9eb123303f9488a6ae4567) ) + + // no dedicated sound ROM board present in cage, missing or not needed here? there is an OKI M6585 on the mainboard ROM_END +// I C Money (set 2) +ROM_START( atricmona ) + ROM_REGION( 0x100000, "maincpu", 0 ) // Z8018010VSC code (Z180) + ROM_LOAD( "u2.040", 0x000000, 0x80000, CRC(0c047e55) SHA1(73805271a73aa6a573164625801e021b22b1bfaf) ) + + ROM_REGION( 0x040000, "u6", 0 ) // config? + ROM_LOAD( "u6.020", 0x000000, 0x040000, CRC(87f0c657) SHA1(fc537474de157c304d35c852fc15d392753df356) ) + + ROM_REGION32_LE( 0x800000, "user1", 0 ) // TMS34020APCM-40 code (34020) + // No TMS34020 code or sound data? + ROM_LOAD32_BYTE( "atricmona.u9", 0x000000, 0x100000, NO_DUMP ) + ROM_LOAD32_BYTE( "atricmona.u11", 0x000001, 0x100000, NO_DUMP ) + ROM_LOAD32_BYTE( "atricmona.u13", 0x000002, 0x100000, NO_DUMP ) + ROM_LOAD32_BYTE( "atricmona.u15", 0x000003, 0x100000, NO_DUMP ) + ROM_LOAD32_BYTE( "atricmona.u8", 0x400000, 0x100000, NO_DUMP ) + ROM_LOAD32_BYTE( "atricmona.u10", 0x400001, 0x100000, NO_DUMP ) + ROM_LOAD32_BYTE( "atricmona.u12", 0x400002, 0x100000, NO_DUMP ) + ROM_LOAD32_BYTE( "atricmona.u14", 0x400003, 0x100000, NO_DUMP ) + + ROM_REGION( 0x400000, "pals", 0 ) // pal (converted from JED) + ROM_LOAD( "u35.bin", 0x000000, 0x0002dd, CRC(6c7f3f2a) SHA1(826e5b6bddbc77a19713345c82e388a994c23262) ) +ROM_END +// Jumping Jackpots (Russia) ROM_START( jumpjkpt ) - ROM_REGION( 0x100000, "maincpu", 0 ) /* Z8018010VSC code (Z180) */ - ROM_LOAD( "o_-jujp01-abaaa-ca-std_u02.bin", 0x0000, 0x100000, CRC(d384b881) SHA1(0816fd33578b28c605978dd306b110c421bf5793) ) + ROM_REGION( 0x100000, "maincpu", 0 ) // Z8018010VSC code (Z180) + ROM_LOAD( "o_-jujp01-abaaa-ca-std_u02.bin", 0x000000, 0x100000, CRC(d384b881) SHA1(0816fd33578b28c605978dd306b110c421bf5793) ) ROM_REGION( 0x020000, "u6", 0 ) // config? - ROM_LOAD( "jujp01-a-za-std_-5_u06.bin", 0x0000, 0x020000, CRC(0f19b0c1) SHA1(c118215bcf502287277c34e6f389af70ab945674) ) + ROM_LOAD( "jujp01-a-za-std_-5_u06.bin", 0x000000, 0x020000, CRC(0f19b0c1) SHA1(c118215bcf502287277c34e6f389af70ab945674) ) - ROM_REGION32_LE( 0x800000, "user1", 0 ) /* TMS34020APCM-40 code (34020) */ + ROM_REGION32_LE( 0x800000, "user1", 0 ) // TMS34020APCM-40 code (34020) ROM_LOAD32_BYTE( "jujp01-a_-b-std_-5_u09.bin", 0x000000, 0x100000, CRC(7d3cb293) SHA1(e9f102620f01309327678e115e206fd29dcffde6) ) ROM_LOAD32_BYTE( "jujp01-a_-b-std_-5_u11.bin", 0x000001, 0x100000, CRC(d92c0c7e) SHA1(680032b81e76c74539ff56f8c5fc7d4d16fd4793) ) ROM_LOAD32_BYTE( "jujp01-a_-b-std_-5_u13.bin", 0x000002, 0x100000, CRC(555ced70) SHA1(1ec115a2e2a1c171070775913a3eb831efc81dab) ) @@ -1140,22 +1356,22 @@ ROM_START( jumpjkpt ) ROM_LOAD32_BYTE( "jujp01-a_-b-std_-5_u14.bin", 0x400003, 0x100000, CRC(c4754688) SHA1(1bf172d28795a7313586e9874036be0f7864d7c2) ) ROM_REGION( 0x400000, "u18u21", 0 ) // sound - ROM_LOAD( "jujp01-aa-a-std_-_u18.bin", 0x0000, 0x100000, CRC(fe453a28) SHA1(ec39ac2bd8c7014f61a8db1a8896c771532b6d3b) ) - ROM_LOAD( "jujp01-aa-a-std_-_u19.bin", 0x0000, 0x100000, CRC(273c7212) SHA1(0689fd7e3862d01f258fba9773f460ea4803d0a3) ) - ROM_LOAD( "jujp01-aa-a-std_-_u20.bin", 0x0000, 0x100000, CRC(45290607) SHA1(f7af3cf323c7e9c3b1f86b230e73012c56fbf103) ) - ROM_LOAD( "jujp01-aa-a-std_-_u21.bin", 0x0000, 0x100000, CRC(ca8d5cf5) SHA1(17202eb6235ecbfd6301269fe36887c078fd6292) ) + ROM_LOAD( "jujp01-aa-a-std_-_u18.bin", 0x000000, 0x100000, CRC(fe453a28) SHA1(ec39ac2bd8c7014f61a8db1a8896c771532b6d3b) ) + ROM_LOAD( "jujp01-aa-a-std_-_u19.bin", 0x000000, 0x100000, CRC(273c7212) SHA1(0689fd7e3862d01f258fba9773f460ea4803d0a3) ) + ROM_LOAD( "jujp01-aa-a-std_-_u20.bin", 0x000000, 0x100000, CRC(45290607) SHA1(f7af3cf323c7e9c3b1f86b230e73012c56fbf103) ) + ROM_LOAD( "jujp01-aa-a-std_-_u21.bin", 0x000000, 0x100000, CRC(ca8d5cf5) SHA1(17202eb6235ecbfd6301269fe36887c078fd6292) ) ROM_END - +// Mushroom Magic (Russia) ROM_START( mushmagi ) - ROM_REGION( 0x100000, "maincpu", 0 ) /* Z8018010VSC code (Z180) */ - ROM_LOAD( "mb-u02.bin", 0x0000, 0x100000, CRC(bb36ee69) SHA1(3a9ce792941250277c5a8f53bd94f7c38b2e5130) ) + ROM_REGION( 0x100000, "maincpu", 0 ) // Z8018010VSC code (Z180) + ROM_LOAD( "mb-u02.bin", 0x000000, 0x100000, CRC(bb36ee69) SHA1(3a9ce792941250277c5a8f53bd94f7c38b2e5130) ) ROM_REGION( 0x080000, "u6", 0 ) // config? - ROM_LOAD( "mb-u06.bin", 0x0000, 0x080000, CRC(10e3f3f6) SHA1(458f5be7ee01e361b4c31c099fc721521fbe3864) ) + ROM_LOAD( "mb-u06.bin", 0x000000, 0x080000, CRC(10e3f3f6) SHA1(458f5be7ee01e361b4c31c099fc721521fbe3864) ) - ROM_REGION32_LE( 0x800000, "user1", 0 ) /* TMS34020APCM-40 code (34020) */ + ROM_REGION32_LE( 0x800000, "user1", 0 ) // TMS34020APCM-40 code (34020) ROM_LOAD32_BYTE( "gb-u09.bin", 0x000000, 0x100000, CRC(f2d82cee) SHA1(78a15f757bbbb1f4f0a5ab889a9807d886a543a8) ) ROM_LOAD32_BYTE( "gb-u11.bin", 0x000001, 0x100000, CRC(3ead238a) SHA1(21956bd6b24e3281db70b6d28d97ee7bbd9ae75f) ) ROM_LOAD32_BYTE( "gb-u13.bin", 0x000002, 0x100000, CRC(58c191e6) SHA1(b0f86f407958de2b8e0f5e61288f8b6c7a2c0c2f) ) @@ -1166,22 +1382,23 @@ ROM_START( mushmagi ) ROM_LOAD32_BYTE( "gb-u14.bin", 0x400003, 0x100000, CRC(952ada33) SHA1(976492f12db27cedc3219e29536a3256d7ae5675) ) ROM_REGION( 0x400000, "u18u21", 0 ) // sound - ROM_LOAD( "sb-u18.bin", 0x0000, 0x100000, CRC(3ee4c1bd) SHA1(6885585ca1f40790eafac3161de3bcca9a2117c7) ) - ROM_LOAD( "sb-u19.bin", 0x0000, 0x100000, CRC(70279081) SHA1(15933d81af85b2c6f831e765f2a4e4f0e44fdc18) ) - ROM_LOAD( "sb-u20.bin", 0x0000, 0x100000, CRC(f92276e5) SHA1(62628e9ef166607c42e873d116116dee6bf9b623) ) - ROM_LOAD( "sb-u21.bin", 0x0000, 0x100000, CRC(3c168653) SHA1(ce77851f64cf14e5b074f667d3a723097f78496f) ) + ROM_LOAD( "sb-u18.bin", 0x000000, 0x100000, CRC(3ee4c1bd) SHA1(6885585ca1f40790eafac3161de3bcca9a2117c7) ) + ROM_LOAD( "sb-u19.bin", 0x000000, 0x100000, CRC(70279081) SHA1(15933d81af85b2c6f831e765f2a4e4f0e44fdc18) ) + ROM_LOAD( "sb-u20.bin", 0x000000, 0x100000, CRC(f92276e5) SHA1(62628e9ef166607c42e873d116116dee6bf9b623) ) + ROM_LOAD( "sb-u21.bin", 0x000000, 0x100000, CRC(3c168653) SHA1(ce77851f64cf14e5b074f667d3a723097f78496f) ) ROM_END +// Spell Master (Russia) ROM_START( splmastr ) - ROM_REGION( 0x100000, "maincpu", 0 ) /* Z8018010VSC code (Z180) */ - ROM_LOAD( "mb-u2 24e1.bin", 0x0000, 0x100000, CRC(e601e214) SHA1(7ff898245198350ea53ca1c3a71b491d55f60880) ) + ROM_REGION( 0x100000, "maincpu", 0 ) // Z8018010VSC code (Z180) + ROM_LOAD( "mb-u2 24e1.bin", 0x000000, 0x100000, CRC(e601e214) SHA1(7ff898245198350ea53ca1c3a71b491d55f60880) ) ROM_REGION( 0x020000, "u6", 0 ) // config? - ROM_LOAD( "mb-u6 ebda.bin", 0x0000, 0x020000, CRC(7e73e9c7) SHA1(a8b00af9a3bf936e54391a96777ac78773b3cee0) ) - ROM_LOAD( "speel master.bin", 0x0000, 0x020000, CRC(04168ab7) SHA1(70a387599bf6629a9a8a6ff38ed0d40e92e54504) ) + ROM_LOAD( "mb-u6 ebda.bin", 0x000000, 0x020000, CRC(7e73e9c7) SHA1(a8b00af9a3bf936e54391a96777ac78773b3cee0) ) + ROM_LOAD( "speel master.bin", 0x000000, 0x020000, CRC(04168ab7) SHA1(70a387599bf6629a9a8a6ff38ed0d40e92e54504) ) - ROM_REGION32_LE( 0x800000, "user1", 0 ) /* TMS34020APCM-40 code (34020) */ + ROM_REGION32_LE( 0x800000, "user1", 0 ) // TMS34020APCM-40 code (34020) ROM_LOAD32_BYTE( "gb-u9 b408.bin", 0x000000, 0x100000, CRC(e7146c72) SHA1(21b143ae93a73dd59b652a0033ceaa9116575239) ) ROM_LOAD32_BYTE( "gb-u11 abf6.bin", 0x000001, 0x100000, CRC(de54f849) SHA1(b628a69c8ad5f81543cd78c458dd9348226114a7) ) ROM_LOAD32_BYTE( "gb-u13 6526.bin", 0x000002, 0x100000, CRC(e5744b4f) SHA1(8c36b087dc4fad6cd463abea5b1e7c0bd9c30074) ) @@ -1192,24 +1409,79 @@ ROM_START( splmastr ) ROM_LOAD32_BYTE( "gb-u14 f911.bin", 0x400003, 0x100000, CRC(6d77b13c) SHA1(dab85782a98cc5c21f236044dea0c7617b40469b) ) ROM_REGION( 0x400000, "u18u21", 0 ) // sound - ROM_LOAD( "sb-u18 e1e5.bin", 0x0000, 0x100000, CRC(b0eb4ceb) SHA1(410990faeef6e371205a4344622b88d0db1e09e9) ) - ROM_LOAD( "sb-u19 7d08.bin", 0x0000, 0x100000, CRC(70279081) SHA1(15933d81af85b2c6f831e765f2a4e4f0e44fdc18) ) - ROM_LOAD( "sb-u20 06ad.bin", 0x0000, 0x100000, CRC(fe354878) SHA1(44abb1a6ba5234c4909ef9f0a2f8b353b0695ff0) ) - ROM_LOAD( "sb-u21 4f56.bin", 0x0000, 0x100000, CRC(54d631a2) SHA1(1fe4278642b5c01e863af5c2ac7ee38d7c94d776) ) + ROM_LOAD( "sb-u18 e1e5.bin", 0x000000, 0x100000, CRC(b0eb4ceb) SHA1(410990faeef6e371205a4344622b88d0db1e09e9) ) + ROM_LOAD( "sb-u19 7d08.bin", 0x000000, 0x100000, CRC(70279081) SHA1(15933d81af85b2c6f831e765f2a4e4f0e44fdc18) ) + ROM_LOAD( "sb-u20 06ad.bin", 0x000000, 0x100000, CRC(fe354878) SHA1(44abb1a6ba5234c4909ef9f0a2f8b353b0695ff0) ) + ROM_LOAD( "sb-u21 4f56.bin", 0x000000, 0x100000, CRC(54d631a2) SHA1(1fe4278642b5c01e863af5c2ac7ee38d7c94d776) ) +ROM_END + + +// Sphinx II +ROM_START( sphinxii ) + ROM_REGION( 0x100000, "maincpu", 0 ) // Z8018010VSC code (Z180) + ROM_LOAD( "sphinx2_3ab9.u2", 0x000000, 0x100000, CRC(5e29a69b) SHA1(fbbff1187390a27dd385c091bb69dc4d73c2a72f) ) + + ROM_REGION( 0x020000, "u6", 0 ) // config? + ROM_LOAD( "sphinx2.u6", 0x000000, 0x020000, CRC(4d37999a) SHA1(678dc788cfe00ab2599df08941660324793d7f6c) ) + + ROM_REGION32_LE( 0x800000, "user1", 0 ) // TMS34020APCM-40 code (34020) + ROM_LOAD32_BYTE( "gpg.u9", 0x000000, 0x100000, CRC(3714e7af) SHA1(5213207ef525367f82a1ce5e49751c2d987a05c9) ) + ROM_LOAD32_BYTE( "gpg.u11", 0x000001, 0x100000, CRC(9d7c4f17) SHA1(5ffe06a23642f3915087f6499bf83aec8ea7a4f2) ) + ROM_LOAD32_BYTE( "gpg.u13", 0x000002, 0x100000, CRC(07a167bd) SHA1(451e0fb2c268618f554f3782aad78056f66fbbbc) ) + ROM_LOAD32_BYTE( "gpg.u15", 0x000003, 0x100000, CRC(552ca8bf) SHA1(091c5fa821d33facda8810e3f3ed1ec0c84dd055) ) + ROM_LOAD32_BYTE( "gpg.u8", 0x400000, 0x100000, CRC(a719fd7f) SHA1(de09676375f21f816828fde8a6b7ae5ed741fc4c) ) + ROM_LOAD32_BYTE( "gpg.u10", 0x400001, 0x100000, CRC(9886a639) SHA1(752b759269a401493bce41590691feafe0bf2998) ) + ROM_LOAD32_BYTE( "gpg.u12", 0x400002, 0x100000, CRC(6f6dd839) SHA1(01ffa589df669ebe4825418617a532e128c5514d) ) + ROM_LOAD32_BYTE( "gpg.u14", 0x400003, 0x100000, NO_DUMP ) + + ROM_REGION( 0x400000, "u18u21", 0 ) // sound + ROM_LOAD( "spxsndu18.080", 0x000000, 0x100000, CRC(52da6133) SHA1(51ba2c586ffeddca1d8e345c644525cbccffdba8) ) + ROM_LOAD( "spxsndu19.080", 0x000000, 0x100000, CRC(3aed50bc) SHA1(c7abc91dbddf9bccac9cc9a5b73fbd9b22878ca9) ) + ROM_LOAD( "spxsndu20.080", 0x000000, 0x100000, CRC(0a8ac239) SHA1(7d58abaff09a7e61d1380121d085a5601549e908) ) + ROM_LOAD( "spxsndu21.080", 0x000000, 0x100000, CRC(d4621e8d) SHA1(6ec49c52b88e648dbe2fe3c47868946369d717cf) ) +ROM_END + + +// Sphinx II (Russia) +ROM_START( sphinxiir ) + ROM_REGION( 0x100000, "maincpu", 0 ) // Z8018010VSC code (Z180) + ROM_LOAD( "u2-80.bin", 0x000000, 0x100000, CRC(943d35a7) SHA1(17ead3a7f084b5e384f99903f57360ff9e133026) ) + + ROM_REGION( 0x020000, "u6", 0 ) // config? + ROM_LOAD( "u6-10.bin", 0x000000, 0x020000, CRC(4d37999a) SHA1(678dc788cfe00ab2599df08941660324793d7f6c) ) + ROM_LOAD( "sphinx ii.bin", 0x000000, 0x020000, CRC(7fae09a6) SHA1(5c26798337d3691d81f853ee447cb7119fce7b14) ) + + ROM_REGION32_LE( 0x800000, "user1", 0 ) // TMS34020APCM-40 code (34020) + ROM_LOAD32_BYTE( "u9-80.bin", 0x000000, 0x100000, CRC(c54e4e07) SHA1(1249494773dae044a7bb4381b084e3d2e14367d7) ) + ROM_LOAD32_BYTE( "u11-80.bin", 0x000001, 0x100000, CRC(5c1e82ab) SHA1(f22ba1dc6799388e855d8f3064b96d568619a75b) ) + ROM_LOAD32_BYTE( "u13-80.bin", 0x000002, 0x100000, CRC(fb49ae3e) SHA1(bf0cb5815639ebc3db3333249ab2ed81d3bdc684) ) + ROM_LOAD32_BYTE( "u15-80.bin", 0x000003, 0x100000, CRC(ac741fb5) SHA1(a52eaa4a43cd522885d5d9b024c0646279dffe25) ) + ROM_LOAD32_BYTE( "u8-80.bin", 0x400000, 0x100000, CRC(ca4c1626) SHA1(6a883f713272ea70fd0757f9d0e07379925973a3) ) + ROM_LOAD32_BYTE( "u10-80.bin", 0x400001, 0x100000, CRC(b64deef1) SHA1(b3c4baef7137af5b25402cec474f92333d93e727) ) + ROM_LOAD32_BYTE( "u12-80.bin", 0x400002, 0x100000, CRC(cf5a97b7) SHA1(6cb490a5a0c9e908593beff3aee374eddef19a5f) ) + ROM_LOAD32_BYTE( "u14-80.bin", 0x400003, 0x100000, CRC(98730028) SHA1(86b782bea8caf33dab9656c93856fc345977f7cc) ) + + ROM_REGION( 0x400000, "u18u21", 0 ) // sound + ROM_LOAD( "u18-80.bin", 0x000000, 0x100000, CRC(52da6133) SHA1(51ba2c586ffeddca1d8e345c644525cbccffdba8) ) + ROM_LOAD( "u19-80.bin", 0x000000, 0x100000, CRC(3aed50bc) SHA1(c7abc91dbddf9bccac9cc9a5b73fbd9b22878ca9) ) + ROM_LOAD( "u20-80.bin", 0x000000, 0x100000, CRC(0a8ac239) SHA1(7d58abaff09a7e61d1380121d085a5601549e908) ) + ROM_LOAD( "u21-80.bin", 0x000000, 0x100000, CRC(d4621e8d) SHA1(6ec49c52b88e648dbe2fe3c47868946369d717cf) ) ROM_END + +// Taj Mahal (Russia) ROM_START( tajmah ) - ROM_REGION( 0x100000, "maincpu", 0 ) /* Z8018010VSC code (Z180) */ - ROM_LOAD( "ovtddfxe.8u2", 0x0000, 0x100000, CRC(83639f76) SHA1(f982222f8ae635c34413b316fe55de76fdc8535e) ) - ROM_LOAD( "vtddfxd.801", 0x0000, 0x100000, CRC(b0eb5468) SHA1(09e8ceca4cf3bea6447b9c9c0ee5776cbd32f098) ) + ROM_REGION( 0x100000, "maincpu", 0 ) // Z8018010VSC code (Z180) + ROM_LOAD( "ovtddfxe.8u2", 0x000000, 0x100000, CRC(83639f76) SHA1(f982222f8ae635c34413b316fe55de76fdc8535e) ) + ROM_LOAD( "vtddfxd.801", 0x000000, 0x100000, CRC(b0eb5468) SHA1(09e8ceca4cf3bea6447b9c9c0ee5776cbd32f098) ) ROM_REGION( 0x040000, "u6", 0 ) // config? - ROM_LOAD( "590f4-d.u6", 0x0000, 0x040000, CRC(b346765d) SHA1(567ae4fa740a4bd26485b72f3fd0e57d7a18512e) ) - ROM_LOAD( "t510f14b.2u6", 0x0000, 0x040000, CRC(ff6add95) SHA1(b1fa169e61a774d1ce5c0c1b4f80baa289ca696e) ) - ROM_LOAD( "t595f03c.2u6", 0x0000, 0x040000, CRC(b173164c) SHA1(91390cc2568de1c61df6b427bec9060fa7b0829a) ) - ROM_LOAD( "t595f07b.u6", 0x0000, 0x040000, CRC(7ef35e2f) SHA1(d2b4d392d66784900bf8413d4adbd1e37de11a67) ) + ROM_LOAD( "590f4-d.u6", 0x000000, 0x040000, CRC(b346765d) SHA1(567ae4fa740a4bd26485b72f3fd0e57d7a18512e) ) + ROM_LOAD( "t510f14b.2u6", 0x000000, 0x040000, CRC(ff6add95) SHA1(b1fa169e61a774d1ce5c0c1b4f80baa289ca696e) ) + ROM_LOAD( "t595f03c.2u6", 0x000000, 0x040000, CRC(b173164c) SHA1(91390cc2568de1c61df6b427bec9060fa7b0829a) ) + ROM_LOAD( "t595f07b.u6", 0x000000, 0x040000, CRC(7ef35e2f) SHA1(d2b4d392d66784900bf8413d4adbd1e37de11a67) ) - ROM_REGION16_LE( 0x800000, "user2", 0 ) /* TMS34020APCM-40 code (34020) */ + ROM_REGION16_LE( 0x800000, "user2", 0 ) // TMS34020APCM-40 code (34020) ROM_LOAD32_BYTE( "t5_d01d.u9", 0x400000, 0x080000, CRC(d1a0e88b) SHA1(c68c9be2413725b698fccda74c120a732bc1b5ab) ) ROM_LOAD32_BYTE( "t5_d01d.u11", 0x400001, 0x080000, CRC(e063b35e) SHA1(54fb8831e4529b85740f22ddb181649ebfad8f03) ) ROM_LOAD32_BYTE( "t5_d01d.u13", 0x400002, 0x080000, CRC(9d3f04d2) SHA1(a6f6b564f7165aa992bc0dd8c090fa8cecd1953c) ) @@ -1219,7 +1491,7 @@ ROM_START( tajmah ) ROM_LOAD32_BYTE( "t5_d01d.u12", 0x600002, 0x080000, CRC(c2ca0b17) SHA1(cfd553f1943552620f6d324f767fd1f1957e8e25) ) ROM_LOAD32_BYTE( "t5_d01d.u14", 0x600003, 0x080000, CRC(0d512057) SHA1(f5f43dad25940193516d467725ecbe1989cc9003) ) - ROM_REGION32_LE( 0x800000, "user1", 0 ) /* TMS34020APCM-40 code (34020) - is this an alt set, or a 2nd video board? */ + ROM_REGION32_LE( 0x800000, "user1", 0 ) // TMS34020APCM-40 code (34020) - is this an alt set, or a 2nd video board? ROM_LOAD32_BYTE( "u9", 0x400000, 0x080000, CRC(157b9860) SHA1(6e04f035a945a63617e32b196fa0c1b6fd26b281) ) ROM_LOAD32_BYTE( "u11", 0x400001, 0x080000, CRC(6aa2cecc) SHA1(7b1d6bb81fed7413f69e926e7cefe1ee171453b4) ) ROM_LOAD32_BYTE( "u13", 0x400002, 0x080000, CRC(5c091b7a) SHA1(d1c758a6d155bbc7359f3f46a29bac44d96ec4b1) ) @@ -1232,27 +1504,28 @@ ROM_START( tajmah ) // sound (missing or not needed here? there is an OKI M6585 on the mainboard) /* ROM_REGION( 0x400000, "u18u21", 0 ) - ROM_LOAD( "u18", 0x0000, 0x100000, NO_DUMP ) - ROM_LOAD( "u19", 0x0000, 0x100000, NO_DUMP ) - ROM_LOAD( "u20", 0x0000, 0x100000, NO_DUMP ) - ROM_LOAD( "u21", 0x0000, 0x100000, NO_DUMP ) + ROM_LOAD( "u18", 0x000000, 0x100000, NO_DUMP ) + ROM_LOAD( "u19", 0x000000, 0x100000, NO_DUMP ) + ROM_LOAD( "u20", 0x000000, 0x100000, NO_DUMP ) + ROM_LOAD( "u21", 0x000000, 0x100000, NO_DUMP ) */ ROM_END +// Three Wishes Red (Russia) ROM_START( 3wishrd ) - ROM_REGION( 0x100000, "maincpu", 0 ) /* Z8018010VSC code (Z180) */ - ROM_LOAD( "3w-baca.8u2", 0x0000, 0x100000, CRC(14ca9f18) SHA1(8bf5eaa11ca70d14c7ed69a17c4610ecca6f76f8) ) + ROM_REGION( 0x100000, "maincpu", 0 ) // Z8018010VSC code (Z180) + ROM_LOAD( "3w-baca.8u2", 0x000000, 0x100000, CRC(14ca9f18) SHA1(8bf5eaa11ca70d14c7ed69a17c4610ecca6f76f8) ) ROM_REGION( 0x020000, "u6", 0 ) // config? - ROM_LOAD( "3590a25a.1u6", 0x0000, 0x020000, CRC(8a10399e) SHA1(9658705821cdd39e1022a2b63dd61355d44c23f6) ) - ROM_LOAD( "3590a26a.1u6", 0x0000, 0x020000, CRC(86ec866d) SHA1(1fbcbfec49900e45ed7866857b0314de07020405) ) - ROM_LOAD( "35b0a03a.1u6", 0x0000, 0x020000, CRC(a25650d7) SHA1(72c1c58cf933c7b6fc85c071f48768e482e99ff7) ) - ROM_LOAD( "35b0a04a.1u6", 0x0000, 0x020000, CRC(36930b7c) SHA1(23d578450fc3185389058da367345ac20883b6f4) ) - ROM_LOAD( "three wishes.bin", 0x0000, 0x020000, CRC(37d85da7) SHA1(64db855e06dab5ea85c669bd72f1e8ee8856607a) ) - ROM_LOAD( "590a13a.1u6", 0x0000, 0x020000, CRC(3e674907) SHA1(ca933c416764ebf355d8e04f871f8421c9039078) ) - - ROM_REGION32_LE( 0x800000, "user1", 0 ) /* TMS34020APCM-40 code (34020) */ + ROM_LOAD( "3590a25a.1u6", 0x000000, 0x020000, CRC(8a10399e) SHA1(9658705821cdd39e1022a2b63dd61355d44c23f6) ) + ROM_LOAD( "3590a26a.1u6", 0x000000, 0x020000, CRC(86ec866d) SHA1(1fbcbfec49900e45ed7866857b0314de07020405) ) + ROM_LOAD( "35b0a03a.1u6", 0x000000, 0x020000, CRC(a25650d7) SHA1(72c1c58cf933c7b6fc85c071f48768e482e99ff7) ) + ROM_LOAD( "35b0a04a.1u6", 0x000000, 0x020000, CRC(36930b7c) SHA1(23d578450fc3185389058da367345ac20883b6f4) ) + ROM_LOAD( "three wishes.bin", 0x000000, 0x020000, CRC(37d85da7) SHA1(64db855e06dab5ea85c669bd72f1e8ee8856607a) ) + ROM_LOAD( "590a13a.1u6", 0x000000, 0x020000, CRC(3e674907) SHA1(ca933c416764ebf355d8e04f871f8421c9039078) ) + + ROM_REGION32_LE( 0x800000, "user1", 0 ) // TMS34020APCM-40 code (34020) ROM_LOAD32_BYTE( "tw5b01a.8u9", 0x000000, 0x100000, CRC(2410659a) SHA1(2bcd2539c0e3e7389c27c21e58d9199b9c7c742e) ) ROM_LOAD32_BYTE( "tw5b01a.u11", 0x000001, 0x100000, CRC(44ca9ce1) SHA1(b1c6d83f749202c072c6ce99c0470a31cfab8986) ) ROM_LOAD32_BYTE( "tw5b01a.u13", 0x000002, 0x100000, CRC(6c60097b) SHA1(f5ddb86b481b7b95d6ec151b37d662b583817813) ) @@ -1263,25 +1536,47 @@ ROM_START( 3wishrd ) ROM_LOAD32_BYTE( "tw5b01a.u14", 0x400003, 0x100000, CRC(85f30657) SHA1(e055e1fdeeab2fd82bb23b80416b421eb9143967) ) ROM_REGION( 0x400000, "u18u21", 0 ) // sound - ROM_LOAD( "wishaaa.u18", 0x0000, 0x100000, CRC(c258c2c7) SHA1(900497e2e023e2ac1b62c5dabfaf95e5bf0b855b) ) - ROM_LOAD( "wishaaa.u19", 0x0000, 0x100000, CRC(09d186a9) SHA1(1d784fd3591583c99fac516a8c4cf47c3932d084) ) - ROM_LOAD( "wishaaa.u20", 0x0000, 0x100000, CRC(be187745) SHA1(c96458bbc9164a4ca3bca94f0ac5a4fe9f1b1dfa) ) - ROM_LOAD( "wishaaa.u21", 0x0000, 0x100000, CRC(466b34e1) SHA1(3f5236ea78bde8bfb998367e913f42d23b4c17f1) ) + ROM_LOAD( "wishaaa.u18", 0x000000, 0x100000, CRC(c258c2c7) SHA1(900497e2e023e2ac1b62c5dabfaf95e5bf0b855b) ) + ROM_LOAD( "wishaaa.u19", 0x000000, 0x100000, CRC(09d186a9) SHA1(1d784fd3591583c99fac516a8c4cf47c3932d084) ) + ROM_LOAD( "wishaaa.u20", 0x000000, 0x100000, CRC(be187745) SHA1(c96458bbc9164a4ca3bca94f0ac5a4fe9f1b1dfa) ) + ROM_LOAD( "wishaaa.u21", 0x000000, 0x100000, CRC(466b34e1) SHA1(3f5236ea78bde8bfb998367e913f42d23b4c17f1) ) +ROM_END + + +// Typhoon Lagoon +ROM_START( tylagoon ) + ROM_REGION( 0x100000, "maincpu", 0 ) // Z8018010VSC code (Z180) + ROM_LOAD( "typhoonu241co", 0x000000, 0x100000, CRC(5a619390) SHA1(c96ed082fcf6650da0770ff2fdff0ba387bf639e) ) + + ROM_REGION( 0x020000, "u6", 0 ) // config? + ROM_LOAD( "typhoonu69b00", 0x000000, 0x020000, CRC(31077e74) SHA1(953b63c91b3ace5d9e5af01c355bdbc7cbc8005f) ) + + ROM_REGION32_LE( 0x800000, "user1", 0 ) // TMS34020APCM-40 code (34020) + // No TMS34020 code or sound data? + ROM_LOAD32_BYTE( "tylagoon.u9", 0x000000, 0x100000, NO_DUMP ) + ROM_LOAD32_BYTE( "tylagoon.u11", 0x000001, 0x100000, NO_DUMP ) + ROM_LOAD32_BYTE( "tylagoon.u13", 0x000002, 0x100000, NO_DUMP ) + ROM_LOAD32_BYTE( "tylagoon.u15", 0x000003, 0x100000, NO_DUMP ) + ROM_LOAD32_BYTE( "tylagoon.u8" , 0x400000, 0x100000, NO_DUMP ) + ROM_LOAD32_BYTE( "tylagoon.u10", 0x400001, 0x100000, NO_DUMP ) + ROM_LOAD32_BYTE( "tylagoon.u12", 0x400002, 0x100000, NO_DUMP ) + ROM_LOAD32_BYTE( "tylagoon.u14", 0x400003, 0x100000, NO_DUMP ) ROM_END +// Wild Thing ROM_START( atrwild ) - ROM_REGION( 0x100000, "maincpu", 0 ) /* Z8018010VSC code (Z180) */ - ROM_LOAD( "mb-u2.bin", 0x0000, 0x80000, CRC(e72a2339) SHA1(ad191dbbd0ac1f3288c45e336f27f693877273a9) ) + ROM_REGION( 0x100000, "maincpu", 0 ) // Z8018010VSC code (Z180) + ROM_LOAD( "mb-u2.bin", 0x000000, 0x80000, CRC(e72a2339) SHA1(ad191dbbd0ac1f3288c45e336f27f693877273a9) ) ROM_REGION( 0x020000, "u6", 0 ) // config? - ROM_LOAD( "mb-u6.bin", 0x0000, 0x020000, CRC(f310e88d) SHA1(5d354e2a9de9eff27e66a4b1ca0925b19c6c86cc) ) + ROM_LOAD( "mb-u6.bin", 0x000000, 0x020000, CRC(f310e88d) SHA1(5d354e2a9de9eff27e66a4b1ca0925b19c6c86cc) ) ROM_REGION( 0x117, "mbpals", 0 ) ROM_LOAD( "mb-u22-d.bin", 0x000, 0x117, CRC(dc097847) SHA1(305294284d0ffd578f9115b836ef1f9e906c1599) ) ROM_LOAD( "mb-u32-b.bin", 0x000, 0x117, CRC(78a9310b) SHA1(deb84d96b0411b05c54fb2c998bed020a37d5005) ) - ROM_REGION32_LE( 0x800000, "user1", 0 ) /* TMS34020APCM-40 code (34020) */ + ROM_REGION32_LE( 0x800000, "user1", 0 ) // TMS34020APCM-40 code (34020) ROM_LOAD32_BYTE( "u8.bin", 0x600000, 0x080000, CRC(4acafd98) SHA1(d516c55ddce1470e4e19725b6d7dfd5f70ba1129) ) ROM_LOAD32_BYTE( "u10.bin", 0x600001, 0x080000, CRC(804800be) SHA1(5fb2a5479c2a7073c2abd40e14a162fbf783eb70) ) ROM_LOAD32_BYTE( "u12.bin", 0x600002, 0x080000, CRC(0845ff27) SHA1(5012569a79c9fcbee178a0cee45d25769a1cf9be) ) @@ -1290,73 +1585,44 @@ ROM_START( atrwild ) // no dedicated sound ROM board present in cage, missing or not needed here? there is an OKI M6585 on the mainboard ROM_END -ROM_START( atricmon ) - ROM_REGION( 0x100000, "maincpu", 0 ) /* Z8018010VSC code (Z180) */ - ROM_LOAD( "mb-u2.bin", 0x0000, 0x80000, CRC(0fc3f42f) SHA1(53d189205ede16bc0199a6163a11eb39c2e3f2f1) ) - - ROM_REGION( 0x040000, "u6", 0 ) // config? - ROM_LOAD( "mb-u6.bin", 0x0000, 0x040000, CRC(eb8d3b4f) SHA1(598fb921026685ccfdb0b1804d92b3c6b3313ff4) ) +/********** Sets below on different hardware? **********/ - ROM_REGION( 0x2e5, "mbpals", 0 ) - ROM_LOAD( "mb-u22-d.bin", 0x000, 0x117, CRC(dc097847) SHA1(305294284d0ffd578f9115b836ef1f9e906c1599) ) - ROM_LOAD( "mb-u32-d.bin", 0x000, 0x2e5, CRC(996854bc) SHA1(647d2f49b739f7ca55c0b85290b6a21256834fd8) ) - ROM_LOAD( "mb-u35-65994077_icm-s.bin", 0x000, 0x2e5, CRC(996854bc) SHA1(647d2f49b739f7ca55c0b85290b6a21256834fd8) ) - - ROM_REGION32_LE( 0x800000, "user1", 0 ) /* TMS34020APCM-40 code (34020) */ - ROM_LOAD32_BYTE( "gb-u9.bin", 0x000000, 0x100000, CRC(eff83f95) SHA1(743f2fb0dd84a83387919db70175aa62f5f6f858) ) - ROM_LOAD32_BYTE( "gb-u11.bin", 0x000001, 0x100000, CRC(3fc27ae9) SHA1(896da175c11b48fb28dbb0678849b8f167cf5f6e) ) - ROM_LOAD32_BYTE( "gb-u13.bin", 0x000002, 0x100000, CRC(6ad50f67) SHA1(b32781f06acc3e9929467d6d1212cf0dc757e5b3) ) - ROM_LOAD32_BYTE( "gb-u15.bin", 0x000003, 0x100000, CRC(6ae46bb3) SHA1(edc51f9a885c483283edb9b0873b980727205a91) ) - ROM_LOAD32_BYTE( "gb-u8.bin", 0x400000, 0x100000, CRC(7dee3392) SHA1(718333ad5552351702e95a76cc2b61f7c3bf14ac) ) - ROM_LOAD32_BYTE( "gb-u10.bin", 0x400001, 0x100000, CRC(db88f900) SHA1(83638b46fd7b6e4229fa5295479c9763c2f690c0) ) - ROM_LOAD32_BYTE( "gb-u12.bin", 0x400002, 0x100000, CRC(fcbada90) SHA1(3206409c9a689e196694831ff5e6ba0fd32d676a) ) - ROM_LOAD32_BYTE( "gb-u14.bin", 0x400003, 0x100000, CRC(055c7ed6) SHA1(8b8f537b8dfd898d2f9eb123303f9488a6ae4567) ) - - // no dedicated sound ROM board present in cage, missing or not needed here? there is an OKI M6585 on the mainboard -ROM_END - -ROM_START( atrbonpk ) - ROM_REGION( 0x100000, "maincpu", 0 ) /* Z8018010VSC code (Z180) */ - ROM_LOAD( "mb-u2.bin", 0x0000, 0x80000, CRC(7f9d9d3c) SHA1(501d3f1482b3c67cbc94a3af40ef31fb5a6e7921) ) - - ROM_REGION( 0x080000, "u6", 0 ) // config? - ROM_LOAD( "mb-u6.bin", 0x0000, 0x080000, CRC(0b8d47ba) SHA1(aa1d5b37c330f4f44c1af5caca24bbf670c0bbcb) ) - - ROM_REGION( 0x2e5, "mbpals", 0 ) - ROM_LOAD( "mb-u22-d.bin", 0x000, 0x117, CRC(dc097847) SHA1(305294284d0ffd578f9115b836ef1f9e906c1599) ) - ROM_LOAD( "mb-u32-i.bin", 0x000, 0x2e5, CRC(996854bc) SHA1(647d2f49b739f7ca55c0b85290b6a21256834fd8)) - ROM_LOAD( "mb-u35-poke-s6366.bin", 0x000, 0x2e5, CRC(996854bc) SHA1(647d2f49b739f7ca55c0b85290b6a21256834fd8) ) +// Bear Necessities (Russia) +ROM_START( bearnec ) + ROM_REGION( 0x100000, "maincpu", 0 ) // Z8018010VSC code (Z180) + ROM_LOAD( "u2_0_-bene01-afaaa-ce-rus_b178.bin", 0x000000, 0x100000, CRC(fc71f0b8) SHA1(6c124211614101ef151fe405bef0ee88277b8d2b) ) - ROM_REGION( 0x117, "gfxpals", 0 ) - ROM_LOAD( "u2-f.bin", 0x000, 0x117, CRC(eb5548c2) SHA1(7ccc6a7de0c0765e0da3563f3ee83dd99acc50bf) ) - ROM_LOAD( "u3-i.bin", 0x000, 0x117, CRC(769f7b32) SHA1(72df7c92367403a95c5bda3d6a643cc8fc24e153) ) - ROM_LOAD( "u4-c.bin", 0x000, 0x117, CRC(91e043ea) SHA1(d4d0c721c6c37cbe8babe148bc9887038cdf4820) ) - ROM_LOAD( "u5-a.bin", 0x000, 0x117, CRC(18ffc746) SHA1(e32dd74fb535fd4a754579173a788712b3e6ec30) ) - ROM_LOAD( "u6-b.bin", 0x000, 0x117, CRC(2750fb0a) SHA1(3814c4755a215073425a9d6bb048315498962c76) ) - ROM_LOAD( "u7-a.bin", 0x000, 0x117, CRC(adcb2789) SHA1(cc2ebd69abec73d66665faaec19b8706e539b34c) ) + ROM_REGION( 0x020000, "u6", 0 ) // config? + ROM_LOAD( "u6_bene21-e-zg-std_-5-xx-xx-axx_0f78.bin", 0x000000, 0x020000, CRC(d956484f) SHA1(d2d659a4350d7204666234a511ebd4dd7a021d89) ) - ROM_REGION32_LE( 0x800000, "user1", 0 ) /* TMS34020APCM-40 code (34020) */ - ROM_LOAD32_BYTE( "u9.bin", 0x400000, 0x080000, CRC(5b8450f1) SHA1(27fc771c3fb824cdb845237324984778fcd0a737) ) - ROM_LOAD32_BYTE( "u11.bin", 0x400001, 0x080000, CRC(c8c52bd1) SHA1(081b8b4c46f18d030329bf519a8ed50385f7c062) ) - ROM_LOAD32_BYTE( "u13.bin", 0x400002, 0x080000, CRC(23164a85) SHA1(e6de6aac28f1dac9ea908aaab9760b56ded1bb91) ) - ROM_LOAD32_BYTE( "u15.bin", 0x400003, 0x080000, CRC(aabbb4ff) SHA1(4a13475929141a4824b15347873cf330f7f7b0d0) ) - ROM_LOAD32_BYTE( "u8.bin", 0x600000, 0x080000, CRC(d6dfde87) SHA1(f3221adecb67ee593d52a1bbbdcee78dde497dbd) ) - ROM_LOAD32_BYTE( "u10.bin", 0x600001, 0x080000, CRC(d81a1f77) SHA1(c3ec3a06dacc3f528c9bcfa7a18e25e0126b1d85) ) - ROM_LOAD32_BYTE( "u12.bin", 0x600002, 0x080000, CRC(4b24dc03) SHA1(f875f09c6d44821b169e111cb1ea3d9716746d5f) ) - ROM_LOAD32_BYTE( "u14.bin", 0x600003, 0x080000, CRC(a6dc78ff) SHA1(96457601e7f90ce14a88765f70accc07d7236d30) ) + ROM_REGION32_LE( 0x800000, "user1", 0 ) // TMS34020APCM-40 code (34020) + // not valid TMS code, looks like some x86 drive image split into ROMs? + ROM_LOAD( "u09_a632.bin", 0x000000, 0x100000, CRC(a671b6e8) SHA1(86b97ba98fdd09575a371b5b7f7d42bf2916fe17) ) + ROM_LOAD( "u11_947b.bin", 0x100000, 0x100000, CRC(3dc60963) SHA1(d824cd4fbe4116744727180762fbf0ffe22e6398) ) + ROM_LOAD( "u13_60e8.bin", 0x200000, 0x100000, CRC(11b25ede) SHA1(07d4901e985ed9b83d8630b748b82a408e26bac6) ) + ROM_LOAD( "u15_6c49.bin", 0x300000, 0x100000, CRC(f56e40ac) SHA1(7c5e0bb7a8bafea6ae57b5933c93230478ac74b2) ) + ROM_LOAD( "u08_f54f.bin", 0x400000, 0x100000, CRC(ce601695) SHA1(585b9e7c57072e7bff03fd34748fdadab6ff1b08) ) + ROM_LOAD( "u10_d622.bin", 0x500000, 0x100000, CRC(4ac9e636) SHA1(35d0bfd6c456e2cd5d1f950ea58edc8e92e05933) ) + ROM_LOAD( "u12_8bfa.bin", 0x600000, 0x100000, CRC(fa722d3f) SHA1(1275d0f6f06604e736a03b6031b7aeb46d7c6f07) ) + ROM_LOAD( "u14_d9c6.bin", 0x700000, 0x100000, CRC(fd9e0ebf) SHA1(0c6b2ddb397994ca62e80cd7c802a778fc287549) ) - // no dedicated sound ROM board present in cage, missing or not needed here? there is an OKI M6585 on the mainboard + ROM_REGION( 0x400000, "u18u21", 0 ) // sound + ROM_LOAD( "u18_96c0.bin", 0x000000, 0x100000, CRC(0cf7eb95) SHA1(96e6f21b359198b0f893ed69d2bc23ad2db34f33) ) + ROM_LOAD( "u19_7c1c.bin", 0x000000, 0x100000, CRC(17ca92ee) SHA1(cdc4297c591db33a75ab716db7cf5620c13e8a84) ) + ROM_LOAD( "u20_3123.bin", 0x000000, 0x100000, CRC(0932857c) SHA1(a30c1e40811581230da72c384679c0c21cced4c2) ) + ROM_LOAD( "u21_8bb6.bin", 0x000000, 0x100000, CRC(c1a25921) SHA1(d54eb230c8ebde69f00bfab1088b7a39809e5ee2) ) ROM_END +// Big Cheese (Russia) ROM_START( abigchs ) - ROM_REGION( 0x100000, "maincpu", 0 ) /* Z8018010VSC code (Z180) */ - ROM_LOAD( "o_-bigc01-afbaa-cc-rus_.8mu02", 0x0000, 0x100000, CRC(969082d8) SHA1(f3bcdc631ac1c346993a8d7300ba6687a32669f7) ) + ROM_REGION( 0x100000, "maincpu", 0 ) // Z8018010VSC code (Z180) + ROM_LOAD( "o_-bigc01-afbaa-cc-rus_.8mu02", 0x000000, 0x100000, CRC(969082d8) SHA1(f3bcdc631ac1c346993a8d7300ba6687a32669f7) ) ROM_REGION( 0x020000, "u6", 0 ) // config? - ROM_LOAD( "bigc21-d-zf-std_-5-xx-xx-axx.1mu06", 0x0000, 0x020000, CRC(0eb376fb) SHA1(34e1f28e71503ffb0e1e922bd3ba17bad0d37d99) ) + ROM_LOAD( "bigc21-d-zf-std_-5-xx-xx-axx.1mu06", 0x000000, 0x020000, CRC(0eb376fb) SHA1(34e1f28e71503ffb0e1e922bd3ba17bad0d37d99) ) - ROM_REGION32_LE( 0x800000, "user1", 0 ) /* TMS34020APCM-40 code (34020) */ + ROM_REGION32_LE( 0x800000, "user1", 0 ) // TMS34020APCM-40 code (34020) // not valid TMS code, looks like some x86 drive image split into ROMs? ROM_LOAD( "bigc01-a_-f-rus_-5_-g101.wigu09", 0x000000, 0x100000, CRC(c87e6bb4) SHA1(387e2498625ff718fccaa7701dd595ee787b9a83) ) ROM_LOAD( "bigc01-a_-f-rus_-5_-g101.wigu11", 0x100000, 0x100000, CRC(c9e9fa7f) SHA1(1698215845f21cfde0274e880d89c66fb3226f04) ) @@ -1368,45 +1634,22 @@ ROM_START( abigchs ) ROM_LOAD( "bigc01-a_-f-rus_-5_-g101.wigu14", 0x700000, 0x100000, CRC(5cf1c75a) SHA1(951289b5cad7ede582da93103acacc41af7622d9) ) ROM_REGION( 0x400000, "u18u21", 0 ) // sound - ROM_LOAD( "bigc01-ba-a-std_-_.8su18", 0x0000, 0x100000, CRC(79c99749) SHA1(bcdd61ff287877833ab6ca56a278b1d68e47608f) ) - ROM_LOAD( "bigc01-ba-a-std_-_.8su19", 0x0000, 0x100000, CRC(deb7a0b5) SHA1(d8526e42273003f8249007df2d8b6ba33b727324) ) - ROM_LOAD( "bigc01-ba-a-std_-_.8su20", 0x0000, 0x100000, CRC(f94998a7) SHA1(c0fced89584ce5b67ba68cd93f1f8348ac36fd26) ) - ROM_LOAD( "bigc01-ba-a-std_-_.8su21", 0x0000, 0x100000, CRC(08a34088) SHA1(009311d126eb78514133f0f6ef28548c42d50b1c) ) + ROM_LOAD( "bigc01-ba-a-std_-_.8su18", 0x000000, 0x100000, CRC(79c99749) SHA1(bcdd61ff287877833ab6ca56a278b1d68e47608f) ) + ROM_LOAD( "bigc01-ba-a-std_-_.8su19", 0x000000, 0x100000, CRC(deb7a0b5) SHA1(d8526e42273003f8249007df2d8b6ba33b727324) ) + ROM_LOAD( "bigc01-ba-a-std_-_.8su20", 0x000000, 0x100000, CRC(f94998a7) SHA1(c0fced89584ce5b67ba68cd93f1f8348ac36fd26) ) + ROM_LOAD( "bigc01-ba-a-std_-_.8su21", 0x000000, 0x100000, CRC(08a34088) SHA1(009311d126eb78514133f0f6ef28548c42d50b1c) ) ROM_END -ROM_START( bearnec ) - ROM_REGION( 0x100000, "maincpu", 0 ) /* Z8018010VSC code (Z180) */ - ROM_LOAD( "u2_0_-bene01-afaaa-ce-rus_b178.bin", 0x0000, 0x100000, CRC(fc71f0b8) SHA1(6c124211614101ef151fe405bef0ee88277b8d2b) ) - - ROM_REGION( 0x020000, "u6", 0 ) // config? - ROM_LOAD( "u6_bene21-e-zg-std_-5-xx-xx-axx_0f78.bin", 0x0000, 0x020000, CRC(d956484f) SHA1(d2d659a4350d7204666234a511ebd4dd7a021d89) ) - - ROM_REGION32_LE( 0x800000, "user1", 0 ) /* TMS34020APCM-40 code (34020) */ - // not valid TMS code, looks like some x86 drive image split into ROMs? - ROM_LOAD( "u09_a632.bin", 0x000000, 0x100000, CRC(a671b6e8) SHA1(86b97ba98fdd09575a371b5b7f7d42bf2916fe17) ) - ROM_LOAD( "u11_947b.bin", 0x100000, 0x100000, CRC(3dc60963) SHA1(d824cd4fbe4116744727180762fbf0ffe22e6398) ) - ROM_LOAD( "u13_60e8.bin", 0x200000, 0x100000, CRC(11b25ede) SHA1(07d4901e985ed9b83d8630b748b82a408e26bac6) ) - ROM_LOAD( "u15_6c49.bin", 0x300000, 0x100000, CRC(f56e40ac) SHA1(7c5e0bb7a8bafea6ae57b5933c93230478ac74b2) ) - ROM_LOAD( "u08_f54f.bin", 0x400000, 0x100000, CRC(ce601695) SHA1(585b9e7c57072e7bff03fd34748fdadab6ff1b08) ) - ROM_LOAD( "u10_d622.bin", 0x500000, 0x100000, CRC(4ac9e636) SHA1(35d0bfd6c456e2cd5d1f950ea58edc8e92e05933) ) - ROM_LOAD( "u12_8bfa.bin", 0x600000, 0x100000, CRC(fa722d3f) SHA1(1275d0f6f06604e736a03b6031b7aeb46d7c6f07) ) - ROM_LOAD( "u14_d9c6.bin", 0x700000, 0x100000, CRC(fd9e0ebf) SHA1(0c6b2ddb397994ca62e80cd7c802a778fc287549) ) - - ROM_REGION( 0x400000, "u18u21", 0 ) // sound - ROM_LOAD( "u18_96c0.bin", 0x0000, 0x100000, CRC(0cf7eb95) SHA1(96e6f21b359198b0f893ed69d2bc23ad2db34f33) ) - ROM_LOAD( "u19_7c1c.bin", 0x0000, 0x100000, CRC(17ca92ee) SHA1(cdc4297c591db33a75ab716db7cf5620c13e8a84) ) - ROM_LOAD( "u20_3123.bin", 0x0000, 0x100000, CRC(0932857c) SHA1(a30c1e40811581230da72c384679c0c21cced4c2) ) - ROM_LOAD( "u21_8bb6.bin", 0x0000, 0x100000, CRC(c1a25921) SHA1(d54eb230c8ebde69f00bfab1088b7a39809e5ee2) ) -ROM_END +// Gold City (Russia) ROM_START( goldcity ) - ROM_REGION( 0x100000, "maincpu", 0 ) /* Z8018010VSC code (Z180) */ - ROM_LOAD( "o_-goci01-afaaa-cd-rus_.8mu02", 0x0000, 0x100000, CRC(59c19539) SHA1(7c40eee8e534795a44b33140535284b2bc2a9ac5) ) + ROM_REGION( 0x100000, "maincpu", 0 ) // Z8018010VSC code (Z180) + ROM_LOAD( "o_-goci01-afaaa-cd-rus_.8mu02", 0x000000, 0x100000, CRC(59c19539) SHA1(7c40eee8e534795a44b33140535284b2bc2a9ac5) ) ROM_REGION( 0x020000, "u6", 0 ) // config? - ROM_LOAD( "goci21-e-zf-std_-5-xx-xx-axx.1mu06", 0x0000, 0x020000, CRC(73ab9c41) SHA1(0888923bdaede83f264979c0757894f5cb2e0ec8) ) + ROM_LOAD( "goci21-e-zf-std_-5-xx-xx-axx.1mu06", 0x000000, 0x020000, CRC(73ab9c41) SHA1(0888923bdaede83f264979c0757894f5cb2e0ec8) ) - ROM_REGION32_LE( 0x800000, "user1", 0 ) /* TMS34020APCM-40 code (34020) */ + ROM_REGION32_LE( 0x800000, "user1", 0 ) // TMS34020APCM-40 code (34020) // not valid TMS code, looks like some x86 drive image split into ROMs? ROM_LOAD( "goci01-a_-c-rus_-5_-g101.wigu09", 0x000000, 0x100000, CRC(72c9b584) SHA1(1345e7ea34a819fbc01b9a64e9f9c1a2de927dda) ) ROM_LOAD( "goci01-a_-c-rus_-5_-g101.wigu11", 0x100000, 0x100000, CRC(2ebe1d71) SHA1(1b540c3bb9b232f475c3fe2b56c55f473d8c09ee) ) @@ -1420,21 +1663,23 @@ ROM_START( goldcity ) // sound (missing or not needed here? there is an OKI M6585 on the mainboard) /* ROM_REGION( 0x400000, "u18u21", 0 ) - ROM_LOAD( "u18", 0x0000, 0x100000, NO_DUMP ) - ROM_LOAD( "u19", 0x0000, 0x100000, NO_DUMP ) - ROM_LOAD( "u20", 0x0000, 0x100000, NO_DUMP ) - ROM_LOAD( "u21", 0x0000, 0x100000, NO_DUMP ) + ROM_LOAD( "u18", 0x000000, 0x100000, NO_DUMP ) + ROM_LOAD( "u19", 0x000000, 0x100000, NO_DUMP ) + ROM_LOAD( "u20", 0x000000, 0x100000, NO_DUMP ) + ROM_LOAD( "u21", 0x000000, 0x100000, NO_DUMP ) */ ROM_END + +// Santa Maria (Russia) ROM_START( santam ) - ROM_REGION( 0x100000, "maincpu", 0 ) /* Z8018010VSC code (Z180) */ - ROM_LOAD( "u02_8m_m27c801-100f1_d6f7h.bin", 0x0000, 0x100000, CRC(8c0ed828) SHA1(e24cd0783a4290799db11ca8764b70cd380f2879) ) + ROM_REGION( 0x100000, "maincpu", 0 ) // Z8018010VSC code (Z180) + ROM_LOAD( "u02_8m_m27c801-100f1_d6f7h.bin", 0x000000, 0x100000, CRC(8c0ed828) SHA1(e24cd0783a4290799db11ca8764b70cd380f2879) ) ROM_REGION( 0x020000, "u6", 0 ) // config? - ROM_LOAD( "u06_1m_m27c1001-10f_da21h.bin", 0x0000, 0x020000, CRC(51c0a380) SHA1(861c8b4f825f4bc11dd02ac03dcc2cc7e8c65129) ) + ROM_LOAD( "u06_1m_m27c1001-10f_da21h.bin", 0x000000, 0x020000, CRC(51c0a380) SHA1(861c8b4f825f4bc11dd02ac03dcc2cc7e8c65129) ) - ROM_REGION32_LE( 0x800000, "user1", 0 ) /* TMS34020APCM-40 code (34020) */ + ROM_REGION32_LE( 0x800000, "user1", 0 ) // TMS34020APCM-40 code (34020) // not valid TMS code, looks like some x86 drive image split into ROMs? ROM_LOAD( "gb_u09_8m_m27c801-100f1_9df6h.bin", 0x000000, 0x100000, CRC(470ccae5) SHA1(0521af7830cc59102edcc658df4d21a3d669d6db) ) ROM_LOAD( "gb_u11_8m_m27c801-100f1_7621h.bin", 0x100000, 0x100000, CRC(8f9a1031) SHA1(1aca654b62e73f3005e627625bea2b4198c04a99) ) @@ -1446,10 +1691,10 @@ ROM_START( santam ) ROM_LOAD( "gb_u14_8m_m27c801-100f1_2a48h.bin", 0x700000, 0x100000, CRC(bd1fdca3) SHA1(b4bc73ff6900c14525d10fb10ca7f5371351a198) ) ROM_REGION( 0x400000, "u18u21", 0 ) // sound - ROM_LOAD( "sb_u18_8m_m27c801-100f1_a52eh.bin", 0x0000, 0x100000, CRC(95fe949d) SHA1(953f730a37d8d661cbc8c212c459db3769ac502b) ) - ROM_LOAD( "sb_u19_8m_m27c801-100f1_a71bh.bin", 0x0000, 0x100000, CRC(6eae31f3) SHA1(08fcd8c49b31de874906205a47035a71f87f12d6) ) - ROM_LOAD( "sb_u20_8m_m27c801-100f1_7870h.bin", 0x0000, 0x100000, CRC(27639c24) SHA1(7fdc7e5e684dfbef00450e4c8fa998d73c035895) ) - ROM_LOAD( "sb_u21_8m_m27c801-100f1_94cch.bin", 0x0000, 0x100000, CRC(c740b5be) SHA1(dafe80431197fe22cddd0fc295436edc37256603) ) + ROM_LOAD( "sb_u18_8m_m27c801-100f1_a52eh.bin", 0x000000, 0x100000, CRC(95fe949d) SHA1(953f730a37d8d661cbc8c212c459db3769ac502b) ) + ROM_LOAD( "sb_u19_8m_m27c801-100f1_a71bh.bin", 0x000000, 0x100000, CRC(6eae31f3) SHA1(08fcd8c49b31de874906205a47035a71f87f12d6) ) + ROM_LOAD( "sb_u20_8m_m27c801-100f1_7870h.bin", 0x000000, 0x100000, CRC(27639c24) SHA1(7fdc7e5e684dfbef00450e4c8fa998d73c035895) ) + ROM_LOAD( "sb_u21_8m_m27c801-100f1_94cch.bin", 0x000000, 0x100000, CRC(c740b5be) SHA1(dafe80431197fe22cddd0fc295436edc37256603) ) ROM_END } // anonymous namespace @@ -1457,9 +1702,7 @@ ROM_END /* Possible CashLine games: * Aphrodite - * Babooshka? (Alternate spelling) * Break the Spell - * Chickendales (Alternate spelling?) * Diver's Dream * Golden Glen (Alternate spelling?) * Happy Happy Hippy @@ -1475,39 +1718,48 @@ ROM_END * Xanadu Magic */ -GAME( 1999, atronic, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Atronic SetUp/Clear Chips (Russia, set 1)", MACHINE_IS_SKELETON) -GAME( 1999, atronica, atronic, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Atronic SetUp/Clear Chips (Russia, set 2)", MACHINE_IS_SKELETON) - -GAME( 2002, atlantca, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Atlantica (Russia) (Atronic) (set 1)", MACHINE_IS_SKELETON) -GAME( 2002, atlantcaa, atlantca, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Atlantica (Russia) (Atronic) (set 2)", MACHINE_IS_SKELETON) -GAME( 2002, baboshka, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Baboshka (Russia) (Atronic)", MACHINE_IS_SKELETON) -GAME( 2002, cfblue, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Crazy Fruits Blue (Russia) (Atronic) (set 1)", MACHINE_IS_SKELETON) -GAME( 2002, cfbluea, cfblue, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Crazy Fruits Blue (Russia) (Atronic) (set 2)", MACHINE_IS_SKELETON) -GAME( 2002, cfgreen, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Crazy Fruits Green (Russia) (Atronic)", MACHINE_IS_SKELETON) -GAME( 2002, chicken, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Chicken (Russia) (Atronic)", MACHINE_IS_SKELETON) -GAME( 2002, aclown, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Clown (Russia) (Atronic)", MACHINE_IS_SKELETON) -GAME( 2002, goldglen, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Golden Glenn (Russia) (Atronic)", MACHINE_IS_SKELETON) -GAME( 2002, iccash, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "I C Cash (Russia) (Atronic)", MACHINE_IS_SKELETON) -GAME( 2002, shpinxii, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Sphinx II (Russia) (Atronic)", MACHINE_IS_SKELETON) -GAME( 2002, beachpt, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Beach Patrol (Russia) (Atronic)", MACHINE_IS_SKELETON) -GAME( 2002, beetleup, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Beetles Unplugged (Russia) (Atronic)", MACHINE_IS_SKELETON) -GAME( 2002, bigblue, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Big Blue (Russia) (Atronic)", MACHINE_IS_SKELETON) -GAME( 2002, castaway, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Castaway (Russia) (Atronic) (set 1)", MACHINE_IS_SKELETON) -GAME( 2002, castawaya, castaway, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Castaway (Russia) (Atronic) (set 2)", MACHINE_IS_SKELETON) -GAME( 2002, dncsprt, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Dancing Spirit (Russia) (Atronic)", MACHINE_IS_SKELETON) -GAME( 2002, drmmake, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Dream Maker (Russia) (Atronic)", MACHINE_IS_SKELETON) -GAME( 2002, jumpjkpt, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Jumping Jackpots (Russia) (Atronic)", MACHINE_IS_SKELETON) -GAME( 2002, mushmagi, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Mushroom Magic (Russia) (Atronic)", MACHINE_IS_SKELETON) -GAME( 2002, splmastr, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Spell Master (Russia) (Atronic)", MACHINE_IS_SKELETON) -GAME( 2002, tajmah, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Tajmahal (Russia) (Atronic)", MACHINE_IS_SKELETON) -GAME( 2002, 3wishrd, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Three Wishes Red (Russia) (Atronic)", MACHINE_IS_SKELETON) -GAME( 200?, atrwild, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Wild Thing (Atronic)", MACHINE_IS_SKELETON) -GAME( 200?, atricmon, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "I C Money (Atronic)", MACHINE_IS_SKELETON) // related to I C Cash ? -GAME( 200?, atrbonpk, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Bonus Poker (Atronic)", MACHINE_IS_SKELETON) +GAME( 1999, atronic, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Atronic SetUp/Clear Chips (Russia, set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME( 1999, atronica, atronic, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Atronic SetUp/Clear Chips (Russia, set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME( 1999, atronicb, atronic, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Atronic SetUp/Clear Chips", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) + +GAME( 2002, atlantca, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Atlantica (Russia) (Atronic) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME( 2002, atlantcaa, atlantca, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Atlantica (Russia) (Atronic) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME( 2002, baboshka, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Babooshka (Atronic)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME( 2002, baboshkar, baboshka, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Babooshka (Russia) (Atronic)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME( 2002, beachpt, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Beach Patrol (Russia) (Atronic)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME( 2002, atrbtlma, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Beetlemania (Atronic)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME( 2002, beetleup, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Beetles Unplugged (Russia) (Atronic)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME( 2002, bigblue, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Big Blue (Russia) (Atronic)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME( 200?, atrbonpk, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Bonus Poker (Atronic)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME( 2002, castaway, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Castaway (Russia) (Atronic) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME( 2002, castawaya, castaway, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Castaway (Russia) (Atronic) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME( 2002, cfblue, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Crazy Fruits Blue (Russia) (Atronic) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME( 2002, cfbluea, cfblue, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Crazy Fruits Blue (Russia) (Atronic) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME( 2002, cfgreen, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Crazy Fruits Green (Russia) (Atronic)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME( 2002, chicken, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Chicken (Russia) (Atronic)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME( 2002, chicdale, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Chickendales (Atronic)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME( 2002, aclown, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Clown (Russia) (Atronic)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME( 2002, dncsprt, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Dancing Spirit (Russia) (Atronic)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME( 2002, drmmake, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Dream Maker (Atronic)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME( 2002, drmmaker, drmmake, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Dream Maker (Russia) (Atronic)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME( 2002, goldglen, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Golden Glenn (Russia) (Atronic)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME( 2002, haphippy, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Happy Happy Hippy (Atronic)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME( 2002, iccash, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "I C Cash (Russia) (Atronic)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME( 200?, atricmon, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "I C Money (Atronic) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) // related to I C Cash ? +GAME( 200?, atricmona, atricmon, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "I C Money (Atronic) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) // related to I C Cash ? +GAME( 2002, jumpjkpt, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Jumping Jackpots (Russia) (Atronic)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME( 2002, mushmagi, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Mushroom Magic (Russia) (Atronic)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME( 2002, sphinxii, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Sphinx II (Atronic)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME( 2002, sphinxiir, sphinxii, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Sphinx II (Russia) (Atronic)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME( 2002, splmastr, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Spell Master (Russia) (Atronic)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME( 2002, tajmah, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Tajmahal (Russia) (Atronic)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME( 2002, 3wishrd, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Three Wishes Red (Russia) (Atronic)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME( 2002, tylagoon, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Typhoon Lagoon (Atronic)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME( 200?, atrwild, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Wild Thing (Atronic)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) // could be different hardware (or just bad dumps) they don't seem to have valid TMS code, instead the video ROMs seem to be some x86 drive image? -GAME( 2002, abigchs, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Big Cheese (Russia) (Atronic)", MACHINE_IS_SKELETON) -GAME( 2002, bearnec, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Bear Necessities (Russia) (Atronic)", MACHINE_IS_SKELETON) -GAME( 2002, goldcity, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Gold City (Russia) (Atronic)", MACHINE_IS_SKELETON) -GAME( 2002, santam, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Santa Maria (Russia) (Atronic)", MACHINE_IS_SKELETON) +GAME( 2002, bearnec, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Bear Necessities (Russia) (Atronic)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME( 2002, abigchs, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Big Cheese (Russia) (Atronic)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME( 2002, goldcity, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Gold City (Russia) (Atronic)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME( 2002, santam, 0, atronic, atronic, atronic_state, empty_init, ROT0, "Atronic", "Santa Maria (Russia) (Atronic)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/misc/bailey.cpp b/src/mame/misc/bailey.cpp index 5b87856fc88ba..147b16dbdab5c 100644 --- a/src/mame/misc/bailey.cpp +++ b/src/mame/misc/bailey.cpp @@ -159,5 +159,5 @@ ROM_END } // anonymous namespace -GAME( 1976, fun4, 0, bailey, 0, bailey_state, empty_init, ROT0, "Bailey International", "Fun Four (set 1)", MACHINE_IS_SKELETON ) -GAME( 1976, fun4a, fun4, bailey, 0, bailey_state, empty_init, ROT0, "Bailey International", "Fun Four (set 2)", MACHINE_IS_SKELETON ) +GAME( 1976, fun4, 0, bailey, 0, bailey_state, empty_init, ROT0, "Bailey International", "Fun Four (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1976, fun4a, fun4, bailey, 0, bailey_state, empty_init, ROT0, "Bailey International", "Fun Four (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/misc/beaminv.cpp b/src/mame/misc/beaminv.cpp index f9120e6d16181..0361036210789 100644 --- a/src/mame/misc/beaminv.cpp +++ b/src/mame/misc/beaminv.cpp @@ -2,15 +2,18 @@ // copyright-holders:Zsolt Vasvari /*************************************************************************** - Tekunon Kougyou(Teknon Kogyo) Beam Invader hardware +Tekunon Kougyou (Teknon Kogyo, テクノン工業) Beam Invader (ビームインベーダー) +Pacom (パコム) Pacom Invader (パコムインベーダー) - driver by Zsolt Vasvari +driver by Zsolt Vasvari - Games supported: - * Beam Invader (2 sets) - - Known issues: - * Port 0 might be an analog port select +TODO: +- discrete sound +- analog controls are laggy +- verify Z80 clock, 9.732MHz XTAL was seen on a CTA Invader, and Star Invader +- are interrupts correct? vblank-in and vblank-out may be more logical, but + it does spend a lot of time in both interrupt routines +- which game is the 1st version? Is it Fuji Star Invader? (which is undumped) Stephh's notes (based on the games Z80 code and some tests) : @@ -58,10 +61,15 @@ Stephh's notes (based on the games Z80 code and some tests) : ***************************************************************************/ #include "emu.h" + #include "cpu/z80/z80.h" +#include "machine/timer.h" + #include "screen.h" #include "beaminv.lh" +#include "ctainv.lh" +#include "pacominv.lh" namespace { @@ -69,82 +77,39 @@ namespace { class beaminv_state : public driver_device { public: - beaminv_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag), - m_videoram(*this, "videoram"), + beaminv_state(const machine_config &mconfig, device_type type, const char *tag) : + driver_device(mconfig, type, tag), m_maincpu(*this, "maincpu"), - m_screen(*this, "screen") { } - - /* memory pointers */ - required_shared_ptr m_videoram; + m_screen(*this, "screen"), + m_videoram(*this, "videoram"), + m_inputs(*this, "IN%u", 0) + { } - /* misc */ - emu_timer *m_interrupt_timer = nullptr; + void beaminv(machine_config &config); + void ctainv(machine_config &config); - /* input-related */ - uint8_t m_controller_select = 0; +protected: + virtual void machine_start() override ATTR_COLD; - /* devices */ +private: required_device m_maincpu; required_device m_screen; + required_shared_ptr m_videoram; + required_ioport_array<3> m_inputs; + + uint8_t m_controller_select = 0; + + uint32_t screen_update_beaminv(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); uint8_t v128_r(); void controller_select_w(uint8_t data); uint8_t controller_r(); - virtual void machine_start() override ATTR_COLD; - virtual void machine_reset() override ATTR_COLD; - uint32_t screen_update_beaminv(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); - TIMER_CALLBACK_MEMBER(interrupt_callback); - void create_interrupt_timer(); - void start_interrupt_timer(); - void beaminv(machine_config &config); - void ctainv(machine_config &config); - void main_io_map(address_map &map) ATTR_COLD; + void main_map(address_map &map) ATTR_COLD; void ctainv_map(address_map &map) ATTR_COLD; -}; - - - -/************************************* - * - * Interrupt generation - * - *************************************/ - -/* the interrupt scanlines are a guess */ - -#define INTERRUPTS_PER_FRAME (2) - -static const int interrupt_lines[INTERRUPTS_PER_FRAME] = { 0x00, 0x80 }; - - -TIMER_CALLBACK_MEMBER(beaminv_state::interrupt_callback) -{ - int interrupt_number = param; - int next_interrupt_number; - int next_vpos; - - m_maincpu->set_input_line(0, HOLD_LINE); - - /* set up for next interrupt */ - next_interrupt_number = (interrupt_number + 1) % INTERRUPTS_PER_FRAME; - next_vpos = interrupt_lines[next_interrupt_number]; - - m_interrupt_timer->adjust(m_screen->time_until_pos(next_vpos), next_interrupt_number); -} - - -void beaminv_state::create_interrupt_timer() -{ - m_interrupt_timer = timer_alloc(FUNC(beaminv_state::interrupt_callback), this); -} - + void main_io_map(address_map &map) ATTR_COLD; -void beaminv_state::start_interrupt_timer() -{ - int vpos = interrupt_lines[0]; - m_interrupt_timer->adjust(m_screen->time_until_pos(vpos)); -} + TIMER_DEVICE_CALLBACK_MEMBER(interrupt) { m_maincpu->set_input_line(0, HOLD_LINE); } +}; @@ -156,30 +121,11 @@ void beaminv_state::start_interrupt_timer() void beaminv_state::machine_start() { - create_interrupt_timer(); - - - /* setup for save states */ save_item(NAME(m_controller_select)); } -/************************************* - * - * Machine reset - * - *************************************/ - -void beaminv_state::machine_reset() -{ - start_interrupt_timer(); - - m_controller_select = 0; -} - - - /************************************* * * Video system @@ -196,11 +142,10 @@ uint32_t beaminv_state::screen_update_beaminv(screen_device &screen, bitmap_rgb3 for (int i = 0; i < 8; i++) { - pen_t pen = (data & 0x01) ? rgb_t::white() : rgb_t::black(); - bitmap.pix(y, x) = pen; + pen_t pen = BIT(data, i) ? rgb_t::white() : rgb_t::black(); - data >>= 1; - x++; + if (cliprect.contains(x + i, y)) + bitmap.pix(y, x + i) = pen; } } @@ -210,7 +155,7 @@ uint32_t beaminv_state::screen_update_beaminv(screen_device &screen, bitmap_rgb3 uint8_t beaminv_state::v128_r() { - return (m_screen->vpos() >> 7) & 0x01; + return BIT(m_screen->vpos(), 7); } @@ -221,27 +166,30 @@ uint8_t beaminv_state::v128_r() * *************************************/ -#define P1_CONTROL_PORT_TAG ("CONTP1") -#define P2_CONTROL_PORT_TAG ("CONTP2") - - void beaminv_state::controller_select_w(uint8_t data) { - /* 0x01 (player 1) or 0x02 (player 2) */ + // 0x01 (player 1) or 0x02 (player 2) m_controller_select = data; } uint8_t beaminv_state::controller_r() { - return ioport((m_controller_select == 1) ? P1_CONTROL_PORT_TAG : P2_CONTROL_PORT_TAG)->read(); + uint8_t data = 0; + + // read paddle controllers + for (int i = 0; i < 2; i++) + if (BIT(m_controller_select, i)) + data |= m_inputs[i + 1]->read(); + + return data; } /************************************* * - * Memory handlers + * Address maps * *************************************/ @@ -249,8 +197,9 @@ void beaminv_state::main_map(address_map &map) { map(0x0000, 0x17ff).rom(); map(0x1800, 0x1fff).ram(); + map(0x2000, 0x23ff).rom(); map(0x2400, 0x2400).mirror(0x03ff).portr("DSW"); - map(0x2800, 0x2800).mirror(0x03ff).portr("INPUTS"); + map(0x2800, 0x2800).mirror(0x03ff).portr("IN0"); map(0x3400, 0x3400).mirror(0x03ff).r(FUNC(beaminv_state::controller_r)); map(0x3800, 0x3800).mirror(0x03ff).r(FUNC(beaminv_state::v128_r)); map(0x4000, 0x5fff).ram().share("videoram"); @@ -259,28 +208,16 @@ void beaminv_state::main_map(address_map &map) void beaminv_state::ctainv_map(address_map &map) { - map(0x0000, 0x17ff).rom(); - map(0x1800, 0x1fff).ram(); - map(0x2000, 0x23ff).rom().region("maincpu", 0x1800); - map(0x2400, 0x2400).mirror(0x03ff).portr("DSW"); - map(0x2800, 0x2800).mirror(0x03ff).portr("INPUTS"); + main_map(map); map(0x2c00, 0x2c00).mirror(0x03ff).r(FUNC(beaminv_state::controller_r)); - map(0x3800, 0x3800).mirror(0x03ff).r(FUNC(beaminv_state::v128_r)); - map(0x4000, 0x5fff).ram().share("videoram"); + map(0x3400, 0x3400).mirror(0x03ff).unmapr(); } - -/************************************* - * - * Port handlers - * - *************************************/ - void beaminv_state::main_io_map(address_map &map) { map.global_mask(0xff); - map(0x00, 0x00).w(FUNC(beaminv_state::controller_select_w)); /* to be confirmed */ + map(0x00, 0x00).w(FUNC(beaminv_state::controller_select_w)); } @@ -311,7 +248,7 @@ static INPUT_PORTS_START( beaminv ) PORT_DIPSETTING( 0x60, "Never" ) PORT_DIPUNUSED( 0x80, IP_ACTIVE_HIGH ) - PORT_START("INPUTS") + PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START1 ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START2 ) @@ -319,10 +256,10 @@ static INPUT_PORTS_START( beaminv ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_START(P1_CONTROL_PORT_TAG) + PORT_START("IN1") PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_MINMAX(0x00,0xff) PORT_SENSITIVITY(20) PORT_KEYDELTA(10) PORT_CENTERDELTA(0) PORT_PLAYER(1) - PORT_START(P2_CONTROL_PORT_TAG) + PORT_START("IN2") PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_MINMAX(0x00,0xff) PORT_SENSITIVITY(20) PORT_KEYDELTA(10) PORT_CENTERDELTA(0) PORT_PLAYER(2) INPUT_PORTS_END @@ -342,10 +279,10 @@ static INPUT_PORTS_START( pacominv ) PORT_DIPSETTING( 0x40, "34 Enemies" ) PORT_DIPSETTING( 0x40, "29 Enemies" ) - PORT_MODIFY(P1_CONTROL_PORT_TAG) + PORT_MODIFY("IN1") PORT_BIT( 0xff, 0x65, IPT_PADDLE ) PORT_MINMAX(0x35,0x95) PORT_SENSITIVITY(20) PORT_KEYDELTA(10) PORT_CENTERDELTA(0) PORT_PLAYER(1) - PORT_MODIFY(P2_CONTROL_PORT_TAG) + PORT_MODIFY("IN2") PORT_BIT( 0xff, 0x65, IPT_PADDLE ) PORT_MINMAX(0x35,0x95) PORT_SENSITIVITY(20) PORT_KEYDELTA(10) PORT_CENTERDELTA(0) PORT_PLAYER(2) INPUT_PORTS_END @@ -376,16 +313,17 @@ INPUT_PORTS_END void beaminv_state::beaminv(machine_config &config) { - /* basic machine hardware */ - Z80(config, m_maincpu, 2000000); /* 2 MHz ? */ + // basic machine hardware + Z80(config, m_maincpu, 9.732_MHz_XTAL / 4); m_maincpu->set_addrmap(AS_PROGRAM, &beaminv_state::main_map); m_maincpu->set_addrmap(AS_IO, &beaminv_state::main_io_map); + TIMER(config, "scantimer").configure_scanline(FUNC(beaminv_state::interrupt), "screen", 0, 128); - /* video hardware */ + // video hardware SCREEN(config, m_screen, SCREEN_TYPE_RASTER); - m_screen->set_size(256, 256); - m_screen->set_visarea(0, 247, 16, 231); + m_screen->set_size(32*8, 32*8); + m_screen->set_visarea(0*8, 32*8-1, 2*8, 29*8-1); m_screen->set_refresh_hz(60); m_screen->set_screen_update(FUNC(beaminv_state::screen_update_beaminv)); } @@ -394,8 +332,6 @@ void beaminv_state::beaminv(machine_config &config) void beaminv_state::ctainv(machine_config &config) { beaminv(config); - - m_maincpu->set_clock(9.732_MHz_XTAL / 4); m_maincpu->set_addrmap(AS_PROGRAM, &beaminv_state::ctainv_map); } @@ -448,19 +384,20 @@ ROM_START( ctainv ) ROM_LOAD( "3.bin", 0x0c00, 0x0400, CRC(772db93e) SHA1(65d0a7528c86b4c3377e8cfda82eae51ee078238) ) ROM_LOAD( "4.bin", 0x1000, 0x0400, CRC(c9f671d9) SHA1(27e8ded5afc92f1eef9968a6af4b8c5af482904f) ) ROM_LOAD( "5.bin", 0x1400, 0x0400, CRC(a028342f) SHA1(32fd83b0ac8215935032a22e3bfd9fcf1b8402c0) ) - ROM_LOAD( "6.bin", 0x1800, 0x0400, CRC(06dcb63c) SHA1(4d5260b3785e2c215dd0b3c9f8457cf4a557a452) ) + ROM_LOAD( "6.bin", 0x2000, 0x0400, CRC(06dcb63c) SHA1(4d5260b3785e2c215dd0b3c9f8457cf4a557a452) ) ROM_END } // anonymous namespace + /************************************* * * Game drivers * *************************************/ -GAMEL( 1979, beaminv, 0, beaminv, beaminv, beaminv_state, empty_init, ROT270, "Teknon Kogyo", "Beam Invader", MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE, layout_beaminv ) -GAMEL( 1979, pacominv, beaminv, beaminv, pacominv, beaminv_state, empty_init, ROT270, "Pacom Corporation", "Pacom Invader (set 1)", MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE, layout_beaminv ) -GAMEL( 19??, pacominva, beaminv, beaminv, pacominv, beaminv_state, empty_init, ROT270, "Pacom Corporation", "Pacom Invader (set 2)", MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE, layout_beaminv ) -GAME ( 19??, ctainv, beaminv, ctainv, ctainv, beaminv_state, empty_init, ROT270, "CTA Corporation", "CTA Invader", MACHINE_WRONG_COLORS | MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE ) +GAMEL( 1979, beaminv, 0, beaminv, beaminv, beaminv_state, empty_init, ROT270, "Teknon Kogyo", "Beam Invader", MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE, layout_beaminv ) +GAMEL( 1979, pacominv, beaminv, beaminv, pacominv, beaminv_state, empty_init, ROT270, "Pacom Corporation", "Pacom Invader (set 1)", MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE, layout_pacominv ) // bootleg? +GAMEL( 1979, pacominva, beaminv, beaminv, pacominv, beaminv_state, empty_init, ROT270, "Pacom Corporation", "Pacom Invader (set 2)", MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE, layout_pacominv ) // " +GAMEL( 19??, ctainv, beaminv, ctainv, ctainv, beaminv_state, empty_init, ROT270, "bootleg (CTA Corporation)", "CTA Invader", MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE, layout_ctainv ) diff --git a/src/mame/misc/belatra.cpp b/src/mame/misc/belatra.cpp index 35740ac962293..5495b58e44918 100644 --- a/src/mame/misc/belatra.cpp +++ b/src/mame/misc/belatra.cpp @@ -213,14 +213,14 @@ ROM_END } // anonymous namespace -GAME( 2004, fairyl2, 0, belatra, belatra, belatra_state, empty_init, ROT0, "Belatra", "Fairy Land 2 (set 1)", MACHINE_IS_SKELETON ) -GAME( 2004, fairyl2a, fairyl2, belatra, belatra, belatra_state, empty_init, ROT0, "Belatra", "Fairy Land 2 (set 2)", MACHINE_IS_SKELETON ) -GAME( 2004, fairyl2b, fairyl2, belatra, belatra, belatra_state, empty_init, ROT0, "Belatra", "Fairy Land 2 (set 3)", MACHINE_IS_SKELETON ) -GAME( 2004, fairyl2bl, fairyl2, belatra, belatra, belatra_state, empty_init, ROT0, "Belatra", "Fairy Land 2 (bootleg)", MACHINE_IS_SKELETON ) +GAME( 2004, fairyl2, 0, belatra, belatra, belatra_state, empty_init, ROT0, "Belatra", "Fairy Land 2 (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2004, fairyl2a, fairyl2, belatra, belatra, belatra_state, empty_init, ROT0, "Belatra", "Fairy Land 2 (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2004, fairyl2b, fairyl2, belatra, belatra, belatra_state, empty_init, ROT0, "Belatra", "Fairy Land 2 (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2004, fairyl2bl, fairyl2, belatra, belatra, belatra_state, empty_init, ROT0, "Belatra", "Fairy Land 2 (bootleg)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) -GAME( 2004, ldrink, 0, belatra, belatra, belatra_state, empty_init, ROT0, "Belatra", "Lucky Drink (set 1)", MACHINE_IS_SKELETON ) -GAME( 2004, ldrinka, ldrink, belatra, belatra, belatra_state, empty_init, ROT0, "Belatra", "Lucky Drink (set 2)", MACHINE_IS_SKELETON ) +GAME( 2004, ldrink, 0, belatra, belatra, belatra_state, empty_init, ROT0, "Belatra", "Lucky Drink (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2004, ldrinka, ldrink, belatra, belatra, belatra_state, empty_init, ROT0, "Belatra", "Lucky Drink (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) -GAME( 2004, merryjn, 0, belatra, belatra, belatra_state, empty_init, ROT0, "Belatra", "Merry Joiner", MACHINE_IS_SKELETON ) +GAME( 2004, merryjn, 0, belatra, belatra, belatra_state, empty_init, ROT0, "Belatra", "Merry Joiner", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) -GAME( 200?, unkbel, 0, belatra, belatra, belatra_state, empty_init, ROT0, "Belatra", "unknown Belatra slot machine", MACHINE_IS_SKELETON ) +GAME( 200?, unkbel, 0, belatra, belatra, belatra_state, empty_init, ROT0, "Belatra", "unknown Belatra slot machine", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/misc/bingoman.cpp b/src/mame/misc/bingoman.cpp index d6f5774b50a21..49e65a0d8fd7b 100644 --- a/src/mame/misc/bingoman.cpp +++ b/src/mame/misc/bingoman.cpp @@ -477,5 +477,5 @@ ROM_END ***************************************************************************/ /* YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS */ -GAME( 1993, bingoman, 0, bingoman, bingoman, bingoman_state, empty_init, ROT0, "HP Automaten", "Bingo Mania (P03-P07-P14)", MACHINE_IS_SKELETON ) -GAME( 1993, bingomana, bingoman, bingoman, bingoman, bingoman_state, empty_init, ROT0, "HP Automaten", "Bingo Mania (A03)", MACHINE_IS_SKELETON ) +GAME( 1993, bingoman, 0, bingoman, bingoman, bingoman_state, empty_init, ROT0, "HP Automaten", "Bingo Mania (P03-P07-P14)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1993, bingomana, bingoman, bingoman, bingoman, bingoman_state, empty_init, ROT0, "HP Automaten", "Bingo Mania (A03)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/misc/blocktax.cpp b/src/mame/misc/blocktax.cpp index 64b131640974d..1791ced4ade3c 100644 --- a/src/mame/misc/blocktax.cpp +++ b/src/mame/misc/blocktax.cpp @@ -112,4 +112,4 @@ ROM_END } // anonymous namespace -GAME( 2002, blocktax, 0, blocktax, blocktax, blocktax_state, empty_init, ROT0, "TAX / Game Revival", "Blockout (TAX)", MACHINE_IS_SKELETON ) +GAME( 2002, blocktax, 0, blocktax, blocktax, blocktax_state, empty_init, ROT0, "TAX / Game Revival", "Blockout (TAX)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/misc/bntyhunt.cpp b/src/mame/misc/bntyhunt.cpp index e8c91ca9aeb63..230e748a8b940 100644 --- a/src/mame/misc/bntyhunt.cpp +++ b/src/mame/misc/bntyhunt.cpp @@ -85,4 +85,4 @@ ROM_END } // anonymous namespace -GAME( 2002?, bntyhunt, 0, bntyhunt, bntyhunt, bntyhunt_state, empty_init, ROT0, "GC-Tech Co., LTD", "Bounty Hunter (GC-Tech Co., LTD)", MACHINE_IS_SKELETON ) +GAME( 2002?, bntyhunt, 0, bntyhunt, bntyhunt, bntyhunt_state, empty_init, ROT0, "GC-Tech Co., LTD", "Bounty Hunter (GC-Tech Co., LTD)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/misc/brglitz.cpp b/src/mame/misc/brglitz.cpp index 87760014276b0..16a0bc0ab9027 100644 --- a/src/mame/misc/brglitz.cpp +++ b/src/mame/misc/brglitz.cpp @@ -190,4 +190,4 @@ ROM_END } // anonymous namespace // YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS -GAME( 2014, brglitz, 0, brglitz, brglitz, brglitz_state, empty_init, ROT0, "Harry Levy", "Ballroom Glitz", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 2014, brglitz, 0, brglitz, brglitz, brglitz_state, empty_init, ROT0, "Harry Levy", "Ballroom Glitz", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/misc/calomega.cpp b/src/mame/misc/calomega.cpp index 6f2084e384f13..a0d271f2be544 100644 --- a/src/mame/misc/calomega.cpp +++ b/src/mame/misc/calomega.cpp @@ -1923,7 +1923,7 @@ static INPUT_PORTS_START( comg208 ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("IN0-3") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Tilt (Clr.Credits)") PORT_CODE(KEYCODE_T) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT ) PORT_NAME("Tilt (Clr.Credits)") PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED ) @@ -2732,7 +2732,7 @@ static INPUT_PORTS_START( hotline ) // nudge bingo PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("IN0-3") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Tilt") PORT_CODE(KEYCODE_T) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_NAME("Play (Bet)") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -3019,7 +3019,7 @@ static INPUT_PORTS_START( comg157 ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("IN0-3") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_T) PORT_NAME("Tilt") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_NAME("Play (Bet)") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_TAKE ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_HIGH ) PORT_NAME("Big") @@ -3135,7 +3135,7 @@ static INPUT_PORTS_START( comg159 ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("IN0-3") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Tilt") PORT_CODE(KEYCODE_T) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_TAKE ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_D_UP ) PORT_NAME("Double") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_HIGH ) PORT_NAME("Big") @@ -3216,7 +3216,7 @@ static INPUT_PORTS_START( comg170 ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("IN0-3") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Tilt") PORT_CODE(KEYCODE_T) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_TAKE ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_D_UP ) PORT_NAME("Double") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_HIGH ) PORT_NAME("Big") @@ -3297,7 +3297,7 @@ static INPUT_PORTS_START( comg172 ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("IN0-3") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Tilt") PORT_CODE(KEYCODE_T) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_TAKE ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_D_UP ) PORT_NAME("Double") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_HIGH ) PORT_NAME("Big") @@ -3698,7 +3698,7 @@ static INPUT_PORTS_START( comg204 ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("IN0-3") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Tilt") PORT_CODE(KEYCODE_T) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED ) @@ -4106,7 +4106,7 @@ static INPUT_PORTS_START( pixels ) // sys905 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("IN0-3") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Tilt") PORT_CODE(KEYCODE_T) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_TAKE ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_D_UP ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Female") PORT_CODE(KEYCODE_F) @@ -4215,7 +4215,7 @@ static INPUT_PORTS_START( pix903 ) // Pixels, sys903 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("IN0-3") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Tilt/Clear") PORT_CODE(KEYCODE_8) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT ) PORT_NAME("Tilt/Clear") PORT_CODE(KEYCODE_8) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_NAME("Play/Bet") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_TAKE ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Female") PORT_CODE(KEYCODE_F) diff --git a/src/mame/misc/cardline.cpp b/src/mame/misc/cardline.cpp index 3e115002ba739..347d5b7b34d0e 100644 --- a/src/mame/misc/cardline.cpp +++ b/src/mame/misc/cardline.cpp @@ -277,7 +277,7 @@ static INPUT_PORTS_START( cardline ) PORT_BIT( 0xf5, IP_ACTIVE_HIGH, IPT_CUSTOM ) // h/w status bits PORT_START("VBLANK") - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") // VBLANK_Q + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // VBLANK_Q PORT_BIT( 0xef, IP_ACTIVE_LOW, IPT_UNKNOWN ) INPUT_PORTS_END diff --git a/src/mame/misc/castle.cpp b/src/mame/misc/castle.cpp index 2cc84eb044f9f..bd57a4c0f6b19 100644 --- a/src/mame/misc/castle.cpp +++ b/src/mame/misc/castle.cpp @@ -133,7 +133,7 @@ ROM_END // 4.00 JACKPOT. VERSION 1 (for revision E CPU) Written by and copyright of David John Powell - 25th February 1987 -GAME( 1987, castrev, 0, castle_V1rvE, castrev, castle_state, empty_init, ROT0, "Castle","Revolution (Castle) (MACH2000 V1rvE)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1987, castrev, 0, castle_V1rvE, castrev, castle_state, empty_init, ROT0, "Castle","Revolution (Castle) (MACH2000 V1rvE)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // I'm *guessing* this is on MACH2000 V2rvA hardware, it contains strings saying 'MACH 2000 test' and is designed for a single CPU. -GAME( 198?, castfpt, 0, castle_V2rvA, castrev, castle_state, empty_init, ROT0, "Castle","Fortune Pot (Castle) (MACH2000 V2rvA)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 198?, castfpt, 0, castle_V2rvA, castrev, castle_state, empty_init, ROT0, "Castle","Fortune Pot (Castle) (MACH2000 V2rvA)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/misc/cb2001.cpp b/src/mame/misc/cb2001.cpp index 22276d7d80141..2f35e3e7a4c75 100644 --- a/src/mame/misc/cb2001.cpp +++ b/src/mame/misc/cb2001.cpp @@ -7,7 +7,9 @@ This driver covers Dyna games running on the DYNA CPU91A-011 custom CPU. It is an encrypted NEC V25 or V35. It has been seen on the following PCBs: D9203 +D9205 (sub PCB) D9304 +D9401 D9701 (sub PCB) D9702 D9805 @@ -1593,6 +1595,20 @@ ROM_START( scherrymp10u ) // DYNA D9702 PCB; DYNA PLUS V1.0U in bookkeeping scre ROM_LOAD( "82s147.11b", 0x200, 0x200, CRC(a67e7a63) SHA1(b23e0eb9af13e57bbc8602ddc7fb381ba5c8267e) ) ROM_END +ROM_START( cb4 ) // Wing W4 board + DYNA D9205 subboard; DYNA CB4 V5.0 in bookkeeping screen. + ROM_REGION16_LE( 0x040000, "boot_prg", 0 ) + ROM_LOAD16_WORD( "5mk.2g", 0x020000, 0x10000, CRC(ecc6f80e) SHA1(b6de63cd5231ef9481ee79d841a6ea591add7e4d) ) + ROM_RELOAD( 0x30000, 0x10000) + + ROM_REGION( 0x100000, "gfx", 0 ) + ROM_LOAD16_BYTE( "cb4.4i", 0x000000, 0x040000, CRC(c1799150) SHA1(50e80607b93f6ee35e3e8ff5d854dc83afe76505) ) + ROM_LOAD16_BYTE( "cb4.4j", 0x000001, 0x040000, CRC(3a12cf69) SHA1(232eeca78cdabcd952825aba0ad397e3dde79747) ) + + ROM_REGION( 0x400, "proms", 0 ) // not dumped yet + ROM_LOAD( "82s147.9b", 0x000, 0x200, BAD_DUMP CRC(dcf976d2) SHA1(73a08e4587f3516d694a8060b79470cf71df3925) ) + ROM_LOAD( "82s147.11b", 0x200, 0x200, BAD_DUMP CRC(a67e7a63) SHA1(b23e0eb9af13e57bbc8602ddc7fb381ba5c8267e) ) +ROM_END + ROM_START( cb5 ) // Wing W4 board + DYNA D9701 subboard; DYNA CB5 V1.3 in bookkeeping screen. Appears to be the missing link to igs/goldstar.cpp hw. ROM_REGION16_LE( 0x040000, "boot_prg", 0 ) ROM_LOAD16_WORD( "cb5-131.1g", 0x020000, 0x20000, CRC(7d47192c) SHA1(bc65f0b3223789fbcd78a7f3ba4f1c0e2a1ee4da) ) @@ -1685,6 +1701,18 @@ ROM_START( tripjack ) // DYNA D9805 PCB; DYNA TRJ V1.6G in bookkeeping screen ROM_LOAD( "82s135.11b", 0x100, 0x100, CRC(9940ef22) SHA1(42b0c6410d8db34e0316e95b7b7007abc3098341) ) ROM_END +ROM_START( crzybell ) // DYNA D9401 PCB; DYNA CRBL1 V1.2D in bookkeeping screen + ROM_REGION16_LE( 0x40000, "boot_prg", 0 ) + ROM_LOAD16_WORD( "cbl12d.6e", 0x20000, 0x20000, CRC(a5d43b00) SHA1(b89fd8eb7675b3dd4f47bf95326da1b881997a56) ) + + ROM_REGION( 0x80000, "gfx", 0 ) + ROM_LOAD( "cbl1d.2g", 0x00000, 0x80000, CRC(83c6a91f) SHA1(3f802777e4a5581f7efe86309992f0e7a79851ee) ) + + ROM_REGION( 0x400, "proms", ROMREGION_ERASE00 ) // not dumped yet + ROM_LOAD( "82s135.j5", 0x000, 0x100, BAD_DUMP CRC(2d2237fb) SHA1(9b71801bd465d2a823f648f4d3c1823b5ba3340e) ) + ROM_LOAD( "82s135.k5", 0x100, 0x100, BAD_DUMP CRC(9940ef22) SHA1(42b0c6410d8db34e0316e95b7b7007abc3098341) ) +ROM_END + void cb2001_state::init_smaller_proms() { @@ -1714,6 +1742,8 @@ GAME( 1993, scherrym , 0, scherrym, cb2001, cb2001_state, init_sm GAME( 1993, scherrym12 , scherrym, scherrym, cb2001, cb2001_state, init_smaller_proms, ROT0, "Dyna", "Super Cherry Master (V1.2)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) GAME( 1997, scherrymp, 0, scherrymp, scherrymp, cb2001_state, init_smaller_proms, ROT0, "Dyna", "Super Cherry Master Plus (V1.6)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) GAME( 1997, scherrymp10u, scherrymp, scherrymp, scherrymp, cb2001_state, empty_init, ROT0, "Dyna", "Super Cherry Master Plus (V1.0U)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) +GAME( 1993, cb4, 0, cb5, cb5, cb2001_state, empty_init, ROT0, "Dyna", "Cherry Bonus IV (V5.0)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) GAME( 1997, cb5, 0, cb5, cb5, cb2001_state, empty_init, ROT0, "Dyna", "Cherry Bonus V Five (V1.3)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) GAME( 1998, mystjb, 0, scherrymp, scherrymp, cb2001_state, init_smaller_proms, ROT0, "Dyna", "Mystery J & B (V1.3G)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) GAME( 1998, tripjack, 0, scherrymp, scherrymp, cb2001_state, init_smaller_proms, ROT0, "Dyna", "Triple Jack (V1.6G)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) +GAME( 1995, crzybell, 0, scherrym, cb2001, cb2001_state, init_smaller_proms, ROT0, "Dyna", "Crazy Bell (V1.2D)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/misc/chameleonrx1.cpp b/src/mame/misc/chameleonrx1.cpp index 1aeb63ad6ba65..c6198e8981546 100644 --- a/src/mame/misc/chameleonrx1.cpp +++ b/src/mame/misc/chameleonrx1.cpp @@ -76,4 +76,4 @@ ROM_END } // Anonymous namespace -GAME( 2003, chamrx1, 0, chameleonrx1, chameleonrx1, chameleonrx1_state, empty_init, ROT0, "Digital Sunnil (Covielsa license)", "Chameleon RX-1", MACHINE_IS_SKELETON ) +GAME( 2003, chamrx1, 0, chameleonrx1, chameleonrx1, chameleonrx1_state, empty_init, ROT0, "Digital Sunnil (Covielsa license)", "Chameleon RX-1", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/misc/chicago.cpp b/src/mame/misc/chicago.cpp index 5f98d1e8b2aa6..9f4ebf65c1a88 100644 --- a/src/mame/misc/chicago.cpp +++ b/src/mame/misc/chicago.cpp @@ -147,4 +147,4 @@ ROM_END } // anonymous namespace -GAME( 1976, dmodrbcc, 0, chicago, 0, chicago_state, empty_init, ROT0, "Chicago Coin", "Demolition Derby (Chicago Coin)", MACHINE_IS_SKELETON ) +GAME( 1976, dmodrbcc, 0, chicago, 0, chicago_state, empty_init, ROT0, "Chicago Coin", "Demolition Derby (Chicago Coin)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/misc/cleartone.cpp b/src/mame/misc/cleartone.cpp index c6c83d7a0dbcf..1856d003ef576 100644 --- a/src/mame/misc/cleartone.cpp +++ b/src/mame/misc/cleartone.cpp @@ -107,4 +107,4 @@ ROM_END } // anonymous namespace -GAME( 198?, bnstlkr, 0, cleartone, cleartone, cleartone_state, empty_init, ROT0, "Cleartone Leisure Ltd.", "Bonus Talker", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 198?, bnstlkr, 0, cleartone, cleartone, cleartone_state, empty_init, ROT0, "Cleartone Leisure Ltd.", "Bonus Talker", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/misc/clowndwn.cpp b/src/mame/misc/clowndwn.cpp index 48f681c7dc895..2c884787af325 100644 --- a/src/mame/misc/clowndwn.cpp +++ b/src/mame/misc/clowndwn.cpp @@ -88,4 +88,4 @@ ROM_END } // anonymous namespace -GAME( 1987, clowndwn, 0, clowndwn, clowndwn, clowndwn_state, empty_init, ROT0, "Elwood Electronics", "Clown Roll Down (Elwood)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1987, clowndwn, 0, clowndwn, clowndwn, clowndwn_state, empty_init, ROT0, "Elwood Electronics", "Clown Roll Down (Elwood)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/misc/cocoloco.cpp b/src/mame/misc/cocoloco.cpp index 2f488060ca0b1..e4338df47ab2d 100644 --- a/src/mame/misc/cocoloco.cpp +++ b/src/mame/misc/cocoloco.cpp @@ -416,7 +416,7 @@ static INPUT_PORTS_START( cocoloco ) PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("DSW1") // DSW1 @4B PORT_DIPNAME( 0x01, 0x00, "Char Speed" ) PORT_DIPLOCATION("DSW1:!1") diff --git a/src/mame/misc/coinmstr.cpp b/src/mame/misc/coinmstr.cpp index a578a8a1b6125..17bc4253b1e69 100644 --- a/src/mame/misc/coinmstr.cpp +++ b/src/mame/misc/coinmstr.cpp @@ -1627,11 +1627,11 @@ void coinmstr_state::init_coinmstr() * Game Drivers * *************************/ -// YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS -GAME( 1985, quizmstr, 0, quizmstr, quizmstr, coinmstr_state, init_coinmstr, ROT0, "Loewen Spielautomaten", "Quizmaster (German)", MACHINE_UNEMULATED_PROTECTION ) -GAME( 1987, trailblz, 0, trailblz, trailblz, coinmstr_state, init_coinmstr, ROT0, "Coinmaster", "Trail Blazer", MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING ) // or Trail Blazer 2 ? -GAME( 1989, supnudg2, 0, supnudg2, supnudg2, coinmstr_state, init_coinmstr, ROT0, "Coinmaster", "Super Nudger II - P173 (Version 5.21)", MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING ) -GAME( 1990, pokeroul, 0, pokeroul, pokeroul, coinmstr_state, empty_init, ROT0, "Coinmaster", "Poker Roulette (Version 8.22)", MACHINE_NOT_WORKING ) -GAME( 1985, jpcoin, 0, jpcoin, jpcoin, coinmstr_state, empty_init, ROT0, "Coinmaster", "Joker Poker (Coinmaster set 1)", 0 ) -GAME( 1990, jpcoin2, 0, jpcoin, jpcoin, coinmstr_state, empty_init, ROT0, "Coinmaster", "Joker Poker (Coinmaster, Amusement Only)", 0 ) -GAME( 1988, jpjcoin, 0, jpjcoin, jpcoin, coinmstr_state, empty_init, ROT0, "", "Jackpot Joker Poker (Version 88V 01)", 0 ) +// YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS +GAME( 1985, quizmstr, 0, quizmstr, quizmstr, coinmstr_state, init_coinmstr, ROT0, u8"Löwen Spielautomaten", "Quizmaster (German)", MACHINE_UNEMULATED_PROTECTION ) +GAME( 1987, trailblz, 0, trailblz, trailblz, coinmstr_state, init_coinmstr, ROT0, "Coinmaster", "Trail Blazer", MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING ) // or Trail Blazer 2 ? +GAME( 1989, supnudg2, 0, supnudg2, supnudg2, coinmstr_state, init_coinmstr, ROT0, "Coinmaster", "Super Nudger II - P173 (Version 5.21)", MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING ) +GAME( 1990, pokeroul, 0, pokeroul, pokeroul, coinmstr_state, empty_init, ROT0, "Coinmaster", "Poker Roulette (Version 8.22)", MACHINE_NOT_WORKING ) +GAME( 1985, jpcoin, 0, jpcoin, jpcoin, coinmstr_state, empty_init, ROT0, "Coinmaster", "Joker Poker (Coinmaster set 1)", 0 ) +GAME( 1990, jpcoin2, 0, jpcoin, jpcoin, coinmstr_state, empty_init, ROT0, "Coinmaster", "Joker Poker (Coinmaster, Amusement Only)", 0 ) +GAME( 1988, jpjcoin, 0, jpjcoin, jpcoin, coinmstr_state, empty_init, ROT0, "", "Jackpot Joker Poker (Version 88V 01)", 0 ) diff --git a/src/mame/misc/cointek.cpp b/src/mame/misc/cointek.cpp index 026eb3d1be146..5b7b510bdb37b 100644 --- a/src/mame/misc/cointek.cpp +++ b/src/mame/misc/cointek.cpp @@ -257,4 +257,4 @@ void cointek_state::init_unkct() } // anonymous namespace -GAME( 1989, unkct, 0, cointek, unkct, cointek_state, init_unkct, ROT0, "Cointek Enterprise Corp", "unknown Cointek game", MACHINE_IS_SKELETON ) // string in ROM at 0x7839: Ver 4.00 1989-08-01 +GAME( 1989, unkct, 0, cointek, unkct, cointek_state, init_unkct, ROT0, "Cointek Enterprise Corp", "unknown Cointek game", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // string in ROM at 0x7839: Ver 4.00 1989-08-01 diff --git a/src/mame/misc/comebaby.cpp b/src/mame/misc/comebaby.cpp index 3380835c460e9..f06db16eb61bd 100644 --- a/src/mame/misc/comebaby.cpp +++ b/src/mame/misc/comebaby.cpp @@ -333,4 +333,4 @@ ROM_END } // anonymous namespace -GAME( 2000, comebaby, 0, comebaby, comebaby, comebaby_state, empty_init, ROT0, "ExPotato", "Come On Baby", MACHINE_IS_SKELETON ) +GAME( 2000, comebaby, 0, comebaby, comebaby, comebaby_state, empty_init, ROT0, "ExPotato", "Come On Baby", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/misc/compucranes.cpp b/src/mame/misc/compucranes.cpp index aa320359256ac..6ad825a6c4a99 100644 --- a/src/mame/misc/compucranes.cpp +++ b/src/mame/misc/compucranes.cpp @@ -129,8 +129,8 @@ ROM_END } // anonymous namespace // YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS -GAME( 199?, mastcrane, 0, ganchonew, ganchonew, compucranes_state, empty_init, ROT0, "Compumatic", "Master Crane (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, mastcranea, mastcrane, ganchonew, ganchonew, compucranes_state, empty_init, ROT0, "Compumatic", "Master Crane (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, mastcraneb, mastcrane, ganchonew, ganchonew, compucranes_state, empty_init, ROT0, "Compumatic", "Master Crane (set 3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2000, octopussy, mastcrane, ganchonew, ganchonew, compucranes_state, empty_init, ROT0, "Covielsa", "Octopussy", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2012, toyshop, 0, ganchonew, ganchonew, compucranes_state, empty_init, ROT0, "OM Vending", "Toy Shop", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, mastcrane, 0, ganchonew, ganchonew, compucranes_state, empty_init, ROT0, "Compumatic", "Master Crane (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, mastcranea, mastcrane, ganchonew, ganchonew, compucranes_state, empty_init, ROT0, "Compumatic", "Master Crane (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, mastcraneb, mastcrane, ganchonew, ganchonew, compucranes_state, empty_init, ROT0, "Compumatic", "Master Crane (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2000, octopussy, mastcrane, ganchonew, ganchonew, compucranes_state, empty_init, ROT0, "Covielsa", "Octopussy", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2012, toyshop, 0, ganchonew, ganchonew, compucranes_state, empty_init, ROT0, "OM Vending", "Toy Shop", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/misc/cosmos_playc8f.cpp b/src/mame/misc/cosmos_playc8f.cpp index 2e0c204ada2fb..aa810c1616694 100644 --- a/src/mame/misc/cosmos_playc8f.cpp +++ b/src/mame/misc/cosmos_playc8f.cpp @@ -173,6 +173,6 @@ ROM_END } // anonymous namespace // YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS -GAME(2013, bgbasketb, 0, playc8f_symusic01, playc8f, cosmos_playc8f_state, empty_init, ROT0, "Benchmark Games, Inc.", "Basketball (Benchmark Games, set 1)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(2004, bgbasketbb, bgbasketb, playc8f_symusic01, playc8f, cosmos_playc8f_state, empty_init, ROT0, "Benchmark Games, Inc.", "Basketball (Benchmark Games, set 2)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(2003, tenstrikc, 0, playc8f, playc8f, cosmos_playc8f_state, empty_init, ROT0, "Benchmark Games, Inc.", "Ten Strike Classic", MACHINE_IS_SKELETON_MECHANICAL) +GAME(2013, bgbasketb, 0, playc8f_symusic01, playc8f, cosmos_playc8f_state, empty_init, ROT0, "Benchmark Games, Inc.", "Basketball (Benchmark Games, set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(2004, bgbasketbb, bgbasketb, playc8f_symusic01, playc8f, cosmos_playc8f_state, empty_init, ROT0, "Benchmark Games, Inc.", "Basketball (Benchmark Games, set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(2003, tenstrikc, 0, playc8f, playc8f, cosmos_playc8f_state, empty_init, ROT0, "Benchmark Games, Inc.", "Ten Strike Classic", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) diff --git a/src/mame/misc/cowtipping.cpp b/src/mame/misc/cowtipping.cpp index 543341fdab325..73bb30b386184 100644 --- a/src/mame/misc/cowtipping.cpp +++ b/src/mame/misc/cowtipping.cpp @@ -125,5 +125,5 @@ ROM_END } // anonymous namespace -GAME( 2004, cowtipp, 0, cowtipping, cowtipping, cowtipping_state, empty_init, ROT270, "Game Refuge / Team Play", "Cow Tipping - Shake Cattle & Roll (set 1)", MACHINE_IS_SKELETON ) -GAME( 2004, cowtippa, cowtipp, cowtipping, cowtipping, cowtipping_state, empty_init, ROT270, "Game Refuge / Team Play", "Cow Tipping - Shake Cattle & Roll (set 2)", MACHINE_IS_SKELETON ) +GAME( 2004, cowtipp, 0, cowtipping, cowtipping, cowtipping_state, empty_init, ROT270, "Game Refuge / Team Play", "Cow Tipping - Shake Cattle & Roll (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2004, cowtippa, cowtipp, cowtipping, cowtipping, cowtipping_state, empty_init, ROT270, "Game Refuge / Team Play", "Cow Tipping - Shake Cattle & Roll (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/misc/crazybal.cpp b/src/mame/misc/crazybal.cpp index 73b66e4bd78fd..77e2a0f77da90 100644 --- a/src/mame/misc/crazybal.cpp +++ b/src/mame/misc/crazybal.cpp @@ -156,6 +156,6 @@ ROM_END } // anonymous namespace -GAME( 1978, crazybal, 0, crazybal, 0, crazybal_state, empty_init, ROT0, "Electronic Games Systems / NAT", "Crazy Balls (NAT)", MACHINE_IS_SKELETON ) -GAME( 1978, crazybala, crazybal, crazybal, 0, crazybal_state, empty_init, ROT0, "Electronic Games Systems / Bontempi", "Crazy Balls (Bontempi, set 1)", MACHINE_IS_SKELETON ) -GAME( 1978, crazybalb, crazybal, crazybal, 0, crazybal_state, empty_init, ROT0, "Electronic Games Systems / Bontempi", "Crazy Balls (Bontempi, set 2)", MACHINE_IS_SKELETON ) +GAME( 1978, crazybal, 0, crazybal, 0, crazybal_state, empty_init, ROT0, "Electronic Games Systems / NAT", "Crazy Balls (NAT)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1978, crazybala, crazybal, crazybal, 0, crazybal_state, empty_init, ROT0, "Electronic Games Systems / Bontempi", "Crazy Balls (Bontempi, set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1978, crazybalb, crazybal, crazybal, 0, crazybal_state, empty_init, ROT0, "Electronic Games Systems / Bontempi", "Crazy Balls (Bontempi, set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/misc/cromptons.cpp b/src/mame/misc/cromptons.cpp index 2ac3abb817e14..c988fee3edcfd 100644 --- a/src/mame/misc/cromptons.cpp +++ b/src/mame/misc/cromptons.cpp @@ -167,4 +167,4 @@ ROM_END } // anonymous namespace -GAME( 2000, ffruits, 0, cromptons, cromptons, cromptons_state, empty_init, ROT0, "Cromptons Leisure Machines", "Frantic Fruits", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 2000, ffruits, 0, cromptons, cromptons, cromptons_state, empty_init, ROT0, "Cromptons Leisure Machines", "Frantic Fruits", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/misc/cupidon.cpp b/src/mame/misc/cupidon.cpp index 59e39ae4694e4..9e5a21147802d 100644 --- a/src/mame/misc/cupidon.cpp +++ b/src/mame/misc/cupidon.cpp @@ -177,13 +177,13 @@ void cupidon_state::init_funnyfm() /* (c) date is from string in ROM, revision date is noted next to sets - Spellings are as found in ROM */ -GAME( 2004, tsarevna, 0, cupidon, cupidon, cupidon_state, init_cupidon, ROT0, "Kupidon", "Tsarevna (v1.29)", MACHINE_IS_SKELETON ) // 12 Oct 2005 -GAME( 2004, tsarevnaa, tsarevna, cupidon, cupidon, cupidon_state, init_cupidon, ROT0, "Kupidon", "Tsarevna (v1.31)", MACHINE_IS_SKELETON ) // 17 Jan 2007 +GAME( 2004, tsarevna, 0, cupidon, cupidon, cupidon_state, init_cupidon, ROT0, "Kupidon", "Tsarevna (v1.29)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // 12 Oct 2005 +GAME( 2004, tsarevnaa, tsarevna, cupidon, cupidon, cupidon_state, init_cupidon, ROT0, "Kupidon", "Tsarevna (v1.31)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // 17 Jan 2007 -GAME( 2004, gangrose, 0, cupidon, cupidon, cupidon_state, init_cupidon, ROT0, "Kupidon", "Gangster's Roses (v4.70)", MACHINE_IS_SKELETON ) // 01 Sep 2004 +GAME( 2004, gangrose, 0, cupidon, cupidon, cupidon_state, init_cupidon, ROT0, "Kupidon", "Gangster's Roses (v4.70)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // 01 Sep 2004 -GAME( 2004, funnyfm, 0, cupidon, cupidon, cupidon_state, init_funnyfm, ROT0, "Kupidon", "Funny Farm (v1.17)", MACHINE_IS_SKELETON ) // 02 Mar 2005 -GAME( 2004, funnyfma, funnyfm, cupidon, cupidon, cupidon_state, init_cupidon, ROT0, "Kupidon", "Funny Farm (v1.26)", MACHINE_IS_SKELETON ) // 08 Aug 2005 -GAME( 2004, funnyfmb, funnyfm, cupidon, cupidon, cupidon_state, init_cupidon, ROT0, "Kupidon", "Funny Farm (v1.30)", MACHINE_IS_SKELETON ) // 16 May 2006 +GAME( 2004, funnyfm, 0, cupidon, cupidon, cupidon_state, init_funnyfm, ROT0, "Kupidon", "Funny Farm (v1.17)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // 02 Mar 2005 +GAME( 2004, funnyfma, funnyfm, cupidon, cupidon, cupidon_state, init_cupidon, ROT0, "Kupidon", "Funny Farm (v1.26)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // 08 Aug 2005 +GAME( 2004, funnyfmb, funnyfm, cupidon, cupidon, cupidon_state, init_cupidon, ROT0, "Kupidon", "Funny Farm (v1.30)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // 16 May 2006 -GAME( 2005, cashtrn, 0, cupidon, cupidon, cupidon_state, init_cupidon, ROT0, "Kupidon", "Cash Train (v1.10)", MACHINE_IS_SKELETON ) // 09 Jan 2006 +GAME( 2005, cashtrn, 0, cupidon, cupidon, cupidon_state, init_cupidon, ROT0, "Kupidon", "Cash Train (v1.10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // 09 Jan 2006 diff --git a/src/mame/misc/cvs.cpp b/src/mame/misc/cvs.cpp index 8ddf263a33d49..df31ef4a03be2 100644 --- a/src/mame/misc/cvs.cpp +++ b/src/mame/misc/cvs.cpp @@ -1,10 +1,27 @@ // license:BSD-3-Clause // copyright-holders: Mike Coates, Couriersud -/*************************************************************************** +/******************************************************************************* Century CVS System +Driver by Mike Coates +Thanks to Malcolm & Darren for hardware info + +Additional work by Couriersud, 2009 + +TODO: +- darkwar coin insert sound effect is missing. It sends the correct command, + but before audiocpu reads it, maincpu writes a new command for the speech cpu. + This worked fine in an older version of MAME since maincpu was twice slower. +- diggerc loses speech sound effects (walking, digging) after killing an enemy. +- Emulate protection properly in later games (reads area 0x73fx). +- The board has discrete sound circuits, see sh_trigger_w, current implementation + with the beeper devices is wrong, but better than nothing. +- Improve starfield: density, blink rate, x repeat of 240, and the checkerboard + pattern (fast forward MAME to see) are all correct, the RNG is not right? + + MAIN BOARD: FLAG LOW | FLAG HIGH @@ -79,28 +96,14 @@ ADR14 ADR13 | READ | WRITE | D7 = BULLET AND CP1 OR CP2 | ------------+-------------------------------------------+------------------------------- -Driver by - Mike Coates +Main 2650A runs at 1.78MHz (14.318/8). -Hardware Info - Malcolm & Darren +Sound board 2650As run at 0.89MHz (14.318/16). Also seen with a 15.625MHz XTAL, +which would result in slightly higher DAC sound pitch. -Additional work - Couriersud, 2009 +Video timing is via a Signetics 2621 (PAL). -TODO: -- darkwar coin insert sound effect is missing. It sends the correct command, - but before audiocpu reads it, maincpu writes a new command for the speech cpu. - This worked fine in an older version of MAME since maincpu was twice slower. -- diggerc loses speech sound effects (walking, digging) after killing an enemy. -- Emulate protection properly in later games (reads area 0x73fx). -- The board most probably has discrete circuits. Possibly 2 beepers (current - frequency is completely guessed), and a pitch sweep sound. No schematics - are available, or even video references. -- Is the star generator correct? On photos, it looks like there are more stars - overall (higher star density). - -***************************************************************************/ +*******************************************************************************/ #include "emu.h" @@ -144,9 +147,9 @@ class cvs_state : public driver_device , m_gfxdecode(*this, "gfxdecode") , m_screen(*this, "screen") , m_palette(*this, "palette") - , m_dac2(*this, "dac2") + , m_dac(*this, "dac%u", 0) , m_beep(*this, "beep%u", 0) - , m_tms5110(*this, "tms") + , m_tms5100(*this, "tms") , m_in(*this, "IN%u", 0U) , m_dsw(*this, "DSW%u", 1U) , m_lamps(*this, "lamp%u", 1U) @@ -156,7 +159,7 @@ class cvs_state : public driver_device , m_character_ram(*this, "character_ram", 3 * 0x800, ENDIANNESS_BIG) , m_bullet_ram(*this, "bullet_ram") , m_4_bit_dac_data(*this, "4bit_dac") - , m_tms5110_ctl_data(*this, "tms5110_ctl") + , m_tms5100_ctl_data(*this, "tms5100_ctl") , m_sh_trigger(*this, "sh_trigger") , m_speech_data_rom(*this, "speechdata") , m_ram_view(*this, "video_color_ram_view") @@ -178,7 +181,7 @@ class cvs_state : public driver_device private: // max stars is more than it needs to be, to allow experimenting with the star generator - static constexpr u16 MAX_STARS = 0x400; + static constexpr u16 MAX_STARS = 0x800; static constexpr u16 SPRITE_PEN_BASE = 0x820; static constexpr u16 BULLET_STAR_PEN = 0x828; @@ -190,9 +193,9 @@ class cvs_state : public driver_device required_device m_gfxdecode; required_device m_screen; required_device m_palette; - required_device m_dac2; - required_device_array m_beep; - required_device m_tms5110; + required_device_array m_dac; + required_device_array m_beep; + required_device m_tms5100; required_ioport_array<4> m_in; required_ioport_array<3> m_dsw; output_finder<2> m_lamps; @@ -204,7 +207,7 @@ class cvs_state : public driver_device memory_share_creator m_character_ram; // only half is used, but we can use the same gfx_layout like this required_shared_ptr m_bullet_ram; required_shared_ptr m_4_bit_dac_data; - required_shared_ptr m_tms5110_ctl_data; + required_shared_ptr m_tms5100_ctl_data; required_shared_ptr m_sh_trigger; required_region_ptr m_speech_data_rom; @@ -259,6 +262,7 @@ class cvs_state : public driver_device void palette_w(offs_t offset, u8 data) { m_palette_ram[offset & 0x0f] = data; } u8 input_r(offs_t offset); + void _8_bit_dac_data_w(u8 data); void _4_bit_dac_data_w(offs_t offset, u8 data); void sh_trigger_w(offs_t offset, u8 data); @@ -268,8 +272,8 @@ class cvs_state : public driver_device u8 audio_command_r(); void audio_command_w_sync(s32 param); void audio_command_w(u8 data); - void tms5110_ctl_w(offs_t offset, u8 data); - void tms5110_pdc_w(offs_t offset, u8 data); + void tms5100_ctl_w(offs_t offset, u8 data); + void tms5100_pdc_w(offs_t offset, u8 data); int speech_rom_read_bit(); u8 superbik_prot_r(); @@ -408,14 +412,14 @@ void cvs_state::init_stars() m_total_stars = 0; // precalculate the star background - for (int y = 255; y >= 0; y--) + for (int y = 0; y < 256; y++) { - for (int x = 511; x >= 0; x--) + for (int x = 0; x < 480; x++) { generator <<= 1; generator |= BIT(~generator, 17) ^ BIT(generator, 5); - if ((generator & 0x130fe) == 0xfe && m_total_stars != MAX_STARS) + if ((generator & 0x100fe) == 0xfe && m_total_stars != MAX_STARS) { m_stars[m_total_stars].x = x; m_stars[m_total_stars].y = y; @@ -430,10 +434,10 @@ void cvs_state::update_stars(bitmap_ind16 &bitmap, const rectangle &cliprect) { for (int offs = 0; offs < m_total_stars; offs++) { - u8 x = (m_stars[offs].x + m_stars_scroll) >> 1; - u8 y = m_stars[offs].y + ((m_stars_scroll + m_stars[offs].x) >> 9); + u8 x = ((m_stars[offs].x + m_stars_scroll) >> 1) % 240; + u8 y = m_stars[offs].y; - if (BIT(y, 0) ^ BIT(x, 4)) + if (BIT(y, 4) ^ BIT(x, 5)) { if (cliprect.contains(x, y) && m_palette->pen_indirect(bitmap.pix(y, x)) == 0) bitmap.pix(y, x) = BULLET_STAR_PEN; @@ -444,7 +448,7 @@ void cvs_state::update_stars(bitmap_ind16 &bitmap, const rectangle &cliprect) void cvs_state::scroll_stars(int state) { if (state) - m_stars_scroll++; + m_stars_scroll = (m_stars_scroll + 1) % 480; } @@ -637,10 +641,18 @@ u8 cvs_state::input_r(offs_t offset) /************************************* * - * 4-bit DAC + * Sound hardware * *************************************/ +void cvs_state::_8_bit_dac_data_w(u8 data) +{ + m_dac[0]->write(data); + + // data also goes to 8038 oscillator + m_beep[2]->set_clock(data * 4); +} + void cvs_state::_4_bit_dac_data_w(offs_t offset, u8 data) { data = BIT(data, 7); @@ -658,17 +670,34 @@ void cvs_state::_4_bit_dac_data_w(offs_t offset, u8 data) (m_4_bit_dac_data[3] << 3); // output - m_dac2->write(dac_value); + m_dac[1]->write(dac_value); } void cvs_state::sh_trigger_w(offs_t offset, u8 data) { - /* offset 0 is used in darkwar, spacefrt, logger, raiders - * offset 2 is used in darkwar, spacefrt, 8ball, superbik, raiders - * offset 3 is used in cosmos, darkwar, superbik, raiders - * - * offset 1 is only used inadvertedly by logger - */ + /* Discrete sound hardware triggers: + + offset 0 is used in darkwar, spacefrt, logger, dazzler, wallst, raiders + offset 1 is used in logger, wallst + offset 2 is used in darkwar, spacefrt, 8ball, dazzler, superbik, raiders + offset 3 is used in cosmos, darkwar, superbik, raiders + + Additional notes from poking the CVS sound hardware with an + In Circuit Emulator from PrSwan (Paul Swan). + I have recordings available. + + - 0x1884 - Enables an XP8038 frequency generator IC + Reflected on pin 10 of a 4016. + The frequency is set by 0x1840, the 8 bit DAC register. + Not all 0x1840 values were tested, but: + 0x00 - off, 0x1884 enable has no sound. + 0x55,0xAA,0xFF - increasing value has higher frequency + - 0x1885 - A scope showed this halving the XP8038 amplitude with a little decay. + Causes 4016 pin 11 to rise (on) and decay-fall (off) + - 0x1886 - Outputs a complete Galaxia-style ship fire sound, with attack-to-on and decay-to-off. + - 0x1887 - Reflected on an LM380. + Causes an envelope-like operation on the XP8038 tone with attack (on) and decay (off). + */ data &= 1; @@ -678,8 +707,10 @@ void cvs_state::sh_trigger_w(offs_t offset, u8 data) m_sh_trigger[offset] = data; } - if (offset == 2 || offset == 3) - m_beep[offset & 1]->set_state(data); + if (offset != 1) + m_beep[(offset == 0) ? 2 : (offset & 1)]->set_state(data); + else + m_beep[2]->set_output_gain(0, data ? 0.5 : 1.0); } @@ -707,30 +738,30 @@ void cvs_state::speech_rom_address_hi_w(u8 data) u8 cvs_state::speech_command_r() { // this was by observation on board, bit 7 is TMS status (active LO) - return ((m_tms5110->ctl_r() ^ 1) << 7) | (m_audio_command & 0x7f); + return ((m_tms5100->ctl_r() ^ 1) << 7) | (m_audio_command & 0x7f); } -void cvs_state::tms5110_ctl_w(offs_t offset, u8 data) +void cvs_state::tms5100_ctl_w(offs_t offset, u8 data) { // offset 0: CS? - m_tms5110_ctl_data[offset] = (~data >> 7) & 0x01; + m_tms5100_ctl_data[offset] = (~data >> 7) & 0x01; u8 const ctl = 0 | // CTL1 - (m_tms5110_ctl_data[1] << 1) | // CTL2 - (m_tms5110_ctl_data[2] << 2) | // CTL4 - (m_tms5110_ctl_data[1] << 3); // CTL8 + (m_tms5100_ctl_data[1] << 1) | // CTL2 + (m_tms5100_ctl_data[2] << 2) | // CTL4 + (m_tms5100_ctl_data[1] << 3); // CTL8 LOGMASKED(LOG_SPEECH, "CVS: Speech CTL = %04x %02x %02x\n", ctl, offset, data); - m_tms5110->ctl_w(ctl); + m_tms5100->ctl_w(ctl); } -void cvs_state::tms5110_pdc_w(offs_t offset, u8 data) +void cvs_state::tms5100_pdc_w(offs_t offset, u8 data) { u8 const out = ((~data) >> 7) & 1; LOGMASKED(LOG_SPEECH, "CVS: Speech PDC = %02x %02x\n", offset, out); - m_tms5110->pdc_w(out); + m_tms5100->pdc_w(out); } @@ -835,7 +866,7 @@ void cvs_state::audio_cpu_map(address_map &map) map(0x0000, 0x0fff).rom(); map(0x1000, 0x107f).ram(); map(0x1800, 0x1800).r(FUNC(cvs_state::audio_command_r)); - map(0x1840, 0x1840).w("dac1", FUNC(dac_byte_interface::data_w)); + map(0x1840, 0x1840).w(FUNC(cvs_state::_8_bit_dac_data_w)); map(0x1880, 0x1883).w(FUNC(cvs_state::_4_bit_dac_data_w)).share(m_4_bit_dac_data); map(0x1884, 0x1887).w(FUNC(cvs_state::sh_trigger_w)).share(m_sh_trigger); } @@ -855,8 +886,8 @@ void cvs_state::speech_cpu_map(address_map &map) map(0x1d00, 0x1d00).w(FUNC(cvs_state::speech_rom_address_lo_w)); map(0x1d40, 0x1d40).w(FUNC(cvs_state::speech_rom_address_hi_w)); map(0x1d80, 0x1d80).r(FUNC(cvs_state::speech_command_r)); - map(0x1ddc, 0x1dde).w(FUNC(cvs_state::tms5110_ctl_w)).share(m_tms5110_ctl_data); - map(0x1ddf, 0x1ddf).w(FUNC(cvs_state::tms5110_pdc_w)); + map(0x1ddc, 0x1dde).w(FUNC(cvs_state::tms5100_ctl_w)).share(m_tms5100_ctl_data); + map(0x1ddf, 0x1ddf).w(FUNC(cvs_state::tms5100_pdc_w)); } @@ -1327,7 +1358,7 @@ void cvs_state::cvs(machine_config &config) S2650(config, m_speechcpu, 14.318181_MHz_XTAL / 16); m_speechcpu->set_addrmap(AS_PROGRAM, &cvs_state::speech_cpu_map); - m_speechcpu->sense_handler().set("tms", FUNC(tms5110_device::romclk_hack_r)); + m_speechcpu->sense_handler().set("tms", FUNC(tms5100_device::romclk_hack_r)); // video hardware GFXDECODE(config, m_gfxdecode, m_palette, gfx_cvs); @@ -1357,15 +1388,16 @@ void cvs_state::cvs(machine_config &config) // audio hardware SPEAKER(config, "speaker").front_center(); - DAC_8BIT_R2R(config, "dac1", 0).add_route(ALL_OUTPUTS, "speaker", 0.15); // unknown DAC - DAC_4BIT_R2R(config, m_dac2, 0).add_route(ALL_OUTPUTS, "speaker", 0.20); // unknown DAC + DAC_8BIT_R2R(config, m_dac[0], 0).add_route(ALL_OUTPUTS, "speaker", 0.15); // unknown DAC + DAC_4BIT_R2R(config, m_dac[1], 0).add_route(ALL_OUTPUTS, "speaker", 0.20); // unknown DAC BEEP(config, m_beep[0], 600).add_route(ALL_OUTPUTS, "speaker", 0.15); // placeholder BEEP(config, m_beep[1], 150).add_route(ALL_OUTPUTS, "speaker", 0.15); // " + BEEP(config, m_beep[2], 0).add_route(ALL_OUTPUTS, "speaker", 0.075); // " - TMS5100(config, m_tms5110, XTAL(640'000)); - m_tms5110->data().set(FUNC(cvs_state::speech_rom_read_bit)); - m_tms5110->add_route(ALL_OUTPUTS, "speaker", 0.30); + TMS5100(config, m_tms5100, 640_kHz_XTAL); + m_tms5100->data().set(FUNC(cvs_state::speech_rom_read_bit)); + m_tms5100->add_route(ALL_OUTPUTS, "speaker", 0.30); } diff --git a/src/mame/misc/cwheel.cpp b/src/mame/misc/cwheel.cpp index 529883f717467..1a40571dc267f 100644 --- a/src/mame/misc/cwheel.cpp +++ b/src/mame/misc/cwheel.cpp @@ -54,4 +54,4 @@ ROM_END } // anonymous namespace // YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS -GAME( 19??, cwheel, 0, cwheel, cwheel, cwheel_state, empty_init, ROT0, "Gamebar", "Catherine Wheel", MACHINE_IS_SKELETON ) +GAME( 19??, cwheel, 0, cwheel, cwheel, cwheel_state, empty_init, ROT0, "Gamebar", "Catherine Wheel", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/misc/daryde.cpp b/src/mame/misc/daryde.cpp index 8323f066e858a..c157d02f975ed 100644 --- a/src/mame/misc/daryde.cpp +++ b/src/mame/misc/daryde.cpp @@ -188,6 +188,6 @@ ROM_END } // anonymous namespace -GAME(1995, cricket, 0, pandart, pandart, daryde_state, empty_init, ROT0, "Daryde S. L.", "Cricket", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1999, pandart, 0, pandart, pandart, daryde_state, empty_init, ROT0, "Daryde S. L.", "Panther Darts", MACHINE_IS_SKELETON_MECHANICAL) -GAME(199?, kurdart, 0, pandart, pandart, daryde_state, empty_init, ROT0, "K7 Kursaal", "Kursaal Darts", MACHINE_IS_SKELETON_MECHANICAL) +GAME(1995, cricket, 0, pandart, pandart, daryde_state, empty_init, ROT0, "Daryde S. L.", "Cricket", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(1999, pandart, 0, pandart, pandart, daryde_state, empty_init, ROT0, "Daryde S. L.", "Panther Darts", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(199?, kurdart, 0, pandart, pandart, daryde_state, empty_init, ROT0, "K7 Kursaal", "Kursaal Darts", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) diff --git a/src/mame/misc/ddz.cpp b/src/mame/misc/ddz.cpp index 2e4c0b149017c..f7002ec562185 100644 --- a/src/mame/misc/ddz.cpp +++ b/src/mame/misc/ddz.cpp @@ -206,6 +206,6 @@ void ddz_state::init_ddz() } // anonymous namespace -GAME( 200?, ddz, 0, ddz, ddz, ddz_state, init_ddz, ROT0, "IGS?", "Dou Di Zhu", MACHINE_IS_SKELETON ) -GAME( 200?, crzclass, 0, ddz, ddz, ddz_state, init_ddz, ROT0, "TJF", "Zhaoji Fengdou", MACHINE_IS_SKELETON ) // 'Crazy Class' -GAME( 2005, btlfront, 0, ddz, ddz, ddz_state, empty_init, ROT0, "TJF", "BattleFront", MACHINE_IS_SKELETON ) // encrypted, V133F? +GAME( 200?, ddz, 0, ddz, ddz, ddz_state, init_ddz, ROT0, "IGS?", "Dou Di Zhu", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, crzclass, 0, ddz, ddz, ddz_state, init_ddz, ROT0, "TJF", "Zhaoji Fengdou", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // 'Crazy Class' +GAME( 2005, btlfront, 0, ddz, ddz, ddz_state, empty_init, ROT0, "TJF", "BattleFront", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // encrypted, V133F? diff --git a/src/mame/misc/dgpix.cpp b/src/mame/misc/dgpix.cpp index b3ac5cab915f4..0a7ba5403f6a1 100644 --- a/src/mame/misc/dgpix.cpp +++ b/src/mame/misc/dgpix.cpp @@ -409,8 +409,8 @@ void dgpix_state::io_map(address_map &map) static INPUT_PORTS_START( dgpix ) PORT_START("VBLANK") - PORT_BIT( 0x00000001, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") - PORT_BIT( 0x00000002, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") // value 2 is used by fmaniac3 + PORT_BIT( 0x00000001, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) + PORT_BIT( 0x00000002, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // value 2 is used by fmaniac3 PORT_BIT( 0xfffffffc, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("INPUTS") diff --git a/src/mame/misc/diamondking.cpp b/src/mame/misc/diamondking.cpp index 41a2e21f844ea..d6695c6401306 100644 --- a/src/mame/misc/diamondking.cpp +++ b/src/mame/misc/diamondking.cpp @@ -411,7 +411,7 @@ ROM_END } // anonymous namespace // YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS -GAME(2001, caribe, 0, ss1b550base, caribe, ss1b550base_state, empty_init, ROT0, "SegaSA / Sonic", "Caribe", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1997, diamondking, 0, diamondking, diamondking, diamondking_state, empty_init, ROT0, "SegaSA / Sonic", "Diamond King (with Euro support)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1997, diamondkinp, diamondking, diamondking, diamondking, diamondking_state, empty_init, ROT0, "SegaSA / Sonic", "Diamond King (without Euro support)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(19??, goldenchip, 0, ss1b202base, goldenchip, ss1b202base_state, empty_init, ROT0, "SegaSA / Sonic", "Golden Chip", MACHINE_IS_SKELETON_MECHANICAL) +GAME(2001, caribe, 0, ss1b550base, caribe, ss1b550base_state, empty_init, ROT0, "SegaSA / Sonic", "Caribe", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(1997, diamondking, 0, diamondking, diamondking, diamondking_state, empty_init, ROT0, "SegaSA / Sonic", "Diamond King (with Euro support)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(1997, diamondkinp, diamondking, diamondking, diamondking, diamondking_state, empty_init, ROT0, "SegaSA / Sonic", "Diamond King (without Euro support)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(19??, goldenchip, 0, ss1b202base, goldenchip, ss1b202base_state, empty_init, ROT0, "SegaSA / Sonic", "Golden Chip", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) diff --git a/src/mame/misc/dmainevent.cpp b/src/mame/misc/dmainevent.cpp index f43932fab1733..e040a5fb35840 100644 --- a/src/mame/misc/dmainevent.cpp +++ b/src/mame/misc/dmainevent.cpp @@ -75,4 +75,4 @@ ROM_END } // anonymous namespace // YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS -GAME(1983, dmainevent, 0, dmainevent, dmainevent, dmainevent_state, empty_init, ROT0, "Destron", "Main Event (Destron)", MACHINE_IS_SKELETON_MECHANICAL) +GAME(1983, dmainevent, 0, dmainevent, dmainevent, dmainevent_state, empty_init, ROT0, "Destron", "Main Event (Destron)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) diff --git a/src/mame/misc/dorachan.cpp b/src/mame/misc/dorachan.cpp index b6d58d470d8c5..6837ae3e35e12 100644 --- a/src/mame/misc/dorachan.cpp +++ b/src/mame/misc/dorachan.cpp @@ -1,13 +1,17 @@ // license:BSD-3-Clause // copyright-holders:Tomasz Slanina /* + Dorachan (Dora-Chan ?) (c) 1980 Craul Denshi Driver by Tomasz Slanina Similar to Beam Invader -Todo: + +TODO: - discrete sound -- dips (if any) - bits 5,6,7 of input port 0 ? +- dips (if any) - bits 5,6,7 of input port 0? +- verify cpu clock and interrupts (should be the same as beaminv), it will do + random resets after screen transitions if timing is wrong Gameplay: run over dots in lower half while avoiding monsters and trees. This draws back the red curtain blocking access to top part of the screen. Go through and new dots @@ -18,7 +22,10 @@ It appears that unused bits in port 03 are to operate the discrete sound channel */ #include "emu.h" + #include "cpu/z80/z80.h" +#include "machine/timer.h" + #include "emupal.h" #include "screen.h" @@ -39,21 +46,21 @@ class dorachan_state : public driver_device void dorachan(machine_config &config); +protected: + virtual void machine_start() override ATTR_COLD; + virtual void machine_reset() override ATTR_COLD; + private: - void control_w(uint8_t data); + uint32_t screen_update_dorachan(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); + TIMER_DEVICE_CALLBACK_MEMBER(interrupt) { m_maincpu->set_input_line(0, HOLD_LINE); } + void protection_w(uint8_t data); uint8_t protection_r(); uint8_t v128_r(); - uint32_t screen_update_dorachan(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); - void dorachan_io_map(address_map &map) ATTR_COLD; - void dorachan_map(address_map &map) ATTR_COLD; - - // internal state - uint8_t m_flip_screen = 0; - uint16_t m_prot_value = 0; + void control_w(uint8_t data); - virtual void machine_start() override ATTR_COLD; - virtual void machine_reset() override ATTR_COLD; + void main_map(address_map &map) ATTR_COLD; + void main_io_map(address_map &map) ATTR_COLD; // devices, memory pointers required_device m_maincpu; @@ -62,6 +69,10 @@ class dorachan_state : public driver_device required_shared_ptr m_videoram; required_region_ptr m_colors; + + // internal state + uint8_t m_flip_screen = 0; + uint16_t m_prot_value = 0; }; @@ -79,7 +90,7 @@ uint32_t dorachan_state::screen_update_dorachan(screen_device &screen, bitmap_rg uint8_t x = offs >> 8 << 3; uint8_t y = offs & 0xff; - /* the need for +1 is extremely unusual, but definitely correct */ + // the need for +1 is extremely unusual, but definitely correct offs_t color_address = ((((offs << 2) & 0x03e0) | (offs >> 8)) + 1) & 0x03ff; uint8_t data = m_videoram[offs]; @@ -93,7 +104,8 @@ uint32_t dorachan_state::screen_update_dorachan(screen_device &screen, bitmap_rg for (int i = 0; i < 8; i++) { uint8_t color = BIT(data, i) ? fore_color : 0; - bitmap.pix(y, x++) = m_palette->pen_color(color); + if (cliprect.contains(x + i, y)) + bitmap.pix(y, x + i) = m_palette->pen_color(color); } } @@ -138,8 +150,7 @@ uint8_t dorachan_state::protection_r() uint8_t dorachan_state::v128_r() { - // to avoid resetting (when player 2 starts) bit 0 need to be inverted when screen is flipped - return 0xfe | (BIT(m_screen->vpos(), 7) ^ m_flip_screen); + return 0xfe | BIT(m_screen->vpos(), 7); } void dorachan_state::control_w(uint8_t data) @@ -150,7 +161,7 @@ void dorachan_state::control_w(uint8_t data) } -void dorachan_state::dorachan_map(address_map &map) +void dorachan_state::main_map(address_map &map) { map(0x0000, 0x17ff).rom(); map(0x1800, 0x1fff).ram(); @@ -163,7 +174,7 @@ void dorachan_state::dorachan_map(address_map &map) map(0x6000, 0x77ff).rom(); } -void dorachan_state::dorachan_io_map(address_map &map) +void dorachan_state::main_io_map(address_map &map) { map.global_mask(0xff); map(0x01, 0x01).nopw(); @@ -229,13 +240,14 @@ void dorachan_state::machine_reset() void dorachan_state::dorachan(machine_config &config) { - /* basic machine hardware */ - Z80(config, m_maincpu, 2000000); - m_maincpu->set_addrmap(AS_PROGRAM, &dorachan_state::dorachan_map); - m_maincpu->set_addrmap(AS_IO, &dorachan_state::dorachan_io_map); - m_maincpu->set_periodic_int(FUNC(dorachan_state::irq0_line_hold), attotime::from_hz(2*60)); + // basic machine hardware + Z80(config, m_maincpu, 9.732_MHz_XTAL / 4); + m_maincpu->set_addrmap(AS_PROGRAM, &dorachan_state::main_map); + m_maincpu->set_addrmap(AS_IO, &dorachan_state::main_io_map); + + TIMER(config, "scantimer").configure_scanline(FUNC(dorachan_state::interrupt), "screen", 0, 128); - /* video hardware */ + // video hardware SCREEN(config, m_screen, SCREEN_TYPE_RASTER); m_screen->set_size(32*8, 32*8); m_screen->set_visarea(0*8, 32*8-1, 1*8, 31*8-1); @@ -255,22 +267,22 @@ void dorachan_state::dorachan(machine_config &config) ROM_START( dorachan ) ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "c1.e1", 0x0000, 0x0400, CRC(29d66a96) SHA1(a0297d87574af65c6ded99aeb377ac407f6f163f) ) - ROM_LOAD( "d2.e2", 0x0400, 0x0400, CRC(144b6cd1) SHA1(195ce86e912a4b395097008c6d812fd75a1a2482) ) - ROM_LOAD( "d3.e3", 0x0800, 0x0400, CRC(a9a1bed7) SHA1(98af6f851c4477f770b6bd67e5465b5a271311ee) ) - ROM_LOAD( "d4.e5", 0x0c00, 0x0400, CRC(099ddf4b) SHA1(e4dd2b17a4320615204c66c24f60e58db13a5319) ) - ROM_LOAD( "c5.e6", 0x1000, 0x0400, CRC(49449dab) SHA1(3627c16cc17fae9de2294a37602b726e107d0a13) ) - ROM_LOAD( "d6.e7", 0x1400, 0x0400, CRC(5e409680) SHA1(f5e4d820c0f0493d724cd0d3da1113bccc09c2c3) ) - ROM_LOAD( "c7.e8", 0x2000, 0x0400, CRC(b331a5ff) SHA1(1053953c76dddff450b9c9037e7797d50f9c7046) ) - ROM_LOAD( "d8.rom", 0x6000, 0x0400, CRC(5fe1e731) SHA1(8e5dcb5f8d1d6f8c06808dd808f8bce7b07014ee) ) - ROM_LOAD( "d9.rom", 0x6400, 0x0400, CRC(338881a8) SHA1(cd725b42c3f96826e94345698738f6b5a532d3d5) ) - ROM_LOAD( "d10.rom", 0x6800, 0x0400, CRC(f8c59517) SHA1(655a976b1221e5aff69e0c0cc58d02c0b7bb6197) ) - ROM_LOAD( "d11.rom", 0x6c00, 0x0400, CRC(c2e0f066) SHA1(be6b780a8957d945e5634ac9689b440a41e9a2a4) ) - ROM_LOAD( "d12.rom", 0x7000, 0x0400, CRC(275e5dc1) SHA1(ac07db4b428daa49a52c679de95ddedbea0076b9) ) - ROM_LOAD( "d13.rom", 0x7400, 0x0400, CRC(24ccfcf9) SHA1(85e5052ee657f518b0509eb64e494bc3a74e651e) ) + ROM_LOAD( "c1.e1", 0x0000, 0x0400, CRC(29d66a96) SHA1(a0297d87574af65c6ded99aeb377ac407f6f163f) ) + ROM_LOAD( "d2.e2", 0x0400, 0x0400, CRC(144b6cd1) SHA1(195ce86e912a4b395097008c6d812fd75a1a2482) ) + ROM_LOAD( "d3.e3", 0x0800, 0x0400, CRC(a9a1bed7) SHA1(98af6f851c4477f770b6bd67e5465b5a271311ee) ) + ROM_LOAD( "d4.e5", 0x0c00, 0x0400, CRC(099ddf4b) SHA1(e4dd2b17a4320615204c66c24f60e58db13a5319) ) + ROM_LOAD( "c5.e6", 0x1000, 0x0400, CRC(49449dab) SHA1(3627c16cc17fae9de2294a37602b726e107d0a13) ) + ROM_LOAD( "d6.e7", 0x1400, 0x0400, CRC(5e409680) SHA1(f5e4d820c0f0493d724cd0d3da1113bccc09c2c3) ) + ROM_LOAD( "c7.e8", 0x2000, 0x0400, CRC(b331a5ff) SHA1(1053953c76dddff450b9c9037e7797d50f9c7046) ) + ROM_LOAD( "d8.rom", 0x6000, 0x0400, CRC(5fe1e731) SHA1(8e5dcb5f8d1d6f8c06808dd808f8bce7b07014ee) ) + ROM_LOAD( "d9.rom", 0x6400, 0x0400, CRC(338881a8) SHA1(cd725b42c3f96826e94345698738f6b5a532d3d5) ) + ROM_LOAD( "d10.rom", 0x6800, 0x0400, CRC(f8c59517) SHA1(655a976b1221e5aff69e0c0cc58d02c0b7bb6197) ) + ROM_LOAD( "d11.rom", 0x6c00, 0x0400, CRC(c2e0f066) SHA1(be6b780a8957d945e5634ac9689b440a41e9a2a4) ) + ROM_LOAD( "d12.rom", 0x7000, 0x0400, CRC(275e5dc1) SHA1(ac07db4b428daa49a52c679de95ddedbea0076b9) ) + ROM_LOAD( "d13.rom", 0x7400, 0x0400, CRC(24ccfcf9) SHA1(85e5052ee657f518b0509eb64e494bc3a74e651e) ) ROM_REGION( 0x0400, "colors", 0 ) - ROM_LOAD( "d14.rom", 0x0000, 0x0400, CRC(c0d3ee84) SHA1(f2207c685ce8d5144a373c28f11d2cebf9518b65) ) + ROM_LOAD( "d14.rom", 0x0000, 0x0400, CRC(c0d3ee84) SHA1(f2207c685ce8d5144a373c28f11d2cebf9518b65) ) ROM_END } // anonymous namespace diff --git a/src/mame/misc/dynamoah.cpp b/src/mame/misc/dynamoah.cpp index fa8766c345022..55b9f2e8eced6 100644 --- a/src/mame/misc/dynamoah.cpp +++ b/src/mame/misc/dynamoah.cpp @@ -122,5 +122,5 @@ void dynamoah_state::security_decrypt() } // anonymous namespace -GAME( 199?, dynamoah, 0, dynamoah, dynamoah, dynamoah_state, security_decrypt, ROT0, "Dynamo", "Air Hockey (6.12?, encrypted)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, dynamoaha, dynamoah, dynamoah, dynamoah, dynamoah_state, security_decrypt, ROT0, "Dynamo", "Air Hockey (6.03, encrypted)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, dynamoah, 0, dynamoah, dynamoah, dynamoah_state, security_decrypt, ROT0, "Dynamo", "Air Hockey (6.12?, encrypted)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, dynamoaha, dynamoah, dynamoah, dynamoah, dynamoah_state, security_decrypt, ROT0, "Dynamo", "Air Hockey (6.03, encrypted)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/misc/ecoinf1.cpp b/src/mame/misc/ecoinf1.cpp index 938a5d3a51dad..f5409ab03fe24 100644 --- a/src/mame/misc/ecoinf1.cpp +++ b/src/mame/misc/ecoinf1.cpp @@ -367,12 +367,12 @@ ROM_END // all roms might really be for the same game, just in different cabinet styles // these ALL contain "Ver 3 BAR-X V1:84 TYPE T" strings -GAME( 19??, ec_barxo, 0, ecoinf1_older, ecoinf1, ecoinf1_state, empty_init, ROT0, "Electrocoin", "Bar X (older PCB) (Electrocoin) (set 1)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 19??, ec_barxoa, ec_barxo, ecoinf1_older, ecoinf1, ecoinf1_state, empty_init, ROT0, "Electrocoin", "Bar X (older PCB) (Electrocoin) (set 2)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 19??, ec_barxob, ec_barxo, ecoinf1_older, ecoinf1, ecoinf1_state, empty_init, ROT0, "Electrocoin", "Bar X (older PCB) (Electrocoin) (set 3)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 19??, ec_barxoc, ec_barxo, ecoinf1_older, ecoinf1, ecoinf1_state, empty_init, ROT0, "Electrocoin", "Bar X (older PCB) (Electrocoin) (set 4)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 19??, ec_barxod, ec_barxo, ecoinf1_older, ecoinf1, ecoinf1_state, empty_init, ROT0, "Electrocoin", "Bar X (older PCB) (Electrocoin) (set 5)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 19??, ec_barxoe, ec_barxo, ecoinf1_older, ecoinf1, ecoinf1_state, empty_init, ROT0, "Electrocoin", "Bar X (older PCB) (Electrocoin) (set 6)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 19??, ec_bar5, ec_barxo, ecoinf1_older, ecoinf1, ecoinf1_state, empty_init, ROT0, "Electrocoin", "Bar 5 (older PCB) (Electrocoin)", MACHINE_IS_SKELETON_MECHANICAL) // or just another Bar X set? -GAME( 19??, ec_casbxo, ec_barxo, ecoinf1_older, ecoinf1, ecoinf1_state, empty_init, ROT0, "Electrocoin", "Casino Bar X (older PCB) (Electrocoin) (set 1)", MACHINE_IS_SKELETON_MECHANICAL) // this one actually has some code offset changes -GAME( 19??, ec_casbxoa, ec_barxo, ecoinf1_older, ecoinf1, ecoinf1_state, empty_init, ROT0, "Electrocoin", "Casino Bar X (older PCB) (Electrocoin) (set 2)", MACHINE_IS_SKELETON_MECHANICAL) +GAME( 19??, ec_barxo, 0, ecoinf1_older, ecoinf1, ecoinf1_state, empty_init, ROT0, "Electrocoin", "Bar X (older PCB) (Electrocoin) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 19??, ec_barxoa, ec_barxo, ecoinf1_older, ecoinf1, ecoinf1_state, empty_init, ROT0, "Electrocoin", "Bar X (older PCB) (Electrocoin) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 19??, ec_barxob, ec_barxo, ecoinf1_older, ecoinf1, ecoinf1_state, empty_init, ROT0, "Electrocoin", "Bar X (older PCB) (Electrocoin) (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 19??, ec_barxoc, ec_barxo, ecoinf1_older, ecoinf1, ecoinf1_state, empty_init, ROT0, "Electrocoin", "Bar X (older PCB) (Electrocoin) (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 19??, ec_barxod, ec_barxo, ecoinf1_older, ecoinf1, ecoinf1_state, empty_init, ROT0, "Electrocoin", "Bar X (older PCB) (Electrocoin) (set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 19??, ec_barxoe, ec_barxo, ecoinf1_older, ecoinf1, ecoinf1_state, empty_init, ROT0, "Electrocoin", "Bar X (older PCB) (Electrocoin) (set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 19??, ec_bar5, ec_barxo, ecoinf1_older, ecoinf1, ecoinf1_state, empty_init, ROT0, "Electrocoin", "Bar 5 (older PCB) (Electrocoin)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // or just another Bar X set? +GAME( 19??, ec_casbxo, ec_barxo, ecoinf1_older, ecoinf1, ecoinf1_state, empty_init, ROT0, "Electrocoin", "Casino Bar X (older PCB) (Electrocoin) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // this one actually has some code offset changes +GAME( 19??, ec_casbxoa, ec_barxo, ecoinf1_older, ecoinf1, ecoinf1_state, empty_init, ROT0, "Electrocoin", "Casino Bar X (older PCB) (Electrocoin) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) diff --git a/src/mame/misc/electra.cpp b/src/mame/misc/electra.cpp index 1c02ccb287a01..b006c425bd556 100644 --- a/src/mame/misc/electra.cpp +++ b/src/mame/misc/electra.cpp @@ -145,5 +145,5 @@ ROM_END } // anonymous namespace -GAME( 1975, avenger, 0, electra, 0, electra_state, empty_init, ROT0, "Electra", "Avenger", MACHINE_IS_SKELETON ) -GAME( 1976, flyingf, 0, electra, 0, electra_state, empty_init, ROT0, "Electra", "Flying Fortress", MACHINE_IS_SKELETON ) +GAME( 1975, avenger, 0, electra, 0, electra_state, empty_init, ROT0, "Electra", "Avenger", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1976, flyingf, 0, electra, 0, electra_state, empty_init, ROT0, "Electra", "Flying Fortress", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/misc/enigma2.cpp b/src/mame/misc/enigma2.cpp index 715db96e15f63..9735d05c18110 100644 --- a/src/mame/misc/enigma2.cpp +++ b/src/mame/misc/enigma2.cpp @@ -18,7 +18,6 @@ enigma2b (1981) Conversion like enigma2a, but boots with 1981 copyright and Phantoms II title TODO: -- enigma2 - Star blinking frequency - enigma2b - bad sound ROM? @@ -202,7 +201,7 @@ class enigma2_state : public driver_device optional_region_ptr m_stars; required_shared_ptr m_videoram; - int m_blink_count = 0; + uint8_t m_blink_count = 0; uint8_t m_sound_latch = 0; uint8_t m_last_sound_data = 0; uint8_t m_protection_data = 0; @@ -263,13 +262,13 @@ TIMER_CALLBACK_MEMBER(enigma2_state::interrupt_assert_callback) uint16_t next_counter; int next_vpos; - /* compute vector and set the interrupt line */ + // compute vector and set the interrupt line int vpos = m_screen->vpos(); uint16_t counter = vpos_to_vysnc_chain_counter(vpos); uint8_t vector = 0xc7 | ((counter & 0x80) >> 3) | ((~counter & 0x80) >> 4); m_maincpu->set_input_line_and_vector(0, ASSERT_LINE, vector); // Z80 - /* set up for next interrupt */ + // set up for next interrupt if (counter == INT_TRIGGER_COUNT_1) next_counter = INT_TRIGGER_COUNT_2; else @@ -353,7 +352,7 @@ uint32_t enigma2_state::screen_update_enigma2(screen_device &screen, bitmap_rgb3 uint8_t bit; uint8_t color; - /* read the video RAM */ + // read the video RAM if ((x & 0x07) == 0x00) { offs_t color_map_address = (y >> 3 << 5) | (x >> 3); @@ -361,9 +360,12 @@ uint32_t enigma2_state::screen_update_enigma2(screen_device &screen, bitmap_rgb3 /* the schematics shows it like this, but it doesn't work as this would produce no stars, due to the contents of the PROM -- maybe there is a star disabled bit somewhere that's connected here instead of flip_screen() */ - /* star_map_address = (y >> 4 << 6) | (enigma2_flip_screen_get() << 5) | (x >> 3); */ + //offs_t star_map_address = (y >> 4 << 6) | (m_flip_screen ? 0x20 : 0) | (x >> 3); offs_t star_map_address = (y >> 4 << 6) | 0x20 | (x >> 3); - if (m_blink_count & 0x08) + + // blink rate is with an RC osc, this is an estimation based on PCB video + // (yes, the intervals are uneven like this) + if (m_blink_count & 0x30) star_map_address |= 0x400; offs_t videoram_address = (y << 5) | (x >> 3); @@ -382,7 +384,7 @@ uint32_t enigma2_state::screen_update_enigma2(screen_device &screen, bitmap_rgb3 star_color = m_stars[star_map_address] & 0x07; } - /* plot the current pixel */ + // plot the current pixel if (m_flip_screen) { bit = video_data & 0x80; @@ -398,30 +400,28 @@ uint32_t enigma2_state::screen_update_enigma2(screen_device &screen, bitmap_rgb3 color = fore_color; else { - /* stars only appear at certain positions */ + // stars only appear at certain positions color = ((x & y & 0x0f) == 0x0f) ? star_color : 0; } bitmap.pix(bitmap_y, x) = m_palette->pen_color(color); - /* next pixel */ + // next pixel x = x + 1; - /* end of line? */ + // end of line? if (x == 0) { - /* end of screen? */ + // end of screen? if (bitmap_y == visarea.max_y) break; - /* next row */ + // next row y = y + 1; bitmap_y = bitmap_y + 1; } } - m_blink_count++; - return 0; } @@ -439,19 +439,19 @@ uint32_t enigma2_state::screen_update_enigma2a(screen_device &screen, bitmap_rgb uint8_t bit; pen_t pen; - /* read the video RAM */ + // read the video RAM if ((x & 0x07) == 0x00) { offs_t videoram_address = (y << 5) | (x >> 3); /* when the screen is flipped, all the video address bits are inverted, and the adder at 16A is activated */ - if (m_flip_screen) videoram_address = (~videoram_address + 0x0400) & 0x1fff; + if (m_flip_screen) videoram_address = (~videoram_address + 0x0400) & 0x1fff; video_data = m_videoram[videoram_address]; } - /* plot the current pixel */ + // plot the current pixel if (m_flip_screen) { bit = video_data & 0x80; @@ -466,17 +466,17 @@ uint32_t enigma2_state::screen_update_enigma2a(screen_device &screen, bitmap_rgb pen = bit ? rgb_t::white() : rgb_t::black(); bitmap.pix(bitmap_y, x) = pen; - /* next pixel */ + // next pixel x = x + 1; - /* end of line? */ + // end of line? if (x == 0) { - /* end of screen? */ + // end of screen? if (bitmap_y == visarea.max_y) break; - /* next row */ + // next row y = y + 1; bitmap_y = bitmap_y + 1; } @@ -518,7 +518,7 @@ uint8_t enigma2_state::dip_switch_r(offs_t offset) void enigma2_state::sound_data_w(uint8_t data) { - /* clock sound latch shift register on rising edge of D2 */ + // clock sound latch shift register on rising edge of D2 if (!(data & 0x04) && (m_last_sound_data & 0x04)) m_sound_latch = (m_sound_latch >> 1) | (~data << 7 & 0x80); @@ -724,7 +724,7 @@ INPUT_PORTS_END void enigma2_state::enigma2(machine_config &config) { - /* basic machine hardware */ + // basic machine hardware Z80(config, m_maincpu, CPU_CLOCK); m_maincpu->set_addrmap(AS_PROGRAM, &enigma2_state::enigma2_main_cpu_map); @@ -733,14 +733,15 @@ void enigma2_state::enigma2(machine_config &config) config.set_maximum_quantum(attotime::from_hz(m_audiocpu->clock() / 4)); - /* video hardware */ + // video hardware SCREEN(config, m_screen, SCREEN_TYPE_RASTER); m_screen->set_raw(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART); m_screen->set_screen_update(FUNC(enigma2_state::screen_update_enigma2)); + m_screen->screen_vblank().set([this] (int state) { if (state) m_blink_count++; }); PALETTE(config, m_palette, palette_device::GBR_3BIT); - /* audio hardware */ + // audio hardware SPEAKER(config, "mono").front_center(); ay8910_device &aysnd(AY8910(config, "aysnd", AY8910_CLOCK)); @@ -752,7 +753,7 @@ void enigma2_state::enigma2(machine_config &config) void enigma2_state::enigma2a(machine_config &config) { - /* basic machine hardware */ + // basic machine hardware I8080(config, m_maincpu, CPU_CLOCK); m_maincpu->set_addrmap(AS_PROGRAM, &enigma2_state::enigma2a_main_cpu_map); m_maincpu->set_addrmap(AS_IO, &enigma2_state::enigma2a_main_cpu_io_map); @@ -762,12 +763,12 @@ void enigma2_state::enigma2a(machine_config &config) config.set_maximum_quantum(attotime::from_hz(m_audiocpu->clock() / 4)); - /* video hardware */ + // video hardware SCREEN(config, m_screen, SCREEN_TYPE_RASTER); m_screen->set_raw(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART); m_screen->set_screen_update(FUNC(enigma2_state::screen_update_enigma2a)); - /* audio hardware */ + // audio hardware SPEAKER(config, "mono").front_center(); ay8910_device &aysnd(AY8910(config, "aysnd", AY8910_CLOCK)); @@ -820,7 +821,7 @@ ROM_START( enigma2b ) ROM_LOAD( "ic32.bin", 0x4000, 0x0800, CRC(098ac15b) SHA1(cce28a2540a9eabb473391fff92895129ae41751) ) ROM_LOAD( "ic42.bin", 0x4800, 0x0800, CRC(240a9d4b) SHA1(ca1c69fafec0471141ce1254ddfaef54fecfcbf0) ) - /* this rom was completely broken on this pcb.. */ + // this rom was completely broken on this pcb.. ROM_REGION( 0x10000, "audiocpu", 0 ) ROM_LOAD( "sound.bin", 0x0000, 0x0800, BAD_DUMP CRC(5f092d3c) SHA1(17c70f6af1b5560a45e6b1bdb330a98b27570fe9) ) ROM_END diff --git a/src/mame/misc/epos.cpp b/src/mame/misc/epos.cpp index 35b649f2cf604..f433b6d1852f9 100644 --- a/src/mame/misc/epos.cpp +++ b/src/mame/misc/epos.cpp @@ -704,7 +704,7 @@ void tristar9000_state::machine_reset() void tristar8000_state::tristar8000(machine_config &config) // EPOS TRISTAR 8000 PCB { // basic machine hardware - Z80(config, m_maincpu, XTAL(11'000'000) / 4); // 2.75 MHz schematics confirm 11MHz XTAL (see notes) + Z80(config, m_maincpu, 11_MHz_XTAL / 4); // 2.75 MHz schematics confirm 11MHz XTAL (see notes) m_maincpu->set_addrmap(AS_PROGRAM, &tristar8000_state::prg_map); m_maincpu->set_addrmap(AS_IO, &tristar8000_state::io_map); m_maincpu->set_vblank_int("screen", FUNC(tristar8000_state::irq0_line_hold)); @@ -713,17 +713,14 @@ void tristar8000_state::tristar8000(machine_config &config) // EPOS TRISTAR 8000 // video hardware screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_refresh_hz(60); - screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); // not accurate - screen.set_size(272, 241); - screen.set_visarea(0, 271, 0, 235); + screen.set_raw(11_MHz_XTAL / 2, 352, 0, 272, 258, 0, 236); // confirmed from schematics screen.set_screen_update(FUNC(tristar8000_state::screen_update)); PALETTE(config, m_palette, FUNC(tristar8000_state::palette), 32); // sound hardware SPEAKER(config, "mono").front_center(); - AY8912(config, "aysnd", XTAL(11'000'000) / 16).add_route(ALL_OUTPUTS, "mono", 1.0); // 0.6875 MHz, confirmed from schematics + AY8912(config, "aysnd", 11_MHz_XTAL / 16).add_route(ALL_OUTPUTS, "mono", 1.0); // 0.6875 MHz, confirmed from schematics } diff --git a/src/mame/misc/extrema.cpp b/src/mame/misc/extrema.cpp index 02704443b0ee4..09e16cb2f226d 100644 --- a/src/mame/misc/extrema.cpp +++ b/src/mame/misc/extrema.cpp @@ -444,31 +444,31 @@ void extrema_state::init_strlink() } // Anonymous namespace -GAME( 2003, maski, 0, extrema, extrema, extrema_state, init_maski, ROT0, "Extrema", "Maski Show (Ukraine V. 43.10)", MACHINE_IS_SKELETON ) -GAME( 2003, maskia, maski, extrema, extrema, extrema_state, init_maski, ROT0, "Extrema", "Maski Show (Ukraine V. 43.07)", MACHINE_IS_SKELETON ) -GAME( 2003, maskib, maski, extrema, extrema, extrema_state, init_maski, ROT0, "Extrema", "Maski Show (Ukraine V. 42.11)", MACHINE_IS_SKELETON ) -GAME( 2003, maskic, maski, extrema, extrema, extrema_state, init_maski, ROT0, "Extrema", "Maski Show (Ukraine V. 42.05)", MACHINE_IS_SKELETON ) -GAME( 2003, adults, 0, extrema, extrema, extrema_state, init_adults, ROT0, "Extrema", "Adults Only (Ukraine, V. 43.23)", MACHINE_IS_SKELETON ) -GAME( 2003, adultsa, adults, extrema, extrema, extrema_state, init_adults, ROT0, "Extrema", "Adults Only (Ukraine, V. 43.17)", MACHINE_IS_SKELETON ) -GAME( 200?, bloto, 0, extrema, extrema, extrema_state, init_bloto, ROT0, "Extrema", "Blits Loto (Ukraine, V. 30.16)", MACHINE_IS_SKELETON ) -GAME( 200?, blotoa, bloto, extrema, extrema, extrema_state, init_bloto, ROT0, "Extrema", "Blits Loto (Ukraine, V. 30.08)", MACHINE_IS_SKELETON ) -GAME( 2003, blpearl, 0, extrema, extrema, extrema_state, init_blpearl, ROT0, "Extrema", "Black Pearl (Ukraine, V. 45.02)", MACHINE_IS_SKELETON ) -GAME( 2003, blpearla, blpearl, extrema, extrema, extrema_state, init_blpearl, ROT0, "Extrema", "Black Pearl (Ukraine, V. 43.07)", MACHINE_IS_SKELETON ) -GAME( 2003, blpearlb, blpearl, extrema, extrema, extrema_state, init_blpearl, ROT0, "Extrema", "Black Pearl (Ukraine, V. 43.04)", MACHINE_IS_SKELETON ) -GAME( 2003, blpearlc, blpearl, extrema, extrema, extrema_state, init_blpearl, ROT0, "Extrema", "Black Pearl (Ukraine, V. 42.03)", MACHINE_IS_SKELETON ) -GAME( 2003, blpearld, blpearl, extrema, extrema, extrema_state, init_blpearl, ROT0, "Extrema", "Black Pearl (Ukraine, V. 42.01)", MACHINE_IS_SKELETON ) -GAME( 2003, grancan, 0, extrema, extrema, extrema_state, init_grancan, ROT0, "Extrema", "Grand Canyon (Ukraine, V. 43.09)", MACHINE_IS_SKELETON ) -GAME( 2003, grancana, grancan, extrema, extrema, extrema_state, init_grancan, ROT0, "Extrema", "Grand Canyon (Ukraine, V. 43.05)", MACHINE_IS_SKELETON ) -GAME( 2003, grancanb, grancan, extrema, extrema, extrema_state, init_grancan, ROT0, "Extrema", "Grand Canyon (Ukraine, V. 42.13)", MACHINE_IS_SKELETON ) -GAME( 2003, grancanc, grancan, extrema, extrema, extrema_state, init_grancan, ROT0, "Extrema", "Grand Canyon (Ukraine, V. 42.06)", MACHINE_IS_SKELETON ) -GAME( 2003, luckshel, 0, extrema, extrema, extrema_state, init_luckshel, ROT0, "Extrema", "Lucky Shell (Ukraine, V. 42.25)", MACHINE_IS_SKELETON ) -GAME( 2003, luckshela, luckshel, extrema, extrema, extrema_state, init_luckshel, ROT0, "Extrema", "Lucky Shell (Ukraine, V. 42.10)", MACHINE_IS_SKELETON ) -GAME( 2003, exsafar, 0, extrema, extrema, extrema_state, init_exsafar, ROT0, "Extrema", "Safari (Extrema, Ukraine, V. 43.14)", MACHINE_IS_SKELETON ) -GAME( 2003, exsafara, exsafar, extrema, extrema, extrema_state, init_exsafar, ROT0, "Extrema", "Safari (Extrema, Ukraine, V. 43.08)", MACHINE_IS_SKELETON ) -GAME( 2003, exsafarb, exsafar, extrema, extrema, extrema_state, init_exsafar, ROT0, "Extrema", "Safari (Extrema, Ukraine, V. 42.07)", MACHINE_IS_SKELETON ) -GAME( 2003, exsafarc, exsafar, extrema, extrema, extrema_state, init_exsafar, ROT0, "Extrema", "Safari (Extrema, Ukraine, V. 42.04)", MACHINE_IS_SKELETON ) -GAME( 2004, strlink, 0, extrema, extrema, extrema_state, init_strlink, ROT0, "Extrema", "Strong Link (Ukraine, V. 43.48)", MACHINE_IS_SKELETON ) -GAME( 2004, strlinka, strlink, extrema, extrema, extrema_state, init_strlink, ROT0, "Extrema", "Strong Link (Ukraine, V. 43.45)", MACHINE_IS_SKELETON ) -GAME( 200?, extrmth, 0, extrema, extrema, extrema_state, init_extrmth, ROT0, "Extrema", "Treasure Hunt (Extrema, Ukraine, V. 34.03)", MACHINE_IS_SKELETON ) // other string has it as 3.4.03 -GAME( 200?, extrmtha, extrmth, extrema, extrema, extrema_state, init_extrmth, ROT0, "Extrema", "Treasure Hunt (Extrema, Ukraine, V. 34.02)", MACHINE_IS_SKELETON ) // other string has it as 3.4.02 -GAME( 200?, extrmti, 0, extrema, extrema, extrema_state, init_extrmti, ROT0, "Extrema", "Treasure Island (Extrema, Ukraine, V. 32.49)", MACHINE_IS_SKELETON ) // other string has it as 3.2.49 +GAME( 2003, maski, 0, extrema, extrema, extrema_state, init_maski, ROT0, "Extrema", "Maski Show (Ukraine V. 43.10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2003, maskia, maski, extrema, extrema, extrema_state, init_maski, ROT0, "Extrema", "Maski Show (Ukraine V. 43.07)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2003, maskib, maski, extrema, extrema, extrema_state, init_maski, ROT0, "Extrema", "Maski Show (Ukraine V. 42.11)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2003, maskic, maski, extrema, extrema, extrema_state, init_maski, ROT0, "Extrema", "Maski Show (Ukraine V. 42.05)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2003, adults, 0, extrema, extrema, extrema_state, init_adults, ROT0, "Extrema", "Adults Only (Ukraine, V. 43.23)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2003, adultsa, adults, extrema, extrema, extrema_state, init_adults, ROT0, "Extrema", "Adults Only (Ukraine, V. 43.17)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, bloto, 0, extrema, extrema, extrema_state, init_bloto, ROT0, "Extrema", "Blits Loto (Ukraine, V. 30.16)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, blotoa, bloto, extrema, extrema, extrema_state, init_bloto, ROT0, "Extrema", "Blits Loto (Ukraine, V. 30.08)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2003, blpearl, 0, extrema, extrema, extrema_state, init_blpearl, ROT0, "Extrema", "Black Pearl (Ukraine, V. 45.02)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2003, blpearla, blpearl, extrema, extrema, extrema_state, init_blpearl, ROT0, "Extrema", "Black Pearl (Ukraine, V. 43.07)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2003, blpearlb, blpearl, extrema, extrema, extrema_state, init_blpearl, ROT0, "Extrema", "Black Pearl (Ukraine, V. 43.04)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2003, blpearlc, blpearl, extrema, extrema, extrema_state, init_blpearl, ROT0, "Extrema", "Black Pearl (Ukraine, V. 42.03)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2003, blpearld, blpearl, extrema, extrema, extrema_state, init_blpearl, ROT0, "Extrema", "Black Pearl (Ukraine, V. 42.01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2003, grancan, 0, extrema, extrema, extrema_state, init_grancan, ROT0, "Extrema", "Grand Canyon (Ukraine, V. 43.09)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2003, grancana, grancan, extrema, extrema, extrema_state, init_grancan, ROT0, "Extrema", "Grand Canyon (Ukraine, V. 43.05)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2003, grancanb, grancan, extrema, extrema, extrema_state, init_grancan, ROT0, "Extrema", "Grand Canyon (Ukraine, V. 42.13)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2003, grancanc, grancan, extrema, extrema, extrema_state, init_grancan, ROT0, "Extrema", "Grand Canyon (Ukraine, V. 42.06)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2003, luckshel, 0, extrema, extrema, extrema_state, init_luckshel, ROT0, "Extrema", "Lucky Shell (Ukraine, V. 42.25)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2003, luckshela, luckshel, extrema, extrema, extrema_state, init_luckshel, ROT0, "Extrema", "Lucky Shell (Ukraine, V. 42.10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2003, exsafar, 0, extrema, extrema, extrema_state, init_exsafar, ROT0, "Extrema", "Safari (Extrema, Ukraine, V. 43.14)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2003, exsafara, exsafar, extrema, extrema, extrema_state, init_exsafar, ROT0, "Extrema", "Safari (Extrema, Ukraine, V. 43.08)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2003, exsafarb, exsafar, extrema, extrema, extrema_state, init_exsafar, ROT0, "Extrema", "Safari (Extrema, Ukraine, V. 42.07)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2003, exsafarc, exsafar, extrema, extrema, extrema_state, init_exsafar, ROT0, "Extrema", "Safari (Extrema, Ukraine, V. 42.04)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2004, strlink, 0, extrema, extrema, extrema_state, init_strlink, ROT0, "Extrema", "Strong Link (Ukraine, V. 43.48)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2004, strlinka, strlink, extrema, extrema, extrema_state, init_strlink, ROT0, "Extrema", "Strong Link (Ukraine, V. 43.45)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, extrmth, 0, extrema, extrema, extrema_state, init_extrmth, ROT0, "Extrema", "Treasure Hunt (Extrema, Ukraine, V. 34.03)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // other string has it as 3.4.03 +GAME( 200?, extrmtha, extrmth, extrema, extrema, extrema_state, init_extrmth, ROT0, "Extrema", "Treasure Hunt (Extrema, Ukraine, V. 34.02)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // other string has it as 3.4.02 +GAME( 200?, extrmti, 0, extrema, extrema, extrema_state, init_extrmti, ROT0, "Extrema", "Treasure Island (Extrema, Ukraine, V. 32.49)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // other string has it as 3.2.49 diff --git a/src/mame/misc/falgas_m89.cpp b/src/mame/misc/falgas_m89.cpp index d59c267e08447..d13199e1373fb 100644 --- a/src/mame/misc/falgas_m89.cpp +++ b/src/mame/misc/falgas_m89.cpp @@ -352,8 +352,8 @@ ROM_END } // anonymous namespace // YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS -GAME( 1991, cbully, 0, falgasm89_simple, falgasm89, falgasm89_state, empty_init, ROT0, "Falgas", "Coche Bully", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 19??, fantcar, 0, falgasm89, falgasm89, falgasm89_state, empty_init, ROT0, "Falgas", "Fantastic Car (M89 hardware)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1988, fantcar87, fantcar, falgasm87, falgasm89, falgasm89_state, empty_init, ROT0, "Falgas", "Fantastic Car (Micro-87 hardware, newer)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1987, fantcar87a, fantcar, falgasm87, falgasm89, falgasm89_state, empty_init, ROT0, "Falgas", "Fantastic Car (Micro-87 hardware, older)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1991, rmontecarlo, 0, falgasm89_video, falgasm89, falgasm89_video_state, empty_init, ROT0, "Falgas", "Rally Montecarlo", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1991, cbully, 0, falgasm89_simple, falgasm89, falgasm89_state, empty_init, ROT0, "Falgas", "Coche Bully", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 19??, fantcar, 0, falgasm89, falgasm89, falgasm89_state, empty_init, ROT0, "Falgas", "Fantastic Car (M89 hardware)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1988, fantcar87, fantcar, falgasm87, falgasm89, falgasm89_state, empty_init, ROT0, "Falgas", "Fantastic Car (Micro-87 hardware, newer)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1987, fantcar87a, fantcar, falgasm87, falgasm89, falgasm89_state, empty_init, ROT0, "Falgas", "Fantastic Car (Micro-87 hardware, older)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1991, rmontecarlo, 0, falgasm89_video, falgasm89, falgasm89_video_state, empty_init, ROT0, "Falgas", "Rally Montecarlo", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/misc/freeway.cpp b/src/mame/misc/freeway.cpp index be6efec3aefff..84f6a978cabca 100644 --- a/src/mame/misc/freeway.cpp +++ b/src/mame/misc/freeway.cpp @@ -280,5 +280,5 @@ ROM_END } // anonymous namespace -GAME(1999, freeway, 0, freeway, freeway, freeway_state, empty_init, ROT0, "NVC Electronica", "FreeWay (V5.12)", MACHINE_IS_SKELETON) -GAME(1997, freewaya, freeway, freeway, freeway, freeway_state, empty_init, ROT0, "NVC Electronica", "FreeWay (V4.31)", MACHINE_IS_SKELETON) +GAME(1999, freeway, 0, freeway, freeway, freeway_state, empty_init, ROT0, "NVC Electronica", "FreeWay (V5.12)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(1997, freewaya, freeway, freeway, freeway, freeway_state, empty_init, ROT0, "NVC Electronica", "FreeWay (V4.31)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/misc/funeball.cpp b/src/mame/misc/funeball.cpp index 76408e581abf1..2ce3f75727c0d 100644 --- a/src/mame/misc/funeball.cpp +++ b/src/mame/misc/funeball.cpp @@ -62,4 +62,4 @@ ROM_END } // anonymous namespace // YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS -GAME( 1997, funeball, 0, funeball, funeball, funeball_state, empty_init, ROT0, "Fun Industries Inc.", "Fun-E-Ball", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1997, funeball, 0, funeball, funeball, funeball_state, empty_init, ROT0, "Fun Industries Inc.", "Fun-E-Ball", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/misc/fungames.cpp b/src/mame/misc/fungames.cpp index 210dded90486f..20af6d90ff55a 100644 --- a/src/mame/misc/fungames.cpp +++ b/src/mame/misc/fungames.cpp @@ -191,8 +191,8 @@ ROM_END } // Anonymous namespace -GAME( 1975, biplane, 0, fungames, 0, fungames_state, empty_init, ROT0, "Fun Games", "Biplane", MACHINE_IS_SKELETON ) -//GAME( 1975, skywar, biplane, 0, fungames, 0, fungames_state, empty_init, ROT0, "Mirco Games", "Sky War", MACHINE_IS_SKELETON ) -GAME( 1976, biplane4, 0, fungames, 0, fungames_state, empty_init, ROT0, "Fun Games", "Biplane 4", MACHINE_IS_SKELETON ) -GAME( 1975, take5, 0, fungames, 0, fungames_state, empty_init, ROT0, "Fun Games", "Take 5", MACHINE_IS_SKELETON ) -//GAME( 1975, tankers, 0, fungames, 0, fungames_state, empty_init, ROT0, "Fun Games", "Tankers", MACHINE_IS_SKELETON ) +GAME( 1975, biplane, 0, fungames, 0, fungames_state, empty_init, ROT0, "Fun Games", "Biplane", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +//GAME( 1975, skywar, biplane, 0, fungames, 0, fungames_state, empty_init, ROT0, "Mirco Games", "Sky War", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1976, biplane4, 0, fungames, 0, fungames_state, empty_init, ROT0, "Fun Games", "Biplane 4", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1975, take5, 0, fungames, 0, fungames_state, empty_init, ROT0, "Fun Games", "Take 5", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +//GAME( 1975, tankers, 0, fungames, 0, fungames_state, empty_init, ROT0, "Fun Games", "Tankers", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/misc/gamemasters.cpp b/src/mame/misc/gamemasters.cpp index 947e54229b3b9..b6c48139538ed 100644 --- a/src/mame/misc/gamemasters.cpp +++ b/src/mame/misc/gamemasters.cpp @@ -154,4 +154,4 @@ ROM_END } // anonymous namespace -GAME(1989, gmsshoot, 0, gmsshoot, gmsshoot, gamemasters_state, empty_init, ROT0, "GameMasters", "Sharpshooter (coin pusher)", MACHINE_IS_SKELETON_MECHANICAL) // flyer and PCB dated 1988, but program strings claim 1989 copyright +GAME(1989, gmsshoot, 0, gmsshoot, gmsshoot, gamemasters_state, empty_init, ROT0, "GameMasters", "Sharpshooter (coin pusher)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // flyer and PCB dated 1988, but program strings claim 1989 copyright diff --git a/src/mame/misc/gfamily.cpp b/src/mame/misc/gfamily.cpp index 710f490ceb9c3..d8c10224498c1 100644 --- a/src/mame/misc/gfamily.cpp +++ b/src/mame/misc/gfamily.cpp @@ -206,4 +206,4 @@ ROM_END } // Anonymous namespace -GAME( 200?, gmfamily, 0, gfamily, gfamily, gfamily_state, empty_init, ROT0, "bootleg", "Games Family", MACHINE_IS_SKELETON ) +GAME( 200?, gmfamily, 0, gfamily, gfamily, gfamily_state, empty_init, ROT0, "bootleg", "Games Family", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/misc/globalfr.cpp b/src/mame/misc/globalfr.cpp index 2c6d10c8f2ddb..605b5ede7c3d8 100644 --- a/src/mame/misc/globalfr.cpp +++ b/src/mame/misc/globalfr.cpp @@ -207,32 +207,32 @@ ROM_END /******************************************************************************/ // standalone game or topbox? -GAME( 199?, gl_snbev, 0, globalfr, globalfr, globalfr_state, empty_init, ROT0, "Global", "Saturday Night Beaver (Global) (Stealth?) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, gl_snbeva, gl_snbev, globalfr, globalfr, globalfr_state, empty_init, ROT0, "Global", "Saturday Night Beaver (Global) (Stealth?) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, gl_snbev, 0, globalfr, globalfr, globalfr_state, empty_init, ROT0, "Global", "Saturday Night Beaver (Global) (Stealth?) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, gl_snbeva, gl_snbev, globalfr, globalfr, globalfr_state, empty_init, ROT0, "Global", "Saturday Night Beaver (Global) (Stealth?) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // standalone game or topbox? -GAME( 199?, gl_grncl, 0, globalfr, globalfr, globalfr_state, empty_init, ROT0, "Global", "Grid Runner Club (Global) (Stealth?) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, gl_grncla, gl_grncl, globalfr, globalfr, globalfr_state, empty_init, ROT0, "Global", "Grid Runner Club (Global) (Stealth?) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, gl_grncl, 0, globalfr, globalfr, globalfr_state, empty_init, ROT0, "Global", "Grid Runner Club (Global) (Stealth?) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, gl_grncla, gl_grncl, globalfr, globalfr, globalfr_state, empty_init, ROT0, "Global", "Grid Runner Club (Global) (Stealth?) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, gl_dow, 0, globalfr, globalfr, globalfr_state, empty_init, ROT0, "Global", "Deals On Wheels (Global) (v1.4) (Stealth)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, gl_dowp, gl_dow, globalfr, globalfr, globalfr_state, empty_init, ROT0, "Global", "Deals On Wheels (Global) (v1.4 Protocol) (Stealth)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, gl_dow, 0, globalfr, globalfr, globalfr_state, empty_init, ROT0, "Global", "Deals On Wheels (Global) (v1.4) (Stealth)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, gl_dowp, gl_dow, globalfr, globalfr, globalfr_state, empty_init, ROT0, "Global", "Deals On Wheels (Global) (v1.4 Protocol) (Stealth)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, gl_dowcl, 0, globalfr, globalfr, globalfr_state, empty_init, ROT0, "Global", "Deals On Wheels Club (Global) (v1.6) (Stealth)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, gl_dowclp, gl_dowcl, globalfr, globalfr, globalfr_state, empty_init, ROT0, "Global", "Deals On Wheels Club (Global) (v1.6 Protocol) (Stealth)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, gl_dowcl, 0, globalfr, globalfr, globalfr_state, empty_init, ROT0, "Global", "Deals On Wheels Club (Global) (v1.6) (Stealth)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, gl_dowclp, gl_dowcl, globalfr, globalfr, globalfr_state, empty_init, ROT0, "Global", "Deals On Wheels Club (Global) (v1.6 Protocol) (Stealth)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, gl_wywh, 0, globalfr, globalfr, globalfr_state, empty_init, ROT0, "Global", "Wish You Were Here Club (Global) (v2.9) (Stealth)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, gl_wywhp, gl_wywh, globalfr, globalfr, globalfr_state, empty_init, ROT0, "Global", "Wish You Were Here Club (Global) (v2.9 Protocol) (Stealth)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, gl_wywh24, gl_wywh, globalfr, globalfr, globalfr_state, empty_init, ROT0, "Global", "Wish You Were Here Club (Global) (v2.4) (Stealth)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, gl_wywh24p, gl_wywh, globalfr, globalfr, globalfr_state, empty_init, ROT0, "Global", "Wish You Were Here Club (Global) (v2.4 Protocol) (Stealth)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, gl_wywh, 0, globalfr, globalfr, globalfr_state, empty_init, ROT0, "Global", "Wish You Were Here Club (Global) (v2.9) (Stealth)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, gl_wywhp, gl_wywh, globalfr, globalfr, globalfr_state, empty_init, ROT0, "Global", "Wish You Were Here Club (Global) (v2.9 Protocol) (Stealth)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, gl_wywh24, gl_wywh, globalfr, globalfr, globalfr_state, empty_init, ROT0, "Global", "Wish You Were Here Club (Global) (v2.4) (Stealth)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, gl_wywh24p, gl_wywh, globalfr, globalfr, globalfr_state, empty_init, ROT0, "Global", "Wish You Were Here Club (Global) (v2.4 Protocol) (Stealth)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, gl_coc, 0, globalfr, globalfr, globalfr_state, empty_init, ROT0, "Global", "Carry On Clubbin' (Global) (v3.0) (Stealth)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, gl_cocp, gl_coc, globalfr, globalfr, globalfr_state, empty_init, ROT0, "Global", "Carry On Clubbin' (Global) (v3.0 Protocol) (Stealth)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, gl_coc29, gl_coc, globalfr, globalfr, globalfr_state, empty_init, ROT0, "Global", "Carry On Clubbin' (Global) (v2.9) (Stealth)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, gl_coc29p, gl_coc, globalfr, globalfr, globalfr_state, empty_init, ROT0, "Global", "Carry On Clubbin' (Global) (v2.9 Protocol) (Stealth)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, gl_coc, 0, globalfr, globalfr, globalfr_state, empty_init, ROT0, "Global", "Carry On Clubbin' (Global) (v3.0) (Stealth)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, gl_cocp, gl_coc, globalfr, globalfr, globalfr_state, empty_init, ROT0, "Global", "Carry On Clubbin' (Global) (v3.0 Protocol) (Stealth)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, gl_coc29, gl_coc, globalfr, globalfr, globalfr_state, empty_init, ROT0, "Global", "Carry On Clubbin' (Global) (v2.9) (Stealth)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, gl_coc29p, gl_coc, globalfr, globalfr, globalfr_state, empty_init, ROT0, "Global", "Carry On Clubbin' (Global) (v2.9 Protocol) (Stealth)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, gl_uyr, 0, globalfr, globalfr, globalfr_state, empty_init, ROT0, "Global", "Up Yer Riggin Club (Global) (v2.8) (Stealth)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, gl_uyrp, gl_uyr, globalfr, globalfr, globalfr_state, empty_init, ROT0, "Global", "Up Yer Riggin Club (Global) (v2.8 Protocol) (Stealth)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, gl_uyr, 0, globalfr, globalfr, globalfr_state, empty_init, ROT0, "Global", "Up Yer Riggin Club (Global) (v2.8) (Stealth)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, gl_uyrp, gl_uyr, globalfr, globalfr, globalfr_state, empty_init, ROT0, "Global", "Up Yer Riggin Club (Global) (v2.8 Protocol) (Stealth)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) -GAME( 199?, gl_hbh, 0, globalfr, globalfr, globalfr_state, empty_init, ROT0, "Global", "Heartbreak Hotel (Global) (v1.0) (Stealth)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, gl_hbhcl, 0, globalfr, globalfr, globalfr_state, empty_init, ROT0, "Global", "Heartbreak Hotel Club (Global) (v1.9) (Stealth)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, gl_hbhclp, gl_hbhcl, globalfr, globalfr, globalfr_state, empty_init, ROT0, "Global", "Heartbreak Hotel Club (Global) (v1.9 Protocol) (Stealth)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, gl_hbhcla, gl_hbhcl, globalfr, globalfr, globalfr_state, empty_init, ROT0, "Global", "Heartbreak Hotel Club (Global) (set 2) (Stealth)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, gl_hbh, 0, globalfr, globalfr, globalfr_state, empty_init, ROT0, "Global", "Heartbreak Hotel (Global) (v1.0) (Stealth)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, gl_hbhcl, 0, globalfr, globalfr, globalfr_state, empty_init, ROT0, "Global", "Heartbreak Hotel Club (Global) (v1.9) (Stealth)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, gl_hbhclp, gl_hbhcl, globalfr, globalfr, globalfr_state, empty_init, ROT0, "Global", "Heartbreak Hotel Club (Global) (v1.9 Protocol) (Stealth)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, gl_hbhcla, gl_hbhcl, globalfr, globalfr, globalfr_state, empty_init, ROT0, "Global", "Heartbreak Hotel Club (Global) (set 2) (Stealth)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/misc/globalvr.cpp b/src/mame/misc/globalvr.cpp index fe070aaf1af80..78dd073481490 100644 --- a/src/mame/misc/globalvr.cpp +++ b/src/mame/misc/globalvr.cpp @@ -427,16 +427,16 @@ ROM_END // OS/Global VR specific Setup Installers -GAME( 2002, hyperv2, 0, globalvr, globalvr, globalvr_state, empty_init, ROT0, "Global VR", "Hyper V2 (Global VR) Install - 06/12/02", MACHINE_IS_SKELETON ) -GAME( 2001, hyperv2a, 0, globalvr, globalvr, globalvr_state, empty_init, ROT0, "Global VR", "Hyper V2 (Global VR) Install - 09/30/01", MACHINE_IS_SKELETON ) -GAME( 2001, gvrxpsys, 0, globalvr, globalvr, globalvr_state, empty_init, ROT0, "Global VR", "Global VR XP OS Install - 09/30/01", MACHINE_IS_SKELETON ) -GAME( 2002, gvrxpsup, 0, globalvr, globalvr, globalvr_state, empty_init, ROT0, "Global VR", "Global VR XP OS Update/Install - 06/11/02", MACHINE_IS_SKELETON ) +GAME( 2002, hyperv2, 0, globalvr, globalvr, globalvr_state, empty_init, ROT0, "Global VR", "Hyper V2 (Global VR) Install - 06/12/02", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2001, hyperv2a, 0, globalvr, globalvr, globalvr_state, empty_init, ROT0, "Global VR", "Hyper V2 (Global VR) Install - 09/30/01", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2001, gvrxpsys, 0, globalvr, globalvr, globalvr_state, empty_init, ROT0, "Global VR", "Global VR XP OS Install - 09/30/01", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2002, gvrxpsup, 0, globalvr, globalvr, globalvr_state, empty_init, ROT0, "Global VR", "Global VR XP OS Update/Install - 06/11/02", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // Game Installer CDs -GAME( 2000, bhead2k, 0, globalvr, globalvr, globalvr_state, empty_init, ROT0, "Global VR", "Beach Head 2000 Install - 05/27/03", MACHINE_IS_SKELETON ) -GAME( 2000, bhead2ka, 0, globalvr, globalvr, globalvr_state, empty_init, ROT0, "Global VR", "Beach Head 2000 Install - 09/16/01", MACHINE_IS_SKELETON ) -GAME( 2002, bhead2k2, 0, globalvr, globalvr, globalvr_state, empty_init, ROT0, "Global VR", "Beach Head 2002 Install - 05/27/03", MACHINE_IS_SKELETON ) -GAME( 2003, bhead2k3, 0, globalvr, globalvr, globalvr_state, empty_init, ROT0, "Global VR", "Beach Head 2003 Desert War Install - 05/27/03", MACHINE_IS_SKELETON ) -GAME( 2003, nfs, 0, globalvr, globalvr, globalvr_state, empty_init, ROT0, "Global VR", "Need for Speed - 4 Cab Link (2 Discs) (v1.0.1 Rev B)", MACHINE_IS_SKELETON ) -GAME( 2004, nfsgt, 0, globalvr, globalvr, globalvr_state, empty_init, ROT0, "Global VR", "Need for Speed GT (Hard Drive+2 Discs) (v1.1.0 Rev C)",MACHINE_IS_SKELETON ) -GAME( 2005, nfsug, 0, globalvr, globalvr, globalvr_state, empty_init, ROT0, "Global VR", "Need For Speed: Underground Install (2 Discs) (v1.1)", MACHINE_IS_SKELETON ) +GAME( 2000, bhead2k, 0, globalvr, globalvr, globalvr_state, empty_init, ROT0, "Global VR", "Beach Head 2000 Install - 05/27/03", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2000, bhead2ka, 0, globalvr, globalvr, globalvr_state, empty_init, ROT0, "Global VR", "Beach Head 2000 Install - 09/16/01", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2002, bhead2k2, 0, globalvr, globalvr, globalvr_state, empty_init, ROT0, "Global VR", "Beach Head 2002 Install - 05/27/03", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2003, bhead2k3, 0, globalvr, globalvr, globalvr_state, empty_init, ROT0, "Global VR", "Beach Head 2003 Desert War Install - 05/27/03", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2003, nfs, 0, globalvr, globalvr, globalvr_state, empty_init, ROT0, "Global VR", "Need for Speed - 4 Cab Link (2 Discs) (v1.0.1 Rev B)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2004, nfsgt, 0, globalvr, globalvr, globalvr_state, empty_init, ROT0, "Global VR", "Need for Speed GT (Hard Drive+2 Discs) (v1.1.0 Rev C)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2005, nfsug, 0, globalvr, globalvr, globalvr_state, empty_init, ROT0, "Global VR", "Need For Speed: Underground Install (2 Discs) (v1.1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/misc/goldnpkr.cpp b/src/mame/misc/goldnpkr.cpp index 537e3cb2f52a2..275196bb39fc3 100644 --- a/src/mame/misc/goldnpkr.cpp +++ b/src/mame/misc/goldnpkr.cpp @@ -16,6 +16,8 @@ * Golden Poker Double Up (bootleg, set 2), 198?, Bootleg. * Golden Poker Double Up (bootleg, set 3), 1983, Intercoast (bootleg). * Golden Poker Double Up (bootleg, set 4), 1983, Intercoast (bootleg). + * Golden Poker Double Up (bootleg, set 5), 198?, Bootleg. + * Golden Poker Double Up (tearoom*sara hack), 1981, Bonanza Enterprises, Ltd. * Videotron Poker (cards selector, set 1), 198?, Unknown. * Videotron Poker (cards selector, set 2), 198?, Unknown. * Videotron Poker (normal controls), 198?, Unknown. @@ -31,10 +33,15 @@ * Jack Potten's Poker (set 10, ICP-1 PCB), 198?, Bootleg. * Jack Potten's Poker (set 11, German, W.W.), 198?, Bootleg. * Jack Potten's Poker (set 12, no Double-Up), 198?, Bootleg. - * Jack Potten's Poker (set 13, ICP-1 PCB), 198?, Bootleg. + * Jack Potten's Poker (set 13, ICP-1 PCB), 198?, Unknown. + * Jack Potten's Poker (set 14, ICP-1 PCB), 198?, Bootleg. + * Jack Potten's Poker (set 15, w/fever, ICP-1 PCB), 198?, Bootleg (PED). + * Jack Potten's Poker (set 16, ICP-1 PCB), 1987, Bootleg (PED). + * Jack Potten's Poker (set 17, ICP-1 PCB), 1987, Bootleg (PED). * Jack Potten's Poker (NGold, set 1), 198?, Unknown. * Jack Potten's Poker (NGold, set 2), 198?, Unknown. * Jack Potten's Poker (NGold, set 3), 198?, Unknown. + * Amstar Draw Poker, 198?, Amstar? * Buena Suerte (Spanish, set 1), 1990, Unknown. * Buena Suerte (Spanish, set 2), 1991, Unknown. * Buena Suerte (Spanish, set 3), 1991, Unknown. @@ -49,7 +56,7 @@ * Buena Suerte (Spanish, set 12), 1991, Unknown. * Buena Suerte (Spanish, set 13), 1991, Unknown. * Buena Suerte (Spanish, set 14), 1991, Unknown. - * Buena Suerte (Spanish, set 15), 1991, Unknown. + * Buena Suerte (Spanish, set 15, Prodel PCB), 1991, Unknown. * Buena Suerte (Spanish, set 16), 1991, Unknown. * Buena Suerte (Spanish, set 17), 1991, Unknown. * Buena Suerte (Spanish, set 18), 1991, Unknown. @@ -59,10 +66,11 @@ * Buena Suerte (Spanish, set 22), 1991, Unknown. * Buena Suerte (Spanish/Portuguese, set 23), 1991, Unknown. * Good Luck, 198?, Unknown. - * Falcons Wild - World Wide Poker, 1983, Falcon. + * Falcons Wild - Wild Card 1991 (TVG), 1991, TVG. * Falcons Wild - World Wide Poker (VK set 1), 1990, Video Klein. * Falcons Wild - World Wide Poker (VK set 2), 1990, Video Klein. - * Falcons Wild - Wild Card 1991, 1991, TVG. + * Falcons Wild - World Wide Poker (Falcon original, protected), 1983, Falcon. + * Falcons Wild - World Wide Poker (Falcon original), 1983, Falcon. * Witch Card (Video Klein CPU box, set 1), 1991, Video Klein. * Witch Card (Video Klein CPU box, set 2), 1991, Video Klein. * Witch Card (Spanish, witch game, set 1), 1991, Unknown. @@ -137,21 +145,22 @@ * Genie (ICP-1, set 1), 198?, Video Fun Games Ltd. * Genie (ICP-1, set 2), 198?, Unknown. * Silver Game, 1983, Unknown. - * Silver Game, 1983, Unknown. * Bonus Poker, 1984, Galanthis Inc. + * Joker Bonus, 198?, Unknown. * "Unknown French poker game", 198?, Unknown. - * "Unknown encrypted poker game", 198?, Unknown. + * "Super Double (French)", 198?, Karateco. * "Good Luck! poker (Sisteme France)", 198?, Sisteme France. + * Mundial/Mondial (Italian/French), 1987, Unknown. * Bonne Chance! (Golden Poker prequel HW, set 1), 198?, Unknown. * Bonne Chance! (Golden Poker prequel HW, set 2), 198?, Unknown. * Boa Sorte! (Golden Poker prequel HW), 198?, Unknown. - * Mundial/Mondial (Italian/French), 1987, Unknown. * Super 98 (3-hands, ICP-1), 199?, Unknown. * unknown rocket/animal-themed poker, 199?, Unknown. * Super 21, 1987, Public MNG. * Open 5 Cards, 1987, MNG. * Le Super Pendu (V1, words set #1), 198?, Voyageur de L'Espace Inc.. * Le Super Pendu (V1, words set #2), 198?, Voyageur de L'Espace Inc.. + * Roulette (ICP-1 PCB), 198?, Unknown. * Mega Double Poker (conversion kit, set 1), 1990, Blitz System Inc. * Mega Double Poker (conversion kit, set 2), 1990, Blitz System Inc. * Maxi Double Poker (version 1.8), 1990, Blitz System Inc. @@ -973,7 +982,7 @@ TODO: - Missing PIA connections. - - Final cleanup and split the driver. + - Final cleanup. ************************************************************************************/ @@ -1046,6 +1055,8 @@ class goldnpkr_state : public driver_device void icp_ext(machine_config &config); void gldnirq0(machine_config &config); void lespendu(machine_config &config); + void icproul(machine_config &config); + void glfever(machine_config &config); void init_vkdlswwh(); void init_icp1db(); @@ -1073,6 +1084,7 @@ class goldnpkr_state : public driver_device void init_lespenduj(); void init_op5cards(); void init_olym65(); + void init_glfev(); uint8_t pottnpkr_mux_port_r(); void lamps_a_w(uint8_t data); @@ -1139,6 +1151,7 @@ class goldnpkr_state : public driver_device void op5cards_map(address_map &map) ATTR_COLD; void icp_ext_map(address_map &map) ATTR_COLD; void lespendu_map(address_map &map) ATTR_COLD; + void glfever_map(address_map &map) ATTR_COLD; required_shared_ptr m_videoram; required_shared_ptr m_colorram; @@ -1897,6 +1910,21 @@ void goldnpkr_state::op5cards_map(address_map &map) map(0xc000, 0xffff).rom(); } +void goldnpkr_state::glfever_map(address_map &map) +{ + map(0x0000, 0x07ff).ram().share("nvram"); // battery backed RAM + map(0x0800, 0x0800).w("crtc", FUNC(mc6845_device::address_w)); + map(0x0801, 0x0801).rw("crtc", FUNC(mc6845_device::register_r), FUNC(mc6845_device::register_w)); + map(0x0844, 0x0847).rw("pia0", FUNC(pia6821_device::read), FUNC(pia6821_device::write)); + map(0x0848, 0x084b).rw("pia1", FUNC(pia6821_device::read), FUNC(pia6821_device::write)); + map(0x1000, 0x13ff).ram().w(FUNC(goldnpkr_state::goldnpkr_videoram_w)).share("videoram"); + map(0x1800, 0x1bff).ram().w(FUNC(goldnpkr_state::goldnpkr_colorram_w)).share("colorram"); + map(0x2000, 0x2000).portr("SWA"); + map(0x3000, 0x7fff).rom(); // base rom space + map(0xa000, 0xa000).portr("SWB"); + map(0xf000, 0xffff).rom(); // extended rom space +} + /********************************************* * Input Ports * @@ -4331,6 +4359,203 @@ static INPUT_PORTS_START(lespendu) INPUT_PORTS_END +static INPUT_PORTS_START( icproul ) + // Multiplexed - 4x5bits + PORT_START("IN0-0") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-0-01") PORT_CODE(KEYCODE_1) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Meters") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-0-04") PORT_CODE(KEYCODE_3) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_START("IN0-1") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-1-01") PORT_CODE(KEYCODE_Q) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-1-04") PORT_CODE(KEYCODE_E) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-1-08") PORT_CODE(KEYCODE_R) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-1-10") PORT_CODE(KEYCODE_T) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_START("IN0-2") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Place Bet / Take Out") PORT_IMPULSE(5) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START1 ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Cancel Bets") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-2-10") PORT_CODE(KEYCODE_G) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_START("IN0-3") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Program") PORT_CODE(KEYCODE_9) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-3-02") PORT_CODE(KEYCODE_X) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_NAME("Note In") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-3-10") PORT_CODE(KEYCODE_B) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_START("SW1") + // only bits 4-7 are connected here and were routed to SW1 1-4 + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED ) + PORT_DIPNAME( 0x10, 0x10, "Field Type" ) + PORT_DIPSETTING( 0x10, "Type 1: Normal" ) + PORT_DIPSETTING( 0x00, "Type 2: Double Zero" ) + PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) +INPUT_PORTS_END + + +static INPUT_PORTS_START( glfever ) + // Multiplexed - 4x5bits + PORT_START("IN0-0") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_NAME("Bet") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Meters/Settings") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_D_UP ) PORT_NAME("Double-Up/Next") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_DEAL ) PORT_NAME("Deal/Draw") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) PORT_NAME("Cancel") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_START("IN0-1") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_TAKE ) PORT_NAME("Take") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_HIGH ) PORT_NAME("High/Red") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_LOW ) PORT_NAME("Low/Black") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_START("IN0-2") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_START("IN0-3") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(3) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(3) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_START("SW1") + // only bits 4-7 are connected here and were routed to SW1 1-4 + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED ) + PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:1") + PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:2") + PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:3") + PORT_DIPSETTING( 0x40, "Coin In: 1c-5c; Note In: 1n-50c" ) + PORT_DIPSETTING( 0x00, "Coin In: 1c-1c; Note In: 1n-10c" ) + PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:4") + PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + + PORT_START("SWA") + PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWA:1") + PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWA:2") + PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWA:3") + PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWA:4") + PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWA:5") + PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWA:6") + PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWA:7") + PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWA:8") + PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + + PORT_START("SWB") + PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWB:1") + PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWB:2") + PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWB:3") + PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWB:4") + PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWB:5") + PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWB:6") + PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWB:7") + PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWB:8") + PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) +INPUT_PORTS_END + + +static INPUT_PORTS_START( potnpkro ) // ICP-1 w/daughterboard + PORT_INCLUDE( goldnpkr ) + + PORT_MODIFY("SW1") + PORT_DIPNAME( 0x10, 0x00, "Coinage Sensitivity" ) PORT_DIPLOCATION("SW1:1") + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x10, DEF_STR( On ) ) + PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:2") + PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:3") + PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:4") + PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) +INPUT_PORTS_END + + /********************************************* * Graphics Layouts * *********************************************/ @@ -4931,6 +5156,43 @@ void goldnpkr_state::lespendu(machine_config &config) } +void goldnpkr_state::icproul(machine_config &config) +{ + goldnpkr_base(config); + + // basic machine hardware + m_maincpu->set_addrmap(AS_PROGRAM, &goldnpkr_state::pottnpkr_map); + + NVRAM(config.replace(), "nvram", nvram_device::DEFAULT_ALL_1); + + m_pia[0]->readpa_handler().set(FUNC(goldnpkr_state::pottnpkr_mux_port_r)); + m_pia[0]->writepa_handler().set(FUNC(goldnpkr_state::mux_port_w)); + + // sound hardware + SPEAKER(config, "mono").front_center(); + DISCRETE(config, m_discrete, pottnpkr_discrete).add_route(ALL_OUTPUTS, "mono", 1.0); +} + + +void goldnpkr_state::glfever(machine_config &config) +{ + goldnpkr_base(config); + + // basic machine hardware + m_maincpu->set_addrmap(AS_PROGRAM, &goldnpkr_state::glfever_map); + + m_pia[0]->readpa_handler().set(FUNC(goldnpkr_state::pottnpkr_mux_port_r)); + m_pia[0]->writepa_handler().set(FUNC(goldnpkr_state::mux_port_w)); + + // video hardware + m_palette->set_init(FUNC(goldnpkr_state::witchcrd_palette)); + + // sound hardware + SPEAKER(config, "mono").front_center(); + DISCRETE(config, m_discrete, goldnpkr_discrete).add_route(ALL_OUTPUTS, "mono", 1.0); +} + + /********************************************* * Blitz System * *********************************************/ @@ -5333,6 +5595,30 @@ ROM_START( goldnpkg ) ROM_END +/* Bonanza Golden Poker Double Up. + Original hardware, with tearoom*sara text hack. + + You can play 1-50 credits. + So the hackers removed the "PLAY 1 TO 50" string to put "TEAROOM*SARA" instead. +*/ +ROM_START( goldnpkh ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "spf.12a", 0x4000, 0x4000, CRC(22963c83) SHA1(ac9e66f0c548011aac88b9f32a924995ba3651e4) ) + + ROM_REGION( 0x6000, "gfx1", 0 ) + ROM_FILL( 0x0000, 0x4000, 0x0000 ) // filling the R-G bitplanes + ROM_LOAD( "u38_5a.bin", 0x4000, 0x2000, CRC(32705e1d) SHA1(84f9305af38179985e0224ae2ea54c01dfef6e12) ) // char ROM + + ROM_REGION( 0x6000, "gfx2", 0 ) + ROM_LOAD( "u43_2a.bin", 0x0000, 0x2000, CRC(10b34856) SHA1(52e4cc81b36b4c807b1d4471c0f7bea66108d3fd) ) // cards deck gfx, bitplane1 + ROM_LOAD( "u40_4a.bin", 0x2000, 0x2000, CRC(5fc965ef) SHA1(d9ecd7e9b4915750400e76ca604bec8152df1fe4) ) // cards deck gfx, bitplane2 + ROM_COPY( "gfx1", 0x4800, 0x4000, 0x0800 ) // cards deck gfx, bitplane3. found in the 2nd quarter of the char rom + + ROM_REGION( 0x0100, "proms", 0 ) + ROM_LOAD( "tbp24s10n.7d", 0x0000, 0x0100, CRC(7f31066b) SHA1(15420780ec6b2870fc4539ec3afe4f0c58eedf12) ) +ROM_END + + /* Videotron Poker. Alternative controls set, with cards selector... */ @@ -5738,14 +6024,15 @@ ROM_START( potnpkrm ) ROM_LOAD( "82s129.9c", 0x0000, 0x0100, BAD_DUMP CRC(7f31066b) SHA1(15420780ec6b2870fc4539ec3afe4f0c58eedf12) ) // PROM dump needed ROM_END -// Potten's Poker - PCB ICP-1 with riser board with CPU and ROMs. +/* + Potten's Poker with Fever feature. + PCB ICP-1 with full CPU addressing, plus a riser board with CPU and ROMs. +*/ ROM_START( potnpkrn ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "7.sub", 0x6000, 0x1000, CRC(3dd65452) SHA1(f4641160ad8472b8446603c1102a42b818aee430) ) - ROM_LOAD( "8.sub", 0x7000, 0x0800, CRC(2f09b647) SHA1(8d5c069c2ecf07ca1f3f04a580e11860ea728b38) ) - ROM_CONTINUE( 0x5800, 0x0800 ) - ROM_LOAD( "9.sub", 0x5000, 0x0800, CRC(cb988f21) SHA1(4d70de07ea41d23a3da13dd5ad6bd4fc54a239f3) ) - ROM_CONTINUE( 0x7800, 0x0800 ) + ROM_LOAD( "8.sub", 0x7000, 0x1000, CRC(2f09b647) SHA1(8d5c069c2ecf07ca1f3f04a580e11860ea728b38) ) + ROM_LOAD( "9.sub", 0xf000, 0x1000, CRC(cb988f21) SHA1(4d70de07ea41d23a3da13dd5ad6bd4fc54a239f3) ) ROM_REGION( 0x3000, "gfx1", 0 ) ROM_FILL( 0x0000, 0x2000, 0x0000 ) // filling the R-G bitplanes @@ -5754,13 +6041,65 @@ ROM_START( potnpkrn ) ROM_REGION( 0x3000, "gfx2", 0 ) ROM_LOAD( "3.a4", 0x0000, 0x1000, CRC(b5a1f5a3) SHA1(a34aaaab5443c6962177a5dd35002bd09d0d2772) ) // cards deck gfx, bitplane1 ROM_LOAD( "4.a6", 0x1000, 0x1000, CRC(40e426af) SHA1(7e7cb30dafc96bcb87a05d3e0ef5c2d426ed6a74) ) // cards deck gfx, bitplane2 - // a7 not populated, weirdly + ROM_LOAD( "5.a7", 0x2000, 0x1000, CRC(232374f3) SHA1(b75907edbf769b8c46fb1ebdb301c325c556e6c2) ) // cards deck gfx, bitplane3 ROM_REGION( 0x0100, "proms", 0 ) ROM_LOAD( "tbp24s10n.7d", 0x0000, 0x0100, CRC(7f31066b) SHA1(15420780ec6b2870fc4539ec3afe4f0c58eedf12) ) ROM_END +/* + Golden/Potten's Poker + 1986 0415 VER 7.0 1987 06-03 BY PED. + + ICP-1 hardware with modifications. + The first set has bookkeeping with DSW test. + The second set is a hack of the first with unknown mods. + +*/ +ROM_START( potnpkro ) // ICP-1 wires hack set. + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "7.16a", 0x6000, 0x1000, CRC(2dc5e372) SHA1(70a251efe879bc1122baa78984251041a355c895) ) + ROM_LOAD( "x.17a", 0x7000, 0x1000, CRC(1694a0d8) SHA1(bb1132d1e75347ad5156d2b3866aad255f7d53ca) ) + + ROM_REGION( 0x1800, "gfx1", 0 ) + ROM_FILL( 0x0000, 0x1000, 0x0000 ) // filling the R-G bitplanes + ROM_LOAD( "0.9a", 0x1000, 0x0800, CRC(1090e7f0) SHA1(26a7fc8853debb9a759811d7fee39410614c3895) ) // char ROM + ROM_IGNORE( 0x0800) // identical halves, discarding the 2nd half + + ROM_REGION( 0x1800, "gfx2", 0 ) + ROM_LOAD( "7.4a", 0x0000, 0x0800, CRC(f2f94661) SHA1(f37f7c0dff680fd02897dae64e13e297d0fdb3e7) ) // cards deck gfx, bitplane1 + ROM_LOAD( "8.6a", 0x0800, 0x0800, CRC(6bbb1e2d) SHA1(51ee282219bf84218886ad11a24bc6a8e7337527) ) // cards deck gfx, bitplane2 + ROM_LOAD( "9.7a", 0x1000, 0x0800, CRC(907b21df) SHA1(a6a3968b2ee23ef15ecc8c3b2afbe1b2cc5f42e7) ) // cards deck gfx, bitplane3 + + ROM_REGION( 0x0100, "proms", 0 ) // same as common golden poker + ROM_LOAD( "tbp24s10n_wh.bin", 0x0000, 0x0100, CRC(7f31066b) SHA1(15420780ec6b2870fc4539ec3afe4f0c58eedf12) ) +ROM_END + +ROM_START( potnpkrp ) // ICP-1 PROM mod set. + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "6.16a", 0x6000, 0x1000, CRC(2dc5e372) SHA1(70a251efe879bc1122baa78984251041a355c895) ) + ROM_LOAD( "95_09_hn71_7.17a", 0x7000, 0x1000, CRC(2353317a) SHA1(18bf8cfe30aaa4b05207cc250ec1c024bc19ed56) ) + + ROM_REGION( 0x1800, "gfx1", 0 ) + ROM_FILL( 0x0000, 0x1000, 0x0000 ) // filling the R-G bitplanes + ROM_LOAD( "4.9a", 0x1000, 0x0800, CRC(1c080c35) SHA1(cb3ed14973029b3891635a4b05d8d2b9dae8aea8) ) // char ROM + ROM_IGNORE( 0x0800) // identical halves, discarding the 2nd half + + ROM_REGION( 0x1800, "gfx2", 0 ) + ROM_LOAD( "1.4a", 0x0000, 0x0800, CRC(f2f94661) SHA1(f37f7c0dff680fd02897dae64e13e297d0fdb3e7) ) // cards deck gfx, bitplane1 + ROM_LOAD( "2.6a", 0x0800, 0x0800, CRC(6bbb1e2d) SHA1(51ee282219bf84218886ad11a24bc6a8e7337527) ) // cards deck gfx, bitplane2 + ROM_LOAD( "3.7a", 0x1000, 0x0800, CRC(77143e12) SHA1(b459f704d89be1dd64de3514c0adc6a5d5364749) ) // cards deck gfx, bitplane3 + ROM_IGNORE( 0x0800) // identical halves, discarding the 2nd half + + ROM_REGION( 0x0100, "proms", 0 ) // high addressing pin tied to GND. the unused second half turns the background color to magenta. + ROM_LOAD( "tbp24s10n_pm.bin", 0x0000, 0x0080, CRC(1e79c53d) SHA1(8aa5ae1b82c6e8277427a53a54718f72737e4ec3) ) + ROM_IGNORE( 0x0080) + ROM_RELOAD( 0x0080, 0x0080) + ROM_IGNORE( 0x0080) +ROM_END + + ROM_START( goodluck ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "goodluck_glh6b.bin", 0x0000, 0x8000, CRC(2cfa4a2c) SHA1(720e2900f3a0ef2632aa201a63b5eba0570e6aa3) ) @@ -11022,6 +11361,7 @@ ROM_START( jkrbonus ) // PC0-009-31 PCB with sub PCB with CPU, its ROM and RAM, ROM_LOAD( "tbp24sa10.bin", 0x0000, 0x0100, BAD_DUMP CRC(7f31066b) SHA1(15420780ec6b2870fc4539ec3afe4f0c58eedf12) ) // not dumped for this set ROM_END + /*************************************************************** Casino Poker. @@ -12258,6 +12598,33 @@ ROM_END ROM_LOAD( "82s129.ic31", 0x0000, 0x0100, CRC(b4e1ccd6) SHA1(bb1ce6ff60b92886cd8689b9c9f2fdfa9b33fe09) ) ROM_END +/* + Roulette + ICP-1 PCB. + + Obscure and rare roulette game with zillions of checks + and protected with password. See the notes above. + +*/ +ROM_START( icproul ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "2732.16a", 0x2000, 0x1000, CRC(4c956d72) SHA1(e590b5dd8c89923d2c22aed12778727d1304a547) ) + ROM_LOAD( "2732.17a", 0x3000, 0x1000, CRC(9db71131) SHA1(31802518fe323487322078f7a4535812436900e9) ) + + ROM_REGION( 0x3000, "gfx1", 0 ) + ROM_FILL( 0x0000, 0x2000, 0x0000 ) // filling the R-G bitplanes + ROM_LOAD( "2532.8a", 0x2000, 0x1000, CRC(337db871) SHA1(4d852f64553daac285ea9b61a28299f700e56a44) ) // char ROM + + ROM_REGION( 0x1800, "gfx2", 0 ) // unused GFX bank + ROM_FILL( 0x0000, 0x1800, 0x0000 ) // filling the whole space + + ROM_REGION( 0x0800, "nvram", 0 ) // default NVRAM, otherwise need to do extended checks and set password + ROM_LOAD( "icproul_nvram.bin", 0x0000, 0x0800, CRC(8580a8b3) SHA1(102ac40316ac4c31125b26d5ea688a36894a04ff) ) + + ROM_REGION( 0x0100, "proms", 0 ) + ROM_LOAD( "n82s129an.bin", 0x0000, 0x0100, CRC(1a30bdd8) SHA1(d0a020e9604e8e0920a4500e02770db6c639bace) ) +ROM_END + /********************************************* * Driver Init * @@ -12773,9 +13140,23 @@ void goldnpkr_state::init_olym65() } } +void goldnpkr_state::init_glfev() +{ +// breaking the protection loops -} // anonymous namespace + uint8_t *ROM = memregion("maincpu")->base(); + + ROM[0xf7c9] = 0xea; + ROM[0xf7ca] = 0xea; + ROM[0xf7cb] = 0xea; + ROM[0xf7d5] = 0xea; + ROM[0xf7d6] = 0xea; + ROM[0xf7d7] = 0xea; +} + + +} // anonymous namespace /********************************************* @@ -12790,6 +13171,7 @@ GAMEL( 198?, goldnpkd, goldnpkr, goldnpkr, goldnpkr, goldnpkr_state, empty_init GAMEL( 1983, goldnpke, goldnpkr, goldnpkr, goldnpkr, goldnpkr_state, empty_init, ROT0, "Intercoast (bootleg)", "Golden Poker Double Up (bootleg, set 3)", 0, layout_goldnpkr ) GAMEL( 1983, goldnpkf, goldnpkr, goldnpkr, goldnpkr, goldnpkr_state, empty_init, ROT0, "Intercoast (bootleg)", "Golden Poker Double Up (bootleg, set 4)", 0, layout_goldnpkr ) GAMEL( 1983, goldnpkg, goldnpkr, goldnpkr, goldnpkr, goldnpkr_state, empty_init, ROT0, "bootleg", "Golden Poker Double Up (bootleg, set 5)", 0, layout_goldnpkr ) +GAMEL( 1983, goldnpkh, goldnpkr, goldnpkr, goldnpkr, goldnpkr_state, empty_init, ROT0, "Bonanza Enterprises, Ltd", "Golden Poker Double Up (tearoom*sara hack)", 0, layout_goldnpkr ) GAMEL( 198?, videtron, 0, goldnpkr, videtron, goldnpkr_state, empty_init, ROT0, "", "Videotron Poker (cards selector, set 1)", 0, layout_goldnpkr ) GAMEL( 198?, videtron2, videtron, goldnpkr, videtron, goldnpkr_state, empty_init, ROT0, "", "Videotron Poker (cards selector, set 2)", 0, layout_goldnpkr ) @@ -12808,8 +13190,10 @@ GAMEL( 198?, potnpkri, pottnpkr, pottnpkr, goldnpkr, goldnpkr_state, empty_init GAMEL( 198?, potnpkrj, pottnpkr, goldnpkr, goldnpkr, goldnpkr_state, empty_init, ROT0, "bootleg", "Jack Potten's Poker (set 11, German, W.W.)", 0, layout_goldnpkr ) GAMEL( 198?, potnpkrk, pottnpkr, goldnpkr, goldnpkr, goldnpkr_state, empty_init, ROT0, "bootleg", "Jack Potten's Poker (set 12, no Double-Up)", 0, layout_goldnpkr ) GAMEL( 198?, potnpkrl, pottnpkr, pottnpkr, potnpkra, goldnpkr_state, empty_init, ROT0, "", "Jack Potten's Poker (set 13, ICP-1 PCB)", 0, layout_goldnpkr ) // unencrypted IPC-1 PCB. -GAMEL( 1988, potnpkrm, pottnpkr, pottnpkr, goldnpkr, goldnpkr_state, empty_init, ROT0, "bootleg (PED)", "Jack Potten's Poker (set 14, ICP-1 PCB)", 0, layout_goldnpkr ) // unencrypted IPC-1 PCB. -GAMEL( 1988, potnpkrn, pottnpkr, goldnpkr, goldnpkr, goldnpkr_state, empty_init, ROT0, "bootleg", "Jack Potten's Poker (set 15, ICP-1 PCB)", MACHINE_NOT_WORKING, layout_goldnpkr ) // hangs +GAMEL( 1988, potnpkrm, pottnpkr, pottnpkr, goldnpkr, goldnpkr_state, empty_init, ROT0, "bootleg", "Jack Potten's Poker (set 14, ICP-1 PCB)", 0, layout_goldnpkr ) // unencrypted IPC-1 PCB. +GAME ( 198?, potnpkrn, pottnpkr, glfever, glfever, goldnpkr_state, init_glfev, ROT0, "bootleg (PED)", "Jack Potten's Poker (set 15, w/fever, ICP-1 PCB)", 0 ) +GAMEL( 1987, potnpkro, pottnpkr, goldnpkr, potnpkro, goldnpkr_state, empty_init, ROT0, "bootleg (PED)", "Jack Potten's Poker (set 16, ICP-1 PCB)", 0, layout_goldnpkr ) // ICP-1 with mods, 1986 0415 VER 7.0 1987 06-03 BY PED. (wires hack) +GAMEL( 1987, potnpkrp, pottnpkr, goldnpkr, potnpkro, goldnpkr_state, empty_init, ROT0, "bootleg (PED)", "Jack Potten's Poker (set 17, ICP-1 PCB)", 0, layout_goldnpkr ) // ICP-1 with mods, 1986 0415 VER 7.0 1987 06-03 BY PED. (PROM mod) GAMEL( 198?, ngold, pottnpkr, pottnpkr, ngold, goldnpkr_state, empty_init, ROT0, "", "Jack Potten's Poker (NGold, set 1)", 0, layout_goldnpkr ) GAMEL( 198?, ngolda, pottnpkr, pottnpkr, ngold, goldnpkr_state, empty_init, ROT0, "", "Jack Potten's Poker (NGold, set 2)", 0, layout_goldnpkr ) GAMEL( 198?, ngoldb, pottnpkr, pottnpkr, ngoldb, goldnpkr_state, empty_init, ROT0, "", "Jack Potten's Poker (NGold, set 3)", 0, layout_goldnpkr ) @@ -12950,6 +13334,7 @@ GAME( 1987, op5cards, 0, op5cards, op5cards, goldnpkr_state, init_op5ca GAMEL( 198?, lespendu, 0, lespendu, lespendu, goldnpkr_state, init_lespendu, ROT0, "Voyageur de L'Espace Inc.", "Le Super Pendu (V1, words set #1)", 0, layout_lespendu ) GAMEL( 198?, lespenduj, 0, lespendu, lespendu, goldnpkr_state, init_lespenduj,ROT0, "Voyageur de L'Espace Inc.", "Le Super Pendu (V1, words set #2)", 0, layout_lespendu ) +GAME( 198?, icproul, 0, icproul, icproul, goldnpkr_state, empty_init, ROT0, "", "Roulette (ICP-1 PCB)", 0 ) // password protected /*************************************** SETS W/IRQ0 ***************************************/ diff --git a/src/mame/misc/hapyfish.cpp b/src/mame/misc/hapyfish.cpp index 29d1074deb28d..4adefeb3caca7 100644 --- a/src/mame/misc/hapyfish.cpp +++ b/src/mame/misc/hapyfish.cpp @@ -606,4 +606,4 @@ ROM_END } // anonymous namespace -GAME( 201?, hapyfsh2, 0, hapyfish, hapyfish, hapyfish_state, empty_init, ROT0, "bootleg", "Happy Fish (V2 PCB, 302-in-1)", MACHINE_IS_SKELETON ) +GAME( 201?, hapyfsh2, 0, hapyfish, hapyfish, hapyfish_state, empty_init, ROT0, "bootleg", "Happy Fish (V2 PCB, 302-in-1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/misc/hazelgr.cpp b/src/mame/misc/hazelgr.cpp index 9f2328a8646b3..743cc6cff7a3b 100644 --- a/src/mame/misc/hazelgr.cpp +++ b/src/mame/misc/hazelgr.cpp @@ -121,4 +121,4 @@ ROM_END } // anonymous namespace -GAME( 198?, hg_frd, 0, haze, haze, haze_state, empty_init, ROT0, "Hazel Grove", "Fruit Deuce (Hazel Grove)", MACHINE_IS_SKELETON_MECHANICAL) +GAME( 198?, hg_frd, 0, haze, haze, haze_state, empty_init, ROT0, "Hazel Grove", "Fruit Deuce (Hazel Grove)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) diff --git a/src/mame/misc/hitpoker.cpp b/src/mame/misc/hitpoker.cpp index 372ae8f8f92b4..92d7b4f0fac24 100644 --- a/src/mame/misc/hitpoker.cpp +++ b/src/mame/misc/hitpoker.cpp @@ -297,7 +297,7 @@ static INPUT_PORTS_START( hitpoker ) PORT_DIPNAME( 0x40, 0x40, "Monitor" ) // a JP probably PORT_DIPSETTING( 0x40, "15KHz" ) PORT_DIPSETTING( 0x00, "24KHz" ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("DSW1") PORT_DIPNAME( 0x01, 0x01, "DSW1" ) @@ -357,7 +357,7 @@ static INPUT_PORTS_START( reelmtp ) PORT_INCLUDE( hitpoker ) PORT_MODIFY("VBLANK") // these 2 seem inverted wrt hitpoker - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_DIPNAME( 0x80, 0x80, "H-Blank" ) PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) diff --git a/src/mame/misc/hobbyplay.cpp b/src/mame/misc/hobbyplay.cpp index a4d8167db3dc1..a619f83e2bc27 100644 --- a/src/mame/misc/hobbyplay.cpp +++ b/src/mame/misc/hobbyplay.cpp @@ -107,4 +107,4 @@ ROM_END } // anonymous namespace -GAME( 198?, unkhpslt, 0, hobbyplay, hobbyplay, hobbyplay_state, empty_init, ROT0, "Hobby Play", "unknown Hobby Play slot machine", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 198?, unkhpslt, 0, hobbyplay, hobbyplay, hobbyplay_state, empty_init, ROT0, "Hobby Play", "unknown Hobby Play slot machine", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/misc/houseball.cpp b/src/mame/misc/houseball.cpp index 74c9eeae96d0d..032eef749ea59 100644 --- a/src/mame/misc/houseball.cpp +++ b/src/mame/misc/houseball.cpp @@ -93,4 +93,4 @@ ROM_END } // anonymous namespace // YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS -GAME(1989, houseball, 0, houseball, houseball, houseball_state, empty_init, ROT0, "Olakoa", "House Ball", MACHINE_IS_SKELETON_MECHANICAL) +GAME(1989, houseball, 0, houseball, houseball, houseball_state, empty_init, ROT0, "Olakoa", "House Ball", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) diff --git a/src/mame/misc/itgambl2.cpp b/src/mame/misc/itgambl2.cpp index 8e08a56ebf3e4..6ba7b9cc74ce9 100644 --- a/src/mame/misc/itgambl2.cpp +++ b/src/mame/misc/itgambl2.cpp @@ -1185,26 +1185,26 @@ ROM_END *************************/ // YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS -GAME( 1999, ntcash, 0, itgambl2, itgambl2, itgambl2_state, empty_init, ROT0, "", "NtCash", MACHINE_IS_SKELETON ) -GAME( 1999, wizard, 0, itgambl2, itgambl2, itgambl2_state, empty_init, ROT0, "A.A.", "Wizard (Ver 1.0)", MACHINE_IS_SKELETON ) -GAME( 200?, trstar2k, 0, itgambl2, itgambl2, itgambl2_state, empty_init, ROT0, "A.M.", "Triple Star 2000", MACHINE_IS_SKELETON ) -GAME( 2001, laser2k1, 0, itgambl2, itgambl2, itgambl2_state, empty_init, ROT0, "", "Laser 2001 (Ver 1.2)", MACHINE_IS_SKELETON ) -GAME( 2001, mdrink, 0, itgambl2, itgambl2, itgambl2_state, empty_init, ROT0, "", "Magic Drink (Ver 1.2)", MACHINE_IS_SKELETON ) -GAME( 2001, te0144, 0, itgambl2, itgambl2, itgambl2_state, empty_init, ROT0, "", "Puzzle Bobble (Italian gambling game)", MACHINE_IS_SKELETON ) -GAME( 200?, btorneo, 0, itgambl2, itgambl2, itgambl2_state, empty_init, ROT0, "", "Bubble Torneo", MACHINE_IS_SKELETON ) -GAME( 200?, cmagica, 0, itgambl2, itgambl2, itgambl2_state, empty_init, ROT0, "", "Carta Magica (Ver 1.8)", MACHINE_IS_SKELETON ) -GAME( 200?, mcard_h8, cmagica, itgambl2, itgambl2, itgambl2_state, empty_init, ROT0, "", "Magic Card (H8, English)", MACHINE_IS_SKELETON ) -GAME( 200?, smcard, cmagica, itgambl2, itgambl2, itgambl2_state, empty_init, ROT0, "", "Super Magic Card", MACHINE_IS_SKELETON ) -GAME( 200?, millsun, 0, itgambl2, itgambl2, itgambl2_state, empty_init, ROT0, "", "Millennium Sun", MACHINE_IS_SKELETON ) -GAME( 200?, sspac2k1, 0, itgambl2, itgambl2, itgambl2_state, empty_init, ROT0, "", "Super Space 2001", MACHINE_IS_SKELETON ) -GAME( 200?, elvis, 0, itgambl2, itgambl2, itgambl2_state, empty_init, ROT0, "", "Elvis?", MACHINE_IS_SKELETON ) -GAME( 200?, sstar, 0, itgambl2, itgambl2, itgambl2_state, empty_init, ROT0, "", "Super Star", MACHINE_IS_SKELETON ) -GAME( 2001, pirati, 0, itgambl2, itgambl2, itgambl2_state, empty_init, ROT0, "Cin", "Pirati", MACHINE_IS_SKELETON ) -GAME( 200?, mnumitg, 0, itgambl2, itgambl2, itgambl2_state, empty_init, ROT0, "", "Magic Number (Italian gambling game, Ver 1.5)", MACHINE_IS_SKELETON ) -GAME( 200?, mclass, 0, itgambl2, itgambl2, itgambl2_state, empty_init, ROT0, "", "Magic Class (Ver 2.2)", MACHINE_IS_SKELETON ) -GAME( 200?, europass, 0, itgambl2, itgambl2, itgambl2_state, empty_init, ROT0, "", "Euro Pass (Ver 1.1)", MACHINE_IS_SKELETON ) -GAME( 200?, thedrink, 0, itgambl2, itgambl2, itgambl2_state, empty_init, ROT0, "", "The Drink", MACHINE_IS_SKELETON ) -GAME( 200?, unkh8gam, 0, itgambl2, itgambl2, itgambl2_state, empty_init, ROT0, "", "unknown H8 Italian gambling game", MACHINE_IS_SKELETON ) -GAME( 200?, eurodsr, 0, itgambl2, itgambl2, itgambl2_state, empty_init, ROT0, "", "Euro Double Star Record (ver.1.2)", MACHINE_IS_SKELETON ) -GAME( 200?, granfrat, 0, itgambl2, itgambl2, itgambl2_state, empty_init, ROT0, "", "Grande Fratello (Ver. 1.7)", MACHINE_IS_SKELETON ) -GAME( 2002, toptcash, 0, itgambl2, itgambl2, itgambl2_state, empty_init, ROT0, "VideoIdea", "Top T. Cash", MACHINE_IS_SKELETON ) +GAME( 1999, ntcash, 0, itgambl2, itgambl2, itgambl2_state, empty_init, ROT0, "", "NtCash", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1999, wizard, 0, itgambl2, itgambl2, itgambl2_state, empty_init, ROT0, "A.A.", "Wizard (Ver 1.0)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, trstar2k, 0, itgambl2, itgambl2, itgambl2_state, empty_init, ROT0, "A.M.", "Triple Star 2000", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2001, laser2k1, 0, itgambl2, itgambl2, itgambl2_state, empty_init, ROT0, "", "Laser 2001 (Ver 1.2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2001, mdrink, 0, itgambl2, itgambl2, itgambl2_state, empty_init, ROT0, "", "Magic Drink (Ver 1.2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2001, te0144, 0, itgambl2, itgambl2, itgambl2_state, empty_init, ROT0, "", "Puzzle Bobble (Italian gambling game)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, btorneo, 0, itgambl2, itgambl2, itgambl2_state, empty_init, ROT0, "", "Bubble Torneo", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, cmagica, 0, itgambl2, itgambl2, itgambl2_state, empty_init, ROT0, "", "Carta Magica (Ver 1.8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, mcard_h8, cmagica, itgambl2, itgambl2, itgambl2_state, empty_init, ROT0, "", "Magic Card (H8, English)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, smcard, cmagica, itgambl2, itgambl2, itgambl2_state, empty_init, ROT0, "", "Super Magic Card", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, millsun, 0, itgambl2, itgambl2, itgambl2_state, empty_init, ROT0, "", "Millennium Sun", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, sspac2k1, 0, itgambl2, itgambl2, itgambl2_state, empty_init, ROT0, "", "Super Space 2001", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, elvis, 0, itgambl2, itgambl2, itgambl2_state, empty_init, ROT0, "", "Elvis?", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, sstar, 0, itgambl2, itgambl2, itgambl2_state, empty_init, ROT0, "", "Super Star", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2001, pirati, 0, itgambl2, itgambl2, itgambl2_state, empty_init, ROT0, "Cin", "Pirati", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, mnumitg, 0, itgambl2, itgambl2, itgambl2_state, empty_init, ROT0, "", "Magic Number (Italian gambling game, Ver 1.5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, mclass, 0, itgambl2, itgambl2, itgambl2_state, empty_init, ROT0, "", "Magic Class (Ver 2.2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, europass, 0, itgambl2, itgambl2, itgambl2_state, empty_init, ROT0, "", "Euro Pass (Ver 1.1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, thedrink, 0, itgambl2, itgambl2, itgambl2_state, empty_init, ROT0, "", "The Drink", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, unkh8gam, 0, itgambl2, itgambl2, itgambl2_state, empty_init, ROT0, "", "unknown H8 Italian gambling game", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, eurodsr, 0, itgambl2, itgambl2, itgambl2_state, empty_init, ROT0, "", "Euro Double Star Record (ver.1.2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, granfrat, 0, itgambl2, itgambl2, itgambl2_state, empty_init, ROT0, "", "Grande Fratello (Ver. 1.7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2002, toptcash, 0, itgambl2, itgambl2, itgambl2_state, empty_init, ROT0, "VideoIdea", "Top T. Cash", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/misc/itgambl3.cpp b/src/mame/misc/itgambl3.cpp index 2a34a97251591..4f490f780ab5c 100644 --- a/src/mame/misc/itgambl3.cpp +++ b/src/mame/misc/itgambl3.cpp @@ -523,9 +523,9 @@ ROM_END *************************/ // YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS -GAME( 200?, ejollyx5, 0, itgambl3, itgambl3, itgambl3_state, empty_init, ROT0, "Solar Games", "Euro Jolly X5", MACHINE_IS_SKELETON ) -GAME( 200?, grandprx, 0, itgambl3, itgambl3, itgambl3_state, empty_init, ROT0, "4fun", "Grand Prix", MACHINE_IS_SKELETON ) -GAME( 200?, supjolly, 0, itgambl3, itgambl3, itgambl3_state, empty_init, ROT0, "", "Super Jolly", MACHINE_IS_SKELETON ) -GAME( 200?, x5jokers, 0, itgambl3, itgambl3, itgambl3_state, empty_init, ROT0, "Electronic Projects", "X Five Jokers (Version 1.12)", MACHINE_IS_SKELETON ) -GAME( 200?, queenotg, 0, itgambl3, itgambl3, itgambl3_state, empty_init, ROT0, "", "Queen of the Games", MACHINE_IS_SKELETON ) -GAME( 200?, ejollyx9, 0, itgambl3, itgambl3, itgambl3_state, empty_init, ROT0, "Solar Games", "Euro Jolly X9", MACHINE_IS_SKELETON ) +GAME( 200?, ejollyx5, 0, itgambl3, itgambl3, itgambl3_state, empty_init, ROT0, "Solar Games", "Euro Jolly X5", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, grandprx, 0, itgambl3, itgambl3, itgambl3_state, empty_init, ROT0, "4fun", "Grand Prix", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, supjolly, 0, itgambl3, itgambl3, itgambl3_state, empty_init, ROT0, "", "Super Jolly", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, x5jokers, 0, itgambl3, itgambl3, itgambl3_state, empty_init, ROT0, "Electronic Projects", "X Five Jokers (Version 1.12)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, queenotg, 0, itgambl3, itgambl3, itgambl3_state, empty_init, ROT0, "", "Queen of the Games", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, ejollyx9, 0, itgambl3, itgambl3, itgambl3_state, empty_init, ROT0, "Solar Games", "Euro Jolly X9", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/misc/itgamble.cpp b/src/mame/misc/itgamble.cpp index 6ce9a36bd8f71..5aa2df24736cd 100644 --- a/src/mame/misc/itgamble.cpp +++ b/src/mame/misc/itgamble.cpp @@ -676,29 +676,29 @@ ROM_END // YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS /* hardware green H83048*/ -GAME( 200?, bookthr, 0, itgamble, itgamble, itgamble_state, empty_init, ROT0, "Nazionale Elettronica", "Book Theatre (Ver 1.2)", MACHINE_IS_SKELETON ) -GAME( 2000, capunc, 0, itgamble, itgamble, itgamble_state, empty_init, ROT0, "Nazionale Elettronica", "Capitan Uncino (Nazionale Elettronica, Ver 1.2)", MACHINE_IS_SKELETON ) -GAME( 2001, capcor, 0, itgamble, itgamble, itgamble_state, empty_init, ROT0, "Nazionale Elettronica", "Capitani Coraggiosi (Ver 1.3)", MACHINE_IS_SKELETON ) +GAME( 200?, bookthr, 0, itgamble, itgamble, itgamble_state, empty_init, ROT0, "Nazionale Elettronica", "Book Theatre (Ver 1.2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2000, capunc, 0, itgamble, itgamble, itgamble_state, empty_init, ROT0, "Nazionale Elettronica", "Capitan Uncino (Nazionale Elettronica, Ver 1.2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2001, capcor, 0, itgamble, itgamble, itgamble_state, empty_init, ROT0, "Nazionale Elettronica", "Capitani Coraggiosi (Ver 1.3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) /* hardware green H83048 + piggyback for timekeeping*/ -GAME( 2001, bowlroad, 0, itgamble, itgamble, itgamble_state, empty_init, ROT0, "Nazionale Elettronica", "Bowling Road (Ver 1.5)", MACHINE_IS_SKELETON ) -GAME( 2001, euro2k2, 0, itgamble, itgamble, itgamble_state, empty_init, ROT0, "Nazionale Elettronica", "Europa 2002 (Ver 2.0, set 1)", MACHINE_IS_SKELETON ) -GAME( 2001, euro2k2a, euro2k2, itgamble, itgamble, itgamble_state, empty_init, ROT0, "Nazionale Elettronica", "Europa 2002 (Ver 2.0, set 2)", MACHINE_IS_SKELETON ) -GAME( 2001, labrinth, 0, itgamble, itgamble, itgamble_state, empty_init, ROT0, "Nazionale Elettronica", "Labyrinth (Ver 1.5)", MACHINE_IS_SKELETON ) -GAME( 2002, laperla, 0, itgamble, itgamble, itgamble_state, empty_init, ROT0, "Nazionale Elettronica", "La Perla Nera (Ver 2.0)", MACHINE_IS_SKELETON ) -GAME( 2001, laperlag, 0, itgamble, itgamble, itgamble_state, empty_init, ROT0, "Nazionale Elettronica", "La Perla Nera Gold (Ver 2.0)", MACHINE_IS_SKELETON ) -GAME( 200?, pinups, 0, itgamble, itgamble, itgamble_state, empty_init, ROT0, "Nazionale Elettronica", "Pin Ups (Ver 1.0 Rev A)", MACHINE_IS_SKELETON ) -GAME( 2001, wcup, 0, itgamble, itgamble, itgamble_state, empty_init, ROT0, "Nazionale Elettronica", "World Cup (Ver 1.5)", MACHINE_IS_SKELETON ) +GAME( 2001, bowlroad, 0, itgamble, itgamble, itgamble_state, empty_init, ROT0, "Nazionale Elettronica", "Bowling Road (Ver 1.5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2001, euro2k2, 0, itgamble, itgamble, itgamble_state, empty_init, ROT0, "Nazionale Elettronica", "Europa 2002 (Ver 2.0, set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2001, euro2k2a, euro2k2, itgamble, itgamble, itgamble_state, empty_init, ROT0, "Nazionale Elettronica", "Europa 2002 (Ver 2.0, set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2001, labrinth, 0, itgamble, itgamble, itgamble_state, empty_init, ROT0, "Nazionale Elettronica", "Labyrinth (Ver 1.5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2002, laperla, 0, itgamble, itgamble, itgamble_state, empty_init, ROT0, "Nazionale Elettronica", "La Perla Nera (Ver 2.0)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2001, laperlag, 0, itgamble, itgamble, itgamble_state, empty_init, ROT0, "Nazionale Elettronica", "La Perla Nera Gold (Ver 2.0)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, pinups, 0, itgamble, itgamble, itgamble_state, empty_init, ROT0, "Nazionale Elettronica", "Pin Ups (Ver 1.0 Rev A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2001, wcup, 0, itgamble, itgamble, itgamble_state, empty_init, ROT0, "Nazionale Elettronica", "World Cup (Ver 1.5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) /* hardware red H83048 Rev 1.1 + timekeeping on board*/ -GAME( 2001, abacus, 0, itgamble, itgamble, itgamble_state, empty_init, ROT0, "Nazionale Elettronica", "Abacus (Ver 1.0)", MACHINE_IS_SKELETON ) -GAME( 2001, bowlroad14, bowlroad, itgamble, itgamble, itgamble_state, empty_init, ROT0, "Nazionale Elettronica", "Bowling Road (Ver 1.4)", MACHINE_IS_SKELETON ) -GAME( 2002, euro2k2s, euro2k2, itgamble, itgamble, itgamble_state, empty_init, ROT0, "Nazionale Elettronica", "Europa 2002 Space (Ver 3.0)", MACHINE_IS_SKELETON ) -GAME( 2001, uforobot, 0, itgamble, itgamble, itgamble_state, empty_init, ROT0, "Nazionale Elettronica", "UFO Robot (Ver 1.0 Rev A)", MACHINE_IS_SKELETON ) +GAME( 2001, abacus, 0, itgamble, itgamble, itgamble_state, empty_init, ROT0, "Nazionale Elettronica", "Abacus (Ver 1.0)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2001, bowlroad14, bowlroad, itgamble, itgamble, itgamble_state, empty_init, ROT0, "Nazionale Elettronica", "Bowling Road (Ver 1.4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2002, euro2k2s, euro2k2, itgamble, itgamble, itgamble_state, empty_init, ROT0, "Nazionale Elettronica", "Europa 2002 Space (Ver 3.0)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2001, uforobot, 0, itgamble, itgamble, itgamble_state, empty_init, ROT0, "Nazionale Elettronica", "UFO Robot (Ver 1.0 Rev A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) /* hardware green ND2001 Rev 1.0*/ -GAME( 2001, bowlroad14n, bowlroad, itgamble, itgamble, itgamble_state, empty_init, ROT0, "Nazionale Elettronica", "Bowling Road (Ver 1.4, ND2001 hardware)", MACHINE_IS_SKELETON ) -GAME( 2001, wcup14, wcup, itgamble, itgamble, itgamble_state, empty_init, ROT0, "Nazionale Elettronica", "World Cup (Ver 1.4)", MACHINE_IS_SKELETON ) +GAME( 2001, bowlroad14n, bowlroad, itgamble, itgamble, itgamble_state, empty_init, ROT0, "Nazionale Elettronica", "Bowling Road (Ver 1.4, ND2001 hardware)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2001, wcup14, wcup, itgamble, itgamble, itgamble_state, empty_init, ROT0, "Nazionale Elettronica", "World Cup (Ver 1.4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) /* different hardware */ -GAME( 2000, mnumber, 0, mnumber, itgamble, itgamble_state, empty_init, ROT0, "MM / BRL Bologna", "Mystery Number", MACHINE_IS_SKELETON ) +GAME( 2000, mnumber, 0, mnumber, itgamble, itgamble_state, empty_init, ROT0, "MM / BRL Bologna", "Mystery Number", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/misc/laz_ribrac.cpp b/src/mame/misc/laz_ribrac.cpp index 475e6a32e9587..72b72dd15a2c2 100644 --- a/src/mame/misc/laz_ribrac.cpp +++ b/src/mame/misc/laz_ribrac.cpp @@ -360,5 +360,5 @@ ROM_END } // anonymous namespace -GAME( 1993, ribrac, 0, ribrac, ribrac, ribrac_state, empty_init, ROT0, "Lazer-Tron", "Ribbit Racin (Lazer-Tron)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1993, ribrac, 0, ribrac, ribrac, ribrac_state, empty_init, ROT0, "Lazer-Tron", "Ribbit Racin (Lazer-Tron)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) GAME( 19??, awetoss, 0, ribrac, awetoss, ribrac_state, empty_init, ROT0, "Lazer-Tron", "Awesome Toss 'Em (Lazer-Tron)", MACHINE_NOT_WORKING | MACHINE_MECHANICAL ) diff --git a/src/mame/misc/magreel.cpp b/src/mame/misc/magreel.cpp index 75eb868284b80..08cefbe3c85ec 100644 --- a/src/mame/misc/magreel.cpp +++ b/src/mame/misc/magreel.cpp @@ -211,4 +211,4 @@ void magreel_state::init_magreel() } // anonymous namespace -GAME( 199?, magreel, 0, magreel, magreel, magreel_state, init_magreel, ROT0, "Play System", "Magic Reels", MACHINE_IS_SKELETON ) +GAME( 199?, magreel, 0, magreel, magreel, magreel_state, init_magreel, ROT0, "Play System", "Magic Reels", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/misc/mcm70.cpp b/src/mame/misc/mcm70.cpp index 66e012a482e26..7e80a6828f507 100644 --- a/src/mame/misc/mcm70.cpp +++ b/src/mame/misc/mcm70.cpp @@ -341,19 +341,19 @@ uint32_t mcm70_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, } // gap around pixel - if (x < 222) + if (x < 221) { bitmap.pix(yl, xl + 3) = pen[0]; bitmap.pix(yl + 1, xl + 3) = pen[0]; bitmap.pix(yl + 2, xl + 3) = pen[0]; } - if (y < 7) + if (y < 6) { bitmap.pix(yl + 3, xl ) = pen[0]; bitmap.pix(yl + 3, xl + 1) = pen[0]; bitmap.pix(yl + 3, xl + 2) = pen[0]; } - if (x < 222 && y < 7) + if (x < 221 && y < 6) { bitmap.pix(yl + 3, xl + 3) = pen[0]; } @@ -383,7 +383,7 @@ void mcm70_state::mcm70(machine_config &config) screen.set_refresh_hz(60); screen.set_screen_update(FUNC(mcm70_state::screen_update)); screen.set_size(887, 27); - screen.set_visarea(0, 886, 0, 26); + screen.set_visarea_full(); PALETTE(config, m_palette, FUNC(mcm70_state::mcm70_palette), 5); } diff --git a/src/mame/misc/meyc8080.cpp b/src/mame/misc/meyc8080.cpp index be584dd40331b..f63f6d114c885 100644 --- a/src/mame/misc/meyc8080.cpp +++ b/src/mame/misc/meyc8080.cpp @@ -342,7 +342,7 @@ void meyc8080_state::meyc8080_map(address_map &map) static INPUT_PORTS_START( wldarrow ) PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(1) PORT_DIPNAME( 0x04, 0x00, "Monitor" ) PORT_DIPSETTING( 0x00, "Color" ) @@ -403,7 +403,7 @@ INPUT_PORTS_END static INPUT_PORTS_START( mdrawpkr ) PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(1) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -462,7 +462,7 @@ INPUT_PORTS_END static INPUT_PORTS_START( mdrawpkra ) PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(1) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -521,7 +521,7 @@ INPUT_PORTS_END static INPUT_PORTS_START( casbjack ) PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(1) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) diff --git a/src/mame/misc/meyc8088.cpp b/src/mame/misc/meyc8088.cpp index f33b204df60c5..05167659cc12c 100644 --- a/src/mame/misc/meyc8088.cpp +++ b/src/mame/misc/meyc8088.cpp @@ -309,7 +309,7 @@ void meyc8088_state::machine_start() static INPUT_PORTS_START( gldarrow ) PORT_START("SW") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(1) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(1) // coin4 PORT_BIT( 0x78, IP_ACTIVE_LOW, IPT_UNUSED ) diff --git a/src/mame/misc/microdar.cpp b/src/mame/misc/microdar.cpp index 9c1dde3fd196f..4bb1b15055ce8 100644 --- a/src/mame/misc/microdar.cpp +++ b/src/mame/misc/microdar.cpp @@ -501,12 +501,12 @@ ROM_END } // anonymous namespace -GAME(199?, dibifuca, 0, microdar, microdar, microdar_state, empty_init, ROT0, "Compumatic / Bifuca", "Diana Bifuca (v9.25)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(199?, dibif743, dibifuca, microdar, microdar, microdar_state, empty_init, ROT0, "Compumatic / Bifuca", "Diana Bifuca (v7.43)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(199?, dibif727, dibifuca, microdar, microdar, microdar_state, empty_init, ROT0, "Compumatic / Bifuca", "Diana Bifuca (v7.27)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1997, dibifpspdp, dibifuca, prospdp, microdar, microdar_state, empty_init, ROT0, "Compumatic / Bifuca", "Diana Bifuca (unknown version, ProSPDP based)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1997, cfarwest, 0, microdar, microdar, microdar_state, empty_init, ROT0, "Compumatic", "Far West (Compumatic)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1997, diolakoa, 0, microdv5, microdar, microdar_state, empty_init, ROT0, "Compumatic / Olakoa", "Diana Olakoa (v8.38)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1997, diola827, diolakoa, microdv5, microdar, microdar_state, empty_init, ROT0, "Compumatic / Olakoa", "Diana Olakoa (v8.27)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1997, covidarts, 0, covidarts, microdar, microdar_state, empty_init, ROT0, "Covielsa", "Covidarts", MACHINE_IS_SKELETON_MECHANICAL) -GAME(2009, minidart, 0, prospdp, microdar, microdar_state, empty_init, ROT0, "Compumatic", "Minidart", MACHINE_IS_SKELETON_MECHANICAL) +GAME(199?, dibifuca, 0, microdar, microdar, microdar_state, empty_init, ROT0, "Compumatic / Bifuca", "Diana Bifuca (v9.25)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(199?, dibif743, dibifuca, microdar, microdar, microdar_state, empty_init, ROT0, "Compumatic / Bifuca", "Diana Bifuca (v7.43)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(199?, dibif727, dibifuca, microdar, microdar, microdar_state, empty_init, ROT0, "Compumatic / Bifuca", "Diana Bifuca (v7.27)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(1997, dibifpspdp, dibifuca, prospdp, microdar, microdar_state, empty_init, ROT0, "Compumatic / Bifuca", "Diana Bifuca (unknown version, ProSPDP based)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(1997, cfarwest, 0, microdar, microdar, microdar_state, empty_init, ROT0, "Compumatic", "Far West (Compumatic)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(1997, diolakoa, 0, microdv5, microdar, microdar_state, empty_init, ROT0, "Compumatic / Olakoa", "Diana Olakoa (v8.38)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(1997, diola827, diolakoa, microdv5, microdar, microdar_state, empty_init, ROT0, "Compumatic / Olakoa", "Diana Olakoa (v8.27)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(1997, covidarts, 0, covidarts, microdar, microdar_state, empty_init, ROT0, "Covielsa", "Covidarts", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(2009, minidart, 0, prospdp, microdar, microdar_state, empty_init, ROT0, "Compumatic", "Minidart", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) diff --git a/src/mame/misc/minivideo.cpp b/src/mame/misc/minivideo.cpp index 5c85adfb3c5f5..fffbc1ce1f96a 100644 --- a/src/mame/misc/minivideo.cpp +++ b/src/mame/misc/minivideo.cpp @@ -147,5 +147,5 @@ ROM_END } // anonymous namespace -GAME( 1995?, fiches, 0, minivideo, minivideo, minivideo_state, empty_init, ROT0, "Minivideo", "Les Fiches (ver 1.3)", MACHINE_IS_SKELETON ) -GAME( 1995?, fiches12, fiches, minivideo, minivideo, minivideo_state, empty_init, ROT0, "Minivideo", "Les Fiches (ver 1.2)", MACHINE_IS_SKELETON ) +GAME( 1995?, fiches, 0, minivideo, minivideo, minivideo_state, empty_init, ROT0, "Minivideo", "Les Fiches (ver 1.3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1995?, fiches12, fiches, minivideo, minivideo, minivideo_state, empty_init, ROT0, "Minivideo", "Les Fiches (ver 1.2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/misc/mole.cpp b/src/mame/misc/mole.cpp index 016834683a169..6a1e913aed7b7 100644 --- a/src/mame/misc/mole.cpp +++ b/src/mame/misc/mole.cpp @@ -254,20 +254,20 @@ static INPUT_PORTS_START( mole ) PORT_BIT( 0xc0, IP_ACTIVE_HIGH, IPT_UNUSED ) PORT_START("IN0") /* 0x8d40 */ - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("P1 Pad 1") PORT_CODE(KEYCODE_1_PAD) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("P1 Pad 2") PORT_CODE(KEYCODE_2_PAD) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("P1 Pad 3") PORT_CODE(KEYCODE_3_PAD) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("P1 Pad 4") PORT_CODE(KEYCODE_4_PAD) - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("P1 Pad 5") PORT_CODE(KEYCODE_5_PAD) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("P1 Pad 6") PORT_CODE(KEYCODE_6_PAD) - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("P1 Pad 7") PORT_CODE(KEYCODE_7_PAD) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("P1 Pad 8") PORT_CODE(KEYCODE_8_PAD) + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("P1 Pad 1") PORT_CODE(KEYCODE_1_PAD) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("P1 Pad 2") PORT_CODE(KEYCODE_2_PAD) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("P1 Pad 3") PORT_CODE(KEYCODE_3_PAD) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("P1 Pad 4") PORT_CODE(KEYCODE_4_PAD) + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_NAME("P1 Pad 5") PORT_CODE(KEYCODE_5_PAD) + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON6 ) PORT_NAME("P1 Pad 6") PORT_CODE(KEYCODE_6_PAD) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON7 ) PORT_NAME("P1 Pad 7") PORT_CODE(KEYCODE_7_PAD) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON8 ) PORT_NAME("P1 Pad 8") PORT_CODE(KEYCODE_8_PAD) PORT_START("IN1") /* 0x8d80 */ - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("P1 Pad 9") PORT_CODE(KEYCODE_9_PAD) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("P2 Pad 1") PORT_CODE(KEYCODE_Q) PORT_COCKTAIL - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("P2 Pad 2") PORT_CODE(KEYCODE_W) PORT_COCKTAIL - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("P2 Pad 3") PORT_CODE(KEYCODE_E) PORT_COCKTAIL + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON9 ) PORT_NAME("P1 Pad 9") PORT_CODE(KEYCODE_9_PAD) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("P2 Pad 1") PORT_CODE(KEYCODE_Q) PORT_COCKTAIL + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("P2 Pad 2") PORT_CODE(KEYCODE_W) PORT_COCKTAIL + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("P2 Pad 3") PORT_CODE(KEYCODE_E) PORT_COCKTAIL PORT_DIPNAME( 0x10, 0x00, DEF_STR( Cabinet ) ) PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) PORT_DIPSETTING( 0x10, DEF_STR( Cocktail ) ) @@ -276,12 +276,12 @@ static INPUT_PORTS_START( mole ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_START("IN2") /* 0x8dc0 */ - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("P2 Pad 8") PORT_CODE(KEYCODE_X) PORT_COCKTAIL - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("P2 Pad 7") PORT_CODE(KEYCODE_Z) PORT_COCKTAIL - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("P2 Pad 4") PORT_CODE(KEYCODE_A) PORT_COCKTAIL - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("P2 Pad 9") PORT_CODE(KEYCODE_C) PORT_COCKTAIL - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("P2 Pad 6") PORT_CODE(KEYCODE_D) PORT_COCKTAIL - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("P2 Pad 5") PORT_CODE(KEYCODE_S) PORT_COCKTAIL + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON8 ) PORT_NAME("P2 Pad 8") PORT_CODE(KEYCODE_X) PORT_COCKTAIL + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON7 ) PORT_NAME("P2 Pad 7") PORT_CODE(KEYCODE_Z) PORT_COCKTAIL + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("P2 Pad 4") PORT_CODE(KEYCODE_A) PORT_COCKTAIL + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON9 ) PORT_NAME("P2 Pad 9") PORT_CODE(KEYCODE_C) PORT_COCKTAIL + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON6 ) PORT_NAME("P2 Pad 6") PORT_CODE(KEYCODE_D) PORT_COCKTAIL + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_NAME("P2 Pad 5") PORT_CODE(KEYCODE_S) PORT_COCKTAIL PORT_BIT( 0xc0, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END diff --git a/src/mame/misc/neomania.cpp b/src/mame/misc/neomania.cpp index b9efc597eb203..4c8509798daf7 100644 --- a/src/mame/misc/neomania.cpp +++ b/src/mame/misc/neomania.cpp @@ -104,4 +104,4 @@ ROM_END } // Anonymous namespace -GAME( 2003, neomania, 0, neomania, neomania, neomania_state, empty_init, ROT0, "bootleg (Hyper M.A.R.)", "Neo Mania (Portugal)", MACHINE_IS_SKELETON ) +GAME( 2003, neomania, 0, neomania, neomania, neomania_state, empty_init, ROT0, "bootleg (Hyper M.A.R.)", "Neo Mania (Portugal)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/misc/nexus3d.cpp b/src/mame/misc/nexus3d.cpp index 922d43c33f4b5..22d956ddddcac 100644 --- a/src/mame/misc/nexus3d.cpp +++ b/src/mame/misc/nexus3d.cpp @@ -379,5 +379,5 @@ void nexus3d_state::init_acheartf() } // anonymous namespace -GAME( 2005, acheart, 0, nexus3d, nexus3d, nexus3d_state, init_acheart, ROT0, "Examu", "Arcana Heart", MACHINE_IS_SKELETON ) -GAME( 2006, acheartf, 0, nexus3d, nexus3d, nexus3d_state, init_acheartf, ROT0, "Examu", "Arcana Heart Full", MACHINE_IS_SKELETON ) +GAME( 2005, acheart, 0, nexus3d, nexus3d, nexus3d_state, init_acheart, ROT0, "Examu", "Arcana Heart", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2006, acheartf, 0, nexus3d, nexus3d, nexus3d_state, init_acheartf, ROT0, "Examu", "Arcana Heart Full", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/misc/nsg6809.cpp b/src/mame/misc/nsg6809.cpp index 3b9d900b24fdf..837d2b751c9df 100644 --- a/src/mame/misc/nsg6809.cpp +++ b/src/mame/misc/nsg6809.cpp @@ -109,4 +109,4 @@ ROM_END } // anonymous namespace -GAME(1993, pitchhit, 0, pitchhit, pitchhit, nsg6809_state, empty_init, ROT0, "National Sports Games", "Pitch Hitter - Baseball Challenge", MACHINE_IS_SKELETON_MECHANICAL ) +GAME(1993, pitchhit, 0, pitchhit, pitchhit, nsg6809_state, empty_init, ROT0, "National Sports Games", "Pitch Hitter - Baseball Challenge", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/misc/odyssey.cpp b/src/mame/misc/odyssey.cpp index 45738e1bed65d..985da416f6cd6 100644 --- a/src/mame/misc/odyssey.cpp +++ b/src/mame/misc/odyssey.cpp @@ -283,4 +283,4 @@ ROM_END **************************************/ /* YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS */ -GAME( 1998, odyssey, 0, odyssey, odyssey, odyssey_state, empty_init, ROT270, "Silicon Gaming", "Odyssey", MACHINE_IS_SKELETON ) +GAME( 1998, odyssey, 0, odyssey, odyssey, odyssey_state, empty_init, ROT270, "Silicon Gaming", "Odyssey", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/misc/opercoin.cpp b/src/mame/misc/opercoin.cpp index 4c8dca21ca382..4fd2857581121 100644 --- a/src/mame/misc/opercoin.cpp +++ b/src/mame/misc/opercoin.cpp @@ -144,5 +144,5 @@ ROM_END // YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS -GAME( 1990, multibaby, 0, multibaby, multibaby, multibaby_state, empty_init, ROT0, "Oper Coin", "Multi Baby", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1988, spirulo, 0, spirulo, spirulo, multibaby_state, empty_init, ROT0, "Oper Coin", "Super Pirulo", MACHINE_IS_SKELETON_MECHANICAL ) // Year from legal registry date +GAME( 1990, multibaby, 0, multibaby, multibaby, multibaby_state, empty_init, ROT0, "Oper Coin", "Multi Baby", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1988, spirulo, 0, spirulo, spirulo, multibaby_state, empty_init, ROT0, "Oper Coin", "Super Pirulo", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // Year from legal registry date diff --git a/src/mame/misc/playcenter.cpp b/src/mame/misc/playcenter.cpp index 2d741de982202..ae45fb84c750f 100644 --- a/src/mame/misc/playcenter.cpp +++ b/src/mame/misc/playcenter.cpp @@ -136,7 +136,7 @@ ROM_END } // Anonymous namespace // YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS -GAME(2000, plycntrchtr, 0, playcenter, playcenter, playcenter_state, empty_init, ROT0, "Recreativos Presas / Undergaming", "PlayCenter Champions Tournament (v9.3, 'Epox' hardware)", MACHINE_IS_SKELETON) -GAME(2000, plycntrchtrk, plycntrchtr, playcenter, playcenter, playcenter_state, empty_init, ROT0, "Recreativos Presas / Undergaming", "PlayCenter Champions Tournament (v9.3, 'K6' hardware)", MACHINE_IS_SKELETON) -GAME(2000, plycntrchtrc, plycntrchtr, playcenter, playcenter, playcenter_state, empty_init, ROT0, "Recreativos Presas / Undergaming", "PlayCenter Champions Tournament (v9.3, 'Celeron' hardware)", MACHINE_IS_SKELETON) -GAME(2004, plycntre3, 0, playcenter, playcenter, playcenter_state, empty_init, ROT0, "Recreativos Presas / Undergaming", "Playcenter Evolution III (v14.0, 'Epox' hardware)", MACHINE_IS_SKELETON) // E.14.0.TCT +GAME(2000, plycntrchtr, 0, playcenter, playcenter, playcenter_state, empty_init, ROT0, "Recreativos Presas / Undergaming", "PlayCenter Champions Tournament (v9.3, 'Epox' hardware)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2000, plycntrchtrk, plycntrchtr, playcenter, playcenter, playcenter_state, empty_init, ROT0, "Recreativos Presas / Undergaming", "PlayCenter Champions Tournament (v9.3, 'K6' hardware)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2000, plycntrchtrc, plycntrchtr, playcenter, playcenter, playcenter_state, empty_init, ROT0, "Recreativos Presas / Undergaming", "PlayCenter Champions Tournament (v9.3, 'Celeron' hardware)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2004, plycntre3, 0, playcenter, playcenter, playcenter_state, empty_init, ROT0, "Recreativos Presas / Undergaming", "Playcenter Evolution III (v14.0, 'Epox' hardware)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) // E.14.0.TCT diff --git a/src/mame/misc/plsonic4.cpp b/src/mame/misc/plsonic4.cpp index c9b4d69f0bea6..77cd7b6ec0a3d 100644 --- a/src/mame/misc/plsonic4.cpp +++ b/src/mame/misc/plsonic4.cpp @@ -229,4 +229,4 @@ ROM_END } // Anonymous namespace -GAME( 1991, plsonic4, 0, plsonic4, plsonic4, plsonic4_state, empty_init, ROT0, "SegaSA / Sonic", "Play Sonic 4", MACHINE_IS_SKELETON ) +GAME( 1991, plsonic4, 0, plsonic4, plsonic4, plsonic4_state, empty_init, ROT0, "SegaSA / Sonic", "Play Sonic 4", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/misc/pmc.cpp b/src/mame/misc/pmc.cpp index 8e6ee3ac90429..4dbba24fca533 100644 --- a/src/mame/misc/pmc.cpp +++ b/src/mame/misc/pmc.cpp @@ -105,4 +105,4 @@ ROM_END } // Anonymous namespace -GAME( 1975?, unkpmc, 0, pmc, 0, pmc_state, empty_init, ROT0, "PMC", "unknown PMC game", MACHINE_IS_SKELETON ) // might be Aztec Princess +GAME( 1975?, unkpmc, 0, pmc, 0, pmc_state, empty_init, ROT0, "PMC", "unknown PMC game", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // might be Aztec Princess diff --git a/src/mame/misc/pntnpuzl.cpp b/src/mame/misc/pntnpuzl.cpp index bbe37bdf0ab3a..f015dd8a3136b 100644 --- a/src/mame/misc/pntnpuzl.cpp +++ b/src/mame/misc/pntnpuzl.cpp @@ -350,7 +350,7 @@ INPUT_CHANGED_MEMBER(pntnpuzl_state::coin_inserted) static INPUT_PORTS_START( pntnpuzl ) PORT_START("IN0") // fake inputs - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, FUNC(pntnpuzl_state::coin_inserted), 1) PORT_IMPULSE(1) PORT_SERVICE_NO_TOGGLE( 0x04, IP_ACTIVE_HIGH )PORT_CHANGED_MEMBER(DEVICE_SELF, FUNC(pntnpuzl_state::coin_inserted), 2) PORT_IMPULSE(1) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_CHANGED_MEMBER(DEVICE_SELF, FUNC(pntnpuzl_state::coin_inserted), 4) PORT_IMPULSE(1) diff --git a/src/mame/misc/potgoldu.cpp b/src/mame/misc/potgoldu.cpp index 4c3979df4ae8a..f0d3709c2a6fd 100644 --- a/src/mame/misc/potgoldu.cpp +++ b/src/mame/misc/potgoldu.cpp @@ -137,5 +137,5 @@ ROM_END } // anonymous namespace -GAME( 200?, potgoldu, 0, potgold, potgold, potgold_state, empty_init, ROT0, "U.S. Games, Inc.", "Pot O' Gold (U.S. Games, v400x?)", MACHINE_IS_SKELETON ) -GAME( 2001, potgoldu580, potgoldu, potgold580, potgold, potgold_state, empty_init, ROT0, "U.S. Games, Inc.", "Pot O' Gold (U.S. Games, v580F)", MACHINE_IS_SKELETON ) +GAME( 200?, potgoldu, 0, potgold, potgold, potgold_state, empty_init, ROT0, "U.S. Games, Inc.", "Pot O' Gold (U.S. Games, v400x?)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2001, potgoldu580, potgoldu, potgold580, potgold, potgold_state, empty_init, ROT0, "U.S. Games, Inc.", "Pot O' Gold (U.S. Games, v580F)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/misc/proconn.cpp b/src/mame/misc/proconn.cpp index 45ec00624d520..4f6f0ceee65b7 100644 --- a/src/mame/misc/proconn.cpp +++ b/src/mame/misc/proconn.cpp @@ -1241,142 +1241,142 @@ void proconn_state::init_proconn() } // anonymous namespace -GAME( 199?, pr_lday, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "'L' Of A Day (Project) (Cash set) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_ldaya, pr_lday, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "'L' Of A Day (Project) (Token set) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_5xcsh, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "5x Cash (Project) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_7hvn, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "777 Heaven (Project) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_7hvna, pr_7hvn, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "777 Heaven (Project) (10GBP Jackpot) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_7hvnb, pr_7hvn, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "777 Heaven (Project) (20p 6GBP Jackpot Version 114) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_7hvnc, pr_7hvn, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "777 Heaven (Project) (10p 3GBP Jackpot Version 380) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_7hvnd, pr_7hvn, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "777 Heaven (Project) (5p 3GBP Jackpot Version 105) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_7hvne, pr_7hvn, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "777 Heaven (Project) (set 6) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_7hvnf, pr_7hvn, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "777 Heaven (Project) (set 7) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_7hvng, pr_7hvn, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "777 Heaven (Project) (set 8) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_7hvnh, pr_7hvn, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "777 Heaven (Project) (set 9) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_7hvni, pr_7hvn, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "777 Heaven (Project) (set 10) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_7hvnj, pr_7hvn, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "777 Heaven (Project) (set 11) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_7hvnk, pr_7hvn, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "777 Heaven (Project) (set 12) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_7hvnl, pr_7hvn, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "777 Heaven (Project) (set 13) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_7hvnm, pr_7hvn, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "777 Heaven (Project) (set 14) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_7hvnn, pr_7hvn, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "777 Heaven (Project) (set 15) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_7hvno, pr_7hvn, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "777 Heaven (Project) (set 16) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_7hvnp, pr_7hvn, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "777 Heaven (Project) (set 17) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_7hvnq, pr_7hvn, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "777 Heaven (Project) (set 18) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_7hvnr, pr_7hvn, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "777 Heaven (Project) (set 19) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_7hvns, pr_7hvn, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "777 Heaven (Project) (set 20) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_7hvnt, pr_7hvn, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "777 Heaven (Project) (set 21) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_7hvnu, pr_7hvn, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "777 Heaven (Project) (set 22) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, pr_alwy9, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "PCP" , "Always Nine (Pcp) (set 1) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_alwy9a, pr_alwy9, proconn, proconn, proconn_state, init_proconn, ROT0, "PCP" , "Always Nine (Pcp) (set 2) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_barbl, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Bars & Bells (Project) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_batls, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Battleships (Project) (set 1) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_batlsa, pr_batls, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Battleships (Project) (set 2) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_batlsb, pr_batls, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Battleships (Project) (set 3) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_btwar, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Beat The Warden (Project) (set 1) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_btwara, pr_btwar, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Beat The Warden (Project) (set 2) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_btwarb, pr_btwar, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Beat The Warden (Project) (set 3) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_bigdp, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Big Dipper (Project) (set 1) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_bigdpa, pr_bigdp, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Big Dipper (Project) (set 2) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_bulls, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Bullseye (Project) (set 1) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_bullsa, pr_bulls, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Bullseye (Project) (set 2) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_bullsb, pr_bulls, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Bullseye (Project) (set 3) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_bulbn, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Bully's Big Night (Project) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_bulbna, pr_bulbn, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Bully's Big Night (Project) (set 1) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_bulbnb, pr_bulbn, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Bully's Big Night (Project) (set 2) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_buljp, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Bully's Jackpot (Project) (set 1) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_buljpa, pr_buljp, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Bully's Jackpot (Project) (set 2) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_cashb, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Cash Back (Project) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_cas7, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Casino Jackpot 7s (Project) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_chico, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Chico the Bandit (Project) (set 1) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_chicoa, pr_chico, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Chico the Bandit (Project) (set 2) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_chicob, pr_chico, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Chico the Bandit (Project) (set 3) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_coolm, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Cool Million (Project) (set 1) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_coolma, pr_coolm, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Cool Million (Project) (set 2) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_coolmb, pr_coolm, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Cool Million (Project) (set 3) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_crz77, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Crazy 777s (Project) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_crzbr, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Crazy Bars (Project) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_supbr, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "PCP", "Super Bars (PCP) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, pr_coyot, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "PCP" , "Crazy Coyote (Pcp) (10p) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_coyota, pr_coyot, proconn, proconn, proconn_state, init_proconn, ROT0, "PCP" , "Crazy Coyote (Pcp) (20p) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, pr_crzpy, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Crazy Pays (Project) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_dblup, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Double Up (Project) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_fire, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Fircecracker (Project) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_flshc, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Flash The Cash (Project) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_ftwhl, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Fortune Wheel (Project) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_funrn, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Fun On The Run (Project) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_gogld, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Go For Gold (Project) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_gldnl, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Golden Nile (Project) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_gldng, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Golden Nugget (Project) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_gdft, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Good Fortune (Project) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_happy, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Happy Days (Project) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_heato, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "The Heat Is On (Project) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_hiclm, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Hi Climber (Project) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_hit6, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Hit The Six (Project) (set 1) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_hit6a, pr_hit6, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Hit The Six (Project) (set 2) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_hit6b, pr_hit6, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Hit The Six (Project) (set 3) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_hotcs, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Hot Cash (Project) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_hotsp, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Hot Spots (Project) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_jkpt7, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Jackpot 7's (Project) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_jkrwd, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Jokers Wild (Project) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_jumpj, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Jumping Jacks (Project) (set 1) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_jumpja, pr_jumpj, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Jumping Jacks (Project) (set 2) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_medl, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Medalist (Project) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_megmn, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Mega Money (Project) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_nudxs, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Nudge XS (Project) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_qksht, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Maygay", "Quickshot (Maygay) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_rags, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Rags To Riches (Project) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_reflx, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Reflex (Project) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_roadr, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Road Riot (Project) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_roll, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "The Roll (Project) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_sevab, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Seven's Above (Project) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_sevml, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Sevens & Melons (Project) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_theme, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Theme Park (Project) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_ttrai, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Treasure Trail (Project) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_trpx, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Triple X (Project) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1999, pr_trktr, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Trick or Treat (Project) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1999, pr_trktp, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Trick or Treat (Protocol?) (Project) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_walls, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Wall Street (Project) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_whlft, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Wheel Of Fortune (Project) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_wldkn, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Wild Kings (Project) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_nifty, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Nifty Fifty (Project) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_upnun, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Up & Under (Project) (PROCONN)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_sptb, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Pcp", "Simply the Best (Pcp) (PROCONN?)",MACHINE_IS_SKELETON_MECHANICAL ) // not 100% sure this belongs here +GAME( 199?, pr_lday, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "'L' Of A Day (Project) (Cash set) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_ldaya, pr_lday, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "'L' Of A Day (Project) (Token set) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_5xcsh, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "5x Cash (Project) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_7hvn, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "777 Heaven (Project) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_7hvna, pr_7hvn, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "777 Heaven (Project) (10GBP Jackpot) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_7hvnb, pr_7hvn, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "777 Heaven (Project) (20p 6GBP Jackpot Version 114) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_7hvnc, pr_7hvn, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "777 Heaven (Project) (10p 3GBP Jackpot Version 380) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_7hvnd, pr_7hvn, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "777 Heaven (Project) (5p 3GBP Jackpot Version 105) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_7hvne, pr_7hvn, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "777 Heaven (Project) (set 6) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_7hvnf, pr_7hvn, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "777 Heaven (Project) (set 7) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_7hvng, pr_7hvn, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "777 Heaven (Project) (set 8) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_7hvnh, pr_7hvn, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "777 Heaven (Project) (set 9) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_7hvni, pr_7hvn, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "777 Heaven (Project) (set 10) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_7hvnj, pr_7hvn, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "777 Heaven (Project) (set 11) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_7hvnk, pr_7hvn, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "777 Heaven (Project) (set 12) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_7hvnl, pr_7hvn, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "777 Heaven (Project) (set 13) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_7hvnm, pr_7hvn, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "777 Heaven (Project) (set 14) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_7hvnn, pr_7hvn, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "777 Heaven (Project) (set 15) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_7hvno, pr_7hvn, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "777 Heaven (Project) (set 16) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_7hvnp, pr_7hvn, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "777 Heaven (Project) (set 17) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_7hvnq, pr_7hvn, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "777 Heaven (Project) (set 18) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_7hvnr, pr_7hvn, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "777 Heaven (Project) (set 19) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_7hvns, pr_7hvn, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "777 Heaven (Project) (set 20) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_7hvnt, pr_7hvn, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "777 Heaven (Project) (set 21) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_7hvnu, pr_7hvn, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "777 Heaven (Project) (set 22) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, pr_alwy9, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "PCP" , "Always Nine (Pcp) (set 1) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_alwy9a, pr_alwy9, proconn, proconn, proconn_state, init_proconn, ROT0, "PCP" , "Always Nine (Pcp) (set 2) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_barbl, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Bars & Bells (Project) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_batls, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Battleships (Project) (set 1) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_batlsa, pr_batls, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Battleships (Project) (set 2) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_batlsb, pr_batls, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Battleships (Project) (set 3) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_btwar, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Beat The Warden (Project) (set 1) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_btwara, pr_btwar, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Beat The Warden (Project) (set 2) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_btwarb, pr_btwar, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Beat The Warden (Project) (set 3) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_bigdp, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Big Dipper (Project) (set 1) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_bigdpa, pr_bigdp, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Big Dipper (Project) (set 2) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_bulls, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Bullseye (Project) (set 1) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_bullsa, pr_bulls, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Bullseye (Project) (set 2) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_bullsb, pr_bulls, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Bullseye (Project) (set 3) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_bulbn, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Bully's Big Night (Project) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_bulbna, pr_bulbn, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Bully's Big Night (Project) (set 1) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_bulbnb, pr_bulbn, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Bully's Big Night (Project) (set 2) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_buljp, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Bully's Jackpot (Project) (set 1) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_buljpa, pr_buljp, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Bully's Jackpot (Project) (set 2) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_cashb, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Cash Back (Project) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_cas7, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Casino Jackpot 7s (Project) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_chico, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Chico the Bandit (Project) (set 1) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_chicoa, pr_chico, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Chico the Bandit (Project) (set 2) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_chicob, pr_chico, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Chico the Bandit (Project) (set 3) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_coolm, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Cool Million (Project) (set 1) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_coolma, pr_coolm, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Cool Million (Project) (set 2) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_coolmb, pr_coolm, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Cool Million (Project) (set 3) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_crz77, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Crazy 777s (Project) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_crzbr, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Crazy Bars (Project) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_supbr, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "PCP", "Super Bars (PCP) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, pr_coyot, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "PCP" , "Crazy Coyote (Pcp) (10p) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_coyota, pr_coyot, proconn, proconn, proconn_state, init_proconn, ROT0, "PCP" , "Crazy Coyote (Pcp) (20p) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, pr_crzpy, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Crazy Pays (Project) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_dblup, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Double Up (Project) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_fire, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Fircecracker (Project) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_flshc, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Flash The Cash (Project) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_ftwhl, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Fortune Wheel (Project) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_funrn, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Fun On The Run (Project) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_gogld, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Go For Gold (Project) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_gldnl, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Golden Nile (Project) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_gldng, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Golden Nugget (Project) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_gdft, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Good Fortune (Project) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_happy, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Happy Days (Project) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_heato, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "The Heat Is On (Project) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_hiclm, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Hi Climber (Project) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_hit6, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Hit The Six (Project) (set 1) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_hit6a, pr_hit6, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Hit The Six (Project) (set 2) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_hit6b, pr_hit6, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Hit The Six (Project) (set 3) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_hotcs, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Hot Cash (Project) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_hotsp, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Hot Spots (Project) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_jkpt7, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Jackpot 7's (Project) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_jkrwd, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Jokers Wild (Project) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_jumpj, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Jumping Jacks (Project) (set 1) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_jumpja, pr_jumpj, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Jumping Jacks (Project) (set 2) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_medl, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Medalist (Project) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_megmn, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Mega Money (Project) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_nudxs, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Nudge XS (Project) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_qksht, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Maygay", "Quickshot (Maygay) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_rags, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Rags To Riches (Project) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_reflx, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Reflex (Project) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_roadr, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Road Riot (Project) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_roll, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "The Roll (Project) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_sevab, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Seven's Above (Project) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_sevml, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Sevens & Melons (Project) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_theme, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Theme Park (Project) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_ttrai, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Treasure Trail (Project) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_trpx, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Triple X (Project) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1999, pr_trktr, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Trick or Treat (Project) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1999, pr_trktp, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Trick or Treat (Protocol?) (Project) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_walls, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Wall Street (Project) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_whlft, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Wheel Of Fortune (Project) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_wldkn, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Wild Kings (Project) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_nifty, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Nifty Fifty (Project) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_upnun, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Project", "Up & Under (Project) (PROCONN)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_sptb, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Pcp", "Simply the Best (Pcp) (PROCONN?)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // not 100% sure this belongs here // Some of these are PC98 hardware.. I don't know how / if that differs -GAME( 199?, pr_bears, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Bear Streak (set 1) (Coinworld)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_bearsa, pr_bears, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Bear Streak (set 2) (Coinworld)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_bearsb, pr_bears, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Bear Streak (set 3) (Coinworld)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_bearx, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Bear X (Version 2.3) (Coinworld)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_bearxa, pr_bearx, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Bear X (Version 2.2) (Coinworld)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_bearxb, pr_bearx, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Bear X (Version 1.3) (Coinworld)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_bearxc, pr_bearx, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Bear X (20p set 1) (Coinworld)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_bearxd, pr_bearx, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Bear X (20p set 2) (Coinworld)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_bearxe, pr_bearx, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Bear X (10p set 1) (Coinworld)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_bearxf, pr_bearx, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Bear X (10p set 2) (Coinworld)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_bearxg, pr_bearx, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Bear X (10p set 3) (Coinworld)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_bearxh, pr_bearx, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Bear X (10p set 4?) (Coinworld)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_bearxi, pr_bearx, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Bear X (10p set 5) (Coinworld)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_bearxj, pr_bearx, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Bear X (code 813) (Coinworld)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_bearxk, pr_bearx, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Bear X (8GBP Token?) (Coinworld)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_bearxl, pr_bearx, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Bear X (Version 41) (Coinworld)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_bearxlp, pr_bearx, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Bear X (Version 41, Protocol) (Coinworld)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_bearxm, pr_bearx, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Bear X (Version 31) (Coinworld)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, pr_fspot, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Fun Spot (Version 4.1) (Coinworld)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_fspota, pr_fspot, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Fun Spot (Version 3.1) (Coinworld)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_fspotb, pr_fspot, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Fun Spot (Version 2.1, set 1) (Coinworld)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_fspotc, pr_fspot, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Fun Spot (Version 2.1, 20p stake, 82%) (Coinworld)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_fspotd, pr_fspot, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Fun Spot (Version 2.1, 7 button) (Coinworld)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_fspote, pr_fspot, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Fun Spot (Version 1.1, set 1) (Coinworld)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_fspotf, pr_fspot, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Fun Spot (Version 1.1, 20p stake, 82%) (Coinworld)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_fspotg, pr_fspot, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Fun Spot (Version 1.1, 6 button) (Coinworld)",MACHINE_IS_SKELETON_MECHANICAL ) - -GAME( 199?, pr_gnuc, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Golden Nugget (Version 2.2) (Coinworld)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_gnuca, pr_gnuc, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Golden Nugget (Version 1.2) (Coinworld)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_magln, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Magic Lines (Version 2.1) (Coinworld)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_maglna, pr_magln, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Magic Lines (Version 1.1) (Coinworld)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_wnstk, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Winning Streak (Version 1.1) (Coinworld)",MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 199?, pr_swop, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Ace", "Swop It (Ace)",MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, pr_bears, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Bear Streak (set 1) (Coinworld)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_bearsa, pr_bears, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Bear Streak (set 2) (Coinworld)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_bearsb, pr_bears, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Bear Streak (set 3) (Coinworld)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_bearx, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Bear X (Version 2.3) (Coinworld)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_bearxa, pr_bearx, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Bear X (Version 2.2) (Coinworld)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_bearxb, pr_bearx, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Bear X (Version 1.3) (Coinworld)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_bearxc, pr_bearx, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Bear X (20p set 1) (Coinworld)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_bearxd, pr_bearx, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Bear X (20p set 2) (Coinworld)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_bearxe, pr_bearx, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Bear X (10p set 1) (Coinworld)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_bearxf, pr_bearx, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Bear X (10p set 2) (Coinworld)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_bearxg, pr_bearx, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Bear X (10p set 3) (Coinworld)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_bearxh, pr_bearx, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Bear X (10p set 4?) (Coinworld)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_bearxi, pr_bearx, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Bear X (10p set 5) (Coinworld)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_bearxj, pr_bearx, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Bear X (code 813) (Coinworld)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_bearxk, pr_bearx, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Bear X (8GBP Token?) (Coinworld)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_bearxl, pr_bearx, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Bear X (Version 41) (Coinworld)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_bearxlp, pr_bearx, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Bear X (Version 41, Protocol) (Coinworld)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_bearxm, pr_bearx, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Bear X (Version 31) (Coinworld)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, pr_fspot, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Fun Spot (Version 4.1) (Coinworld)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_fspota, pr_fspot, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Fun Spot (Version 3.1) (Coinworld)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_fspotb, pr_fspot, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Fun Spot (Version 2.1, set 1) (Coinworld)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_fspotc, pr_fspot, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Fun Spot (Version 2.1, 20p stake, 82%) (Coinworld)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_fspotd, pr_fspot, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Fun Spot (Version 2.1, 7 button) (Coinworld)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_fspote, pr_fspot, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Fun Spot (Version 1.1, set 1) (Coinworld)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_fspotf, pr_fspot, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Fun Spot (Version 1.1, 20p stake, 82%) (Coinworld)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_fspotg, pr_fspot, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Fun Spot (Version 1.1, 6 button) (Coinworld)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) + +GAME( 199?, pr_gnuc, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Golden Nugget (Version 2.2) (Coinworld)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_gnuca, pr_gnuc, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Golden Nugget (Version 1.2) (Coinworld)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_magln, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Magic Lines (Version 2.1) (Coinworld)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_maglna, pr_magln, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Magic Lines (Version 1.1) (Coinworld)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_wnstk, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Coinworld", "Winning Streak (Version 1.1) (Coinworld)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 199?, pr_swop, 0, proconn, proconn, proconn_state, init_proconn, ROT0, "Ace", "Swop It (Ace)",MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/misc/psattack.cpp b/src/mame/misc/psattack.cpp index c54d77bfbcb0d..c7534e94ebd13 100644 --- a/src/mame/misc/psattack.cpp +++ b/src/mame/misc/psattack.cpp @@ -273,5 +273,5 @@ void psattack_state::init_psattack() } // anonymous namespace -GAME( 2004, psattack, 0, psattack, psattack, psattack_state, init_psattack, ROT0, "Uniana", "P's Attack", MACHINE_IS_SKELETON ) // has a CF card instead of flash roms +GAME( 2004, psattack, 0, psattack, psattack, psattack_state, init_psattack, ROT0, "Uniana", "P's Attack", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // has a CF card instead of flash roms diff --git a/src/mame/misc/pse.cpp b/src/mame/misc/pse.cpp index 802e371b9db81..a80e13fc80ce3 100644 --- a/src/mame/misc/pse.cpp +++ b/src/mame/misc/pse.cpp @@ -208,9 +208,9 @@ ROM_END } // anonymous namespace -GAME( 1976, bazooka, 0, pse, 0, pse_state, empty_init, ROT0, "Project Support Engineering", "Bazooka", MACHINE_IS_SKELETON ) -GAME( 1976, knightar, 0, pse, 0, pse_state, empty_init, ROT0, "Project Support Engineering", "Knights in Armor", MACHINE_IS_SKELETON ) -GAME( 1977, bazookabr, bazooka, pse, 0, pse_state, empty_init, ROT0, "Taito do Brasil", "Bazooka (Brazil)", MACHINE_IS_SKELETON ) -GAME( 1977, dpatrol, 0, pse, 0, pse_state, empty_init, ROT0, "Project Support Engineering", "Desert Patrol", MACHINE_IS_SKELETON ) -GAME( 1977, dpatrola, dpatrol, pse, 0, pse_state, empty_init, ROT0, "Project Support Engineering (Telegames license)", "Desert Patrol (set 2)", MACHINE_IS_SKELETON ) -GAME( 1978, gametree, 0, pse, 0, pse_state, empty_init, ROT0, "Project Support Engineering", "Game Tree", MACHINE_IS_SKELETON ) +GAME( 1976, bazooka, 0, pse, 0, pse_state, empty_init, ROT0, "Project Support Engineering", "Bazooka", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1976, knightar, 0, pse, 0, pse_state, empty_init, ROT0, "Project Support Engineering", "Knights in Armor", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1977, bazookabr, bazooka, pse, 0, pse_state, empty_init, ROT0, "Taito do Brasil", "Bazooka (Brazil)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1977, dpatrol, 0, pse, 0, pse_state, empty_init, ROT0, "Project Support Engineering", "Desert Patrol", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1977, dpatrola, dpatrol, pse, 0, pse_state, empty_init, ROT0, "Project Support Engineering (Telegames license)", "Desert Patrol (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1978, gametree, 0, pse, 0, pse_state, empty_init, ROT0, "Project Support Engineering", "Game Tree", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/misc/rawthrillspc.cpp b/src/mame/misc/rawthrillspc.cpp index 234302773d6c9..71e1b573a49c9 100644 --- a/src/mame/misc/rawthrillspc.cpp +++ b/src/mame/misc/rawthrillspc.cpp @@ -146,6 +146,6 @@ ROM_END } // Anonymous namespace -GAME(2013, doodlejmp, 0, rawthrillspc, rawthrillspc, rawthrillspc_state, empty_init, ROT0, "ICE / Raw Thrills (Lima Sky license)", "Doodle Jump Arcade (v1.16)", MACHINE_IS_SKELETON) -GAME(2004, fnf, 0, rawthrillspc, rawthrillspc, rawthrillspc_state, empty_init, ROT0, "Raw Thrills", "The Fast And The Furious (v3.06)", MACHINE_IS_SKELETON) -GAME(2008, guitarheroac, 0, rawthrillspc, rawthrillspc, rawthrillspc_state, empty_init, ROT0, "Raw Thrills (Activision / Konami license)", "Guitar Hero Arcade (v1.0.5)", MACHINE_IS_SKELETON) +GAME(2013, doodlejmp, 0, rawthrillspc, rawthrillspc, rawthrillspc_state, empty_init, ROT0, "ICE / Raw Thrills (Lima Sky license)", "Doodle Jump Arcade (v1.16)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2004, fnf, 0, rawthrillspc, rawthrillspc, rawthrillspc_state, empty_init, ROT0, "Raw Thrills", "The Fast And The Furious (v3.06)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2008, guitarheroac, 0, rawthrillspc, rawthrillspc, rawthrillspc_state, empty_init, ROT0, "Raw Thrills (Activision / Konami license)", "Guitar Hero Arcade (v1.0.5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/misc/rcorsair.cpp b/src/mame/misc/rcorsair.cpp index 052b6fd656fb8..73a7772db2929 100644 --- a/src/mame/misc/rcorsair.cpp +++ b/src/mame/misc/rcorsair.cpp @@ -221,4 +221,4 @@ ROM_END } // anonymous namespace -GAME( 1984, rcorsair, 0, rcorsair, inports, rcorsair_state, empty_init, ROT90, "Nakasawa", "Red Corsair", MACHINE_IS_SKELETON ) +GAME( 1984, rcorsair, 0, rcorsair, inports, rcorsair_state, empty_init, ROT90, "Nakasawa", "Red Corsair", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/misc/rgum.cpp b/src/mame/misc/rgum.cpp index 1cda780c56734..1c568ff648b68 100644 --- a/src/mame/misc/rgum.cpp +++ b/src/mame/misc/rgum.cpp @@ -23,7 +23,7 @@ Main components */ #include "emu.h" -#include "cpu/m6502/m65c02.h" +#include "cpu/m6502/w65c02.h" #include "machine/i8255.h" #include "machine/nvram.h" #include "sound/ay8910.h" @@ -289,7 +289,7 @@ GFXDECODE_END void rgum_state::rgum(machine_config &config) { // basic machine hardware - M65C02(config, m_maincpu, 24_MHz_XTAL / 16); // divisor not verified + W65C02(config, m_maincpu, 24_MHz_XTAL / 16); // divisor not verified m_maincpu->set_addrmap(AS_PROGRAM, &rgum_state::main_map); // NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); // MK48Z08 diff --git a/src/mame/misc/sanremmg.cpp b/src/mame/misc/sanremmg.cpp index 6515f9e268c15..072d77a7f15b5 100644 --- a/src/mame/misc/sanremmg.cpp +++ b/src/mame/misc/sanremmg.cpp @@ -143,6 +143,6 @@ ROM_END } // anonymous namespace -GAME( 2003, sanremmg, 0, sanremmg, sanremmg, sanremmg_state, empty_init, ROT0, "San Remo Games", "unknown San Remo / Elsy Multigame", MACHINE_IS_SKELETON ) -GAME( 200?, elsypokr, 0, sanremmg, sanremmg, sanremmg_state, empty_init, ROT0, "Electro System (Elsy)", "unknown Elsy poker", MACHINE_IS_SKELETON ) -GAME( 2002, elsygame, 0, sanremmg, sanremmg, sanremmg_state, empty_init, ROT0, "Electro System (Elsy)", "unknown Elsy game", MACHINE_IS_SKELETON ) // Fruit Diamont (sic)? +GAME( 2003, sanremmg, 0, sanremmg, sanremmg, sanremmg_state, empty_init, ROT0, "San Remo Games", "unknown San Remo / Elsy Multigame", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, elsypokr, 0, sanremmg, sanremmg, sanremmg_state, empty_init, ROT0, "Electro System (Elsy)", "unknown Elsy poker", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2002, elsygame, 0, sanremmg, sanremmg, sanremmg_state, empty_init, ROT0, "Electro System (Elsy)", "unknown Elsy game", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // Fruit Diamont (sic)? diff --git a/src/mame/misc/savquest.cpp b/src/mame/misc/savquest.cpp index 438a8101a52a9..61a2c28f6e7b3 100644 --- a/src/mame/misc/savquest.cpp +++ b/src/mame/misc/savquest.cpp @@ -903,4 +903,4 @@ ROM_END } // Anonymous namespace -GAME(1999, savquest, 0, savquest, savquest, savquest_state, empty_init, ROT0, "Interactive Light", "Savage Quest", MACHINE_IS_SKELETON) +GAME(1999, savquest, 0, savquest, savquest, savquest_state, empty_init, ROT0, "Interactive Light", "Savage Quest", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/misc/scm_500.cpp b/src/mame/misc/scm_500.cpp index a4e90bc60adec..062f62aa564b6 100644 --- a/src/mame/misc/scm_500.cpp +++ b/src/mame/misc/scm_500.cpp @@ -99,5 +99,5 @@ ROM_END } // anonymous namespace -GAME( 1987, scm_500, 0, scm_500, scm_500, scm_500_state, empty_init, ROT0, "Standard Change-Makers", "Standard Change-Makers System 500 / 500E", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1987, scm_500, 0, scm_500, scm_500, scm_500_state, empty_init, ROT0, "Standard Change-Makers", "Standard Change-Makers System 500 / 500E", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // 1995 - 500E - same basic hw? diff --git a/src/mame/misc/silverball.cpp b/src/mame/misc/silverball.cpp index 07ee8c5caa93c..09d39ff6b923e 100644 --- a/src/mame/misc/silverball.cpp +++ b/src/mame/misc/silverball.cpp @@ -252,9 +252,9 @@ ROM_END } // Anonymous namespace -GAME(1997?, slvrball806, 0, silverball_i440zx, silverball, silverball_state, empty_init, ROT0, "TAB Austria", "Silverball (8.01)", MACHINE_IS_SKELETON) -GAME(1997?, slvrball720, slvrball806, silverball_i440zx, silverball, silverball_state, empty_init, ROT0, "TAB Austria", "Silverball (7.20)", MACHINE_IS_SKELETON) -GAME(1997?, slvrball632, slvrball806, silverball_i440zx, silverball, silverball_state, empty_init, ROT0, "TAB Austria", "Silverball (6.32)", MACHINE_IS_SKELETON) +GAME(1997?, slvrball806, 0, silverball_i440zx, silverball, silverball_state, empty_init, ROT0, "TAB Austria", "Silverball (8.01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(1997?, slvrball720, slvrball806, silverball_i440zx, silverball, silverball_state, empty_init, ROT0, "TAB Austria", "Silverball (7.20)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(1997?, slvrball632, slvrball806, silverball_i440zx, silverball, silverball_state, empty_init, ROT0, "TAB Austria", "Silverball (6.32)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) -GAME(199?, slvrballbu409, slvrball806, silverball_i440zx, silverball, silverball_state, empty_init, ROT0, "TAB Austria", "Silverball Bulova (4.09, set 1)", MACHINE_IS_SKELETON) -GAME(199?, slvrballbu409b, slvrball806, silverball_i440zx, silverball, silverball_state, empty_init, ROT0, "TAB Austria", "Silverball Bulova (4.09, set 2)", MACHINE_IS_SKELETON) // Probably the same as set 1 +GAME(199?, slvrballbu409, slvrball806, silverball_i440zx, silverball, silverball_state, empty_init, ROT0, "TAB Austria", "Silverball Bulova (4.09, set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(199?, slvrballbu409b, slvrball806, silverball_i440zx, silverball, silverball_state, empty_init, ROT0, "TAB Austria", "Silverball Bulova (4.09, set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) // Probably the same as set 1 diff --git a/src/mame/misc/skylncr.cpp b/src/mame/misc/skylncr.cpp index 42f54b6d141a4..2a044cd44c8db 100644 --- a/src/mame/misc/skylncr.cpp +++ b/src/mame/misc/skylncr.cpp @@ -2512,8 +2512,8 @@ GAME( 1995, bdream97, 0, bdream97, skylncr, skylncr_state, empty_init, GAME( 2000?,olymp, 0, olymp, skylncr, skylncr_state, init_olymp, ROT0, "Z Games", "Olympus (Z Games, version 10)", MACHINE_WRONG_COLORS | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // Still has Bordun International 1992 strings GAME( 2000, sonikfig, 0, skylncr, sonikfig, skylncr_state, init_sonikfig, ROT0, "Z Games", "Sonik Fighter (version 02, encrypted)", MACHINE_WRONG_COLORS | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) GAME( 2000, spcliner, 0, skylncr, sonikfig, skylncr_state, init_sonikfig, ROT0, "Z Games", "Space Liner", MACHINE_WRONG_COLORS | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // game runs but screen is completely black due to palette mishandling -GAME( 199?, rolla, 0, skylncr, skylncr, skylncr_state, empty_init, ROT0, "Random Games", "unknown 'Rolla' slot machine", MACHINE_IS_SKELETON ) // internal CPU ROM not dumped +GAME( 199?, rolla, 0, skylncr, skylncr, skylncr_state, empty_init, ROT0, "Random Games", "unknown 'Rolla' slot machine", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // internal CPU ROM not dumped GAME( 2000?,score5, 0, skylncr, score5, skylncr_state, init_sonikfig, ROT0, "Z Games", "Score 5", MACHINE_WRONG_COLORS | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // game runs but screen is completely black due to palette mishandling -GAME( 2000?,superb2k, 0, skylncr, skylncr, skylncr_state, init_superb2k, ROT0, "Random Games", "Super Butterfly 2000", MACHINE_IS_SKELETON ) // encrypted / different CPU type ? +GAME( 2000?,superb2k, 0, skylncr, skylncr, skylncr_state, init_superb2k, ROT0, "Random Games", "Super Butterfly 2000", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // encrypted / different CPU type ? GAME( 2000, seadevil, 0, skylncr, score5, skylncr_state, init_sonikfig, ROT0, "Z Games", "Sea Devil", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // GFX ROM loading is wrong, causing severe GFX glitches GAME( 2000, blshark, 0, skylncr, skylncr, skylncr_state, init_blshark, ROT0, "MDS Hellas", "Blue Shark (MDS Hellas)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // protection? diff --git a/src/mame/misc/smd2144c.cpp b/src/mame/misc/smd2144c.cpp index fa14b004f0067..ab452926f514f 100644 --- a/src/mame/misc/smd2144c.cpp +++ b/src/mame/misc/smd2144c.cpp @@ -138,5 +138,5 @@ ROM_END } // Anonymous namespace -GAME( 200?, thecastle, 0, smd2144c, smd2144c, smd2144c_state, empty_init, ROT0, "", "The Castle", MACHINE_IS_SKELETON ) -GAME( 200?, therock, thecastle, smd2144c, smd2144c, smd2144c_state, empty_init, ROT0, "", "The Rock", MACHINE_IS_SKELETON ) +GAME( 200?, thecastle, 0, smd2144c, smd2144c, smd2144c_state, empty_init, ROT0, "", "The Castle", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, therock, thecastle, smd2144c, smd2144c, smd2144c_state, empty_init, ROT0, "", "The Rock", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/misc/spdamjes.cpp b/src/mame/misc/spdamjes.cpp index 95058b2214523..692f513b4d946 100644 --- a/src/mame/misc/spdamjes.cpp +++ b/src/mame/misc/spdamjes.cpp @@ -151,4 +151,4 @@ ROM_END } // Anonymous namespace -GAME(19??, spdamjes, 0, spdamjes, spdamjes, spdamjes_state, empty_init, ROT0, "T-90", "Sport Damjes 1", MACHINE_IS_SKELETON_MECHANICAL) +GAME(19??, spdamjes, 0, spdamjes, spdamjes, spdamjes_state, empty_init, ROT0, "T-90", "Sport Damjes 1", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) diff --git a/src/mame/misc/sstrangr.cpp b/src/mame/misc/sstrangr.cpp index 0c2d6e40778e0..bb15b2f37f47e 100644 --- a/src/mame/misc/sstrangr.cpp +++ b/src/mame/misc/sstrangr.cpp @@ -540,7 +540,7 @@ static INPUT_PORTS_START( sstrangr ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_START("EXT") // External switches - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNKNOWN ) INPUT_PORTS_END @@ -646,7 +646,7 @@ static INPUT_PORTS_START( sstrngr2 ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_PLAYER(1) PORT_START("EXT") /* External switches */ - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_DIPNAME( 0x02, 0x00, "Player's Bullet Speed" ) PORT_DIPLOCATION("EDGE:2") // This is an edge connector pin listed in the manual as 'Fast Shoot' PORT_DIPSETTING( 0x00, "Slow" ) PORT_DIPSETTING( 0x02, "Fast" ) diff --git a/src/mame/misc/startouch.cpp b/src/mame/misc/startouch.cpp index c3fef78e8c725..e78753adf5091 100644 --- a/src/mame/misc/startouch.cpp +++ b/src/mame/misc/startouch.cpp @@ -104,4 +104,4 @@ ROM_END } // Anonymous namespace -GAME(2001, europl01, 0, europl01, europl01, startouch_state, empty_init, ROT0, "Sleic / Petaco", "EuroPlay 2001", MACHINE_IS_SKELETON) +GAME(2001, europl01, 0, europl01, europl01, startouch_state, empty_init, ROT0, "Sleic / Petaco", "EuroPlay 2001", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/misc/stop.cpp b/src/mame/misc/stop.cpp index 4865147575d1f..831ab5db06713 100644 --- a/src/mame/misc/stop.cpp +++ b/src/mame/misc/stop.cpp @@ -106,4 +106,4 @@ ROM_END } // anonymous namespace // YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS -GAME( 19??, stop, 0, stop, stop, stop_state, empty_init, ROT0, "", "Stop", MACHINE_IS_SKELETON ) +GAME( 19??, stop, 0, stop, stop, stop_state, empty_init, ROT0, "", "Stop", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/misc/strkzn.cpp b/src/mame/misc/strkzn.cpp index c527a1ffa421e..e4ddfe33fd0b4 100644 --- a/src/mame/misc/strkzn.cpp +++ b/src/mame/misc/strkzn.cpp @@ -87,4 +87,4 @@ ROM_END } // anonymous namespace -GAME( 1994, strkzn, 0, strkzn, strkzn, strkzn_state, empty_init, ROT0, "Purple Star", "Strike Zone (Purple Star)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1994, strkzn, 0, strkzn, strkzn, strkzn_state, empty_init, ROT0, "Purple Star", "Strike Zone (Purple Star)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/misc/sumt8035.cpp b/src/mame/misc/sumt8035.cpp index 0bcdd333d4b6e..a0b893555a9a7 100644 --- a/src/mame/misc/sumt8035.cpp +++ b/src/mame/misc/sumt8035.cpp @@ -265,5 +265,5 @@ ROM_END } // anonymous namespace -GAME( 1981, sm_ngacc, 0, summit, summit, sumt8035_state, empty_init, ROT270, "Summit Coin", "Nudge Accumulator (Summit Coin)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1981, sm_ultng, 0, summit, summit, sumt8035_state, empty_init, ROT270, "Summit Coin", "Ultimate Nudge (Summit Coin)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1981, sm_ngacc, 0, summit, summit, sumt8035_state, empty_init, ROT270, "Summit Coin", "Nudge Accumulator (Summit Coin)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1981, sm_ultng, 0, summit, summit, sumt8035_state, empty_init, ROT270, "Summit Coin", "Ultimate Nudge (Summit Coin)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/misc/tapatune.cpp b/src/mame/misc/tapatune.cpp index 0ccaf3dbb1692..a10dc98bdb91f 100644 --- a/src/mame/misc/tapatune.cpp +++ b/src/mame/misc/tapatune.cpp @@ -660,5 +660,5 @@ ROM_END GAME(1994, tapatune, 0, tapatune, tapatune, tapatune_state, empty_init, ROT0, "Moloney Manufacturing Inc. / Creative Electronics and Software", "Tap a Tune", MACHINE_SUPPORTS_SAVE ) // below appear to be mechanical games with the same Z80 board as the above -GAME(1994, srockbwl, 0, tapatune_base, tapatune, tapatune_state, empty_init, ROT0, "Bromley", "Super Rock and Bowl (V1.1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(199?, smartoss, 0, tapatune_base, tapatune, tapatune_state, empty_init, ROT0, "Smart Industries / Creative Electronics and Software", "Smart Toss 'em / Smartball (Ver 2.0)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1994, srockbwl, 0, tapatune_base, tapatune, tapatune_state, empty_init, ROT0, "Bromley", "Super Rock and Bowl (V1.1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(199?, smartoss, 0, tapatune_base, tapatune, tapatune_state, empty_init, ROT0, "Smart Industries / Creative Electronics and Software", "Smart Toss 'em / Smartball (Ver 2.0)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/misc/teamjocs.cpp b/src/mame/misc/teamjocs.cpp index 7dff04d0e74a3..1130a3855e9bb 100644 --- a/src/mame/misc/teamjocs.cpp +++ b/src/mame/misc/teamjocs.cpp @@ -83,4 +83,4 @@ ROM_END } // anonymous namespace -GAME(199?, diaelite, 0, teamjocs, teamjocs, teamjocs_state, empty_init, ROT0, "Recreativos Presas", "Diana Elite", MACHINE_IS_SKELETON_MECHANICAL) +GAME(199?, diaelite, 0, teamjocs, teamjocs, teamjocs_state, empty_init, ROT0, "Recreativos Presas", "Diana Elite", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) diff --git a/src/mame/misc/tomsadvs.cpp b/src/mame/misc/tomsadvs.cpp index 8a51d6849269f..2071932a48ae4 100644 --- a/src/mame/misc/tomsadvs.cpp +++ b/src/mame/misc/tomsadvs.cpp @@ -106,5 +106,5 @@ ROM_END } // anonymous namespace // YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS -GAME( 19??, tomsadvs, 0, tomsadvs, tomsadvs, tomsadvs_state, empty_init, ROT0, "", "Tom's Adventures", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2003?, icecoldice, 0, tomsadvs, tomsadvs, tomsadvs_state, empty_init, ROT0, "ICE", "Ice Cold Beer (ICE)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 19??, tomsadvs, 0, tomsadvs, tomsadvs, tomsadvs_state, empty_init, ROT0, "", "Tom's Adventures", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2003?, icecoldice, 0, tomsadvs, tomsadvs, tomsadvs_state, empty_init, ROT0, "ICE", "Ice Cold Beer (ICE)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/misc/triviaquiz.cpp b/src/mame/misc/triviaquiz.cpp index 7b7eae44dcbac..ea9a4eb899bc4 100644 --- a/src/mame/misc/triviaquiz.cpp +++ b/src/mame/misc/triviaquiz.cpp @@ -1,5 +1,5 @@ // license:BSD-3-Clause -// copyright-holders:Dirk Best, Ivan Vangelista +// copyright-holders:Dirk Best /* Trivia Quiz by Intermatic Manufacturing Ltd. 1985 diff --git a/src/mame/misc/truesys.cpp b/src/mame/misc/truesys.cpp index 3bb9eccb8dff1..bcf1134259a6e 100644 --- a/src/mame/misc/truesys.cpp +++ b/src/mame/misc/truesys.cpp @@ -115,4 +115,4 @@ ROM_END } // anonymous namespace -GAME( 200?, unkts, 0, unkts, unkts, truesys_state, empty_init, ROT0, "", "unknown game on TrueSys hardware", MACHINE_IS_SKELETON ) +GAME( 200?, unkts, 0, unkts, unkts, truesys_state, empty_init, ROT0, "", "unknown game on TrueSys hardware", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/misc/twinbskt.cpp b/src/mame/misc/twinbskt.cpp index 4d50354e3c19f..11bb49dcf7a86 100644 --- a/src/mame/misc/twinbskt.cpp +++ b/src/mame/misc/twinbskt.cpp @@ -83,4 +83,4 @@ ROM_END } // anonymous namespace // YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS -GAME( 1995, twinbskt, 0, twinbskt, twinbskt, twinbskt_state, empty_init, ROT0, "Automatics Pasqual", "Twin Basket", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1995, twinbskt, 0, twinbskt, twinbskt, twinbskt_state, empty_init, ROT0, "Automatics Pasqual", "Twin Basket", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/misc/unkgolf.cpp b/src/mame/misc/unkgolf.cpp index 1ec316adf86a5..f82ce7e1b29c9 100644 --- a/src/mame/misc/unkgolf.cpp +++ b/src/mame/misc/unkgolf.cpp @@ -270,4 +270,4 @@ ROM_END } // anonymous namespace -GAME( 19??, unkgolf, 0, unkgolf, unkgolf, unkgolf_state, empty_init, ROT0, "", "unknown golf game", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 19??, unkgolf, 0, unkgolf, unkgolf, unkgolf_state, empty_init, ROT0, "", "unknown golf game", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/misc/unktop.cpp b/src/mame/misc/unktop.cpp index 65cd653dccde7..a77f40998fc3b 100644 --- a/src/mame/misc/unktop.cpp +++ b/src/mame/misc/unktop.cpp @@ -94,4 +94,4 @@ ROM_END } // anonymous namespace -GAME( 19??, unktop, 0, unktop, unktop, unktop_state, empty_init, ROT0, "", "unknown Top game", MACHINE_IS_SKELETON ) +GAME( 19??, unktop, 0, unktop, unktop, unktop_state, empty_init, ROT0, "", "unknown Top game", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/misc/usbilliards.cpp b/src/mame/misc/usbilliards.cpp index f21a9bba03fab..4100d96a468e3 100644 --- a/src/mame/misc/usbilliards.cpp +++ b/src/mame/misc/usbilliards.cpp @@ -140,4 +140,4 @@ ROM_END } // anonymous namespace -GAME( 1975, sharkusb, 0, usbilliards, 0, usbilliards_state, empty_init, ROT0, "US Billiards Inc.", "Shark (US Billiards)", MACHINE_IS_SKELETON ) +GAME( 1975, sharkusb, 0, usbilliards, 0, usbilliards_state, empty_init, ROT0, "US Billiards Inc.", "Shark (US Billiards)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/misc/usgames.cpp b/src/mame/misc/usgames.cpp index 6e5a94caaa41a..26d8938126efd 100644 --- a/src/mame/misc/usgames.cpp +++ b/src/mame/misc/usgames.cpp @@ -230,7 +230,7 @@ static INPUT_PORTS_START( usg32 ) PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_CUSTOM ) // +12 Volts? - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("UNK1") PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) diff --git a/src/mame/misc/v0bowl.cpp b/src/mame/misc/v0bowl.cpp index ba788bde95c5c..6f3a58968eed0 100644 --- a/src/mame/misc/v0bowl.cpp +++ b/src/mame/misc/v0bowl.cpp @@ -159,4 +159,4 @@ ROM_END } // anonymous namespace -GAME( 200?, v0bowl, 0, v0bowl, v0bowl, v0bowl_state, empty_init, ROT0, "A1 Amusement One", "unknown VRender0+ bowling game", MACHINE_IS_SKELETON ) // Return Bowl? +GAME( 200?, v0bowl, 0, v0bowl, v0bowl, v0bowl_state, empty_init, ROT0, "A1 Amusement One", "unknown VRender0+ bowling game", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // Return Bowl? diff --git a/src/mame/misc/vamphalf.cpp b/src/mame/misc/vamphalf.cpp index 0aa00247d00af..58485f7e18ef5 100644 --- a/src/mame/misc/vamphalf.cpp +++ b/src/mame/misc/vamphalf.cpp @@ -56,6 +56,7 @@ - boonggab: simulate photo sensors with a "stroke strength" - boonggab: what are sensors bit used for? are they used in the japanese version? - wyvernsg: fails a protection check after ~1 hour of play? +- are CRTC parameters software-configurable? *********************************************************************/ @@ -154,6 +155,13 @@ class vamphalf_state : public driver_device void common_map(address_map &map) ATTR_COLD; void common_32bit_map(address_map &map) ATTR_COLD; + static constexpr u16 HTOTAL = 448; + static constexpr u16 HBEND = 31; + static constexpr u16 HBSTART = 351; + static constexpr u16 VTOTAL = 264; + static constexpr u16 VBEND = 16; + static constexpr u16 VBSTART = 252; + protected: virtual void video_start() override ATTR_COLD; @@ -1161,7 +1169,7 @@ GFXDECODE_END void vamphalf_state::common(machine_config &config) { - E116T(config, m_maincpu, 50000000); /* 50 MHz */ + E116T(config, m_maincpu, 50_MHz_XTAL); // 50 MHz m_maincpu->set_addrmap(AS_PROGRAM, &vamphalf_state::common_map); m_maincpu->set_vblank_int("screen", FUNC(vamphalf_state::irq1_line_hold)); @@ -1172,11 +1180,7 @@ void vamphalf_state::common(machine_config &config) /* video hardware */ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - // 28MHz - screen.set_refresh_hz(59); - screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); - screen.set_size(512, 256); - screen.set_visarea(31, 350, 16, 251); + screen.set_raw(28_MHz_XTAL / 4, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART); screen.set_screen_update(FUNC(vamphalf_state::screen_update_common)); screen.set_palette(m_palette); @@ -1189,9 +1193,9 @@ void vamphalf_state::sound_ym_oki(machine_config &config) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - YM2151(config, "ymsnd", XTAL(28'000'000)/8).add_route(0, "lspeaker", 1.0).add_route(1, "rspeaker", 1.0); /* 3.5MHz */ + YM2151(config, "ymsnd", 28_MHz_XTAL / 8).add_route(0, "lspeaker", 1.0).add_route(1, "rspeaker", 1.0); // 3.5MHz - okim6295_device &oki1(OKIM6295(config, "oki1", XTAL(28'000'000)/16 , okim6295_device::PIN7_HIGH)); /* 1.75MHz */ + okim6295_device &oki1(OKIM6295(config, "oki1", 28_MHz_XTAL / 16 , okim6295_device::PIN7_HIGH)); // 1.75MHz oki1.add_route(ALL_OUTPUTS, "lspeaker", 1.0); oki1.add_route(ALL_OUTPUTS, "rspeaker", 1.0); } @@ -1207,9 +1211,9 @@ void vamphalf_state::sound_suplup(machine_config &config) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - YM2151(config, "ymsnd", XTAL(14'318'181)/4).add_route(0, "lspeaker", 1.0).add_route(1, "rspeaker", 1.0); /* 3.579545 MHz */ + YM2151(config, "ymsnd", 14.318181_MHz_XTAL / 4).add_route(0, "lspeaker", 1.0).add_route(1, "rspeaker", 1.0); // 3.579545 MHz - okim6295_device &oki1(OKIM6295(config, "oki1", XTAL(14'318'181)/8, okim6295_device::PIN7_HIGH)); /* 1.75MHz */ + okim6295_device &oki1(OKIM6295(config, "oki1", 14.318181_MHz_XTAL / 8, okim6295_device::PIN7_HIGH)); // 1.75MHz oki1.add_route(ALL_OUTPUTS, "lspeaker", 1.0); oki1.add_route(ALL_OUTPUTS, "rspeaker", 1.0); } @@ -1224,7 +1228,7 @@ void vamphalf_state::sound_qs1000(machine_config &config) m_soundlatch->data_pending_callback().set("qs1000", FUNC(qs1000_device::set_irq)); m_soundlatch->set_separate_acknowledge(true); - qs1000_device &qs1000(QS1000(config, "qs1000", XTAL(24'000'000))); + qs1000_device &qs1000(QS1000(config, "qs1000", 24_MHz_XTAL)); qs1000.set_external_rom(true); qs1000.p1_in().set("soundlatch", FUNC(generic_latch_8_device::read)); qs1000.p3_out().set(FUNC(vamphalf_state::qs1000_p3_w)); @@ -1243,7 +1247,7 @@ void vamphalf_state::vamphalf(machine_config &config) void vamphalf_qdsp_state::misncrft(machine_config &config) { common(config); - GMS30C2116(config.replace(), m_maincpu, XTAL(50'000'000)); /* 50 MHz */ + GMS30C2116(config.replace(), m_maincpu, 50_MHz_XTAL); // 50 MHz m_maincpu->set_addrmap(AS_PROGRAM, &vamphalf_qdsp_state::common_map); m_maincpu->set_addrmap(AS_IO, &vamphalf_qdsp_state::misncrft_io); m_maincpu->set_vblank_int("screen", FUNC(vamphalf_state::irq1_line_hold)); @@ -1273,6 +1277,7 @@ void vamphalf_state::suplup(machine_config &config) m_maincpu->set_addrmap(AS_IO, &vamphalf_state::suplup_io); // 14.31818MHz instead 28MHz + subdevice("screen")->set_raw(14.318181_MHz_XTAL / 2, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART); sound_suplup(config); } @@ -1311,7 +1316,7 @@ void vamphalf_state::worldadv(machine_config &config) void vamphalf_state::mrdig(machine_config &config) { common(config); - GMS30C2116(config.replace(), m_maincpu, XTAL(50'000'000)); /* 50 MHz */ + GMS30C2116(config.replace(), m_maincpu, 50_MHz_XTAL); // 50 MHz m_maincpu->set_addrmap(AS_PROGRAM, &vamphalf_state::common_map); m_maincpu->set_addrmap(AS_IO, &vamphalf_state::mrdig_io); m_maincpu->set_vblank_int("screen", FUNC(vamphalf_state::irq1_line_hold)); @@ -1322,7 +1327,7 @@ void vamphalf_state::mrdig(machine_config &config) void vamphalf_qdsp_state::wyvernwg(machine_config &config) { common(config); - E132T(config.replace(), m_maincpu, XTAL(50'000'000)); /* 50 MHz */ + E132T(config.replace(), m_maincpu, 50_MHz_XTAL); // 50 MHz m_maincpu->set_addrmap(AS_PROGRAM, &vamphalf_qdsp_state::common_32bit_map); m_maincpu->set_addrmap(AS_IO, &vamphalf_qdsp_state::wyvernwg_io); m_maincpu->set_vblank_int("screen", FUNC(vamphalf_state::irq1_line_hold)); @@ -1333,7 +1338,7 @@ void vamphalf_qdsp_state::wyvernwg(machine_config &config) void vamphalf_nvram_state::finalgdr(machine_config &config) { common(config); - E132T(config.replace(), m_maincpu, XTAL(50'000'000)); /* 50 MHz */ + E132T(config.replace(), m_maincpu, 50_MHz_XTAL); // 50 MHz m_maincpu->set_addrmap(AS_PROGRAM, &vamphalf_nvram_state::common_32bit_map); m_maincpu->set_addrmap(AS_IO, &vamphalf_nvram_state::finalgdr_io); m_maincpu->set_vblank_int("screen", FUNC(vamphalf_state::irq1_line_hold)); @@ -1346,7 +1351,7 @@ void vamphalf_nvram_state::finalgdr(machine_config &config) void vamphalf_nvram_state::mrkickera(machine_config &config) { common(config); - E132T(config.replace(), m_maincpu, XTAL(50'000'000)); /* 50 MHz */ + E132T(config.replace(), m_maincpu, 50_MHz_XTAL); // 50 MHz m_maincpu->set_addrmap(AS_PROGRAM, &vamphalf_nvram_state::common_32bit_map); m_maincpu->set_addrmap(AS_IO, &vamphalf_nvram_state::mrkickera_io); m_maincpu->set_vblank_int("screen", FUNC(vamphalf_state::irq1_line_hold)); @@ -1358,7 +1363,7 @@ void vamphalf_nvram_state::mrkickera(machine_config &config) void vamphalf_state::aoh(machine_config &config) { - E132XN(config, m_maincpu, XTAL(20'000'000) * 4); /* 4x internal multiplier */ + E132XN(config, m_maincpu, 20_MHz_XTAL * 4); // 4x internal multiplier m_maincpu->set_addrmap(AS_PROGRAM, &vamphalf_state::aoh_map); m_maincpu->set_addrmap(AS_IO, &vamphalf_state::aoh_io); m_maincpu->set_vblank_int("screen", FUNC(vamphalf_state::irq1_line_hold)); @@ -1367,11 +1372,7 @@ void vamphalf_state::aoh(machine_config &config) /* video hardware */ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - // 32MHz - screen.set_refresh_hz(59.185); - screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); - screen.set_size(512, 512); - screen.set_visarea(64, 511-64, 16, 255-16); + screen.set_raw(32_MHz_XTAL / 4, 512, 64, 448, 264, 16, 240); screen.set_screen_update(FUNC(vamphalf_state::screen_update_aoh)); screen.set_palette(m_palette); @@ -1382,13 +1383,13 @@ void vamphalf_state::aoh(machine_config &config) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - YM2151(config, "ymsnd", XTAL(3'579'545)).add_route(0, "lspeaker", 1.0).add_route(1, "rspeaker", 1.0); + YM2151(config, "ymsnd", 3.579545_MHz_XTAL).add_route(0, "lspeaker", 1.0).add_route(1, "rspeaker", 1.0); - okim6295_device &oki1(OKIM6295(config, "oki1", XTAL(32'000'000)/8, okim6295_device::PIN7_HIGH)); /* 4MHz */ + okim6295_device &oki1(OKIM6295(config, "oki1", 32_MHz_XTAL / 8, okim6295_device::PIN7_HIGH)); // 4MHz oki1.add_route(ALL_OUTPUTS, "lspeaker", 1.0); oki1.add_route(ALL_OUTPUTS, "rspeaker", 1.0); - okim6295_device &oki2(OKIM6295(config, "oki2", XTAL(32'000'000)/32, okim6295_device::PIN7_HIGH)); /* 1MHz */ + okim6295_device &oki2(OKIM6295(config, "oki2", 32_MHz_XTAL / 32, okim6295_device::PIN7_HIGH)); // 1MHz oki2.set_addrmap(0, &vamphalf_state::banked_oki_map); oki2.add_route(ALL_OUTPUTS, "lspeaker", 1.0); oki2.add_route(ALL_OUTPUTS, "rspeaker", 1.0); @@ -1405,12 +1406,13 @@ void vamphalf_state::boonggab(machine_config &config) void vamphalf_qdsp_state::yorijori(machine_config &config) { common(config); - E132T(config.replace(), m_maincpu, XTAL(50'000'000)); /* 50 MHz */ + E132T(config.replace(), m_maincpu, 50_MHz_XTAL); // 50 MHz m_maincpu->set_addrmap(AS_PROGRAM, &vamphalf_qdsp_state::yorijori_32bit_map); m_maincpu->set_addrmap(AS_IO, &vamphalf_qdsp_state::yorijori_io); m_maincpu->set_vblank_int("screen", FUNC(vamphalf_state::irq2_line_hold)); // 27MHz instead 28MHz + subdevice("screen")->set_raw(27_MHz_XTAL / 4, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART); sound_qs1000(config); } diff --git a/src/mame/misc/video21.cpp b/src/mame/misc/video21.cpp index 25e0931f658e2..8187a555a57a1 100644 --- a/src/mame/misc/video21.cpp +++ b/src/mame/misc/video21.cpp @@ -207,7 +207,7 @@ static INPUT_PORTS_START( video21 ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_STAND ) PORT_NAME("Stop") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(FUNC(video21_state::hopper_coinout_r)) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("IN44") PORT_DIPNAME( 0x01, 0x01, "44b0" ) diff --git a/src/mame/misc/vlc34010.cpp b/src/mame/misc/vlc34010.cpp index 359d7b6fa767c..4823f0719094b 100644 --- a/src/mame/misc/vlc34010.cpp +++ b/src/mame/misc/vlc34010.cpp @@ -229,5 +229,5 @@ ROM_END } // Anonymous namespace -GAME( 1997, beezerk, 0, base, beezerk, vlc34010_state, empty_init, ROT0, "VLT Inc.", "Bee-Zerk", MACHINE_IS_SKELETON ) // copyright in ROM is VLT instead of VLC, dump came as BeeZerk, but probably a multigame -GAME( 2000, vlcunk, 0, base, beezerk, vlc34010_state, empty_init, ROT0, "VLC Inc.", "unknown VLC multigame", MACHINE_IS_SKELETON ) +GAME( 1997, beezerk, 0, base, beezerk, vlc34010_state, empty_init, ROT0, "VLT Inc.", "Bee-Zerk", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // copyright in ROM is VLT instead of VLC, dump came as BeeZerk, but probably a multigame +GAME( 2000, vlcunk, 0, base, beezerk, vlc34010_state, empty_init, ROT0, "VLC Inc.", "unknown VLC multigame", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/misc/vroulet.cpp b/src/mame/misc/vroulet.cpp index 5344c1b2f387d..4537cabb0f648 100644 --- a/src/mame/misc/vroulet.cpp +++ b/src/mame/misc/vroulet.cpp @@ -37,10 +37,12 @@ Tomasz Slanina 20050225 */ #include "emu.h" + #include "cpu/z80/z80.h" #include "machine/i8255.h" #include "machine/nvram.h" #include "sound/ay8910.h" + #include "emupal.h" #include "screen.h" #include "speaker.h" @@ -52,8 +54,8 @@ namespace { class vroulet_state : public driver_device { public: - vroulet_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag), + vroulet_state(const machine_config &mconfig, device_type type, const char *tag) : + driver_device(mconfig, type, tag), m_maincpu(*this, "maincpu"), m_gfxdecode(*this, "gfxdecode"), m_palette(*this, "palette"), @@ -64,6 +66,9 @@ class vroulet_state : public driver_device void vroulet(machine_config &config); +protected: + virtual void video_start() override ATTR_COLD; + private: required_device m_maincpu; required_device m_gfxdecode; @@ -85,8 +90,6 @@ class vroulet_state : public driver_device TILE_GET_INFO_MEMBER(get_bg_tile_info); - virtual void video_start() override ATTR_COLD; - uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); void vroulet_io_map(address_map &map) ATTR_COLD; void vroulet_map(address_map &map) ATTR_COLD; @@ -95,7 +98,6 @@ class vroulet_state : public driver_device /* video */ - void vroulet_state::paletteram_w(offs_t offset, uint8_t data) { /* @@ -103,15 +105,15 @@ void vroulet_state::paletteram_w(offs_t offset, uint8_t data) but... each palette has 8 colors only, not 16 as expected... */ - int i,j,a,b; m_generic_paletteram_8[offset]=data; - for(i=0;i<32;i++) + + for (int i = 0; i < 32; i++) { - for(j=0;j<16;j++) + for (int j = 0; j < 16; j++) { - a=m_generic_paletteram_8[((i*8+j)*2)&0xff ]; - b=m_generic_paletteram_8[((i*8+j)*2+1)&0xff ]; - m_palette->set_pen_color(i*16+j,pal4bit(b),pal4bit(b>>4),pal4bit(a)); + int a = m_generic_paletteram_8[((i * 8 + j) * 2) & 0xff]; + int b = m_generic_paletteram_8[((i * 8 + j) * 2 + 1) & 0xff]; + m_palette->set_pen_color(i * 16 + j, pal4bit(b), pal4bit(b >> 4), pal4bit(a)); } } } @@ -151,6 +153,7 @@ uint32_t vroulet_state::screen_update(screen_device &screen, bitmap_ind16 &bitma m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0); m_gfxdecode->gfx(0)->transpen(bitmap,cliprect, 0x320, 1, 0, 0, m_ball[1], m_ball[0] - 12, 0); + return 0; } @@ -271,21 +274,21 @@ static const gfx_layout charlayout = /* Graphics Decode Information */ static GFXDECODE_START( gfx_vroulet ) - GFXDECODE_ENTRY( "gfx1", 0x0000, charlayout, 0, 32 ) + GFXDECODE_ENTRY( "gfx1", 0x0000, charlayout, 0, 32 ) GFXDECODE_END /* PPI8255 Interface */ -void vroulet_state::ppi8255_a_w(uint8_t data) {}// watchdog ? -void vroulet_state::ppi8255_b_w(uint8_t data) {}// lamps ? -void vroulet_state::ppi8255_c_w(uint8_t data) {} +void vroulet_state::ppi8255_a_w(uint8_t data) { } // watchdog ? +void vroulet_state::ppi8255_b_w(uint8_t data) { } // lamps ? +void vroulet_state::ppi8255_c_w(uint8_t data) { } /* Machine Driver */ void vroulet_state::vroulet(machine_config &config) { // basic machine hardware - Z80(config, m_maincpu, 4000000); //??? + Z80(config, m_maincpu, 4000000); // ??? m_maincpu->set_addrmap(AS_PROGRAM, &vroulet_state::vroulet_map); m_maincpu->set_addrmap(AS_IO, &vroulet_state::vroulet_io_map); m_maincpu->set_vblank_int("screen", FUNC(vroulet_state::irq0_line_hold)); diff --git a/src/mame/misc/winbingo.cpp b/src/mame/misc/winbingo.cpp index 1221d8fe070b1..65713aea463eb 100644 --- a/src/mame/misc/winbingo.cpp +++ b/src/mame/misc/winbingo.cpp @@ -118,4 +118,4 @@ ROM_END } // Anonymous namespace -GAME( 2006, wbingo06, 0, wbingo06, wbingo06, winbingo_state, empty_init, ROT0, "", "Win Bingo 2006", MACHINE_IS_SKELETON ) +GAME( 2006, wbingo06, 0, wbingo06, wbingo06, winbingo_state, empty_init, ROT0, "", "Win Bingo 2006", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/misc/wms.cpp b/src/mame/misc/wms.cpp index 24f71c063425b..a239bcfe0558e 100644 --- a/src/mame/misc/wms.cpp +++ b/src/mame/misc/wms.cpp @@ -651,35 +651,35 @@ void wms_state::init_wms() // YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS -GAME( 200?, wms, 0, wms, wms, wms_state, init_wms, ROT0, "WMS", "WMS SetUp/Clear Chips (set 1)", MACHINE_IS_SKELETON ) -GAME( 200?, wmsa, wms, wms, wms, wms_state, init_wms, ROT0, "WMS", "WMS SetUp/Clear Chips (set 2)", MACHINE_IS_SKELETON ) -GAME( 200?, wmsb, wms, wms, wms, wms_state, init_wms, ROT0, "WMS", "WMS SetUp/Clear Chips (set 3)", MACHINE_IS_SKELETON ) - -GAME( 2001, btippers, 0, wms, wms, wms_state, init_wms, ROT0, "WMS", "Big Tippers (Russian)", MACHINE_IS_SKELETON ) // U5 03/09/01 -GAME( 1998, wmsboom, 0, wms, wms, wms_state, init_wms, ROT0, "WMS", "Boom (Russian)", MACHINE_IS_SKELETON ) // U5 02/12/98 -GAME( 2000, cashcrop, 0, wms, wms, wms_state, init_wms, ROT0, "WMS", "Cash Crop (Russian)", MACHINE_IS_SKELETON ) // U5 09/05/100 -GAME( 1997, filthyr, 0, wms, wms, wms_state, init_wms, ROT0, "WMS", "Filthy Rich (English)", MACHINE_IS_SKELETON ) // U4 09/03/97 -GAME( 1997, filthyrr, filthyr, wms, wms, wms_state, init_wms, ROT0, "WMS", "Filthy Rich (Russian)", MACHINE_IS_SKELETON ) // U4 09/03/97 -GAME( 2003, hottop, 0, wms, wms, wms_state, init_wms, ROT0, "WMS", "Hot Toppings (English)", MACHINE_IS_SKELETON ) // U5 04/22/103 -GAME( 2001, hottopa, hottop, wms, wms, wms_state, init_wms, ROT0, "WMS", "Hot Toppings (Russian?)", MACHINE_IS_SKELETON ) // U5 06/26/101 -GAME( 1998, inwinner, 0, wms, wms, wms_state, init_wms, ROT0, "WMS", "Instant Winner (Russian)", MACHINE_IS_SKELETON ) // U5 11/25/98 -GAME( 1998, inwinners, inwinner, wms, wms, wms_state, init_wms, ROT0, "WMS", "Instant Winner (Spanish)", MACHINE_IS_SKELETON ) // ??? -GAME( 1998, jptparty, 0, wms, wms, wms_state, init_wms, ROT0, "WMS", "Jackpot Party (Russian)", MACHINE_IS_SKELETON ) // U5 04/01/98 -GAME( 2001, leprgld, 0, wms, wms, wms_state, init_wms, ROT0, "WMS", "Leprechaun's Gold (Russian)", MACHINE_IS_SKELETON ) // U5 08/20/101 -GAME( 2001, leprglds, leprgld, wms, wms, wms_state, init_wms, ROT0, "WMS", "Leprechaun's Gold (Spanish)", MACHINE_IS_SKELETON ) // U5 08/20/101 -GAME( 2000, lol, 0, wms, wms, wms_state, init_wms, ROT0, "WMS", "Life of Luxury (Russian)", MACHINE_IS_SKELETON ) // U3 08/30/100 -GAME( 2001, lovewin, 0, wms, wms, wms_state, init_wms, ROT0, "WMS", "Love To Win (Russian)", MACHINE_IS_SKELETON ) // U5 04/18/101 -GAME( 2001, mtburn, 0, wms, wms, wms_state, init_wms, ROT0, "WMS", "Money To Burn (English)", MACHINE_IS_SKELETON ) // U5 08/02/101 -GAME( 2000, mtburnr, mtburn, wms, wms, wms_state, init_wms, ROT0, "WMS", "Money To Burn (Russian)", MACHINE_IS_SKELETON ) // U5 02/11/100 -GAME( 2000, otchart, 0, wms, wms, wms_state, init_wms, ROT0, "WMS", "Off The Charts (Russian)", MACHINE_IS_SKELETON ) // U5 07/31/100 -GAME( 2000, perfect, 0, wms, wms, wms_state, init_wms, ROT0, "WMS", "Perfect Game (Russian)", MACHINE_IS_SKELETON ) // U5 03/17/100 -GAME( 1997, reelemin, 0, wms, wms, wms_state, init_wms, ROT0, "WMS", "Reel 'Em In (English)", MACHINE_IS_SKELETON ) // U4 01/22/97 -GAME( 1997, reeleminr, reelemin, wms, wms, wms_state, init_wms, ROT0, "WMS", "Reel 'Em In (Russian)", MACHINE_IS_SKELETON ) // U4 01/22/97 -GAME( 200?, sonoth, 0, wms, wms, wms_state, init_wms, ROT0, "WMS", "Something For Nothing (Russian)", MACHINE_IS_SKELETON ) // ??? -GAME( 2000, swingin, 0, wms, wms, wms_state, init_wms, ROT0, "WMS", "Swingin In The Green (Russian)", MACHINE_IS_SKELETON ) // U5 03/17/100 -GAME( 1999, wmstopb, 0, wms, wms, wms_state, init_wms, ROT0, "WMS", "Top Banana (Russian)", MACHINE_IS_SKELETON ) // U4 04/30/99 -GAME( 1999, wdun, 0, wms, wms, wms_state, init_wms, ROT0, "WMS", "Who Dunnit (Russian)", MACHINE_IS_SKELETON ) // U5 09/02/99 -GAME( 2000, winbid, 0, wms, wms, wms_state, init_wms, ROT0, "WMS", "Winning Bid (English)", MACHINE_IS_SKELETON ) // U5 10/09/100 -GAME( 1999, winbidr, winbid, wms, wms, wms_state, init_wms, ROT0, "WMS", "Winning Bid (Russian)", MACHINE_IS_SKELETON ) // U5 09/07/99 -GAME( 2000, wldstrek, 0, wms, wms, wms_state, init_wms, ROT0, "WMS", "Wild Streak (Russian)", MACHINE_IS_SKELETON ) // U4 04/11/100 -GAME( 2000, yukongld, 0, wms, wms, wms_state, init_wms, ROT0, "WMS", "Yukon Gold (Russian)", MACHINE_IS_SKELETON ) // U5 11/06/00 +GAME( 200?, wms, 0, wms, wms, wms_state, init_wms, ROT0, "WMS", "WMS SetUp/Clear Chips (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, wmsa, wms, wms, wms, wms_state, init_wms, ROT0, "WMS", "WMS SetUp/Clear Chips (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, wmsb, wms, wms, wms, wms_state, init_wms, ROT0, "WMS", "WMS SetUp/Clear Chips (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) + +GAME( 2001, btippers, 0, wms, wms, wms_state, init_wms, ROT0, "WMS", "Big Tippers (Russian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // U5 03/09/01 +GAME( 1998, wmsboom, 0, wms, wms, wms_state, init_wms, ROT0, "WMS", "Boom (Russian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // U5 02/12/98 +GAME( 2000, cashcrop, 0, wms, wms, wms_state, init_wms, ROT0, "WMS", "Cash Crop (Russian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // U5 09/05/100 +GAME( 1997, filthyr, 0, wms, wms, wms_state, init_wms, ROT0, "WMS", "Filthy Rich (English)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // U4 09/03/97 +GAME( 1997, filthyrr, filthyr, wms, wms, wms_state, init_wms, ROT0, "WMS", "Filthy Rich (Russian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // U4 09/03/97 +GAME( 2003, hottop, 0, wms, wms, wms_state, init_wms, ROT0, "WMS", "Hot Toppings (English)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // U5 04/22/103 +GAME( 2001, hottopa, hottop, wms, wms, wms_state, init_wms, ROT0, "WMS", "Hot Toppings (Russian?)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // U5 06/26/101 +GAME( 1998, inwinner, 0, wms, wms, wms_state, init_wms, ROT0, "WMS", "Instant Winner (Russian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // U5 11/25/98 +GAME( 1998, inwinners, inwinner, wms, wms, wms_state, init_wms, ROT0, "WMS", "Instant Winner (Spanish)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // ??? +GAME( 1998, jptparty, 0, wms, wms, wms_state, init_wms, ROT0, "WMS", "Jackpot Party (Russian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // U5 04/01/98 +GAME( 2001, leprgld, 0, wms, wms, wms_state, init_wms, ROT0, "WMS", "Leprechaun's Gold (Russian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // U5 08/20/101 +GAME( 2001, leprglds, leprgld, wms, wms, wms_state, init_wms, ROT0, "WMS", "Leprechaun's Gold (Spanish)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // U5 08/20/101 +GAME( 2000, lol, 0, wms, wms, wms_state, init_wms, ROT0, "WMS", "Life of Luxury (Russian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // U3 08/30/100 +GAME( 2001, lovewin, 0, wms, wms, wms_state, init_wms, ROT0, "WMS", "Love To Win (Russian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // U5 04/18/101 +GAME( 2001, mtburn, 0, wms, wms, wms_state, init_wms, ROT0, "WMS", "Money To Burn (English)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // U5 08/02/101 +GAME( 2000, mtburnr, mtburn, wms, wms, wms_state, init_wms, ROT0, "WMS", "Money To Burn (Russian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // U5 02/11/100 +GAME( 2000, otchart, 0, wms, wms, wms_state, init_wms, ROT0, "WMS", "Off The Charts (Russian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // U5 07/31/100 +GAME( 2000, perfect, 0, wms, wms, wms_state, init_wms, ROT0, "WMS", "Perfect Game (Russian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // U5 03/17/100 +GAME( 1997, reelemin, 0, wms, wms, wms_state, init_wms, ROT0, "WMS", "Reel 'Em In (English)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // U4 01/22/97 +GAME( 1997, reeleminr, reelemin, wms, wms, wms_state, init_wms, ROT0, "WMS", "Reel 'Em In (Russian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // U4 01/22/97 +GAME( 200?, sonoth, 0, wms, wms, wms_state, init_wms, ROT0, "WMS", "Something For Nothing (Russian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // ??? +GAME( 2000, swingin, 0, wms, wms, wms_state, init_wms, ROT0, "WMS", "Swingin In The Green (Russian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // U5 03/17/100 +GAME( 1999, wmstopb, 0, wms, wms, wms_state, init_wms, ROT0, "WMS", "Top Banana (Russian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // U4 04/30/99 +GAME( 1999, wdun, 0, wms, wms, wms_state, init_wms, ROT0, "WMS", "Who Dunnit (Russian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // U5 09/02/99 +GAME( 2000, winbid, 0, wms, wms, wms_state, init_wms, ROT0, "WMS", "Winning Bid (English)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // U5 10/09/100 +GAME( 1999, winbidr, winbid, wms, wms, wms_state, init_wms, ROT0, "WMS", "Winning Bid (Russian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // U5 09/07/99 +GAME( 2000, wldstrek, 0, wms, wms, wms_state, init_wms, ROT0, "WMS", "Wild Streak (Russian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // U4 04/11/100 +GAME( 2000, yukongld, 0, wms, wms, wms_state, init_wms, ROT0, "WMS", "Yukon Gold (Russian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // U5 11/06/00 diff --git a/src/mame/misc/yuvomz80.cpp b/src/mame/misc/yuvomz80.cpp index 368a0b53692e8..aa308c49e3005 100644 --- a/src/mame/misc/yuvomz80.cpp +++ b/src/mame/misc/yuvomz80.cpp @@ -169,5 +169,5 @@ ROM_END } // anonymous namespace -GAME( 1995, hexaprs, 0, hexaprs, hexaprs, yuvomz80_state, empty_init, ROT0, "Yuvo / Yubis", "Hexa President (YM2610 set)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1995, hexaprsz, hexaprs, hexaprsz, hexaprs, yuvomz80_state, empty_init, ROT0, "Yuvo / Yubis", "Hexa President (YMZ280B set)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1995, hexaprs, 0, hexaprs, hexaprs, yuvomz80_state, empty_init, ROT0, "Yuvo / Yubis", "Hexa President (YM2610 set)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1995, hexaprsz, hexaprs, hexaprsz, hexaprs, yuvomz80_state, empty_init, ROT0, "Yuvo / Yubis", "Hexa President (YMZ280B set)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/mitsubishi/multi8.cpp b/src/mame/mitsubishi/multi8.cpp index 7e747f63b3553..9d60fad07dc13 100644 --- a/src/mame/mitsubishi/multi8.cpp +++ b/src/mame/mitsubishi/multi8.cpp @@ -372,7 +372,7 @@ void multi8_state::io_map(address_map &map) /* Input ports */ static INPUT_PORTS_START( multi8 ) PORT_START("VBLANK") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM) PORT_VBLANK("screen") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("key1") //0x00-0x1f PORT_BIT(0x00000001,IP_ACTIVE_HIGH,IPT_UNUSED) //0x00 null diff --git a/src/mame/mitsubishi/trium.cpp b/src/mame/mitsubishi/trium.cpp index 8865356ae2e1e..e254654768fe7 100644 --- a/src/mame/mitsubishi/trium.cpp +++ b/src/mame/mitsubishi/trium.cpp @@ -69,4 +69,4 @@ ROM_END } // anonymous namespace -SYST(2002, triumec, 0, 0, trium, trium, trium_state, empty_init, "Mitsubishi", "Trium Eclipse", MACHINE_IS_SKELETON) +SYST(2002, triumec, 0, 0, trium, trium, trium_state, empty_init, "Mitsubishi", "Trium Eclipse", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/moog/source.cpp b/src/mame/moog/source.cpp new file mode 100644 index 0000000000000..490ffa7235ba2 --- /dev/null +++ b/src/mame/moog/source.cpp @@ -0,0 +1,839 @@ +// license:BSD-3-Clause +// copyright-holders:m1macrophage + +/* +The Moog Source is a CPU-controlled analog monosynth. It lacks knobs and +sliders. Sound parameters are modified by pressing a button for a specific +parameter and using the encoder wheel to modify it. + +The architecture of this synthesizer is typical of digitally-controlled analog +synthesizers. The firmware is responsible for: +* Scanning and reacting to membrane button presses. This is a typical key + matrix setup (see buttons_latch_w(), buttons_a_r(), buttons_b_r()). +* Detecting which key is pressed on the keyboard (see get_keyboard_v()). +* Setting Control Voltages (aka CVs). Detailed info in cv_w(). +* Configuring audio and modulation routing through 4016 switches. See + output_latch_a_w(), output_latch_b_w(). +* Controlling the Loudness and Filter envelope generators (EGs). Starts the + Attack phase when a key is pressed, detects when an EG peaks and transitions + it to the Decay phase, and transitions EGs to the Release phase when a key is + released. +* Controlling the LED displays and cassette I/O. + +The 16 sound programs are stored in battery-backed NVRAM, and can also be stored +to (and loaded from) a cassette. + +This driver is based on the Source's schematics. Most of the circuitry +relevant to this driver is on Board 3 (digital board). Component designations in +comments refer to Board 3, unless otherwise noted. + +This driver attempts to accurately emulate the digital and digital-analog +interface of the synthesizer, including all analog behavior that is relevant to +the firmware. There are still some TODOs left to fully achieve this goal. There +is no attempt to emulate the analogue audio circuit. The driver includes an +interactive layout, and is intended as an educational tool. + +TODO: +- Emulation of MOD input to the CPU. +- Emulation of envelope generator timing. +- Cassette input/output. +*/ + +#include "emu.h" + +#include "cpu/z80/z80.h" +#include "machine/nvram.h" +#include "machine/rescap.h" + +#include "moog_source.lh" + +#define LOG_CV (1U << 1) +#define LOG_BUTTONS (1U << 2) +#define LOG_ENCODER (1U << 3) +#define LOG_KEYBOARD (1U << 4) +#define LOG_CV_KEYBOARD_APPROX (1U << 5) +#define VERBOSE (LOG_GENERAL|LOG_CV) +#define LOG_OUTPUT_FUNC osd_printf_info +#include "logmacro.h" + +namespace +{ + +constexpr const char MAINCPU_TAG[] = "z80"; +constexpr const char NVRAM_TAG[] = "nvram"; + +class source_state : public driver_device +{ +public: + source_state(const machine_config& mconfig, device_type type, + const char* tag) ATTR_COLD + : driver_device(mconfig, type, tag) + , m_maincpu(*this, MAINCPU_TAG) + , m_octave_io(*this, "octave_buttons") + , m_button_a_io(*this, "button_group_a_%d", 0U) + , m_button_b_io(*this, "button_group_b_%d", 0U) + , m_keyboard_io(*this, "keyboard_oct_%d", 1U) + , m_encoder(*this, "incremental_controller") + , m_trigger_io(*this, "trigger_in") + , m_contour_peaked_io(*this, "contour_peaked") + , m_octave_led(*this, "octave_led_%d") + , m_program_display(*this, "program_digit_%d") + , m_edit_display(*this, "edit_digit_%d") + , m_edit_led(*this, "edit_led") + , m_kb_track(*this, "kb_track") + , m_osc_waveform(*this, "osc_%d_waveform", 1U) + , m_sync(*this, "sync") + , m_lfo_to_filter(*this, "lfo_to_filter") + , m_lfo_to_osc(*this, "lfo_to_osc") + , m_lfo_shape(*this, "lfo_shape") + , m_trigger_out(*this, "trigger_out") + , m_cv(static_cast(CV::SIZE), -1) + {} + + void source(machine_config& config) ATTR_COLD; + + void machine_start() override ATTR_COLD; + void machine_reset() override ATTR_COLD; + + DECLARE_INPUT_CHANGED_MEMBER(octave_button_pressed); + DECLARE_INPUT_CHANGED_MEMBER(encoder_moved); + +private: + void update_octave_leds(); + + void edit_latch_w(u8 data); + void output_latch_a_w(u8 data); + void output_latch_b_w(u8 data); + void buttons_latch_w(u8 data); + void program_latch_w(u8 data); + void cassette_w(u8 data); + void cv_w(offs_t offset, u8 data); + + float get_keyboard_v() const; + u8 keyboard_r(); + u8 buttons_r(const required_ioport_array<6>& button_io, const char* name) const; + u8 buttons_a_r(); + u8 buttons_b_r(); + u8 encoder_r(); + + void memory_map(address_map& map) ATTR_COLD; + void io_map(address_map& map) ATTR_COLD; + + required_device m_maincpu; + required_ioport m_octave_io; + required_ioport_array<6> m_button_a_io; + required_ioport_array<6> m_button_b_io; + required_ioport_array<4> m_keyboard_io; + required_ioport m_encoder; + required_ioport m_trigger_io; + required_ioport m_contour_peaked_io; + + output_finder<2> m_octave_led; + output_finder<2> m_program_display; + output_finder<2> m_edit_display; + output_finder<> m_edit_led; + output_finder<> m_kb_track; + output_finder<2> m_osc_waveform; + output_finder<> m_sync; + output_finder<> m_lfo_to_filter; + output_finder<> m_lfo_to_osc; + output_finder<> m_lfo_shape; + output_finder<> m_trigger_out; + + bool m_octave_hi = true; // `true` due to internal pullups of 74LS367 and 7404. + u8 m_button_row_latch = 0xff; + bool m_encoder_incr = false; + + // All MUXes are CD4051B. + // Component designations refer to board 2 (synthesizer board). + // The enum names match the CV labels in the schematic, but some + // abbreviations are expanded. + enum class CV : int + { + // U2 + CUTOFF_COARSE = 0, + AUTO_TUNE_2, + INT_COARSE, + CUTOFF_FINE, + PW_1, + PW_2, + INT_FINE, + OCT_2, + + // U4 + FILTER_CONTOUR_LEVEL, + OCT_1, + GLIDE, + LOUDNESS_COUNTOUR_LEVEL, + OSC_2, + NOISE, + UNUSED, // Sampled in (C22, U10A), but not used. + OSC_1, + + // U5 + EMPHASIS, + NOT_CONNECTED, // U5, Y1 (pin 14) is not connected. + AMT, // Filter contout amount. + RATE, // Modulation (LFO) rate. + KEYBOARD_APPROX, + KEYBOARD_CV, + FILTER_CONTOUR_RATE, + LOUDNESS_CONTOUR_RATE, + + SIZE + }; + std::vector m_cv; + + static constexpr const float MAX_CV = 10; // In Volts. + static constexpr const u8 PATTERNS_7447[16] = + { + 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7c, 0x07, + 0x7f, 0x67, 0x58, 0x4c, 0x62, 0x69, 0x78, 0x00, + }; +}; + +void source_state::update_octave_leds() +{ + m_octave_led[0] = m_octave_hi ? 0 : 1; + m_octave_led[1] = m_octave_hi ? 1 : 0; +} + +void source_state::edit_latch_w(u8 data) +{ + // U3 (74LS378) 0-4 (D0-D4) -> U3 (7447, Board 4) A-D -> U4 (MAN 3610A). + // U3 4-5 not connected. + m_edit_display[0] = PATTERNS_7447[data & 0x0f]; + + // U4 (74LS378) 0-4 (D4-D7)-> U5 (7447, Board 4) A-D -> U6 (MAN 3610A). + m_edit_display[1] = PATTERNS_7447[(data >> 4) & 0x0f]; + + // U4 (74LS378) 5, 6 (D0, D7) -> J1-5 (cassette interface, "cassette out"). + // TODO: Add cassette support. +} + +void source_state::output_latch_a_w(u8 data) +{ + // Latch is U11, 74LS378 (Board 3). 6-bit latch, top 2 bits ignored. + // All component designations are for Board 2. + + // Keyboard tracking for filter, bits D0 and D1. + const u8 kb_track = data & 0x03; + if (kb_track == 1) + { + // 1/2 tracking. U36C on and U36B off. + // Keyboard CV mixed in via 342Kohm resistance (2 x 121K: R142, R143). + m_kb_track = 1; + } + else if (kb_track == 2 || kb_track == 3) + { + // Full tracking. + // Only U36B on (kb_track == 2), or both U36B and U36C on + // (kb_track == 3). + // In both cases, keyboard CV is mixed in via a 121KOhm resistor (R142). + m_kb_track = 2; + } + else + { + // Both U36B and U36B are off. Keyboard CV does not make it through. + m_kb_track = 0; + } + + // Osc 2 waveform, bits D2 and D3. + // 0 - Sawtooth (U32A closed, U32B open, U32C closed, U32D closed). + // 1 - Triangle (U32A closed, U32B closed, U32D open, U32C open). + // 2 - Square/pulse (U32A open, U32B closed, U32C open, U32D closed). + // 3 - Mix of Triange and Square/Pulse (probably unused) + // (U32A open, U32B closed, U32C open, U32D open). + m_osc_waveform[1] = (data >> 2) & 0x03; + + // Osc 1 waveform, bits D4 and D5. + // Same swithc configuration as above, but replace U32 with U23. + m_osc_waveform[0] = (data >> 4) & 0x03; +} + +void source_state::output_latch_b_w(u8 data) +{ + // Latch is U12, 74LS378 (Board 3). 6-bit latch, top 2 bits ignored. + + // D0 -> S21-16 -> Sync. Synchronizes osc 2 to osc 1. + // When sync is on, the pitch wheel is only routed to Osc 2. + // When 1, Q2 is "off", U18B and C are off, U18A on, pitch wheel routed + // to osc 2 only. + // When 0, Q2 is "on", U18B is on (routes pitch wheel to central pitch), + // U18C is "on", which turns off U18A (disables direct route to osc 2). + m_sync = BIT(data, 0); + + // D1 -> inverted by U2A (Board 3), and connected to cathode of led. + // The led is active low, but the inverter presents it as active high. + m_edit_led = BIT(data, 1); + + // D2 -> J2 S-TRIG OUT, inverted via Q1, R21, R20 (Board 3). + m_trigger_out = BIT(data, 2) ? 0 : 1; + + // Component designations below refer to Board 2. + + // D3 -> S22-4 -> U46A (inverted and level-shifted to -5-5V through 4007B + // and R213): mod to filter. + m_lfo_to_filter = BIT(data, 3) ? 0 : 1; + + // D4 -> S22-3 -> U18D (inverted and level-shifted to -5-5V through 4007B + // and R61): mod to osc. + m_lfo_to_osc = BIT(data, 4) ? 0 : 1; + + // D5 -> S22-2 (level shifted & inverted to -5-5V through 4007B and R214) + // 0 - Triange (U46C on, U46B on, turns off U46D). -1.5V - 1.5V. + // 1 - Square (U46C off, U46B off, U46D on/off controlled by square + // wave. Translates -14V - 14V wave to 0-5V. + m_lfo_shape = BIT(data, 5); +} + +void source_state::buttons_latch_w(u8 data) +{ + // U5, 74LS378. All output connected to diode cathodes. + // Connected to "Membrane switch interface", P1, "top left". + // (D0, D1, D2, D3, D4, D5) -> (P1-1, P1-5, P1-6, P1-2, P1-4, P1-3) + m_button_row_latch = data & 0x3f; // Only D0-D5 connected. +} + +void source_state::program_latch_w(u8 data) +{ + // U1, 74LS378 + // D0-D3 -> U1 (7447, Board 4) A-D -> right digit of MAN6630. + // D4 -> inverted (U2E, U2D, 7404) -> left 1/2 digit of MAN6630 + // (inputs a and b). + // D5 -> inverted (U2A, 7404) -> HOLD ->"plus" sign of MAN6630. + // Note that MAN6630 has 3 "digits". From right to left: + // - 7-segment digit. + // - 2-segment digit (can represent a "1"). + // - "+" sign. + // Here, we simulate this with two 7-segment digits. + + m_program_display[0] = PATTERNS_7447[data & 0x0f]; + + u8 digit1 = PATTERNS_7447[15]; // All segments off. + if (BIT(data, 4)) + { + digit1 |= PATTERNS_7447[1]; // Turn on segments for "1". + } + if (BIT(data, 5)) + { + // This enables two segments on the MAN6630 that display a "+" symbol. + // Since 7-segment displays don't support that, enable the segment for + // "-" instead. + digit1 |= 0x40; + } + m_program_display[1] = digit1; +} + +void source_state::cassette_w(u8 data) +{ + // Z80 D4 controlls a normally-open relay (K1) through U22A (74LS74). + // A low D4 powers the relay, which connects cassette jack J1-1 to J1-3. + // TODO: Add cassette support. +} + +void source_state::cv_w(offs_t offset, u8 data) +{ + // CVs are generated by writing to an AM6012 12-bit DAC, but only 8 bits are + // used: the 8 MSBs are connected to the data bus, and the 4 LSBs are + // grounded. The DAC is mapped to the Z80's port IO space. + // The DAC and support circuitry convert the 8 bit data (0-255) to a voltage + // (0-10V). That voltage is routed to the Sample & Hold circuit (a + // capacitor and a buffer) of a specific CV, controlled by A0-A4. + + // Interesting tidbit: In most designs, the DAC inputs are + // latched. In the Source, the DAC inputs are directly connected to the data + // bus. This means the DAC output voltage is constantly changing, in an + // attempt to track the data bus. + + if (!machine().side_effects_disabled()) + { + // U14, U15B, U16D,E and U17D generate WAIT states whenever there is + // an IO write. This lasts 32 cycles. + // For the first 8 cycles, no MUX is selected, to allow the DAC to + // settle. Then a specific channel in a specific MUX is enabled (based + // on the port address), and there's a WAIT for another 24 cycles, to + // allow the selected Sample & Hold capacitor to (dis)charge. + m_maincpu->adjust_icount(-(8 + 24)); + } + + // Z80 A0,A1,A2 connected to the A,B,C inputs (respectively) of all MUXes. + // Z80 A3,A4 select which MUX to enable via decoder 74LS155. + // The fourth output of the decoder is not connected. There are 3 muxes. + + if (offset >= static_cast(CV::SIZE)) + return; + + const float cv = MAX_CV * data / 255.0f; + if (cv == m_cv.at(offset)) + return; + m_cv.at(offset) = cv; + + if (offset == static_cast(CV::KEYBOARD_APPROX)) + LOGMASKED(LOG_CV_KEYBOARD_APPROX, + "CV %d: 0x%02x, %f\n", offset, data, cv); + else + LOGMASKED(LOG_CV, "CV %d: 0x%02x, %f\n", offset, data, cv); +} + +float source_state::get_keyboard_v() const +{ + // *** Detect which key is pressed. + + static constexpr const int OCTAVES = 4; + static constexpr const int KEYS_PER_OCTAVE = 12; + static constexpr const int KEYS = 3 * KEYS_PER_OCTAVE + 1; + static constexpr const int OCTAVE_KEYS[4] = + { + KEYS_PER_OCTAVE, KEYS_PER_OCTAVE, KEYS_PER_OCTAVE, 1 + }; + + // The circuit is structure such that the lowest note has priority. + // Scan from lowest, and exit the loop once a pressed key is found. + int pressed_key = -1; + for (int octave = 0; octave < OCTAVES; ++octave) + { + const u32 keys = m_keyboard_io[octave]->read(); + for (int key = 0; key < OCTAVE_KEYS[octave]; ++key) + { + if (BIT(keys, key)) + { + pressed_key = octave * KEYS_PER_OCTAVE + key; + break; + } + } + if (pressed_key >= 0) + break; + } + + // *** Convert pressed key to a voltage. + + static constexpr const float KEYBOARD_VREF = 8.24; // From schematic. + static constexpr const float RKEY = RES_R(100); + static constexpr const float R74 = RES_R(150); + static constexpr const float R76 = RES_K(220); + static constexpr const float R77 = RES_K(2.2); + + float kb_voltage = 0; + if (pressed_key >= 0) + { + // Pressing a key forms a voltage devider consisting of the lower and + // upper resistances as shown below. The resulting voltage is further + // reduced by another voltage divider (R77-R76) before being fed to + // comparator U31A. + const float lower_r = R74 + pressed_key * RKEY; + const float upper_r = (KEYS - pressed_key - 1) * RKEY; + const float v = KEYBOARD_VREF * RES_VOLTAGE_DIVIDER(upper_r, lower_r); + kb_voltage = v * RES_VOLTAGE_DIVIDER(R77, R76); + LOGMASKED(LOG_KEYBOARD, "Key %d - %f - %f\n", pressed_key, v, + kb_voltage); + } + return kb_voltage; +} + +u8 source_state::keyboard_r() +{ + // U32: 74LS367 + // U18: 74LS125 + + // D0 <- U32, KEYBD. + // Output of comparator U31A. Compares the "KYBD APPROX" CV with the voltage + // generated by the keyboad (see get_keyboard_r()). This bit is used by a + // successive approximation algorithm to detect the keyboard voltage. The + // firmware does a binary search by checking the result of the comparison + // and updating the "KYBD APPROX" CV accordingly. + // TODO: Compute keyboard voltage in an input callback. + static constexpr const int KB_APPROX_INDEX = + static_cast(CV::KEYBOARD_APPROX); + const u8 d0 = (get_keyboard_v() >= m_cv.at(KB_APPROX_INDEX)) ? 1 : 0; + + // D1, D2: Loudness and Filter contour peaks. + // D1 <- U32, FILT CNTR <- S22-11: 0 when envolope reaches almost 10V + // (with some hysteresis). + // D2 <- U32, LOUD CNTR <- S22-10: 0 when envelope reaches almost 10V + // (with some hysteresis). + // TODO: Treating as inputs for now, until contour timing is emulated. + const u8 contour_peaked = m_contour_peaked_io->read(); + const u8 d1 = BIT(contour_peaked, 0); + const u8 d2 = BIT(contour_peaked, 1); + + // D3: Octave. <- U32, OCT (P34-2 (octave 0 button) and P34-1 (octave +1 + // button) via U2B and U2C). + const u8 d3 = m_octave_hi ? 1 : 0; + + // D4 <- J1-4, CASSETTE IN (through "cassette return" circuit and U18D). + const u8 d4 = 1; // TODO: Implement. + + // D5 <- U32, MOD (->P34-5) 1 when s22-5 low, otherwise 0. + const u8 d5 = 0; // TODO: Implement. + + // D6 <- J2-5, S-TRIG IN, through U18C, pulled up by R23 and protected by + // R22. + const u8 d6 = BIT(m_trigger_io->read(), 0); + + // D7 <- U32, N.C. <- 1 (data bus is pulled high). + const u8 d7 = 1; + + return (d7 << 7) | (d6 << 6) | (d5 << 5) | (d4 << 4) | + (d3 << 3) | (d2 << 2) | (d1 << 1) | d0; +} + +u8 source_state::buttons_r( + const required_ioport_array<6>& button_io, const char* name) const +{ + // Button presses are active low, but the result is inverted by a CD4502. + // So they look active high to the firmware. + u8 pressed = 0x00; + for (int i = 0; i < 6; ++i) + { + if (!BIT(m_button_row_latch, i)) + pressed |= static_cast(~button_io[i]->read() & 0xff); + } + // Bits 6 and 7 are not connected to the button input and pulled high. + pressed |= 0xc0; + if (pressed & 0x3f) + { + LOGMASKED(LOG_BUTTONS, "Button read %s - %02X: %02X\n", + name, m_button_row_latch, pressed); + } + return pressed; +} + +u8 source_state::buttons_a_r() +{ + // U8, CD4502B (connceted to "Membrane switch interface", P2, "Bottom left") + // (D0, D1, D2, D3, D4, D5) <- (P2-1, P2-3, P2-2, P2-6, P2-5, P2-4) + return buttons_r(m_button_a_io, "A"); +} + +u8 source_state::buttons_b_r() +{ + // U9, CD4502B (connected to "Membrane switch interface", P3, "Bottom right") + // (D0, D1, D2, D3, D4, D5, D6, D7) <- (P3-2, P3-1, P3-3, P3-6, P3-5, P3-4) + return buttons_r(m_button_b_io, "B"); +} + +u8 source_state::encoder_r() +{ + // D0 contains whether the encoder was last incremented or decremented. + LOGMASKED(LOG_ENCODER, + "Encoder read: %d - %d\n", m_encoder->read(), m_encoder_incr); + // Reading the encoder's state also clears /INT (via U21B, U7A and U15A). + if (!machine().side_effects_disabled()) + m_maincpu->set_input_line(INPUT_LINE_IRQ0, CLEAR_LINE); + return m_encoder_incr ? 1 : 0; +} + +void source_state::memory_map(address_map& map) +{ + // Address decoding done through U26, 74LS138, E1=E2=0, E3=1, + // A0-A2 = Z80 A13-A15. + // Z80 A12 is not connected. + // The signal names below (e.g. "ROM /EN", "RAM /EN") match those in the + // schematics. + + // ROM /EN: 0x0000-0x1fff. + // 1 x 2532 (4K, 8bit) ROM, U23. + map(0x0000, 0x0fff).mirror(0x1000).rom(); + // 2 x 74LS378. Z80 and latch data lines are not connected in order. + map(0x0000, 0x0000).mirror(0x1fff).w(FUNC(source_state::edit_latch_w)); + + // RAM /EN: 0x2000-0x3fff. + // 2 x 6514 (1K, 4bit) NVRAMs. U27: D0-D3, U28: D4-D7. + // Z80 A0-A1 -> RAM A0-A1. Z80 A2-A8 -> RAM A3-A9. Z80 A9 -> RAM A2. + map(0x2000, 0x23ff).mirror(0x1c00).ram().share(NVRAM_TAG); + + // OUTPUT /EN: 0x4000-0x5fff. + // 2 output latches (74LS378, U11 and U12) enabled by 74LS155 (U13B), + // with Z80 A3-A4 as inputs to A0-A1. O2 and O3 are not connected, so + // A4=1 does not enable anything. + map(0x4000, 0x4000).mirror(0x1fe7).w(FUNC(source_state::output_latch_a_w)); + map(0x4008, 0x4008).mirror(0x1fe7).w(FUNC(source_state::output_latch_b_w)); + + // KYBD /EN: 0x6000-0x7fff. + // 74LS367, U32 + map(0x6000, 0x6000).mirror(0x1fff).r(FUNC(source_state::keyboard_r)); + // 74LS74, U22A. D <- Z80 D4. + map(0x6000, 0x6000).mirror(0x1fff).w(FUNC(source_state::cassette_w)); + + // FRONT PANEL /EN1: 0x8000-0x9fff. + // CD4502, U8. + map(0x8000, 0x8000).mirror(0x1fff).r(FUNC(source_state::buttons_a_r)); + // 74LS378, U5. + map(0x8000, 0x8000).mirror(0x1fff).w(FUNC(source_state::buttons_latch_w)); + + // FRONT PANEL /EN2: 0xa000-0xbfff. + // CD4502, U9 + map(0xa000, 0xa000).mirror(0x1fff).r(FUNC(source_state::buttons_b_r)); + + // DISPLAY /EN: 0xc000-0xdfff. + // 74LS378, U1. + map(0xc000, 0xc000).mirror(0x1fff).w(FUNC(source_state::program_latch_w)); + + // CNTRL /EN: 0xe000-0xffff. (typo in schematic: 0xefff-0xffff). + map(0xe000, 0xe000).mirror(0x1fff).r(FUNC(source_state::encoder_r)); +} + +void source_state::io_map(address_map& map) +{ + map.global_mask(0xff); + map(0x00, 0x1f).mirror(0xe0).w(FUNC(source_state::cv_w)); +} + +void source_state::machine_start() +{ + m_octave_led.resolve(); + m_program_display.resolve(); + m_edit_display.resolve(); + m_edit_led.resolve(); + m_kb_track.resolve(); + m_osc_waveform.resolve(); + m_sync.resolve(); + m_lfo_to_filter.resolve(); + m_lfo_to_osc.resolve(); + m_lfo_shape.resolve(); + m_trigger_out.resolve(); + + save_item(NAME(m_octave_hi)); + save_item(NAME(m_button_row_latch)); + save_item(NAME(m_encoder_incr)); + save_item(NAME(m_cv)); +} + +void source_state::machine_reset() +{ + update_octave_leds(); +} + +void source_state::source(machine_config& config) +{ + // /M1, /RFSH not Connected. + // /HALT, /NMI pulled up to 5V, with no other connection. + Z80(config, m_maincpu, 4_MHz_XTAL / 2); // Divided by 2 through U22B. + m_maincpu->set_addrmap(AS_PROGRAM, &source_state::memory_map); + m_maincpu->set_addrmap(AS_IO, &source_state::io_map); + + NVRAM(config, NVRAM_TAG, nvram_device::DEFAULT_ALL_0); // 2x6514: U27, U28. + + config.set_default_layout(layout_moog_source); +} + +DECLARE_INPUT_CHANGED_MEMBER(source_state::octave_button_pressed) +{ + // Inverters U2B and U2C (Board 3) are configured as an SR flip-flop, with + // SW1 and SW2 (Board 5) as Reset and Set respectively. + + // Inputs are active low. + const u8 input = m_octave_io->read(); + const bool octave_0 = (input & 0x01) == 0; // "0", SW1 (Board 5). + const bool octave_p1 = (input & 0x02) == 0; // "+1", SW2 (Board 5). + if (!octave_0 && octave_p1) + { + m_octave_hi = true; + } + else if (octave_0 && !octave_p1) + { + m_octave_hi = false; + } + else if (octave_0 && octave_p1) + { + // The selected octave is undefined in this case, so it is not updated. + // An octave will be selected when one of the two buttons is released. + } + else + { + // No buttons pressed. No change in selected octave. + } + update_octave_leds(); +} + +DECLARE_INPUT_CHANGED_MEMBER(source_state::encoder_moved) +{ + static constexpr const int WRAP_BUFFER = 10; + const bool overflowed = newval <= WRAP_BUFFER && + oldval >= 240 - WRAP_BUFFER; + const bool underflowed = newval >= 240 - WRAP_BUFFER && + oldval <= WRAP_BUFFER; + m_encoder_incr = ((newval > oldval) || overflowed) && !underflowed; + m_maincpu->set_input_line(INPUT_LINE_IRQ0, ASSERT_LINE); + LOGMASKED(LOG_ENCODER, "Encoder changed: %d %d\n", newval, m_encoder_incr); +} + +INPUT_PORTS_START(source) + PORT_START("button_group_a_0") + PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Memory STORE") PORT_CODE(KEYCODE_S) // r2p6 + PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Program 13") // r2p4 + PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Program 12") // r2p5 + PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Program 16") // r2p1 + PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Program 15") // r2p2 + PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Program 14") // r2p3 + + PORT_START("button_group_b_0") + PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Level 2") // r1p5 + PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Level 1") //r1p6 + PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Filter Contour Decay") //r1p4 + PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Filter Contour Amount") //r1p1 + PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Filter Contour Release") //r1p2 + PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Filter Contour Sustain") // r1p3 + + PORT_START("button_group_a_1") + PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_OTHER) //NC + PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Program 3") PORT_CODE(KEYCODE_3) + PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Program 2") PORT_CODE(KEYCODE_2) + PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Program 6") PORT_CODE(KEYCODE_6) + PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Program 5") PORT_CODE(KEYCODE_5) + PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Program 4") PORT_CODE(KEYCODE_4) + + PORT_START("button_group_b_1") + PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Filter Attack") + PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Mixer: OSC 2") + PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("OSC 2 Shape: Pulse") + PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Filter KB Track: OFF") + PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Filter Emphasis") + PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Filter Cutoff") + + PORT_START("button_group_a_2") + PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_OTHER) // NC + PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Program 10") PORT_CODE(KEYCODE_0) + PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Program 11") + PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Program 7") PORT_CODE(KEYCODE_7) + PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Program 8") PORT_CODE(KEYCODE_8) + PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Program 9") PORT_CODE(KEYCODE_9) + + PORT_START("button_group_b_2") + PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Loudness Decay") + PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Loudness Attack") + PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("MOD Rate") + PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_OTHER) // NC / PROGRAM 1 + PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Loudness Release") + PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Loudness Sustain") + + PORT_START("button_group_a_3") + PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_OTHER) // NC + PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("MOD To Filter: OFF") + PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Program 1") PORT_CODE(KEYCODE_1) + PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("OSC 2 Footage: 32'") + PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_OTHER) // NC / PROGRAM 1 + PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("MOD To Filter: ON") + + PORT_START("button_group_b_3") + PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Mixer: NOISE") + PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("OSC 2 Interval") + PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("OSC 2 Shape: Sawtooth") + PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("OSC 1 Shape: Pulse") + PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Filter KB Track: 1/2") + PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Filter KB Track: FULL") + + PORT_START("button_group_a_4") + PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_OTHER) // NC + PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("MOD to Osc: OFF") + PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Memory HOLD") PORT_CODE(KEYCODE_H) + PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("KB Glide") + PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("MOD Shape: Triangle") + PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("MOD to Osc: ON") + + PORT_START("button_group_b_4") + PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("OSC 2 Shape: Triange") + PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("OSC 2 Footage: 16'") + PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("SYNC: ON") + PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("OSC 1 Footage: 32'") + PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("OSC 1 Footage: 16'") + PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Mixer: OSC 1") + + PORT_START("button_group_a_5") + PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_OTHER) // NC + PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Trigger MULTI") + PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Trigger SINGLE") + PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_OTHER) // NC / PROGRAM 1 + PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("MOD Shape: Square") + PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_OTHER) // NC / PROGRAM 1 + + PORT_START("button_group_b_5") + PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("OSC 2 Footage: 8'") + PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_OTHER) // NC / PROGRAM 1 + PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("SYNC: OFF") + PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("OSC 1 Footage: 8'") + PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("OSC 1 Shape: Triange") + PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("OSC 1 Shape: Sawtooth") + + PORT_START("octave_buttons") + PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Octave 0") // SW1 (Board 5). + PORT_CHANGED_MEMBER(DEVICE_SELF, FUNC(source_state::octave_button_pressed), 0x01) + PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Octave +1") // SW2 (Board 5). + PORT_CHANGED_MEMBER(DEVICE_SELF, FUNC(source_state::octave_button_pressed), 0x02) + + PORT_START("incremental_controller") + PORT_BIT(0xff, 0x00, IPT_POSITIONAL) PORT_POSITIONS(240) PORT_WRAPS + PORT_SENSITIVITY(25) PORT_KEYDELTA(3) + PORT_CODE_DEC(KEYCODE_LEFT) PORT_CODE_INC(KEYCODE_RIGHT) PORT_FULL_TURN_COUNT(240) + PORT_CHANGED_MEMBER(DEVICE_SELF, FUNC(source_state::encoder_moved), 1) + + PORT_START("keyboard_oct_1") + PORT_BIT(0x001, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("C1") + PORT_BIT(0x002, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("C#1") + PORT_BIT(0x004, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("D1") + PORT_BIT(0x008, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("D#1") + PORT_BIT(0x010, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("E1") + PORT_BIT(0x020, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("F1") + PORT_BIT(0x040, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("F#1") + PORT_BIT(0x080, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("G1") + PORT_BIT(0x100, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("G#1") + PORT_BIT(0x200, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("A1") + PORT_BIT(0x400, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("A#1") + PORT_BIT(0x800, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("B1") + + PORT_START("keyboard_oct_2") + PORT_BIT(0x001, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("C2") + PORT_BIT(0x002, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("C#2") + PORT_BIT(0x004, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("D2") + PORT_BIT(0x008, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("D#2") + PORT_BIT(0x010, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("E2") + PORT_BIT(0x020, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("F2") + PORT_BIT(0x040, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("F#2") + PORT_BIT(0x080, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("G2") + PORT_BIT(0x100, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("G#2") + PORT_BIT(0x200, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("A2") + PORT_BIT(0x400, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("A#2") + PORT_BIT(0x800, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("B2") + + PORT_START("keyboard_oct_3") + PORT_BIT(0x001, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("C3") + PORT_BIT(0x002, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("C#3") + PORT_BIT(0x004, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("D3") + PORT_BIT(0x008, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("D#3") + PORT_BIT(0x010, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("E3") + PORT_BIT(0x020, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("F3") + PORT_BIT(0x040, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("F#3") + PORT_BIT(0x080, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("G3") + PORT_BIT(0x100, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("G#3") + PORT_BIT(0x200, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("A3") + PORT_BIT(0x400, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("A#3") + PORT_BIT(0x800, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("B3") + + PORT_START("keyboard_oct_4") + PORT_BIT(0x001, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("C4") + + PORT_START("trigger_in") // External trigger input (see keyboard_r()). + PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("S TRIG IN") PORT_CODE(KEYCODE_T) + + // TODO: User can control when contours peak, until those are emulated. + PORT_START("contour_peaked") + PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Filter Contour Peaked") PORT_CODE(KEYCODE_Z) + PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Loudness Contour Peaked") PORT_CODE(KEYCODE_X) +INPUT_PORTS_END + +// It seems like the Source was launched with firmware Revision 2.2. +// There was also a Revision 3.2, and the last official firmware release was +// Revision 3.3. +ROM_START(moogsource) + ROM_REGION(0x1000, MAINCPU_TAG, 0) + ROM_DEFAULT_BIOS("r3.3") + + ROM_SYSTEM_BIOS(0, "r3.3", "Rev 3.3") + ROMX_LOAD("3p3.u23", 0x000000, 0x001000, CRC(4211331f) SHA1(8767ef6b1cbb032a89a78bdb77bb7dbc1c187974), ROM_BIOS(0)) +ROM_END + +} // Anonymous namespace. + +SYST(1981, moogsource, 0, 0, source, source, source_state, empty_init, "Moog Music", "Moog Source", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND) + diff --git a/src/mame/motorola/ampscarp.cpp b/src/mame/motorola/ampscarp.cpp index a49666ca57a4d..f301f76c97753 100644 --- a/src/mame/motorola/ampscarp.cpp +++ b/src/mame/motorola/ampscarp.cpp @@ -54,4 +54,4 @@ ROM_END } // anonymous namespace -COMP( 1998, ampscarp, 0, 0, ampscarp, ampscarp, ampscarp_state, empty_init, "Motorola", "AMPS Car Phone", MACHINE_IS_SKELETON ) +COMP( 1998, ampscarp, 0, 0, ampscarp, ampscarp, ampscarp_state, empty_init, "Motorola", "AMPS Car Phone", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/motorola/m8120.cpp b/src/mame/motorola/m8120.cpp index 3d1eb2058ab7c..43abebd1a542a 100644 --- a/src/mame/motorola/m8120.cpp +++ b/src/mame/motorola/m8120.cpp @@ -36,4 +36,4 @@ ROM_END } // anonymous namespace // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 1991, m8120, 0, 0, m8120, 0, m8120_state, empty_init, "Motorola", "M8120", MACHINE_IS_SKELETON ) +COMP( 1991, m8120, 0, 0, m8120, 0, m8120_state, empty_init, "Motorola", "M8120", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/motorola/powerstack.cpp b/src/mame/motorola/powerstack.cpp index c929d23b20ae4..2e8ca35178adc 100644 --- a/src/mame/motorola/powerstack.cpp +++ b/src/mame/motorola/powerstack.cpp @@ -44,4 +44,4 @@ ROM_END } // anonymous namespace -COMP( 1996, powerstk, 0, 0, powerstack, powerstack, powerstack_state, empty_init, "Motorola", "Powerstack II", MACHINE_IS_SKELETON ) +COMP( 1996, powerstk, 0, 0, powerstack, powerstack, powerstack_state, empty_init, "Motorola", "Powerstack II", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/motorola/sys1121.cpp b/src/mame/motorola/sys1121.cpp index 199e894fb2eb3..8f7c6cb015883 100644 --- a/src/mame/motorola/sys1121.cpp +++ b/src/mame/motorola/sys1121.cpp @@ -51,4 +51,4 @@ ROM_END } // anonymous namespace // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 1984, sys1121, 0, 0, sys1121, sys1121, sys1121_state, empty_init, "Motorola", "SYS1121", MACHINE_IS_SKELETON ) +COMP( 1984, sys1121, 0, 0, sys1121, sys1121, sys1121_state, empty_init, "Motorola", "SYS1121", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/namco/baraduke.cpp b/src/mame/namco/baraduke.cpp index e24782b56351b..8500cd479fb60 100644 --- a/src/mame/namco/baraduke.cpp +++ b/src/mame/namco/baraduke.cpp @@ -97,9 +97,6 @@ PCB Layout written out of order and hooking them up in the usual way causes the MCU to stop receiving interrupts. -- remove the sound kludge in Baraduke. This might actually be a feature of the - CUS30 chip. - DIP locations verified for: -------------------------- @@ -154,7 +151,6 @@ class baraduke_state : public driver_device uint8_t inputport_r(); void lamps_w(uint8_t data); void irq_ack_w(uint8_t data); - uint8_t soundkludge_r(); void videoram_w(offs_t offset, uint8_t data); void textram_w(offs_t offset, uint8_t data); template void scroll_w(offs_t offset, uint8_t data); @@ -187,7 +183,6 @@ class baraduke_state : public driver_device output_finder<2> m_lamps; uint8_t m_inputport_selected = 0; - uint16_t m_counter = 0; tilemap_t *m_tx_tilemap = nullptr; tilemap_t *m_bg_tilemap[2]{}; uint16_t m_xscroll[2]{}; @@ -251,11 +246,12 @@ void baraduke_state::palette(palette_device &palette) const ***************************************************************************/ -// convert from 32x32 to 36x28 TILEMAP_MAPPER_MEMBER(baraduke_state::tx_tilemap_scan) { + // convert from 32x32 to 36x28 row += 2; col -= 2; + if (col & 0x20) return row + ((col & 0x1f) << 5); else @@ -378,7 +374,7 @@ void baraduke_state::spriteram_w(offs_t offset, uint8_t data) void baraduke_state::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { uint8_t *spriteram = m_spriteram + 0x1800; - const uint8_t *source = &spriteram[0x0800 - 32]; // the last is NOT a sprite + const uint8_t *source = &spriteram[0x0800 - 32]; // the last is NOT a sprite const uint8_t *finish = &spriteram[0x0000]; int const sprite_xoffs = spriteram[0x07f5] - 256 * (spriteram[0x07f4] & 1); @@ -392,14 +388,14 @@ void baraduke_state::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, c while (source >= finish) { -/* - source[10] S-FT ---P - source[11] TTTT TTTT - source[12] CCCC CCCX - source[13] XXXX XXXX - source[14] ---T -S-F - source[15] YYYY YYYY -*/ + /* sprite format: + source[10] S-FT ---P + source[11] TTTT TTTT + source[12] CCCC CCCX + source[13] XXXX XXXX + source[14] ---T -S-F + source[15] YYYY YYYY + */ int const priority = source[10] & 0x01; uint32_t const pri_mask = priority ? 0 : GFX_PMASK_2; int const attr1 = source[10]; @@ -573,18 +569,9 @@ void baraduke_state::main_map(address_map &map) map(0x6000, 0xffff).rom(); } -uint8_t baraduke_state::soundkludge_r() -{ - uint8_t ret = (m_counter >> 4) & 0xff; - if (!machine().side_effects_disabled()) - m_counter++; - return ret; -} - void baraduke_state::mcu_map(address_map &map) { map(0x1000, 0x13ff).rw(m_cus30, FUNC(namco_cus30_device::namcos1_cus30_r), FUNC(namco_cus30_device::namcos1_cus30_w)); // PSG device, shared RAM - map(0x1105, 0x1105).r(FUNC(baraduke_state::soundkludge_r)); // cures speech map(0x8000, 0xbfff).rom().region("mcusub", 0); // MCU external ROM map(0x8000, 0x8000).nopw(); // watchdog reset? map(0x8800, 0x8800).nopw(); // IRQ acknowledge? @@ -745,7 +732,6 @@ void baraduke_state::machine_start() m_lamps.resolve(); save_item(NAME(m_inputport_selected)); - save_item(NAME(m_counter)); } @@ -759,10 +745,10 @@ void baraduke_state::baraduke(machine_config &config) m_mcu->set_addrmap(AS_PROGRAM, &baraduke_state::mcu_map); m_mcu->in_p1_cb().set(FUNC(baraduke_state::inputport_r)); m_mcu->out_p1_cb().set(FUNC(baraduke_state::inputport_select_w)); - m_mcu->in_p2_cb().set_constant(0xff); // LEDs won't work otherwise + m_mcu->in_p2_cb().set_constant(0xff); // LEDs won't work otherwise m_mcu->out_p2_cb().set(FUNC(baraduke_state::lamps_w)); - config.set_maximum_quantum(attotime::from_hz(6000)); // we need heavy synch + config.set_maximum_quantum(attotime::from_hz(6000)); // we need heavy synch WATCHDOG_TIMER(config, "watchdog"); diff --git a/src/mame/namco/cswat.cpp b/src/mame/namco/cswat.cpp index bda1fed7fc959..37ee72380360d 100644 --- a/src/mame/namco/cswat.cpp +++ b/src/mame/namco/cswat.cpp @@ -2,19 +2,18 @@ // copyright-holders:hap /*************************************************************************** - Namco Cosmoswat, a lightgun game that uses a projector and a bunch of - mirrors and motors to move a spotlight(s) on a large projection screen, - similar to Namco Shoot Away/Shoot Away II. - The CRT is just used for showing status and keeping scores. +Namco Cosmoswat, a lightgun game that uses a projector and a bunch of +mirrors and motors to move a spotlight(s) on a large projection screen, +similar to Namco Shoot Away/Shoot Away II. +The CRT is just used for showing status and keeping scores. - X1 18.432MHz - HD68A09EP - Hitachi M6809 CPU - 2 * M58725P - Mitsubishi 2KB SRAM - 0737 - Namco custom DIP28, clock divider? - 5275 - Namco custom DIP42, sample player +X1 18.432MHz +HD68A09EP - Hitachi M6809 CPU +2 * M58725P - Mitsubishi 2KB SRAM +0737 - Namco custom DIP28, clock divider? +5275 - Namco custom DIP42, sample player TODO: -- fix gfx/colors (redump needed) - improve interrupts - hook up namco 52xx sound - simulate projector with external artwork? @@ -26,8 +25,12 @@ #include "cpu/m6809/m6809.h" #include "cpu/mb88xx/mb88xx.h" +#include "sound/sn76496.h" +#include "video/resnet.h" + #include "emupal.h" #include "screen.h" +#include "speaker.h" #include "tilemap.h" @@ -40,16 +43,30 @@ class cswat_state : public driver_device driver_device(mconfig, type, tag), m_maincpu(*this, "maincpu"), m_gfxdecode(*this, "gfxdecode"), + m_palette(*this, "palette"), + m_screen(*this, "screen"), + m_sn(*this, "sn76489a"), m_videoram(*this, "videoram"), m_dips_inp(*this, "DIPS") { } + void cswat(machine_config &config); + +protected: + virtual void video_start() override ATTR_COLD; + virtual void machine_reset() override ATTR_COLD; + virtual void machine_start() override ATTR_COLD; + +private: required_device m_maincpu; required_device m_gfxdecode; + required_device m_palette; + required_device m_screen; + required_device m_sn; required_shared_ptr m_videoram; required_ioport m_dips_inp; - uint8_t m_nmi_enabled; + uint8_t m_nmi_enabled = 0; tilemap_t *m_tilemap; void videoram_w(offs_t offset, uint8_t data); @@ -59,14 +76,11 @@ class cswat_state : public driver_device INTERRUPT_GEN_MEMBER(nmi_handler); + void palette(palette_device &palette) const; TILEMAP_MAPPER_MEMBER(tilemap_scan_rows); TILE_GET_INFO_MEMBER(get_tile_info); uint32_t screen_update_cswat(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - virtual void video_start() override ATTR_COLD; - virtual void machine_reset() override ATTR_COLD; - virtual void machine_start() override ATTR_COLD; - void cswat(machine_config &config); void cswat_map(address_map &map) ATTR_COLD; }; @@ -77,6 +91,44 @@ class cswat_state : public driver_device ***************************************************************************/ +void cswat_state::palette(palette_device &palette) const +{ + const uint8_t *color_prom = memregion("proms")->base(); + static constexpr int resistances[3] = { 1000, 470, 220 }; + + // compute the color output resistor weights + double rweights[3], gweights[3], bweights[2]; + compute_resistor_weights(0, 255, -1.0, + 3, &resistances[0], rweights, 0, 0, + 3, &resistances[0], gweights, 0, 0, + 2, &resistances[1], bweights, 0, 0); + + // initialize the palette with these colors + for (int i = 0; i < 256; i++) + { + int bit0, bit1, bit2; + + // red component + bit0 = BIT(color_prom[i], 0); + bit1 = BIT(color_prom[i], 1); + bit2 = BIT(color_prom[i], 2); + int const r = combine_weights(rweights, bit0, bit1, bit2); + + // green component + bit0 = BIT(color_prom[i], 3); + bit1 = BIT(color_prom[i], 4); + bit2 = BIT(color_prom[i], 5); + int const g = combine_weights(gweights, bit0, bit1, bit2); + + // blue component + bit0 = BIT(color_prom[i], 6); + bit1 = BIT(color_prom[i], 7); + int const b = combine_weights(bweights, bit0, bit1); + + palette.set_pen_color(i, rgb_t(r, g, b)); + } +} + TILEMAP_MAPPER_MEMBER(cswat_state::tilemap_scan_rows) { // like with pacman, lower and upper parts of vram are left and right columns of the screen @@ -90,8 +142,8 @@ TILEMAP_MAPPER_MEMBER(cswat_state::tilemap_scan_rows) TILE_GET_INFO_MEMBER(cswat_state::get_tile_info) { - int color = m_videoram[tile_index | 0x400]; - int attr = m_videoram[tile_index | 0x800]; // high bits unused + int color = m_videoram[tile_index | 0x400]; // high bits unused + int attr = m_videoram[tile_index | 0x800]; // " int code = m_videoram[tile_index] | (attr << 8 & 0x300); int flags = TILE_FLIPYX(attr >> 2); @@ -143,7 +195,7 @@ uint8_t cswat_state::sensors_r() void cswat_state::cswat_map(address_map &map) { - map(0x0000, 0x0bff).ram().w(FUNC(cswat_state::videoram_w)).share("videoram"); + map(0x0000, 0x0bff).ram().w(FUNC(cswat_state::videoram_w)).share(m_videoram); map(0x0c00, 0x0fff).ram(); // map(0x1800, 0x1800).nopr(); // ? reads here after writing to $4000 map(0x2000, 0x2000).w(FUNC(cswat_state::irq_ack_w)); // writes 1 at end of vblank irq, 0 at gamestart @@ -151,7 +203,8 @@ void cswat_state::cswat_map(address_map &map) map(0x2002, 0x2002).w(FUNC(cswat_state::irq_ack_w)); // writes 0 at start of vblank irq map(0x2002, 0x2002).r(FUNC(cswat_state::sensors_r)); map(0x2003, 0x2003).portr("IN0"); -// map(0x4000, 0x4009).noprw(); // ? + map(0x4000, 0x4000).w(m_sn, FUNC(sn76489a_device::write)); +// map(0x4001, 0x4009).noprw(); // ? map(0x8000, 0xffff).rom(); } @@ -241,7 +294,7 @@ static const gfx_layout charlayout = }; static GFXDECODE_START( gfx_cswat ) - GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 256 ) + GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 64 ) GFXDECODE_END INTERRUPT_GEN_MEMBER(cswat_state::nmi_handler) @@ -262,26 +315,29 @@ void cswat_state::machine_start() void cswat_state::cswat(machine_config &config) { - /* basic machine hardware */ - MC6809E(config, m_maincpu, XTAL(18'432'000)/3/4); // HD68A09EP, 1.5MHz? + // basic machine hardware + MC6809E(config, m_maincpu, 18.432_MHz_XTAL / 3 / 4); // 1.536MHz m_maincpu->set_addrmap(AS_PROGRAM, &cswat_state::cswat_map); m_maincpu->set_vblank_int("screen", FUNC(cswat_state::irq0_line_assert)); - m_maincpu->set_periodic_int(FUNC(cswat_state::nmi_handler), attotime::from_hz(300)); // ? - - /* video hardware */ - screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_refresh_hz(60); - screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); - screen.set_size(36*8, 28*8); - screen.set_visarea_full(); - screen.set_palette("palette"); - screen.set_screen_update(FUNC(cswat_state::screen_update_cswat)); - - GFXDECODE(config, "gfxdecode", "palette", gfx_cswat); - PALETTE(config, "palette").set_entries(4*256); - - /* sound hardware */ - // TODO + m_maincpu->set_periodic_int(FUNC(cswat_state::nmi_handler), attotime::from_hz(300)); // 16V? + + // video hardware + SCREEN(config, m_screen, SCREEN_TYPE_RASTER); + m_screen->set_refresh_hz(60); + m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500)); + m_screen->set_size(36*8, 28*8); + m_screen->set_visarea_full(); + m_screen->set_palette(m_palette); + m_screen->set_screen_update(FUNC(cswat_state::screen_update_cswat)); + + GFXDECODE(config, m_gfxdecode, m_palette, gfx_cswat); + PALETTE(config, m_palette, FUNC(cswat_state::palette), 256); + + // sound hardware + SN76489A(config, m_sn, 18.432_MHz_XTAL / 3 / 2); // 1H + m_sn->add_route(ALL_OUTPUTS, "speaker", 0.50); + + SPEAKER(config, "speaker").front_center(); } @@ -298,18 +354,18 @@ ROM_START( cswat ) ROM_LOAD( "cs2-3.5h", 0xc000, 0x2000, CRC(52af8d0b) SHA1(1087b1dbf8b7734f0497e0ad1f8a7a10a25f4e7b) ) ROM_LOAD( "cs2-4.5f", 0xe000, 0x2000, CRC(2f88074c) SHA1(a8864b6123f76c0d1f372b2196d4e436bac75c21) ) - ROM_REGION( 0x4000, "gfx1", 0 ) - ROM_LOAD( "cs2-5.3l", 0x0000, 0x2000, BAD_DUMP CRC(a09d6894) SHA1(feac4980d5bf6f2a808230962b4140e27767dc9d) ) // bad + ROM_REGION( 0x4000, "gfx1", ROMREGION_INVERT ) + ROM_LOAD( "cs2-5.3l", 0x0000, 0x2000, CRC(909c8903) SHA1(876fdaec70fff7709dbd70ed4f9601c26fa3ce9b) ) ROM_LOAD( "cs2-6.2l", 0x2000, 0x2000, CRC(95e8180f) SHA1(1d819649b62b194e10decb04d6be68c99c419a93) ) ROM_REGION( 0x2000, "52xx", 0 ) // digitised speech - ROM_LOAD( "cs2-7.2b", 0x0000, 0x2000, BAD_DUMP CRC(25a25dc0) SHA1(849e3baa159049754da6fba74c77c86f01952849) ) // FIXED BITS (xxx1xxxx) + ROM_LOAD( "cs2-7.2b", 0x0000, 0x2000, CRC(f57c4a00) SHA1(9d258026b7a829a6f685e5b48656e2142d4cc0ad) ) - ROM_REGION( 0x0001, "proms", 0 ) // color prom - ROM_LOAD( "cs2-1.1p", 0x0000, 0x0001, NO_DUMP ) + ROM_REGION( 0x0200, "proms", 0 ) // color prom + ROM_LOAD( "cs2-1.1p", 0x0000, 0x0200, CRC(2b34d9f2) SHA1(d64c60a43cf98c5e2778509f5a9b912aeda68b8f) ) ROM_END } // anonymous namespace -GAME( 1984, cswat, 0, cswat, cswat, cswat_state, empty_init, ROT0, "Namco", "Cosmoswat", MACHINE_SUPPORTS_SAVE | MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_NO_SOUND | MACHINE_WRONG_COLORS | MACHINE_IMPERFECT_GRAPHICS ) +GAME( 1984, cswat, 0, cswat, cswat, cswat_state, empty_init, ROT0, "Namco", "Cosmoswat", MACHINE_SUPPORTS_SAVE | MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) diff --git a/src/mame/namco/dangbar.cpp b/src/mame/namco/dangbar.cpp index 518b503d4cdc9..2fb4623706e1f 100644 --- a/src/mame/namco/dangbar.cpp +++ b/src/mame/namco/dangbar.cpp @@ -157,6 +157,6 @@ ROM_END } // Anonymous namespace -GAME( 1993, sspanic, 0, dangbar, dangbar, dangbar_state, empty_init, ROT0, "Namco", "Same Same Panic", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1994, dangbar, 0, dangbar, dangbar, dangbar_state, empty_init, ROT0, "Namco", "Dangerous Bar", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1994, bellybmbr, 0, dangbar, dangbar, dangbar_state, empty_init, ROT0, "Namco", "Belly Bomber", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1993, sspanic, 0, dangbar, dangbar, dangbar_state, empty_init, ROT0, "Namco", "Same Same Panic", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1994, dangbar, 0, dangbar, dangbar, dangbar_state, empty_init, ROT0, "Namco", "Dangerous Bar", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1994, bellybmbr, 0, dangbar, dangbar, dangbar_state, empty_init, ROT0, "Namco", "Belly Bomber", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/namco/dkmb.cpp b/src/mame/namco/dkmb.cpp index 5f798753193fc..ba1d825606122 100644 --- a/src/mame/namco/dkmb.cpp +++ b/src/mame/namco/dkmb.cpp @@ -161,4 +161,4 @@ ROM_END } // anonymous namespace -GAME( 2003, dkmb, 0, dkmb, dkmb, dkmb_state, empty_init, ROT270, "Namco / Nintendo / Cosmodog", "Donkey Kong / Donkey Kong Jr / Mario Bros", MACHINE_IS_SKELETON ) +GAME( 2003, dkmb, 0, dkmb, dkmb, dkmb_state, empty_init, ROT270, "Namco / Nintendo / Cosmodog", "Donkey Kong / Donkey Kong Jr / Mario Bros", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/namco/mappy.cpp b/src/mame/namco/mappy.cpp index 598435c1b5fb4..e74b593705ea3 100644 --- a/src/mame/namco/mappy.cpp +++ b/src/mame/namco/mappy.cpp @@ -23,7 +23,7 @@ They can be divided in three "families": Despite the hardware differences, the memory map is almost identical to Super Pacman, and that's why it's included in this driver. There is no information about the custom ICs used by this board. The video - section is probably more similar to Gaplus than to Supr Pacman: the sprite + section is probably more similar to Gaplus than to Super Pacman: the sprite generator might be a 21XX (though Gaplus doesn't use 8x8 sprites), and the 00XX and 04XX address generators are probably replaced by the single CUS20 (which also handles the flip screen flag). @@ -59,7 +59,7 @@ Video board: sprites; in Mappy it handles the 4bpp sprites, while the tilemap is handled by standard LS components. -The I/O interface chips vary from game to game (see machine/namcoio.c) +The I/O interface chips vary from game to game (see namco/namcoio.cpp) Super Pac-Man memory map @@ -565,38 +565,38 @@ S: service switch (the one that adds a credit, not the one to enter service mode * *************************************/ -#define MASTER_CLOCK (XTAL(18'432'000)) +static constexpr XTAL MASTER_CLOCK = XTAL(18'432'000); -#define PIXEL_CLOCK (MASTER_CLOCK/3) +static constexpr XTAL PIXEL_CLOCK = MASTER_CLOCK / 3; // H counts from 128->511, HBLANK starts at 144 and ends at 240 -#define HTOTAL (384) -#define HBEND (0) // (96+16) -#define HBSTART (288) // (16) +static constexpr unsigned HTOTAL = 384; +static constexpr unsigned HBEND = 0; // (96+16) +static constexpr unsigned HBSTART = 288; // (16) -#define VTOTAL (264) -#define VBEND (0) // (16) -#define VBSTART (224) // (224+16) +static constexpr unsigned VTOTAL = 264; +static constexpr unsigned VBEND = 0; // (16) +static constexpr unsigned VBSTART = 224; // (224+16) /***************************************************************************/ -void mappy_state::int_on_w(int state) +void mappy_state::main_int_on_w(int state) { m_main_irq_mask = state; if (!state) m_maincpu->set_input_line(0, CLEAR_LINE); } -void mappy_state::int_on_2_w(int state) +void mappy_state::sub_int_on_w(int state) { m_sub_irq_mask = state; if (!state) m_subcpu->set_input_line(0, CLEAR_LINE); } -void mappy_state::int_on_3_w(int state) +void phozon_state::sub2_int_on_w(int state) { m_sub2_irq_mask = state; if (!state) @@ -626,75 +626,76 @@ void mappy_state::vblank_irq(int state) if (m_sub_irq_mask) m_subcpu->set_input_line(0, ASSERT_LINE); +} - if (m_subcpu2.found() && m_sub2_irq_mask) +void phozon_state::phozon_vblank_irq(int state) +{ + if (!state) + return; + + vblank_irq(state); + + if (m_sub2_irq_mask) m_subcpu2->set_input_line(0, ASSERT_LINE); } -void mappy_state::superpac_cpu1_map(address_map &map) +void mappy_state::superpac_main_map(address_map &map) { - map(0x0000, 0x07ff).ram().w(FUNC(mappy_state::superpac_videoram_w)).share("videoram"); - map(0x0800, 0x1fff).ram().share("spriteram"); // work RAM with embedded sprite RAM - map(0x2000, 0x2000).rw(FUNC(mappy_state::superpac_flipscreen_r), FUNC(mappy_state::superpac_flipscreen_w)); + map(0x0000, 0x07ff).ram().w(FUNC(mappy_state::superpac_videoram_w)).share(m_videoram); + map(0x0800, 0x1fff).ram().share(m_spriteram); // work RAM with embedded sprite RAM + map(0x2000, 0x2000).rw(FUNC(mappy_state::flipscreen_r), FUNC(mappy_state::flipscreen_w)); map(0x4000, 0x43ff).rw(m_namco_15xx, FUNC(namco_15xx_device::sharedram_r), FUNC(namco_15xx_device::sharedram_w)); // shared RAM with the sound CPU - map(0x4800, 0x480f).rw("namcoio_1", FUNC(namcoio_device::read), FUNC(namcoio_device::write)); // custom I/O chips interface - map(0x4810, 0x481f).rw("namcoio_2", FUNC(namcoio_device::read), FUNC(namcoio_device::write)); // custom I/O chips interface + map(0x4800, 0x480f).rw(m_namcoio[0], FUNC(namcoio_device::read), FUNC(namcoio_device::write)); // custom I/O chips interface + map(0x4810, 0x481f).rw(m_namcoio[1], FUNC(namcoio_device::read), FUNC(namcoio_device::write)); // custom I/O chips interface map(0x5000, 0x500f).w("mainlatch", FUNC(ls259_device::write_a0)); // various control bits map(0x8000, 0x8000).w("watchdog", FUNC(watchdog_timer_device::reset_w)); map(0xa000, 0xffff).rom(); } -void mappy_state::phozon_cpu1_map(address_map &map) +void phozon_state::main_map(address_map &map) { - map(0x0000, 0x07ff).ram().w(FUNC(mappy_state::superpac_videoram_w)).share("videoram"); // video RAM - map(0x0800, 0x1fff).ram().share("spriteram"); // shared RAM with CPU #2/sprite RAM + map(0x0000, 0x07ff).ram().w(FUNC(phozon_state::superpac_videoram_w)).share(m_videoram); // video RAM + map(0x0800, 0x1fff).ram().share(m_spriteram); // shared RAM with CPU #2/sprite RAM map(0x4000, 0x43ff).rw(m_namco_15xx, FUNC(namco_15xx_device::sharedram_r), FUNC(namco_15xx_device::sharedram_w)); // shared RAM with the sound CPU - map(0x4800, 0x480f).rw("namcoio_1", FUNC(namcoio_device::read), FUNC(namcoio_device::write)); // custom I/O chips interface - map(0x4810, 0x481f).rw("namcoio_2", FUNC(namcoio_device::read), FUNC(namcoio_device::write)); // custom I/O chips interface + map(0x4800, 0x480f).rw(m_namcoio[0], FUNC(namcoio_device::read), FUNC(namcoio_device::write)); // custom I/O chips interface + map(0x4810, 0x481f).rw(m_namcoio[1], FUNC(namcoio_device::read), FUNC(namcoio_device::write)); // custom I/O chips interface map(0x5000, 0x500f).w("mainlatch", FUNC(ls259_device::write_a0)); // various control bits map(0x7000, 0x7000).w("watchdog", FUNC(watchdog_timer_device::reset_w)); map(0x8000, 0xffff).rom(); } -void mappy_state::mappy_cpu1_map(address_map &map) +void mappy_state::mappy_main_map(address_map &map) { - map(0x0000, 0x0fff).ram().w(FUNC(mappy_state::mappy_videoram_w)).share("videoram"); - map(0x1000, 0x27ff).ram().share("spriteram"); // work RAM with embedded sprite RAM + map(0x0000, 0x0fff).ram().w(FUNC(mappy_state::mappy_videoram_w)).share(m_videoram); + map(0x1000, 0x27ff).ram().share(m_spriteram); // work RAM with embedded sprite RAM map(0x3800, 0x3fff).w(FUNC(mappy_state::mappy_scroll_w)); // scroll map(0x4000, 0x43ff).rw(m_namco_15xx, FUNC(namco_15xx_device::sharedram_r), FUNC(namco_15xx_device::sharedram_w)); // shared RAM with the sound CPU - map(0x4800, 0x480f).rw("namcoio_1", FUNC(namcoio_device::read), FUNC(namcoio_device::write)); // custom I/O chips interface - map(0x4810, 0x481f).rw("namcoio_2", FUNC(namcoio_device::read), FUNC(namcoio_device::write)); // custom I/O chips interface + map(0x4800, 0x480f).rw(m_namcoio[0], FUNC(namcoio_device::read), FUNC(namcoio_device::write)); // custom I/O chips interface + map(0x4810, 0x481f).rw(m_namcoio[1], FUNC(namcoio_device::read), FUNC(namcoio_device::write)); // custom I/O chips interface map(0x5000, 0x500f).w("mainlatch", FUNC(ls259_device::write_a0)); // various control bits map(0x8000, 0x8000).w("watchdog", FUNC(watchdog_timer_device::reset_w)); map(0x8000, 0xffff).rom(); // only a000-ffff in Mappy } -void mappy_state::superpac_cpu2_map(address_map &map) +void mappy_state::superpac_sub_map(address_map &map) { map(0x0000, 0x03ff).rw(m_namco_15xx, FUNC(namco_15xx_device::sharedram_r), FUNC(namco_15xx_device::sharedram_w)); // shared RAM with the main CPU (also sound registers) map(0x2000, 0x200f).w("mainlatch", FUNC(ls259_device::write_a0)); // various control bits map(0xe000, 0xffff).rom(); } -void mappy_state::phozon_cpu2_map(address_map &map) +void phozon_state::sub_map(address_map &map) { map(0x0000, 0x03ff).rw(m_namco_15xx, FUNC(namco_15xx_device::sharedram_r), FUNC(namco_15xx_device::sharedram_w)); // shared RAM with the main CPU + sound registers map(0xe000, 0xffff).rom(); } -void mappy_state::mappy_cpu2_map(address_map &map) -{ - map(0x0000, 0x03ff).rw(m_namco_15xx, FUNC(namco_15xx_device::sharedram_r), FUNC(namco_15xx_device::sharedram_w)); // shared RAM with the main CPU (also sound registers) - map(0x2000, 0x200f).w("mainlatch", FUNC(ls259_device::write_a0)); // various control bits - map(0xe000, 0xffff).rom(); -} - // extra CPU only present in Phozon -void mappy_state::phozon_cpu3_map(address_map &map) +void phozon_state::sub2_map(address_map &map) { - map(0x0000, 0x07ff).ram().w(FUNC(mappy_state::superpac_videoram_w)).share("videoram"); - map(0x0800, 0x1fff).ram().share("spriteram"); // shared RAM with CPU #2/sprite RAM + map(0x0000, 0x07ff).ram().w(FUNC(phozon_state::superpac_videoram_w)).share(m_videoram); + map(0x0800, 0x1fff).ram().share(m_spriteram); // shared RAM with CPU #2/sprite RAM map(0x4000, 0x43ff).rw(m_namco_15xx, FUNC(namco_15xx_device::sharedram_r), FUNC(namco_15xx_device::sharedram_w)); // shared RAM with CPU #2 map(0xa000, 0xa7ff).ram(); map(0xe000, 0xffff).rom(); @@ -1219,10 +1220,10 @@ static const gfx_layout charlayout = 8,8, RGN_FRAC(1,1), 2, - { 0, 4 }, - { 8*8+0, 8*8+1, 8*8+2, 8*8+3, 0, 1, 2, 3 }, - { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 }, - 16*8 + { STEP2(0, 4) }, + { STEP4(8*8, 1), STEP4(0, 1) }, + { STEP8(0, 8) }, + 8*8*2 }; static const gfx_layout spritelayout_2bpp = @@ -1230,12 +1231,10 @@ static const gfx_layout spritelayout_2bpp = 16,16, RGN_FRAC(1,1), 2, - { 0, 4 }, - { 0, 1, 2, 3, 8*8, 8*8+1, 8*8+2, 8*8+3, - 16*8+0, 16*8+1, 16*8+2, 16*8+3, 24*8+0, 24*8+1, 24*8+2, 24*8+3 }, - { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8, - 32*8, 33*8, 34*8, 35*8, 36*8, 37*8, 38*8, 39*8 }, - 64*8 + { STEP2(0, 4) }, + { STEP4(0, 1), STEP4(8*8, 1), STEP4(8*8*2, 1), STEP4(8*8*3, 1) }, + { STEP8(0, 8), STEP8(8*8*4, 8) }, + 16*16*2 }; static const gfx_layout spritelayout_8x8 = @@ -1243,45 +1242,43 @@ static const gfx_layout spritelayout_8x8 = 8,8, RGN_FRAC(1,1), 2, - { 0, 4 }, - { 0, 1, 2, 3, 8*8, 8*8+1, 8*8+2, 8*8+3 }, - { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 }, - 16*8 + { STEP2(0, 4) }, + { STEP4(0, 1), STEP4(8*8, 1) }, + { STEP8(0, 8) }, + 8*8*2 }; static const gfx_layout spritelayout_4bpp = { 16,16, - RGN_FRAC(1,2), + RGN_FRAC(1,1), 4, - { 0, 4, RGN_FRAC(1,2)+0, RGN_FRAC(1,2)+4 }, - { 0, 1, 2, 3, 8*8, 8*8+1, 8*8+2, 8*8+3, 16*8+0, 16*8+1, 16*8+2, 16*8+3, - 24*8+0, 24*8+1, 24*8+2, 24*8+3 }, - { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8, - 32*8, 33*8, 34*8, 35*8, 36*8, 37*8, 38*8, 39*8 }, - 64*8 + { STEP4(0, 4) }, + { STEP4(0, 1), STEP4(8*16, 1), STEP4(8*16*2, 1), STEP4(8*16*3, 1) }, + { STEP8(0, 16), STEP8(8*16*4, 16) }, + 16*16*4 }; static GFXDECODE_START( gfx_superpac ) - GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 64 ) - GFXDECODE_ENTRY( "gfx2", 0, spritelayout_2bpp, 64*4, 64 ) + GFXDECODE_ENTRY( "tiles", 0, charlayout, 0, 64 ) + GFXDECODE_ENTRY( "sprites", 0, spritelayout_2bpp, 64*4, 64 ) GFXDECODE_END static GFXDECODE_START( gfx_phozon ) - GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 64 ) - GFXDECODE_ENTRY( "gfx2", 0, spritelayout_8x8, 64*4, 64 ) + GFXDECODE_ENTRY( "tiles", 0, charlayout, 0, 64 ) + GFXDECODE_ENTRY( "sprites", 0, spritelayout_8x8, 64*4, 64 ) GFXDECODE_END static GFXDECODE_START( gfx_mappy ) - GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 64 ) - GFXDECODE_ENTRY( "gfx2", 0, spritelayout_4bpp, 64*4, 16 ) + GFXDECODE_ENTRY( "tiles", 0, charlayout, 0, 64 ) + GFXDECODE_ENTRY( "sprites", 0, spritelayout_4bpp, 64*4, 16 ) GFXDECODE_END static GFXDECODE_START( gfx_todruaga ) - GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 64 ) - GFXDECODE_ENTRY( "gfx2", 0, spritelayout_4bpp, 64*4, 64 ) + GFXDECODE_ENTRY( "tiles", 0, charlayout, 0, 64 ) + GFXDECODE_ENTRY( "sprites", 0, spritelayout_4bpp, 64*4, 64 ) GFXDECODE_END @@ -1295,8 +1292,8 @@ void mappy_state::out_lamps(uint8_t data) { m_leds[0] = BIT(data, 0); m_leds[1] = BIT(data, 1); - machine().bookkeeping().coin_lockout_global_w(data & 4); - machine().bookkeeping().coin_counter_w(0, ~data & 8); + machine().bookkeeping().coin_lockout_global_w(BIT(data, 2)); + machine().bookkeeping().coin_counter_w(0, BIT(~data, 3)); } void mappy_state::machine_start() @@ -1308,6 +1305,12 @@ void mappy_state::machine_start() save_item(NAME(m_main_irq_mask)); save_item(NAME(m_sub_irq_mask)); +} + +void phozon_state::machine_start() +{ + mappy_state::machine_start(); + save_item(NAME(m_sub2_irq_mask)); } @@ -1316,14 +1319,14 @@ void mappy_state::superpac_common(machine_config &config) { // basic machine hardware MC6809E(config, m_maincpu, PIXEL_CLOCK/4); // 1.536 MHz - m_maincpu->set_addrmap(AS_PROGRAM, &mappy_state::superpac_cpu1_map); + m_maincpu->set_addrmap(AS_PROGRAM, &mappy_state::superpac_main_map); MC6809E(config, m_subcpu, PIXEL_CLOCK/4); // 1.536 MHz - m_subcpu->set_addrmap(AS_PROGRAM, &mappy_state::superpac_cpu2_map); + m_subcpu->set_addrmap(AS_PROGRAM, &mappy_state::superpac_sub_map); ls259_device &mainlatch(LS259(config, "mainlatch")); // 2M on CPU board - mainlatch.q_out_cb<0>().set(FUNC(mappy_state::int_on_2_w)); - mainlatch.q_out_cb<1>().set(FUNC(mappy_state::int_on_w)); + mainlatch.q_out_cb<0>().set(FUNC(mappy_state::sub_int_on_w)); + mainlatch.q_out_cb<1>().set(FUNC(mappy_state::main_int_on_w)); mainlatch.q_out_cb<3>().set(m_namco_15xx, FUNC(namco_15xx_device::sound_enable_w)); mainlatch.q_out_cb<4>().set(m_namcoio[0], FUNC(namcoio_device::set_reset_line)).invert(); mainlatch.q_out_cb<4>().append(m_namcoio[1], FUNC(namcoio_device::set_reset_line)).invert(); @@ -1352,7 +1355,7 @@ void mappy_state::superpac_common(machine_config &config) // sound hardware SPEAKER(config, "speaker").front_center(); - NAMCO_15XX(config, m_namco_15xx, 18432000/768); + NAMCO_15XX(config, m_namco_15xx, MASTER_CLOCK/768); m_namco_15xx->set_voices(8); m_namco_15xx->add_route(ALL_OUTPUTS, "speaker", 1.0); } @@ -1412,22 +1415,22 @@ void mappy_state::grobda(machine_config &config) m_namcoio[1]->out_callback<0>().set("dipmux", FUNC(ls157_device::select_w)).bit(0); } -void mappy_state::phozon(machine_config &config) +void phozon_state::phozon(machine_config &config) { // basic machine hardware MC6809E(config, m_maincpu, PIXEL_CLOCK/4); // MAIN CPU - m_maincpu->set_addrmap(AS_PROGRAM, &mappy_state::phozon_cpu1_map); + m_maincpu->set_addrmap(AS_PROGRAM, &phozon_state::main_map); MC6809E(config, m_subcpu, PIXEL_CLOCK/4); // SOUND CPU - m_subcpu->set_addrmap(AS_PROGRAM, &mappy_state::phozon_cpu2_map); + m_subcpu->set_addrmap(AS_PROGRAM, &phozon_state::sub_map); MC6809E(config, m_subcpu2, PIXEL_CLOCK/4); // SUB CPU - m_subcpu2->set_addrmap(AS_PROGRAM, &mappy_state::phozon_cpu3_map); + m_subcpu2->set_addrmap(AS_PROGRAM, &phozon_state::sub2_map); ls259_device &mainlatch(LS259(config, "mainlatch")); // 5C - mainlatch.q_out_cb<0>().set(FUNC(mappy_state::int_on_2_w)); - mainlatch.q_out_cb<1>().set(FUNC(mappy_state::int_on_w)); - mainlatch.q_out_cb<2>().set(FUNC(mappy_state::int_on_3_w)); + mainlatch.q_out_cb<0>().set(FUNC(phozon_state::sub_int_on_w)); + mainlatch.q_out_cb<1>().set(FUNC(phozon_state::main_int_on_w)); + mainlatch.q_out_cb<2>().set(FUNC(phozon_state::sub2_int_on_w)); mainlatch.q_out_cb<3>().set(m_namco_15xx, FUNC(namco_15xx_device::sound_enable_w)); mainlatch.q_out_cb<4>().set(m_namcoio[0], FUNC(namcoio_device::set_reset_line)).invert(); mainlatch.q_out_cb<4>().append(m_namcoio[1], FUNC(namcoio_device::set_reset_line)).invert(); @@ -1457,20 +1460,18 @@ void mappy_state::phozon(machine_config &config) // video hardware GFXDECODE(config, m_gfxdecode, m_palette, gfx_phozon); - PALETTE(config, m_palette, FUNC(mappy_state::phozon_palette), 64*4+64*4, 32); + PALETTE(config, m_palette, FUNC(phozon_state::palette), 64*4+64*4, 32); SCREEN(config, m_screen, SCREEN_TYPE_RASTER); m_screen->set_raw(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART); - m_screen->set_screen_update(FUNC(mappy_state::screen_update_phozon)); + m_screen->set_screen_update(FUNC(phozon_state::screen_update)); m_screen->set_palette(m_palette); - m_screen->screen_vblank().set(FUNC(mappy_state::vblank_irq)); // cause IRQs on all three CPUs; also update the custom I/O chips - - MCFG_VIDEO_START_OVERRIDE(mappy_state,phozon) + m_screen->screen_vblank().set(FUNC(phozon_state::phozon_vblank_irq)); // cause IRQs on all three CPUs; also update the custom I/O chips // sound hardware SPEAKER(config, "speaker").front_center(); - NAMCO_15XX(config, m_namco_15xx, 18432000/768); + NAMCO_15XX(config, m_namco_15xx, MASTER_CLOCK/768); m_namco_15xx->set_voices(8); m_namco_15xx->add_route(ALL_OUTPUTS, "speaker", 1.0); } @@ -1479,14 +1480,14 @@ void mappy_state::mappy_common(machine_config &config) { // basic machine hardware MC6809E(config, m_maincpu, PIXEL_CLOCK/4); // 1.536 MHz - m_maincpu->set_addrmap(AS_PROGRAM, &mappy_state::mappy_cpu1_map); + m_maincpu->set_addrmap(AS_PROGRAM, &mappy_state::mappy_main_map); MC6809E(config, m_subcpu, PIXEL_CLOCK/4); // 1.536 MHz - m_subcpu->set_addrmap(AS_PROGRAM, &mappy_state::mappy_cpu2_map); + m_subcpu->set_addrmap(AS_PROGRAM, &mappy_state::superpac_sub_map); ls259_device &mainlatch(LS259(config, "mainlatch")); // 2M on CPU board - mainlatch.q_out_cb<0>().set(FUNC(mappy_state::int_on_2_w)); - mainlatch.q_out_cb<1>().set(FUNC(mappy_state::int_on_w)); + mainlatch.q_out_cb<0>().set(FUNC(mappy_state::sub_int_on_w)); + mainlatch.q_out_cb<1>().set(FUNC(mappy_state::main_int_on_w)); mainlatch.q_out_cb<2>().set(FUNC(mappy_state::flip_screen_set)); mainlatch.q_out_cb<3>().set(m_namco_15xx, FUNC(namco_15xx_device::sound_enable_w)); mainlatch.q_out_cb<4>().set(m_namcoio[0], FUNC(namcoio_device::set_reset_line)).invert(); @@ -1516,7 +1517,7 @@ void mappy_state::mappy_common(machine_config &config) // sound hardware SPEAKER(config, "speaker").front_center(); - NAMCO_15XX(config, m_namco_15xx, 18432000/768); + NAMCO_15XX(config, m_namco_15xx, MASTER_CLOCK/768); m_namco_15xx->set_voices(8); m_namco_15xx->add_route(ALL_OUTPUTS, "speaker", 1.0); } @@ -1597,10 +1598,10 @@ ROM_START( superpac ) ROM_REGION( 0x10000, "sub", 0 ) // 64k for the second CPU ROM_LOAD( "spc-3.1k", 0xf000, 0x1000, CRC(04445ddb) SHA1(ce7d14963d5ddaefdeaf433a6f82c43cd1611d9b) ) - ROM_REGION( 0x1000, "gfx1", 0 ) + ROM_REGION( 0x1000, "tiles", 0 ) ROM_LOAD( "sp1-6.3c", 0x0000, 0x1000, CRC(91c5935c) SHA1(10579edabc26a0910253fab7d41b4c19ecdaaa09) ) - ROM_REGION( 0x2000, "gfx2", 0 ) + ROM_REGION( 0x2000, "sprites", 0 ) ROM_LOAD( "spv-2.3f", 0x0000, 0x2000, CRC(670a42f2) SHA1(9171922df07e31fd1dc415766f7d2cc50a9d10dc) ) ROM_REGION( 0x0220, "proms", 0 ) @@ -1620,10 +1621,10 @@ ROM_START( superpacm ) ROM_REGION( 0x10000, "sub", 0 ) // 64k for the second CPU ROM_LOAD( "spc-3.1k", 0xf000, 0x1000, CRC(04445ddb) SHA1(ce7d14963d5ddaefdeaf433a6f82c43cd1611d9b) ) - ROM_REGION( 0x1000, "gfx1", 0 ) + ROM_REGION( 0x1000, "tiles", 0 ) ROM_LOAD( "spv-1.3c", 0x0000, 0x1000, CRC(78337e74) SHA1(11222adb55e6bce508896ccb1f6dbab0c1d44e5b) ) - ROM_REGION( 0x2000, "gfx2", 0 ) + ROM_REGION( 0x2000, "sprites", 0 ) ROM_LOAD( "spv-2.3f", 0x0000, 0x2000, CRC(670a42f2) SHA1(9171922df07e31fd1dc415766f7d2cc50a9d10dc) ) ROM_REGION( 0x0220, "proms", 0 ) @@ -1644,10 +1645,10 @@ ROM_START( pacnpal ) ROM_REGION( 0x10000, "sub", 0 ) // 64k for the second CPU ROM_LOAD( "pap1-4.1k", 0xf000, 0x1000, CRC(330e20de) SHA1(5b23e5dcc38dc644a36efc8b03eba34cea540bea) ) - ROM_REGION( 0x1000, "gfx1", 0 ) + ROM_REGION( 0x1000, "tiles", 0 ) ROM_LOAD( "pap1-6.3c", 0x0000, 0x1000, CRC(a36b96cb) SHA1(e0a11b5a43cbf756ddb045c743973d0a55dbb979) ) - ROM_REGION( 0x2000, "gfx2", 0 ) + ROM_REGION( 0x2000, "sprites", 0 ) ROM_LOAD( "pap1-5.3f", 0x0000, 0x2000, CRC(fb6f56e3) SHA1(fd10d2ee49b4e059e9ef6046bc86d97e3185164d) ) ROM_REGION( 0x0220, "proms", 0 ) @@ -1668,10 +1669,10 @@ ROM_START( pacnpal2 ) ROM_REGION( 0x10000, "sub", 0 ) // 64k for the second CPU ROM_LOAD( "pap1-4.1k", 0xf000, 0x1000, CRC(330e20de) SHA1(5b23e5dcc38dc644a36efc8b03eba34cea540bea) ) - ROM_REGION( 0x1000, "gfx1", 0 ) + ROM_REGION( 0x1000, "tiles", 0 ) ROM_LOAD( "pap1-6.3c", 0x0000, 0x1000, CRC(a36b96cb) SHA1(e0a11b5a43cbf756ddb045c743973d0a55dbb979) ) - ROM_REGION( 0x2000, "gfx2", 0 ) + ROM_REGION( 0x2000, "sprites", 0 ) ROM_LOAD( "pap1-5.3f", 0x0000, 0x2000, CRC(fb6f56e3) SHA1(fd10d2ee49b4e059e9ef6046bc86d97e3185164d) ) ROM_REGION( 0x0220, "proms", 0 ) @@ -1693,10 +1694,10 @@ ROM_START( pacnchmp ) ROM_REGION( 0x10000, "sub", 0 ) // 64k for the second CPU ROM_LOAD( "pap1-4.1k", 0xf000, 0x1000, CRC(330e20de) SHA1(5b23e5dcc38dc644a36efc8b03eba34cea540bea) ) - ROM_REGION( 0x1000, "gfx1", 0 ) + ROM_REGION( 0x1000, "tiles", 0 ) ROM_LOAD( "pap2-6.3c", 0x0000, 0x1000, CRC(93d15c30) SHA1(5da4120b680726c83a651b445254604cbf7cc883) ) - ROM_REGION( 0x2000, "gfx2", 0 ) + ROM_REGION( 0x2000, "sprites", 0 ) ROM_LOAD( "pap2-5.3f", 0x0000, 0x2000, CRC(39f44aa4) SHA1(0696539cb2c7fcda2f6c295c7d65678dac18950b) ) ROM_REGION( 0x0220, "proms", 0 ) @@ -1717,10 +1718,10 @@ ROM_START( grobda ) ROM_REGION( 0x10000, "sub", 0 ) // 64k for the second CPU ROM_LOAD( "gr1-4.1k", 0xe000, 0x2000, CRC(3fe78c08) SHA1(dd49a96e613e0ced5b82eafcaf935e136e7db53a) ) - ROM_REGION( 0x1000, "gfx1", 0 ) + ROM_REGION( 0x1000, "tiles", 0 ) ROM_LOAD( "gr1-7.3c", 0x0000, 0x1000, CRC(4ebfabfd) SHA1(fffce05f59e090c4281aca0c0494825027b764fb) ) // characters - ROM_REGION( 0x4000, "gfx2", 0 ) + ROM_REGION( 0x4000, "sprites", 0 ) ROM_LOAD( "gr1-5.3f", 0x0000, 0x2000, CRC(eed43487) SHA1(d2b39651f39bdfca3754f7bbd7a52e7bf843dabe) ) // sprites ROM_LOAD( "gr1-6.3e", 0x2000, 0x2000, CRC(cebb7362) SHA1(6efd57f9fa0f93f70e60efc387b3a782fad2665c) ) // sprites @@ -1742,10 +1743,10 @@ ROM_START( grobda2 ) ROM_REGION( 0x10000, "sub", 0 ) // 64k for the second CPU ROM_LOAD( "gr1-4.1k", 0xe000, 0x2000, CRC(3fe78c08) SHA1(dd49a96e613e0ced5b82eafcaf935e136e7db53a) ) - ROM_REGION( 0x1000, "gfx1", 0 ) + ROM_REGION( 0x1000, "tiles", 0 ) ROM_LOAD( "gr1-7.3c", 0x0000, 0x1000, CRC(4ebfabfd) SHA1(fffce05f59e090c4281aca0c0494825027b764fb) ) // characters - ROM_REGION( 0x4000, "gfx2", 0 ) + ROM_REGION( 0x4000, "sprites", 0 ) ROM_LOAD( "gr1-5.3f", 0x0000, 0x2000, CRC(eed43487) SHA1(d2b39651f39bdfca3754f7bbd7a52e7bf843dabe) ) // sprites ROM_LOAD( "gr1-6.3e", 0x2000, 0x2000, CRC(cebb7362) SHA1(6efd57f9fa0f93f70e60efc387b3a782fad2665c) ) // sprites @@ -1767,10 +1768,10 @@ ROM_START( grobda3 ) ROM_REGION( 0x10000, "sub", 0 ) // 64k for the second CPU ROM_LOAD( "gr1-4.1k", 0xe000, 0x2000, CRC(3fe78c08) SHA1(dd49a96e613e0ced5b82eafcaf935e136e7db53a) ) - ROM_REGION( 0x1000, "gfx1", 0 ) + ROM_REGION( 0x1000, "tiles", 0 ) ROM_LOAD( "gr1-7.3c", 0x0000, 0x1000, CRC(4ebfabfd) SHA1(fffce05f59e090c4281aca0c0494825027b764fb) ) // characters - ROM_REGION( 0x4000, "gfx2", 0 ) + ROM_REGION( 0x4000, "sprites", 0 ) ROM_LOAD( "gr1-5.3f", 0x0000, 0x2000, CRC(eed43487) SHA1(d2b39651f39bdfca3754f7bbd7a52e7bf843dabe) ) // sprites ROM_LOAD( "gr1-6.3e", 0x2000, 0x2000, CRC(cebb7362) SHA1(6efd57f9fa0f93f70e60efc387b3a782fad2665c) ) // sprites @@ -1796,11 +1797,11 @@ ROM_START( phozon ) ROM_REGION( 0x10000, "sub2", 0 ) // 64k for the SUB CPU ROM_LOAD( "9r.rom", 0xe000, 0x2000, CRC(5d9f0a28) SHA1(2caef680229180b237f8c4becf052f1a96592efd) ) - ROM_REGION( 0x2000, "gfx1", 0 ) + ROM_REGION( 0x2000, "tiles", 0 ) ROM_LOAD( "7j.rom", 0x0000, 0x1000, CRC(27f9db5b) SHA1(12ef817136b45927d7f279952fa19049a1349f60) ) // characters (set 1) ROM_LOAD( "8j.rom", 0x1000, 0x1000, CRC(15b12ef8) SHA1(e3303656b4e8b988e55a9551e5344e289958f677) ) // characters (set 2) - ROM_REGION( 0x2000, "gfx2", 0 ) + ROM_REGION( 0x2000, "sprites", 0 ) ROM_LOAD( "5t.rom", 0x0000, 0x2000, CRC(d50f08f8) SHA1(4e9dda0d5ad1c1b8b3be7edb05b3060f5f63a9c7) ) // sprites ROM_REGION( 0x0520, "proms", 0 ) @@ -1828,23 +1829,27 @@ ROM_START( phozons ) ROM_REGION( 0x10000, "sub2", 0 ) // 64k for the SUB CPU ROM_LOAD( "9r.rom", 0xe000, 0x2000, CRC(5d9f0a28) SHA1(2caef680229180b237f8c4becf052f1a96592efd) ) // 9r.bin - ROM_REGION( 0x2000, "gfx1", 0 ) + ROM_REGION( 0x2000, "tiles", 0 ) ROM_LOAD( "7j.bin", 0x0000, 0x1000, CRC(312b3ece) SHA1(1d4d3371a42321644ec3669f95abcfe860020868) ) // characters (set 1) ROM_LOAD( "8j.bin", 0x1000, 0x1000, CRC(d21422a2) SHA1(0268651628d66dc67a3b6bb8fb682b668e7ebbad) ) // characters (set 2) - ROM_REGION( 0x2000, "gfx2", 0 ) + ROM_REGION( 0x2000, "sprites", 0 ) ROM_LOAD( "5t.rom", 0x0000, 0x2000, CRC(d50f08f8) SHA1(4e9dda0d5ad1c1b8b3be7edb05b3060f5f63a9c7) ) // sprites - 5t.bin - ROM_REGION( 0x0520, "proms", 0 ) - ROM_LOAD( "red.prm", 0x0000, 0x0100, CRC(a2880667) SHA1(b24d9b3354d20a7ecc02c428245669c6c86bfd61) ) // red palette ROM (4 bits) - ROM_LOAD( "green.prm", 0x0100, 0x0100, CRC(d6e08bef) SHA1(b0ca7f8a77b7208cf974a8cc565fc91b7f40f51f) ) // green palette ROM (4 bits) - ROM_LOAD( "blue.prm", 0x0200, 0x0100, CRC(b2d69c72) SHA1(e7b1ed698ab0e87872cb3a8f3ec102ca3a753259) ) // blue palette ROM (4 bits) - ROM_LOAD( "chr.prm", 0x0300, 0x0100, CRC(429e8fee) SHA1(7b1899ca3f33f4561b572de1f24d9ea9d7d84b59) ) // characters - ROM_LOAD( "sprite.prm", 0x0400, 0x0100, CRC(9061db07) SHA1(4305d37e613e1d15d37539b152c948648189c2cd) ) // sprites - ROM_LOAD( "palette.prm", 0x0500, 0x0020, CRC(60e856ed) SHA1(dcc9a2dfc728b9ca1ab895008de07e20ebed9da3) ) // unused - timing? + ROM_REGION( 0x0500, "proms", 0 ) + ROM_LOAD( "ph1-2.1r", 0x0000, 0x0100, CRC(a2880667) SHA1(b24d9b3354d20a7ecc02c428245669c6c86bfd61) ) // red palette ROM (4 bits) + ROM_LOAD( "ph1-1.1s", 0x0100, 0x0100, CRC(d6e08bef) SHA1(b0ca7f8a77b7208cf974a8cc565fc91b7f40f51f) ) // green palette ROM (4 bits) + ROM_LOAD( "ph1-3.1p", 0x0200, 0x0100, CRC(b2d69c72) SHA1(e7b1ed698ab0e87872cb3a8f3ec102ca3a753259) ) // blue palette ROM (4 bits) + ROM_LOAD( "ph1-5.5l", 0x0300, 0x0100, CRC(429e8fee) SHA1(7b1899ca3f33f4561b572de1f24d9ea9d7d84b59) ) // characters + ROM_LOAD( "ph1-6.6r", 0x0400, 0x0100, CRC(9061db07) SHA1(4305d37e613e1d15d37539b152c948648189c2cd) ) // sprites ROM_REGION( 0x0100, "namco", 0 ) // sound PROMs - ROM_LOAD( "sound.prm", 0x0000, 0x0100, CRC(ad43688f) SHA1(072f427453efb1dda8147da61804fff06e1bc4d5) ) + ROM_LOAD( "ph1-4.3e", 0x0000, 0x0100, CRC(ad43688f) SHA1(072f427453efb1dda8147da61804fff06e1bc4d5) ) + + ROM_REGION( 0x0600, "plds", ROMREGION_ERASE00 ) + ROM_LOAD( "ph1-7.7b", 0x0000, 0x0117, CRC(9a00af9a) SHA1(b5d5a3d8a091e0e3d62b2cce34ae9b8dc1cfcbff) ) + ROM_LOAD( "ph1-8.4b", 0x0200, 0x0117, CRC(fb180f00) SHA1(c0a355fb5287e715b0c39b78eacfdcd00db953b1) ) + ROM_LOAD( "ph1-9.7r", 0x0400, 0x0117, CRC(3b21d560) SHA1(905f9a6b7440b2eeb34475879751748300b42428) ) ROM_END ROM_START( mappy ) @@ -1856,12 +1861,12 @@ ROM_START( mappy ) ROM_REGION( 0x10000, "sub", 0 ) // 64k for the second CPU ROM_LOAD( "mp1_4.1k", 0xe000, 0x2000, CRC(8182dd5b) SHA1(f36b57f7f1e79f00b3f07afe1960bca5f5325ee2) ) - ROM_REGION( 0x1000, "gfx1", ROMREGION_INVERT ) + ROM_REGION( 0x1000, "tiles", ROMREGION_INVERT ) ROM_LOAD( "mp1_5.3b", 0x0000, 0x1000, CRC(16498b9f) SHA1(76610149c65f955484fef1c033ddc3fed3f4e568) ) - ROM_REGION( 0x4000, "gfx2", 0 ) - ROM_LOAD( "mp1_6.3m", 0x0000, 0x2000, CRC(f2d9647a) SHA1(3cc216793c6a5f73c437ad2524563deb3b5e2890) ) - ROM_LOAD( "mp1_7.3n", 0x2000, 0x2000, CRC(757cf2b6) SHA1(8dfbf03953d5219d9eb5fc654ec3392442ba1dc4) ) + ROM_REGION( 0x4000, "sprites", 0 ) + ROM_LOAD16_BYTE( "mp1_6.3m", 0x0000, 0x2000, CRC(f2d9647a) SHA1(3cc216793c6a5f73c437ad2524563deb3b5e2890) ) + ROM_LOAD16_BYTE( "mp1_7.3n", 0x0001, 0x2000, CRC(757cf2b6) SHA1(8dfbf03953d5219d9eb5fc654ec3392442ba1dc4) ) ROM_REGION( 0x0220, "proms", 0 ) ROM_LOAD( "mp1-5.5b", 0x0000, 0x0020, CRC(56531268) SHA1(2e356706c07f43eeb67783fb122bdc7fed1b3589) ) // palette @@ -1881,12 +1886,12 @@ ROM_START( mappyj ) ROM_REGION( 0x10000, "sub", 0 ) // 64k for the second CPU ROM_LOAD( "mp1_4.1k", 0xe000, 0x2000, CRC(8182dd5b) SHA1(f36b57f7f1e79f00b3f07afe1960bca5f5325ee2) ) - ROM_REGION( 0x1000, "gfx1", ROMREGION_INVERT ) + ROM_REGION( 0x1000, "tiles", ROMREGION_INVERT ) ROM_LOAD( "mp1_5.3b", 0x0000, 0x1000, CRC(16498b9f) SHA1(76610149c65f955484fef1c033ddc3fed3f4e568) ) - ROM_REGION( 0x4000, "gfx2", 0 ) - ROM_LOAD( "mp1_6.3m", 0x0000, 0x2000, CRC(f2d9647a) SHA1(3cc216793c6a5f73c437ad2524563deb3b5e2890) ) - ROM_LOAD( "mp1_7.3n", 0x2000, 0x2000, CRC(757cf2b6) SHA1(8dfbf03953d5219d9eb5fc654ec3392442ba1dc4) ) + ROM_REGION( 0x4000, "sprites", 0 ) + ROM_LOAD16_BYTE( "mp1_6.3m", 0x0000, 0x2000, CRC(f2d9647a) SHA1(3cc216793c6a5f73c437ad2524563deb3b5e2890) ) + ROM_LOAD16_BYTE( "mp1_7.3n", 0x0001, 0x2000, CRC(757cf2b6) SHA1(8dfbf03953d5219d9eb5fc654ec3392442ba1dc4) ) ROM_REGION( 0x0220, "proms", 0 ) ROM_LOAD( "mp1-5.5b", 0x0000, 0x0020, CRC(56531268) SHA1(2e356706c07f43eeb67783fb122bdc7fed1b3589) ) // palette @@ -1905,12 +1910,12 @@ ROM_START( todruaga ) ROM_REGION( 0x10000, "sub", 0 ) // 64k for the second CPU ROM_LOAD( "td1_4.1k", 0xe000, 0x2000, CRC(ae9d06d9) SHA1(3d8621fdd74fafa61f342886faa37f0aab50c5a7) ) - ROM_REGION( 0x1000, "gfx1", ROMREGION_INVERT ) + ROM_REGION( 0x1000, "tiles", ROMREGION_INVERT ) ROM_LOAD( "td1_5.3b", 0x0000, 0x1000, CRC(d32b249f) SHA1(7d7cee4101ef615fb92c3702f89a9823a6231195) ) - ROM_REGION( 0x4000, "gfx2", 0 ) - ROM_LOAD( "td1_6.3m", 0x0000, 0x2000, CRC(e827e787) SHA1(74e0af4c7d6e334bcd211a33eb18dddc8a182aa7) ) - ROM_LOAD( "td1_7.3n", 0x2000, 0x2000, CRC(962bd060) SHA1(74cdcafc26475bda085bf62ed17e6474ed782453) ) + ROM_REGION( 0x4000, "sprites", 0 ) + ROM_LOAD16_BYTE( "td1_6.3m", 0x0000, 0x2000, CRC(e827e787) SHA1(74e0af4c7d6e334bcd211a33eb18dddc8a182aa7) ) + ROM_LOAD16_BYTE( "td1_7.3n", 0x0001, 0x2000, CRC(962bd060) SHA1(74cdcafc26475bda085bf62ed17e6474ed782453) ) ROM_REGION( 0x0520, "proms", 0 ) ROM_LOAD( "td1-5.5b", 0x0000, 0x0020, CRC(122cc395) SHA1(a648c53f2e95634bb5b27d79be3fd908021d056e) ) // palette @@ -1929,12 +1934,12 @@ ROM_START( todruagao ) ROM_REGION( 0x10000, "sub", 0 ) // 64k for the second CPU ROM_LOAD( "td1_4.1k", 0xe000, 0x2000, CRC(ae9d06d9) SHA1(3d8621fdd74fafa61f342886faa37f0aab50c5a7) ) - ROM_REGION( 0x1000, "gfx1", ROMREGION_INVERT ) + ROM_REGION( 0x1000, "tiles", ROMREGION_INVERT ) ROM_LOAD( "td1_5.3b", 0x0000, 0x1000, CRC(d32b249f) SHA1(7d7cee4101ef615fb92c3702f89a9823a6231195) ) - ROM_REGION( 0x4000, "gfx2", 0 ) - ROM_LOAD( "td1_6.3m", 0x0000, 0x2000, CRC(e827e787) SHA1(74e0af4c7d6e334bcd211a33eb18dddc8a182aa7) ) - ROM_LOAD( "td1_7.3n", 0x2000, 0x2000, CRC(962bd060) SHA1(74cdcafc26475bda085bf62ed17e6474ed782453) ) + ROM_REGION( 0x4000, "sprites", 0 ) + ROM_LOAD16_BYTE( "td1_6.3m", 0x0000, 0x2000, CRC(e827e787) SHA1(74e0af4c7d6e334bcd211a33eb18dddc8a182aa7) ) + ROM_LOAD16_BYTE( "td1_7.3n", 0x0001, 0x2000, CRC(962bd060) SHA1(74cdcafc26475bda085bf62ed17e6474ed782453) ) ROM_REGION( 0x0520, "proms", 0 ) ROM_LOAD( "td1-5.5b", 0x0000, 0x0020, CRC(122cc395) SHA1(a648c53f2e95634bb5b27d79be3fd908021d056e) ) // palette @@ -1953,12 +1958,12 @@ ROM_START( todruagas ) ROM_REGION( 0x10000, "sub", 0 ) // 64k for the second CPU ROM_LOAD( "td1_4.1k", 0xe000, 0x2000, CRC(ae9d06d9) SHA1(3d8621fdd74fafa61f342886faa37f0aab50c5a7) ) - ROM_REGION( 0x1000, "gfx1", ROMREGION_INVERT ) + ROM_REGION( 0x1000, "tiles", ROMREGION_INVERT ) ROM_LOAD( "td1_5.3b", 0x0000, 0x1000, CRC(d32b249f) SHA1(7d7cee4101ef615fb92c3702f89a9823a6231195) ) - ROM_REGION( 0x4000, "gfx2", 0 ) - ROM_LOAD( "td1_6.3m", 0x0000, 0x2000, CRC(e827e787) SHA1(74e0af4c7d6e334bcd211a33eb18dddc8a182aa7) ) - ROM_LOAD( "td1_7.3n", 0x2000, 0x2000, CRC(962bd060) SHA1(74cdcafc26475bda085bf62ed17e6474ed782453) ) + ROM_REGION( 0x4000, "sprites", 0 ) + ROM_LOAD16_BYTE( "td1_6.3m", 0x0000, 0x2000, CRC(e827e787) SHA1(74e0af4c7d6e334bcd211a33eb18dddc8a182aa7) ) + ROM_LOAD16_BYTE( "td1_7.3n", 0x0001, 0x2000, CRC(962bd060) SHA1(74cdcafc26475bda085bf62ed17e6474ed782453) ) ROM_REGION( 0x0520, "proms", 0 ) ROM_LOAD( "td1-5.5b", 0x0000, 0x0020, CRC(122cc395) SHA1(a648c53f2e95634bb5b27d79be3fd908021d056e) ) // palette @@ -1977,12 +1982,12 @@ ROM_START( digdug2 ) ROM_REGION( 0x10000, "sub", 0 ) // 64k for the second CPU ROM_LOAD( "d21_4.1k", 0xe000, 0x2000, CRC(737443b1) SHA1(0e46204089cc6e5ffab0d2a62f9a1728f8c35948) ) - ROM_REGION( 0x1000, "gfx1", ROMREGION_INVERT ) + ROM_REGION( 0x1000, "tiles", ROMREGION_INVERT ) ROM_LOAD( "d21_5.3b", 0x0000, 0x1000, CRC(afcb4509) SHA1(c9a54df22b0b92efbe7417a00200587225906b46) ) - ROM_REGION( 0x8000, "gfx2", 0 ) - ROM_LOAD( "d21_6.3m", 0x0000, 0x4000, CRC(df1f4ad8) SHA1(004fba630018dbf03c4b0e284c98077e19fface3) ) - ROM_LOAD( "d21_7.3n", 0x4000, 0x4000, CRC(ccadb3ea) SHA1(77d8d8e6039272f73e63c8f76084138ec613365a) ) + ROM_REGION( 0x8000, "sprites", 0 ) + ROM_LOAD16_BYTE( "d21_6.3m", 0x0000, 0x4000, CRC(df1f4ad8) SHA1(004fba630018dbf03c4b0e284c98077e19fface3) ) + ROM_LOAD16_BYTE( "d21_7.3n", 0x0001, 0x4000, CRC(ccadb3ea) SHA1(77d8d8e6039272f73e63c8f76084138ec613365a) ) ROM_REGION( 0x0220, "proms", 0 ) ROM_LOAD( "d21-5.5b", 0x0000, 0x0020, CRC(9b169db5) SHA1(77e840d10ab59708a051c3b15305b33d431ee06d) ) // palette @@ -2001,12 +2006,12 @@ ROM_START( digdug2o ) ROM_REGION( 0x10000, "sub", 0 ) // 64k for the second CPU ROM_LOAD( "d21_4.1k", 0xe000, 0x2000, CRC(737443b1) SHA1(0e46204089cc6e5ffab0d2a62f9a1728f8c35948) ) - ROM_REGION( 0x1000, "gfx1", ROMREGION_INVERT ) + ROM_REGION( 0x1000, "tiles", ROMREGION_INVERT ) ROM_LOAD( "d21_5.3b", 0x0000, 0x1000, CRC(afcb4509) SHA1(c9a54df22b0b92efbe7417a00200587225906b46) ) - ROM_REGION( 0x8000, "gfx2", 0 ) - ROM_LOAD( "d21_6.3m", 0x0000, 0x4000, CRC(df1f4ad8) SHA1(004fba630018dbf03c4b0e284c98077e19fface3) ) - ROM_LOAD( "d21_7.3n", 0x4000, 0x4000, CRC(ccadb3ea) SHA1(77d8d8e6039272f73e63c8f76084138ec613365a) ) + ROM_REGION( 0x8000, "sprites", 0 ) + ROM_LOAD16_BYTE( "d21_6.3m", 0x0000, 0x4000, CRC(df1f4ad8) SHA1(004fba630018dbf03c4b0e284c98077e19fface3) ) + ROM_LOAD16_BYTE( "d21_7.3n", 0x0001, 0x4000, CRC(ccadb3ea) SHA1(77d8d8e6039272f73e63c8f76084138ec613365a) ) ROM_REGION( 0x0220, "proms", 0 ) ROM_LOAD( "d21-5.5b", 0x0000, 0x0020, CRC(9b169db5) SHA1(77e840d10ab59708a051c3b15305b33d431ee06d) ) // palette @@ -2026,12 +2031,12 @@ ROM_START( motos ) ROM_REGION( 0x10000, "sub", 0 ) // 64k for the second CPU ROM_LOAD( "mo1_4.1k", 0xe000, 0x2000, CRC(55e45d21) SHA1(a8b195acfec542734751de29c9dafc2b165a5881) ) - ROM_REGION( 0x1000, "gfx1", ROMREGION_INVERT ) + ROM_REGION( 0x1000, "tiles", ROMREGION_INVERT ) ROM_LOAD( "mo1_5.3b", 0x0000, 0x1000, CRC(5d4a2a22) SHA1(4af9bf2ae9bb78d2d029ef38809181ffa3c0eb66) ) - ROM_REGION( 0x8000, "gfx2", 0 ) - ROM_LOAD( "mo1_6.3m", 0x0000, 0x4000, CRC(2f0e396e) SHA1(664679f9d3d74a3fccb086af910392b4fe40c9bc) ) - ROM_LOAD( "mo1_7.3n", 0x4000, 0x4000, CRC(cf8a3b86) SHA1(2b49cdec516e23783f2a291633d81ab8bd0245fc) ) + ROM_REGION( 0x8000, "sprites", 0 ) + ROM_LOAD16_BYTE( "mo1_6.3m", 0x0000, 0x4000, CRC(2f0e396e) SHA1(664679f9d3d74a3fccb086af910392b4fe40c9bc) ) + ROM_LOAD16_BYTE( "mo1_7.3n", 0x0001, 0x4000, CRC(cf8a3b86) SHA1(2b49cdec516e23783f2a291633d81ab8bd0245fc) ) ROM_REGION( 0x0220, "proms", 0 ) ROM_LOAD( "mo1-5.5b", 0x0000, 0x0020, CRC(71972383) SHA1(66b0619affcc5168b099108800a941d6e2416ab0) ) // palette @@ -2051,25 +2056,25 @@ void mappy_state::init_digdug2() // 2x6809, static tilemap, 2bpp sprites (Super Pacman type) -GAME( 1982, superpac, 0, superpac, superpac, mappy_state, empty_init, ROT90, "Namco", "Super Pac-Man", MACHINE_SUPPORTS_SAVE ) -GAME( 1982, superpacm, superpac, superpac, superpac, mappy_state, empty_init, ROT90, "Namco (Bally Midway license)", "Super Pac-Man (Midway)", MACHINE_SUPPORTS_SAVE ) -GAME( 1983, pacnpal, 0, pacnpal, pacnpal, mappy_state, empty_init, ROT90, "Namco", "Pac & Pal", MACHINE_SUPPORTS_SAVE ) -GAME( 1983, pacnpal2, pacnpal, pacnpal, pacnpal, mappy_state, empty_init, ROT90, "Namco", "Pac & Pal (older)", MACHINE_SUPPORTS_SAVE ) -GAME( 1983, pacnchmp, pacnpal, pacnpal, pacnpal, mappy_state, empty_init, ROT90, "Namco", "Pac-Man & Chomp Chomp", MACHINE_SUPPORTS_SAVE ) -GAME( 1984, grobda, 0, grobda, grobda, mappy_state, empty_init, ROT90, "Namco", "Grobda (New Ver.)", MACHINE_SUPPORTS_SAVE ) -GAME( 1984, grobda2, grobda, grobda, grobda, mappy_state, empty_init, ROT90, "Namco", "Grobda (Old Ver. set 1)", MACHINE_SUPPORTS_SAVE ) -GAME( 1984, grobda3, grobda, grobda, grobda, mappy_state, empty_init, ROT90, "Namco", "Grobda (Old Ver. set 2)", MACHINE_SUPPORTS_SAVE ) +GAME( 1982, superpac, 0, superpac, superpac, mappy_state, empty_init, ROT90, "Namco", "Super Pac-Man", MACHINE_SUPPORTS_SAVE ) +GAME( 1982, superpacm, superpac, superpac, superpac, mappy_state, empty_init, ROT90, "Namco (Bally Midway license)", "Super Pac-Man (Midway)", MACHINE_SUPPORTS_SAVE ) +GAME( 1983, pacnpal, 0, pacnpal, pacnpal, mappy_state, empty_init, ROT90, "Namco", "Pac & Pal", MACHINE_SUPPORTS_SAVE ) +GAME( 1983, pacnpal2, pacnpal, pacnpal, pacnpal, mappy_state, empty_init, ROT90, "Namco", "Pac & Pal (older)", MACHINE_SUPPORTS_SAVE ) +GAME( 1983, pacnchmp, pacnpal, pacnpal, pacnpal, mappy_state, empty_init, ROT90, "Namco", "Pac-Man & Chomp Chomp", MACHINE_SUPPORTS_SAVE ) +GAME( 1984, grobda, 0, grobda, grobda, mappy_state, empty_init, ROT90, "Namco", "Grobda (New Ver.)", MACHINE_SUPPORTS_SAVE ) +GAME( 1984, grobda2, grobda, grobda, grobda, mappy_state, empty_init, ROT90, "Namco", "Grobda (Old Ver. set 1)", MACHINE_SUPPORTS_SAVE ) +GAME( 1984, grobda3, grobda, grobda, grobda, mappy_state, empty_init, ROT90, "Namco", "Grobda (Old Ver. set 2)", MACHINE_SUPPORTS_SAVE ) // 3x6809, static tilemap, 2bpp sprites (Gaplus type) -GAME( 1983, phozon, 0, phozon, phozon, mappy_state, empty_init, ROT90, "Namco", "Phozon (Japan)", MACHINE_SUPPORTS_SAVE ) -GAME( 1983, phozons, phozon, phozon, phozon, mappy_state, empty_init, ROT90, "Namco (Sidam license)", "Phozon (Sidam)", MACHINE_SUPPORTS_SAVE ) +GAME( 1983, phozon, 0, phozon, phozon, phozon_state, empty_init, ROT90, "Namco", "Phozon (Japan)", MACHINE_SUPPORTS_SAVE ) +GAME( 1983, phozons, phozon, phozon, phozon, phozon_state, empty_init, ROT90, "Namco (Sidam license)", "Phozon (Sidam)", MACHINE_SUPPORTS_SAVE ) // 2x6809, scroling tilemap, 4bpp sprites (Super Pacman type) -GAME( 1983, mappy, 0, mappy, mappy, mappy_state, empty_init, ROT90, "Namco", "Mappy (US)", MACHINE_SUPPORTS_SAVE ) -GAME( 1983, mappyj, mappy, mappy, mappy, mappy_state, empty_init, ROT90, "Namco", "Mappy (Japan)", MACHINE_SUPPORTS_SAVE ) -GAME( 1984, todruaga, 0, todruaga, todruaga, mappy_state, empty_init, ROT90, "Namco", "The Tower of Druaga (New Ver.)", MACHINE_SUPPORTS_SAVE ) -GAME( 1984, todruagao, todruaga, todruaga, todruaga, mappy_state, empty_init, ROT90, "Namco", "The Tower of Druaga (Old Ver.)", MACHINE_SUPPORTS_SAVE ) -GAME( 1984, todruagas, todruaga, todruaga, todruaga, mappy_state, empty_init, ROT90, "bootleg? (Sidam)", "The Tower of Druaga (Sidam)", MACHINE_SUPPORTS_SAVE ) -GAME( 1985, digdug2, 0, digdug2, digdug2, mappy_state, init_digdug2, ROT90, "Namco", "Dig Dug II (New Ver.)", MACHINE_SUPPORTS_SAVE ) -GAME( 1985, digdug2o, digdug2, digdug2, digdug2, mappy_state, init_digdug2, ROT90, "Namco", "Dig Dug II (Old Ver.)", MACHINE_SUPPORTS_SAVE ) -GAME( 1985, motos, 0, motos, motos, mappy_state, empty_init, ROT90, "Namco", "Motos", MACHINE_SUPPORTS_SAVE ) +GAME( 1983, mappy, 0, mappy, mappy, mappy_state, empty_init, ROT90, "Namco", "Mappy (US)", MACHINE_SUPPORTS_SAVE ) +GAME( 1983, mappyj, mappy, mappy, mappy, mappy_state, empty_init, ROT90, "Namco", "Mappy (Japan)", MACHINE_SUPPORTS_SAVE ) +GAME( 1984, todruaga, 0, todruaga, todruaga, mappy_state, empty_init, ROT90, "Namco", "The Tower of Druaga (New Ver.)", MACHINE_SUPPORTS_SAVE ) +GAME( 1984, todruagao, todruaga, todruaga, todruaga, mappy_state, empty_init, ROT90, "Namco", "The Tower of Druaga (Old Ver.)", MACHINE_SUPPORTS_SAVE ) +GAME( 1984, todruagas, todruaga, todruaga, todruaga, mappy_state, empty_init, ROT90, "bootleg? (Sidam)", "The Tower of Druaga (Sidam)", MACHINE_SUPPORTS_SAVE ) +GAME( 1985, digdug2, 0, digdug2, digdug2, mappy_state, init_digdug2, ROT90, "Namco", "Dig Dug II (New Ver.)", MACHINE_SUPPORTS_SAVE ) +GAME( 1985, digdug2o, digdug2, digdug2, digdug2, mappy_state, init_digdug2, ROT90, "Namco", "Dig Dug II (Old Ver.)", MACHINE_SUPPORTS_SAVE ) +GAME( 1985, motos, 0, motos, motos, mappy_state, empty_init, ROT90, "Namco", "Motos", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/namco/mappy.h b/src/mame/namco/mappy.h index 4f14d1b640de5..732c922d1fc17 100644 --- a/src/mame/namco/mappy.h +++ b/src/mame/namco/mappy.h @@ -20,7 +20,6 @@ class mappy_state : public driver_device m_spriteram(*this, "spriteram"), m_maincpu(*this, "maincpu"), m_subcpu(*this, "sub"), - m_subcpu2(*this, "sub2"), m_namcoio(*this, "namcoio_%u", 1), m_namco_15xx(*this, "namco"), m_gfxdecode(*this, "gfxdecode"), @@ -31,7 +30,6 @@ class mappy_state : public driver_device void mappy_common(machine_config &config); void mappy(machine_config &config); - void phozon(machine_config &config); void motos(machine_config &config); void grobda(machine_config &config); void digdug2(machine_config &config); @@ -45,13 +43,11 @@ class mappy_state : public driver_device protected: virtual void machine_start() override ATTR_COLD; -private: required_shared_ptr m_videoram; required_shared_ptr m_spriteram; required_device m_maincpu; required_device m_subcpu; - optional_device m_subcpu2; required_device_array m_namcoio; required_device m_namco_15xx; required_device m_gfxdecode; @@ -66,46 +62,68 @@ class mappy_state : public driver_device uint8_t m_main_irq_mask = 0; uint8_t m_sub_irq_mask = 0; - uint8_t m_sub2_irq_mask = 0; emu_timer *m_namcoio_run_timer[2]{}; - void int_on_w(int state); - void int_on_2_w(int state); - void int_on_3_w(int state); + void main_int_on_w(int state); + void sub_int_on_w(int state); void superpac_videoram_w(offs_t offset, uint8_t data); void mappy_videoram_w(offs_t offset, uint8_t data); - void superpac_flipscreen_w(uint8_t data); - uint8_t superpac_flipscreen_r(); + void flipscreen_w(uint8_t data); + uint8_t flipscreen_r(); void mappy_scroll_w(offs_t offset, uint8_t data); void out_lamps(uint8_t data); TILEMAP_MAPPER_MEMBER(superpac_tilemap_scan); TILEMAP_MAPPER_MEMBER(mappy_tilemap_scan); TILE_GET_INFO_MEMBER(superpac_get_tile_info); - TILE_GET_INFO_MEMBER(phozon_get_tile_info); TILE_GET_INFO_MEMBER(mappy_get_tile_info); template TIMER_CALLBACK_MEMBER(namcoio_run_timer); DECLARE_VIDEO_START(superpac); void superpac_palette(palette_device &palette) const; - DECLARE_VIDEO_START(phozon); - void phozon_palette(palette_device &palette) const; DECLARE_VIDEO_START(mappy); void mappy_palette(palette_device &palette) const; uint32_t screen_update_superpac(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - uint32_t screen_update_phozon(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); uint32_t screen_update_mappy(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); void vblank_irq(int state); void mappy_draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, uint8_t *spriteram_base); - void phozon_draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, uint8_t *spriteram_base); - - void mappy_cpu1_map(address_map &map) ATTR_COLD; - void mappy_cpu2_map(address_map &map) ATTR_COLD; - void phozon_cpu1_map(address_map &map) ATTR_COLD; - void phozon_cpu2_map(address_map &map) ATTR_COLD; - void phozon_cpu3_map(address_map &map) ATTR_COLD; - void superpac_cpu1_map(address_map &map) ATTR_COLD; - void superpac_cpu2_map(address_map &map) ATTR_COLD; + + void mappy_main_map(address_map &map) ATTR_COLD; + void superpac_main_map(address_map &map) ATTR_COLD; + void superpac_sub_map(address_map &map) ATTR_COLD; +}; + +class phozon_state : public mappy_state +{ +public: + phozon_state(const machine_config &mconfig, device_type type, const char *tag) : + mappy_state(mconfig, type, tag), + m_subcpu2(*this, "sub2") + { } + + void phozon(machine_config &config); + +protected: + virtual void machine_start() override ATTR_COLD; + virtual void video_start() override ATTR_COLD; + +private: + required_device m_subcpu2; + + uint8_t m_sub2_irq_mask = 0; + + void sub2_int_on_w(int state); + + TILE_GET_INFO_MEMBER(get_tile_info); + + void palette(palette_device &palette) const; + uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + void phozon_vblank_irq(int state); + void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, uint8_t *spriteram_base); + + void main_map(address_map &map) ATTR_COLD; + void sub_map(address_map &map) ATTR_COLD; + void sub2_map(address_map &map) ATTR_COLD; }; #endif // MAME_NAMCO_MAPPY_H diff --git a/src/mame/namco/mappy_v.cpp b/src/mame/namco/mappy_v.cpp index b66f5bcb737c4..ff4864a4c9119 100644 --- a/src/mame/namco/mappy_v.cpp +++ b/src/mame/namco/mappy_v.cpp @@ -154,7 +154,7 @@ void mappy_state::mappy_palette(palette_device &palette) const ***************************************************************************/ -void mappy_state::phozon_palette(palette_device &palette) const +void phozon_state::palette(palette_device &palette) const { const uint8_t *color_prom = memregion("proms")->base(); static constexpr int resistances[4] = { 2200, 1000, 470, 220 }; @@ -254,7 +254,7 @@ TILE_GET_INFO_MEMBER(mappy_state::superpac_get_tile_info) { uint8_t attr = m_videoram[tile_index + 0x400]; - tileinfo.category = (attr & 0x40) >> 6; + tileinfo.category = BIT(attr, 6); tileinfo.group = attr & 0x3f; tileinfo.set(0, m_videoram[tile_index], @@ -262,11 +262,11 @@ TILE_GET_INFO_MEMBER(mappy_state::superpac_get_tile_info) 0); } -TILE_GET_INFO_MEMBER(mappy_state::phozon_get_tile_info) +TILE_GET_INFO_MEMBER(phozon_state::get_tile_info) { uint8_t attr = m_videoram[tile_index + 0x400]; - tileinfo.category = (attr & 0x40) >> 6; + tileinfo.category = BIT(attr, 6); tileinfo.group = attr & 0x3f; tileinfo.set(0, m_videoram[tile_index] + ((attr & 0x80) << 1), @@ -278,7 +278,7 @@ TILE_GET_INFO_MEMBER(mappy_state::mappy_get_tile_info) { uint8_t attr = m_videoram[tile_index + 0x800]; - tileinfo.category = (attr & 0x40) >> 6; + tileinfo.category = BIT(attr, 6); tileinfo.group = attr & 0x3f; tileinfo.set(0, m_videoram[tile_index], @@ -302,9 +302,9 @@ VIDEO_START_MEMBER(mappy_state,superpac) m_bg_tilemap->configure_groups(*m_gfxdecode->gfx(0), 31); } -VIDEO_START_MEMBER(mappy_state,phozon) +void phozon_state::video_start() { - m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(mappy_state::phozon_get_tile_info)), tilemap_mapper_delegate(*this, FUNC(mappy_state::superpac_tilemap_scan)), 8, 8, 36, 28); + m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(phozon_state::get_tile_info)), tilemap_mapper_delegate(*this, FUNC(phozon_state::superpac_tilemap_scan)), 8, 8, 36, 28); m_bg_tilemap->configure_groups(*m_gfxdecode->gfx(0), 15); } @@ -339,14 +339,15 @@ void mappy_state::mappy_videoram_w(offs_t offset, uint8_t data) m_bg_tilemap->mark_tile_dirty(offset & 0x7ff); } -void mappy_state::superpac_flipscreen_w(uint8_t data) +void mappy_state::flipscreen_w(uint8_t data) { - flip_screen_set(data & 1); + flip_screen_set(BIT(data, 0)); } -uint8_t mappy_state::superpac_flipscreen_r() +uint8_t mappy_state::flipscreen_r() { - flip_screen_set(1); + if (!machine().side_effects_disabled()) + flip_screen_set(1); return 0xff; } @@ -365,15 +366,14 @@ void mappy_state::mappy_scroll_w(offs_t offset, uint8_t data) void mappy_state::mappy_draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, uint8_t *spriteram_base) { - uint8_t *spriteram = spriteram_base + 0x780; - uint8_t *spriteram_2 = spriteram + 0x800; - uint8_t *spriteram_3 = spriteram_2 + 0x800; - int offs; + uint8_t const *const spriteram = spriteram_base + 0x780; + uint8_t const *const spriteram_2 = spriteram + 0x800; + uint8_t const *const spriteram_3 = spriteram_2 + 0x800; - for (offs = 0;offs < 0x80;offs += 2) + for (int offs = 0; offs < 0x80; offs += 2) { /* is it on? */ - if ((spriteram_3[offs+1] & 2) == 0) + if (BIT(~spriteram_3[offs+1], 1)) { static const uint8_t gfx_offs[2][2] = { @@ -381,14 +381,13 @@ void mappy_state::mappy_draw_sprites(bitmap_ind16 &bitmap, const rectangle &clip { 2, 3 } }; int sprite = spriteram[offs]; - int color = spriteram[offs+1]; - int sx = spriteram_2[offs+1] + 0x100 * (spriteram_3[offs+1] & 1) - 40; + int const color = spriteram[offs+1]; + int const sx = spriteram_2[offs+1] + 0x100 * (spriteram_3[offs+1] & 1) - 40; int sy = 256 - spriteram_2[offs] + 1; // sprites are buffered and delayed by one scanline - int flipx = (spriteram_3[offs] & 0x01); - int flipy = (spriteram_3[offs] & 0x02) >> 1; - int sizex = (spriteram_3[offs] & 0x04) >> 2; - int sizey = (spriteram_3[offs] & 0x08) >> 3; - int x,y; + int flipx = BIT(spriteram_3[offs], 0); + int flipy = BIT(spriteram_3[offs], 1); + int const sizex = (spriteram_3[offs] & 0x04) >> 2; + int const sizey = (spriteram_3[offs] & 0x08) >> 3; sprite &= ~sizex; sprite &= ~(sizey << 1); @@ -402,9 +401,9 @@ void mappy_state::mappy_draw_sprites(bitmap_ind16 &bitmap, const rectangle &clip flipy ^= 1; } - for (y = 0;y <= sizey;y++) + for (int y = 0; y <= sizey; y++) { - for (x = 0;x <= sizex;x++) + for (int x = 0; x <= sizex; x++) { m_gfxdecode->gfx(1)->transmask(bitmap,cliprect, sprite + gfx_offs[y ^ (sizey * flipy)][x ^ (sizex * flipx)], @@ -440,17 +439,16 @@ spriteram_3 1 -------x X position MSB */ -void mappy_state::phozon_draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, uint8_t *spriteram_base) +void phozon_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, uint8_t *spriteram_base) { - uint8_t *spriteram = spriteram_base + 0x780; - uint8_t *spriteram_2 = spriteram + 0x800; - uint8_t *spriteram_3 = spriteram_2 + 0x800; - int offs; + uint8_t const *const spriteram = spriteram_base + 0x780; + uint8_t const *const spriteram_2 = spriteram + 0x800; + uint8_t const *const spriteram_3 = spriteram_2 + 0x800; - for (offs = 0;offs < 0x80;offs += 2) + for (int offs = 0; offs < 0x80; offs += 2) { /* is it on? */ - if ((spriteram_3[offs+1] & 2) == 0) + if (BIT(~spriteram_3[offs+1], 1)) { static const uint8_t size[4] = { 1, 0, 3, 0 }; /* 16, 8, 32 pixels; fourth combination unused? */ static const uint8_t gfx_offs[4][4] = @@ -460,15 +458,14 @@ void mappy_state::phozon_draw_sprites(bitmap_ind16 &bitmap, const rectangle &cli { 8, 9,12,13 }, {10,11,14,15 } }; - int sprite = (spriteram[offs] << 2) | ((spriteram_3[offs] & 0xc0) >> 6); - int color = spriteram[offs+1] & 0x3f; - int sx = spriteram_2[offs+1] + 0x100 * (spriteram_3[offs+1] & 1) - 69; + int const sprite = (spriteram[offs] << 2) | ((spriteram_3[offs] & 0xc0) >> 6); + int const color = spriteram[offs+1] & 0x3f; + int const sx = spriteram_2[offs+1] + 0x100 * (spriteram_3[offs+1] & 1) - 69; int sy = 256 - spriteram_2[offs]; int flipx = (spriteram_3[offs] & 0x01); int flipy = (spriteram_3[offs] & 0x02) >> 1; - int sizex = size[(spriteram_3[offs] & 0x0c) >> 2]; - int sizey = size[(spriteram_3[offs] & 0x30) >> 4]; - int x,y; + int const sizex = size[(spriteram_3[offs] & 0x0c) >> 2]; + int const sizey = size[(spriteram_3[offs] & 0x30) >> 4]; sy -= 8 * sizey; sy = (sy & 0xff) - 32; // fix wraparound @@ -479,9 +476,9 @@ void mappy_state::phozon_draw_sprites(bitmap_ind16 &bitmap, const rectangle &cli flipy ^= 1; } - for (y = 0;y <= sizey;y++) + for (int y = 0; y <= sizey; y++) { - for (x = 0;x <= sizex;x++) + for (int x = 0; x <= sizex; x++) { m_gfxdecode->gfx(1)->transmask(bitmap,cliprect, sprite + gfx_offs[y ^ (sizey * flipy)][x ^ (sizex * flipx)], @@ -510,12 +507,12 @@ uint32_t mappy_state::screen_update_superpac(screen_device &screen, bitmap_ind16 m_bg_tilemap->draw(screen, bitmap, cliprect, 1,0); /* sprite color 0/1 still has priority over that (ghost eyes in Pac 'n Pal) */ - for (int y = 0;y < sprite_bitmap.height();y++) + for (int y = 0; y < sprite_bitmap.height(); y++) { - for (int x = 0;x < sprite_bitmap.width();x++) + for (int x = 0; x < sprite_bitmap.width(); x++) { - int spr_entry = sprite_bitmap.pix(y, x); - int spr_pen = m_palette->pen_indirect(spr_entry); + uint16_t const spr_entry = sprite_bitmap.pix(y, x); + int const spr_pen = m_palette->pen_indirect(spr_entry); if (spr_pen == 0 || spr_pen == 1) bitmap.pix(y, x) = spr_entry; } @@ -523,14 +520,14 @@ uint32_t mappy_state::screen_update_superpac(screen_device &screen, bitmap_ind16 return 0; } -uint32_t mappy_state::screen_update_phozon(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +uint32_t phozon_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { /* flip screen control is embedded in RAM */ - flip_screen_set(m_spriteram[0x1f7f-0x800] & 1); + flip_screen_set(BIT(m_spriteram[0x1f7f-0x800], 0)); m_bg_tilemap->draw(screen, bitmap, cliprect, TILEMAP_DRAW_OPAQUE | TILEMAP_DRAW_ALL_CATEGORIES,0); - phozon_draw_sprites(bitmap,cliprect,m_spriteram); + draw_sprites(bitmap,cliprect,m_spriteram); /* Redraw the high priority characters */ m_bg_tilemap->draw(screen, bitmap, cliprect, 1,0); @@ -539,9 +536,7 @@ uint32_t mappy_state::screen_update_phozon(screen_device &screen, bitmap_ind16 & uint32_t mappy_state::screen_update_mappy(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { - int offs; - - for (offs = 2;offs < 34;offs++) + for (int offs = 2; offs < 34; offs++) m_bg_tilemap->set_scrolly(offs,m_scroll); m_bg_tilemap->draw(screen, bitmap, cliprect, TILEMAP_DRAW_OPAQUE | TILEMAP_DRAW_ALL_CATEGORIES,0); diff --git a/src/mame/namco/namco06.cpp b/src/mame/namco/namco06.cpp index 692cc1b06f15d..03087fffd5efd 100644 --- a/src/mame/namco/namco06.cpp +++ b/src/mame/namco/namco06.cpp @@ -229,7 +229,7 @@ void namco_06xx_device::set_nmi(int state) { if (!m_nmicpu->suspended(SUSPEND_REASON_HALT | SUSPEND_REASON_RESET | SUSPEND_REASON_DISABLE)) { - m_nmicpu->set_input_line(INPUT_LINE_NMI, state); + m_nmicpu->set_input_line(INPUT_LINE_NMI, state ? ASSERT_LINE : CLEAR_LINE); } } diff --git a/src/mame/namco/namco50.cpp b/src/mame/namco/namco50.cpp index c474fe326e5b7..54954c80c1d7e 100644 --- a/src/mame/namco/namco50.cpp +++ b/src/mame/namco/namco50.cpp @@ -138,7 +138,7 @@ Flags: 80=high score, 40=first bonus, 20=interval bonus, 10=? void namco_50xx_device::reset(int state) { // The incoming signal is active low - m_cpu->set_input_line(INPUT_LINE_RESET, !state); + m_cpu->set_input_line(INPUT_LINE_RESET, state ? CLEAR_LINE : ASSERT_LINE); } @@ -162,13 +162,9 @@ void namco_50xx_device::O_w(uint8_t data) machine().scheduler().synchronize(timer_expired_delegate(FUNC(namco_50xx_device::O_w_sync),this), data); } -TIMER_CALLBACK_MEMBER( namco_50xx_device::O_w_sync ) +TIMER_CALLBACK_MEMBER(namco_50xx_device::O_w_sync) { - uint8_t out = (param & 0x0f); - if (param & 0x10) - m_portO = (m_portO & 0x0f) | (out << 4); - else - m_portO = (m_portO & 0xf0) | (out); + m_portO = param; } void namco_50xx_device::rw(int state) @@ -176,14 +172,14 @@ void namco_50xx_device::rw(int state) machine().scheduler().synchronize(timer_expired_delegate(FUNC(namco_50xx_device::rw_sync),this), state); } -TIMER_CALLBACK_MEMBER( namco_50xx_device::rw_sync ) +TIMER_CALLBACK_MEMBER(namco_50xx_device::rw_sync) { m_rw = param; } void namco_50xx_device::chip_select(int state) { - m_cpu->set_input_line(0, state); + m_cpu->set_input_line(MB88XX_IRQ_LINE, state ? ASSERT_LINE : CLEAR_LINE); } void namco_50xx_device::write(uint8_t data) @@ -191,7 +187,7 @@ void namco_50xx_device::write(uint8_t data) machine().scheduler().synchronize(timer_expired_delegate(FUNC(namco_50xx_device::write_sync),this), data); } -TIMER_CALLBACK_MEMBER( namco_50xx_device::write_sync ) +TIMER_CALLBACK_MEMBER(namco_50xx_device::write_sync) { m_cmd = param; } @@ -208,14 +204,14 @@ uint8_t namco_50xx_device::read() ROM_START( namco_50xx ) ROM_REGION( 0x800, "mcu", 0 ) - ROM_LOAD( "50xx.bin", 0x0000, 0x0800, CRC(a0acbaf7) SHA1(f03c79451e73b3a93c1591cdb27fedc9f130508d) ) + ROM_LOAD( "50xx.bin", 0x0000, 0x0800, CRC(a0acbaf7) SHA1(f03c79451e73b3a93c1591cdb27fedc9f130508d) ) ROM_END DEFINE_DEVICE_TYPE(NAMCO_50XX, namco_50xx_device, "namco50", "Namco 50xx") -namco_50xx_device::namco_50xx_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) - : device_t(mconfig, NAMCO_50XX, tag, owner, clock), +namco_50xx_device::namco_50xx_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + device_t(mconfig, NAMCO_50XX, tag, owner, clock), m_cpu(*this, "mcu"), m_rw(0), m_cmd(0), @@ -241,7 +237,7 @@ void namco_50xx_device::device_start() void namco_50xx_device::device_add_mconfig(machine_config &config) { - MB8842(config, m_cpu, DERIVED_CLOCK(1,1)); /* parent clock, internally divided by 6 */ + MB8842(config, m_cpu, DERIVED_CLOCK(1,1)); // parent clock, internally divided by 6 m_cpu->read_k().set(FUNC(namco_50xx_device::K_r)); m_cpu->read_r<0>().set(FUNC(namco_50xx_device::R0_r)); m_cpu->read_r<2>().set(FUNC(namco_50xx_device::R2_r)); diff --git a/src/mame/namco/namco50.h b/src/mame/namco/namco50.h index 27ce81bd2c930..eee45c4cfb893 100644 --- a/src/mame/namco/namco50.h +++ b/src/mame/namco/namco50.h @@ -7,7 +7,7 @@ #include "cpu/mb88xx/mb88xx.h" -/* device get info callback */ + class namco_50xx_device : public device_t { public: @@ -28,13 +28,13 @@ class namco_50xx_device : public device_t private: // internal state required_device m_cpu; - uint8_t m_rw; - uint8_t m_cmd; - uint8_t m_portO; + uint8_t m_rw; + uint8_t m_cmd; + uint8_t m_portO; - TIMER_CALLBACK_MEMBER( O_w_sync ); - TIMER_CALLBACK_MEMBER( rw_sync ); - TIMER_CALLBACK_MEMBER( write_sync ); + TIMER_CALLBACK_MEMBER(O_w_sync); + TIMER_CALLBACK_MEMBER(rw_sync); + TIMER_CALLBACK_MEMBER(write_sync); uint8_t K_r(); uint8_t R0_r(); diff --git a/src/mame/namco/namco51.cpp b/src/mame/namco/namco51.cpp index 3a268019779e3..3ace7d294ddb2 100644 --- a/src/mame/namco/namco51.cpp +++ b/src/mame/namco/namco51.cpp @@ -64,13 +64,13 @@ void namco_51xx_device::reset(int state) { // Reset line is active low. - m_cpu->set_input_line(INPUT_LINE_RESET, !state); + m_cpu->set_input_line(INPUT_LINE_RESET, state ? CLEAR_LINE : ASSERT_LINE); } void namco_51xx_device::vblank(int state) { // The timer is active on falling edges. - m_cpu->clock_w(!state); + m_cpu->set_input_line(MB88XX_TC_LINE, state ? CLEAR_LINE : ASSERT_LINE); } void namco_51xx_device::rw(int state) @@ -78,14 +78,14 @@ void namco_51xx_device::rw(int state) machine().scheduler().synchronize(timer_expired_delegate(FUNC(namco_51xx_device::rw_sync),this), state); } -TIMER_CALLBACK_MEMBER( namco_51xx_device::rw_sync ) +TIMER_CALLBACK_MEMBER(namco_51xx_device::rw_sync) { m_rw = param; } void namco_51xx_device::chip_select(int state) { - m_cpu->set_input_line(0, state); + m_cpu->set_input_line(MB88XX_IRQ_LINE, state ? ASSERT_LINE : CLEAR_LINE); } uint8_t namco_51xx_device::read() @@ -98,7 +98,7 @@ void namco_51xx_device::write(uint8_t data) machine().scheduler().synchronize(timer_expired_delegate(FUNC(namco_51xx_device::write_sync),this), data); } -TIMER_CALLBACK_MEMBER( namco_51xx_device::write_sync ) +TIMER_CALLBACK_MEMBER(namco_51xx_device::write_sync) { m_portO = param; } @@ -108,24 +108,10 @@ uint8_t namco_51xx_device::K_r() return (m_rw << 3) | (m_portO & 0x07); } -uint8_t namco_51xx_device::R0_r() +template +uint8_t namco_51xx_device::R_r() { - return m_in[0](); -} - -uint8_t namco_51xx_device::R1_r() -{ - return m_in[1](); -} - -uint8_t namco_51xx_device::R2_r() -{ - return m_in[2](); -} - -uint8_t namco_51xx_device::R3_r() -{ - return m_in[3](); + return m_in[N](); } void namco_51xx_device::O_w(uint8_t data) @@ -133,13 +119,9 @@ void namco_51xx_device::O_w(uint8_t data) machine().scheduler().synchronize(timer_expired_delegate(FUNC(namco_51xx_device::O_w_sync),this), data); } -TIMER_CALLBACK_MEMBER( namco_51xx_device::O_w_sync ) +TIMER_CALLBACK_MEMBER(namco_51xx_device::O_w_sync) { - uint8_t out = (param & 0x0f); - if (param & 0x10) - m_portO = (m_portO & 0x0f) | (out << 4); - else - m_portO = (m_portO & 0xf0) | (out); + m_portO = param; } void namco_51xx_device::P_w(uint8_t data) @@ -153,7 +135,7 @@ void namco_51xx_device::P_w(uint8_t data) ROM_START( namco_51xx ) ROM_REGION( 0x400, "mcu", 0 ) - ROM_LOAD( "51xx.bin", 0x0000, 0x0400, CRC(c2f57ef8) SHA1(50de79e0d6a76bda95ffb02fcce369a79e6abfec) ) + ROM_LOAD( "51xx.bin", 0x0000, 0x0400, CRC(c2f57ef8) SHA1(50de79e0d6a76bda95ffb02fcce369a79e6abfec) ) ROM_END DEFINE_DEVICE_TYPE(NAMCO_51XX, namco_51xx_device, "namco51", "Namco 51xx") @@ -185,12 +167,12 @@ void namco_51xx_device::device_start() void namco_51xx_device::device_add_mconfig(machine_config &config) { - MB8843(config, m_cpu, DERIVED_CLOCK(1,1)); /* parent clock, internally divided by 6 */ + MB8843(config, m_cpu, DERIVED_CLOCK(1,1)); // parent clock, internally divided by 6 m_cpu->read_k().set(FUNC(namco_51xx_device::K_r)); - m_cpu->read_r<0>().set(FUNC(namco_51xx_device::R0_r)); - m_cpu->read_r<1>().set(FUNC(namco_51xx_device::R1_r)); - m_cpu->read_r<2>().set(FUNC(namco_51xx_device::R2_r)); - m_cpu->read_r<3>().set(FUNC(namco_51xx_device::R3_r)); + m_cpu->read_r<0>().set(FUNC(namco_51xx_device::R_r<0>)); + m_cpu->read_r<1>().set(FUNC(namco_51xx_device::R_r<1>)); + m_cpu->read_r<2>().set(FUNC(namco_51xx_device::R_r<2>)); + m_cpu->read_r<3>().set(FUNC(namco_51xx_device::R_r<3>)); m_cpu->write_o().set(FUNC(namco_51xx_device::O_w)); m_cpu->write_p().set(FUNC(namco_51xx_device::P_w)); } diff --git a/src/mame/namco/namco51.h b/src/mame/namco/namco51.h index e8edbbc1cd0a1..869a92073e2cb 100644 --- a/src/mame/namco/namco51.h +++ b/src/mame/namco/namco51.h @@ -40,16 +40,13 @@ class namco_51xx_device : public device_t devcb_write_line m_lockout; uint8_t K_r(); - uint8_t R0_r(); - uint8_t R1_r(); - uint8_t R2_r(); - uint8_t R3_r(); + template uint8_t R_r(); void O_w(uint8_t data); void P_w(uint8_t data); - TIMER_CALLBACK_MEMBER( rw_sync ); - TIMER_CALLBACK_MEMBER( write_sync ); - TIMER_CALLBACK_MEMBER( O_w_sync ); + TIMER_CALLBACK_MEMBER(rw_sync); + TIMER_CALLBACK_MEMBER(write_sync); + TIMER_CALLBACK_MEMBER(O_w_sync); }; DECLARE_DEVICE_TYPE(NAMCO_51XX, namco_51xx_device) diff --git a/src/mame/namco/namco52.cpp b/src/mame/namco/namco52.cpp index 4716257aa0ae9..5a19a94a13f97 100644 --- a/src/mame/namco/namco52.cpp +++ b/src/mame/namco/namco52.cpp @@ -53,7 +53,7 @@ void namco_52xx_device::reset(int state) { // The incoming signal is active low - m_cpu->set_input_line(INPUT_LINE_RESET, !state); + m_cpu->set_input_line(INPUT_LINE_RESET, state ? CLEAR_LINE : ASSERT_LINE); } uint8_t namco_52xx_device::K_r() @@ -94,10 +94,7 @@ void namco_52xx_device::R3_w(uint8_t data) void namco_52xx_device::O_w(uint8_t data) { - if (data & 0x10) - m_address = (m_address & 0x0fff) | ((data & 0xf) << 12); - else - m_address = (m_address & 0xf0ff) | ((data & 0xf) << 8); + m_address = (m_address & 0x00ff) | (data << 8); } @@ -106,20 +103,19 @@ void namco_52xx_device::write(uint8_t data) machine().scheduler().synchronize(timer_expired_delegate(FUNC(namco_52xx_device::write_sync),this), data); } -TIMER_CALLBACK_MEMBER( namco_52xx_device::write_sync ) +TIMER_CALLBACK_MEMBER(namco_52xx_device::write_sync) { m_latched_cmd = param; } void namco_52xx_device::chip_select(int state) { - m_cpu->set_input_line(0, state); + m_cpu->set_input_line(MB88XX_IRQ_LINE, state ? ASSERT_LINE : CLEAR_LINE); } -TIMER_CALLBACK_MEMBER( namco_52xx_device::external_clock_pulse ) +TIMER_CALLBACK_MEMBER(namco_52xx_device::external_clock_pulse) { - m_cpu->clock_w(ASSERT_LINE); - m_cpu->clock_w(CLEAR_LINE); + m_cpu->pulse_input_line(MB88XX_TC_LINE, attotime::zero); } @@ -129,7 +125,7 @@ TIMER_CALLBACK_MEMBER( namco_52xx_device::external_clock_pulse ) ROM_START( namco_52xx ) ROM_REGION( 0x400, "mcu", 0 ) - ROM_LOAD( "52xx.bin", 0x0000, 0x0400, CRC(3257d11e) SHA1(4883b2fdbc99eb7b9906357fcc53915842c2c186) ) + ROM_LOAD( "52xx.bin", 0x0000, 0x0400, CRC(3257d11e) SHA1(4883b2fdbc99eb7b9906357fcc53915842c2c186) ) ROM_END @@ -171,7 +167,7 @@ void namco_52xx_device::device_start() void namco_52xx_device::device_add_mconfig(machine_config &config) { - MB8843(config, m_cpu, DERIVED_CLOCK(1,1)); /* parent clock, internally divided by 6 */ + MB8843(config, m_cpu, DERIVED_CLOCK(1,1)); // parent clock, internally divided by 6 m_cpu->read_k().set(FUNC(namco_52xx_device::K_r)); m_cpu->write_o().set(FUNC(namco_52xx_device::O_w)); m_cpu->write_p().set(FUNC(namco_52xx_device::P_w)); diff --git a/src/mame/namco/namco52.h b/src/mame/namco/namco52.h index 98efad63dab84..86d6be24f549c 100644 --- a/src/mame/namco/namco52.h +++ b/src/mame/namco/namco52.h @@ -6,6 +6,7 @@ #include "sound/discrete.h" #include "cpu/mb88xx/mb88xx.h" + class namco_52xx_device : public device_t { public: @@ -27,8 +28,8 @@ class namco_52xx_device : public device_t virtual const tiny_rom_entry *device_rom_region() const override ATTR_COLD; virtual void device_add_mconfig(machine_config &config) override ATTR_COLD; - TIMER_CALLBACK_MEMBER( write_sync ); - TIMER_CALLBACK_MEMBER( external_clock_pulse ); + TIMER_CALLBACK_MEMBER(write_sync); + TIMER_CALLBACK_MEMBER(external_clock_pulse); private: // internal state @@ -57,7 +58,6 @@ class namco_52xx_device : public device_t DECLARE_DEVICE_TYPE(NAMCO_52XX, namco_52xx_device) - /* discrete nodes */ #define NAMCO_52XX_P_DATA(base) (base) diff --git a/src/mame/namco/namco53.cpp b/src/mame/namco/namco53.cpp index afc833bb6f1a9..9bbb3398e9538 100644 --- a/src/mame/namco/namco53.cpp +++ b/src/mame/namco/namco53.cpp @@ -63,51 +63,33 @@ void namco_53xx_device::reset(int state) { // The incoming signal is active low - m_cpu->set_input_line(INPUT_LINE_RESET, !state); + m_cpu->set_input_line(INPUT_LINE_RESET, state ? CLEAR_LINE : ASSERT_LINE); } uint8_t namco_53xx_device::K_r() { - return m_k(0); + return m_k(); } -uint8_t namco_53xx_device::R0_r() +template +uint8_t namco_53xx_device::R_r() { - return m_in[0](0); -} - -uint8_t namco_53xx_device::R1_r() -{ - return m_in[1](0); -} - -uint8_t namco_53xx_device::R2_r() -{ - return m_in[2](0); -} - -uint8_t namco_53xx_device::R3_r() -{ - return m_in[3](0); + return m_in[N](); } void namco_53xx_device::O_w(uint8_t data) { - uint8_t out = (data & 0x0f); - if (data & 0x10) - m_portO = (m_portO & 0x0f) | (out << 4); - else - m_portO = (m_portO & 0xf0) | (out); + m_portO = data; } void namco_53xx_device::P_w(uint8_t data) { - m_p(0, data); + m_p(data); } void namco_53xx_device::chip_select(int state) { - m_cpu->set_input_line(0, state); + m_cpu->set_input_line(MB88XX_IRQ_LINE, state ? ASSERT_LINE : CLEAR_LINE); } uint8_t namco_53xx_device::read() @@ -122,7 +104,7 @@ uint8_t namco_53xx_device::read() ROM_START( namco_53xx ) ROM_REGION( 0x400, "mcu", 0 ) - ROM_LOAD( "53xx.bin", 0x0000, 0x0400, CRC(b326fecb) SHA1(758d8583d658e4f1df93184009d86c3eb8713899) ) + ROM_LOAD( "53xx.bin", 0x0000, 0x0400, CRC(b326fecb) SHA1(758d8583d658e4f1df93184009d86c3eb8713899) ) ROM_END DEFINE_DEVICE_TYPE(NAMCO_53XX, namco_53xx_device, "namco53", "Namco 53xx") @@ -151,14 +133,14 @@ void namco_53xx_device::device_start() void namco_53xx_device::device_add_mconfig(machine_config &config) { - MB8843(config, m_cpu, DERIVED_CLOCK(1,1)); /* parent clock, internally divided by 6 */ + MB8843(config, m_cpu, DERIVED_CLOCK(1,1)); // parent clock, internally divided by 6 m_cpu->read_k().set(FUNC(namco_53xx_device::K_r)); m_cpu->write_o().set(FUNC(namco_53xx_device::O_w)); m_cpu->write_p().set(FUNC(namco_53xx_device::P_w)); - m_cpu->read_r<0>().set(FUNC(namco_53xx_device::R0_r)); - m_cpu->read_r<1>().set(FUNC(namco_53xx_device::R1_r)); - m_cpu->read_r<2>().set(FUNC(namco_53xx_device::R2_r)); - m_cpu->read_r<3>().set(FUNC(namco_53xx_device::R3_r)); + m_cpu->read_r<0>().set(FUNC(namco_53xx_device::R_r<0>)); + m_cpu->read_r<1>().set(FUNC(namco_53xx_device::R_r<1>)); + m_cpu->read_r<2>().set(FUNC(namco_53xx_device::R_r<2>)); + m_cpu->read_r<3>().set(FUNC(namco_53xx_device::R_r<3>)); } //------------------------------------------------- diff --git a/src/mame/namco/namco53.h b/src/mame/namco/namco53.h index 735614fe00129..80e45efb801e3 100644 --- a/src/mame/namco/namco53.h +++ b/src/mame/namco/namco53.h @@ -7,6 +7,7 @@ #include "cpu/mb88xx/mb88xx.h" + class namco_53xx_device : public device_t { public: @@ -30,16 +31,13 @@ class namco_53xx_device : public device_t private: // internal state required_device m_cpu; - uint8_t m_portO; - devcb_read8 m_k; + uint8_t m_portO; + devcb_read8 m_k; devcb_read8::array<4> m_in; - devcb_write8 m_p; + devcb_write8 m_p; uint8_t K_r(); - uint8_t R0_r(); - uint8_t R1_r(); - uint8_t R2_r(); - uint8_t R3_r(); + template uint8_t R_r(); void O_w(uint8_t data); void P_w(uint8_t data); }; diff --git a/src/mame/namco/namco54.cpp b/src/mame/namco/namco54.cpp index 691238679894c..29a6171d65945 100644 --- a/src/mame/namco/namco54.cpp +++ b/src/mame/namco/namco54.cpp @@ -56,7 +56,7 @@ void namco_54xx_device::reset(int state) { // The incoming signal is active low - m_cpu->set_input_line(INPUT_LINE_RESET, !state); + m_cpu->set_input_line(INPUT_LINE_RESET, state ? CLEAR_LINE : ASSERT_LINE); } uint8_t namco_54xx_device::K_r() @@ -69,20 +69,17 @@ uint8_t namco_54xx_device::R0_r() return m_latched_cmd & 0x0f; } -void namco_54xx_device::O_w(uint8_t data) +void namco_54xx_device::O_w(offs_t offset, uint8_t data, uint8_t mem_mask) { - uint8_t out = (data & 0x0f); - if (data & 0x10) - m_discrete->write(NAMCO_54XX_1_DATA(m_basenode), out); + if (mem_mask == 0x0f) + m_discrete->write(NAMCO_54XX_0_DATA(m_basenode), data & 0x0f); else - m_discrete->write(NAMCO_54XX_0_DATA(m_basenode), out); + m_discrete->write(NAMCO_54XX_1_DATA(m_basenode), data >> 4); } void namco_54xx_device::R1_w(uint8_t data) { - uint8_t out = (data & 0x0f); - - m_discrete->write(NAMCO_54XX_2_DATA(m_basenode), out); + m_discrete->write(NAMCO_54XX_2_DATA(m_basenode), data & 0x0f); } @@ -91,7 +88,7 @@ void namco_54xx_device::write(uint8_t data) machine().scheduler().synchronize(timer_expired_delegate(FUNC(namco_54xx_device::write_sync),this), data); } -TIMER_CALLBACK_MEMBER( namco_54xx_device::write_sync ) +TIMER_CALLBACK_MEMBER(namco_54xx_device::write_sync) { m_latched_cmd = param; } @@ -99,7 +96,7 @@ TIMER_CALLBACK_MEMBER( namco_54xx_device::write_sync ) void namco_54xx_device::chip_select(int state) { - m_cpu->set_input_line(0, state); + m_cpu->set_input_line(MB88XX_IRQ_LINE, state ? ASSERT_LINE : CLEAR_LINE); } @@ -109,13 +106,13 @@ void namco_54xx_device::chip_select(int state) ROM_START( namco_54xx ) ROM_REGION( 0x400, "mcu", 0 ) - ROM_LOAD( "54xx.bin", 0x0000, 0x0400, CRC(ee7357e0) SHA1(01bdf984a49e8d0cc8761b2cc162fd6434d5afbe) ) + ROM_LOAD( "54xx.bin", 0x0000, 0x0400, CRC(ee7357e0) SHA1(01bdf984a49e8d0cc8761b2cc162fd6434d5afbe) ) ROM_END DEFINE_DEVICE_TYPE(NAMCO_54XX, namco_54xx_device, "namco54", "Namco 54xx") -namco_54xx_device::namco_54xx_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) - : device_t(mconfig, NAMCO_54XX, tag, owner, clock), +namco_54xx_device::namco_54xx_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + device_t(mconfig, NAMCO_54XX, tag, owner, clock), m_cpu(*this, "mcu"), m_discrete(*this, finder_base::DUMMY_TAG), m_basenode(0), @@ -138,7 +135,7 @@ void namco_54xx_device::device_start() void namco_54xx_device::device_add_mconfig(machine_config &config) { - MB8844(config, m_cpu, DERIVED_CLOCK(1,1)); /* parent clock, internally divided by 6 */ + MB8844(config, m_cpu, DERIVED_CLOCK(1,1)); // parent clock, internally divided by 6 m_cpu->read_k().set(FUNC(namco_54xx_device::K_r)); m_cpu->write_o().set(FUNC(namco_54xx_device::O_w)); m_cpu->read_r<0>().set(FUNC(namco_54xx_device::R0_r)); diff --git a/src/mame/namco/namco54.h b/src/mame/namco/namco54.h index 48b291b255217..d8c0a0814c266 100644 --- a/src/mame/namco/namco54.h +++ b/src/mame/namco/namco54.h @@ -35,15 +35,14 @@ class namco_54xx_device : public device_t uint8_t K_r(); uint8_t R0_r(); - void O_w(uint8_t data); + void O_w(offs_t offset, uint8_t data, uint8_t mem_mask); void R1_w(uint8_t data); - TIMER_CALLBACK_MEMBER( write_sync ); + TIMER_CALLBACK_MEMBER(write_sync); }; DECLARE_DEVICE_TYPE(NAMCO_54XX, namco_54xx_device) - /* discrete nodes */ #define NAMCO_54XX_0_DATA(base) (NODE_RELATIVE(base, 0)) #define NAMCO_54XX_1_DATA(base) (NODE_RELATIVE(base, 1)) diff --git a/src/mame/namco/namco62.cpp b/src/mame/namco/namco62.cpp index 1cbfd61fe08cf..72e03175fb275 100644 --- a/src/mame/namco/namco62.cpp +++ b/src/mame/namco/namco62.cpp @@ -52,7 +52,7 @@ void namco_62xx_device::device_start() void namco_62xx_device::device_add_mconfig(machine_config &config) { - MB8843(config, m_cpu, DERIVED_CLOCK(1,1)); /* parent clock, internally divided by 6 (TODO: Correct?) */ + MB8843(config, m_cpu, DERIVED_CLOCK(1,1)); // parent clock, internally divided by 6 (TODO: Correct?) // m_cpu->read_k().set(FUNC(namco_62xx_device::namco_62xx_K_r)); // m_cpu->write_o().set(FUNC(namco_62xx_device::namco_62xx_O_w)); // m_cpu->read_r<0>().set(FUNC(namco_62xx_device::namco_62xx_R0_r)); diff --git a/src/mame/namco/namco62.h b/src/mame/namco/namco62.h index e1bffe7be5538..a4df20da3ed7f 100644 --- a/src/mame/namco/namco62.h +++ b/src/mame/namco/namco62.h @@ -5,13 +5,13 @@ #include "cpu/mb88xx/mb88xx.h" + class namco_62xx_device : public device_t { public: namco_62xx_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); template auto input_callback() { return m_in[N].bind(); } - template auto output_callback() { return m_out[N].bind(); } protected: diff --git a/src/mame/namco/namcops2.cpp b/src/mame/namco/namcops2.cpp index 72d9861532582..11b660fc4de26 100644 --- a/src/mame/namco/namcops2.cpp +++ b/src/mame/namco/namcops2.cpp @@ -1711,67 +1711,67 @@ ROM_END // System 246 -GAME(2001, sys246, 0, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "System 246 BIOS", MACHINE_IS_SKELETON|MACHINE_IS_BIOS_ROOT) -GAME(2000, rrvac, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Ridge Racer V Arcade Battle (RRV3 Ver. A)", MACHINE_IS_SKELETON) -GAME(2000, rrvac2, rrvac, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Ridge Racer V Arcade Battle (RRV2 Ver. A)", MACHINE_IS_SKELETON) -GAME(2000, rrvac1, rrvac, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Ridge Racer V Arcade Battle (RRV1 Ver. A)", MACHINE_IS_SKELETON) -GAME(2001, vnight, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Sega / Namco", "Vampire Night (VPN3 Ver. B)", MACHINE_IS_SKELETON) -GAME(2001, bldyr3b, sys246, system246, system246, namcops2_state, empty_init, ROT0, "bootleg", "Bloody Roar 3 (bootleg)", MACHINE_IS_SKELETON) -GAME(2001, tekken4, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Tekken 4 (TEF3 Ver. C)", MACHINE_IS_SKELETON) -GAME(2001, tekken4a, tekken4, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Tekken 4 (TEF2 Ver. A)", MACHINE_IS_SKELETON) -GAME(2001, tekken4b, tekken4, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Tekken 4 (TEF1 Ver. A)", MACHINE_IS_SKELETON) -GAME(2001, tekken4c, tekken4, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Tekken 4 (TEF1 Ver. C)", MACHINE_IS_SKELETON) -GAME(2001, wanganmd, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Wangan Midnight (WMN1 Ver. A)", MACHINE_IS_SKELETON) -GAME(2002, batlgr3, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Taito", "Battle Gear 3 (Ver.2.01A)", MACHINE_IS_SKELETON) -GAME(2002, dragchrn, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Dragon Chronicles (DC001 Ver. A)", MACHINE_IS_SKELETON) -GAME(2002, netchu02c, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Netchuu Pro Yakyuu 2002 (NPY1 Ver. C)", MACHINE_IS_SKELETON) -GAME(2002, netchu02b, netchu02c, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Netchuu Pro Yakyuu 2002 (NPY1 Ver. B)", MACHINE_IS_SKELETON) -GAME(2002, scptour, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Smash Court Pro Tournament (SCP1)", MACHINE_IS_SKELETON) -GAME(2002, soulclb2, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Soul Calibur II (SC23 Ver. A)", MACHINE_IS_SKELETON) -GAME(2002, soulcl2a, soulclb2, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Soul Calibur II (SC22 Ver. A)", MACHINE_IS_SKELETON) -GAME(2002, soulcl2b, soulclb2, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Soul Calibur II (SC21 Ver. A)", MACHINE_IS_SKELETON) -GAME(2002, soulcl2w, soulclb2, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Soul Calibur II (SC23 world version)", MACHINE_IS_SKELETON) -GAME(2002, wanganmr, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Wangan Midnight R (WMR1 Ver. A)", MACHINE_IS_SKELETON) -GAME(2003, prdgp03, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Pride GP 2003 (PR21 Ver. A)", MACHINE_IS_SKELETON) -GAME(2003, timecrs3, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Time Crisis 3 (TST1)", MACHINE_IS_SKELETON) -GAME(2003, timecrs3e, timecrs3, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Time Crisis 3 (TST2 Ver. A)", MACHINE_IS_SKELETON) -GAME(2003, timecrs3u, timecrs3, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Time Crisis 3 (TST3 Ver. A)", MACHINE_IS_SKELETON) -GAME(2003, zgundm, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Capcom / Banpresto", "Mobile Suit Z-Gundam: A.E.U.G. vs Titans (ZGA1 Ver. A)", MACHINE_IS_SKELETON) -GAME(2004, fghtjam, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Capcom / Namco", "Capcom Fighting Jam (JAM1 Ver. A)", MACHINE_IS_SKELETON) -GAME(2004, sukuinuf, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Quiz and Variety Suku Suku Inufuku 2 (IN2 Ver. A)", MACHINE_IS_SKELETON) -GAME(2004, zgundmdx, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Capcom / Banpresto", "Mobile Suit Z-Gundam: A.E.U.G. vs Titans DX (ZDX1 Ver. A)", MACHINE_IS_SKELETON) -GAME(2004, zoidsinf, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Tomy / Taito", "Zoids Infinity", MACHINE_IS_SKELETON) -GAME(2005, cobrata, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Cobra: The Arcade (CBR1 Ver. B)", MACHINE_IS_SKELETON) -GAME(2005, gundzaft, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Capcom / Banpresto", "Gundam Seed: Federation vs. Z.A.F.T. (SED1 Ver. A)", MACHINE_IS_SKELETON) -GAME(2006, soulclb3, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Soul Calibur III: Arcade Edition (SC31001-NA-A key, NA-B disc)", MACHINE_IS_SKELETON) -GAME(2006, soulclb3a, soulclb3, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Soul Calibur III: Arcade Edition (SC31002-NA-A key, NA-B disc)", MACHINE_IS_SKELETON) -GAME(2006, soulclb3b, soulclb3, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Soul Calibur III: Arcade Edition (SC31002-NA-A key, NA-A disc)", MACHINE_IS_SKELETON) -GAME(2005, taiko7, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Taiko no Tatsujin 7 (TK71-NA-A)", MACHINE_IS_SKELETON) -GAME(2006, taiko8, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Taiko no Tatsujin 8 (TK8100-1-NA-A)", MACHINE_IS_SKELETON) -GAME(2006, qgundam, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Quiz Mobile Suit Gundam: Monsenshi (QG1 Ver. A)", MACHINE_IS_SKELETON) -GAME(2007, minnadk, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Minna de Kitaeru Zenno Training (Ver. 1.50)", MACHINE_IS_SKELETON) -GAME(2008, acedriv3, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Ace Driver 3: Final Turn", MACHINE_IS_SKELETON) -GAME(2008, fateulc, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Capcom / Namco", "Fate: Unlimited Codes (FUD1 ver. A)", MACHINE_IS_SKELETON) -GAME(2008, fateulcb, fateulc, system246, system246, namcops2_state, empty_init, ROT0, "bootleg", "Fate: Unlimited Codes (bootleg)", MACHINE_IS_SKELETON) -GAME(2008, sbxc, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Capcom / Arc System Works", "Sengoku Basara X Cross", MACHINE_IS_SKELETON) +GAME(2001, sys246, 0, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "System 246 BIOS", MACHINE_NO_SOUND | MACHINE_NOT_WORKING|MACHINE_IS_BIOS_ROOT) +GAME(2000, rrvac, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Ridge Racer V Arcade Battle (RRV3 Ver. A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2000, rrvac2, rrvac, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Ridge Racer V Arcade Battle (RRV2 Ver. A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2000, rrvac1, rrvac, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Ridge Racer V Arcade Battle (RRV1 Ver. A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2001, vnight, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Sega / Namco", "Vampire Night (VPN3 Ver. B)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2001, bldyr3b, sys246, system246, system246, namcops2_state, empty_init, ROT0, "bootleg", "Bloody Roar 3 (bootleg)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2001, tekken4, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Tekken 4 (TEF3 Ver. C)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2001, tekken4a, tekken4, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Tekken 4 (TEF2 Ver. A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2001, tekken4b, tekken4, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Tekken 4 (TEF1 Ver. A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2001, tekken4c, tekken4, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Tekken 4 (TEF1 Ver. C)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2001, wanganmd, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Wangan Midnight (WMN1 Ver. A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2002, batlgr3, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Taito", "Battle Gear 3 (Ver.2.01A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2002, dragchrn, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Dragon Chronicles (DC001 Ver. A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2002, netchu02c, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Netchuu Pro Yakyuu 2002 (NPY1 Ver. C)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2002, netchu02b, netchu02c, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Netchuu Pro Yakyuu 2002 (NPY1 Ver. B)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2002, scptour, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Smash Court Pro Tournament (SCP1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2002, soulclb2, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Soul Calibur II (SC23 Ver. A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2002, soulcl2a, soulclb2, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Soul Calibur II (SC22 Ver. A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2002, soulcl2b, soulclb2, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Soul Calibur II (SC21 Ver. A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2002, soulcl2w, soulclb2, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Soul Calibur II (SC23 world version)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2002, wanganmr, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Wangan Midnight R (WMR1 Ver. A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2003, prdgp03, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Pride GP 2003 (PR21 Ver. A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2003, timecrs3, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Time Crisis 3 (TST1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2003, timecrs3e, timecrs3, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Time Crisis 3 (TST2 Ver. A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2003, timecrs3u, timecrs3, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Time Crisis 3 (TST3 Ver. A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2003, zgundm, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Capcom / Banpresto", "Mobile Suit Z-Gundam: A.E.U.G. vs Titans (ZGA1 Ver. A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2004, fghtjam, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Capcom / Namco", "Capcom Fighting Jam (JAM1 Ver. A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2004, sukuinuf, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Quiz and Variety Suku Suku Inufuku 2 (IN2 Ver. A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2004, zgundmdx, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Capcom / Banpresto", "Mobile Suit Z-Gundam: A.E.U.G. vs Titans DX (ZDX1 Ver. A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2004, zoidsinf, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Tomy / Taito", "Zoids Infinity", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2005, cobrata, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Cobra: The Arcade (CBR1 Ver. B)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2005, gundzaft, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Capcom / Banpresto", "Gundam Seed: Federation vs. Z.A.F.T. (SED1 Ver. A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2006, soulclb3, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Soul Calibur III: Arcade Edition (SC31001-NA-A key, NA-B disc)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2006, soulclb3a, soulclb3, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Soul Calibur III: Arcade Edition (SC31002-NA-A key, NA-B disc)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2006, soulclb3b, soulclb3, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Soul Calibur III: Arcade Edition (SC31002-NA-A key, NA-A disc)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2005, taiko7, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Taiko no Tatsujin 7 (TK71-NA-A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2006, taiko8, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Taiko no Tatsujin 8 (TK8100-1-NA-A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2006, qgundam, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Quiz Mobile Suit Gundam: Monsenshi (QG1 Ver. A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2007, minnadk, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Minna de Kitaeru Zenno Training (Ver. 1.50)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2008, acedriv3, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Namco", "Ace Driver 3: Final Turn", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2008, fateulc, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Capcom / Namco", "Fate: Unlimited Codes (FUD1 ver. A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2008, fateulcb, fateulc, system246, system246, namcops2_state, empty_init, ROT0, "bootleg", "Fate: Unlimited Codes (bootleg)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2008, sbxc, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Capcom / Arc System Works", "Sengoku Basara X Cross", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) // System 256 -GAME(2004, sys256, 0, system256, system246, namcops2_state, empty_init, ROT0, "Namco", "System 256 BIOS", MACHINE_IS_SKELETON|MACHINE_IS_BIOS_ROOT) -GAME(2005, tekken51, sys256, system256, system246, namcops2_state, empty_init, ROT0, "Namco", "Tekken 5.1 (TE51 Ver. B)", MACHINE_IS_SKELETON) -GAME(2005, tekken51b, tekken51, system256, system246, namcops2_state, empty_init, ROT0, "Namco", "Tekken 5.1 (TE53 Ver. B)", MACHINE_IS_SKELETON) -GAME(2005, tekken5d, sys256, system256, system246, namcops2_state, empty_init, ROT0, "Namco", "Tekken 5 Dark Resurrection (TED1 Ver. A)", MACHINE_IS_SKELETON) -GAME(2005, superdbz, sys256, system256, system246, namcops2_state, empty_init, ROT0, "Banpresto / Spike", "Super Dragon Ball Z (DB1 Ver. B)", MACHINE_IS_SKELETON) -GAME(2006, kinniku, sys256, system256, system246, namcops2_state, empty_init, ROT0, "Namco", "Kinnikuman Muscle Grand Prix (KN1 Ver. A)", MACHINE_IS_SKELETON) -GAME(2006, taiko9, sys256, system256, system246, namcops2_state, empty_init, ROT0, "Namco", "Taiko no Tatsujin 9 (TK91001-NA-A)", MACHINE_IS_SKELETON) -GAME(2006, yuyuhaku, sys256, system256, system246, namcops2_state, empty_init, ROT0, "Banpresto", "The Battle of Yu Yu Hakusho: Shitou! Ankoku Bujutsukai!", MACHINE_IS_SKELETON) -GAME(2006, zoidiexp, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Tomy / Taito", "Zoids Infinity EX Plus (ver. 2.10)", MACHINE_IS_SKELETON) -GAME(2007, kinniku2, sys256, system256, system246, namcops2_state, empty_init, ROT0, "Namco", "Kinnikuman Muscle Grand Prix 2 (KN2 Ver. A)", MACHINE_IS_SKELETON) -GAME(2007, motogp, sys256, system256, system246, namcops2_state, empty_init, ROT0, "Namco", "MotoGP (MGP1004-NA-B)", MACHINE_IS_SKELETON) -GAME(2007, taiko10, sys256, system256, system246, namcops2_state, empty_init, ROT0, "Namco", "Taiko no Tatsujin 10 (T101001-NA-A)", MACHINE_IS_SKELETON) -GAME(2008, taiko11, sys256, system256, system246, namcops2_state, empty_init, ROT0, "Namco", "Taiko no Tatsujin 11 (T111001-NA-A)", MACHINE_IS_SKELETON) -GAME(2008, gdvsgd, sys256, system256, system246, namcops2_state, empty_init, ROT0, "Capcom / Bandai", "Gundam vs. Gundam (GVS1 Ver. A)", MACHINE_IS_SKELETON) -GAME(2009, gdvsgdnx, sys256, system256, system246, namcops2_state, empty_init, ROT0, "Capcom / Bandai", "Gundam vs. Gundam Next", MACHINE_IS_SKELETON) +GAME(2004, sys256, 0, system256, system246, namcops2_state, empty_init, ROT0, "Namco", "System 256 BIOS", MACHINE_NO_SOUND | MACHINE_NOT_WORKING|MACHINE_IS_BIOS_ROOT) +GAME(2005, tekken51, sys256, system256, system246, namcops2_state, empty_init, ROT0, "Namco", "Tekken 5.1 (TE51 Ver. B)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2005, tekken51b, tekken51, system256, system246, namcops2_state, empty_init, ROT0, "Namco", "Tekken 5.1 (TE53 Ver. B)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2005, tekken5d, sys256, system256, system246, namcops2_state, empty_init, ROT0, "Namco", "Tekken 5 Dark Resurrection (TED1 Ver. A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2005, superdbz, sys256, system256, system246, namcops2_state, empty_init, ROT0, "Banpresto / Spike", "Super Dragon Ball Z (DB1 Ver. B)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2006, kinniku, sys256, system256, system246, namcops2_state, empty_init, ROT0, "Namco", "Kinnikuman Muscle Grand Prix (KN1 Ver. A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2006, taiko9, sys256, system256, system246, namcops2_state, empty_init, ROT0, "Namco", "Taiko no Tatsujin 9 (TK91001-NA-A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2006, yuyuhaku, sys256, system256, system246, namcops2_state, empty_init, ROT0, "Banpresto", "The Battle of Yu Yu Hakusho: Shitou! Ankoku Bujutsukai!", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2006, zoidiexp, sys246, system246, system246, namcops2_state, empty_init, ROT0, "Tomy / Taito", "Zoids Infinity EX Plus (ver. 2.10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2007, kinniku2, sys256, system256, system246, namcops2_state, empty_init, ROT0, "Namco", "Kinnikuman Muscle Grand Prix 2 (KN2 Ver. A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2007, motogp, sys256, system256, system246, namcops2_state, empty_init, ROT0, "Namco", "MotoGP (MGP1004-NA-B)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2007, taiko10, sys256, system256, system246, namcops2_state, empty_init, ROT0, "Namco", "Taiko no Tatsujin 10 (T101001-NA-A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2008, taiko11, sys256, system256, system246, namcops2_state, empty_init, ROT0, "Namco", "Taiko no Tatsujin 11 (T111001-NA-A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2008, gdvsgd, sys256, system256, system246, namcops2_state, empty_init, ROT0, "Capcom / Bandai", "Gundam vs. Gundam (GVS1 Ver. A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2009, gdvsgdnx, sys256, system256, system246, namcops2_state, empty_init, ROT0, "Capcom / Bandai", "Gundam vs. Gundam Next", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) // System Super 256 -GAME(2006, timecrs4, sys256, system256, system246, namcops2_state, empty_init, ROT0, "Namco", "Time Crisis 4 (World, TSF1002-NA-A)", MACHINE_IS_SKELETON) -GAME(2006, timecrs4j, timecrs4, system256, system246, namcops2_state, empty_init, ROT0, "Namco", "Time Crisis 4 (Japan, TSF1001-NA-A)", MACHINE_IS_SKELETON) +GAME(2006, timecrs4, sys256, system256, system246, namcops2_state, empty_init, ROT0, "Namco", "Time Crisis 4 (World, TSF1002-NA-A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +GAME(2006, timecrs4j, timecrs4, system256, system246, namcops2_state, empty_init, ROT0, "Namco", "Time Crisis 4 (Japan, TSF1001-NA-A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/namco/namcos1b.cpp b/src/mame/namco/namcos1b.cpp index d2fd8815d0043..1b03769247087 100644 --- a/src/mame/namco/namcos1b.cpp +++ b/src/mame/namco/namcos1b.cpp @@ -150,4 +150,4 @@ ROM_END } // anonymous namespace -GAME( 199?, tankfrceb, tankfrce, namcos1b, namcos1b, namcos1b_state, empty_init, ROT0, "bootleg", "Tank Force (bootleg)", MACHINE_IS_SKELETON ) +GAME( 199?, tankfrceb, tankfrce, namcos1b, namcos1b, namcos1b_state, empty_init, ROT0, "bootleg", "Tank Force (bootleg)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/namco/namcos2.cpp b/src/mame/namco/namcos2.cpp index 881fcdea4a82e..8bbfb305a3465 100644 --- a/src/mame/namco/namcos2.cpp +++ b/src/mame/namco/namcos2.cpp @@ -110,6 +110,13 @@ which contains: This stream is then combined with the stream from the text plane pixel generator with the highest priority pixel being displayed on screen. +There were two different System II CPU PCBs. 8618961200 uses the C65 I/O MCU +(Hitachi 63705). 8618961803 (the last digit may vary) uses the C68 I/O MCU +(Mitsubishi 37450). Each MCU has a socket for an external EPROM, though the +C68 EPROM is normally unpopulated except on transitional PCBs which used a +stock MCU presumably running in ROMless mode. Some games have been seen with +either MCU type. + Graphics Board details ====================== @@ -547,7 +554,6 @@ C102 - Controls CPU access to ROZ Memory Area. #include "namcos2.h" #include "cpu/m68000/m68000.h" -#include "cpu/m6805/m6805.h" #include "cpu/m6809/m6809.h" #include "machine/nvram.h" #include "sound/ymopm.h" diff --git a/src/mame/namco/quickncrash.cpp b/src/mame/namco/quickncrash.cpp index 68d169bf109f0..613b28ec72057 100644 --- a/src/mame/namco/quickncrash.cpp +++ b/src/mame/namco/quickncrash.cpp @@ -207,5 +207,5 @@ ROM_END } // anonymous namespace -GAME( 1999, qncrash, 0, qncrash, qncrash, qncrash_state, empty_init, ROT0, "Namco", "Quick & Crash (set 1, V2.200)", MACHINE_IS_SKELETON_MECHANICAL ) // version listed at 0xa97a in program ROM -GAME( 1999, qncrasha, qncrash, qncrash, qncrash, qncrash_state, empty_init, ROT0, "Namco", "Quick & Crash (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1999, qncrash, 0, qncrash, qncrash, qncrash_state, empty_init, ROT0, "Namco", "Quick & Crash (set 1, V2.200)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // version listed at 0xa97a in program ROM +GAME( 1999, qncrasha, qncrash, qncrash, qncrash, qncrash_state, empty_init, ROT0, "Namco", "Quick & Crash (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/namco/rbowlorama.cpp b/src/mame/namco/rbowlorama.cpp index aa5d7bf2ce7b0..366dfa748f003 100644 --- a/src/mame/namco/rbowlorama.cpp +++ b/src/mame/namco/rbowlorama.cpp @@ -141,4 +141,4 @@ ROM_END } // Anonymous namespace -GAME(2008, rbowlorama, 0, rbowlorama, rbowlorama, rbowlorama_state, empty_init, ROT0, "Namco / Cosmodog", "Rockin' Bowl-O-Rama (v2.1.1)", MACHINE_IS_SKELETON ) +GAME(2008, rbowlorama, 0, rbowlorama, rbowlorama, rbowlorama_state, empty_init, ROT0, "Namco / Cosmodog", "Rockin' Bowl-O-Rama (v2.1.1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/namco/shootaway2.cpp b/src/mame/namco/shootaway2.cpp index bf8f4a073d3d7..e3f031dcab277 100644 --- a/src/mame/namco/shootaway2.cpp +++ b/src/mame/namco/shootaway2.cpp @@ -126,4 +126,4 @@ ROM_END } // anonymous namespace -GAME( 1996, shootaw2, 0, m74, m74, m74_state, empty_init, ROT0, "Namco", "Shoot Away II", MACHINE_IS_SKELETON ) +GAME( 1996, shootaw2, 0, m74, m74, m74_state, empty_init, ROT0, "Namco", "Shoot Away II", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/namco/skykid.cpp b/src/mame/namco/skykid.cpp index 5b12db5ee44b9..d14c7e0c9437d 100644 --- a/src/mame/namco/skykid.cpp +++ b/src/mame/namco/skykid.cpp @@ -371,19 +371,19 @@ uint8_t skykid_state::inputport_r() { switch (m_inputport_selected) { - case 0x00: // DSW B (bits 0-4) + case 0x00: // DSW B (bits 0-4) return (m_dsw[1]->read() & 0xf8) >> 3; - case 0x01: // DSW B (bits 5-7), DSW A (bits 0-1) + case 0x01: // DSW B (bits 5-7), DSW A (bits 0-1) return ((m_dsw[1]->read() & 0x07) << 2) | ((m_dsw[0]->read() & 0xc0) >> 6); - case 0x02: // DSW A (bits 2-6) + case 0x02: // DSW A (bits 2-6) return (m_dsw[0]->read() & 0x3e) >> 1; - case 0x03: // DSW A (bit 7), DSW C (bits 0-3) + case 0x03: // DSW A (bit 7), DSW C (bits 0-3) return ((m_dsw[0]->read() & 0x01) << 4) | (m_button2->read() & 0x0f); - case 0x04: // coins, start + case 0x04: // coins, start return m_system->read(); - case 0x05: // 2P controls + case 0x05: // 2P controls return m_pl[1]->read(); - case 0x06: // 1P controls + case 0x06: // 1P controls return m_pl[0]->read(); default: return 0xff; @@ -454,8 +454,8 @@ void skykid_state::main_map(address_map &map) void skykid_state::mcu_map(address_map &map) { - map(0x1000, 0x13ff).rw(m_cus30, FUNC(namco_cus30_device::namcos1_cus30_r), FUNC(namco_cus30_device::namcos1_cus30_w)); // PSG device, shared RAM/ - map(0x2000, 0x3fff).w("watchdog", FUNC(watchdog_timer_device::reset_w)); // ? + map(0x1000, 0x13ff).rw(m_cus30, FUNC(namco_cus30_device::namcos1_cus30_r), FUNC(namco_cus30_device::namcos1_cus30_w)); // PSG device, shared RAM + map(0x2000, 0x3fff).w("watchdog", FUNC(watchdog_timer_device::reset_w)); // ? map(0x4000, 0x7fff).w(FUNC(skykid_state::irq_2_ctrl_w)); map(0x8000, 0x9fff).rom().region("mcusub", 0); map(0xc000, 0xc7ff).ram(); @@ -464,47 +464,47 @@ void skykid_state::mcu_map(address_map &map) static INPUT_PORTS_START( skykid ) - PORT_START("DSWA") // DSW A - PORT_SERVICE_DIPLOC( 0x80, IP_ACTIVE_LOW, "SWA:1" ) - PORT_DIPNAME( 0x60, 0x60, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SWA:3,2") + PORT_START("DSWA") + PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SWA:8,7") PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) ) - PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x60, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) ) + PORT_DIPNAME( 0x04, 0x04, "Freeze" ) PORT_DIPLOCATION("SWA:6") + PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x08, 0x08, "Round Skip" ) PORT_DIPLOCATION("SWA:5") + PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWA:4") PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x10, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, "Round Skip" ) PORT_DIPLOCATION("SWA:5") - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, "Freeze" ) PORT_DIPLOCATION("SWA:6") - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SWA:8,7") + PORT_DIPNAME( 0x60, 0x60, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SWA:3,2") PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) ) - PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x60, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) ) + PORT_SERVICE_DIPLOC( 0x80, IP_ACTIVE_LOW, "SWA:1" ) - PORT_START("DSWB") // DSW B - PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Lives ) ) PORT_DIPLOCATION("SWB:2,1") - PORT_DIPSETTING( 0x80, "1" ) - PORT_DIPSETTING( 0x40, "2" ) - PORT_DIPSETTING( 0xc0, "3" ) - PORT_DIPSETTING( 0x00, "5" ) - PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SWB:4,3") + PORT_START("DSWB") + PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SWB:8") + PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x02, 0x02, "Allow Buy In" ) PORT_DIPLOCATION("SWB:7") + PORT_DIPSETTING( 0x00, DEF_STR( No ) ) + PORT_DIPSETTING( 0x02, DEF_STR( Yes ) ) + PORT_DIPUNKNOWN_DIPLOC( 0x04, 0x04, "SWB:6" ) + PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x08, "SWB:5" ) + PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SWB:4,3") PORT_DIPSETTING( 0x00, "20k every 80k" ) PORT_DIPSETTING( 0x10, "20k and 80k" ) PORT_DIPSETTING( 0x20, "30k every 90k" ) PORT_DIPSETTING( 0x30, "30k and 90k" ) - PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x08, "SWB:5" ) - PORT_DIPUNKNOWN_DIPLOC( 0x04, 0x04, "SWB:6" ) - PORT_DIPNAME( 0x02, 0x02, "Allow Buy In" ) PORT_DIPLOCATION("SWB:7") - PORT_DIPSETTING( 0x00, DEF_STR( No ) ) - PORT_DIPSETTING( 0x02, DEF_STR( Yes ) ) - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SWB:8") - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Lives ) ) PORT_DIPLOCATION("SWB:2,1") + PORT_DIPSETTING( 0x80, "1" ) + PORT_DIPSETTING( 0x40, "2" ) + PORT_DIPSETTING( 0xc0, "3" ) + PORT_DIPSETTING( 0x00, "5" ) PORT_START("BUTTON2") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -513,7 +513,7 @@ static INPUT_PORTS_START( skykid ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_START("SYSTEM") // IN 0 + PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 ) @@ -521,7 +521,7 @@ static INPUT_PORTS_START( skykid ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START2 ) PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_START("P1") // IN 1 + PORT_START("P1") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1) @@ -529,7 +529,7 @@ static INPUT_PORTS_START( skykid ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_START("P2") // IN 2 + PORT_START("P2") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) @@ -541,13 +541,13 @@ INPUT_PORTS_END static INPUT_PORTS_START( skykids ) PORT_INCLUDE( skykid ) - PORT_MODIFY("DSWA") // DSW A - PORT_DIPNAME( 0x08, 0x08, "Round Select" ) PORT_DIPLOCATION("SWA:5") + PORT_MODIFY("DSWA") + PORT_DIPNAME( 0x08, 0x08, "Round Select" ) PORT_DIPLOCATION("SWA:5") PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x08, DEF_STR( On ) ) - PORT_MODIFY("DSWB") // DSW B - PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SWB:4,3") + PORT_MODIFY("DSWB") + PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SWB:4,3") PORT_DIPSETTING( 0x00, "30k every 80k" ) PORT_DIPSETTING( 0x10, "30k and 80k" ) PORT_DIPSETTING( 0x20, "40k every 90k" ) @@ -555,51 +555,51 @@ static INPUT_PORTS_START( skykids ) INPUT_PORTS_END static INPUT_PORTS_START( drgnbstr ) - PORT_START("DSWA") // DSW A - PORT_SERVICE_DIPLOC( 0x80, IP_ACTIVE_LOW, "SWA:1" ) - PORT_DIPNAME( 0x60, 0x60, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SWA:3,2") + PORT_START("DSWA") + PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SWA:8,7") PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) ) - PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x60, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) ) + PORT_DIPNAME( 0x04, 0x04, "Freeze" ) PORT_DIPLOCATION("SWA:6") + PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x08, 0x08, "Round Skip" ) PORT_DIPLOCATION("SWA:5") + PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWA:4") PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x10, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, "Round Skip" ) PORT_DIPLOCATION("SWA:5") - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, "Freeze" ) PORT_DIPLOCATION("SWA:6") - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SWA:8,7") + PORT_DIPNAME( 0x60, 0x60, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SWA:3,2") PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) ) - PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x60, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) ) + PORT_SERVICE_DIPLOC( 0x80, IP_ACTIVE_LOW, "SWA:1" ) - PORT_START("DSWB") // DSW B - PORT_DIPNAME( 0x80, 0x80, "Spurt Time" ) PORT_DIPLOCATION("SWB:1") - PORT_DIPSETTING( 0x80, DEF_STR( Normal ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Difficult ) ) - PORT_DIPNAME( 0x40, 0x40, "Level of Monster" ) PORT_DIPLOCATION("SWB:2") - PORT_DIPSETTING( 0x40, DEF_STR( Normal ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Difficult ) ) - PORT_DIPNAME( 0x30, 0x30, "Starting Vitality" ) PORT_DIPLOCATION("SWB:4,3") - PORT_DIPSETTING( 0x00, "160" ) - PORT_DIPSETTING( 0x30, "128" ) - PORT_DIPSETTING( 0x10, "96" ) - PORT_DIPSETTING( 0x20, "64" ) - PORT_DIPNAME( 0x0c, 0x0c, "Bonus Vitality" ) PORT_DIPLOCATION("SWB:6,5") /* Clear Mountain, Tower, ect... */ - PORT_DIPSETTING( 0x00, "64" ) - PORT_DIPSETTING( 0x08, "48/64" ) - PORT_DIPSETTING( 0x04, "32/64" ) - PORT_DIPSETTING( 0x0c, DEF_STR( None ) ) - PORT_DIPNAME( 0x02, 0x02, "Bonus Level" ) PORT_DIPLOCATION("SWB:7") /* Clear Round */ - PORT_DIPSETTING( 0x02, "Full" ) - PORT_DIPSETTING( 0x00, "Partial" ) - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SWB:8") + PORT_START("DSWB") + PORT_DIPNAME( 0x01, 0x01, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SWB:8") // Does not work? PORT_DIPSETTING( 0x01, DEF_STR( No ) ) PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) + PORT_DIPNAME( 0x02, 0x02, "Bonus Level" ) PORT_DIPLOCATION("SWB:7") // Clear Round + PORT_DIPSETTING( 0x00, "Partial" ) + PORT_DIPSETTING( 0x02, "Full" ) + PORT_DIPNAME( 0x0c, 0x0c, "Bonus Vitality" ) PORT_DIPLOCATION("SWB:6,5") // Clear Mountain, Tower, etc... + PORT_DIPSETTING( 0x04, "32/64" ) + PORT_DIPSETTING( 0x08, "48/64" ) + PORT_DIPSETTING( 0x00, "64" ) + PORT_DIPSETTING( 0x0c, DEF_STR( None ) ) + PORT_DIPNAME( 0x30, 0x30, "Starting Vitality" ) PORT_DIPLOCATION("SWB:4,3") + PORT_DIPSETTING( 0x20, "64" ) + PORT_DIPSETTING( 0x10, "96" ) + PORT_DIPSETTING( 0x30, "128" ) + PORT_DIPSETTING( 0x00, "160" ) + PORT_DIPNAME( 0x40, 0x40, "Level of Monster" ) PORT_DIPLOCATION("SWB:2") + PORT_DIPSETTING( 0x40, DEF_STR( Normal ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Difficult ) ) + PORT_DIPNAME( 0x80, 0x80, "Spurt Time" ) PORT_DIPLOCATION("SWB:1") + PORT_DIPSETTING( 0x80, DEF_STR( Normal ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Difficult ) ) PORT_START("BUTTON2") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -610,7 +610,7 @@ static INPUT_PORTS_START( drgnbstr ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_START("SYSTEM") // IN 0 + PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 ) @@ -618,7 +618,7 @@ static INPUT_PORTS_START( drgnbstr ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START2 ) PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_START("P1") // IN 1 + PORT_START("P1") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY @@ -626,7 +626,7 @@ static INPUT_PORTS_START( drgnbstr ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_START("P2") // IN 2 + PORT_START("P2") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL @@ -699,10 +699,10 @@ void skykid_state::skykid(machine_config &config) m_mcu->set_addrmap(AS_PROGRAM, &skykid_state::mcu_map); m_mcu->in_p1_cb().set(FUNC(skykid_state::inputport_r)); m_mcu->out_p1_cb().set(FUNC(skykid_state::inputport_select_w)); - m_mcu->in_p2_cb().set_constant(0xff); // leds won't work otherwise + m_mcu->in_p2_cb().set_constant(0xff); // leds won't work otherwise m_mcu->out_p2_cb().set(FUNC(skykid_state::led_w)); - config.set_maximum_quantum(attotime::from_hz(6000)); // we need heavy synch + config.set_maximum_quantum(attotime::from_hz(6000)); // we need heavy sync WATCHDOG_TIMER(config, "watchdog"); diff --git a/src/mame/namco/sweetland4.cpp b/src/mame/namco/sweetland4.cpp index 786cd7038e870..4155c960aadd4 100644 --- a/src/mame/namco/sweetland4.cpp +++ b/src/mame/namco/sweetland4.cpp @@ -212,5 +212,5 @@ ROM_END } // anonymous namespace -GAME( 2004, sweetld4, 0, sweetland4, sweetld4, sweetland4_state, empty_init, ROT0, "Namco", "Sweet Land 4 Bright (ver 2004.9.29)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 2000, tairyodk, 0, tairyodk, tairyodk, sweetland4_state, empty_init, ROT0, "Namco", "Tairyo-Daiko 337 Byoshi", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 2004, sweetld4, 0, sweetland4, sweetld4, sweetland4_state, empty_init, ROT0, "Namco", "Sweet Land 4 Bright (ver 2004.9.29)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 2000, tairyodk, 0, tairyodk, tairyodk, sweetland4_state, empty_init, ROT0, "Namco", "Tairyo-Daiko 337 Byoshi", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/namco/toypop.cpp b/src/mame/namco/toypop.cpp index de7107d4cf8e5..8586ac43fb351 100644 --- a/src/mame/namco/toypop.cpp +++ b/src/mame/namco/toypop.cpp @@ -36,41 +36,46 @@ #include "emupal.h" #include "screen.h" #include "speaker.h" +#include "tilemap.h" namespace { -#define MASTER_CLOCK XTAL(6'144'000) - class namcos16_state : public driver_device { public: namcos16_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_master_cpu(*this,"maincpu"), - m_slave_cpu(*this, "slave"), - m_sound_cpu(*this, "audiocpu"), + m_maincpu(*this,"maincpu"), + m_subcpu(*this, "sub"), + m_soundcpu(*this, "soundcpu"), m_namco15xx(*this, "namco"), m_namco58xx(*this, "58xx"), m_namco56xx_1(*this, "56xx_1"), m_namco56xx_2(*this, "56xx_2"), m_palette(*this, "palette"), m_gfxdecode(*this, "gfxdecode"), - m_master_workram(*this, "master_workram"), - m_slave_sharedram(*this, "slave_sharedram"), + m_spriteram(*this, "spriteram"), + m_sharedram(*this, "sharedram"), m_bgvram(*this, "bgvram"), - m_fgvram(*this, "fgvram"), - m_fgattr(*this, "fgattr") + m_txvram(*this, "txvram"), + m_io_dsw(*this, "DSW%u", 1U) { } - void toypop(machine_config &config); - void liblrabl(machine_config &config); + void toypop(machine_config &config) ATTR_COLD; + void liblrabl(machine_config &config) ATTR_COLD; + +protected: + // driver_device overrides + virtual void machine_start() override ATTR_COLD; + virtual void machine_reset() override ATTR_COLD; + virtual void video_start() override ATTR_COLD; private: - required_device m_master_cpu; - required_device m_slave_cpu; - required_device m_sound_cpu; + required_device m_maincpu; + required_device m_subcpu; + required_device m_soundcpu; required_device m_namco15xx; required_device m_namco58xx; @@ -79,61 +84,57 @@ class namcos16_state : public driver_device required_device m_palette; required_device m_gfxdecode; - required_shared_ptr m_master_workram; - required_shared_ptr m_slave_sharedram; - required_shared_ptr m_bgvram; - required_shared_ptr m_fgvram; - required_shared_ptr m_fgattr; + required_shared_ptr m_spriteram; + required_shared_ptr m_sharedram; + required_shared_ptr m_bgvram; + required_shared_ptr m_txvram; - uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + required_ioport_array<2> m_io_dsw; - TIMER_DEVICE_CALLBACK_MEMBER(master_scanline); - void slave_vblank_irq(int state); + tilemap_t *m_tx_tilemap; + u8 m_pal_bank = 0; - uint8_t irq_enable_r(); - void irq_disable_w(uint8_t data); - void irq_ctrl_w(offs_t offset, uint8_t data); - void toypop_palette(palette_device &palette) const; - uint8_t dipA_l(); - uint8_t dipA_h(); - uint8_t dipB_l(); - uint8_t dipB_h(); - //void out_coin0(uint8_t data); - //void out_coin1(uint8_t data); - void pal_bank_w(offs_t offset, uint8_t data); - void flip(uint8_t data); - void slave_halt_ctrl_w(offs_t offset, uint8_t data); - uint8_t slave_shared_r(offs_t offset); - void slave_shared_w(offs_t offset, uint8_t data); - void slave_irq_enable_w(offs_t offset, uint16_t data); - void sound_halt_ctrl_w(offs_t offset, uint8_t data); - uint8_t bg_rmw_r(offs_t offset); - void bg_rmw_w(offs_t offset, uint8_t data); - - void master_liblrabl_map(address_map &map) ATTR_COLD; - void master_toypop_map(address_map &map) ATTR_COLD; - void namcos16_master_base_map(address_map &map) ATTR_COLD; - void slave_map(address_map &map) ATTR_COLD; - void sound_map(address_map &map) ATTR_COLD; + bool m_main_irq_enable = false; + bool m_sub_irq_enable = false; - // driver_device overrides -// virtual void machine_start() override ATTR_COLD; - virtual void machine_reset() override ATTR_COLD; + TIMER_DEVICE_CALLBACK_MEMBER(main_scanline); + void vblank_irq(int state); + + u8 irq_enable_r(); + void irq_disable_w(u8 data); + void irq_ctrl_w(offs_t offset, u8 data); + template u8 dip_l(); + template u8 dip_h(); + void pal_bank_w(offs_t offset, u8 data); + void flip(u8 data); + void sub_halt_ctrl_w(offs_t offset, u8 data); + u8 sharedram_r(offs_t offset); + void sharedram_w(offs_t offset, u8 data); + void sub_irq_enable_w(offs_t offset, u16 data); + void sound_halt_ctrl_w(offs_t offset, u8 data); + + void txvram_w(offs_t offset, u8 data); + u8 bg_rmw_r(offs_t offset); + void bg_rmw_w(offs_t offset, u8 data); -// virtual void video_start() override ATTR_COLD; + void toypop_palette(palette_device &palette) const; + TILE_GET_INFO_MEMBER(get_tile_info); + TILEMAP_MAPPER_MEMBER(tilemap_scan); + u32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - bool m_master_irq_enable = false; - bool m_slave_irq_enable = false; - uint8_t m_pal_bank = 0; + void draw_background(bitmap_ind16 &bitmap, const rectangle &cliprect, bool flip); + void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, bool flip); - void legacy_bg_draw(bitmap_ind16 &bitmap,const rectangle &cliprect,bool flip); - void legacy_fg_draw(bitmap_ind16 &bitmap,const rectangle &cliprect,bool flip); - void legacy_obj_draw(bitmap_ind16 &bitmap,const rectangle &cliprect,bool flip); + void liblrabl_main_map(address_map &map) ATTR_COLD; + void main_base_map(address_map &map) ATTR_COLD; + void sound_map(address_map &map) ATTR_COLD; + void sub_map(address_map &map) ATTR_COLD; + void toypop_main_map(address_map &map) ATTR_COLD; }; void namcos16_state::toypop_palette(palette_device &palette) const { - uint8_t const *const color_prom = memregion("proms")->base(); + u8 const *const color_prom = memregion("proms")->base(); for (int i = 0; i < 256; i++) { @@ -168,7 +169,7 @@ void namcos16_state::toypop_palette(palette_device &palette) const palette.set_pen_indirect(i + 1*256, (color_prom[i + 0x300] & 0x0f) | 0xf0); // sprites - uint8_t const entry = color_prom[i + 0x500]; + u8 const entry = color_prom[i + 0x500]; palette.set_pen_indirect(i + 2*256, entry); } @@ -180,20 +181,46 @@ void namcos16_state::toypop_palette(palette_device &palette) const } } -void namcos16_state::legacy_bg_draw(bitmap_ind16 &bitmap,const rectangle &cliprect,bool flip) +TILE_GET_INFO_MEMBER(namcos16_state::get_tile_info) { - uint16_t const pal_base = 0x300 + (m_pal_bank << 4); - uint32_t const src_base = 0x200/2; - uint16_t const src_pitch = 288 / 2; + const u32 code = m_txvram[tile_index]; + const u32 color = (m_txvram[tile_index + 0x400] & 0x3f) + (m_pal_bank << 6); + tileinfo.set(0, code, color, 0); +} + +/* convert from 32x32 to 36x28 */ +TILEMAP_MAPPER_MEMBER(namcos16_state::tilemap_scan) +{ + row += 2; + col -= 2; + if (col & 0x20) + return row + ((col & 0x1f) << 5); + else + return col + (row << 5); +} + +void namcos16_state::video_start() +{ + m_tx_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(namcos16_state::get_tile_info)), tilemap_mapper_delegate(*this, FUNC(namcos16_state::tilemap_scan)), 8, 8, 36, 28); + m_tx_tilemap->set_transparent_pen(0); + + save_item(NAME(m_pal_bank)); +} + +void namcos16_state::draw_background(bitmap_ind16 &bitmap, const rectangle &cliprect, bool flip) +{ + u16 const pal_base = 0x300 + (m_pal_bank << 4); + u32 const src_base = 0x200/2; + u16 const src_pitch = 288 / 2; for (int y = cliprect.min_y; y <= cliprect.max_y; ++y) { - uint16_t const *src = &m_bgvram[y * src_pitch + cliprect.min_x + src_base]; - uint16_t *dst = &bitmap.pix(flip ? (cliprect.max_y - y) : y, flip ? cliprect.max_x : cliprect.min_x); + u16 const *src = &m_bgvram[y * src_pitch + cliprect.min_x + src_base]; + u16 *dst = &bitmap.pix(flip ? (cliprect.max_y - y) : y, flip ? cliprect.max_x : cliprect.min_x); for (int x = cliprect.min_x; x <= cliprect.max_x; x += 2) { - uint32_t const srcpix = *src++; + u32 const srcpix = *src++; int const idx1 = ((srcpix >> 8) & 0xf) + pal_base; int const idx2 = (srcpix & 0xf) + pal_base; if (!flip) @@ -210,76 +237,37 @@ void namcos16_state::legacy_bg_draw(bitmap_ind16 &bitmap,const rectangle &clipre } } -void namcos16_state::legacy_fg_draw(bitmap_ind16 &bitmap,const rectangle &cliprect,bool flip) -{ - gfx_element *const gfx_0 = m_gfxdecode->gfx(0); - - for (int count = 0; count < 32*32; count++) - { - int const xoffs(count >> 5); - int const yoffs(count & 0x1f); - int x;// = (count % 32); - int y; //= count / 32; - - if (count < 64) - { - x = 34 + xoffs; - y = yoffs - 2; - } - else if (count >= 32*30) - { - x = xoffs - 30; - y = yoffs - 2; - } - else - { - x = 2 + yoffs; - y = xoffs - 2; - } - - uint16_t tile = m_fgvram[count]; - uint8_t color = (m_fgattr[count] & 0x3f) + (m_pal_bank << 6); - - gfx_0->transpen(bitmap, cliprect, tile, color, flip, flip, (flip ? 35-x : x)*8, (flip ? 27-y : y)*8, 0); - } -} - // TODO: this is likely to be a lot more complex, and maybe is per scanline too -void namcos16_state::legacy_obj_draw(bitmap_ind16 &bitmap,const rectangle &cliprect,bool flip) +void namcos16_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect,bool flip) { - gfx_element *gfx_1 = m_gfxdecode->gfx(1); - int count; - uint8_t *base_spriteram = m_master_workram; - const uint16_t bank1 = 0x0800; - const uint16_t bank2 = 0x1000; + gfx_element *const gfx_1 = m_gfxdecode->gfx(1); + u16 const bank1 = 0x0800; + u16 const bank2 = 0x1000; - - for (count=0x780;count<0x800;count+=2) + static const int gfx_offs[2][2] = { - bool enabled = (base_spriteram[count+bank2+1] & 2) == 0; - - if(enabled == false) + { 0, 1 }, + { 2, 3 } + }; + for (int count = 0x780; count < 0x800; count += 2) + { + if (BIT(m_spriteram[count+bank2+1], 1)) continue; - static const int gfx_offs[2][2] = - { - { 0, 1 }, - { 2, 3 } - }; - uint8_t tile = base_spriteram[count]; - uint8_t color = base_spriteram[count+1]; - int x = base_spriteram[count+bank1+1] + (base_spriteram[count+bank2+1] << 8); + u8 tile = m_spriteram[count]; + u8 const color = m_spriteram[count+1]; + int x = m_spriteram[count+bank1+1] + (m_spriteram[count+bank2+1] << 8); x -= 71; - int y = base_spriteram[count+bank1+0]; + int y = m_spriteram[count+bank1+0]; y += 7; // TODO: actually m_screen.height() y = 224 - y; - bool fx = (base_spriteram[count+bank2] & 1) == 1; - bool fy = (base_spriteram[count+bank2] & 2) == 2; - uint8_t width = ((base_spriteram[count+bank2] & 4) >> 2) + 1; - uint8_t height = ((base_spriteram[count+bank2] & 8) >> 3) + 1; + bool fx = (m_spriteram[count+bank2] & 1) == 1; + bool fy = (m_spriteram[count+bank2] & 2) == 2; + u8 const width = ((m_spriteram[count+bank2] & 4) >> 2) + 1; + u8 const height = ((m_spriteram[count+bank2] & 8) >> 3) + 1; tile &= ~(width - 1); tile &= ~((height - 1) << 1); @@ -291,120 +279,128 @@ void namcos16_state::legacy_obj_draw(bitmap_ind16 &bitmap,const rectangle &clipr } if (height == 2) - y -=16; + y -= 16; - for (int yi=0; yitransmask(bitmap,cliprect,sprite_offs,color,fx,fy,x + xi*16,y + yi *16,m_palette->transpen_mask(*gfx_1, color, 0xff)); + u16 const sprite_offs = tile + gfx_offs[yi ^ ((height - 1) * fy)][xi ^ ((width - 1) * fx)]; + gfx_1->transmask(bitmap, cliprect, + sprite_offs, + color, + fx, fy, + x + xi * 16, y + yi * 16, + m_palette->transpen_mask(*gfx_1, color, 0xff)); } } } } -uint32_t namcos16_state::screen_update( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect ) +u32 namcos16_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { bool const flip = flip_screen(); - legacy_bg_draw(bitmap,cliprect,flip); - legacy_fg_draw(bitmap,cliprect,flip); - legacy_obj_draw(bitmap,cliprect,flip); + draw_background(bitmap, cliprect, flip); + m_tx_tilemap->draw(screen, bitmap, cliprect, 0, 0); + draw_sprites(bitmap, cliprect, flip); return 0; } -uint8_t namcos16_state::irq_enable_r() +u8 namcos16_state::irq_enable_r() { - m_master_irq_enable = true; + if (!machine().side_effects_disabled()) + m_main_irq_enable = true; return 0; } -void namcos16_state::irq_disable_w(uint8_t data) +void namcos16_state::irq_disable_w(u8 data) { - m_master_irq_enable = false; + m_main_irq_enable = false; } -void namcos16_state::irq_ctrl_w(offs_t offset, uint8_t data) +void namcos16_state::irq_ctrl_w(offs_t offset, u8 data) { - m_master_irq_enable = (offset & 0x0800) ? false : true; + m_main_irq_enable = BIT(~offset, 11); } -void namcos16_state::slave_halt_ctrl_w(offs_t offset, uint8_t data) +void namcos16_state::sub_halt_ctrl_w(offs_t offset, u8 data) { - m_slave_cpu->set_input_line(INPUT_LINE_RESET,offset & 0x800 ? ASSERT_LINE : CLEAR_LINE); + m_subcpu->set_input_line(INPUT_LINE_RESET, BIT(offset, 11)); } -void namcos16_state::sound_halt_ctrl_w(offs_t offset, uint8_t data) +void namcos16_state::sound_halt_ctrl_w(offs_t offset, u8 data) { - m_sound_cpu->set_input_line(INPUT_LINE_RESET,offset & 0x800 ? ASSERT_LINE : CLEAR_LINE); + m_soundcpu->set_input_line(INPUT_LINE_RESET, BIT(offset, 11)); } -uint8_t namcos16_state::slave_shared_r(offs_t offset) +u8 namcos16_state::sharedram_r(offs_t offset) { - return m_slave_sharedram[offset]; + return m_sharedram[offset]; } -void namcos16_state::slave_shared_w(offs_t offset, uint8_t data) +void namcos16_state::sharedram_w(offs_t offset, u8 data) { - m_slave_sharedram[offset] = data; + m_sharedram[offset] = data; } -void namcos16_state::slave_irq_enable_w(offs_t offset, uint16_t data) +void namcos16_state::sub_irq_enable_w(offs_t offset, u16 data) { - m_slave_irq_enable = (offset & 0x40000) ? false : true; + m_sub_irq_enable = BIT(~offset, 18); } -uint8_t namcos16_state::bg_rmw_r(offs_t offset) +u8 namcos16_state::bg_rmw_r(offs_t offset) { - uint8_t res; - - res = 0; + u8 res = 0; // note: following offset is written as offset * 2 res |= (m_bgvram[offset] & 0x0f00) >> 4; res |= (m_bgvram[offset] & 0x000f); return res; } -void namcos16_state::bg_rmw_w(offs_t offset, uint8_t data) +void namcos16_state::bg_rmw_w(offs_t offset, u8 data) { // note: following offset is written as offset * 2 m_bgvram[offset] = (data & 0xf) | ((data & 0xf0) << 4); } -uint8_t namcos16_state::dipA_l() { return ioport("DSW1")->read(); } // dips A -uint8_t namcos16_state::dipA_h() { return ioport("DSW1")->read() >> 4; } // dips A -uint8_t namcos16_state::dipB_l() { return ioport("DSW2")->read(); } // dips B -uint8_t namcos16_state::dipB_h() { return ioport("DSW2")->read() >> 4; } // dips B +void namcos16_state::txvram_w(offs_t offset, u8 data) +{ + m_txvram[offset] = data; + m_tx_tilemap->mark_tile_dirty(offset & 0x3ff); +} + +template u8 namcos16_state::dip_l() { return m_io_dsw[Which]->read(); } +template u8 namcos16_state::dip_h() { return m_io_dsw[Which]->read() >> 4; } -void namcos16_state::flip(uint8_t data) +void namcos16_state::flip(u8 data) { - flip_screen_set(data & 1); + flip_screen_set(BIT(data, 0)); } -void namcos16_state::pal_bank_w(offs_t offset, uint8_t data) +void namcos16_state::pal_bank_w(offs_t offset, u8 data) { - m_pal_bank = offset & 1; + m_pal_bank = BIT(offset, 0); + m_tx_tilemap->mark_all_dirty(); } -void namcos16_state::namcos16_master_base_map(address_map &map) +void namcos16_state::main_base_map(address_map &map) { - map(0x0000, 0x03ff).ram().share("fgvram"); - map(0x0400, 0x07ff).ram().share("fgattr"); - map(0x0800, 0x1fff).ram().share("master_workram"); - map(0x2800, 0x2fff).ram().share("slave_sharedram"); + map(0x0000, 0x07ff).ram().w(FUNC(namcos16_state::txvram_w)).share(m_txvram); + map(0x0800, 0x1fff).ram().share(m_spriteram); + map(0x2800, 0x2fff).ram().share(m_sharedram); // 0x6000 - 0x7fff i/o specific, guessing PAL controlled. - map(0x8000, 0x8fff).w(FUNC(namcos16_state::slave_halt_ctrl_w)); + map(0x8000, 0xffff).rom().region("maincpu", 0); + map(0x8000, 0x8fff).w(FUNC(namcos16_state::sub_halt_ctrl_w)); map(0x9000, 0x9fff).w(FUNC(namcos16_state::sound_halt_ctrl_w)); map(0xa000, 0xa001).w(FUNC(namcos16_state::pal_bank_w)); - map(0x8000, 0xffff).rom().region("master_rom", 0); } -void namcos16_state::master_liblrabl_map(address_map &map) +void namcos16_state::liblrabl_main_map(address_map &map) { - namcos16_master_base_map(map); + main_base_map(map); map(0x6000, 0x63ff).rw(m_namco15xx, FUNC(namco_15xx_device::sharedram_r), FUNC(namco_15xx_device::sharedram_w)); map(0x6800, 0x680f).rw(m_namco58xx, FUNC(namco58xx_device::read), FUNC(namco58xx_device::write)); map(0x6810, 0x681f).rw(m_namco56xx_1, FUNC(namco56xx_device::read), FUNC(namco56xx_device::write)); @@ -412,9 +408,9 @@ void namcos16_state::master_liblrabl_map(address_map &map) map(0x7000, 0x7fff).nopr().w(FUNC(namcos16_state::irq_ctrl_w)); } -void namcos16_state::master_toypop_map(address_map &map) +void namcos16_state::toypop_main_map(address_map &map) { - namcos16_master_base_map(map); + main_base_map(map); map(0x6000, 0x600f).rw(m_namco58xx, FUNC(namco58xx_device::read), FUNC(namco58xx_device::write)); map(0x6010, 0x601f).rw(m_namco56xx_1, FUNC(namco56xx_device::read), FUNC(namco56xx_device::write)); map(0x6020, 0x602f).rw(m_namco56xx_2, FUNC(namco56xx_device::read), FUNC(namco56xx_device::write)); @@ -422,20 +418,20 @@ void namcos16_state::master_toypop_map(address_map &map) map(0x7000, 0x7000).rw(FUNC(namcos16_state::irq_enable_r), FUNC(namcos16_state::irq_disable_w)); } -void namcos16_state::slave_map(address_map &map) +void namcos16_state::sub_map(address_map &map) { - map(0x000000, 0x007fff).rom().region("slave_rom", 0); + map(0x000000, 0x007fff).rom().region("sub", 0); map(0x080000, 0x0bffff).ram(); - map(0x100000, 0x100fff).rw(FUNC(namcos16_state::slave_shared_r), FUNC(namcos16_state::slave_shared_w)).umask16(0x00ff); + map(0x100000, 0x100fff).rw(FUNC(namcos16_state::sharedram_r), FUNC(namcos16_state::sharedram_w)).umask16(0x00ff); map(0x180000, 0x187fff).rw(FUNC(namcos16_state::bg_rmw_r), FUNC(namcos16_state::bg_rmw_w)); - map(0x190000, 0x1dffff).ram().share("bgvram"); - map(0x300000, 0x3fffff).w(FUNC(namcos16_state::slave_irq_enable_w)); + map(0x190000, 0x1dffff).ram().share(m_bgvram); + map(0x300000, 0x3fffff).w(FUNC(namcos16_state::sub_irq_enable_w)); } void namcos16_state::sound_map(address_map &map) { map(0x0000, 0x03ff).rw(m_namco15xx, FUNC(namco_15xx_device::sharedram_r), FUNC(namco_15xx_device::sharedram_w)); - map(0xe000, 0xffff).rom().region("sound_rom", 0); + map(0xe000, 0xffff).rom().region("soundcpu", 0); } @@ -487,10 +483,10 @@ static INPUT_PORTS_START( liblrabl ) PORT_DIPSETTING( 0x01, "5" ) PORT_DIPNAME( 0x1c, 0x1c, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SWA:6,5,4") // bonus scores for common - PORT_DIPSETTING( 0x1c, "40k 120k 200k 400k 600k 1m" ) - PORT_DIPSETTING( 0x0c, "40k 140k 250k 400k 700k 1m" ) + PORT_DIPSETTING( 0x1c, "40k 120k 200k 400k 600k 1M" ) + PORT_DIPSETTING( 0x0c, "40k 140k 250k 400k 700k 1M" ) // bonus scores for 1, 2 or 3 lives - PORT_DIPSETTING( 0x14, "50k 150k 300k 500k 700k 1m" ) PORT_CONDITION("DSW1", 0x03, NOTEQUALS, 0x01) + PORT_DIPSETTING( 0x14, "50k 150k 300k 500k 700k 1M" ) PORT_CONDITION("DSW1", 0x03, NOTEQUALS, 0x01) PORT_DIPSETTING( 0x04, "40k 120k and every 120k" ) PORT_CONDITION("DSW1", 0x03, NOTEQUALS, 0x01) PORT_DIPSETTING( 0x18, "40k 150k and every 150k" ) PORT_CONDITION("DSW1", 0x03, NOTEQUALS, 0x01) PORT_DIPSETTING( 0x08, "50k 150k 300k" ) PORT_CONDITION("DSW1", 0x03, NOTEQUALS, 0x01) @@ -637,10 +633,10 @@ static const gfx_layout charlayout = 8,8, RGN_FRAC(1,1), 2, - { 0, 4 }, - { 8*8+0, 8*8+1, 8*8+2, 8*8+3, 0, 1, 2, 3 }, - { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 }, - 16*8 + { STEP2(0, 4) }, + { STEP4(8*8, 1), STEP4(0, 1) }, + { STEP8(0, 8) }, + 8*8*2 }; static const gfx_layout spritelayout = @@ -648,36 +644,40 @@ static const gfx_layout spritelayout = 16,16, RGN_FRAC(1,1), 2, - { 0, 4 }, - { 0, 1, 2, 3, 8*8, 8*8+1, 8*8+2, 8*8+3, 16*8+0, 16*8+1, 16*8+2, 16*8+3, - 24*8+0, 24*8+1, 24*8+2, 24*8+3 }, - { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8, - 32 * 8, 33 * 8, 34 * 8, 35 * 8, 36 * 8, 37 * 8, 38 * 8, 39 * 8 }, - 64*8 + { STEP2(0, 4) }, + { STEP4(0, 1), STEP4(8*8, 1), STEP4(16*8, 1), STEP4(24*8, 1) }, + { STEP8(0, 8), STEP8(32*8, 8) }, + 16*16*2 }; static GFXDECODE_START( gfx_toypop ) - GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 128 ) - GFXDECODE_ENTRY( "gfx2", 0, spritelayout, 128*4, 64 ) + GFXDECODE_ENTRY( "tiles", 0, charlayout, 0, 128 ) + GFXDECODE_ENTRY( "sprites", 0, spritelayout, 128*4, 64 ) GFXDECODE_END +void namcos16_state::machine_start() +{ + save_item(NAME(m_main_irq_enable)); + save_item(NAME(m_sub_irq_enable)); +} + void namcos16_state::machine_reset() { - m_master_irq_enable = false; - m_slave_irq_enable = false; - m_slave_cpu->set_input_line(INPUT_LINE_RESET,ASSERT_LINE); - m_sound_cpu->set_input_line(INPUT_LINE_RESET,ASSERT_LINE); + m_main_irq_enable = false; + m_sub_irq_enable = false; + m_subcpu->set_input_line(INPUT_LINE_RESET, ASSERT_LINE); + m_soundcpu->set_input_line(INPUT_LINE_RESET, ASSERT_LINE); } -TIMER_DEVICE_CALLBACK_MEMBER(namcos16_state::master_scanline) +TIMER_DEVICE_CALLBACK_MEMBER(namcos16_state::main_scanline) { - int scanline = param; + int const scanline = param; - if(scanline == 224 && m_master_irq_enable == true) - m_master_cpu->set_input_line(M6809_IRQ_LINE,HOLD_LINE); + if (scanline == 224 && m_main_irq_enable) + m_maincpu->set_input_line(M6809_IRQ_LINE, HOLD_LINE); // TODO: definitely can't fire from this, presume that a command send has a timing response ... - if(scanline == 0) + if (scanline == 0) { if (!m_namco58xx->read_reset_line()) m_namco58xx->customio_run(); @@ -690,24 +690,26 @@ TIMER_DEVICE_CALLBACK_MEMBER(namcos16_state::master_scanline) } } -void namcos16_state::slave_vblank_irq(int state) +void namcos16_state::vblank_irq(int state) { - if (state && m_slave_irq_enable == true) - m_slave_cpu->set_input_line(6, HOLD_LINE); + if (state && m_sub_irq_enable) + m_subcpu->set_input_line(6, HOLD_LINE); } void namcos16_state::liblrabl(machine_config &config) { - MC6809E(config, m_master_cpu, MASTER_CLOCK/4); - m_master_cpu->set_addrmap(AS_PROGRAM, &namcos16_state::master_liblrabl_map); - TIMER(config, "scantimer").configure_scanline(FUNC(namcos16_state::master_scanline), "screen", 0, 1); + constexpr XTAL MASTER_CLOCK = XTAL(6'144'000); + + MC6809E(config, m_maincpu, MASTER_CLOCK / 4); + m_maincpu->set_addrmap(AS_PROGRAM, &namcos16_state::liblrabl_main_map); + TIMER(config, "scantimer").configure_scanline(FUNC(namcos16_state::main_scanline), "screen", 0, 1); - M68000(config, m_slave_cpu, MASTER_CLOCK); - m_slave_cpu->set_addrmap(AS_PROGRAM, &namcos16_state::slave_map); + M68000(config, m_subcpu, MASTER_CLOCK); + m_subcpu->set_addrmap(AS_PROGRAM, &namcos16_state::sub_map); - MC6809E(config, m_sound_cpu, MASTER_CLOCK/4); - m_sound_cpu->set_addrmap(AS_PROGRAM, &namcos16_state::sound_map); - m_sound_cpu->set_periodic_int(FUNC(namcos16_state::irq0_line_hold), attotime::from_hz(60)); + MC6809E(config, m_soundcpu, MASTER_CLOCK / 4); + m_soundcpu->set_addrmap(AS_PROGRAM, &namcos16_state::sound_map); + m_soundcpu->set_periodic_int(FUNC(namcos16_state::irq0_line_hold), attotime::from_hz(60)); NAMCO_58XX(config, m_namco58xx, 0); m_namco58xx->in_callback<0>().set_ioport("COINS"); @@ -716,10 +718,10 @@ void namcos16_state::liblrabl(machine_config &config) m_namco58xx->in_callback<3>().set_ioport("BUTTONS"); NAMCO_56XX(config, m_namco56xx_1, 0); - m_namco56xx_1->in_callback<0>().set(FUNC(namcos16_state::dipA_h)); - m_namco56xx_1->in_callback<1>().set(FUNC(namcos16_state::dipB_l)); - m_namco56xx_1->in_callback<2>().set(FUNC(namcos16_state::dipB_h)); - m_namco56xx_1->in_callback<3>().set(FUNC(namcos16_state::dipA_l)); + m_namco56xx_1->in_callback<0>().set(FUNC(namcos16_state::dip_h<0>)); + m_namco56xx_1->in_callback<1>().set(FUNC(namcos16_state::dip_l<1>)); + m_namco56xx_1->in_callback<2>().set(FUNC(namcos16_state::dip_h<1>)); + m_namco56xx_1->in_callback<3>().set(FUNC(namcos16_state::dip_l<0>)); m_namco56xx_1->out_callback<0>().set(FUNC(namcos16_state::flip)); NAMCO_56XX(config, m_namco56xx_2, 0); @@ -728,17 +730,17 @@ void namcos16_state::liblrabl(machine_config &config) m_namco56xx_2->in_callback<3>().set_ioport("SERVICE"); screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_raw(MASTER_CLOCK,384,0,288,264,0,224); // derived from Galaxian HW, 60.606060 + screen.set_raw(MASTER_CLOCK, 384, 0, 288, 264, 0, 224); // derived from Galaxian HW, 60.606060 screen.set_screen_update(FUNC(namcos16_state::screen_update)); screen.set_palette(m_palette); - screen.screen_vblank().set(FUNC(namcos16_state::slave_vblank_irq)); + screen.screen_vblank().set(FUNC(namcos16_state::vblank_irq)); GFXDECODE(config, m_gfxdecode, m_palette, gfx_toypop); PALETTE(config, m_palette, FUNC(namcos16_state::toypop_palette), 128*4 + 64*4 + 16*2, 256); /* sound hardware */ SPEAKER(config, "mono").front_center(); - NAMCO_15XX(config, m_namco15xx, 24000); + NAMCO_15XX(config, m_namco15xx, MASTER_CLOCK / 256); m_namco15xx->set_voices(8); m_namco15xx->add_route(ALL_OUTPUTS, "mono", 1.0); } @@ -746,26 +748,26 @@ void namcos16_state::liblrabl(machine_config &config) void namcos16_state::toypop(machine_config &config) { liblrabl(config); - m_master_cpu->set_addrmap(AS_PROGRAM, &namcos16_state::master_toypop_map); + m_maincpu->set_addrmap(AS_PROGRAM, &namcos16_state::toypop_main_map); } ROM_START( liblrabl ) - ROM_REGION( 0x8000, "master_rom", 0 ) + ROM_REGION( 0x8000, "maincpu", 0 ) ROM_LOAD( "5b.rom", 0x0000, 0x4000, CRC(da7a93c2) SHA1(fe4a02cdab66722eb7b8cf58825f899b1949a6a2) ) ROM_LOAD( "5c.rom", 0x4000, 0x4000, CRC(6cae25dc) SHA1(de74317a7d5de1865d096c377923a764be5e6879) ) - ROM_REGION( 0x2000, "sound_rom", 0 ) + ROM_REGION( 0x2000, "soundcpu", 0 ) ROM_LOAD( "2c.rom", 0x0000, 0x2000, CRC(7c09e50a) SHA1(5f004d60bbb7355e008a9cda137b28bc2192b8ef) ) - ROM_REGION16_BE( 0x8000, "slave_rom", 0 ) + ROM_REGION16_BE( 0x8000, "sub", 0 ) ROM_LOAD16_BYTE("8c.rom", 0x0000, 0x4000, CRC(a00cd959) SHA1(cc5621103c31cfbc65941615cab391db0f74e6ce) ) ROM_LOAD16_BYTE("10c.rom", 0x0001, 0x4000, CRC(09ce209b) SHA1(2ed46d6592f8227bac8ab54963d9a300706ade47) ) - ROM_REGION( 0x2000, "gfx1", 0 ) + ROM_REGION( 0x2000, "tiles", 0 ) ROM_LOAD( "5p.rom", 0x0000, 0x2000, CRC(3b4937f0) SHA1(06d9de576f1c2262c34aeb91054e68c9298af688) ) - ROM_REGION( 0x4000, "gfx2", 0 ) + ROM_REGION( 0x4000, "sprites", 0 ) ROM_LOAD( "9t.rom", 0x0000, 0x4000, CRC(a88e24ca) SHA1(eada133579f19de09255084dcdc386311606a335) ) ROM_REGION( 0x0600, "proms", 0 ) @@ -780,21 +782,21 @@ ROM_START( liblrabl ) ROM_END ROM_START( toypop ) - ROM_REGION( 0x8000, "master_rom", 0 ) + ROM_REGION( 0x8000, "maincpu", 0 ) ROM_LOAD( "tp1-2.5b", 0x0000, 0x4000, CRC(87469620) SHA1(2ee257486c9c044386ac7d0cd4a90583eaeb3e97) ) ROM_LOAD( "tp1-1.5c", 0x4000, 0x4000, CRC(dee2fd6e) SHA1(b2c12008d6d3e7544ba3c12a52a6abf9181842c8) ) - ROM_REGION( 0x2000, "sound_rom", 0 ) + ROM_REGION( 0x2000, "soundcpu", 0 ) ROM_LOAD( "tp1-3.2c", 0x0000, 0x2000, CRC(5f3bf6e2) SHA1(d1b3335661b9b23cb10001416c515b77b5e783e9) ) - ROM_REGION16_BE( 0x8000, "slave_rom", 0 ) + ROM_REGION16_BE( 0x8000, "sub", 0 ) ROM_LOAD16_BYTE("tp1-4.8c", 0x0000, 0x4000, CRC(76997db3) SHA1(5023a2f20a5f2c9baff130f6832583493c71f883) ) ROM_LOAD16_BYTE("tp1-5.10c", 0x0001, 0x4000, CRC(37de8786) SHA1(710365e34c05d01815844c414518f93234b6160b) ) - ROM_REGION( 0x2000, "gfx1", 0 ) + ROM_REGION( 0x2000, "tiles", 0 ) ROM_LOAD( "tp1-7.5p", 0x0000, 0x2000, CRC(95076f9e) SHA1(1e3d32b21f6d46591ec3921aba51f672d64a9023) ) - ROM_REGION( 0x4000, "gfx2", 0 ) + ROM_REGION( 0x4000, "sprites", 0 ) ROM_LOAD( "tp1-6.9t", 0x0000, 0x4000, CRC(481ffeaf) SHA1(c51735ad3a1dbb46ad414408b54554e9223b2219) ) ROM_REGION( 0x0600, "proms", 0 ) diff --git a/src/mame/namco/wacky_gator.cpp b/src/mame/namco/wacky_gator.cpp index 7eef1f71811b8..3e3b22453af85 100644 --- a/src/mame/namco/wacky_gator.cpp +++ b/src/mame/namco/wacky_gator.cpp @@ -352,4 +352,4 @@ ROM_END } // anonymous namespace -GAME(1988, wackygtr, 0, wackygtr, wackygtr, wackygtr_state, empty_init, ROT0, "Namco (Data East license)", "Wacky Gator (US)", MACHINE_IS_SKELETON_MECHANICAL) +GAME(1988, wackygtr, 0, wackygtr, wackygtr, wackygtr_state, empty_init, ROT0, "Namco (Data East license)", "Wacky Gator (US)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) diff --git a/src/mame/natsemi/ns5652.cpp b/src/mame/natsemi/ns5652.cpp index 68dc2fcb25e82..d648299b0ba9f 100644 --- a/src/mame/natsemi/ns5652.cpp +++ b/src/mame/natsemi/ns5652.cpp @@ -94,4 +94,4 @@ ROM_END } // anonymous namespace -COMP(19??, ns5652, 0, 0, ns5652, ns5652, ns5652_state, empty_init, "National Semiconductor", "unknown INS8900 Multibus card (980305652)", MACHINE_IS_SKELETON) +COMP(19??, ns5652, 0, 0, ns5652, ns5652, ns5652_state, empty_init, "National Semiconductor", "unknown INS8900 Multibus card (980305652)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/ncd/ncd88k.cpp b/src/mame/ncd/ncd88k.cpp index 80755004f4c49..5e8c7b4134396 100644 --- a/src/mame/ncd/ncd88k.cpp +++ b/src/mame/ncd/ncd88k.cpp @@ -390,5 +390,5 @@ ROM_END } // anonymous namespace -COMP(1991, ncd19c, 0, 0, ncd19c, ncd19c, ncd88k_state, empty_init, "Network Computing Devices", "19c", MACHINE_IS_SKELETON) -COMP(1993, ncdmcx, 0, 0, ncdmcx, 0, ncdmcx_state, empty_init, "Network Computing Devices", "MCX", MACHINE_IS_SKELETON) +COMP(1991, ncd19c, 0, 0, ncd19c, ncd19c, ncd88k_state, empty_init, "Network Computing Devices", "19c", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +COMP(1993, ncdmcx, 0, 0, ncdmcx, 0, ncdmcx_state, empty_init, "Network Computing Devices", "MCX", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/nec/ews4800.cpp b/src/mame/nec/ews4800.cpp index a07aade2ab0d2..b6969a17dfd2d 100644 --- a/src/mame/nec/ews4800.cpp +++ b/src/mame/nec/ews4800.cpp @@ -179,4 +179,4 @@ ROM_END } // anonymous namespace /* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */ -COMP(1993, ews4800_310, 0, 0, ews4800_310, 0, ews4800_state, init, "NEC", "EWS4800/310", MACHINE_IS_SKELETON) +COMP(1993, ews4800_310, 0, 0, ews4800_310, 0, ews4800_state, init, "NEC", "EWS4800/310", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/nec/pc8801.cpp b/src/mame/nec/pc8801.cpp index 0706b3837c90f..1895e6a0ecedc 100644 --- a/src/mame/nec/pc8801.cpp +++ b/src/mame/nec/pc8801.cpp @@ -1287,7 +1287,7 @@ static INPUT_PORTS_START( pc8801 ) PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) // PORT_BIT( 0x10, IP_ACTIVE_HIGH,IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("upd1990a", FUNC(upd1990a_device::data_out_r)) -// PORT_BIT( 0x20, IP_ACTIVE_HIGH,IPT_CUSTOM ) PORT_VBLANK("screen") +// PORT_BIT( 0x20, IP_ACTIVE_HIGH,IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNKNOWN ) // TODO: Coming from the old legacy driver as "EXSWITCH", where this maps? diff --git a/src/mame/nec/pc_h98.cpp b/src/mame/nec/pc_h98.cpp index 663a8e22294ee..a505e2d4db889 100644 --- a/src/mame/nec/pc_h98.cpp +++ b/src/mame/nec/pc_h98.cpp @@ -208,4 +208,4 @@ ROM_START( pc_h98s ) // LOAD_IDE_ROM ROM_END -COMP( 1991, pc_h98s, 0, 0, pc_h98s, pc_h98, pc_hyper98_state, init_pc9801_kanji, "NEC", "PC-H98S model 8/U8", MACHINE_IS_SKELETON ) +COMP( 1991, pc_h98s, 0, 0, pc_h98s, pc_h98, pc_hyper98_state, init_pc9801_kanji, "NEC", "PC-H98S model 8/U8", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/nichibutsu/armedf.cpp b/src/mame/nichibutsu/armedf.cpp index dd6dca1f18c0f..fb703fd7ae186 100644 --- a/src/mame/nichibutsu/armedf.cpp +++ b/src/mame/nichibutsu/armedf.cpp @@ -311,7 +311,6 @@ PCB Layout LM324 - Texas Instruments LM324 Quad Operational Amplifier with True Differential Inputs MB3730 - Fujitsu MB3730 12W BTL Single Channel Amplifier - ***********************************************************************/ #include "emu.h" @@ -641,13 +640,15 @@ void bigfghtr_state::bigfghtr_mcu_io_map(address_map &map) map(0x00600, 0x03fff).ram().share("sharedram"); } -void armedf_state::sound_map(address_map &map) // common sound map for the terra force bottom pcb, also used on armed f, tatakae big fighter, etc +// common sound map for the terra force bottom pcb, also used on armed f, tatakae big fighter, etc +void armedf_state::sound_map(address_map &map) { map(0x0000, 0xf7ff).rom(); map(0xf800, 0xffff).ram(); } -void armedf_state::cclimbr2_soundmap(address_map &map) // common sound map for the crazy climber 2 and legion bottom pcbs +// common sound map for the crazy climber 2 and legion bottom pcbs +void armedf_state::cclimbr2_soundmap(address_map &map) { map(0x0000, 0xbfff).rom(); map(0xc000, 0xffff).ram(); @@ -1134,11 +1135,17 @@ void armedf_state::sound_config_common(machine_config &config) // common amongst // Sum: 0.83325 // Multiply all 3 values by 1 / 0.83325 (i.e. 1.20012): // Final values are: ym: 0.2; dac1: 0.4; dac2: 0.4 - FILTER_BIQUAD(config, m_ymfilter).opamp_sk_lowpass_setup(RES_K(4.7), RES_K(4.7), RES_M(999.99), RES_R(0.001), CAP_N(3.3), CAP_N(1.0)); // R17, R16, nothing(infinite resistance), wire(short), C82, C68 + + // R17, R16, nothing(infinite resistance), wire(short), C82, C68 + FILTER_BIQUAD(config, m_ymfilter).opamp_sk_lowpass_setup(RES_K(4.7), RES_K(4.7), RES_M(999.99), RES_R(0.001), CAP_N(3.3), CAP_N(1.0)); m_ymfilter->add_route(ALL_OUTPUTS, "speaker", 1.0); - FILTER_BIQUAD(config, m_dacfilter1).opamp_sk_lowpass_setup(RES_K(10), RES_K(10), RES_M(999.99), RES_R(0.001), CAP_N(10), CAP_N(4.7)); // R15, R10, nothing(infinite resistance), wire(short), C81, C60 + + // R15, R10, nothing(infinite resistance), wire(short), C81, C60 + FILTER_BIQUAD(config, m_dacfilter1).opamp_sk_lowpass_setup(RES_K(10), RES_K(10), RES_M(999.99), RES_R(0.001), CAP_N(10), CAP_N(4.7)); m_dacfilter1->add_route(ALL_OUTPUTS, "speaker", 1.0); - FILTER_BIQUAD(config, m_dacfilter2).opamp_sk_lowpass_setup(RES_K(10), RES_K(10), RES_M(999.99), RES_R(0.001), CAP_N(10), CAP_N(4.7)); // R13, R9, nothing(infinite resistance), wire(short), C66, C61 + + // R13, R9, nothing(infinite resistance), wire(short), C66, C61 + FILTER_BIQUAD(config, m_dacfilter2).opamp_sk_lowpass_setup(RES_K(10), RES_K(10), RES_M(999.99), RES_R(0.001), CAP_N(10), CAP_N(4.7)); m_dacfilter2->add_route(ALL_OUTPUTS, "speaker", 1.0); DAC_8BIT_R2R(config, "dac1", 0).add_route(ALL_OUTPUTS, m_dacfilter1, 0.4); // SIP R2R DAC @ G11-1 with 74HC374P latch diff --git a/src/mame/nichibutsu/cop01.cpp b/src/mame/nichibutsu/cop01.cpp index 0d443b535aba4..f58c4585ff956 100644 --- a/src/mame/nichibutsu/cop01.cpp +++ b/src/mame/nichibutsu/cop01.cpp @@ -9,11 +9,12 @@ Mighty Guy (c) 1986 Nichibutsu driver by Carlos A. Lozano TODO: -- Fix priority kludge +- fix priority kludge - Inaccurate 1412M2 protection chip emulation in mightguy, used by the sound CPU. This is probably an extra CPU (program ROM is the ic2 one), presumably - with data / address line scrambling -- Some sound problems remaining, not just 1412M2, but see also MT7949 + with data / address line scrambling. +- cop01 AY8910 filters, see MT7949 (I locally tried blindly copy-pasting the one + from magmax, but voice volume was too low) Mighty Guy board layout: @@ -60,6 +61,7 @@ Mighty Guy board layout: #include "cpu/z80/z80.h" #include "machine/gen_latch.h" +#include "machine/timer.h" #include "sound/ay8910.h" #include "sound/dac.h" #include "sound/ymopl.h" @@ -74,35 +76,26 @@ namespace { #define MIGHTGUY_HACK 0 -class cop01_state : public driver_device +class cop01_base_state : public driver_device { public: - cop01_state(const machine_config &mconfig, device_type type, const char *tag) : + cop01_base_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_audiocpu(*this, "audiocpu"), m_bgvideoram(*this, "bgvideoram"), m_spriteram(*this, "spriteram"), m_fgvideoram(*this, "fgvideoram"), m_maincpu(*this, "maincpu"), + m_audiocpu(*this, "audiocpu"), m_gfxdecode(*this, "gfxdecode"), m_palette(*this, "palette"), m_soundlatch(*this, "soundlatch") { } - void cop01(machine_config &config); - protected: virtual void machine_start() override ATTR_COLD; virtual void machine_reset() override ATTR_COLD; virtual void video_start() override ATTR_COLD; - uint8_t sound_command_r(); - - void cop01_base(machine_config &config); - - required_device m_audiocpu; - -private: // memory pointers required_shared_ptr m_bgvideoram; required_shared_ptr m_spriteram; @@ -113,37 +106,65 @@ class cop01_state : public driver_device tilemap_t *m_fg_tilemap = nullptr; uint8_t m_vreg[4]{}; - // sound-related - uint8_t m_pulse = 0; - static constexpr int TIMER_RATE = 11475; // unknown, hand-tuned to match audio reference - // devices required_device m_maincpu; + required_device m_audiocpu; required_device m_gfxdecode; required_device m_palette; required_device m_soundlatch; - void irq_ack_w(uint8_t data); - uint8_t sound_irq_ack_w(); - void background_w(offs_t offset, uint8_t data); - void foreground_w(offs_t offset, uint8_t data); - void vreg_w(offs_t offset, uint8_t data); + void palette(palette_device &palette) const; TILE_GET_INFO_MEMBER(get_bg_tile_info); TILE_GET_INFO_MEMBER(get_fg_tile_info); - void palette(palette_device &palette) const; - uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect); - void audio_io_map(address_map &map) ATTR_COLD; + uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + + void background_w(offs_t offset, uint8_t data); + void foreground_w(offs_t offset, uint8_t data); + void vreg_w(offs_t offset, uint8_t data); + void irq_ack_w(uint8_t data); + void main_map(address_map &map) ATTR_COLD; void io_map(address_map &map) ATTR_COLD; void sound_map(address_map &map) ATTR_COLD; + + void cop01_base(machine_config &config); +}; + +class cop01_state : public cop01_base_state +{ +public: + cop01_state(const machine_config &mconfig, device_type type, const char *tag) : + cop01_base_state(mconfig, type, tag), + m_ay(*this, "ay%u", 0U) + { } + + void cop01(machine_config &config); + +protected: + virtual void machine_start() override ATTR_COLD; + +private: + required_device_array m_ay; + + uint8_t m_ls74_q = 0; + uint8_t m_ls74_clr = 0; + + uint8_t sound_command_r(); + + TIMER_DEVICE_CALLBACK_MEMBER(sound_timer); + + void ay8910_portb_0_w(uint8_t data); + void ay8910_porta_0_w(uint8_t data); + + void audio_io_map(address_map &map) ATTR_COLD; }; -class mightguy_state : public cop01_state +class mightguy_state : public cop01_base_state { public: mightguy_state(const machine_config &mconfig, device_type type, const char *tag) : - cop01_state(mconfig, type, tag), + cop01_base_state(mconfig, type, tag), m_prot(*this, "prot_chip"), m_fake(*this, "FAKE") { } @@ -155,15 +176,22 @@ class mightguy_state : public cop01_state void init_mightguy(); private: - void audio_io_map(address_map &map) ATTR_COLD; - required_device m_prot; - required_ioport m_fake; + + uint8_t sound_command_r(); + + void audio_io_map(address_map &map) ATTR_COLD; }; -void cop01_state::palette(palette_device &palette) const +/*************************************************************************** + + Palette + +***************************************************************************/ + +void cop01_base_state::palette(palette_device &palette) const { const uint8_t *color_prom = memregion("proms")->base(); @@ -209,7 +237,7 @@ void cop01_state::palette(palette_device &palette) const ***************************************************************************/ -TILE_GET_INFO_MEMBER(cop01_state::get_bg_tile_info) +TILE_GET_INFO_MEMBER(cop01_base_state::get_bg_tile_info) { int const tile = m_bgvideoram[tile_index]; int const attr = m_bgvideoram[tile_index + 0x800]; @@ -232,7 +260,7 @@ TILE_GET_INFO_MEMBER(cop01_state::get_bg_tile_info) tileinfo.group = pri; } -TILE_GET_INFO_MEMBER(cop01_state::get_fg_tile_info) +TILE_GET_INFO_MEMBER(cop01_base_state::get_fg_tile_info) { int const tile = m_fgvideoram[tile_index]; tileinfo.set(0, tile, 0, 0); @@ -246,10 +274,10 @@ TILE_GET_INFO_MEMBER(cop01_state::get_fg_tile_info) ***************************************************************************/ -void cop01_state::video_start() +void cop01_base_state::video_start() { - m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(cop01_state::get_bg_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 64, 32); - m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(cop01_state::get_fg_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32); + m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(cop01_base_state::get_bg_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 64, 32); + m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(cop01_base_state::get_fg_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32); m_fg_tilemap->set_transparent_pen(15); @@ -260,56 +288,13 @@ void cop01_state::video_start() -/*************************************************************************** - - Memory handlers - -***************************************************************************/ - -void cop01_state::background_w(offs_t offset, uint8_t data) -{ - m_bgvideoram[offset] = data; - m_bg_tilemap->mark_tile_dirty(offset & 0x7ff); -} - -void cop01_state::foreground_w(offs_t offset, uint8_t data) -{ - m_fgvideoram[offset] = data; - m_fg_tilemap->mark_tile_dirty(offset); -} - -void cop01_state::vreg_w(offs_t offset, uint8_t data) -{ - /* 0x40: --xx---- sprite bank, coin counters, flip screen - * -----x-- flip screen - * ------xx coin counters - * 0x41: xxxxxxxx xscroll - * 0x42: ---xx--- ? matches the bg tile color most of the time, but not - * during level transitions. Maybe sprite palette bank? - * (the four banks in the PROM are identical) - * ------x- unused (xscroll overflow) - * -------x msb xscroll - * 0x43: xxxxxxxx yscroll - */ - m_vreg[offset] = data; - - if (offset == 0) - { - machine().bookkeeping().coin_counter_w(0, data & 1); - machine().bookkeeping().coin_counter_w(1, data & 2); - flip_screen_set(data & 4); - } -} - - - /*************************************************************************** Display refresh ***************************************************************************/ -void cop01_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect) +void cop01_base_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect) { for (int offs = 0; offs < m_spriteram.bytes(); offs += 4) { @@ -347,7 +332,7 @@ void cop01_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect) } -uint32_t cop01_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +uint32_t cop01_base_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { m_bg_tilemap->set_scrollx(0, m_vreg[1] + 256 * (m_vreg[2] & 1)); m_bg_tilemap->set_scrolly(0, m_vreg[3]); @@ -356,34 +341,88 @@ uint32_t cop01_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, draw_sprites(bitmap, cliprect); m_bg_tilemap->draw(screen, bitmap, cliprect, TILEMAP_DRAW_LAYER0, 0); m_fg_tilemap->draw(screen, bitmap, cliprect, 0, 0); + return 0; } + /************************************* * - * Memory handlers + * Sound * *************************************/ +void cop01_state::ay8910_porta_0_w(uint8_t data) +{ +} + +void cop01_state::ay8910_portb_0_w(uint8_t data) +{ + // bit 0 is input to CLR line of the LS74 + m_ls74_clr = data & 1; + m_ls74_q &= m_ls74_clr; +} + +TIMER_DEVICE_CALLBACK_MEMBER(cop01_state::sound_timer) +{ + // assume timing is the same as magmax.cpp + m_ls74_q = m_ls74_clr; +} + uint8_t cop01_state::sound_command_r() { - int res = (m_soundlatch->read() & 0x7f) << 1; + return (m_soundlatch->read() << 1) | m_ls74_q; +} - // bit 0 seems to be a timer - if ((m_audiocpu->total_cycles() / TIMER_RATE) & 1) - { - if (m_pulse == 0) - res |= 1; +uint8_t mightguy_state::sound_command_r() +{ + // does not have the sound timer + return m_soundlatch->read() << 1; +} - m_pulse = 1; - } - else - m_pulse = 0; - return res; + +/************************************* + * + * Memory handlers + * + *************************************/ + +void cop01_base_state::background_w(offs_t offset, uint8_t data) +{ + m_bgvideoram[offset] = data; + m_bg_tilemap->mark_tile_dirty(offset & 0x7ff); } +void cop01_base_state::foreground_w(offs_t offset, uint8_t data) +{ + m_fgvideoram[offset] = data; + m_fg_tilemap->mark_tile_dirty(offset); +} + +void cop01_base_state::vreg_w(offs_t offset, uint8_t data) +{ + /* 0x40: --xx---- sprite bank, coin counters, flip screen + * -----x-- flip screen + * ------xx coin counters + * 0x41: xxxxxxxx xscroll + * 0x42: ---xx--- ? matches the bg tile color most of the time, but not + * during level transitions. Maybe sprite palette bank? + * (the four banks in the PROM are identical) + * ------x- unused (xscroll overflow) + * -------x msb xscroll + * 0x43: xxxxxxxx yscroll + */ + m_vreg[offset] = data; + + if (offset == 0) + { + machine().bookkeeping().coin_counter_w(0, data & 1); + machine().bookkeeping().coin_counter_w(1, data & 2); + flip_screen_set(data & 4); + } +} template int mightguy_state::area_r() @@ -391,16 +430,12 @@ int mightguy_state::area_r() return (m_fake->read() & Mask) ? 1 : 0; } -void cop01_state::irq_ack_w(uint8_t data) +void cop01_base_state::irq_ack_w(uint8_t data) { m_maincpu->set_input_line(0, CLEAR_LINE); } -uint8_t cop01_state::sound_irq_ack_w() -{ - m_audiocpu->set_input_line(0, CLEAR_LINE); - return 0; -} + /************************************* * @@ -408,16 +443,16 @@ uint8_t cop01_state::sound_irq_ack_w() * *************************************/ -void cop01_state::main_map(address_map &map) +void cop01_base_state::main_map(address_map &map) { map(0x0000, 0xbfff).rom(); map(0xc000, 0xcfff).ram(); // c000-c7ff in cop01 - map(0xd000, 0xdfff).ram().w(FUNC(cop01_state::background_w)).share(m_bgvideoram); + map(0xd000, 0xdfff).ram().w(FUNC(cop01_base_state::background_w)).share(m_bgvideoram); map(0xe000, 0xe0ff).writeonly().share(m_spriteram); - map(0xf000, 0xf3ff).w(FUNC(cop01_state::foreground_w)).share(m_fgvideoram); + map(0xf000, 0xf3ff).w(FUNC(cop01_base_state::foreground_w)).share(m_fgvideoram); } -void cop01_state::io_map(address_map &map) +void cop01_base_state::io_map(address_map &map) { map.global_mask(0xff); map(0x00, 0x00).portr("P1"); @@ -425,24 +460,24 @@ void cop01_state::io_map(address_map &map) map(0x02, 0x02).portr("SYSTEM"); map(0x03, 0x03).portr("DSW1"); map(0x04, 0x04).portr("DSW2"); - map(0x40, 0x43).w(FUNC(cop01_state::vreg_w)); + map(0x40, 0x43).w(FUNC(cop01_base_state::vreg_w)); map(0x44, 0x44).w(m_soundlatch, FUNC(generic_latch_8_device::write)); - map(0x45, 0x45).w(FUNC(cop01_state::irq_ack_w)); // ? + map(0x45, 0x45).w(FUNC(cop01_base_state::irq_ack_w)); // ? } -void cop01_state::sound_map(address_map &map) +void cop01_base_state::sound_map(address_map &map) { map(0x0000, 0x7fff).rom(); - map(0x8000, 0x8000).r(FUNC(cop01_state::sound_irq_ack_w)); + map(0x8000, 0x8000).rw(m_soundlatch, FUNC(generic_latch_8_device::acknowledge_r), FUNC(generic_latch_8_device::acknowledge_w)); map(0xc000, 0xc7ff).ram(); } void cop01_state::audio_io_map(address_map &map) { map.global_mask(0xff); - map(0x00, 0x01).w("ay1", FUNC(ay8910_device::address_data_w)); - map(0x02, 0x03).w("ay2", FUNC(ay8910_device::address_data_w)); - map(0x04, 0x05).w("ay3", FUNC(ay8910_device::address_data_w)); + map(0x00, 0x01).w(m_ay[0], FUNC(ay8910_device::address_data_w)); + map(0x02, 0x03).w(m_ay[1], FUNC(ay8910_device::address_data_w)); + map(0x04, 0x05).w(m_ay[2], FUNC(ay8910_device::address_data_w)); map(0x06, 0x06).r(FUNC(cop01_state::sound_command_r)); } @@ -680,15 +715,21 @@ GFXDECODE_END * *************************************/ -void cop01_state::machine_start() +void cop01_base_state::machine_start() { - save_item(NAME(m_pulse)); save_item(NAME(m_vreg)); } -void cop01_state::machine_reset() +void cop01_state::machine_start() +{ + cop01_base_state::machine_start(); + + save_item(NAME(m_ls74_q)); + save_item(NAME(m_ls74_clr)); +} + +void cop01_base_state::machine_reset() { - m_pulse = 0; m_vreg[0] = 0; m_vreg[1] = 0; m_vreg[2] = 0; @@ -696,19 +737,18 @@ void cop01_state::machine_reset() } -void cop01_state::cop01_base(machine_config &config) +void cop01_base_state::cop01_base(machine_config &config) { - constexpr XTAL MAINCPU_CLOCK = XTAL(12'000'000); - // basic machine hardware - Z80(config, m_maincpu, MAINCPU_CLOCK / 2); // unknown clock / divider - m_maincpu->set_addrmap(AS_PROGRAM, &cop01_state::main_map); - m_maincpu->set_addrmap(AS_IO, &cop01_state::io_map); - m_maincpu->set_vblank_int("screen", FUNC(cop01_state::irq0_line_assert)); + Z80(config, m_maincpu, 12_MHz_XTAL / 2); // unknown divider + m_maincpu->set_addrmap(AS_PROGRAM, &cop01_base_state::main_map); + m_maincpu->set_addrmap(AS_IO, &cop01_base_state::io_map); + m_maincpu->set_vblank_int("screen", FUNC(cop01_base_state::irq0_line_assert)); - Z80(config, m_audiocpu, XTAL(3'000'000)); // unknown clock / divider, hand-tuned to match audio reference - m_audiocpu->set_addrmap(AS_PROGRAM, &cop01_state::sound_map); - m_audiocpu->set_addrmap(AS_IO, &cop01_state::audio_io_map); + Z80(config, m_audiocpu, 20_MHz_XTAL / 8); // matches audio reference + m_audiocpu->set_addrmap(AS_PROGRAM, &cop01_base_state::sound_map); + + config.set_maximum_quantum(attotime::from_hz(600)); // video hardware screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); @@ -716,40 +756,47 @@ void cop01_state::cop01_base(machine_config &config) screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); screen.set_size(32*8, 32*8); screen.set_visarea(0*8, 32*8-1, 2*8, 30*8-1); - screen.set_screen_update(FUNC(cop01_state::screen_update)); + screen.set_screen_update(FUNC(cop01_base_state::screen_update)); screen.set_palette(m_palette); GFXDECODE(config, m_gfxdecode, m_palette, gfx_cop01); - PALETTE(config, m_palette, FUNC(cop01_state::palette), 16+8*16+16*16, 256); + PALETTE(config, m_palette, FUNC(cop01_base_state::palette), 16+8*16+16*16, 256); // sound hardware SPEAKER(config, "mono").front_center(); GENERIC_LATCH_8(config, m_soundlatch).data_pending_callback().set_inputline(m_audiocpu, 0); + m_soundlatch->set_separate_acknowledge(true); } void cop01_state::cop01(machine_config &config) { cop01_base(config); - AY8910(config, "ay1", 1250000).add_route(ALL_OUTPUTS, "mono", 0.50); // unknown clock / divider, hand-tuned to match audio reference - AY8910(config, "ay2", 1250000).add_route(ALL_OUTPUTS, "mono", 0.25); // " - AY8910(config, "ay3", 1250000).add_route(ALL_OUTPUTS, "mono", 0.25); // " + // sound hardware + m_audiocpu->set_addrmap(AS_IO, &cop01_state::audio_io_map); + + AY8910(config, m_ay[0], 20_MHz_XTAL / 16).add_route(ALL_OUTPUTS, "mono", 0.25); + m_ay[0]->port_a_write_callback().set(FUNC(cop01_state::ay8910_porta_0_w)); + m_ay[0]->port_b_write_callback().set(FUNC(cop01_state::ay8910_portb_0_w)); + + AY8910(config, m_ay[1], 20_MHz_XTAL / 16).add_route(ALL_OUTPUTS, "mono", 0.25); + AY8910(config, m_ay[2], 20_MHz_XTAL / 16).add_route(ALL_OUTPUTS, "mono", 0.25); + + TIMER(config, "sound_timer").configure_scanline(FUNC(cop01_state::sound_timer), "screen", 64, 128); } void mightguy_state::mightguy(machine_config &config) { cop01_base(config); - constexpr XTAL AUDIOCPU_CLOCK = XTAL(8'000'000); - - m_audiocpu->set_clock(AUDIOCPU_CLOCK / 2); // unknown divider + // sound hardware m_audiocpu->set_addrmap(AS_IO, &mightguy_state::audio_io_map); - NB1412M2(config, m_prot, XTAL(8'000'000) / 2); // divided by 2 maybe + NB1412M2(config, m_prot, 8_MHz_XTAL / 2); // divided by 2 maybe m_prot->dac_callback().set("dac", FUNC(dac_byte_interface::data_w)); - YM3526(config, "ymsnd", AUDIOCPU_CLOCK / 2).add_route(ALL_OUTPUTS, "mono", 1.0); // unknown divider + YM3526(config, "ymsnd", 8_MHz_XTAL / 2).add_route(ALL_OUTPUTS, "mono", 1.0); DAC_8BIT_R2R(config, "dac", 0).add_route(ALL_OUTPUTS, "mono", 0.5); // unknown DAC } diff --git a/src/mame/nichibutsu/dacholer.cpp b/src/mame/nichibutsu/dacholer.cpp index f091f155480da..fa452df0f4ffe 100644 --- a/src/mame/nichibutsu/dacholer.cpp +++ b/src/mame/nichibutsu/dacholer.cpp @@ -33,11 +33,13 @@ ******************************************************************************/ #include "emu.h" + #include "cpu/z80/z80.h" #include "machine/gen_latch.h" #include "sound/msm5205.h" #include "sound/ay8910.h" #include "video/resnet.h" + #include "emupal.h" #include "screen.h" #include "speaker.h" @@ -308,7 +310,7 @@ void dacholer_state::snd_ack_w(uint8_t data) int dacholer_state::snd_ack_r() { - return m_snd_ack; //guess ... + return m_snd_ack; // guess ... } void dacholer_state::snd_irq_w(uint8_t data) diff --git a/src/mame/nichibutsu/galivan.cpp b/src/mame/nichibutsu/galivan.cpp index 319b241400442..9b296f4330c3c 100644 --- a/src/mame/nichibutsu/galivan.cpp +++ b/src/mame/nichibutsu/galivan.cpp @@ -1197,11 +1197,17 @@ void galivan_state::common(machine_config &config) Sum: 0.67015 Multiply all 3 values by 1 / 0.67015 (i.e. 1.492203): Final values are: ym: 0.492203; dac1: 0.209505; dac2: 0.298291 */ - FILTER_BIQUAD(config, m_ymfilter).opamp_sk_lowpass_setup(RES_K(4.7), RES_K(4.7), RES_M(999.99), RES_R(0.001), CAP_N(3.3), CAP_N(1.0)); // R15, R14, nothing(infinite resistance), wire(short), C9, C11 + + // R15, R14, nothing(infinite resistance), wire(short), C9, C11 + FILTER_BIQUAD(config, m_ymfilter).opamp_sk_lowpass_setup(RES_K(4.7), RES_K(4.7), RES_M(999.99), RES_R(0.001), CAP_N(3.3), CAP_N(1.0)); m_ymfilter->add_route(ALL_OUTPUTS, "speaker", 1.0); - FILTER_BIQUAD(config, m_dacfilter1).opamp_sk_lowpass_setup(RES_K(10), RES_K(10), RES_M(999.99), RES_R(0.001), CAP_N(10), CAP_N(4.7)); // R11, R10, nothing(infinite resistance), wire(short), C7, C17 + + // R11, R10, nothing(infinite resistance), wire(short), C7, C17 + FILTER_BIQUAD(config, m_dacfilter1).opamp_sk_lowpass_setup(RES_K(10), RES_K(10), RES_M(999.99), RES_R(0.001), CAP_N(10), CAP_N(4.7)); m_dacfilter1->add_route(ALL_OUTPUTS, "speaker", 1.0); - FILTER_BIQUAD(config, m_dacfilter2).opamp_sk_lowpass_setup(RES_K(10), RES_K(10), RES_M(999.99), RES_R(0.001), CAP_N(10), CAP_N(4.7)); // R13, R12, nothing(infinite resistance), wire(short), C8, C18 + + // R13, R12, nothing(infinite resistance), wire(short), C8, C18 + FILTER_BIQUAD(config, m_dacfilter2).opamp_sk_lowpass_setup(RES_K(10), RES_K(10), RES_M(999.99), RES_R(0.001), CAP_N(10), CAP_N(4.7)); m_dacfilter2->add_route(ALL_OUTPUTS, "speaker", 1.0); YM3526(config, "ymsnd", XTAL(8'000'000) / 2).add_route(ALL_OUTPUTS, m_ymfilter, 0.4922); diff --git a/src/mame/nichibutsu/jangou.cpp b/src/mame/nichibutsu/jangou.cpp index 070f9a598bbf6..c53c7cb994f82 100644 --- a/src/mame/nichibutsu/jangou.cpp +++ b/src/mame/nichibutsu/jangou.cpp @@ -590,7 +590,7 @@ static INPUT_PORTS_START( jangou ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW1:6") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") // guess + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // guess PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("blitter", FUNC(jangou_blitter_device::status_r)) INPUT_PORTS_END @@ -648,7 +648,7 @@ static INPUT_PORTS_START( macha ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:6") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") // guess + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // guess PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("blitter", FUNC(jangou_blitter_device::status_r)) INPUT_PORTS_END @@ -770,7 +770,7 @@ static INPUT_PORTS_START( jngolady ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW1:6") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("blitter", FUNC(jangou_blitter_device::status_r)) INPUT_PORTS_END diff --git a/src/mame/nichibutsu/magmax.cpp b/src/mame/nichibutsu/magmax.cpp index 72f78b7bc0f3b..d9e9827e1e9cf 100644 --- a/src/mame/nichibutsu/magmax.cpp +++ b/src/mame/nichibutsu/magmax.cpp @@ -32,6 +32,7 @@ Stephh's notes (based on the game M68000 code and some tests) : #include "cpu/z80/z80.h" #include "machine/gen_latch.h" #include "machine/rescap.h" +#include "machine/timer.h" #include "sound/ay8910.h" #include "sound/flt_biquad.h" #include "sound/mixer.h" @@ -79,7 +80,6 @@ class magmax_state : public driver_device protected: virtual void machine_start() override ATTR_COLD; - virtual void machine_reset() override ATTR_COLD; virtual void video_start() override ATTR_COLD; private: @@ -102,7 +102,6 @@ class magmax_state : public driver_device uint8_t m_ls74_clr = 0; uint8_t m_ls74_q = 0; uint8_t m_gain_control = 0; - emu_timer *m_interrupt_timer = nullptr; uint8_t m_flipscreen = 0; std::unique_ptr m_prom_tab; bitmap_ind16 m_bitmap; @@ -115,7 +114,7 @@ class magmax_state : public driver_device void palette(palette_device &palette) const; uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - TIMER_CALLBACK_MEMBER(scanline_callback); + TIMER_DEVICE_CALLBACK_MEMBER(sound_timer); void main_map(address_map &map) ATTR_COLD; void sound_io_map(address_map &map) ATTR_COLD; @@ -136,6 +135,7 @@ class magmax_state : public driver_device bit 0 -- 2.2kohm resistor -- RED/GREEN/BLUE ***************************************************************************/ + void magmax_state::palette(palette_device &palette) const { const uint8_t *color_prom = memregion("proms")->base(); @@ -233,10 +233,10 @@ uint32_t magmax_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap uint32_t const prom_data = m_prom_tab[(ls283 >> 6) & 0xff]; rom18d_addr &= 0x20f8; - rom18d_addr += (prom_data & 0x1f00) + ((ls283 & 0x38) >>3); + rom18d_addr += (prom_data & 0x1f00) + ((ls283 & 0x38) >> 3); rom15f_addr &= 0x201c; - rom15f_addr += (m_rom18b[0x4000 + rom18d_addr]<<5) + ((ls283 & 0x6)>>1); + rom15f_addr += (m_rom18b[0x4000 + rom18d_addr] << 5) + ((ls283 & 0x6) >> 1); rom15f_addr += (prom_data & 0x4000); uint32_t const graph_color = (prom_data & 0x0070); @@ -249,7 +249,7 @@ uint32_t magmax_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap line_data[h] = pen_base + graph_color + graph_data; // priority: background over sprites - if (map_v_scr_100 && ((graph_data & 0x0c)==0x0c)) + if (map_v_scr_100 && ((graph_data & 0x0c) == 0x0c)) m_bitmap.pix(v, h) = line_data[h]; } @@ -346,88 +346,71 @@ void magmax_state::ay8910_portb_0_w(uint8_t data) { // bit 0 is input to CLR line of the LS74 m_ls74_clr = data & 1; - if (m_ls74_clr == 0) - m_ls74_q = 0; + m_ls74_q &= m_ls74_clr; } -TIMER_CALLBACK_MEMBER(magmax_state::scanline_callback) +TIMER_DEVICE_CALLBACK_MEMBER(magmax_state::sound_timer) { - int scanline = param; - /* bit 0 goes hi whenever line V6 from video part goes lo->hi that is when scanline is 64 and 192 accordingly */ - if (m_ls74_clr != 0) - m_ls74_q = 1; - - scanline += 128; - scanline &= 255; - - m_interrupt_timer->adjust(m_screen->time_until_pos(scanline), scanline); + m_ls74_q = m_ls74_clr; } void magmax_state::machine_start() { - // Create interrupt timer - m_interrupt_timer = timer_alloc(FUNC(magmax_state::scanline_callback), this); - // Set up save state save_item(NAME(m_ls74_clr)); save_item(NAME(m_ls74_q)); save_item(NAME(m_gain_control)); } -void magmax_state::machine_reset() -{ - m_interrupt_timer->adjust(m_screen->time_until_pos(64), 64); -} - void magmax_state::ay8910_porta_0_w(uint8_t data) { -/*There are three AY8910 chips and four(!) separate amplifiers on the board -* Each of AY channels is hardware mapped in following way: -* amplifier 0 gain x 1.00 <- AY0 CHA -* amplifier 1 gain x 1.00 <- AY0 CHB + AY0 CHC + AY1 CHA + AY1 CHB -* amplifier 2 gain x 4.54 (150K/33K) <- AY1 CHC + AY2 CHA -* amplifier 3 gain x 4.54 (150K/33K) <- AY2 CHB + AY2 CHC -* -* Each of the amps has its own analog circuit: -* amp0, amp1 and amp2 are different from each other; amp3 is the same as amp2 -* -* Outputs of those amps are inputs to post amps, each having own circuit -* that is partially controlled by AY #0 port A. -* PORT A BIT 0 - control postamp 0 (gain x10.0 | gain x 5.00) -* PORT A BIT 1 - control postamp 1 (gain x4.54 | gain x 2.27) -* PORT A BIT 2 - control postamp 2 (gain x1.00 | gain x 0.50) -* PORT A BIT 3 - control postamp 3 (gain x1.00 | gain x 0.50) -* -* The "control" means assert/clear input pins on chip called 4066 (it is analog switch) -* which results in volume gain (exactly 2 times). -* I use set_output_gain() to emulate the effect. - -gain summary: -port A control ON OFF -amp0 = *1*10.0=10.0 *1*5.0 = 5.0 -amp1 = *1*4.54=4.54 *1*2.27 = 2.27 -amp2 = *4.54*1=4.54 *4.54*0.5= 2.27 -amp3 = *4.54*1=4.54 *4.54*0.5= 2.27 -*/ - -/* -bit0 - SOUND Chan#0 name=AY-3-8910 #0 Ch A - -bit1 - SOUND Chan#1 name=AY-3-8910 #0 Ch B -bit1 - SOUND Chan#2 name=AY-3-8910 #0 Ch C -bit1 - SOUND Chan#3 name=AY-3-8910 #1 Ch A -bit1 - SOUND Chan#4 name=AY-3-8910 #1 Ch B - -bit2 - SOUND Chan#5 name=AY-3-8910 #1 Ch C -bit2 - SOUND Chan#6 name=AY-3-8910 #2 Ch A - -bit3 - SOUND Chan#7 name=AY-3-8910 #2 Ch B -bit3 - SOUND Chan#8 name=AY-3-8910 #2 Ch C -*/ + /* There are three AY8910 chips and four(!) separate amplifiers on the board + * Each of AY channels is hardware mapped in following way: + * amplifier 0 gain x 1.00 <- AY0 CHA + * amplifier 1 gain x 1.00 <- AY0 CHB + AY0 CHC + AY1 CHA + AY1 CHB + * amplifier 2 gain x 4.54 (150K/33K) <- AY1 CHC + AY2 CHA + * amplifier 3 gain x 4.54 (150K/33K) <- AY2 CHB + AY2 CHC + * + * Each of the amps has its own analog circuit: + * amp0, amp1 and amp2 are different from each other; amp3 is the same as amp2 + * + * Outputs of those amps are inputs to post amps, each having own circuit + * that is partially controlled by AY #0 port A. + * PORT A BIT 0 - control postamp 0 (gain x10.0 | gain x 5.00) + * PORT A BIT 1 - control postamp 1 (gain x4.54 | gain x 2.27) + * PORT A BIT 2 - control postamp 2 (gain x1.00 | gain x 0.50) + * PORT A BIT 3 - control postamp 3 (gain x1.00 | gain x 0.50) + * + * The "control" means assert/clear input pins on chip called 4066 (it is analog switch) + * which results in volume gain (exactly 2 times). + * I use set_output_gain() to emulate the effect. + + gain summary: + port A control ON OFF + amp0 = *1*10.0=10.0 *1*5.0 = 5.0 + amp1 = *1*4.54=4.54 *1*2.27 = 2.27 + amp2 = *4.54*1=4.54 *4.54*0.5= 2.27 + amp3 = *4.54*1=4.54 *4.54*0.5= 2.27 + */ + + /* + bit0 - SOUND Chan#0 name=AY-3-8910 #0 Ch A + + bit1 - SOUND Chan#1 name=AY-3-8910 #0 Ch B + bit1 - SOUND Chan#2 name=AY-3-8910 #0 Ch C + bit1 - SOUND Chan#3 name=AY-3-8910 #1 Ch A + bit1 - SOUND Chan#4 name=AY-3-8910 #1 Ch B + + bit2 - SOUND Chan#5 name=AY-3-8910 #1 Ch C + bit2 - SOUND Chan#6 name=AY-3-8910 #2 Ch A + + bit3 - SOUND Chan#7 name=AY-3-8910 #2 Ch B + bit3 - SOUND Chan#8 name=AY-3-8910 #2 Ch C + */ if (m_gain_control == (data & 0x0f)) return; @@ -436,11 +419,13 @@ bit3 - SOUND Chan#8 name=AY-3-8910 #2 Ch C LOGGAINCTRL("gain_ctrl = %2x", data & 0x0f); - const double mix_resistors[4] = { RES_K(1.0), RES_K(2.2), RES_K(10.0), RES_K(10.0) }; // R35, R33, R32, R34 for (int i = 0; i < 4; i++) { - // RES_K(5) == (1.0 / ((1.0 / RES_K(10)) + (1.0 / RES_K(10)))) because of the optional extra 10k in parallel in each inverting amplifier circuit - // the total max number of output gain 'units' of all 4 inputs is 10 + 10/2.2 + 1 + 1 = 16.545454, so we divide the gain amount by this number so we don't clip + const double mix_resistors[4] = { RES_K(1.0), RES_K(2.2), RES_K(10.0), RES_K(10.0) }; // R35, R33, R32, R34 + + // RES_K(5) == (1.0 / ((1.0 / RES_K(10)) + (1.0 / RES_K(10)))) because of the optional extra 10k in parallel in each inverting amplifier circuit. + // The total max number of output gain 'units' of all 4 inputs is 10 + 10/2.2 + 1 + 1 = 16.545454, + // so we divide the gain amount by this number so we don't clip. m_ayfilter[i]->set_output_gain(0, (-1.0 * (((m_gain_control & (1 << i)) ? RES_K(10) : RES_K(5)) / mix_resistors[i] )) / 16.545454); //m_ayfilter[i]->set_output_gain(0, (m_gain_control & (1 << i)) ? 1.0 : 0.5); } @@ -595,7 +580,7 @@ GFXDECODE_END void magmax_state::magmax(machine_config &config) { // basic machine hardware - M68000(config, m_maincpu, XTAL(16'000'000) / 2); // verified on PCB + M68000(config, m_maincpu, XTAL(16'000'000) / 2); // verified on PCB m_maincpu->set_addrmap(AS_PROGRAM, &magmax_state::main_map); m_maincpu->set_vblank_int("screen", FUNC(magmax_state::irq1_line_assert)); @@ -605,7 +590,6 @@ void magmax_state::magmax(machine_config &config) config.set_maximum_quantum(attotime::from_hz(600)); - // video hardware SCREEN(config, m_screen, SCREEN_TYPE_RASTER); m_screen->set_refresh_hz(60); @@ -620,13 +604,20 @@ void magmax_state::magmax(machine_config &config) // sound hardware SPEAKER(config, "speaker").front_center(); - FILTER_BIQUAD(config, m_ayfilter[0]).opamp_sk_lowpass_setup(RES_K(10), RES_K(10), RES_M(999.99), RES_R(0.001), CAP_N(22), CAP_N(10)); // R22, R23, nothing(infinite resistance), wire(short), C16, C19 + // R22, R23, nothing(infinite resistance), wire(short), C16, C19 + FILTER_BIQUAD(config, m_ayfilter[0]).opamp_sk_lowpass_setup(RES_K(10), RES_K(10), RES_M(999.99), RES_R(0.001), CAP_N(22), CAP_N(10)); m_ayfilter[0]->add_route(ALL_OUTPUTS, "speaker", 1.0); // <- gain here is controlled by m_ay[0] IOA0 and resistor R35 - FILTER_BIQUAD(config, m_ayfilter[1]).opamp_sk_lowpass_setup(RES_K(4.7), RES_K(4.7), RES_M(999.99), RES_R(0.001), CAP_N(10), CAP_N(4.7)); // R26, R27, nothing(infinite resistance), wire(short), C18, C14 + + // R26, R27, nothing(infinite resistance), wire(short), C18, C14 + FILTER_BIQUAD(config, m_ayfilter[1]).opamp_sk_lowpass_setup(RES_K(4.7), RES_K(4.7), RES_M(999.99), RES_R(0.001), CAP_N(10), CAP_N(4.7)); m_ayfilter[1]->add_route(ALL_OUTPUTS, "speaker", 1.0); // <- gain here is controlled by m_ay[0] IOA1 and resistor R33 - FILTER_BIQUAD(config, m_ayfilter[2]).opamp_mfb_lowpass_setup(RES_K(33), 0.0, RES_K(150), 0.0, CAP_P(330)); // R24, wire(short), R28, wire(short), C22 + + // R24, wire(short), R28, wire(short), C22 + FILTER_BIQUAD(config, m_ayfilter[2]).opamp_mfb_lowpass_setup(RES_K(33), 0.0, RES_K(150), 0.0, CAP_P(330)); m_ayfilter[2]->add_route(ALL_OUTPUTS, "speaker", 1.0); // <- gain here is controlled by m_ay[0] IOA2 and resistor R32 - FILTER_BIQUAD(config, m_ayfilter[3]).opamp_mfb_lowpass_setup(RES_K(33), 0.0, RES_K(150), 0.0, CAP_P(330)); // R25, wire(short), R31, wire(short), C23 + + // R25, wire(short), R31, wire(short), C23 + FILTER_BIQUAD(config, m_ayfilter[3]).opamp_mfb_lowpass_setup(RES_K(33), 0.0, RES_K(150), 0.0, CAP_P(330)); m_ayfilter[3]->add_route(ALL_OUTPUTS, "speaker", 1.0); // <- gain here is controlled by m_ay[0] IOA3 and resistor R34 MIXER(config, m_aymixer[0]).add_route(0, m_ayfilter[1], 1.0); @@ -653,6 +644,8 @@ void magmax_state::magmax(machine_config &config) GENERIC_LATCH_8(config, m_soundlatch); m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, 0); m_soundlatch->set_separate_acknowledge(true); + + TIMER(config, "sound_timer").configure_scanline(FUNC(magmax_state::sound_timer), "screen", 64, 128); } diff --git a/src/mame/nichibutsu/nb1413m3.cpp b/src/mame/nichibutsu/nb1413m3.cpp index d0d1e7d90a9c8..7fb227deb748e 100644 --- a/src/mame/nichibutsu/nb1413m3.cpp +++ b/src/mame/nichibutsu/nb1413m3.cpp @@ -635,7 +635,8 @@ void nb1413m3_device::vcrctrl_w(uint8_t data) } } -/* Nichibutsu Mahjong games share a common control panel */ +// Nichibutsu Mahjong games share a common control panel +// The bit order is the opposite of Dynax/IGS INPUT_PORTS_START( nbmjcontrols ) PORT_START("KEY0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 ) diff --git a/src/mame/nichibutsu/terracre.cpp b/src/mame/nichibutsu/terracre.cpp index 463d71312d216..fd7e4d275f402 100644 --- a/src/mame/nichibutsu/terracre.cpp +++ b/src/mame/nichibutsu/terracre.cpp @@ -2,6 +2,7 @@ // copyright-holders: Carlos A. Lozano /****************************************************************** + Terra Cresta (preliminary) Nichibutsu 1985 68000 + Z80 @@ -79,6 +80,7 @@ AT-2 2148 2148 2148 2148 1 2 3 6116 22MHz + */ #include "emu.h" @@ -784,14 +786,20 @@ void terracre_state::ym3526(machine_config &config) // Sum: 0.796296 // Multiply all 3 values by 1 / 0.796296 (i.e. 1.255814): // Final values are: ym: 0.255814; dac1: 0.232558; dac2: 0.511628) - FILTER_BIQUAD(config, m_ymfilter).opamp_sk_lowpass_setup(RES_K(4.7), RES_K(4.7), RES_M(999.99), RES_R(0.001), CAP_N(3.3), CAP_N(1.0)); // R10, R11, nothing(infinite resistance), wire(short), C11, C12 + + // R10, R11, nothing(infinite resistance), wire(short), C11, C12 + FILTER_BIQUAD(config, m_ymfilter).opamp_sk_lowpass_setup(RES_K(4.7), RES_K(4.7), RES_M(999.99), RES_R(0.001), CAP_N(3.3), CAP_N(1.0)); m_ymfilter->add_route(ALL_OUTPUTS, "speaker", 1.0); - FILTER_BIQUAD(config, m_dacfilter1).opamp_sk_lowpass_setup(RES_K(22), RES_K(22), RES_M(999.99), RES_R(0.001), CAP_N(10), CAP_N(4.7)); // R17, R18, nothing(infinite resistance), wire(short), C19, C17 + + // R17, R18, nothing(infinite resistance), wire(short), C19, C17 + FILTER_BIQUAD(config, m_dacfilter1).opamp_sk_lowpass_setup(RES_K(22), RES_K(22), RES_M(999.99), RES_R(0.001), CAP_N(10), CAP_N(4.7)); m_dacfilter1->add_route(ALL_OUTPUTS, "speaker", 1.0); - FILTER_BIQUAD(config, m_dacfilter2).opamp_sk_lowpass_setup(RES_K(22), RES_K(22), RES_M(999.99), RES_R(0.001), CAP_N(10), CAP_N(4.7)); // R16, R15, nothing(infinite resistance), wire(short), C18, C21 + + // R16, R15, nothing(infinite resistance), wire(short), C18, C21 + FILTER_BIQUAD(config, m_dacfilter2).opamp_sk_lowpass_setup(RES_K(22), RES_K(22), RES_M(999.99), RES_R(0.001), CAP_N(10), CAP_N(4.7)); m_dacfilter2->add_route(ALL_OUTPUTS, "speaker", 1.0); - YM3526(config, "ymsnd", XTAL(16'000'000) / 4).add_route(ALL_OUTPUTS, m_ymfilter, 0.2558); // 4MHz verified on PCB + YM3526(config, "ymsnd", XTAL(16'000'000) / 4).add_route(ALL_OUTPUTS, m_ymfilter, 0.2558); // 4MHz verified on PCB DAC_8BIT_R2R(config, "dac1", 0).add_route(ALL_OUTPUTS, m_dacfilter1, 0.2326); // SIP R2R DAC @ RA-1 with 74HC374P latch DAC_8BIT_R2R(config, "dac2", 0).add_route(ALL_OUTPUTS, m_dacfilter2, 0.5116); // SIP R2R DAC @ RA-2 with 74HC374P latch @@ -830,11 +838,17 @@ void terracre_state::ym2203(machine_config &config) // Sum: 0.7245 // Multiply all 5 values by 1 / 0.7245 (i.e. 1.380): // ym: 0.2415; dac1: 0.2196; dac2: 0.4830, ssgA+B: 0.0222; ssgC: 0.0337 - FILTER_BIQUAD(config, m_ymfilter).opamp_sk_lowpass_setup(RES_K(4.7), RES_K(4.7), RES_M(999.99), RES_R(0.001), CAP_N(3.3), CAP_N(1.0)); // R10, R11, nothing(infinite resistance), wire(short), C11, C12 + + // R10, R11, nothing(infinite resistance), wire(short), C11, C12 + FILTER_BIQUAD(config, m_ymfilter).opamp_sk_lowpass_setup(RES_K(4.7), RES_K(4.7), RES_M(999.99), RES_R(0.001), CAP_N(3.3), CAP_N(1.0)); m_ymfilter->add_route(ALL_OUTPUTS, "speaker", 1.0); - FILTER_BIQUAD(config, m_dacfilter1).opamp_sk_lowpass_setup(RES_K(22), RES_K(22), RES_M(999.99), RES_R(0.001), CAP_N(10), CAP_N(4.7)); // R17, R18, nothing(infinite resistance), wire(short), C19, C17 + + // R17, R18, nothing(infinite resistance), wire(short), C19, C17 + FILTER_BIQUAD(config, m_dacfilter1).opamp_sk_lowpass_setup(RES_K(22), RES_K(22), RES_M(999.99), RES_R(0.001), CAP_N(10), CAP_N(4.7)); m_dacfilter1->add_route(ALL_OUTPUTS, "speaker", 1.0); - FILTER_BIQUAD(config, m_dacfilter2).opamp_sk_lowpass_setup(RES_K(22), RES_K(22), RES_M(999.99), RES_R(0.001), CAP_N(10), CAP_N(4.7)); // R16, R15, nothing(infinite resistance), wire(short), C18, C21 + + // R16, R15, nothing(infinite resistance), wire(short), C18, C21 + FILTER_BIQUAD(config, m_dacfilter2).opamp_sk_lowpass_setup(RES_K(22), RES_K(22), RES_M(999.99), RES_R(0.001), CAP_N(10), CAP_N(4.7)); m_dacfilter2->add_route(ALL_OUTPUTS, "speaker", 1.0); //TODO: the ym2203 sub-board has a complicated and convoluted enough set of analog @@ -847,17 +861,20 @@ void terracre_state::ym2203(machine_config &config) // unconventional way. // This filter is a differential amplifier, with no real cutoff, and a gain of -2.127 - FILTER_BIQUAD(config, m_ssgfilter_cgain).opamp_mfb_lowpass_setup(RES_K(4.7), 0.0, RES_K(10), 0.0, CAP_N(22)/100.0); // YR12, N/A(short), YR15, N/A(unpopulated), (parasitic capacitance from YC3) + // YR12, N/A(short), YR15, N/A(unpopulated), (parasitic capacitance from YC3) + FILTER_BIQUAD(config, m_ssgfilter_cgain).opamp_mfb_lowpass_setup(RES_K(4.7), 0.0, RES_K(10), 0.0, CAP_N(22)/100.0); m_ssgfilter_cgain->add_route(ALL_OUTPUTS, "speaker", 1.0); // This filter is a 2nd order sallen-key lowpass, unity gain. - FILTER_BIQUAD(config, m_ssgfilter_cfilt).opamp_sk_lowpass_setup(RES_K(10), RES_K(10), RES_M(999.99), RES_R(0.001), CAP_N(22), CAP_N(10)); // YR3, YR5, nothing(infinite resistance), wire(short), YC3, YC6 + // YR3, YR5, nothing(infinite resistance), wire(short), YC3, YC6 + FILTER_BIQUAD(config, m_ssgfilter_cfilt).opamp_sk_lowpass_setup(RES_K(10), RES_K(10), RES_M(999.99), RES_R(0.001), CAP_N(22), CAP_N(10)); m_ssgfilter_cfilt->add_route(ALL_OUTPUTS, m_ssgfilter_cgain, 1.0); // This filter is a differential amplifier, with no real cutoff, and a gain of -4.5454 // Technically it was probably intended as first order MFB lowpass, but the cap ("YC0") // near/bypassing YR7 was left unpopulated. - FILTER_BIQUAD(config, m_ssgfilter_abgain).opamp_mfb_lowpass_setup(RES_K(33), 0.0, RES_K(150), 0.0, CAP_N(100)/10000.0); // YR8, N/A(short), YR7, N/A(unpopulated), (parasitic capacitance from YC1) + // YR8, N/A(short), YR7, N/A(unpopulated), (parasitic capacitance from YC1) + FILTER_BIQUAD(config, m_ssgfilter_abgain).opamp_mfb_lowpass_setup(RES_K(33), 0.0, RES_K(150), 0.0, CAP_N(100)/10000.0); m_ssgfilter_abgain->add_route(ALL_OUTPUTS, "speaker", 1.0); MIXER(config, m_ssgmixer); diff --git a/src/mame/nintendo/compmahj.cpp b/src/mame/nintendo/compmahj.cpp index 324b69c6db10e..20dde5da2afd5 100644 --- a/src/mame/nintendo/compmahj.cpp +++ b/src/mame/nintendo/compmahj.cpp @@ -96,4 +96,4 @@ ROM_END /* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */ -CONS( 1983, compmahj, 0, 0, compmahj, compmahj, compmahj_state, empty_init, "Nintendo", "Computer Mah-jong Yakuman", MACHINE_IS_SKELETON ) +CONS( 1983, compmahj, 0, 0, compmahj, compmahj, compmahj_state, empty_init, "Nintendo", "Computer Mah-jong Yakuman", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/nintendo/gamecube.cpp b/src/mame/nintendo/gamecube.cpp index b02e30c2d4f20..c3b29075ed3db 100644 --- a/src/mame/nintendo/gamecube.cpp +++ b/src/mame/nintendo/gamecube.cpp @@ -247,7 +247,7 @@ ROM_END //************************************************************************** // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -CONS( 2001, gcjp, 0, 0, gc, gc, gamecube_state, empty_init, "Nintendo", "GameCube (Japan)", MACHINE_IS_SKELETON ) -CONS( 2001, gcus, gcjp, 0, gc, gc, gamecube_state, empty_init, "Nintendo", "GameCube (USA)", MACHINE_IS_SKELETON ) -CONS( 2002, gceu, gcjp, 0, gc, gc, gamecube_state, empty_init, "Nintendo", "GameCube (EUR)", MACHINE_IS_SKELETON ) -CONS( 2002, gcbr, gcjp, 0, gc, gc, gamecube_state, empty_init, "Nintendo", "GameCube (Brazil)", MACHINE_IS_SKELETON ) +CONS( 2001, gcjp, 0, 0, gc, gc, gamecube_state, empty_init, "Nintendo", "GameCube (Japan)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 2001, gcus, gcjp, 0, gc, gc, gamecube_state, empty_init, "Nintendo", "GameCube (USA)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 2002, gceu, gcjp, 0, gc, gc, gamecube_state, empty_init, "Nintendo", "GameCube (EUR)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 2002, gcbr, gcjp, 0, gc, gc, gamecube_state, empty_init, "Nintendo", "GameCube (Brazil)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/nintendo/snesb51.cpp b/src/mame/nintendo/snesb51.cpp index 331a0d44ecef0..d8846b48b73a7 100644 --- a/src/mame/nintendo/snesb51.cpp +++ b/src/mame/nintendo/snesb51.cpp @@ -411,8 +411,8 @@ void snesb51_state::init_fatfurspb() // YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS -GAME( 199?, mk3snes, 0, mk3snes, mk3snes, snesb51_state, init_snes_hirom, ROT0, "bootleg", "Mortal Kombat 3 (SNES bootleg with timer)", MACHINE_IS_SKELETON ) -GAME( 199?, kinstsnes, 0, mk3snes, mk3snes, snesb51_state, init_snes_hirom, ROT0, "bootleg", "Killer Instinct (SNES bootleg with timer)", MACHINE_IS_SKELETON ) -GAME( 1993, snes4sl, 0, snes4sl, snes4sl, snesb51_state, init_snes, ROT0, "bootleg", "SNES 4 Slot arcade switcher", MACHINE_IS_SKELETON ) -GAME( 1994, snes4sln, 0, snes4sln, snes4sl, snesb51_state, init_snes, ROT0, "bootleg", "SNES 4 Slot arcade switcher (NBA Jam)", MACHINE_IS_SKELETON ) -GAME( 199?, fatfurspb, 0, mk3snes, mk3snes, snesb51_state, init_fatfurspb, ROT0, "bootleg", "Fatal Fury Special (SNES bootleg with timer)", MACHINE_IS_SKELETON ) +GAME( 199?, mk3snes, 0, mk3snes, mk3snes, snesb51_state, init_snes_hirom, ROT0, "bootleg", "Mortal Kombat 3 (SNES bootleg with timer)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 199?, kinstsnes, 0, mk3snes, mk3snes, snesb51_state, init_snes_hirom, ROT0, "bootleg", "Killer Instinct (SNES bootleg with timer)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1993, snes4sl, 0, snes4sl, snes4sl, snesb51_state, init_snes, ROT0, "bootleg", "SNES 4 Slot arcade switcher", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1994, snes4sln, 0, snes4sln, snes4sl, snesb51_state, init_snes, ROT0, "bootleg", "SNES 4 Slot arcade switcher (NBA Jam)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 199?, fatfurspb, 0, mk3snes, mk3snes, snesb51_state, init_fatfurspb, ROT0, "bootleg", "Fatal Fury Special (SNES bootleg with timer)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/nmk/nmkmedal.cpp b/src/mame/nmk/nmkmedal.cpp index 8215ceb12b1c8..503aec9330c92 100644 --- a/src/mame/nmk/nmkmedal.cpp +++ b/src/mame/nmk/nmkmedal.cpp @@ -469,12 +469,12 @@ ROM_END } // anonymous namespace -GAME( 1995, drail, 0, drail, trocana, hpierrot_state, empty_init, ROT0, "NTC / NMK", "Dream Rail", MACHINE_IS_SKELETON_MECHANICAL ) // NMK LTD, N.T.C., H07051, V39, TEST2, V07 strings -GAME( 1996, trocana, 0, trocana, trocana, trocana_state, empty_init, ROT0, "NTC / NMK", "Trocana", MACHINE_IS_SKELETON_MECHANICAL ) // NMK LTD, NTC LTD, V96313 strings -GAME( 1996, hpierrot, 0, hpierrot, trocana, hpierrot_state, empty_init, ROT0, "NTC / NMK", "Happy Pierrot", MACHINE_IS_SKELETON_MECHANICAL ) // NTC LTD, NMK LTD, V96821 strings -GAME( 1996, sweethrt, 0, sweethrt, trocana, hpierrot_state, empty_init, ROT0, "NMK", "Sweetheart", MACHINE_IS_SKELETON_MECHANICAL ) // NMK LTD, V96B29° strings -GAME( 1998, draillov, 0, omatsuri, trocana, omatsuri_state, empty_init, ROT0, "NTC / NMK", "Dream Rail Lovely", MACHINE_IS_SKELETON_MECHANICAL ) // LOVELY D_RAIL LOVELY NMK LTD DR_LOLÙ MT155 \T2\V0° V98B27° UPRIGHT_PCB223_150CAP strings -GAME( 1998, plpittashi, 0, omatsuri, trocana, omatsuri_state, empty_init, ROT0, "NMK", "Love Pi Chan (Power Link)", MACHINE_IS_SKELETON_MECHANICAL ) // NMK LTD, V98622°, LOVE PI, CHAN strings (title taken from string, very probably wrong) -GAME( 1998, sluster2, 0, drail, trocana, hpierrot_state, empty_init, ROT0, "NMK", "Super Luster II", MACHINE_IS_SKELETON_MECHANICAL ) // NMK LTD, H10072,·V040P, V98727 strings -GAME( 1999, omatsuri, 0, omatsuri, trocana, omatsuri_state, empty_init, ROT0, "NMK / Sega", "Shimura Ken no Bakatono-sama Ooedomatsuri", MACHINE_IS_SKELETON_MECHANICAL ) // NMK LTD, V99422 strings. Cabinet has NMK logo, manual has Sega logo -GAME( 1999, pldoraemon, 0, omatsuri, trocana, omatsuri_state, empty_init, ROT0, "NMK", "Doraemon (Power Link)", MACHINE_IS_SKELETON_MECHANICAL ) // NMK LTD, V99204°, DORAMON (sic), STEPPING_PCB200_CAP75 strings +GAME( 1995, drail, 0, drail, trocana, hpierrot_state, empty_init, ROT0, "NTC / NMK", "Dream Rail", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // NMK LTD, N.T.C., H07051, V39, TEST2, V07 strings +GAME( 1996, trocana, 0, trocana, trocana, trocana_state, empty_init, ROT0, "NTC / NMK", "Trocana", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // NMK LTD, NTC LTD, V96313 strings +GAME( 1996, hpierrot, 0, hpierrot, trocana, hpierrot_state, empty_init, ROT0, "NTC / NMK", "Happy Pierrot", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // NTC LTD, NMK LTD, V96821 strings +GAME( 1996, sweethrt, 0, sweethrt, trocana, hpierrot_state, empty_init, ROT0, "NMK", "Sweetheart", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // NMK LTD, V96B29° strings +GAME( 1998, draillov, 0, omatsuri, trocana, omatsuri_state, empty_init, ROT0, "NTC / NMK", "Dream Rail Lovely", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // LOVELY D_RAIL LOVELY NMK LTD DR_LOLÙ MT155 \T2\V0° V98B27° UPRIGHT_PCB223_150CAP strings +GAME( 1998, plpittashi, 0, omatsuri, trocana, omatsuri_state, empty_init, ROT0, "NMK", "Love Pi Chan (Power Link)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // NMK LTD, V98622°, LOVE PI, CHAN strings (title taken from string, very probably wrong) +GAME( 1998, sluster2, 0, drail, trocana, hpierrot_state, empty_init, ROT0, "NMK", "Super Luster II", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // NMK LTD, H10072,·V040P, V98727 strings +GAME( 1999, omatsuri, 0, omatsuri, trocana, omatsuri_state, empty_init, ROT0, "NMK / Sega", "Shimura Ken no Bakatono-sama Ooedomatsuri", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // NMK LTD, V99422 strings. Cabinet has NMK logo, manual has Sega logo +GAME( 1999, pldoraemon, 0, omatsuri, trocana, omatsuri_state, empty_init, ROT0, "NMK", "Doraemon (Power Link)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // NMK LTD, V99204°, DORAMON (sic), STEPPING_PCB200_CAP75 strings diff --git a/src/mame/nokia/nokia_3310.cpp b/src/mame/nokia/nokia_3310.cpp index 862bda8aede87..7c7310a85137b 100644 --- a/src/mame/nokia/nokia_3310.cpp +++ b/src/mame/nokia/nokia_3310.cpp @@ -868,15 +868,15 @@ ROM_END // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -SYST( 1999, noki3210, 0, 0, noki3310, noki3310, noki3310_state, empty_init, "Nokia", "Nokia 3210", MACHINE_IS_SKELETON ) -SYST( 1999, noki7110, 0, 0, noki7110, noki3310, noki3310_state, empty_init, "Nokia", "Nokia 7110", MACHINE_IS_SKELETON ) -SYST( 1999, noki8210, 0, 0, noki3310, noki3310, noki3310_state, empty_init, "Nokia", "Nokia 8210", MACHINE_IS_SKELETON ) -SYST( 1999, noki8850, 0, 0, noki3310, noki3310, noki3310_state, empty_init, "Nokia", "Nokia 8850", MACHINE_IS_SKELETON ) -SYST( 2000, noki3310, 0, 0, noki3310, noki3310, noki3310_state, empty_init, "Nokia", "Nokia 3310", MACHINE_IS_SKELETON ) -SYST( 2000, noki6210, 0, 0, noki6210, noki3310, noki3310_state, empty_init, "Nokia", "Nokia 6210", MACHINE_IS_SKELETON ) -SYST( 2000, noki6250, 0, 0, noki6210, noki3310, noki3310_state, empty_init, "Nokia", "Nokia 6250", MACHINE_IS_SKELETON ) -SYST( 2000, noki8250, 0, 0, noki3310, noki3310, noki3310_state, empty_init, "Nokia", "Nokia 8250", MACHINE_IS_SKELETON ) -SYST( 2000, noki8890, 0, 0, noki3310, noki3310, noki3310_state, empty_init, "Nokia", "Nokia 8890", MACHINE_IS_SKELETON ) -SYST( 2001, noki3330, 0, 0, noki3330, noki3310, noki3310_state, empty_init, "Nokia", "Nokia 3330", MACHINE_IS_SKELETON ) -SYST( 2002, noki3410, 0, 0, noki3410, noki3310, noki3310_state, empty_init, "Nokia", "Nokia 3410", MACHINE_IS_SKELETON ) -SYST( 2002, noki5210, 0, 0, noki3330, noki3310, noki3310_state, empty_init, "Nokia", "Nokia 5210", MACHINE_IS_SKELETON ) +SYST( 1999, noki3210, 0, 0, noki3310, noki3310, noki3310_state, empty_init, "Nokia", "Nokia 3210", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +SYST( 1999, noki7110, 0, 0, noki7110, noki3310, noki3310_state, empty_init, "Nokia", "Nokia 7110", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +SYST( 1999, noki8210, 0, 0, noki3310, noki3310, noki3310_state, empty_init, "Nokia", "Nokia 8210", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +SYST( 1999, noki8850, 0, 0, noki3310, noki3310, noki3310_state, empty_init, "Nokia", "Nokia 8850", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +SYST( 2000, noki3310, 0, 0, noki3310, noki3310, noki3310_state, empty_init, "Nokia", "Nokia 3310", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +SYST( 2000, noki6210, 0, 0, noki6210, noki3310, noki3310_state, empty_init, "Nokia", "Nokia 6210", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +SYST( 2000, noki6250, 0, 0, noki6210, noki3310, noki3310_state, empty_init, "Nokia", "Nokia 6250", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +SYST( 2000, noki8250, 0, 0, noki3310, noki3310, noki3310_state, empty_init, "Nokia", "Nokia 8250", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +SYST( 2000, noki8890, 0, 0, noki3310, noki3310, noki3310_state, empty_init, "Nokia", "Nokia 8890", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +SYST( 2001, noki3330, 0, 0, noki3330, noki3310, noki3310_state, empty_init, "Nokia", "Nokia 3330", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +SYST( 2002, noki3410, 0, 0, noki3410, noki3310, noki3310_state, empty_init, "Nokia", "Nokia 3410", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +SYST( 2002, noki5210, 0, 0, noki3330, noki3310, noki3310_state, empty_init, "Nokia", "Nokia 5210", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/novadesitec/novadesitec_fr002.cpp b/src/mame/novadesitec/novadesitec_fr002.cpp index 361ac0d2edeee..1d4c0b02f3d81 100644 --- a/src/mame/novadesitec/novadesitec_fr002.cpp +++ b/src/mame/novadesitec/novadesitec_fr002.cpp @@ -139,5 +139,5 @@ ROM_END } // anonymous namespace -GAME( 200?, clrmatch, 0, fr002, fr002, novadesitec_fr002_state, empty_init, ROT0, "Nova Desitec", "Color Match", MACHINE_IS_SKELETON ) -GAME( 200?, sportmem, 0, fr002, fr002, novadesitec_fr002_state, empty_init, ROT0, "Nova Desitec", "Sport Memory", MACHINE_IS_SKELETON ) +GAME( 200?, clrmatch, 0, fr002, fr002, novadesitec_fr002_state, empty_init, ROT0, "Nova Desitec", "Color Match", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, sportmem, 0, fr002, fr002, novadesitec_fr002_state, empty_init, ROT0, "Nova Desitec", "Sport Memory", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/novadesitec/novadesitec_fr004.cpp b/src/mame/novadesitec/novadesitec_fr004.cpp index b04bc118435cb..c15790f236740 100644 --- a/src/mame/novadesitec/novadesitec_fr004.cpp +++ b/src/mame/novadesitec/novadesitec_fr004.cpp @@ -157,7 +157,7 @@ ROM_END } // anonymous namespace -GAME( 200?, unkfr004, 0, fr004, fr004, novadesitec_fr004_state, empty_init, ROT0, "Nova Desitec", "unknown game on FR004 hardware (set 1)", MACHINE_IS_SKELETON ) // possibly Halloween II (wild guesswork due to HII label on Oki ROM) -GAME( 200?, unkfr004a, unkfr004, fr004, fr004, novadesitec_fr004_state, empty_init, ROT0, "Nova Desitec", "unknown game on FR004 hardware (set 2)", MACHINE_IS_SKELETON ) -GAME( 200?, unkfr004b, unkfr004, fr004, fr004, novadesitec_fr004_state, empty_init, ROT0, "Nova Desitec", "unknown game on FR004 hardware (set 3)", MACHINE_IS_SKELETON ) -GAME( 200?, unkfr004c, unkfr004, fr004, fr004, novadesitec_fr004_state, empty_init, ROT0, "Nova Desitec", "unknown game on FR004 hardware (set 4)", MACHINE_IS_SKELETON ) // possibly Halloween II (wild guesswork due to HII label on Oki ROM) +GAME( 200?, unkfr004, 0, fr004, fr004, novadesitec_fr004_state, empty_init, ROT0, "Nova Desitec", "unknown game on FR004 hardware (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // possibly Halloween II (wild guesswork due to HII label on Oki ROM) +GAME( 200?, unkfr004a, unkfr004, fr004, fr004, novadesitec_fr004_state, empty_init, ROT0, "Nova Desitec", "unknown game on FR004 hardware (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, unkfr004b, unkfr004, fr004, fr004, novadesitec_fr004_state, empty_init, ROT0, "Nova Desitec", "unknown game on FR004 hardware (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, unkfr004c, unkfr004, fr004, fr004, novadesitec_fr004_state, empty_init, ROT0, "Nova Desitec", "unknown game on FR004 hardware (set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // possibly Halloween II (wild guesswork due to HII label on Oki ROM) diff --git a/src/mame/novadesitec/novadesitec_fr009.cpp b/src/mame/novadesitec/novadesitec_fr009.cpp index d05a5692168ae..72912ee8d7445 100644 --- a/src/mame/novadesitec/novadesitec_fr009.cpp +++ b/src/mame/novadesitec/novadesitec_fr009.cpp @@ -119,4 +119,4 @@ ROM_END } // anonymous namespace -GAME( 200?, unkfr009, 0, fr009, fr009, novadesitec_fr009_state, empty_init, ROT0, "Nova Desitec", "unknown game on FR009 hardware", MACHINE_IS_SKELETON ) // possibly Super Color II (wild guesswork due to SC II barely readable on a label) +GAME( 200?, unkfr009, 0, fr009, fr009, novadesitec_fr009_state, empty_init, ROT0, "Nova Desitec", "unknown game on FR009 hardware", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // possibly Super Color II (wild guesswork due to SC II barely readable on a label) diff --git a/src/mame/novag/accord.cpp b/src/mame/novag/accord.cpp index 5865c342a2de1..751fd56121353 100644 --- a/src/mame/novag/accord.cpp +++ b/src/mame/novag/accord.cpp @@ -189,7 +189,7 @@ INPUT_PORTS_END void accord_state::accord(machine_config &config) { // basic machine hardware - HD6301X0(config, m_maincpu, 8'000'000); + HD6301X0(config, m_maincpu, 8'000'000); // approximation, no XTAL m_maincpu->nvram_enable_backup(true); m_maincpu->standby_cb().set(m_maincpu, FUNC(hd6301v1_cpu_device::nvram_set_battery)); m_maincpu->standby_cb().append([this](int state) { if (state) m_display->clear(); }); diff --git a/src/mame/novag/cnchess.cpp b/src/mame/novag/cnchess.cpp new file mode 100644 index 0000000000000..9abe253b0344e --- /dev/null +++ b/src/mame/novag/cnchess.cpp @@ -0,0 +1,246 @@ +// license:BSD-3-Clause +// copyright-holders:hap +// thanks-to:Sean Riddle +/******************************************************************************* + +Novag Chinese Chess (象棋, model 866) + +Novag's first Xiangqi computer, mainly sold in Hong Kong. Model 8710 is the same +as model 866, maybe one was for export. The newer model 9300 (distributed by Yorter) +is also presumed to be the same. + +Hardware notes: +- PCB label: 100054 +- Hitachi HD6305Y0P @ ~8MHz (LC oscillator) +- 9*10 chessboard buttons, 19+4 leds, piezo + +Strangely enough, it doesn't use the HD6305 internal timer. The only peripherals +it makes use of are the I/O ports. + +BTANB: +- it uses 馬 and 車 for red horse and chariot instead of 傌 and 俥, newer Novag + Xiangqi computers have this too, so it's a design choice? + +*******************************************************************************/ + +#include "emu.h" + +#include "cpu/m6805/hd6305.h" +#include "machine/sensorboard.h" +#include "sound/dac.h" +#include "video/pwm.h" + +#include "speaker.h" + +// internal artwork +#include "novag_cnchess.lh" + + +namespace { + +class cnchess_state : public driver_device +{ +public: + cnchess_state(const machine_config &mconfig, device_type type, const char *tag) : + driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu"), + m_board(*this, "board"), + m_display(*this, "display"), + m_dac(*this, "dac"), + m_inputs(*this, "IN.0") + { } + + void cnchess(machine_config &config); + +protected: + virtual void machine_start() override ATTR_COLD; + +private: + // devices/pointers + required_device m_maincpu; + required_device m_board; + required_device m_display; + required_device m_dac; + required_ioport m_inputs; + + u16 m_inp_mux = 0; + + void init_board(u8 data); + + // I/O handlers + u16 input_r(); + u8 input1_r(); + u8 input2_r(); + template void input_w(u8 data); + void control_w(u8 data); +}; + + + +/******************************************************************************* + Initialization +*******************************************************************************/ + +void cnchess_state::machine_start() +{ + save_item(NAME(m_inp_mux)); +} + +void cnchess_state::init_board(u8 data) +{ + // 1st row + m_board->write_piece(0, 0, 3); + m_board->write_piece(0, 8, 3); + m_board->write_piece(0, 1, 4); + m_board->write_piece(0, 7, 4); + m_board->write_piece(0, 2, 5); + m_board->write_piece(0, 6, 5); + m_board->write_piece(0, 3, 6); + m_board->write_piece(0, 5, 6); + m_board->write_piece(0, 4, 7); + + // cannons + m_board->write_piece(2, 1, 2); + m_board->write_piece(2, 7, 2); + + // soldiers + for (int i = 0; i < 5; i++) + m_board->write_piece(3, i * 2, 1); + + // mirrored for black pieces + for (int y = 0; y < 4; y++) + for (int x = 0; x < 9; x++) + { + u8 piece = m_board->read_piece(y, x); + if (piece != 0) + m_board->write_piece(9 - y, x, piece + 7); + } +} + + + +/******************************************************************************* + I/O +*******************************************************************************/ + +u16 cnchess_state::input_r() +{ + u16 data = 0; + const u16 inp_mux = bitswap<10>(m_inp_mux,9,8,7,4,3,5,6,2,1,0); + + // read chessboard + for (int i = 0; i < 10; i++) + if (BIT(inp_mux, i)) + data |= m_board->read_file(i); + + // read buttons + if (inp_mux & m_inputs->read()) + data |= 0x200; + + return data; +} + +u8 cnchess_state::input1_r() +{ + // A0-A7: read inputs low + return bitswap<8>(~input_r(),0,1,2,5,6,4,3,7); +} + +u8 cnchess_state::input2_r() +{ + // B6,B7: read inputs high + return bitswap<2>(~input_r(),8,9) << 6 | 0x3f; +} + +template +void cnchess_state::input_w(u8 data) +{ + // Ex,F0,F1: input mux, led data + const u8 shift = N * 8; + const u16 mask = 0xff << shift; + + m_inp_mux = ((m_inp_mux & ~mask) | (~data << shift & mask)) & 0x3ff; + m_display->write_mx(m_inp_mux); +} + +void cnchess_state::control_w(u8 data) +{ + // G4: speaker out + m_dac->write(BIT(~data, 4)); + + // G5-G7: led select + m_display->write_my(~data >> 5 & 7); +} + + + +/******************************************************************************* + Input Ports +*******************************************************************************/ + +static INPUT_PORTS_START( cnchess ) + PORT_START("IN.0") + PORT_BIT(0x00001, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_G) PORT_NAME("Go") + PORT_BIT(0x00002, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_C) PORT_NAME("Change Color") + PORT_BIT(0x00004, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_U) PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD) PORT_NAME("Set Up / Pawn") + PORT_BIT(0x00008, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_V) PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_2_PAD) PORT_NAME("Verify / Cannon") + PORT_BIT(0x00010, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_3) PORT_CODE(KEYCODE_3_PAD) PORT_NAME("Rook") + PORT_BIT(0x00020, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_T) PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_4_PAD) PORT_NAME("Take Back / Knight") + PORT_BIT(0x00040, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_H) PORT_CODE(KEYCODE_5) PORT_CODE(KEYCODE_5_PAD) PORT_NAME("Hint / Bishop") + PORT_BIT(0x00080, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_S) PORT_CODE(KEYCODE_6) PORT_CODE(KEYCODE_6_PAD) PORT_NAME("Sound / Minister") + PORT_BIT(0x00100, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_L) PORT_CODE(KEYCODE_7) PORT_CODE(KEYCODE_7_PAD) PORT_NAME("Level / General") + PORT_BIT(0x00200, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_N) PORT_NAME("New Game / Clear Board") +INPUT_PORTS_END + + + +/******************************************************************************* + Machine Configs +*******************************************************************************/ + +void cnchess_state::cnchess(machine_config &config) +{ + // basic machine hardware + HD6305Y0(config, m_maincpu, 8'000'000); // approximation, no XTAL + m_maincpu->read_porta().set(FUNC(cnchess_state::input1_r)); + m_maincpu->read_portb().set(FUNC(cnchess_state::input2_r)); + m_maincpu->write_porte().set(FUNC(cnchess_state::input_w<0>)); + m_maincpu->write_portf().set(FUNC(cnchess_state::input_w<1>)); + m_maincpu->write_portg().set(FUNC(cnchess_state::control_w)); + + SENSORBOARD(config, m_board).set_type(sensorboard_device::BUTTONS); + m_board->init_cb().set(FUNC(cnchess_state::init_board)); + m_board->set_size(10, 9); // rotated by 90 degrees + m_board->set_spawnpoints(14); + m_board->set_delay(attotime::from_msec(150)); + + // video hardware + PWM_DISPLAY(config, m_display).set_size(3, 10); + config.set_default_layout(layout_novag_cnchess); + + // sound hardware + SPEAKER(config, "speaker").front_center(); + DAC_1BIT(config, m_dac).add_route(ALL_OUTPUTS, "speaker", 0.5); +} + + + +/******************************************************************************* + ROM Definitions +*******************************************************************************/ + +ROM_START( cnchess ) + ROM_REGION( 0x1ec0, "maincpu", 0 ) + ROM_LOAD("novag_866_35y0b12p", 0x0000, 0x1ec0, CRC(234ef959) SHA1(9ab7310275017dd4b6b152f205d6cd65014da5a6) ) +ROM_END + +} // anonymous namespace + + + +/******************************************************************************* + Drivers +*******************************************************************************/ + +// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS +SYST( 1986, cnchess, 0, 0, cnchess, cnchess, cnchess_state, empty_init, "Novag Industries", "Chinese Chess", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/novag/const.cpp b/src/mame/novag/const.cpp index 2d31e44bf73bd..c9fb6ddc87323 100644 --- a/src/mame/novag/const.cpp +++ b/src/mame/novag/const.cpp @@ -70,8 +70,8 @@ than writing 0x08 to control_w. #include "bus/generic/carts.h" #include "bus/generic/slot.h" +#include "cpu/m6502/g65sc02.h" #include "cpu/m6502/m6502.h" -#include "cpu/m6502/m65sc02.h" #include "cpu/m6502/r65c02.h" #include "machine/clock.h" #include "machine/nvram.h" @@ -402,7 +402,7 @@ void const_state::nconst36(machine_config &config) nconst(config); // basic machine hardware - M65SC02(config.replace(), m_maincpu, 7.2_MHz_XTAL/2); + G65SC02(config.replace(), m_maincpu, 7.2_MHz_XTAL/2); m_maincpu->set_addrmap(AS_PROGRAM, &const_state::const_map); subdevice("irq_clock")->set_clock(7.2_MHz_XTAL/2 / 0x2000); // ~439Hz (pulse width same as nconst) diff --git a/src/mame/novag/sexpert.cpp b/src/mame/novag/sexpert.cpp index 05d1d96f3045d..f0d5d61618ab5 100644 --- a/src/mame/novag/sexpert.cpp +++ b/src/mame/novag/sexpert.cpp @@ -39,7 +39,7 @@ input I followed by Enter. #include "emu.h" #include "bus/rs232/rs232.h" -#include "cpu/m6502/m65c02.h" +#include "cpu/m6502/w65c02.h" #include "machine/clock.h" #include "machine/mos6551.h" #include "machine/nvram.h" @@ -405,7 +405,7 @@ INPUT_PORTS_END void sexpert_state::sexpert(machine_config &config) { // basic machine hardware - M65C02(config, m_maincpu, 10_MHz_XTAL/2); // or 12_MHz_XTAL/2, also seen with R65C02 + W65C02(config, m_maincpu, 10_MHz_XTAL/2); // or 12_MHz_XTAL/2, also seen with R65C02 m_maincpu->set_addrmap(AS_PROGRAM, &sexpert_state::sexpert_map); auto &irq_clock(CLOCK(config, "irq_clock", 32.768_kHz_XTAL/128)); // 256Hz @@ -444,7 +444,7 @@ void sexpert_state::sexpert(machine_config &config) // uart (configure after video) MOS6551(config, m_acia).set_xtal(1.8432_MHz_XTAL); // R65C51P2 - RTS to CTS, DCD to GND - m_acia->irq_handler().set_inputline("maincpu", m65c02_device::NMI_LINE); + m_acia->irq_handler().set_inputline("maincpu", w65c02_device::NMI_LINE); m_acia->rts_handler().set("acia", FUNC(mos6551_device::write_cts)); m_acia->txd_handler().set("rs232", FUNC(rs232_port_device::write_txd)); m_acia->dtr_handler().set("rs232", FUNC(rs232_port_device::write_dtr)); diff --git a/src/mame/novation/basssta.cpp b/src/mame/novation/basssta.cpp index 3ad68b5343464..e6196be10a4c3 100644 --- a/src/mame/novation/basssta.cpp +++ b/src/mame/novation/basssta.cpp @@ -183,5 +183,5 @@ ROM_END } // anonymous namespace -SYST(1995, bassstr, 0, 0, bassstr, basssta, basssta_state, empty_init, "Novation", "BassStation Rack Analogue Synthesizer Module", MACHINE_IS_SKELETON) -SYST(1997, sbasssta, 0, 0, sbasssta, basssta, basssta_state, empty_init, "Novation", "Super Bass Station", MACHINE_IS_SKELETON) +SYST(1995, bassstr, 0, 0, bassstr, basssta, basssta_state, empty_init, "Novation", "BassStation Rack Analogue Synthesizer Module", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1997, sbasssta, 0, 0, sbasssta, basssta, basssta_state, empty_init, "Novation", "Super Bass Station", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/novation/drumsta.cpp b/src/mame/novation/drumsta.cpp index 802d8c6eff029..398944125a8f7 100644 --- a/src/mame/novation/drumsta.cpp +++ b/src/mame/novation/drumsta.cpp @@ -75,4 +75,4 @@ ROM_END } // anonymous namespace -SYST(1995, drumsta, 0, 0, drumsta, drumsta, drumsta_state, empty_init, "Novation", "Drum Station", MACHINE_IS_SKELETON) +SYST(1995, drumsta, 0, 0, drumsta, drumsta, drumsta_state, empty_init, "Novation", "Drum Station", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/olivetti/m20.cpp b/src/mame/olivetti/m20.cpp index c395ed15454ba..6a0c3d94a3d74 100644 --- a/src/mame/olivetti/m20.cpp +++ b/src/mame/olivetti/m20.cpp @@ -852,4 +852,4 @@ ROM_END // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS COMP( 1981, m20, 0, 0, m20, 0, m20_state, empty_init, "Olivetti", "Olivetti L1 M20", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) COMP( 1981, m40, m20, 0, m20, 0, m20_state, empty_init, "Olivetti", "Olivetti L1 M40", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) -COMP( 1986, m44, 0, 0, m20, 0, m20_state, empty_init, "Olivetti", "Olivetti L1 M44", MACHINE_IS_SKELETON ) +COMP( 1986, m44, 0, 0, m20, 0, m20_state, empty_init, "Olivetti", "Olivetti L1 M44", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/olympia/dday.cpp b/src/mame/olympia/dday.cpp index d87e7a8c131cb..5cb8bf7eda243 100644 --- a/src/mame/olympia/dday.cpp +++ b/src/mame/olympia/dday.cpp @@ -633,7 +633,6 @@ void dday_state::dday(machine_config &config) Z80(config, m_maincpu, 2'000'000); // 2 MHz ? m_maincpu->set_addrmap(AS_PROGRAM, &dday_state::program_map); - // video hardware SCREEN(config, m_screen, SCREEN_TYPE_RASTER); m_screen->set_refresh_hz(60); diff --git a/src/mame/omori/battlex.cpp b/src/mame/omori/battlex.cpp index 45a40af8c0591..89ff70feeb32e 100644 --- a/src/mame/omori/battlex.cpp +++ b/src/mame/omori/battlex.cpp @@ -51,9 +51,6 @@ 00011000 0x74 88844777 - - - TO DO : - missing starfield @@ -169,6 +166,13 @@ class dodgeman_state : public battlex_state void io_map(address_map &map) ATTR_COLD; }; + +/************************************* + * + * Video hardware + * + *************************************/ + void battlex_state::palette_w(offs_t offset, uint8_t data) { int const palette_num = offset / 8; @@ -479,7 +483,6 @@ void battlex_state::battlex(machine_config &config) m_maincpu->set_addrmap(AS_IO, &battlex_state::io_map); m_maincpu->set_periodic_int(FUNC(battlex_state::interrupt), attotime::from_hz(400)); // controls game speed? - // video hardware screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_refresh_hz(60); @@ -503,7 +506,6 @@ void dodgeman_state::dodgeman(machine_config &config) m_maincpu->set_addrmap(AS_IO, &dodgeman_state::io_map); - AY8910(config, "ay2", XTAL(10'000'000) / 8).add_route(ALL_OUTPUTS, "mono", 0.40); // divider not verified } diff --git a/src/mame/omori/carjmbre.cpp b/src/mame/omori/carjmbre.cpp index 90f6953f8210d..8782792fe9c95 100644 --- a/src/mame/omori/carjmbre.cpp +++ b/src/mame/omori/carjmbre.cpp @@ -42,10 +42,12 @@ ***************************************************************************/ #include "emu.h" + #include "cpu/z80/z80.h" #include "machine/gen_latch.h" #include "sound/ay8910.h" #include "video/resnet.h" + #include "emupal.h" #include "screen.h" #include "speaker.h" @@ -67,6 +69,13 @@ class carjmbre_state : public driver_device m_palette(*this, "palette") { } + void carjmbre(machine_config &config); + +protected: + virtual void machine_start() override ATTR_COLD; + virtual void video_start() override ATTR_COLD; + +private: // devices/pointers required_device m_maincpu; required_device m_audiocpu; @@ -90,21 +99,13 @@ class carjmbre_state : public driver_device void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect); TILE_GET_INFO_MEMBER(get_tile_info); - void carjmbre(machine_config &config); void main_map(address_map &map) ATTR_COLD; void sound_io_map(address_map &map) ATTR_COLD; void sound_map(address_map &map) ATTR_COLD; -protected: - virtual void machine_start() override ATTR_COLD; - virtual void video_start() override ATTR_COLD; }; void carjmbre_state::machine_start() { - // zerofill - m_nmi_enabled = false; - m_bgcolor = 0; - // register for savestates save_item(NAME(m_nmi_enabled)); save_item(NAME(m_bgcolor)); diff --git a/src/mame/omori/popper.cpp b/src/mame/omori/popper.cpp index 9e48793ee6312..740c2075bac30 100644 --- a/src/mame/omori/popper.cpp +++ b/src/mame/omori/popper.cpp @@ -39,10 +39,12 @@ ***************************************************************************/ #include "emu.h" + #include "cpu/z80/z80.h" #include "machine/74259.h" #include "sound/ay8910.h" #include "video/resnet.h" + #include "emupal.h" #include "screen.h" #include "speaker.h" diff --git a/src/mame/omori/spaceg.cpp b/src/mame/omori/spaceg.cpp index 3f9ecf37a0042..19583c219ba84 100644 --- a/src/mame/omori/spaceg.cpp +++ b/src/mame/omori/spaceg.cpp @@ -168,6 +168,7 @@ SBC-A |-----------------------------| #include "cpu/z80/z80.h" #include "sound/samples.h" #include "sound/sn76477.h" + #include "emupal.h" #include "screen.h" #include "speaker.h" @@ -184,8 +185,8 @@ namespace { class spaceg_state : public driver_device { public: - spaceg_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag), + spaceg_state(const machine_config &mconfig, device_type type, const char *tag) : + driver_device(mconfig, type, tag), m_colorram(*this, "colorram"), m_videoram(*this, "videoram"), m_io9400(*this, "io9400"), @@ -238,6 +239,7 @@ void spaceg_state::driver_start() save_item(NAME(m_sound3)); } + /************************************* * * Video emulation @@ -251,7 +253,7 @@ void spaceg_state::spaceg_palette(palette_device &palette) const // proms are currently undumped... palette.set_pen_color( 0, rgb_t(0x00, 0x00, 0x00)); //ok czarny - palette.set_pen_color( 1, rgb_t(0x7f, 0x00, 0x00));//??? + palette.set_pen_color( 1, rgb_t(0x7f, 0x00, 0x00)); //??? palette.set_pen_color( 2, rgb_t(0xff, 0xff, 0xff)); //ok+ bialy palette.set_pen_color( 3, rgb_t(0xff, 0x00, 0x00)); //ok j.czerw. palette.set_pen_color( 4, rgb_t(0x3f, 0x3f, 0xff)); //ok j.niebieski @@ -261,12 +263,12 @@ void spaceg_state::spaceg_palette(palette_device &palette) const palette.set_pen_color( 8, rgb_t(0xff, 0x7f, 0x00)); //ok+ pomaranczowy palette.set_pen_color( 9, rgb_t(0x3f, 0xbf, 0xff)); //ok j.niebieski (ciemniejszy od 13) - palette.set_pen_color(10, rgb_t(0x3f, 0xbf, 0x3f)); //ok+ c.zielony - palette.set_pen_color(11, rgb_t(0x00, 0xff, 0x00)); //ok j.zielony - palette.set_pen_color(12, rgb_t(0x7f, 0x00, 0x00)); //ok brazowy (c.czerw) - palette.set_pen_color(13, rgb_t(0x7f, 0xbf, 0xff)); //ok j.niebieski (jasniejszy od 9) - palette.set_pen_color(14, rgb_t(0x00, 0xff, 0xff));//??? - palette.set_pen_color(15, rgb_t(0x7f, 0x7f, 0x7f));//??? + palette.set_pen_color(10, rgb_t(0x3f, 0xbf, 0x3f)); //ok+ c.zielony + palette.set_pen_color(11, rgb_t(0x00, 0xff, 0x00)); //ok j.zielony + palette.set_pen_color(12, rgb_t(0x7f, 0x00, 0x00)); //ok brazowy (c.czerw) + palette.set_pen_color(13, rgb_t(0x7f, 0xbf, 0xff)); //ok j.niebieski (jasniejszy od 9) + palette.set_pen_color(14, rgb_t(0x00, 0xff, 0xff)); //??? + palette.set_pen_color(15, rgb_t(0x7f, 0x7f, 0x7f)); //??? } void spaceg_state::zvideoram_w(offs_t offset, uint8_t data) @@ -290,8 +292,8 @@ void spaceg_state::zvideoram_w(offs_t offset, uint8_t data) vram_data |= sdata; // update colorram - if (sdata&0xff00) m_colorram[offset] = col; - if (sdata&0x00ff) m_colorram[offset2] = col; + if (sdata & 0xff00) m_colorram[offset] = col; + if (sdata & 0x00ff) m_colorram[offset2] = col; break; // erase @@ -305,18 +307,16 @@ void spaceg_state::zvideoram_w(offs_t offset, uint8_t data) return; } - m_videoram[offset]=vram_data>>8; - m_videoram[offset2]=vram_data&0xff; + m_videoram[offset] = vram_data >> 8; + m_videoram[offset2] = vram_data & 0xff; } uint8_t spaceg_state::colorram_r(offs_t offset) { - int rgbcolor; - if (offset < 0x400) { - rgbcolor = (m_colorram[offset] << 1) | ((offset &0x100) >> 8); + int rgbcolor = (m_colorram[offset] << 1) | ((offset & 0x100) >> 8); if ((offset >= 0x200) && (offset < 0x220)) /* 0xa200- 0xa21f */ { @@ -361,6 +361,13 @@ uint32_t spaceg_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap return 0; } + +/************************************* + * + * Sound emulation + * + *************************************/ + static const char *const invaders_sample_names[] = { "*invaders", @@ -418,6 +425,7 @@ void spaceg_state::sound3_w(uint8_t data) if (data & ~0x0f) logerror("spaceg sound3 unmapped %02x\n", data & ~0x0f); } + /************************************* * * Memory maps @@ -454,7 +462,6 @@ void spaceg_state::spaceg_map(address_map &map) } - /************************************* * * Input ports diff --git a/src/mame/omori/yakyuken.cpp b/src/mame/omori/yakyuken.cpp new file mode 100644 index 0000000000000..d26c645159ae6 --- /dev/null +++ b/src/mame/omori/yakyuken.cpp @@ -0,0 +1,344 @@ +// license:BSD-3-Clause +// copyright-holders: hap + +/* + +Bootleg of Omori's 野球拳 - The Yakyuken + +It's a strip rock-paper-scissors game in a cocktail cabinet, each side has +7 buttons. One of the buttons apparently is for relinquishing controls to +the other side. + +PCB is marked 20282 and LC (stands for "lato componenti", so components side) +with a small riser board marked W 15482 plugged into one of the main CPU ROMs' +sockets + +Main components are: +SGS Z80CPUB1 main CPU (clock measured 3.07 MHz) +18.432 MHz XTAL +SGS Z80CPUB1 audio CPU (clock measured 1.53 MHz) +AY-3-8910 sound chip +MK4802 RAM (near audio CPU) +6x 2114 RAM (near GFX ROMs) +Bank of 8 switches + +The riser board has a pair of HM4334 1K*4 static RAMs and a quad 2-input NAND gate. + +TODO: +- dump/add Omori's version, it's assumed it will have a title screen, as seen + inside the gfx roms (OEC logo is still in there too) +- find out win rate dipswitch values, or is it max payout rate? +- doesn't it have a hopper? or maybe the bootleg version removed that? +- game sometimes leaves gaps when the lady is undressing +- colors aren't 100% correct (see i.e. the stripes in the curtains), reference video: + https://www.youtube.com/watch?v=zTOFIhuwR2w + +*/ + +#include "emu.h" + +#include "cpu/z80/z80.h" +#include "machine/gen_latch.h" +#include "machine/nvram.h" +#include "sound/ay8910.h" + +#include "emupal.h" +#include "screen.h" +#include "speaker.h" +#include "tilemap.h" + + +namespace { + +class yakyuken_state : public driver_device +{ +public: + yakyuken_state(const machine_config &mconfig, device_type type, const char *tag) : + driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu"), + m_audiocpu(*this, "audiocpu"), + m_gfxdecode(*this, "gfxdecode"), + m_screen(*this, "screen"), + m_ay(*this, "ay"), + m_vram(*this, "vram", 0x400*2, ENDIANNESS_LITTLE) + { } + + void yakyuken(machine_config &config); + +protected: + virtual void machine_start() override ATTR_COLD; + virtual void video_start() override ATTR_COLD; + +private: + required_device m_maincpu; + required_device m_audiocpu; + required_device m_gfxdecode; + required_device m_screen; + required_device m_ay; + + memory_share_creator m_vram; + + uint8_t m_ay_data = 0; + tilemap_t *m_tilemap = nullptr; + + TILEMAP_MAPPER_MEMBER(tilemap_scan_rows); + TILE_GET_INFO_MEMBER(get_tile_info); + + void vram_w(offs_t offset, uint8_t data); + void palette(palette_device &palette) const ATTR_COLD; + uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + + void main_io_map(address_map &map) ATTR_COLD; + void main_program_map(address_map &map) ATTR_COLD; + void sound_program_map(address_map &map) ATTR_COLD; + void sound_io_map(address_map &map) ATTR_COLD; +}; + +void yakyuken_state::machine_start() +{ + save_item(NAME(m_ay_data)); +} + + +/************************************* + * + * Video hardware + * + *************************************/ + +void yakyuken_state::palette(palette_device &palette) const +{ + for (int i = 0; i < 8; i++) + { + palette.set_pen_color(i, pal1bit(BIT(i, 0)), pal1bit(BIT(i, 1)), pal1bit(BIT(i, 2))); + + // second half is brighter + palette.set_pen_color(i | 8, pal1bit(BIT(i, 0)) | 0x80, pal1bit(BIT(i, 1)) | 0x80, pal1bit(BIT(i, 2)) | 0x80); + } +} + +TILEMAP_MAPPER_MEMBER(yakyuken_state::tilemap_scan_rows) +{ + row += 2; + col -= 1; + + // upper 2 rows are left and right columns + if (col & 0x20) + return (col & 1) << 5 | row; + else + return row << 5 | col; +} + +TILE_GET_INFO_MEMBER(yakyuken_state::get_tile_info) +{ + int const code = m_vram[tile_index]; + tileinfo.set(0, code, 0, 0); +} + +static GFXDECODE_START( gfx_yakyuken ) + GFXDECODE_ENTRY( "tiles", 0, gfx_8x8x4_planar, 0, 1 ) +GFXDECODE_END + + +void yakyuken_state::video_start() +{ + m_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(yakyuken_state::get_tile_info)), tilemap_mapper_delegate(*this, FUNC(yakyuken_state::tilemap_scan_rows)), 8, 8, 34, 28); +} + +void yakyuken_state::vram_w(offs_t offset, uint8_t data) +{ + m_vram[offset & 0x3ff] = (offset >> 2 & 0x300) | data; + m_tilemap->mark_tile_dirty(offset & 0x3ff); +} + +uint32_t yakyuken_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +{ + m_tilemap->draw(screen, bitmap, cliprect, 0, 0); + return 0; +} + + +/************************************* + * + * Memory maps + * + *************************************/ + +void yakyuken_state::main_program_map(address_map &map) +{ + map(0x0000, 0x37ff).rom(); + map(0x6400, 0x67ff).ram().share("nvram"); + map(0x7000, 0x73ff).select(0xc00).w(FUNC(yakyuken_state::vram_w)); +} + +void yakyuken_state::main_io_map(address_map &map) +{ + map.global_mask(0xff); + map(0x00, 0x00).portr("SW"); + map(0x01, 0x01).portr("IN0"); + map(0x02, 0x02).portr("IN1"); + map(0x03, 0x03).portr("IN2"); + map(0x17, 0x17).lw8(NAME([this] (uint8_t data) { flip_screen_set(BIT(data, 0)); })); + map(0x30, 0x30).w("soundlatch", FUNC(generic_latch_8_device::write)); +} + +void yakyuken_state::sound_program_map(address_map &map) +{ + map(0x0000, 0x07ff).rom(); + map(0x2000, 0x23ff).ram(); +} + +void yakyuken_state::sound_io_map(address_map &map) +{ + map.global_mask(0xff); + map(0x00, 0x00).r("soundlatch", FUNC(generic_latch_8_device::read)); + map(0x01, 0x01).w("soundlatch", FUNC(generic_latch_8_device::clear_w)); + map(0x02, 0x02).lw8(NAME([this] (uint8_t data) { m_ay_data = data; })); + map(0x03, 0x03).lw8(NAME([this] (uint8_t data) { m_ay->write_bc1_bc2(data & 3, m_ay_data); })); +} + + +/************************************* + * + * Input ports + * + *************************************/ + +static INPUT_PORTS_START( yakyuken ) + PORT_START("IN0") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) // 100 in book-keeping + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) // 500 in book-keeping + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 ) // 1000 in book-keeping + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START3 ) PORT_NAME("P1 Control") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START4 ) PORT_NAME("P2 Control") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) // only works without credits inserted + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_START("IN1") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("P1 Bet") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START1 ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) // Gu (rock) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 ) // Choki (scissors) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) // Pa (paper) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("P1 Take Score") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_START("IN2") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_COCKTAIL PORT_NAME("P2 Bet") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_COCKTAIL + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_COCKTAIL PORT_NAME("P2 Take Score") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_START("SW") + PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW:1,2") + PORT_DIPSETTING( 0x03, "A 1C / B 5C / C 10C" ) + PORT_DIPSETTING( 0x02, "A 2C / B 10C / C 20C" ) + PORT_DIPSETTING( 0x01, "A 4C / B 20C / C 40C" ) + PORT_DIPSETTING( 0x00, "A 5C / B 25C / C 50C" ) + PORT_DIPNAME( 0x04, 0x04, "Max Bet" ) PORT_DIPLOCATION("SW:3") + PORT_DIPSETTING( 0x04, "10" ) + PORT_DIPSETTING( 0x00, "30" ) + PORT_DIPNAME( 0x38, 0x38, "Win Rate" ) PORT_DIPLOCATION("SW:4,5,6") + PORT_DIPSETTING( 0x38, "?%" ) + PORT_DIPSETTING( 0x30, "?%" ) + PORT_DIPSETTING( 0x28, "?%" ) + PORT_DIPSETTING( 0x20, "?%" ) + PORT_DIPSETTING( 0x18, "?%" ) + PORT_DIPSETTING( 0x10, "?%" ) + PORT_DIPSETTING( 0x08, "?%" ) + PORT_DIPSETTING( 0x00, "100%" ) // test + PORT_DIPNAME( 0x40, 0x40, DEF_STR( Service_Mode ) ) PORT_DIPLOCATION("SW:7") + PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x80, 0x80, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW:8") + PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) +INPUT_PORTS_END + + +/************************************* + * + * Machine config + * + *************************************/ + +void yakyuken_state::yakyuken(machine_config &config) +{ + // basic machine hardware + Z80(config, m_maincpu, 18.432_MHz_XTAL / 3 / 2); // 3.072 MHz + m_maincpu->set_addrmap(AS_PROGRAM, &yakyuken_state::main_program_map); + m_maincpu->set_addrmap(AS_IO, &yakyuken_state::main_io_map); + m_maincpu->set_periodic_int(FUNC(yakyuken_state::irq0_line_hold), attotime::from_hz(4*60)); + + Z80(config, m_audiocpu, 18.432_MHz_XTAL / 3 / 4); // 1.536 MHz + m_audiocpu->set_addrmap(AS_PROGRAM, &yakyuken_state::sound_program_map); + m_audiocpu->set_addrmap(AS_IO, &yakyuken_state::sound_io_map); + + config.set_maximum_quantum(attotime::from_hz(600)); + + NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); + + // video hardware + SCREEN(config, m_screen, SCREEN_TYPE_RASTER); + m_screen->set_refresh_hz(60); + m_screen->set_size(34*8, 28*8); + m_screen->set_visarea(0*8, 34*8-1, 0*8, 28*8-1); + m_screen->set_screen_update(FUNC(yakyuken_state::screen_update)); + m_screen->set_palette("palette"); + + GFXDECODE(config, m_gfxdecode, "palette", gfx_yakyuken); + PALETTE(config, "palette", FUNC(yakyuken_state::palette), 0x10); + + // sound hardware + SPEAKER(config, "mono").front_center(); + + GENERIC_LATCH_8(config, "soundlatch"); + + AY8910(config, m_ay, 18.432_MHz_XTAL / 3 / 4); // 1.536 MHz + m_ay->add_route(ALL_OUTPUTS, "mono", 0.35); +} + + +/************************************* + * + * ROM definitions + * + *************************************/ + +ROM_START( yakyuken ) + ROM_REGION( 0x4000, "maincpu", 0 ) + ROM_LOAD( "4210.bt1", 0x0000, 0x1000, CRC(6cf83735) SHA1(3d0a978adb1c1b4526fa00dedd08e2879f4af283) ) + ROM_LOAD( "4211.bg12", 0x1000, 0x1000, CRC(098bf9ff) SHA1(17da91457a6e8154e09361d0600b37156c05f7c2) ) + ROM_LOAD( "4212.bg13", 0x2000, 0x1000, CRC(6d02e421) SHA1(489a822a52db39f348282ba92fb1c1d3cbc68710) ) + ROM_LOAD( "4213.bg14", 0x3000, 0x0800, CRC(364891c8) SHA1(220cae58877cb6a80d01305375a5945c7dc5cfcc) ) + + ROM_REGION( 0x800, "audiocpu", 0 ) + ROM_LOAD( "4209.bg11", 0x000, 0x800, CRC(44b2b7d1) SHA1(672931ff572ac6361b493dc9a49f6146bdc26b78) ) + + ROM_REGION( 0x8000, "tiles", 0 ) + ROM_LOAD( "4203.r1", 0x0000, 0x1000, CRC(8769aad5) SHA1(71f3d22e8e0006ba89329ac4a48f09e11ab67875) ) + ROM_LOAD( "4207.r2", 0x1000, 0x1000, CRC(9b78e95e) SHA1(2f3fdcc3bb92b2eb3a967de39ffe4eee74cac8e0) ) + ROM_LOAD( "4202.g1", 0x2000, 0x1000, CRC(a45d5258) SHA1(9080c51b2dc5d6bc4d01cc29deed0e2a5ea78dbd) ) + ROM_LOAD( "4206.g2", 0x3000, 0x1000, CRC(e18d50f7) SHA1(c922a019c13c904701abe5a9e42be955d80a7ecb) ) + ROM_LOAD( "4201.b1", 0x4000, 0x1000, CRC(838726ab) SHA1(5bcfb3c6badc8f7b7bea17a228137e4bff39a0e5) ) + ROM_LOAD( "4205.b2", 0x5000, 0x1000, CRC(58efc253) SHA1(b3344df68c665da996f3332f43030a664931db80) ) + ROM_LOAD( "4204.t1", 0x6000, 0x1000, CRC(da77a765) SHA1(e8626548909b5e735cdb603964324482848ce476) ) + ROM_LOAD( "4208.t2", 0x7000, 0x1000, CRC(be97d733) SHA1(ff3b199c8d1203d9d6c0060f217bbd7de32a8152) ) +ROM_END + +} // anonymous namespace + + +/************************************* + * + * Game drivers + * + *************************************/ + +GAME( 1982, yakyuken, 0, yakyuken, yakyuken, yakyuken_state, empty_init, ROT0, "bootleg", "The Yakyuken", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/omron/luna_68k.cpp b/src/mame/omron/luna_68k.cpp index d437a03e5ca59..7623208bc8541 100644 --- a/src/mame/omron/luna_68k.cpp +++ b/src/mame/omron/luna_68k.cpp @@ -191,4 +191,4 @@ ROM_END } // anonymous namespace /* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */ -COMP(1989?, luna, 0, 0, luna, 0, luna_68k_state, init, "Omron", "Luna", MACHINE_IS_SKELETON) +COMP(1989?, luna, 0, 0, luna, 0, luna_68k_state, init, "Omron", "Luna", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/orca/espial.cpp b/src/mame/orca/espial.cpp index 614b4e448a126..1432286213b1c 100644 --- a/src/mame/orca/espial.cpp +++ b/src/mame/orca/espial.cpp @@ -196,10 +196,8 @@ TILE_GET_INFO_MEMBER(espial_state::get_tile_info) uint8_t const code = m_videoram[tile_index]; uint8_t const col = m_colorram[tile_index]; uint8_t const attr = m_attributeram[tile_index]; - tileinfo.set(0, - code | ((attr & 0x03) << 8), - col & 0x3f, - TILE_FLIPYX(attr >> 2)); + + tileinfo.set(0, code | ((attr & 0x03) << 8), col & 0x3f, TILE_FLIPYX(attr >> 2)); } @@ -471,7 +469,7 @@ static INPUT_PORTS_START( espial ) PORT_DIPUNUSED( 0x08, IP_ACTIVE_HIGH ) PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON2 ) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_START("DSW1") @@ -507,7 +505,7 @@ static INPUT_PORTS_START( espial ) PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL PORT_START("IN2") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN ) @@ -515,8 +513,8 @@ static INPUT_PORTS_START( espial ) PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON1 ) + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY INPUT_PORTS_END diff --git a/src/mame/orca/kyugo.cpp b/src/mame/orca/kyugo.cpp index 867b9cc5588b1..eb544d95477e8 100644 --- a/src/mame/orca/kyugo.cpp +++ b/src/mame/orca/kyugo.cpp @@ -1,6 +1,6 @@ // license:BSD-3-Clause // copyright-holders:Ernesto Corvi -/*************************************************************************** +/******************************************************************************* Kyugo hardware games @@ -20,7 +20,8 @@ Known issues: * attract mode in Son of Phoenix doesn't work - *************************************************************************** + +******************************************************************************** Repulse bootleg Hardware Info By Guru @@ -121,17 +122,304 @@ Bottom PCB 2764 like the bootleg was but possibly chopped in half for emulation, hence the 4k size of the original ROM compared to the 8k size of the bootleg ROM. -***************************************************************************/ +*******************************************************************************/ #include "emu.h" -#include "kyugo.h" #include "cpu/z80/z80.h" #include "machine/74259.h" +#include "machine/timer.h" #include "machine/watchdog.h" #include "sound/ay8910.h" + +#include "emupal.h" #include "screen.h" #include "speaker.h" +#include "tilemap.h" + +namespace { + +class kyugo_state : public driver_device +{ +public: + kyugo_state(const machine_config &mconfig, device_type type, const char *tag) : + driver_device(mconfig, type, tag), + m_fgvideoram(*this, "fgvideoram"), + m_bgvideoram(*this, "bgvideoram"), + m_bgattribram(*this, "bgattribram"), + m_spriteram(*this, "spriteram_%u", 1U), + m_shared_ram(*this, "shared_ram"), + m_maincpu(*this, "maincpu"), + m_subcpu(*this, "sub"), + m_gfxdecode(*this, "gfxdecode"), + m_palette(*this, "palette") + { } + + void kyugo_base(machine_config &config); + void repulse(machine_config &config); + void flashgala(machine_config &config); + void srdmissn(machine_config &config); + void legend(machine_config &config); + void gyrodine(machine_config &config); + +protected: + virtual void machine_start() override ATTR_COLD; + virtual void machine_reset() override ATTR_COLD; + virtual void video_start() override ATTR_COLD; + +private: + void nmi_mask_w(int state); + void coin_counter_w(offs_t offset, uint8_t data); + void fgvideoram_w(offs_t offset, uint8_t data); + void bgvideoram_w(offs_t offset, uint8_t data); + void bgattribram_w(offs_t offset, uint8_t data); + uint8_t spriteram_2_r(offs_t offset); + void scroll_x_lo_w(uint8_t data); + void gfxctrl_w(uint8_t data); + void scroll_y_w(uint8_t data); + + uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + TIMER_DEVICE_CALLBACK_MEMBER(interrupt); + + void flashgala_sub_map(address_map &map) ATTR_COLD; + void flashgala_sub_portmap(address_map &map) ATTR_COLD; + void gyrodine_main_map(address_map &map) ATTR_COLD; + void gyrodine_sub_map(address_map &map) ATTR_COLD; + void gyrodine_sub_portmap(address_map &map) ATTR_COLD; + void kyugo_main_map(address_map &map) ATTR_COLD; + void kyugo_main_portmap(address_map &map) ATTR_COLD; + void srdmissn_main_map(address_map &map) ATTR_COLD; + void legend_sub_map(address_map &map) ATTR_COLD; + void repulse_sub_map(address_map &map) ATTR_COLD; + void repulse_sub_portmap(address_map &map) ATTR_COLD; + void srdmissn_sub_map(address_map &map) ATTR_COLD; + void srdmissn_sub_portmap(address_map &map) ATTR_COLD; + + // memory pointers + required_shared_ptr m_fgvideoram; + required_shared_ptr m_bgvideoram; + required_shared_ptr m_bgattribram; + required_shared_ptr_array m_spriteram; + required_shared_ptr m_shared_ram; + + uint8_t m_nmi_mask = 0U; + + // video-related + tilemap_t *m_bg_tilemap = nullptr; + tilemap_t *m_fg_tilemap = nullptr; + uint8_t m_scroll_x_lo = 0U; + uint8_t m_scroll_x_hi = 0U; + uint8_t m_scroll_y = 0U; + uint8_t m_bgpalbank = 0U; + uint8_t m_fgcolor = 0U; + const uint8_t *m_color_codes = nullptr; + + // devices + required_device m_maincpu; + required_device m_subcpu; + required_device m_gfxdecode; + required_device m_palette; + + TILE_GET_INFO_MEMBER(get_fg_tile_info); + TILE_GET_INFO_MEMBER(get_bg_tile_info); + void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect); +}; + + + +/*************************************************************************** + + Callbacks for the TileMap code + +***************************************************************************/ + +TILE_GET_INFO_MEMBER(kyugo_state::get_fg_tile_info) +{ + int code = m_fgvideoram[tile_index]; + int color = m_color_codes[code >> 3] << 1 | m_fgcolor; + + tileinfo.set(0, code, color, 0); +} + + +TILE_GET_INFO_MEMBER(kyugo_state::get_bg_tile_info) +{ + int attr = m_bgattribram[tile_index]; + int code = m_bgvideoram[tile_index] | ((attr & 0x03) << 8); + int color = (attr >> 4) | (m_bgpalbank << 4); + + tileinfo.set(1, code, color, TILE_FLIPYX((attr & 0x0c) >> 2)); +} + + + +/************************************* + * + * Video system start + * + *************************************/ + +void kyugo_state::video_start() +{ + m_color_codes = memregion("proms")->base() + 0x300; + + m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(kyugo_state::get_fg_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 64, 32); + m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(kyugo_state::get_bg_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 64, 32); + + m_fg_tilemap->set_transparent_pen(0); + + m_bg_tilemap->set_scrolldx(-32, 288+32); +} + + + +/************************************* + * + * Memory handlers + * + *************************************/ + +void kyugo_state::fgvideoram_w(offs_t offset, uint8_t data) +{ + m_fgvideoram[offset] = data; + m_fg_tilemap->mark_tile_dirty(offset); +} + + +void kyugo_state::bgvideoram_w(offs_t offset, uint8_t data) +{ + m_bgvideoram[offset] = data; + m_bg_tilemap->mark_tile_dirty(offset); +} + + +void kyugo_state::bgattribram_w(offs_t offset, uint8_t data) +{ + m_bgattribram[offset] = data; + m_bg_tilemap->mark_tile_dirty(offset); +} + + +uint8_t kyugo_state::spriteram_2_r(offs_t offset) +{ + // only the lower nibble is connected + return m_spriteram[1][offset] | 0xf0; +} + + +void kyugo_state::scroll_x_lo_w(uint8_t data) +{ + m_scroll_x_lo = data; +} + + +void kyugo_state::gfxctrl_w(uint8_t data) +{ + // bit 0 is scroll MSB + m_scroll_x_hi = data & 0x01; + + // bit 5 is front layer color (Son of Phoenix only) + if (m_fgcolor != ((data & 0x20) >> 5)) + { + m_fgcolor = (data & 0x20) >> 5; + m_fg_tilemap->mark_all_dirty(); + } + + // bit 6 is background palette bank + if (m_bgpalbank != ((data & 0x40) >> 6)) + { + m_bgpalbank = (data & 0x40) >> 6; + m_bg_tilemap->mark_all_dirty(); + } + + // other bits are unknown +} + + +void kyugo_state::scroll_y_w(uint8_t data) +{ + m_scroll_y = data; +} + + + +/************************************* + * + * Video update + * + *************************************/ + +void kyugo_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect) +{ + // sprite information is scattered through memory + // and uses a portion of the text layer memory (outside the visible area) + uint8_t *spriteram_area1 = &m_spriteram[0][0x28]; + uint8_t *spriteram_area2 = &m_spriteram[1][0x28]; + uint8_t *spriteram_area3 = &m_fgvideoram[0x28]; + + int flip = flip_screen(); + + for (int n = 0; n < 12 * 2; n++) + { + int offs, sy, sx, color; + + offs = 2 * (n % 12) + 64 * (n / 12); + + sx = spriteram_area3[offs + 1] + 256 * (spriteram_area2[offs + 1] & 1); + if (sx > 320) + sx -= 512; + + sy = 255 - spriteram_area1[offs] + 2; + if (sy > 0xf0) + sy -= 256; + + if (flip) + sy = 240 - sy; + + color = spriteram_area1[offs + 1] & 0x1f; + + for (int y = 0; y < 16; y++) + { + int code = spriteram_area3[offs + 128 * y]; + int attr = spriteram_area2[offs + 128 * y]; + + code = code | ((attr & 0x01) << 9) | ((attr & 0x02) << 7); + + int flipx = attr & 0x08; + int flipy = attr & 0x04; + + if (flip) + { + flipx = !flipx; + flipy = !flipy; + } + + m_gfxdecode->gfx(2)->transpen(bitmap,cliprect, + code, + color, + flipx,flipy, + sx, flip ? sy - 16*y : sy + 16*y, 0 ); + } + } +} + + +uint32_t kyugo_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +{ + if (flip_screen()) + m_bg_tilemap->set_scrollx(0, -(m_scroll_x_lo + (m_scroll_x_hi * 256))); + else + m_bg_tilemap->set_scrollx(0, m_scroll_x_lo + (m_scroll_x_hi * 256)); + + m_bg_tilemap->set_scrolly(0, m_scroll_y); + + m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0); + draw_sprites(bitmap, cliprect); + m_fg_tilemap->draw(screen, bitmap, cliprect, 0, 0); + + return 0; +} + /************************************* @@ -187,7 +475,6 @@ void kyugo_state::kyugo_main_portmap(address_map &map) - /************************************* * * Sub CPU memory handlers @@ -305,7 +592,7 @@ void kyugo_state::srdmissn_sub_portmap(address_map &map) static INPUT_PORTS_START( common ) PORT_START("DSW2") - PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("DSW2:1,2,3") + PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("DSW2:1,2,3") PORT_DIPSETTING( 0x02, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x01, DEF_STR( 3C_2C ) ) PORT_DIPSETTING( 0x07, DEF_STR( 1C_1C ) ) @@ -314,7 +601,7 @@ static INPUT_PORTS_START( common ) PORT_DIPSETTING( 0x04, DEF_STR( 1C_4C ) ) PORT_DIPSETTING( 0x03, DEF_STR( 1C_6C ) ) PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) ) - PORT_DIPNAME( 0x38, 0x38, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("DSW2:4,5,6") + PORT_DIPNAME( 0x38, 0x38, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("DSW2:4,5,6") PORT_DIPSETTING( 0x00, DEF_STR( 5C_1C ) ) PORT_DIPSETTING( 0x08, DEF_STR( 4C_1C ) ) PORT_DIPSETTING( 0x10, DEF_STR( 3C_1C ) ) @@ -323,8 +610,8 @@ static INPUT_PORTS_START( common ) PORT_DIPSETTING( 0x20, DEF_STR( 3C_4C ) ) PORT_DIPSETTING( 0x30, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x28, DEF_STR( 1C_3C ) ) - PORT_DIPUNUSED( 0x40, IP_ACTIVE_LOW ) PORT_DIPLOCATION("DSW2:7") - PORT_DIPUNUSED( 0x80, IP_ACTIVE_LOW ) PORT_DIPLOCATION("DSW2:8") + PORT_DIPUNUSED( 0x40, IP_ACTIVE_LOW ) PORT_DIPLOCATION("DSW2:7") + PORT_DIPUNUSED( 0x80, IP_ACTIVE_LOW ) PORT_DIPLOCATION("DSW2:8") PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) @@ -359,23 +646,23 @@ INPUT_PORTS_END static INPUT_PORTS_START( gyrodine ) PORT_START("DSW1") - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) PORT_DIPLOCATION("DSW1:1,2") + PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) PORT_DIPLOCATION("DSW1:1,2") PORT_DIPSETTING( 0x03, "3" ) PORT_DIPSETTING( 0x02, "4" ) PORT_DIPSETTING( 0x01, "5" ) PORT_DIPSETTING( 0x00, "6" ) PORT_DIPUNUSED_DIPLOC( 0x04, IP_ACTIVE_LOW, "DSW1:3" ) PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "DSW1:4" ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("DSW1:5") + PORT_DIPNAME( 0x10, 0x10, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("DSW1:5") PORT_DIPSETTING( 0x10, DEF_STR( Easy ) ) PORT_DIPSETTING( 0x00, DEF_STR( Hard ) ) - PORT_DIPNAME( 0x20, 0x20, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("DSW1:6") + PORT_DIPNAME( 0x20, 0x20, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("DSW1:6") PORT_DIPSETTING( 0x20, "20000 50000" ) PORT_DIPSETTING( 0x00, "40000 70000" ) - PORT_DIPNAME( 0x40, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("DSW1:7") + PORT_DIPNAME( 0x40, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("DSW1:7") PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) PORT_DIPSETTING( 0x40, DEF_STR( Cocktail ) ) - PORT_DIPNAME( 0x80, 0x80, "Freeze" ) PORT_DIPLOCATION("DSW1:8") + PORT_DIPNAME( 0x80, 0x80, "Freeze" ) PORT_DIPLOCATION("DSW1:8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) @@ -384,7 +671,7 @@ INPUT_PORTS_END static INPUT_PORTS_START( repulse ) PORT_START("DSW1") - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) PORT_DIPLOCATION("DSW1:1,2") + PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) PORT_DIPLOCATION("DSW1:1,2") PORT_DIPSETTING( 0x03, "3" ) PORT_DIPSETTING( 0x02, "4" ) PORT_DIPSETTING( 0x01, "5" ) @@ -404,14 +691,14 @@ static INPUT_PORTS_START( repulse ) PORT_DIPNAME( 0x40, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("DSW1:7") PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) PORT_DIPSETTING( 0x40, DEF_STR( Cocktail ) ) - PORT_DIPNAME( 0x80, 0x80, "Freeze" ) PORT_DIPLOCATION("DSW1:8") + PORT_DIPNAME( 0x80, 0x80, "Freeze" ) PORT_DIPLOCATION("DSW1:8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_INCLUDE( common ) PORT_MODIFY("DSW2") - PORT_DIPNAME( 0xc0, 0x80, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("DSW2:7,8") + PORT_DIPNAME( 0xc0, 0x80, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("DSW2:7,8") PORT_DIPSETTING( 0xc0, DEF_STR( Easy ) ) PORT_DIPSETTING( 0x80, DEF_STR( Normal ) ) PORT_DIPSETTING( 0x40, DEF_STR( Hard ) ) @@ -420,7 +707,7 @@ INPUT_PORTS_END static INPUT_PORTS_START( airwolf ) PORT_START("DSW1") - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) PORT_DIPLOCATION("DSW1:1,2") + PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) PORT_DIPLOCATION("DSW1:1,2") PORT_DIPSETTING( 0x03, "4" ) PORT_DIPSETTING( 0x02, "5" ) PORT_DIPSETTING( 0x01, "6" ) @@ -452,7 +739,7 @@ static INPUT_PORTS_START( skywolf ) PORT_INCLUDE( airwolf ) PORT_MODIFY("DSW1") - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) PORT_DIPLOCATION("DSW1:1,2") + PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) PORT_DIPLOCATION("DSW1:1,2") PORT_DIPSETTING( 0x03, "3" ) PORT_DIPSETTING( 0x02, "4" ) PORT_DIPSETTING( 0x01, "5" ) @@ -461,7 +748,7 @@ INPUT_PORTS_END static INPUT_PORTS_START( flashgal ) PORT_START("DSW1") - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) PORT_DIPLOCATION("DSW1:1,2") + PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) PORT_DIPLOCATION("DSW1:1,2") PORT_DIPSETTING( 0x03, "3" ) PORT_DIPSETTING( 0x02, "4" ) PORT_DIPSETTING( 0x01, "5" ) @@ -490,7 +777,7 @@ INPUT_PORTS_END static INPUT_PORTS_START( srdmissn ) PORT_START("DSW1") - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) PORT_DIPLOCATION("DSW1:1,2") + PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) PORT_DIPLOCATION("DSW1:1,2") PORT_DIPSETTING( 0x03, "3" ) PORT_DIPSETTING( 0x02, "4" ) PORT_DIPSETTING( 0x01, "5" ) @@ -519,7 +806,7 @@ INPUT_PORTS_END static INPUT_PORTS_START( legend ) PORT_START("DSW1") - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) PORT_DIPLOCATION("DSW1:1,2") + PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) PORT_DIPLOCATION("DSW1:1,2") PORT_DIPSETTING( 0x03, "3" ) PORT_DIPSETTING( 0x02, "4" ) PORT_DIPSETTING( 0x01, "5" ) @@ -530,7 +817,7 @@ static INPUT_PORTS_START( legend ) PORT_DIPNAME( 0x08, 0x08, "Slow Motion" ) PORT_DIPLOCATION("DSW1:4") PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:5") // probably unused + PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:5") // probably unused PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, "Sound Test" ) PORT_DIPLOCATION("DSW1:6") @@ -547,6 +834,7 @@ static INPUT_PORTS_START( legend ) INPUT_PORTS_END + /************************************* * * Graphics definitions @@ -595,6 +883,7 @@ static GFXDECODE_START( gfx_kyugo ) GFXDECODE_END + /************************************* * * Machine drivers @@ -619,25 +908,31 @@ void kyugo_state::machine_reset() m_fgcolor = 0; } -INTERRUPT_GEN_MEMBER(kyugo_state::vblank_irq) +TIMER_DEVICE_CALLBACK_MEMBER(kyugo_state::interrupt) { - if(m_nmi_mask) - device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); + int scanline = param; + + // vblank interrupt + if (scanline == 240 && m_nmi_mask) + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); + + // 4 sound interrupts per frame + if ((scanline & 0x3f) == 0x20) + m_subcpu->set_input_line(0, HOLD_LINE); } void kyugo_state::kyugo_base(machine_config &config) { // basic machine hardware - Z80(config, m_maincpu, XTAL(18'432'000)/6); // verified on pcb + Z80(config, m_maincpu, 18.432_MHz_XTAL / 6); // verified on pcb m_maincpu->set_addrmap(AS_PROGRAM, &kyugo_state::kyugo_main_map); m_maincpu->set_addrmap(AS_IO, &kyugo_state::kyugo_main_portmap); - m_maincpu->set_vblank_int("screen", FUNC(kyugo_state::vblank_irq)); + TIMER(config, "scantimer").configure_scanline(FUNC(kyugo_state::interrupt), "screen", 0, 1); - Z80(config, m_subcpu, XTAL(18'432'000)/6); // verified on pcb + Z80(config, m_subcpu, 18.432_MHz_XTAL / 6); // verified on pcb m_subcpu->set_addrmap(AS_PROGRAM, &kyugo_state::gyrodine_sub_map); m_subcpu->set_addrmap(AS_IO, &kyugo_state::gyrodine_sub_portmap); - m_subcpu->set_periodic_int(FUNC(kyugo_state::irq0_line_hold), attotime::from_hz(4*60)); config.set_maximum_quantum(attotime::from_hz(6000)); @@ -648,10 +943,7 @@ void kyugo_state::kyugo_base(machine_config &config) // video hardware screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_refresh_hz(60); - screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); // not accurate - screen.set_size(64*8, 32*8); - screen.set_visarea(0*8, 36*8-1, 2*8, 30*8-1); + screen.set_raw(18.432_MHz_XTAL / 3, 396, 0, 288, 260, 16, 240); screen.set_screen_update(FUNC(kyugo_state::screen_update)); screen.set_palette(m_palette); @@ -661,17 +953,18 @@ void kyugo_state::kyugo_base(machine_config &config) // sound hardware SPEAKER(config, "mono").front_center(); - ay8910_device &ay1(AY8910(config, "ay1", XTAL(18'432'000)/12)); // verified on pcb + ay8910_device &ay1(AY8910(config, "ay1", 18.432_MHz_XTAL / 12)); // verified on pcb ay1.port_a_read_callback().set_ioport("DSW1"); ay1.port_b_read_callback().set_ioport("DSW2"); ay1.add_route(ALL_OUTPUTS, "mono", 0.30); - AY8910(config, "ay2", XTAL(18'432'000)/12).add_route(ALL_OUTPUTS, "mono", 0.30); // verified on pcb + AY8910(config, "ay2", 18.432_MHz_XTAL / 12).add_route(ALL_OUTPUTS, "mono", 0.30); // verified on pcb } void kyugo_state::gyrodine(machine_config &config) { kyugo_base(config); + // add watchdog WATCHDOG_TIMER(config, "watchdog"); m_maincpu->set_addrmap(AS_PROGRAM, &kyugo_state::gyrodine_main_map); @@ -715,6 +1008,7 @@ void kyugo_state::legend(machine_config &config) } + /************************************* * * ROM definitions @@ -1578,7 +1872,7 @@ ROM_START( legendb ) ROM_LOAD( "epl12p6.9j", 0x0200, 0x0034, CRC(dcae870d) SHA1(2224724a3faf0608083f5d6ff76712adc7616a54) ) ROM_END - +} // anonymous namespace diff --git a/src/mame/orca/kyugo.h b/src/mame/orca/kyugo.h deleted file mode 100644 index 72261a255f297..0000000000000 --- a/src/mame/orca/kyugo.h +++ /dev/null @@ -1,102 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Ernesto Corvi -/*************************************************************************** - - Kyugo hardware games - -***************************************************************************/ -#ifndef MAME_ORCA_KYUGO_H -#define MAME_ORCA_KYUGO_H - -#pragma once - -#include "emupal.h" -#include "tilemap.h" - -class kyugo_state : public driver_device -{ -public: - kyugo_state(const machine_config &mconfig, device_type type, const char *tag) : - driver_device(mconfig, type, tag), - m_fgvideoram(*this, "fgvideoram"), - m_bgvideoram(*this, "bgvideoram"), - m_bgattribram(*this, "bgattribram"), - m_spriteram(*this, "spriteram_%u", 1U), - m_shared_ram(*this, "shared_ram"), - m_maincpu(*this, "maincpu"), - m_subcpu(*this, "sub"), - m_gfxdecode(*this, "gfxdecode"), - m_palette(*this, "palette") - { } - - void kyugo_base(machine_config &config); - void repulse(machine_config &config); - void flashgala(machine_config &config); - void srdmissn(machine_config &config); - void legend(machine_config &config); - void gyrodine(machine_config &config); - -protected: - virtual void machine_start() override ATTR_COLD; - virtual void machine_reset() override ATTR_COLD; - virtual void video_start() override ATTR_COLD; - -private: - void nmi_mask_w(int state); - void coin_counter_w(offs_t offset, uint8_t data); - void fgvideoram_w(offs_t offset, uint8_t data); - void bgvideoram_w(offs_t offset, uint8_t data); - void bgattribram_w(offs_t offset, uint8_t data); - uint8_t spriteram_2_r(offs_t offset); - void scroll_x_lo_w(uint8_t data); - void gfxctrl_w(uint8_t data); - void scroll_y_w(uint8_t data); - - uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - INTERRUPT_GEN_MEMBER(vblank_irq); - - void flashgala_sub_map(address_map &map) ATTR_COLD; - void flashgala_sub_portmap(address_map &map) ATTR_COLD; - void gyrodine_main_map(address_map &map) ATTR_COLD; - void gyrodine_sub_map(address_map &map) ATTR_COLD; - void gyrodine_sub_portmap(address_map &map) ATTR_COLD; - void kyugo_main_map(address_map &map) ATTR_COLD; - void kyugo_main_portmap(address_map &map) ATTR_COLD; - void srdmissn_main_map(address_map &map) ATTR_COLD; - void legend_sub_map(address_map &map) ATTR_COLD; - void repulse_sub_map(address_map &map) ATTR_COLD; - void repulse_sub_portmap(address_map &map) ATTR_COLD; - void srdmissn_sub_map(address_map &map) ATTR_COLD; - void srdmissn_sub_portmap(address_map &map) ATTR_COLD; - - // memory pointers - required_shared_ptr m_fgvideoram; - required_shared_ptr m_bgvideoram; - required_shared_ptr m_bgattribram; - required_shared_ptr_array m_spriteram; - required_shared_ptr m_shared_ram; - - uint8_t m_nmi_mask = 0U; - - // video-related - tilemap_t *m_bg_tilemap = nullptr; - tilemap_t *m_fg_tilemap = nullptr; - uint8_t m_scroll_x_lo = 0U; - uint8_t m_scroll_x_hi = 0U; - uint8_t m_scroll_y = 0U; - uint8_t m_bgpalbank = 0U; - uint8_t m_fgcolor = 0U; - const uint8_t *m_color_codes = nullptr; - - // devices - required_device m_maincpu; - required_device m_subcpu; - required_device m_gfxdecode; - required_device m_palette; - - TILE_GET_INFO_MEMBER(get_fg_tile_info); - TILE_GET_INFO_MEMBER(get_bg_tile_info); - void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect); -}; - -#endif // MAME_ORCA_KYUGO_H diff --git a/src/mame/orca/kyugo_v.cpp b/src/mame/orca/kyugo_v.cpp deleted file mode 100644 index c0b36d192f92d..0000000000000 --- a/src/mame/orca/kyugo_v.cpp +++ /dev/null @@ -1,207 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Ernesto Corvi -/*************************************************************************** - - Kyugo hardware games - -***************************************************************************/ - -#include "emu.h" -#include "kyugo.h" - - -/*************************************************************************** - - Callbacks for the TileMap code - -***************************************************************************/ - -TILE_GET_INFO_MEMBER(kyugo_state::get_fg_tile_info) -{ - int code = m_fgvideoram[tile_index]; - tileinfo.set(0, - code, - 2 * m_color_codes[code >> 3] + m_fgcolor, - 0); -} - - -TILE_GET_INFO_MEMBER(kyugo_state::get_bg_tile_info) -{ - int code = m_bgvideoram[tile_index]; - int attr = m_bgattribram[tile_index]; - tileinfo.set(1, - code | ((attr & 0x03) << 8), - (attr >> 4) | (m_bgpalbank << 4), - TILE_FLIPYX((attr & 0x0c) >> 2)); -} - - -/************************************* - * - * Video system start - * - *************************************/ - -void kyugo_state::video_start() -{ - m_color_codes = memregion("proms")->base() + 0x300; - - m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(kyugo_state::get_fg_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 64, 32); - m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(kyugo_state::get_bg_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 64, 32); - - m_fg_tilemap->set_transparent_pen(0); - - m_bg_tilemap->set_scrolldx(-32, 288+32); -} - - -/************************************* - * - * Memory handlers - * - *************************************/ - -void kyugo_state::fgvideoram_w(offs_t offset, uint8_t data) -{ - m_fgvideoram[offset] = data; - m_fg_tilemap->mark_tile_dirty(offset); -} - - -void kyugo_state::bgvideoram_w(offs_t offset, uint8_t data) -{ - m_bgvideoram[offset] = data; - m_bg_tilemap->mark_tile_dirty(offset); -} - - -void kyugo_state::bgattribram_w(offs_t offset, uint8_t data) -{ - m_bgattribram[offset] = data; - m_bg_tilemap->mark_tile_dirty(offset); -} - - -uint8_t kyugo_state::spriteram_2_r(offs_t offset) -{ - // only the lower nibble is connected - return m_spriteram[1][offset] | 0xf0; -} - - -void kyugo_state::scroll_x_lo_w(uint8_t data) -{ - m_scroll_x_lo = data; -} - - -void kyugo_state::gfxctrl_w(uint8_t data) -{ - // bit 0 is scroll MSB - m_scroll_x_hi = data & 0x01; - - // bit 5 is front layer color (Son of Phoenix only) - if (m_fgcolor != ((data & 0x20) >> 5)) - { - m_fgcolor = (data & 0x20) >> 5; - - m_fg_tilemap->mark_all_dirty(); - } - - // bit 6 is background palette bank - if (m_bgpalbank != ((data & 0x40) >> 6)) - { - m_bgpalbank = (data & 0x40) >> 6; - m_bg_tilemap->mark_all_dirty(); - } - - if (data & 0x9e) - popmessage("%02x",data); -} - - -void kyugo_state::scroll_y_w(uint8_t data) -{ - m_scroll_y = data; -} - - -/************************************* - * - * Video update - * - *************************************/ - -void kyugo_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect) -{ - // sprite information is scattered through memory - // and uses a portion of the text layer memory (outside the visible area) - uint8_t *spriteram_area1 = &m_spriteram[0][0x28]; - uint8_t *spriteram_area2 = &m_spriteram[1][0x28]; - uint8_t *spriteram_area3 = &m_fgvideoram[0x28]; - - int flip = flip_screen(); - - for (int n = 0; n < 12 * 2; n++) - { - int offs, sy, sx, color; - - offs = 2 * (n % 12) + 64 * (n / 12); - - sx = spriteram_area3[offs + 1] + 256 * (spriteram_area2[offs + 1] & 1); - if (sx > 320) - sx -= 512; - - sy = 255 - spriteram_area1[offs] + 2; - if (sy > 0xf0) - sy -= 256; - - if (flip) - sy = 240 - sy; - - color = spriteram_area1[offs + 1] & 0x1f; - - for (int y = 0; y < 16; y++) - { - int code, attr, flipx, flipy; - - code = spriteram_area3[offs + 128 * y]; - attr = spriteram_area2[offs + 128 * y]; - - code = code | ((attr & 0x01) << 9) | ((attr & 0x02) << 7); - - flipx = attr & 0x08; - flipy = attr & 0x04; - - if (flip) - { - flipx = !flipx; - flipy = !flipy; - } - - - m_gfxdecode->gfx(2)->transpen(bitmap,cliprect, - code, - color, - flipx,flipy, - sx,flip ? sy - 16*y : sy + 16*y, 0 ); - } - } -} - - -uint32_t kyugo_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) -{ - if (flip_screen()) - m_bg_tilemap->set_scrollx(0, -(m_scroll_x_lo + (m_scroll_x_hi * 256))); - else - m_bg_tilemap->set_scrollx(0, m_scroll_x_lo + (m_scroll_x_hi * 256)); - - m_bg_tilemap->set_scrolly(0, m_scroll_y); - - m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0); - draw_sprites(bitmap, cliprect); - m_fg_tilemap->draw(screen, bitmap, cliprect, 0, 0); - return 0; -} diff --git a/src/mame/orla/hk1000.cpp b/src/mame/orla/hk1000.cpp index b53adf3f3c93a..93a3911777363 100644 --- a/src/mame/orla/hk1000.cpp +++ b/src/mame/orla/hk1000.cpp @@ -146,4 +146,4 @@ ROM_END } // anonymous namespace -SYST(198?, hk1000, 0, 0, hk1000, hk1000, hk1000_state, empty_init, "Orla", "HK1000", MACHINE_IS_SKELETON) +SYST(198?, hk1000, 0, 0, hk1000, hk1000, hk1000_state, empty_init, "Orla", "HK1000", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/orla/xm200.cpp b/src/mame/orla/xm200.cpp index 693712ba599a5..83427c75d6c29 100644 --- a/src/mame/orla/xm200.cpp +++ b/src/mame/orla/xm200.cpp @@ -61,4 +61,4 @@ ROM_END } // anonymous namespace -SYST(1990, xm200, 0, 0, xm200, xm200, xm200_state, empty_init, "Orla", "XM200 Orchestra Module", MACHINE_IS_SKELETON) +SYST(1990, xm200, 0, 0, xm200, xm200, xm200_state, empty_init, "Orla", "XM200 Orchestra Module", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/pc/calchase.cpp b/src/mame/pc/calchase.cpp index 51ac9bf669503..110d0b3bc386f 100644 --- a/src/mame/pc/calchase.cpp +++ b/src/mame/pc/calchase.cpp @@ -292,7 +292,7 @@ static INPUT_PORTS_START( calchase_jamma ) PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("IOCARD3") -// PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("isa2:tgui9680:screen") +// PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("isa2:tgui9680:screen", FUNC(screen_device::vblank)) PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(FUNC(isa16_calchase_jamma_if::heartbeat_r)) PORT_BIT( 0xdfff, IP_ACTIVE_LOW, IPT_UNUSED ) @@ -336,7 +336,7 @@ static INPUT_PORTS_START( calchase_jamma ) PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x1000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) -// PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("isa2:tgui9680:screen") // eggsplc +// PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("isa2:tgui9680:screen", FUNC(screen_device::vblank)) // eggsplc PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(FUNC(isa16_calchase_jamma_if::heartbeat_r)) PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x4000, DEF_STR( Off ) ) diff --git a/src/mame/pc/conliner.cpp b/src/mame/pc/conliner.cpp index 88170e6cb4512..6ecdd8974cb07 100644 --- a/src/mame/pc/conliner.cpp +++ b/src/mame/pc/conliner.cpp @@ -102,4 +102,4 @@ ROM_END } // Anonymous namespace // YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS -GAME(200?, onlinertp, 0, conliner, conliner, conliner_state, empty_init, ROT0, "Comatel / Atata Systems", "Onliner Touch Party", MACHINE_IS_SKELETON) // v4.222.493, with v4.44.450 update +GAME(200?, onlinertp, 0, conliner, conliner, conliner_state, empty_init, ROT0, "Comatel / Atata Systems", "Onliner Touch Party", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) // v4.222.493, with v4.44.450 update diff --git a/src/mame/pc/cuttherope.cpp b/src/mame/pc/cuttherope.cpp index c8adc7f5155fb..eac7f9574873b 100644 --- a/src/mame/pc/cuttherope.cpp +++ b/src/mame/pc/cuttherope.cpp @@ -79,4 +79,4 @@ ROM_END } // anonymous namespace -GAME(2016, cuttherope, 0, cuttherope, cuttherope, cuttherope_state, empty_init, ROT90, "ICE", "Cut The Rope", MACHINE_IS_SKELETON ) +GAME(2016, cuttherope, 0, cuttherope, cuttherope, cuttherope_state, empty_init, ROT90, "ICE", "Cut The Rope", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/pc/ibmpcjr.cpp b/src/mame/pc/ibmpcjr.cpp index 13d65c971e0da..28abb641d8153 100644 --- a/src/mame/pc/ibmpcjr.cpp +++ b/src/mame/pc/ibmpcjr.cpp @@ -119,7 +119,7 @@ class pcjr_state : public driver_device static INPUT_PORTS_START( ibmpcjr ) PORT_START("IN0") /* IN0 */ PORT_BIT ( 0xf0, 0xf0, IPT_UNUSED ) - PORT_BIT ( 0x08, 0x08, IPT_CUSTOM ) PORT_VBLANK("pcvideo_pcjr:screen") + PORT_BIT ( 0x08, 0x08, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("pcvideo_pcjr:screen", FUNC(screen_device::vblank)) PORT_BIT ( 0x07, 0x07, IPT_UNUSED ) INPUT_PORTS_END diff --git a/src/mame/pc/igspc.cpp b/src/mame/pc/igspc.cpp index c991778ec1cdc..568d29e42655d 100644 --- a/src/mame/pc/igspc.cpp +++ b/src/mame/pc/igspc.cpp @@ -126,5 +126,5 @@ void speeddrv_state::init_speeddrv() } // anonymous namespace -GAME( 2004, speeddrv, 0, speeddrv, speeddrv, speeddrv_state, init_speeddrv, ROT0, "IGS", "Speed Driver", MACHINE_IS_SKELETON ) -GAME( 200?, eztouch, 0, speeddrv, speeddrv, speeddrv_state, init_speeddrv, ROT0, "IGS", "EZ Touch (v116 China)", MACHINE_IS_SKELETON ) +GAME( 2004, speeddrv, 0, speeddrv, speeddrv, speeddrv_state, init_speeddrv, ROT0, "IGS", "Speed Driver", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, eztouch, 0, speeddrv, speeddrv, speeddrv_state, init_speeddrv, ROT0, "IGS", "EZ Touch (v116 China)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/pc/nforcepc.cpp b/src/mame/pc/nforcepc.cpp index 6104f045c96fa..9954dd846fb8c 100644 --- a/src/mame/pc/nforcepc.cpp +++ b/src/mame/pc/nforcepc.cpp @@ -1280,4 +1280,4 @@ ROM_END static INPUT_PORTS_START(nforcepc) INPUT_PORTS_END -COMP(2002, nforcepc, 0, 0, nforcepc, nforcepc, nforcepc_state, empty_init, "Nvidia", "Nvidia nForce PC (CRUSH11/12)", MACHINE_IS_SKELETON) +COMP(2002, nforcepc, 0, 0, nforcepc, nforcepc, nforcepc_state, empty_init, "Nvidia", "Nvidia nForce PC (CRUSH11/12)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/pc/paokaipc.cpp b/src/mame/pc/paokaipc.cpp index b497c12c3d1f7..126e67f841474 100644 --- a/src/mame/pc/paokaipc.cpp +++ b/src/mame/pc/paokaipc.cpp @@ -118,4 +118,4 @@ ROM_END } // anonymous namespace -GAME( 2007?, gogostrk, 0, paokaipc, gogostrk, paokaipc_state, empty_init, ROT0, "American Alpha / Paokai", "Go Go Strike", MACHINE_IS_SKELETON ) // motherboard is dated 2006, if the CF card string is a date it's 2007 +GAME( 2007?, gogostrk, 0, paokaipc, gogostrk, paokaipc_state, empty_init, ROT0, "American Alpha / Paokai", "Go Go Strike", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // motherboard is dated 2006, if the CF card string is a date it's 2007 diff --git a/src/mame/pc/quakeat.cpp b/src/mame/pc/quakeat.cpp index af62e0c0f072f..06e55044e0e07 100644 --- a/src/mame/pc/quakeat.cpp +++ b/src/mame/pc/quakeat.cpp @@ -238,5 +238,5 @@ ROM_END COMP( 1999, ga6la7, 0, 0, ga6la7, 0, quakeat_state, empty_init, "Gigabyte", "GA-6LA7", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // errors out with ISA state 0x05 (keyboard), then wants flash ROM i/f to work properly -GAME( 1998, quake, 0, quake, quake, quakeat_state, empty_init, ROT0, "Lazer-Tron / iD Software", "Quake Arcade Tournament (Release Beta 2)", MACHINE_IS_SKELETON ) +GAME( 1998, quake, 0, quake, quake, quakeat_state, empty_init, ROT0, "Lazer-Tron / iD Software", "Quake Arcade Tournament (Release Beta 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // Actua Soccer Arcade diff --git a/src/mame/pc/queen.cpp b/src/mame/pc/queen.cpp index 1cedf1e6645fe..015adb7bec0f5 100644 --- a/src/mame/pc/queen.cpp +++ b/src/mame/pc/queen.cpp @@ -315,4 +315,4 @@ ROM_END } // anonymous namespace -GAME( 2002?, queen, 0, queen, 0, queen_state, empty_init, ROT0, "STG", "Queen?", MACHINE_IS_SKELETON ) +GAME( 2002?, queen, 0, queen, 0, queen_state, empty_init, ROT0, "STG", "Queen?", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/pc/tandy1t.cpp b/src/mame/pc/tandy1t.cpp index 877dd915e6064..7afbd441a36de 100644 --- a/src/mame/pc/tandy1t.cpp +++ b/src/mame/pc/tandy1t.cpp @@ -487,7 +487,7 @@ void tandy1000_state::tandy1000_bank_w(offs_t offset, uint8_t data) static INPUT_PORTS_START( t1000 ) PORT_START("IN0") /* IN0 */ PORT_BIT ( 0xf0, 0xf0, IPT_UNUSED ) - PORT_BIT ( 0x08, 0x08, IPT_CUSTOM ) PORT_VBLANK("pcvideo_t1000:screen") + PORT_BIT ( 0x08, 0x08, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("pcvideo_t1000:screen", FUNC(screen_device::vblank)) PORT_BIT ( 0x07, 0x07, IPT_UNUSED ) PORT_START("DSW0") /* IN1 */ diff --git a/src/mame/pc/tosh1000.cpp b/src/mame/pc/tosh1000.cpp index 3505334f30c2d..b5f9633005fdd 100644 --- a/src/mame/pc/tosh1000.cpp +++ b/src/mame/pc/tosh1000.cpp @@ -314,4 +314,4 @@ ROM_END // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 1987, tosh1000, ibm5150, 0, tosh1000, 0, tosh1000_state, init_tosh1000, "Toshiba", "Toshiba T1000", MACHINE_IS_SKELETON ) +COMP( 1987, tosh1000, ibm5150, 0, tosh1000, 0, tosh1000_state, init_tosh1000, "Toshiba", "Toshiba T1000", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/philips/odyssey2.cpp b/src/mame/philips/odyssey2.cpp index 381b6bdc2983f..e760fce85c9dd 100644 --- a/src/mame/philips/odyssey2.cpp +++ b/src/mame/philips/odyssey2.cpp @@ -55,10 +55,16 @@ XTAL notes (differs per model): - backgamm doesn't draw all the chars/sprites, it does multiple screen updates and writes to the ptr/color registers, but does not increment the Y regs. Does it (ab)use an undocumented 8245 feature? -- g7400 helicopt sometimes locks up at the sea level, timing or IRQ related? -- volley has a sprite-char collision detection problem, causing the team on the - right to never serve the ball. Sprite positions are correct so it's not that, - and as seen on videos of other games, transparent pixels don't cause a collision. +- G7400 helicopt sometimes locks up at the sea level, timing or IRQ related? +- testcartpl is French instead of English on G7400. It's due to inaccurate mcs48 + timer emulation. It sets up the timer to trigger an IRQ exactly 32 cycles later, + but MAME is 2 cycles (or 1 opcode) too early, and a language check fails. It + uses the internal timer, not the T1 timer, so it works reliably on the real + console. Set bp 41a in the debugger to see. +- spaans has a keyboard debounce issue: if you push and hold a key after the game + revealed the answer, it will be entered in the next input field. It's a prototype + so it wouldn't be surprising if there are bugs, but this issue does not happen on + a real Videopac or Odyssey 2. It's probably video timing related. - screen resolution is not strictly defined, height(243) is correct, but horizontal overscan differs depending on monitor/tv? see syracuse for overscan - 824x on the real console, overlapping major system characters with eachother @@ -77,8 +83,8 @@ XTAL notes (differs per model): to inaccurate PAL video timing. The game does mid-scanline video updates. * gtwallst turns the display on too soon, the middle scroller is partially visible when it's not supposed to (also a bit glitchy on NTSC but not as bad) -- g7400 probably has different video timing too (not same as g7000) -- 4in1 and musician are not supposed to work on g7400, but work fine on MAME, +- G7400 probably has different video timing too (not same as G7000) +- 4in1 and musician are not supposed to work on G7400, but work fine on MAME, caused by bus conflict or because they write to P2? - according to tests, 8244 does not have a sound interrupt, but the Philips service test cartridge for 8245 tests for it and fails if it did not get an irq @@ -100,7 +106,7 @@ XTAL notes (differs per model): - a lot of PAL games have problems on NTSC (the other way around, not so much) * most-common cause is due to shorter vblank, less time to prepare frame * characters are not rendered near upper border on 8244 (eg. tutank, chezmxme) -- g7400 games don't look correct on odyssey3 and vice versa: ef934x graphics are +- G7400 games don't look correct on odyssey3 and vice versa: ef934x graphics are placed lower on odyssey3 - Blackjack (Videopac 5) does not work on G7400, caused by a removed BIOS routine - due to different XTAL ratio on Jopac JO7400, some games that do mid-screen video diff --git a/src/mame/philips/philipsbo.cpp b/src/mame/philips/philipsbo.cpp index cf9b22de7ba68..7cd797013fdfe 100644 --- a/src/mame/philips/philipsbo.cpp +++ b/src/mame/philips/philipsbo.cpp @@ -268,4 +268,4 @@ ROM_END } // Anonymous namespace -COMP( 1987, pbo, 0, 0, pbo, pbo, pbo_state, empty_init, "Philips", "BO (Videosynthesizer Prototype)", MACHINE_IS_SKELETON ) +COMP( 1987, pbo, 0, 0, pbo, pbo, pbo_state, empty_init, "Philips", "BO (Videosynthesizer Prototype)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/phoenix/naughtyb.cpp b/src/mame/phoenix/naughtyb.cpp index c307c2ba91df5..a5eb3a1d910e8 100644 --- a/src/mame/phoenix/naughtyb.cpp +++ b/src/mame/phoenix/naughtyb.cpp @@ -336,7 +336,7 @@ static INPUT_PORTS_START( naughtyb ) PORT_START( "FAKE" ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, FUNC(naughtyb_state::coin_inserted), 0) // when reading DSW0, bit 7 doesn't read cabinet, but vblank - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) INPUT_PORTS_END static INPUT_PORTS_START( trvmstr ) @@ -384,7 +384,7 @@ static INPUT_PORTS_START( trvmstr ) PORT_START( "FAKE" ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, FUNC(naughtyb_state::coin_inserted), 0) // when reading DSW0, bit 7 doesn't read cabinet, but vblank - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) INPUT_PORTS_END diff --git a/src/mame/phoenix/phoenix.cpp b/src/mame/phoenix/phoenix.cpp index ab0cac0d4cd4f..43c264532aa50 100644 --- a/src/mame/phoenix/phoenix.cpp +++ b/src/mame/phoenix/phoenix.cpp @@ -124,7 +124,7 @@ static INPUT_PORTS_START( phoenix ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION( "SW1:7" ) PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("CAB") // fake port for non-memory mapped dip switch PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION( "SW1:!8" ) @@ -207,7 +207,7 @@ static INPUT_PORTS_START( condor ) PORT_DIPSETTING( 0x50, "Fast" ) PORT_DIPSETTING( 0x60, "Faster" ) PORT_DIPSETTING( 0x70, "Fastest" ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("DSW1") PORT_DIPNAME( 0x0f, 0x00, DEF_STR( Coin_B ) ) PORT_DIPLOCATION( "SW2:1,2,3,4" ) @@ -416,7 +416,7 @@ static INPUT_PORTS_START( survival ) PORT_DIPSETTING( 0x20, DEF_STR( 3C_1C ) ) PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x60, DEF_STR( 1C_1C ) ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("CAB") // fake port for non-memory mapped dip switch PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION( "SW1:8" ) diff --git a/src/mame/phoenix/safarir.cpp b/src/mame/phoenix/safarir.cpp index dba84da8355d2..f974071736a64 100644 --- a/src/mame/phoenix/safarir.cpp +++ b/src/mame/phoenix/safarir.cpp @@ -386,7 +386,7 @@ static INPUT_PORTS_START( safarir ) PORT_DIPSETTING( 0x20, "5000" ) PORT_DIPSETTING( 0x40, "7000" ) PORT_DIPSETTING( 0x60, "9000" ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) INPUT_PORTS_END diff --git a/src/mame/pinball/alvg.cpp b/src/mame/pinball/alvg.cpp index d0304c881a6ec..2fad5e6a8682b 100644 --- a/src/mame/pinball/alvg.cpp +++ b/src/mame/pinball/alvg.cpp @@ -64,7 +64,7 @@ USA Football (redemption) 11 Hold A, hit 1 ****************************************************************************************************/ #include "emu.h" #include "genpin.h" -#include "cpu/m6502/m65c02.h" +#include "cpu/m6502/w65c02.h" #include "cpu/m6809/m6809.h" #include "cpu/mcs51/mcs51.h" #include "machine/6522via.h" @@ -596,7 +596,7 @@ void alvg_state::pca020(machine_config &config) void alvg_state::alvg(machine_config &config) { /* basic machine hardware */ - M65C02(config, m_maincpu, XTAL(4'000'000) / 2); + W65C02(config, m_maincpu, XTAL(4'000'000) / 2); m_maincpu->set_addrmap(AS_PROGRAM, &alvg_state::main_map); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); @@ -628,7 +628,7 @@ void alvg_state::alvg(machine_config &config) genpin_audio(config); - INPUT_MERGER_ANY_HIGH(config, "cpuirq").output_handler().set_inputline(m_maincpu, M65C02_IRQ_LINE); + INPUT_MERGER_ANY_HIGH(config, "cpuirq").output_handler().set_inputline(m_maincpu, W65C02_IRQ_LINE); } @@ -1047,19 +1047,19 @@ ROM_END } // Anonymous namespace -GAME( 1991, agsoccer, 0, group1, alvg, alvg_state, empty_init, ROT0, "Alvin G", "A.G. Soccer Ball (R18u, 2.5L sound)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1991, agsoccera, agsoccer, group1, alvg, alvg_state, empty_init, ROT0, "Alvin G", "A.G. Soccer Ball (R18u, 2.1 sound)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1991, agsoccer07, agsoccer, group1, alvg, alvg_state, empty_init, ROT0, "Alvin G", "A.G. Soccer Ball (R07u)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1992, wrldtour, 0, group3, alvg, alvg_state, empty_init, ROT0, "Alvin G", "Al's Garage Band Goes On A World Tour (R01c)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1992, wrldtour2, wrldtour, group3, alvg, alvg_state, empty_init, ROT0, "Alvin G", "Al's Garage Band Goes On A World Tour (R02b)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1992, wrldtour3, wrldtour, group3, alvg, alvg_state, empty_init, ROT0, "Alvin G", "Al's Garage Band Goes On A World Tour (R06a)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1993, usafootb, 0, group1, alvg, alvg_state, empty_init, ROT0, "Alvin G", "U.S.A. Football (R06u)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1993, usafootba, usafootb, group1, alvg, alvg_state, empty_init, ROT0, "Alvin G", "U.S.A. Football (R01u)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1994, usafootf, 0, group1, alvg, alvg_state, empty_init, ROT0, "Alvin G", "U.S.A. Football (P08, redemption)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1993, mystcast, 0, group3, alvg, alvg_state, empty_init, ROT0, "Alvin G", "Mystery Castle (R02)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1993, mystcasta, mystcast, group3, alvg, alvg_state, empty_init, ROT0, "Alvin G", "Mystery Castle (R03)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1993, pstlpkr, 0, group3, alvg, alvg_state, empty_init, ROT0, "Alvin G", "Pistol Poker (R02)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1993, pstlpkr1, pstlpkr, group3, alvg, alvg_state, empty_init, ROT0, "Alvin G", "Pistol Poker (R01)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1993, punchy, 0, group1, alvg, alvg_state, empty_init, ROT0, "Alvin G", "Punchy The Clown (R02)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1993, punchy3, punchy, group1, alvg, alvg_state, empty_init, ROT0, "Alvin G", "Punchy The Clown (R03)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1993, dinoeggs, 0, group2, alvg, alvg_state, empty_init, ROT0, "Alvin G", "Dinosaur Eggs (R02)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME( 1991, agsoccer, 0, group1, alvg, alvg_state, empty_init, ROT0, "Alvin G", "A.G. Soccer Ball (R18u, 2.5L sound)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1991, agsoccera, agsoccer, group1, alvg, alvg_state, empty_init, ROT0, "Alvin G", "A.G. Soccer Ball (R18u, 2.1 sound)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1991, agsoccer07, agsoccer, group1, alvg, alvg_state, empty_init, ROT0, "Alvin G", "A.G. Soccer Ball (R07u)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1992, wrldtour, 0, group3, alvg, alvg_state, empty_init, ROT0, "Alvin G", "Al's Garage Band Goes On A World Tour (R01c)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1992, wrldtour2, wrldtour, group3, alvg, alvg_state, empty_init, ROT0, "Alvin G", "Al's Garage Band Goes On A World Tour (R02b)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1992, wrldtour3, wrldtour, group3, alvg, alvg_state, empty_init, ROT0, "Alvin G", "Al's Garage Band Goes On A World Tour (R06a)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1993, usafootb, 0, group1, alvg, alvg_state, empty_init, ROT0, "Alvin G", "U.S.A. Football (R06u)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1993, usafootba, usafootb, group1, alvg, alvg_state, empty_init, ROT0, "Alvin G", "U.S.A. Football (R01u)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1994, usafootf, 0, group1, alvg, alvg_state, empty_init, ROT0, "Alvin G", "U.S.A. Football (P08, redemption)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1993, mystcast, 0, group3, alvg, alvg_state, empty_init, ROT0, "Alvin G", "Mystery Castle (R02)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1993, mystcasta, mystcast, group3, alvg, alvg_state, empty_init, ROT0, "Alvin G", "Mystery Castle (R03)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1993, pstlpkr, 0, group3, alvg, alvg_state, empty_init, ROT0, "Alvin G", "Pistol Poker (R02)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1993, pstlpkr1, pstlpkr, group3, alvg, alvg_state, empty_init, ROT0, "Alvin G", "Pistol Poker (R01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1993, punchy, 0, group1, alvg, alvg_state, empty_init, ROT0, "Alvin G", "Punchy The Clown (R02)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1993, punchy3, punchy, group1, alvg, alvg_state, empty_init, ROT0, "Alvin G", "Punchy The Clown (R03)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1993, dinoeggs, 0, group2, alvg, alvg_state, empty_init, ROT0, "Alvin G", "Dinosaur Eggs (R02)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/atari_4x4.cpp b/src/mame/pinball/atari_4x4.cpp index db8166c24009b..181f210f13246 100644 --- a/src/mame/pinball/atari_4x4.cpp +++ b/src/mame/pinball/atari_4x4.cpp @@ -117,4 +117,4 @@ ROM_END } // Anonymous namespace -GAME( 1982, fourx4, 0, fourx4, atari_4x4, atari_4x4_state, empty_init, ROT0, "Atari", "4x4", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME( 1982, fourx4, 0, fourx4, atari_4x4, atari_4x4_state, empty_init, ROT0, "Atari", "4x4", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/atari_s1.cpp b/src/mame/pinball/atari_s1.cpp index 7147652607b78..e73c1264d492d 100644 --- a/src/mame/pinball/atari_s1.cpp +++ b/src/mame/pinball/atari_s1.cpp @@ -610,9 +610,9 @@ ROM_END } // Anonymous namespace -GAME( 1976, atarians, 0, atarians, atari_s1, atari_s1_state, empty_init, ROT0, "Atari", "The Atarians", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1977, time2000, 0, atari_s1, atari_s1, atari_s1_state, empty_init, ROT0, "Atari", "Time 2000", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1977, aavenger, 0, atari_s1, atari_s1, atari_s1_state, empty_init, ROT0, "Atari", "Airborne Avenger", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1978, midearth, 0, midearth, atari_s1, atari_s1_state, empty_init, ROT0, "Atari", "Middle Earth", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1978, mideartha, midearth, midearth, atari_s1, atari_s1_state, empty_init, ROT0, "Atari", "Middle Earth (alternate)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1978, spcrider, 0, atari_s1, atari_s1, atari_s1_state, empty_init, ROT0, "Atari", "Space Riders", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME( 1976, atarians, 0, atarians, atari_s1, atari_s1_state, empty_init, ROT0, "Atari", "The Atarians", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1977, time2000, 0, atari_s1, atari_s1, atari_s1_state, empty_init, ROT0, "Atari", "Time 2000", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1977, aavenger, 0, atari_s1, atari_s1, atari_s1_state, empty_init, ROT0, "Atari", "Airborne Avenger", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1978, midearth, 0, midearth, atari_s1, atari_s1_state, empty_init, ROT0, "Atari", "Middle Earth", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1978, mideartha, midearth, midearth, atari_s1, atari_s1_state, empty_init, ROT0, "Atari", "Middle Earth (alternate)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1978, spcrider, 0, atari_s1, atari_s1, atari_s1_state, empty_init, ROT0, "Atari", "Space Riders", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/barni.cpp b/src/mame/pinball/barni.cpp index 2254c72f8ffbc..dcd78acd73195 100644 --- a/src/mame/pinball/barni.cpp +++ b/src/mame/pinball/barni.cpp @@ -310,5 +310,5 @@ ROM_END } // Anonymous namespace -GAME( 1985, champion, 0, barni, barni, barni_state, empty_init, ROT0, "Barni", "Champion 85", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1985, redbarnp, 0, barni, barni, barni_state, empty_init, ROT0, "Barni", "Red Baron (Pinball)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1985, champion, 0, barni, barni, barni_state, empty_init, ROT0, "Barni", "Champion 85", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1985, redbarnp, 0, barni, barni, barni_state, empty_init, ROT0, "Barni", "Red Baron (Pinball)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/pinball/bingo.cpp b/src/mame/pinball/bingo.cpp index 213c964357654..19fa1df3ff73b 100644 --- a/src/mame/pinball/bingo.cpp +++ b/src/mame/pinball/bingo.cpp @@ -324,28 +324,28 @@ ROM_END } // anonymous namespace -GAME(1980, cntinntl, 0, bingo, bingo, bingo_state, init_bingo, ROT0, "Bally", "Continental (Bingo)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1980, cntinntl2, cntinntl, bingo, bingo, bingo_state, init_bingo, ROT0, "Bally", "Continental (Bingo, alternate version)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(19??, goldgame, 0, splin, splin, splin_state, init_splin, ROT0, "Splin", "Golden Game (Bingo)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(19??, goldgkitb, goldgame, splin, splin, splin_state, init_splin, ROT0, "Splin", "Golden Game Kit Bingo Stake 6/10 (Bingo)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(19??, goldgstake, goldgame, splin, splin, splin_state, init_splin, ROT0, "Splin", "Golden Game Bingo Stake 6/10 (Bingo)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(19??, goldgnew, goldgame, splin, splin, splin_state, init_splin, ROT0, "Splin", "Golden Game Bingo New (Bingo)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(19??, goldgkit1, goldgame, splin, splin, splin_state, init_splin, ROT0, "Splin", "Golden Game Kit 1 Generation (Bingo)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(19??, michigan, 0, splin, splin, splin_state, init_splin, ROT0, "Splin", "Michigan (Bingo)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(19??, michkit1, michigan, splin, splin, splin_state, init_splin, ROT0, "Splin", "Michigan Bingo Kit 1 Generation (Bingo)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(19??, michkitb, michigan, splin, splin, splin_state, init_splin, ROT0, "Splin", "Michigan Kit Bingo Stake 6/10 (Bingo)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(19??, michstake, michigan, splin, splin, splin_state, init_splin, ROT0, "Splin", "Michigan Bingo Stake 6/10 (Bingo)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(19??, michnew, michigan, splin, splin, splin_state, init_splin, ROT0, "Splin", "Michigan Bingo New (Bingo)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(19??, montana, 0, splin, splin, splin_state, init_splin, ROT0, "Splin", "Montana Bingo Stake 6/10 (Bingo)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(19??, topgame, 0, splin, splin, splin_state, init_splin, ROT0, "Splin", "Top Game Laser L10 (Bingo)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(19??, topgamet, topgame, splin, splin, splin_state, init_splin, ROT0, "Splin", "Top Game Turbo (Bingo)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(19??, penalty, 0, seeben, seeben, seeben_state, init_seeben, ROT0, "Seeben (Belgium)", "Penalty (Bingo)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(19??, brooklyn, 0, seeben, seeben, seeben_state, init_seeben, ROT0, "Seeben (Belgium)", "Brooklyn (set 1) (Bingo)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(19??, brooklyna, brooklyn, seeben, seeben, seeben_state, init_seeben, ROT0, "Seeben (Belgium)", "Brooklyn (set 2) (Bingo)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(19??, newdixie, 0, seeben, seeben, seeben_state, init_seeben, ROT0, "Seeben (Belgium)", "New Dixieland (Bingo)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(19??, superdix, 0, seeben, seeben, seeben_state, init_seeben, ROT0, "Seeben (Belgium)", "Super Dixieland (Bingo)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(19??, cntine31, 0, seeben, seeben, seeben_state, init_seeben, ROT0, "Seeben (Belgium)", "Continental 3 in 1 (Bingo)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(19??, domino2, 0, seeben, seeben, seeben_state, init_seeben, ROT0, "Seeben (Belgium)", "Domino II (Bingo)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(19??, tripjok, 0, seeben, seeben, seeben_state, init_seeben, ROT0, "Seeben (Belgium)", "Triple Joker (Bingo)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(19??, ggate, 0, seeben, seeben, seeben_state, init_seeben, ROT0, "Seeben (Belgium)", "Golden Gate (set 1) (Bingo)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(19??, ggatea, ggate, seeben, seeben, seeben_state, init_seeben, ROT0, "Seeben (Belgium)", "Golden Gate (set 2) (Bingo)", MACHINE_IS_SKELETON_MECHANICAL) +GAME(1980, cntinntl, 0, bingo, bingo, bingo_state, init_bingo, ROT0, "Bally", "Continental (Bingo)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(1980, cntinntl2, cntinntl, bingo, bingo, bingo_state, init_bingo, ROT0, "Bally", "Continental (Bingo, alternate version)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(19??, goldgame, 0, splin, splin, splin_state, init_splin, ROT0, "Splin", "Golden Game (Bingo)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(19??, goldgkitb, goldgame, splin, splin, splin_state, init_splin, ROT0, "Splin", "Golden Game Kit Bingo Stake 6/10 (Bingo)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(19??, goldgstake, goldgame, splin, splin, splin_state, init_splin, ROT0, "Splin", "Golden Game Bingo Stake 6/10 (Bingo)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(19??, goldgnew, goldgame, splin, splin, splin_state, init_splin, ROT0, "Splin", "Golden Game Bingo New (Bingo)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(19??, goldgkit1, goldgame, splin, splin, splin_state, init_splin, ROT0, "Splin", "Golden Game Kit 1 Generation (Bingo)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(19??, michigan, 0, splin, splin, splin_state, init_splin, ROT0, "Splin", "Michigan (Bingo)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(19??, michkit1, michigan, splin, splin, splin_state, init_splin, ROT0, "Splin", "Michigan Bingo Kit 1 Generation (Bingo)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(19??, michkitb, michigan, splin, splin, splin_state, init_splin, ROT0, "Splin", "Michigan Kit Bingo Stake 6/10 (Bingo)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(19??, michstake, michigan, splin, splin, splin_state, init_splin, ROT0, "Splin", "Michigan Bingo Stake 6/10 (Bingo)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(19??, michnew, michigan, splin, splin, splin_state, init_splin, ROT0, "Splin", "Michigan Bingo New (Bingo)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(19??, montana, 0, splin, splin, splin_state, init_splin, ROT0, "Splin", "Montana Bingo Stake 6/10 (Bingo)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(19??, topgame, 0, splin, splin, splin_state, init_splin, ROT0, "Splin", "Top Game Laser L10 (Bingo)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(19??, topgamet, topgame, splin, splin, splin_state, init_splin, ROT0, "Splin", "Top Game Turbo (Bingo)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(19??, penalty, 0, seeben, seeben, seeben_state, init_seeben, ROT0, "Seeben (Belgium)", "Penalty (Bingo)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(19??, brooklyn, 0, seeben, seeben, seeben_state, init_seeben, ROT0, "Seeben (Belgium)", "Brooklyn (set 1) (Bingo)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(19??, brooklyna, brooklyn, seeben, seeben, seeben_state, init_seeben, ROT0, "Seeben (Belgium)", "Brooklyn (set 2) (Bingo)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(19??, newdixie, 0, seeben, seeben, seeben_state, init_seeben, ROT0, "Seeben (Belgium)", "New Dixieland (Bingo)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(19??, superdix, 0, seeben, seeben, seeben_state, init_seeben, ROT0, "Seeben (Belgium)", "Super Dixieland (Bingo)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(19??, cntine31, 0, seeben, seeben, seeben_state, init_seeben, ROT0, "Seeben (Belgium)", "Continental 3 in 1 (Bingo)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(19??, domino2, 0, seeben, seeben, seeben_state, init_seeben, ROT0, "Seeben (Belgium)", "Domino II (Bingo)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(19??, tripjok, 0, seeben, seeben, seeben_state, init_seeben, ROT0, "Seeben (Belgium)", "Triple Joker (Bingo)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(19??, ggate, 0, seeben, seeben, seeben_state, init_seeben, ROT0, "Seeben (Belgium)", "Golden Gate (set 1) (Bingo)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(19??, ggatea, ggate, seeben, seeben, seeben_state, init_seeben, ROT0, "Seeben (Belgium)", "Golden Gate (set 2) (Bingo)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) diff --git a/src/mame/pinball/by17.cpp b/src/mame/pinball/by17.cpp index 8c59ae56de989..faa6e574ca28d 100644 --- a/src/mame/pinball/by17.cpp +++ b/src/mame/pinball/by17.cpp @@ -1153,15 +1153,15 @@ ROM_END } // anonymous namespace -GAME( 1976, bowarrow, 0, by17, by17, by17_state, init_by17, ROT0, "Bally", "Bow & Arrow (Prototype, rev. 23)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1976, bowarrowa, bowarrow, by17, by17, by17_state, init_by17, ROT0, "Bally", "Bow & Arrow (Prototype, rev. 22)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1977, freedom, 0, by17, by17, by17_state, init_by17, ROT0, "Bally", "Freedom", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1977, nightrdr, 0, by17, by17, by17_state, init_by17, ROT0, "Bally", "Night Rider (rev. 21)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1977, nightr20, nightrdr, by17, by17, by17_state, init_by17, ROT0, "Bally", "Night Rider (rev. 20)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1978, blackjck, 0, by17, by17, by17_state, init_by17, ROT0, "Bally", "Black Jack (Pinball)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1977, evelknie, 0, by17, by17, by17_state, init_by17, ROT0, "Bally", "Evel Knievel", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME( 1976, bowarrow, 0, by17, by17, by17_state, init_by17, ROT0, "Bally", "Bow & Arrow (Prototype, rev. 23)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1976, bowarrowa, bowarrow, by17, by17, by17_state, init_by17, ROT0, "Bally", "Bow & Arrow (Prototype, rev. 22)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1977, freedom, 0, by17, by17, by17_state, init_by17, ROT0, "Bally", "Freedom", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1977, nightrdr, 0, by17, by17, by17_state, init_by17, ROT0, "Bally", "Night Rider (rev. 21)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1977, nightr20, nightrdr, by17, by17, by17_state, init_by17, ROT0, "Bally", "Night Rider (rev. 20)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1978, blackjck, 0, by17, by17, by17_state, init_by17, ROT0, "Bally", "Black Jack (Pinball)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1977, evelknie, 0, by17, by17, by17_state, init_by17, ROT0, "Bally", "Evel Knievel", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) GAMEL( 1978, matahari, 0, by17, matahari, by17_state, init_matahari, ROT0, "Bally", "Mata Hari", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE, layout_by17_matahari) -GAME( 1977, eightbll, 0, by17, by17, by17_state, init_by17, ROT0, "Bally", "Eight Ball (rev. 20)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1977, eightblo, eightbll, by17, by17, by17_state, init_by17, ROT0, "Bally", "Eight Ball (rev. 17)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME( 1977, eightbll, 0, by17, by17, by17_state, init_by17, ROT0, "Bally", "Eight Ball (rev. 20)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1977, eightblo, eightbll, by17, by17, by17_state, init_by17, ROT0, "Bally", "Eight Ball (rev. 17)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) GAMEL( 1978, pwerplay, 0, by17, pwerplay, by17_state, init_pwerplay, ROT0, "Bally", "Power Play (Pinball)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE, layout_by17_pwerplay) -GAME( 1978, stk_sprs, 0, by17, by17, by17_state, init_by17, ROT0, "Bally", "Strikes and Spares", MACHINE_IS_SKELETON_MECHANICAL) +GAME( 1978, stk_sprs, 0, by17, by17, by17_state, init_by17, ROT0, "Bally", "Strikes and Spares", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) diff --git a/src/mame/pinball/by35.cpp b/src/mame/pinball/by35.cpp index 1ddf815c718a6..e6fb525aaf201 100644 --- a/src/mame/pinball/by35.cpp +++ b/src/mame/pinball/by35.cpp @@ -2920,25 +2920,25 @@ GAME( 1984, blakpyra, 0, cheap_squeak, by35_os5x, by35_state, init_by35_7, ROT0, GAME( 1985, cybrnaut, 0, cheap_squeak, by35_os5x, by35_state, init_by35_7, ROT0, "Bally", "Cybernaut", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // Other manufacturers -GAME( 1984, suprbowl, xsandos, by35, by35, by35_state, init_by35_7, ROT0, "Bell Games", "Super Bowl", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1984, tigerrag, kosteel, by35, by35, by35_state, init_by35_7, ROT0, "Bell Games", "Tiger Rag", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1985, cosflash, flashgdn, by35, by35, by35_state, init_by35_7, ROT0, "Bell Games", "Cosmic Flash", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1985, newwave, blakpyra, by35, by35, by35_state, init_by35_7, ROT0, "Bell Games", "New Wave", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1985, saturn2, spyhuntr, by35, by35, by35_state, init_by35_7, ROT0, "Bell Games", "Saturn 2", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1985, worlddef, 0, by35, by35, by35_state, init_by35_7, ROT0, "Bell Games", "World Defender", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1986, spacehaw, cybrnaut, by35, by35, by35_state, init_by35_7, ROT0, "Nuova Bell Games", "Space Hawks", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1986, darkshad, 0, nuovo, by35, by35_state, init_by35_7, ROT0, "Nuova Bell Games", "Dark Shadow", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1986, skflight, 0, nuovo, by35, by35_state, init_by35_7, ROT0, "Nuova Bell Games", "Skill Flight", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1987, cobrap, 0, nuovo, by35, by35_state, init_by35_7, ROT0, "Nuova Bell Games", "Cobra", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1987, futrquen, 0, nuovo, by35, by35_state, init_by35_7, ROT0, "Nuova Bell Games", "Future Queen", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1987, f1gpp, 0, nuovo, by35, by35_state, init_by35_7, ROT0, "Nuova Bell Games", "F1 Grand Prix (Nuova Bell Games)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1988, toppin, 0, nuovo, by35, by35_state, init_by35_7, ROT0, "Nuova Bell Games", "Top Pin", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1988, uboat65, 0, nuovo, by35, by35_state, init_by35_7, ROT0, "Nuova Bell Games", "U-boat 65", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1986, bullseye, 0, by35, by35, by35_state, init_by35_7, ROT0, "Grand Products", "301/Bullseye (301 Darts Scoring)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1986, bullseyn, bullseye, by35, by35, by35_state, init_by35_7, ROT0, "Grand Products", "301/Bullseye (Traditional Scoring)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1988, bbbowlin, 0, by35, by35, by35_state, init_by35_7, ROT0, "United", "Big Ball Bowling (Bowler)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1988, monrobwl, 0, by35, by35, by35_state, init_by35_7, ROT0, "Monroe Bowling Co.", "Stars & Strikes (Bowler)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME( 1984, suprbowl, xsandos, by35, by35, by35_state, init_by35_7, ROT0, "Bell Games", "Super Bowl", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1984, tigerrag, kosteel, by35, by35, by35_state, init_by35_7, ROT0, "Bell Games", "Tiger Rag", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1985, cosflash, flashgdn, by35, by35, by35_state, init_by35_7, ROT0, "Bell Games", "Cosmic Flash", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1985, newwave, blakpyra, by35, by35, by35_state, init_by35_7, ROT0, "Bell Games", "New Wave", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1985, saturn2, spyhuntr, by35, by35, by35_state, init_by35_7, ROT0, "Bell Games", "Saturn 2", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1985, worlddef, 0, by35, by35, by35_state, init_by35_7, ROT0, "Bell Games", "World Defender", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1986, spacehaw, cybrnaut, by35, by35, by35_state, init_by35_7, ROT0, "Nuova Bell Games", "Space Hawks", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1986, darkshad, 0, nuovo, by35, by35_state, init_by35_7, ROT0, "Nuova Bell Games", "Dark Shadow", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1986, skflight, 0, nuovo, by35, by35_state, init_by35_7, ROT0, "Nuova Bell Games", "Skill Flight", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1987, cobrap, 0, nuovo, by35, by35_state, init_by35_7, ROT0, "Nuova Bell Games", "Cobra", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1987, futrquen, 0, nuovo, by35, by35_state, init_by35_7, ROT0, "Nuova Bell Games", "Future Queen", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1987, f1gpp, 0, nuovo, by35, by35_state, init_by35_7, ROT0, "Nuova Bell Games", "F1 Grand Prix (Nuova Bell Games)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1988, toppin, 0, nuovo, by35, by35_state, init_by35_7, ROT0, "Nuova Bell Games", "Top Pin", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1988, uboat65, 0, nuovo, by35, by35_state, init_by35_7, ROT0, "Nuova Bell Games", "U-boat 65", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1986, bullseye, 0, by35, by35, by35_state, init_by35_7, ROT0, "Grand Products", "301/Bullseye (301 Darts Scoring)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1986, bullseyn, bullseye, by35, by35, by35_state, init_by35_7, ROT0, "Grand Products", "301/Bullseye (Traditional Scoring)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1988, bbbowlin, 0, by35, by35, by35_state, init_by35_7, ROT0, "United", "Big Ball Bowling (Bowler)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1988, monrobwl, 0, by35, by35, by35_state, init_by35_7, ROT0, "Monroe Bowling Co.", "Stars & Strikes (Bowler)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) GAME( 1984, bigbat, 0, squawk_n_talk_ay, by35, by35_state, init_by35_7, ROT0, "Bally Midway", "Big Bat (Bat game)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) GAME( 1984, mdntmrdr, 0, squawk_n_talk_ay, by35, by35_state, init_by35_6, ROT0, "Bally Midway", "Midnight Marauders (Gun game)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) -GAME( 1984, blbeauty, 0, by35, by35, by35_state, init_by35_7, ROT0, "Stern", "Black Beauty (Shuffle)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1984, myststar, 0, by35, by35, by35_state, init_by35_6, ROT0, "Zaccaria", "Mystic Star", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME( 1984, blbeauty, 0, by35, by35, by35_state, init_by35_7, ROT0, "Stern", "Black Beauty (Shuffle)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1984, myststar, 0, by35, by35, by35_state, init_by35_6, ROT0, "Zaccaria", "Mystic Star", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/by6803.cpp b/src/mame/pinball/by6803.cpp index c6ee766eeb635..7dc2b4bd46977 100644 --- a/src/mame/pinball/by6803.cpp +++ b/src/mame/pinball/by6803.cpp @@ -876,34 +876,34 @@ ROM_END // 1st gen -GAME( 1985, eballchp, 0, gen1, by6803, by6803_state, empty_init, ROT0, "Bally", "Eight Ball Champ", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1985, beatclck, 0, gen1, by6803, by6803_state, empty_init, ROT0, "Bally", "Beat the Clock", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1985, beatclck2, beatclck, gen1, by6803, by6803_state, empty_init, ROT0, "Bally", "Beat the Clock (with flasher support)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1986, ladyluck, 0, gen1, by6803, by6803_state, empty_init, ROT0, "Bally", "Lady Luck", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME( 1985, eballchp, 0, gen1, by6803, by6803_state, empty_init, ROT0, "Bally", "Eight Ball Champ", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1985, beatclck, 0, gen1, by6803, by6803_state, empty_init, ROT0, "Bally", "Beat the Clock", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1985, beatclck2, beatclck, gen1, by6803, by6803_state, empty_init, ROT0, "Bally", "Beat the Clock (with flasher support)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1986, ladyluck, 0, gen1, by6803, by6803_state, empty_init, ROT0, "Bally", "Lady Luck", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // 2nd gen -GAME( 1986, motrdome, 0, by6803, by6803, by6803_state, empty_init, ROT0, "Bally", "MotorDome (rev. D)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1986, motrdomeb, motrdome, by6803, by6803, by6803_state, empty_init, ROT0, "Bally", "MotorDome (rev. B)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1986, motrdomeg, motrdome, by6803, by6803, by6803_state, empty_init, ROT0, "Bally", "MotorDome (German rev. B)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1986, strngsci, 0, by6803, by6803, by6803_state, empty_init, ROT0, "Bally", "Strange Science (Rev C)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1986, strngscia, strngsci, by6803, by6803, by6803_state, empty_init, ROT0, "Bally", "Strange Science (Rev A)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1986, strngscig, strngsci, by6803, by6803, by6803_state, empty_init, ROT0, "Bally", "Strange Science (German, Rev A)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1986, specforc, 0, by6803, by6803, by6803_state, empty_init, ROT0, "Bally", "Special Force", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1986, blackblt, 0, by6803, by6803, by6803_state, empty_init, ROT0, "Bally", "Black Belt", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1986, blackblt2, blackblt, by6803, by6803, by6803_state, empty_init, ROT0, "Bally", "Black Belt (Squawk and Talk)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1987, cityslck, 0, by6803, by6803, by6803_state, empty_init, ROT0, "Bally", "City Slicker", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1987, hardbody, 0, by6803, by6803, by6803_state, empty_init, ROT0, "Bally", "Hardbody (rev. D)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1987, hardbodyc, hardbody, by6803, by6803, by6803_state, empty_init, ROT0, "Bally", "Hardbody (rev. C)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1987, hardbodyg, hardbody, by6803, by6803, by6803_state, empty_init, ROT0, "Bally", "Hardbody (German rev. B)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1987, prtyanim, 0, by6803, by6803, by6803_state, empty_init, ROT0, "Bally", "Party Animal", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1987, prtyanimg, prtyanim, by6803, by6803, by6803_state, empty_init, ROT0, "Bally", "Party Animal (German)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1987, hvymetap, 0, by6803, by6803, by6803_state, empty_init, ROT0, "Bally", "Heavy Metal Meltdown", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1987, hvymetapg, hvymetap, by6803, by6803, by6803_state, empty_init, ROT0, "Bally", "Heavy Metal Meltdown (German)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1987, esclwrld, 0, by6803, by6803, by6803_state, empty_init, ROT0, "Bally", "Escape from the Lost World", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1987, esclwrldg, esclwrld, by6803, by6803, by6803_state, empty_init, ROT0, "Bally", "Escape from the Lost World (German)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1987, dungdrag, 0, by6803, by6803, by6803_state, empty_init, ROT0, "Bally", "Dungeons & Dragons", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1988, black100, 0, by6803, by6803, by6803_state, empty_init, ROT0, "Bally", "Blackwater 100", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1988, black100s, black100, by6803, by6803, by6803_state, empty_init, ROT0, "Bally", "Blackwater 100 (Single Ball Play)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1988, trucksp3, 0, s11, by6803, by6803_state, empty_init, ROT0, "Bally", "Truck Stop (P-3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1988, trucksp2, trucksp3, s11, by6803, by6803_state, empty_init, ROT0, "Bally", "Truck Stop (P-2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1989, atlantip, 0, s11, by6803, by6803_state, empty_init, ROT0, "Bally", "Atlantis (rev. 3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME( 1986, motrdome, 0, by6803, by6803, by6803_state, empty_init, ROT0, "Bally", "MotorDome (rev. D)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1986, motrdomeb, motrdome, by6803, by6803, by6803_state, empty_init, ROT0, "Bally", "MotorDome (rev. B)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1986, motrdomeg, motrdome, by6803, by6803, by6803_state, empty_init, ROT0, "Bally", "MotorDome (German rev. B)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1986, strngsci, 0, by6803, by6803, by6803_state, empty_init, ROT0, "Bally", "Strange Science (Rev C)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1986, strngscia, strngsci, by6803, by6803, by6803_state, empty_init, ROT0, "Bally", "Strange Science (Rev A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1986, strngscig, strngsci, by6803, by6803, by6803_state, empty_init, ROT0, "Bally", "Strange Science (German, Rev A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1986, specforc, 0, by6803, by6803, by6803_state, empty_init, ROT0, "Bally", "Special Force", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1986, blackblt, 0, by6803, by6803, by6803_state, empty_init, ROT0, "Bally", "Black Belt", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1986, blackblt2, blackblt, by6803, by6803, by6803_state, empty_init, ROT0, "Bally", "Black Belt (Squawk and Talk)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1987, cityslck, 0, by6803, by6803, by6803_state, empty_init, ROT0, "Bally", "City Slicker", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1987, hardbody, 0, by6803, by6803, by6803_state, empty_init, ROT0, "Bally", "Hardbody (rev. D)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1987, hardbodyc, hardbody, by6803, by6803, by6803_state, empty_init, ROT0, "Bally", "Hardbody (rev. C)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1987, hardbodyg, hardbody, by6803, by6803, by6803_state, empty_init, ROT0, "Bally", "Hardbody (German rev. B)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1987, prtyanim, 0, by6803, by6803, by6803_state, empty_init, ROT0, "Bally", "Party Animal", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1987, prtyanimg, prtyanim, by6803, by6803, by6803_state, empty_init, ROT0, "Bally", "Party Animal (German)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1987, hvymetap, 0, by6803, by6803, by6803_state, empty_init, ROT0, "Bally", "Heavy Metal Meltdown", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1987, hvymetapg, hvymetap, by6803, by6803, by6803_state, empty_init, ROT0, "Bally", "Heavy Metal Meltdown (German)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1987, esclwrld, 0, by6803, by6803, by6803_state, empty_init, ROT0, "Bally", "Escape from the Lost World", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1987, esclwrldg, esclwrld, by6803, by6803, by6803_state, empty_init, ROT0, "Bally", "Escape from the Lost World (German)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1987, dungdrag, 0, by6803, by6803, by6803_state, empty_init, ROT0, "Bally", "Dungeons & Dragons", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1988, black100, 0, by6803, by6803, by6803_state, empty_init, ROT0, "Bally", "Blackwater 100", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1988, black100s, black100, by6803, by6803, by6803_state, empty_init, ROT0, "Bally", "Blackwater 100 (Single Ball Play)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1988, trucksp3, 0, s11, by6803, by6803_state, empty_init, ROT0, "Bally", "Truck Stop (P-3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1988, trucksp2, trucksp3, s11, by6803, by6803_state, empty_init, ROT0, "Bally", "Truck Stop (P-2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1989, atlantip, 0, s11, by6803, by6803_state, empty_init, ROT0, "Bally", "Atlantis (rev. 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/by68701.cpp b/src/mame/pinball/by68701.cpp index 5f33cf504ce98..73b3ea7008787 100644 --- a/src/mame/pinball/by68701.cpp +++ b/src/mame/pinball/by68701.cpp @@ -151,9 +151,9 @@ ROM_END } // anonymous namespace -GAME( 1981, flashgdnp1, flashgdn, by68701, by68701, by68701_state, init_by68701, ROT0, "Bally", "Flash Gordon (prototype rev. 1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1981, flashgdnp2, flashgdn, by68701, by68701, by68701_state, init_by68701, ROT0, "Bally", "Flash Gordon (prototype rev. 2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1981, eballdlxp1, eballdlx, by68701, by68701, by68701_state, init_by68701, ROT0, "Bally", "Eight Ball Deluxe (prototype rev. 1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1981, eballdlxp2, eballdlx, by68701, by68701, by68701_state, init_by68701, ROT0, "Bally", "Eight Ball Deluxe (prototype rev. 2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1981, eballdlxp3, eballdlx, by68701, by68701, by68701_state, init_by68701, ROT0, "Bally", "Eight Ball Deluxe (prototype rev. 3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1981, eballdlxp4, eballdlx, by68701, by68701, by68701_state, init_by68701, ROT0, "Bally", "Eight Ball Deluxe (prototype rev. 4)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME( 1981, flashgdnp1, flashgdn, by68701, by68701, by68701_state, init_by68701, ROT0, "Bally", "Flash Gordon (prototype rev. 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1981, flashgdnp2, flashgdn, by68701, by68701, by68701_state, init_by68701, ROT0, "Bally", "Flash Gordon (prototype rev. 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1981, eballdlxp1, eballdlx, by68701, by68701, by68701_state, init_by68701, ROT0, "Bally", "Eight Ball Deluxe (prototype rev. 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1981, eballdlxp2, eballdlx, by68701, by68701, by68701_state, init_by68701, ROT0, "Bally", "Eight Ball Deluxe (prototype rev. 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1981, eballdlxp3, eballdlx, by68701, by68701, by68701_state, init_by68701, ROT0, "Bally", "Eight Ball Deluxe (prototype rev. 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1981, eballdlxp4, eballdlx, by68701, by68701, by68701_state, init_by68701, ROT0, "Bally", "Eight Ball Deluxe (prototype rev. 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/capcom.cpp b/src/mame/pinball/capcom.cpp index c36ab5f72de8a..ec1cde7191fab 100644 --- a/src/mame/pinball/capcom.cpp +++ b/src/mame/pinball/capcom.cpp @@ -418,21 +418,21 @@ ROM_END } // Anonymous namespace -GAME(1996, abv106, 0, capcom, capcom, capcom_state, empty_init, ROT0, "Capcom", "Airborne (1.6)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1996, abv105, abv106, capcom, capcom, capcom_state, empty_init, ROT0, "Capcom", "Airborne (1.5)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1996, abv106r, abv106, capcom, capcom, capcom_state, empty_init, ROT0, "Capcom", "Airborne (Redemption)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1996, bbb109, 0, capcom, capcom, capcom_state, empty_init, ROT0, "Capcom", "Big Bang Bar (Beta 1.9 US)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1996, bbb108, bbb109, capcom, capcom, capcom_state, empty_init, ROT0, "Capcom", "Big Bang Bar (Beta 1.8 US)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1996, bsv103, 0, capcom, capcom, capcom_state, empty_init, ROT0, "Capcom", "Breakshot (1.3)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1996, bsv102, bsv103, capcom, capcom, capcom_state, empty_init, ROT0, "Capcom", "Breakshot (1.2)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1996, bsv100r, bsv103, capcom, capcom, capcom_state, empty_init, ROT0, "Capcom", "Breakshot (Redemption 1.0)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1996, bsv102r, bsv103, capcom, capcom, capcom_state, empty_init, ROT0, "Capcom", "Breakshot (Redemption 1.2)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1996, bsb105, bsv103, capcom, capcom, capcom_state, empty_init, ROT0, "Capcom", "Breakshot (Beta)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1996, ffv104, 0, capcom, capcom, capcom_state, empty_init, ROT0, "Capcom", "Flipper Football (v1.04)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1996, ffv103, ffv104, capcom, capcom, capcom_state, empty_init, ROT0, "Capcom", "Flipper Football (v1.03)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1996, ffv101, ffv104, capcom, capcom, capcom_state, empty_init, ROT0, "Capcom", "Flipper Football (v1.01)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1996, kpv106, 0, capcom, capcom, capcom_state, empty_init, ROT0, "Capcom", "Kingpin (Pinball)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1995, pmv112, 0, capcom, capcom, capcom_state, empty_init, ROT0, "Capcom", "Pinball Magic", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1995, pmv112r, pmv112, capcom, capcom, capcom_state, empty_init, ROT0, "Capcom", "Pinball Magic (Redemption)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1994, ghv101, 0, capcom, capcom, capcom_state, empty_init, ROT0, "Romstar", "Goofy Hoops", MACHINE_IS_SKELETON_MECHANICAL) -GAME(2000, pp100, bsv103, capcom, capcom, capcom_state, empty_init, ROT0, "Illinois Pinball", "Pool Player (1.0)", MACHINE_IS_SKELETON_MECHANICAL) +GAME(1996, abv106, 0, capcom, capcom, capcom_state, empty_init, ROT0, "Capcom", "Airborne (1.6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(1996, abv105, abv106, capcom, capcom, capcom_state, empty_init, ROT0, "Capcom", "Airborne (1.5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(1996, abv106r, abv106, capcom, capcom, capcom_state, empty_init, ROT0, "Capcom", "Airborne (Redemption)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(1996, bbb109, 0, capcom, capcom, capcom_state, empty_init, ROT0, "Capcom", "Big Bang Bar (Beta 1.9 US)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(1996, bbb108, bbb109, capcom, capcom, capcom_state, empty_init, ROT0, "Capcom", "Big Bang Bar (Beta 1.8 US)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(1996, bsv103, 0, capcom, capcom, capcom_state, empty_init, ROT0, "Capcom", "Breakshot (1.3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(1996, bsv102, bsv103, capcom, capcom, capcom_state, empty_init, ROT0, "Capcom", "Breakshot (1.2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(1996, bsv100r, bsv103, capcom, capcom, capcom_state, empty_init, ROT0, "Capcom", "Breakshot (Redemption 1.0)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(1996, bsv102r, bsv103, capcom, capcom, capcom_state, empty_init, ROT0, "Capcom", "Breakshot (Redemption 1.2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(1996, bsb105, bsv103, capcom, capcom, capcom_state, empty_init, ROT0, "Capcom", "Breakshot (Beta)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(1996, ffv104, 0, capcom, capcom, capcom_state, empty_init, ROT0, "Capcom", "Flipper Football (v1.04)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(1996, ffv103, ffv104, capcom, capcom, capcom_state, empty_init, ROT0, "Capcom", "Flipper Football (v1.03)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(1996, ffv101, ffv104, capcom, capcom, capcom_state, empty_init, ROT0, "Capcom", "Flipper Football (v1.01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(1996, kpv106, 0, capcom, capcom, capcom_state, empty_init, ROT0, "Capcom", "Kingpin (Pinball)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(1995, pmv112, 0, capcom, capcom, capcom_state, empty_init, ROT0, "Capcom", "Pinball Magic", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(1995, pmv112r, pmv112, capcom, capcom, capcom_state, empty_init, ROT0, "Capcom", "Pinball Magic (Redemption)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(1994, ghv101, 0, capcom, capcom, capcom_state, empty_init, ROT0, "Romstar", "Goofy Hoops", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(2000, pp100, bsv103, capcom, capcom, capcom_state, empty_init, ROT0, "Illinois Pinball", "Pool Player (1.0)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) diff --git a/src/mame/pinball/de_2.cpp b/src/mame/pinball/de_2.cpp index 20771ac3570fe..3515ec791b0ea 100644 --- a/src/mame/pinball/de_2.cpp +++ b/src/mame/pinball/de_2.cpp @@ -993,32 +993,32 @@ ROM_END } // Anonymous namespace -GAME( 1990, bttf_a28, 0, de_type3, de2, de_2_state, empty_init, ROT0, "Data East", "Back to the Future - The Pinball (2.8)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1990, bttf_a27, bttf_a28, de_type3, de2, de_2_state, empty_init, ROT0, "Data East", "Back to the Future - The Pinball (2.7)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1990, bttf_a20, bttf_a28, de_type3, de2, de_2_state, empty_init, ROT0, "Data East", "Back to the Future - The Pinball (2.0)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1990, bttf_a21, bttf_a28, de_type3, de2, de_2_state, empty_init, ROT0, "Data East", "Back to the Future - The Pinball (2.1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 199?, bttf_g27, bttf_a28, de_type3, de2, de_2_state, empty_init, ROT0, "Data East", "Back to the Future - The Pinball (2.7, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1990, kiko_a10, 0, de_type3, de2, de_2_state, empty_init, ROT0, "Data East", "King Kong (1.0)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1987, lwar_a83, 0, de_type1, de2, de_2_state, empty_init, ROT0, "Data East", "Laser War (8.3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1987, lwar_a81, lwar_a83, de_type1, de2, de_2_state, empty_init, ROT0, "Data East", "Laser War (8.1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1987, lwar_e90, lwar_a83, de_type1, de2, de_2_state, empty_init, ROT0, "Data East", "Laser War (9.0 Europe)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1989, mnfb_c29, 0, de_type2_alpha3, de2, de_2_state, empty_init, ROT0, "Data East", "Monday Night Football (2.9, 50cts)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1989, mnfb_c27, mnfb_c29, de_type2_alpha3, de2, de_2_state, empty_init, ROT0, "Data East", "Monday Night Football (2.7, 50cts)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1990, poto_a32, 0, de_type2_alpha3, de2, de_2_state, empty_init, ROT0, "Data East", "The Phantom of the Opera (3.2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1990, poto_a31, poto_a32, de_type2_alpha3, de2, de_2_state, empty_init, ROT0, "Data East", "The Phantom of the Opera (3.1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1990, poto_a29, poto_a32, de_type2_alpha3, de2, de_2_state, empty_init, ROT0, "Data East", "The Phantom of the Opera (2.9)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1989, play_a24, 0, de_type2, de2, de_2_state, empty_init, ROT0, "Data East", "Playboy 35th Anniversary (2.4)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1989, robo_a34, 0, de_type3, de2, de_2_state, empty_init, ROT0, "Data East", "Robocop (3.4)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1989, robo_a30, robo_a34, de_type3, de2, de_2_state, empty_init, ROT0, "Data East", "Robocop (3.0)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1989, robo_a29, robo_a34, de_type3, de2, de_2_state, empty_init, ROT0, "Data East", "Robocop (2.9)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1988, ssvc_a26, 0, de_type2, de2, de_2_state, empty_init, ROT0, "Data East", "Secret Service (2.6)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1988, ssvc_b26, ssvc_a26, de_type2, de2, de_2_state, empty_init, ROT0, "Data East", "Secret Service (2.6 alternate sound)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1988, ssvc_a42, ssvc_a26, de_type2, de2, de_2_state, empty_init, ROT0, "Data East", "Secret Service (4.2 alternate sound)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1988, ssvc_e40, ssvc_a26, de_type2, de2, de_2_state, empty_init, ROT0, "Data East", "Secret Service (4.0, Europe)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1990, simp_a27, 0, de_type3, de2, de_2_state, empty_init, ROT0, "Data East", "The Simpsons (2.7)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1990, simp_a20, simp_a27, de_type3, de2, de_2_state, empty_init, ROT0, "Data East", "The Simpsons (2.0)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1988, tmac_a24, 0, de_type2, de2, de_2_state, empty_init, ROT0, "Data East", "Time Machine (2.4)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1988, tmac_a18, tmac_a24, de_type2, de2, de_2_state, empty_init, ROT0, "Data East", "Time Machine (1.8)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1988, tmac_g18, tmac_a24, de_type2, de2, de_2_state, empty_init, ROT0, "Data East", "Time Machine (1.8, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1988, torp_e21, 0, de_type2, de2, de_2_state, empty_init, ROT0, "Data East", "Torpedo Alley (2.1, Europe)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1988, torp_a16, torp_e21, de_type2, de2, de_2_state, empty_init, ROT0, "Data East", "Torpedo Alley (1.6)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME( 1990, bttf_a28, 0, de_type3, de2, de_2_state, empty_init, ROT0, "Data East", "Back to the Future - The Pinball (2.8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1990, bttf_a27, bttf_a28, de_type3, de2, de_2_state, empty_init, ROT0, "Data East", "Back to the Future - The Pinball (2.7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1990, bttf_a20, bttf_a28, de_type3, de2, de_2_state, empty_init, ROT0, "Data East", "Back to the Future - The Pinball (2.0)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1990, bttf_a21, bttf_a28, de_type3, de2, de_2_state, empty_init, ROT0, "Data East", "Back to the Future - The Pinball (2.1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 199?, bttf_g27, bttf_a28, de_type3, de2, de_2_state, empty_init, ROT0, "Data East", "Back to the Future - The Pinball (2.7, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1990, kiko_a10, 0, de_type3, de2, de_2_state, empty_init, ROT0, "Data East", "King Kong (1.0)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1987, lwar_a83, 0, de_type1, de2, de_2_state, empty_init, ROT0, "Data East", "Laser War (8.3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1987, lwar_a81, lwar_a83, de_type1, de2, de_2_state, empty_init, ROT0, "Data East", "Laser War (8.1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1987, lwar_e90, lwar_a83, de_type1, de2, de_2_state, empty_init, ROT0, "Data East", "Laser War (9.0 Europe)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1989, mnfb_c29, 0, de_type2_alpha3, de2, de_2_state, empty_init, ROT0, "Data East", "Monday Night Football (2.9, 50cts)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1989, mnfb_c27, mnfb_c29, de_type2_alpha3, de2, de_2_state, empty_init, ROT0, "Data East", "Monday Night Football (2.7, 50cts)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1990, poto_a32, 0, de_type2_alpha3, de2, de_2_state, empty_init, ROT0, "Data East", "The Phantom of the Opera (3.2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1990, poto_a31, poto_a32, de_type2_alpha3, de2, de_2_state, empty_init, ROT0, "Data East", "The Phantom of the Opera (3.1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1990, poto_a29, poto_a32, de_type2_alpha3, de2, de_2_state, empty_init, ROT0, "Data East", "The Phantom of the Opera (2.9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1989, play_a24, 0, de_type2, de2, de_2_state, empty_init, ROT0, "Data East", "Playboy 35th Anniversary (2.4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1989, robo_a34, 0, de_type3, de2, de_2_state, empty_init, ROT0, "Data East", "Robocop (3.4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1989, robo_a30, robo_a34, de_type3, de2, de_2_state, empty_init, ROT0, "Data East", "Robocop (3.0)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1989, robo_a29, robo_a34, de_type3, de2, de_2_state, empty_init, ROT0, "Data East", "Robocop (2.9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1988, ssvc_a26, 0, de_type2, de2, de_2_state, empty_init, ROT0, "Data East", "Secret Service (2.6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1988, ssvc_b26, ssvc_a26, de_type2, de2, de_2_state, empty_init, ROT0, "Data East", "Secret Service (2.6 alternate sound)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1988, ssvc_a42, ssvc_a26, de_type2, de2, de_2_state, empty_init, ROT0, "Data East", "Secret Service (4.2 alternate sound)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1988, ssvc_e40, ssvc_a26, de_type2, de2, de_2_state, empty_init, ROT0, "Data East", "Secret Service (4.0, Europe)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1990, simp_a27, 0, de_type3, de2, de_2_state, empty_init, ROT0, "Data East", "The Simpsons (2.7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1990, simp_a20, simp_a27, de_type3, de2, de_2_state, empty_init, ROT0, "Data East", "The Simpsons (2.0)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1988, tmac_a24, 0, de_type2, de2, de_2_state, empty_init, ROT0, "Data East", "Time Machine (2.4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1988, tmac_a18, tmac_a24, de_type2, de2, de_2_state, empty_init, ROT0, "Data East", "Time Machine (1.8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1988, tmac_g18, tmac_a24, de_type2, de2, de_2_state, empty_init, ROT0, "Data East", "Time Machine (1.8, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1988, torp_e21, 0, de_type2, de2, de_2_state, empty_init, ROT0, "Data East", "Torpedo Alley (2.1, Europe)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1988, torp_a16, torp_e21, de_type2, de2, de_2_state, empty_init, ROT0, "Data East", "Torpedo Alley (1.6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/de_3.cpp b/src/mame/pinball/de_3.cpp index 59a5ef2132235..10308af99debd 100644 --- a/src/mame/pinball/de_3.cpp +++ b/src/mame/pinball/de_3.cpp @@ -2095,115 +2095,115 @@ ROM_END } // Anonymous namespace -GAME(1993, rab_320, 0, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Adventures of Rocky and Bullwinkle and Friends (USA 3.20, display A3.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // ROCKY+BULLWINKLE AUGUST 12, 1993 USA CPU 3.20. DISPLAY VERSION- BULLWINKLE A3.00 5/24/1993 -GAME(1993, rab_130, rab_320, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Adventures of Rocky and Bullwinkle and Friends (USA 1.30, display A1.30)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // ROCKY+BULLWINKLE APRIL 1, 1993 USA CPU 1.30. DISPLAY VERSION- BULLWINKLE A1.30 4/1/1993 -GAME(1993, rab_103s, rab_320, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Adventures of Rocky and Bullwinkle and Friends (USA 1.03, display S1.03)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // ROCKY+BULLWINKLE FEBRUARY 3, 1993 USA CPU 1.03. DISPLAY VERSION- BULLWINKLE S1.03 2/2/1993 -GAME(1992, aar_101, 0, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Aaron Spelling (1.01)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // AARON SPELLING V1.01 12/23/92 -GAME(1991, btmn_106, 0, de_3_dmd1, de3, de_3_state, empty_init, ROT0, "Data East", "Batman (USA 1.06, display A1.02)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // BATMAN USA 1.06. DISP VER: BATMAN A1.02 -GAME(1991, btmn_103, btmn_106, de_3_dmd1, de3, de_3_state, empty_init, ROT0, "Data East", "Batman (USA 1.03, display A1.02)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // BATMAN USA 1.03. DISP VER: BATMAN A1.02 -GAME(1991, btmn_103f, btmn_106, de_3_dmd1, de3, de_3_state, empty_init, ROT0, "Data East", "Batman (France 1.03, display F1.03)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // BATMAN FRANCE 1.03. DISP VER: BATMAN F1.03 -GAME(1991, btmn_103g, btmn_106, de_3_dmd1, de3, de_3_state, empty_init, ROT0, "Data East", "Batman (Germany 1.03, display G1.04)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // BATMAN GERMANY 1.03. DISP VER: BATMAN G1.04 -GAME(1991, btmn_101, btmn_106, de_3_dmd1, de3, de_3_state, empty_init, ROT0, "Data East", "Batman (USA 1.01, display A1.02)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // BATMAN USA 1.01 -GAME(1991, ckpt_a17, 0, de_3_dmdo, de3, de_3_state, empty_init, ROT0, "Data East", "Checkpoint (1.7)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // CP80 3/6/91 -GAME(1994, gnr_300, 0, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Guns N Roses (USA 3.00, display A3.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // GUNS-N-ROSES AUGUST 21, 1994 USA CPU 3.00. DISPLAY VERSION- GNR A3.00 AUGUST 16, 1994 -GAME(1994, gnr_300f, gnr_300, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Guns N Roses (French 3.00, display F3.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // GUNS-N-ROSES AUGUST 21, 1994 FRENCH CPU 3.00. DISPLAY VERSION- GNR F3.00 AUGUST 16, 1994 -GAME(1994, gnr_300d, gnr_300, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Guns N Roses (Dutch 3.00, display A3.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // GUNS-N-ROSES AUGUST 21, 1994 DUTCH CPU 3.00. DISPLAY VERSION- GNR A3.00 AUGUST 16, 1994 -GAME(1994, gnr_200, gnr_300, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Guns N Roses (USA 2.00, display A3.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // GUNS-N-ROSES JULY 5, 1994 USA CPU 2.00 -GAME(1992, hook_408, 0, de_3_dmd1, de3, de_3_state, empty_init, ROT0, "Data East", "Hook (USA 4.08, display A4.01)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // HOOK USA 4.08. DISPLAY: HOOK A4.01 -GAME(1992, hook_404, hook_408, de_3_dmd1, de3, de_3_state, empty_init, ROT0, "Data East", "Hook (USA 4.04, display A4.01)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // HOOK USA 4.04 -GAME(1992, hook_401, hook_408, de_3_dmd1, de3, de_3_state, empty_init, ROT0, "Data East", "Hook (USA 4.01, display A4.01)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // HOOK USA 4.01 -GAME(1992, hook_401_p, hook_408, de_3_dmd1, de3, de_3_state, empty_init, ROT0, "Data East", "Hook (USA 4.01 with prototype sound, display A4.01)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // HOOK USA 4.01 -GAME(1992, hook_f401, hook_408, de_3_dmd1, de3, de_3_state, empty_init, ROT0, "Data East", "Hook (USA 4.01, display F4.01)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // HOOK USA 4.01 DISPLAY: HOOK F4.01 -GAME(1992, hook_400, hook_408, de_3_dmd1, de3, de_3_state, empty_init, ROT0, "Data East", "Hook (USA 4.01, display A4.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // HOOK USA 4.01 DISPLAY: HOOK A4.00 -GAME(1992, hook_e406, hook_408, de_3_dmd1, de3, de_3_state, empty_init, ROT0, "Data East", "Hook (UK 4.06, display A4.01)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // HOOK U.K. 4.06 -GAME(1993, jupk_513, 0, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Jurassic Park (USA 5.13, display A5.10)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // JURASSIC PARK SEP. 28, 1993 USA CPU 5.13. DISPLAY VERSION- JURASSIC A5.10 8/24/1993 -GAME(1993, jupk_501, jupk_513, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Jurassic Park (USA 5.01, display A5.01)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // JURASSIC PARK JUNE 28, 1993 USA CPU 5.01. DISPLAY VERSION- JURASSIC A5.01 6/24/1993 -GAME(1993, jupk_501g, jupk_513, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Jurassic Park (USA 5.01, display G5.01)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // JURASSIC PARK JUNE 28, 1993 USA CPU 5.01. DISPLAY VERSION- JURASSIC G5.01 6/24/1993 -GAME(1993, jupk_307, jupk_513, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Jurassic Park (USA 3.07, display A4.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // JURASSIC PARK. MAY 25, 1993. USA CPU 3.05 -GAME(1993, jupk_305, jupk_513, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Jurassic Park (USA 3.05, display A4.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // JURASSIC PARK. MAY 25, 1993. USA CPU 3.05 -GAME(1993, lah_112, 0, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Last Action Hero (USA 1.12, display A1.06)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // LAST ACTION HERO NOV. 10, 1993 USA CPU 1.12. DISPLAY VERSION- ACTION HERO A1.06 11/11/1993 -GAME(1993, lah_110, lah_112, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Last Action Hero (USA 1.10, display A1.06)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // LAST ACTION HERO OCT. 18, 1993 USA CPU 1.10 -GAME(1993, lah_xxx_s105, lah_112, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Last Action Hero (unknown CPU, display L1.05)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // DISPLAY VERSION- ACTION HERO L1.05 11/11/1993 -GAME(1993, lah_108s, lah_112, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Last Action Hero (USA 1.08, display L1.04)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // LAST ACTION HERO SEPT. 28, 1993 USA CPU 1.08. DISPLAY VERSION- ACTION HERO L1.04 9/5/1993 -GAME(1993, lah_107, lah_112, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Last Action Hero (USA 1.07, display A1.06)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // LAST ACTION HERO SEPT. 22, 1993 USA CPU 1.07 -GAME(1993, lah_106c, lah_112, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Last Action Hero (Canada 1.06, display A1.04)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // LAST ACTION HERO SEPT. 20, 1993 CANADA CPU 1.06. DISPLAY VERSION- ACTION HERO A1.04 9/5/1993 -GAME(1993, lah_104f, lah_112, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Last Action Hero (USA 1.04, display F1.01)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // LAST ACTION HERO SEPT. 1, 1993 USA CPU 1.04. DISPLAY VERSION- ACTION HERO F1.01 8/18/1993 -GAME(1993, lah_104s, lah_112, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Last Action Hero (USA 1.04, display L1.02)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // LAST ACTION HERO SEPT. 1, 1993 USA CPU 1.04. DISPLAY VERSION- ACTION HERO L1.02 8/30/1993 -GAME(1992, lw3_208, 0, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Lethal Weapon 3 (USA 2.08, display A2.06)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // LW3 11/17/92 USA CPU 2.08. DISPLAY VERSION- LETHAL WEAPON A2.06 9/29/1992 -GAME(1992, lw3_207, lw3_208, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Lethal Weapon 3 (USA 2.07, display A2.06)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // LW3 AUG 31, 1992 USA CPU 2.07 -GAME(1992, lw3_207c, lw3_208, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Lethal Weapon 3 (Canada 2.07, display A2.06)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // LW3 AUG 31, 1992 CANADA CPU 2.07 -GAME(1992, lw3_205, lw3_208, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Lethal Weapon 3 (USA 2.05, display A2.05)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // LW3 JULY 30, 1992 USA CPU 2.05. DISPLAY VERSION- LETHAL WEAPON A2.05 8/14/1992 -GAME(1992, lw3_204e, lw3_208, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Lethal Weapon 3 (England 2.04, display A2.02)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // LW3 JULY 30. 1992 ENGLAND CPU 2.04. DISPLAY VERSION LETHAL WEAPON A2.02 7/17/1992 -GAME(1992, lw3_203, lw3_208, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Lethal Weapon 3 (USA 2.03, display A2.04)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // LW3 JULY 17, 1992 USA CPU 2.03. DISPLAY VERSION- LETHAL WEAPON A2.04 7/29/1992 -GAME(1992, lw3_200, lw3_208, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Lethal Weapon 3 (USA 2.00, display A2.04)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // LW3 JUNE 16, 1992 USA CPU 2.00. DISPLAY VERSION- LETHAL WEAPON A2.04 7/29/1992 -GAME(1992, mj_130, 0, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Michael Jordan (1.30, display A1.03)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // MICHAEL JORDAN V 1.30 11/4/92. DISPLAY VERSION- JORDAN A1.03 8/13/1993 -GAME(1992, trek_201, 0, de_3_dmd1, de3, de_3_state, empty_init, ROT0, "Data East", "Star Trek 25th Anniversary (USA 2.01, display A1.09)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // STARTREK 4/30/92 USA VER. 2.01. DISPLAY: STARTREK A1.09 -GAME(1992, trek_200, trek_201, de_3_dmd1, de3, de_3_state, empty_init, ROT0, "Data East", "Star Trek 25th Anniversary (USA 2.00, display A1.09)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // STARTREK 4/16/92 USA VER. 2.00 -GAME(1992, trek_120, trek_201, de_3_dmd1, de3, de_3_state, empty_init, ROT0, "Data East", "Star Trek 25th Anniversary (USA 1.20, display A1.06)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // STAR TREK 1/10 USA VER. 1.20. DISPLAY: STARTREK A1.06 -GAME(1992, trek_117, trek_201, de_3_dmd1, de3, de_3_state, empty_init, ROT0, "Data East", "Star Trek 25th Anniversary (USA 1.17, display A1.09)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // STAR TREK 12/9 USA VER. 1.17 -GAME(1992, trek_110, trek_201, de_3_dmd1, de3, de_3_state, empty_init, ROT0, "Data East", "Star Trek 25th Anniversary (USA 1.10, display A1.06)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // STAR TREK 11/14 USA VER. 1.10. DISPLAY: STARTREK A1.06 -GAME(1992, trek_110_a027, trek_201, de_3_dmd1, de3, de_3_state, empty_init, ROT0, "Data East", "Star Trek 25th Anniversary (USA 1.10, display A0.27)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // STAR TREK 11/14 USA VER. 1.10. DISPLAY: STARTREK A0.27 -GAME(1992, stwr_106, 0, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Star Wars (Unofficial 1.06, display A1.05)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // STAR WARS 2016 UNOFFICIAL 1.06. DISPLAY VERSION- STAR WARS A1.05 12/4/1992 -GAME(1992, stwr_106_s105, stwr_106, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Star Wars (Unofficial 1.06, display S1.05)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // DISPLAY VERSION- STAR WARS S1.05 12/4/1992 -GAME(1992, stwr_106_a046, stwr_106, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Star Wars (Unofficial 1.06, display A0.46)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // DISPLAY VERSION- STAR WARS A0.46 10/9/1992 -GAME(1992, stwr_104, stwr_106, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Star Wars (USA 1.04, display A1.05)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // STAR WARS USA CPU 1.04 -GAME(1992, stwr_103, stwr_106, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Star Wars (USA 1.03, display A1.05)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // STAR WARS USA CPU 1.03 -GAME(1992, stwr_103_a104, stwr_106, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Star Wars (USA 1.03, display A1.04)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // STAR WARS USA CPU 1.03. DISPLAY VERSION- STAR WARS A1.04 11/20/1992 -GAME(1992, stwr_102, stwr_106, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Star Wars (USA 1.02, display A1.05)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // STAR WARS USA CPU 1.02 -GAME(1992, stwr_102e, stwr_106, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Star Wars (England 1.02, display A1.05)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // STAR WARS ENGLAND CPU 1.02 -GAME(1992, stwr_101, stwr_106, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Star Wars (USA 1.01, display A1.02)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // STAR WARS USA CPU 1.01. DISPLAY VERSION- STAR WARS A1.02 10/29/1992 -GAME(1992, stwr_101g, stwr_106, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Star Wars (German 1.01, display G1.02)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // STAR WARS GERMAN CPU 1.01. DISPLAY VERSION- STAR WARS G1.02 29/10/1992 -GAME(1993, tftc_303, 0, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Tales From the Crypt (USA 3.03, display A3.01)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // TFTC FEBRUARY 22,1994 USA CPU 3.03. DISPLAY VERSION- CRYPT A3.01 12/28/1993 -GAME(1993, tftc_302, tftc_303, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Tales From the Crypt (Dutch 3.02, display A3.01)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // TFTC JANUARY 06, 1994 DUTCH CPU 3.02 -GAME(1993, tftc_300, tftc_303, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Tales From the Crypt (USA 3.00, display A3.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // TFTC DECEMBER 15, 1993 USA CPU 3.00. DISPLAY VERSION- CRYPT A3.00 12/16/1993 -GAME(1993, tftc_200, tftc_303, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Tales From the Crypt (USA 2.00, display A2.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // TFTC DECEMBER 03, 1993 USA CPU 2.00. DISPLAY VERSION- CRYPT A2.00 12/3/1993 -GAME(1993, tftc_104s, tftc_303, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Tales From the Crypt (USA 1.04, display L1.03)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // TFTC NOVEMBER 19, 1993 USA CPU 1.04. DISPLAY VERSION- CRYPT L1.03 11/11/1993 -GAME(1991, tmnt_104, 0, de_3_dmdo, de3, de_3_state, empty_init, ROT0, "Data East", "Teenage Mutant Ninja Turtles (USA 1.04, display A1.04)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // T.M.N.T. USA 1.04. DISPLAY VER: TMNT A1.04 -GAME(1991, tmnt_104g, tmnt_104, de_3_dmdo, de3, de_3_state, empty_init, ROT0, "Data East", "Teenage Mutant Ninja Turtles (Germany 1.04, display A1.04)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // T.M.N.T. GERMANY 1.04. -GAME(1991, tmnt_103, tmnt_104, de_3_dmdo, de3, de_3_state, empty_init, ROT0, "Data East", "Teenage Mutant Ninja Turtles (1.03)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // T.M.N.T. A 1.03 -GAME(1991, tmnt_101, tmnt_104, de_3_dmdo, de3, de_3_state, empty_init, ROT0, "Data East", "Teenage Mutant Ninja Turtles (1.01)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // T.M.N.T. A 1.01 -GAME(1991, tmnt_a07, tmnt_104, de_3_dmdo, de3, de_3_state, empty_init, ROT0, "Data East", "Teenage Mutant Ninja Turtles (A 0.7 VUK prototype)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // T.M.N.T. A 0.7 VUK -GAME(1994, tomy_400, 0, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "The Who's Tommy Pinball Wizard (USA 4.00, display A4.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // TOMMY APRIL 6, 1994 USA CPU 4.00. DISPLAY VERSION- TOMMY A4.00 MAY 5, 1994 -GAME(1994, tomy_301g, tomy_400, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "The Who's Tommy Pinball Wizard (German 3.01, display G3.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // TOMMY MARCH 22, 1994 GERMAN CPU 3.01. DISPLAY VERSION- TOMMY G3.00 FEBRUARY 16, 1994 -GAME(1994, tomy_300h, tomy_400, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "The Who's Tommy Pinball Wizard (Dutch 3.00, display A3.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // TOMMY FEBRUARY 16, 1994 DUTCH CPU 3.00. DISPLAY VERSION- TOMMY A3.00 FEBRUARY 15, 1994 -GAME(1994, tomy_201h, tomy_400, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "The Who's Tommy Pinball Wizard (Dutch 2.01, display A2.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // TOMMY FEBRUARY 16, 1994 DUTCH CPU 3.00. DISPLAY VERSION- TOMMY A3.00 FEBRUARY 15, 1994 -GAME(1994, tomy_102, tomy_400, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "The Who's Tommy Pinball Wizard (USA 1.02, display A3.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // TOMMY FEBRUARY 11, 1994 DUTCH CPU 2.01. DISPLAY VERSION- TOMMY A2.00 FEBRUARY 1, 1994 -GAME(1994, tomy_102be, tomy_400, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "The Who's Tommy Pinball Wizard (Belgium 1.02, display A1.02)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // TOMMY JANUARY 26, 1994 BELGIUM CPU 1.02. DISPLAY VERSION- TOMMY A1.02 JANUARY 25, 1994 -GAME(1994, wwfr_106, 0, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "WWF Royal Rumble (USA 1.06, display A1.02)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // RUMBLIN' AN' A TUMBLIN' WWF WRESTLING AUG. 01, 1994 USA CPU 1.06. DISPLAY VERSION- WWF A1.02 JUNE 29, 1994 -GAME(1994, wwfr_103, wwfr_106, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "WWF Royal Rumble (USA 1.03, display A1.01)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // RUMBLIN' AN' A TUMBLIN' WWF WRESTLING APR. 28, 1994 USA CPU 1.03. DISPLAY VERSION- WWF A1.01 APRIL 14, 1994 -GAME(1994, wwfr_103f, wwfr_106, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "WWF Royal Rumble (French 1.03, display F1.01)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // RUMBLIN' AN' A TUMBLIN' WWF WRESTLING APR. 28, 1994 FRENCH CPU 1.03. DISPLAY VERSION- WWF F1.01 APRIL 14, 1994 -GAME(1995, batmanf, 0, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Batman Forever (4.0)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, batmanf3, batmanf, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Batman Forever (3.0)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, batmanf2, batmanf, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Batman Forever (2.02)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, batmanf1, batmanf, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Batman Forever (1.02)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, bmf_uk, batmanf, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Batman Forever (English)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, bmf_cn, batmanf, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Batman Forever (Canadian)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, bmf_no, batmanf, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Batman Forever (Norwegian)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, bmf_sv, batmanf, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Batman Forever (Swedish)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, bmf_at, batmanf, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Batman Forever (Austrian)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, bmf_ch, batmanf, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Batman Forever (Swiss)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, bmf_de, batmanf, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Batman Forever (German)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, bmf_be, batmanf, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Batman Forever (Belgian)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, bmf_fr, batmanf, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Batman Forever (French)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, bmf_nl, batmanf, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Batman Forever (Dutch, 4.0)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, bmf_nl302, batmanf, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Batman Forever (Dutch, 3.02)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, bmf_it, batmanf, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Batman Forever (Italian)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, bmf_sp, batmanf, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Batman Forever (Spanish)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, bmf_jp, batmanf, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Batman Forever (Japanese)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, bmf_time, batmanf, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Batman Forever (Timed Play)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, baywatch, 0, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Baywatch", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, bay_d300, baywatch, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Baywatch (3.00 Dutch)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, bay_g300, baywatch, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Baywatch (3.00 German)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, bay_d400, baywatch, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Baywatch (4.00 English)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, bay_e400, baywatch, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Baywatch (4.00 Dutch)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, bay_f201, baywatch, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Baywatch (2.01 French)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, frankst, 0, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Mary Shelley's Frankenstein", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, frankstg, frankst, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Mary Shelley's Frankenstein (Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, franksti, frankst, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Mary Shelley's Frankenstein (Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, mav_402, 0, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Maverick, The Movie (4.04, Display Rev. 4.02)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, mav_401, mav_402, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Maverick, The Movie (4.02, Display Rev. 4.01)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, mav_400, mav_402, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Maverick, The Movie (Display Rev. 4.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, mav_200, mav_402, de_3b, de3, de_3_state, empty_init, ROT0, "Data East", "Maverick, The Movie (2.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, mav_100, mav_402, de_3b, de3, de_3_state, empty_init, ROT0, "Data East", "Maverick, The Movie (1.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1998, detest, 0, detest, de3, de_3_state, empty_init, ROT0, "Data East", "Data East Test Chip", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1996, ctcheese, 0, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Cut The Cheese (Redemption)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1993, rab_320, 0, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Adventures of Rocky and Bullwinkle and Friends (USA 3.20, display A3.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // ROCKY+BULLWINKLE AUGUST 12, 1993 USA CPU 3.20. DISPLAY VERSION- BULLWINKLE A3.00 5/24/1993 +GAME(1993, rab_130, rab_320, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Adventures of Rocky and Bullwinkle and Friends (USA 1.30, display A1.30)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // ROCKY+BULLWINKLE APRIL 1, 1993 USA CPU 1.30. DISPLAY VERSION- BULLWINKLE A1.30 4/1/1993 +GAME(1993, rab_103s, rab_320, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Adventures of Rocky and Bullwinkle and Friends (USA 1.03, display S1.03)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // ROCKY+BULLWINKLE FEBRUARY 3, 1993 USA CPU 1.03. DISPLAY VERSION- BULLWINKLE S1.03 2/2/1993 +GAME(1992, aar_101, 0, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Aaron Spelling (1.01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // AARON SPELLING V1.01 12/23/92 +GAME(1991, btmn_106, 0, de_3_dmd1, de3, de_3_state, empty_init, ROT0, "Data East", "Batman (USA 1.06, display A1.02)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // BATMAN USA 1.06. DISP VER: BATMAN A1.02 +GAME(1991, btmn_103, btmn_106, de_3_dmd1, de3, de_3_state, empty_init, ROT0, "Data East", "Batman (USA 1.03, display A1.02)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // BATMAN USA 1.03. DISP VER: BATMAN A1.02 +GAME(1991, btmn_103f, btmn_106, de_3_dmd1, de3, de_3_state, empty_init, ROT0, "Data East", "Batman (France 1.03, display F1.03)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // BATMAN FRANCE 1.03. DISP VER: BATMAN F1.03 +GAME(1991, btmn_103g, btmn_106, de_3_dmd1, de3, de_3_state, empty_init, ROT0, "Data East", "Batman (Germany 1.03, display G1.04)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // BATMAN GERMANY 1.03. DISP VER: BATMAN G1.04 +GAME(1991, btmn_101, btmn_106, de_3_dmd1, de3, de_3_state, empty_init, ROT0, "Data East", "Batman (USA 1.01, display A1.02)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // BATMAN USA 1.01 +GAME(1991, ckpt_a17, 0, de_3_dmdo, de3, de_3_state, empty_init, ROT0, "Data East", "Checkpoint (1.7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // CP80 3/6/91 +GAME(1994, gnr_300, 0, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Guns N Roses (USA 3.00, display A3.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // GUNS-N-ROSES AUGUST 21, 1994 USA CPU 3.00. DISPLAY VERSION- GNR A3.00 AUGUST 16, 1994 +GAME(1994, gnr_300f, gnr_300, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Guns N Roses (French 3.00, display F3.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // GUNS-N-ROSES AUGUST 21, 1994 FRENCH CPU 3.00. DISPLAY VERSION- GNR F3.00 AUGUST 16, 1994 +GAME(1994, gnr_300d, gnr_300, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Guns N Roses (Dutch 3.00, display A3.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // GUNS-N-ROSES AUGUST 21, 1994 DUTCH CPU 3.00. DISPLAY VERSION- GNR A3.00 AUGUST 16, 1994 +GAME(1994, gnr_200, gnr_300, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Guns N Roses (USA 2.00, display A3.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // GUNS-N-ROSES JULY 5, 1994 USA CPU 2.00 +GAME(1992, hook_408, 0, de_3_dmd1, de3, de_3_state, empty_init, ROT0, "Data East", "Hook (USA 4.08, display A4.01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // HOOK USA 4.08. DISPLAY: HOOK A4.01 +GAME(1992, hook_404, hook_408, de_3_dmd1, de3, de_3_state, empty_init, ROT0, "Data East", "Hook (USA 4.04, display A4.01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // HOOK USA 4.04 +GAME(1992, hook_401, hook_408, de_3_dmd1, de3, de_3_state, empty_init, ROT0, "Data East", "Hook (USA 4.01, display A4.01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // HOOK USA 4.01 +GAME(1992, hook_401_p, hook_408, de_3_dmd1, de3, de_3_state, empty_init, ROT0, "Data East", "Hook (USA 4.01 with prototype sound, display A4.01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // HOOK USA 4.01 +GAME(1992, hook_f401, hook_408, de_3_dmd1, de3, de_3_state, empty_init, ROT0, "Data East", "Hook (USA 4.01, display F4.01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // HOOK USA 4.01 DISPLAY: HOOK F4.01 +GAME(1992, hook_400, hook_408, de_3_dmd1, de3, de_3_state, empty_init, ROT0, "Data East", "Hook (USA 4.01, display A4.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // HOOK USA 4.01 DISPLAY: HOOK A4.00 +GAME(1992, hook_e406, hook_408, de_3_dmd1, de3, de_3_state, empty_init, ROT0, "Data East", "Hook (UK 4.06, display A4.01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // HOOK U.K. 4.06 +GAME(1993, jupk_513, 0, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Jurassic Park (USA 5.13, display A5.10)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // JURASSIC PARK SEP. 28, 1993 USA CPU 5.13. DISPLAY VERSION- JURASSIC A5.10 8/24/1993 +GAME(1993, jupk_501, jupk_513, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Jurassic Park (USA 5.01, display A5.01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // JURASSIC PARK JUNE 28, 1993 USA CPU 5.01. DISPLAY VERSION- JURASSIC A5.01 6/24/1993 +GAME(1993, jupk_501g, jupk_513, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Jurassic Park (USA 5.01, display G5.01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // JURASSIC PARK JUNE 28, 1993 USA CPU 5.01. DISPLAY VERSION- JURASSIC G5.01 6/24/1993 +GAME(1993, jupk_307, jupk_513, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Jurassic Park (USA 3.07, display A4.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // JURASSIC PARK. MAY 25, 1993. USA CPU 3.05 +GAME(1993, jupk_305, jupk_513, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Jurassic Park (USA 3.05, display A4.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // JURASSIC PARK. MAY 25, 1993. USA CPU 3.05 +GAME(1993, lah_112, 0, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Last Action Hero (USA 1.12, display A1.06)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // LAST ACTION HERO NOV. 10, 1993 USA CPU 1.12. DISPLAY VERSION- ACTION HERO A1.06 11/11/1993 +GAME(1993, lah_110, lah_112, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Last Action Hero (USA 1.10, display A1.06)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // LAST ACTION HERO OCT. 18, 1993 USA CPU 1.10 +GAME(1993, lah_xxx_s105, lah_112, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Last Action Hero (unknown CPU, display L1.05)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // DISPLAY VERSION- ACTION HERO L1.05 11/11/1993 +GAME(1993, lah_108s, lah_112, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Last Action Hero (USA 1.08, display L1.04)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // LAST ACTION HERO SEPT. 28, 1993 USA CPU 1.08. DISPLAY VERSION- ACTION HERO L1.04 9/5/1993 +GAME(1993, lah_107, lah_112, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Last Action Hero (USA 1.07, display A1.06)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // LAST ACTION HERO SEPT. 22, 1993 USA CPU 1.07 +GAME(1993, lah_106c, lah_112, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Last Action Hero (Canada 1.06, display A1.04)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // LAST ACTION HERO SEPT. 20, 1993 CANADA CPU 1.06. DISPLAY VERSION- ACTION HERO A1.04 9/5/1993 +GAME(1993, lah_104f, lah_112, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Last Action Hero (USA 1.04, display F1.01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // LAST ACTION HERO SEPT. 1, 1993 USA CPU 1.04. DISPLAY VERSION- ACTION HERO F1.01 8/18/1993 +GAME(1993, lah_104s, lah_112, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Last Action Hero (USA 1.04, display L1.02)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // LAST ACTION HERO SEPT. 1, 1993 USA CPU 1.04. DISPLAY VERSION- ACTION HERO L1.02 8/30/1993 +GAME(1992, lw3_208, 0, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Lethal Weapon 3 (USA 2.08, display A2.06)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // LW3 11/17/92 USA CPU 2.08. DISPLAY VERSION- LETHAL WEAPON A2.06 9/29/1992 +GAME(1992, lw3_207, lw3_208, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Lethal Weapon 3 (USA 2.07, display A2.06)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // LW3 AUG 31, 1992 USA CPU 2.07 +GAME(1992, lw3_207c, lw3_208, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Lethal Weapon 3 (Canada 2.07, display A2.06)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // LW3 AUG 31, 1992 CANADA CPU 2.07 +GAME(1992, lw3_205, lw3_208, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Lethal Weapon 3 (USA 2.05, display A2.05)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // LW3 JULY 30, 1992 USA CPU 2.05. DISPLAY VERSION- LETHAL WEAPON A2.05 8/14/1992 +GAME(1992, lw3_204e, lw3_208, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Lethal Weapon 3 (England 2.04, display A2.02)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // LW3 JULY 30. 1992 ENGLAND CPU 2.04. DISPLAY VERSION LETHAL WEAPON A2.02 7/17/1992 +GAME(1992, lw3_203, lw3_208, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Lethal Weapon 3 (USA 2.03, display A2.04)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // LW3 JULY 17, 1992 USA CPU 2.03. DISPLAY VERSION- LETHAL WEAPON A2.04 7/29/1992 +GAME(1992, lw3_200, lw3_208, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Lethal Weapon 3 (USA 2.00, display A2.04)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // LW3 JUNE 16, 1992 USA CPU 2.00. DISPLAY VERSION- LETHAL WEAPON A2.04 7/29/1992 +GAME(1992, mj_130, 0, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Michael Jordan (1.30, display A1.03)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // MICHAEL JORDAN V 1.30 11/4/92. DISPLAY VERSION- JORDAN A1.03 8/13/1993 +GAME(1992, trek_201, 0, de_3_dmd1, de3, de_3_state, empty_init, ROT0, "Data East", "Star Trek 25th Anniversary (USA 2.01, display A1.09)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // STARTREK 4/30/92 USA VER. 2.01. DISPLAY: STARTREK A1.09 +GAME(1992, trek_200, trek_201, de_3_dmd1, de3, de_3_state, empty_init, ROT0, "Data East", "Star Trek 25th Anniversary (USA 2.00, display A1.09)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // STARTREK 4/16/92 USA VER. 2.00 +GAME(1992, trek_120, trek_201, de_3_dmd1, de3, de_3_state, empty_init, ROT0, "Data East", "Star Trek 25th Anniversary (USA 1.20, display A1.06)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // STAR TREK 1/10 USA VER. 1.20. DISPLAY: STARTREK A1.06 +GAME(1992, trek_117, trek_201, de_3_dmd1, de3, de_3_state, empty_init, ROT0, "Data East", "Star Trek 25th Anniversary (USA 1.17, display A1.09)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // STAR TREK 12/9 USA VER. 1.17 +GAME(1992, trek_110, trek_201, de_3_dmd1, de3, de_3_state, empty_init, ROT0, "Data East", "Star Trek 25th Anniversary (USA 1.10, display A1.06)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // STAR TREK 11/14 USA VER. 1.10. DISPLAY: STARTREK A1.06 +GAME(1992, trek_110_a027, trek_201, de_3_dmd1, de3, de_3_state, empty_init, ROT0, "Data East", "Star Trek 25th Anniversary (USA 1.10, display A0.27)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // STAR TREK 11/14 USA VER. 1.10. DISPLAY: STARTREK A0.27 +GAME(1992, stwr_106, 0, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Star Wars (Unofficial 1.06, display A1.05)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // STAR WARS 2016 UNOFFICIAL 1.06. DISPLAY VERSION- STAR WARS A1.05 12/4/1992 +GAME(1992, stwr_106_s105, stwr_106, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Star Wars (Unofficial 1.06, display S1.05)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // DISPLAY VERSION- STAR WARS S1.05 12/4/1992 +GAME(1992, stwr_106_a046, stwr_106, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Star Wars (Unofficial 1.06, display A0.46)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // DISPLAY VERSION- STAR WARS A0.46 10/9/1992 +GAME(1992, stwr_104, stwr_106, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Star Wars (USA 1.04, display A1.05)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // STAR WARS USA CPU 1.04 +GAME(1992, stwr_103, stwr_106, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Star Wars (USA 1.03, display A1.05)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // STAR WARS USA CPU 1.03 +GAME(1992, stwr_103_a104, stwr_106, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Star Wars (USA 1.03, display A1.04)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // STAR WARS USA CPU 1.03. DISPLAY VERSION- STAR WARS A1.04 11/20/1992 +GAME(1992, stwr_102, stwr_106, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Star Wars (USA 1.02, display A1.05)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // STAR WARS USA CPU 1.02 +GAME(1992, stwr_102e, stwr_106, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Star Wars (England 1.02, display A1.05)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // STAR WARS ENGLAND CPU 1.02 +GAME(1992, stwr_101, stwr_106, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Star Wars (USA 1.01, display A1.02)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // STAR WARS USA CPU 1.01. DISPLAY VERSION- STAR WARS A1.02 10/29/1992 +GAME(1992, stwr_101g, stwr_106, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Star Wars (German 1.01, display G1.02)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // STAR WARS GERMAN CPU 1.01. DISPLAY VERSION- STAR WARS G1.02 29/10/1992 +GAME(1993, tftc_303, 0, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Tales From the Crypt (USA 3.03, display A3.01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // TFTC FEBRUARY 22,1994 USA CPU 3.03. DISPLAY VERSION- CRYPT A3.01 12/28/1993 +GAME(1993, tftc_302, tftc_303, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Tales From the Crypt (Dutch 3.02, display A3.01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // TFTC JANUARY 06, 1994 DUTCH CPU 3.02 +GAME(1993, tftc_300, tftc_303, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Tales From the Crypt (USA 3.00, display A3.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // TFTC DECEMBER 15, 1993 USA CPU 3.00. DISPLAY VERSION- CRYPT A3.00 12/16/1993 +GAME(1993, tftc_200, tftc_303, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Tales From the Crypt (USA 2.00, display A2.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // TFTC DECEMBER 03, 1993 USA CPU 2.00. DISPLAY VERSION- CRYPT A2.00 12/3/1993 +GAME(1993, tftc_104s, tftc_303, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "Tales From the Crypt (USA 1.04, display L1.03)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // TFTC NOVEMBER 19, 1993 USA CPU 1.04. DISPLAY VERSION- CRYPT L1.03 11/11/1993 +GAME(1991, tmnt_104, 0, de_3_dmdo, de3, de_3_state, empty_init, ROT0, "Data East", "Teenage Mutant Ninja Turtles (USA 1.04, display A1.04)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // T.M.N.T. USA 1.04. DISPLAY VER: TMNT A1.04 +GAME(1991, tmnt_104g, tmnt_104, de_3_dmdo, de3, de_3_state, empty_init, ROT0, "Data East", "Teenage Mutant Ninja Turtles (Germany 1.04, display A1.04)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // T.M.N.T. GERMANY 1.04. +GAME(1991, tmnt_103, tmnt_104, de_3_dmdo, de3, de_3_state, empty_init, ROT0, "Data East", "Teenage Mutant Ninja Turtles (1.03)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // T.M.N.T. A 1.03 +GAME(1991, tmnt_101, tmnt_104, de_3_dmdo, de3, de_3_state, empty_init, ROT0, "Data East", "Teenage Mutant Ninja Turtles (1.01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // T.M.N.T. A 1.01 +GAME(1991, tmnt_a07, tmnt_104, de_3_dmdo, de3, de_3_state, empty_init, ROT0, "Data East", "Teenage Mutant Ninja Turtles (A 0.7 VUK prototype)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // T.M.N.T. A 0.7 VUK +GAME(1994, tomy_400, 0, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "The Who's Tommy Pinball Wizard (USA 4.00, display A4.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // TOMMY APRIL 6, 1994 USA CPU 4.00. DISPLAY VERSION- TOMMY A4.00 MAY 5, 1994 +GAME(1994, tomy_301g, tomy_400, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "The Who's Tommy Pinball Wizard (German 3.01, display G3.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // TOMMY MARCH 22, 1994 GERMAN CPU 3.01. DISPLAY VERSION- TOMMY G3.00 FEBRUARY 16, 1994 +GAME(1994, tomy_300h, tomy_400, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "The Who's Tommy Pinball Wizard (Dutch 3.00, display A3.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // TOMMY FEBRUARY 16, 1994 DUTCH CPU 3.00. DISPLAY VERSION- TOMMY A3.00 FEBRUARY 15, 1994 +GAME(1994, tomy_201h, tomy_400, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "The Who's Tommy Pinball Wizard (Dutch 2.01, display A2.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // TOMMY FEBRUARY 16, 1994 DUTCH CPU 3.00. DISPLAY VERSION- TOMMY A3.00 FEBRUARY 15, 1994 +GAME(1994, tomy_102, tomy_400, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "The Who's Tommy Pinball Wizard (USA 1.02, display A3.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // TOMMY FEBRUARY 11, 1994 DUTCH CPU 2.01. DISPLAY VERSION- TOMMY A2.00 FEBRUARY 1, 1994 +GAME(1994, tomy_102be, tomy_400, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "The Who's Tommy Pinball Wizard (Belgium 1.02, display A1.02)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // TOMMY JANUARY 26, 1994 BELGIUM CPU 1.02. DISPLAY VERSION- TOMMY A1.02 JANUARY 25, 1994 +GAME(1994, wwfr_106, 0, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "WWF Royal Rumble (USA 1.06, display A1.02)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // RUMBLIN' AN' A TUMBLIN' WWF WRESTLING AUG. 01, 1994 USA CPU 1.06. DISPLAY VERSION- WWF A1.02 JUNE 29, 1994 +GAME(1994, wwfr_103, wwfr_106, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "WWF Royal Rumble (USA 1.03, display A1.01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // RUMBLIN' AN' A TUMBLIN' WWF WRESTLING APR. 28, 1994 USA CPU 1.03. DISPLAY VERSION- WWF A1.01 APRIL 14, 1994 +GAME(1994, wwfr_103f, wwfr_106, de_3_dmd2, de3, de_3_state, empty_init, ROT0, "Data East", "WWF Royal Rumble (French 1.03, display F1.01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // RUMBLIN' AN' A TUMBLIN' WWF WRESTLING APR. 28, 1994 FRENCH CPU 1.03. DISPLAY VERSION- WWF F1.01 APRIL 14, 1994 +GAME(1995, batmanf, 0, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Batman Forever (4.0)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, batmanf3, batmanf, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Batman Forever (3.0)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, batmanf2, batmanf, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Batman Forever (2.02)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, batmanf1, batmanf, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Batman Forever (1.02)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, bmf_uk, batmanf, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Batman Forever (English)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, bmf_cn, batmanf, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Batman Forever (Canadian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, bmf_no, batmanf, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Batman Forever (Norwegian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, bmf_sv, batmanf, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Batman Forever (Swedish)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, bmf_at, batmanf, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Batman Forever (Austrian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, bmf_ch, batmanf, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Batman Forever (Swiss)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, bmf_de, batmanf, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Batman Forever (German)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, bmf_be, batmanf, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Batman Forever (Belgian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, bmf_fr, batmanf, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Batman Forever (French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, bmf_nl, batmanf, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Batman Forever (Dutch, 4.0)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, bmf_nl302, batmanf, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Batman Forever (Dutch, 3.02)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, bmf_it, batmanf, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Batman Forever (Italian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, bmf_sp, batmanf, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Batman Forever (Spanish)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, bmf_jp, batmanf, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Batman Forever (Japanese)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, bmf_time, batmanf, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Batman Forever (Timed Play)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, baywatch, 0, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Baywatch", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, bay_d300, baywatch, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Baywatch (3.00 Dutch)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, bay_g300, baywatch, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Baywatch (3.00 German)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, bay_d400, baywatch, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Baywatch (4.00 English)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, bay_e400, baywatch, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Baywatch (4.00 Dutch)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, bay_f201, baywatch, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Baywatch (2.01 French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, frankst, 0, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Mary Shelley's Frankenstein", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, frankstg, frankst, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Mary Shelley's Frankenstein (Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, franksti, frankst, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Mary Shelley's Frankenstein (Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, mav_402, 0, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Maverick, The Movie (4.04, Display Rev. 4.02)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, mav_401, mav_402, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Maverick, The Movie (4.02, Display Rev. 4.01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, mav_400, mav_402, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Maverick, The Movie (Display Rev. 4.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, mav_200, mav_402, de_3b, de3, de_3_state, empty_init, ROT0, "Data East", "Maverick, The Movie (2.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, mav_100, mav_402, de_3b, de3, de_3_state, empty_init, ROT0, "Data East", "Maverick, The Movie (1.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1998, detest, 0, detest, de3, de_3_state, empty_init, ROT0, "Data East", "Data East Test Chip", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1996, ctcheese, 0, de_3b, de3, de_3_state, empty_init, ROT0, "Sega", "Cut The Cheese (Redemption)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/gp_2.cpp b/src/mame/pinball/gp_2.cpp index 91d2b8f1d4308..37226593b9001 100644 --- a/src/mame/pinball/gp_2.cpp +++ b/src/mame/pinball/gp_2.cpp @@ -836,23 +836,23 @@ ROM_END } // anonymous namespace // GP1 dips -GAME( 1979, sshootep, 0, gp_2, gp_1, gp_2_state, empty_init, ROT0, "Game Plan", "Sharpshooter (Game Plan)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1979, coneyis, 0, gp_2, gp_1, gp_2_state, empty_init, ROT0, "Game Plan", "Old Coney Island!", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1980, lizard, 0, gp_2, gp_1, gp_2_state, empty_init, ROT0, "Game Plan", "Pinball Lizard", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1982, suprnova, 0, gp_2, gp_1, gp_2_state, empty_init, ROT0, "Game Plan", "Super Nova (Game Plan)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1983, sshootr2, 0, gp_2, gp_1, gp_2_state, empty_init, ROT0, "Game Plan", "Sharp Shooter II", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME( 1979, sshootep, 0, gp_2, gp_1, gp_2_state, empty_init, ROT0, "Game Plan", "Sharpshooter (Game Plan)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1979, coneyis, 0, gp_2, gp_1, gp_2_state, empty_init, ROT0, "Game Plan", "Old Coney Island!", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1980, lizard, 0, gp_2, gp_1, gp_2_state, empty_init, ROT0, "Game Plan", "Pinball Lizard", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1982, suprnova, 0, gp_2, gp_1, gp_2_state, empty_init, ROT0, "Game Plan", "Super Nova (Game Plan)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1983, sshootr2, 0, gp_2, gp_1, gp_2_state, empty_init, ROT0, "Game Plan", "Sharp Shooter II", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // GP2 dips -GAME( 1981, gwarfare, 0, gp_2, gp_2, gp_2_state, empty_init, ROT0, "Game Plan", "Global Warfare", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1982, mbossy, 0, gp_2, gp_2, gp_2_state, empty_init, ROT0, "Game Plan", "Mike Bossy", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1984, attila, 0, gp_2, gp_2, gp_2_state, empty_init, ROT0, "Game Plan", "Attila The Hun", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME( 1981, gwarfare, 0, gp_2, gp_2, gp_2_state, empty_init, ROT0, "Game Plan", "Global Warfare", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1982, mbossy, 0, gp_2, gp_2, gp_2_state, empty_init, ROT0, "Game Plan", "Mike Bossy", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1984, attila, 0, gp_2, gp_2, gp_2_state, empty_init, ROT0, "Game Plan", "Attila The Hun", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // revolving match -GAME( 1984, agent777, 0, gp_2, gp_2, gp_2_state, empty_init, ROT0, "Game Plan", "Agents 777", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1985, cpthook, 0, gp_2, gp_2, gp_2_state, empty_init, ROT0, "Game Plan", "Captain Hook", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1985, ladyshot, 0, gp_2, gp_2, gp_2_state, empty_init, ROT0, "Game Plan", "Lady Sharpshooter (set 1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1985, ladyshota, ladyshot, gp_2, gp_2, gp_2_state, empty_init, ROT0, "Game Plan", "Lady Sharpshooter (set 2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1985, andromep, 0, gp_2, gp_2, gp_2_state, empty_init, ROT0, "Game Plan", "Andromeda (set 1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1985, andromepa, andromep, gp_2, gp_2, gp_2_state, empty_init, ROT0, "Game Plan", "Andromeda (set 2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1985, cyclopes, 0, gp_2, gp_2, gp_2_state, empty_init, ROT0, "Game Plan", "Cyclopes (12/85)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1985, cyclopes1, cyclopes, gp_2, gp_2, gp_2_state, empty_init, ROT0, "Game Plan", "Cyclopes (11/85)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME( 1984, agent777, 0, gp_2, gp_2, gp_2_state, empty_init, ROT0, "Game Plan", "Agents 777", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1985, cpthook, 0, gp_2, gp_2, gp_2_state, empty_init, ROT0, "Game Plan", "Captain Hook", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1985, ladyshot, 0, gp_2, gp_2, gp_2_state, empty_init, ROT0, "Game Plan", "Lady Sharpshooter (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1985, ladyshota, ladyshot, gp_2, gp_2, gp_2_state, empty_init, ROT0, "Game Plan", "Lady Sharpshooter (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1985, andromep, 0, gp_2, gp_2, gp_2_state, empty_init, ROT0, "Game Plan", "Andromeda (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1985, andromepa, andromep, gp_2, gp_2, gp_2_state, empty_init, ROT0, "Game Plan", "Andromeda (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1985, cyclopes, 0, gp_2, gp_2, gp_2_state, empty_init, ROT0, "Game Plan", "Cyclopes (12/85)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1985, cyclopes1, cyclopes, gp_2, gp_2, gp_2_state, empty_init, ROT0, "Game Plan", "Cyclopes (11/85)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/gts1.cpp b/src/mame/pinball/gts1.cpp index 7e8df9111a9fb..f68d815cc4e9f 100644 --- a/src/mame/pinball/gts1.cpp +++ b/src/mame/pinball/gts1.cpp @@ -1072,7 +1072,7 @@ ROM_END } // Anonymous namespace GAME(1977, gts1, 0, p0, gts1, gts1_state, empty_init, ROT0, "Gottlieb", "System 1", MACHINE_IS_BIOS_ROOT | MACHINE_NOT_WORKING) -GAME(19??, sys1test, gts1, p0, gts1, gts1_state, empty_init, ROT0, "Gottlieb", "System 1 Test prom", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(19??, sys1test, gts1, p0, gts1, gts1_state, empty_init, ROT0, "Gottlieb", "System 1 Test prom", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // chimes GAME(1977, cleoptra, gts1, p0, gts1, gts1_state, empty_init, ROT0, "Gottlieb", "Cleopatra", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE ) @@ -1089,14 +1089,14 @@ GAME(1978, charlies, gts1, p1, gts1, gts1_state, empty_init, ROT0, "Gott GAME(1979, pinpool, gts1, p1, gts1, gts1_state, empty_init, ROT0, "Gottlieb", "Pinball Pool", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // sound card -GAME(1979, totem, gts1, p2, gts1, gts1_state, empty_init, ROT0, "Gottlieb", "Totem", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1979, hulk, gts1, p2, gts1, gts1_state, empty_init, ROT0, "Gottlieb", "The Incredible Hulk", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1979, geniep, gts1, p2, gts1, gts1_state, empty_init, ROT0, "Gottlieb", "Genie (Pinball)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1980, buckrgrs, gts1, p2, gts1, gts1_state, empty_init, ROT0, "Gottlieb", "Buck Rogers", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1980, torch, gts1, p2, gts1, gts1_state, empty_init, ROT0, "Gottlieb", "Torch", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1980, roldisco, gts1, p2, gts1, gts1_state, empty_init, ROT0, "Gottlieb", "Roller Disco", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1980, astannie, gts1, p2, gts1, gts1_state, empty_init, ROT0, "Gottlieb", "Asteroid Annie and the Aliens", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1979, totem, gts1, p2, gts1, gts1_state, empty_init, ROT0, "Gottlieb", "Totem", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1979, hulk, gts1, p2, gts1, gts1_state, empty_init, ROT0, "Gottlieb", "The Incredible Hulk", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1979, geniep, gts1, p2, gts1, gts1_state, empty_init, ROT0, "Gottlieb", "Genie (Pinball)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1980, buckrgrs, gts1, p2, gts1, gts1_state, empty_init, ROT0, "Gottlieb", "Buck Rogers", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1980, torch, gts1, p2, gts1, gts1_state, empty_init, ROT0, "Gottlieb", "Torch", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1980, roldisco, gts1, p2, gts1, gts1_state, empty_init, ROT0, "Gottlieb", "Roller Disco", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1980, astannie, gts1, p2, gts1, gts1_state, empty_init, ROT0, "Gottlieb", "Asteroid Annie and the Aliens", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // other manufacturer -GAME(1984, sahalove, sinbad, p0, gts1, gts1_state, empty_init, ROT0, "Christian Tabart", "Sahara Love (France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1986, hexagone, gts1, p0, gts1, gts1_state, empty_init, ROT0, "Christian Tabart", "L'Hexagone (France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1984, sahalove, sinbad, p0, gts1, gts1_state, empty_init, ROT0, "Christian Tabart", "Sahara Love (France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1986, hexagone, gts1, p0, gts1, gts1_state, empty_init, ROT0, "Christian Tabart", "L'Hexagone (France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/gts3.cpp b/src/mame/pinball/gts3.cpp index 40b710aa98668..c70c1789701fc 100644 --- a/src/mame/pinball/gts3.cpp +++ b/src/mame/pinball/gts3.cpp @@ -64,7 +64,7 @@ Caribbean Cruise C102 1, enter, hold \ and right until message goes \ #include "gottlieb_a.h" -#include "cpu/m6502/m65c02.h" +#include "cpu/m6502/w65c02.h" #include "machine/6522via.h" #include "machine/input_merger.h" #include "speaker.h" @@ -105,7 +105,6 @@ class gts3_state : public genpin_class void solenoid_w(offs_t, u8); void u4b_w(u8 data); void u5a_w(u8 data); - void nmi_w(int state); void mem_map(address_map &map) ATTR_COLD; bool m_dispclk = false; @@ -115,7 +114,7 @@ class gts3_state : public genpin_class u8 m_segment[4]{}; u8 m_u4b = 0U; - required_device m_maincpu; + required_device m_maincpu; required_device m_u4; required_device m_u5; optional_device m_p5_sound; @@ -242,12 +241,6 @@ INPUT_CHANGED_MEMBER( gts3_state::test_inp ) m_u4->write_ca1(newval); } -// This trampoline needed; WRITELINE("maincpu", m65c02_device, nmi_line) does not work -void gts3_state::nmi_w(int state) -{ - m_maincpu->set_input_line(INPUT_LINE_NMI, (state) ? CLEAR_LINE : HOLD_LINE); -} - void gts3_state::lampret_w(u8 data) { if (m_row < 12) @@ -348,7 +341,7 @@ void gts3_state::machine_reset() void gts3_state::p0(machine_config &config) { - M65C02(config, m_maincpu, XTAL(4'000'000) / 2); + W65C02(config, m_maincpu, XTAL(4'000'000) / 2); m_maincpu->set_addrmap(AS_PROGRAM, >s3_state::mem_map); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); @@ -361,7 +354,7 @@ void gts3_state::p0(machine_config &config) m_u4->readpb_handler().set(FUNC(gts3_state::u4b_r)); m_u4->writepb_handler().set(FUNC(gts3_state::u4b_w)); //m_u4->ca2_handler().set(FUNC(gts3_state::u4ca2_w)); - m_u4->cb2_handler().set(FUNC(gts3_state::nmi_w)); + m_u4->cb2_handler().set_inputline("maincpu", W65C02_NMI_LINE).invert(); R65C22(config, m_u5, XTAL(4'000'000) / 2); m_u5->irq_handler().set("irq", FUNC(input_merger_device::in_w<1>)); @@ -372,7 +365,7 @@ void gts3_state::p0(machine_config &config) //m_u5->cb1_handler().set(FUNC(gts3_state::u5cb1_w)); //m_u5->cb2_handler().set(FUNC(gts3_state::u5cb2_w)); - INPUT_MERGER_ANY_HIGH(config, "irq").output_handler().set_inputline("maincpu", m65c02_device::IRQ_LINE); + INPUT_MERGER_ANY_HIGH(config, "irq").output_handler().set_inputline("maincpu", W65C02_IRQ_LINE); /* Sound */ genpin_audio(config); @@ -668,19 +661,19 @@ ROM_END } // anonymous namespace -GAME(1989, lca, 0, p5, gts3, gts3_state, empty_init, ROT0, "Gottlieb", "Lights...Camera...Action!", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1989, lca2, lca, p5, gts3, gts3_state, empty_init, ROT0, "Gottlieb", "Lights...Camera...Action! (rev.2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1990, silvslug, 0, p5, gts3, gts3_state, empty_init, ROT0, "Gottlieb", "Silver Slugger", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1990, vegas, 0, p5, gts3, gts3_state, empty_init, ROT0, "Gottlieb", "Vegas", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1990, deadweap, 0, p5, gts3, gts3_state, empty_init, ROT0, "Gottlieb", "Deadly Weapon", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1990, tfight, 0, p5, gts3, gts3_state, empty_init, ROT0, "Gottlieb", "Title Fight", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1990, nudgeit, 0, p5, gts3, gts3_state, empty_init, ROT0, "Gottlieb", "Nudge-It", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1990, bellring, 0, p5, gts3, gts3_state, empty_init, ROT0, "Gottlieb", "Bell Ringer", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1991, carhop, 0, p5, gts3, gts3_state, empty_init, ROT0, "Gottlieb", "Car Hop", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1991, hoops, 0, p5, gts3, gts3_state, empty_init, ROT0, "Gottlieb", "Hoops", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1991, cactjack, 0, p7, gts3, gts3_state, empty_init, ROT0, "Gottlieb", "Cactus Jack's", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1991, clas1812, 0, p7, gts3, gts3_state, empty_init, ROT0, "Gottlieb", "Class of 1812", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1991, surfnsaf, 0, p7, gts3, gts3_state, empty_init, ROT0, "Gottlieb", "Surf'n Safari", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1992, opthund, 0, p7, gts3, gts3_state, empty_init, ROT0, "Gottlieb", "Operation: Thunder", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(19??, tt_game, 0, p7, gts3, gts3_state, empty_init, ROT0, "Toptronic", "unknown Toptronic pinball game", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1989, ccruise, 0, p7, gts3, gts3_state, empty_init, ROT0, "International Concepts","Caribbean Cruise", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1989, lca, 0, p5, gts3, gts3_state, empty_init, ROT0, "Gottlieb", "Lights...Camera...Action!", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1989, lca2, lca, p5, gts3, gts3_state, empty_init, ROT0, "Gottlieb", "Lights...Camera...Action! (rev.2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1990, silvslug, 0, p5, gts3, gts3_state, empty_init, ROT0, "Gottlieb", "Silver Slugger", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1990, vegas, 0, p5, gts3, gts3_state, empty_init, ROT0, "Gottlieb", "Vegas", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1990, deadweap, 0, p5, gts3, gts3_state, empty_init, ROT0, "Gottlieb", "Deadly Weapon", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1990, tfight, 0, p5, gts3, gts3_state, empty_init, ROT0, "Gottlieb", "Title Fight", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1990, nudgeit, 0, p5, gts3, gts3_state, empty_init, ROT0, "Gottlieb", "Nudge-It", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1990, bellring, 0, p5, gts3, gts3_state, empty_init, ROT0, "Gottlieb", "Bell Ringer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1991, carhop, 0, p5, gts3, gts3_state, empty_init, ROT0, "Gottlieb", "Car Hop", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1991, hoops, 0, p5, gts3, gts3_state, empty_init, ROT0, "Gottlieb", "Hoops", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1991, cactjack, 0, p7, gts3, gts3_state, empty_init, ROT0, "Gottlieb", "Cactus Jack's", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1991, clas1812, 0, p7, gts3, gts3_state, empty_init, ROT0, "Gottlieb", "Class of 1812", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1991, surfnsaf, 0, p7, gts3, gts3_state, empty_init, ROT0, "Gottlieb", "Surf'n Safari", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1992, opthund, 0, p7, gts3, gts3_state, empty_init, ROT0, "Gottlieb", "Operation: Thunder", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(19??, tt_game, 0, p7, gts3, gts3_state, empty_init, ROT0, "Toptronic", "unknown Toptronic pinball game", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1989, ccruise, 0, p7, gts3, gts3_state, empty_init, ROT0, "International Concepts","Caribbean Cruise", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/gts3a.cpp b/src/mame/pinball/gts3a.cpp index 443c9fde0a621..7083e2d72f060 100644 --- a/src/mame/pinball/gts3a.cpp +++ b/src/mame/pinball/gts3a.cpp @@ -50,7 +50,7 @@ machinaZOIS Virtual Training Center Hit 1, press LM #include "gottlieb_a.h" -#include "cpu/m6502/m65c02.h" +#include "cpu/m6502/w65c02.h" #include "machine/6522via.h" #include "machine/input_merger.h" #include "video/mc6845.h" @@ -101,7 +101,6 @@ class gts3a_state : public genpin_class void u5a_w(u8 data); u8 dmd_r(); void dmd_w(u8 data); - void nmi_w(int state); void crtc_vs(int state); MC6845_UPDATE_ROW(crtc_update_row); void palette_init(palette_device &palette); @@ -113,8 +112,8 @@ class gts3a_state : public genpin_class u8 m_segment = 0U; u8 m_u4b = 0U; - required_device m_maincpu; - required_device m_dmdcpu; + required_device m_maincpu; + required_device m_dmdcpu; required_memory_bank m_bank1; required_device m_crtc; required_shared_ptr m_vram; @@ -286,12 +285,6 @@ INPUT_CHANGED_MEMBER( gts3a_state::test_inp ) m_u4->write_ca1(newval); } -// This trampoline needed; WRITELINE("maincpu", m65c02_device, nmi_line) does not work -void gts3a_state::nmi_w(int state) -{ - m_maincpu->set_input_line(INPUT_LINE_NMI, (state) ? CLEAR_LINE : HOLD_LINE); -} - void gts3a_state::lampret_w(u8 data) { if (m_row < 12) @@ -316,7 +309,7 @@ void gts3a_state::solenoid_w(offs_t offset, u8 data) void gts3a_state::segbank_w(u8 data) { m_segment = data; - m_dmdcpu->set_input_line(M65C02_IRQ_LINE, ASSERT_LINE); + m_dmdcpu->set_input_line(W65C02_IRQ_LINE, ASSERT_LINE); } void gts3a_state::u4b_w(u8 data) @@ -360,7 +353,7 @@ void gts3a_state::init_gts3a() u8 gts3a_state::dmd_r() { - m_dmdcpu->set_input_line(M65C02_IRQ_LINE, CLEAR_LINE); + m_dmdcpu->set_input_line(W65C02_IRQ_LINE, CLEAR_LINE); return m_segment; } @@ -430,12 +423,12 @@ void gts3a_state::machine_reset() void gts3a_state::p0(machine_config &config) { - M65C02(config, m_maincpu, XTAL(4'000'000) / 2); + W65C02(config, m_maincpu, XTAL(4'000'000) / 2); m_maincpu->set_addrmap(AS_PROGRAM, >s3a_state::mem_map); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); // 6116LP + DS1210 - M65C02(config, m_dmdcpu, XTAL(3'579'545) / 2); + W65C02(config, m_dmdcpu, XTAL(3'579'545) / 2); m_dmdcpu->set_addrmap(AS_PROGRAM, >s3a_state::dmd_map); // Video @@ -462,7 +455,7 @@ void gts3a_state::p0(machine_config &config) m_u4->readpb_handler().set(FUNC(gts3a_state::u4b_r)); m_u4->writepb_handler().set(FUNC(gts3a_state::u4b_w)); //m_u4->ca2_handler().set(FUNC(gts3a_state::u4ca2_w)); - m_u4->cb2_handler().set(FUNC(gts3a_state::nmi_w)); + m_u4->cb2_handler().set_inputline("maincpu", W65C02_NMI_LINE).invert(); R65C22(config, m_u5, XTAL(4'000'000) / 2); m_u5->irq_handler().set("irq", FUNC(input_merger_device::in_w<1>)); @@ -473,7 +466,7 @@ void gts3a_state::p0(machine_config &config) //m_u5->cb1_Handler().set(FUNC(gts3a_state::u5cb1_w)); //m_u5->cb2_Handler().set(FUNC(gts3a_state::u5cb2_w)); - INPUT_MERGER_ANY_HIGH(config, "irq").output_handler().set_inputline("maincpu", m65c02_device::IRQ_LINE); + INPUT_MERGER_ANY_HIGH(config, "irq").output_handler().set_inputline("maincpu", W65C02_IRQ_LINE); // Sound genpin_audio(config); @@ -1367,45 +1360,45 @@ ROM_END } // anonymous namespace -GAME(1992, smbp, 0, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Super Mario Brothers (pinball, set 1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1992, smbpa, smbp, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Super Mario Brothers (pinball, set 2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1992, smbpb, smbp, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Super Mario Brothers (pinball, set 3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1992, smbpc, smbp, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Super Mario Brothers (pinball, set 4)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1992, smbmush, 0, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Super Mario Brothers Mushroom World", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1992, cueball, 0, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Cue Ball Wizard", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1992, cueballa, cueball, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Cue Ball Wizard (rev. 2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1992, cueballb, cueball, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Cue Ball Wizard (rev. 3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1992, cueballc, cueball, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Cue Ball Wizard (older display rev.)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, sfightii, 0, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Street Fighter II (pinball, set 1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, sfightiia, sfightii, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Street Fighter II (pinball, set 2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, sfightiib, sfightii, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Street Fighter II (pinball, set 3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, teedoffp, 0, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Tee'd Off (pinball, rev.3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, teedoffp1, teedoffp, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Tee'd Off (pinball, rev.1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, teedoffp0, teedoffp, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Tee'd Off (pinball)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, gladiatp, 0, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Gladiators (pinball)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, wipeout, 0, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Wipeout (rev.2, set 1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, wipeout2a, wipeout, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Wipeout (rev.2, set 2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, rescu911, 0, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Rescue 911 (rev.1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, wcsoccer, 0, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "World Challenge Soccer (rev.1, set 1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, wcsoccer1a, wcsoccer, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "World Challenge Soccer (rev.1, set 2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, stargatp, 0, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Stargate (pinball, rev.5)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, stargatp4, stargatp, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Stargate (pinball, rev.4)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, stargatp3, stargatp, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Stargate (pinball, rev.3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, stargatp2, stargatp, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Stargate (pinball, rev.2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, stargatp1, stargatp, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Stargate (pinball, rev.1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, stargatp0, stargatp, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Stargate (pinball)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, shaqattq, 0, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Shaq Attaq (rev.5)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, shaqattq2, shaqattq, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Shaq Attaq (rev.2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, mac_zois, shaqattq, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Aksioma", "machinaZOIS Virtual Training Center", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, freddy, 0, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Freddy: A Nightmare on Elm Street (rev.4)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, freddy3, freddy, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Freddy: A Nightmare on Elm Street (rev.3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, bighurt, 0, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Frank Thomas' Big Hurt (rev.3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, waterwld, 0, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Waterworld (rev.3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, waterwld2, waterwld, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Waterworld (rev.2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, snspares, 0, p0, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Strikes n' Spares (rev.6)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, snspares2, snspares, p0, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Strikes n' Spares (rev.2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, snspares1, snspares, p0, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Strikes n' Spares (rev.1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, andretti, 0, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Mario Andretti (rev.T4)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, andretti0, andretti, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Mario Andretti", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1996, barbwire, 0, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Barb Wire", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1996, brooks, 0, p0, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Brooks & Dunn (rev.T1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_IS_INCOMPLETE | MACHINE_SUPPORTS_SAVE ) +GAME(1992, smbp, 0, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Super Mario Brothers (pinball, set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1992, smbpa, smbp, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Super Mario Brothers (pinball, set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1992, smbpb, smbp, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Super Mario Brothers (pinball, set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1992, smbpc, smbp, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Super Mario Brothers (pinball, set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1992, smbmush, 0, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Super Mario Brothers Mushroom World", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1992, cueball, 0, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Cue Ball Wizard", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1992, cueballa, cueball, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Cue Ball Wizard (rev. 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1992, cueballb, cueball, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Cue Ball Wizard (rev. 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1992, cueballc, cueball, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Cue Ball Wizard (older display rev.)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, sfightii, 0, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Street Fighter II (pinball, set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, sfightiia, sfightii, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Street Fighter II (pinball, set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, sfightiib, sfightii, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Street Fighter II (pinball, set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, teedoffp, 0, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Tee'd Off (pinball, rev.3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, teedoffp1, teedoffp, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Tee'd Off (pinball, rev.1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, teedoffp0, teedoffp, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Tee'd Off (pinball)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, gladiatp, 0, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Gladiators (pinball)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, wipeout, 0, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Wipeout (rev.2, set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, wipeout2a, wipeout, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Wipeout (rev.2, set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, rescu911, 0, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Rescue 911 (rev.1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, wcsoccer, 0, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "World Challenge Soccer (rev.1, set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, wcsoccer1a, wcsoccer, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "World Challenge Soccer (rev.1, set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, stargatp, 0, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Stargate (pinball, rev.5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, stargatp4, stargatp, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Stargate (pinball, rev.4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, stargatp3, stargatp, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Stargate (pinball, rev.3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, stargatp2, stargatp, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Stargate (pinball, rev.2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, stargatp1, stargatp, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Stargate (pinball, rev.1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, stargatp0, stargatp, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Stargate (pinball)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, shaqattq, 0, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Shaq Attaq (rev.5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, shaqattq2, shaqattq, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Shaq Attaq (rev.2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, mac_zois, shaqattq, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Aksioma", "machinaZOIS Virtual Training Center", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, freddy, 0, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Freddy: A Nightmare on Elm Street (rev.4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, freddy3, freddy, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Freddy: A Nightmare on Elm Street (rev.3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, bighurt, 0, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Frank Thomas' Big Hurt (rev.3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, waterwld, 0, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Waterworld (rev.3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, waterwld2, waterwld, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Waterworld (rev.2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, snspares, 0, p0, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Strikes n' Spares (rev.6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, snspares2, snspares, p0, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Strikes n' Spares (rev.2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, snspares1, snspares, p0, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Strikes n' Spares (rev.1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, andretti, 0, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Mario Andretti (rev.T4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, andretti0, andretti, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Mario Andretti", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1996, barbwire, 0, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Barb Wire", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1996, brooks, 0, p0, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Brooks & Dunn (rev.T1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_IS_INCOMPLETE | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/gts80.cpp b/src/mame/pinball/gts80.cpp index 859783380a9a0..3e6aceb1148bd 100644 --- a/src/mame/pinball/gts80.cpp +++ b/src/mame/pinball/gts80.cpp @@ -927,10 +927,10 @@ ROM_END } // Anonymous namespace -GAME(1981, s80tst, 0, r1v, gts80, gts80_state, empty_init, ROT0, "Gottlieb", "System 80 Test", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1981, s80tst, 0, r1v, gts80, gts80_state, empty_init, ROT0, "Gottlieb", "System 80 Test", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) GAME(1980, panthera, 0, p2, gts80, gts80_state, empty_init, ROT0, "Gottlieb", "Panthera", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1980, grand8, panthera, p0, gts80, gts80_state, empty_init, ROT0, "Christian Tabart", "Le Grand 8", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1980, grand8, panthera, p0, gts80, gts80_state, empty_init, ROT0, "Christian Tabart", "Le Grand 8", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) GAME(1980, spidermn, 0, p2, gts80, gts80_state, empty_init, ROT0, "Gottlieb", "The Amazing Spider-Man", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE ) GAME(1980, circusp, 0, p2, gts80, gts80_state, empty_init, ROT0, "Gottlieb", "Circus", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE ) GAME(1980, cntforce, 0, p2, gts80, gts80_state, empty_init, ROT0, "Gottlieb", "Counterforce", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE ) @@ -940,13 +940,13 @@ GAME(1980, jamesb2, jamesb, p2, gts80, gts80_state, empty_init, ROT0, "G GAME(1980, timeline, 0, p2, gts80, gts80_state, empty_init, ROT0, "Gottlieb", "Time Line", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE ) GAME(1981, forceii, 0, p2, gts80, gts80_state, empty_init, ROT0, "Gottlieb", "Force II", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE ) GAME(1981, pnkpnthr, 0, p2, gts80, gts80_state, empty_init, ROT0, "Gottlieb", "Pink Panther", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1981, marsp, 0, r1v, gts80, gts80_state, empty_init, ROT0, "Gottlieb", "Mars - God of War", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1981, marspf, marsp, r1v, gts80, gts80_state, empty_init, ROT0, "Gottlieb", "Mars - God of War (French speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1981, marspp, marsp, marspp, gts80, gts80_state, empty_init, ROT0, "Gottlieb", "Mars - God of War (Prototype)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1981, vlcno_ax, 0, r1v, gts80, gts80_state, empty_init, ROT0, "Gottlieb", "Volcano", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1981, vlcno_1c, 0, p2, gts80, gts80_state, empty_init, ROT0, "Gottlieb", "Volcano (Sound Only set 1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1981, vlcno_1b, vlcno_1c, p2, gts80, gts80_state, empty_init, ROT0, "Gottlieb", "Volcano (Sound Only set 2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1981, vlcno_1a, vlcno_1c, p2, gts80, gts80_state, empty_init, ROT0, "Gottlieb", "Volcano (Sound Only set 3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1981, marsp, 0, r1v, gts80, gts80_state, empty_init, ROT0, "Gottlieb", "Mars - God of War", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1981, marspf, marsp, r1v, gts80, gts80_state, empty_init, ROT0, "Gottlieb", "Mars - God of War (French speech)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1981, marspp, marsp, marspp, gts80, gts80_state, empty_init, ROT0, "Gottlieb", "Mars - God of War (Prototype)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1981, vlcno_ax, 0, r1v, gts80, gts80_state, empty_init, ROT0, "Gottlieb", "Volcano", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1981, vlcno_1c, 0, p2, gts80, gts80_state, empty_init, ROT0, "Gottlieb", "Volcano (Sound Only set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1981, vlcno_1b, vlcno_1c, p2, gts80, gts80_state, empty_init, ROT0, "Gottlieb", "Volcano (Sound Only set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1981, vlcno_1a, vlcno_1c, p2, gts80, gts80_state, empty_init, ROT0, "Gottlieb", "Volcano (Sound Only set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) GAME(1981, blckhole, 0, r1v, gts80, gts80_state, empty_init, ROT0, "Gottlieb", "Black Hole (Rev. 4)", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE ) GAME(1981, blckhole2, blckhole, r1v, gts80, gts80_state, empty_init, ROT0, "Gottlieb", "Black Hole (Rev. 2)", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE ) GAME(1981, blckhols, 0, p2, gts80, gts80_state, empty_init, ROT0, "Gottlieb", "Black Hole (Sound Only)", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/gts80a.cpp b/src/mame/pinball/gts80a.cpp index 5411fa135c608..f5ae92a8bb5a9 100644 --- a/src/mame/pinball/gts80a.cpp +++ b/src/mame/pinball/gts80a.cpp @@ -969,29 +969,29 @@ ROM_END } // Anonymous namespace -GAME( 1981, dvlsdre, 0, r1v, gts80a, gts80a_state, empty_init, ROT0, "Gottlieb", "Devil's Dare", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1981, dvlsdre2, 0, p2, gts80a, gts80a_state, empty_init, ROT0, "Gottlieb", "Devil's Dare (Sound Only)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1982, rocky, 0, r1v, gts80a, gts80a_state, empty_init, ROT0, "Gottlieb", "Rocky", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1982, rockyf, rocky, r1v, gts80a, gts80a_state, empty_init, ROT0, "Gottlieb", "Rocky (French speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1982, spirit, 0, r1v, gts80a, gts80a_state, empty_init, ROT0, "Gottlieb", "Spirit", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1982, punk, 0, r1v, gts80a, gts80a_state, empty_init, ROT0, "Gottlieb", "Punk!", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1982, striker, 0, r1v, gts80a, gts80a_state, empty_init, ROT0, "Gottlieb", "Striker (Pinball)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1983, krullp, 0, r1v, gts80a, gts80a_state, empty_init, ROT0, "Gottlieb", "Krull (Pinball)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1983, qbquest, 0, r1v, gts80a, gts80a_state, empty_init, ROT0, "Gottlieb", "Q*Bert's Quest", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1983, sorbit, 0, r1, gts80a, gts80a_state, empty_init, ROT0, "Gottlieb", "Super Orbit", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1983, rflshdlx, 0, r1, gts80a, gts80a_state, empty_init, ROT0, "Gottlieb", "Royal Flush Deluxe", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1983, goinnuts, 0, r1, gts80a, gts80a_state, empty_init, ROT0, "Gottlieb", "Goin' Nuts", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1983, amazonh, 0, r1, gts80a, gts80a_state, empty_init, ROT0, "Gottlieb", "Amazon Hunt", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1983, amazonha, amazonh, r1, gts80a, gts80a_state, empty_init, ROT0, "Gottlieb", "Amazon Hunt (alternate set)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1983, rackempp, 0, p3, gts80a, gts80a_state, empty_init, ROT0, "Gottlieb", "Rack 'em Up! (Pinball)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1983, raimfire, 0, p3, gts80a, gts80a_state, empty_init, ROT0, "Gottlieb", "Ready...Aim...Fire!", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1984, jack2opn, 0, p3, gts80a, gts80a_state, empty_init, ROT0, "Gottlieb", "Jacks to Open", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1984, touchdn, 0, p3, gts80a, gts80a_state, empty_init, ROT0, "Gottlieb", "Touchdown", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1984, alienstr, 0, p3, gts80a, gts80a_state, empty_init, ROT0, "Gottlieb", "Alien Star", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1984, thegames, 0, p3, gts80a, gts80a_state, empty_init, ROT0, "Gottlieb", "The Games", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1984, eldorado, 0, p3, gts80a, gts80a_state, empty_init, ROT0, "Gottlieb", "El Dorado City of Gold", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1985, icefever, 0, p3, gts80a, gts80a_state, empty_init, ROT0, "Gottlieb", "Ice Fever", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME( 1981, dvlsdre, 0, r1v, gts80a, gts80a_state, empty_init, ROT0, "Gottlieb", "Devil's Dare", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1981, dvlsdre2, 0, p2, gts80a, gts80a_state, empty_init, ROT0, "Gottlieb", "Devil's Dare (Sound Only)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1982, rocky, 0, r1v, gts80a, gts80a_state, empty_init, ROT0, "Gottlieb", "Rocky", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1982, rockyf, rocky, r1v, gts80a, gts80a_state, empty_init, ROT0, "Gottlieb", "Rocky (French speech)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1982, spirit, 0, r1v, gts80a, gts80a_state, empty_init, ROT0, "Gottlieb", "Spirit", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1982, punk, 0, r1v, gts80a, gts80a_state, empty_init, ROT0, "Gottlieb", "Punk!", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1982, striker, 0, r1v, gts80a, gts80a_state, empty_init, ROT0, "Gottlieb", "Striker (Pinball)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1983, krullp, 0, r1v, gts80a, gts80a_state, empty_init, ROT0, "Gottlieb", "Krull (Pinball)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1983, qbquest, 0, r1v, gts80a, gts80a_state, empty_init, ROT0, "Gottlieb", "Q*Bert's Quest", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1983, sorbit, 0, r1, gts80a, gts80a_state, empty_init, ROT0, "Gottlieb", "Super Orbit", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1983, rflshdlx, 0, r1, gts80a, gts80a_state, empty_init, ROT0, "Gottlieb", "Royal Flush Deluxe", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1983, goinnuts, 0, r1, gts80a, gts80a_state, empty_init, ROT0, "Gottlieb", "Goin' Nuts", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1983, amazonh, 0, r1, gts80a, gts80a_state, empty_init, ROT0, "Gottlieb", "Amazon Hunt", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1983, amazonha, amazonh, r1, gts80a, gts80a_state, empty_init, ROT0, "Gottlieb", "Amazon Hunt (alternate set)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1983, rackempp, 0, p3, gts80a, gts80a_state, empty_init, ROT0, "Gottlieb", "Rack 'em Up! (Pinball)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1983, raimfire, 0, p3, gts80a, gts80a_state, empty_init, ROT0, "Gottlieb", "Ready...Aim...Fire!", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1984, jack2opn, 0, p3, gts80a, gts80a_state, empty_init, ROT0, "Gottlieb", "Jacks to Open", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1984, touchdn, 0, p3, gts80a, gts80a_state, empty_init, ROT0, "Gottlieb", "Touchdown", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1984, alienstr, 0, p3, gts80a, gts80a_state, empty_init, ROT0, "Gottlieb", "Alien Star", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1984, thegames, 0, p3, gts80a, gts80a_state, empty_init, ROT0, "Gottlieb", "The Games", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1984, eldorado, 0, p3, gts80a, gts80a_state, empty_init, ROT0, "Gottlieb", "El Dorado City of Gold", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1985, icefever, 0, p3, gts80a, gts80a_state, empty_init, ROT0, "Gottlieb", "Ice Fever", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) /* custom (+video) */ -GAME( 1981, caveman, 0, caveman, caveman, caveman_state, empty_init, ROT0, "Gottlieb", "Caveman (Pinball/Video Combo, set 1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1981, cavemana, caveman, caveman, caveman, caveman_state, empty_init, ROT0, "Gottlieb", "Caveman (Pinball/Video Combo, set 2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME( 1981, caveman, 0, caveman, caveman, caveman_state, empty_init, ROT0, "Gottlieb", "Caveman (Pinball/Video Combo, set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1981, cavemana, caveman, caveman, caveman, caveman_state, empty_init, ROT0, "Gottlieb", "Caveman (Pinball/Video Combo, set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/gts80b.cpp b/src/mame/pinball/gts80b.cpp index 6de65b3dcafcc..f7a9626a42205 100644 --- a/src/mame/pinball/gts80b.cpp +++ b/src/mame/pinball/gts80b.cpp @@ -2216,75 +2216,75 @@ ROM_END } // Anonymous namespace -GAME(1985, bountyh, 0, p3, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Bounty Hunter", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1985, bountyhg, bountyh, p3, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Bounty Hunter (German)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1985, triplay, 0, p3, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Chicago Cubs' Triple Play", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1985, triplaya, triplay, p3, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Chicago Cubs' Triple Play (alternate set)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1985, triplayg, triplay, p3, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Chicago Cubs' Triple Play (German)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1985, rock, 0, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Rock", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1985, rockg, rock, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Rock (German)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1985, tagteamp, 0, p3, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Tag-Team Wrestling", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1985, tagteampg, tagteamp, p3, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Tag-Team Wrestling (German)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1985, tagteamp2, tagteamp, p3, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Tag-Team Wrestling (rev.2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1986, raven, 0, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Raven", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1986, ravena, raven, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Raven (alternate set)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1986, raveng, raven, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Raven (German)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1986, hlywoodh, 0, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Hollywood Heat", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1986, hlywoodhf, hlywoodh, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Hollywood Heat (French)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1986, hlywoodhg, hlywoodh, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Hollywood Heat (German)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1986, rock_enc, rock, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Rock Encore", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1986, rock_encg, rock, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Rock Encore (German)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1986, genesisp, 0, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Genesis", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1986, genesispf, genesisp, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Genesis (French)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1986, genesispg, genesisp, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Genesis (German)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1987, amazonh2, 0, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Amazon Hunt II (French)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1987, sprbreak, 0, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Spring Break", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1987, sprbreaka, sprbreak, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Spring Break (alternate set)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1987, sprbreakf, sprbreak, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Spring Break (French)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1987, sprbreakg, sprbreak, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Spring Break (German)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1987, sprbreaks, sprbreak, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Spring Break (single ball game)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1986, goldwing, 0, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Gold Wings", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1986, goldwingf, goldwing, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Gold Wings (French)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1986, goldwingg, goldwing, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Gold Wings (German)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1987, mntecrlo, 0, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Monte Carlo (Pinball)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1987, mntecrloa, mntecrlo, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Monte Carlo (Pinball, alternate set)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1987, mntecrlof, mntecrlo, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Monte Carlo (Pinball, French)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1987, mntecrlog, mntecrlo, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Monte Carlo (Pinball, German)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1987, mntecrlo2, mntecrlo, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Monte Carlo (Pinball, rev. 2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1987, arena, 0, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Arena", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1987, arenaa, arena, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Arena (alternate set)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1987, arenaf, arena, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Arena (French)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1987, arenag, arena, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Arena (German)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1987, victoryp, 0, p4, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Victory (Pinball)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1987, victorypf, victoryp, p4, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Victory (Pinball, French)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1987, victorypg, victoryp, p4, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Victory (Pinball, German)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1988, diamondp, 0, p4, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Diamond Lady", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1988, diamondpf, diamondp, p4, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Diamond Lady (French)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1988, diamondpg, diamondp, p4, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Diamond Lady (German)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1988, txsector, 0, p4, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "TX-Sector", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1988, txsectorf, txsector, p4, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "TX-Sector (French)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1988, txsectorg, txsector, p4, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "TX-Sector (German)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1989, bighouse, 0, p5, gts80b, gts80b_state, init_s80c, ROT0, "Gottlieb", "Big House", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1989, bighousef, bighouse, p5, gts80b, gts80b_state, init_s80c, ROT0, "Gottlieb", "Big House (French)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1989, bighouseg, bighouse, p5, gts80b, gts80b_state, init_s80c, ROT0, "Gottlieb", "Big House (German)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1988, robowars, 0, p4, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Robo-War", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1988, robowarsf, robowars, p4, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Robo-War (French)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1988, excalibr, 0, p4, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Excalibur", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1988, excalibrf, excalibr, p4, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Excalibur (French)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1988, excalibrg, excalibr, p4, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Excalibur (German)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1988, badgirls, 0, p5, gts80b, gts80b_state, init_s80c, ROT0, "Gottlieb", "Bad Girls", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1988, badgirlsa, badgirls, p5, gts80b, gts80b_state, init_s80c, ROT0, "Gottlieb", "Bad Girls (alternate set)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1988, badgirlsf, badgirls, p5, gts80b, gts80b_state, init_s80c, ROT0, "Gottlieb", "Bad Girls (French)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1988, badgirlsg, badgirls, p5, gts80b, gts80b_state, init_s80c, ROT0, "Gottlieb", "Bad Girls (German)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1989, hotshots, 0, p5, gts80b, gts80b_state, init_s80c, ROT0, "Gottlieb", "Hot Shots", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1989, hotshotsf, hotshots, p5, gts80b, gts80b_state, init_s80c, ROT0, "Gottlieb", "Hot Shots (French)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1989, hotshotsg, hotshots, p5, gts80b, gts80b_state, init_s80c, ROT0, "Gottlieb", "Hot Shots (German)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1989, bonebstr, 0, p6, gts80b, gts80b_state, init_s80c, ROT0, "Gottlieb", "Bone Busters Inc.", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1989, bonebstrf, bonebstr, p6, gts80b, gts80b_state, init_s80c, ROT0, "Gottlieb", "Bone Busters Inc. (French)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1989, bonebstrg, bonebstr, p6, gts80b, gts80b_state, init_s80c, ROT0, "Gottlieb", "Bone Busters Inc. (German)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1989, nmoves, 0, p5, gts80b, gts80b_state, init_s80c, ROT0, "International Concepts", "Night Moves", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1987, amazonh3, 0, p4, gts80b, gts80b_state, init_s80c, ROT0, "Gottlieb", "Amazon Hunt III (French)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1987, amazonh3a, amazonh3, p4, gts80b, gts80b_state, init_s80c, ROT0, "Gottlieb", "Amazon Hunt III (rev. 1, French)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(198?, s80btest, 0, p0, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "System 80B Test", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1988, mmmaster, 0, master, gts80b, gts80b_state, empty_init, ROT0, "ManilaMatic", "Master", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1988, topsound, 0, master, gts80b, gts80b_state, empty_init, ROT0, "ManilaMatic", "Top Sound (French)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1985, bountyh, 0, p3, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Bounty Hunter", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1985, bountyhg, bountyh, p3, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Bounty Hunter (German)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1985, triplay, 0, p3, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Chicago Cubs' Triple Play", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1985, triplaya, triplay, p3, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Chicago Cubs' Triple Play (alternate set)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1985, triplayg, triplay, p3, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Chicago Cubs' Triple Play (German)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1985, rock, 0, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Rock", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1985, rockg, rock, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Rock (German)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1985, tagteamp, 0, p3, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Tag-Team Wrestling", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1985, tagteampg, tagteamp, p3, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Tag-Team Wrestling (German)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1985, tagteamp2, tagteamp, p3, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Tag-Team Wrestling (rev.2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1986, raven, 0, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Raven", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1986, ravena, raven, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Raven (alternate set)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1986, raveng, raven, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Raven (German)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1986, hlywoodh, 0, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Hollywood Heat", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1986, hlywoodhf, hlywoodh, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Hollywood Heat (French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1986, hlywoodhg, hlywoodh, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Hollywood Heat (German)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1986, rock_enc, rock, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Rock Encore", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1986, rock_encg, rock, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Rock Encore (German)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1986, genesisp, 0, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Genesis", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1986, genesispf, genesisp, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Genesis (French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1986, genesispg, genesisp, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Genesis (German)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1987, amazonh2, 0, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Amazon Hunt II (French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1987, sprbreak, 0, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Spring Break", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1987, sprbreaka, sprbreak, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Spring Break (alternate set)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1987, sprbreakf, sprbreak, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Spring Break (French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1987, sprbreakg, sprbreak, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Spring Break (German)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1987, sprbreaks, sprbreak, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Spring Break (single ball game)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1986, goldwing, 0, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Gold Wings", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1986, goldwingf, goldwing, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Gold Wings (French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1986, goldwingg, goldwing, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Gold Wings (German)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1987, mntecrlo, 0, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Monte Carlo (Pinball)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1987, mntecrloa, mntecrlo, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Monte Carlo (Pinball, alternate set)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1987, mntecrlof, mntecrlo, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Monte Carlo (Pinball, French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1987, mntecrlog, mntecrlo, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Monte Carlo (Pinball, German)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1987, mntecrlo2, mntecrlo, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Monte Carlo (Pinball, rev. 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1987, arena, 0, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Arena", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1987, arenaa, arena, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Arena (alternate set)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1987, arenaf, arena, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Arena (French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1987, arenag, arena, r2, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Arena (German)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1987, victoryp, 0, p4, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Victory (Pinball)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1987, victorypf, victoryp, p4, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Victory (Pinball, French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1987, victorypg, victoryp, p4, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Victory (Pinball, German)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1988, diamondp, 0, p4, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Diamond Lady", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1988, diamondpf, diamondp, p4, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Diamond Lady (French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1988, diamondpg, diamondp, p4, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Diamond Lady (German)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1988, txsector, 0, p4, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "TX-Sector", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1988, txsectorf, txsector, p4, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "TX-Sector (French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1988, txsectorg, txsector, p4, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "TX-Sector (German)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1989, bighouse, 0, p5, gts80b, gts80b_state, init_s80c, ROT0, "Gottlieb", "Big House", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1989, bighousef, bighouse, p5, gts80b, gts80b_state, init_s80c, ROT0, "Gottlieb", "Big House (French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1989, bighouseg, bighouse, p5, gts80b, gts80b_state, init_s80c, ROT0, "Gottlieb", "Big House (German)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1988, robowars, 0, p4, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Robo-War", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1988, robowarsf, robowars, p4, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Robo-War (French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1988, excalibr, 0, p4, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Excalibur", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1988, excalibrf, excalibr, p4, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Excalibur (French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1988, excalibrg, excalibr, p4, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "Excalibur (German)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1988, badgirls, 0, p5, gts80b, gts80b_state, init_s80c, ROT0, "Gottlieb", "Bad Girls", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1988, badgirlsa, badgirls, p5, gts80b, gts80b_state, init_s80c, ROT0, "Gottlieb", "Bad Girls (alternate set)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1988, badgirlsf, badgirls, p5, gts80b, gts80b_state, init_s80c, ROT0, "Gottlieb", "Bad Girls (French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1988, badgirlsg, badgirls, p5, gts80b, gts80b_state, init_s80c, ROT0, "Gottlieb", "Bad Girls (German)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1989, hotshots, 0, p5, gts80b, gts80b_state, init_s80c, ROT0, "Gottlieb", "Hot Shots", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1989, hotshotsf, hotshots, p5, gts80b, gts80b_state, init_s80c, ROT0, "Gottlieb", "Hot Shots (French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1989, hotshotsg, hotshots, p5, gts80b, gts80b_state, init_s80c, ROT0, "Gottlieb", "Hot Shots (German)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1989, bonebstr, 0, p6, gts80b, gts80b_state, init_s80c, ROT0, "Gottlieb", "Bone Busters Inc.", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1989, bonebstrf, bonebstr, p6, gts80b, gts80b_state, init_s80c, ROT0, "Gottlieb", "Bone Busters Inc. (French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1989, bonebstrg, bonebstr, p6, gts80b, gts80b_state, init_s80c, ROT0, "Gottlieb", "Bone Busters Inc. (German)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1989, nmoves, 0, p5, gts80b, gts80b_state, init_s80c, ROT0, "International Concepts", "Night Moves", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1987, amazonh3, 0, p4, gts80b, gts80b_state, init_s80c, ROT0, "Gottlieb", "Amazon Hunt III (French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1987, amazonh3a, amazonh3, p4, gts80b, gts80b_state, init_s80c, ROT0, "Gottlieb", "Amazon Hunt III (rev. 1, French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(198?, s80btest, 0, p0, gts80b, gts80b_state, empty_init, ROT0, "Gottlieb", "System 80B Test", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1988, mmmaster, 0, master, gts80b, gts80b_state, empty_init, ROT0, "ManilaMatic", "Master", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1988, topsound, 0, master, gts80b, gts80b_state, empty_init, ROT0, "ManilaMatic", "Top Sound (French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/idsa.cpp b/src/mame/pinball/idsa.cpp index 7df7f81a6686e..6aded4eb558f0 100644 --- a/src/mame/pinball/idsa.cpp +++ b/src/mame/pinball/idsa.cpp @@ -410,5 +410,5 @@ ROM_END } // Anonymous namespace -GAME( 1985, v1, 0, idsa, idsa, idsa_state, empty_init, ROT0, "IDSA", "V.1", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1987, bsktbllp, 0, bsktbllp, idsa, idsa_state, empty_init, ROT0, "IDSA", "Basket Ball", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1985, v1, 0, idsa, idsa, idsa_state, empty_init, ROT0, "IDSA", "V.1", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1987, bsktbllp, 0, bsktbllp, idsa, idsa_state, empty_init, ROT0, "IDSA", "Basket Ball", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/pinball/inder.cpp b/src/mame/pinball/inder.cpp index 7b7aa6b600721..3cd8d80b169b8 100644 --- a/src/mame/pinball/inder.cpp +++ b/src/mame/pinball/inder.cpp @@ -1721,9 +1721,9 @@ GAME(1988, pinclown, 0, inder, pinclown, inder_state, init_1, ROT0, "Inder GAME(1989, corsario, 0, inder, corsario, inder_state, init_1, ROT0, "Inder", "Corsario", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE ) GAME(1990, mundial, 0, inder, mundial, inder_state, init_1, ROT0, "Inder", "Mundial 90", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE ) GAME(1991, atleta, 0, inder, atleta, inder_state, init_1, ROT0, "Inder", "Atleta", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1991, larana, 0, inder, larana, inder_state, init_0, ROT0, "Inder", "La Rana (set 1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1991, larana2, larana, inder, larana, inder_state, init_0, ROT0, "Inder", "La Rana (set 2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1991, larana, 0, inder, larana, inder_state, init_0, ROT0, "Inder", "La Rana (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1991, larana2, larana, inder, larana, inder_state, init_0, ROT0, "Inder", "La Rana (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) GAME(1992, ind250cc, 0, inder, ind250cc, inder_state, init_1, ROT0, "Inder", "250 CC", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // Unknown sound hardware, unknown machine (using 'larana' inputs until proper ones are figured out). -GAME(1991, indunkgam, 0, inder, larana, inder_state, init_0, ROT0, "Inder", "unknown gambling game on Inder pinball hardware", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1991, indunkgam, 0, inder, larana, inder_state, init_0, ROT0, "Inder", "unknown gambling game on Inder pinball hardware", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/inderp.cpp b/src/mame/pinball/inderp.cpp index 1f6c6e0ad1ea5..2922579b69ef7 100644 --- a/src/mame/pinball/inderp.cpp +++ b/src/mame/pinball/inderp.cpp @@ -392,7 +392,7 @@ ROM_END } // Anonymous namespace -GAME( 1979, centauri, 0, inderp, inderp, inderp_state, init_1player, ROT0, "Inder", "Centaur (Inder) (set 1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1979, centauri2, centauri, inderp, inderp, inderp_state, init_1player, ROT0, "Inder", "Centaur (Inder) (set 2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1979, topaz, 0, inderp, inderp, inderp_state, empty_init, ROT0, "Inder", "Topaz (Inder)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1980, skatebrd, 0, inderp, inderp, inderp_state, empty_init, ROT0, "Inder", "Skate Board (Inder)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME( 1979, centauri, 0, inderp, inderp, inderp_state, init_1player, ROT0, "Inder", "Centaur (Inder) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1979, centauri2, centauri, inderp, inderp, inderp_state, init_1player, ROT0, "Inder", "Centaur (Inder) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1979, topaz, 0, inderp, inderp, inderp_state, empty_init, ROT0, "Inder", "Topaz (Inder)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1980, skatebrd, 0, inderp, inderp, inderp_state, empty_init, ROT0, "Inder", "Skate Board (Inder)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/jeutel.cpp b/src/mame/pinball/jeutel.cpp index 71c4310176cd1..76015021579ad 100644 --- a/src/mame/pinball/jeutel.cpp +++ b/src/mame/pinball/jeutel.cpp @@ -534,5 +534,5 @@ ROM_START(olympic) ROM_END -GAME( 1983, leking, 0, jeutel, jeutel, jeutel_state, empty_init, ROT0, "Jeutel", "Le King", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1984, olympic, 0, jeutel, jeutel, jeutel_state, empty_init, ROT0, "Jeutel", "Olympic Games", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME( 1983, leking, 0, jeutel, jeutel, jeutel_state, empty_init, ROT0, "Jeutel", "Le King", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1984, olympic, 0, jeutel, jeutel, jeutel_state, empty_init, ROT0, "Jeutel", "Olympic Games", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/joctronic.cpp b/src/mame/pinball/joctronic.cpp index acb948866d7bf..7797c5b003251 100644 --- a/src/mame/pinball/joctronic.cpp +++ b/src/mame/pinball/joctronic.cpp @@ -512,8 +512,8 @@ ROM_END } // anonymous namespace -GAME( 1986, jpinball, 0, joctronic, joctronic, joctronic_state, empty_init, ROT0, "Joctronic", "Pin Ball", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1986, punkywil, 0, joctronic, joctronic, joctronic_state, empty_init, ROT0, "Joctronic", "Punky Willy", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1986, walkyria, 0, joctronic, joctronic, joctronic_state, empty_init, ROT0, "Joctronic", "Walkyria", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1987, bldyrolr, 0, bldyrolr, joctronic, joctronic_state, empty_init, ROT0, "Playbar", "Bloody Roller", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1988, slalom03, 0, slalom03, joctronic, joctronic_state, empty_init, ROT0, "Stargame", "Slalom Code 0.3", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1986, jpinball, 0, joctronic, joctronic, joctronic_state, empty_init, ROT0, "Joctronic", "Pin Ball", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1986, punkywil, 0, joctronic, joctronic, joctronic_state, empty_init, ROT0, "Joctronic", "Punky Willy", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1986, walkyria, 0, joctronic, joctronic, joctronic_state, empty_init, ROT0, "Joctronic", "Walkyria", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1987, bldyrolr, 0, bldyrolr, joctronic, joctronic_state, empty_init, ROT0, "Playbar", "Bloody Roller", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1988, slalom03, 0, slalom03, joctronic, joctronic_state, empty_init, ROT0, "Stargame", "Slalom Code 0.3", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/pinball/jp.cpp b/src/mame/pinball/jp.cpp index c23e2c3a1aef3..527613a6e86f3 100644 --- a/src/mame/pinball/jp.cpp +++ b/src/mame/pinball/jp.cpp @@ -739,20 +739,20 @@ ROM_END } // Anonymous namespace // 6-digit display -GAME(1985, petacon, 0, jp, jp, jp_state, init_6d, ROT0, "Juegos Populares", "Petaco (new hardware, set 1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1985, petacona, 0, jp, jp, jp_state, init_6d, ROT0, "Juegos Populares", "Petaco (new hardware, set 2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1985, faeton6d, faeton, jp, jp, jp_state, init_6d, ROT0, "Juegos Populares", "Faeton (6 digits)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1985, petacon, 0, jp, jp, jp_state, init_6d, ROT0, "Juegos Populares", "Petaco (new hardware, set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1985, petacona, 0, jp, jp, jp_state, init_6d, ROT0, "Juegos Populares", "Petaco (new hardware, set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1985, faeton6d, faeton, jp, jp, jp_state, init_6d, ROT0, "Juegos Populares", "Faeton (6 digits)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // 7-digit display -GAME(1985, petaco2, 0, jps, jp, jp_state, empty_init, ROT0, "Juegos Populares", "Petaco 2", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1985, faeton, 0, jp, jp, jp_state, empty_init, ROT0, "Juegos Populares", "Faeton (7 digits)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1986, halley, 0, jps, jp, jp_state, empty_init, ROT0, "Juegos Populares", "Halley Comet (set 1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1986, halleya, halley, jps, jp, jp_state, empty_init, ROT0, "Juegos Populares", "Halley Comet (set 2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1986, halleyb, halley, jps, jp, jp_state, empty_init, ROT0, "Juegos Populares", "Halley Comet (set 3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1986, aqualand, 0, jps, jp, jp_state, empty_init, ROT0, "Juegos Populares", "Aqualand (set 1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1986, aqualanda, aqualand, jps, jp, jp_state, empty_init, ROT0, "Juegos Populares", "Aqualand (set 2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1986, america, 0, jps, jp, jp_state, empty_init, ROT0, "Juegos Populares", "America 1492", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1986, olympus, 0, jps, jp, jp_state, empty_init, ROT0, "Juegos Populares", "Olympus (Juegos Populares)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) - -GAME(1987, lortium, 0, jp, jp, jp_state, empty_init, ROT0, u8"Juegos Populares / Automáticos Montecarlo", "Lortium", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(19??, pimbal, 0, jp, jp, jp_state, empty_init, ROT0, u8"Juegos Populares / Automáticos Montecarlo", "Pimbal (Pinball 3000)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1985, petaco2, 0, jps, jp, jp_state, empty_init, ROT0, "Juegos Populares", "Petaco 2", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1985, faeton, 0, jp, jp, jp_state, empty_init, ROT0, "Juegos Populares", "Faeton (7 digits)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1986, halley, 0, jps, jp, jp_state, empty_init, ROT0, "Juegos Populares", "Halley Comet (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1986, halleya, halley, jps, jp, jp_state, empty_init, ROT0, "Juegos Populares", "Halley Comet (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1986, halleyb, halley, jps, jp, jp_state, empty_init, ROT0, "Juegos Populares", "Halley Comet (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1986, aqualand, 0, jps, jp, jp_state, empty_init, ROT0, "Juegos Populares", "Aqualand (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1986, aqualanda, aqualand, jps, jp, jp_state, empty_init, ROT0, "Juegos Populares", "Aqualand (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1986, america, 0, jps, jp, jp_state, empty_init, ROT0, "Juegos Populares", "America 1492", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1986, olympus, 0, jps, jp, jp_state, empty_init, ROT0, "Juegos Populares", "Olympus (Juegos Populares)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) + +GAME(1987, lortium, 0, jp, jp, jp_state, empty_init, ROT0, u8"Juegos Populares / Automáticos Montecarlo", "Lortium", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(19??, pimbal, 0, jp, jp, jp_state, empty_init, ROT0, u8"Juegos Populares / Automáticos Montecarlo", "Pimbal (Pinball 3000)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/jvh.cpp b/src/mame/pinball/jvh.cpp index 49dddd598d655..933b2de9d00c8 100644 --- a/src/mame/pinball/jvh.cpp +++ b/src/mame/pinball/jvh.cpp @@ -247,7 +247,7 @@ ROM_END } // Anonymous namespace -GAME( 1986, icemania, 0, jvh, jvh, jvh_state, empty_init, ROT0, "Jac Van Ham (Royal)", "Ice Mania", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1987, escape, 0, jvh, jvh, jvh_state, empty_init, ROT0, "Jac Van Ham (Royal)", "Escape", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 19??, movmastr, 0, jvh2, jvh, jvh_state, empty_init, ROT0, "Jac Van Ham (Royal)", "Movie Masters", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1988, formula1, 0, jvh3, jvh, jvh_state, empty_init, ROT0, "Jac Van Ham (Royal)", "Formula 1", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME( 1986, icemania, 0, jvh, jvh, jvh_state, empty_init, ROT0, "Jac Van Ham (Royal)", "Ice Mania", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1987, escape, 0, jvh, jvh, jvh_state, empty_init, ROT0, "Jac Van Ham (Royal)", "Escape", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 19??, movmastr, 0, jvh2, jvh, jvh_state, empty_init, ROT0, "Jac Van Ham (Royal)", "Movie Masters", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1988, formula1, 0, jvh3, jvh, jvh_state, empty_init, ROT0, "Jac Van Ham (Royal)", "Formula 1", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/kissproto.cpp b/src/mame/pinball/kissproto.cpp index 3863610b58169..b48b1941d2e3c 100644 --- a/src/mame/pinball/kissproto.cpp +++ b/src/mame/pinball/kissproto.cpp @@ -89,5 +89,5 @@ ROM_END } // anonymous namespace -GAME( 1979, kissp, kiss, kissp, kissp, kissp_state, init_kissp, ROT0, "Bally", "Kiss (prototype)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1979, kissp2, kiss, kissp, kissp, kissp_state, init_kissp, ROT0, "Bally", "Kiss (prototype v.2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1979, kissp, kiss, kissp, kissp, kissp_state, init_kissp, ROT0, "Bally", "Kiss (prototype)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1979, kissp2, kiss, kissp, kissp, kissp_state, init_kissp, ROT0, "Bally", "Kiss (prototype v.2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/pinball/lancelot.cpp b/src/mame/pinball/lancelot.cpp index 4fe51c6b2e4aa..71d89d112eb60 100644 --- a/src/mame/pinball/lancelot.cpp +++ b/src/mame/pinball/lancelot.cpp @@ -214,5 +214,5 @@ ROM_END } // Anonymous namespace -GAME( 1994, lancelot, 0, lancelot, lancelot, lancelot_state, empty_init, ROT0, "Peyper", "Sir Lancelot", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1994, lancelot, 0, lancelot, lancelot, lancelot_state, empty_init, ROT0, "Peyper", "Sir Lancelot", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/pinball/ltd.cpp b/src/mame/pinball/ltd.cpp index f0b815e23aa4b..807ce2e895d2c 100644 --- a/src/mame/pinball/ltd.cpp +++ b/src/mame/pinball/ltd.cpp @@ -809,31 +809,31 @@ ROM_END } // Anonymous namespace // system 3, 2-player, with beep sounds, playable -GAME(1981, arizona, 0, ltd3, ltd3, ltd3_state, init_0, ROT0, "LTD", "Arizona", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1981, atla_ltd, 0, ltd3, ltd3, ltd3_state, init_0, ROT0, "LTD", "Atlantis (LTD)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1981, discodan, 0, ltd3, ltd3, ltd3_state, init_0, ROT0, "LTD", "Disco Dancing", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1981, hustlerp, 0, ltd3, ltd3, ltd3_state, init_0, ROT0, "LTD", "Hustler", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1981, marqueen, 0, ltd3, ltd3, ltd3_state, init_0, ROT0, "LTD", "Martian Queen", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1981, kkongltd, 0, ltd3, ltd3, ltd3_state, init_0, ROT0, "LTD", "King Kong", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(198?, vikngkng, 0, ltd3, ltd3, ltd3_state, init_0, ROT0, "LTD", "Viking King", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1981, arizona, 0, ltd3, ltd3, ltd3_state, init_0, ROT0, "LTD", "Arizona", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1981, atla_ltd, 0, ltd3, ltd3, ltd3_state, init_0, ROT0, "LTD", "Atlantis (LTD)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1981, discodan, 0, ltd3, ltd3, ltd3_state, init_0, ROT0, "LTD", "Disco Dancing", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1981, hustlerp, 0, ltd3, ltd3, ltd3_state, init_0, ROT0, "LTD", "Hustler", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1981, marqueen, 0, ltd3, ltd3, ltd3_state, init_0, ROT0, "LTD", "Martian Queen", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1981, kkongltd, 0, ltd3, ltd3, ltd3_state, init_0, ROT0, "LTD", "King Kong", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(198?, vikngkng, 0, ltd3, ltd3, ltd3_state, init_0, ROT0, "LTD", "Viking King", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // system 3, 2-player, unknown sound system, playable -GAME(1981, force, 0, ltd3, ltd3, ltd3_state, init_1, ROT0, "LTD", "Force", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1981, bhol_ltd, 0, ltd3, ltd3, ltd3_state, init_2, ROT0, "LTD", "Black Hole (LTD)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1981, spcpoker, 0, ltd3, ltd3, ltd3_state, init_2, ROT0, "LTD", "Space Poker", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1981, force, 0, ltd3, ltd3, ltd3_state, init_1, ROT0, "LTD", "Force", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1981, bhol_ltd, 0, ltd3, ltd3, ltd3_state, init_2, ROT0, "LTD", "Black Hole (LTD)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1981, spcpoker, 0, ltd3, ltd3, ltd3_state, init_2, ROT0, "LTD", "Space Poker", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // system 3, 3-player, ay sounds, unplayable -GAME(1981, cowboy, 0, ltd3, ltd3, ltd3_state, init_3, ROT0, "LTD", "Cowboy Eight Ball (set 1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1981, cowboya, cowboy, ltd3, ltd3, ltd3_state, init_3, ROT0, "LTD", "Cowboy Eight Ball (set 2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1981, zephy, 0, ltd3, ltd3, ltd3_state, init_3, ROT0, "LTD", "Zephy (set 1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1981, zephya, zephy, ltd3, ltd3, ltd3_state, init_3, ROT0, "LTD", "Zephy (set 2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1981, cowboy, 0, ltd3, ltd3, ltd3_state, init_3, ROT0, "LTD", "Cowboy Eight Ball (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1981, cowboya, cowboy, ltd3, ltd3, ltd3_state, init_3, ROT0, "LTD", "Cowboy Eight Ball (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1981, zephy, 0, ltd3, ltd3, ltd3_state, init_3, ROT0, "LTD", "Zephy (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1981, zephya, zephy, ltd3, ltd3, ltd3_state, init_3, ROT0, "LTD", "Zephy (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // system 4, mostly 4-player, ay sounds, unplayable -GAME(1982, cowboy2, 0, ltd4, ltd4, ltd4_state, empty_init, ROT0, "LTD", "Cowboy Eight Ball 2", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1981, hhotel, 0, ltd4, ltd4, ltd4_state, empty_init, ROT0, "LTD", "Haunted Hotel", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1981, pecmen, 0, ltd4, ltd4, ltd4_state, empty_init, ROT0, "LTD", "Mr. & Mrs. Pec-Men", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1981, alcapone, 0, ltd4, ltd4, ltd4_state, empty_init, ROT0, "LTD", "Al Capone", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1982, columbia, 0, ltd4, ltd4, ltd4_state, empty_init, ROT0, "LTD", "Columbia", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1981, tmacltd4, 0, ltd4, ltd4, ltd4_state, empty_init, ROT0, "LTD", "Time Machine (LTD, 4 players)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1981, tmacltd2, tmacltd4, ltd4, ltd4, ltd4_state, empty_init, ROT0, "LTD", "Time Machine (LTD, 2 players)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1982, tricksht, 0, ltd4, ltd4, ltd4_state, empty_init, ROT0, "LTD", "Trick Shooter", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1982, cowboy2, 0, ltd4, ltd4, ltd4_state, empty_init, ROT0, "LTD", "Cowboy Eight Ball 2", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1981, hhotel, 0, ltd4, ltd4, ltd4_state, empty_init, ROT0, "LTD", "Haunted Hotel", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1981, pecmen, 0, ltd4, ltd4, ltd4_state, empty_init, ROT0, "LTD", "Mr. & Mrs. Pec-Men", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1981, alcapone, 0, ltd4, ltd4, ltd4_state, empty_init, ROT0, "LTD", "Al Capone", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1982, columbia, 0, ltd4, ltd4, ltd4_state, empty_init, ROT0, "LTD", "Columbia", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1981, tmacltd4, 0, ltd4, ltd4, ltd4_state, empty_init, ROT0, "LTD", "Time Machine (LTD, 4 players)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1981, tmacltd2, tmacltd4, ltd4, ltd4, ltd4_state, empty_init, ROT0, "LTD", "Time Machine (LTD, 2 players)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1982, tricksht, 0, ltd4, ltd4, ltd4_state, empty_init, ROT0, "LTD", "Trick Shooter", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/macp.cpp b/src/mame/pinball/macp.cpp index 459bef77bc792..9ae7e1ae1670d 100644 --- a/src/mame/pinball/macp.cpp +++ b/src/mame/pinball/macp.cpp @@ -469,17 +469,17 @@ ROM_END } // Anonymous namespace // MAC S.A. pinballs -GAME( 1986, macgalxy, 0, mac16k, macp, macp_state, empty_init, ROT0, "MAC S.A.", "MAC's Galaxy (yellow version, M.6)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1986, macgalxyb, macgalxy, mac16k, macp, macp_state, empty_init, ROT0, "MAC S.A.", "MAC's Galaxy (blue version, M.042)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1987, macjungl, 0, mac16k, macp, macp_state, empty_init, ROT0, "MAC S.A.", "MAC Jungle", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1987, spctrain, 0, mac32k, macp, macp_state, empty_init, ROT0, "MAC S.A.", "Space Train (Pinball)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1987, spctraino, spctrain, mac16k, macp, macp_state, empty_init, ROT0, "MAC S.A.", "Space Train (Pinball, old hardware)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1988, spcpnthr, 0, mac32k, macp, macp_state, empty_init, ROT0, "MAC S.A.", "Space Panther", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 19??, mac_1808, 0, mac32k, macp, macp_state, empty_init, ROT0, "MAC S.A.", "unknown game (MAC #1808)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1995, macjungn, 0, mac32k, macp, macp_state, empty_init, ROT0, "MAC S.A.", "MAC Jungle (New version)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1996, nbamac, 0, mac32k, macp, macp_state, empty_init, ROT0, "MAC S.A.", "NBA MAC", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME( 1986, macgalxy, 0, mac16k, macp, macp_state, empty_init, ROT0, "MAC S.A.", "MAC's Galaxy (yellow version, M.6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1986, macgalxyb, macgalxy, mac16k, macp, macp_state, empty_init, ROT0, "MAC S.A.", "MAC's Galaxy (blue version, M.042)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1987, macjungl, 0, mac16k, macp, macp_state, empty_init, ROT0, "MAC S.A.", "MAC Jungle", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1987, spctrain, 0, mac32k, macp, macp_state, empty_init, ROT0, "MAC S.A.", "Space Train (Pinball)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1987, spctraino, spctrain, mac16k, macp, macp_state, empty_init, ROT0, "MAC S.A.", "Space Train (Pinball, old hardware)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1988, spcpnthr, 0, mac32k, macp, macp_state, empty_init, ROT0, "MAC S.A.", "Space Panther", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 19??, mac_1808, 0, mac32k, macp, macp_state, empty_init, ROT0, "MAC S.A.", "unknown game (MAC #1808)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1995, macjungn, 0, mac32k, macp, macp_state, empty_init, ROT0, "MAC S.A.", "MAC Jungle (New version)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1996, nbamac, 0, mac32k, macp, macp_state, empty_init, ROT0, "MAC S.A.", "NBA MAC", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // CICPlay pinballs -GAME( 1985, glxplay, 0, mac16k, cicplay, macp_state, empty_init, ROT0, "CICPlay", "Galaxy Play", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1986, kidnap, 0, mac16k, cicplay, macp_state, empty_init, ROT0, "CICPlay", "Kidnap", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1987, glxplay2, 0, mac16k, cicplay, macp_state, empty_init, ROT0, "CICPlay", "Galaxy Play 2", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME( 1985, glxplay, 0, mac16k, cicplay, macp_state, empty_init, ROT0, "CICPlay", "Galaxy Play", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1986, kidnap, 0, mac16k, cicplay, macp_state, empty_init, ROT0, "CICPlay", "Kidnap", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1987, glxplay2, 0, mac16k, cicplay, macp_state, empty_init, ROT0, "CICPlay", "Galaxy Play 2", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/mephistp.cpp b/src/mame/pinball/mephistp.cpp index 0c5a5a2ba2123..ecd49a09c6a90 100644 --- a/src/mame/pinball/mephistp.cpp +++ b/src/mame/pinball/mephistp.cpp @@ -334,7 +334,7 @@ ROM_END } // Anonymous namespace -GAME(1987, mephistp, 0, mephisto, mephisto, mephisto_state, empty_init, ROT0, "Stargame", "Mephisto (Stargame) (rev. 1.2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1987, mephistp1, mephistp, mephisto, mephisto, mephisto_state, empty_init, ROT0, "Stargame", "Mephisto (Stargame) (rev. 1.1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1987, mephistpn, mephistp, mephisto, mephisto, mephisto_state, empty_init, ROT0, "Stargame", "Mephisto (Stargame) (newer?)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1988, sport2k, 0, sport2k, mephisto, mephisto_state, empty_init, ROT0, "Cirsa", "Sport 2000", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1987, mephistp, 0, mephisto, mephisto, mephisto_state, empty_init, ROT0, "Stargame", "Mephisto (Stargame) (rev. 1.2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1987, mephistp1, mephistp, mephisto, mephisto, mephisto_state, empty_init, ROT0, "Stargame", "Mephisto (Stargame) (rev. 1.1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1987, mephistpn, mephistp, mephisto, mephisto, mephisto_state, empty_init, ROT0, "Stargame", "Mephisto (Stargame) (newer?)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1988, sport2k, 0, sport2k, mephisto, mephisto_state, empty_init, ROT0, "Cirsa", "Sport 2000", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/micropin.cpp b/src/mame/pinball/micropin.cpp index 8517f223233fd..f60433ccce76e 100644 --- a/src/mame/pinball/micropin.cpp +++ b/src/mame/pinball/micropin.cpp @@ -558,6 +558,6 @@ ROM_END } // anonymous namespace -GAME(1978, pentacup, 0, pent6800, pent6800, pent6800_state, empty_init, ROT0, "Micropin", "Pentacup (rev. 1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1980, pentacup2, pentacup, pent8085, pent8085, pent8085_state, empty_init, ROT0, "Micropin", "Pentacup (rev. 2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1980, pentacupt, pentacup, pent8085, pent8085, pent8085_state, empty_init, ROT0, "Micropin", "Pentacup (rev. T)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1978, pentacup, 0, pent6800, pent6800, pent6800_state, empty_init, ROT0, "Micropin", "Pentacup (rev. 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1980, pentacup2, pentacup, pent8085, pent8085, pent8085_state, empty_init, ROT0, "Micropin", "Pentacup (rev. 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1980, pentacupt, pentacup, pent8085, pent8085, pent8085_state, empty_init, ROT0, "Micropin", "Pentacup (rev. T)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/mrgame.cpp b/src/mame/pinball/mrgame.cpp index c130e93858148..f56cbeddedddf 100644 --- a/src/mame/pinball/mrgame.cpp +++ b/src/mame/pinball/mrgame.cpp @@ -974,10 +974,10 @@ ROM_END } // anonymous namespace -GAME(1988, dakar, 0, mrgame, mrgame, mrgame_state, empty_init, ROT0, "Mr Game", "Dakar", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1989, fasttrack, motrshow, mrgame, mrgame, mrgame_state, empty_init, ROT0, "Mr Game", "Fast Track", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1989, motrshow, 0, mrgame, mrgame, mrgame_state, empty_init, ROT0, "Zaccaria / Mr Game", "Motor Show (set 1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1989, motrshowa, motrshow, mrgame, mrgame, mrgame_state, empty_init, ROT0, "Zaccaria / Mr Game", "Motor Show (set 2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1989, motrshowb, motrshow, mrgame, mrgame, mrgame_state, empty_init, ROT0, "Zaccaria / Mr Game", "Motor Show (set 3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1990, macattck, 0, macattck, mrgame, mrgame_state, empty_init, ROT0, "Mr Game", "Mac Attack", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1990, wcup90, 0, wcup90, mrgame, mrgame_state, empty_init, ROT0, "Mr Game", "World Cup 90", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1988, dakar, 0, mrgame, mrgame, mrgame_state, empty_init, ROT0, "Mr Game", "Dakar", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1989, fasttrack, motrshow, mrgame, mrgame, mrgame_state, empty_init, ROT0, "Mr Game", "Fast Track", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1989, motrshow, 0, mrgame, mrgame, mrgame_state, empty_init, ROT0, "Zaccaria / Mr Game", "Motor Show (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1989, motrshowa, motrshow, mrgame, mrgame, mrgame_state, empty_init, ROT0, "Zaccaria / Mr Game", "Motor Show (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1989, motrshowb, motrshow, mrgame, mrgame, mrgame_state, empty_init, ROT0, "Zaccaria / Mr Game", "Motor Show (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1990, macattck, 0, macattck, mrgame, mrgame_state, empty_init, ROT0, "Mr Game", "Mac Attack", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1990, wcup90, 0, wcup90, mrgame, mrgame_state, empty_init, ROT0, "Mr Game", "World Cup 90", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/newcanasta.cpp b/src/mame/pinball/newcanasta.cpp index 53e786547c5ad..d130da79d96eb 100644 --- a/src/mame/pinball/newcanasta.cpp +++ b/src/mame/pinball/newcanasta.cpp @@ -81,4 +81,4 @@ ROM_END } // Anonymous namespace -GAME(2010, newcanasta, 0, newcanasta, newcanasta, newcanasta_state, empty_init, ROT0, "Marsaplay", "New Canasta", MACHINE_IS_SKELETON_MECHANICAL) +GAME(2010, newcanasta, 0, newcanasta, newcanasta, newcanasta_state, empty_init, ROT0, "Marsaplay", "New Canasta", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) diff --git a/src/mame/pinball/nsm.cpp b/src/mame/pinball/nsm.cpp index 35216a25a339e..df5b2b8fff012 100644 --- a/src/mame/pinball/nsm.cpp +++ b/src/mame/pinball/nsm.cpp @@ -480,6 +480,6 @@ ROM_END } // anonymous namespace -GAME(1985, cosflnsm, 0, nsm, nsm, nsm_state, empty_init, ROT0, "NSM", "Cosmic Flash (NSM)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1985, firebird, 0, nsm, nsm, nsm_state, empty_init, ROT0, "NSM", "Hot Fire Birds", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1985, gamesnsm, 0, nsm, nsm, nsm_state, empty_init, ROT0, "NSM", "The Games (NSM)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1985, cosflnsm, 0, nsm, nsm, nsm_state, empty_init, ROT0, "NSM", "Cosmic Flash (NSM)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1985, firebird, 0, nsm, nsm, nsm_state, empty_init, ROT0, "NSM", "Hot Fire Birds", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1985, gamesnsm, 0, nsm, nsm, nsm_state, empty_init, ROT0, "NSM", "The Games (NSM)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/peyper.cpp b/src/mame/pinball/peyper.cpp index 6c790854fd93b..b61eeb7596492 100644 --- a/src/mame/pinball/peyper.cpp +++ b/src/mame/pinball/peyper.cpp @@ -863,18 +863,18 @@ ROM_END } // anonymous namespace -GAME( 1984, petaco, 0, petaco, odin_dlx, peyper_state, init_1, ROT0, "Juegos Populares", "Petaco", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1985, odin, 0, peyper, odin_dlx, peyper_state, init_1, ROT0, "Peyper", "Odin", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1985, odinp, odin, peyper, odin_dlx, peyper_state, init_1, ROT0, "Peyper", "Odin (prototype)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1985, odin_dlx, 0, peyper, odin_dlx, peyper_state, init_1, ROT0, "Sonic", "Odin De Luxe", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1986, solarwap, 0, peyper, solarwap, peyper_state, init_0, ROT0, "Sonic", "Solar Wars (Sonic)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1986, gamatros, 0, peyper, solarwap, peyper_state, init_0, ROT0, "Sonic", "Gamatron (Sonic)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1987, poleposn, 0, peyper, poleposn, peyper_state, init_0, ROT0, "Sonic", "Pole Position (Sonic)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1987, sonstwar, 0, peyper, sonstwar, peyper_state, init_3, ROT0, "Sonic", "Star Wars (Sonic, set 1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1987, sonstwr2, sonstwar, peyper, sonstwar, peyper_state, init_3, ROT0, "Sonic", "Star Wars (Sonic, set 2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1987, wolfman, 0, peyper, wolfman, peyper_state, init_2, ROT0, "Peyper", "Wolf Man", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1986, nemesisp, 0, peyper, wolfman, peyper_state, init_2, ROT0, "Peyper", "Nemesis", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1987, odisea, 0, peyper, odisea, peyper_state, init_2, ROT0, "Peyper", "Odisea Paris-Dakar", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1988, hangonp, 0, peyper, sonstwar, peyper_state, init_3, ROT0, "Sonic", "Hang-On (Sonic)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // inputs to be checked -GAME( 1985, ator, 0, peyper, sonstwar, peyper_state, init_1, ROT0, "Video Dens", "Ator (set 1, 2 bumpers)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // inputs to be checked -GAME( 1985, ator3bmp, ator, peyper, sonstwar, peyper_state, init_1, ROT0, "Video Dens", "Ator (set 2, 3 bumpers)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // initial program ROM missing; no manual found +GAME( 1984, petaco, 0, petaco, odin_dlx, peyper_state, init_1, ROT0, "Juegos Populares", "Petaco", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1985, odin, 0, peyper, odin_dlx, peyper_state, init_1, ROT0, "Peyper", "Odin", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1985, odinp, odin, peyper, odin_dlx, peyper_state, init_1, ROT0, "Peyper", "Odin (prototype)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1985, odin_dlx, 0, peyper, odin_dlx, peyper_state, init_1, ROT0, "Sonic", "Odin De Luxe", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1986, solarwap, 0, peyper, solarwap, peyper_state, init_0, ROT0, "Sonic", "Solar Wars (Sonic)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1986, gamatros, 0, peyper, solarwap, peyper_state, init_0, ROT0, "Sonic", "Gamatron (Sonic)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1987, poleposn, 0, peyper, poleposn, peyper_state, init_0, ROT0, "Sonic", "Pole Position (Sonic)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1987, sonstwar, 0, peyper, sonstwar, peyper_state, init_3, ROT0, "Sonic", "Star Wars (Sonic, set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1987, sonstwr2, sonstwar, peyper, sonstwar, peyper_state, init_3, ROT0, "Sonic", "Star Wars (Sonic, set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1987, wolfman, 0, peyper, wolfman, peyper_state, init_2, ROT0, "Peyper", "Wolf Man", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1986, nemesisp, 0, peyper, wolfman, peyper_state, init_2, ROT0, "Peyper", "Nemesis", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1987, odisea, 0, peyper, odisea, peyper_state, init_2, ROT0, "Peyper", "Odisea Paris-Dakar", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1988, hangonp, 0, peyper, sonstwar, peyper_state, init_3, ROT0, "Sonic", "Hang-On (Sonic)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // inputs to be checked +GAME( 1985, ator, 0, peyper, sonstwar, peyper_state, init_1, ROT0, "Video Dens", "Ator (set 1, 2 bumpers)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // inputs to be checked +GAME( 1985, ator3bmp, ator, peyper, sonstwar, peyper_state, init_1, ROT0, "Video Dens", "Ator (set 2, 3 bumpers)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // initial program ROM missing; no manual found diff --git a/src/mame/pinball/play_1.cpp b/src/mame/pinball/play_1.cpp index c79729823a374..f60bd1c6ef84a 100644 --- a/src/mame/pinball/play_1.cpp +++ b/src/mame/pinball/play_1.cpp @@ -675,10 +675,10 @@ ROM_END /* Big Town, Last Lap, Night Fever, Party and Third World all reportedly share the same roms with different playfield/machine artworks */ -GAME(1978, bigtown, 0, play_1, play_1, play_1_state, empty_init, ROT0, "Playmatic", "Big Town", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1978, lastlap, bigtown, play_1, play_1, play_1_state, empty_init, ROT0, "Playmatic", "Last Lap", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1979, party, bigtown, play_1, play_1, play_1_state, empty_init, ROT0, "Playmatic", "Party", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1979, ngtfever, bigtown, play_1, play_1, play_1_state, empty_init, ROT0, "Sonic", "Night Fever", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1978, thrdwrld, bigtown, play_1, play_1, play_1_state, empty_init, ROT0, "Sonic", "Third World", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1978, spcgambl, 0, play_1, spcgambl, play_1_state, empty_init, ROT0, "Playmatic", "Space Gambler", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1978, chance, 0, chance, chance, play_1_state, empty_init, ROT0, "Playmatic", "Chance", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1978, bigtown, 0, play_1, play_1, play_1_state, empty_init, ROT0, "Playmatic", "Big Town", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1978, lastlap, bigtown, play_1, play_1, play_1_state, empty_init, ROT0, "Playmatic", "Last Lap", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1979, party, bigtown, play_1, play_1, play_1_state, empty_init, ROT0, "Playmatic", "Party", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1979, ngtfever, bigtown, play_1, play_1, play_1_state, empty_init, ROT0, "Sonic", "Night Fever", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1978, thrdwrld, bigtown, play_1, play_1, play_1_state, empty_init, ROT0, "Sonic", "Third World", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1978, spcgambl, 0, play_1, spcgambl, play_1_state, empty_init, ROT0, "Playmatic", "Space Gambler", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1978, chance, 0, chance, chance, play_1_state, empty_init, ROT0, "Playmatic", "Chance", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/play_2.cpp b/src/mame/pinball/play_2.cpp index 73b7fee20a95c..8aef80f704591 100644 --- a/src/mame/pinball/play_2.cpp +++ b/src/mame/pinball/play_2.cpp @@ -644,12 +644,12 @@ ROM_END } // Anonymous namespace -GAME(1979, antar, 0, play_2, play_2, play_2_state, empty_init, ROT0, "Playmatic", "Antar (Playmatic, set 1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1979, antar2, antar, play_2, play_2, play_2_state, empty_init, ROT0, "Playmatic", "Antar (Playmatic, set 2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1979, storm, 0, play_2, play_2, play_2_state, empty_init, ROT0, "SegaSA / Sonic", "Storm", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1980, evlfight, 0, play_2, play_2, play_2_state, empty_init, ROT0, "Playmatic", "Evil Fight", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1980, attack, 0, play_2, play_2, play_2_state, empty_init, ROT0, "Playmatic", "Attack", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1980, blkfever, 0, play_2, play_2, play_2_state, empty_init, ROT0, "Playmatic", "Black Fever", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1982, cerberup, 0, sound3, play_2, play_2_state, empty_init, ROT0, "Playmatic", "Cerberus (Pinball)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1985, madrace, 0, play_2, play_2, play_2_state, empty_init, ROT0, "Playmatic", "Mad Race", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1980, zira, 0, zira, play_2, zira_state, init_zira, ROT0, "Playmatic", "Zira", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1979, antar, 0, play_2, play_2, play_2_state, empty_init, ROT0, "Playmatic", "Antar (Playmatic, set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1979, antar2, antar, play_2, play_2, play_2_state, empty_init, ROT0, "Playmatic", "Antar (Playmatic, set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1979, storm, 0, play_2, play_2, play_2_state, empty_init, ROT0, "SegaSA / Sonic", "Storm", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1980, evlfight, 0, play_2, play_2, play_2_state, empty_init, ROT0, "Playmatic", "Evil Fight", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1980, attack, 0, play_2, play_2, play_2_state, empty_init, ROT0, "Playmatic", "Attack", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1980, blkfever, 0, play_2, play_2, play_2_state, empty_init, ROT0, "Playmatic", "Black Fever", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1982, cerberup, 0, sound3, play_2, play_2_state, empty_init, ROT0, "Playmatic", "Cerberus (Pinball)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1985, madrace, 0, play_2, play_2, play_2_state, empty_init, ROT0, "Playmatic", "Mad Race", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1980, zira, 0, zira, play_2, zira_state, init_zira, ROT0, "Playmatic", "Zira", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/play_3.cpp b/src/mame/pinball/play_3.cpp index e5b3516b53aec..67624c18c665a 100644 --- a/src/mame/pinball/play_3.cpp +++ b/src/mame/pinball/play_3.cpp @@ -913,26 +913,26 @@ ROM_END } // anonymous namespace -GAME(1982, spain82, 0, spain82, spain82, play_3_state, empty_init, ROT0, "Playmatic", "Spain '82", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1983, megaaton, 0, megaaton, megaaton, play_3_state, empty_init, ROT0, "Playmatic", "Meg-Aaton", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1983, megaatona, megaaton, megaaton, megaaton, play_3_state, empty_init, ROT0, "Playmatic", "Meg-Aaton (alternate set)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1984, nautilus, 0, play_3, play_3, play_3_state, empty_init, ROT0, "Playmatic", "Nautilus", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1984, theraid, 0, play_3, play_3, play_3_state, empty_init, ROT0, "Playmatic", "The Raid", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1984, theraida, theraid, play_3, play_3, play_3_state, empty_init, ROT0, "Playmatic", "The Raid (alternate set)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1984, ufo_x, 0, play_3, play_3, play_3_state, empty_init, ROT0, "Playmatic", "UFO-X", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1984, kz26, 0, play_3, play_3, play_3_state, empty_init, ROT0, "Playmatic", "KZ-26", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1985, rock2500, 0, play_3, play_3, play_3_state, empty_init, ROT0, "Playmatic", "Rock 2500", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1985, starfirp, 0, play_3, play_3, play_3_state, empty_init, ROT0, "Playmatic", "Star Fire", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1985, starfirpa, starfirp, play_3, play_3, play_3_state, empty_init, ROT0, "Playmatic", "Star Fire (alternate set)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1985, trailer, 0, play_3, play_3, play_3_state, empty_init, ROT0, "Playmatic", "Trailer", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1986, fldragon, 0, play_3, play_3, play_3_state, empty_init, ROT0, "Playmatic", "Flash Dragon", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1986, fldragona, fldragon, play_3, play_3, play_3_state, empty_init, ROT0, "Playmatic", "Flash Dragon (alternate set)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1987, phntmshp, 0, sklflite, play_3, play_3_state, empty_init, ROT0, "Playmatic", "Phantom Ship", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1987, sklflite, 0, sklflite, play_3, play_3_state, empty_init, ROT0, "Playmatic", "Skill Flight (Playmatic)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1982, spain82, 0, spain82, spain82, play_3_state, empty_init, ROT0, "Playmatic", "Spain '82", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1983, megaaton, 0, megaaton, megaaton, play_3_state, empty_init, ROT0, "Playmatic", "Meg-Aaton", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1983, megaatona, megaaton, megaaton, megaaton, play_3_state, empty_init, ROT0, "Playmatic", "Meg-Aaton (alternate set)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1984, nautilus, 0, play_3, play_3, play_3_state, empty_init, ROT0, "Playmatic", "Nautilus", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1984, theraid, 0, play_3, play_3, play_3_state, empty_init, ROT0, "Playmatic", "The Raid", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1984, theraida, theraid, play_3, play_3, play_3_state, empty_init, ROT0, "Playmatic", "The Raid (alternate set)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1984, ufo_x, 0, play_3, play_3, play_3_state, empty_init, ROT0, "Playmatic", "UFO-X", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1984, kz26, 0, play_3, play_3, play_3_state, empty_init, ROT0, "Playmatic", "KZ-26", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1985, rock2500, 0, play_3, play_3, play_3_state, empty_init, ROT0, "Playmatic", "Rock 2500", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1985, starfirp, 0, play_3, play_3, play_3_state, empty_init, ROT0, "Playmatic", "Star Fire", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1985, starfirpa, starfirp, play_3, play_3, play_3_state, empty_init, ROT0, "Playmatic", "Star Fire (alternate set)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1985, trailer, 0, play_3, play_3, play_3_state, empty_init, ROT0, "Playmatic", "Trailer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1986, fldragon, 0, play_3, play_3, play_3_state, empty_init, ROT0, "Playmatic", "Flash Dragon", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1986, fldragona, fldragon, play_3, play_3, play_3_state, empty_init, ROT0, "Playmatic", "Flash Dragon (alternate set)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1987, phntmshp, 0, sklflite, play_3, play_3_state, empty_init, ROT0, "Playmatic", "Phantom Ship", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1987, sklflite, 0, sklflite, play_3, play_3_state, empty_init, ROT0, "Playmatic", "Skill Flight (Playmatic)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // not by Playmatic, but same hardware -GAME(1984, flashman, 0, flashman, play_3, play_3_state, empty_init, ROT0, "Sport Matic", "Flashman", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1986, ridersrf, 0, play_3, play_3, play_3_state, empty_init, ROT0, "JocMatic", "Rider's Surf", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1987, ironball, 0, play_3, play_3, play_3_state, empty_init, ROT0, "Stargame", "Iron Balls", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1987, terrlake, 0, terrlake, play_3, play_3_state, empty_init, ROT0, "Sport Matic", "Terrific Lake", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1984, flashman, 0, flashman, play_3, play_3_state, empty_init, ROT0, "Sport Matic", "Flashman", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1986, ridersrf, 0, play_3, play_3, play_3_state, empty_init, ROT0, "JocMatic", "Rider's Surf", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1987, ironball, 0, play_3, play_3, play_3_state, empty_init, ROT0, "Stargame", "Iron Balls", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1987, terrlake, 0, terrlake, play_3, play_3_state, empty_init, ROT0, "Sport Matic", "Terrific Lake", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // bingo hardware, to be split (?) -GAME(1983, msdisco, 0, play_3, play_3, play_3_state, empty_init, ROT0, "Playmatic", "Miss Disco (Bingo)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1983, msdisco, 0, play_3, play_3, play_3_state, empty_init, ROT0, "Playmatic", "Miss Disco (Bingo)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/recel.cpp b/src/mame/pinball/recel.cpp index 8a89372a41306..24755d1019dc3 100644 --- a/src/mame/pinball/recel.cpp +++ b/src/mame/pinball/recel.cpp @@ -546,20 +546,20 @@ ROM_END GAME(1977, recel, 0, recel, recel, recel_state, empty_init, ROT0, "Recel", "Recel BIOS", MACHINE_IS_BIOS_ROOT | MACHINE_NOT_WORKING) -GAME(1978, r_alaska, recel, recel, recel, recel_state, empty_init, ROT0, "Interflip", "Alaska", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1978, r_hotcold, recel, recel, recel, recel_state, empty_init, ROT0, "Inder", "Hot & Cold", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1978, r_screech, recel, recel, recel, recel_state, empty_init, ROT0, "Inder", "Screech", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1978, r_mrevil, recel, recel, recel, recel_state, empty_init, ROT0, "Recel", "Mr. Evil", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1978, r_torneo, recel, recel, recel, recel_state, empty_init, ROT0, "Recel", "Torneo", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1978, r_crzyrace, recel, recel, recel, recel_state, empty_init, ROT0, "Recel", "Crazy Race", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1978, r_fairfght, recel, recel, recel, recel_state, empty_init, ROT0, "Recel", "Fair Fight", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1978, r_pokrplus, recel, recel, recel, recel_state, empty_init, ROT0, "Recel", "Poker Plus", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1979, r_mrdoom, recel, recel, recel, recel_state, empty_init, ROT0, "Recel", "Mr. Doom", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1979, r_cavalier, recel, recel, recel, recel_state, empty_init, ROT0, "Recel", "Cavalier", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1979, r_swash, recel, recel, recel, recel_state, empty_init, ROT0, "Recel", "SwashBuckler", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1979, r_quijote, recel, recel, recel, recel_state, empty_init, ROT0, "Recel", "Don Quijote", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1979, r_spcgame7, recel, recel, recel, recel_state, empty_init, ROT0, "Recel", "Space Game (Bingo 6+1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1980, r_antar, recel, recel, recel, recel_state, empty_init, ROT0, "Recel", "Antar (Recel)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1980, r_flipper, recel, recel, recel, recel_state, empty_init, ROT0, "Recel", "The Flipper Game", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1980, r_blackmag, recel, recel, recel, recel_state, empty_init, ROT0, "Recel", "Black Magic", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1980, r_blackm4, recel, recel, recel, recel_state, empty_init, ROT0, "Recel", "Black Magic 4", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1978, r_alaska, recel, recel, recel, recel_state, empty_init, ROT0, "Interflip", "Alaska", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1978, r_hotcold, recel, recel, recel, recel_state, empty_init, ROT0, "Inder", "Hot & Cold", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1978, r_screech, recel, recel, recel, recel_state, empty_init, ROT0, "Inder", "Screech", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1978, r_mrevil, recel, recel, recel, recel_state, empty_init, ROT0, "Recel", "Mr. Evil", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1978, r_torneo, recel, recel, recel, recel_state, empty_init, ROT0, "Recel", "Torneo", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1978, r_crzyrace, recel, recel, recel, recel_state, empty_init, ROT0, "Recel", "Crazy Race", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1978, r_fairfght, recel, recel, recel, recel_state, empty_init, ROT0, "Recel", "Fair Fight", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1978, r_pokrplus, recel, recel, recel, recel_state, empty_init, ROT0, "Recel", "Poker Plus", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1979, r_mrdoom, recel, recel, recel, recel_state, empty_init, ROT0, "Recel", "Mr. Doom", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1979, r_cavalier, recel, recel, recel, recel_state, empty_init, ROT0, "Recel", "Cavalier", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1979, r_swash, recel, recel, recel, recel_state, empty_init, ROT0, "Recel", "SwashBuckler", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1979, r_quijote, recel, recel, recel, recel_state, empty_init, ROT0, "Recel", "Don Quijote", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1979, r_spcgame7, recel, recel, recel, recel_state, empty_init, ROT0, "Recel", "Space Game (Bingo 6+1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1980, r_antar, recel, recel, recel, recel_state, empty_init, ROT0, "Recel", "Antar (Recel)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1980, r_flipper, recel, recel, recel, recel_state, empty_init, ROT0, "Recel", "The Flipper Game", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1980, r_blackmag, recel, recel, recel, recel_state, empty_init, ROT0, "Recel", "Black Magic", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1980, r_blackm4, recel, recel, recel, recel_state, empty_init, ROT0, "Recel", "Black Magic 4", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/rowamet.cpp b/src/mame/pinball/rowamet.cpp index 618a1cac07c5c..d1c7f52fe2a25 100644 --- a/src/mame/pinball/rowamet.cpp +++ b/src/mame/pinball/rowamet.cpp @@ -326,4 +326,4 @@ ROM_END } // Anonymous namespace -GAME(198?, heavymtl, 0, rowamet, rowamet, rowamet_state, empty_init, ROT0, "Rowamet", "Heavy Metal", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(198?, heavymtl, 0, rowamet, rowamet, rowamet_state, empty_init, ROT0, "Rowamet", "Heavy Metal", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/s11a.cpp b/src/mame/pinball/s11a.cpp index 8e1aa96c2ad36..2eed8311c39a2 100644 --- a/src/mame/pinball/s11a.cpp +++ b/src/mame/pinball/s11a.cpp @@ -542,8 +542,8 @@ GAME(1987, f14_p5, f14_l1, s11a, s11a, s11a_state, init_s11a, ROT0, "Will GAME(1987, fire_l3, 0, s11a, s11a, s11a_state, init_s11a, ROT0, "Williams", "Fire! (L-3)", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE ) GAME(1987, fire_l2, fire_l3, s11a, s11a, s11a_state, init_s11a, ROT0, "Williams", "Fire! (L-2)", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE ) GAME(1987, milln_l3, 0, s11a_obg, s11a, s11a_state, init_s11a, ROT0, "Williams", "Millionaire (L-3)", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1986, pb_l5, 0, s11a_obg, s11a, s11a_state, init_s11a, ROT0, "Williams", "Pin-Bot (L-5)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1986, pb_l1, pb_l5, s11a_obg, s11a, s11a_state, init_s11a, ROT0, "Williams", "Pin-Bot (L-1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1986, pb_l2, pb_l5, s11a_obg, s11a, s11a_state, init_s11a, ROT0, "Williams", "Pin-Bot (L-2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1986, pb_l3, pb_l5, s11a_obg, s11a, s11a_state, init_s11a, ROT0, "Williams", "Pin-Bot (L-3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1986, pb_p4, pb_l5, s11a_obg, s11a, s11a_state, init_s11a, ROT0, "Williams", "Pin-Bot (P-4)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1986, pb_l5, 0, s11a_obg, s11a, s11a_state, init_s11a, ROT0, "Williams", "Pin-Bot (L-5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1986, pb_l1, pb_l5, s11a_obg, s11a, s11a_state, init_s11a, ROT0, "Williams", "Pin-Bot (L-1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1986, pb_l2, pb_l5, s11a_obg, s11a, s11a_state, init_s11a, ROT0, "Williams", "Pin-Bot (L-2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1986, pb_l3, pb_l5, s11a_obg, s11a, s11a_state, init_s11a, ROT0, "Williams", "Pin-Bot (L-3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1986, pb_p4, pb_l5, s11a_obg, s11a, s11a_state, init_s11a, ROT0, "Williams", "Pin-Bot (P-4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/s11b.cpp b/src/mame/pinball/s11b.cpp index 1be73d8c30b73..f1a53f35778b1 100644 --- a/src/mame/pinball/s11b.cpp +++ b/src/mame/pinball/s11b.cpp @@ -1709,14 +1709,14 @@ GAME(1987, bguns_l8, 0, s11b, s11b, s11b_state, init_s11bnn, R GAME(1987, bguns_l7, bguns_l8, s11b, s11b, s11b_state, init_s11bnn, ROT0, "Williams", "Big Guns (L-7)", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE ) GAME(1987, bguns_la, bguns_l8, s11b, s11b, s11b_state, init_s11bnn, ROT0, "Williams", "Big Guns (L-A)", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE ) GAME(1987, bguns_p1, bguns_l8, s11b, s11b, s11b_state, init_s11bnn, ROT0, "Williams", "Big Guns (P-1)", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1989, bk2k_l4, 0, s11b, s11b, s11b_state, init_s11bin, ROT0, "Williams", "Black Knight 2000 (L-4)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1989, bk2k_lg1, bk2k_l4, s11b, s11b, s11b_state, init_s11bin, ROT0, "Williams", "Black Knight 2000 (LG-1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1989, bk2k_lg3, bk2k_l4, s11b, s11b, s11b_state, init_s11bin, ROT0, "Williams", "Black Knight 2000 (LG-3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1989, bk2k_pu1, bk2k_l4, s11b, s11b, s11b_state, init_s11bin, ROT0, "Williams", "Black Knight 2000 (PU-1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1989, bk2k_pf1, bk2k_l4, s11b, s11b, s11b_state, init_s11bin, ROT0, "Williams", "Black Knight 2000 (PF-1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1989, bk2k_la2, bk2k_l4, s11b, s11b, s11b_state, init_s11bin, ROT0, "Williams", "Black Knight 2000 (LA-2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1989, bk2k_pa7, bk2k_l4, s11b, s11b, s11b_state, init_s11bin, ROT0, "Williams", "Black Knight 2000 (PA-7)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1989, bk2k_pa5, bk2k_l4, s11b, s11b, s11b_state, init_s11bin, ROT0, "Williams", "Black Knight 2000 (PA-5)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1989, bk2k_l4, 0, s11b, s11b, s11b_state, init_s11bin, ROT0, "Williams", "Black Knight 2000 (L-4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1989, bk2k_lg1, bk2k_l4, s11b, s11b, s11b_state, init_s11bin, ROT0, "Williams", "Black Knight 2000 (LG-1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1989, bk2k_lg3, bk2k_l4, s11b, s11b, s11b_state, init_s11bin, ROT0, "Williams", "Black Knight 2000 (LG-3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1989, bk2k_pu1, bk2k_l4, s11b, s11b, s11b_state, init_s11bin, ROT0, "Williams", "Black Knight 2000 (PU-1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1989, bk2k_pf1, bk2k_l4, s11b, s11b, s11b_state, init_s11bin, ROT0, "Williams", "Black Knight 2000 (PF-1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1989, bk2k_la2, bk2k_l4, s11b, s11b, s11b_state, init_s11bin, ROT0, "Williams", "Black Knight 2000 (LA-2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1989, bk2k_pa7, bk2k_l4, s11b, s11b, s11b_state, init_s11bin, ROT0, "Williams", "Black Knight 2000 (PA-7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1989, bk2k_pa5, bk2k_l4, s11b, s11b, s11b_state, init_s11bin, ROT0, "Williams", "Black Knight 2000 (PA-5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) GAME(1988, cycln_l5, 0, s11b, s11b, s11b_state, init_s11bnn, ROT0, "Williams", "Cyclone (L-5)", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE ) GAME(1988, cycln_l4, cycln_l5, s11b, s11b, s11b_state, init_s11bnn, ROT0, "Williams", "Cyclone (L-4)", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE ) GAME(1988, cycln_l1, cycln_l5, s11b, s11b, s11b_state, init_s11bnn, ROT0, "Williams", "Cyclone (L-1)", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/s11c.cpp b/src/mame/pinball/s11c.cpp index c9c4cd3aeb34e..dee4a5c2ba047 100644 --- a/src/mame/pinball/s11c.cpp +++ b/src/mame/pinball/s11c.cpp @@ -810,4 +810,4 @@ GAME(1990, gs_lu4, 0, s11c, s11c, s11c_state, init_s11c, ROT0, GAME(1990, gs_lu3, gs_lu4, s11c, s11c, s11c_state, init_s11c, ROT0, "Bally", "The Bally Game Show (LU-3) Europe", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE ) GAME(1990, gs_la3, gs_lu4, s11c, s11c, s11c_state, init_s11c, ROT0, "Bally", "The Bally Game Show (LA-3)", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE ) GAME(1990, gs_lg6, gs_lu4, s11c, s11c, s11c_state, init_s11c, ROT0, "Bally", "The Bally Game Show (LG-6) Germany", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1990, strax_p7, 0, s11c, s11c, s11c_state, init_s11c, ROT0, "Krell Development", "Star Trax (domestic prototype)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1990, strax_p7, 0, s11c, s11c, s11c_state, init_s11c, ROT0, "Krell Development", "Star Trax (domestic prototype)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/s7.cpp b/src/mame/pinball/s7.cpp index 3b70bebbc2f6c..42cac68a63681 100644 --- a/src/mame/pinball/s7.cpp +++ b/src/mame/pinball/s7.cpp @@ -1114,30 +1114,30 @@ ROM_END } // Anonymous namespace -GAME( 1980, bk_l4, 0, s7, bk, s7_state, empty_init, ROT0, "Williams", "Black Knight (L-4)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1980, bk_f4, bk_l4, s7, bk, s7_state, empty_init, ROT0, "Williams", "Black Knight (L-4, French speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1980, bk_l3, bk_l4, s7, bk, s7_state, empty_init, ROT0, "Williams", "Black Knight (L-3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1980, bk_l2, bk_l4, s7, bk, s7_state, empty_init, ROT0, "Williams", "Black Knight (L-2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1980, csmic_l1, 0, s7, csmic, s7_state, empty_init, ROT0, "Williams", "Cosmic Gunfight (L-1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1981, jngld_l2, 0, s7, jngld, s7_state, empty_init, ROT0, "Williams", "Jungle Lord (L-2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1981, jngld_l1, jngld_l2, s7, jngld, s7_state, empty_init, ROT0, "Williams", "Jungle Lord (L-1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1981, pharo_l2, 0, s7, pharo, s7_state, empty_init, ROT0, "Williams", "Pharaoh (L-2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1981, solar_l2, 0, s7, solar, s7_state, empty_init, ROT0, "Williams", "Solar Fire (L-2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1982, thund_p1, 0, s7, thund, s7_state, init_1, ROT0, "Williams", "Thunderball (P-1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1982, thund_p2, thund_p1, s7, thund, s7_state, init_1, ROT0, "Williams", "Thunderball (P-2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1982, thund_p3, thund_p1, s7, thund, s7_state, init_1, ROT0, "Williams", "Thunderball (P-3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1981, hypbl_l4, 0, s7, hypbl, s7_state, empty_init, ROT0, "Williams", "HyperBall (L-4)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1981, hypbl_l3, hypbl_l4, s7, hypbl, s7_state, empty_init, ROT0, "Williams", "HyperBall (L-3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1981, hypbl_l2, hypbl_l4, s7, hypbl, s7_state, empty_init, ROT0, "Williams", "HyperBall (L-2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1981, barra_l1, 0, s7, barra, s7_state, empty_init, ROT0, "Williams", "Barracora (L-1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1982, vrkon_l1, 0, s7, vrkon, s7_state, empty_init, ROT0, "Williams", "Varkon (L-1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1982, tmfnt_l5, 0, s7, tmfnt, s7_state, empty_init, ROT0, "Williams", "Time Fantasy (L-5)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1982, wrlok_l3, 0, s7, wrlok, s7_state, empty_init, ROT0, "Williams", "Warlok (L-3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1982, dfndr_l4, 0, s7, dfndr, s7_state, empty_init, ROT0, "Williams", "Defender (L-4)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1983, jst_l2, 0, s7, jst, s7_state, empty_init, ROT0, "Williams", "Joust (L-2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1983, jst_l1, jst_l2, s7, jst, s7_state, empty_init, ROT0, "Williams", "Joust (L-1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1983, lsrcu_l2, 0, s7, lsrcu, s7_state, empty_init, ROT0, "Williams", "Laser Cue (L-2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1983, fpwr2_l2, 0, s7, fpwr2, s7_state, empty_init, ROT0, "Williams", "Firepower II (L-2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1984, strlt_l1, 0, s7, strlt, s7_state, empty_init, ROT0, "Williams", "Star Light (L-1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME( 1980, bk_l4, 0, s7, bk, s7_state, empty_init, ROT0, "Williams", "Black Knight (L-4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1980, bk_f4, bk_l4, s7, bk, s7_state, empty_init, ROT0, "Williams", "Black Knight (L-4, French speech)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1980, bk_l3, bk_l4, s7, bk, s7_state, empty_init, ROT0, "Williams", "Black Knight (L-3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1980, bk_l2, bk_l4, s7, bk, s7_state, empty_init, ROT0, "Williams", "Black Knight (L-2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1980, csmic_l1, 0, s7, csmic, s7_state, empty_init, ROT0, "Williams", "Cosmic Gunfight (L-1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1981, jngld_l2, 0, s7, jngld, s7_state, empty_init, ROT0, "Williams", "Jungle Lord (L-2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1981, jngld_l1, jngld_l2, s7, jngld, s7_state, empty_init, ROT0, "Williams", "Jungle Lord (L-1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1981, pharo_l2, 0, s7, pharo, s7_state, empty_init, ROT0, "Williams", "Pharaoh (L-2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1981, solar_l2, 0, s7, solar, s7_state, empty_init, ROT0, "Williams", "Solar Fire (L-2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1982, thund_p1, 0, s7, thund, s7_state, init_1, ROT0, "Williams", "Thunderball (P-1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1982, thund_p2, thund_p1, s7, thund, s7_state, init_1, ROT0, "Williams", "Thunderball (P-2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1982, thund_p3, thund_p1, s7, thund, s7_state, init_1, ROT0, "Williams", "Thunderball (P-3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1981, hypbl_l4, 0, s7, hypbl, s7_state, empty_init, ROT0, "Williams", "HyperBall (L-4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1981, hypbl_l3, hypbl_l4, s7, hypbl, s7_state, empty_init, ROT0, "Williams", "HyperBall (L-3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1981, hypbl_l2, hypbl_l4, s7, hypbl, s7_state, empty_init, ROT0, "Williams", "HyperBall (L-2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1981, barra_l1, 0, s7, barra, s7_state, empty_init, ROT0, "Williams", "Barracora (L-1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1982, vrkon_l1, 0, s7, vrkon, s7_state, empty_init, ROT0, "Williams", "Varkon (L-1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1982, tmfnt_l5, 0, s7, tmfnt, s7_state, empty_init, ROT0, "Williams", "Time Fantasy (L-5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1982, wrlok_l3, 0, s7, wrlok, s7_state, empty_init, ROT0, "Williams", "Warlok (L-3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1982, dfndr_l4, 0, s7, dfndr, s7_state, empty_init, ROT0, "Williams", "Defender (L-4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1983, jst_l2, 0, s7, jst, s7_state, empty_init, ROT0, "Williams", "Joust (L-2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1983, jst_l1, jst_l2, s7, jst, s7_state, empty_init, ROT0, "Williams", "Joust (L-1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1983, lsrcu_l2, 0, s7, lsrcu, s7_state, empty_init, ROT0, "Williams", "Laser Cue (L-2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1983, fpwr2_l2, 0, s7, fpwr2, s7_state, empty_init, ROT0, "Williams", "Firepower II (L-2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1984, strlt_l1, 0, s7, strlt, s7_state, empty_init, ROT0, "Williams", "Star Light (L-1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // same hardware, unknown manufacturer, clone of fpwr2 -GAME( 1983, wldtexas, fpwr2_l2, s7, fpwr2, s7_state, empty_init, ROT0, "", "Wild Texas", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME( 1983, wldtexas, fpwr2_l2, s7, fpwr2, s7_state, empty_init, ROT0, "", "Wild Texas", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/sam.cpp b/src/mame/pinball/sam.cpp index fa4c837471cfd..182e34b5872f9 100644 --- a/src/mame/pinball/sam.cpp +++ b/src/mame/pinball/sam.cpp @@ -1132,214 +1132,214 @@ ROM_END } // Anonymous namespace -GAME( 2009, 24_130 ,24_150, sam, sam, sam_state, empty_init, ROT0, "Stern", "24 v1.30", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2009, 24_140 ,24_150, sam, sam, sam_state, empty_init, ROT0, "Stern", "24 v1.40", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2009, 24_144 ,24_150, sam, sam, sam_state, empty_init, ROT0, "Stern", "24 v1.44", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2009, 24_150 ,0, sam, sam, sam_state, empty_init, ROT0, "Stern", "24 v1.50", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2008, bdk_130 ,bdk_294, sam, sam, sam_state, empty_init, ROT0, "Stern", "Batman - The Dark Knight v1.30", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2008, bdk_150 ,bdk_294, sam, sam, sam_state, empty_init, ROT0, "Stern", "Batman - The Dark Knight v1.50", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2008, bdk_160 ,bdk_294, sam, sam, sam_state, empty_init, ROT0, "Stern", "Batman - The Dark Knight v1.60", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2008, bdk_200 ,bdk_294, sam, sam, sam_state, empty_init, ROT0, "Stern", "Batman - The Dark Knight v2.00", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2008, bdk_210 ,bdk_294, sam, sam, sam_state, empty_init, ROT0, "Stern", "Batman - The Dark Knight v2.10", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2008, bdk_220 ,bdk_294, sam, sam, sam_state, empty_init, ROT0, "Stern", "Batman - The Dark Knight v2.20", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2008, bdk_290 ,bdk_294, sam, sam, sam_state, empty_init, ROT0, "Stern", "Batman - The Dark Knight v2.90", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2008, bdk_294 ,0, sam, sam, sam_state, empty_init, ROT0, "Stern", "Batman - The Dark Knight v2.94", MACHINE_IS_SKELETON_MECHANICAL) +GAME( 2009, 24_130 ,24_150, sam, sam, sam_state, empty_init, ROT0, "Stern", "24 v1.30", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2009, 24_140 ,24_150, sam, sam, sam_state, empty_init, ROT0, "Stern", "24 v1.40", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2009, 24_144 ,24_150, sam, sam, sam_state, empty_init, ROT0, "Stern", "24 v1.44", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2009, 24_150 ,0, sam, sam, sam_state, empty_init, ROT0, "Stern", "24 v1.50", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2008, bdk_130 ,bdk_294, sam, sam, sam_state, empty_init, ROT0, "Stern", "Batman - The Dark Knight v1.30", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2008, bdk_150 ,bdk_294, sam, sam, sam_state, empty_init, ROT0, "Stern", "Batman - The Dark Knight v1.50", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2008, bdk_160 ,bdk_294, sam, sam, sam_state, empty_init, ROT0, "Stern", "Batman - The Dark Knight v1.60", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2008, bdk_200 ,bdk_294, sam, sam, sam_state, empty_init, ROT0, "Stern", "Batman - The Dark Knight v2.00", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2008, bdk_210 ,bdk_294, sam, sam, sam_state, empty_init, ROT0, "Stern", "Batman - The Dark Knight v2.10", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2008, bdk_220 ,bdk_294, sam, sam, sam_state, empty_init, ROT0, "Stern", "Batman - The Dark Knight v2.20", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2008, bdk_290 ,bdk_294, sam, sam, sam_state, empty_init, ROT0, "Stern", "Batman - The Dark Knight v2.90", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2008, bdk_294 ,0, sam, sam, sam_state, empty_init, ROT0, "Stern", "Batman - The Dark Knight v2.94", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // Missing version 1.30 (26-Jan-2010), 1.20 (25-Jan-2010), 1.10 (21-Jan-2010), 1.00 (15-Jan-2010) -GAME( 2010, bbh_140 ,bbh_160, sam, sam, sam_state, empty_init, ROT0, "Stern", "Big Buck Hunter Pro v1.40", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2010, bbh_150 ,bbh_160, sam, sam, sam_state, empty_init, ROT0, "Stern", "Big Buck Hunter Pro v1.50", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2010, bbh_160 ,0, sam, sam, sam_state, empty_init, ROT0, "Stern", "Big Buck Hunter Pro v1.60", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2008, csi_102 ,csi_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "C.S.I. v1.02", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2008, csi_103 ,csi_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "C.S.I. v1.03", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2008, csi_104 ,csi_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "C.S.I. v1.04", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2008, csi_200 ,csi_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "C.S.I. v2.00", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2008, csi_210 ,csi_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "C.S.I. v2.10", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2008, csi_230 ,csi_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "C.S.I. v2.30", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2008, csi_240 ,0, sam, sam, sam_state, empty_init, ROT0, "Stern", "C.S.I. v2.40", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, fg_1000af ,fg_120af, sam, sam, sam_state, empty_init, ROT0, "Stern", "Family Guy v10.0 (English,French)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, fg_1000ag ,fg_120af, sam, sam, sam_state, empty_init, ROT0, "Stern", "Family Guy v10.0 (English,German)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, fg_1000ai ,fg_120af, sam, sam, sam_state, empty_init, ROT0, "Stern", "Family Guy v10.0 (English,Italian)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, fg_1000al ,fg_120af, sam, sam, sam_state, empty_init, ROT0, "Stern", "Family Guy v10.0 (English,Spanish)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, fg_110af ,fg_120af, sam, sam, sam_state, empty_init, ROT0, "Stern", "Family Guy v11.0 (English,French)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, fg_110ag ,fg_120af, sam, sam, sam_state, empty_init, ROT0, "Stern", "Family Guy v11.0 (English,German)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, fg_110ai ,fg_120af, sam, sam, sam_state, empty_init, ROT0, "Stern", "Family Guy v11.0 (English,Italian)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, fg_110al ,fg_120af, sam, sam, sam_state, empty_init, ROT0, "Stern", "Family Guy v11.0 (English,Spanish)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, fg_120af ,0, sam, sam, sam_state, empty_init, ROT0, "Stern", "Family Guy v12.0 (English,French)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, fg_120ag ,fg_120af, sam, sam, sam_state, empty_init, ROT0, "Stern", "Family Guy v12.0 (English,German)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, fg_120ai ,fg_120af, sam, sam, sam_state, empty_init, ROT0, "Stern", "Family Guy v12.0 (English,Italian)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, fg_120al ,fg_120af, sam, sam, sam_state, empty_init, ROT0, "Stern", "Family Guy v12.0 (English,Spanish)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, fg_300ai ,fg_120af, sam, sam, sam_state, empty_init, ROT0, "Stern", "Family Guy v3.0 (English,Italian)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, fg_400a ,fg_120af, sam, sam, sam_state, empty_init, ROT0, "Stern", "Family Guy v4.0 (English)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, fg_400ag ,fg_120af, sam, sam, sam_state, empty_init, ROT0, "Stern", "Family Guy v4.0 (English,German)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, fg_700af ,fg_120af, sam, sam, sam_state, empty_init, ROT0, "Stern", "Family Guy v7.0 (English,French)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, fg_700al ,fg_120af, sam, sam, sam_state, empty_init, ROT0, "Stern", "Family Guy v7.0 (English,Spanish)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, fg_800al ,fg_120af, sam, sam, sam_state, empty_init, ROT0, "Stern", "Family Guy v8.0 (English,Spanish)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2010, im2_100 ,im2_140, sam, sam, sam_state, empty_init, ROT0, "Stern", "Iron Man 2 v1.00", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2010, im2_110 ,im2_140, sam, sam, sam_state, empty_init, ROT0, "Stern", "Iron Man 2 v1.10", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2010, im2_120 ,im2_140, sam, sam, sam_state, empty_init, ROT0, "Stern", "Iron Man 2 v1.20", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2010, im2_140 ,0, sam, sam, sam_state, empty_init, ROT0, "Stern", "Iron Man 2 v1.40", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2008, indy_113a ,indy_210, sam, sam, sam_state, empty_init, ROT0, "Stern", "Indiana Jones v1.13", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2008, indy_113f ,indy_210, sam, sam, sam_state, empty_init, ROT0, "Stern", "Indiana Jones v1.13 (French)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2008, indy_113g ,indy_210, sam, sam, sam_state, empty_init, ROT0, "Stern", "Indiana Jones v1.13 (German)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2008, indy_113i ,indy_210, sam, sam, sam_state, empty_init, ROT0, "Stern", "Indiana Jones v1.13 (Italian)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2008, indy_113l ,indy_210, sam, sam, sam_state, empty_init, ROT0, "Stern", "Indiana Jones v1.13 (Spanish)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2008, indy_114a ,indy_210, sam, sam, sam_state, empty_init, ROT0, "Stern", "Indiana Jones v1.14", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2008, indy_114f ,indy_210, sam, sam, sam_state, empty_init, ROT0, "Stern", "Indiana Jones v1.14 (French)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2008, indy_114g ,indy_210, sam, sam, sam_state, empty_init, ROT0, "Stern", "Indiana Jones v1.14 (German)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2008, indy_114i ,indy_210, sam, sam, sam_state, empty_init, ROT0, "Stern", "Indiana Jones v1.14 (Italian)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2008, indy_114l ,indy_210, sam, sam, sam_state, empty_init, ROT0, "Stern", "Indiana Jones v1.14 (Spanish)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2008, indy_116a ,indy_210, sam, sam, sam_state, empty_init, ROT0, "Stern", "Indiana Jones v1.16", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2008, indy_116f ,indy_210, sam, sam, sam_state, empty_init, ROT0, "Stern", "Indiana Jones v1.16 (French)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2008, indy_116g ,indy_210, sam, sam, sam_state, empty_init, ROT0, "Stern", "Indiana Jones v1.16 (German)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2008, indy_116i ,indy_210, sam, sam, sam_state, empty_init, ROT0, "Stern", "Indiana Jones v1.16 (Italian)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2008, indy_116l ,indy_210, sam, sam, sam_state, empty_init, ROT0, "Stern", "Indiana Jones v1.16 (Spanish)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2008, indy_210 ,0, sam, sam, sam_state, empty_init, ROT0, "Stern", "Indiana Jones v2.10", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2008, indy_210f ,indy_210, sam, sam, sam_state, empty_init, ROT0, "Stern", "Indiana Jones v2.10 (French)", MACHINE_IS_SKELETON_MECHANICAL) +GAME( 2010, bbh_140 ,bbh_160, sam, sam, sam_state, empty_init, ROT0, "Stern", "Big Buck Hunter Pro v1.40", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2010, bbh_150 ,bbh_160, sam, sam, sam_state, empty_init, ROT0, "Stern", "Big Buck Hunter Pro v1.50", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2010, bbh_160 ,0, sam, sam, sam_state, empty_init, ROT0, "Stern", "Big Buck Hunter Pro v1.60", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2008, csi_102 ,csi_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "C.S.I. v1.02", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2008, csi_103 ,csi_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "C.S.I. v1.03", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2008, csi_104 ,csi_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "C.S.I. v1.04", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2008, csi_200 ,csi_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "C.S.I. v2.00", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2008, csi_210 ,csi_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "C.S.I. v2.10", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2008, csi_230 ,csi_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "C.S.I. v2.30", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2008, csi_240 ,0, sam, sam, sam_state, empty_init, ROT0, "Stern", "C.S.I. v2.40", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, fg_1000af ,fg_120af, sam, sam, sam_state, empty_init, ROT0, "Stern", "Family Guy v10.0 (English,French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, fg_1000ag ,fg_120af, sam, sam, sam_state, empty_init, ROT0, "Stern", "Family Guy v10.0 (English,German)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, fg_1000ai ,fg_120af, sam, sam, sam_state, empty_init, ROT0, "Stern", "Family Guy v10.0 (English,Italian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, fg_1000al ,fg_120af, sam, sam, sam_state, empty_init, ROT0, "Stern", "Family Guy v10.0 (English,Spanish)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, fg_110af ,fg_120af, sam, sam, sam_state, empty_init, ROT0, "Stern", "Family Guy v11.0 (English,French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, fg_110ag ,fg_120af, sam, sam, sam_state, empty_init, ROT0, "Stern", "Family Guy v11.0 (English,German)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, fg_110ai ,fg_120af, sam, sam, sam_state, empty_init, ROT0, "Stern", "Family Guy v11.0 (English,Italian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, fg_110al ,fg_120af, sam, sam, sam_state, empty_init, ROT0, "Stern", "Family Guy v11.0 (English,Spanish)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, fg_120af ,0, sam, sam, sam_state, empty_init, ROT0, "Stern", "Family Guy v12.0 (English,French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, fg_120ag ,fg_120af, sam, sam, sam_state, empty_init, ROT0, "Stern", "Family Guy v12.0 (English,German)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, fg_120ai ,fg_120af, sam, sam, sam_state, empty_init, ROT0, "Stern", "Family Guy v12.0 (English,Italian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, fg_120al ,fg_120af, sam, sam, sam_state, empty_init, ROT0, "Stern", "Family Guy v12.0 (English,Spanish)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, fg_300ai ,fg_120af, sam, sam, sam_state, empty_init, ROT0, "Stern", "Family Guy v3.0 (English,Italian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, fg_400a ,fg_120af, sam, sam, sam_state, empty_init, ROT0, "Stern", "Family Guy v4.0 (English)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, fg_400ag ,fg_120af, sam, sam, sam_state, empty_init, ROT0, "Stern", "Family Guy v4.0 (English,German)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, fg_700af ,fg_120af, sam, sam, sam_state, empty_init, ROT0, "Stern", "Family Guy v7.0 (English,French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, fg_700al ,fg_120af, sam, sam, sam_state, empty_init, ROT0, "Stern", "Family Guy v7.0 (English,Spanish)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, fg_800al ,fg_120af, sam, sam, sam_state, empty_init, ROT0, "Stern", "Family Guy v8.0 (English,Spanish)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2010, im2_100 ,im2_140, sam, sam, sam_state, empty_init, ROT0, "Stern", "Iron Man 2 v1.00", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2010, im2_110 ,im2_140, sam, sam, sam_state, empty_init, ROT0, "Stern", "Iron Man 2 v1.10", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2010, im2_120 ,im2_140, sam, sam, sam_state, empty_init, ROT0, "Stern", "Iron Man 2 v1.20", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2010, im2_140 ,0, sam, sam, sam_state, empty_init, ROT0, "Stern", "Iron Man 2 v1.40", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2008, indy_113a ,indy_210, sam, sam, sam_state, empty_init, ROT0, "Stern", "Indiana Jones v1.13", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2008, indy_113f ,indy_210, sam, sam, sam_state, empty_init, ROT0, "Stern", "Indiana Jones v1.13 (French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2008, indy_113g ,indy_210, sam, sam, sam_state, empty_init, ROT0, "Stern", "Indiana Jones v1.13 (German)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2008, indy_113i ,indy_210, sam, sam, sam_state, empty_init, ROT0, "Stern", "Indiana Jones v1.13 (Italian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2008, indy_113l ,indy_210, sam, sam, sam_state, empty_init, ROT0, "Stern", "Indiana Jones v1.13 (Spanish)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2008, indy_114a ,indy_210, sam, sam, sam_state, empty_init, ROT0, "Stern", "Indiana Jones v1.14", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2008, indy_114f ,indy_210, sam, sam, sam_state, empty_init, ROT0, "Stern", "Indiana Jones v1.14 (French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2008, indy_114g ,indy_210, sam, sam, sam_state, empty_init, ROT0, "Stern", "Indiana Jones v1.14 (German)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2008, indy_114i ,indy_210, sam, sam, sam_state, empty_init, ROT0, "Stern", "Indiana Jones v1.14 (Italian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2008, indy_114l ,indy_210, sam, sam, sam_state, empty_init, ROT0, "Stern", "Indiana Jones v1.14 (Spanish)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2008, indy_116a ,indy_210, sam, sam, sam_state, empty_init, ROT0, "Stern", "Indiana Jones v1.16", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2008, indy_116f ,indy_210, sam, sam, sam_state, empty_init, ROT0, "Stern", "Indiana Jones v1.16 (French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2008, indy_116g ,indy_210, sam, sam, sam_state, empty_init, ROT0, "Stern", "Indiana Jones v1.16 (German)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2008, indy_116i ,indy_210, sam, sam, sam_state, empty_init, ROT0, "Stern", "Indiana Jones v1.16 (Italian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2008, indy_116l ,indy_210, sam, sam, sam_state, empty_init, ROT0, "Stern", "Indiana Jones v1.16 (Spanish)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2008, indy_210 ,0, sam, sam, sam_state, empty_init, ROT0, "Stern", "Indiana Jones v2.10", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2008, indy_210f ,indy_210, sam, sam, sam_state, empty_init, ROT0, "Stern", "Indiana Jones v2.10 (French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // Missing versions 4.00 (21-May-2009), 3.00 (20-May-2009), 2.00 (19-May-2009) and 1.00 (14-May-2009) of NBA -GAME( 2009, nba_500 ,nba_802, sam, sam, sam_state, empty_init, ROT0, "Stern", "NBA v5.00", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2009, nba_600 ,nba_802, sam, sam, sam_state, empty_init, ROT0, "Stern", "NBA v6.00", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2009, nba_700 ,nba_802, sam, sam, sam_state, empty_init, ROT0, "Stern", "NBA v7.00", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2009, nba_801 ,nba_802, sam, sam, sam_state, empty_init, ROT0, "Stern", "NBA v8.01", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2009, nba_802 ,0, sam, sam, sam_state, empty_init, ROT0, "Stern", "NBA v8.02", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, potc_110af ,potc_600, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v1.10 (English,French)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, potc_110ai ,potc_600, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v1.10 (English,Italian)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, potc_110gf ,potc_600, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v1.10 (German,French)", MACHINE_IS_SKELETON_MECHANICAL) +GAME( 2009, nba_500 ,nba_802, sam, sam, sam_state, empty_init, ROT0, "Stern", "NBA v5.00", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2009, nba_600 ,nba_802, sam, sam, sam_state, empty_init, ROT0, "Stern", "NBA v6.00", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2009, nba_700 ,nba_802, sam, sam, sam_state, empty_init, ROT0, "Stern", "NBA v7.00", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2009, nba_801 ,nba_802, sam, sam, sam_state, empty_init, ROT0, "Stern", "NBA v8.01", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2009, nba_802 ,0, sam, sam, sam_state, empty_init, ROT0, "Stern", "NBA v8.02", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, potc_110af ,potc_600, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v1.10 (English,French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, potc_110ai ,potc_600, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v1.10 (English,Italian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, potc_110gf ,potc_600, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v1.10 (German,French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // Missing version 1.11 for other languages ??? August 17, 2006 -GAME( 2006, potc_111as ,potc_600, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v1.11 (English,Spanish)", MACHINE_IS_SKELETON_MECHANICAL) +GAME( 2006, potc_111as ,potc_600, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v1.11 (English,Spanish)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // Missing version 1.12 August 24, 2006 -GAME( 2006, potc_113af ,potc_600, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v1.13 (English,French)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, potc_113ai ,potc_600, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v1.13 (English,Italian)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, potc_113as ,potc_600, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v1.13 (English,Spanish)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, potc_113gf ,potc_600, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v1.13 (German,French)", MACHINE_IS_SKELETON_MECHANICAL) +GAME( 2006, potc_113af ,potc_600, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v1.13 (English,French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, potc_113ai ,potc_600, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v1.13 (English,Italian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, potc_113as ,potc_600, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v1.13 (English,Spanish)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, potc_113gf ,potc_600, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v1.13 (German,French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // Missing version 1.14 October 11, 2006 -GAME( 2006, potc_115af ,potc_600, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v1.15 (English,French)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, potc_115ai ,potc_600, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v1.15 (English,Italian)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, potc_115as ,potc_600, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v1.15 (English,Spanish)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, potc_115gf ,potc_600, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v1.15 (German,French)", MACHINE_IS_SKELETON_MECHANICAL) +GAME( 2006, potc_115af ,potc_600, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v1.15 (English,French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, potc_115ai ,potc_600, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v1.15 (English,Italian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, potc_115as ,potc_600, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v1.15 (English,Spanish)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, potc_115gf ,potc_600, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v1.15 (German,French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // Missing version 2.00 April 11, 2007 -GAME( 2007, potc_300af ,potc_600, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v3.00 (English,French)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, potc_300ai ,potc_600, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v3.00 (English,Italian)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, potc_300as ,potc_600, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v3.00 (English,Spanish)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, potc_300gf ,potc_600, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v3.00 (German,French)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, potc_400af ,potc_600, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v4.00 (English,French)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, potc_400ai ,potc_600, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v4.00 (English,Italian)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, potc_400as ,potc_600, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v4.00 (English,Spanish)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, potc_400gf ,potc_600, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v4.00 (German,French)", MACHINE_IS_SKELETON_MECHANICAL) +GAME( 2007, potc_300af ,potc_600, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v3.00 (English,French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, potc_300ai ,potc_600, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v3.00 (English,Italian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, potc_300as ,potc_600, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v3.00 (English,Spanish)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, potc_300gf ,potc_600, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v3.00 (German,French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, potc_400af ,potc_600, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v4.00 (English,French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, potc_400ai ,potc_600, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v4.00 (English,Italian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, potc_400as ,potc_600, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v4.00 (English,Spanish)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, potc_400gf ,potc_600, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v4.00 (German,French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // Missing version 5.00 September 27, 2007 -GAME( 2007, potc_600 ,0, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v6.00 (English,French)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, potc_600ai ,potc_600, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v6.00 (English,Italian)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, potc_600as ,potc_600, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v6.00 (English,Spanish)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, potc_600gf ,potc_600, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v6.00 (German,French)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2008, sh_141 ,0, sam, sam, sam_state, empty_init, ROT0, "Stern", "Shrek v1.41", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, skc_090 ,skc_105, sam, sam, sam_state, empty_init, ROT0, "Stern", "Simpsons Kooky Carnival (Redemption) v0.90 New Jersey", MACHINE_IS_SKELETON_MECHANICAL) +GAME( 2007, potc_600 ,0, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v6.00 (English,French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, potc_600ai ,potc_600, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v6.00 (English,Italian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, potc_600as ,potc_600, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v6.00 (English,Spanish)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, potc_600gf ,potc_600, sam, sam, sam_state, empty_init, ROT0, "Stern", "Pirates of the Caribbean v6.00 (German,French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2008, sh_141 ,0, sam, sam, sam_state, empty_init, ROT0, "Stern", "Shrek v1.41", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, skc_090 ,skc_105, sam, sam, sam_state, empty_init, ROT0, "Stern", "Simpsons Kooky Carnival (Redemption) v0.90 New Jersey", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // Missing version 1.00 // Missing version 1.01 April 10, 2006 // Missing version 1.02 April 12, 2006 -GAME( 2006, skc_103 ,skc_105, sam, sam, sam_state, empty_init, ROT0, "Stern", "Simpsons Kooky Carnival (Redemption) v1.03", MACHINE_IS_SKELETON_MECHANICAL) +GAME( 2006, skc_103 ,skc_105, sam, sam, sam_state, empty_init, ROT0, "Stern", "Simpsons Kooky Carnival (Redemption) v1.03", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // Missing version 1.04 May 12, 2006 -GAME( 2006, skc_105 ,0, sam, sam, sam_state, empty_init, ROT0, "Stern", "Simpsons Kooky Carnival (Redemption) v1.05", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, sman_102ef ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.02 (English,French)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, sman_130ef ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.30 (English,French)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, sman_130ei ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.30 (English,Italian)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, sman_130es ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.30 (English,Spanish)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, sman_130gf ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.30 (German,French)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, sman_140e ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.40", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, sman_140ef ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.40 (English,French)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, sman_140ei ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.40 (English,Italian)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, sman_140es ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.40 (English,Spanish)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, sman_140gf ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.40 (German,French)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, sman_142e ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.42", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, sman_160e ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.60", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, sman_160ef ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.60 (English,French)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, sman_160ei ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.60 (English,Italian)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, sman_160es ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.60 (English,Spanish)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, sman_160gf ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.60 (German,French)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, sman_170e ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.70", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, sman_170ef ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.70 (English,French)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, sman_170ei ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.70 (English,Italian)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, sman_170es ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.70 (English,Spanish)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, sman_170gf ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.70 (German,French)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, sman_190e ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.90", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, sman_190ef ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.90 (English,French)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, sman_190ei ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.90 (English,Italian)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, sman_190es ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.90 (English,Spanish)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, sman_190gf ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.90 (German,French)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, sman_192e ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.92", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, sman_192ef ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.92 (English,French)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, sman_192ei ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.92 (English,Italian)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, sman_192es ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.92 (English,Spanish)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, sman_192gf ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.92 (German,French)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, sman_200e ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v2.00", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, sman_210e ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v2.10", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, sman_210f ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v2.10 (French)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, sman_210ei ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v2.10 (English,Italian)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, sman_210es ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v2.10 (English,Spanish)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, sman_210gf ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v2.10 (German,French)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, sman_220e ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v2.20", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, sman_230e ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v2.30", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, sman_240 ,0, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v2.40", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, wof_100a ,wof_500a, sam, sam, sam_state, empty_init, ROT0, "Stern", "Wheel of Fortune v1.0", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, wof_200a ,wof_500a, sam, sam, sam_state, empty_init, ROT0, "Stern", "Wheel of Fortune v2.0", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, wof_200f ,wof_500a, sam, sam, sam_state, empty_init, ROT0, "Stern", "Wheel of Fortune v2.0 (French)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, wof_200g ,wof_500a, sam, sam, sam_state, empty_init, ROT0, "Stern", "Wheel of Fortune v2.0 (German)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, wof_200i ,wof_500a, sam, sam, sam_state, empty_init, ROT0, "Stern", "Wheel of Fortune v2.0 (Italian)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, wof_300a ,wof_500a, sam, sam, sam_state, empty_init, ROT0, "Stern", "Wheel of Fortune v3.0", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, wof_300f ,wof_500a, sam, sam, sam_state, empty_init, ROT0, "Stern", "Wheel of Fortune v3.0 (French)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, wof_300g ,wof_500a, sam, sam, sam_state, empty_init, ROT0, "Stern", "Wheel of Fortune v3.0 (German)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, wof_300i ,wof_500a, sam, sam, sam_state, empty_init, ROT0, "Stern", "Wheel of Fortune v3.0 (Italian)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, wof_300l ,wof_500a, sam, sam, sam_state, empty_init, ROT0, "Stern", "Wheel of Fortune v3.0 (Spanish)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, wof_400a ,wof_500a, sam, sam, sam_state, empty_init, ROT0, "Stern", "Wheel of Fortune v4.0", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, wof_400f ,wof_500a, sam, sam, sam_state, empty_init, ROT0, "Stern", "Wheel of Fortune v4.0 (French)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, wof_400g ,wof_500a, sam, sam, sam_state, empty_init, ROT0, "Stern", "Wheel of Fortune v4.0 (German)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, wof_400i ,wof_500a, sam, sam, sam_state, empty_init, ROT0, "Stern", "Wheel of Fortune v4.0 (Italian)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, wof_400l ,wof_500a, sam, sam, sam_state, empty_init, ROT0, "Stern", "Wheel of Fortune v4.0 (Spanish)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, wof_500a ,0, sam, sam, sam_state, empty_init, ROT0, "Stern", "Wheel of Fortune v5.0", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, wof_500f ,wof_500a, sam, sam, sam_state, empty_init, ROT0, "Stern", "Wheel of Fortune v5.0 (French)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, wof_500g ,wof_500a, sam, sam, sam_state, empty_init, ROT0, "Stern", "Wheel of Fortune v5.0 (German)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, wof_500i ,wof_500a, sam, sam, sam_state, empty_init, ROT0, "Stern", "Wheel of Fortune v5.0 (Italian)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2007, wof_500l ,wof_500a, sam, sam, sam_state, empty_init, ROT0, "Stern", "Wheel of Fortune v5.0 (Spanish)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, wpt_103a ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.03", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, wpt_105a ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.05", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, wpt_106a ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.06", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, wpt_106f ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.06 (French)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, wpt_106g ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.06 (German)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, wpt_106i ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.06 (Italian)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, wpt_106l ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.06 (Spanish)", MACHINE_IS_SKELETON_MECHANICAL) +GAME( 2006, skc_105 ,0, sam, sam, sam_state, empty_init, ROT0, "Stern", "Simpsons Kooky Carnival (Redemption) v1.05", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, sman_102ef ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.02 (English,French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, sman_130ef ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.30 (English,French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, sman_130ei ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.30 (English,Italian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, sman_130es ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.30 (English,Spanish)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, sman_130gf ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.30 (German,French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, sman_140e ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.40", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, sman_140ef ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.40 (English,French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, sman_140ei ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.40 (English,Italian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, sman_140es ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.40 (English,Spanish)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, sman_140gf ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.40 (German,French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, sman_142e ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.42", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, sman_160e ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.60", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, sman_160ef ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.60 (English,French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, sman_160ei ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.60 (English,Italian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, sman_160es ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.60 (English,Spanish)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, sman_160gf ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.60 (German,French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, sman_170e ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.70", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, sman_170ef ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.70 (English,French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, sman_170ei ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.70 (English,Italian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, sman_170es ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.70 (English,Spanish)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, sman_170gf ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.70 (German,French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, sman_190e ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.90", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, sman_190ef ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.90 (English,French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, sman_190ei ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.90 (English,Italian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, sman_190es ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.90 (English,Spanish)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, sman_190gf ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.90 (German,French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, sman_192e ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.92", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, sman_192ef ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.92 (English,French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, sman_192ei ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.92 (English,Italian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, sman_192es ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.92 (English,Spanish)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, sman_192gf ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v1.92 (German,French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, sman_200e ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v2.00", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, sman_210e ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v2.10", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, sman_210f ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v2.10 (French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, sman_210ei ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v2.10 (English,Italian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, sman_210es ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v2.10 (English,Spanish)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, sman_210gf ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v2.10 (German,French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, sman_220e ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v2.20", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, sman_230e ,sman_240, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v2.30", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, sman_240 ,0, sam, sam, sam_state, empty_init, ROT0, "Stern", "Spider-Man v2.40", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, wof_100a ,wof_500a, sam, sam, sam_state, empty_init, ROT0, "Stern", "Wheel of Fortune v1.0", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, wof_200a ,wof_500a, sam, sam, sam_state, empty_init, ROT0, "Stern", "Wheel of Fortune v2.0", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, wof_200f ,wof_500a, sam, sam, sam_state, empty_init, ROT0, "Stern", "Wheel of Fortune v2.0 (French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, wof_200g ,wof_500a, sam, sam, sam_state, empty_init, ROT0, "Stern", "Wheel of Fortune v2.0 (German)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, wof_200i ,wof_500a, sam, sam, sam_state, empty_init, ROT0, "Stern", "Wheel of Fortune v2.0 (Italian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, wof_300a ,wof_500a, sam, sam, sam_state, empty_init, ROT0, "Stern", "Wheel of Fortune v3.0", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, wof_300f ,wof_500a, sam, sam, sam_state, empty_init, ROT0, "Stern", "Wheel of Fortune v3.0 (French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, wof_300g ,wof_500a, sam, sam, sam_state, empty_init, ROT0, "Stern", "Wheel of Fortune v3.0 (German)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, wof_300i ,wof_500a, sam, sam, sam_state, empty_init, ROT0, "Stern", "Wheel of Fortune v3.0 (Italian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, wof_300l ,wof_500a, sam, sam, sam_state, empty_init, ROT0, "Stern", "Wheel of Fortune v3.0 (Spanish)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, wof_400a ,wof_500a, sam, sam, sam_state, empty_init, ROT0, "Stern", "Wheel of Fortune v4.0", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, wof_400f ,wof_500a, sam, sam, sam_state, empty_init, ROT0, "Stern", "Wheel of Fortune v4.0 (French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, wof_400g ,wof_500a, sam, sam, sam_state, empty_init, ROT0, "Stern", "Wheel of Fortune v4.0 (German)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, wof_400i ,wof_500a, sam, sam, sam_state, empty_init, ROT0, "Stern", "Wheel of Fortune v4.0 (Italian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, wof_400l ,wof_500a, sam, sam, sam_state, empty_init, ROT0, "Stern", "Wheel of Fortune v4.0 (Spanish)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, wof_500a ,0, sam, sam, sam_state, empty_init, ROT0, "Stern", "Wheel of Fortune v5.0", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, wof_500f ,wof_500a, sam, sam, sam_state, empty_init, ROT0, "Stern", "Wheel of Fortune v5.0 (French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, wof_500g ,wof_500a, sam, sam, sam_state, empty_init, ROT0, "Stern", "Wheel of Fortune v5.0 (German)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, wof_500i ,wof_500a, sam, sam, sam_state, empty_init, ROT0, "Stern", "Wheel of Fortune v5.0 (Italian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2007, wof_500l ,wof_500a, sam, sam, sam_state, empty_init, ROT0, "Stern", "Wheel of Fortune v5.0 (Spanish)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, wpt_103a ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.03", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, wpt_105a ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.05", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, wpt_106a ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.06", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, wpt_106f ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.06 (French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, wpt_106g ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.06 (German)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, wpt_106i ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.06 (Italian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, wpt_106l ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.06 (Spanish)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // Missing version 1.07 should be 5 different files per language -GAME( 2006, wpt_108a ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.08", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, wpt_108f ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.08 (French)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, wpt_108g ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.08 (German)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, wpt_108i ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.08 (Italian)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, wpt_108l ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.08 (Spanish)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, wpt_109a ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.09", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, wpt_109f ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.09 (French)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, wpt_109f2 ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.09 (French)(alt)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, wpt_109g ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.09 (German)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, wpt_109i ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.09 (Italian)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, wpt_109l ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.09 (Spanish)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, wpt_111a ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.11", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, wpt_111af ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.11 (English,French)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, wpt_111ai ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.11 (English,Italian)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, wpt_111al ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.11 (English,Spanish)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, wpt_111f ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.11 (French)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, wpt_111g ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.11 (German)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, wpt_111gf ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.11 (German,French)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, wpt_111i ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.11 (Italian)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, wpt_111l ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.11 (Spanish)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, wpt_112a ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.12", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, wpt_112af ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.12 (English,French)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, wpt_112ai ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.12 (English,Italian)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, wpt_112al ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.12 (English,Spanish)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, wpt_112f ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.12 (French)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, wpt_112g ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.12 (German)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, wpt_112gf ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.12 (German,French)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, wpt_112i ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.12 (Italian)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, wpt_112l ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.12 (Spanish)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, wpt_1400 ,0, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v14.00", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, wpt_1400af ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v14.00 (English,French)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, wpt_1400ai ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v14.00 (English,Italian)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, wpt_1400al ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v14.00 (English,Spanish)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, wpt_1400f ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v14.00 (French)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, wpt_1400g ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v14.00 (German)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, wpt_1400gf ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v14.00 (German,French)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, wpt_1400i ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v14.00 (Italian)", MACHINE_IS_SKELETON_MECHANICAL) -GAME( 2006, wpt_1400l ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v14.00 (Spanish)", MACHINE_IS_SKELETON_MECHANICAL) +GAME( 2006, wpt_108a ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.08", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, wpt_108f ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.08 (French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, wpt_108g ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.08 (German)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, wpt_108i ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.08 (Italian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, wpt_108l ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.08 (Spanish)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, wpt_109a ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.09", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, wpt_109f ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.09 (French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, wpt_109f2 ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.09 (French)(alt)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, wpt_109g ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.09 (German)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, wpt_109i ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.09 (Italian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, wpt_109l ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.09 (Spanish)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, wpt_111a ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.11", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, wpt_111af ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.11 (English,French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, wpt_111ai ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.11 (English,Italian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, wpt_111al ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.11 (English,Spanish)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, wpt_111f ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.11 (French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, wpt_111g ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.11 (German)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, wpt_111gf ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.11 (German,French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, wpt_111i ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.11 (Italian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, wpt_111l ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.11 (Spanish)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, wpt_112a ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.12", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, wpt_112af ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.12 (English,French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, wpt_112ai ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.12 (English,Italian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, wpt_112al ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.12 (English,Spanish)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, wpt_112f ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.12 (French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, wpt_112g ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.12 (German)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, wpt_112gf ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.12 (German,French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, wpt_112i ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.12 (Italian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, wpt_112l ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v1.12 (Spanish)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, wpt_1400 ,0, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v14.00", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, wpt_1400af ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v14.00 (English,French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, wpt_1400ai ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v14.00 (English,Italian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, wpt_1400al ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v14.00 (English,Spanish)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, wpt_1400f ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v14.00 (French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, wpt_1400g ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v14.00 (German)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, wpt_1400gf ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v14.00 (German,French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, wpt_1400i ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v14.00 (Italian)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME( 2006, wpt_1400l ,wpt_1400, sam, sam, sam_state, empty_init, ROT0, "Stern", "World Poker Tour v14.00 (Spanish)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) diff --git a/src/mame/pinball/sleic.cpp b/src/mame/pinball/sleic.cpp index c5a1b2495aa9e..ffe365df7e927 100644 --- a/src/mame/pinball/sleic.cpp +++ b/src/mame/pinball/sleic.cpp @@ -372,7 +372,7 @@ ROM_END } // Anonymous namespace -GAME(1992, bikerace, 0, sleic, sleic, sleic_state, empty_init, ROT0, "Sleic", "Bike Race", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1992, bikerace2, bikerace, sleic, sleic, sleic_state, empty_init, ROT0, "Sleic", "Bike Race (2-ball play)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, sleicpin, 0, sleic, sleic, sleic_state, empty_init, ROT0, "Sleic", "Sleic Pin Ball", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, iomoon, 0, sleic, sleic, sleic_state, empty_init, ROT0, "Sleic", "Io Moon", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1992, bikerace, 0, sleic, sleic, sleic_state, empty_init, ROT0, "Sleic", "Bike Race", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1992, bikerace2, bikerace, sleic, sleic, sleic_state, empty_init, ROT0, "Sleic", "Bike Race (2-ball play)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, sleicpin, 0, sleic, sleic, sleic_state, empty_init, ROT0, "Sleic", "Sleic Pin Ball", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, iomoon, 0, sleic, sleic, sleic_state, empty_init, ROT0, "Sleic", "Io Moon", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/spinb.cpp b/src/mame/pinball/spinb.cpp index eab1929a694c5..9ba1330ef5f74 100644 --- a/src/mame/pinball/spinb.cpp +++ b/src/mame/pinball/spinb.cpp @@ -1414,12 +1414,12 @@ ROM_END } // Anonymous namespace -GAME(1992, metalman, 0, metalman, metalman, spinb_state, init_3, ROT0, "Inder", "Metal Man", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, bushido, 0, mach2, bushido, spinb_state, empty_init, ROT0, "Inder", "Bushido (set 1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, bushidoa, bushido, mach2, bushido, spinb_state, empty_init, ROT0, "Inder", "Bushido (set 2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, bushidob, bushido, mach2, bushido, spinb_state, empty_init, ROT0, "Inder", "Bushido (set 3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, mach2, 0, mach2, mach2, spinb_state, empty_init, ROT0, "Spinball", "Mach 2 (set 1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, mach2a, mach2, mach2, mach2, spinb_state, empty_init, ROT0, "Spinball", "Mach 2 (set 2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1996, jolypark, 0, jolypark, spinb, spinb_state, init_1, ROT0, "Spinball", "Jolly Park", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1996, vrnwrld, 0, vrnwrld, vrnwrld, spinb_state, init_2, ROT0, "Spinball", "Verne's World", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1996, gunshot, 0, gunshot, spinb, spinb_state, empty_init, ROT0, "Spinball", "Gun Shot", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK ) +GAME(1992, metalman, 0, metalman, metalman, spinb_state, init_3, ROT0, "Inder", "Metal Man", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, bushido, 0, mach2, bushido, spinb_state, empty_init, ROT0, "Inder", "Bushido (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, bushidoa, bushido, mach2, bushido, spinb_state, empty_init, ROT0, "Inder", "Bushido (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, bushidob, bushido, mach2, bushido, spinb_state, empty_init, ROT0, "Inder", "Bushido (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, mach2, 0, mach2, mach2, spinb_state, empty_init, ROT0, "Spinball", "Mach 2 (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, mach2a, mach2, mach2, mach2, spinb_state, empty_init, ROT0, "Spinball", "Mach 2 (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1996, jolypark, 0, jolypark, spinb, spinb_state, init_1, ROT0, "Spinball", "Jolly Park", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1996, vrnwrld, 0, vrnwrld, vrnwrld, spinb_state, init_2, ROT0, "Spinball", "Verne's World", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1996, gunshot, 0, gunshot, spinb, spinb_state, empty_init, ROT0, "Spinball", "Gun Shot", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/pinball/st_mp100.cpp b/src/mame/pinball/st_mp100.cpp index ebc5d5ba16cf1..11e0d8768feb5 100644 --- a/src/mame/pinball/st_mp100.cpp +++ b/src/mame/pinball/st_mp100.cpp @@ -984,14 +984,14 @@ GAME( 1978, memlane, 0, st_mp100, mp100, st_mp100_state, empty_init, GAME( 1978, blkshpsq, 0, st_mp100, mp100, st_mp100_state, empty_init, ROT0, "Astro", "Black Sheep Squadron", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // sound unit B-521 -GAME( 1978, lectrono, 0, st_mp100, mp100, st_mp100_state, empty_init, ROT0, "Stern", "Lectronamo", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1978, wildfyre, 0, st_mp100, mp100, st_mp100_state, empty_init, ROT0, "Stern", "Wildfyre", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1978, nugent, 0, st_mp100, mp100, st_mp100_state, empty_init, ROT0, "Stern", "Nugent", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1979, dracula, 0, st_mp100, mp100, st_mp100_state, empty_init, ROT0, "Stern", "Dracula (Pinball)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME( 1978, lectrono, 0, st_mp100, mp100, st_mp100_state, empty_init, ROT0, "Stern", "Lectronamo", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1978, wildfyre, 0, st_mp100, mp100, st_mp100_state, empty_init, ROT0, "Stern", "Wildfyre", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1978, nugent, 0, st_mp100, mp100, st_mp100_state, empty_init, ROT0, "Stern", "Nugent", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1979, dracula, 0, st_mp100, mp100, st_mp100_state, empty_init, ROT0, "Stern", "Dracula (Pinball)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // different inputs -GAME( 1979, trident, 0, st_mp100, mp200, st_mp100_state, empty_init, ROT0, "Stern", "Trident", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1979, tridento, trident, st_mp100, mp200, st_mp100_state, empty_init, ROT0, "Stern", "Trident (Older set)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1979, hothand, 0, st_mp100, mp200, st_mp100_state, empty_init, ROT0, "Stern", "Hot Hand", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1979, princess, 0, st_mp100, mp200, st_mp100_state, empty_init, ROT0, "Stern", "Cosmic Princess", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1979, magic, 0, st_mp100, mp200, st_mp100_state, empty_init, ROT0, "Stern", "Magic", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME( 1979, trident, 0, st_mp100, mp200, st_mp100_state, empty_init, ROT0, "Stern", "Trident", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1979, tridento, trident, st_mp100, mp200, st_mp100_state, empty_init, ROT0, "Stern", "Trident (Older set)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1979, hothand, 0, st_mp100, mp200, st_mp100_state, empty_init, ROT0, "Stern", "Hot Hand", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1979, princess, 0, st_mp100, mp200, st_mp100_state, empty_init, ROT0, "Stern", "Cosmic Princess", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1979, magic, 0, st_mp100, mp200, st_mp100_state, empty_init, ROT0, "Stern", "Magic", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/st_mp200.cpp b/src/mame/pinball/st_mp200.cpp index c664fc4361b77..632ba29b95dac 100644 --- a/src/mame/pinball/st_mp200.cpp +++ b/src/mame/pinball/st_mp200.cpp @@ -1132,34 +1132,34 @@ ROM_END // 6-digit -GAME(1979, meteorp, 0, st_mp200, mp200, st_mp200_state, init_st_mp202, ROT0, "Stern", "Meteor (Bug fix release)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1979, meteorpo, meteorp, st_mp200, mp200, st_mp200_state, init_st_mp202, ROT0, "Stern", "Meteor (First release)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1980, galaxypi, 0, st_mp200, mp200, st_mp200_state, init_st_mp202, ROT0, "Stern", "Galaxy", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1980, ali, 0, st_mp200, mp200, st_mp200_state, init_st_mp202, ROT0, "Stern", "Ali", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1979, meteorp, 0, st_mp200, mp200, st_mp200_state, init_st_mp202, ROT0, "Stern", "Meteor (Bug fix release)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1979, meteorpo, meteorp, st_mp200, mp200, st_mp200_state, init_st_mp202, ROT0, "Stern", "Meteor (First release)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1980, galaxypi, 0, st_mp200, mp200, st_mp200_state, init_st_mp202, ROT0, "Stern", "Galaxy", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1980, ali, 0, st_mp200, mp200, st_mp200_state, init_st_mp202, ROT0, "Stern", "Ali", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // 7-digit -GAME(1980, cheetah, 0, st_mp200, mp200, st_mp200_state, init_st_mp200, ROT0, "Stern", "Cheetah (Black Cabinet)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1980, cheetahb, cheetah, st_mp200, mp200, st_mp200_state, init_st_mp202, ROT0, "Stern", "Cheetah (Blue Cabinet)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1980, quicksil, 0, st_mp200, mp200, st_mp200_state, init_st_mp200, ROT0, "Stern", "Quicksilver", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1980, biggame, 0, st_mp200, mp200, st_mp200_state, init_st_mp200, ROT0, "Stern", "Big Game", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1980, seawitch, 0, st_mp200, mp200, st_mp200_state, init_st_mp200, ROT0, "Stern", "Seawitch", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1980, stargzr, 0, st_mp200, mp200, st_mp200_state, init_st_mp200, ROT0, "Stern", "Stargazer", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1982, dragfist, 0, st_mp200, mp200, st_mp200_state, init_st_mp200, ROT0, "Stern", "Dragonfist", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1982, cue, 0, st_mp200, mp200, st_mp200_state, init_st_mp200, ROT0, "Stern", "Cue (Prototype)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1980, cheetah, 0, st_mp200, mp200, st_mp200_state, init_st_mp200, ROT0, "Stern", "Cheetah (Black Cabinet)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1980, cheetahb, cheetah, st_mp200, mp200, st_mp200_state, init_st_mp202, ROT0, "Stern", "Cheetah (Blue Cabinet)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1980, quicksil, 0, st_mp200, mp200, st_mp200_state, init_st_mp200, ROT0, "Stern", "Quicksilver", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1980, biggame, 0, st_mp200, mp200, st_mp200_state, init_st_mp200, ROT0, "Stern", "Big Game", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1980, seawitch, 0, st_mp200, mp200, st_mp200_state, init_st_mp200, ROT0, "Stern", "Seawitch", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1980, stargzr, 0, st_mp200, mp200, st_mp200_state, init_st_mp200, ROT0, "Stern", "Stargazer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1982, dragfist, 0, st_mp200, mp200, st_mp200_state, init_st_mp200, ROT0, "Stern", "Dragonfist", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1982, cue, 0, st_mp200, mp200, st_mp200_state, init_st_mp200, ROT0, "Stern", "Cue (Prototype)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // multiball -GAME(1980, nineball, 0, st_mp200, mp200, st_mp200_state, init_st_mp200, ROT0, "Stern", "Nine Ball", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1981, lightnin, 0, st_mp201, mp200, st_mp200_state, init_st_mp201, ROT0, "Stern", "Lightning", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1980, flight2k, 0, st_mp201, mp200, st_mp200_state, init_st_mp201, ROT0, "Stern", "Flight 2000", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1981, freefall, 0, st_mp201, mp200, st_mp200_state, init_st_mp201, ROT0, "Stern", "Freefall", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1981, spltsecp, 0, st_mp201, mp200, st_mp200_state, init_st_mp201, ROT0, "Stern", "Split Second (Pinball)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1981, catacomp, 0, st_mp201, mp200, st_mp200_state, init_st_mp201, ROT0, "Stern", "Catacomb (Pinball)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1981, viperp, 0, st_mp200, mp200, st_mp200_state, init_st_mp200, ROT0, "Stern", "Viper (Pinball)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1981, ironmaid, 0, st_mp200, mp200, st_mp200_state, init_st_mp200, ROT0, "Stern", "Iron Maiden", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1982, orbitor1, 0, st_mp201, mp200, st_mp200_state, init_st_mp201, ROT0, "Stern", "Orbitor 1", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1984, lazrlord, 0, st_mp200, mp200, st_mp200_state, init_st_mp200, ROT0, "Stern", "Lazer Lord", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1980, nineball, 0, st_mp200, mp200, st_mp200_state, init_st_mp200, ROT0, "Stern", "Nine Ball", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1981, lightnin, 0, st_mp201, mp200, st_mp200_state, init_st_mp201, ROT0, "Stern", "Lightning", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1980, flight2k, 0, st_mp201, mp200, st_mp200_state, init_st_mp201, ROT0, "Stern", "Flight 2000", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1981, freefall, 0, st_mp201, mp200, st_mp200_state, init_st_mp201, ROT0, "Stern", "Freefall", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1981, spltsecp, 0, st_mp201, mp200, st_mp200_state, init_st_mp201, ROT0, "Stern", "Split Second (Pinball)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1981, catacomp, 0, st_mp201, mp200, st_mp200_state, init_st_mp201, ROT0, "Stern", "Catacomb (Pinball)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1981, viperp, 0, st_mp200, mp200, st_mp200_state, init_st_mp200, ROT0, "Stern", "Viper (Pinball)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1981, ironmaid, 0, st_mp200, mp200, st_mp200_state, init_st_mp200, ROT0, "Stern", "Iron Maiden", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1982, orbitor1, 0, st_mp201, mp200, st_mp200_state, init_st_mp201, ROT0, "Stern", "Orbitor 1", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1984, lazrlord, 0, st_mp200, mp200, st_mp200_state, init_st_mp200, ROT0, "Stern", "Lazer Lord", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // other manufacturer -GAME(1985, gamatron, flight2k, st_mp200, mp200, st_mp200_state, init_st_mp200, ROT0, "Pinstar", "Gamatron", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(198?, st_sam, 0, st_mp200, mp200, st_mp200_state, init_st_mp200, ROT0, "Stern", "SAM III Test Fixture", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(198?, st_sam4, st_sam, st_sam4, mp200, st_mp200_state, init_st_mp200, ROT0, "Stern", "SAM IV Test Fixture", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1985, gamatron, flight2k, st_mp200, mp200, st_mp200_state, init_st_mp200, ROT0, "Pinstar", "Gamatron", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(198?, st_sam, 0, st_mp200, mp200, st_mp200_state, init_st_mp200, ROT0, "Stern", "SAM III Test Fixture", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(198?, st_sam4, st_sam, st_sam4, mp200, st_mp200_state, init_st_mp200, ROT0, "Stern", "SAM IV Test Fixture", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/stargame.cpp b/src/mame/pinball/stargame.cpp index 307d863b425f5..68eba66f27ee8 100644 --- a/src/mame/pinball/stargame.cpp +++ b/src/mame/pinball/stargame.cpp @@ -469,5 +469,5 @@ ROM_END } // Anonymous namespace -GAME( 1986, spcship, 0, stargame, spcship, stargame_state, init_0, ROT0, "Stargame", "Space Ship (Pinball)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1987, whtforce, 0, stargame, whtforce, stargame_state, init_1, ROT0, "Stargame", "White Force", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME( 1986, spcship, 0, stargame, spcship, stargame_state, init_0, ROT0, "Stargame", "Space Ship (Pinball)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1987, whtforce, 0, stargame, whtforce, stargame_state, init_1, ROT0, "Stargame", "White Force", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/supstarf.cpp b/src/mame/pinball/supstarf.cpp index 0df406442d8c7..9692f39cd678d 100644 --- a/src/mame/pinball/supstarf.cpp +++ b/src/mame/pinball/supstarf.cpp @@ -281,5 +281,5 @@ ROM_END } // anonymous namespace -GAME( 1986, supstarf, 0, supstarf, supstarf, supstarf_state, empty_init, ROT0, "Recreativos Franco", "Super Star (Recreativos Franco, set 1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1986, supstarfa, supstarf, supstarf, supstarf, supstarf_state, empty_init, ROT0, "Recreativos Franco", "Super Star (Recreativos Franco, set 2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME( 1986, supstarf, 0, supstarf, supstarf, supstarf_state, empty_init, ROT0, "Recreativos Franco", "Super Star (Recreativos Franco, set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1986, supstarfa, supstarf, supstarf, supstarf, supstarf_state, empty_init, ROT0, "Recreativos Franco", "Super Star (Recreativos Franco, set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/taito.cpp b/src/mame/pinball/taito.cpp index 83c4219a09aa7..e39ba8cb3d2f3 100644 --- a/src/mame/pinball/taito.cpp +++ b/src/mame/pinball/taito.cpp @@ -1197,52 +1197,52 @@ ROM_END // no sound -GAME(198?, taitest, 0, taito, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Taito Test Fixture", MACHINE_IS_SKELETON_MECHANICAL ) +GAME(198?, taitest, 0, taito, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Taito Test Fixture", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // dac (sintetizador) -GAME(1979, shock, 0, shock, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Shock", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1980, obaoba, 0, taito, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Oba-Oba (set 1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1980, obaoba1, obaoba, taito, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Oba-Oba (set 2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1980, obaobao, obaoba, taito1, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Oba-Oba (old hardware)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1980, drakor, 0, taito, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Drakor", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1980, meteort, 0, taito, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Meteor (Taito)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1981, sureshop, 0, taito, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Sure Shot (Pinball)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1981, cosmic, 0, taito, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Cosmic", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1982, gemini2k, 0, taito, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Gemini 2000 (set 1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1982, gemini2k1, gemini2k, taito, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Gemini 2000 (set 2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1982, vortexp, 0, taito, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Vortex (Pinball)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1982, zarza, 0, taito, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Zarza (set 1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1982, zarza1, zarza, taito, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Zarza (set 2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1982, sharkt, 0, taito2, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Shark (Taito)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1982, stest, 0, taito, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Speed Test", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1982, lunelle, 0, taito2, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Lunelle", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1980, rally, 0, taito, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Rally", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1981, football, 0, shock, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Football", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1979, shock, 0, shock, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Shock", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1980, obaoba, 0, taito, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Oba-Oba (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1980, obaoba1, obaoba, taito, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Oba-Oba (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1980, obaobao, obaoba, taito1, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Oba-Oba (old hardware)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1980, drakor, 0, taito, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Drakor", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1980, meteort, 0, taito, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Meteor (Taito)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1981, sureshop, 0, taito, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Sure Shot (Pinball)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1981, cosmic, 0, taito, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Cosmic", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1982, gemini2k, 0, taito, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Gemini 2000 (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1982, gemini2k1, gemini2k, taito, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Gemini 2000 (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1982, vortexp, 0, taito, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Vortex (Pinball)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1982, zarza, 0, taito, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Zarza (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1982, zarza1, zarza, taito, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Zarza (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1982, sharkt, 0, taito2, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Shark (Taito)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1982, stest, 0, taito, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Speed Test", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1982, lunelle, 0, taito2, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Lunelle", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1980, rally, 0, taito, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Rally", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1981, football, 0, shock, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Football", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // dac and vox (sintevox) -GAME(1981, fireact, 0, taito4, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Fire Action", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1981, cavnegro, 0, taito4, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Cavaleiro Negro (set 1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1981, cavnegro1, cavnegro, taito4, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Cavaleiro Negro (set 2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1981, cavnegro2, cavnegro, taito4, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Cavaleiro Negro (set 3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1981, ladylukt, 0, taito4, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Lady Luck (Taito)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(198?, vegast, ladylukt, taito4, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Vegas (Taito)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1982, titan, 0, taito4, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Titan (set 1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1982, titan1, titan, taito4, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Titan (set 2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1982, hawkman, 0, taito4, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Hawkman (set 1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1982, hawkman1, hawkman, taito4, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Hawkman (set 2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1981, fireact, 0, taito4, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Fire Action", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1981, cavnegro, 0, taito4, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Cavaleiro Negro (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1981, cavnegro1, cavnegro, taito4, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Cavaleiro Negro (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1981, cavnegro2, cavnegro, taito4, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Cavaleiro Negro (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1981, ladylukt, 0, taito4, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Lady Luck (Taito)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(198?, vegast, ladylukt, taito4, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Vegas (Taito)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1982, titan, 0, taito4, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Titan (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1982, titan1, titan, taito4, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Titan (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1982, hawkman, 0, taito4, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Hawkman (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1982, hawkman1, hawkman, taito4, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Hawkman (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // dac and ay -GAME(1982, snake, 0, taito2, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Snake Machine", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(198?, voleybal, 0, taito2, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Volley", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1984, mrblack, 0, taito2, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Mr. Black (set 1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1985, mrblack1, mrblack, taito2, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Mr. Black (set 2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1985, sshuttle, 0, taito2, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Space Shuttle (Taito) (set 1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1985, sshuttle1, sshuttle, taito2, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Space Shuttle (Taito) (set 2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(198?, polar, 0, taito2, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Polar Explorer", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1982, snake, 0, taito2, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Snake Machine", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(198?, voleybal, 0, taito2, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Volley", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1984, mrblack, 0, taito2, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Mr. Black (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1985, mrblack1, mrblack, taito2, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Mr. Black (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1985, sshuttle, 0, taito2, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Space Shuttle (Taito) (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1985, sshuttle1, sshuttle, taito2, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Space Shuttle (Taito) (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(198?, polar, 0, taito2, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Polar Explorer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // dac, vox and ay -GAME(1982, gork, 0, taito6, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Gork", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(198?, fireactd, 0, taito6, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Fire Action Deluxe", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1982, gork, 0, taito6, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Gork", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(198?, fireactd, 0, taito6, taito, taito_8080, empty_init, ROT0, "Taito do Brasil", "Fire Action Deluxe", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // different hardware -GAME(198?, mrblkz80, mrblack, taitoz, taito, mrblkz80_state, empty_init, ROT0, "Taito do Brasil", "Mr. Black (Z-80 CPU)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(198?, mrblkz80, mrblack, taitoz, taito, mrblkz80_state, empty_init, ROT0, "Taito do Brasil", "Mr. Black (Z-80 CPU)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/techno.cpp b/src/mame/pinball/techno.cpp index ebc8fa1c07eb7..56c672e0e0eca 100644 --- a/src/mame/pinball/techno.cpp +++ b/src/mame/pinball/techno.cpp @@ -429,5 +429,5 @@ ROM_END } // Anonymous namespace -GAME(1987, xforce, 0, techno, techno, techno_state, empty_init, ROT0, "Tecnoplay", "X Force", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1988, spcteam, 0, techno, techno, techno_state, empty_init, ROT0, "Tecnoplay", "Space Team", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1987, xforce, 0, techno, techno, techno_state, empty_init, ROT0, "Tecnoplay", "X Force", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1988, spcteam, 0, techno, techno, techno_state, empty_init, ROT0, "Tecnoplay", "Space Team", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/vd.cpp b/src/mame/pinball/vd.cpp index 25b2eb66db4c3..c556f3a64569e 100644 --- a/src/mame/pinball/vd.cpp +++ b/src/mame/pinball/vd.cpp @@ -355,5 +355,5 @@ ROM_END } // Anonymous namespace -GAME(1986, break86, 0, vd, break86, vd_state, init_0, ROT0, "Video Dens", "Break '86", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1986, papillon, 0, vd, papillon, vd_state, init_1, ROT0, "Video Dens", "Papillon", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1986, break86, 0, vd, break86, vd_state, init_0, ROT0, "Video Dens", "Break '86", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1986, papillon, 0, vd, papillon, vd_state, init_1, ROT0, "Video Dens", "Papillon", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/whitestar.cpp b/src/mame/pinball/whitestar.cpp index 634039c088a41..cfe9ab729848a 100644 --- a/src/mame/pinball/whitestar.cpp +++ b/src/mame/pinball/whitestar.cpp @@ -9196,358 +9196,358 @@ ROM_END L = Latin (Spain) */ -GAME(1995, apollo13, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Apollo 13 (CPU 5.01, display A5.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, apollo13_d4, apollo13, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Apollo 13 (CPU 5.01, display A4.01)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, apollo13_20, apollo13, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Apollo 13 (CPU 2.03, display A2.01)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, apollo13_10, apollo13, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Apollo 13 (CPU 1.00, display A1.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2001, austin, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Austin Powers (CPU 3.02, display A3.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2001, austnew, austin, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Austin Powers (CPU 3.02, display A3.00, ARM7 sound board)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2001, aust301, austin, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Austin Powers (CPU 3.01, display A3.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2001, aust300, austin, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Austin Powers (CPU 3.00, display A3.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2001, aust201, austin, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Austin Powers (CPU 2.01, display A2.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2001, austinf, austin, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Austin Powers (CPU 3.02, display F3.00, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2001, austing, austin, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Austin Powers (CPU 3.02, display G3.00, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2001, austini, austin, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Austin Powers (CPU 3.02, display I3.00, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, elvisp, 0, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Elvis (CPU 5.00, display A5.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, elvisp4, elvisp, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Elvis (CPU 4.00, display A4.01)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, elvisp303, elvisp, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Elvis (CPU 3.03, display A3.02)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, elvisp302, elvisp, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Elvis (CPU 3.02, display A3.02)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, elvisp100, elvisp, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Elvis (CPU 1.00, display A1.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, elvisf, elvisp, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Elvis (CPU 5.00, display F5.00, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, elvisf4, elvisp, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Elvis (CPU 4.00, display F4.01, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, elvisf303, elvisp, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Elvis (CPU 3.03, display F3.02, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, elvisf302, elvisp, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Elvis (CPU 3.02, display F3.02, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, elvisg, elvisp, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Elvis (CPU 5.00, display G5.00, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, elvisg4, elvisp, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Elvis (CPU 4.00, display G4.01, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, elvisg303, elvisp, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Elvis (CPU 3.03, display G3.02, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, elvisg302, elvisp, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Elvis (CPU 3.02, display G3.02, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, elvisi, elvisp, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Elvis (CPU 5.00, display I5.00, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, elvisi4, elvisp, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Elvis (CPU 4.00, display I4.01, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, elvisi303, elvisp, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Elvis (CPU 3.03, display I3.02, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, elvisi302, elvisp, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Elvis (CPU 3.02, display I3.02, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, elvisl, elvisp, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Elvis (CPU 5.00, display L5.00, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, elvisl4, elvisp, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Elvis (CPU 4.00, display L4.01, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, elvisl303, elvisp, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Elvis (CPU 3.03, display L3.02, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, elvisl302, elvisp, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Elvis (CPU 3.02, display L3.02, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1998, godzillp, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Godzilla (pinball, CPU 2.05, display A2.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1998, godzillp_100, godzillp, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Godzilla (pinball, CPU 1.00, display A1.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1998, godzillp_090, godzillp, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Godzilla (pinball, CPU 0.90, display A0.991)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1996, gldneye, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Goldeneye (CPU 4.04, display A4.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1996, gldneye_402, gldneye, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Goldeneye (CPU 4.02, display A4.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1998, goldcue, 0, goldcue, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Golden Cue (CPU 0.04, display 0.10", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // No country code on display ROM, USA CPU is 0.04, but 0.01 for every other country/languaje -GAME(2005, gprix, 0, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 4.50, display A4.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, gprix_400, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 4.00, display A4.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, gprix_352, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 3.52, display A3.03)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, gprix_350, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 3.50, display A3.03)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, gprix_340, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 3.40, display A3.03)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, gprix_301, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 3.01, display A3.01)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, gprixf, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 4.50, display F4.00, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, gprixf_400, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 4.00, display F4.00, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, gprixf_352, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 3.52, display F3.03, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, gprixf_350, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 3.50, display F3.03, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, gprixf_340, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 3.40, display F3.03, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, gprixf_301, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 3.01, display F3.01, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, gprixg, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 4.50, display G4.00, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, gprixg_400, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 4.00, display G4.00, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, gprixg_352, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 3.52, display G3.03, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, gprixg_350, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 3.50, display G3.03, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, gprixg_340, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 3.40, display G3.03, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, gprixg_301, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 3.01, display G3.01, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, gprixi, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 4.50, display I4.00, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, gprixi_400, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 4.00, display I4.00, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, gprixi_352, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 3.52, display I3.03, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, gprixi_350, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 3.50, display I3.03, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, gprixi_340, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 3.40, display I3.03, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, gprixi_301, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 3.01, display I3.01, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, gprixl, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 4.50, display L4.00, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, gprixl_400, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 4.00, display L4.00, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, gprixl_352, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 3.52, display L3.03, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, gprixl_350, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 3.50, display L3.03, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, gprixl_340, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 3.40, display L3.03, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, gprixl_301, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 3.01, display L3.01, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1999, harl_a13, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Harley Davidson (Sega, CPU 1.03, display A1.04)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1999, harl_a10, harl_a13, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Harley Davidson (Sega, CPU 1.03, display A1.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1999, harl_u13, harl_a13, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Harley Davidson (Sega, CPU 1.03, display A1.04, UK)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1999, harl_f13, harl_a13, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Harley Davidson (Sega, CPU 1.03, display F1.04, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1999, harl_g13, harl_a13, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Harley Davidson (Sega, CPU 1.03, display G1.04, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1999, harl_i13, harl_a13, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Harley Davidson (Sega, CPU 1.03, display I1.04, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1999, harl_l13, harl_a13, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Harley Davidson (Sega, CPU 1.03, display L1.04, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, harl_a40, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Harley Davidson (Stern, CPU 4.00, display A4.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, harl_a30, harl_a40, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Harley Davidson (Stern, CPU 3.00, display A3.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, harl_a18, harl_a40, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Harley Davidson (Stern, CPU 1.08, display A1.05)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, harl_f40, harl_a40, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Harley Davidson (Stern, CPU 4.00, display F4.00, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, harl_f30, harl_a40, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Harley Davidson (Stern, CPU 3.00, display F3.00, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, harl_f18, harl_a40, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Harley Davidson (Stern, CPU 1.08, display F1.05, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, harl_g40, harl_a40, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Harley Davidson (Stern, CPU 4.00, display G4.00, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, harl_g30, harl_a40, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Harley Davidson (Stern, CPU 3.00, display G3.00, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, harl_g18, harl_a40, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Harley Davidson (Stern, CPU 1.08, display G1.05, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, harl_i40, harl_a40, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Harley Davidson (Stern, CPU 4.00, display I4.00, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, harl_i30, harl_a40, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Harley Davidson (Stern, CPU 3.00, display I3.00, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, harl_i18, harl_a40, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Harley Davidson (Stern, CPU 1.08, display I1.05, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, harl_l40, harl_a40, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Harley Davidson (Stern, CPU 4.00, display L4.00, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, harl_l30, harl_a40, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Harley Davidson (Stern, CPU 3.00, display L3.00, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, harl_l18, harl_a40, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Harley Davidson (Stern, CPU 1.08, display L1.05, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2001, hirolcas, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "High Roller Casino (CPU 3.00, display A3.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2001, hironew, hirolcas, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "High Roller Casino (CPU 3.00, display A3.00, ARM7 sound board)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2001, hirolcat, hirolcas, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "High Roller Casino (CPU 2.90, display A2.99)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2001, hirolcas_210, hirolcas, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "High Roller Casino (CPU 2.10, display A2.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2001, hirol_fr, hirolcas, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "High Roller Casino (CPU 3.00, display F3.00, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2001, hirol_gr, hirolcas, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "High Roller Casino (CPU 3.00, display G3.00, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2001, hirol_gr_210, hirolcas, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "High Roller Casino (CPU 2.10, display G2.01, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2001, hirol_it, hirolcas, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "High Roller Casino (CPU 3.00, display I3.00, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1996, id4, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Independence Day (CPU 2.02, display A2.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1996, id4_201, id4, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Independence Day (CPU 2.01, display A2.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1996, id4f, id4, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Independence Day (CPU 2.02, display F2.00, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1996, id4f_201, id4, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Independence Day (CPU 2.01, display F2.00, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1998, lostspc, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Lost in Space (CPU 1.01, display A1.02)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1998, lostspc_d1, lostspc, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Lost in Space (CPU 1.01, display A1.01)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1998, lostspcf, lostspc, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Lost in Space (CPU 1.01, display F1.02, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1998, lostspcg, lostspc, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Lost in Space (CPU 1.01, display G1.02, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2001, monopolp, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Monopoly (CPU 3.20, display A3.01)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, mononew, monopolp, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Monopoly (CPU 3.20, display A3.01, ARM7 sound board)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, monop303, monopolp, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Monopoly (CPU 3.03, display A3.01)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, monop301, monopolp, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Monopoly (CPU 3.01, display A3.01)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, monop251, monopolp, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Monopoly (CPU 2.51, display A2.06)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, monop233, monopolp, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Monopoly (CPU 2.33, display A2.03)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, monopolf, monopolp, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Monopoly (CPU 3.20, display F3.01, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, monopolg, monopolp, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Monopoly (CPU 3.20, display G3.01, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, monopoli, monopolp, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Monopoly (CPU 3.20, display I3.01, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, monopoll, monopolp, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Monopoly (CPU 3.20, display L3.01, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, nascar, 0, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Nascar (CPU 4.50, display A4.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, nascar_400, nascar, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Nascar (CPU 4.00, display A4.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, nascar_352, nascar, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Nascar (CPU 3.52, display A3.03)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, nascar_350, nascar, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Nascar (CPU 3.50, display A3.03)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, nascar_340, nascar, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Nascar (CPU 3.40, display A3.03)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, nascar_301, nascar, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Nascar (CPU 3.01, display A3.01)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, dalejr, nascar, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Dale Jr. (CPU 5.00, display J5.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, nascarl, nascar, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Nascar (CPU 4.50, display L4.00, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, nascarl_400, nascar, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Nascar (CPU 4.00, display L4.00, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, nascarl_352, nascar, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Nascar (CPU 3.52, display L3.03, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, nascarl_350, nascar, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Nascar (CPU 3.50, display L3.03, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, nascarl_340, nascar, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Nascar (CPU 3.40, display L3.03, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, nascarl_301, nascar, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Nascar (CPU 3.01, display L3.01, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2001, nfl, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "NFL (CPU 1.01, display A1.02)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, playboys, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 5.00, display A5.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, playnew, playboys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 5.00, display A5.00, ARM7 sound board)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, playboys_401, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 4.01, display A4.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, playboys_303, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 3.03, display A3.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, playboys_302, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 3.02, display A3.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, playboys_300, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 3.00, display A3.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, playboys_203, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 2.03, display A2.01)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, playboyf, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 5.00, display F5.00, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, playboyf_401, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 4.01, display F4.00, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, playboyf_303, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 3.03, display F3.00, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, playboyf_302, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 3.02, display F3.00, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, playboyf_300, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 3.00, display F3.00, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, playboyf_203, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 2.03, display F2.01, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, playboyg, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 5.00, display G5.00, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, playboyg_401, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 4.01, display G4.00, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, playboyg_303, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 3.03, display G3.00, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, playboyg_302, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 3.02, display G3.00, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, playboyg_300, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 3.00, display G3.00, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, playboyg_203, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 2.03, display G2.01, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, playboyi, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 5.00, display I5.00, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, playboyi_401, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 4.01, display I4.00, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, playboyi_303, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 3.03, display I3.00, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, playboyi_302, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 3.02, display I3.00, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, playboyi_300, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 3.00, display I3.00, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, playboyi_203, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 2.03, display I2.01, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, playboyl, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 5.00, display L5.00, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, playboyl_401, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 4.01, display L4.00, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, playboyl_303, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 3.03, display L3.00, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, playboyl_302, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 3.02, display L3.00, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, playboyl_300, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 3.00, display L3.00, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, playboyl_203, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 2.03, display L2.01, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, ripleys, 0, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.20, display A3.20)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, rip310, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.10, display A3.20)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, rip302, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.02, display A3.20)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, rip301, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.01, display A3.20)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, rip300, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.00, display A3.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, ripleysf, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.20, display F3.01, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, ripf310, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.10, display F3.01, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, ripf302, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.02, display F3.01, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, ripf301, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.01, display F3.01, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, ripf300, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.00, display F3.00, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, ripleysg, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.20, display G3.00, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, ripg310, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.10, display G3.00, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, ripg302, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.02, display G3.00, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, ripg301, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.01, display G3.00, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, ripg300, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.00, display G3.00, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, ripleysi, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.20, display I3.00, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, ripi310, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.10, display I3.00, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, ripi302, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.02, display I3.00, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, ripi301, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.01, display I3.00, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, ripi300, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.00, display I3.00, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, ripleysl, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.20, display L3.01, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, ripl310, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.10, display L3.01, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, ripl302, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.02, display L3.01, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, ripl301, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.01, display L3.01, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2004, ripl300, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.00, display L3.00, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, rctycn, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "RollerCoaster Tycoon (CPU 7.02, display A7.01)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, rctnew, rctycn, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "RollerCoaster Tycoon (CPU 7.02, display A7.01, ARM7 sound board)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, rctycn_701, rctycn, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "RollerCoaster Tycoon (CPU 7.01, display A7.01)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, rctycn_600, rctycn, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "RollerCoaster Tycoon (CPU 6.00, display A6.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, rctycn_400, rctycn, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "RollerCoaster Tycoon (CPU 4.00, display A4.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, rctycnf, rctycn, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "RollerCoaster Tycoon (CPU 7.02, display F7.01, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, rctycnf_701, rctycn, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "RollerCoaster Tycoon (CPU 7.01, display F7.00, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, rctycnf_600, rctycn, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "RollerCoaster Tycoon (CPU 6.00, display F6.00, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, rctycnf_400, rctycn, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "RollerCoaster Tycoon (CPU 4.00, display F4.00, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, rctycng, rctycn, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "RollerCoaster Tycoon (CPU 7.02, display G7.01, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, rctycng_701, rctycn, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "RollerCoaster Tycoon (CPU 7.01, display G7.00, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, rctycng_400, rctycn, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "RollerCoaster Tycoon (CPU 4.00, display G4.00, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, rctycni, rctycn, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "RollerCoaster Tycoon (CPU 7.02, display I7.01, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, rctycni_701, rctycn, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "RollerCoaster Tycoon (CPU 7.01, display I7.00, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, rctycni_600, rctycn, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "RollerCoaster Tycoon (CPU 6.00, display I6.00, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, rctycni_400, rctycn, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "RollerCoaster Tycoon (CPU 4.00, display I4.00, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, rctycnl, rctycn, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "RollerCoaster Tycoon (CPU 7.02, display L7.01, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, rctycnl_701, rctycn, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "RollerCoaster Tycoon (CPU 7.01, display L7.00, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, rctycnl_600, rctycn, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "RollerCoaster Tycoon (CPU 6.00, display L6.00, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, rctycnl_400, rctycn, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "RollerCoaster Tycoon (CPU 4.00, display L4.00, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2000, shrkysht, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Sharkey's Shootout (CPU 2.11, display A2.01)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2001, shrknew, shrkysht, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Sharkey's Shootout (CPU 2.11, display A2.01, ARM7 sound board)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2000, shrky_207, shrkysht, goldcue, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Sharkey's Shootout (CPU 2.07, display A2.01)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2001, shrkyfr, shrkysht, goldcue, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Sharkey's Shootout (CPU 2.11, display F2.01, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2001, shrkyfr_207, shrkysht, goldcue, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Sharkey's Shootout (CPU 2.07, display F2.01, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2001, shrkygr, shrkysht, goldcue, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Sharkey's Shootout (CPU 2.11, display G2.01, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2001, shrkygr_207, shrkysht, goldcue, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Sharkey's Shootout (CPU 2.07, display G2.01, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2001, shrkyit, shrkysht, goldcue, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Sharkey's Shootout (CPU 2.11, display I2.01, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2001, shrkyit_207, shrkysht, goldcue, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Sharkey's Shootout (CPU 2.07, display I2.01, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1999, sprk_103, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "South Park (CPU 1.03, display A1.01)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1999, sprk_096, sprk_103, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "South Park (CPU 0.96, display A1.01)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1999, sprk_090, sprk_103, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "South Park (CPU 0.90, display A0.90)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1997, spacejam, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Space Jam (CPU 3.00, display A3.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1997, spacejam_200, spacejam, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Space Jam (CPU 2.00, display A2.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1997, spacejmf, spacejam, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Space Jam (CPU 3.00, display F3.00, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1997, spacejmg, spacejam, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Space Jam (CPU 3.00, display G3.00, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1997, spacejmi, spacejam, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Space Jam (CPU 3.00, display I3.00, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1997, swtril43, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Star Wars Trilogy (CPU 4.03, display A4.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1997, swtril41, swtril43, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Star Wars Trilogy (CPU 4.01, display A4.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1997, swtril30, swtril43, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Star Wars Trilogy (CPU 3.00, display A3.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1997, startrp, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Starship Troopers (CPU 2.01, display A2.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1997, startrp2, startrp, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Starship Troopers (CPU 2.00, display A2.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2000, strikext, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Striker Xtreme (CPU 1.02, display A1.03)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1999, strknew, strikext, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Striker Xtreme (CPU 1.02, display A1.03, ARM7 sound board)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2000, strikext_100, strikext, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Striker Xtreme (CPU 1.00, display A1.03)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2000, strxt_uk, strikext, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Striker Xtreme (CPU 1.01, display A1.03, UK)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2000, strxt_fr, strikext, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Striker Xtreme (CPU 1.02, display F1.03, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2000, strxt_gr, strikext, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Striker Xtreme (CPU 1.03, display G1.03, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2000, strxt_it, strikext, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Striker Xtreme (CPU 1.02, display I1.03, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2000, strxt_it_101, strikext, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Striker Xtreme (CPU 1.01, display I1.03, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2000, strxt_sp, strikext, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Striker Xtreme (CPU 1.02, display L1.03, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, term3, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Terminator 3: Rise of the Machines (CPU 4.00, display A4.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, t3new, term3, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Terminator 3: Rise of the Machines (CPU 4.00, display A4.00, ARM7 sound board)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, term3_301, term3, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Terminator 3: Rise of the Machines (CPU 3.01, display A3.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, term3_205, term3, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Terminator 3: Rise of the Machines (CPU 2.05, display A2.01)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, term3f, term3, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Terminator 3: Rise of the Machines (CPU 4.00, display F4.00, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, term3f_301, term3, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Terminator 3: Rise of the Machines (CPU 3.01, display F3.00, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, term3f_205, term3, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Terminator 3: Rise of the Machines (CPU 2.05, display F2.01, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, term3g, term3, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Terminator 3: Rise of the Machines (CPU 4.00, display G4.00, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, term3g_301, term3, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Terminator 3: Rise of the Machines (CPU 3.01, display G3.00, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, term3i, term3, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Terminator 3: Rise of the Machines (CPU 4.00, display I4.00, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, term3i_301, term3, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Terminator 3: Rise of the Machines (CPU 3.01, display I3.00, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, term3i_205, term3, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Terminator 3: Rise of the Machines (CPU 2.05, display I2.01, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, term3l, term3, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Terminator 3: Rise of the Machines (CPU 4.00, display L4.00, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, term3l_301, term3, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Terminator 3: Rise of the Machines (CPU 3.01, display L3.00, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, term3l_205, term3, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Terminator 3: Rise of the Machines (CPU 2.05, display L2.01, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, lotr, 0, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 10.00, display A10.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, lotr_le, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 10.02, display A10.00, Limited Edition)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, lotr9, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 9.00, display A9.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, lotr8, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 8.00, display A8.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, lotr7, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 7.00, display A7.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, lotr6, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 6.00, display A6.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, lotr501, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 5.01, display A5.01)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, lotr5, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 5.00, display A5.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, lotr410, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 4.10, display A4.04)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, lotr401, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 4.01, display A4.03)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, lotr3, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 3.00, display A3.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, lotr_fr, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 10.00, display F10.00, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, lotr_fr9, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 9.00, display F9.00, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, lotr_fr8, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 8.00, display F8.00, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, lotr_fr7, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 7.00, display F7.00, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, lotr_fr6, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 6.00, display F6.00, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, lotr_fr501, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 5.01, display F5.01, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, lotr_fr5, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 5.00, display F5.00, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, lotr_fr410, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 4.10, display F4.04, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, lotr_fr401, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 4.01, display F4.03, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, lotr_gr, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 10.00, display G10.00, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, lotr_gr9, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 9.00, display G9.00, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, lotr_gr8, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 8.00, display G8.00, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, lotr_gr7, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 7.00, display G7.00, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, lotr_gr6, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 6.00, display G6.00, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, lotr_gr501, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 5.01, display G5.01, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, lotr_gr5, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 5.00, display G5.00, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, lotr_gr410, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 4.10, display G4.04, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, lotr_gr401, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 4.01, display G4.03, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, lotr_it, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 10.00, display I10.00, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, lotr_it9, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 9.00, display I9.00, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, lotr_it8, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 8.00, display I8.00, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, lotr_it7, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 7.00, display I7.00, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, lotr_it6, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 6.00, display I6.00, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, lotr_it501, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 5.01, display I5.01, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, lotr_it5, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 5.00, display I5.00, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, lotr_it410, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 4.10, display I4.04, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, lotr_it401, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 4.01, display I4.03, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, lotr_sp, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 10.00, display L10.00, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, lotr_sp9, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 9.00, display L9.00, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, lotr_sp8, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 8.00, display L8.00, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, lotr_sp7, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 7.00, display L7.00, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, lotr_sp6, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 6.00, display L6.00, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, lotr_sp501, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 5.01, display L5.01, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, lotr_sp5, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 5.00, display L5.00, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, lotr_sp401, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 4.01, display L4.03, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1997, jplstw22, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "The Lost World: Jurassic Park (pinball, CPU 2.02, display A2.01)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1997, jplstw20, jplstw22, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "The Lost World: Jurassic Park (pinball, CPU 2.00, display A2.01)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, simpprty, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Simpsons Pinball Party (CPU 5.00, display A5.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, simpnew, simpprty, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Simpsons Pinball Party (CPU 5.00, display A5.00, ARM7 sound board)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, simpprty_400, simpprty, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Simpsons Pinball Party (CPU 4.00, display A4.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, simpprty_300, simpprty, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Simpsons Pinball Party (CPU 3.00, display A3.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, simpprty_204, simpprty, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Simpsons Pinball Party (CPU 2.04, display A2.01)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, simpprtf, simpprty, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Simpsons Pinball Party (CPU 5.00, display F5.00, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, simpprtf_400, simpprty, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Simpsons Pinball Party (CPU 4.00, display F4.00, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, simpprtf_300, simpprty, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Simpsons Pinball Party (CPU 3.00, display F3.00, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, simpprtf_204, simpprty, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Simpsons Pinball Party (CPU 2.04, display F2.01, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, simpprtg, simpprty, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Simpsons Pinball Party (CPU 5.00, display G5.00, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, simpprtg_400, simpprty, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Simpsons Pinball Party (CPU 4.00, display G4.00, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, simpprti, simpprty, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Simpsons Pinball Party (CPU 5.00, display I5.00, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, simpprti_400, simpprty, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Simpsons Pinball Party (CPU 4.00, display I4.00, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, simpprti_300, simpprty, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Simpsons Pinball Party (CPU 3.00, display I3.00, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, simpprti_204, simpprty, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Simpsons Pinball Party (CPU 2.04, display I2.01, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, simpprtl, simpprty, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Simpsons Pinball Party (CPU 5.00, display L5.00, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, simpprtl_400, simpprty, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Simpsons Pinball Party (CPU 4.00, display L4.00, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, simpprtl_300, simpprty, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Simpsons Pinball Party (CPU 3.00, display L3.00, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2003, simpprtl_204, simpprty, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Simpsons Pinball Party (CPU 2.04, display L2.01, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, sopranos, 0, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Sopranos (CPU 5.00, display A5.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, sopranos_400, sopranos, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Sopranos (CPU 4.00, display A4.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, sopranos_300, sopranos, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Sopranos (CPU 3.00, display A3.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, sopranos_204, sopranos, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Sopranos (CPU 2.04, display A2.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, sopranof, sopranos, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Sopranos (CPU 5.00, display F5.00, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, sopranof_400, sopranos, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Sopranos (CPU 4.00, display F4.00, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, sopranof_300, sopranos, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Sopranos (CPU 3.00, display F3.00, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, sopranof_107, sopranos, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Sopranos (CPU 1.07, display F1.00, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, sopranog, sopranos, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Sopranos (CPU 5.00, display G5.00, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, sopranog_400, sopranos, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Sopranos (CPU 4.00, display G4.00, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, sopranog_300, sopranos, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Sopranos (CPU 3.00, display G3.00, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, sopranog_107, sopranos, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Sopranos (CPU 1.07, display G1.00, Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, sopranoi, sopranos, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Sopranos (CPU 5.00, display I5.00, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, sopranoi_400, sopranos, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Sopranos (CPU 4.00, display I4.00, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, sopranoi_300, sopranos, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Sopranos (CPU 3.00, display I3.00, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, sopranoi_107, sopranos, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Sopranos (CPU 1.07, display I1.00, Italy)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, sopranol, sopranos, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Sopranos (CPU 5.00, display L5.00, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, sopranol_400, sopranos, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Sopranos (CPU 4.00, display L4.00, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, sopranol_300, sopranos, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Sopranos (CPU 3.00, display L3.00, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, sopranol_107, sopranos, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Sopranos (CPU 1.07, display L1.00, Spain)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1997, xfilesp, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "X-Files (CPU 3.03, display A3.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1997, xfilespf, xfilesp, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "X-Files (CPU 3.03, display F3.00, France)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1997, xfiles2, xfilesp, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "X-Files (CPU 2.04, display A2.01)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1997, xfiles20, xfilesp, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "X-Files (CPU 2.00, display A2.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1996, twst_405, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Twister (CPU 4.05, display A4.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1996, twst_404, twst_405, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Twister (CPU 4.04, display A4.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1996, twst_300, twst_405, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Twister (CPU 3.00, display A3.01)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1998, viprsega, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Viper Night Drivin' (CPU 2.01, display A2.01)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1998, viprsega_102, viprsega, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Viper Night Drivin' (CPU 1.02, display A1.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1995, apollo13, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Apollo 13 (CPU 5.01, display A5.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, apollo13_d4, apollo13, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Apollo 13 (CPU 5.01, display A4.01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, apollo13_20, apollo13, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Apollo 13 (CPU 2.03, display A2.01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, apollo13_10, apollo13, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Apollo 13 (CPU 1.00, display A1.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2001, austin, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Austin Powers (CPU 3.02, display A3.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2001, austnew, austin, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Austin Powers (CPU 3.02, display A3.00, ARM7 sound board)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2001, aust301, austin, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Austin Powers (CPU 3.01, display A3.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2001, aust300, austin, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Austin Powers (CPU 3.00, display A3.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2001, aust201, austin, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Austin Powers (CPU 2.01, display A2.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2001, austinf, austin, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Austin Powers (CPU 3.02, display F3.00, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2001, austing, austin, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Austin Powers (CPU 3.02, display G3.00, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2001, austini, austin, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Austin Powers (CPU 3.02, display I3.00, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, elvisp, 0, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Elvis (CPU 5.00, display A5.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, elvisp4, elvisp, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Elvis (CPU 4.00, display A4.01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, elvisp303, elvisp, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Elvis (CPU 3.03, display A3.02)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, elvisp302, elvisp, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Elvis (CPU 3.02, display A3.02)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, elvisp100, elvisp, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Elvis (CPU 1.00, display A1.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, elvisf, elvisp, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Elvis (CPU 5.00, display F5.00, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, elvisf4, elvisp, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Elvis (CPU 4.00, display F4.01, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, elvisf303, elvisp, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Elvis (CPU 3.03, display F3.02, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, elvisf302, elvisp, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Elvis (CPU 3.02, display F3.02, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, elvisg, elvisp, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Elvis (CPU 5.00, display G5.00, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, elvisg4, elvisp, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Elvis (CPU 4.00, display G4.01, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, elvisg303, elvisp, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Elvis (CPU 3.03, display G3.02, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, elvisg302, elvisp, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Elvis (CPU 3.02, display G3.02, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, elvisi, elvisp, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Elvis (CPU 5.00, display I5.00, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, elvisi4, elvisp, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Elvis (CPU 4.00, display I4.01, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, elvisi303, elvisp, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Elvis (CPU 3.03, display I3.02, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, elvisi302, elvisp, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Elvis (CPU 3.02, display I3.02, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, elvisl, elvisp, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Elvis (CPU 5.00, display L5.00, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, elvisl4, elvisp, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Elvis (CPU 4.00, display L4.01, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, elvisl303, elvisp, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Elvis (CPU 3.03, display L3.02, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, elvisl302, elvisp, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Elvis (CPU 3.02, display L3.02, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1998, godzillp, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Godzilla (pinball, CPU 2.05, display A2.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1998, godzillp_100, godzillp, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Godzilla (pinball, CPU 1.00, display A1.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1998, godzillp_090, godzillp, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Godzilla (pinball, CPU 0.90, display A0.991)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1996, gldneye, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Goldeneye (CPU 4.04, display A4.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1996, gldneye_402, gldneye, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Goldeneye (CPU 4.02, display A4.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1998, goldcue, 0, goldcue, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Golden Cue (CPU 0.04, display 0.10", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // No country code on display ROM, USA CPU is 0.04, but 0.01 for every other country/languaje +GAME(2005, gprix, 0, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 4.50, display A4.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, gprix_400, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 4.00, display A4.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, gprix_352, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 3.52, display A3.03)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, gprix_350, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 3.50, display A3.03)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, gprix_340, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 3.40, display A3.03)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, gprix_301, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 3.01, display A3.01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, gprixf, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 4.50, display F4.00, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, gprixf_400, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 4.00, display F4.00, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, gprixf_352, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 3.52, display F3.03, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, gprixf_350, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 3.50, display F3.03, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, gprixf_340, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 3.40, display F3.03, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, gprixf_301, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 3.01, display F3.01, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, gprixg, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 4.50, display G4.00, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, gprixg_400, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 4.00, display G4.00, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, gprixg_352, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 3.52, display G3.03, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, gprixg_350, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 3.50, display G3.03, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, gprixg_340, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 3.40, display G3.03, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, gprixg_301, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 3.01, display G3.01, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, gprixi, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 4.50, display I4.00, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, gprixi_400, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 4.00, display I4.00, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, gprixi_352, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 3.52, display I3.03, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, gprixi_350, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 3.50, display I3.03, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, gprixi_340, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 3.40, display I3.03, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, gprixi_301, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 3.01, display I3.01, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, gprixl, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 4.50, display L4.00, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, gprixl_400, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 4.00, display L4.00, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, gprixl_352, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 3.52, display L3.03, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, gprixl_350, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 3.50, display L3.03, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, gprixl_340, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 3.40, display L3.03, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, gprixl_301, gprix, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Grand Prix (CPU 3.01, display L3.01, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1999, harl_a13, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Harley Davidson (Sega, CPU 1.03, display A1.04)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1999, harl_a10, harl_a13, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Harley Davidson (Sega, CPU 1.03, display A1.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1999, harl_u13, harl_a13, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Harley Davidson (Sega, CPU 1.03, display A1.04, UK)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1999, harl_f13, harl_a13, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Harley Davidson (Sega, CPU 1.03, display F1.04, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1999, harl_g13, harl_a13, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Harley Davidson (Sega, CPU 1.03, display G1.04, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1999, harl_i13, harl_a13, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Harley Davidson (Sega, CPU 1.03, display I1.04, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1999, harl_l13, harl_a13, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Harley Davidson (Sega, CPU 1.03, display L1.04, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, harl_a40, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Harley Davidson (Stern, CPU 4.00, display A4.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, harl_a30, harl_a40, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Harley Davidson (Stern, CPU 3.00, display A3.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, harl_a18, harl_a40, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Harley Davidson (Stern, CPU 1.08, display A1.05)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, harl_f40, harl_a40, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Harley Davidson (Stern, CPU 4.00, display F4.00, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, harl_f30, harl_a40, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Harley Davidson (Stern, CPU 3.00, display F3.00, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, harl_f18, harl_a40, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Harley Davidson (Stern, CPU 1.08, display F1.05, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, harl_g40, harl_a40, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Harley Davidson (Stern, CPU 4.00, display G4.00, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, harl_g30, harl_a40, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Harley Davidson (Stern, CPU 3.00, display G3.00, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, harl_g18, harl_a40, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Harley Davidson (Stern, CPU 1.08, display G1.05, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, harl_i40, harl_a40, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Harley Davidson (Stern, CPU 4.00, display I4.00, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, harl_i30, harl_a40, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Harley Davidson (Stern, CPU 3.00, display I3.00, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, harl_i18, harl_a40, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Harley Davidson (Stern, CPU 1.08, display I1.05, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, harl_l40, harl_a40, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Harley Davidson (Stern, CPU 4.00, display L4.00, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, harl_l30, harl_a40, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Harley Davidson (Stern, CPU 3.00, display L3.00, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, harl_l18, harl_a40, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Harley Davidson (Stern, CPU 1.08, display L1.05, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2001, hirolcas, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "High Roller Casino (CPU 3.00, display A3.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2001, hironew, hirolcas, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "High Roller Casino (CPU 3.00, display A3.00, ARM7 sound board)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2001, hirolcat, hirolcas, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "High Roller Casino (CPU 2.90, display A2.99)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2001, hirolcas_210, hirolcas, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "High Roller Casino (CPU 2.10, display A2.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2001, hirol_fr, hirolcas, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "High Roller Casino (CPU 3.00, display F3.00, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2001, hirol_gr, hirolcas, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "High Roller Casino (CPU 3.00, display G3.00, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2001, hirol_gr_210, hirolcas, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "High Roller Casino (CPU 2.10, display G2.01, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2001, hirol_it, hirolcas, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "High Roller Casino (CPU 3.00, display I3.00, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1996, id4, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Independence Day (CPU 2.02, display A2.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1996, id4_201, id4, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Independence Day (CPU 2.01, display A2.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1996, id4f, id4, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Independence Day (CPU 2.02, display F2.00, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1996, id4f_201, id4, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Independence Day (CPU 2.01, display F2.00, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1998, lostspc, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Lost in Space (CPU 1.01, display A1.02)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1998, lostspc_d1, lostspc, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Lost in Space (CPU 1.01, display A1.01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1998, lostspcf, lostspc, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Lost in Space (CPU 1.01, display F1.02, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1998, lostspcg, lostspc, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Lost in Space (CPU 1.01, display G1.02, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2001, monopolp, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Monopoly (CPU 3.20, display A3.01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, mononew, monopolp, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Monopoly (CPU 3.20, display A3.01, ARM7 sound board)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, monop303, monopolp, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Monopoly (CPU 3.03, display A3.01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, monop301, monopolp, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Monopoly (CPU 3.01, display A3.01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, monop251, monopolp, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Monopoly (CPU 2.51, display A2.06)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, monop233, monopolp, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Monopoly (CPU 2.33, display A2.03)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, monopolf, monopolp, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Monopoly (CPU 3.20, display F3.01, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, monopolg, monopolp, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Monopoly (CPU 3.20, display G3.01, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, monopoli, monopolp, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Monopoly (CPU 3.20, display I3.01, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, monopoll, monopolp, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Monopoly (CPU 3.20, display L3.01, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, nascar, 0, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Nascar (CPU 4.50, display A4.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, nascar_400, nascar, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Nascar (CPU 4.00, display A4.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, nascar_352, nascar, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Nascar (CPU 3.52, display A3.03)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, nascar_350, nascar, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Nascar (CPU 3.50, display A3.03)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, nascar_340, nascar, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Nascar (CPU 3.40, display A3.03)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, nascar_301, nascar, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Nascar (CPU 3.01, display A3.01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, dalejr, nascar, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Dale Jr. (CPU 5.00, display J5.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, nascarl, nascar, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Nascar (CPU 4.50, display L4.00, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, nascarl_400, nascar, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Nascar (CPU 4.00, display L4.00, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, nascarl_352, nascar, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Nascar (CPU 3.52, display L3.03, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, nascarl_350, nascar, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Nascar (CPU 3.50, display L3.03, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, nascarl_340, nascar, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Nascar (CPU 3.40, display L3.03, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, nascarl_301, nascar, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Nascar (CPU 3.01, display L3.01, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2001, nfl, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "NFL (CPU 1.01, display A1.02)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, playboys, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 5.00, display A5.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, playnew, playboys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 5.00, display A5.00, ARM7 sound board)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, playboys_401, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 4.01, display A4.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, playboys_303, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 3.03, display A3.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, playboys_302, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 3.02, display A3.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, playboys_300, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 3.00, display A3.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, playboys_203, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 2.03, display A2.01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, playboyf, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 5.00, display F5.00, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, playboyf_401, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 4.01, display F4.00, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, playboyf_303, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 3.03, display F3.00, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, playboyf_302, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 3.02, display F3.00, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, playboyf_300, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 3.00, display F3.00, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, playboyf_203, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 2.03, display F2.01, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, playboyg, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 5.00, display G5.00, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, playboyg_401, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 4.01, display G4.00, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, playboyg_303, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 3.03, display G3.00, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, playboyg_302, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 3.02, display G3.00, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, playboyg_300, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 3.00, display G3.00, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, playboyg_203, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 2.03, display G2.01, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, playboyi, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 5.00, display I5.00, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, playboyi_401, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 4.01, display I4.00, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, playboyi_303, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 3.03, display I3.00, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, playboyi_302, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 3.02, display I3.00, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, playboyi_300, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 3.00, display I3.00, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, playboyi_203, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 2.03, display I2.01, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, playboyl, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 5.00, display L5.00, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, playboyl_401, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 4.01, display L4.00, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, playboyl_303, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 3.03, display L3.00, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, playboyl_302, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 3.02, display L3.00, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, playboyl_300, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 3.00, display L3.00, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, playboyl_203, playboys, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Playboy (CPU 2.03, display L2.01, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, ripleys, 0, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.20, display A3.20)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, rip310, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.10, display A3.20)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, rip302, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.02, display A3.20)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, rip301, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.01, display A3.20)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, rip300, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.00, display A3.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, ripleysf, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.20, display F3.01, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, ripf310, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.10, display F3.01, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, ripf302, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.02, display F3.01, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, ripf301, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.01, display F3.01, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, ripf300, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.00, display F3.00, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, ripleysg, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.20, display G3.00, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, ripg310, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.10, display G3.00, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, ripg302, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.02, display G3.00, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, ripg301, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.01, display G3.00, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, ripg300, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.00, display G3.00, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, ripleysi, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.20, display I3.00, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, ripi310, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.10, display I3.00, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, ripi302, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.02, display I3.00, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, ripi301, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.01, display I3.00, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, ripi300, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.00, display I3.00, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, ripleysl, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.20, display L3.01, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, ripl310, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.10, display L3.01, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, ripl302, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.02, display L3.01, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, ripl301, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.01, display L3.01, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2004, ripl300, ripleys, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Ripley's Believe It or Not! (CPU 3.00, display L3.00, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, rctycn, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "RollerCoaster Tycoon (CPU 7.02, display A7.01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, rctnew, rctycn, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "RollerCoaster Tycoon (CPU 7.02, display A7.01, ARM7 sound board)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, rctycn_701, rctycn, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "RollerCoaster Tycoon (CPU 7.01, display A7.01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, rctycn_600, rctycn, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "RollerCoaster Tycoon (CPU 6.00, display A6.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, rctycn_400, rctycn, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "RollerCoaster Tycoon (CPU 4.00, display A4.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, rctycnf, rctycn, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "RollerCoaster Tycoon (CPU 7.02, display F7.01, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, rctycnf_701, rctycn, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "RollerCoaster Tycoon (CPU 7.01, display F7.00, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, rctycnf_600, rctycn, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "RollerCoaster Tycoon (CPU 6.00, display F6.00, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, rctycnf_400, rctycn, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "RollerCoaster Tycoon (CPU 4.00, display F4.00, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, rctycng, rctycn, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "RollerCoaster Tycoon (CPU 7.02, display G7.01, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, rctycng_701, rctycn, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "RollerCoaster Tycoon (CPU 7.01, display G7.00, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, rctycng_400, rctycn, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "RollerCoaster Tycoon (CPU 4.00, display G4.00, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, rctycni, rctycn, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "RollerCoaster Tycoon (CPU 7.02, display I7.01, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, rctycni_701, rctycn, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "RollerCoaster Tycoon (CPU 7.01, display I7.00, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, rctycni_600, rctycn, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "RollerCoaster Tycoon (CPU 6.00, display I6.00, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, rctycni_400, rctycn, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "RollerCoaster Tycoon (CPU 4.00, display I4.00, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, rctycnl, rctycn, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "RollerCoaster Tycoon (CPU 7.02, display L7.01, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, rctycnl_701, rctycn, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "RollerCoaster Tycoon (CPU 7.01, display L7.00, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, rctycnl_600, rctycn, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "RollerCoaster Tycoon (CPU 6.00, display L6.00, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, rctycnl_400, rctycn, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "RollerCoaster Tycoon (CPU 4.00, display L4.00, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2000, shrkysht, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Sharkey's Shootout (CPU 2.11, display A2.01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2001, shrknew, shrkysht, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Sharkey's Shootout (CPU 2.11, display A2.01, ARM7 sound board)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2000, shrky_207, shrkysht, goldcue, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Sharkey's Shootout (CPU 2.07, display A2.01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2001, shrkyfr, shrkysht, goldcue, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Sharkey's Shootout (CPU 2.11, display F2.01, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2001, shrkyfr_207, shrkysht, goldcue, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Sharkey's Shootout (CPU 2.07, display F2.01, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2001, shrkygr, shrkysht, goldcue, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Sharkey's Shootout (CPU 2.11, display G2.01, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2001, shrkygr_207, shrkysht, goldcue, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Sharkey's Shootout (CPU 2.07, display G2.01, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2001, shrkyit, shrkysht, goldcue, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Sharkey's Shootout (CPU 2.11, display I2.01, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2001, shrkyit_207, shrkysht, goldcue, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Sharkey's Shootout (CPU 2.07, display I2.01, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1999, sprk_103, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "South Park (CPU 1.03, display A1.01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1999, sprk_096, sprk_103, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "South Park (CPU 0.96, display A1.01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1999, sprk_090, sprk_103, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "South Park (CPU 0.90, display A0.90)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1997, spacejam, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Space Jam (CPU 3.00, display A3.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1997, spacejam_200, spacejam, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Space Jam (CPU 2.00, display A2.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1997, spacejmf, spacejam, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Space Jam (CPU 3.00, display F3.00, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1997, spacejmg, spacejam, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Space Jam (CPU 3.00, display G3.00, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1997, spacejmi, spacejam, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Space Jam (CPU 3.00, display I3.00, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1997, swtril43, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Star Wars Trilogy (CPU 4.03, display A4.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1997, swtril41, swtril43, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Star Wars Trilogy (CPU 4.01, display A4.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1997, swtril30, swtril43, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Star Wars Trilogy (CPU 3.00, display A3.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1997, startrp, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Starship Troopers (CPU 2.01, display A2.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1997, startrp2, startrp, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Starship Troopers (CPU 2.00, display A2.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2000, strikext, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Striker Xtreme (CPU 1.02, display A1.03)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1999, strknew, strikext, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Striker Xtreme (CPU 1.02, display A1.03, ARM7 sound board)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2000, strikext_100, strikext, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Striker Xtreme (CPU 1.00, display A1.03)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2000, strxt_uk, strikext, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Striker Xtreme (CPU 1.01, display A1.03, UK)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2000, strxt_fr, strikext, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Striker Xtreme (CPU 1.02, display F1.03, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2000, strxt_gr, strikext, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Striker Xtreme (CPU 1.03, display G1.03, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2000, strxt_it, strikext, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Striker Xtreme (CPU 1.02, display I1.03, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2000, strxt_it_101, strikext, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Striker Xtreme (CPU 1.01, display I1.03, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2000, strxt_sp, strikext, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Striker Xtreme (CPU 1.02, display L1.03, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, term3, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Terminator 3: Rise of the Machines (CPU 4.00, display A4.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, t3new, term3, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Terminator 3: Rise of the Machines (CPU 4.00, display A4.00, ARM7 sound board)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, term3_301, term3, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Terminator 3: Rise of the Machines (CPU 3.01, display A3.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, term3_205, term3, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Terminator 3: Rise of the Machines (CPU 2.05, display A2.01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, term3f, term3, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Terminator 3: Rise of the Machines (CPU 4.00, display F4.00, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, term3f_301, term3, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Terminator 3: Rise of the Machines (CPU 3.01, display F3.00, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, term3f_205, term3, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Terminator 3: Rise of the Machines (CPU 2.05, display F2.01, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, term3g, term3, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Terminator 3: Rise of the Machines (CPU 4.00, display G4.00, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, term3g_301, term3, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Terminator 3: Rise of the Machines (CPU 3.01, display G3.00, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, term3i, term3, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Terminator 3: Rise of the Machines (CPU 4.00, display I4.00, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, term3i_301, term3, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Terminator 3: Rise of the Machines (CPU 3.01, display I3.00, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, term3i_205, term3, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Terminator 3: Rise of the Machines (CPU 2.05, display I2.01, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, term3l, term3, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Terminator 3: Rise of the Machines (CPU 4.00, display L4.00, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, term3l_301, term3, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Terminator 3: Rise of the Machines (CPU 3.01, display L3.00, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, term3l_205, term3, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Terminator 3: Rise of the Machines (CPU 2.05, display L2.01, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, lotr, 0, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 10.00, display A10.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, lotr_le, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 10.02, display A10.00, Limited Edition)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, lotr9, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 9.00, display A9.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, lotr8, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 8.00, display A8.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, lotr7, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 7.00, display A7.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, lotr6, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 6.00, display A6.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, lotr501, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 5.01, display A5.01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, lotr5, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 5.00, display A5.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, lotr410, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 4.10, display A4.04)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, lotr401, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 4.01, display A4.03)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, lotr3, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 3.00, display A3.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, lotr_fr, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 10.00, display F10.00, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, lotr_fr9, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 9.00, display F9.00, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, lotr_fr8, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 8.00, display F8.00, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, lotr_fr7, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 7.00, display F7.00, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, lotr_fr6, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 6.00, display F6.00, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, lotr_fr501, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 5.01, display F5.01, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, lotr_fr5, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 5.00, display F5.00, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, lotr_fr410, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 4.10, display F4.04, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, lotr_fr401, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 4.01, display F4.03, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, lotr_gr, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 10.00, display G10.00, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, lotr_gr9, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 9.00, display G9.00, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, lotr_gr8, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 8.00, display G8.00, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, lotr_gr7, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 7.00, display G7.00, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, lotr_gr6, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 6.00, display G6.00, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, lotr_gr501, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 5.01, display G5.01, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, lotr_gr5, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 5.00, display G5.00, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, lotr_gr410, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 4.10, display G4.04, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, lotr_gr401, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 4.01, display G4.03, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, lotr_it, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 10.00, display I10.00, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, lotr_it9, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 9.00, display I9.00, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, lotr_it8, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 8.00, display I8.00, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, lotr_it7, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 7.00, display I7.00, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, lotr_it6, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 6.00, display I6.00, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, lotr_it501, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 5.01, display I5.01, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, lotr_it5, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 5.00, display I5.00, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, lotr_it410, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 4.10, display I4.04, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, lotr_it401, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 4.01, display I4.03, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, lotr_sp, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 10.00, display L10.00, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, lotr_sp9, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 9.00, display L9.00, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, lotr_sp8, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 8.00, display L8.00, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, lotr_sp7, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 7.00, display L7.00, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, lotr_sp6, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 6.00, display L6.00, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, lotr_sp501, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 5.01, display L5.01, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, lotr_sp5, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 5.00, display L5.00, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, lotr_sp401, lotr, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Lord Of The Rings (CPU 4.01, display L4.03, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1997, jplstw22, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "The Lost World: Jurassic Park (pinball, CPU 2.02, display A2.01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1997, jplstw20, jplstw22, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "The Lost World: Jurassic Park (pinball, CPU 2.00, display A2.01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, simpprty, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Simpsons Pinball Party (CPU 5.00, display A5.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, simpnew, simpprty, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Simpsons Pinball Party (CPU 5.00, display A5.00, ARM7 sound board)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, simpprty_400, simpprty, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Simpsons Pinball Party (CPU 4.00, display A4.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, simpprty_300, simpprty, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Simpsons Pinball Party (CPU 3.00, display A3.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, simpprty_204, simpprty, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Simpsons Pinball Party (CPU 2.04, display A2.01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, simpprtf, simpprty, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Simpsons Pinball Party (CPU 5.00, display F5.00, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, simpprtf_400, simpprty, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Simpsons Pinball Party (CPU 4.00, display F4.00, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, simpprtf_300, simpprty, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Simpsons Pinball Party (CPU 3.00, display F3.00, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, simpprtf_204, simpprty, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Simpsons Pinball Party (CPU 2.04, display F2.01, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, simpprtg, simpprty, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Simpsons Pinball Party (CPU 5.00, display G5.00, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, simpprtg_400, simpprty, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Simpsons Pinball Party (CPU 4.00, display G4.00, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, simpprti, simpprty, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Simpsons Pinball Party (CPU 5.00, display I5.00, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, simpprti_400, simpprty, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Simpsons Pinball Party (CPU 4.00, display I4.00, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, simpprti_300, simpprty, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Simpsons Pinball Party (CPU 3.00, display I3.00, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, simpprti_204, simpprty, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Simpsons Pinball Party (CPU 2.04, display I2.01, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, simpprtl, simpprty, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Simpsons Pinball Party (CPU 5.00, display L5.00, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, simpprtl_400, simpprty, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Simpsons Pinball Party (CPU 4.00, display L4.00, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, simpprtl_300, simpprty, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Simpsons Pinball Party (CPU 3.00, display L3.00, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2003, simpprtl_204, simpprty, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Simpsons Pinball Party (CPU 2.04, display L2.01, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, sopranos, 0, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Sopranos (CPU 5.00, display A5.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, sopranos_400, sopranos, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Sopranos (CPU 4.00, display A4.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, sopranos_300, sopranos, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Sopranos (CPU 3.00, display A3.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, sopranos_204, sopranos, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Sopranos (CPU 2.04, display A2.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, sopranof, sopranos, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Sopranos (CPU 5.00, display F5.00, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, sopranof_400, sopranos, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Sopranos (CPU 4.00, display F4.00, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, sopranof_300, sopranos, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Sopranos (CPU 3.00, display F3.00, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, sopranof_107, sopranos, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Sopranos (CPU 1.07, display F1.00, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, sopranog, sopranos, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Sopranos (CPU 5.00, display G5.00, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, sopranog_400, sopranos, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Sopranos (CPU 4.00, display G4.00, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, sopranog_300, sopranos, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Sopranos (CPU 3.00, display G3.00, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, sopranog_107, sopranos, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Sopranos (CPU 1.07, display G1.00, Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, sopranoi, sopranos, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Sopranos (CPU 5.00, display I5.00, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, sopranoi_400, sopranos, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Sopranos (CPU 4.00, display I4.00, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, sopranoi_300, sopranos, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Sopranos (CPU 3.00, display I3.00, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, sopranoi_107, sopranos, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Sopranos (CPU 1.07, display I1.00, Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, sopranol, sopranos, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Sopranos (CPU 5.00, display L5.00, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, sopranol_400, sopranos, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Sopranos (CPU 4.00, display L4.00, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, sopranol_300, sopranos, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Sopranos (CPU 3.00, display L3.00, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, sopranol_107, sopranos, whitestarm, whitestar, whitestar_state, empty_init, ROT0, "Stern", "The Sopranos (CPU 1.07, display L1.00, Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1997, xfilesp, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "X-Files (CPU 3.03, display A3.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1997, xfilespf, xfilesp, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "X-Files (CPU 3.03, display F3.00, France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1997, xfiles2, xfilesp, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "X-Files (CPU 2.04, display A2.01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1997, xfiles20, xfilesp, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "X-Files (CPU 2.00, display A2.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1996, twst_405, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Twister (CPU 4.05, display A4.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1996, twst_404, twst_405, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Twister (CPU 4.04, display A4.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1996, twst_300, twst_405, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Twister (CPU 3.00, display A3.01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1998, viprsega, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Viper Night Drivin' (CPU 2.01, display A2.01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1998, viprsega_102, viprsega, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Viper Night Drivin' (CPU 1.02, display A1.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // Not pinball -GAME(1998, ctchzdlx, ctcheese, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Cut The Cheese Deluxe (redemption, CPU 1.00, display A1.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2002, monopred, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Monopoly (coin dropper, CPU 4.01, display 4.00)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) // No country code on display ROM -GAME(1998, titanic, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Titanic (coin dropper, CPU 1.01, display A1.01)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1998, wackadoo, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Wack-A-Doodle-Doo (redemption, CPU 1.00, display A1.01)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1998, ctchzdlx, ctcheese, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Cut The Cheese Deluxe (redemption, CPU 1.00, display A1.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2002, monopred, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Stern", "Monopoly (coin dropper, CPU 4.01, display 4.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // No country code on display ROM +GAME(1998, titanic, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Titanic (coin dropper, CPU 1.01, display A1.01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1998, wackadoo, 0, whitestar, whitestar, whitestar_state, empty_init, ROT0, "Sega", "Wack-A-Doodle-Doo (redemption, CPU 1.00, display A1.01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/wms_shuffle.cpp b/src/mame/pinball/wms_shuffle.cpp index 1b2eff81c05ed..28f95b4778830 100644 --- a/src/mame/pinball/wms_shuffle.cpp +++ b/src/mame/pinball/wms_shuffle.cpp @@ -787,13 +787,13 @@ GAME( 1978, arist_l1, 0, s4, s4, shuffle_state, empty_init, ROT0, "Willi GAME( 1979, taurs_l1, 0, s4, s4, shuffle_state, empty_init, ROT0, "Williams", "Taurus (Shuffle) (L-1)", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE ) GAME( 1979, kingt_l1, 0, s4, s4, shuffle_state, empty_init, ROT0, "Williams/United", "King Tut (Shuffle) (L-1)", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE ) GAME( 1980, omni_l1, 0, s4, s4, shuffle_state, empty_init, ROT0, "Williams/United", "Omni (Shuffle) (L-1)", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1983, bstrk_l1, 0, s4, s4, shuffle_state, empty_init, ROT0, "Williams/United", "Big Strike (Shuffle) (L-1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1983, tstrk_l1, 0, s4, s4, shuffle_state, empty_init, ROT0, "Williams/United", "Triple Strike (Shuffle) (L-1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME( 1983, bstrk_l1, 0, s4, s4, shuffle_state, empty_init, ROT0, "Williams/United", "Big Strike (Shuffle) (L-1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1983, tstrk_l1, 0, s4, s4, shuffle_state, empty_init, ROT0, "Williams/United", "Triple Strike (Shuffle) (L-1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) GAME( 1984, szone_l5, 0, s9, s9, shuffle_state, empty_init, ROT0, "Williams/United", "Strike Zone (Shuffle) (L-5)", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE ) GAME( 1984, szone_l2, szone_l5, s9, s9, shuffle_state, empty_init, ROT0, "Williams/United", "Strike Zone (Shuffle) (L-2)", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE ) GAME( 1985, alcat_l7, 0, s11, s9, shuffle_state, empty_init, ROT0, "Williams", "Alley Cats (Shuffle) (L-7)", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1986, tts_l2, 0, s11, s9, shuffle_state, empty_init, ROT0, "Williams", "Tic-Tac-Strike (Shuffle) (L-2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME( 1986, tts_l1, tts_l2, s11, s9, shuffle_state, empty_init, ROT0, "Williams", "Tic-Tac-Strike (Shuffle) (L-1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME( 1986, tts_l2, 0, s11, s9, shuffle_state, empty_init, ROT0, "Williams", "Tic-Tac-Strike (Shuffle) (L-2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME( 1986, tts_l1, tts_l2, s11, s9, shuffle_state, empty_init, ROT0, "Williams", "Tic-Tac-Strike (Shuffle) (L-1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) GAME( 1987, gmine_l2, 0, s11, s9, shuffle_state, empty_init, ROT0, "Williams", "Gold Mine (Shuffle) (L-2)", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE ) GAME( 1987, tdawg_l1, 0, s11, s9, shuffle_state, empty_init, ROT0, "Williams", "Top Dawg (Shuffle) (L-1)", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE ) GAME( 1987, shfin_l1, 0, s11, s9, shuffle_state, empty_init, ROT0, "Williams", "Shuffle Inn (Shuffle) (L-1)", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/wpc_95.cpp b/src/mame/pinball/wpc_95.cpp index e74c72016550a..f8d37b6ee4a68 100644 --- a/src/mame/pinball/wpc_95.cpp +++ b/src/mame/pinball/wpc_95.cpp @@ -3142,70 +3142,70 @@ ROM_END } // Anonymous namespace -GAME(1996, tf95_12, 0, wpc_95, afm, wpc_95_state, init_tf95, ROT0, "Bally", "WPC 95 Test Fixture (1.2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1995, afm_113, 0, wpc_95, afm, wpc_95_state, init_afm, ROT0, "Bally", "Attack From Mars (1.13, Free play)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1995, afm_113b, afm_113, wpc_95, afm, wpc_95_state, init_afm, ROT0, "Bally", "Attack From Mars (1.13b)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1995, afm_11, afm_113, wpc_95, afm, wpc_95_state, init_afm, ROT0, "Bally", "Attack From Mars (1.1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1995, afm_11u, afm_113, wpc_95, afm, wpc_95_state, init_afm, ROT0, "Bally", "Attack From Mars (1.1 Ultrapin)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1995, afm_10, afm_113, wpc_95, afm, wpc_95_state, init_afm, ROT0, "Bally", "Attack From Mars (1.0)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1998, cc_13, 0, wpc_95, cc, wpc_95_state, init_cc, ROT0, "Bally", "Cactus Canyon (1.3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1998, cc_12, cc_13, wpc_95, cc, wpc_95_state, init_cc, ROT0, "Bally", "Cactus Canyon (1.2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1998, cc_10, cc_13, wpc_95, cc, wpc_95_state, init_cc, ROT0, "Bally", "Cactus Canyon (1.0)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1998, cc_104, cc_13, wpc_95, cc, wpc_95_state, init_cc, ROT0, "Bally", "Cactus Canyon (1.04 Test 0.2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1997, cv_14, 0, wpc_95, cv, wpc_95_state, init_cv, ROT0, "Bally", "Cirqus Voltaire (1.4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1997, cv_20h, cv_14, wpc_95, cv, wpc_95_state, init_cv, ROT0, "Bally", "Cirqus Voltaire (2.0H)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1997, cv_10, cv_14, wpc_95, cv, wpc_95_state, init_cv, ROT0, "Bally", "Cirqus Voltaire (1.0)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1997, cv_11, cv_14, wpc_95, cv, wpc_95_state, init_cv, ROT0, "Bally", "Cirqus Voltaire (1.1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1997, cv_13, cv_14, wpc_95, cv, wpc_95_state, init_cv, ROT0, "Bally", "Cirqus Voltaire (1.3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1997, cv_d52, cv_14, wpc_95, cv, wpc_95_state, init_cv, ROT0, "Bally", "Cirqus Voltaire (D.52 prototype)", MACHINE_IS_SKELETON_MECHANICAL ) // needs different audio ROMs -GAME(1995, congo_21, 0, wpc_95, congo, wpc_95_state, init_congo, ROT0, "Williams", "Congo (2.1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1995, congo_20, congo_21, wpc_95, congo, wpc_95_state, init_congo, ROT0, "Williams", "Congo (2.0)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1995, congo_13, congo_21, wpc_95, congo, wpc_95_state, init_congo, ROT0, "Williams", "Congo (1.3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1995, congo_11, congo_21, wpc_95, congo, wpc_95_state, init_congo, ROT0, "Williams", "Congo (1.1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1995, congo_11s10,congo_21, wpc_95, congo, wpc_95_state, init_congo, ROT0, "Williams", "Congo (1.1, DCS sound 1.0)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1996, jy_12, 0, wpc_95, jy, wpc_95_state, init_jy, ROT0, "Williams", "Junk Yard (1.2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1996, jy_11, jy_12, wpc_95, jy, wpc_95_state, init_jy, ROT0, "Williams", "Junk Yard (1.1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1996, jy_03, jy_12, wpc_95, jy, wpc_95_state, init_jy, ROT0, "Williams", "Junk Yard (0.3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1999, mm_10, 0, wpc_95, mm, wpc_95_state, init_mm, ROT0, "Williams", "Medieval Madness (1.0)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1999, mm_10u, mm_10, wpc_95, mm, wpc_95_state, init_mm, ROT0, "Williams", "Medieval Madness (1.0 Ultrapin)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1999, mm_109, mm_10, wpc_95, mm, wpc_95_state, init_mm, ROT0, "Williams", "Medieval Madness (1.09)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1999, mm_109b, mm_10, wpc_95, mm, wpc_95_state, init_mm, ROT0, "Williams", "Medieval Madness (1.09B)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1999, mm_109c, mm_10, wpc_95, mm, wpc_95_state, init_mm, ROT0, "Williams", "Medieval Madness (1.09C Profanity)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1997, mm_05, mm_10, wpc_95, mm, wpc_95_state, init_mm, ROT0, "Williams", "Medieval Madness (0.50)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1998, mb_10, 0, wpc_95, mb, wpc_95_state, init_mb, ROT0, "Williams", "Monster Bash (1.0)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1998, mb_106, mb_10, wpc_95, mb, wpc_95_state, init_mb, ROT0, "Williams", "Monster Bash (1.06)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1998, mb_106b, mb_10, wpc_95, mb, wpc_95_state, init_mb, ROT0, "Williams", "Monster Bash (1.06b)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1997, nbaf_31, 0, wpc_95, nbaf, wpc_95_state, init_nbaf, ROT0, "Bally", "NBA Fastbreak (3.1 - S3.0)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1997, nbaf_31a, nbaf_31, wpc_95, nbaf, wpc_95_state, init_nbaf, ROT0, "Bally", "NBA Fastbreak (3.1 - S1.0)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1997, nbaf_11s, nbaf_31, wpc_95, nbaf, wpc_95_state, init_nbaf, ROT0, "Bally", "NBA Fastbreak (1.1 - S0.4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1997, nbaf_11, nbaf_31, wpc_95, nbaf, wpc_95_state, init_nbaf, ROT0, "Bally", "NBA Fastbreak (1.1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1997, nbaf_11a, nbaf_31, wpc_95, nbaf, wpc_95_state, init_nbaf, ROT0, "Bally", "NBA Fastbreak (1.1 - S2.0)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1997, nbaf_115, nbaf_31, wpc_95, nbaf, wpc_95_state, init_nbaf, ROT0, "Bally", "NBA Fastbreak (1.15)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1997, nbaf_21, nbaf_31, wpc_95, nbaf, wpc_95_state, init_nbaf, ROT0, "Bally", "NBA Fastbreak (2.1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1997, nbaf_22, nbaf_31, wpc_95, nbaf, wpc_95_state, init_nbaf, ROT0, "Bally", "NBA Fastbreak (2.2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1997, nbaf_23, nbaf_31, wpc_95, nbaf, wpc_95_state, init_nbaf, ROT0, "Bally", "NBA Fastbreak (2.3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1997, ngg_13, 0, wpc_95, ngg, wpc_95_state, init_ngg, ROT0, "Williams", "No Good Gofers (1.3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1997, ngg_p06, ngg_13, wpc_95, ngg, wpc_95_state, init_ngg, ROT0, "Williams", "No Good Gofers (p0.6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1997, ngg_10, ngg_13, wpc_95, ngg, wpc_95_state, init_ngg, ROT0, "Williams", "No Good Gofers (1.0)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1996, ph_04, 0, wpc_95, ngg, wpc_95_state, init_ph, ROT0, "Williams", "Phantom Haus (0.4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1998, sc_18, 0, wpc_95, sc, wpc_95_state, init_sc, ROT0, "Bally", "Safe Cracker (1.8)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1998, sc_18n, sc_18, wpc_95, sc, wpc_95_state, init_sc, ROT0, "Bally", "Safe Cracker (1.8N)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1998, sc_18s2, sc_18, wpc_95, sc, wpc_95_state, init_sc, ROT0, "Bally", "Safe Cracker (1.8 German sound)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1996, sc_17, sc_18, wpc_95, sc, wpc_95_state, init_sc, ROT0, "Bally", "Safe Cracker (1.7)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1996, sc_17n, sc_18, wpc_95, sc, wpc_95_state, init_sc, ROT0, "Bally", "Safe Cracker (1.7N)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1996, sc_14, sc_18, wpc_95, sc, wpc_95_state, init_sc, ROT0, "Bally", "Safe Cracker (1.4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1996, sc_10, sc_18, wpc_95, sc, wpc_95_state, init_sc, ROT0, "Bally", "Safe Cracker (1.0)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1996, sc_091, sc_18, wpc_95, sc, wpc_95_state, init_sc, ROT0, "Bally", "Safe Cracker (0.91)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1996, ss_15, 0, wpc_95, ss, wpc_95_state, init_ss, ROT0, "Bally", "Scared Stiff (1.5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1996, ss_14, ss_15, wpc_95, ss, wpc_95_state, init_ss, ROT0, "Bally", "Scared Stiff (1.4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1996, ss_12, ss_15, wpc_95, ss, wpc_95_state, init_ss, ROT0, "Bally", "Scared Stiff (1.2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1996, ss_11, ss_15, wpc_95, ss, wpc_95_state, init_ss, ROT0, "Bally", "Scared Stiff (1.1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1996, ss_03, ss_15, wpc_95, ss, wpc_95_state, init_ss, ROT0, "Bally", "Scared Stiff (0.3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1996, ss_01, ss_15, wpc_95, ss, wpc_95_state, init_ss, ROT0, "Bally", "Scared Stiff (D0.1R with sound rev.25)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1996, totan_14, 0, wpc_95, totan, wpc_95_state, init_totan, ROT0, "Williams", "Tales Of The Arabian Nights (1.4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1996, totan_13, totan_14, wpc_95, totan, wpc_95_state, init_totan, ROT0, "Williams", "Tales Of The Arabian Nights (1.3)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1996, totan_12, totan_14, wpc_95, totan, wpc_95_state, init_totan, ROT0, "Williams", "Tales Of The Arabian Nights (1.2)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1996, totan_04, totan_14, wpc_95, totan, wpc_95_state, init_totan, ROT0, "Williams", "Tales Of The Arabian Nights (0.4)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1998, cp_16, 0, wpc_95, cp, wpc_95_state, init_cp, ROT0, "Bally", "The Champion Pub (1.6)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1998, cp_15, cp_16, wpc_95, cp, wpc_95_state, init_cp, ROT0, "Bally", "The Champion Pub (1.5)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME(1996, ttt_10, 0, wpc_95, ttt, wpc_95_state, init_ttt, ROT0, "Williams", "Ticket Tac Toe (1.0)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME(1996, tf95_12, 0, wpc_95, afm, wpc_95_state, init_tf95, ROT0, "Bally", "WPC 95 Test Fixture (1.2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1995, afm_113, 0, wpc_95, afm, wpc_95_state, init_afm, ROT0, "Bally", "Attack From Mars (1.13, Free play)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1995, afm_113b, afm_113, wpc_95, afm, wpc_95_state, init_afm, ROT0, "Bally", "Attack From Mars (1.13b)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1995, afm_11, afm_113, wpc_95, afm, wpc_95_state, init_afm, ROT0, "Bally", "Attack From Mars (1.1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1995, afm_11u, afm_113, wpc_95, afm, wpc_95_state, init_afm, ROT0, "Bally", "Attack From Mars (1.1 Ultrapin)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1995, afm_10, afm_113, wpc_95, afm, wpc_95_state, init_afm, ROT0, "Bally", "Attack From Mars (1.0)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1998, cc_13, 0, wpc_95, cc, wpc_95_state, init_cc, ROT0, "Bally", "Cactus Canyon (1.3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1998, cc_12, cc_13, wpc_95, cc, wpc_95_state, init_cc, ROT0, "Bally", "Cactus Canyon (1.2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1998, cc_10, cc_13, wpc_95, cc, wpc_95_state, init_cc, ROT0, "Bally", "Cactus Canyon (1.0)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1998, cc_104, cc_13, wpc_95, cc, wpc_95_state, init_cc, ROT0, "Bally", "Cactus Canyon (1.04 Test 0.2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1997, cv_14, 0, wpc_95, cv, wpc_95_state, init_cv, ROT0, "Bally", "Cirqus Voltaire (1.4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1997, cv_20h, cv_14, wpc_95, cv, wpc_95_state, init_cv, ROT0, "Bally", "Cirqus Voltaire (2.0H)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1997, cv_10, cv_14, wpc_95, cv, wpc_95_state, init_cv, ROT0, "Bally", "Cirqus Voltaire (1.0)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1997, cv_11, cv_14, wpc_95, cv, wpc_95_state, init_cv, ROT0, "Bally", "Cirqus Voltaire (1.1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1997, cv_13, cv_14, wpc_95, cv, wpc_95_state, init_cv, ROT0, "Bally", "Cirqus Voltaire (1.3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1997, cv_d52, cv_14, wpc_95, cv, wpc_95_state, init_cv, ROT0, "Bally", "Cirqus Voltaire (D.52 prototype)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // needs different audio ROMs +GAME(1995, congo_21, 0, wpc_95, congo, wpc_95_state, init_congo, ROT0, "Williams", "Congo (2.1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1995, congo_20, congo_21, wpc_95, congo, wpc_95_state, init_congo, ROT0, "Williams", "Congo (2.0)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1995, congo_13, congo_21, wpc_95, congo, wpc_95_state, init_congo, ROT0, "Williams", "Congo (1.3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1995, congo_11, congo_21, wpc_95, congo, wpc_95_state, init_congo, ROT0, "Williams", "Congo (1.1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1995, congo_11s10,congo_21, wpc_95, congo, wpc_95_state, init_congo, ROT0, "Williams", "Congo (1.1, DCS sound 1.0)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1996, jy_12, 0, wpc_95, jy, wpc_95_state, init_jy, ROT0, "Williams", "Junk Yard (1.2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1996, jy_11, jy_12, wpc_95, jy, wpc_95_state, init_jy, ROT0, "Williams", "Junk Yard (1.1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1996, jy_03, jy_12, wpc_95, jy, wpc_95_state, init_jy, ROT0, "Williams", "Junk Yard (0.3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1999, mm_10, 0, wpc_95, mm, wpc_95_state, init_mm, ROT0, "Williams", "Medieval Madness (1.0)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1999, mm_10u, mm_10, wpc_95, mm, wpc_95_state, init_mm, ROT0, "Williams", "Medieval Madness (1.0 Ultrapin)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1999, mm_109, mm_10, wpc_95, mm, wpc_95_state, init_mm, ROT0, "Williams", "Medieval Madness (1.09)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1999, mm_109b, mm_10, wpc_95, mm, wpc_95_state, init_mm, ROT0, "Williams", "Medieval Madness (1.09B)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1999, mm_109c, mm_10, wpc_95, mm, wpc_95_state, init_mm, ROT0, "Williams", "Medieval Madness (1.09C Profanity)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1997, mm_05, mm_10, wpc_95, mm, wpc_95_state, init_mm, ROT0, "Williams", "Medieval Madness (0.50)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1998, mb_10, 0, wpc_95, mb, wpc_95_state, init_mb, ROT0, "Williams", "Monster Bash (1.0)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1998, mb_106, mb_10, wpc_95, mb, wpc_95_state, init_mb, ROT0, "Williams", "Monster Bash (1.06)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1998, mb_106b, mb_10, wpc_95, mb, wpc_95_state, init_mb, ROT0, "Williams", "Monster Bash (1.06b)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1997, nbaf_31, 0, wpc_95, nbaf, wpc_95_state, init_nbaf, ROT0, "Bally", "NBA Fastbreak (3.1 - S3.0)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1997, nbaf_31a, nbaf_31, wpc_95, nbaf, wpc_95_state, init_nbaf, ROT0, "Bally", "NBA Fastbreak (3.1 - S1.0)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1997, nbaf_11s, nbaf_31, wpc_95, nbaf, wpc_95_state, init_nbaf, ROT0, "Bally", "NBA Fastbreak (1.1 - S0.4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1997, nbaf_11, nbaf_31, wpc_95, nbaf, wpc_95_state, init_nbaf, ROT0, "Bally", "NBA Fastbreak (1.1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1997, nbaf_11a, nbaf_31, wpc_95, nbaf, wpc_95_state, init_nbaf, ROT0, "Bally", "NBA Fastbreak (1.1 - S2.0)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1997, nbaf_115, nbaf_31, wpc_95, nbaf, wpc_95_state, init_nbaf, ROT0, "Bally", "NBA Fastbreak (1.15)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1997, nbaf_21, nbaf_31, wpc_95, nbaf, wpc_95_state, init_nbaf, ROT0, "Bally", "NBA Fastbreak (2.1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1997, nbaf_22, nbaf_31, wpc_95, nbaf, wpc_95_state, init_nbaf, ROT0, "Bally", "NBA Fastbreak (2.2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1997, nbaf_23, nbaf_31, wpc_95, nbaf, wpc_95_state, init_nbaf, ROT0, "Bally", "NBA Fastbreak (2.3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1997, ngg_13, 0, wpc_95, ngg, wpc_95_state, init_ngg, ROT0, "Williams", "No Good Gofers (1.3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1997, ngg_p06, ngg_13, wpc_95, ngg, wpc_95_state, init_ngg, ROT0, "Williams", "No Good Gofers (p0.6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1997, ngg_10, ngg_13, wpc_95, ngg, wpc_95_state, init_ngg, ROT0, "Williams", "No Good Gofers (1.0)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1996, ph_04, 0, wpc_95, ngg, wpc_95_state, init_ph, ROT0, "Williams", "Phantom Haus (0.4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1998, sc_18, 0, wpc_95, sc, wpc_95_state, init_sc, ROT0, "Bally", "Safe Cracker (1.8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1998, sc_18n, sc_18, wpc_95, sc, wpc_95_state, init_sc, ROT0, "Bally", "Safe Cracker (1.8N)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1998, sc_18s2, sc_18, wpc_95, sc, wpc_95_state, init_sc, ROT0, "Bally", "Safe Cracker (1.8 German sound)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1996, sc_17, sc_18, wpc_95, sc, wpc_95_state, init_sc, ROT0, "Bally", "Safe Cracker (1.7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1996, sc_17n, sc_18, wpc_95, sc, wpc_95_state, init_sc, ROT0, "Bally", "Safe Cracker (1.7N)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1996, sc_14, sc_18, wpc_95, sc, wpc_95_state, init_sc, ROT0, "Bally", "Safe Cracker (1.4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1996, sc_10, sc_18, wpc_95, sc, wpc_95_state, init_sc, ROT0, "Bally", "Safe Cracker (1.0)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1996, sc_091, sc_18, wpc_95, sc, wpc_95_state, init_sc, ROT0, "Bally", "Safe Cracker (0.91)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1996, ss_15, 0, wpc_95, ss, wpc_95_state, init_ss, ROT0, "Bally", "Scared Stiff (1.5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1996, ss_14, ss_15, wpc_95, ss, wpc_95_state, init_ss, ROT0, "Bally", "Scared Stiff (1.4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1996, ss_12, ss_15, wpc_95, ss, wpc_95_state, init_ss, ROT0, "Bally", "Scared Stiff (1.2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1996, ss_11, ss_15, wpc_95, ss, wpc_95_state, init_ss, ROT0, "Bally", "Scared Stiff (1.1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1996, ss_03, ss_15, wpc_95, ss, wpc_95_state, init_ss, ROT0, "Bally", "Scared Stiff (0.3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1996, ss_01, ss_15, wpc_95, ss, wpc_95_state, init_ss, ROT0, "Bally", "Scared Stiff (D0.1R with sound rev.25)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1996, totan_14, 0, wpc_95, totan, wpc_95_state, init_totan, ROT0, "Williams", "Tales Of The Arabian Nights (1.4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1996, totan_13, totan_14, wpc_95, totan, wpc_95_state, init_totan, ROT0, "Williams", "Tales Of The Arabian Nights (1.3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1996, totan_12, totan_14, wpc_95, totan, wpc_95_state, init_totan, ROT0, "Williams", "Tales Of The Arabian Nights (1.2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1996, totan_04, totan_14, wpc_95, totan, wpc_95_state, init_totan, ROT0, "Williams", "Tales Of The Arabian Nights (0.4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1998, cp_16, 0, wpc_95, cp, wpc_95_state, init_cp, ROT0, "Bally", "The Champion Pub (1.6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1998, cp_15, cp_16, wpc_95, cp, wpc_95_state, init_cp, ROT0, "Bally", "The Champion Pub (1.5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME(1996, ttt_10, 0, wpc_95, ttt, wpc_95_state, init_ttt, ROT0, "Williams", "Ticket Tac Toe (1.0)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/pinball/wpc_an.cpp b/src/mame/pinball/wpc_an.cpp index 015c0cfb86310..70185c5a56f64 100644 --- a/src/mame/pinball/wpc_an.cpp +++ b/src/mame/pinball/wpc_an.cpp @@ -816,23 +816,23 @@ ROM_END } // anonymous namespace -GAME(1990, tfa_13, 0, wpc_an, wpc_an, wpc_an_state, init_wpc_an, ROT0, "Bally", "WPC Test Fixture: Alphanumeric (1.3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1990, dd_p7, dd_l2, wpc_an_dd, wpc_an, wpc_an_state, init_wpc_an, ROT0, "Bally", "Dr. Dude (PA-7 WPC)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1990, dd_p06, dd_l2, wpc_an_dd, wpc_an, wpc_an_state, init_wpc_an, ROT0, "Bally", "Dr. Dude (PA-6 WPC)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1990, fh_l9, 0, wpc_an, wpc_an, wpc_an_state, init_wpc_an, ROT0, "Williams", "Funhouse (L-9, SL-2m)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1990, fh_l9b, fh_l9, wpc_an, wpc_an, wpc_an_state, init_wpc_an, ROT0, "Williams", "Funhouse (L-9, SL-2m, bootleg improved German translation)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1996, fh_905h, fh_l9, wpc_an, wpc_an, wpc_an_state, init_wpc_an, ROT0, "Williams", "Funhouse (9.05H)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1990, fh_l2, fh_l9, wpc_an, wpc_an, wpc_an_state, init_wpc_an, ROT0, "Williams", "Funhouse (L-2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1990, fh_l3, fh_l9, wpc_an, wpc_an, wpc_an_state, init_wpc_an, ROT0, "Williams", "Funhouse (L-3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1990, fh_l4, fh_l9, wpc_an, wpc_an, wpc_an_state, init_wpc_an, ROT0, "Williams", "Funhouse (L-4)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1990, fh_l5, fh_l9, wpc_an, wpc_an, wpc_an_state, init_wpc_an, ROT0, "Williams", "Funhouse (L-5)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1990, fh_pa1, fh_l9, wpc_an_dd, wpc_an, wpc_an_state, init_wpc_an, ROT0, "Williams", "Funhouse (L-2, prototype PA-1 System 11 sound)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1991, hd_l3, 0, wpc_an, wpc_an, wpc_an_state, init_wpc_an, ROT0, "Bally", "Harley Davidson (L-3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1991, hd_l2, hd_l3, wpc_an, wpc_an, wpc_an_state, init_wpc_an, ROT0, "Bally", "Harley Davidson (L-2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1991, hd_l1, hd_l3, wpc_an, wpc_an, wpc_an_state, init_wpc_an, ROT0, "Bally", "Harley Davidson (L-1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1992, bop_l7, 0, wpc_an, wpc_an, wpc_an_state, init_wpc_an, ROT0, "Williams", "The Machine: Bride of Pinbot (L-7)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1991, bop_l6, bop_l7, wpc_an, wpc_an, wpc_an_state, init_wpc_an, ROT0, "Williams", "The Machine: Bride of Pinbot (L-6)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1991, bop_l5, bop_l7, wpc_an, wpc_an, wpc_an_state, init_wpc_an, ROT0, "Williams", "The Machine: Bride of Pinbot (L-5)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1991, bop_l4, bop_l7, wpc_an, wpc_an, wpc_an_state, init_wpc_an, ROT0, "Williams", "The Machine: Bride of Pinbot (L-4)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1991, bop_l3, bop_l7, wpc_an, wpc_an, wpc_an_state, init_wpc_an, ROT0, "Williams", "The Machine: Bride of Pinbot (L-3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1991, bop_l2, bop_l7, wpc_an, wpc_an, wpc_an_state, init_wpc_an, ROT0, "Williams", "The Machine: Bride of Pinbot (L-2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1990, tfa_13, 0, wpc_an, wpc_an, wpc_an_state, init_wpc_an, ROT0, "Bally", "WPC Test Fixture: Alphanumeric (1.3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1990, dd_p7, dd_l2, wpc_an_dd, wpc_an, wpc_an_state, init_wpc_an, ROT0, "Bally", "Dr. Dude (PA-7 WPC)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1990, dd_p06, dd_l2, wpc_an_dd, wpc_an, wpc_an_state, init_wpc_an, ROT0, "Bally", "Dr. Dude (PA-6 WPC)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1990, fh_l9, 0, wpc_an, wpc_an, wpc_an_state, init_wpc_an, ROT0, "Williams", "Funhouse (L-9, SL-2m)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1990, fh_l9b, fh_l9, wpc_an, wpc_an, wpc_an_state, init_wpc_an, ROT0, "Williams", "Funhouse (L-9, SL-2m, bootleg improved German translation)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1996, fh_905h, fh_l9, wpc_an, wpc_an, wpc_an_state, init_wpc_an, ROT0, "Williams", "Funhouse (9.05H)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1990, fh_l2, fh_l9, wpc_an, wpc_an, wpc_an_state, init_wpc_an, ROT0, "Williams", "Funhouse (L-2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1990, fh_l3, fh_l9, wpc_an, wpc_an, wpc_an_state, init_wpc_an, ROT0, "Williams", "Funhouse (L-3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1990, fh_l4, fh_l9, wpc_an, wpc_an, wpc_an_state, init_wpc_an, ROT0, "Williams", "Funhouse (L-4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1990, fh_l5, fh_l9, wpc_an, wpc_an, wpc_an_state, init_wpc_an, ROT0, "Williams", "Funhouse (L-5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1990, fh_pa1, fh_l9, wpc_an_dd, wpc_an, wpc_an_state, init_wpc_an, ROT0, "Williams", "Funhouse (L-2, prototype PA-1 System 11 sound)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1991, hd_l3, 0, wpc_an, wpc_an, wpc_an_state, init_wpc_an, ROT0, "Bally", "Harley Davidson (L-3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1991, hd_l2, hd_l3, wpc_an, wpc_an, wpc_an_state, init_wpc_an, ROT0, "Bally", "Harley Davidson (L-2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1991, hd_l1, hd_l3, wpc_an, wpc_an, wpc_an_state, init_wpc_an, ROT0, "Bally", "Harley Davidson (L-1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1992, bop_l7, 0, wpc_an, wpc_an, wpc_an_state, init_wpc_an, ROT0, "Williams", "The Machine: Bride of Pinbot (L-7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1991, bop_l6, bop_l7, wpc_an, wpc_an, wpc_an_state, init_wpc_an, ROT0, "Williams", "The Machine: Bride of Pinbot (L-6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1991, bop_l5, bop_l7, wpc_an, wpc_an, wpc_an_state, init_wpc_an, ROT0, "Williams", "The Machine: Bride of Pinbot (L-5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1991, bop_l4, bop_l7, wpc_an, wpc_an, wpc_an_state, init_wpc_an, ROT0, "Williams", "The Machine: Bride of Pinbot (L-4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1991, bop_l3, bop_l7, wpc_an, wpc_an, wpc_an_state, init_wpc_an, ROT0, "Williams", "The Machine: Bride of Pinbot (L-3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1991, bop_l2, bop_l7, wpc_an, wpc_an, wpc_an_state, init_wpc_an, ROT0, "Williams", "The Machine: Bride of Pinbot (L-2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/wpc_dcs.cpp b/src/mame/pinball/wpc_dcs.cpp index e4566d039ed7a..23361b160e1d8 100644 --- a/src/mame/pinball/wpc_dcs.cpp +++ b/src/mame/pinball/wpc_dcs.cpp @@ -926,36 +926,36 @@ ROM_END } // Anonymous namespace -GAME(1994, dm_lx4, 0, wpc_dcs, wpc_dcs, wpc_dcs_state, init_dm, ROT0, "Williams", "Demolition Man (LX-4)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, dm_pa2, dm_lx4, wpc_dcs, wpc_dcs, wpc_dcs_state, init_dm, ROT0, "Williams", "Demolition Man (PA-2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, dm_px5, dm_lx4, wpc_dcs, wpc_dcs, wpc_dcs_state, init_dm, ROT0, "Williams", "Demolition Man (PX-5)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, dm_la1, dm_lx4, wpc_dcs, wpc_dcs, wpc_dcs_state, init_dm, ROT0, "Williams", "Demolition Man (LA-1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, dm_lx3, dm_lx4, wpc_dcs, wpc_dcs, wpc_dcs_state, init_dm, ROT0, "Williams", "Demolition Man (LX-3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, dm_h5, dm_lx4, wpc_dcs, wpc_dcs, wpc_dcs_state, init_dm, ROT0, "Williams", "Demolition Man (H-5)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, dm_h6, dm_lx4, wpc_dcs, wpc_dcs, wpc_dcs_state, init_dm, ROT0, "Williams", "Demolition Man (H-6)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, ij_l7, 0, wpc_dcs, wpc_dcs, wpc_dcs_state, init_ij, ROT0, "Williams", "Indiana Jones (L-7)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, ij_lg7, ij_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, init_ij, ROT0, "Williams", "Indiana Jones (LG-7)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, ij_l6, ij_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, init_ij, ROT0, "Williams", "Indiana Jones (L-6)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, ij_l5, ij_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, init_ij, ROT0, "Williams", "Indiana Jones (L-5)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, ij_l4, ij_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, init_ij, ROT0, "Williams", "Indiana Jones (L-4)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, ij_l3, ij_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, init_ij, ROT0, "Williams", "Indiana Jones (L-3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, jd_l7, 0, wpc_dcs, wpc_dcs, wpc_dcs_state, init_jd, ROT0, "Bally", "Judge Dredd (L-7)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, jd_l1, jd_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, init_jd, ROT0, "Bally", "Judge Dredd (L-1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, jd_l6, jd_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, init_jd, ROT0, "Bally", "Judge Dredd (L-6)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, jd_l5, jd_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, init_jd, ROT0, "Bally", "Judge Dredd (L-5)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, jd_l4, jd_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, init_jd, ROT0, "Bally", "Judge Dredd (L-4)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, pop_lx5, 0, wpc_dcs, wpc_dcs, wpc_dcs_state, init_pop, ROT0, "Bally", "Popeye Saves The Earth (LX-5)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, pop_la4, pop_lx5, wpc_dcs, wpc_dcs, wpc_dcs_state, init_pop, ROT0, "Bally", "Popeye Saves The Earth (LA-4)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, pop_pa3, pop_lx5, wpc_dcs, wpc_dcs, wpc_dcs_state, init_pop, ROT0, "Bally", "Popeye Saves The Earth (PA-3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, sttng_l7, 0, wpc_dcs, wpc_dcs, wpc_dcs_state, init_sttng, ROT0, "Williams", "Star Trek: The Next Generation (LX-7)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, sttng_l5, sttng_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, init_sttng, ROT0, "Williams", "Star Trek: The Next Generation (LX-5)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, sttng_x7, sttng_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, init_sttng, ROT0, "Williams", "Star Trek: The Next Generation (LX-7 Special)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, sttng_p8, sttng_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, init_sttng, ROT0, "Williams", "Star Trek: The Next Generation (P-8)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, sttng_p5, sttng_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, init_sttng, ROT0, "Williams", "Star Trek: The Next Generation (P-5)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, sttng_p4, sttng_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, init_sttng, ROT0, "Williams", "Star Trek: The Next Generation (P-4)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, sttng_s7, sttng_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, init_sttng, ROT0, "Williams", "Star Trek: The Next Generation (LX-7) SP1", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, sttng_g7, sttng_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, init_sttng, ROT0, "Williams", "Star Trek: The Next Generation (LG-7)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, sttng_l1, sttng_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, init_sttng, ROT0, "Williams", "Star Trek: The Next Generation (LX-1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, sttng_l2, sttng_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, init_sttng, ROT0, "Williams", "Star Trek: The Next Generation (LX-2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, sttng_l3, sttng_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, init_sttng, ROT0, "Williams", "Star Trek: The Next Generation (LX-3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, afv_l4, 0, wpc_dcs, wpc_dcs, wpc_dcs_state, init_afv, ROT0, "Williams", "Addams Family Values (Coin Dropper L-4)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1994, dm_lx4, 0, wpc_dcs, wpc_dcs, wpc_dcs_state, init_dm, ROT0, "Williams", "Demolition Man (LX-4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, dm_pa2, dm_lx4, wpc_dcs, wpc_dcs, wpc_dcs_state, init_dm, ROT0, "Williams", "Demolition Man (PA-2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, dm_px5, dm_lx4, wpc_dcs, wpc_dcs, wpc_dcs_state, init_dm, ROT0, "Williams", "Demolition Man (PX-5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, dm_la1, dm_lx4, wpc_dcs, wpc_dcs, wpc_dcs_state, init_dm, ROT0, "Williams", "Demolition Man (LA-1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, dm_lx3, dm_lx4, wpc_dcs, wpc_dcs, wpc_dcs_state, init_dm, ROT0, "Williams", "Demolition Man (LX-3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, dm_h5, dm_lx4, wpc_dcs, wpc_dcs, wpc_dcs_state, init_dm, ROT0, "Williams", "Demolition Man (H-5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, dm_h6, dm_lx4, wpc_dcs, wpc_dcs, wpc_dcs_state, init_dm, ROT0, "Williams", "Demolition Man (H-6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, ij_l7, 0, wpc_dcs, wpc_dcs, wpc_dcs_state, init_ij, ROT0, "Williams", "Indiana Jones (L-7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, ij_lg7, ij_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, init_ij, ROT0, "Williams", "Indiana Jones (LG-7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, ij_l6, ij_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, init_ij, ROT0, "Williams", "Indiana Jones (L-6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, ij_l5, ij_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, init_ij, ROT0, "Williams", "Indiana Jones (L-5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, ij_l4, ij_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, init_ij, ROT0, "Williams", "Indiana Jones (L-4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, ij_l3, ij_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, init_ij, ROT0, "Williams", "Indiana Jones (L-3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, jd_l7, 0, wpc_dcs, wpc_dcs, wpc_dcs_state, init_jd, ROT0, "Bally", "Judge Dredd (L-7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, jd_l1, jd_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, init_jd, ROT0, "Bally", "Judge Dredd (L-1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, jd_l6, jd_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, init_jd, ROT0, "Bally", "Judge Dredd (L-6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, jd_l5, jd_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, init_jd, ROT0, "Bally", "Judge Dredd (L-5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, jd_l4, jd_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, init_jd, ROT0, "Bally", "Judge Dredd (L-4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, pop_lx5, 0, wpc_dcs, wpc_dcs, wpc_dcs_state, init_pop, ROT0, "Bally", "Popeye Saves The Earth (LX-5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, pop_la4, pop_lx5, wpc_dcs, wpc_dcs, wpc_dcs_state, init_pop, ROT0, "Bally", "Popeye Saves The Earth (LA-4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, pop_pa3, pop_lx5, wpc_dcs, wpc_dcs, wpc_dcs_state, init_pop, ROT0, "Bally", "Popeye Saves The Earth (PA-3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, sttng_l7, 0, wpc_dcs, wpc_dcs, wpc_dcs_state, init_sttng, ROT0, "Williams", "Star Trek: The Next Generation (LX-7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, sttng_l5, sttng_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, init_sttng, ROT0, "Williams", "Star Trek: The Next Generation (LX-5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, sttng_x7, sttng_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, init_sttng, ROT0, "Williams", "Star Trek: The Next Generation (LX-7 Special)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, sttng_p8, sttng_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, init_sttng, ROT0, "Williams", "Star Trek: The Next Generation (P-8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, sttng_p5, sttng_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, init_sttng, ROT0, "Williams", "Star Trek: The Next Generation (P-5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, sttng_p4, sttng_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, init_sttng, ROT0, "Williams", "Star Trek: The Next Generation (P-4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, sttng_s7, sttng_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, init_sttng, ROT0, "Williams", "Star Trek: The Next Generation (LX-7) SP1", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, sttng_g7, sttng_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, init_sttng, ROT0, "Williams", "Star Trek: The Next Generation (LG-7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, sttng_l1, sttng_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, init_sttng, ROT0, "Williams", "Star Trek: The Next Generation (LX-1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, sttng_l2, sttng_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, init_sttng, ROT0, "Williams", "Star Trek: The Next Generation (LX-2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, sttng_l3, sttng_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, init_sttng, ROT0, "Williams", "Star Trek: The Next Generation (LX-3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, afv_l4, 0, wpc_dcs, wpc_dcs, wpc_dcs_state, init_afv, ROT0, "Williams", "Addams Family Values (Coin Dropper L-4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/wpc_dot.cpp b/src/mame/pinball/wpc_dot.cpp index 74ab9a86150af..151396d860939 100644 --- a/src/mame/pinball/wpc_dot.cpp +++ b/src/mame/pinball/wpc_dot.cpp @@ -695,22 +695,22 @@ ROM_START(tfdmd_l3) ROM_END -GAME(1991, tfdmd_l3, 0, wpc_dot, wpc_dot, wpc_dot_state, init_wpc_dot, ROT0, "Bally", "WPC Test Fixture: DMD (L-3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1991, gi_l9, 0, wpc_dot, wpc_dot, wpc_dot_state, init_wpc_dot, ROT0, "Bally", "Gilligan's Island (L-9)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1991, gi_l3, gi_l9, wpc_dot, wpc_dot, wpc_dot_state, init_wpc_dot, ROT0, "Bally", "Gilligan's Island (L-3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1991, gi_l4, gi_l9, wpc_dot, wpc_dot, wpc_dot_state, init_wpc_dot, ROT0, "Bally", "Gilligan's Island (L-4)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1991, gi_l6, gi_l9, wpc_dot, wpc_dot, wpc_dot_state, init_wpc_dot, ROT0, "Bally", "Gilligan's Island (L-6)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1991, gi_l8, gi_l9, wpc_dot, wpc_dot, wpc_dot_state, init_wpc_dot, ROT0, "Bally", "Gilligan's Island (L-8)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1992, hshot_p8, 0, wpc_dot, wpc_dot, wpc_dot_state, init_wpc_dot, ROT0, "Midway", "Hot Shot Basketball (P-8)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1991, hurr_l2, 0, wpc_dot, wpc_dot, wpc_dot_state, init_wpc_dot, ROT0, "Williams", "Hurricane (L-2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1991, pz_f4, 0, wpc_dot, wpc_dot, wpc_dot_state, init_wpc_dot, ROT0, "Bally", "The Party Zone (F-4)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1991, pz_l1, pz_f4, wpc_dot, wpc_dot, wpc_dot_state, init_wpc_dot, ROT0, "Bally", "The Party Zone (L-1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1991, pz_l2, pz_f4, wpc_dot, wpc_dot, wpc_dot_state, init_wpc_dot, ROT0, "Bally", "The Party Zone (L-2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1991, pz_l3, pz_f4, wpc_dot, wpc_dot, wpc_dot_state, init_wpc_dot, ROT0, "Bally", "The Party Zone (L-3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1991, sf_l1, 0, wpc_dot, wpc_dot, wpc_dot_state, init_wpc_dot, ROT0, "Williams", "Slugfest (L-1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1991, t2_l8, 0, wpc_dot, wpc_dot, wpc_dot_state, init_wpc_dot, ROT0, "Williams", "Terminator 2: Judgment Day (L-8)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1991, t2_l6, t2_l8, wpc_dot, wpc_dot, wpc_dot_state, init_wpc_dot, ROT0, "Williams", "Terminator 2: Judgment Day (L-6)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1991, t2_p2f, t2_l8, wpc_dot, wpc_dot, wpc_dot_state, init_wpc_dot, ROT0, "Williams", "Terminator 2: Judgment Day (P-2F) Profanity", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1991, t2_l4, t2_l8, wpc_dot, wpc_dot, wpc_dot_state, init_wpc_dot, ROT0, "Williams", "Terminator 2: Judgment Day (L-4)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1991, t2_l3, t2_l8, wpc_dot, wpc_dot, wpc_dot_state, init_wpc_dot, ROT0, "Williams", "Terminator 2: Judgment Day (L-3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1991, t2_l2, t2_l8, wpc_dot, wpc_dot, wpc_dot_state, init_wpc_dot, ROT0, "Williams", "Terminator 2: Judgment Day (L-2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1991, tfdmd_l3, 0, wpc_dot, wpc_dot, wpc_dot_state, init_wpc_dot, ROT0, "Bally", "WPC Test Fixture: DMD (L-3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1991, gi_l9, 0, wpc_dot, wpc_dot, wpc_dot_state, init_wpc_dot, ROT0, "Bally", "Gilligan's Island (L-9)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1991, gi_l3, gi_l9, wpc_dot, wpc_dot, wpc_dot_state, init_wpc_dot, ROT0, "Bally", "Gilligan's Island (L-3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1991, gi_l4, gi_l9, wpc_dot, wpc_dot, wpc_dot_state, init_wpc_dot, ROT0, "Bally", "Gilligan's Island (L-4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1991, gi_l6, gi_l9, wpc_dot, wpc_dot, wpc_dot_state, init_wpc_dot, ROT0, "Bally", "Gilligan's Island (L-6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1991, gi_l8, gi_l9, wpc_dot, wpc_dot, wpc_dot_state, init_wpc_dot, ROT0, "Bally", "Gilligan's Island (L-8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1992, hshot_p8, 0, wpc_dot, wpc_dot, wpc_dot_state, init_wpc_dot, ROT0, "Midway", "Hot Shot Basketball (P-8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1991, hurr_l2, 0, wpc_dot, wpc_dot, wpc_dot_state, init_wpc_dot, ROT0, "Williams", "Hurricane (L-2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1991, pz_f4, 0, wpc_dot, wpc_dot, wpc_dot_state, init_wpc_dot, ROT0, "Bally", "The Party Zone (F-4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1991, pz_l1, pz_f4, wpc_dot, wpc_dot, wpc_dot_state, init_wpc_dot, ROT0, "Bally", "The Party Zone (L-1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1991, pz_l2, pz_f4, wpc_dot, wpc_dot, wpc_dot_state, init_wpc_dot, ROT0, "Bally", "The Party Zone (L-2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1991, pz_l3, pz_f4, wpc_dot, wpc_dot, wpc_dot_state, init_wpc_dot, ROT0, "Bally", "The Party Zone (L-3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1991, sf_l1, 0, wpc_dot, wpc_dot, wpc_dot_state, init_wpc_dot, ROT0, "Williams", "Slugfest (L-1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1991, t2_l8, 0, wpc_dot, wpc_dot, wpc_dot_state, init_wpc_dot, ROT0, "Williams", "Terminator 2: Judgment Day (L-8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1991, t2_l6, t2_l8, wpc_dot, wpc_dot, wpc_dot_state, init_wpc_dot, ROT0, "Williams", "Terminator 2: Judgment Day (L-6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1991, t2_p2f, t2_l8, wpc_dot, wpc_dot, wpc_dot_state, init_wpc_dot, ROT0, "Williams", "Terminator 2: Judgment Day (P-2F) Profanity", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1991, t2_l4, t2_l8, wpc_dot, wpc_dot, wpc_dot_state, init_wpc_dot, ROT0, "Williams", "Terminator 2: Judgment Day (L-4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1991, t2_l3, t2_l8, wpc_dot, wpc_dot, wpc_dot_state, init_wpc_dot, ROT0, "Williams", "Terminator 2: Judgment Day (L-3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1991, t2_l2, t2_l8, wpc_dot, wpc_dot, wpc_dot_state, init_wpc_dot, ROT0, "Williams", "Terminator 2: Judgment Day (L-2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/wpc_flip1.cpp b/src/mame/pinball/wpc_flip1.cpp index 2e00aa8baf6e6..9dafcecfab83a 100644 --- a/src/mame/pinball/wpc_flip1.cpp +++ b/src/mame/pinball/wpc_flip1.cpp @@ -285,12 +285,12 @@ ROM_END /*-------------- / Game drivers /---------------*/ -GAME(1992, taf_l5, 0, wpc_flip1, wpc_flip1, wpc_flip1_state, init_wpc_flip1, ROT0, "Bally", "The Addams Family (L-5)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1992, taf_p2, taf_l5, wpc_flip1, wpc_flip1, wpc_flip1_state, init_wpc_flip1, ROT0, "Bally", "The Addams Family (Prototype) (P-2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1992, taf_l1, taf_l5, wpc_flip1, wpc_flip1, wpc_flip1_state, init_wpc_flip1, ROT0, "Bally", "The Addams Family (L-1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1992, taf_l2, taf_l5, wpc_flip1, wpc_flip1, wpc_flip1_state, init_wpc_flip1, ROT0, "Bally", "The Addams Family (L-2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1992, taf_l3, taf_l5, wpc_flip1, wpc_flip1, wpc_flip1_state, init_wpc_flip1, ROT0, "Bally", "The Addams Family (L-3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1992, taf_l4, taf_l5, wpc_flip1, wpc_flip1, wpc_flip1_state, init_wpc_flip1, ROT0, "Bally", "The Addams Family (L-4)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1992, taf_l7, taf_l5, wpc_flip1, wpc_flip1, wpc_flip1_state, init_wpc_flip1, ROT0, "Bally", "The Addams Family (Prototype L-5) (L-7)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1992, taf_l6, taf_l5, wpc_flip1, wpc_flip1, wpc_flip1_state, init_wpc_flip1, ROT0, "Bally", "The Addams Family (L-6)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1992, taf_h4, taf_l5, wpc_flip1, wpc_flip1, wpc_flip1_state, init_wpc_flip1, ROT0, "Bally", "The Addams Family (H-4)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1992, taf_l5, 0, wpc_flip1, wpc_flip1, wpc_flip1_state, init_wpc_flip1, ROT0, "Bally", "The Addams Family (L-5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1992, taf_p2, taf_l5, wpc_flip1, wpc_flip1, wpc_flip1_state, init_wpc_flip1, ROT0, "Bally", "The Addams Family (Prototype) (P-2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1992, taf_l1, taf_l5, wpc_flip1, wpc_flip1, wpc_flip1_state, init_wpc_flip1, ROT0, "Bally", "The Addams Family (L-1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1992, taf_l2, taf_l5, wpc_flip1, wpc_flip1, wpc_flip1_state, init_wpc_flip1, ROT0, "Bally", "The Addams Family (L-2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1992, taf_l3, taf_l5, wpc_flip1, wpc_flip1, wpc_flip1_state, init_wpc_flip1, ROT0, "Bally", "The Addams Family (L-3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1992, taf_l4, taf_l5, wpc_flip1, wpc_flip1, wpc_flip1_state, init_wpc_flip1, ROT0, "Bally", "The Addams Family (L-4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1992, taf_l7, taf_l5, wpc_flip1, wpc_flip1, wpc_flip1_state, init_wpc_flip1, ROT0, "Bally", "The Addams Family (Prototype L-5) (L-7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1992, taf_l6, taf_l5, wpc_flip1, wpc_flip1, wpc_flip1_state, init_wpc_flip1, ROT0, "Bally", "The Addams Family (L-6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1992, taf_h4, taf_l5, wpc_flip1, wpc_flip1, wpc_flip1_state, init_wpc_flip1, ROT0, "Bally", "The Addams Family (H-4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/wpc_flip2.cpp b/src/mame/pinball/wpc_flip2.cpp index 3c9d4790d6abf..6957e5d3daea6 100644 --- a/src/mame/pinball/wpc_flip2.cpp +++ b/src/mame/pinball/wpc_flip2.cpp @@ -927,56 +927,56 @@ ROM_START(rush) ROM_END -GAME(1993, br_l4, 0, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Black Rose (L-4)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1992, br_p17, br_l4, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Black Rose (SP-1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1992, br_l1, br_l4, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Black Rose (L-1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, br_l3, br_l4, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Black Rose (L-3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, drac_l1, 0, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Williams", "Bram Stoker's Dracula (L-1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, drac_p11, drac_l1, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Williams", "Bram Stoker's Dracula (P-11)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, cftbl_l4, 0, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Creature from the Black Lagoon (L-4)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, cftbl_l3, cftbl_l4, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Creature from the Black Lagoon (L-3,SP-1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, cftbl_l2, cftbl_l4, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Creature from the Black Lagoon (L-2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1992, dw_l2, 0, wpc_flip2, wpc_dw, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Doctor Who (L-2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1992, dw_l1, dw_l2, wpc_flip2, wpc_dw, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Doctor Who (L-1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1992, dw_p5, dw_l2, wpc_flip2, wpc_dw, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Doctor Who (P-5)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1992, ft_l5, 0, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Williams", "Fish Tales (L-5)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1992, ft_l3, ft_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Williams", "Fish Tales (L-3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1992, ft_l4, ft_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Williams", "Fish Tales (L-4)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1992, ft_p4, ft_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Williams", "Fish Tales (P-4)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1992, ft_p2, ft_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Williams", "Fish Tales (P-2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, tafg_lx3, 0, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "The Addams Family Special Collectors Edition Gold (LX-3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, tafg_h3, tafg_lx3, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "The Addams Family Special Collectors Edition (H-3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, tafg_la2, tafg_lx3, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "The Addams Family Special Collectors Edition (LA-2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, tafg_la3, tafg_lx3, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "The Addams Family Special Collectors Edition (LA-3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1992, gw_l5, 0, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Williams", "The Getaway: High Speed II (L-5)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1992, gw_pb, gw_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Williams", "The Getaway: High Speed II (P-B)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1992, gw_pc, gw_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Williams", "The Getaway: High Speed II (P-C)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1992, gw_l1, gw_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Williams", "The Getaway: High Speed II (L-1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1992, gw_l2, gw_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Williams", "The Getaway: High Speed II (L-2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1992, gw_l3, gw_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Williams", "The Getaway: High Speed II (L-3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1992, gw_p7, gw_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Williams", "The Getaway: High Speed II (P-7)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1998, tz_92, 0, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Twilight Zone (9.2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1998, tz_94h, tz_92, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Twilight Zone (9.4H)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1998, tz_94ch, tz_92, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Twilight Zone (9.4CH)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, tz_pa1, tz_92, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Twilight Zone (PA-1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, tz_p3, tz_92, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Twilight Zone (P-3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, tz_p4, tz_92, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Twilight Zone (P-4)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, tz_l1, tz_92, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Twilight Zone (L-1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, tz_l2, tz_92, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Twilight Zone (L-2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, tz_ifpa, tz_92, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Twilight Zone (IFPA rules)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, tz_l3, tz_92, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Twilight Zone (L-3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, tz_l4, tz_92, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Twilight Zone (L-4)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, tz_l5, tz_92, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Twilight Zone (L-5)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, tz_h7, tz_92, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Twilight Zone (H-7)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, tz_h8, tz_92, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Twilight Zone (H-8)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2000, ww_l5, 0, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Williams", "White Water (L-5)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2000, ww_lh6, ww_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Williams", "White Water (LH-6)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2000, ww_lh5, ww_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Williams", "White Water (LH-5)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, ww_l4, ww_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Williams", "White Water (L-4)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1993, ww_l3, ww_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Williams", "White Water (L-3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1992, ww_l2, ww_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Williams", "White Water (L-2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1992, ww_p8, ww_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Williams", "White Water (P-8)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1992, ww_p6, ww_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Williams", "White Water (P-6)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1992, strik_l4, 0, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Williams", "Strike Master (L-4) (Shuffle)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1996, lc_11, 0, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "League Champ (1.1) (Shuffle)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(20??, rush, 0, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Dave Astill", "Rush (1.0)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1993, br_l4, 0, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Black Rose (L-4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1992, br_p17, br_l4, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Black Rose (SP-1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1992, br_l1, br_l4, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Black Rose (L-1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, br_l3, br_l4, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Black Rose (L-3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, drac_l1, 0, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Williams", "Bram Stoker's Dracula (L-1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, drac_p11, drac_l1, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Williams", "Bram Stoker's Dracula (P-11)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, cftbl_l4, 0, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Creature from the Black Lagoon (L-4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, cftbl_l3, cftbl_l4, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Creature from the Black Lagoon (L-3,SP-1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, cftbl_l2, cftbl_l4, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Creature from the Black Lagoon (L-2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1992, dw_l2, 0, wpc_flip2, wpc_dw, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Doctor Who (L-2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1992, dw_l1, dw_l2, wpc_flip2, wpc_dw, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Doctor Who (L-1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1992, dw_p5, dw_l2, wpc_flip2, wpc_dw, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Doctor Who (P-5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1992, ft_l5, 0, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Williams", "Fish Tales (L-5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1992, ft_l3, ft_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Williams", "Fish Tales (L-3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1992, ft_l4, ft_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Williams", "Fish Tales (L-4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1992, ft_p4, ft_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Williams", "Fish Tales (P-4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1992, ft_p2, ft_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Williams", "Fish Tales (P-2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, tafg_lx3, 0, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "The Addams Family Special Collectors Edition Gold (LX-3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, tafg_h3, tafg_lx3, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "The Addams Family Special Collectors Edition (H-3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, tafg_la2, tafg_lx3, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "The Addams Family Special Collectors Edition (LA-2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, tafg_la3, tafg_lx3, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "The Addams Family Special Collectors Edition (LA-3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1992, gw_l5, 0, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Williams", "The Getaway: High Speed II (L-5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1992, gw_pb, gw_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Williams", "The Getaway: High Speed II (P-B)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1992, gw_pc, gw_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Williams", "The Getaway: High Speed II (P-C)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1992, gw_l1, gw_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Williams", "The Getaway: High Speed II (L-1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1992, gw_l2, gw_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Williams", "The Getaway: High Speed II (L-2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1992, gw_l3, gw_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Williams", "The Getaway: High Speed II (L-3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1992, gw_p7, gw_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Williams", "The Getaway: High Speed II (P-7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1998, tz_92, 0, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Twilight Zone (9.2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1998, tz_94h, tz_92, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Twilight Zone (9.4H)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1998, tz_94ch, tz_92, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Twilight Zone (9.4CH)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, tz_pa1, tz_92, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Twilight Zone (PA-1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, tz_p3, tz_92, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Twilight Zone (P-3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, tz_p4, tz_92, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Twilight Zone (P-4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, tz_l1, tz_92, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Twilight Zone (L-1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, tz_l2, tz_92, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Twilight Zone (L-2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, tz_ifpa, tz_92, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Twilight Zone (IFPA rules)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, tz_l3, tz_92, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Twilight Zone (L-3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, tz_l4, tz_92, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Twilight Zone (L-4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, tz_l5, tz_92, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Twilight Zone (L-5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, tz_h7, tz_92, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Twilight Zone (H-7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, tz_h8, tz_92, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "Twilight Zone (H-8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2000, ww_l5, 0, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Williams", "White Water (L-5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2000, ww_lh6, ww_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Williams", "White Water (LH-6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2000, ww_lh5, ww_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Williams", "White Water (LH-5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, ww_l4, ww_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Williams", "White Water (L-4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1993, ww_l3, ww_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Williams", "White Water (L-3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1992, ww_l2, ww_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Williams", "White Water (L-2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1992, ww_p8, ww_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Williams", "White Water (P-8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1992, ww_p6, ww_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Williams", "White Water (P-6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1992, strik_l4, 0, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Williams", "Strike Master (L-4) (Shuffle)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1996, lc_11, 0, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Bally", "League Champ (1.1) (Shuffle)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(20??, rush, 0, wpc_flip2, wpc_flip2, wpc_flip2_state, init_wpc_flip2, ROT0, "Dave Astill", "Rush (1.0)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/wpc_s.cpp b/src/mame/pinball/wpc_s.cpp index d5855b9f72a1b..1ed7bf728a59f 100644 --- a/src/mame/pinball/wpc_s.cpp +++ b/src/mame/pinball/wpc_s.cpp @@ -2935,70 +2935,70 @@ ROM_END } // Anonymous namespace -GAME(1994, corv_21, 0, wpc_s, corv, wpc_s_state, init_corv, ROT0, "Bally", "Corvette (2.1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, corv_px4, corv_21, wpc_s, corv, wpc_s_state, init_corv, ROT0, "Bally", "Corvette (PX4 Prototype)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, corv_px3, corv_21, wpc_s, corv, wpc_s_state, init_corv, ROT0, "Bally", "Corvette (PX3 Prototype)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, corv_lx1, corv_21, wpc_s, corv, wpc_s_state, init_corv, ROT0, "Bally", "Corvette (LX1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, corv_lx2, corv_21, wpc_s, corv, wpc_s_state, init_corv, ROT0, "Bally", "Corvette (LX2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, corv_la1, corv_21, wpc_s, corv, wpc_s_state, init_corv, ROT0, "Bally", "Corvette (LA1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, dh_lx2, 0, wpc_s, dh, wpc_s_state, init_dh, ROT0, "Williams", "Dirty Harry (LX-2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, dh_lf2, dh_lx2, wpc_s, dh, wpc_s_state, init_dh, ROT0, "Williams", "Dirty Harry (LF-2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, i500_11r, 0, wpc_s, i500, wpc_s_state, init_i500, ROT0, "Bally", "Indianapolis 500 (1.1R)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, i500_10r, i500_11r, wpc_s, i500, wpc_s_state, init_i500, ROT0, "Bally", "Indianapolis 500 (1.0R)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, i500_11b, i500_11r, wpc_s, i500, wpc_s_state, init_i500, ROT0, "Bally", "Indianapolis 500 (1.1 Belgium)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, jb_10r, 0, wpc_s, jb, wpc_s_state, init_jb, ROT0, "Williams", "Jack*Bot (1.0R)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, jb_10b, jb_10r, wpc_s, jb, wpc_s_state, init_jb, ROT0, "Williams", "Jack*Bot (1.0B) (Belgium/Canada)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, jb_04a, jb_10r, wpc_s, jb, wpc_s_state, init_jb, ROT0, "Williams", "Jack*Bot (0.4A prototype)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, jm_12r, 0, wpc_s, jm, wpc_s_state, init_jm, ROT0, "Williams", "Johnny Mnemonic (1.2R)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, jm_12b, jm_12r, wpc_s, jm, wpc_s_state, init_jm, ROT0, "Williams", "Johnny Mnemonic (1.2B) Belgium", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, jm_05r, jm_12r, wpc_s, jm, wpc_s_state, init_jm, ROT0, "Williams", "Johnny Mnemonic (0.5R)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, nf_23x, 0, wpc_s, nf, wpc_s_state, init_nf, ROT0, "Williams", "No Fear: Dangerous Sports (2.3X)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, nf_23, nf_23x, wpc_s, nf, wpc_s_state, init_nf, ROT0, "Williams", "No Fear: Dangerous Sports (2.3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, nf_23f, nf_23x, wpc_s, nf, wpc_s_state, init_nf, ROT0, "Williams", "No Fear: Dangerous Sports (2.3F)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, nf_22, nf_23x, wpc_s, nf, wpc_s_state, init_nf, ROT0, "Williams", "No Fear: Dangerous Sports (2.2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, nf_20, nf_23x, wpc_s, nf, wpc_s_state, init_nf, ROT0, "Williams", "No Fear: Dangerous Sports (2.0)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, nf_10f, nf_23x, wpc_s, nf, wpc_s_state, init_nf, ROT0, "Williams", "No Fear: Dangerous Sports (1.0F)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, nf_08x, nf_23x, wpc_s, nf, wpc_s_state, init_nf, ROT0, "Williams", "No Fear: Dangerous Sports (0.8X)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, rs_l6, 0, wpc_s, rs, wpc_s_state, init_rs, ROT0, "Williams", "Red and Ted's Road Show (L-6)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, rs_la5, rs_l6, wpc_s, rs, wpc_s_state, init_rs, ROT0, "Williams", "Red and Ted's Road Show (La-5)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, rs_lx5, rs_l6, wpc_s, rs, wpc_s_state, init_rs, ROT0, "Williams", "Red and Ted's Road Show (Lx-5)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, rs_la4, rs_l6, wpc_s, rs, wpc_s_state, init_rs, ROT0, "Williams", "Red and Ted's Road Show (La-4)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, rs_lx4, rs_l6, wpc_s, rs, wpc_s_state, init_rs, ROT0, "Williams", "Red and Ted's Road Show (Lx-4)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, rs_lx3, rs_l6, wpc_s, rs, wpc_s_state, init_rs, ROT0, "Williams", "Red and Ted's Road Show (Lx-3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, rs_lx2, rs_l6, wpc_s, rs, wpc_s_state, init_rs, ROT0, "Williams", "Red and Ted's Road Show (Lx-2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, rs_pa2, rs_l6, wpc_s, rs, wpc_s_state, init_rs, ROT0, "Williams", "Red and Ted's Road Show (PA-2 prototype)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, fs_lx5, 0, wpc_s, fs, wpc_s_state, init_fs, ROT0, "Williams", "The Flintstones (LX-5)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, fs_lx2, fs_lx5, wpc_s, fs, wpc_s_state, init_fs, ROT0, "Williams", "The Flintstones (LX-2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, fs_sp2, fs_lx5, wpc_s, fs, wpc_s_state, init_fs, ROT0, "Williams", "The Flintstones (SP-2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, fs_lx3, fs_lx5, wpc_s, fs, wpc_s_state, init_fs, ROT0, "Williams", "The Flintstones (LX-3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, fs_lx4, fs_lx5, wpc_s, fs, wpc_s_state, init_fs, ROT0, "Williams", "The Flintstones (LX-4)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, fs_la5, fs_lx5, wpc_s, fs, wpc_s_state, init_fs, ROT0, "Williams", "The Flintstones (LA-5)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, ts_lx5, 0, wpc_s, ts, wpc_s_state, init_ts, ROT0, "Bally", "The Shadow (LX-5)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, ts_lh6, ts_lx5, wpc_s, ts, wpc_s_state, init_ts, ROT0, "Bally", "The Shadow (LH-6)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, ts_lx4, ts_lx5, wpc_s, ts, wpc_s_state, init_ts, ROT0, "Bally", "The Shadow (LX-4)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, ts_la4, ts_lx5, wpc_s, ts, wpc_s_state, init_ts, ROT0, "Bally", "The Shadow (LA-4)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, ts_la2, ts_lx5, wpc_s, ts, wpc_s_state, init_ts, ROT0, "Bally", "The Shadow (LA-2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, ts_pa1, ts_lx5, wpc_s, ts, wpc_s_state, init_ts, ROT0, "Bally", "The Shadow (PA-1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, ts_lf6, ts_lx5, wpc_s, ts, wpc_s_state, init_ts, ROT0, "Bally", "The Shadow (LF-6) French", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, ts_lf4, ts_lx5, wpc_s, ts, wpc_s_state, init_ts, ROT0, "Bally", "The Shadow (LF-4) French", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, ts_lm6, ts_lx5, wpc_s, ts, wpc_s_state, init_ts, ROT0, "Bally", "The Shadow (LM-6) Mild", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, tom_13, 0, wpc_s, tom, wpc_s_state, init_tom, ROT0, "Bally", "Theatre Of Magic (1.3X)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(2005, tom_14h, tom_13, wpc_s, tom, wpc_s_state, init_tom14, ROT0, "Bally", "Theatre Of Magic (1.4H)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, tom_12, tom_13, wpc_s, tom, wpc_s_state, init_tom, ROT0, "Bally", "Theatre Of Magic (1.2X)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, tom_12a, tom_13, wpc_s, tom, wpc_s_state, init_tom, ROT0, "Bally", "Theatre Of Magic (1.2A)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, tom_10f, tom_13, wpc_s, tom, wpc_s_state, init_tom, ROT0, "Bally", "Theatre Of Magic (1.0 French)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, tom_06, tom_13, wpc_s, tom, wpc_s_state, init_tom, ROT0, "Bally", "Theatre Of Magic (0.6a)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, wd_12, 0, wpc_s, wd, wpc_s_state, init_wd, ROT0, "Bally", "Who Dunnit (1.2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, wd_12g, wd_12, wpc_s, wd, wpc_s_state, init_wd, ROT0, "Bally", "Who Dunnit (1.2 Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, wd_11, wd_12, wpc_s, wd, wpc_s_state, init_wd, ROT0, "Bally", "Who Dunnit (1.1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, wd_10r, wd_12, wpc_s, wd, wpc_s_state, init_wd, ROT0, "Bally", "Who Dunnit (1.0 R)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, wd_10g, wd_12, wpc_s, wd, wpc_s_state, init_wd, ROT0, "Bally", "Who Dunnit (1.0 Germany)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, wd_10f, wd_12, wpc_s, wd, wpc_s_state, init_wd, ROT0, "Bally", "Who Dunnit (1.0 French)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, wd_03r, wd_12, wpc_s, wd, wpc_s_state, init_wd, ROT0, "Bally", "Who Dunnit (0.3 R)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1995, wd_048r, wd_12, wpc_s, wd, wpc_s_state, init_wd, ROT0, "Bally", "Who Dunnit (0.48 R)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, wcs_l2, 0, wpc_s, wcs, wpc_s_state, init_wcs, ROT0, "Bally", "World Cup Soccer (Lx-2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, wcs_l1, wcs_l2, wpc_s, wcs, wpc_s_state, init_wcs, ROT0, "Bally", "World Cup Soccer (Lx-1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, wcs_la2, wcs_l2, wpc_s, wcs, wpc_s_state, init_wcs, ROT0, "Bally", "World Cup Soccer (La-2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, wcs_p2, wcs_l2, wpc_s, wcs, wpc_s_state, init_wcs, ROT0, "Bally", "World Cup Soccer (Pa-2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, wcs_p3, wcs_l2, wpc_s, wcs, wpc_s_state, init_wcs, ROT0, "Bally", "World Cup Soccer (Px-3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1994, tfs_12, 0, wpc_s, tfs, wpc_s_state, init_tfs, ROT0, "Bally", "WPC Test Fixture: Security (1.2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1994, corv_21, 0, wpc_s, corv, wpc_s_state, init_corv, ROT0, "Bally", "Corvette (2.1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, corv_px4, corv_21, wpc_s, corv, wpc_s_state, init_corv, ROT0, "Bally", "Corvette (PX4 Prototype)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, corv_px3, corv_21, wpc_s, corv, wpc_s_state, init_corv, ROT0, "Bally", "Corvette (PX3 Prototype)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, corv_lx1, corv_21, wpc_s, corv, wpc_s_state, init_corv, ROT0, "Bally", "Corvette (LX1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, corv_lx2, corv_21, wpc_s, corv, wpc_s_state, init_corv, ROT0, "Bally", "Corvette (LX2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, corv_la1, corv_21, wpc_s, corv, wpc_s_state, init_corv, ROT0, "Bally", "Corvette (LA1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, dh_lx2, 0, wpc_s, dh, wpc_s_state, init_dh, ROT0, "Williams", "Dirty Harry (LX-2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, dh_lf2, dh_lx2, wpc_s, dh, wpc_s_state, init_dh, ROT0, "Williams", "Dirty Harry (LF-2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, i500_11r, 0, wpc_s, i500, wpc_s_state, init_i500, ROT0, "Bally", "Indianapolis 500 (1.1R)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, i500_10r, i500_11r, wpc_s, i500, wpc_s_state, init_i500, ROT0, "Bally", "Indianapolis 500 (1.0R)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, i500_11b, i500_11r, wpc_s, i500, wpc_s_state, init_i500, ROT0, "Bally", "Indianapolis 500 (1.1 Belgium)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, jb_10r, 0, wpc_s, jb, wpc_s_state, init_jb, ROT0, "Williams", "Jack*Bot (1.0R)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, jb_10b, jb_10r, wpc_s, jb, wpc_s_state, init_jb, ROT0, "Williams", "Jack*Bot (1.0B) (Belgium/Canada)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, jb_04a, jb_10r, wpc_s, jb, wpc_s_state, init_jb, ROT0, "Williams", "Jack*Bot (0.4A prototype)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, jm_12r, 0, wpc_s, jm, wpc_s_state, init_jm, ROT0, "Williams", "Johnny Mnemonic (1.2R)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, jm_12b, jm_12r, wpc_s, jm, wpc_s_state, init_jm, ROT0, "Williams", "Johnny Mnemonic (1.2B) Belgium", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, jm_05r, jm_12r, wpc_s, jm, wpc_s_state, init_jm, ROT0, "Williams", "Johnny Mnemonic (0.5R)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, nf_23x, 0, wpc_s, nf, wpc_s_state, init_nf, ROT0, "Williams", "No Fear: Dangerous Sports (2.3X)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, nf_23, nf_23x, wpc_s, nf, wpc_s_state, init_nf, ROT0, "Williams", "No Fear: Dangerous Sports (2.3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, nf_23f, nf_23x, wpc_s, nf, wpc_s_state, init_nf, ROT0, "Williams", "No Fear: Dangerous Sports (2.3F)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, nf_22, nf_23x, wpc_s, nf, wpc_s_state, init_nf, ROT0, "Williams", "No Fear: Dangerous Sports (2.2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, nf_20, nf_23x, wpc_s, nf, wpc_s_state, init_nf, ROT0, "Williams", "No Fear: Dangerous Sports (2.0)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, nf_10f, nf_23x, wpc_s, nf, wpc_s_state, init_nf, ROT0, "Williams", "No Fear: Dangerous Sports (1.0F)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, nf_08x, nf_23x, wpc_s, nf, wpc_s_state, init_nf, ROT0, "Williams", "No Fear: Dangerous Sports (0.8X)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, rs_l6, 0, wpc_s, rs, wpc_s_state, init_rs, ROT0, "Williams", "Red and Ted's Road Show (L-6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, rs_la5, rs_l6, wpc_s, rs, wpc_s_state, init_rs, ROT0, "Williams", "Red and Ted's Road Show (La-5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, rs_lx5, rs_l6, wpc_s, rs, wpc_s_state, init_rs, ROT0, "Williams", "Red and Ted's Road Show (Lx-5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, rs_la4, rs_l6, wpc_s, rs, wpc_s_state, init_rs, ROT0, "Williams", "Red and Ted's Road Show (La-4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, rs_lx4, rs_l6, wpc_s, rs, wpc_s_state, init_rs, ROT0, "Williams", "Red and Ted's Road Show (Lx-4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, rs_lx3, rs_l6, wpc_s, rs, wpc_s_state, init_rs, ROT0, "Williams", "Red and Ted's Road Show (Lx-3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, rs_lx2, rs_l6, wpc_s, rs, wpc_s_state, init_rs, ROT0, "Williams", "Red and Ted's Road Show (Lx-2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, rs_pa2, rs_l6, wpc_s, rs, wpc_s_state, init_rs, ROT0, "Williams", "Red and Ted's Road Show (PA-2 prototype)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, fs_lx5, 0, wpc_s, fs, wpc_s_state, init_fs, ROT0, "Williams", "The Flintstones (LX-5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, fs_lx2, fs_lx5, wpc_s, fs, wpc_s_state, init_fs, ROT0, "Williams", "The Flintstones (LX-2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, fs_sp2, fs_lx5, wpc_s, fs, wpc_s_state, init_fs, ROT0, "Williams", "The Flintstones (SP-2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, fs_lx3, fs_lx5, wpc_s, fs, wpc_s_state, init_fs, ROT0, "Williams", "The Flintstones (LX-3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, fs_lx4, fs_lx5, wpc_s, fs, wpc_s_state, init_fs, ROT0, "Williams", "The Flintstones (LX-4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, fs_la5, fs_lx5, wpc_s, fs, wpc_s_state, init_fs, ROT0, "Williams", "The Flintstones (LA-5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, ts_lx5, 0, wpc_s, ts, wpc_s_state, init_ts, ROT0, "Bally", "The Shadow (LX-5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, ts_lh6, ts_lx5, wpc_s, ts, wpc_s_state, init_ts, ROT0, "Bally", "The Shadow (LH-6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, ts_lx4, ts_lx5, wpc_s, ts, wpc_s_state, init_ts, ROT0, "Bally", "The Shadow (LX-4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, ts_la4, ts_lx5, wpc_s, ts, wpc_s_state, init_ts, ROT0, "Bally", "The Shadow (LA-4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, ts_la2, ts_lx5, wpc_s, ts, wpc_s_state, init_ts, ROT0, "Bally", "The Shadow (LA-2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, ts_pa1, ts_lx5, wpc_s, ts, wpc_s_state, init_ts, ROT0, "Bally", "The Shadow (PA-1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, ts_lf6, ts_lx5, wpc_s, ts, wpc_s_state, init_ts, ROT0, "Bally", "The Shadow (LF-6) French", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, ts_lf4, ts_lx5, wpc_s, ts, wpc_s_state, init_ts, ROT0, "Bally", "The Shadow (LF-4) French", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, ts_lm6, ts_lx5, wpc_s, ts, wpc_s_state, init_ts, ROT0, "Bally", "The Shadow (LM-6) Mild", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, tom_13, 0, wpc_s, tom, wpc_s_state, init_tom, ROT0, "Bally", "Theatre Of Magic (1.3X)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(2005, tom_14h, tom_13, wpc_s, tom, wpc_s_state, init_tom14, ROT0, "Bally", "Theatre Of Magic (1.4H)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, tom_12, tom_13, wpc_s, tom, wpc_s_state, init_tom, ROT0, "Bally", "Theatre Of Magic (1.2X)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, tom_12a, tom_13, wpc_s, tom, wpc_s_state, init_tom, ROT0, "Bally", "Theatre Of Magic (1.2A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, tom_10f, tom_13, wpc_s, tom, wpc_s_state, init_tom, ROT0, "Bally", "Theatre Of Magic (1.0 French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, tom_06, tom_13, wpc_s, tom, wpc_s_state, init_tom, ROT0, "Bally", "Theatre Of Magic (0.6a)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, wd_12, 0, wpc_s, wd, wpc_s_state, init_wd, ROT0, "Bally", "Who Dunnit (1.2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, wd_12g, wd_12, wpc_s, wd, wpc_s_state, init_wd, ROT0, "Bally", "Who Dunnit (1.2 Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, wd_11, wd_12, wpc_s, wd, wpc_s_state, init_wd, ROT0, "Bally", "Who Dunnit (1.1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, wd_10r, wd_12, wpc_s, wd, wpc_s_state, init_wd, ROT0, "Bally", "Who Dunnit (1.0 R)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, wd_10g, wd_12, wpc_s, wd, wpc_s_state, init_wd, ROT0, "Bally", "Who Dunnit (1.0 Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, wd_10f, wd_12, wpc_s, wd, wpc_s_state, init_wd, ROT0, "Bally", "Who Dunnit (1.0 French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, wd_03r, wd_12, wpc_s, wd, wpc_s_state, init_wd, ROT0, "Bally", "Who Dunnit (0.3 R)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1995, wd_048r, wd_12, wpc_s, wd, wpc_s_state, init_wd, ROT0, "Bally", "Who Dunnit (0.48 R)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, wcs_l2, 0, wpc_s, wcs, wpc_s_state, init_wcs, ROT0, "Bally", "World Cup Soccer (Lx-2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, wcs_l1, wcs_l2, wpc_s, wcs, wpc_s_state, init_wcs, ROT0, "Bally", "World Cup Soccer (Lx-1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, wcs_la2, wcs_l2, wpc_s, wcs, wpc_s_state, init_wcs, ROT0, "Bally", "World Cup Soccer (La-2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, wcs_p2, wcs_l2, wpc_s, wcs, wpc_s_state, init_wcs, ROT0, "Bally", "World Cup Soccer (Pa-2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, wcs_p3, wcs_l2, wpc_s, wcs, wpc_s_state, init_wcs, ROT0, "Bally", "World Cup Soccer (Px-3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1994, tfs_12, 0, wpc_s, tfs, wpc_s_state, init_tfs, ROT0, "Bally", "WPC Test Fixture: Security (1.2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/zac_1.cpp b/src/mame/pinball/zac_1.cpp index 451ab1ae37614..f0a803fe740b0 100644 --- a/src/mame/pinball/zac_1.cpp +++ b/src/mame/pinball/zac_1.cpp @@ -949,23 +949,23 @@ ROM_END } // anonymous namespace // Basic audio -GAME(1978, wsports, 0, zac1, zac_1, zac_1_state, empty_init, ROT0, "Zaccaria", "Winter Sports", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1978, hod, 0, zac1, zac_1, zac_1_state, empty_init, ROT0, "Zaccaria", "House of Diamonds", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1978, futurwld, 0, zac1, zac_1, zac_1_state, empty_init, ROT0, "Zaccaria", "Future World", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1978, wsports, 0, zac1, zac_1, zac_1_state, empty_init, ROT0, "Zaccaria", "Winter Sports", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1978, hod, 0, zac1, zac_1, zac_1_state, empty_init, ROT0, "Zaccaria", "House of Diamonds", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1978, futurwld, 0, zac1, zac_1, zac_1_state, empty_init, ROT0, "Zaccaria", "Future World", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // 1B1125 audio (SN76477, NE555) -GAME(1979, strapids, 0, zac3, zac_1, zac_1_state, empty_init, ROT0, "Zaccaria", "Shooting the Rapids", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1979, hotwheel, 0, zac3, zac_1, zac_1_state, empty_init, ROT0, "Zaccaria", "Hot Wheels", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1980, firemntn, 0, zac3, firemntn, zac_1_state, empty_init, ROT0, "Zaccaria", "Fire Mountain", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1980, stargod, 0, zac3, zac_1, zac_1_state, empty_init, ROT0, "Zaccaria", "Star God", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1980, stargodb, stargod, zac3, zac_1, zac_1_state, empty_init, ROT0, "Zaccaria", "Star God (variable replay score)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1979, strapids, 0, zac3, zac_1, zac_1_state, empty_init, ROT0, "Zaccaria", "Shooting the Rapids", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1979, hotwheel, 0, zac3, zac_1, zac_1_state, empty_init, ROT0, "Zaccaria", "Hot Wheels", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1980, firemntn, 0, zac3, firemntn, zac_1_state, empty_init, ROT0, "Zaccaria", "Fire Mountain", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1980, stargod, 0, zac3, zac_1, zac_1_state, empty_init, ROT0, "Zaccaria", "Star God", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1980, stargodb, stargod, zac3, zac_1, zac_1_state, empty_init, ROT0, "Zaccaria", "Star God (variable replay score)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // 1B1346 audio (i8035, MC1408) -GAME(1980, sshtlzac, 0, zac2, zac_1, zac_1_state, empty_init, ROT0, "Zaccaria", "Space Shuttle (Zaccaria)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1981, ewf, 0, zac2, zac_1, zac_1_state, empty_init, ROT0, "Zaccaria", "Earth Wind Fire", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1980, sshtlzac, 0, zac2, zac_1, zac_1_state, empty_init, ROT0, "Zaccaria", "Space Shuttle (Zaccaria)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1981, ewf, 0, zac2, zac_1, zac_1_state, empty_init, ROT0, "Zaccaria", "Earth Wind Fire", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // 1B1146 audio (i8035, MC1408, SN76477, NE555, MM5837) -GAME(1981, locomotp, 0, locomotp, zac_1, zac_1_state, empty_init, ROT0, "Zaccaria", "Locomotion", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1981, locomotp, 0, locomotp, zac_1, zac_1_state, empty_init, ROT0, "Zaccaria", "Locomotion", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // unknown audio -GAME(1980, stargoda, stargod, zac4, zac_1, zac_1_state, empty_init, ROT0, "Zaccaria", "Star God (alternate sound)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1980, stargoda, stargod, zac4, zac_1, zac_1_state, empty_init, ROT0, "Zaccaria", "Star God (alternate sound)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/zac_2.cpp b/src/mame/pinball/zac_2.cpp index b14d0c668d9af..fb519b8a0b094 100644 --- a/src/mame/pinball/zac_2.cpp +++ b/src/mame/pinball/zac_2.cpp @@ -1292,64 +1292,64 @@ ROM_END } // anonymous namespace // 1B1170 sound (IMDB), 1B1370 (schematics) -GAME(1982, socrking, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Soccer Kings", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1982, socrkinga, socrking, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Soccer Kings (alternate set)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1982, socrkingi, socrking, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Soccer Kings (Italian speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1982, socrkingg, socrking, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Soccer Kings (German speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1983, pinchamp, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Pinball Champ", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1983, pinchampf, pinchamp, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Pinball Champ (French speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1983, pinchampg, pinchamp, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Pinball Champ (German speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1983, pinchampi, pinchamp, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Pinball Champ (Italian speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1983, pinchamp7, pinchamp, zac_2, zac_2, zac_2_state, init_1, ROT0, "Zaccaria", "Pinball Champ (7 digits)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1983, pinchamp7f, pinchamp, zac_2, zac_2, zac_2_state, init_1, ROT0, "Zaccaria", "Pinball Champ (7 digits French speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1983, pinchamp7g, pinchamp, zac_2, zac_2, zac_2_state, init_1, ROT0, "Zaccaria", "Pinball Champ (7 digits German speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1983, pinchamp7i, pinchamp, zac_2, zac_2, zac_2_state, init_1, ROT0, "Zaccaria", "Pinball Champ (7 digits Italian speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1982, socrking, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Soccer Kings", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1982, socrkinga, socrking, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Soccer Kings (alternate set)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1982, socrkingi, socrking, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Soccer Kings (Italian speech)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1982, socrkingg, socrking, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Soccer Kings (German speech)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1983, pinchamp, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Pinball Champ", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1983, pinchampf, pinchamp, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Pinball Champ (French speech)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1983, pinchampg, pinchamp, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Pinball Champ (German speech)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1983, pinchampi, pinchamp, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Pinball Champ (Italian speech)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1983, pinchamp7, pinchamp, zac_2, zac_2, zac_2_state, init_1, ROT0, "Zaccaria", "Pinball Champ (7 digits)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1983, pinchamp7f, pinchamp, zac_2, zac_2, zac_2_state, init_1, ROT0, "Zaccaria", "Pinball Champ (7 digits French speech)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1983, pinchamp7g, pinchamp, zac_2, zac_2, zac_2_state, init_1, ROT0, "Zaccaria", "Pinball Champ (7 digits German speech)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1983, pinchamp7i, pinchamp, zac_2, zac_2, zac_2_state, init_1, ROT0, "Zaccaria", "Pinball Champ (7 digits Italian speech)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // 1B11136 or 1B13136 -GAME(1983, tmachzac, 0, zac_2, zac_2, zac_2_state, init_1, ROT0, "Zaccaria", "Time Machine (Zaccaria)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1983, tmachzacg, tmachzac, zac_2, zac_2, zac_2_state, init_1, ROT0, "Zaccaria", "Time Machine (Zaccaria, German speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1983, tmachzacf, tmachzac, zac_2, zac_2, zac_2_state, init_1, ROT0, "Zaccaria", "Time Machine (Zaccaria, French speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1983, tmachzaci, tmachzac, zac_2, zac_2, zac_2_state, init_1, ROT0, "Zaccaria", "Time Machine (Zaccaria, Italian speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1983, farfalla, 0, zac_2, zac_2, zac_2_state, init_1, ROT0, "Zaccaria", "Farfalla", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1983, farfallai, farfalla, zac_2, zac_2, zac_2_state, init_1, ROT0, "Zaccaria", "Farfalla (Italian speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1983, farfallag, farfalla, zac_2, zac_2, zac_2_state, init_1, ROT0, "Zaccaria", "Farfalla (German speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1983, farfallaf, farfalla, zac_2, zac_2, zac_2_state, init_1, ROT0, "Zaccaria", "Farfalla (French speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1984, dvlrider, 0, zac_2, zac_2, zac_2_state, init_1, ROT0, "Zaccaria", "Devil Riders", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1984, dvlrideri, dvlrider, zac_2, zac_2, zac_2_state, init_1, ROT0, "Zaccaria", "Devil Riders (Italian speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1984, dvlriderg, dvlrider, zac_2, zac_2, zac_2_state, init_1, ROT0, "Zaccaria", "Devil Riders (German speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1984, dvlriderf, dvlrider, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Devil Riders (French speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1984, mcastle, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Magic Castle", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1984, mcastlei, mcastle, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Magic Castle (Italian speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1984, mcastleg, mcastle, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Magic Castle (German speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1984, mcastlef, mcastle, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Magic Castle (French speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1985, robot, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Robot (Zaccaria)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1985, roboti, robot, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Robot (Zaccaria, Italian speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1985, robotg, robot, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Robot (Zaccaria, German speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1985, robotf, robot, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Robot (Zaccaria, French speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1983, tmachzac, 0, zac_2, zac_2, zac_2_state, init_1, ROT0, "Zaccaria", "Time Machine (Zaccaria)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1983, tmachzacg, tmachzac, zac_2, zac_2, zac_2_state, init_1, ROT0, "Zaccaria", "Time Machine (Zaccaria, German speech)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1983, tmachzacf, tmachzac, zac_2, zac_2, zac_2_state, init_1, ROT0, "Zaccaria", "Time Machine (Zaccaria, French speech)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1983, tmachzaci, tmachzac, zac_2, zac_2, zac_2_state, init_1, ROT0, "Zaccaria", "Time Machine (Zaccaria, Italian speech)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1983, farfalla, 0, zac_2, zac_2, zac_2_state, init_1, ROT0, "Zaccaria", "Farfalla", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1983, farfallai, farfalla, zac_2, zac_2, zac_2_state, init_1, ROT0, "Zaccaria", "Farfalla (Italian speech)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1983, farfallag, farfalla, zac_2, zac_2, zac_2_state, init_1, ROT0, "Zaccaria", "Farfalla (German speech)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1983, farfallaf, farfalla, zac_2, zac_2, zac_2_state, init_1, ROT0, "Zaccaria", "Farfalla (French speech)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1984, dvlrider, 0, zac_2, zac_2, zac_2_state, init_1, ROT0, "Zaccaria", "Devil Riders", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1984, dvlrideri, dvlrider, zac_2, zac_2, zac_2_state, init_1, ROT0, "Zaccaria", "Devil Riders (Italian speech)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1984, dvlriderg, dvlrider, zac_2, zac_2, zac_2_state, init_1, ROT0, "Zaccaria", "Devil Riders (German speech)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1984, dvlriderf, dvlrider, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Devil Riders (French speech)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1984, mcastle, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Magic Castle", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1984, mcastlei, mcastle, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Magic Castle (Italian speech)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1984, mcastleg, mcastle, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Magic Castle (German speech)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1984, mcastlef, mcastle, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Magic Castle (French speech)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1985, robot, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Robot (Zaccaria)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1985, roboti, robot, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Robot (Zaccaria, Italian speech)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1985, robotg, robot, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Robot (Zaccaria, German speech)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1985, robotf, robot, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Robot (Zaccaria, French speech)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // 1B11178 -GAME(1985, clown, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Clown", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1985, poolcham, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Pool Champion", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1985, poolchami, poolcham, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Pool Champion (Italian speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1986, bbeltzac, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Black Belt (Zaccaria)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1986, bbeltzaci, bbeltzac, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Black Belt (Zaccaria, Italian speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1986, bbeltzacg, bbeltzac, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Black Belt (Zaccaria, German speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1986, bbeltzacf, bbeltzac, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Black Belt (Zaccaria, French speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1986, mexico, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Mexico 86 (German speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1986, mexicoi, mexico, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Mexico 86 (Italian speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1986, zankor, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Zankor (TMS5200 Italian speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1986, zankor2i, zankor, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Zankor (TMS5220 Italian speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1987, spookyp, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Spooky", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1987, spookyi, spookyp, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Spooky (Italian speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1987, strsphnx, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Star's Phoenix (Italian speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1987, strsphnxf, strsphnx, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Star's Phoenix (French speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1985, clown, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Clown", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1985, poolcham, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Pool Champion", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1985, poolchami, poolcham, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Pool Champion (Italian speech)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1986, bbeltzac, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Black Belt (Zaccaria)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1986, bbeltzaci, bbeltzac, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Black Belt (Zaccaria, Italian speech)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1986, bbeltzacg, bbeltzac, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Black Belt (Zaccaria, German speech)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1986, bbeltzacf, bbeltzac, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Black Belt (Zaccaria, French speech)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1986, mexico, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Mexico 86 (German speech)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1986, mexicoi, mexico, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Mexico 86 (Italian speech)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1986, zankor, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Zankor (TMS5200 Italian speech)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1986, zankor2i, zankor, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Zankor (TMS5220 Italian speech)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1987, spookyp, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Spooky", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1987, spookyi, spookyp, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Spooky (Italian speech)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1987, strsphnx, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Star's Phoenix (Italian speech)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1987, strsphnxf, strsphnx, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Star's Phoenix (French speech)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // 1B11183 -GAME(1987, nstrphnx, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "New Star's Phoenix (Italian speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) -GAME(1987, nstrphnxf, nstrphnx, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "New Star's Phoenix (French speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1987, nstrphnx, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "New Star's Phoenix (Italian speech)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) +GAME(1987, nstrphnxf, nstrphnx, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "New Star's Phoenix (French speech)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // unknown -GAME(1987, thndrman, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Apple Time", "Thunder Man", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1987, thndrman, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Apple Time", "Thunder Man", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) // Technoplay sound card -GAME(1987, scram_tp, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Tecnoplay", "Scramble (Pinball)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE ) +GAME(1987, scram_tp, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Tecnoplay", "Scramble (Pinball)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pinball/zpinball.cpp b/src/mame/pinball/zpinball.cpp index 690ebd571cd27..d2d10e675e52e 100644 --- a/src/mame/pinball/zpinball.cpp +++ b/src/mame/pinball/zpinball.cpp @@ -328,6 +328,6 @@ ROM_END } // Anonymous namespace -GAME(1986, eballchps, eballchp, eballchps, zpinball, zpinball_state, empty_init, ROT0, "Bally (Maibesa license)", "Eight Ball Champ (Spain, Z-Pinball hardware)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1987, cobrapb, 0, zpinball, zpinball, zpinball_state, empty_init, ROT0, "Playbar", "Cobra (Playbar)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(198?, comeback, 0, zpinball, zpinball, zpinball_state, empty_init, ROT0, "Nondum / CIFA", "Come Back", MACHINE_IS_SKELETON_MECHANICAL) +GAME(1986, eballchps, eballchp, eballchps, zpinball, zpinball_state, empty_init, ROT0, "Bally (Maibesa license)", "Eight Ball Champ (Spain, Z-Pinball hardware)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(1987, cobrapb, 0, zpinball, zpinball, zpinball_state, empty_init, ROT0, "Playbar", "Cobra (Playbar)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(198?, comeback, 0, zpinball, zpinball, zpinball_state, empty_init, ROT0, "Nondum / CIFA", "Come Back", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) diff --git a/src/mame/playmark/powerbal.cpp b/src/mame/playmark/powerbal.cpp index 5a3df330fd07e..4c6abda7cbe83 100644 --- a/src/mame/playmark/powerbal.cpp +++ b/src/mame/playmark/powerbal.cpp @@ -324,7 +324,7 @@ static INPUT_PORTS_START( magicstk ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("DSW1") @@ -421,7 +421,7 @@ static INPUT_PORTS_START( hotminda ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("DSW1") diff --git a/src/mame/playmark/sderby.cpp b/src/mame/playmark/sderby.cpp index 6154f7d77fd41..2d39de1319e7b 100644 --- a/src/mame/playmark/sderby.cpp +++ b/src/mame/playmark/sderby.cpp @@ -786,7 +786,7 @@ INPUT_PORTS_END static INPUT_PORTS_START( pmroulet ) PORT_START("IN0") PORT_BIT( 0x000f, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") // it must be toggled to boot anyway + PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // it must be toggled to boot anyway PORT_SERVICE_NO_TOGGLE(0x0020, IP_ACTIVE_LOW) PORT_BIT( 0x00c0, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0f00, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -832,7 +832,7 @@ static INPUT_PORTS_START( croupierb ) PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("IN1") - PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") // it must be toggled to boot anyway + PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // it must be toggled to boot anyway PORT_BIT( 0xfffe, IP_ACTIVE_LOW, IPT_UNKNOWN ) INPUT_PORTS_END @@ -856,7 +856,7 @@ static INPUT_PORTS_START( magictch ) PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("IN1") - PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") // it must be toggled to boot anyway + PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // it must be toggled to boot anyway PORT_BIT( 0xfffe, IP_ACTIVE_LOW, IPT_UNKNOWN ) INPUT_PORTS_END @@ -880,7 +880,7 @@ static INPUT_PORTS_START( tropfrt ) PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("IN1") - PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") // it must be toggled to boot anyway + PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // it must be toggled to boot anyway PORT_BIT( 0xfffe, IP_ACTIVE_LOW, IPT_UNKNOWN ) INPUT_PORTS_END diff --git a/src/mame/promat/3x3puzzl.cpp b/src/mame/promat/3x3puzzl.cpp index d9a9f948304ea..1b9781573f494 100644 --- a/src/mame/promat/3x3puzzl.cpp +++ b/src/mame/promat/3x3puzzl.cpp @@ -235,7 +235,7 @@ static INPUT_PORTS_START( _3x3puzzle ) PORT_BIT( 0xfff0, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("VBLANK") - PORT_BIT( 0xffff, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0xffff, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("DSW01") PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW1:1") diff --git a/src/mame/psikyo/psikyo.cpp b/src/mame/psikyo/psikyo.cpp index a9ab0e31de8ad..1837bb1e60a48 100644 --- a/src/mame/psikyo/psikyo.cpp +++ b/src/mame/psikyo/psikyo.cpp @@ -529,7 +529,7 @@ static INPUT_PORTS_START( samuraia ) PORT_INCLUDE(psikyo_common) PORT_START("COIN") - PORT_BIT( 0x00000001, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") // vblank + PORT_BIT( 0x00000001, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // vblank PORT_BIT( 0x00000002, IP_ACTIVE_LOW, IPT_UNKNOWN ) // unused? PORT_BIT( 0x00000004, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x00000008, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -662,7 +662,7 @@ static INPUT_PORTS_START( btlkroad ) PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x00000020, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x00000040, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x00000080, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") // vblank ACTIVE_HIGH fixes slowdowns, but is it right? + PORT_BIT( 0x00000080, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // vblank ACTIVE_HIGH fixes slowdowns, but is it right? // This DSW is used for debugging the game PORT_DIPNAME( 0x00000100, 0x00000100, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:1") // tested! - So leave as is until filled in PORT_DIPSETTING( 0x00000100, DEF_STR( Off ) ) @@ -765,7 +765,7 @@ static INPUT_PORTS_START( gunbird ) PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x00000020, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x00000040, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x00000080, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") // vblank + PORT_BIT( 0x00000080, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // vblank PORT_BIT( 0x00000100, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x00000200, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x00000400, IP_ACTIVE_LOW, IPT_UNKNOWN ) // tested! @@ -832,7 +832,7 @@ static INPUT_PORTS_START( s1945 ) PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x00000020, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x00000040, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x00000080, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") // vblank + PORT_BIT( 0x00000080, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // vblank PORT_BIT( 0x00000100, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x00000200, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x00000400, IP_ACTIVE_LOW, IPT_UNKNOWN ) // tested! @@ -904,7 +904,7 @@ static INPUT_PORTS_START( s1945bl ) // I need to invert the Vblank on this to avoid excessive slowdown PORT_MODIFY("DSW") /* c00004 -> c00007 */ - PORT_BIT( 0x00000080, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") // vblank + PORT_BIT( 0x00000080, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // vblank INPUT_PORTS_END @@ -948,7 +948,7 @@ static INPUT_PORTS_START( tengai ) PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x00000020, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x00000040, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x00000080, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") // vblank + PORT_BIT( 0x00000080, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // vblank PORT_BIT( 0x00000100, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x00000200, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x00000400, IP_ACTIVE_LOW, IPT_UNKNOWN ) // tested! diff --git a/src/mame/psion/mc400.cpp b/src/mame/psion/mc400.cpp index 0b28a9d45d308..4d2e0ce53ef10 100644 --- a/src/mame/psion/mc400.cpp +++ b/src/mame/psion/mc400.cpp @@ -277,10 +277,10 @@ INPUT_CHANGED_MEMBER(psionmc_state::key_on) //INPUT_CHANGED_MEMBER(psionmc_state::reset) //{ -// if (newval) -// { -// m_asic2->reset_w(0); -// } +// if (newval) +// { +// m_asic2->reset_w(0); +// } //} INPUT_CHANGED_MEMBER(psionmc_state::digitiser_changed) diff --git a/src/mame/quantel/harriet.cpp b/src/mame/quantel/harriet.cpp index c6750a01e040c..a9bc1346ac2d4 100644 --- a/src/mame/quantel/harriet.cpp +++ b/src/mame/quantel/harriet.cpp @@ -136,4 +136,4 @@ ROM_END } // anonymous namespace -COMP( 1990, harriet, 0, 0, harriet, harriet, harriet_state, empty_init, "Quantel", "Harriet", MACHINE_IS_SKELETON ) +COMP( 1990, harriet, 0, 0, harriet, harriet, harriet_state, empty_init, "Quantel", "Harriet", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/qume/qvt103.cpp b/src/mame/qume/qvt103.cpp index 96ce33a2fa4cc..4026f10e96446 100644 --- a/src/mame/qume/qvt103.cpp +++ b/src/mame/qume/qvt103.cpp @@ -162,4 +162,4 @@ ROM_END } // anonymous namespace -COMP( 1983, qvt103, 0, 0, qvt103, qvt103, qvt103_state, empty_init, "Qume", "QVT-103", MACHINE_IS_SKELETON ) +COMP( 1983, qvt103, 0, 0, qvt103, qvt103, qvt103_state, empty_init, "Qume", "QVT-103", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/qume/qvt190.cpp b/src/mame/qume/qvt190.cpp index 7ff15c31e1623..ee480b3918937 100644 --- a/src/mame/qume/qvt190.cpp +++ b/src/mame/qume/qvt190.cpp @@ -152,4 +152,4 @@ ROM_END } // anonymous namespace -COMP( 1987, qvt190, 0, 0, qvt190, qvt190, qvt190_state, empty_init, "Qume", "QVT-190", MACHINE_IS_SKELETON ) +COMP( 1987, qvt190, 0, 0, qvt190, qvt190, qvt190_state, empty_init, "Qume", "QVT-190", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/qume/qvt201.cpp b/src/mame/qume/qvt201.cpp index b7f3d92a00477..295369e077822 100644 --- a/src/mame/qume/qvt201.cpp +++ b/src/mame/qume/qvt201.cpp @@ -204,4 +204,4 @@ ROM_END } // anonymous namespace -COMP( 1986, qvt201, 0, 0, qvt201, qvt201, qvt201_state, empty_init, "Qume", "QVT-201 (Rev. T201VE)", MACHINE_IS_SKELETON ) +COMP( 1986, qvt201, 0, 0, qvt201, qvt201, qvt201_state, empty_init, "Qume", "QVT-201 (Rev. T201VE)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/ramtek/m79amb.cpp b/src/mame/ramtek/m79amb.cpp index 0c967fc5d7ae1..31cbf6724dd81 100644 --- a/src/mame/ramtek/m79amb.cpp +++ b/src/mame/ramtek/m79amb.cpp @@ -230,7 +230,7 @@ static INPUT_PORTS_START( m79amb ) PORT_DIPSETTING( 0xc0, DEF_STR( Free_Play )) PORT_START("8002") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START1 ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_TILT ) diff --git a/src/mame/ramtek/ramtek.cpp b/src/mame/ramtek/ramtek.cpp index d1bec88a444fd..9ca9b2dbacd95 100644 --- a/src/mame/ramtek/ramtek.cpp +++ b/src/mame/ramtek/ramtek.cpp @@ -247,10 +247,10 @@ ROM_END } // anonymous namespace -GAME( 1973, vollyrmt, 0, ramtek, 0, ramtek_state, empty_init, ROT0, "Ramtek", "Volly (Ramtek)", MACHINE_IS_SKELETON ) -GAME( 1973, hockyrmt, 0, ramtek, 0, ramtek_state, empty_init, ROT0, "Ramtek", "Hockey (Ramtek)", MACHINE_IS_SKELETON ) -GAME( 1973, soccrrmt, 0, ramtek, 0, ramtek_state, empty_init, ROT0, "Ramtek", "Soccer (Ramtek)", MACHINE_IS_SKELETON ) -GAME( 1974, wipeormt, 0, ramtek, 0, ramtek_state, empty_init, ROT0, "Ramtek", "Wipeout (Ramtek)", MACHINE_IS_SKELETON ) -GAME( 1974, cleanswp, 0, ramtek, 0, ramtek_state, empty_init, ROT0, "Ramtek", "Clean Sweep", MACHINE_IS_SKELETON ) -GAME( 1974, bballrmt, 0, ramtek, 0, ramtek_state, empty_init, ROT0, "Ramtek", "Baseball (Ramtek)", MACHINE_IS_SKELETON ) -GAME( 1975, trivia, 0, ramtek, 0, ramtek_state, empty_init, ROT0, "Ramtek", "Trivia (Rev B)", MACHINE_IS_SKELETON ) +GAME( 1973, vollyrmt, 0, ramtek, 0, ramtek_state, empty_init, ROT0, "Ramtek", "Volly (Ramtek)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1973, hockyrmt, 0, ramtek, 0, ramtek_state, empty_init, ROT0, "Ramtek", "Hockey (Ramtek)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1973, soccrrmt, 0, ramtek, 0, ramtek_state, empty_init, ROT0, "Ramtek", "Soccer (Ramtek)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1974, wipeormt, 0, ramtek, 0, ramtek_state, empty_init, ROT0, "Ramtek", "Wipeout (Ramtek)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1974, cleanswp, 0, ramtek, 0, ramtek_state, empty_init, ROT0, "Ramtek", "Clean Sweep", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1974, bballrmt, 0, ramtek, 0, ramtek_state, empty_init, ROT0, "Ramtek", "Baseball (Ramtek)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1975, trivia, 0, ramtek, 0, ramtek_state, empty_init, ROT0, "Ramtek", "Trivia (Rev B)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/recfranco/rf51w14cg.cpp b/src/mame/recfranco/rf51w14cg.cpp index 943beba8d7c55..904974127cd1f 100644 --- a/src/mame/recfranco/rf51w14cg.cpp +++ b/src/mame/recfranco/rf51w14cg.cpp @@ -253,6 +253,6 @@ ROM_END } // anonymous namespace // YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS -GAME( 2003, rf51w14cg, 0, rf51w14cg, rf51w14cg, rf51w14cg_state, empty_init, ROT0, "Recreativos Franco", "unknown Recreativos Franco slot machine (model RF51W14-CG)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1995, rfsantafem, 0, rfsantafem, rfsantafem, rf51w14cg_state, empty_init, ROT0, "Recreativos Franco", "Santa Fe Mine (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1995, rfsantafema, rfsantafem, rfsantafem, rfsantafem, rf51w14cg_state, empty_init, ROT0, "Recreativos Franco", "Santa Fe Mine (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 2003, rf51w14cg, 0, rf51w14cg, rf51w14cg, rf51w14cg_state, empty_init, ROT0, "Recreativos Franco", "unknown Recreativos Franco slot machine (model RF51W14-CG)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1995, rfsantafem, 0, rfsantafem, rfsantafem, rf51w14cg_state, empty_init, ROT0, "Recreativos Franco", "Santa Fe Mine (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1995, rfsantafema, rfsantafem, rfsantafem, rfsantafem, rf51w14cg_state, empty_init, ROT0, "Recreativos Franco", "Santa Fe Mine (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/recfranco/rfjailbrk.cpp b/src/mame/recfranco/rfjailbrk.cpp index 442c548c857e0..e55adde648cc8 100644 --- a/src/mame/recfranco/rfjailbrk.cpp +++ b/src/mame/recfranco/rfjailbrk.cpp @@ -119,4 +119,4 @@ ROM_END } // anonymous namespace // YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS -GAME(2000, rfjailbrk, 0, rfjailbrk, rfjailbrk, rfjailbrk_state, empty_init, ROT0, "Recreativos Franco", "Jail Break (Recreativos Franco slot machine)", MACHINE_IS_SKELETON_MECHANICAL) +GAME(2000, rfjailbrk, 0, rfjailbrk, rfjailbrk, rfjailbrk_state, empty_init, ROT0, "Recreativos Franco", "Jail Break (Recreativos Franco slot machine)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) diff --git a/src/mame/recfranco/rfslotspcpent.cpp b/src/mame/recfranco/rfslotspcpent.cpp index c93405787d62f..acf62c830fc08 100644 --- a/src/mame/recfranco/rfslotspcpent.cpp +++ b/src/mame/recfranco/rfslotspcpent.cpp @@ -303,4 +303,4 @@ ROM_END } // Anonymous namespace -GAME( 2014, rfsantafeg, 0, rfslotspcpent, rfslotspcpent, rfslotspcpent_state, empty_init, ROT0, "Recreativos Franco", "Santa Fe Golden", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 2014, rfsantafeg, 0, rfslotspcpent, rfslotspcpent, rfslotspcpent_state, empty_init, ROT0, "Recreativos Franco", "Santa Fe Golden", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/roland/alphajuno.cpp b/src/mame/roland/alphajuno.cpp index 0d27ee43a127c..73b9fdbeaad4f 100644 --- a/src/mame/roland/alphajuno.cpp +++ b/src/mame/roland/alphajuno.cpp @@ -218,8 +218,8 @@ ROM_END } // anonymous namespace -SYST(1985, ajuno1, 0, 0, ajuno1, ajuno1, alphajuno_state, empty_init, "Roland", "Alpha Juno-1 (JU-1) Programmable Polyphonic Synthesizer", MACHINE_IS_SKELETON) -//SYST(1985, hs10, ajuno1, 0, ajuno1, ajuno1, alphajuno_state, empty_init, "Roland", "SynthPlus 10 (HS-10) Programmable Polyphonic Synthesizer", MACHINE_IS_SKELETON) -SYST(1986, ajuno2, 0, 0, ajuno2, ajuno2, alphajuno_state, empty_init, "Roland", "Alpha Juno-2 (JU-2) Programmable Polyphonic Synthesizer", MACHINE_IS_SKELETON) -SYST(1986, hs80, ajuno2, 0, ajuno2, ajuno2, alphajuno_state, empty_init, "Roland", "HS-80 Programmable Polyphonic Synthesizer", MACHINE_IS_SKELETON) -SYST(1987, mks50, 0, 0, mks50, mks50, alphajuno_state, empty_init, "Roland", "MKS-50 Synthesizer Module", MACHINE_IS_SKELETON) +SYST(1985, ajuno1, 0, 0, ajuno1, ajuno1, alphajuno_state, empty_init, "Roland", "Alpha Juno-1 (JU-1) Programmable Polyphonic Synthesizer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +//SYST(1985, hs10, ajuno1, 0, ajuno1, ajuno1, alphajuno_state, empty_init, "Roland", "SynthPlus 10 (HS-10) Programmable Polyphonic Synthesizer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1986, ajuno2, 0, 0, ajuno2, ajuno2, alphajuno_state, empty_init, "Roland", "Alpha Juno-2 (JU-2) Programmable Polyphonic Synthesizer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1986, hs80, ajuno2, 0, ajuno2, ajuno2, alphajuno_state, empty_init, "Roland", "HS-80 Programmable Polyphonic Synthesizer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1987, mks50, 0, 0, mks50, mks50, alphajuno_state, empty_init, "Roland", "MKS-50 Synthesizer Module", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/roland/boss_se70.cpp b/src/mame/roland/boss_se70.cpp index 114228e2703e4..bdce0b1b99f6b 100644 --- a/src/mame/roland/boss_se70.cpp +++ b/src/mame/roland/boss_se70.cpp @@ -57,4 +57,4 @@ ROM_END } // anonymous namespace -SYST(1993, se70, 0, 0, se70, se70, boss_se70_state, empty_init, "Roland", "Boss SE-70 Super Effects Processor", MACHINE_IS_SKELETON) +SYST(1993, se70, 0, 0, se70, se70, boss_se70_state, empty_init, "Roland", "Boss SE-70 Super Effects Processor", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/roland/boss_sx700.cpp b/src/mame/roland/boss_sx700.cpp index 2ab0d446f0b5e..040af5b3086e6 100644 --- a/src/mame/roland/boss_sx700.cpp +++ b/src/mame/roland/boss_sx700.cpp @@ -81,5 +81,5 @@ ROM_END } // anonymous namespace -SYST(1996, sx700, 0, 0, sx700, sx700, boss_sx700_state, empty_init, "Roland", "Boss SX-700 Studio Effects Processor", MACHINE_IS_SKELETON) -SYST(1996, gx700, 0, 0, gx700, sx700, boss_sx700_state, empty_init, "Roland", "Boss GX-700 Guitar Effects Processor", MACHINE_IS_SKELETON) +SYST(1996, sx700, 0, 0, sx700, sx700, boss_sx700_state, empty_init, "Roland", "Boss SX-700 Studio Effects Processor", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1996, gx700, 0, 0, gx700, sx700, boss_sx700_state, empty_init, "Roland", "Boss GX-700 Guitar Effects Processor", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/roland/juno106.cpp b/src/mame/roland/juno106.cpp index b351f68bfcc81..ba61df07d6c94 100644 --- a/src/mame/roland/juno106.cpp +++ b/src/mame/roland/juno106.cpp @@ -169,5 +169,5 @@ ROM_END } // anonymous namespace -SYST(1984, juno106, 0, 0, juno106, juno106, juno106_state, empty_init, "Roland", "Juno-106 Programmable Polyphonic Synthesizer", MACHINE_IS_SKELETON) -SYST(1985, mks7, 0, 0, mks7, mks7, juno106_state, empty_init, "Roland", "MKS-7 Super Quartet", MACHINE_IS_SKELETON) +SYST(1984, juno106, 0, 0, juno106, juno106, juno106_state, empty_init, "Roland", "Juno-106 Programmable Polyphonic Synthesizer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1985, mks7, 0, 0, mks7, mks7, juno106_state, empty_init, "Roland", "MKS-7 Super Quartet", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/roland/juno6.cpp b/src/mame/roland/juno6.cpp index 87e24779852cc..98c297913fd9c 100644 --- a/src/mame/roland/juno6.cpp +++ b/src/mame/roland/juno6.cpp @@ -132,4 +132,4 @@ ROM_END } // anonymous namespace -SYST(1982, juno6, 0, 0, juno6, juno6, juno6_state, empty_init, "Roland", "Juno-6 (JU-6) Polyphonic Synthesizer", MACHINE_IS_SKELETON) +SYST(1982, juno6, 0, 0, juno6, juno6, juno6_state, empty_init, "Roland", "Juno-6 (JU-6) Polyphonic Synthesizer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/roland/roland_jd800.cpp b/src/mame/roland/roland_jd800.cpp index 35335f802f3f4..75c842ce8a816 100644 --- a/src/mame/roland/roland_jd800.cpp +++ b/src/mame/roland/roland_jd800.cpp @@ -77,4 +77,4 @@ ROM_END } // anonymous namespace -SYST(1991, jd800, 0, 0, jd800, jd800, roland_jd800_state, empty_init, "Roland", "JD-800 Programmable Synthesizer", MACHINE_IS_SKELETON) +SYST(1991, jd800, 0, 0, jd800, jd800, roland_jd800_state, empty_init, "Roland", "JD-800 Programmable Synthesizer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/roland/roland_jv80.cpp b/src/mame/roland/roland_jv80.cpp index c34992b73ed07..7bde946d92a17 100644 --- a/src/mame/roland/roland_jv80.cpp +++ b/src/mame/roland/roland_jv80.cpp @@ -141,6 +141,6 @@ ROM_END } // anonymous namespace -//SYST(1992, jv80, 0, 0, jv80, jv80, roland_jv80_state, empty_init, "Roland", "JV-80 Multi Timbral Synthesizer", MACHINE_IS_SKELETON) -SYST(1992, jv880, 0, 0, jv880, jv880, roland_jv80_state, empty_init, "Roland", "JV-880 Multi Timbral Synthesizer Module", MACHINE_IS_SKELETON) -SYST(1994, rd500, 0, 0, rd500, rd500, roland_rd500_state, empty_init, "Roland", "RD-500 Digital Piano", MACHINE_IS_SKELETON) +//SYST(1992, jv80, 0, 0, jv80, jv80, roland_jv80_state, empty_init, "Roland", "JV-80 Multi Timbral Synthesizer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1992, jv880, 0, 0, jv880, jv880, roland_jv80_state, empty_init, "Roland", "JV-880 Multi Timbral Synthesizer Module", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1994, rd500, 0, 0, rd500, rd500, roland_rd500_state, empty_init, "Roland", "RD-500 Digital Piano", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/roland/roland_jx3p.cpp b/src/mame/roland/roland_jx3p.cpp index bf86920847846..d97b867a51765 100644 --- a/src/mame/roland/roland_jx3p.cpp +++ b/src/mame/roland/roland_jx3p.cpp @@ -271,6 +271,6 @@ ROM_END } // anonymous namespace -SYST(1983, jx3p, 0, 0, jx3p, jx3p, roland_jx3p_state, empty_init, "Roland", "JX-3P Programmable Preset Polyphonic Synthesizer", MACHINE_IS_SKELETON) -SYST(1984, mks30, 0, 0, mks30, mks30, roland_jx3p_state, empty_init, "Roland", "MKS-30 Planet-S MIDI Sound Module", MACHINE_IS_SKELETON) -SYST(1984, gr700, 0, 0, gr700, mks30, roland_jx3p_state, empty_init, "Roland", "GR-700 Guitar Synthesizer", MACHINE_IS_SKELETON) +SYST(1983, jx3p, 0, 0, jx3p, jx3p, roland_jx3p_state, empty_init, "Roland", "JX-3P Programmable Preset Polyphonic Synthesizer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1984, mks30, 0, 0, mks30, mks30, roland_jx3p_state, empty_init, "Roland", "MKS-30 Planet-S MIDI Sound Module", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1984, gr700, 0, 0, gr700, mks30, roland_jx3p_state, empty_init, "Roland", "GR-700 Guitar Synthesizer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/roland/roland_jx8p.cpp b/src/mame/roland/roland_jx8p.cpp index 4b964c3743dcc..957ff658dbdac 100644 --- a/src/mame/roland/roland_jx8p.cpp +++ b/src/mame/roland/roland_jx8p.cpp @@ -441,7 +441,7 @@ ROM_END } // anonymous namespace -SYST(1985, jx8p, 0, 0, jx8p, jx8p, roland_jx8p_state, empty_init, "Roland", "JX-8P Polyphonic Synthesizer (Ver. 3.x)", MACHINE_IS_SKELETON) -SYST(1985, jx8po, jx8p, 0, jx8po, jx8p, roland_jx8p_state, empty_init, "Roland", "JX-8P Polyphonic Synthesizer (Ver. 2.x)", MACHINE_IS_SKELETON) -SYST(1986, jx10, 0, 0, jx10, jx10, roland_jx8p_state, empty_init, "Roland", "JX-10 Super JX Polyphonic Synthesizer", MACHINE_IS_SKELETON) -SYST(1987, mks70, jx10, 0, mks70, mks70, roland_jx8p_state, empty_init, "Roland", "MKS-70 Super JX Polyphonic Synthesizer", MACHINE_IS_SKELETON) +SYST(1985, jx8p, 0, 0, jx8p, jx8p, roland_jx8p_state, empty_init, "Roland", "JX-8P Polyphonic Synthesizer (Ver. 3.x)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1985, jx8po, jx8p, 0, jx8po, jx8p, roland_jx8p_state, empty_init, "Roland", "JX-8P Polyphonic Synthesizer (Ver. 2.x)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1986, jx10, 0, 0, jx10, jx10, roland_jx8p_state, empty_init, "Roland", "JX-10 Super JX Polyphonic Synthesizer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1987, mks70, jx10, 0, mks70, mks70, roland_jx8p_state, empty_init, "Roland", "MKS-70 Super JX Polyphonic Synthesizer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/roland/roland_mc50.cpp b/src/mame/roland/roland_mc50.cpp index 3b8482d4a0c02..bb000b73d281e 100644 --- a/src/mame/roland/roland_mc50.cpp +++ b/src/mame/roland/roland_mc50.cpp @@ -132,6 +132,6 @@ ROM_END } // anonymous namespace -SYST(1988, mc300, 0, 0, mc300, mc50, roland_mc50_state, empty_init, "Roland", "MC-300 Micro Composer", MACHINE_IS_SKELETON) -SYST(1990, mc50, 0, 0, mc50, mc50, roland_mc50_state, empty_init, "Roland", "MC-50 Micro Composer", MACHINE_IS_SKELETON) -SYST(1992, mc50mk2, 0, 0, mc50mk2, mc50, roland_mc50_state, empty_init, "Roland", "MC-50mkII Micro Composer", MACHINE_IS_SKELETON) +SYST(1988, mc300, 0, 0, mc300, mc50, roland_mc50_state, empty_init, "Roland", "MC-300 Micro Composer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1990, mc50, 0, 0, mc50, mc50, roland_mc50_state, empty_init, "Roland", "MC-50 Micro Composer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1992, mc50mk2, 0, 0, mc50mk2, mc50, roland_mc50_state, empty_init, "Roland", "MC-50mkII Micro Composer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/roland/roland_mt80s.cpp b/src/mame/roland/roland_mt80s.cpp index 6a502c36dcd89..3ad6e8380e2ef 100644 --- a/src/mame/roland/roland_mt80s.cpp +++ b/src/mame/roland/roland_mt80s.cpp @@ -64,4 +64,4 @@ ROM_END } // anonymous namespace -SYST(1995, mt80s, 0, 0, mt80s, mt80s, roland_mt80s_state, empty_init, "Roland", "MT 80s Music Player", MACHINE_IS_SKELETON) +SYST(1995, mt80s, 0, 0, mt80s, mt80s, roland_mt80s_state, empty_init, "Roland", "MT 80s Music Player", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/roland/roland_r8.cpp b/src/mame/roland/roland_r8.cpp index 64bbe92bf077d..2b19e450e393d 100644 --- a/src/mame/roland/roland_r8.cpp +++ b/src/mame/roland/roland_r8.cpp @@ -382,6 +382,6 @@ ROM_END } // anonymous namespace -SYST(1989, r8, 0, 0, r8, r8, roland_r8_state, init_r8, "Roland", "R-8 Human Rhythm Composer (v2.02)", MACHINE_IS_SKELETON) -SYST(1990, r8m, r8, 0, r8m, r8, roland_r8m_state, init_r8, "Roland", "R-8M Total Percussion Sound Module (v1.04)", MACHINE_IS_SKELETON) -SYST(1992, r8mk2, 0, 0, r8mk2, r8, roland_r8mk2_state, init_r8, "Roland", "R-8 Mk II Human Rhythm Composer (v1.0.3)", MACHINE_IS_SKELETON) +SYST(1989, r8, 0, 0, r8, r8, roland_r8_state, init_r8, "Roland", "R-8 Human Rhythm Composer (v2.02)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1990, r8m, r8, 0, r8m, r8, roland_r8m_state, init_r8, "Roland", "R-8M Total Percussion Sound Module (v1.04)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1992, r8mk2, 0, 0, r8mk2, r8, roland_r8mk2_state, init_r8, "Roland", "R-8 Mk II Human Rhythm Composer (v1.0.3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/roland/roland_ra30.cpp b/src/mame/roland/roland_ra30.cpp index 8c911d34824d0..df3bfc5d026ae 100644 --- a/src/mame/roland/roland_ra30.cpp +++ b/src/mame/roland/roland_ra30.cpp @@ -55,4 +55,4 @@ ROM_END } // anonymous namespace -SYST(1995, ra30, 0, 0, ra30, ra30, roland_ra30_state, empty_init, "Roland", "RA-30 Realtime Arranger", MACHINE_IS_SKELETON) +SYST(1995, ra30, 0, 0, ra30, ra30, roland_ra30_state, empty_init, "Roland", "RA-30 Realtime Arranger", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/roland/roland_s10.cpp b/src/mame/roland/roland_s10.cpp index bb566a2a178e0..642c7512de619 100644 --- a/src/mame/roland/roland_s10.cpp +++ b/src/mame/roland/roland_s10.cpp @@ -305,6 +305,6 @@ ROM_END } // anonymous namespace -SYST(1986, s10, 0, 0, s10, s10, roland_s10_state, empty_init, "Roland", "S-10 Digital Sampling Keyboard", MACHINE_IS_SKELETON) -SYST(1987, mks100, s10, 0, mks100, mks100, roland_s10_state, empty_init, "Roland", "MKS-100 Digital Sampler", MACHINE_IS_SKELETON) -SYST(1987, s220, 0, 0, s220, s220, roland_s220_state, empty_init, "Roland", "S-220 Digital Sampler", MACHINE_IS_SKELETON) +SYST(1986, s10, 0, 0, s10, s10, roland_s10_state, empty_init, "Roland", "S-10 Digital Sampling Keyboard", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1987, mks100, s10, 0, mks100, mks100, roland_s10_state, empty_init, "Roland", "MKS-100 Digital Sampler", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1987, s220, 0, 0, s220, s220, roland_s220_state, empty_init, "Roland", "S-220 Digital Sampler", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/roland/roland_s50.cpp b/src/mame/roland/roland_s50.cpp index 4f9724cd5b0c0..b9a29f439864f 100644 --- a/src/mame/roland/roland_s50.cpp +++ b/src/mame/roland/roland_s50.cpp @@ -611,7 +611,7 @@ ROM_END } // anonymous namespace -SYST(1987, s50, 0, 0, s50, s50, roland_s50_state, empty_init, "Roland", "S-50 Digital Sampling Keyboard", MACHINE_IS_SKELETON) -SYST(1987, s550, s50, 0, s550, s550, roland_s550_state, empty_init, "Roland", "S-550 Digital Sampler", MACHINE_IS_SKELETON) -SYST(1988, w30, 0, 0, w30, w30, roland_w30_state, empty_init, "Roland", "W-30 Music Workstation", MACHINE_IS_SKELETON) -//SYST(1988, s330, w30, 0, s330, s330, roland_w30_state, empty_init, "Roland", "S-330 Digital Sampler", MACHINE_IS_SKELETON) +SYST(1987, s50, 0, 0, s50, s50, roland_s50_state, empty_init, "Roland", "S-50 Digital Sampling Keyboard", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1987, s550, s50, 0, s550, s550, roland_s550_state, empty_init, "Roland", "S-550 Digital Sampler", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1988, w30, 0, 0, w30, w30, roland_w30_state, empty_init, "Roland", "W-30 Music Workstation", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +//SYST(1988, s330, w30, 0, s330, s330, roland_w30_state, empty_init, "Roland", "S-330 Digital Sampler", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/roland/roland_sc88.cpp b/src/mame/roland/roland_sc88.cpp index cb2198c168b42..bf1525ecfe731 100644 --- a/src/mame/roland/roland_sc88.cpp +++ b/src/mame/roland/roland_sc88.cpp @@ -68,4 +68,4 @@ ROM_END } // anonymous namespace -SYST(1995, sc88vl, 0, 0, sc88vl, sc88vl, roland_sc88_state, empty_init, "Roland", "SoundCanvas SC-88VL", MACHINE_IS_SKELETON) +SYST(1995, sc88vl, 0, 0, sc88vl, sc88vl, roland_sc88_state, empty_init, "Roland", "SoundCanvas SC-88VL", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/roland/roland_tnsc1.cpp b/src/mame/roland/roland_tnsc1.cpp index c2ceb4690d288..d5937e04b8f59 100644 --- a/src/mame/roland/roland_tnsc1.cpp +++ b/src/mame/roland/roland_tnsc1.cpp @@ -71,4 +71,4 @@ ROM_END } // anonymous namespace -CONS( 198?, rlndtnsc1, 0, 0, rlndtnsc1, rlndtnsc1, rlndtnsc1_state, empty_init, "Roland", "Roland Music Style Card TN-SC1 Software List holder", MACHINE_IS_SKELETON ) +CONS( 198?, rlndtnsc1, 0, 0, rlndtnsc1, rlndtnsc1, rlndtnsc1_state, empty_init, "Roland", "Roland Music Style Card TN-SC1 Software List holder", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/roland/roland_tnsc2.cpp b/src/mame/roland/roland_tnsc2.cpp index a8b9685cabbbd..8ec564aec823a 100644 --- a/src/mame/roland/roland_tnsc2.cpp +++ b/src/mame/roland/roland_tnsc2.cpp @@ -71,4 +71,4 @@ ROM_END } // anonymous namespace -CONS( 198?, rlndtnsc2, 0, 0, rlndtnsc2, rlndtnsc2, rlndtnsc2_state, empty_init, "Roland", "Roland Music Style Card TN-SC2 Software List holder", MACHINE_IS_SKELETON ) +CONS( 198?, rlndtnsc2, 0, 0, rlndtnsc2, rlndtnsc2, rlndtnsc2_state, empty_init, "Roland", "Roland Music Style Card TN-SC2 Software List holder", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/roland/roland_tr505.cpp b/src/mame/roland/roland_tr505.cpp index 88ed612381ec3..da658418f2b87 100644 --- a/src/mame/roland/roland_tr505.cpp +++ b/src/mame/roland/roland_tr505.cpp @@ -64,4 +64,4 @@ ROM_END } // anonymous namespace -SYST(1986, tr505, 0, 0, tr505, tr505, roland_tr505_state, empty_init, "Roland", "TR-505 Rhythm Composer", MACHINE_IS_SKELETON) +SYST(1986, tr505, 0, 0, tr505, tr505, roland_tr505_state, empty_init, "Roland", "TR-505 Rhythm Composer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/roland/roland_tr606.cpp b/src/mame/roland/roland_tr606.cpp index 80ad852da2d30..2a43c6a799200 100644 --- a/src/mame/roland/roland_tr606.cpp +++ b/src/mame/roland/roland_tr606.cpp @@ -91,4 +91,4 @@ ROM_END Drivers ***************************************************************************/ -SYST( 1982, tr606, 0, 0, tr606, tr606, tr606_state, empty_init, "Roland", "TR-606 Drumatix", MACHINE_IS_SKELETON ) +SYST( 1982, tr606, 0, 0, tr606, tr606, tr606_state, empty_init, "Roland", "TR-606 Drumatix", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/roland/roland_tr707.cpp b/src/mame/roland/roland_tr707.cpp index 1f880be562590..83f030fac8b94 100644 --- a/src/mame/roland/roland_tr707.cpp +++ b/src/mame/roland/roland_tr707.cpp @@ -202,5 +202,5 @@ ROM_END } // anonymous namespace -SYST(1985, tr707, 0, 0, tr707, tr707, roland_tr707_state, empty_init, "Roland", "TR-707 Rhythm Composer", MACHINE_IS_SKELETON) -SYST(1985, tr727, 0, 0, tr707, tr707, roland_tr707_state, empty_init, "Roland", "TR-727 Rhythm Composer", MACHINE_IS_SKELETON) +SYST(1985, tr707, 0, 0, tr707, tr707, roland_tr707_state, empty_init, "Roland", "TR-707 Rhythm Composer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1985, tr727, 0, 0, tr707, tr707, roland_tr707_state, empty_init, "Roland", "TR-727 Rhythm Composer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/roland/roland_tr808.cpp b/src/mame/roland/roland_tr808.cpp index 02933efcb6a98..58699a169e6f6 100644 --- a/src/mame/roland/roland_tr808.cpp +++ b/src/mame/roland/roland_tr808.cpp @@ -91,4 +91,4 @@ ROM_END Drivers ***************************************************************************/ -SYST( 1980, tr808, 0, 0, tr808, tr808, tr808_state, empty_init, "Roland", "TR-808 Rhythm Composer", MACHINE_IS_SKELETON ) +SYST( 1980, tr808, 0, 0, tr808, tr808, tr808_state, empty_init, "Roland", "TR-808 Rhythm Composer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/roland/roland_u20.cpp b/src/mame/roland/roland_u20.cpp index 979f68b57c880..ec16bc69accdb 100644 --- a/src/mame/roland/roland_u20.cpp +++ b/src/mame/roland/roland_u20.cpp @@ -104,5 +104,5 @@ ROM_END } // anonymous namespace -SYST(1989, u20, 0, 0, u20, u20, roland_u20_state, empty_init, "Roland", "U-20 RS-PCM Keyboard", MACHINE_IS_SKELETON) -SYST(1989, u220, 0, 0, u220, u20, roland_u20_state, empty_init, "Roland", "U-220 RS-PCM Sound Module", MACHINE_IS_SKELETON) +SYST(1989, u20, 0, 0, u20, u20, roland_u20_state, empty_init, "Roland", "U-20 RS-PCM Keyboard", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1989, u220, 0, 0, u220, u20, roland_u20_state, empty_init, "Roland", "U-220 RS-PCM Sound Module", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/saitek/corona.cpp b/src/mame/saitek/corona.cpp index 310390a62c80e..39dab1bffcd4f 100644 --- a/src/mame/saitek/corona.cpp +++ b/src/mame/saitek/corona.cpp @@ -13,7 +13,7 @@ different compared to Stratos/Turbo King. #include "emu.h" #include "stratos.h" -#include "cpu/m6502/m65c02.h" +#include "cpu/m6502/w65c02.h" #include "machine/nvram.h" #include "machine/sensorboard.h" #include "sound/dac.h" @@ -260,7 +260,7 @@ INPUT_PORTS_END void corona_state::corona(machine_config &config) { // basic machine hardware - M65C02(config, m_maincpu, 5_MHz_XTAL); // see change_cpu_freq + W65C02(config, m_maincpu, 5_MHz_XTAL); // see change_cpu_freq m_maincpu->set_addrmap(AS_PROGRAM, &corona_state::main_map); m_maincpu->set_periodic_int(FUNC(corona_state::irq0_line_hold), attotime::from_hz(183)); diff --git a/src/mame/saitek/minichess.cpp b/src/mame/saitek/minichess.cpp index 1377e5c304c6e..fa74a6ce30c5b 100644 --- a/src/mame/saitek/minichess.cpp +++ b/src/mame/saitek/minichess.cpp @@ -109,7 +109,8 @@ template void mini_state::seg_w(u8 data) { // R2x,R3x: LCD segment data - m_lcd_data = (m_lcd_data & ~(0xf << (N*4))) | (data << (N*4)); + const u8 shift = N * 4; + m_lcd_data = (m_lcd_data & ~(0xf << shift)) | (data << shift); update_lcd(); } @@ -196,6 +197,7 @@ void mini_state::smchess(machine_config &config) PWM_DISPLAY(config, m_display).set_size(4, 8); m_display->set_segmask(0xf, 0x7f); m_display->set_refresh(attotime::from_hz(30)); + config.set_default_layout(layout_saitek_minichess); screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); diff --git a/src/mame/saitek/simultano.cpp b/src/mame/saitek/simultano.cpp index 8a6b257cd5f7a..cca07d80e167f 100644 --- a/src/mame/saitek/simultano.cpp +++ b/src/mame/saitek/simultano.cpp @@ -31,8 +31,8 @@ programmed by Saitek. Not as a simple rebrand, but with hardware differences: #include "bus/generic/slot.h" #include "bus/generic/carts.h" -#include "cpu/m6502/m65c02.h" #include "cpu/m6502/r65c02.h" +#include "cpu/m6502/w65c02.h" #include "machine/nvram.h" #include "machine/sensorboard.h" #include "sound/dac.h" @@ -352,7 +352,7 @@ void simultano_state::simultano(machine_config &config) cc2150(config); // basic machine hardware - M65C02(config.replace(), m_maincpu, 5_MHz_XTAL); + W65C02(config.replace(), m_maincpu, 5_MHz_XTAL); m_maincpu->set_addrmap(AS_PROGRAM, &simultano_state::simultano_map); m_maincpu->set_periodic_int(FUNC(simultano_state::irq0_line_hold), attotime::from_hz(76)); // approximation diff --git a/src/mame/saitek/stratos.cpp b/src/mame/saitek/stratos.cpp index b1a51a7c80f43..8ee440c7c3812 100644 --- a/src/mame/saitek/stratos.cpp +++ b/src/mame/saitek/stratos.cpp @@ -54,7 +54,7 @@ is engine version C. #include "emu.h" #include "stratos.h" -#include "cpu/m6502/m65c02.h" +#include "cpu/m6502/w65c02.h" #include "machine/nvram.h" #include "machine/sensorboard.h" #include "sound/dac.h" @@ -490,7 +490,7 @@ INPUT_PORTS_END void stratos_state::stratos(machine_config &config) { // basic machine hardware - M65C02(config, m_maincpu, 5_MHz_XTAL); // see change_cpu_freq + W65C02(config, m_maincpu, 5_MHz_XTAL); // see change_cpu_freq m_maincpu->set_addrmap(AS_PROGRAM, &stratos_state::main_map); m_maincpu->set_periodic_int(FUNC(stratos_state::irq0_line_hold), attotime::from_hz(76)); diff --git a/src/mame/samsung/dvd-n5xx.cpp b/src/mame/samsung/dvd-n5xx.cpp index f65604f5c0d61..7d58fb478e252 100644 --- a/src/mame/samsung/dvd-n5xx.cpp +++ b/src/mame/samsung/dvd-n5xx.cpp @@ -324,4 +324,4 @@ ROM_END } // anonymous namespace -SYST( 2001, n501, 0, 0, n501, n501, n5xx_state, empty_init, "Samsung", "Samsung NUON Enhanced DVD Player / DVD-N501", MACHINE_IS_SKELETON ) +SYST( 2001, n501, 0, 0, n501, n501, n5xx_state, empty_init, "Samsung", "Samsung NUON Enhanced DVD Player / DVD-N501", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/saturn/st17xx.cpp b/src/mame/saturn/st17xx.cpp index ead86b9365503..3c664bdcdca52 100644 --- a/src/mame/saturn/st17xx.cpp +++ b/src/mame/saturn/st17xx.cpp @@ -186,13 +186,13 @@ ROM_END /* System Drivers */ // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -CONS( 200?, st1700h, 0, 0, st17xx, st17xx, st17xx_state, empty_init, "Saturn", "ST-1700 (headphone version)", MACHINE_IS_SKELETON ) -CONS( 200?, st1701, 0, 0, st17xx, st17xx, st17xx_state, empty_init, "Saturn", "ST-1701", MACHINE_IS_SKELETON ) -CONS( 200?, st1702, 0, 0, st17xx, st17xx, st17xx_state, empty_init, "Saturn", "ST-1702", MACHINE_IS_SKELETON ) -CONS( 200?, st1703, 0, 0, st17xx, st17xx, st17xx_state, empty_init, "Saturn", "ST-1703", MACHINE_IS_SKELETON ) -CONS( 200?, st1704, 0, 0, st17xx, st17xx, st17xx_state, empty_init, "Saturn", "ST-1704", MACHINE_IS_SKELETON ) -CONS( 200?, st1705, 0, 0, st17xx, st17xx, st17xx_state, empty_init, "Saturn", "ST-1705", MACHINE_IS_SKELETON ) -CONS( 200?, st1706, 0, 0, st17xx, st17xx, st17xx_state, empty_init, "Saturn", "ST-1706", MACHINE_IS_SKELETON ) -CONS( 200?, st1707, 0, 0, st17xx, st17xx, st17xx_state, empty_init, "Saturn", "ST-1707", MACHINE_IS_SKELETON ) -CONS( 200?, st1708, 0, 0, st17xx, st17xx, st17xx_state, empty_init, "Saturn", "ST-1708", MACHINE_IS_SKELETON ) -CONS( 200?, st1714, 0, 0, st17xx, st17xx, st17xx_state, empty_init, "Saturn", "ST-1714", MACHINE_IS_SKELETON ) +CONS( 200?, st1700h, 0, 0, st17xx, st17xx, st17xx_state, empty_init, "Saturn", "ST-1700 (headphone version)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 200?, st1701, 0, 0, st17xx, st17xx, st17xx_state, empty_init, "Saturn", "ST-1701", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 200?, st1702, 0, 0, st17xx, st17xx, st17xx_state, empty_init, "Saturn", "ST-1702", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 200?, st1703, 0, 0, st17xx, st17xx, st17xx_state, empty_init, "Saturn", "ST-1703", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 200?, st1704, 0, 0, st17xx, st17xx, st17xx_state, empty_init, "Saturn", "ST-1704", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 200?, st1705, 0, 0, st17xx, st17xx, st17xx_state, empty_init, "Saturn", "ST-1705", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 200?, st1706, 0, 0, st17xx, st17xx, st17xx_state, empty_init, "Saturn", "ST-1706", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 200?, st1707, 0, 0, st17xx, st17xx, st17xx_state, empty_init, "Saturn", "ST-1707", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 200?, st1708, 0, 0, st17xx, st17xx, st17xx_state, empty_init, "Saturn", "ST-1708", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 200?, st1714, 0, 0, st17xx, st17xx, st17xx_state, empty_init, "Saturn", "ST-1714", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/sealy/sealy.cpp b/src/mame/sealy/sealy.cpp index 0fa86ee76bf94..d29476a25aa72 100644 --- a/src/mame/sealy/sealy.cpp +++ b/src/mame/sealy/sealy.cpp @@ -145,4 +145,4 @@ ROM_END } // anonymous namespace -GAME( 2004?, crzyddz, 0, sealy, sealy, sealy_state, empty_init, ROT0, "Sealy", "Crazy Dou Di Zhu", MACHINE_IS_SKELETON ) +GAME( 2004?, crzyddz, 0, sealy, sealy, sealy_state, empty_init, ROT0, "Sealy", "Crazy Dou Di Zhu", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/sealy/sealy_eagle.cpp b/src/mame/sealy/sealy_eagle.cpp index 4cef1229c7e69..957b18412823f 100644 --- a/src/mame/sealy/sealy_eagle.cpp +++ b/src/mame/sealy/sealy_eagle.cpp @@ -174,4 +174,4 @@ ROM_END } // anonymous namespace -GAME( 2011, qczl, 0, qczl, qczl, sealy_eagle_state, empty_init, ROT0, "Sealy", "Qing Cheng Zhi Lian", MACHINE_IS_SKELETON ) +GAME( 2011, qczl, 0, qczl, qczl, sealy_eagle_state, empty_init, ROT0, "Sealy", "Qing Cheng Zhi Lian", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/sealy/sealy_fr.cpp b/src/mame/sealy/sealy_fr.cpp index 66bde56b5f9d7..58d7c7cb0ece3 100644 --- a/src/mame/sealy/sealy_fr.cpp +++ b/src/mame/sealy/sealy_fr.cpp @@ -51,4 +51,4 @@ ROM_START( snowbwar ) DISK_IMAGE( "snowbwar", 0, SHA1(6d2f63871b73283555de8d24029234c736ff0ba3) ) ROM_END -GAME( 20??, snowbwar, 0, sealy_fr, sealy_fr, sealy_fr_state, empty_init, ROT0, "Sealy", "Snowball War - WakuWaku Yukigassen", MACHINE_IS_SKELETON ) +GAME( 20??, snowbwar, 0, sealy_fr, sealy_fr, sealy_fr_state, empty_init, ROT0, "Sealy", "Snowball War - WakuWaku Yukigassen", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/sega/anyworks.cpp b/src/mame/sega/anyworks.cpp index 7c62b020e122d..ff64f153d2f48 100644 --- a/src/mame/sega/anyworks.cpp +++ b/src/mame/sega/anyworks.cpp @@ -112,4 +112,4 @@ ROM_END } // anonymous namespace -GAME( 2010, unkanyw, 0, unkanyw, unkanyw, anyworks_state, empty_init, ROT0, "AnyWorks / Sega", "unknown AnyWorks / Sega medal game BIOS", MACHINE_IS_SKELETON ) +GAME( 2010, unkanyw, 0, unkanyw, unkanyw, anyworks_state, empty_init, ROT0, "AnyWorks / Sega", "unknown AnyWorks / Sega medal game BIOS", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/sega/digamart.cpp b/src/mame/sega/digamart.cpp index d1a1e0bd465eb..ce04c1b1e2319 100644 --- a/src/mame/sega/digamart.cpp +++ b/src/mame/sega/digamart.cpp @@ -134,4 +134,4 @@ ROM_END } // anonymous namespace -GAME( 1983, digamart, 0, digamart, digamart, digamart_state, empty_init, ROT0, "Sega", "Diga Mart (rev. A)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1983, digamart, 0, digamart, digamart, digamart_state, empty_init, ROT0, "Sega", "Diga Mart (rev. A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/sega/eshockey.cpp b/src/mame/sega/eshockey.cpp index bd072722d8f49..38712768411eb 100644 --- a/src/mame/sega/eshockey.cpp +++ b/src/mame/sega/eshockey.cpp @@ -230,4 +230,4 @@ ROM_END } // anonymous namespace -GAME( 1993, eshockey, 0, eshockey, eshockey, eshockey_state, empty_init, ROT0, "Sega", "Exciting Speed Hockey (V19930325)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1993, eshockey, 0, eshockey, eshockey, eshockey_state, empty_init, ROT0, "Sega", "Exciting Speed Hockey (V19930325)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/sega/monacogp.cpp b/src/mame/sega/monacogp.cpp index 4612e3e798a31..11ba95d0779f5 100644 --- a/src/mame/sega/monacogp.cpp +++ b/src/mame/sega/monacogp.cpp @@ -272,5 +272,5 @@ ROM_END } // anonymous namespace -GAME( 1980, monacogp, 0, monacogp, 0, monacogp_state, empty_init, ROT0, "Sega", "Monaco GP (set 1)", MACHINE_IS_SKELETON ) -GAME( 1980, monacogpa, monacogp, monacogp, 0, monacogp_state, empty_init, ROT0, "Sega", "Monaco GP (set 2)", MACHINE_IS_SKELETON ) +GAME( 1980, monacogp, 0, monacogp, 0, monacogp_state, empty_init, ROT0, "Sega", "Monaco GP (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1980, monacogpa, monacogp, monacogp, 0, monacogp_state, empty_init, ROT0, "Sega", "Monaco GP (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/sega/sega_sawatte.cpp b/src/mame/sega/sega_sawatte.cpp index 723d1cad02cb6..b821e7cde656f 100644 --- a/src/mame/sega/sega_sawatte.cpp +++ b/src/mame/sega/sega_sawatte.cpp @@ -251,4 +251,4 @@ ROM_END } // anonymous namespace -CONS( 1996?, sawatte, 0, 0, sawatte, sawatte, sawatte_state, empty_init, "Sega", "Sawatte", MACHINE_IS_SKELETON ) +CONS( 1996?, sawatte, 0, 0, sawatte, sawatte, sawatte_state, empty_init, "Sega", "Sawatte", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/sega/segacoin.cpp b/src/mame/sega/segacoin.cpp index 43dfb686320bb..61a307a49df6c 100644 --- a/src/mame/sega/segacoin.cpp +++ b/src/mame/sega/segacoin.cpp @@ -180,4 +180,4 @@ ROM_END } // anonymous namespace -GAME( 1992, westdrm, 0, westdrm, westdrm, segacoin_state, empty_init, ROT0, "Sega", "Western Dream", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1992, westdrm, 0, westdrm, westdrm, segacoin_state, empty_init, ROT0, "Sega", "Western Dream", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/sega/segattl.cpp b/src/mame/sega/segattl.cpp index f6a35453ebedf..be44c8fa3a0e8 100644 --- a/src/mame/sega/segattl.cpp +++ b/src/mame/sega/segattl.cpp @@ -178,4 +178,4 @@ ROM_END } // anonymous namespace -GAME( 1976, fonz, 0, segattl, 0, segattl_state, empty_init, ROT0, "Sega", "Fonz", MACHINE_IS_SKELETON ) +GAME( 1976, fonz, 0, segattl, 0, segattl_state, empty_init, ROT0, "Sega", "Fonz", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/sega/segaufoh8.cpp b/src/mame/sega/segaufoh8.cpp index 6dc66be5b07b3..989fb30f3bb2f 100644 --- a/src/mame/sega/segaufoh8.cpp +++ b/src/mame/sega/segaufoh8.cpp @@ -133,4 +133,4 @@ ROM_END } // anonymous namespace -GAME( 2001, ufo7, 0, segaufoh8, ufo7, segaufoh8_state, empty_init, ROT0, "Sega", "UFO Catcher 7", MACHINE_IS_SKELETON_MECHANICAL ) // UFO Catch 7 V20011112 in string in ROM +GAME( 2001, ufo7, 0, segaufoh8, ufo7, segaufoh8_state, empty_init, ROT0, "Sega", "UFO Catcher 7", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // UFO Catch 7 V20011112 in string in ROM diff --git a/src/mame/sega/speedbsk.cpp b/src/mame/sega/speedbsk.cpp index b375d74a5a7dd..0198fe1518e5c 100644 --- a/src/mame/sega/speedbsk.cpp +++ b/src/mame/sega/speedbsk.cpp @@ -533,4 +533,4 @@ ROM_END // YEAR NAME PARENT MACHINE INPUT CLASS INIT ROTATION COMPANY FULLNAME FLAGS GAME( 1992, speedbsk, 0, speedbsk, speedbsk, speedbsk_state, empty_init, ROT0, "Sega", "Speed Basketball", MACHINE_MECHANICAL | MACHINE_NOT_WORKING ) -GAME( 1993, boatrace, 0, speedbsk, speedbsk, speedbsk_state, empty_init, ROT0, "Sega", "Exciting Boat Race", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1993, boatrace, 0, speedbsk, speedbsk, speedbsk_state, empty_init, ROT0, "Sega", "Exciting Boat Race", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/sega/stvdev.cpp b/src/mame/sega/stvdev.cpp index f24115a5df97d..b29b4a62274b1 100644 --- a/src/mame/sega/stvdev.cpp +++ b/src/mame/sega/stvdev.cpp @@ -76,4 +76,4 @@ ROM_END // NOTE: stvbios mentions HP and SUN archs being supported, "PC" suffix comes from there -COMP(1998, stvdev, 0, 0, stvdev, stvdev, stvdev_state, empty_init, "Sega / ALi", "ST-V 486 dev box PC", MACHINE_IS_SKELETON ) +COMP(1998, stvdev, 0, 0, stvdev, stvdev, stvdev_state, empty_init, "Sega / ALi", "ST-V 486 dev box PC", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/sega/system1.cpp b/src/mame/sega/system1.cpp index c4e79d711c86a..3443a59d3a3fb 100644 --- a/src/mame/sega/system1.cpp +++ b/src/mame/sega/system1.cpp @@ -2225,10 +2225,12 @@ void system1_state::sys1ppi(machine_config &config) GENERIC_LATCH_8(config, m_soundlatch); - SN76489A(config, m_sn[0], SOUND_CLOCK/4).add_route(ALL_OUTPUTS, "mono", 0.50); + // 1st SN audio output actually goes to 2nd SN audio input (pin 9), + // with a resistor in between, so the volume is lowered a bit. + SN76489A(config, m_sn[0], SOUND_CLOCK/4).add_route(ALL_OUTPUTS, "mono", 0.40); // 2nd SN's clock is selectable via jumper - SN76489A(config, m_sn[1], SOUND_CLOCK/2).add_route(ALL_OUTPUTS, "mono", 0.50); + SN76489A(config, m_sn[1], SOUND_CLOCK/2).add_route(ALL_OUTPUTS, "mono", 0.60); input_merger_device &sn_ready(INPUT_MERGER_ANY_LOW(config, "sn_ready")); sn_ready.output_handler().set_inputline(m_soundcpu, Z80_INPUT_LINE_WAIT); @@ -2259,6 +2261,60 @@ void system1_state::sys1pio(machine_config &config) m_pio->out_pb_callback().set(FUNC(system1_state::videomode_w)); } +// reduced visible area for scrolling games +void system1_state::sys1pios(machine_config &config) +{ + sys1pio(config); + m_screen->set_visarea(2*(0*8+8), 2*(32*8-1-8), 0*8, 28*8-1); +} + +// this describes the additional 8751 MCU when present +void system1_state::mcu(machine_config &config) +{ + // basic machine hardware + m_maincpu->remove_vblank_int(); + + I8751(config, m_mcu, SOUND_CLOCK); + m_mcu->set_addrmap(AS_IO, &system1_state::mcu_io_map); + m_mcu->port_out_cb<1>().set(FUNC(system1_state::mcu_control_w)); + + config.set_maximum_quantum(attotime::from_hz(m_maincpu->clock() / 16)); + + // This interrupt is driven by pin 15 of a PAL16R4 (315-5138 on Choplifter), based on the vertical count. + // The actual duty cycle likely differs from VBLANK, which is another output from the same PAL. + m_screen->screen_vblank().set_inputline("mcu", MCS51_INT0_LINE); + + // bus controller INTACK pin clocks MCU T0 + m_maincpu->set_irq_acknowledge_callback(FUNC(system1_state::mcu_t0_callback)); +} + +// System 2 video +void system1_state::sys2(machine_config &config) +{ + sys1ppi(config); + + m_ppi8255->out_pc_callback().set(FUNC(system1_state::sound_control_w)).exor(0x01); + + // video hardware + MCFG_VIDEO_START_OVERRIDE(system1_state,system2) + m_screen->set_screen_update(FUNC(system1_state::screen_update_system2)); +} + +void system1_state::sys2x(machine_config &config) +{ + sys2(config); + MC8123(config.replace(), m_maincpu, MASTER_CLOCK/5); + encrypted_sys2_mc8123_maps(config); +} + +// System 2 with rowscroll +void system1_state::sys2row(machine_config &config) +{ + sys2(config); + m_screen->set_screen_update(FUNC(system1_state::screen_update_system2_rowscroll)); +} + +// address map configs void system1_state::encrypted_sys1ppi_maps(machine_config &config) { m_maincpu->set_addrmap(AS_PROGRAM, &system1_state::system1_map); @@ -2286,44 +2342,49 @@ void system1_state::encrypted_sys2_mc8123_maps(machine_config &config) m_maincpu->refresh_cb().set(FUNC(system1_state::adjust_cycles)); } -void system1_state::sys1pioxb(machine_config &config) -{ - sys1pio(config); - MC8123(config.replace(), m_maincpu, MASTER_CLOCK/5); - encrypted_sys1pio_maps(config); -} -void system1_state::blockgal(machine_config &config) +// game-specific PPI-based System 1 + +void system1_state::starjack(machine_config &config) { - sys1pioxb(config); - m_maincpu->set_addrmap(AS_IO, &system1_state::blockgal_io_map); + sys1ppis(config); + + // lower sound hw clocks + m_soundcpu->set_clock(MASTER_CLOCK / 8); + m_sn[0]->set_clock(MASTER_CLOCK / 8); + m_sn[1]->set_clock(MASTER_CLOCK / 16); } -void system1_state::sys1ppix_315_5178(machine_config &config) +void system1_state::upndown(machine_config &config) { sys1ppi(config); - segacrp2_z80_device &z80(SEGA_315_5178(config.replace(), m_maincpu, MASTER_CLOCK/5)); + segacrpt_z80_device &z80(SEGA_315_5098(config.replace(), m_maincpu, MASTER_CLOCK/5)); encrypted_sys1ppi_maps(config); - z80.set_decrypted_tag(m_decrypted_opcodes); + z80.set_decrypted_tag(":decrypted_opcodes"); + + // lower sound hw clocks (does not apply to unencrypted set) + m_soundcpu->set_clock(MASTER_CLOCK / 8); + m_sn[0]->set_clock(MASTER_CLOCK / 8); + m_sn[1]->set_clock(MASTER_CLOCK / 8); } -void system1_state::sys1ppix_315_5179(machine_config &config) +void system1_state::regulus(machine_config &config) { sys1ppi(config); - segacrp2_z80_device &z80(SEGA_315_5179(config.replace(), m_maincpu, MASTER_CLOCK/5)); + segacrpt_z80_device &z80(SEGA_315_5033(config.replace(), m_maincpu, MASTER_CLOCK/5)); encrypted_sys1ppi_maps(config); - z80.set_decrypted_tag(m_decrypted_opcodes); + z80.set_decrypted_tag(":decrypted_opcodes"); } -void system1_state::sys1ppix_315_5051(machine_config &config) +void system1_state::mrviking(machine_config &config) { - sys1ppi(config); - segacrpt_z80_device &z80(SEGA_315_5051(config.replace(), m_maincpu, MASTER_CLOCK/5)); + sys1ppis(config); + segacrpt_z80_device &z80(SEGA_315_5041(config.replace(), m_maincpu, MASTER_CLOCK/5)); encrypted_sys1ppi_maps(config); z80.set_decrypted_tag(":decrypted_opcodes"); } -void system1_state::sys1ppix_315_5048(machine_config &config) +void system1_state::swat(machine_config &config) { sys1ppi(config); segacrpt_z80_device &z80(SEGA_315_5048(config.replace(), m_maincpu, MASTER_CLOCK/5)); @@ -2331,259 +2392,235 @@ void system1_state::sys1ppix_315_5048(machine_config &config) z80.set_decrypted_tag(":decrypted_opcodes"); } -void system1_state::sys1ppix_315_5033(machine_config &config) +void system1_state::flickyo(machine_config &config) { sys1ppi(config); - segacrpt_z80_device &z80(SEGA_315_5033(config.replace(), m_maincpu, MASTER_CLOCK/5)); + segacrpt_z80_device &z80(SEGA_315_5051(config.replace(), m_maincpu, MASTER_CLOCK/5)); encrypted_sys1ppi_maps(config); z80.set_decrypted_tag(":decrypted_opcodes"); } -void system1_state::sys1ppix_315_5065(machine_config &config) +void system1_state::wmatch(machine_config &config) { - sys1ppi(config); - segacrpt_z80_device &z80(SEGA_315_5065(config.replace(), m_maincpu, MASTER_CLOCK/5)); + sys1ppis(config); + segacrpt_z80_device &z80(SEGA_315_5064(config.replace(), m_maincpu, MASTER_CLOCK/5)); encrypted_sys1ppi_maps(config); z80.set_decrypted_tag(":decrypted_opcodes"); } -void system1_state::sys1ppix_315_5098(machine_config &config) +void system1_state::bullfgt(machine_config &config) { sys1ppi(config); - segacrpt_z80_device &z80(SEGA_315_5098(config.replace(), m_maincpu, MASTER_CLOCK/5)); + segacrpt_z80_device &z80(SEGA_315_5065(config.replace(), m_maincpu, MASTER_CLOCK/5)); encrypted_sys1ppi_maps(config); z80.set_decrypted_tag(":decrypted_opcodes"); } -void system1_state::sys1piox_315_5177(machine_config &config) +void system1_state::wboy2(machine_config &config) { - sys1pio(config); - segacrp2_z80_device &z80(SEGA_315_5177(config.replace(), m_maincpu, MASTER_CLOCK/5)); - encrypted_sys1pio_maps(config); + sys1ppi(config); + segacrp2_z80_device &z80(SEGA_315_5178(config.replace(), m_maincpu, MASTER_CLOCK/5)); + encrypted_sys1ppi_maps(config); z80.set_decrypted_tag(m_decrypted_opcodes); } -void system1_state::sys1piox_315_5162(machine_config &config) +void system1_state::wboy6(machine_config &config) { - sys1pio(config); - segacrp2_z80_device &z80(SEGA_315_5162(config.replace(), m_maincpu, MASTER_CLOCK/5)); - encrypted_sys1pio_maps(config); + sys1ppi(config); + segacrp2_z80_device &z80(SEGA_315_5179(config.replace(), m_maincpu, MASTER_CLOCK/5)); + encrypted_sys1ppi_maps(config); z80.set_decrypted_tag(m_decrypted_opcodes); } -void system1_state::sys1piox_317_0006(machine_config &config) +void system1_state::nob(machine_config &config) { - sys1pio(config); - segacrp2_z80_device &z80(SEGA_317_0006(config.replace(), m_maincpu, MASTER_CLOCK/5)); - encrypted_sys1pio_maps(config); - z80.set_decrypted_tag(m_decrypted_opcodes); + nobb(config); + + // basic machine hardware + I8751(config, m_mcu, SOUND_CLOCK); + m_mcu->port_in_cb<0>().set(FUNC(system1_state::nob_mcu_latch_r)); + m_mcu->port_out_cb<0>().set(FUNC(system1_state::nob_mcu_latch_w)); + m_mcu->port_out_cb<1>().set(FUNC(system1_state::nob_mcu_status_w)); + m_mcu->port_out_cb<2>().set(FUNC(system1_state::nob_mcu_control_p2_w)); +} + +void system1_state::nobb(machine_config &config) +{ + sys1ppi(config); + + // alternate program map with RAM/collision swapped + m_maincpu->set_addrmap(AS_PROGRAM, &system1_state::nobo_map); m_sn[1]->set_clock(SOUND_CLOCK / 4); } -void system1_state::sys1piox_315_5135(machine_config &config) + +// game-specific PIO-based System 1 + +void system1_state::flicky(machine_config &config) { sys1pio(config); - segacrpt_z80_device &z80(SEGA_315_5135(config.replace(), m_maincpu, MASTER_CLOCK/5)); + segacrpt_z80_device &z80(SEGA_315_5051(config.replace(), m_maincpu, MASTER_CLOCK/5)); encrypted_sys1pio_maps(config); z80.set_decrypted_tag(":decrypted_opcodes"); } -void system1_state::sys1piox_315_5132(machine_config &config) +void system1_state::thetogyu(machine_config &config) { sys1pio(config); - segacrpt_z80_device &z80(SEGA_315_5132(config.replace(), m_maincpu, MASTER_CLOCK/5)); + segacrpt_z80_device &z80(SEGA_315_5065(config.replace(), m_maincpu, MASTER_CLOCK/5)); encrypted_sys1pio_maps(config); z80.set_decrypted_tag(":decrypted_opcodes"); } -void system1_state::sys1piox_315_5155(machine_config &config) +void system1_state::spatter(machine_config &config) { - sys1pio(config); - segacrpt_z80_device &z80(SEGA_315_5155(config.replace(), m_maincpu, MASTER_CLOCK/5)); + sys1pios(config); + segacrpt_z80_device &z80(SEGA_315_5096(config.replace(), m_maincpu, MASTER_CLOCK/5)); encrypted_sys1pio_maps(config); z80.set_decrypted_tag(":decrypted_opcodes"); } -void system1_state::sys1piox_315_5111(machine_config &config) +void system1_state::spattera(machine_config &config) { - sys1pio(config); - segacrpt_z80_device &z80(SEGA_315_5111(config.replace(), m_maincpu, MASTER_CLOCK/5)); + sys1pios(config); + segacrpt_z80_device &z80(SEGA_315_5099(config.replace(), m_maincpu, MASTER_CLOCK/5)); encrypted_sys1pio_maps(config); z80.set_decrypted_tag(":decrypted_opcodes"); } - -void system1_state::sys1piox_315_5110(machine_config &config) +void system1_state::pitfall2(machine_config &config) { sys1pio(config); - segacrpt_z80_device &z80(SEGA_315_5110(config.replace(), m_maincpu, MASTER_CLOCK/5)); + segacrpt_z80_device &z80(SEGA_315_5093(config.replace(), m_maincpu, MASTER_CLOCK/5)); encrypted_sys1pio_maps(config); z80.set_decrypted_tag(":decrypted_opcodes"); } -void system1_state::sys1piox_315_5051(machine_config &config) +void system1_state::seganinj(machine_config &config) { sys1pio(config); - segacrpt_z80_device &z80(SEGA_315_5051(config.replace(), m_maincpu, MASTER_CLOCK/5)); + segacrpt_z80_device &z80(SEGA_315_5102(config.replace(), m_maincpu, MASTER_CLOCK/5)); encrypted_sys1pio_maps(config); z80.set_decrypted_tag(":decrypted_opcodes"); } -void system1_state::sys1piox_315_5098(machine_config &config) +void system1_state::seganinja(machine_config &config) { sys1pio(config); - segacrpt_z80_device &z80(SEGA_315_5098(config.replace(), m_maincpu, MASTER_CLOCK/5)); + segacrpt_z80_device &z80(SEGA_315_5133(config.replace(), m_maincpu, MASTER_CLOCK/5)); encrypted_sys1pio_maps(config); z80.set_decrypted_tag(":decrypted_opcodes"); } -void system1_state::sys1piox_315_5102(machine_config &config) +void system1_state::nprinceso(machine_config &config) { sys1pio(config); - segacrpt_z80_device &z80(SEGA_315_5102(config.replace(), m_maincpu, MASTER_CLOCK/5)); + segacrpt_z80_device &z80(SEGA_315_5098(config.replace(), m_maincpu, MASTER_CLOCK/5)); encrypted_sys1pio_maps(config); z80.set_decrypted_tag(":decrypted_opcodes"); } -void system1_state::sys1piox_315_5133(machine_config &config) +void system1_state::imsorry(machine_config &config) { sys1pio(config); - segacrpt_z80_device &z80(SEGA_315_5133(config.replace(), m_maincpu, MASTER_CLOCK/5)); + segacrpt_z80_device &z80(SEGA_315_5110(config.replace(), m_maincpu, MASTER_CLOCK/5)); encrypted_sys1pio_maps(config); z80.set_decrypted_tag(":decrypted_opcodes"); } -void system1_state::sys1piox_315_5093(machine_config &config) +void system1_state::teddybb(machine_config &config) { sys1pio(config); - segacrpt_z80_device &z80(SEGA_315_5093(config.replace(), m_maincpu, MASTER_CLOCK/5)); + segacrpt_z80_device &z80(SEGA_315_5155(config.replace(), m_maincpu, MASTER_CLOCK/5)); encrypted_sys1pio_maps(config); z80.set_decrypted_tag(":decrypted_opcodes"); } -void system1_state::sys1piox_315_5065(machine_config &config) +void system1_state::teddybboa(machine_config &config) { sys1pio(config); - segacrpt_z80_device &z80(SEGA_315_5065(config.replace(), m_maincpu, MASTER_CLOCK/5)); + segacrpt_z80_device &z80(SEGA_315_5111(config.replace(), m_maincpu, MASTER_CLOCK/5)); encrypted_sys1pio_maps(config); z80.set_decrypted_tag(":decrypted_opcodes"); } -// reduced visible area for scrolling games -void system1_state::sys1pios(machine_config &config) +void system1_state::myheroj(machine_config &config) { sys1pio(config); - m_screen->set_visarea(2*(0*8+8), 2*(32*8-1-8), 0*8, 28*8-1); -} - -void system1_state::sys1piosx_315_5099(machine_config &config) -{ - sys1pios(config); - segacrpt_z80_device &z80(SEGA_315_5099(config.replace(), m_maincpu, MASTER_CLOCK/5)); + segacrpt_z80_device &z80(SEGA_315_5132(config.replace(), m_maincpu, MASTER_CLOCK/5)); encrypted_sys1pio_maps(config); z80.set_decrypted_tag(":decrypted_opcodes"); } -void system1_state::sys1piosx_315_5096(machine_config &config) +void system1_state::_4dwarrio(machine_config &config) { - sys1pios(config); - segacrpt_z80_device &z80(SEGA_315_5096(config.replace(), m_maincpu, MASTER_CLOCK/5)); + sys1pio(config); + segacrp2_z80_device &z80(SEGA_315_5162(config.replace(), m_maincpu, MASTER_CLOCK/5)); encrypted_sys1pio_maps(config); - z80.set_decrypted_tag(":decrypted_opcodes"); + z80.set_decrypted_tag(m_decrypted_opcodes); } -void system1_state::sys1ppisx_315_5064(machine_config &config) +void system1_state::wboy(machine_config &config) { - sys1ppis(config); - segacrpt_z80_device &z80(SEGA_315_5064(config.replace(), m_maincpu, MASTER_CLOCK/5)); - encrypted_sys1ppi_maps(config); - z80.set_decrypted_tag(":decrypted_opcodes"); + sys1pio(config); + segacrp2_z80_device &z80(SEGA_315_5177(config.replace(), m_maincpu, MASTER_CLOCK/5)); + encrypted_sys1pio_maps(config); + z80.set_decrypted_tag(m_decrypted_opcodes); } -void system1_state::sys1ppisx_315_5041(machine_config &config) +void system1_state::wboyo(machine_config &config) { - sys1ppis(config); - segacrpt_z80_device &z80(SEGA_315_5041(config.replace(), m_maincpu, MASTER_CLOCK/5)); - encrypted_sys1ppi_maps(config); + sys1pio(config); + segacrpt_z80_device &z80(SEGA_315_5135(config.replace(), m_maincpu, MASTER_CLOCK/5)); + encrypted_sys1pio_maps(config); z80.set_decrypted_tag(":decrypted_opcodes"); } -// this describes the additional 8751 MCU when present -void system1_state::mcu(machine_config &config) +void system1_state::blockgal(machine_config &config) { - // basic machine hardware - m_maincpu->remove_vblank_int(); - - I8751(config, m_mcu, SOUND_CLOCK); - m_mcu->set_addrmap(AS_IO, &system1_state::mcu_io_map); - m_mcu->port_out_cb<1>().set(FUNC(system1_state::mcu_control_w)); - - config.set_maximum_quantum(attotime::from_hz(m_maincpu->clock() / 16)); - - // This interrupt is driven by pin 15 of a PAL16R4 (315-5138 on Choplifter), based on the vertical count. - // The actual duty cycle likely differs from VBLANK, which is another output from the same PAL. - m_screen->screen_vblank().set_inputline("mcu", MCS51_INT0_LINE); - - // bus controller INTACK pin clocks MCU T0 - m_maincpu->set_irq_acknowledge_callback(FUNC(system1_state::mcu_t0_callback)); + sys1pio(config); + MC8123(config.replace(), m_maincpu, MASTER_CLOCK/5); + encrypted_sys1pio_maps(config); + m_maincpu->set_addrmap(AS_IO, &system1_state::blockgal_io_map); } -// alternate program map with RAM/collision swapped -void system1_state::nob(machine_config &config) +void system1_state::gardia(machine_config &config) { - sys1ppi(config); - m_maincpu->set_addrmap(AS_PROGRAM, &system1_state::nobo_map); + sys1pio(config); + segacrp2_z80_device &z80(SEGA_317_0006(config.replace(), m_maincpu, MASTER_CLOCK/5)); + encrypted_sys1pio_maps(config); + z80.set_decrypted_tag(m_decrypted_opcodes); m_sn[1]->set_clock(SOUND_CLOCK / 4); } -void system1_state::nobm(machine_config &config) -{ - nob(config); - // basic machine hardware - I8751(config, m_mcu, SOUND_CLOCK); - m_mcu->port_in_cb<0>().set(FUNC(system1_state::nob_mcu_latch_r)); - m_mcu->port_out_cb<0>().set(FUNC(system1_state::nob_mcu_latch_w)); - m_mcu->port_out_cb<1>().set(FUNC(system1_state::nob_mcu_status_w)); - m_mcu->port_out_cb<2>().set(FUNC(system1_state::nob_mcu_control_p2_w)); -} +// game-specific System 2 -// system2 video -void system1_state::sys2(machine_config &config) +void system1_state::choplift(machine_config &config) { - sys1ppi(config); - - m_ppi8255->out_pc_callback().set(FUNC(system1_state::sound_control_w)).exor(0x01); - - // video hardware - MCFG_VIDEO_START_OVERRIDE(system1_state,system2) - m_screen->set_screen_update(FUNC(system1_state::screen_update_system2)); + sys2row(config); + mcu(config); } -void system1_state::sys2x(machine_config &config) +void shtngmst_state::shtngmst(machine_config &config) { sys2(config); - m_maincpu->set_addrmap(AS_OPCODES, &system1_state::decrypted_opcodes_map); + mcu(config); + m_maincpu->set_addrmap(AS_IO, &shtngmst_state::shtngmst_io_map); } -void system1_state::sys2_315_5177(machine_config &config) +void system1_state::gardiab(machine_config &config) { sys2(config); - segacrp2_z80_device &z80(SEGA_315_5177(config.replace(), m_maincpu, MASTER_CLOCK/5)); + segacrp2_z80_device &z80(SEGA_317_0007(config.replace(), m_maincpu, MASTER_CLOCK/5)); encrypted_sys1ppi_maps(config); z80.set_decrypted_tag(m_decrypted_opcodes); -} -void system1_state::sys2_315_5176(machine_config &config) -{ - sys2(config); - segacrp2_z80_device &z80(SEGA_315_5176(config.replace(), m_maincpu, MASTER_CLOCK/5)); - encrypted_sys1ppi_maps(config); - z80.set_decrypted_tag(m_decrypted_opcodes); + m_sn[1]->set_clock(SOUND_CLOCK / 4); } -void system1_state::sys2_317_0006(machine_config &config) +void system1_state::gardiaj(machine_config &config) { sys2(config); segacrp2_z80_device &z80(SEGA_317_0006(config.replace(), m_maincpu, MASTER_CLOCK/5)); @@ -2593,62 +2630,47 @@ void system1_state::sys2_317_0006(machine_config &config) m_sn[1]->set_clock(SOUND_CLOCK / 4); } -void system1_state::sys2_317_0007(machine_config &config) +void system1_state::wboysys2(machine_config &config) { sys2(config); - segacrp2_z80_device &z80(SEGA_317_0007(config.replace(), m_maincpu, MASTER_CLOCK/5)); + segacrp2_z80_device &z80(SEGA_315_5177(config.replace(), m_maincpu, MASTER_CLOCK/5)); encrypted_sys1ppi_maps(config); z80.set_decrypted_tag(m_decrypted_opcodes); - - m_sn[1]->set_clock(SOUND_CLOCK / 4); } -void system1_state::sys2xb(machine_config &config) +void system1_state::wboysys2a(machine_config &config) { sys2(config); - MC8123(config.replace(), m_maincpu, MASTER_CLOCK/5); - encrypted_sys2_mc8123_maps(config); + segacrp2_z80_device &z80(SEGA_315_5176(config.replace(), m_maincpu, MASTER_CLOCK/5)); + encrypted_sys1ppi_maps(config); + z80.set_decrypted_tag(m_decrypted_opcodes); } -void system1_state::sys2xboot(machine_config &config) +void system1_state::wbmlb(machine_config &config) { sys2(config); m_maincpu->set_addrmap(AS_OPCODES, &system1_state::banked_decrypted_opcodes_map); } -void shtngmst_state::shtngmst(machine_config &config) -{ - sys2(config); - mcu(config); - m_maincpu->set_addrmap(AS_IO, &shtngmst_state::shtngmst_io_map); -} - -// system2 with rowscroll -void system1_state::sys2row(machine_config &config) +void system1_state::blockgalb(machine_config &config) { sys2(config); - m_screen->set_screen_update(FUNC(system1_state::screen_update_system2_rowscroll)); + m_maincpu->set_addrmap(AS_OPCODES, &system1_state::decrypted_opcodes_map); } -void system1_state::sys2rowxb(machine_config &config) +void system1_state::ufosensi(machine_config &config) { sys2row(config); MC8123(config.replace(), m_maincpu, MASTER_CLOCK/5); encrypted_sys2_mc8123_maps(config); } -void system1_state::sys2rowxboot(machine_config &config) +void system1_state::ufosensib(machine_config &config) { sys2row(config); m_maincpu->set_addrmap(AS_OPCODES, &system1_state::banked_decrypted_opcodes_map); } -void system1_state::sys2rowm(machine_config &config) -{ - sys2row(config); - mcu(config); -} - /************************************* @@ -5727,101 +5749,101 @@ void system1_state::init_bootsys2d() *************************************/ // PPI-based System 1 -GAME( 1983, starjack, 0, sys1ppis, starjack, system1_state, empty_init, ROT270, "Sega", "Star Jacker (Sega)", MACHINE_SUPPORTS_SAVE ) -GAME( 1983, starjacks, starjack, sys1ppis, starjacks, system1_state, empty_init, ROT270, "Sega (Stern Electronics license)", "Star Jacker (Stern Electronics)", MACHINE_SUPPORTS_SAVE ) -GAME( 1983, upndown, 0, sys1ppix_315_5098, upndown, system1_state, empty_init, ROT270, "Sega", "Up'n Down (315-5030)", MACHINE_SUPPORTS_SAVE ) -GAME( 1983, upndownu, upndown, sys1ppi, upndown, system1_state, empty_init, ROT270, "Sega", "Up'n Down (not encrypted)", MACHINE_SUPPORTS_SAVE ) -GAME( 1983, regulus, 0, sys1ppix_315_5033, regulus, system1_state, empty_init, ROT270, "Sega", "Regulus (315-5033, Rev A.)", MACHINE_SUPPORTS_SAVE ) -GAME( 1983, reguluso, regulus, sys1ppix_315_5033, reguluso, system1_state, empty_init, ROT270, "Sega", "Regulus (315-5033)", MACHINE_SUPPORTS_SAVE ) -GAME( 1983, regulusu, regulus, sys1ppi, regulus, system1_state, empty_init, ROT270, "Sega", "Regulus (not encrypted)", MACHINE_SUPPORTS_SAVE ) -GAME( 1984, mrviking, 0, sys1ppisx_315_5041,mrviking, system1_state, empty_init, ROT270, "Sega", "Mister Viking (315-5041)", MACHINE_SUPPORTS_SAVE ) -GAME( 1984, mrvikingj, mrviking, sys1ppisx_315_5041,mrvikingj, system1_state, empty_init, ROT270, "Sega", "Mister Viking (315-5041, Japan)", MACHINE_SUPPORTS_SAVE ) -GAME( 1984, swat, 0, sys1ppix_315_5048, swat, system1_state, empty_init, ROT270, "Coreland / Sega", "SWAT (315-5048)", MACHINE_SUPPORTS_SAVE ) -GAME( 1984, flickyo, flicky, sys1ppix_315_5051, flicky, system1_state, empty_init, ROT0, "Sega", "Flicky (64k Version, 315-5051, set 1)", MACHINE_SUPPORTS_SAVE ) // 84/5/24 -GAME( 1984, flickys1, flicky, sys1ppix_315_5051, flickys1, system1_state, empty_init, ROT0, "Sega", "Flicky (64k Version, 315-5051, set 2)", MACHINE_SUPPORTS_SAVE ) // 84/11/26 -GAME( 1984, flickyup, flicky, sys1ppix_315_5051, flicky, system1_state, empty_init, ROT0, "Sega", "Flicky (64k Version, on Up'n Down boardset, set 1)", MACHINE_SUPPORTS_SAVE ) // 84/5/17 -GAME( 1984, flickyupa, flicky, sys1ppix_315_5051, flicky, system1_state, empty_init, ROT0, "bootleg", "Flicky (64k Version, on Up'n Down boardset, set 2)", MACHINE_SUPPORTS_SAVE ) // 84/7/05 -GAME( 1984, wmatch, 0, sys1ppisx_315_5064,wmatch, system1_state, empty_init, ROT270, "Sega", "Water Match (315-5064)", MACHINE_SUPPORTS_SAVE ) -GAME( 1984, bullfgt, 0, sys1ppix_315_5065, bullfgt, system1_state, empty_init, ROT0, "Coreland / Sega", "Bullfight (315-5065)", MACHINE_SUPPORTS_SAVE ) -GAME( 1985, nprinces, seganinj, sys1ppix_315_5051, seganinj, system1_state, empty_init, ROT0, "bootleg?", "Ninja Princess (315-5051, 64k Ver. bootleg?)", MACHINE_SUPPORTS_SAVE ) -GAME( 1985, nprincesu, seganinj, sys1ppi, seganinj, system1_state, empty_init, ROT0, "Sega", "Ninja Princess (64k Ver. not encrypted)", MACHINE_SUPPORTS_SAVE ) -GAME( 1986, wboy2, wboy, sys1ppix_315_5178, wboy, system1_state, empty_init, ROT0, "Escape (Sega license)", "Wonder Boy (set 2, 315-5178)", MACHINE_SUPPORTS_SAVE ) -GAME( 1986, wboy2u, wboy, sys1ppi, wboy, system1_state, empty_init, ROT0, "Escape (Sega license)", "Wonder Boy (set 2, not encrypted)", MACHINE_SUPPORTS_SAVE ) -GAME( 1986, wboy6, wboy, sys1ppix_315_5179, wboy, system1_state, empty_init, ROT0, "Escape (Sega license)", "Wonder Boy (set 6, 315-5179)", MACHINE_SUPPORTS_SAVE ) -GAME( 1986, wbdeluxe, wboy, sys1ppi, wbdeluxe, system1_state, empty_init, ROT0, "hack (Vision Electronics)", "Wonder Boy Deluxe", MACHINE_SUPPORTS_SAVE ) -GAME( 1986, nob, 0, nobm, nob, system1_state, init_nob, ROT270, "Coreland / Data East Corporation", "Noboranka (Japan)", MACHINE_SUPPORTS_SAVE ) -GAME( 1986, nobb, nob, nob, nob, system1_state, init_nobb, ROT270, "bootleg (Game Electronics)", "Noboranka (Japan, bootleg)", MACHINE_SUPPORTS_SAVE ) -GAME( 1986, raflesiau, raflesia, sys1ppi, raflesia, system1_state, empty_init, ROT270, "Coreland / Sega", "Rafflesia (not encrypted)", MACHINE_SUPPORTS_SAVE ) +GAME( 1983, starjack, 0, starjack, starjack, system1_state, empty_init, ROT270, "Sega", "Star Jacker (Sega)", MACHINE_SUPPORTS_SAVE ) +GAME( 1983, starjacks, starjack, starjack, starjacks, system1_state, empty_init, ROT270, "Sega (Stern Electronics license)", "Star Jacker (Stern Electronics)", MACHINE_SUPPORTS_SAVE ) +GAME( 1983, upndown, 0, upndown, upndown, system1_state, empty_init, ROT270, "Sega", "Up'n Down (315-5030)", MACHINE_SUPPORTS_SAVE ) +GAME( 1983, upndownu, upndown, sys1ppi, upndown, system1_state, empty_init, ROT270, "Sega", "Up'n Down (not encrypted)", MACHINE_SUPPORTS_SAVE ) +GAME( 1983, regulus, 0, regulus, regulus, system1_state, empty_init, ROT270, "Sega", "Regulus (315-5033, Rev A.)", MACHINE_SUPPORTS_SAVE ) +GAME( 1983, reguluso, regulus, regulus, reguluso, system1_state, empty_init, ROT270, "Sega", "Regulus (315-5033)", MACHINE_SUPPORTS_SAVE ) +GAME( 1983, regulusu, regulus, sys1ppi, regulus, system1_state, empty_init, ROT270, "Sega", "Regulus (not encrypted)", MACHINE_SUPPORTS_SAVE ) +GAME( 1984, mrviking, 0, mrviking, mrviking, system1_state, empty_init, ROT270, "Sega", "Mister Viking (315-5041)", MACHINE_SUPPORTS_SAVE ) +GAME( 1984, mrvikingj, mrviking, mrviking, mrvikingj, system1_state, empty_init, ROT270, "Sega", "Mister Viking (315-5041, Japan)", MACHINE_SUPPORTS_SAVE ) +GAME( 1984, swat, 0, swat, swat, system1_state, empty_init, ROT270, "Coreland / Sega", "SWAT (315-5048)", MACHINE_SUPPORTS_SAVE ) +GAME( 1984, flickyo, flicky, flickyo, flicky, system1_state, empty_init, ROT0, "Sega", "Flicky (64k Version, 315-5051, set 1)", MACHINE_SUPPORTS_SAVE ) // 84/5/24 +GAME( 1984, flickys1, flicky, flickyo, flickys1, system1_state, empty_init, ROT0, "Sega", "Flicky (64k Version, 315-5051, set 2)", MACHINE_SUPPORTS_SAVE ) // 84/11/26 +GAME( 1984, flickyup, flicky, flickyo, flicky, system1_state, empty_init, ROT0, "Sega", "Flicky (64k Version, on Up'n Down boardset, set 1)", MACHINE_SUPPORTS_SAVE ) // 84/5/17 +GAME( 1984, flickyupa, flicky, flickyo, flicky, system1_state, empty_init, ROT0, "bootleg", "Flicky (64k Version, on Up'n Down boardset, set 2)", MACHINE_SUPPORTS_SAVE ) // 84/7/05 +GAME( 1984, wmatch, 0, wmatch, wmatch, system1_state, empty_init, ROT270, "Sega", "Water Match (315-5064)", MACHINE_SUPPORTS_SAVE ) +GAME( 1984, bullfgt, 0, bullfgt, bullfgt, system1_state, empty_init, ROT0, "Coreland / Sega", "Bullfight (315-5065)", MACHINE_SUPPORTS_SAVE ) +GAME( 1985, nprinces, seganinj, flickyo, seganinj, system1_state, empty_init, ROT0, "bootleg?", "Ninja Princess (315-5051, 64k Ver. bootleg?)", MACHINE_SUPPORTS_SAVE ) +GAME( 1985, nprincesu, seganinj, sys1ppi, seganinj, system1_state, empty_init, ROT0, "Sega", "Ninja Princess (64k Ver. not encrypted)", MACHINE_SUPPORTS_SAVE ) +GAME( 1986, wboy2, wboy, wboy2, wboy, system1_state, empty_init, ROT0, "Escape (Sega license)", "Wonder Boy (set 2, 315-5178)", MACHINE_SUPPORTS_SAVE ) +GAME( 1986, wboy2u, wboy, sys1ppi, wboy, system1_state, empty_init, ROT0, "Escape (Sega license)", "Wonder Boy (set 2, not encrypted)", MACHINE_SUPPORTS_SAVE ) +GAME( 1986, wboy6, wboy, wboy6, wboy, system1_state, empty_init, ROT0, "Escape (Sega license)", "Wonder Boy (set 6, 315-5179)", MACHINE_SUPPORTS_SAVE ) +GAME( 1986, wbdeluxe, wboy, sys1ppi, wbdeluxe, system1_state, empty_init, ROT0, "hack (Vision Electronics)", "Wonder Boy Deluxe", MACHINE_SUPPORTS_SAVE ) +GAME( 1986, nob, 0, nob, nob, system1_state, init_nob, ROT270, "Coreland / Data East Corporation", "Noboranka (Japan)", MACHINE_SUPPORTS_SAVE ) +GAME( 1986, nobb, nob, nobb, nob, system1_state, init_nobb, ROT270, "bootleg (Game Electronics)", "Noboranka (Japan, bootleg)", MACHINE_SUPPORTS_SAVE ) +GAME( 1986, raflesiau, raflesia, sys1ppi, raflesia, system1_state, empty_init, ROT270, "Coreland / Sega", "Rafflesia (not encrypted)", MACHINE_SUPPORTS_SAVE ) // PIO-based System 1 -GAME( 1984, flicky, 0, sys1piox_315_5051, flicky, system1_state, empty_init, ROT0, "Sega", "Flicky (128k Version, 315-5051)", MACHINE_SUPPORTS_SAVE ) // 1984/05/24 -GAME( 1984, flickya, flicky, sys1piox_315_5051, flicky, system1_state, empty_init, ROT0, "Sega", "Flicky (128k Version, 315-5051, larger ROMs)", MACHINE_SUPPORTS_SAVE ) // 1984/05/24 -GAME( 1984, flickyb, flicky, sys1piox_315_5051, flickyb, system1_state, empty_init, ROT0, "Sega", "Flicky (128k Version, 315-5051, larger ROMs, newer)", MACHINE_SUPPORTS_SAVE ) // 1984/10/07 -GAME( 1984, flickys2, flicky, sys1pio, flickys2, system1_state, empty_init, ROT0, "Sega", "Flicky (128k Version, not encrypted)", MACHINE_SUPPORTS_SAVE ) -GAME( 1984, thetogyu, bullfgt, sys1piox_315_5065, bullfgt, system1_state, empty_init, ROT0, "Coreland / Sega", "The Togyu (315-5065, Japan)", MACHINE_SUPPORTS_SAVE ) -GAME( 1984, spatter, 0, sys1piosx_315_5096,spatter, system1_state, empty_init, ROT0, "Sega", "Spatter (315-5096)", MACHINE_SUPPORTS_SAVE ) -GAME( 1984, spattera, spatter, sys1piosx_315_5099,spatter, system1_state, empty_init, ROT0, "Sega", "Spatter (315-5099)", MACHINE_SUPPORTS_SAVE ) -GAME( 1984, ssanchan, spatter, sys1piosx_315_5096,spatter, system1_state, empty_init, ROT0, "Sega", "Sanrin San Chan (Japan, 315-5096)", MACHINE_SUPPORTS_SAVE ) -GAME( 1985, pitfall2, 0, sys1piox_315_5093, pitfall2, system1_state, empty_init, ROT0, "Sega", "Pitfall II (315-5093)", MACHINE_SUPPORTS_SAVE ) -GAME( 1985, pitfall2a, pitfall2, sys1piox_315_5093, pitfall2, system1_state, empty_init, ROT0, "Sega", "Pitfall II (315-5093, Flicky Conversion)", MACHINE_SUPPORTS_SAVE ) -GAME( 1985, pitfall2u, pitfall2, sys1pio, pitfall2u, system1_state, empty_init, ROT0, "Sega", "Pitfall II (not encrypted)", MACHINE_SUPPORTS_SAVE ) -GAME( 1985, seganinj, 0, sys1piox_315_5102, seganinj, system1_state, empty_init, ROT0, "Sega", "Sega Ninja (315-5102)", MACHINE_SUPPORTS_SAVE ) -GAME( 1985, seganinju, seganinj, sys1pio, seganinj, system1_state, empty_init, ROT0, "Sega", "Sega Ninja (not encrypted)", MACHINE_SUPPORTS_SAVE ) -GAME( 1985, seganinja, seganinj, sys1piox_315_5133, seganinj, system1_state, empty_init, ROT0, "Sega", "Sega Ninja (315-5113)", MACHINE_SUPPORTS_SAVE ) -GAME( 1985, ninja, seganinj, sys1piox_315_5102, seganinj, system1_state, empty_init, ROT0, "Sega", "Ninja (315-5102)", MACHINE_SUPPORTS_SAVE ) -GAME( 1985, nprinceso, seganinj, sys1piox_315_5098, seganinj, system1_state, empty_init, ROT0, "Sega", "Ninja Princess (315-5098, 128k Ver.)", MACHINE_SUPPORTS_SAVE ) -GAME( 1985, nprincesb, seganinj, sys1piox_315_5051, seganinj, system1_state, empty_init, ROT0, "bootleg?", "Ninja Princess (315-5051?, 128k Ver. bootleg?)", MACHINE_SUPPORTS_SAVE ) -GAME( 1985, imsorry, 0, sys1piox_315_5110, imsorry, system1_state, empty_init, ROT0, "Coreland / Sega", "I'm Sorry (315-5110, US)", MACHINE_SUPPORTS_SAVE ) -GAME( 1985, imsorryj, imsorry, sys1piox_315_5110, imsorry, system1_state, empty_init, ROT0, "Coreland / Sega", "Gonbee no I'm Sorry (315-5110, Japan)", MACHINE_SUPPORTS_SAVE ) -GAME( 1985, teddybb, 0, sys1piox_315_5155, teddybb, system1_state, empty_init, ROT0, "Sega", "TeddyBoy Blues (315-5115, New Ver.)", MACHINE_SUPPORTS_SAVE ) -GAME( 1985, teddybbo, teddybb, sys1piox_315_5155, teddybb, system1_state, empty_init, ROT0, "Sega", "TeddyBoy Blues (315-5115, Old Ver.)", MACHINE_SUPPORTS_SAVE ) -GAME( 1985, teddybboa, teddybb, sys1piox_315_5111, teddybb, system1_state, empty_init, ROT0, "Sega", "TeddyBoy Blues (315-5111, Old Ver.)", MACHINE_SUPPORTS_SAVE ) -GAME( 1985, teddybbobl, teddybb, sys1piox_315_5155, teddybb, system1_state, empty_init, ROT0, "bootleg", "TeddyBoy Blues (Old Ver. bootleg)", MACHINE_SUPPORTS_SAVE ) -GAME( 1985, myhero, 0, sys1pio, myhero, system1_state, empty_init, ROT0, "Coreland / Sega", "My Hero (US, not encrypted)", MACHINE_SUPPORTS_SAVE ) -GAME( 1985, sscandal, myhero, sys1piox_315_5132, myhero, system1_state, empty_init, ROT0, "Coreland / Sega", "Seishun Scandal (315-5132, Japan)", MACHINE_SUPPORTS_SAVE ) -GAME( 1985, myherobl, myhero, sys1piox_315_5132, myhero, system1_state, empty_init, ROT0, "bootleg", "My Hero (bootleg, 315-5132 encryption)", MACHINE_SUPPORTS_SAVE ) // cloned 315-5132 encryption? might be a direct copy of an undumped original set -GAME( 1985, myherok, myhero, sys1piox_315_5132, myhero, system1_state, init_myherok, ROT0, "Coreland / Sega", "Cheongchun Ilbeonji (Korea)", MACHINE_SUPPORTS_SAVE ) // possible bootleg, has extra encryption -GAME( 1985, 4dwarrio, 0, sys1piox_315_5162, 4dwarrio, system1_state, empty_init, ROT0, "Coreland / Sega", "4-D Warriors (315-5162)", MACHINE_SUPPORTS_SAVE ) -GAME( 1986, raflesia, 0, sys1piox_315_5162, raflesia, system1_state, empty_init, ROT270, "Coreland / Sega", "Rafflesia (315-5162)", MACHINE_SUPPORTS_SAVE ) -GAME( 1986, wboy, 0, sys1piox_315_5177, wboy, system1_state, empty_init, ROT0, "Escape (Sega license)", "Wonder Boy (set 1, 315-5177)", MACHINE_SUPPORTS_SAVE ) -GAME( 1986, wboyo, wboy, sys1piox_315_5135, wboy, system1_state, empty_init, ROT0, "Escape (Sega license)", "Wonder Boy (set 2, 315-5135)", MACHINE_SUPPORTS_SAVE ) // aka 317-0003 -GAME( 1986, wboy3, wboy, sys1piox_315_5135, wboy3, system1_state, empty_init, ROT0, "Escape (Sega license)", "Wonder Boy (set 3, 315-5135)", MACHINE_SUPPORTS_SAVE ) -GAME( 1986, wboy4, wboy, sys1piox_315_5162, wboy, system1_state, empty_init, ROT0, "Escape (Sega license)", "Wonder Boy (315-5162, 4-D Warriors Conversion)", MACHINE_SUPPORTS_SAVE ) -GAME( 1986, wboyu, wboy, sys1pio, wboyu, system1_state, empty_init, ROT0, "Escape (Sega license)", "Wonder Boy (prototype?)", MACHINE_SUPPORTS_SAVE ) // appears to be a very early / unfinished version. -GAME( 1986, wboy5, wboy, sys1piox_315_5135, wboy3, system1_state, empty_init, ROT0, "bootleg", "Wonder Boy (set 5, bootleg)", MACHINE_SUPPORTS_SAVE ) -GAME( 1986, wboyub, wboy, sys1piox_315_5177, wboy, system1_state, empty_init, ROT0, "bootleg", "Wonder Boy (US bootleg)", MACHINE_SUPPORTS_SAVE ) -GAME( 1986, wboyblt, wboy, sys1piox_315_5135, wboy3, system1_state, empty_init, ROT0, "bootleg (Tecfri)", "Wonder Boy (Tecfri bootleg)", MACHINE_SUPPORTS_SAVE ) -GAME( 1987, blockgal, 0, blockgal, blockgal, system1_state, init_blockgal, ROT90, "Sega / Vic Tokai", "Block Gal (MC-8123B, 317-0029)", MACHINE_SUPPORTS_SAVE) +GAME( 1984, flicky, 0, flicky, flicky, system1_state, empty_init, ROT0, "Sega", "Flicky (128k Version, 315-5051)", MACHINE_SUPPORTS_SAVE ) // 1984/05/24 +GAME( 1984, flickya, flicky, flicky, flicky, system1_state, empty_init, ROT0, "Sega", "Flicky (128k Version, 315-5051, larger ROMs)", MACHINE_SUPPORTS_SAVE ) // 1984/05/24 +GAME( 1984, flickyb, flicky, flicky, flickyb, system1_state, empty_init, ROT0, "Sega", "Flicky (128k Version, 315-5051, larger ROMs, newer)", MACHINE_SUPPORTS_SAVE ) // 1984/10/07 +GAME( 1984, flickys2, flicky, sys1pio, flickys2, system1_state, empty_init, ROT0, "Sega", "Flicky (128k Version, not encrypted)", MACHINE_SUPPORTS_SAVE ) +GAME( 1984, thetogyu, bullfgt, thetogyu, bullfgt, system1_state, empty_init, ROT0, "Coreland / Sega", "The Togyu (315-5065, Japan)", MACHINE_SUPPORTS_SAVE ) +GAME( 1984, spatter, 0, spatter, spatter, system1_state, empty_init, ROT0, "Sega", "Spatter (315-5096)", MACHINE_SUPPORTS_SAVE ) +GAME( 1984, spattera, spatter, spattera, spatter, system1_state, empty_init, ROT0, "Sega", "Spatter (315-5099)", MACHINE_SUPPORTS_SAVE ) +GAME( 1984, ssanchan, spatter, spatter, spatter, system1_state, empty_init, ROT0, "Sega", "Sanrin San Chan (Japan, 315-5096)", MACHINE_SUPPORTS_SAVE ) +GAME( 1985, pitfall2, 0, pitfall2, pitfall2, system1_state, empty_init, ROT0, "Sega", "Pitfall II (315-5093)", MACHINE_SUPPORTS_SAVE ) +GAME( 1985, pitfall2a, pitfall2, pitfall2, pitfall2, system1_state, empty_init, ROT0, "Sega", "Pitfall II (315-5093, Flicky Conversion)", MACHINE_SUPPORTS_SAVE ) +GAME( 1985, pitfall2u, pitfall2, sys1pio, pitfall2u, system1_state, empty_init, ROT0, "Sega", "Pitfall II (not encrypted)", MACHINE_SUPPORTS_SAVE ) +GAME( 1985, seganinj, 0, seganinj, seganinj, system1_state, empty_init, ROT0, "Sega", "Sega Ninja (315-5102)", MACHINE_SUPPORTS_SAVE ) +GAME( 1985, seganinju, seganinj, sys1pio, seganinj, system1_state, empty_init, ROT0, "Sega", "Sega Ninja (not encrypted)", MACHINE_SUPPORTS_SAVE ) +GAME( 1985, seganinja, seganinj, seganinja, seganinj, system1_state, empty_init, ROT0, "Sega", "Sega Ninja (315-5113)", MACHINE_SUPPORTS_SAVE ) +GAME( 1985, ninja, seganinj, seganinj, seganinj, system1_state, empty_init, ROT0, "Sega", "Ninja (315-5102)", MACHINE_SUPPORTS_SAVE ) +GAME( 1985, nprinceso, seganinj, nprinceso, seganinj, system1_state, empty_init, ROT0, "Sega", "Ninja Princess (315-5098, 128k Ver.)", MACHINE_SUPPORTS_SAVE ) +GAME( 1985, nprincesb, seganinj, flicky, seganinj, system1_state, empty_init, ROT0, "bootleg?", "Ninja Princess (315-5051?, 128k Ver. bootleg?)", MACHINE_SUPPORTS_SAVE ) +GAME( 1985, imsorry, 0, imsorry, imsorry, system1_state, empty_init, ROT0, "Coreland / Sega", "I'm Sorry (315-5110, US)", MACHINE_SUPPORTS_SAVE ) +GAME( 1985, imsorryj, imsorry, imsorry, imsorry, system1_state, empty_init, ROT0, "Coreland / Sega", "Gonbee no I'm Sorry (315-5110, Japan)", MACHINE_SUPPORTS_SAVE ) +GAME( 1985, teddybb, 0, teddybb, teddybb, system1_state, empty_init, ROT0, "Sega", "TeddyBoy Blues (315-5115, New Ver.)", MACHINE_SUPPORTS_SAVE ) +GAME( 1985, teddybbo, teddybb, teddybb, teddybb, system1_state, empty_init, ROT0, "Sega", "TeddyBoy Blues (315-5115, Old Ver.)", MACHINE_SUPPORTS_SAVE ) +GAME( 1985, teddybboa, teddybb, teddybboa, teddybb, system1_state, empty_init, ROT0, "Sega", "TeddyBoy Blues (315-5111, Old Ver.)", MACHINE_SUPPORTS_SAVE ) +GAME( 1985, teddybbobl, teddybb, teddybb, teddybb, system1_state, empty_init, ROT0, "bootleg", "TeddyBoy Blues (Old Ver. bootleg)", MACHINE_SUPPORTS_SAVE ) +GAME( 1985, myhero, 0, sys1pio, myhero, system1_state, empty_init, ROT0, "Coreland / Sega", "My Hero (US, not encrypted)", MACHINE_SUPPORTS_SAVE ) +GAME( 1985, sscandal, myhero, myheroj, myhero, system1_state, empty_init, ROT0, "Coreland / Sega", "Seishun Scandal (315-5132, Japan)", MACHINE_SUPPORTS_SAVE ) +GAME( 1985, myherobl, myhero, myheroj, myhero, system1_state, empty_init, ROT0, "bootleg", "My Hero (bootleg, 315-5132 encryption)", MACHINE_SUPPORTS_SAVE ) // cloned 315-5132 encryption? might be a direct copy of an undumped original set +GAME( 1985, myherok, myhero, myheroj, myhero, system1_state, init_myherok, ROT0, "Coreland / Sega", "Cheongchun Ilbeonji (Korea)", MACHINE_SUPPORTS_SAVE ) // possible bootleg, has extra encryption +GAME( 1985, 4dwarrio, 0, _4dwarrio, 4dwarrio, system1_state, empty_init, ROT0, "Coreland / Sega", "4-D Warriors (315-5162)", MACHINE_SUPPORTS_SAVE ) +GAME( 1986, raflesia, 0, _4dwarrio, raflesia, system1_state, empty_init, ROT270, "Coreland / Sega", "Rafflesia (315-5162)", MACHINE_SUPPORTS_SAVE ) +GAME( 1986, wboy, 0, wboy, wboy, system1_state, empty_init, ROT0, "Escape (Sega license)", "Wonder Boy (set 1, 315-5177)", MACHINE_SUPPORTS_SAVE ) +GAME( 1986, wboyo, wboy, wboyo, wboy, system1_state, empty_init, ROT0, "Escape (Sega license)", "Wonder Boy (set 2, 315-5135)", MACHINE_SUPPORTS_SAVE ) // aka 317-0003 +GAME( 1986, wboy3, wboy, wboyo, wboy3, system1_state, empty_init, ROT0, "Escape (Sega license)", "Wonder Boy (set 3, 315-5135)", MACHINE_SUPPORTS_SAVE ) +GAME( 1986, wboy4, wboy, _4dwarrio, wboy, system1_state, empty_init, ROT0, "Escape (Sega license)", "Wonder Boy (315-5162, 4-D Warriors Conversion)", MACHINE_SUPPORTS_SAVE ) +GAME( 1986, wboyu, wboy, sys1pio, wboyu, system1_state, empty_init, ROT0, "Escape (Sega license)", "Wonder Boy (prototype?)", MACHINE_SUPPORTS_SAVE ) // appears to be a very early / unfinished version. +GAME( 1986, wboy5, wboy, wboyo, wboy3, system1_state, empty_init, ROT0, "bootleg", "Wonder Boy (set 5, bootleg)", MACHINE_SUPPORTS_SAVE ) +GAME( 1986, wboyub, wboy, wboy, wboy, system1_state, empty_init, ROT0, "bootleg", "Wonder Boy (US bootleg)", MACHINE_SUPPORTS_SAVE ) +GAME( 1986, wboyblt, wboy, wboyo, wboy3, system1_state, empty_init, ROT0, "bootleg (Tecfri)", "Wonder Boy (Tecfri bootleg)", MACHINE_SUPPORTS_SAVE ) +GAME( 1987, blockgal, 0, blockgal, blockgal, system1_state, init_blockgal, ROT90, "Sega / Vic Tokai", "Block Gal (MC-8123B, 317-0029)", MACHINE_SUPPORTS_SAVE) // PIO-based System 1 with ROM banking -GAME( 1985, hvymetal, 0, sys1piox_315_5135, hvymetal, system1_state, init_bank44, ROT0, "Sega", "Heavy Metal (315-5135)", MACHINE_SUPPORTS_SAVE ) -GAME( 1986, gardia, 0, sys1piox_317_0006, gardia, system1_state, init_bank44, ROT270, "Coreland / Sega", "Gardia (317-0006)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE) -GAME( 1986, brain, 0, sys1pio, brain, system1_state, init_bank44, ROT0, "Coreland / Sega", "Brain", MACHINE_SUPPORTS_SAVE ) +GAME( 1985, hvymetal, 0, wboyo, hvymetal, system1_state, init_bank44, ROT0, "Sega", "Heavy Metal (315-5135)", MACHINE_SUPPORTS_SAVE ) +GAME( 1986, gardia, 0, gardia, gardia, system1_state, init_bank44, ROT270, "Coreland / Sega", "Gardia (317-0006)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE) +GAME( 1986, brain, 0, sys1pio, brain, system1_state, init_bank44, ROT0, "Coreland / Sega", "Brain", MACHINE_SUPPORTS_SAVE ) // System 2 -GAME( 1985, choplift, 0, sys2rowm, choplift, system1_state, init_bank0c, ROT0, "Sega", "Choplifter (8751 315-5151)", MACHINE_SUPPORTS_SAVE ) -GAME( 1985, chopliftu, choplift, sys2row, choplift, system1_state, init_bank0c, ROT0, "Sega", "Choplifter (unprotected)", MACHINE_SUPPORTS_SAVE ) -GAME( 1985, chopliftbl, choplift, sys2row, choplift, system1_state, init_bank0c, ROT0, "bootleg", "Choplifter (bootleg)", MACHINE_SUPPORTS_SAVE ) -GAME( 1985, shtngmst, 0, shtngmst, shtngmst, shtngmst_state,init_bank0c, ROT0, "Sega", "Shooting Master (8751 315-5159a)", MACHINE_SUPPORTS_SAVE ) -GAME( 1986, gardiab, gardia, sys2_317_0007, gardia, system1_state, init_bank44, ROT270, "bootleg", "Gardia (317-0007?, bootleg)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) -GAME( 1986, gardiaj, gardia, sys2_317_0006, gardia, system1_state, init_bank44, ROT270, "Coreland / Sega", "Gardia (Japan, 317-0006)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) -GAME( 1986, wboysys2, wboy, sys2_315_5177, wboysys2, system1_state, init_bank0c, ROT0, "Escape (Sega license)", "Wonder Boy (system 2, set 1, 315-5177)", MACHINE_SUPPORTS_SAVE ) -GAME( 1986, wboysys2a, wboy, sys2_315_5176, wboysys2, system1_state, init_bank0c, ROT0, "Escape (Sega license)", "Wonder Boy (system 2, set 2, 315-5176)", MACHINE_SUPPORTS_SAVE ) -GAME( 1987, tokisens, 0, sys2xb, tokisens, system1_state, init_wbml, ROT90, "Sega", "Toki no Senshi - Chrono Soldier (MC-8123, 317-0040)", MACHINE_SUPPORTS_SAVE ) -GAME( 1987, tokisensa, tokisens, sys2, tokisensa, system1_state, init_bank0c, ROT90, "Sega", "Toki no Senshi - Chrono Soldier (prototype?)", MACHINE_SUPPORTS_SAVE ) // or bootleg? -GAME( 1987, wbml, 0, sys2xb, wbml, system1_state, init_wbml, ROT0, "Sega / Westone", "Wonder Boy - Monster Land (Japan New Ver., MC-8123, 317-0043)", MACHINE_SUPPORTS_SAVE ) -GAME( 1987, wbmljo, wbml, sys2xb, wbml, system1_state, init_wbml, ROT0, "Sega / Westone", "Wonder Boy - Monster Land (Japan Old Ver., MC-8123, 317-0043)", MACHINE_SUPPORTS_SAVE ) -GAME( 1987, wbmljb, wbml, sys2xboot, wbml, system1_state, init_bootsys2, ROT0, "bootleg", "Wonder Boy - Monster Land (Japan bootleg)", MACHINE_SUPPORTS_SAVE ) -GAME( 1987, wbmlb, wbml, sys2xboot, wbml, system1_state, init_bootsys2, ROT0, "bootleg", "Wonder Boy - Monster Land (English bootleg set 1)", MACHINE_SUPPORTS_SAVE) -GAME( 1987, wbmlb2, wbml, sys2xboot, wbml, system1_state, init_bootsys2, ROT0, "bootleg", "Wonder Boy - Monster Land (English bootleg set 4)", MACHINE_SUPPORTS_SAVE) -GAME( 1987, wbmlbg, wbml, sys2xboot, wbml, system1_state, init_bootsys2, ROT0, "bootleg (Galaxy Electronics)", "Wonder Boy - Monster Land (English bootleg set 2)", MACHINE_SUPPORTS_SAVE ) -GAME( 1987, wbmlbge, wbml, sys2xboot, wbml, system1_state, init_bootsys2, ROT0, "bootleg (Gecas)", "Wonder Boy - Monster Land (English bootleg set 3)", MACHINE_SUPPORTS_SAVE ) -GAME( 2009, wbmlvc, wbml, sys2xboot, wbml, system1_state, init_bootsys2, ROT0, "Sega", "Wonder Boy - Monster Land (English, Virtual Console)", MACHINE_SUPPORTS_SAVE ) -GAME( 2009, wbmlvcd, wbml, sys2xboot, wbml, system1_state, init_bootsys2d, ROT0, "bootleg (mpatou)", "Wonder Boy - Monster Land (decrypted bootleg of English, Virtual Console release)", MACHINE_SUPPORTS_SAVE ) // fully decrypted version -GAME( 1987, wbmld, wbml, sys2xboot, wbml, system1_state, init_bootsys2d, ROT0, "bootleg (mpatou)", "Wonder Boy - Monster Land (decrypted bootleg of Japan New Ver., MC-8123, 317-0043)", MACHINE_SUPPORTS_SAVE ) -GAME( 1987, wbmljod, wbml, sys2xboot, wbml, system1_state, init_bootsys2d, ROT0, "bootleg (mpatou)", "Wonder Boy - Monster Land (decrypted bootleg of Japan Old Ver., MC-8123, 317-0043)", MACHINE_SUPPORTS_SAVE ) -GAME( 1987, wbmlh, wbml, sys2xboot, wbml, system1_state, init_bootsys2, ROT0, "bootleg", "Wonder Boy - Monster Land (English, difficulty hack)", MACHINE_SUPPORTS_SAVE ) -GAME( 1987, dakkochn, 0, sys2xb, dakkochn, dakkochn_state,init_wbml, ROT0, "White Board", "DakkoChan House (MC-8123B, 317-5014)", MACHINE_SUPPORTS_SAVE ) -GAME( 1987, blockgalb, blockgal, sys2x, blockgalb, system1_state, init_bootleg, ROT90, "bootleg", "Block Gal (bootleg)", MACHINE_SUPPORTS_SAVE ) -GAME( 1988, ufosensi, 0, sys2rowxb, ufosensi, system1_state, init_wbml, ROT0, "Sega", "Ufo Senshi Yohko Chan (MC-8123, 317-0064)", MACHINE_SUPPORTS_SAVE ) -GAME( 1988, ufosensib, ufosensi, sys2rowxboot, ufosensi, system1_state, init_bootsys2, ROT0, "bootleg", "Ufo Senshi Yohko Chan (bootleg, not encrypted)", MACHINE_SUPPORTS_SAVE ) +GAME( 1985, choplift, 0, choplift, choplift, system1_state, init_bank0c, ROT0, "Sega", "Choplifter (8751 315-5151)", MACHINE_SUPPORTS_SAVE ) +GAME( 1985, chopliftu, choplift, sys2row, choplift, system1_state, init_bank0c, ROT0, "Sega", "Choplifter (unprotected)", MACHINE_SUPPORTS_SAVE ) +GAME( 1985, chopliftbl, choplift, sys2row, choplift, system1_state, init_bank0c, ROT0, "bootleg", "Choplifter (bootleg)", MACHINE_SUPPORTS_SAVE ) +GAME( 1985, shtngmst, 0, shtngmst, shtngmst, shtngmst_state,init_bank0c, ROT0, "Sega", "Shooting Master (8751 315-5159a)", MACHINE_SUPPORTS_SAVE ) +GAME( 1986, gardiab, gardia, gardiab, gardia, system1_state, init_bank44, ROT270, "bootleg", "Gardia (317-0007?, bootleg)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) +GAME( 1986, gardiaj, gardia, gardiaj, gardia, system1_state, init_bank44, ROT270, "Coreland / Sega", "Gardia (Japan, 317-0006)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) +GAME( 1986, wboysys2, wboy, wboysys2, wboysys2, system1_state, init_bank0c, ROT0, "Escape (Sega license)", "Wonder Boy (system 2, set 1, 315-5177)", MACHINE_SUPPORTS_SAVE ) +GAME( 1986, wboysys2a, wboy, wboysys2a, wboysys2, system1_state, init_bank0c, ROT0, "Escape (Sega license)", "Wonder Boy (system 2, set 2, 315-5176)", MACHINE_SUPPORTS_SAVE ) +GAME( 1987, tokisens, 0, sys2x, tokisens, system1_state, init_wbml, ROT90, "Sega", "Toki no Senshi - Chrono Soldier (MC-8123, 317-0040)", MACHINE_SUPPORTS_SAVE ) +GAME( 1987, tokisensa, tokisens, sys2, tokisensa, system1_state, init_bank0c, ROT90, "Sega", "Toki no Senshi - Chrono Soldier (prototype?)", MACHINE_SUPPORTS_SAVE ) // or bootleg? +GAME( 1987, wbml, 0, sys2x, wbml, system1_state, init_wbml, ROT0, "Sega / Westone", "Wonder Boy: Monster Land (Japan New Ver., MC-8123, 317-0043)", MACHINE_SUPPORTS_SAVE ) +GAME( 1987, wbmljo, wbml, sys2x, wbml, system1_state, init_wbml, ROT0, "Sega / Westone", "Wonder Boy: Monster Land (Japan Old Ver., MC-8123, 317-0043)", MACHINE_SUPPORTS_SAVE ) +GAME( 1987, wbmljb, wbml, wbmlb, wbml, system1_state, init_bootsys2, ROT0, "bootleg", "Wonder Boy: Monster Land (Japan bootleg)", MACHINE_SUPPORTS_SAVE ) +GAME( 1987, wbmlb, wbml, wbmlb, wbml, system1_state, init_bootsys2, ROT0, "bootleg", "Wonder Boy: Monster Land (English bootleg set 1)", MACHINE_SUPPORTS_SAVE) +GAME( 1987, wbmlb2, wbml, wbmlb, wbml, system1_state, init_bootsys2, ROT0, "bootleg", "Wonder Boy: Monster Land (English bootleg set 4)", MACHINE_SUPPORTS_SAVE) +GAME( 1987, wbmlbg, wbml, wbmlb, wbml, system1_state, init_bootsys2, ROT0, "bootleg (Galaxy Electronics)", "Wonder Boy: Monster Land (English bootleg set 2)", MACHINE_SUPPORTS_SAVE ) +GAME( 1987, wbmlbge, wbml, wbmlb, wbml, system1_state, init_bootsys2, ROT0, "bootleg (Gecas)", "Wonder Boy: Monster Land (English bootleg set 3)", MACHINE_SUPPORTS_SAVE ) +GAME( 2009, wbmlvc, wbml, wbmlb, wbml, system1_state, init_bootsys2, ROT0, "Sega", "Wonder Boy: Monster Land (English, Virtual Console)", MACHINE_SUPPORTS_SAVE ) +GAME( 2009, wbmlvcd, wbml, wbmlb, wbml, system1_state, init_bootsys2d, ROT0, "bootleg (mpatou)", "Wonder Boy: Monster Land (decrypted bootleg of English, Virtual Console release)", MACHINE_SUPPORTS_SAVE ) // fully decrypted version +GAME( 1987, wbmld, wbml, wbmlb, wbml, system1_state, init_bootsys2d, ROT0, "bootleg (mpatou)", "Wonder Boy: Monster Land (decrypted bootleg of Japan New Ver., MC-8123, 317-0043)", MACHINE_SUPPORTS_SAVE ) +GAME( 1987, wbmljod, wbml, wbmlb, wbml, system1_state, init_bootsys2d, ROT0, "bootleg (mpatou)", "Wonder Boy: Monster Land (decrypted bootleg of Japan Old Ver., MC-8123, 317-0043)", MACHINE_SUPPORTS_SAVE ) +GAME( 1987, wbmlh, wbml, wbmlb, wbml, system1_state, init_bootsys2, ROT0, "bootleg", "Wonder Boy: Monster Land (English, difficulty hack)", MACHINE_SUPPORTS_SAVE ) +GAME( 1987, dakkochn, 0, sys2x, dakkochn, dakkochn_state,init_wbml, ROT0, "White Board", "DakkoChan House (MC-8123B, 317-5014)", MACHINE_SUPPORTS_SAVE ) +GAME( 1987, blockgalb, blockgal, blockgalb, blockgalb, system1_state, init_bootleg, ROT90, "bootleg", "Block Gal (bootleg)", MACHINE_SUPPORTS_SAVE ) +GAME( 1988, ufosensi, 0, ufosensi, ufosensi, system1_state, init_wbml, ROT0, "Sega", "Ufo Senshi Yohko Chan (MC-8123, 317-0064)", MACHINE_SUPPORTS_SAVE ) +GAME( 1988, ufosensib, ufosensi, ufosensib, ufosensi, system1_state, init_bootsys2, ROT0, "bootleg", "Ufo Senshi Yohko Chan (bootleg, not encrypted)", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/sega/system1.h b/src/mame/sega/system1.h index d801b78664e90..fb8071d058f10 100644 --- a/src/mame/sega/system1.h +++ b/src/mame/sega/system1.h @@ -50,52 +50,55 @@ class system1_state : public driver_device m_banked_decrypted_opcodes(nullptr) { } - void sys1ppix_315_5051(machine_config &config); - void sys1ppisx_315_5064(machine_config &config); - void sys2_317_0007(machine_config &config); - void sys1piox_315_5110(machine_config &config); - void sys1piox_315_5111(machine_config &config); - void sys1piox_315_5065(machine_config &config); - void sys1ppix_315_5178(machine_config &config); - void sys1ppix_315_5179(machine_config &config); - void sys1piox_315_5093(machine_config &config); - void sys2_315_5176(machine_config &config); - void sys2(machine_config &config); - void sys2_315_5177(machine_config &config); - void nob(machine_config &config); - void blockgal(machine_config &config); - void sys1ppisx_315_5041(machine_config &config); - void sys1piox_315_5132(machine_config &config); - void sys1piox_315_5162(machine_config &config); - void sys1piox_315_5133(machine_config &config); - void sys1pioxb(machine_config &config); void sys1ppi(machine_config &config); - void sys1piox_315_5135(machine_config &config); - void sys2rowxboot(machine_config &config); - void sys1piox_315_5102(machine_config &config); - void sys1piosx_315_5096(machine_config &config); - void sys2x(machine_config &config); - void sys1piox_315_5051(machine_config &config); - void sys1piox_315_5098(machine_config &config); - void sys1piosx_315_5099(machine_config &config); - void sys2xboot(machine_config &config); - void sys2xb(machine_config &config); - void nobm(machine_config &config); - void mcu(machine_config &config); - void sys2_317_0006(machine_config &config); - void sys1piox_317_0006(machine_config &config); - void sys1ppix_315_5033(machine_config &config); + void sys1ppis(machine_config &config); void sys1pio(machine_config &config); void sys1pios(machine_config &config); - void sys2rowm(machine_config &config); - void sys1ppix_315_5098(machine_config &config); - void sys1ppix_315_5048(machine_config &config); + void mcu(machine_config &config); + void sys2(machine_config &config); + void sys2x(machine_config &config); void sys2row(machine_config &config); - void sys1ppis(machine_config &config); - void sys1ppix_315_5065(machine_config &config); - void sys1piox_315_5177(machine_config &config); - void sys1piox_315_5155(machine_config &config); - void sys2rowxb(machine_config &config); + + void starjack(machine_config &config); + void upndown(machine_config &config); + void regulus(machine_config &config); + void mrviking(machine_config &config); + void swat(machine_config &config); + void flickyo(machine_config &config); + void bullfgt(machine_config &config); + void wmatch(machine_config &config); + void wboy2(machine_config &config); + void wboy6(machine_config &config); + void nob(machine_config &config); + void nobb(machine_config &config); + + void flicky(machine_config &config); + void thetogyu(machine_config &config); + void spatter(machine_config &config); + void spattera(machine_config &config); + void pitfall2(machine_config &config); + void seganinj(machine_config &config); + void seganinja(machine_config &config); + void nprinceso(machine_config &config); + void imsorry(machine_config &config); + void teddybb(machine_config &config); + void teddybboa(machine_config &config); + void myheroj(machine_config &config); + void _4dwarrio(machine_config &config); + void wboy(machine_config &config); + void wboyo(machine_config &config); + void blockgal(machine_config &config); + void gardia(machine_config &config); + + void choplift(machine_config &config); + void gardiab(machine_config &config); + void gardiaj(machine_config &config); + void wboysys2(machine_config &config); + void wboysys2a(machine_config &config); + void wbmlb(machine_config &config); + void blockgalb(machine_config &config); + void ufosensi(machine_config &config); + void ufosensib(machine_config &config); void init_bank0c(); void init_bank44(); diff --git a/src/mame/sega/timetrv.cpp b/src/mame/sega/timetrv.cpp index 22a03722565f3..ca132897059d2 100644 --- a/src/mame/sega/timetrv.cpp +++ b/src/mame/sega/timetrv.cpp @@ -128,7 +128,7 @@ void timetrv_state::led_w(offs_t offset, uint8_t data) 06: 0000 0000 0111 0001 0x0071 F 07: 0000 0000 1011 1101 0x00bd G 08: 0000 0000 1111 0110 0x00f6 H - 09: 0000 0011 0000 0000 0x0300 I + 09: 0000 0011 0000 1001 0x0309 I 0A: 0000 0000 0001 1110 0x001e J 0B: 0011 0000 0111 0000 0x3070 K 0C: 0000 0000 0011 1000 0x0038 L @@ -187,7 +187,7 @@ void timetrv_state::led_w(offs_t offset, uint8_t data) static uint16_t const s_digit_data[0x40] = { - 0x01bb, 0x00f7, 0x038f, 0x0039, 0x030f, 0x0079, 0x0071, 0x00bd, 0x00f6, 0x0300, 0x001e, 0x3070, 0x0038, 0x1836, 0x2836, 0x003f, + 0x01bb, 0x00f7, 0x038f, 0x0039, 0x030f, 0x0079, 0x0071, 0x00bd, 0x00f6, 0x0309, 0x001e, 0x3070, 0x0038, 0x1836, 0x2836, 0x003f, 0x00f3, 0x203f, 0x20f3, 0x00ed, 0x0301, 0x003e, 0x1430, 0x2436, 0x3c00, 0x1a00, 0x1409, 0x3080, 0x2800, 0x0c40, 0x1403, 0x0008, 0x0000, 0x4100, 0x0022, 0x03ce, 0x03ed, 0x3ce4, 0x3c0d, 0x0100, 0x3000, 0x0c00, 0x3fc0, 0x03c0, 0x0400, 0x00c0, 0x4000, 0x1400, 0x143f, 0x0300, 0x00db, 0x00cf, 0x00e6, 0x2069, 0x00fd, 0x0007, 0x00ff, 0x00ef, 0x4000, 0x0400, 0x0408, 0x00c8, 0x2008, 0x0283 diff --git a/src/mame/sega/triforce.cpp b/src/mame/sega/triforce.cpp index 6b2e943d50f41..00105444721a1 100644 --- a/src/mame/sega/triforce.cpp +++ b/src/mame/sega/triforce.cpp @@ -1300,82 +1300,82 @@ ROM_END /* Main board */ -/*Triforce*/GAME( 2002, triforce, 0, triforce_base, triforce, triforce_state, empty_init, ROT0, "Sega", "Triforce BIOS", MACHINE_IS_SKELETON|MACHINE_IS_BIOS_ROOT ) +/*Triforce*/GAME( 2002, triforce, 0, triforce_base, triforce, triforce_state, empty_init, ROT0, "Sega", "Triforce BIOS", MACHINE_NO_SOUND | MACHINE_NOT_WORKING|MACHINE_IS_BIOS_ROOT ) /* GDT-xxxx (Sega GD-ROM games) */ -/* 0001 */ GAME( 2002, vs2002j, triforce, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Amusement Vision", "Virtua Striker 2002 (Japan) (GDT-0001)", MACHINE_IS_SKELETON ) -/* 0002 */ GAME( 2002, vs2002ex, triforce, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Amusement Vision", "Virtua Striker 2002 (Export) (GDT-0002)", MACHINE_IS_SKELETON ) +/* 0001 */ GAME( 2002, vs2002j, triforce, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Amusement Vision", "Virtua Striker 2002 (Japan) (GDT-0001)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +/* 0002 */ GAME( 2002, vs2002ex, triforce, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Amusement Vision", "Virtua Striker 2002 (Export) (GDT-0002)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // 0003 -// 0004 GAME( 2003, fzeroaxo, fzeroax, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Amusement Vision / Nintendo", "F-Zero AX (GDT-0004)", MACHINE_IS_SKELETON ) -// 0004A GAME( 2003, fzeroaxa, fzeroax, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Amusement Vision / Nintendo", "F-Zero AX (Rev A) (GDT-0004A)", MACHINE_IS_SKELETON ) -// 0004B GAME( 2003, fzeroaxb, fzeroax, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Amusement Vision / Nintendo", "F-Zero AX (Rev B) (GDT-0004B)", MACHINE_IS_SKELETON ) -/* 0004C */ GAME( 2003, fzeroaxc, fzeroax, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Amusement Vision / Nintendo", "F-Zero AX (Rev C) (GDT-0004C)", MACHINE_IS_SKELETON ) -/* 0004D */ GAME( 2003, fzeroaxd, fzeroax, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Amusement Vision / Nintendo", "F-Zero AX (Rev D) (GDT-0004D)", MACHINE_IS_SKELETON ) -/* 0004E */ GAME( 2003, fzeroax, triforce, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Amusement Vision / Nintendo", "F-Zero AX (Rev E) (GDT-0004E)", MACHINE_IS_SKELETON ) -// 0005 GAME( 2003, avalonso, avalons, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon - The Wizard Master (server) (GDT-0005)", MACHINE_IS_SKELETON ) -/* 0005A */ GAME( 2003, avalonsa, avalons, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon - The Wizard Master (server, Rev A) (GDT-0005A)", MACHINE_IS_SKELETON ) -// 0005B GAME( 2003, avalonsb, avalons, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon - The Wizard Master (server, Rev B) (GDT-0005B)", MACHINE_IS_SKELETON ) -/* 0005C */ GAME( 2003, avalonsc, avalons, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon - The Wizard Master (server, Rev C) (GDT-0005C)", MACHINE_IS_SKELETON ) -// 0005D GAME( 2003, avalonsd, avalons, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon - The Wizard Master (server, Rev D) (GDT-0005D)", MACHINE_IS_SKELETON ) -/* 0005E */ GAME( 2003, avalonse, avalons, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon - The Wizard Master (server, Rev E) (GDT-0005E)", MACHINE_IS_SKELETON ) -/* 0005F */ GAME( 2003, avalonsf, avalons, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon - The Wizard Master (server, Rev F) (GDT-0005F)", MACHINE_IS_SKELETON ) -/* 0005G */ GAME( 2003, avalons, triforce, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon - The Wizard Master (server, Rev G) (GDT-0005G)", MACHINE_IS_SKELETON ) -// 0006 GAME( 2003, avalonco, avalonc, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon - The Wizard Master (client) (GDT-0006)", MACHINE_IS_SKELETON ) -/* 0006A */ GAME( 2003, avalonca, avalonc, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon - The Wizard Master (client, Rev A) (GDT-0006A)", MACHINE_IS_SKELETON ) -// 0006B GAME( 2003, avaloncb, avalonc, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon - The Wizard Master (client, Rev B) (GDT-0006B)", MACHINE_IS_SKELETON ) -/* 0006C */ GAME( 2003, avaloncc, avalonc, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon - The Wizard Master (client, Rev C) (GDT-0006C)", MACHINE_IS_SKELETON ) -// 0006D GAME( 2003, avaloncd, avalonc, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon - The Wizard Master (client, Rev D) (GDT-0006D)", MACHINE_IS_SKELETON ) -/* 0006E */ GAME( 2003, avalonce, avalonc, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon - The Wizard Master (client, Rev E) (GDT-0006E)", MACHINE_IS_SKELETON ) -/* 0006F */ GAME( 2003, avaloncf, avalonc, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon - The Wizard Master (client, Rev F) (GDT-0006F)", MACHINE_IS_SKELETON ) -/* 0006G */ GAME( 2003, avalonc, triforce, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon - The Wizard Master (client, Rev G) (GDT-0006G)", MACHINE_IS_SKELETON ) +// 0004 GAME( 2003, fzeroaxo, fzeroax, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Amusement Vision / Nintendo", "F-Zero AX (GDT-0004)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +// 0004A GAME( 2003, fzeroaxa, fzeroax, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Amusement Vision / Nintendo", "F-Zero AX (Rev A) (GDT-0004A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +// 0004B GAME( 2003, fzeroaxb, fzeroax, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Amusement Vision / Nintendo", "F-Zero AX (Rev B) (GDT-0004B)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +/* 0004C */ GAME( 2003, fzeroaxc, fzeroax, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Amusement Vision / Nintendo", "F-Zero AX (Rev C) (GDT-0004C)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +/* 0004D */ GAME( 2003, fzeroaxd, fzeroax, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Amusement Vision / Nintendo", "F-Zero AX (Rev D) (GDT-0004D)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +/* 0004E */ GAME( 2003, fzeroax, triforce, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Amusement Vision / Nintendo", "F-Zero AX (Rev E) (GDT-0004E)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +// 0005 GAME( 2003, avalonso, avalons, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon - The Wizard Master (server) (GDT-0005)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +/* 0005A */ GAME( 2003, avalonsa, avalons, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon - The Wizard Master (server, Rev A) (GDT-0005A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +// 0005B GAME( 2003, avalonsb, avalons, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon - The Wizard Master (server, Rev B) (GDT-0005B)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +/* 0005C */ GAME( 2003, avalonsc, avalons, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon - The Wizard Master (server, Rev C) (GDT-0005C)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +// 0005D GAME( 2003, avalonsd, avalons, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon - The Wizard Master (server, Rev D) (GDT-0005D)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +/* 0005E */ GAME( 2003, avalonse, avalons, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon - The Wizard Master (server, Rev E) (GDT-0005E)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +/* 0005F */ GAME( 2003, avalonsf, avalons, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon - The Wizard Master (server, Rev F) (GDT-0005F)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +/* 0005G */ GAME( 2003, avalons, triforce, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon - The Wizard Master (server, Rev G) (GDT-0005G)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +// 0006 GAME( 2003, avalonco, avalonc, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon - The Wizard Master (client) (GDT-0006)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +/* 0006A */ GAME( 2003, avalonca, avalonc, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon - The Wizard Master (client, Rev A) (GDT-0006A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +// 0006B GAME( 2003, avaloncb, avalonc, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon - The Wizard Master (client, Rev B) (GDT-0006B)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +/* 0006C */ GAME( 2003, avaloncc, avalonc, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon - The Wizard Master (client, Rev C) (GDT-0006C)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +// 0006D GAME( 2003, avaloncd, avalonc, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon - The Wizard Master (client, Rev D) (GDT-0006D)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +/* 0006E */ GAME( 2003, avalonce, avalonc, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon - The Wizard Master (client, Rev E) (GDT-0006E)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +/* 0006F */ GAME( 2003, avaloncf, avalonc, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon - The Wizard Master (client, Rev F) (GDT-0006F)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +/* 0006G */ GAME( 2003, avalonc, triforce, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon - The Wizard Master (client, Rev G) (GDT-0006G)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // 0007 F-Zero AX (Asia) -// 0008 GAME( 2003, gekpuryao,gekpurya, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Wow Entertainment", "Gekitou Pro Yakyuu Mizushima Shinji All Stars vs. Pro Yakyuu (GDT-0008)", MACHINE_IS_SKELETON ) -// 0008A GAME( 2003, gekpuryaa,gekpurya, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Wow Entertainment", "Gekitou Pro Yakyuu Mizushima Shinji All Stars vs. Pro Yakyuu (Rev A) (GDT-0008A)", MACHINE_IS_SKELETON ) -/* 0008B */ GAME( 2003, gekpuryb, gekpurya, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Wow Entertainment", "Gekitou Pro Yakyuu Mizushima Shinji All Stars vs. Pro Yakyuu (Rev B) (GDT-0008B)", MACHINE_IS_SKELETON ) -/* 0008C */ GAME( 2003, gekpurya, triforce, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Wow Entertainment", "Gekitou Pro Yakyuu Mizushima Shinji All Stars vs. Pro Yakyuu (Rev C) (GDT-0008C)", MACHINE_IS_SKELETON ) -// 0009 GAME( 2004, avalns11, avalns13, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon 1.? - ??? (server) (GDT-0009)", MACHINE_IS_SKELETON ) -/* 0009A */ GAME( 2004, avalns12, avalns13, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon 1.2 - Summon The New Monsters (server, Rev A) (GDT-0009A)", MACHINE_IS_SKELETON ) -// 0009B GAME( 2004, avals13b, avalns13, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon 1.? - ??? (server, Rev B) (GDT-0009B)", MACHINE_IS_SKELETON ) -/* 0009C */ GAME( 2004, avalns13, triforce, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon 1.3 - Chaotic Sabbat (server, Rev C) (GDT-0009C)", MACHINE_IS_SKELETON ) -// 0010 GAME( 2004, avalnc11, avalnc13, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon 1.? - ??? (client) (GDT-0010)", MACHINE_IS_SKELETON ) -/* 0010A */ GAME( 2004, avalnc12, avalnc13, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon 1.2 - Summon The New Monsters (client, Rev A) (GDT-0010A)", MACHINE_IS_SKELETON ) -// 0010B GAME( 2004, avalc13b, avalnc13, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon 1.? - ??? (client, Rev B) (GDT-0010B)", MACHINE_IS_SKELETON ) -/* 0010C */ GAME( 2004, avalnc13, triforce, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon 1.3 - Chaotic Sabbat (client, Rev C) (GDT-0010C)", MACHINE_IS_SKELETON ) -/* 0011 */ GAME( 2003, tfupdate, triforce, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega", "Triforce DIMM Updater (3.17) (GDT-0011)", MACHINE_IS_SKELETON ) -/* 0012 */ GAME( 2004, vs2002t3, triforce, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Amusement Vision", "Virtua Striker 2002 (Type 3) (GDT-0012)", MACHINE_IS_SKELETON ) -// 0013 GAME( 2004, vs4jo, vs4j, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega", "Virtua Striker 4 (Japan) (GDT-0013)", MACHINE_IS_SKELETON ) -// 0013A GAME( 2004, vs4ja, vs4j, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega", "Virtua Striker 4 (Japan, Rev A) (GDT-0013A)", MACHINE_IS_SKELETON ) -// 0013B GAME( 2004, vs4jb, vs4j, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega", "Virtua Striker 4 (Japan, Rev B) (GDT-0013B)", MACHINE_IS_SKELETON ) -/* 0013C */ GAME( 2004, vs4jc, vs4j, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega", "Virtua Striker 4 (Japan, Rev C) (GDT-0013C)", MACHINE_IS_SKELETON ) -// 0013D GAME( 2004, vs4jd, vs4j, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega", "Virtua Striker 4 (Japan, Rev D) (GDT-0013D)", MACHINE_IS_SKELETON ) -/* 0013E */ GAME( 2005, vs4j, triforce, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega", "Virtua Striker 4 (Japan, Rev E) (GDT-0013E)", MACHINE_IS_SKELETON ) -/* 0014 */ GAME( 2004, vs4eo, vs4, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega", "Virtua Striker 4 (Asia) (GDT-0014)", MACHINE_IS_SKELETON ) -// 0014A GAME( 2004, vs4ea, vs4, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega", "Virtua Striker 4 (Asia, Rev A) (GDT-0014A)", MACHINE_IS_SKELETON ) -/* 0014B */ GAME( 2005, vs4e, vs4, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega", "Virtua Striker 4 (Asia, Rev B) (GDT-0014B)", MACHINE_IS_SKELETON ) -/* 0015 */ GAME( 2004, vs4o, vs4, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega", "Virtua Striker 4 (Export) (GDT-0015)", MACHINE_IS_SKELETON ) -/* 0015A */ GAME( 2005, vs4, triforce, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega", "Virtua Striker 4 (Export, Rev A) (GDT-0015A)", MACHINE_IS_SKELETON ) -// 0016 GAME( 2004, avalons20,triforce, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon 2.0 - Eutaxy and Commandment (server) (GDT-0016)", MACHINE_IS_SKELETON ) -// 0017 GAME( 2004, avalon20o,avalon20, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon 2.0 - Eutaxy and Commandment (client) (GDT-0017)", MACHINE_IS_SKELETON ) -// 0017A GAME( 2004, avalon20a,avalon20, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon 2.0 - Eutaxy and Commandment (client, Rev A) (GDT-0017A)", MACHINE_IS_SKELETON ) -/* 0017B */ GAME( 2004, avalon20, triforce, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon 2.0 - Eutaxy and Commandment (client, Rev B) (GDT-0017B)", MACHINE_IS_SKELETON ) -// 0018 GAME( 2005, avalns25o,avalns25, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon 2.5 - War of the Key (server) (GDT-0018)", MACHINE_IS_SKELETON ) -/* 0018A */ GAME( 2005, avalns25a,avalns25, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon 2.5 - War of the Key (server, Rev A) (GDT-0018A)", MACHINE_IS_SKELETON ) -/* 0018B */ GAME( 2005, avalns25, triforce, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon 2.5 - War of the Key (server, Rev B) (GDT-0018B)", MACHINE_IS_SKELETON ) -// 0019 GAME( 2005, avalnc25o,avalnc25, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon 2.5 - War of the Key (client) (GDT-0019)", MACHINE_IS_SKELETON ) -/* 0019A */ GAME( 2005, avalnc25a,avalnc25, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon 2.5 - War of the Key (client, Rev A) (GDT-0019A)", MACHINE_IS_SKELETON ) -/* 0019B */ GAME( 2005, avalnc25, triforce, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon 2.5 - War of the Key (client, Rev B) (GDT-0019B)", MACHINE_IS_SKELETON ) -// 0020 GAME( 2006, vs42006o, vs42006, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega", "Virtua Striker 4 Ver.2006 (Japan) (GDT-0020)", MACHINE_IS_SKELETON ) -// 0020A GAME( 2006, vs42006a, vs42006, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega", "Virtua Striker 4 Ver.2006 (Japan, Rev A) (GDT-0020A)", MACHINE_IS_SKELETON ) -/* 0020B */ GAME( 2006, vs42006b, vs42006, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega", "Virtua Striker 4 Ver.2006 (Japan, Rev B) (GDT-0020B)", MACHINE_IS_SKELETON ) -// 0020C GAME( 2006, vs42006c, vs42006, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega", "Virtua Striker 4 Ver.2006 (Japan, Rev C) (GDT-0020C)", MACHINE_IS_SKELETON ) -/* 0020D */ GAME( 2006, vs42006, triforce, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega", "Virtua Striker 4 Ver.2006 (Japan, Rev D) (GDT-0020D)", MACHINE_IS_SKELETON ) -/* 0021 */ GAME( 2006, vs42k6ex, triforce, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega", "Virtua Striker 4 Ver.2006 (Export) (GDT-0021)", MACHINE_IS_SKELETON ) -// 0022 GAME( 2006, tcfboxo, tcfboxa, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega", "Triforce Firmware Update For Compact Flash Box (GDT-0022)", MACHINE_IS_SKELETON ) -/* 0022A */ GAME( 2009, tcfboxa, triforce, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega", "Triforce Firmware Update For Compact Flash Box (4.01) (GDT-0022A)", MACHINE_IS_SKELETON ) +// 0008 GAME( 2003, gekpuryao,gekpurya, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Wow Entertainment", "Gekitou Pro Yakyuu Mizushima Shinji All Stars vs. Pro Yakyuu (GDT-0008)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +// 0008A GAME( 2003, gekpuryaa,gekpurya, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Wow Entertainment", "Gekitou Pro Yakyuu Mizushima Shinji All Stars vs. Pro Yakyuu (Rev A) (GDT-0008A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +/* 0008B */ GAME( 2003, gekpuryb, gekpurya, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Wow Entertainment", "Gekitou Pro Yakyuu Mizushima Shinji All Stars vs. Pro Yakyuu (Rev B) (GDT-0008B)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +/* 0008C */ GAME( 2003, gekpurya, triforce, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Wow Entertainment", "Gekitou Pro Yakyuu Mizushima Shinji All Stars vs. Pro Yakyuu (Rev C) (GDT-0008C)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +// 0009 GAME( 2004, avalns11, avalns13, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon 1.? - ??? (server) (GDT-0009)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +/* 0009A */ GAME( 2004, avalns12, avalns13, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon 1.2 - Summon The New Monsters (server, Rev A) (GDT-0009A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +// 0009B GAME( 2004, avals13b, avalns13, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon 1.? - ??? (server, Rev B) (GDT-0009B)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +/* 0009C */ GAME( 2004, avalns13, triforce, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon 1.3 - Chaotic Sabbat (server, Rev C) (GDT-0009C)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +// 0010 GAME( 2004, avalnc11, avalnc13, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon 1.? - ??? (client) (GDT-0010)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +/* 0010A */ GAME( 2004, avalnc12, avalnc13, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon 1.2 - Summon The New Monsters (client, Rev A) (GDT-0010A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +// 0010B GAME( 2004, avalc13b, avalnc13, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon 1.? - ??? (client, Rev B) (GDT-0010B)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +/* 0010C */ GAME( 2004, avalnc13, triforce, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon 1.3 - Chaotic Sabbat (client, Rev C) (GDT-0010C)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +/* 0011 */ GAME( 2003, tfupdate, triforce, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega", "Triforce DIMM Updater (3.17) (GDT-0011)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +/* 0012 */ GAME( 2004, vs2002t3, triforce, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Amusement Vision", "Virtua Striker 2002 (Type 3) (GDT-0012)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +// 0013 GAME( 2004, vs4jo, vs4j, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega", "Virtua Striker 4 (Japan) (GDT-0013)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +// 0013A GAME( 2004, vs4ja, vs4j, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega", "Virtua Striker 4 (Japan, Rev A) (GDT-0013A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +// 0013B GAME( 2004, vs4jb, vs4j, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega", "Virtua Striker 4 (Japan, Rev B) (GDT-0013B)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +/* 0013C */ GAME( 2004, vs4jc, vs4j, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega", "Virtua Striker 4 (Japan, Rev C) (GDT-0013C)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +// 0013D GAME( 2004, vs4jd, vs4j, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega", "Virtua Striker 4 (Japan, Rev D) (GDT-0013D)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +/* 0013E */ GAME( 2005, vs4j, triforce, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega", "Virtua Striker 4 (Japan, Rev E) (GDT-0013E)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +/* 0014 */ GAME( 2004, vs4eo, vs4, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega", "Virtua Striker 4 (Asia) (GDT-0014)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +// 0014A GAME( 2004, vs4ea, vs4, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega", "Virtua Striker 4 (Asia, Rev A) (GDT-0014A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +/* 0014B */ GAME( 2005, vs4e, vs4, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega", "Virtua Striker 4 (Asia, Rev B) (GDT-0014B)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +/* 0015 */ GAME( 2004, vs4o, vs4, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega", "Virtua Striker 4 (Export) (GDT-0015)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +/* 0015A */ GAME( 2005, vs4, triforce, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega", "Virtua Striker 4 (Export, Rev A) (GDT-0015A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +// 0016 GAME( 2004, avalons20,triforce, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon 2.0 - Eutaxy and Commandment (server) (GDT-0016)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +// 0017 GAME( 2004, avalon20o,avalon20, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon 2.0 - Eutaxy and Commandment (client) (GDT-0017)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +// 0017A GAME( 2004, avalon20a,avalon20, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon 2.0 - Eutaxy and Commandment (client, Rev A) (GDT-0017A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +/* 0017B */ GAME( 2004, avalon20, triforce, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon 2.0 - Eutaxy and Commandment (client, Rev B) (GDT-0017B)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +// 0018 GAME( 2005, avalns25o,avalns25, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon 2.5 - War of the Key (server) (GDT-0018)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +/* 0018A */ GAME( 2005, avalns25a,avalns25, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon 2.5 - War of the Key (server, Rev A) (GDT-0018A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +/* 0018B */ GAME( 2005, avalns25, triforce, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon 2.5 - War of the Key (server, Rev B) (GDT-0018B)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +// 0019 GAME( 2005, avalnc25o,avalnc25, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon 2.5 - War of the Key (client) (GDT-0019)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +/* 0019A */ GAME( 2005, avalnc25a,avalnc25, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon 2.5 - War of the Key (client, Rev A) (GDT-0019A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +/* 0019B */ GAME( 2005, avalnc25, triforce, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega / Hitmaker", "The Key Of Avalon 2.5 - War of the Key (client, Rev B) (GDT-0019B)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +// 0020 GAME( 2006, vs42006o, vs42006, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega", "Virtua Striker 4 Ver.2006 (Japan) (GDT-0020)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +// 0020A GAME( 2006, vs42006a, vs42006, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega", "Virtua Striker 4 Ver.2006 (Japan, Rev A) (GDT-0020A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +/* 0020B */ GAME( 2006, vs42006b, vs42006, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega", "Virtua Striker 4 Ver.2006 (Japan, Rev B) (GDT-0020B)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +// 0020C GAME( 2006, vs42006c, vs42006, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega", "Virtua Striker 4 Ver.2006 (Japan, Rev C) (GDT-0020C)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +/* 0020D */ GAME( 2006, vs42006, triforce, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega", "Virtua Striker 4 Ver.2006 (Japan, Rev D) (GDT-0020D)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +/* 0021 */ GAME( 2006, vs42k6ex, triforce, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega", "Virtua Striker 4 Ver.2006 (Export) (GDT-0021)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +// 0022 GAME( 2006, tcfboxo, tcfboxa, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega", "Triforce Firmware Update For Compact Flash Box (GDT-0022)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +/* 0022A */ GAME( 2009, tcfboxa, triforce, triforcegd, triforce, triforce_state, empty_init, ROT0, "Sega", "Triforce Firmware Update For Compact Flash Box (4.01) (GDT-0022A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // 837-xxxxx (Sega cart games) -/* 14343-4S1 */ GAME( 2003, fzeroaxm, triforce, triforce_base, triforce, triforce_state, empty_init, ROT0, "Sega / Amusement Vision / Nintendo", "F-Zero AX Monster Ride", MACHINE_IS_SKELETON ) // 2003/09/04 -/* 14343-4T1 */ GAME( 2005, mkartagp, triforce, triforce_base, triforce, triforce_state, empty_init, ROT0, "Namco / Nintendo", "Mario Kart Arcade GP (Japan, MKA1 Ver.A1)", MACHINE_IS_SKELETON ) -/* 14343-4T1 */ GAME( 2006, mkartagpc,mkartagp, triforce_base, triforce, triforce_state, empty_init, ROT0, "Namco / Nintendo", "Mario Kart Arcade GP (Japan, MKA1 Ver.C, update)", MACHINE_IS_SKELETON ) -/* 14343-R4S0 */ GAME( 2007, mkartag2, triforce, triforce_base, triforce, triforce_state, empty_init, ROT0, "Namco / Nintendo", "Mario Kart Arcade GP 2 (Japan, MK21 Ver.A)", MACHINE_IS_SKELETON ) -/* 14343-R4S0 */ GAME( 2007, mkartag2a,mkartag2, triforce_base, triforce, triforce_state, empty_init, ROT0, "Namco / Nintendo", "Mario Kart Arcade GP 2 (Japan, MK21 Ver.A, alt dump)", MACHINE_IS_SKELETON ) +/* 14343-4S1 */ GAME( 2003, fzeroaxm, triforce, triforce_base, triforce, triforce_state, empty_init, ROT0, "Sega / Amusement Vision / Nintendo", "F-Zero AX Monster Ride", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // 2003/09/04 +/* 14343-4T1 */ GAME( 2005, mkartagp, triforce, triforce_base, triforce, triforce_state, empty_init, ROT0, "Namco / Nintendo", "Mario Kart Arcade GP (Japan, MKA1 Ver.A1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +/* 14343-4T1 */ GAME( 2006, mkartagpc,mkartagp, triforce_base, triforce, triforce_state, empty_init, ROT0, "Namco / Nintendo", "Mario Kart Arcade GP (Japan, MKA1 Ver.C, update)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +/* 14343-R4S0 */ GAME( 2007, mkartag2, triforce, triforce_base, triforce, triforce_state, empty_init, ROT0, "Namco / Nintendo", "Mario Kart Arcade GP 2 (Japan, MK21 Ver.A)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +/* 14343-R4S0 */ GAME( 2007, mkartag2a,mkartag2, triforce_base, triforce, triforce_state, empty_init, ROT0, "Namco / Nintendo", "Mario Kart Arcade GP 2 (Japan, MK21 Ver.A, alt dump)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/sega/unkhockey.cpp b/src/mame/sega/unkhockey.cpp index 2b4a575508bd8..e8f0a508a188b 100644 --- a/src/mame/sega/unkhockey.cpp +++ b/src/mame/sega/unkhockey.cpp @@ -153,4 +153,4 @@ ROM_END } // Anonymous namespace -GAME( 199?, unkhockey, 0, unkhockey, unkhockey, unkhockey_state, empty_init, ROT0, "Sega", "unknown Sega air hockey game", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, unkhockey, 0, unkhockey, unkhockey, unkhockey_state, empty_init, ROT0, "Sega", "unknown Sega air hockey game", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/sega/winclub.cpp b/src/mame/sega/winclub.cpp index d07803aed6088..8edb0f2e56f41 100644 --- a/src/mame/sega/winclub.cpp +++ b/src/mame/sega/winclub.cpp @@ -127,4 +127,4 @@ ROM_END } // anonymous namespace -GAME( 2005, wwmspot, 0, winclub, winclub, winclub_state, empty_init, ROT0, "Sega", "Winner's Wheel - Magical Spot", MACHINE_IS_SKELETON ) // year taken from instructions on cabinet (see YouTube video) +GAME( 2005, wwmspot, 0, winclub, winclub, winclub_state, empty_init, ROT0, "Sega", "Winner's Wheel - Magical Spot", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // year taken from instructions on cabinet (see YouTube video) diff --git a/src/mame/sega/y2.cpp b/src/mame/sega/y2.cpp index d4a6f86fd70a8..637ff7f1bfa49 100644 --- a/src/mame/sega/y2.cpp +++ b/src/mame/sega/y2.cpp @@ -123,9 +123,9 @@ ROM_END /* The title screen shows "The King of Fighters - Road to Revenge" (Chinese / English) while the speech on the title screen announcer says "The King of Fighters 2002 Unlimited Match" There is a PS2 version with the Unlimited Match title screen, but unless it's used for a different region the arcade doesn't show that title, only announces it. */ -GAME( 2009, kof2002um, 0, system_board_y2, system_board_y2, system_board_y2_state, empty_init, ROT0, "SNK Playmore / New Channel", "The King of Fighters - Fuchou Zhi Lu/Road to Revenge / The King of Fighters 2002 Unlimited Match (China)", MACHINE_IS_SKELETON ) // also Export? -GAME( 2009, kof2002umj, kof2002um, system_board_y2, system_board_y2, system_board_y2_state, empty_init, ROT0, "SNK Playmore", "The King of Fighters 2002 Unlimited Match (Japan)", MACHINE_IS_SKELETON ) -GAME( 2009, higurashi, 0, system_board_y2, system_board_y2, system_board_y2_state, empty_init, ROT0, "AQ Interactive", "Higurashi no Naku Koro ni Jong (Japan)", MACHINE_IS_SKELETON ) +GAME( 2009, kof2002um, 0, system_board_y2, system_board_y2, system_board_y2_state, empty_init, ROT0, "SNK Playmore / New Channel", "The King of Fighters - Fuchou Zhi Lu/Road to Revenge / The King of Fighters 2002 Unlimited Match (China)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // also Export? +GAME( 2009, kof2002umj, kof2002um, system_board_y2, system_board_y2, system_board_y2_state, empty_init, ROT0, "SNK Playmore", "The King of Fighters 2002 Unlimited Match (Japan)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2009, higurashi, 0, system_board_y2, system_board_y2, system_board_y2_state, empty_init, ROT0, "AQ Interactive", "Higurashi no Naku Koro ni Jong (Japan)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) //エヌアイン完全世界/En-Eins Perfektewelt //上海 臥龍天昇/Shanghai Ga ryū tenshō diff --git a/src/mame/seibu/bloodbro_ms.cpp b/src/mame/seibu/bloodbro_ms.cpp index b2d5d4926c6bc..b5333af953f7f 100644 --- a/src/mame/seibu/bloodbro_ms.cpp +++ b/src/mame/seibu/bloodbro_ms.cpp @@ -299,4 +299,4 @@ ROM_END } // anonymous namespace -GAME( 199?, bloodbrom, bloodbro, bloodbrom, bloodbrom, bloodbro_ms_state, init_bloodbrom, ROT0, "bootleg (Gaelco / Ervisa)", "Blood Bros. (Modular System)", MACHINE_IS_SKELETON ) +GAME( 199?, bloodbrom, bloodbro, bloodbrom, bloodbrom, bloodbro_ms_state, init_bloodbrom, ROT0, "bootleg (Gaelco / Ervisa)", "Blood Bros. (Modular System)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/seibu/cabal_ms.cpp b/src/mame/seibu/cabal_ms.cpp index e6f4bb9a50021..8b3e4432a3d5b 100644 --- a/src/mame/seibu/cabal_ms.cpp +++ b/src/mame/seibu/cabal_ms.cpp @@ -173,4 +173,4 @@ ROM_END } // anonymous namespace -GAME( 1988, cabalm, cabal, cabalm, cabalm, cabal_ms_state, empty_init, ROT0, "bootleg (Gaelco / Ervisa)", "Cabal (Modular System)", MACHINE_IS_SKELETON ) +GAME( 1988, cabalm, cabal, cabalm, cabalm, cabal_ms_state, empty_init, ROT0, "bootleg (Gaelco / Ervisa)", "Cabal (Modular System)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/seibu/seibuspi.cpp b/src/mame/seibu/seibuspi.cpp index 3b7d2eb674335..e2847dc10c5cc 100644 --- a/src/mame/seibu/seibuspi.cpp +++ b/src/mame/seibu/seibuspi.cpp @@ -879,6 +879,8 @@ SYS386F V2.0 #include "emu.h" #include "seibuspi.h" +#include "mahjong.h" + #include "cpu/i386/i386.h" #include "cpu/z80/z80.h" #include "machine/ds2404.h" @@ -982,10 +984,13 @@ u32 seibuspi_state::ejsakura_keyboard_r() // coins/eeprom data u32 ret = m_special->read(); - // multiplexed inputs - for (int i = 0; i < 5; i++) - if (m_ejsakura_input_port >> i & 1) - ret &= m_key[i]->read(); + // switch matrix + if (BIT(m_ejsakura_input_port, 0)) ret &= m_key[3]->read(); + if (BIT(m_ejsakura_input_port, 1)) ret &= m_key[4]->read(); + if (BIT(m_ejsakura_input_port, 2)) ret &= m_key[2]->read(); + if (BIT(m_ejsakura_input_port, 3)) ret &= m_key[0]->read(); + if (BIT(m_ejsakura_input_port, 4)) ret &= m_key[1]->read(); + ret = (ret & ~u32(0x1f)) | bitswap<5>(ret, 0, 1, 2, 3, 4); return ret; } @@ -1231,12 +1236,13 @@ ioport_value seibuspi_state::ejanhs_encode() RON - 110 port C Start - 111 port A */ - static const u8 encoding[] = { 6, 5, 4, 3, 2, 7 }; - ioport_value state = ~m_key[N]->read(); + ioport_value const state = m_key[N]->read(); - for (int bit = 0; bit < std::size(encoding); bit++) - if (state & (1 << bit)) - return encoding[bit]; + for (int bit = 0; bit < 6; bit++) + { + if (!BIT(state, bit)) + return bit + 2; + } return 0; } @@ -1337,61 +1343,15 @@ static INPUT_PORTS_START( sys386i ) INPUT_PORTS_END -static INPUT_PORTS_START( spi_mahjong_keyboard ) - PORT_START("KEY.0") - PORT_BIT( 0x00000001, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x00000002, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) - PORT_BIT( 0x00000004, IP_ACTIVE_LOW, IPT_MAHJONG_L ) - PORT_BIT( 0x00000008, IP_ACTIVE_LOW, IPT_MAHJONG_H ) - PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_MAHJONG_D ) - PORT_BIT( 0xffffffe0, IP_ACTIVE_LOW, IPT_UNUSED ) - - PORT_START("KEY.1") - PORT_BIT( 0x00000001, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) - PORT_BIT( 0x00000002, IP_ACTIVE_LOW, IPT_MAHJONG_FLIP_FLOP ) - PORT_BIT( 0x00000004, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) - PORT_BIT( 0x00000008, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) - PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_MAHJONG_LAST_CHANCE ) - PORT_BIT( 0x00000020, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) - PORT_BIT( 0xffffffc0, IP_ACTIVE_LOW, IPT_UNUSED ) - - PORT_START("KEY.2") - PORT_BIT( 0x00000001, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) - PORT_BIT( 0x00000002, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) - PORT_BIT( 0x00000004, IP_ACTIVE_LOW, IPT_MAHJONG_K ) - PORT_BIT( 0x00000008, IP_ACTIVE_LOW, IPT_MAHJONG_G ) - PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_MAHJONG_C ) - PORT_BIT( 0xffffffe0, IP_ACTIVE_LOW, IPT_UNUSED ) - - PORT_START("KEY.3") - PORT_BIT( 0x00000001, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) - PORT_BIT( 0x00000002, IP_ACTIVE_LOW, IPT_MAHJONG_M ) - PORT_BIT( 0x00000004, IP_ACTIVE_LOW, IPT_MAHJONG_I ) - PORT_BIT( 0x00000008, IP_ACTIVE_LOW, IPT_MAHJONG_E ) - PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_MAHJONG_A ) - PORT_BIT( 0x00000020, IP_ACTIVE_LOW, IPT_START1 ) - PORT_BIT( 0xffffffc0, IP_ACTIVE_LOW, IPT_UNUSED ) - - PORT_START("KEY.4") - PORT_BIT( 0x00000001, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) - PORT_BIT( 0x00000002, IP_ACTIVE_LOW, IPT_MAHJONG_N ) - PORT_BIT( 0x00000004, IP_ACTIVE_LOW, IPT_MAHJONG_J ) - PORT_BIT( 0x00000008, IP_ACTIVE_LOW, IPT_MAHJONG_F ) - PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_MAHJONG_B ) - PORT_BIT( 0x00000020, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) - PORT_BIT( 0xffffffc0, IP_ACTIVE_LOW, IPT_UNUSED ) -INPUT_PORTS_END - - static INPUT_PORTS_START( spi_ejanhs ) - PORT_INCLUDE( spi_mahjong_keyboard ) + PORT_INCLUDE( mahjong_matrix_1p ) PORT_INCLUDE( sxx2c ) PORT_START("INPUTS") - PORT_BIT( 0x00000007, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(FUNC(seibuspi_state::ejanhs_encode<3>)) - PORT_BIT( 0x00000038, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(FUNC(seibuspi_state::ejanhs_encode<4>)) + PORT_BIT( 0x00000007, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(FUNC(seibuspi_state::ejanhs_encode<0>)) + PORT_BIT( 0x00000038, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(FUNC(seibuspi_state::ejanhs_encode<1>)) PORT_BIT( 0x00000700, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(FUNC(seibuspi_state::ejanhs_encode<2>)) - PORT_BIT( 0x00003800, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(FUNC(seibuspi_state::ejanhs_encode<0>)) + PORT_BIT( 0x00003800, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(FUNC(seibuspi_state::ejanhs_encode<3>)) PORT_SPECIAL_ONOFF_DIPLOC( 0x00008000, 0x00000000, Flip_Screen, "SW1:1" ) PORT_BIT( 0xffff4000, IP_ACTIVE_LOW, IPT_UNUSED ) @@ -1403,12 +1363,6 @@ static INPUT_PORTS_START( spi_ejanhs ) PORT_BIT( 0x000000f3, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0xffffff00, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_MODIFY("KEY.1") - PORT_BIT( 0x0000003f, IP_ACTIVE_LOW, IPT_UNUSED ) // Decoded but not recognized - - PORT_MODIFY("KEY.4") - PORT_BIT( 0x00000020, IP_ACTIVE_LOW, IPT_UNUSED ) // Decoded but not recognized - PORT_START("EXCH") // Another set of mahjong inputs is decoded from here but not used PORT_BIT( 0xffffffff, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -1420,13 +1374,25 @@ INPUT_PORTS_END static INPUT_PORTS_START( ejsakura ) - PORT_INCLUDE( spi_mahjong_keyboard ) + PORT_INCLUDE( mahjong_matrix_1p_bet_wup ) - PORT_MODIFY("KEY.4") + PORT_MODIFY("KEY0") + PORT_BIT( 0xffffffc0, IP_ACTIVE_LOW, IPT_UNUSED ) + + PORT_MODIFY("KEY1") PORT_SERVICE_NO_TOGGLE( 0x00000200, IP_ACTIVE_LOW) - PORT_BIT( 0x00000800, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Payout") PORT_CODE(KEYCODE_Q) + PORT_BIT( 0x00000800, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) PORT_CODE(KEYCODE_Q) PORT_BIT( 0xfffff5c0, IP_ACTIVE_LOW, IPT_UNUSED ) + PORT_MODIFY("KEY2") + PORT_BIT( 0xffffffc0, IP_ACTIVE_LOW, IPT_UNUSED ) + + PORT_MODIFY("KEY3") + PORT_BIT( 0xffffffc0, IP_ACTIVE_LOW, IPT_UNUSED ) + + PORT_MODIFY("KEY4") + PORT_BIT( 0xffffffc0, IP_ACTIVE_LOW, IPT_UNUSED ) + PORT_START("SPECIAL") PORT_BIT( 0x00000040, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x00000080, IP_ACTIVE_LOW, IPT_COIN2 ) diff --git a/src/mame/seibu/seibuspi.h b/src/mame/seibu/seibuspi.h index fe74584f64453..f9e2236d572b9 100644 --- a/src/mame/seibu/seibuspi.h +++ b/src/mame/seibu/seibuspi.h @@ -27,7 +27,7 @@ class seibuspi_state : public driver_device , m_oki(*this, "oki%u", 1) , m_gfxdecode(*this, "gfxdecode") , m_palette(*this, "palette") - , m_key(*this, "KEY.%u", 0) + , m_key(*this, "KEY%u", 0) , m_special(*this, "SPECIAL") , m_z80_bank(*this, "z80_bank") , m_soundflash1(*this, "soundflash1") diff --git a/src/mame/seta/downtown.cpp b/src/mame/seta/downtown.cpp index 97db78bf420e4..05b2294e5075b 100644 --- a/src/mame/seta/downtown.cpp +++ b/src/mame/seta/downtown.cpp @@ -293,7 +293,7 @@ P1-049-A #include "emu.h" #include "x1_012.h" -#include "cpu/m6502/m65c02.h" +#include "cpu/m6502/w65c02.h" #include "cpu/m68000/m68000.h" #include "machine/74157.h" #include "machine/gen_latch.h" @@ -933,7 +933,7 @@ void tndrcade_state::sub_bankswitch_lockout_w(u8 data) seta_coin_lockout_w(data); // 65C02 code doesn't seem to do anything to explicitly acknowledge IRQ; implicitly acknowledging it here seems most likely - m_subcpu->set_input_line(m65c02_device::IRQ_LINE, CLEAR_LINE); + m_subcpu->set_input_line(W65C02_IRQ_LINE, CLEAR_LINE); } @@ -1043,7 +1043,7 @@ void downtown_state::calibr50_sub_bankswitch_w(u8 data) // Bit 2: IRQCLR if (!BIT(data, 2)) - m_subcpu->set_input_line(m65c02_device::IRQ_LINE, CLEAR_LINE); + m_subcpu->set_input_line(W65C02_IRQ_LINE, CLEAR_LINE); // Bit 1: /PCMMUTE m_x1snd->set_output_gain(ALL_OUTPUTS, BIT(data, 1) ? 1.0f : 0.0f); @@ -1769,10 +1769,10 @@ TIMER_DEVICE_CALLBACK_MEMBER(downtown_state::seta_sub_interrupt) int scanline = param; if (scanline == 240) - m_subcpu->pulse_input_line(m65c02_device::NMI_LINE, attotime::zero); + m_subcpu->pulse_input_line(W65C02_NMI_LINE, attotime::zero); if (scanline == 112) - m_subcpu->set_input_line(m65c02_device::IRQ_LINE, ASSERT_LINE); + m_subcpu->set_input_line(W65C02_IRQ_LINE, ASSERT_LINE); } @@ -1785,10 +1785,10 @@ TIMER_DEVICE_CALLBACK_MEMBER(tndrcade_state::tndrcade_sub_interrupt) int scanline = param; if (scanline == 240) - m_subcpu->pulse_input_line(m65c02_device::NMI_LINE, attotime::zero); + m_subcpu->pulse_input_line(W65C02_NMI_LINE, attotime::zero); if ((scanline % 16) == 0) - m_subcpu->set_input_line(m65c02_device::IRQ_LINE, ASSERT_LINE); + m_subcpu->set_input_line(W65C02_IRQ_LINE, ASSERT_LINE); } void tndrcade_state::tndrcade(machine_config &config) @@ -1797,7 +1797,7 @@ void tndrcade_state::tndrcade(machine_config &config) M68000(config, m_maincpu, 16_MHz_XTAL / 2); // 8 MHz m_maincpu->set_addrmap(AS_PROGRAM, &tndrcade_state::tndrcade_map); - M65C02(config, m_subcpu, 16_MHz_XTAL / 8); // 2 MHz + W65C02(config, m_subcpu, 16_MHz_XTAL / 8); // 2 MHz m_subcpu->set_addrmap(AS_PROGRAM, &tndrcade_state::tndrcade_sub_map); TIMER(config, "scantimer").configure_scanline(FUNC(tndrcade_state::tndrcade_sub_interrupt), "screen", 0, 1); @@ -1849,7 +1849,7 @@ void downtown_state::twineagl(machine_config &config) M68000(config, m_maincpu, 16_MHz_XTAL / 2); // 8 MHz m_maincpu->set_addrmap(AS_PROGRAM, &downtown_state::downtown_map); - M65C02(config, m_subcpu, 16_MHz_XTAL / 8); // 2 MHz + W65C02(config, m_subcpu, 16_MHz_XTAL / 8); // 2 MHz m_subcpu->set_addrmap(AS_PROGRAM, &downtown_state::twineagl_sub_map); TIMER(config, "s_scantimer").configure_scanline(FUNC(downtown_state::seta_sub_interrupt), "screen", 0, 1); @@ -1900,7 +1900,7 @@ void downtown_state::downtown(machine_config &config) M68000(config, m_maincpu, 16_MHz_XTAL / 2); // verified on pcb m_maincpu->set_addrmap(AS_PROGRAM, &downtown_state::downtown_map); - M65C02(config, m_subcpu, 16_MHz_XTAL / 8); // verified on pcb + W65C02(config, m_subcpu, 16_MHz_XTAL / 8); // verified on pcb m_subcpu->set_addrmap(AS_PROGRAM, &downtown_state::downtown_sub_map); TIMER(config, "s_scantimer").configure_scanline(FUNC(downtown_state::seta_sub_interrupt), "screen", 0, 1); @@ -1981,7 +1981,7 @@ void usclssic_state::usclssic(machine_config &config) WATCHDOG_TIMER(config, "watchdog"); - M65C02(config, m_subcpu, 16_MHz_XTAL / 8); // 2 MHz + W65C02(config, m_subcpu, 16_MHz_XTAL / 8); // 2 MHz m_subcpu->set_addrmap(AS_PROGRAM, &usclssic_state::calibr50_sub_map); UPD4701A(config, m_upd4701); @@ -2010,7 +2010,7 @@ void usclssic_state::usclssic(machine_config &config) screen.set_visarea(0*8, 48*8-1, 1*8, 31*8-1); screen.set_screen_update(FUNC(usclssic_state::screen_update_usclssic)); screen.set_palette(m_palette); - screen.screen_vblank().set_inputline(m_subcpu, m65c02_device::IRQ_LINE, ASSERT_LINE); + screen.screen_vblank().set_inputline(m_subcpu, W65C02_IRQ_LINE, ASSERT_LINE); X1_012(config, m_tiles, m_palette, gfx_usclssic); m_tiles->set_screen(m_screen); @@ -2023,7 +2023,7 @@ void usclssic_state::usclssic(machine_config &config) SPEAKER(config, "mono").front_center(); GENERIC_LATCH_8(config, m_soundlatch[0]); - m_soundlatch[0]->data_pending_callback().set_inputline(m_subcpu, m65c02_device::NMI_LINE); + m_soundlatch[0]->data_pending_callback().set_inputline(m_subcpu, W65C02_NMI_LINE); m_soundlatch[0]->set_separate_acknowledge(true); X1_010(config, m_x1snd, 16_MHz_XTAL); // 16 MHz @@ -2051,7 +2051,7 @@ void downtown_state::calibr50(machine_config &config) NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); - M65C02(config, m_subcpu, 16_MHz_XTAL / 8); // verified on pcb + W65C02(config, m_subcpu, 16_MHz_XTAL / 8); // verified on pcb m_subcpu->set_addrmap(AS_PROGRAM, &downtown_state::calibr50_sub_map); m_subcpu->set_periodic_int(FUNC(downtown_state::irq0_line_assert), attotime::from_hz(4*60)); // IRQ: 4/frame @@ -2088,7 +2088,7 @@ void downtown_state::calibr50(machine_config &config) SPEAKER(config, "mono").front_center(); GENERIC_LATCH_8(config, m_soundlatch[0]); - m_soundlatch[0]->data_pending_callback().set_inputline(m_subcpu, m65c02_device::NMI_LINE); + m_soundlatch[0]->data_pending_callback().set_inputline(m_subcpu, W65C02_NMI_LINE); m_soundlatch[0]->set_separate_acknowledge(true); GENERIC_LATCH_8(config, m_soundlatch[1]); @@ -2110,7 +2110,7 @@ void downtown_state::metafox(machine_config &config) M68000(config, m_maincpu, 16000000/2); // 8 MHz m_maincpu->set_addrmap(AS_PROGRAM, &downtown_state::downtown_map); - M65C02(config, m_subcpu, 16000000/8); // 2 MHz + W65C02(config, m_subcpu, 16000000/8); // 2 MHz m_subcpu->set_addrmap(AS_PROGRAM, &downtown_state::metafox_sub_map); TIMER(config, "s_scantimer").configure_scanline(FUNC(downtown_state::seta_sub_interrupt), "screen", 0, 1); diff --git a/src/mame/seta/seta2.cpp b/src/mame/seta/seta2.cpp index ccd8fd694890d..838f7c3d6ebe2 100644 --- a/src/mame/seta/seta2.cpp +++ b/src/mame/seta/seta2.cpp @@ -1837,7 +1837,7 @@ static INPUT_PORTS_START( staraudi ) PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_SERVICE4 ) // unused? PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_START2 ) // something (flash activity) PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_START3 ) // unused? - PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_START4 ) // unused? INPUT_PORTS_END diff --git a/src/mame/seta/ssv.cpp b/src/mame/seta/ssv.cpp index 13745eb33a042..88633bdf816b0 100644 --- a/src/mame/seta/ssv.cpp +++ b/src/mame/seta/ssv.cpp @@ -165,6 +165,8 @@ To Do: #include "emu.h" #include "ssv.h" +#include "mahjong.h" + #include "cpu/v810/v810.h" #include "cpu/v60/v60.h" #include "machine/nvram.h" @@ -511,12 +513,12 @@ uint16_t ssv_state::hypreact_input_r() { const uint16_t input_sel = *m_input_sel; - uint16_t result = 0xffff; + uint16_t result = 0x3f; if (BIT(input_sel, 0)) result &= m_io_key[0]->read(); if (BIT(input_sel, 1)) result &= m_io_key[1]->read(); if (BIT(input_sel, 2)) result &= m_io_key[2]->read(); if (BIT(input_sel, 3)) result &= m_io_key[3]->read(); - return result; + return result | 0x00c0; } void ssv_state::hypreact_map(address_map &map) @@ -641,12 +643,12 @@ uint16_t ssv_state::srmp4_input_r() { const uint16_t input_sel = *m_input_sel; - uint16_t result = 0xffff; - if (BIT(input_sel, 1)) result &= m_io_key[0]->read(); - if (BIT(input_sel, 2)) result &= m_io_key[1]->read(); - if (BIT(input_sel, 3)) result &= m_io_key[2]->read(); - if (BIT(input_sel, 4)) result &= m_io_key[3]->read(); - return result; + uint16_t result = 0x3f; + if (BIT(input_sel, 1)) result &= m_io_key[3]->read(); + if (BIT(input_sel, 2)) result &= m_io_key[2]->read(); + if (BIT(input_sel, 3)) result &= m_io_key[1]->read(); + if (BIT(input_sel, 4)) result &= m_io_key[0]->read(); + return bitswap<6>(result, 0, 1, 2, 3, 4, 5) | 0xffc0; } void ssv_state::srmp4_map(address_map &map) @@ -664,6 +666,18 @@ void ssv_state::srmp4_map(address_map &map) Super Real Mahjong P7 ***************************************************************************/ +uint16_t ssv_state::srmp7_input_r() +{ + const uint16_t input_sel = *m_input_sel; + + uint16_t result = 0x3f; + if (BIT(input_sel, 1)) result &= m_io_key[2]->read(); + if (BIT(input_sel, 2)) result &= m_io_key[1]->read(); + if (BIT(input_sel, 3)) result &= m_io_key[0]->read(); + if (BIT(input_sel, 4)) result &= m_io_key[3]->read(); + return bitswap<6>(result, 0, 1, 2, 3, 4, 5) | 0x00c0; +} + /* Interrupts aren't supported by the chip emulator yet (lev 5 in this case, I guess) @@ -693,7 +707,7 @@ void ssv_state::srmp7_map(address_map &map) map(0x300076, 0x300077).r(FUNC(ssv_state::srmp7_irqv_r)); // Sound // 0x540000, 0x540003, related to lev 5 irq? map(0x580000, 0x580001).w(FUNC(ssv_state::srmp7_sound_bank_w)); // Sound Bank - map(0x600000, 0x600001).r(FUNC(ssv_state::srmp4_input_r)); // Inputs + map(0x600000, 0x600001).r(FUNC(ssv_state::srmp7_input_r)); // Inputs map(0x680000, 0x680001).writeonly().share(m_input_sel); // Inputs } @@ -1019,45 +1033,9 @@ INPUT_PORTS_END static INPUT_PORTS_START( ssv_mahjong ) PORT_INCLUDE(ssv_joystick) - PORT_START("KEY0") // IN5 - $800002(0) - PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) - PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_MAHJONG_L ) - PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_MAHJONG_H ) - PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_MAHJONG_D ) - PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("KEY1") // IN6 - $800002(1) - PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) - PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) - PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_MAHJONG_K ) - PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_MAHJONG_G ) - PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_MAHJONG_C ) - PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("KEY2") // IN7 - $800002(2) - PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) - PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) - PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_MAHJONG_N ) - PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_MAHJONG_J ) - PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_MAHJONG_F ) - PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_MAHJONG_B ) - PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("KEY3") // IN8 - $800002(3) - PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_START1 ) - PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) - PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_MAHJONG_M ) - PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_MAHJONG_I ) - PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_MAHJONG_E ) - PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_MAHJONG_A ) - PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_INCLUDE(mahjong_matrix_1p) // IN5-IN8 - $800002 + PORT_MODIFY("KEY1") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) // uses bet button, but not the rest of the gambling controls INPUT_PORTS_END @@ -1473,38 +1451,9 @@ static INPUT_PORTS_START( hypreact ) PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_TILT ) PORT_BIT( 0x00f0, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_START("KEY0") // IN5 - $c00000(0) - PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_MAHJONG_A ) - PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_MAHJONG_E ) - PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_MAHJONG_I ) - PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_MAHJONG_M ) - PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) - PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_START1 ) - PORT_BIT( 0xffc0, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("KEY1") // IN6 - $c00000(1) - PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_MAHJONG_B ) - PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_MAHJONG_F ) - PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_MAHJONG_J ) - PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_MAHJONG_N ) - PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) - PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) - PORT_BIT( 0xffc0, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("KEY2") // IN7 - $c00000(2) - PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_MAHJONG_C ) - PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_MAHJONG_G ) - PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_MAHJONG_K ) - PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) - PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) - PORT_BIT( 0xffe0, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("KEY3") // IN8 - $c00000(3) - PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_MAHJONG_D ) - PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_MAHJONG_H ) - PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_MAHJONG_L ) - PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) - PORT_BIT( 0xfff0, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_INCLUDE(mahjong_matrix_1p) // IN5-IN8 - $c00000 + PORT_MODIFY("KEY1") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) // uses bet button, but not the rest of the gambling controls INPUT_PORTS_END @@ -1548,37 +1497,7 @@ static INPUT_PORTS_START( hypreac2 ) PORT_DIPSETTING( 0x0000, "MASTER" ) PORT_SERVICE_DIPLOC( 0x0080, IP_ACTIVE_LOW, "DSWB:8" ) - PORT_START("KEY0") // IN5 - $500000(0) - PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_MAHJONG_A ) - PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_MAHJONG_E ) - PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_MAHJONG_I ) - PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_MAHJONG_M ) - PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) - PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_START1 ) - PORT_BIT( 0xffc0, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("KEY1") // IN6 - $500000(1) - PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_MAHJONG_B ) - PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_MAHJONG_F ) - PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_MAHJONG_J ) - PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_MAHJONG_N ) - PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) - PORT_BIT( 0xffe0, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("KEY2") // IN7 - $500000(2) - PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_MAHJONG_C ) - PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_MAHJONG_G ) - PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_MAHJONG_K ) - PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) - PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) - PORT_BIT( 0xffe0, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("KEY3") // IN8 - $500000(3) - PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_MAHJONG_D ) - PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_MAHJONG_H ) - PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_MAHJONG_L ) - PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) - PORT_BIT( 0xfff0, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_INCLUDE(mahjong_matrix_1p) // IN5-IN8 - $c00000 INPUT_PORTS_END @@ -1634,7 +1553,9 @@ INPUT_PORTS_END ***************************************************************************/ static INPUT_PORTS_START( janjans2 ) - PORT_INCLUDE(ssv_mahjong) + PORT_INCLUDE(ssv_joystick) + + PORT_INCLUDE(mahjong_matrix_1p) // IN5-IN8 - $800002 PORT_MODIFY("DSW1") // IN0 - $210002 PORT_DIPUNKNOWN_DIPLOC( 0x0001, 0x0001, "DSW1:1" ) @@ -2055,45 +1976,7 @@ static INPUT_PORTS_START( srmp7 ) PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN ) // tested PORT_BIT( 0x00e0, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_START("KEY0") // IN6 - $600000(0) - PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) - PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) - PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_MAHJONG_K ) - PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_MAHJONG_G ) - PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_MAHJONG_C ) - PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("KEY1") // IN7 - $600000(1) - PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) - PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_MAHJONG_N ) - PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_MAHJONG_J ) - PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_MAHJONG_F ) - PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_MAHJONG_B ) - PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("KEY2") // IN8 - $600000(2) - PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_START1 ) - PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) - PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_MAHJONG_M ) - PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_MAHJONG_I ) - PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_MAHJONG_E ) - PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_MAHJONG_A ) - PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("KEY3") // IN5 - $600000(3) - PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) - PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_MAHJONG_L ) - PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_MAHJONG_H ) - PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_MAHJONG_D ) - PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_INCLUDE(mahjong_matrix_1p) // IN5-IN8 - $800002 INPUT_PORTS_END diff --git a/src/mame/seta/ssv.h b/src/mame/seta/ssv.h index fb7b0a16b74fb..fd272dc0f4842 100644 --- a/src/mame/seta/ssv.h +++ b/src/mame/seta/ssv.h @@ -75,6 +75,7 @@ class ssv_state : public driver_device uint16_t mainram_r(offs_t offset); void mainram_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); uint16_t srmp4_input_r(); + uint16_t srmp7_input_r(); uint16_t srmp7_irqv_r(); void srmp7_sound_bank_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); uint32_t latch32_r(offs_t offset); diff --git a/src/mame/sfrj/tim011_kbd.cpp b/src/mame/sfrj/tim011_kbd.cpp index 3ee5d49f1fd69..b9175dab9f7cd 100644 --- a/src/mame/sfrj/tim011_kbd.cpp +++ b/src/mame/sfrj/tim011_kbd.cpp @@ -223,7 +223,7 @@ static INPUT_PORTS_START(tim011_keyboard) PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(RIGHT)) PORT_CODE(KEYCODE_RIGHT) PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_UNUSED) // excluded from scan PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Ret") PORT_CHAR(0x0d) PORT_CODE(KEYCODE_ENTER) - PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(0x20) PORT_CODE(KEYCODE_SPACE) + PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Space") PORT_CHAR(0x20) PORT_CHAR() PORT_CHAR(0x00) PORT_CODE(KEYCODE_SPACE) PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("B") PORT_CHAR('b') PORT_CHAR('B') PORT_CHAR(0x02) PORT_CODE(KEYCODE_B) PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("G") PORT_CHAR('g') PORT_CHAR('G') PORT_CHAR(0x07) PORT_CODE(KEYCODE_G) PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Y") PORT_CHAR('y') PORT_CHAR('Y') PORT_CHAR(0x19) PORT_CODE(KEYCODE_Y) diff --git a/src/mame/sfrj/tim100.cpp b/src/mame/sfrj/tim100.cpp index 036d4564df74e..df4deb5c06315 100644 --- a/src/mame/sfrj/tim100.cpp +++ b/src/mame/sfrj/tim100.cpp @@ -248,4 +248,4 @@ ROM_END } // Anonymous namespace -COMP( 1985, tim100, 0, 0, tim100, tim100, tim100_state, empty_init, "Mihajlo Pupin Institute", "TIM-100", MACHINE_IS_SKELETON | MACHINE_SUPPORTS_SAVE ) +COMP( 1985, tim100, 0, 0, tim100, tim100, tim100_state, empty_init, "Mihajlo Pupin Institute", "TIM-100", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/sgi/iris3130.cpp b/src/mame/sgi/iris3130.cpp index 5f19dd28d372c..ad43a7c75fd76 100644 --- a/src/mame/sgi/iris3130.cpp +++ b/src/mame/sgi/iris3130.cpp @@ -720,4 +720,4 @@ ROM_END // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 1985, iris3130, 0, 0, iris3130, iris3130, iris3000_state, empty_init, "Silicon Graphics Inc", "IRIS 3130 (IP2)", MACHINE_IS_SKELETON ) +COMP( 1985, iris3130, 0, 0, iris3130, iris3130, iris3000_state, empty_init, "Silicon Graphics Inc", "IRIS 3130 (IP2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/shared/mahjong.cpp b/src/mame/shared/mahjong.cpp new file mode 100644 index 0000000000000..2ebaffa29786b --- /dev/null +++ b/src/mame/shared/mahjong.cpp @@ -0,0 +1,193 @@ +// license:BSD-3-Clause +// copyright-holders:Vas Crabb +/* + "Standard" 5*6 mahjong keyboard matrix used for numerous arcade games. + + Key names + MAME Japanese (alt) Dynax IGS TW (alt) IGS CN (alt) IGS EN + -------------------------------------------------------------------------------------------- + Flip Flop フリップフロップ F.F F + Start スタート S 開始 开始 START + Bet ベット B 押注 押 押注 押 BET + Take Score テイクスコアー T 得分 得分 TAKE + Double Up ダブルアップ W 比倍 續玩 比倍 续玩 DUP + Big ビッグ B 大 左 大 左 BIG + Small スモール S 小 右 小 右 SMALL + Last Chance ラストチャンス L 海底 海底 + Kan カン K 槓 杠 GUN + Pon ポン P 碰 碰 PON + Chi チー T 吃 吃 EAT + Reach リーチ R 聽 听 LISTEN + Ron ロン N 胡 胡 WHO + + Keys present + Name Jaleco Sega Dynax IGS + ----------------------------------------- + Flip Flop * * * + Start * * * * + Bet * * * + Take Score * * + Double Up * * + Big * * + Small * * + Last Chance * * * + Kan * * * * + Pon * * * * + Chi * * * * + Reach * * * * + Ron * * * * + + */ +#include "emu.h" +#include "mahjong.h" + + +INPUT_PORTS_START(mahjong_matrix_1p) + PORT_START("KEY0") + PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A) + PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_MAHJONG_E) + PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_MAHJONG_I) + PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_MAHJONG_M) + PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_MAHJONG_KAN) + PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_START1) + + PORT_START("KEY1") + PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_MAHJONG_B) + PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_MAHJONG_F) + PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_MAHJONG_J) + PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_MAHJONG_N) + PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_MAHJONG_REACH) + PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_UNUSED) + + PORT_START("KEY2") + PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_MAHJONG_C) + PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_MAHJONG_G) + PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_MAHJONG_K) + PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_MAHJONG_CHI) + PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_MAHJONG_RON) + PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_UNUSED) + + PORT_START("KEY3") + PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_MAHJONG_D) + PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_MAHJONG_H) + PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_MAHJONG_L) + PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_MAHJONG_PON) + PORT_BIT(0x30, IP_ACTIVE_LOW, IPT_UNUSED) + + PORT_START("KEY4") + PORT_BIT(0x3f, IP_ACTIVE_LOW, IPT_UNUSED) +INPUT_PORTS_END + + +INPUT_PORTS_START(mahjong_matrix_1p_ff) + PORT_INCLUDE(mahjong_matrix_1p) + + PORT_MODIFY("KEY4") + PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_MAHJONG_FLIP_FLOP) +INPUT_PORTS_END + + +INPUT_PORTS_START(mahjong_matrix_1p_bet) + PORT_INCLUDE(mahjong_matrix_1p_ff) + + PORT_MODIFY("KEY1") + PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET) + + PORT_MODIFY("KEY4") + PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_MAHJONG_LAST_CHANCE) +INPUT_PORTS_END + + +INPUT_PORTS_START(mahjong_matrix_1p_bet_wup) + PORT_INCLUDE(mahjong_matrix_1p_bet) + + PORT_MODIFY("KEY4") + PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE) + PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP) + PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_MAHJONG_BIG) + PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL) +INPUT_PORTS_END + + +INPUT_PORTS_START(mahjong_matrix_2p) + PORT_INCLUDE(mahjong_matrix_1p) + + PORT_START("KEY5") + PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A) PORT_PLAYER(2) + PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_MAHJONG_E) PORT_PLAYER(2) + PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_MAHJONG_I) PORT_PLAYER(2) + PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_MAHJONG_M) PORT_PLAYER(2) + PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_MAHJONG_KAN) PORT_PLAYER(2) + PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_START2) + + PORT_START("KEY6") + PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_MAHJONG_B) PORT_PLAYER(2) + PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_MAHJONG_F) PORT_PLAYER(2) + PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_MAHJONG_J) PORT_PLAYER(2) + PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_MAHJONG_N) PORT_PLAYER(2) + PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_MAHJONG_REACH) PORT_PLAYER(2) + PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_UNUSED) + + PORT_START("KEY7") + PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_MAHJONG_C) PORT_PLAYER(2) + PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_MAHJONG_G) PORT_PLAYER(2) + PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_MAHJONG_K) PORT_PLAYER(2) + PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_MAHJONG_CHI) PORT_PLAYER(2) + PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_MAHJONG_RON) PORT_PLAYER(2) + PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_UNUSED) + + PORT_START("KEY8") + PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_MAHJONG_D) PORT_PLAYER(2) + PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_MAHJONG_H) PORT_PLAYER(2) + PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_MAHJONG_L) PORT_PLAYER(2) + PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_MAHJONG_PON) PORT_PLAYER(2) + PORT_BIT(0x30, IP_ACTIVE_LOW, IPT_UNUSED) + + PORT_START("KEY9") + PORT_BIT(0x3f, IP_ACTIVE_LOW, IPT_UNUSED) +INPUT_PORTS_END + + +INPUT_PORTS_START(mahjong_matrix_2p_ff) + PORT_INCLUDE(mahjong_matrix_2p) + + PORT_MODIFY("KEY4") + PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_MAHJONG_FLIP_FLOP) + + PORT_MODIFY("KEY9") + PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_MAHJONG_FLIP_FLOP) PORT_PLAYER(2) +INPUT_PORTS_END + + +INPUT_PORTS_START(mahjong_matrix_2p_bet) + PORT_INCLUDE(mahjong_matrix_2p_ff) + + PORT_MODIFY("KEY1") + PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET) + + PORT_MODIFY("KEY4") + PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_MAHJONG_LAST_CHANCE) + + PORT_MODIFY("KEY6") + PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET) PORT_PLAYER(2) + + PORT_MODIFY("KEY9") + PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_MAHJONG_LAST_CHANCE) PORT_PLAYER(2) +INPUT_PORTS_END + + +INPUT_PORTS_START(mahjong_matrix_2p_bet_wup) + PORT_INCLUDE(mahjong_matrix_2p_bet) + + PORT_MODIFY("KEY4") + PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE) + PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP) + PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_MAHJONG_BIG) + PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL) + + PORT_MODIFY("KEY9") + PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE) PORT_PLAYER(2) + PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP) PORT_PLAYER(2) + PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_MAHJONG_BIG) PORT_PLAYER(2) + PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL) PORT_PLAYER(2) +INPUT_PORTS_END diff --git a/src/mame/shared/mahjong.h b/src/mame/shared/mahjong.h new file mode 100644 index 0000000000000..14a6a72eaa68b --- /dev/null +++ b/src/mame/shared/mahjong.h @@ -0,0 +1,19 @@ +// license:BSD-3-Clause +// copyright-holders:Vas Crabb +#ifndef MAME_SHARED_MAHJONG_H +#define MAME_SHARED_MAHJONG_H + +#pragma once + + +INPUT_PORTS_EXTERN(mahjong_matrix_1p); // letters, start, kan/pon/chi/reach/ron +INPUT_PORTS_EXTERN(mahjong_matrix_1p_ff); // adds flip flop +INPUT_PORTS_EXTERN(mahjong_matrix_1p_bet); // adds bet/last chance +INPUT_PORTS_EXTERN(mahjong_matrix_1p_bet_wup); // adds take score/double up/big/small + +INPUT_PORTS_EXTERN(mahjong_matrix_2p); // letters, start, kan/pon/chi/reach/ron +INPUT_PORTS_EXTERN(mahjong_matrix_2p_ff); // adds flip flop +INPUT_PORTS_EXTERN(mahjong_matrix_2p_bet); // adds bet/last chance +INPUT_PORTS_EXTERN(mahjong_matrix_2p_bet_wup); // adds take score/double up/big/small + +#endif // MAME_SHARED_MAHJONG_H diff --git a/src/mame/shared/namco_c355spr.h b/src/mame/shared/namco_c355spr.h index 4baf7e8dfcd39..cc261615b571e 100644 --- a/src/mame/shared/namco_c355spr.h +++ b/src/mame/shared/namco_c355spr.h @@ -135,7 +135,6 @@ class namco_c355spr_device : public device_t, public device_gfx_interface, publi void build_sprite_list(int no); private: - void copybitmap(bitmap_ind16 &dest_bmp, const rectangle &clip, u8 pri); void copybitmap(bitmap_rgb32 &dest_bmp, const rectangle &clip, u8 pri); diff --git a/src/mame/shared/xbox_nv2a.cpp b/src/mame/shared/xbox_nv2a.cpp index 65dd923b7ecba..f7917dd53ce4a 100644 --- a/src/mame/shared/xbox_nv2a.cpp +++ b/src/mame/shared/xbox_nv2a.cpp @@ -1,8 +1,12 @@ // license:BSD-3-Clause // copyright-holders:Samuele Zannoli #include "emu.h" -#include "bitmap.h" #include "xbox_nv2a.h" + +#include "video/rgbutil.h" + +#include "bitmap.h" + #include #include @@ -2038,94 +2042,123 @@ void nv2a_renderer::render_color(int32_t scanline, const nv2a_rasterizer::extent void nv2a_renderer::render_texture_simple(int32_t scanline, const nv2a_rasterizer::extent_t &extent, const nvidia_object_data &objectdata, int threadid) { - int x, lx; + int sizex, limitx; + double mx, my; uint32_t a8r8g8b8; if (!objectdata.data->texture[0].enabled) { return; } - lx = limits_rendertarget.right(); - if ((extent.startx < 0) && (extent.stopx <= 0)) - return; - if ((extent.startx > lx) && (extent.stopx > lx)) - return; - x = extent.stopx - extent.startx; // number of pixels to draw (start inclusive, end exclusive) - if (extent.stopx > lx) - x = x - (extent.stopx - lx - 1); - x--; - while (x >= 0) { - float zf; - double spf, tpf; - //double rpf, qpf; // disabled to remove "set but not used" warning - int sp, tp; - int z; - int xp = extent.startx + x; // x coordinate of current pixel - - z = (extent.param[(int)VERTEX_PARAMETER::PARAM_Z].start + (double)x * extent.param[(int)VERTEX_PARAMETER::PARAM_Z].dpdx); - zf = (extent.param[(int)VERTEX_PARAMETER::PARAM_1W].start + (double)x * extent.param[(int)VERTEX_PARAMETER::PARAM_1W].dpdx); - zf = 1.0f / zf; - spf = (extent.param[(int)VERTEX_PARAMETER::PARAM_TEXTURE0_S].start + (double)x * extent.param[(int)VERTEX_PARAMETER::PARAM_TEXTURE0_S].dpdx) * zf; - tpf = (extent.param[(int)VERTEX_PARAMETER::PARAM_TEXTURE0_T].start + (double)x * extent.param[(int)VERTEX_PARAMETER::PARAM_TEXTURE0_T].dpdx) * zf; - //rpf = (extent.param[(int)VERTEX_PARAMETER::PARAM_TEXTURE0_R].start + (double)x * extent.param[(int)VERTEX_PARAMETER::PARAM_TEXTURE0_R].dpdx) * zf; - //qpf = (extent.param[(int)VERTEX_PARAMETER::PARAM_TEXTURE0_Q].start + (double)x * extent.param[(int)VERTEX_PARAMETER::PARAM_TEXTURE0_Q].dpdx) * zf; - if (objectdata.data->texture[0].rectangle == false) { - sp = spf * (double)(objectdata.data->texture[0].sizes - 1); // x coordinate of texel in texture - tp = tpf * (double)(objectdata.data->texture[0].sizet - 1); // y coordinate of texel in texture + limitx = limits_rendertarget.right(); + sizex = extent.stopx - extent.startx; // number of pixels to draw (start inclusive, end exclusive) + if (extent.stopx > limitx) + sizex = sizex - (extent.stopx - limitx - 1); + if (objectdata.data->texture[0].rectangle == false) { + // multply by 256 so that when converting to integer the lower 8 bits represent the fractional part + mx = objectdata.data->texture[0].sizes * 256; + my = objectdata.data->texture[0].sizet * 256; + } + else + mx = my = 1 * 256; + double zf = extent.param[(int)VERTEX_PARAMETER::PARAM_Z].start; + double dwf = extent.param[(int)VERTEX_PARAMETER::PARAM_1W].start; + double spf = extent.param[(int)VERTEX_PARAMETER::PARAM_TEXTURE0_S].start; + double tpf = extent.param[(int)VERTEX_PARAMETER::PARAM_TEXTURE0_T].start; + for (int posx = 0; posx < sizex; posx++) { + int xp = extent.startx + posx; // x coordinate of current pixel + double wf = 1.0f / dwf; + double spf2 = spf * wf; + double tpf2 = tpf * wf; + //rpf = (extent.param[(int)VERTEX_PARAMETER::PARAM_TEXTURE0_R].start + (double)x * extent.param[(int)VERTEX_PARAMETER::PARAM_TEXTURE0_R].dpdx) * wf; + //qpf = (extent.param[(int)VERTEX_PARAMETER::PARAM_TEXTURE0_Q].start + (double)x * extent.param[(int)VERTEX_PARAMETER::PARAM_TEXTURE0_Q].dpdx) * wf; + spf2 = spf2 * mx; + tpf2 = tpf2 * my; + int z = zf; + int px = spf2; // x coordinate of texel in texture + int py = tpf2; // y coordinate of texel in texture + int pxfr = px & 255; + int pyfr = py & 255; + int pxi = px >> 8; + int pyi = py >> 8; + if (objectdata.data->bilinear_filter) { + uint32_t c00 = texture_get_texel(0, pxi + 0, pyi + 0); + uint32_t c01 = texture_get_texel(0, pxi + 0, pyi + 1); + uint32_t c10 = texture_get_texel(0, pxi + 1, pyi + 0); + uint32_t c11 = texture_get_texel(0, pxi + 1, pyi + 1); + a8r8g8b8 = rgbaint_t::bilinear_filter(c00, c10, c01, c11, pxfr, pyfr); } else { - sp = spf; - tp = tpf; + a8r8g8b8 = texture_get_texel(0, pxi, pyi); } - a8r8g8b8 = texture_get_texel(0, sp, tp); write_pixel(xp, scanline, a8r8g8b8, z); - x--; + zf += extent.param[(int)VERTEX_PARAMETER::PARAM_Z].dpdx; + dwf += extent.param[(int)VERTEX_PARAMETER::PARAM_1W].dpdx; + spf += extent.param[(int)VERTEX_PARAMETER::PARAM_TEXTURE0_S].dpdx; + tpf += extent.param[(int)VERTEX_PARAMETER::PARAM_TEXTURE0_T].dpdx; } } void nv2a_renderer::render_register_combiners(int32_t scanline, const nv2a_rasterizer::extent_t &extent, const nvidia_object_data &objectdata, int threadid) { - int x, lx, xp; - int tc[4]; + int sizex, limitx; float colorf[7][4]; + double mx[4], my[4]; + double spf[4], tpf[4], rpf[4], qpf[4]; uint32_t color[6]; uint32_t a8r8g8b8; - int z; int n; color[0] = color[1] = color[2] = color[3] = color[4] = color[5] = 0; - - lx = limits_rendertarget.right(); + limitx = limits_rendertarget.right(); + sizex = extent.stopx - extent.startx; if ((extent.startx < 0) && (extent.stopx <= 0)) return; - if ((extent.startx > lx) && (extent.stopx > lx)) + if ((extent.startx > limitx) && (extent.stopx > limitx)) return; - x = extent.stopx - extent.startx; // number of pixels to draw (start inclusive, end exclusive) - if (extent.stopx > lx) - x = x - (extent.stopx - lx - 1); - x--; - while (x >= 0) { - float zf; - - xp = extent.startx + x; + if (extent.stopx > limitx) + sizex = sizex - (extent.stopx - limitx - 1); + double zf = extent.param[(int)VERTEX_PARAMETER::PARAM_Z].start; + double dwf = extent.param[(int)VERTEX_PARAMETER::PARAM_1W].start; + for (n = 0; n < 4; n++) { + if (objectdata.data->texture[n].rectangle == false) { + mx[n] = objectdata.data->texture[n].sizes * 256; + my[n] = objectdata.data->texture[n].sizet * 256; + } + else + mx[n] = my[n] = 1 * 256; + spf[n] = extent.param[(int)VERTEX_PARAMETER::PARAM_TEXTURE0_S + n * 4].start; + tpf[n] = extent.param[(int)VERTEX_PARAMETER::PARAM_TEXTURE0_T + n * 4].start; + rpf[n] = extent.param[(int)VERTEX_PARAMETER::PARAM_TEXTURE0_R + n * 4].start; + qpf[n] = extent.param[(int)VERTEX_PARAMETER::PARAM_TEXTURE0_Q + n * 4].start; + } + double c00f = extent.param[(int)VERTEX_PARAMETER::PARAM_COLOR_R].start; + double c01f = extent.param[(int)VERTEX_PARAMETER::PARAM_COLOR_G].start; + double c02f = extent.param[(int)VERTEX_PARAMETER::PARAM_COLOR_B].start; + double c03f = extent.param[(int)VERTEX_PARAMETER::PARAM_COLOR_A].start; + double c10f = extent.param[(int)VERTEX_PARAMETER::PARAM_SECONDARY_COLOR_R].start; + double c11f = extent.param[(int)VERTEX_PARAMETER::PARAM_SECONDARY_COLOR_G].start; + double c12f = extent.param[(int)VERTEX_PARAMETER::PARAM_SECONDARY_COLOR_B].start; + double c13f = extent.param[(int)VERTEX_PARAMETER::PARAM_SECONDARY_COLOR_A].start; + for (int posx = 0; posx < sizex; posx++) { + int xp = extent.startx + posx; // 1: fetch data // 1.1: interpolated color from vertices - z = (extent.param[(int)VERTEX_PARAMETER::PARAM_Z].start + (double)x * extent.param[(int)VERTEX_PARAMETER::PARAM_Z].dpdx); - zf = (extent.param[(int)VERTEX_PARAMETER::PARAM_1W].start + (double)x * extent.param[(int)VERTEX_PARAMETER::PARAM_1W].dpdx); - zf = 1.0f / zf; - colorf[0][0] = (extent.param[(int)VERTEX_PARAMETER::PARAM_COLOR_R].start + (double)x * extent.param[(int)VERTEX_PARAMETER::PARAM_COLOR_R].dpdx) * zf; - colorf[0][1] = (extent.param[(int)VERTEX_PARAMETER::PARAM_COLOR_G].start + (double)x * extent.param[(int)VERTEX_PARAMETER::PARAM_COLOR_G].dpdx) * zf; - colorf[0][2] = (extent.param[(int)VERTEX_PARAMETER::PARAM_COLOR_B].start + (double)x * extent.param[(int)VERTEX_PARAMETER::PARAM_COLOR_B].dpdx) * zf; - colorf[0][3] = (extent.param[(int)VERTEX_PARAMETER::PARAM_COLOR_A].start + (double)x * extent.param[(int)VERTEX_PARAMETER::PARAM_COLOR_A].dpdx) * zf; - colorf[1][0] = (extent.param[(int)VERTEX_PARAMETER::PARAM_SECONDARY_COLOR_R].start + (double)x * extent.param[(int)VERTEX_PARAMETER::PARAM_SECONDARY_COLOR_R].dpdx) * zf; - colorf[1][1] = (extent.param[(int)VERTEX_PARAMETER::PARAM_SECONDARY_COLOR_G].start + (double)x * extent.param[(int)VERTEX_PARAMETER::PARAM_SECONDARY_COLOR_G].dpdx) * zf; - colorf[1][2] = (extent.param[(int)VERTEX_PARAMETER::PARAM_SECONDARY_COLOR_B].start + (double)x * extent.param[(int)VERTEX_PARAMETER::PARAM_SECONDARY_COLOR_B].dpdx) * zf; - colorf[1][3] = (extent.param[(int)VERTEX_PARAMETER::PARAM_SECONDARY_COLOR_A].start + (double)x * extent.param[(int)VERTEX_PARAMETER::PARAM_SECONDARY_COLOR_A].dpdx) * zf; + int z = zf; + double wf = 1.0f / dwf; + colorf[0][0] = c00f * wf; + colorf[0][1] = c01f * wf; + colorf[0][2] = c02f * wf; + colorf[0][3] = c03f * wf; + colorf[1][0] = c10f * wf; + colorf[1][1] = c11f * wf; + colorf[1][2] = c12f * wf; + colorf[1][3] = c13f * wf; // 1.2: coordinates for each of the 4 possible textures for (n = 0; n < 4; n++) { - colorf[n + 2][0] = (extent.param[(int)VERTEX_PARAMETER::PARAM_TEXTURE0_S + n * 4].start + (double)x * extent.param[(int)VERTEX_PARAMETER::PARAM_TEXTURE0_S + n * 4].dpdx) * zf; - colorf[n + 2][1] = (extent.param[(int)VERTEX_PARAMETER::PARAM_TEXTURE0_T + n * 4].start + (double)x * extent.param[(int)VERTEX_PARAMETER::PARAM_TEXTURE0_T + n * 4].dpdx) * zf; - colorf[n + 2][2] = (extent.param[(int)VERTEX_PARAMETER::PARAM_TEXTURE0_R + n * 4].start + (double)x * extent.param[(int)VERTEX_PARAMETER::PARAM_TEXTURE0_R + n * 4].dpdx) * zf; - colorf[n + 2][3] = (extent.param[(int)VERTEX_PARAMETER::PARAM_TEXTURE0_Q + n * 4].start + (double)x * extent.param[(int)VERTEX_PARAMETER::PARAM_TEXTURE0_Q + n * 4].dpdx) * zf; + colorf[n + 2][0] = spf[n] * wf; + colorf[n + 2][1] = tpf[n] * wf; + colorf[n + 2][2] = rpf[n] * wf; + colorf[n + 2][3] = qpf[n] * wf; } // 1.3: fog combiner_argb8_float(fog_color, colorf[6]); @@ -2133,15 +2166,24 @@ void nv2a_renderer::render_register_combiners(int32_t scanline, const nv2a_raste // 1.4: colors from textures for (n = 0; n < 4; n++) { if (texture[n].mode == 1) { - if (texture[n].rectangle == false) { - tc[0] = colorf[n + 2][0] * (float)(objectdata.data->texture[n].sizes - 1); - tc[1] = colorf[n + 2][1] * (float)(objectdata.data->texture[n].sizet - 1); + double spf2 = colorf[n + 2][0] * mx[n]; + double tpf2 = colorf[n + 2][1] * my[n]; + int px = spf2; + int py = tpf2; + int pxfr = px & 255; + int pyfr = py & 255; + int pxi = px >> 8; + int pyi = py >> 8; + if (objectdata.data->bilinear_filter) { + uint32_t c00 = texture_get_texel(n, pxi + 0, pyi + 0); + uint32_t c01 = texture_get_texel(n, pxi + 0, pyi + 1); + uint32_t c10 = texture_get_texel(n, pxi + 1, pyi + 0); + uint32_t c11 = texture_get_texel(n, pxi + 1, pyi + 1); + a8r8g8b8 = rgbaint_t::bilinear_filter(c00, c10, c01, c11, pxfr, pyfr); } else { - tc[0] = colorf[n + 2][0]; - tc[1] = colorf[n + 2][1]; + a8r8g8b8 = texture_get_texel(n, pxi, pyi); } - a8r8g8b8 = texture_get_texel(n, tc[0], tc[1]); combiner_argb8_float(a8r8g8b8, colorf[n + 2]); } else if (texture[n].mode == 4) @@ -2152,7 +2194,7 @@ void nv2a_renderer::render_register_combiners(int32_t scanline, const nv2a_raste // 2: compute // 2.1: initialize combiner_initialize_registers(threadid, colorf); - // 2.2: general cmbiner stages + // 2.2: general combiner stages for (n = 0; n < combiner.setup.stages; n++) { // 2.2.1 initialize combiner_initialize_stage(threadid, n); @@ -2164,14 +2206,29 @@ void nv2a_renderer::render_register_combiners(int32_t scanline, const nv2a_raste // 2.2.4 map outputs to registers combiner_map_stage_output(threadid, n); } - // 2.3: final cmbiner stage + // 2.3: final combiner stage combiner_initialize_final(threadid); combiner_map_final_input(threadid); combiner_final_output(threadid); a8r8g8b8 = combiner_float_argb8(combiner.work[threadid].output); // 3: write pixel write_pixel(xp, scanline, a8r8g8b8, z); - x--; + zf += extent.param[(int)VERTEX_PARAMETER::PARAM_Z].dpdx; + dwf += extent.param[(int)VERTEX_PARAMETER::PARAM_1W].dpdx; + for (n = 0; n < 4; n++) { + spf[n] += extent.param[(int)VERTEX_PARAMETER::PARAM_TEXTURE0_S + n * 4].dpdx; + tpf[n] += extent.param[(int)VERTEX_PARAMETER::PARAM_TEXTURE0_T + n * 4].dpdx; + rpf[n] += extent.param[(int)VERTEX_PARAMETER::PARAM_TEXTURE0_R + n * 4].dpdx; + qpf[n] += extent.param[(int)VERTEX_PARAMETER::PARAM_TEXTURE0_Q + n * 4].dpdx; + } + c00f += extent.param[(int)VERTEX_PARAMETER::PARAM_COLOR_R].dpdx; + c01f += extent.param[(int)VERTEX_PARAMETER::PARAM_COLOR_G].dpdx; + c02f += extent.param[(int)VERTEX_PARAMETER::PARAM_COLOR_B].dpdx; + c03f += extent.param[(int)VERTEX_PARAMETER::PARAM_COLOR_A].dpdx; + c10f += extent.param[(int)VERTEX_PARAMETER::PARAM_SECONDARY_COLOR_R].dpdx; + c11f += extent.param[(int)VERTEX_PARAMETER::PARAM_SECONDARY_COLOR_G].dpdx; + c12f += extent.param[(int)VERTEX_PARAMETER::PARAM_SECONDARY_COLOR_B].dpdx; + c13f += extent.param[(int)VERTEX_PARAMETER::PARAM_SECONDARY_COLOR_A].dpdx; } } @@ -2689,7 +2746,7 @@ void nv2a_renderer::clear_render_target(int what, uint32_t value) return; } } - LOG("clearscreen\n\r"); + LOG("clearscreen (%d,%d)-(%d,%d)\n\r",xi,yi,xf,yf); } void nv2a_renderer::clear_depth_buffer(int what, uint32_t value) @@ -2785,6 +2842,7 @@ uint32_t nv2a_renderer::render_triangle_culling(const rectangle &cliprect, nv2av float areax2; NV2A_GL_CULL_FACE face = NV2A_GL_CULL_FACE::FRONT; + //LOG("triangle culling %f,%f %f,%f %f,%f\n\r",_v1.x, _v1.y, _v2.x, _v2.y, _v3.x, _v3.y); if (backface_culling_enabled == false) return rasterizer.render_triangle(cliprect, render_spans_callback, _v1, _v2, _v3); if (backface_culling_culled == NV2A_GL_CULL_FACE::FRONT_AND_BACK) @@ -3751,6 +3809,10 @@ int nv2a_renderer::execute_method_3d(address_space& space, uint32_t chanel, uint if (maddress == 0x1b10) { texture[unit].rectangle_pitch = data >> 16; } + if (maddress == 0x1b14) { + LOG("Texture filtering set to %08X\n\r", data); + bilinear_filter = true; + } if (maddress == 0x1b1c) { texture[unit].rectheight = data & 0xffff; texture[unit].rectwidth = data >> 16; diff --git a/src/mame/shared/xbox_nv2a.h b/src/mame/shared/xbox_nv2a.h index f259bc27c0bb0..734d7543cc90d 100644 --- a/src/mame/shared/xbox_nv2a.h +++ b/src/mame/shared/xbox_nv2a.h @@ -608,6 +608,7 @@ class nv2a_renderer logical_operation_enabled = false; logical_operation = NV2A_LOGIC_OP::COPY; fog_color = 0; + bilinear_filter = false; for (int n = 0; n < 4; n++) { texture[n].enabled = 0; texture[n].mode = 0; @@ -845,6 +846,7 @@ class nv2a_renderer uint32_t blend_color; NV2A_LOGIC_OP logical_operation; uint32_t fog_color; + bool bilinear_filter; struct { float modelview[4][4]; float modelview_inverse[4][4]; diff --git a/src/mame/sharp/mz3500.cpp b/src/mame/sharp/mz3500.cpp index 5595a4e137fa0..995267b54bb91 100644 --- a/src/mame/sharp/mz3500.cpp +++ b/src/mame/sharp/mz3500.cpp @@ -870,4 +870,4 @@ ROM_END } // anonymous namespace -COMP( 198?, mz3500, 0, 0, mz3500, mz3500, mz3500_state, empty_init, "Sharp", "MZ-3500", MACHINE_IS_SKELETON ) +COMP( 198?, mz3500, 0, 0, mz3500, mz3500, mz3500_state, empty_init, "Sharp", "MZ-3500", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/sharp/wizard.cpp b/src/mame/sharp/wizard.cpp index ceb4e78da66b8..ab33fd72fce17 100644 --- a/src/mame/sharp/wizard.cpp +++ b/src/mame/sharp/wizard.cpp @@ -161,4 +161,4 @@ ROM_END } // Anonymous namespace -CONS( 1988, iq7000, 0, 0, iq7000, iq7000, wizard_state, empty_init, "Sharp", "IQ-7000", MACHINE_IS_SKELETON ) +CONS( 1988, iq7000, 0, 0, iq7000, iq7000, wizard_state, empty_init, "Sharp", "IQ-7000", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/sharp/zaurus.cpp b/src/mame/sharp/zaurus.cpp index 8a87759938948..e190c83e3f2de 100644 --- a/src/mame/sharp/zaurus.cpp +++ b/src/mame/sharp/zaurus.cpp @@ -1617,10 +1617,10 @@ ROM_END } // anonymous namespace -COMP( 2002, zsl5500, 0, 0, zaurus_sa1110, zaurus_sa, zaurus_sa_state, empty_init, "Sharp", "Zaurus SL-5500 \"Collie\"", MACHINE_IS_SKELETON ) -COMP( 2002, zslc500, 0, 0, zaurus_pxa250, zaurus_pxa, zaurus_pxa_state, empty_init, "Sharp", "Zaurus SL-C500", MACHINE_IS_SKELETON ) -COMP( 2002, zsl5600, 0, 0, zaurus_pxa250, zaurus_pxa, zaurus_pxa_state, empty_init, "Sharp", "Zaurus SL-5600 / SL-B500 \"Poodle\"", MACHINE_IS_SKELETON ) -COMP( 2003, zslc750, 0, 0, zaurus_pxa255, zaurus_pxa, zaurus_pxa_state, empty_init, "Sharp", "Zaurus SL-C750 \"Shepherd\" (Japan)", MACHINE_IS_SKELETON ) -COMP( 2004, zslc760, 0, 0, zaurus_pxa255, zaurus_pxa, zaurus_pxa_state, empty_init, "Sharp", "Zaurus SL-C760 \"Husky\" (Japan)", MACHINE_IS_SKELETON ) -COMP( 200?, zslc3000, 0, 0, zaurus_pxa270, zaurus_pxa, zaurus_pxa_state, empty_init, "Sharp", "Zaurus SL-C3000 \"Spitz\" (Japan)", MACHINE_IS_SKELETON ) -COMP( 200?, zslc1000, 0, 0, zaurus_pxa270, zaurus_pxa, zaurus_pxa_state, empty_init, "Sharp", "Zaurus SL-C3000 \"Akita\" (Japan)", MACHINE_IS_SKELETON ) +COMP( 2002, zsl5500, 0, 0, zaurus_sa1110, zaurus_sa, zaurus_sa_state, empty_init, "Sharp", "Zaurus SL-5500 \"Collie\"", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 2002, zslc500, 0, 0, zaurus_pxa250, zaurus_pxa, zaurus_pxa_state, empty_init, "Sharp", "Zaurus SL-C500", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 2002, zsl5600, 0, 0, zaurus_pxa250, zaurus_pxa, zaurus_pxa_state, empty_init, "Sharp", "Zaurus SL-5600 / SL-B500 \"Poodle\"", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 2003, zslc750, 0, 0, zaurus_pxa255, zaurus_pxa, zaurus_pxa_state, empty_init, "Sharp", "Zaurus SL-C750 \"Shepherd\" (Japan)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 2004, zslc760, 0, 0, zaurus_pxa255, zaurus_pxa, zaurus_pxa_state, empty_init, "Sharp", "Zaurus SL-C760 \"Husky\" (Japan)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 200?, zslc3000, 0, 0, zaurus_pxa270, zaurus_pxa, zaurus_pxa_state, empty_init, "Sharp", "Zaurus SL-C3000 \"Spitz\" (Japan)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 200?, zslc1000, 0, 0, zaurus_pxa270, zaurus_pxa, zaurus_pxa_state, empty_init, "Sharp", "Zaurus SL-C3000 \"Akita\" (Japan)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/siemens/bitel.cpp b/src/mame/siemens/bitel.cpp index 22a83d913a2c0..011de62f4ca83 100644 --- a/src/mame/siemens/bitel.cpp +++ b/src/mame/siemens/bitel.cpp @@ -100,5 +100,5 @@ ROM_END } // anonymous namespace -COMP(1986, t3210, 0, 0, t3210, bitel, bitel_state, empty_init, "Siemens", "Bitel T3210", MACHINE_IS_SKELETON) -COMP(1989, feap90, 0, 0, feap90, bitel, bitel_state, empty_init, "Siemens", "Multitel Fe Ap 90-1.1", MACHINE_IS_SKELETON) +COMP(1986, t3210, 0, 0, t3210, bitel, bitel_state, empty_init, "Siemens", "Bitel T3210", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +COMP(1989, feap90, 0, 0, feap90, bitel, bitel_state, empty_init, "Siemens", "Multitel Fe Ap 90-1.1", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/sigma/nyny.cpp b/src/mame/sigma/nyny.cpp index 13ce21abb0932..d03f52ad412ae 100644 --- a/src/mame/sigma/nyny.cpp +++ b/src/mame/sigma/nyny.cpp @@ -17,6 +17,7 @@ * What is the main CPU clock? 11.2Mhz / 16 goes through a MC4044 and a MC4024 analog chips before going to the EXTAL pin of the M6809 + * Stars are blinking too fast. Notes: * The Sigma set has Japanese voice samples, while the Gottlieb @@ -85,15 +86,6 @@ namespace { -#define MAIN_CPU_MASTER_CLOCK XTAL(11'200'000) -#define PIXEL_CLOCK (MAIN_CPU_MASTER_CLOCK / 2) -#define CRTC_CLOCK (MAIN_CPU_MASTER_CLOCK / 16) -#define AUDIO_1_MASTER_CLOCK XTAL(4'000'000) -#define AUDIO_CPU_1_CLOCK AUDIO_1_MASTER_CLOCK -#define AUDIO_2_MASTER_CLOCK XTAL(4'000'000) -#define AUDIO_CPU_2_CLOCK AUDIO_2_MASTER_CLOCK - - class nyny_state : public driver_device { public: @@ -323,9 +315,10 @@ MC6845_END_UPDATE( nyny_state::crtc_end_update ) for (int x = cliprect.min_x; x <= cliprect.max_x; x++) { /* check if the star status */ - if (m_star_enable && (bitmap.pix(y, x) == m_palette->pen_color(0)) && - ((m_star_shift_reg & 0x80ff) == 0x00ff) && - (((y & 0x01) ^ m_flipscreen) ^ (((x & 0x08) >> 3) ^ m_flipscreen))) + const bool enabled = m_star_enable && (bitmap.pix(y, x) == m_palette->pen_color(0)); + const int flip = m_flipscreen ? 1 : 0; + + if (enabled && ((m_star_shift_reg & 0x80ff) == 0x00ff) && (((y & 0x01) ^ flip) ^ (((x & 0x08) >> 3) ^ flip))) { uint8_t color = ((m_star_shift_reg & 0x0100) >> 8) | /* R */ ((m_star_shift_reg & 0x0400) >> 9) | /* G */ @@ -602,27 +595,28 @@ void nyny_state::machine_reset() void nyny_state::nyny(machine_config &config) { - /* basic machine hardware */ - MC6809(config, m_maincpu, 5600000); /* 1.40 MHz? The clock signal is generated by analog chips */ + // basic machine hardware + MC6809(config, m_maincpu, 5'600'000); // 5.6 MHz? The clock signal is generated by analog chips m_maincpu->set_addrmap(AS_PROGRAM, &nyny_state::main_map); m_maincpu->set_periodic_int(FUNC(nyny_state::update_pia_1), attotime::from_hz(25)); - M6802(config, m_audiocpu, AUDIO_CPU_1_CLOCK); + M6802(config, m_audiocpu, 4_MHz_XTAL); m_audiocpu->set_addrmap(AS_PROGRAM, &nyny_state::audio_1_map); - M6802(config, m_audiocpu2, AUDIO_CPU_2_CLOCK); + M6802(config, m_audiocpu2, 4_MHz_XTAL); // physically a different XTAL m_audiocpu2->set_addrmap(AS_PROGRAM, &nyny_state::audio_2_map); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); - /* video hardware */ + // video hardware screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_raw(PIXEL_CLOCK, 360, 0, 256, 276, 0, 224); + screen.set_video_attributes(VIDEO_ALWAYS_UPDATE); + screen.set_raw(11.2_MHz_XTAL / 2, 360, 0, 256, 276, 0, 224); screen.set_screen_update("crtc", FUNC(mc6845_device::screen_update)); PALETTE(config, m_palette, palette_device::RGB_3BIT); - MC6845(config, m_mc6845, CRTC_CLOCK); // HD46505P + MC6845(config, m_mc6845, 11.2_MHz_XTAL / 16); // HD46505P m_mc6845->set_screen("screen"); m_mc6845->set_show_border_area(false); m_mc6845->set_char_width(8); @@ -630,15 +624,15 @@ void nyny_state::nyny(machine_config &config) m_mc6845->set_end_update_callback(FUNC(nyny_state::crtc_end_update)); m_mc6845->out_de_callback().set(m_ic48_1, FUNC(ttl74123_device::a_w)); - /* 74LS123: This timer is responsible for delaying the setting of PIA2's CA1 line. */ - /* This delay ensures that CA1 is only changed in the VBLANK region, but not in HBLANK. */ + // 74LS123: This timer is responsible for delaying the setting of PIA2's CA1 line. + // This delay ensures that CA1 is only changed in the VBLANK region, but not in HBLANK. TTL74123(config, m_ic48_1, 0); - m_ic48_1->set_connection_type(TTL74123_GROUNDED); /* the hook up type */ - m_ic48_1->set_resistor_value(RES_K(22)); /* resistor connected to RCext */ - m_ic48_1->set_capacitor_value(CAP_U(0.01)); /* capacitor connected to Cext and RCext */ - m_ic48_1->set_a_pin_value(1); /* A pin - driven by the CRTC */ - m_ic48_1->set_b_pin_value(1); /* B pin - pulled high */ - m_ic48_1->set_clear_pin_value(1); /* Clear pin - pulled high */ + m_ic48_1->set_connection_type(TTL74123_GROUNDED); // the hook up type + m_ic48_1->set_resistor_value(RES_K(22)); // resistor connected to RCext + m_ic48_1->set_capacitor_value(CAP_U(0.01)); // capacitor connected to Cext and RCext + m_ic48_1->set_a_pin_value(1); // A pin - driven by the CRTC + m_ic48_1->set_b_pin_value(1); // B pin - pulled high + m_ic48_1->set_clear_pin_value(1); // Clear pin - pulled high m_ic48_1->out_cb().set(m_pia2, FUNC(pia6821_device::ca1_w)); PIA6821(config, m_pia1); @@ -655,24 +649,24 @@ void nyny_state::nyny(machine_config &config) m_pia2->irqa_handler().set(FUNC(nyny_state::main_cpu_firq)); m_pia2->irqb_handler().set(FUNC(nyny_state::main_cpu_irq)); - /* audio hardware */ + // audio hardware SPEAKER(config, "speaker").front_center(); GENERIC_LATCH_8(config, m_soundlatch); GENERIC_LATCH_8(config, m_soundlatch2); GENERIC_LATCH_8(config, m_soundlatch3); - ay8910_device &ay1(AY8910(config, "ay1", AUDIO_CPU_1_CLOCK)); + ay8910_device &ay1(AY8910(config, "ay1", 4_MHz_XTAL / 4)); ay1.port_a_write_callback().set(FUNC(nyny_state::ay8910_37_port_a_w)); ay1.port_b_write_callback().set(FUNC(nyny_state::ay8910_37_port_b_w)); ay1.add_route(ALL_OUTPUTS, "speaker", 0.25); - ay8910_device &ay2(AY8910(config, "ay2", AUDIO_CPU_1_CLOCK)); + ay8910_device &ay2(AY8910(config, "ay2", 4_MHz_XTAL / 4)); ay2.port_a_read_callback().set_ioport("SW2"); ay2.port_b_read_callback().set_ioport("SW1"); ay2.add_route(ALL_OUTPUTS, "speaker", 0.25); - AY8910(config, "ay3", AUDIO_CPU_2_CLOCK).add_route(ALL_OUTPUTS, "speaker", 0.03); + AY8910(config, "ay3", 4_MHz_XTAL / 4).add_route(ALL_OUTPUTS, "speaker", 0.1); DAC_8BIT_R2R(config, "dac", 0).add_route(ALL_OUTPUTS, "speaker", 0.25); // unknown DAC } diff --git a/src/mame/sigma/sigma21.cpp b/src/mame/sigma/sigma21.cpp index 666b802094e51..ecc6b2febabb3 100644 --- a/src/mame/sigma/sigma21.cpp +++ b/src/mame/sigma/sigma21.cpp @@ -123,4 +123,4 @@ ROM_END } // anonymous namespace -GAME(197?, sigma21, 0, sigma21, sigma21, sigma21_state, empty_init, ROT0, "Sigma Enterprises", "21 (Sigma)", MACHINE_IS_SKELETON) +GAME(197?, sigma21, 0, sigma21, sigma21, sigma21_state, empty_init, ROT0, "Sigma Enterprises", "21 (Sigma)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/sigma/sigmab31.cpp b/src/mame/sigma/sigmab31.cpp index e250eed871690..142bb6ce78858 100644 --- a/src/mame/sigma/sigmab31.cpp +++ b/src/mame/sigma/sigmab31.cpp @@ -200,4 +200,4 @@ ROM_END } // anonymous namespace -GAME( 1988, cptlucky, 0, sigmab31, cptlucky, sigmab31_state, empty_init, ROT0, "Sigma", "Captain Lucky", MACHINE_IS_SKELETON_MECHANICAL ) // 1988 copyright in main CPU ROM +GAME( 1988, cptlucky, 0, sigmab31, cptlucky, sigmab31_state, empty_init, ROT0, "Sigma", "Captain Lucky", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // 1988 copyright in main CPU ROM diff --git a/src/mame/sigma/sigmab88.cpp b/src/mame/sigma/sigmab88.cpp index a06e75a0899e0..9c736399ec41e 100644 --- a/src/mame/sigma/sigmab88.cpp +++ b/src/mame/sigma/sigmab88.cpp @@ -120,5 +120,5 @@ ROM_END } // anonymous namespace -GAME( 1997, cool104, 0, sigmab88, sigmab88, sigmab88_state, empty_init, ROT0, "Sigma", "Cool 104", MACHINE_IS_SKELETON ) -GAME( 1997, freedeal, 0, sigmab88, sigmab88, sigmab88_state, empty_init, ROT0, "Sigma", "Free Deal Twin Jokers Progressive", MACHINE_IS_SKELETON ) +GAME( 1997, cool104, 0, sigmab88, sigmab88, sigmab88_state, empty_init, ROT0, "Sigma", "Cool 104", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1997, freedeal, 0, sigmab88, sigmab88, sigmab88_state, empty_init, ROT0, "Sigma", "Free Deal Twin Jokers Progressive", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/sigma/sigmab98.cpp b/src/mame/sigma/sigmab98.cpp index 67947adf006ca..45aaba3214c33 100644 --- a/src/mame/sigma/sigmab98.cpp +++ b/src/mame/sigma/sigmab98.cpp @@ -57,7 +57,9 @@ Dumped games: 2000 Pye-nage Taikai https://youtu.be/oL2OIbrv-KI 2000 Taihou de Doboon https://youtu.be/loPP3jt0Ob0 2001 Hae Hae Ka Ka Ka https://youtu.be/37IxYCg0tic +2002 Gun Kids 2003 Go Go Cowboy (EN, prize) https://youtu.be/rymtzmSXjuA +2003 Wantouchable https://youtu.be/aRcTCdZZLRo Games with the same cabinet, or in the Treasure Fall series, which might be on the same hardware: @@ -75,10 +77,8 @@ Games with the same cabinet, or in the Treasure Fall series, which might be on t 2002 Karateman https://youtu.be/EIrVHEAv3Sc 2002 Perfect Goal (screenless) https://youtu.be/ilneyp-8dBI 2003 Go Go Cowboy (JP, medal) https://youtu.be/qYDw2sxNRqE -2003 Gun Kids 2003 Kurukuru Train https://youtu.be/Ef7TQX4C9fA 2003 Safari Kingdom (screenless) -2003 Wantouchable https://youtu.be/aRcTCdZZLRo 2003 Zakuzaku Kaizokudan 2004 Animal Punch 2004 Dotabata Zaurus https://youtu.be/Gxt6klOYZ9A @@ -1204,7 +1204,7 @@ GFXDECODE_END static INPUT_PORTS_START( sigma_1b ) PORT_START("EEPROM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) // Related to d013. Must be 0 - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") // Related to d013. Must be 0 + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // Related to d013. Must be 0 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) diff --git a/src/mame/sinclair/atm.cpp b/src/mame/sinclair/atm.cpp index ea2e3ce530779..7b37c488aa564 100644 --- a/src/mame/sinclair/atm.cpp +++ b/src/mame/sinclair/atm.cpp @@ -181,7 +181,7 @@ u8 atm_state::get_border_color(u16 hpos, u16 vpos) void atm_state::atm_update_video_mode() { - bool zx_scale = m_rg == 0b011; + bool zx_scale = m_rg & 1; bool double_width = BIT(m_rg, 1) && !zx_scale; u8 border_x = (40 - (32 * !zx_scale)) << double_width; u8 border_y = (40 - (4 * !zx_scale)); diff --git a/src/mame/sinclair/pentevo.cpp b/src/mame/sinclair/pentevo.cpp index 5df592796ffdc..2a7896255e80a 100644 --- a/src/mame/sinclair/pentevo.cpp +++ b/src/mame/sinclair/pentevo.cpp @@ -793,7 +793,7 @@ void pentevo_state::pentevo(machine_config &config) ROM_START( pentevo ) ROM_REGION(0x090000, "maincpu", ROMREGION_ERASEFF) - ROM_DEFAULT_BIOS("v0.59.13fe") + ROM_DEFAULT_BIOS("v0.59.13") // http://svn.zxevo.ru/revision.php?repname=pentevo&path=%2From%2Fzxevo_fe.rom ROM_SYSTEM_BIOS(0, "v0.59.02fe", "ERS v0.59.02 (FE), NEO-DOS v0.53") diff --git a/src/mame/sinclair/sprinter.cpp b/src/mame/sinclair/sprinter.cpp index eec58b9add184..733d1c6217772 100644 --- a/src/mame/sinclair/sprinter.cpp +++ b/src/mame/sinclair/sprinter.cpp @@ -29,7 +29,6 @@ Sprinter Sp2000 (Peters Plus Ltd) - ISA memory slots - fully untied from Spectrum parent - better rendering (currently not fully discovered) in Game Configuration -- ? detect loading Configuration by checksum, not by presents in fastram *******************************************************************************************/ @@ -248,6 +247,8 @@ class sprinter_state : public spectrum_128_state u8 m_conf; bool m_conf_loading; bool m_starting; + u16 m_bitstream_count; + u32 m_bitstream_hash; bool m_dos; // 0-on, 1-off bool m_cash_on; @@ -753,13 +754,9 @@ void sprinter_state::dcp_w(offs_t offset, u8 data) update_video(dcpp & 1); break; case 0x2e: - if (m_conf) - machine().schedule_hard_reset(); - else - { - m_conf_loading = 1; - machine().schedule_soft_reset(); - } + m_conf = 0; + m_conf_loading = 1; + machine().schedule_soft_reset(); break; case 0x88: @@ -779,7 +776,17 @@ void sprinter_state::dcp_w(offs_t offset, u8 data) m_cbl_wa = 0; m_cbl_wae = cbl_mode16(); const u8 divs[16] = {13, 9, 0, 0, 0, 0, 0, 0, 27, 19, 13, 9, 6, 4, 3, 1}; - const attotime rate = (cbl_mode() && divs[m_cbl_xx & 15]) ? attotime::from_ticks(divs[m_cbl_xx & 15] + 1, X_SP / 192) : attotime::never; + attotime rate; + if (cbl_mode() && divs[m_cbl_xx & 15]) + { + rate = attotime::from_ticks(divs[m_cbl_xx & 15] + 1, X_SP / 192); + } + else + { + rate = attotime::never; + if (m_hold_irq) + m_irq_off_timer->adjust(attotime::zero); + } m_cbl_timer->adjust(rate, 0, rate); break; } @@ -1110,15 +1117,23 @@ u8 sprinter_state::bootstrap_r(offs_t offset) void sprinter_state::bootstrap_w(offs_t offset, u8 data) { - if (m_conf_loading) + if (!m_conf_loading) { - m_conf_loading = 0; - m_conf = !(m_maincpu->csbr_r() & 0x0f); // cs0 disabled => loader reads config from fastram (which is Game Config) - m_ram_pages[0x2e] = m_conf ? 0x41 : 0x00; - machine().schedule_soft_reset(); + m_program.write_byte(0x10000 | u16(offset), data); } else - m_program.write_byte(0x10000 | u16(offset), data); + { + m_fastram[offset & 0xffff] = data; + m_bitstream_hash += data << (8 * (m_bitstream_count % 4)); + if (++m_bitstream_count > 0xfff) + { + m_conf_loading = 0; + m_conf = !(m_maincpu->csbr_r() & 0x0f); // cs0 disabled => loader reads config from fastram + m_conf &= m_bitstream_hash == 0x3861cfa4; // Game Config + m_ram_pages[0x2e] = m_conf ? 0x41 : 0x00; + machine().schedule_soft_reset(); + } + } } u8 sprinter_state::ram_r(offs_t offset) @@ -1397,6 +1412,8 @@ void sprinter_state::machine_start() save_item(NAME(m_joy2_ctrl)); save_item(NAME(m_conf)); save_item(NAME(m_conf_loading)); + save_item(NAME(m_bitstream_count)); + save_item(NAME(m_bitstream_hash)); save_item(NAME(m_starting)); save_item(NAME(m_dos)); save_item(NAME(m_cash_on)); @@ -1506,6 +1523,8 @@ void sprinter_state::machine_reset() if (m_conf_loading) { + m_bitstream_count = 0; + m_bitstream_hash = 0; m_bank_rom[0]->set_entry(0x0c); m_bank_view0.select(1); m_bank_view3.disable(); diff --git a/src/mame/skeleton/600cat.cpp b/src/mame/skeleton/600cat.cpp index 7972a59f69e2f..2db1615c7a320 100644 --- a/src/mame/skeleton/600cat.cpp +++ b/src/mame/skeleton/600cat.cpp @@ -157,4 +157,4 @@ ROM_END } // anonymous namespace // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 199?, 600cat, 0, 0, _600cat, _600cat, _600cat_state, empty_init, "Wavetek", "600 Cellular Activation Tester", MACHINE_IS_SKELETON ) +COMP( 199?, 600cat, 0, 0, _600cat, _600cat, _600cat_state, empty_init, "Wavetek", "600 Cellular Activation Tester", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/aaa.cpp b/src/mame/skeleton/aaa.cpp index 9d65c78125a5a..858cedf2095dd 100644 --- a/src/mame/skeleton/aaa.cpp +++ b/src/mame/skeleton/aaa.cpp @@ -303,4 +303,4 @@ ROM_END } // anonymous namespace -COMP( 1981, aaa, 0, 0, aaa, aaa, aaa_state, empty_init, "Ann Arbor", "Ambassador", MACHINE_IS_SKELETON ) +COMP( 1981, aaa, 0, 0, aaa, aaa, aaa_state, empty_init, "Ann Arbor", "Ambassador", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/acd.cpp b/src/mame/skeleton/acd.cpp index 2d4c7af75ec0b..56a5b566c932b 100644 --- a/src/mame/skeleton/acd.cpp +++ b/src/mame/skeleton/acd.cpp @@ -49,4 +49,4 @@ ROM_END } // anonymous namespace -COMP( 198?, acd, 0, 0, acd, acd, acd_state, empty_init, "Advanced Computer Design", "unknown ACD computer", MACHINE_IS_SKELETON ) +COMP( 198?, acd, 0, 0, acd, acd, acd_state, empty_init, "Advanced Computer Design", "unknown ACD computer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/aceex.cpp b/src/mame/skeleton/aceex.cpp index 29c8937ae098d..d4ec8cc9f37ab 100644 --- a/src/mame/skeleton/aceex.cpp +++ b/src/mame/skeleton/aceex.cpp @@ -104,4 +104,4 @@ ROM_END // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 1995, aceex2814, 0, 0, aceex2814, aceex2814, aceex2814_state, empty_init, "Aceex Corporation", "Aceex 2814", MACHINE_IS_SKELETON ) +COMP( 1995, aceex2814, 0, 0, aceex2814, aceex2814, aceex2814_state, empty_init, "Aceex Corporation", "Aceex 2814", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/aid80f.cpp b/src/mame/skeleton/aid80f.cpp index f6abbed5f4a88..ef959705ef783 100644 --- a/src/mame/skeleton/aid80f.cpp +++ b/src/mame/skeleton/aid80f.cpp @@ -145,4 +145,4 @@ ROM_END } // anonymous namespace -COMP(1978, aid80f, 0, 0, aid80f, aid80f, aid80f_state, empty_init, "Mostek", "AID-80F Development System", MACHINE_IS_SKELETON) +COMP(1978, aid80f, 0, 0, aid80f, aid80f, aid80f_state, empty_init, "Mostek", "AID-80F Development System", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/skeleton/airbase99.cpp b/src/mame/skeleton/airbase99.cpp index b116c437be24c..d07ca5a012608 100644 --- a/src/mame/skeleton/airbase99.cpp +++ b/src/mame/skeleton/airbase99.cpp @@ -92,4 +92,4 @@ ROM_END } // anonymous namespace -SYST(1998, airbase99, 0, 0, airbase99, airbase99, airbase99_state, empty_init, "JoMoX", "AiRBase 99", MACHINE_IS_SKELETON) +SYST(1998, airbase99, 0, 0, airbase99, airbase99, airbase99_state, empty_init, "JoMoX", "AiRBase 99", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/skeleton/alcat7100.cpp b/src/mame/skeleton/alcat7100.cpp index 0347c20e19db0..d05ba598d267a 100644 --- a/src/mame/skeleton/alcat7100.cpp +++ b/src/mame/skeleton/alcat7100.cpp @@ -121,4 +121,4 @@ ROM_END } // anonymous namespace -COMP(1984, alcat7100, 0, 0, alcat7100, alcat7100, alcat7100_state, empty_init, "Alcatel", "Terminal 7100", MACHINE_IS_SKELETON) +COMP(1984, alcat7100, 0, 0, alcat7100, alcat7100, alcat7100_state, empty_init, "Alcatel", "Terminal 7100", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/skeleton/alesis_qs.cpp b/src/mame/skeleton/alesis_qs.cpp index 4a451ee095712..af28367e06edb 100644 --- a/src/mame/skeleton/alesis_qs.cpp +++ b/src/mame/skeleton/alesis_qs.cpp @@ -103,4 +103,4 @@ ROM_END // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 1996, alesqs7, 0, 0, qs7, qs7, qs_state, empty_init, "Alesis", "Alesis QS7 musical keyboard", MACHINE_IS_SKELETON ) +COMP( 1996, alesqs7, 0, 0, qs7, qs7, qs_state, empty_init, "Alesis", "Alesis QS7 musical keyboard", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/alphasma3k.cpp b/src/mame/skeleton/alphasma3k.cpp index 41832708a5962..7904db0d708ad 100644 --- a/src/mame/skeleton/alphasma3k.cpp +++ b/src/mame/skeleton/alphasma3k.cpp @@ -135,4 +135,4 @@ ROM_END } // anonymous namespace // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 2000, asma3k, 0, 0, alphasmart3k, alphasmart3k, alphasmart3k_state, empty_init, "AlphaSmart, Inc.", "AlphaSmart 3000", MACHINE_IS_SKELETON ) +COMP( 2000, asma3k, 0, 0, alphasmart3k, alphasmart3k, alphasmart3k_state, empty_init, "AlphaSmart, Inc.", "AlphaSmart 3000", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/am1000.cpp b/src/mame/skeleton/am1000.cpp index b854e9bcc4951..8fd7a4b723fec 100644 --- a/src/mame/skeleton/am1000.cpp +++ b/src/mame/skeleton/am1000.cpp @@ -122,4 +122,4 @@ ROM_END } // anonymous namespace -COMP(1988, am1000, 0, 0, am1000, am1000, am1000_state, empty_init, "Alpha Micro", "AM-1000", MACHINE_IS_SKELETON) +COMP(1988, am1000, 0, 0, am1000, am1000, am1000_state, empty_init, "Alpha Micro", "AM-1000", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/skeleton/antonelli_hd6305.cpp b/src/mame/skeleton/antonelli_hd6305.cpp index b6785e07d6e7f..25783bd56ba05 100644 --- a/src/mame/skeleton/antonelli_hd6305.cpp +++ b/src/mame/skeleton/antonelli_hd6305.cpp @@ -59,5 +59,5 @@ ROM_END } // anonymous namespace -SYST(198?, anto2495, 0, 0, antonelli, antonelli, antonelli_hd6305_state, empty_init, "Antonelli", "Antonelli 2495", MACHINE_IS_SKELETON) -SYST(198?, anto2614, 0, 0, antonelli, antonelli, antonelli_hd6305_state, empty_init, "Antonelli", "Antonelli 2614", MACHINE_IS_SKELETON) // stereo version +SYST(198?, anto2495, 0, 0, antonelli, antonelli, antonelli_hd6305_state, empty_init, "Antonelli", "Antonelli 2495", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(198?, anto2614, 0, 0, antonelli, antonelli, antonelli_hd6305_state, empty_init, "Antonelli", "Antonelli 2614", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) // stereo version diff --git a/src/mame/skeleton/aquaplus_piece.cpp b/src/mame/skeleton/aquaplus_piece.cpp index 5468b73e73617..2b2eda89cf74f 100644 --- a/src/mame/skeleton/aquaplus_piece.cpp +++ b/src/mame/skeleton/aquaplus_piece.cpp @@ -93,5 +93,5 @@ ROM_END // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -SYST(2001, piece512k, 0, 0, piece512k, piece, piece_state, empty_init, "Aquaplus", "P/ECE (512 kB Flash)", MACHINE_IS_SKELETON) -SYST(2001, piece2m, piece512k, 0, piece2m, piece, piece_state, empty_init, "Aquaplus", "P/ECE (2 MB Flash)", MACHINE_IS_SKELETON) +SYST(2001, piece512k, 0, 0, piece512k, piece, piece_state, empty_init, "Aquaplus", "P/ECE (512 kB Flash)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(2001, piece2m, piece512k, 0, piece2m, piece, piece_state, empty_init, "Aquaplus", "P/ECE (2 MB Flash)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/skeleton/argox.cpp b/src/mame/skeleton/argox.cpp index 770d5197d35de..6fc9c1f205e90 100644 --- a/src/mame/skeleton/argox.cpp +++ b/src/mame/skeleton/argox.cpp @@ -90,4 +90,4 @@ ROM_END // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 1996, os214, 0, 0, os214, 0, os214_state, init_os214, "Argox", "Rabbit Printer (model OS-214)", MACHINE_IS_SKELETON) +COMP( 1996, os214, 0, 0, os214, 0, os214_state, init_os214, "Argox", "Rabbit Printer (model OS-214)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/skeleton/banpresto_tomy_h8s.cpp b/src/mame/skeleton/banpresto_tomy_h8s.cpp index a01cdc84b0e9b..9be16bb05923a 100644 --- a/src/mame/skeleton/banpresto_tomy_h8s.cpp +++ b/src/mame/skeleton/banpresto_tomy_h8s.cpp @@ -26,17 +26,20 @@ The BPSC-2006KG PCB adds a TPA3004D2 audio amplifier. Banpresto "Chara Medal Island" series: BP-01 - Crayon Shin-chan - Arashi o Yobu! Sushitori Daigassen - クレヨンしんちゃん 嵐を呼ぶ!すし取り大合戦 -*** BP-02 - ??? - ??? +** BP-02 - Pocket Monster - Sonans ga Koronda! - ポケットモンスター ソーナンスがころんだ! BP-03 - Dragon Ball Z - Bucchigiri no Chou Kessen - ドラゴンボールZ ぶっちぎりの超決戦 -*** BP-04 - ??? - ??? +*** BP-04 - ??? - ??? (possibly Eye Shield 21 - Nerae!! Gyakuten Touchdown - アイシールド21 狙え!!逆転タッチダウン) BP-05 - Chibi Maruko-chan - Wanage de Asobo!! - ちびまる子ちゃん輪投げで遊ぼ!! +** BP-06 - Doraemon - SOS! Itazura Nezumi wo Yattsukero!! - ドラえもん SOS!いたずらネズミをやっつけろ!! +** BP-07 - GeGeGe no Kitarou - Taose! Seiyou Youkai Gundan - ゲゲゲの鬼太郎 倒せ!西洋妖怪軍団 +** BP-08 - Keroro Gunsou - Hacha Mecha Yakyu Taikai de Arimasu!! - ケロロ軍曹 ハチャメチャ野球大会であります!! almost surely more Takara / Tomy "VS medal" series (games show produced by Amodio and Tomy copyright on title screen): ** TM-01 - Kurohige Kiki Ippatsu - 黒ひげ危機一発 -*** TM-02 - ??? - ??? - TM-03 - Zoids (may not be complete title) - ゾイド -*** TM-04 - ??? - ??? +** TM-02 - Tomica - トミカ + TM-03 - Zoids - ゾイド +** TM-04 - Keitei-oh - 海帝王 TM-05 - Youkai VS Uchuujin - 妖怪VS宇宙人 TM-06 - Satoyama Grand Prix - 里山グランプリ TM-07 - Ginga Yakyu - 銀河野球 @@ -230,12 +233,12 @@ ROM_END } // anonymous namespace -GAME( 2006, cscaoysd, 0, base, base, banpresto_tomy_h8s_state, empty_init, ROT0, "Banpresto", "Crayon Shin-chan - Arashi o Yobu! Sushitori Daigassen", MACHINE_IS_SKELETON ) -GAME( 2006, dbzbgck, 0, base, base, banpresto_tomy_h8s_state, empty_init, ROT0, "Banpresto", "Dragon Ball Z - Bucchigiri no Chou Kessen", MACHINE_IS_SKELETON ) -GAME( 2007, cmcwa, 0, base, base, banpresto_tomy_h8s_state, empty_init, ROT0, "Banpresto", "Chibi Maruko-chan - Wanage de Asobo!!", MACHINE_IS_SKELETON ) -GAME( 2005, zoids, 0, base, base, banpresto_tomy_h8s_state, empty_init, ROT0, "Amodio / Tomy", "Zoids", MACHINE_IS_SKELETON ) // title to be verified -GAME( 2007, youkai, 0, base, base, banpresto_tomy_h8s_state, empty_init, ROT0, "Amodio / Tomy", "Youkai VS Uchuujin", MACHINE_IS_SKELETON ) -GAME( 2007, satoyama, 0, base, base, banpresto_tomy_h8s_state, empty_init, ROT0, "Amodio / Tomy", "Satoyama Grand Prix", MACHINE_IS_SKELETON ) -GAME( 2007, gyakyu, 0, base, base, banpresto_tomy_h8s_state, empty_init, ROT0, "Amodio / Tomy", "Ginga Yakyu", MACHINE_IS_SKELETON ) -GAME( 2007, yujogs, 0, base, base, banpresto_tomy_h8s_state, empty_init, ROT0, "Amodio / Tomy", "Yujo Gattai Shishigami-o", MACHINE_IS_SKELETON ) // title to be verified, inferred from some strings related to characters -GAME( 200?, unkbpmed, 0, base, base, banpresto_tomy_h8s_state, empty_init, ROT0, "Banpresto", "unknown Banpresto medal game", MACHINE_IS_SKELETON ) +GAME( 2006, cscaoysd, 0, base, base, banpresto_tomy_h8s_state, empty_init, ROT0, "Banpresto", "Crayon Shin-chan - Arashi o Yobu! Sushitori Daigassen", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2006, dbzbgck, 0, base, base, banpresto_tomy_h8s_state, empty_init, ROT0, "Banpresto", "Dragon Ball Z - Bucchigiri no Chou Kessen", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2007, cmcwa, 0, base, base, banpresto_tomy_h8s_state, empty_init, ROT0, "Banpresto", "Chibi Maruko-chan - Wanage de Asobo!!", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2005, zoids, 0, base, base, banpresto_tomy_h8s_state, empty_init, ROT0, "Amodio / Tomy", "Zoids", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // title to be verified +GAME( 2007, youkai, 0, base, base, banpresto_tomy_h8s_state, empty_init, ROT0, "Amodio / Tomy", "Youkai VS Uchuujin", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2007, satoyama, 0, base, base, banpresto_tomy_h8s_state, empty_init, ROT0, "Amodio / Tomy", "Satoyama Grand Prix", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2007, gyakyu, 0, base, base, banpresto_tomy_h8s_state, empty_init, ROT0, "Amodio / Tomy", "Ginga Yakyu", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2007, yujogs, 0, base, base, banpresto_tomy_h8s_state, empty_init, ROT0, "Amodio / Tomy", "Yujo Gattai Shishigami-o", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // title to be verified, inferred from some strings related to characters +GAME( 200?, unkbpmed, 0, base, base, banpresto_tomy_h8s_state, empty_init, ROT0, "Banpresto", "unknown Banpresto medal game", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/bolsaint.cpp b/src/mame/skeleton/bolsaint.cpp index 0360decbcbfbd..ac97c2332b9f4 100644 --- a/src/mame/skeleton/bolsaint.cpp +++ b/src/mame/skeleton/bolsaint.cpp @@ -91,4 +91,4 @@ ROM_END } // anonymous namespace // YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS -GAME(2000, bolsaint, 0, bolsaint, bolsaint, bolsaint_state, empty_init, ROT0, "Sleic/Petaco", "Bolsa Internacional (euro)", MACHINE_IS_SKELETON_MECHANICAL) // VER.1.0 found on ROM string, but EPROM label reads V3.22 +GAME(2000, bolsaint, 0, bolsaint, bolsaint, bolsaint_state, empty_init, ROT0, "Sleic/Petaco", "Bolsa Internacional (euro)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // VER.1.0 found on ROM string, but EPROM label reads V3.22 diff --git a/src/mame/skeleton/boo.cpp b/src/mame/skeleton/boo.cpp index 3af6fd98731df..d49f91c996dd4 100644 --- a/src/mame/skeleton/boo.cpp +++ b/src/mame/skeleton/boo.cpp @@ -169,4 +169,4 @@ ROM_END } // anonymous namespace -GAME( 2000, boo1000, 0, boo, boo, boo_state, empty_init, ROT0, "JK Amusement", "Boo 1000", MACHINE_IS_SKELETON ) +GAME( 2000, boo1000, 0, boo, boo, boo_state, empty_init, ROT0, "JK Amusement", "Boo 1000", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/boramz80.cpp b/src/mame/skeleton/boramz80.cpp index 9d75b44e98797..841f9b80ccf6e 100644 --- a/src/mame/skeleton/boramz80.cpp +++ b/src/mame/skeleton/boramz80.cpp @@ -366,9 +366,9 @@ void boramz80_state::init_tpkborama() } // anonymous namespace -GAME( 1987, pkboram, 0, pk, pkboram, boramz80_state, empty_init, ROT0, "Boram", "PK - New Exciting Poker!", MACHINE_IS_SKELETON ) // PK-BORAM 0211 aug.04.1987. BORAM CORP -GAME( 1988, tpkboram, 0, pk, tpkboram, boramz80_state, empty_init, ROT0, "Boram", "PK Turbo", MACHINE_IS_SKELETON ) // PK-TURBO jan.29.1988. BORAM CORP. -GAME( 1998, tpkborama, tpkboram, pk, tpkboram, boramz80_state, init_tpkborama, ROT0, "Boram", "PK Turbo (Ver 2.3B2, encrypted)", MACHINE_IS_SKELETON ) // dep inctype-23B1998 0519Ver 2.3B2 -GAME( 1990, pkrboram, 0, pk, tpkboram, boramz80_state, empty_init, ROT0, "Boram", "PK Rainbow (v 1.5)", MACHINE_IS_SKELETON ) // PK RAINBOW v1.5 BORAM Corp. 1990.11.06� -GAME( 1992, tpkg2, 0, pk, tpkboram, boramz80_state, empty_init, ROT0, "Boram", "PK Turbo Great 2", MACHINE_IS_SKELETON ) // PK TURBO GREAT2 1992.06.04 BORAM CORP. -GAME( 19??, unkboram, 0, pk, tpkboram, boramz80_state, empty_init, ROT0, "Boram", "unknown Boram poker game", MACHINE_IS_SKELETON ) // PKS v100 BORAM CORP +GAME( 1987, pkboram, 0, pk, pkboram, boramz80_state, empty_init, ROT0, "Boram", "PK - New Exciting Poker!", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PK-BORAM 0211 aug.04.1987. BORAM CORP +GAME( 1988, tpkboram, 0, pk, tpkboram, boramz80_state, empty_init, ROT0, "Boram", "PK Turbo", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PK-TURBO jan.29.1988. BORAM CORP. +GAME( 1998, tpkborama, tpkboram, pk, tpkboram, boramz80_state, init_tpkborama, ROT0, "Boram", "PK Turbo (Ver 2.3B2, encrypted)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // dep inctype-23B1998 0519Ver 2.3B2 +GAME( 1990, pkrboram, 0, pk, tpkboram, boramz80_state, empty_init, ROT0, "Boram", "PK Rainbow (v 1.5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PK RAINBOW v1.5 BORAM Corp. 1990.11.06� +GAME( 1992, tpkg2, 0, pk, tpkboram, boramz80_state, empty_init, ROT0, "Boram", "PK Turbo Great 2", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PK TURBO GREAT2 1992.06.04 BORAM CORP. +GAME( 19??, unkboram, 0, pk, tpkboram, boramz80_state, empty_init, ROT0, "Boram", "unknown Boram poker game", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // PKS v100 BORAM CORP diff --git a/src/mame/skeleton/bullion2.cpp b/src/mame/skeleton/bullion2.cpp index 70d3d30739852..3218f7c072615 100644 --- a/src/mame/skeleton/bullion2.cpp +++ b/src/mame/skeleton/bullion2.cpp @@ -140,4 +140,4 @@ ROM_END // YEAR NAME PARENT MACHINE INPUT CLASS INIT ROTATION COMPANY FULLNAME FLAGS -GAME( 1984, bullion2, 0, bullion2, bullion2, bullion2_state, empty_init, ROT0, "Inder", "Bullion 2", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1984, bullion2, 0, bullion2, bullion2, bullion2_state, empty_init, ROT0, "Inder", "Bullion 2", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/skeleton/c2color.cpp b/src/mame/skeleton/c2color.cpp index 0d7a4b7c90572..e4f334b7e3144 100644 --- a/src/mame/skeleton/c2color.cpp +++ b/src/mame/skeleton/c2color.cpp @@ -187,4 +187,4 @@ ROM_END // year, name, parent, compat, machine, input, class, init, company, fullname, flags -CONS( 201?, c2color, 0, 0, c2_color, c2_color, c2_color_state, empty_init, "Baiyi Animation", "C2 Color (China)", MACHINE_IS_SKELETON ) +CONS( 201?, c2color, 0, 0, c2_color, c2_color, c2_color_state, empty_init, "Baiyi Animation", "C2 Color (China)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/caramball.cpp b/src/mame/skeleton/caramball.cpp index d3cc8288464aa..90a2760f6e8b9 100644 --- a/src/mame/skeleton/caramball.cpp +++ b/src/mame/skeleton/caramball.cpp @@ -150,4 +150,4 @@ ROM_END } // anonymous namespace // YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS -GAME(1992, caramball, 0, caramball, caramball, caramball_state, empty_init, ROT0, "Inconel", "Caramball", MACHINE_IS_SKELETON_MECHANICAL) +GAME(1992, caramball, 0, caramball, caramball, caramball_state, empty_init, ROT0, "Inconel", "Caramball", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) diff --git a/src/mame/skeleton/cardinal.cpp b/src/mame/skeleton/cardinal.cpp index 74d65c68c6217..9d3bf96e5a87d 100644 --- a/src/mame/skeleton/cardinal.cpp +++ b/src/mame/skeleton/cardinal.cpp @@ -175,4 +175,4 @@ ROM_END } // anonymous namespace -COMP(1984, cardinal, 0, 0, cardinal, cardinal, cardinal_state, empty_init, "Standard Microsystems", "Cardinal Video Terminal", MACHINE_IS_SKELETON) +COMP(1984, cardinal, 0, 0, cardinal, cardinal, cardinal_state, empty_init, "Standard Microsystems", "Cardinal Video Terminal", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/skeleton/cbnt2039.cpp b/src/mame/skeleton/cbnt2039.cpp index bd325f39c44a1..e177620a2dee5 100644 --- a/src/mame/skeleton/cbnt2039.cpp +++ b/src/mame/skeleton/cbnt2039.cpp @@ -68,4 +68,4 @@ ROM_END } // anonymous namespace -COMP(1993, cbnt2039, 0, 0, cbnt2039, cbnt2039, cbnt2039_state, empty_init, "Cablenet", "2039 Controller", MACHINE_IS_SKELETON) +COMP(1993, cbnt2039, 0, 0, cbnt2039, cbnt2039, cbnt2039_state, empty_init, "Cablenet", "2039 Controller", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/skeleton/cd100.cpp b/src/mame/skeleton/cd100.cpp index 4e4d36e92fa13..e889079daa5d0 100644 --- a/src/mame/skeleton/cd100.cpp +++ b/src/mame/skeleton/cd100.cpp @@ -269,4 +269,4 @@ ROM_END } // anonymous namespace -SYST(1992, cd100b, 0, 0, cd100b, cd100b, cd100_state, empty_init, "Rowe International", "CD-100B LaserStar", MACHINE_IS_SKELETON_MECHANICAL) +SYST(1992, cd100b, 0, 0, cd100b, cd100b, cd100_state, empty_init, "Rowe International", "CD-100B LaserStar", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) diff --git a/src/mame/skeleton/cdsys5.cpp b/src/mame/skeleton/cdsys5.cpp index 518fd15ec8f49..327a39c58f365 100644 --- a/src/mame/skeleton/cdsys5.cpp +++ b/src/mame/skeleton/cdsys5.cpp @@ -136,4 +136,4 @@ ROM_END } // anonymous namespace -SYST(199?, minijook, 0, 0, minijook, minijook, cdsys5_state, empty_init, "Sound Leisure", "MiniJook", MACHINE_IS_SKELETON_MECHANICAL) +SYST(199?, minijook, 0, 0, minijook, minijook, cdsys5_state, empty_init, "Sound Leisure", "MiniJook", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) diff --git a/src/mame/skeleton/cit1500.cpp b/src/mame/skeleton/cit1500.cpp index fce79482e6036..d86516f4ea4a3 100644 --- a/src/mame/skeleton/cit1500.cpp +++ b/src/mame/skeleton/cit1500.cpp @@ -112,5 +112,5 @@ ROM_END } // anonymous namespace -SYST(2001, trmavia, 0, 0, cit1500, cit1500, cit1500_state, empty_init, "Alcatel / Telefonica", "TRMA VIA", MACHINE_IS_SKELETON) -SYST(2000, teletup, 0, 0, cit1500, cit1500, cit1500_state, empty_init, "Alcatel / Telefonica", "TeleTUP", MACHINE_IS_SKELETON) +SYST(2001, trmavia, 0, 0, cit1500, cit1500, cit1500_state, empty_init, "Alcatel / Telefonica", "TRMA VIA", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(2000, teletup, 0, 0, cit1500, cit1500, cit1500_state, empty_init, "Alcatel / Telefonica", "TeleTUP", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/skeleton/cle68k.cpp b/src/mame/skeleton/cle68k.cpp index 7fe0ad8bf390b..f4f9546604b2e 100644 --- a/src/mame/skeleton/cle68k.cpp +++ b/src/mame/skeleton/cle68k.cpp @@ -293,6 +293,6 @@ ROM_END // TODO: possibly licensed to LSE, verify once it works -GAME( 2001, dmndhrt, 0, cle68k, dmndhrt, cle68k_state, empty_init, ROT0, "LSE", "Diamond Heart (v1.06)", MACHINE_IS_SKELETON ) // 2001/02/15 -GAME( 2003, dmndhrtn, 0, cle68k, dmndhrt, cle68k_state, empty_init, ROT0, "CLE", "Diamond Heart New (v20.0)", MACHINE_IS_SKELETON ) // 2003/04/25 -GAME( 2004, honeybee, 0, cle68k, dmndhrt, cle68k_state, empty_init, ROT0, "LSE", "Honey-Bee (v3.0)", MACHINE_IS_SKELETON ) // 2004/07/01 +GAME( 2001, dmndhrt, 0, cle68k, dmndhrt, cle68k_state, empty_init, ROT0, "LSE", "Diamond Heart (v1.06)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // 2001/02/15 +GAME( 2003, dmndhrtn, 0, cle68k, dmndhrt, cle68k_state, empty_init, ROT0, "CLE", "Diamond Heart New (v20.0)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // 2003/04/25 +GAME( 2004, honeybee, 0, cle68k, dmndhrt, cle68k_state, empty_init, ROT0, "LSE", "Honey-Bee (v3.0)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // 2004/07/01 diff --git a/src/mame/skeleton/clxvme186.cpp b/src/mame/skeleton/clxvme186.cpp index 73ef096ef2b5c..54064aed71b26 100644 --- a/src/mame/skeleton/clxvme186.cpp +++ b/src/mame/skeleton/clxvme186.cpp @@ -121,4 +121,4 @@ ROM_END } // anonymous namespace -COMP(1983, clxvme186, 0, 0, clxvme186, clxvme186, clxvme186_state, empty_init, "Colex", "Colex VME-80186", MACHINE_IS_SKELETON) +COMP(1983, clxvme186, 0, 0, clxvme186, clxvme186, clxvme186_state, empty_init, "Colex", "Colex VME-80186", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/skeleton/consola_emt.cpp b/src/mame/skeleton/consola_emt.cpp index dc494be4942b4..c21bf31ce355f 100644 --- a/src/mame/skeleton/consola_emt.cpp +++ b/src/mame/skeleton/consola_emt.cpp @@ -306,4 +306,4 @@ ROM_END //************************************************************************** // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 2003, consoemt, 0, 0, consoemt, consoemt, consoemt_state, empty_init, "Indra / Amper", "Consola EMT", MACHINE_IS_SKELETON ) +COMP( 2003, consoemt, 0, 0, consoemt, consoemt, consoemt_state, empty_init, "Indra / Amper", "Consola EMT", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/ct909e_segadvd.cpp b/src/mame/skeleton/ct909e_segadvd.cpp index 49c7728ab0526..c90c50476a7c4 100644 --- a/src/mame/skeleton/ct909e_segadvd.cpp +++ b/src/mame/skeleton/ct909e_segadvd.cpp @@ -116,4 +116,4 @@ ROM_END } // anonymous namespace -CONS( 2007, megatrix, 0, 0, megatrix, megatrix, ct909e_megatrix_state, empty_init, "", "MeGaTrix (Spain)", MACHINE_IS_SKELETON ) +CONS( 2007, megatrix, 0, 0, megatrix, megatrix, ct909e_megatrix_state, empty_init, "", "MeGaTrix (Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/cubieboard4.cpp b/src/mame/skeleton/cubieboard4.cpp index f729a79e6a200..a5ff428c32bc9 100644 --- a/src/mame/skeleton/cubieboard4.cpp +++ b/src/mame/skeleton/cubieboard4.cpp @@ -94,7 +94,7 @@ ROM_END } // anonymous namespace // Main machine -COMP( 20??, cubieboard4, 0, 0, cubiecca80, cubiecca80, cubiecca80_state, empty_init, "Cubietech Limited", "Cubieboard4 (CC A-20)", MACHINE_IS_SKELETON ) +COMP( 20??, cubieboard4, 0, 0, cubiecca80, cubiecca80, cubiecca80_state, empty_init, "Cubietech Limited", "Cubieboard4 (CC A-20)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // Arcade games -GAME( 20??, monkeyjmp, 0, cubiecca80, cubiecca80, cubiecca80_state, empty_init, ROT90, "Falgas", "Monkey Jump", MACHINE_IS_SKELETON ) +GAME( 20??, monkeyjmp, 0, cubiecca80, cubiecca80, cubiecca80_state, empty_init, ROT90, "Falgas", "Monkey Jump", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/d400.cpp b/src/mame/skeleton/d400.cpp index d0743993bc2a0..67e1cfef6ba5f 100644 --- a/src/mame/skeleton/d400.cpp +++ b/src/mame/skeleton/d400.cpp @@ -119,4 +119,4 @@ ROM_END } // anonymous namespace -COMP( 1986, d461, 0, 0, d461, d461, d400_state, empty_init, "Data General", "Dasher D461", MACHINE_IS_SKELETON ) +COMP( 1986, d461, 0, 0, d461, d461, d400_state, empty_init, "Data General", "Dasher D461", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/dash4.cpp b/src/mame/skeleton/dash4.cpp index e4358aabfa85c..d5dadabb0e3bb 100644 --- a/src/mame/skeleton/dash4.cpp +++ b/src/mame/skeleton/dash4.cpp @@ -85,4 +85,4 @@ ROM_END } // anonymous namespace -SYST( 1999, dash4, 0, 0, dash4, dash4, dash4_state, empty_init, "Cross Products", "DASH4 Debug Adapter", MACHINE_IS_SKELETON ) +SYST( 1999, dash4, 0, 0, dash4, dash4, dash4_state, empty_init, "Cross Products", "DASH4 Debug Adapter", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/design.cpp b/src/mame/skeleton/design.cpp index f6f64db0a29aa..218b1327a2f09 100644 --- a/src/mame/skeleton/design.cpp +++ b/src/mame/skeleton/design.cpp @@ -455,8 +455,8 @@ ROM_END GAME( 1995?, design6, 0, design6, design6, design6_state, empty_init, ROT0, "Azkoyen", "Design D6", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW | MACHINE_NOT_WORKING ) GAME( 1995?, designe, 0, design6, designe, design6_state, empty_init, ROT0, "Azkoyen", "Design (Euro)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW | MACHINE_NOT_WORKING ) -GAME( 19??, azkoyent6, 0, azkoyent, azkoyent, azkoyent_state, empty_init, ROT0, "Azkoyen", "Vending machine model T6", MACHINE_IS_SKELETON ) -GAME( 19??, azkoyent8, 0, azkoyent, azkoyent, azkoyent_state, empty_init, ROT0, "Azkoyen", "Vending machine model T8", MACHINE_IS_SKELETON ) -GAME( 19??, azkoyent12, 0, azkoyent, azkoyent, azkoyent_state, empty_init, ROT0, "Azkoyen", "Vending machine model T12", MACHINE_IS_SKELETON ) -GAME( 19??, azkoyent61, 0, azkoyent61, azkoyent, azkoyent_state, empty_init, ROT0, "Azkoyen", "Vending machine model T61 (set 1)", MACHINE_IS_SKELETON ) -GAME( 19??, azkoyent61a, azkoyent61, azkoyent61, azkoyent, azkoyent_state, empty_init, ROT0, "Azkoyen", "Vending machine model T61 (set 2)", MACHINE_IS_SKELETON ) +GAME( 19??, azkoyent6, 0, azkoyent, azkoyent, azkoyent_state, empty_init, ROT0, "Azkoyen", "Vending machine model T6", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 19??, azkoyent8, 0, azkoyent, azkoyent, azkoyent_state, empty_init, ROT0, "Azkoyen", "Vending machine model T8", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 19??, azkoyent12, 0, azkoyent, azkoyent, azkoyent_state, empty_init, ROT0, "Azkoyen", "Vending machine model T12", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 19??, azkoyent61, 0, azkoyent61, azkoyent, azkoyent_state, empty_init, ROT0, "Azkoyen", "Vending machine model T61 (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 19??, azkoyent61a, azkoyent61, azkoyent61, azkoyent, azkoyent_state, empty_init, ROT0, "Azkoyen", "Vending machine model T61 (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/diablo1300.cpp b/src/mame/skeleton/diablo1300.cpp index 9ed290945b51a..6202497075469 100644 --- a/src/mame/skeleton/diablo1300.cpp +++ b/src/mame/skeleton/diablo1300.cpp @@ -209,4 +209,4 @@ ROM_END // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME -COMP(1976, diablo, 0, 0, diablo1300, diablo1300, diablo1300_state, empty_init, "Diablo Systems Inc", "Diablo HyType II Series 1300 CPU", MACHINE_IS_SKELETON) +COMP(1976, diablo, 0, 0, diablo1300, diablo1300, diablo1300_state, empty_init, "Diablo Systems Inc", "Diablo HyType II Series 1300 CPU", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/skeleton/digiblast.cpp b/src/mame/skeleton/digiblast.cpp index 18e636f3dfe5d..197a30e763a46 100644 --- a/src/mame/skeleton/digiblast.cpp +++ b/src/mame/skeleton/digiblast.cpp @@ -123,4 +123,4 @@ ROM_END } // Anonymous namespace -CONS( 2005, digiblst, 0, 0, digiblast, digiblast, digiblast_state, empty_init, "Nikko Entertainment B.V. / Grey Innovation", "digiBLAST", MACHINE_IS_SKELETON ) +CONS( 2005, digiblst, 0, 0, digiblast, digiblast, digiblast_state, empty_init, "Nikko Entertainment B.V. / Grey Innovation", "digiBLAST", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/digilog400.cpp b/src/mame/skeleton/digilog400.cpp index c1fe79f304ecb..dea4217bf7506 100644 --- a/src/mame/skeleton/digilog400.cpp +++ b/src/mame/skeleton/digilog400.cpp @@ -159,4 +159,4 @@ ROM_END //************************************************************************** // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 1987, digilog400, 0, 0, digilog400, 0, digilog400_state, empty_init, "Digilog", "400", MACHINE_IS_SKELETON ) +COMP( 1987, digilog400, 0, 0, digilog400, 0, digilog400_state, empty_init, "Digilog", "400", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/digitech_gsp5.cpp b/src/mame/skeleton/digitech_gsp5.cpp index e32b8c988f29c..a8a09009bd8ef 100644 --- a/src/mame/skeleton/digitech_gsp5.cpp +++ b/src/mame/skeleton/digitech_gsp5.cpp @@ -65,4 +65,4 @@ ROM_END } // anonymous namespace -SYST(1989, gsp5, 0, 0, gsp5, gsp5, gsp5_state, empty_init, "DigiTech", "GSP 5 Guitar Effects Processor/Preamp", MACHINE_IS_SKELETON) +SYST(1989, gsp5, 0, 0, gsp5, gsp5, gsp5_state, empty_init, "DigiTech", "GSP 5 Guitar Effects Processor/Preamp", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/skeleton/dyna_d0404.cpp b/src/mame/skeleton/dyna_d0404.cpp index a4a9b8bd7dfea..248afff55dd50 100644 --- a/src/mame/skeleton/dyna_d0404.cpp +++ b/src/mame/skeleton/dyna_d0404.cpp @@ -213,7 +213,7 @@ ROM_END } // anonymous namespace -GAME( 2005, cm2005, 0, dyna_d0404, cm2005, dyna_d0404_state, empty_init, ROT0, "Dyna", "Cherry Master 2005 (Ver. 1.10U)", MACHINE_IS_SKELETON ) -GAME( 2005, cm2005a, cm2005, dyna_d0404, cm2005, dyna_d0404_state, empty_init, ROT0, "Dyna", "Cherry Master 2005 (Ver. 1.02U)", MACHINE_IS_SKELETON ) -GAME( 2005, cm2005b, cm2005, dyna_d0404, cm2005, dyna_d0404_state, empty_init, ROT0, "Dyna", "Cherry Master 2005 (Ver. 0.14H)", MACHINE_IS_SKELETON ) -GAME( 2008, supereld, 0, dyna_d0404, cm2005, dyna_d0404_state, empty_init, ROT0, "Dyna", "Super El Dorado (Ver. 1.04H)", MACHINE_IS_SKELETON ) +GAME( 2005, cm2005, 0, dyna_d0404, cm2005, dyna_d0404_state, empty_init, ROT0, "Dyna", "Cherry Master 2005 (Ver. 1.10U)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2005, cm2005a, cm2005, dyna_d0404, cm2005, dyna_d0404_state, empty_init, ROT0, "Dyna", "Cherry Master 2005 (Ver. 1.02U)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2005, cm2005b, cm2005, dyna_d0404, cm2005, dyna_d0404_state, empty_init, ROT0, "Dyna", "Cherry Master 2005 (Ver. 0.14H)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2008, supereld, 0, dyna_d0404, cm2005, dyna_d0404_state, empty_init, ROT0, "Dyna", "Super El Dorado (Ver. 1.04H)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/dyna_d0703.cpp b/src/mame/skeleton/dyna_d0703.cpp index 1bb2040f00595..e0e140a90d6d6 100644 --- a/src/mame/skeleton/dyna_d0703.cpp +++ b/src/mame/skeleton/dyna_d0703.cpp @@ -180,4 +180,4 @@ ROM_END } // anonymous namespace -GAME( 2009, dynasty, 0, dyna_d0703, dynasty, dyna_d0703_state, empty_init, ROT0, "Dyna", "Dynasty (2009, Ver. 1.02)", MACHINE_IS_SKELETON ) +GAME( 2009, dynasty, 0, dyna_d0703, dynasty, dyna_d0703_state, empty_init, ROT0, "Dyna", "Dynasty (2009, Ver. 1.02)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/easy_karaoke.cpp b/src/mame/skeleton/easy_karaoke.cpp index 452faf3f1e177..a69b987f4e1f9 100644 --- a/src/mame/skeleton/easy_karaoke.cpp +++ b/src/mame/skeleton/easy_karaoke.cpp @@ -77,6 +77,15 @@ "Karaoke TV Star" appears to be a US product using this technology - advertises 50 built in songs, but also a downloadable service. It has a 2002 date on the box / product. Another version offers 35 songs + ------------------ + + For units which allow downloadable songs the only difference in the bootloader ROMs is a couple of bytes + at the end. This may be used as security, to tie the downloads stored in the flash ROM to the units as + the format of the downloaded data in the flash ROMs appears to be different in each case, starting with + different unique bytes after the header information for each unit we've seen. (maybe encryption?) + The bootloader ROM has a unique ID on a sticker in each case too (could be a bytesum, haven't checked) + + *******************************************************************************/ #include "emu.h" @@ -521,9 +530,58 @@ ROM_START( bkarast ) ROM_LOAD16_WORD_SWAP( "sst37vf010.u9", 0x000000, 0x20000, CRC(a7c69fbb) SHA1(28ef698e63e76d9461b71649e4ee9c8f252f82e2) ) // bootloader ROM_REGION( 0x840000, "nand", ROMREGION_ERASEFF ) // NAND with main program, graphics, built in songs (and potentially user downloads) - ROM_LOAD( "tc58v64bft_withspare.u8", 0x000000, 0x840000, CRC(7770996a) SHA1(cb6df756f88c1f5ff4bd202e7758586c03aff00e) ) + ROM_LOAD( "tc58v64bft_with_spare.u8", 0x000000, 0x840000, CRC(7770996a) SHA1(cb6df756f88c1f5ff4bd202e7758586c03aff00e) ) +ROM_END + +ROM_START( bkarasta ) + ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASEFF ) + ROM_LOAD16_WORD_SWAP( "1ed041.u9", 0x000000, 0x20000, CRC(b6a9c84b) SHA1(062b44dfbbf1dcbc40aa86ab0836fc19c6bddcd5) ) // bootloader + + ROM_REGION( 0x840000, "nand", ROMREGION_ERASEFF ) // NAND with main program, graphics, built in songs (and potentially user downloads) + ROM_LOAD( "tc58v64bft_with_spare.u8", 0x000000, 0x840000, CRC(50ff920d) SHA1(421850df09d7f407291de31102ebcdfc69da1872) ) ROM_END +ROM_START( bkarastb ) + ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASEFF ) + ROM_LOAD16_WORD_SWAP( "1f2aea.u9", 0x000000, 0x20000, CRC(4001da51) SHA1(3b3a7cc08d8a30b6b8a422c108d71cb34b0c0b3a) ) // bootloader + + ROM_REGION( 0x840000, "nand", ROMREGION_ERASEFF ) // NAND with main program, graphics, built in songs (and potentially user downloads) + ROM_LOAD( "tc58v64bft_with_spare.u8", 0x000000, 0x840000, CRC(a7e8ae4f) SHA1(69cc81c574a47c9b1e8c6570b6d3f1144ec99168) ) +ROM_END + +ROM_START( bkarastc ) + ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASEFF ) + ROM_LOAD16_WORD_SWAP( "1f260f.u9", 0x000000, 0x20000, CRC(a8ba923f) SHA1(79295b4508b02d9db2dd38b785693146c5be34f2) ) // bootloader + + ROM_REGION( 0x840000, "nand", ROMREGION_ERASEFF ) // NAND with main program, graphics, built in songs (and potentially user downloads) + ROM_LOAD( "tc58v64bft_with_spare.u8", 0x000000, 0x840000, CRC(34cafa82) SHA1(4c3970a996c06398d11ada88fa412e0e66ebf509) ) +ROM_END + +ROM_START( bkarastd ) + ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASEFF ) + ROM_LOAD16_WORD_SWAP( "1f2589.u9", 0x000000, 0x20000, CRC(62cec581) SHA1(c7737be096805565db53ab668089296efb4a8984) ) // bootloader + + ROM_REGION( 0x840000, "nand", ROMREGION_ERASEFF ) // NAND with main program, graphics, built in songs (and potentially user downloads) + ROM_LOAD( "tc58v64bft_with_spare.u8", 0x000000, 0x840000, CRC(491578a4) SHA1(e20be74daa83fce5dcd5d90822de73f98b7d25d5) ) +ROM_END + +ROM_START( bkaraste ) + ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASEFF ) + ROM_LOAD16_WORD_SWAP( "1f4808.u9", 0x000000, 0x20000, CRC(77244cac) SHA1(17b8db2d94a0f83a175d6ad8ce8ffd31ebb8500b) ) // bootloader + + ROM_REGION( 0x840000, "nand", ROMREGION_ERASEFF ) // NAND with main program, graphics, built in songs (and potentially user downloads) + ROM_LOAD( "tc58v64bft_with_spare.u8", 0x000000, 0x840000, CRC(6b3985f3) SHA1(8dda8ece164d6cbad99f6f6cfde5a714c7271e1f) ) +ROM_END + +ROM_START( bkarastf ) + ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASEFF ) + ROM_LOAD16_WORD_SWAP( "200cc8.u9", 0x000000, 0x20000, CRC(2e24ad8a) SHA1(64e4b7756c1a8818f8c445286f63113f6b5c61c6) ) // bootloader + + ROM_REGION( 0x840000, "nand", ROMREGION_ERASEFF ) // NAND with main program, graphics, built in songs (and potentially user downloads) + ROM_LOAD( "tc58v64bft_with_spare.u8", 0x000000, 0x840000, CRC(4d300ac8) SHA1(afec80f68265e1cd81de6024be4b744acf9a2d3c) ) +ROM_END + + /* The 'easykara' set has the following 10 songs built in. @@ -728,20 +786,27 @@ ROM_END // This is the original US release, there's no cartridge slot, but it has a NAND Flash inside, and in addition to 50 built-in songs, advertises // use of a (now defunct) www.onkeysongs.com service for downloading additional songs to the microphone via bundled PC software. -CONS( 2002, karatvst, 0, 0, ivl_karaoke_base, ivl_karaoke, ivl_karaoke_state, empty_init, "IVL Technologies", "KaraokeTV Star (US, with 50 songs)", MACHINE_IS_SKELETON ) -CONS( 2002, karatvsta, karatvst, 0, ivl_karaoke_base, ivl_karaoke, ivl_karaoke_state, empty_init, "IVL Technologies", "KaraokeTV Star (US, with 25 songs, 'FREE 35 Hit Songs / $35 value' packaging)", MACHINE_IS_SKELETON ) // 25 songs on unit, download code for 10 songs +CONS( 2002, karatvst, 0, 0, ivl_karaoke_base, ivl_karaoke, ivl_karaoke_state, empty_init, "IVL Technologies", "KaraokeTV Star (US, with 50 songs)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 2002, karatvsta, karatvst, 0, ivl_karaoke_base, ivl_karaoke, ivl_karaoke_state, empty_init, "IVL Technologies", "KaraokeTV Star (US, with 25 songs, 'FREE 35 Hit Songs / $35 value' packaging)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // 25 songs on unit, download code for 10 songs // The "Memorex Star Singer Karaoke / MKS4001" is also made by IVL and boasts 50 built in songs, the casing is different too. -CONS( 2002, mks4001, 0, 0, ivl_karaoke_base, ivl_karaoke, ivl_karaoke_state, empty_init, "IVL Technologies (Memorex license)", "Star Singer Karaoke (MKS4001)", MACHINE_IS_SKELETON ) // 50 songs built in, appears to have around 54 downloads, including a test download +CONS( 2002, mks4001, 0, 0, ivl_karaoke_base, ivl_karaoke, ivl_karaoke_state, empty_init, "IVL Technologies (Memorex license)", "Star Singer Karaoke (MKS4001)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // 50 songs built in, appears to have around 54 downloads, including a test download // Bandai's Japanese release also lacks a cartridge slot, relying on downloads for additional songs. It also comes with a CD containing the PC-side software. The external microphone design differs slightly. -CONS( 2002, bkarast, 0, 0, ivl_karaoke_base, ivl_karaoke, ivl_karaoke_state, empty_init, "IVL Technologies (Bandai license)", "Karaoke Station (Japan)", MACHINE_IS_SKELETON ) +CONS( 2002, bkarast, 0, 0, ivl_karaoke_base, ivl_karaoke, ivl_karaoke_state, empty_init, "IVL Technologies (Bandai license)", "Karaoke Station (Japan, set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 2002, bkarasta, bkarast, 0, ivl_karaoke_base, ivl_karaoke, ivl_karaoke_state, empty_init, "IVL Technologies (Bandai license)", "Karaoke Station (Japan, set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 2002, bkarastb, bkarast, 0, ivl_karaoke_base, ivl_karaoke, ivl_karaoke_state, empty_init, "IVL Technologies (Bandai license)", "Karaoke Station (Japan, set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 2002, bkarastc, bkarast, 0, ivl_karaoke_base, ivl_karaoke, ivl_karaoke_state, empty_init, "IVL Technologies (Bandai license)", "Karaoke Station (Japan, set 4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 2002, bkarastd, bkarast, 0, ivl_karaoke_base, ivl_karaoke, ivl_karaoke_state, empty_init, "IVL Technologies (Bandai license)", "Karaoke Station (Japan, set 5)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 2002, bkaraste, bkarast, 0, ivl_karaoke_base, ivl_karaoke, ivl_karaoke_state, empty_init, "IVL Technologies (Bandai license)", "Karaoke Station (Japan, set 6)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +// this set has no downloaded data (or session data) suggesting it hasn't been used, the headers on the 3 songs that are included are different from the above sets however, so these themed units are likely different from factory +CONS( 2002, bkarastf, bkarast, 0, ivl_karaoke_base, ivl_karaoke, ivl_karaoke_state, empty_init, "IVL Technologies (Bandai license)", "Karaoke Station 'For Girls' (Japan)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // The European releases take cartridges rather than relying on a download service -CONS( 2004, easykara, 0, 0, easy_karaoke, ivl_karaoke, easy_karaoke_cartslot_state, empty_init, "IVL Technologies (Easy Karaoke license)", "Easy Karaoke Groove Station (UK)", MACHINE_IS_SKELETON ) +CONS( 2004, easykara, 0, 0, easy_karaoke, ivl_karaoke, easy_karaoke_cartslot_state, empty_init, "IVL Technologies (Easy Karaoke license)", "Easy Karaoke Groove Station (UK)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) -CONS( 2003, karams, 0, 0, easy_karaoke, ivl_karaoke, easy_karaoke_cartslot_state, empty_init, "IVL Technologies (Lexibook license)", "KaraokeMicro Star (France)", MACHINE_IS_SKELETON ) -CONS( 2003, karamsg, 0, 0, easy_karaoke, ivl_karaoke, easy_karaoke_cartslot_state, empty_init, "IVL Technologies (Lexibook / Imago license)", "Karaoke Microphone Pro / KaraokeMicro Star (Greece)", MACHINE_IS_SKELETON ) // KaraokeMicro Star branding is used on-screen, Karaoke Microphone Pro on the box +CONS( 2003, karams, 0, 0, easy_karaoke, ivl_karaoke, easy_karaoke_cartslot_state, empty_init, "IVL Technologies (Lexibook license)", "KaraokeMicro Star (France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 2003, karamsg, 0, 0, easy_karaoke, ivl_karaoke, easy_karaoke_cartslot_state, empty_init, "IVL Technologies (Lexibook / Imago license)", "Karaoke Microphone Pro / KaraokeMicro Star (Greece)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // KaraokeMicro Star branding is used on-screen, Karaoke Microphone Pro on the box -CONS( 2003, dks7000c, 0, 0, easy_karaoke, ivl_karaoke, easy_karaoke_cartslot_state, empty_init, "IVL Technologies (Disney / Memcorp Inc license)", "Disney Classic Handheld Karaoke Player (DKS7000-C)", MACHINE_IS_SKELETON ) -CONS( 2003, dks7000p, 0, 0, easy_karaoke, ivl_karaoke, easy_karaoke_cartslot_state, empty_init, "IVL Technologies (Disney / Memcorp Inc license)", "Disney Princess Handheld Karaoke Player (DKS7000-P)", MACHINE_IS_SKELETON ) +CONS( 2003, dks7000c, 0, 0, easy_karaoke, ivl_karaoke, easy_karaoke_cartslot_state, empty_init, "IVL Technologies (Disney / Memcorp Inc license)", "Disney Classic Handheld Karaoke Player (DKS7000-C)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 2003, dks7000p, 0, 0, easy_karaoke, ivl_karaoke, easy_karaoke_cartslot_state, empty_init, "IVL Technologies (Disney / Memcorp Inc license)", "Disney Princess Handheld Karaoke Player (DKS7000-P)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/elcirculo.cpp b/src/mame/skeleton/elcirculo.cpp index 9b5dfa709a4af..90219552023c5 100644 --- a/src/mame/skeleton/elcirculo.cpp +++ b/src/mame/skeleton/elcirculo.cpp @@ -132,4 +132,4 @@ ROM_END } // anonymous namespace -GAME(1980, elcirculo, 0, elcirculo, elcirculo, elcirculo_state, empty_init, ROT0, "Inder", "El Circulo", MACHINE_IS_SKELETON) +GAME(1980, elcirculo, 0, elcirculo, elcirculo, elcirculo_state, empty_init, ROT0, "Inder", "El Circulo", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/skeleton/elzet80.cpp b/src/mame/skeleton/elzet80.cpp index 990de7c287e1f..30cbc692173b1 100644 --- a/src/mame/skeleton/elzet80.cpp +++ b/src/mame/skeleton/elzet80.cpp @@ -181,5 +181,5 @@ ROM_END } // Anonymous namespace // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 1982, elzet80k, elzet80p, 0, elzet80, elzet80, elzet80_state, empty_init, "Giesler & Danne GmbH & Co. KG", "Elzet/K 80", MACHINE_IS_SKELETON ) -COMP( 1982, elzet80p, 0, 0, elzet80, elzet80, elzet80_state, empty_init, "Giesler & Danne GmbH & Co. KG", "Elzet/P 80", MACHINE_IS_SKELETON ) +COMP( 1982, elzet80k, elzet80p, 0, elzet80, elzet80, elzet80_state, empty_init, "Giesler & Danne GmbH & Co. KG", "Elzet/K 80", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 1982, elzet80p, 0, 0, elzet80, elzet80, elzet80_state, empty_init, "Giesler & Danne GmbH & Co. KG", "Elzet/P 80", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/epoch_tv_globe.cpp b/src/mame/skeleton/epoch_tv_globe.cpp index 914e7daf76a7b..5a93535e00aee 100644 --- a/src/mame/skeleton/epoch_tv_globe.cpp +++ b/src/mame/skeleton/epoch_tv_globe.cpp @@ -102,4 +102,4 @@ ROM_END } // anonymous namespace -CONS( 201?, eptvglob, 0, 0, epoch_tv_globe, epoch_tv_globe, epoch_tv_globe_state, empty_init, "Epoch", "TV Globe (Japan)", MACHINE_IS_SKELETON ) +CONS( 201?, eptvglob, 0, 0, epoch_tv_globe, epoch_tv_globe, epoch_tv_globe_state, empty_init, "Epoch", "TV Globe (Japan)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/esprit.cpp b/src/mame/skeleton/esprit.cpp index 8cb557d272bac..48117b073b5f4 100644 --- a/src/mame/skeleton/esprit.cpp +++ b/src/mame/skeleton/esprit.cpp @@ -228,5 +228,5 @@ ROM_END } // anonymous namespace -COMP( 1981, esprit, 0, 0, esprit, esprit, esprit_state, init_init, "Hazeltine", "Esprit", MACHINE_IS_SKELETON ) -COMP( 1981, esprit3, esprit, 0, esprit3, esprit, esprit_state, empty_init, "Hazeltine", "Esprit III", MACHINE_IS_SKELETON ) +COMP( 1981, esprit, 0, 0, esprit, esprit, esprit_state, init_init, "Hazeltine", "Esprit", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 1981, esprit3, esprit, 0, esprit3, esprit, esprit_state, empty_init, "Hazeltine", "Esprit III", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/eurocom2.cpp b/src/mame/skeleton/eurocom2.cpp index 0d73a1fc2b1d8..44e6699f3ad5d 100644 --- a/src/mame/skeleton/eurocom2.cpp +++ b/src/mame/skeleton/eurocom2.cpp @@ -514,6 +514,6 @@ ROM_END // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 1981, eurocom2, 0, 0, eurocom2, eurocom2, eurocom2_state, empty_init, "Eltec", "Eurocom II V7", MACHINE_IS_SKELETON ) -COMP( 1982, waveterm, eurocom2, 0, waveterm, waveterm, waveterm_state, empty_init, "PPG", "Waveterm A", MACHINE_IS_SKELETON ) -COMP( 1985, microtrol, eurocom2, 0, microtrol, eurocom2, eurocom2_state, empty_init, "Microtrol", "unknown Microtrol portable computer", MACHINE_IS_SKELETON ) +COMP( 1981, eurocom2, 0, 0, eurocom2, eurocom2, eurocom2_state, empty_init, "Eltec", "Eurocom II V7", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 1982, waveterm, eurocom2, 0, waveterm, waveterm, waveterm_state, empty_init, "PPG", "Waveterm A", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 1985, microtrol, eurocom2, 0, microtrol, eurocom2, eurocom2_state, empty_init, "Microtrol", "unknown Microtrol portable computer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/evolution_handheld.cpp b/src/mame/skeleton/evolution_handheld.cpp index f05fa1ff2562b..a38b7717609ed 100644 --- a/src/mame/skeleton/evolution_handheld.cpp +++ b/src/mame/skeleton/evolution_handheld.cpp @@ -80,4 +80,4 @@ ROM_END } // anonymous namespace -CONS( 2006, evolhh, 0, 0, evolhh, evolhh, evolution_handheldgame_state, empty_init, "Kidz Delight", "Evolution Max", MACHINE_IS_SKELETON ) // from a pink 'for girls' unit, exists in other colours, software likely the same +CONS( 2006, evolhh, 0, 0, evolhh, evolhh, evolution_handheldgame_state, empty_init, "Kidz Delight", "Evolution Max", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // from a pink 'for girls' unit, exists in other colours, software likely the same diff --git a/src/mame/skeleton/extrema_m27sv.cpp b/src/mame/skeleton/extrema_m27sv.cpp index 4d070a0bc37e8..0524d4fcb4847 100644 --- a/src/mame/skeleton/extrema_m27sv.cpp +++ b/src/mame/skeleton/extrema_m27sv.cpp @@ -153,4 +153,4 @@ ROM_END } // anonymous namespace -GAME( 2006?, multgmxl, 0, extrema_m27sv, multgmxl, extrema_m27sv_state, empty_init, ROT0, "Extrema", "Multi GAME XL", MACHINE_IS_SKELETON ) +GAME( 2006?, multgmxl, 0, extrema_m27sv, multgmxl, extrema_m27sv_state, empty_init, ROT0, "Extrema", "Multi GAME XL", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/falconun.cpp b/src/mame/skeleton/falconun.cpp index 31941c7b07916..07a8ab5808507 100644 --- a/src/mame/skeleton/falconun.cpp +++ b/src/mame/skeleton/falconun.cpp @@ -5,6 +5,9 @@ #include "emu.h" #include "cpu/m6800/m6800.h" +#include "cpu/mcs48/mcs48.h" +#include "machine/6821pia.h" +#include "machine/input_merger.h" #include "screen.h" @@ -27,17 +30,18 @@ class falconun_state : public driver_device public: falconun_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_maincpu(*this, "falcon_terminal"), + m_maincpu(*this, "maincpu"), m_screen(*this, "screen") { } void falconun(machine_config &config); private: - required_device m_maincpu; + required_device m_maincpu; required_device m_screen; void memmap(address_map &map) ATTR_COLD; + void slavemap(address_map &map) ATTR_COLD; uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) { return 0; } }; @@ -47,13 +51,30 @@ INPUT_PORTS_END void falconun_state::memmap(address_map &map) { - map(0x0000, 0xffff).rom(); + map(0x0000, 0x07ff).ram(); + map(0x2000, 0x2003).rw("pia", FUNC(pia6821_device::read), FUNC(pia6821_device::write)); + map(0xc000, 0xffff).rom().region("falcon_terminal", 0xc000); +} + +void falconun_state::slavemap(address_map &map) +{ + map(0x000, 0xfff).rom().region("slave", 0); } void falconun_state::falconun(machine_config &config) { M6802(config, m_maincpu, 40'000'000 / 4); // TODO 10 MHz for a M6802?? m_maincpu->set_addrmap(AS_PROGRAM, &falconun_state::memmap); + m_maincpu->set_ram_enable(false); + + INPUT_MERGER_ANY_HIGH(config, "mainirq").output_handler().set_inputline(m_maincpu, M6802_IRQ_LINE); + + pia6821_device &pia(PIA6821(config, "pia")); + pia.irqa_handler().set("mainirq", FUNC(input_merger_device::in_w<0>)); + pia.irqb_handler().set("mainirq", FUNC(input_merger_device::in_w<1>)); + + i8035_device &slavemcu(I8035(config, "slavemcu", 6'000'000)); + slavemcu.set_addrmap(AS_PROGRAM, &falconun_state::slavemap); SCREEN(config, m_screen, SCREEN_TYPE_RASTER); m_screen->set_refresh_hz(60); @@ -106,4 +127,4 @@ ROM_END } // anonymous namespace -GAME( 198?, falconun, 0, falconun, falconun, falconun_state, empty_init, ROT0, "Falcon", "unknown Falcon gambling machine", MACHINE_IS_SKELETON ) +GAME( 198?, falconun, 0, falconun, falconun, falconun_state, empty_init, ROT0, "Falcon", "unknown Falcon gambling machine", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/flashvga2.cpp b/src/mame/skeleton/flashvga2.cpp index 32ac067517738..7cad3d5e3b73d 100644 --- a/src/mame/skeleton/flashvga2.cpp +++ b/src/mame/skeleton/flashvga2.cpp @@ -124,4 +124,4 @@ ROM_END } // Anonymous namespace // YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS -GAME( 2005, ruletamag, 0, flashvga2, ruletamag, flashvga2_state, empty_init, ROT0, "Codere", u8"Ruleta Mágica", MACHINE_IS_SKELETON ) +GAME( 2005, ruletamag, 0, flashvga2, ruletamag, flashvga2_state, empty_init, ROT0, "Codere", u8"Ruleta Mágica", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/fs3216.cpp b/src/mame/skeleton/fs3216.cpp index 178c912ce2084..7ce27db18a6ab 100644 --- a/src/mame/skeleton/fs3216.cpp +++ b/src/mame/skeleton/fs3216.cpp @@ -566,4 +566,4 @@ ROM_END } // anonymous namespace -COMP(1982, fs3216, 0, 0, fs3216, fs3216, fs3216_state, empty_init, "Fortune Systems", "Fortune 32:16", MACHINE_IS_SKELETON) +COMP(1982, fs3216, 0, 0, fs3216, fs3216, fs3216_state, empty_init, "Fortune Systems", "Fortune 32:16", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/skeleton/ganbaremo.cpp b/src/mame/skeleton/ganbaremo.cpp index e2bef7039d9f9..b0f9d6815d8d9 100644 --- a/src/mame/skeleton/ganbaremo.cpp +++ b/src/mame/skeleton/ganbaremo.cpp @@ -262,4 +262,4 @@ ROM_END } // anonymous namespace -GAME( 1992?, ganbaremo, 0, ganbaremo, ganbaremo, ganbaremo_state, empty_init, ROT0, "Shoken", "Ganbare Momotarou Oni Taiji", MACHINE_IS_SKELETON_MECHANICAL ) // was advertised in 1992 +GAME( 1992?, ganbaremo, 0, ganbaremo, ganbaremo, ganbaremo_state, empty_init, ROT0, "Shoken", "Ganbare Momotarou Oni Taiji", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // was advertised in 1992 diff --git a/src/mame/skeleton/gem_rp.cpp b/src/mame/skeleton/gem_rp.cpp index 68fd075234038..d93fc8ed909f8 100644 --- a/src/mame/skeleton/gem_rp.cpp +++ b/src/mame/skeleton/gem_rp.cpp @@ -68,4 +68,4 @@ ROM_END } // anonymous namespace -SYST(1999, rp200, 0, 0, rp200, rp200, gem_rp_state, empty_init, "Generalmusic", "GEM RealPiano RP200", MACHINE_IS_SKELETON) +SYST(1999, rp200, 0, 0, rp200, rp200, gem_rp_state, empty_init, "Generalmusic", "GEM RealPiano RP200", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/skeleton/gm1000.cpp b/src/mame/skeleton/gm1000.cpp index 065a77c1cfc31..076abed45c109 100644 --- a/src/mame/skeleton/gm1000.cpp +++ b/src/mame/skeleton/gm1000.cpp @@ -132,5 +132,5 @@ ROM_END } // anonymous namespace -SYST(1994, bh1000, 0, 0, gm1000, gm1000, gm1000_state, empty_init, "Nihon Eniac Co., Ltd.", "Sound Saurus BH-1000", MACHINE_IS_SKELETON) -SYST(1994, gm1000, 0, 0, gm1000, gm1000, gm1000_state, empty_init, "Suzuki (Hammond license)", "GM-1000 GM Sound Module", MACHINE_IS_SKELETON) +SYST(1994, bh1000, 0, 0, gm1000, gm1000, gm1000_state, empty_init, "Nihon Eniac Co., Ltd.", "Sound Saurus BH-1000", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1994, gm1000, 0, 0, gm1000, gm1000, gm1000_state, empty_init, "Suzuki (Hammond license)", "GM-1000 GM Sound Module", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/skeleton/gnat10.cpp b/src/mame/skeleton/gnat10.cpp index b0c6d1aeb75c1..c36181c47193d 100644 --- a/src/mame/skeleton/gnat10.cpp +++ b/src/mame/skeleton/gnat10.cpp @@ -239,4 +239,4 @@ ROM_END } // anonymous namespace -COMP(1980, gnat10, 0, 0, gnat10, gnat10, gnat10_state, empty_init, "GNAT Computers", "GNAT System 10", MACHINE_IS_SKELETON) +COMP(1980, gnat10, 0, 0, gnat10, gnat10, gnat10_state, empty_init, "GNAT Computers", "GNAT System 10", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/skeleton/guchokipa.cpp b/src/mame/skeleton/guchokipa.cpp deleted file mode 100644 index 805924f0e554c..0000000000000 --- a/src/mame/skeleton/guchokipa.cpp +++ /dev/null @@ -1,275 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders: - -/* -Gu, Choki, Pa - -PCB is marked 20282 and LC (stands for "lato componenti", so components side) -with a small riser board marked W 15482 plugged into one of the main CPU ROMs' -sockets - -Main components are: -SGS Z80CPUB1 main CPU (clock measured 3.07 MHz) -18.432 MHz XTAL -SGS Z80CPUB1 audio CPU (clock measured 1.53 MHz) -AY-3-8910 sound chip -MK4802 RAM (near audio CPU) and snd chip Ay-3-8910 -6x 2114 RAM (near GFX ROMs) -Bank of 8 switches - -The riser board has a pair of HM4334 1K*4 static RAMs and a quad 2-input NAND gate. - -TODO: -- sound -- is visible area correct? -- remaining DIPs -- colors aren't 100% correct (see i.e. the stripes in the curtains) - reference video: https://www.youtube.com/watch?v=zTOFIhuwR2w -*/ - - -#include "emu.h" - -#include "cpu/z80/z80.h" -#include "machine/gen_latch.h" -#include "sound/ay8910.h" - -#include "emupal.h" -#include "screen.h" -#include "speaker.h" -#include "tilemap.h" - - -namespace { - -class guchokipa_state : public driver_device -{ -public: - guchokipa_state(const machine_config &mconfig, device_type type, const char *tag) : - driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu"), - m_audiocpu(*this, "audiocpu"), - m_gfxdecode(*this, "gfxdecode"), - m_bgram(*this, "bgram"), - m_fgram(*this, "fgram") - { } - - void guchokipa(machine_config &config); - -protected: - virtual void video_start() override ATTR_COLD; - -private: - required_device m_maincpu; - required_device m_audiocpu; - required_device m_gfxdecode; - - required_shared_ptr m_bgram; - required_shared_ptr m_fgram; - - tilemap_t *m_bg_tilemap = nullptr; - tilemap_t *m_fg_tilemap = nullptr; - - TILE_GET_INFO_MEMBER(get_bg_tile_info); - TILE_GET_INFO_MEMBER(get_fg_tile_info); - void bgram_w(offs_t offset, uint8_t data); - void fgram_w(offs_t offset, uint8_t data); - uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - - void main_io_map(address_map &map) ATTR_COLD; - void main_program_map(address_map &map) ATTR_COLD; - void sound_program_map(address_map &map) ATTR_COLD; - void sound_io_map(address_map &map) ATTR_COLD; -}; - - -TILE_GET_INFO_MEMBER(guchokipa_state::get_bg_tile_info) -{ - int const code = m_bgram[tile_index]; - - tileinfo.set(0, code, 0, 0); -} - -TILE_GET_INFO_MEMBER(guchokipa_state::get_fg_tile_info) -{ - int code = m_fgram[tile_index]; - - if (code == 0x00) code = 0x2ff; // why? is this another 'big sprite' thing? - - tileinfo.set(1, code, 0, 0); -} - - -void guchokipa_state::video_start() -{ - m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(guchokipa_state::get_bg_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32); - m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(guchokipa_state::get_fg_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32); - - m_fg_tilemap->set_transparent_pen(0); -} - -void guchokipa_state::fgram_w(offs_t offset, uint8_t data) -{ - m_fgram[offset] = data; - m_fg_tilemap->mark_tile_dirty(offset); -} - -void guchokipa_state::bgram_w(offs_t offset, uint8_t data) -{ - m_bgram[offset] = data; - m_bg_tilemap->mark_tile_dirty(offset); -} - -uint32_t guchokipa_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) -{ - m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0); - m_fg_tilemap->draw(screen, bitmap, cliprect, 0, 0); - - return 0; -} - - -void guchokipa_state::main_program_map(address_map &map) -{ - map(0x0000, 0x3fff).rom(); - map(0x6400, 0x67ff).ram(); - map(0x7000, 0x73ff).ram().w(FUNC(guchokipa_state::bgram_w)).share(m_bgram); - map(0x7400, 0x77ff).ram().w(FUNC(guchokipa_state::fgram_w)).share(m_fgram); - map(0x7c00, 0x7fff).ram(); // only seems to be initialized with 0xff at start up -} - -void guchokipa_state::main_io_map(address_map &map) -{ - map.global_mask(0xff); - map(0x00, 0x00).portr("SW"); - map(0x01, 0x01).portr("IN0"); - map(0x02, 0x02).portr("IN1"); - map(0x17, 0x17).lw8(NAME([this] (uint8_t data) { if (data & 0xfe) logerror("flip w: %02x\n", data); flip_screen_set(BIT(data, 0)); })); - // map(0x30, 0x30).w() // lamps? - // .w("soundlatch", FUNC(generic_latch_8_device::write)); -} - -void guchokipa_state::sound_program_map(address_map &map) -{ - map(0x0000, 0x07ff).rom(); - map(0x2000, 0x23ff).ram(); -} - -void guchokipa_state::sound_io_map(address_map &map) -{ - map.global_mask(0xff); - // .r("soundlatch", FUNC(generic_latch_8_device::read)); - // .w("ay", FUNC(ay8910_device::address_data_w)); - // .r("ay", FUNC(ay8910_device::data_r)); -} - - -static INPUT_PORTS_START( guchokipa ) - PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) // 100 in book-keeping - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) // 500 in book-keeping - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 ) // 1000 in book-keeping - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) // only works without credits inserted - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START1 ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) // Gu (rock) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 ) // Choki (scissors) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) // Pa (paper) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_TAKE ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("SW") - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW:1,2") - PORT_DIPSETTING( 0x03, "A 1C / B 5C / C 10C" ) - PORT_DIPSETTING( 0x02, "A 2C / B 10C / C 20C" ) - PORT_DIPSETTING( 0x01, "A 4C / B 20C / C 40C" ) - PORT_DIPSETTING( 0x00, "A 5C / B 25C / C 50C" ) - PORT_DIPNAME( 0x04, 0x04, "Max Bet" ) PORT_DIPLOCATION("SW:3") - PORT_DIPSETTING( 0x04, "10" ) - PORT_DIPSETTING( 0x00, "30" ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW:4") // some combination of the following 3 seems to affect win probability - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW:5") - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW:6") - PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Service_Mode ) ) PORT_DIPLOCATION("SW:7") - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW:8") - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) -INPUT_PORTS_END - - -static GFXDECODE_START( gfx_guchokipa ) - GFXDECODE_ENTRY( "tiles", 0, gfx_8x8x4_planar, 0, 1 ) - GFXDECODE_ENTRY( "tiles", 0x800, gfx_8x8x4_planar, 0, 1 ) -GFXDECODE_END - - -void guchokipa_state::guchokipa(machine_config &config) -{ - Z80(config, m_maincpu, 18.432_MHz_XTAL / 6); // 3.07 MHz - m_maincpu->set_addrmap(AS_PROGRAM, &guchokipa_state::main_program_map); - m_maincpu->set_addrmap(AS_IO, &guchokipa_state::main_io_map); - m_maincpu->set_vblank_int("screen", FUNC(guchokipa_state::irq0_line_hold)); - - Z80(config, m_audiocpu, 18.432_MHz_XTAL / 12); // 1.53 MHz - m_audiocpu->set_addrmap(AS_PROGRAM, &guchokipa_state::sound_program_map); - m_audiocpu->set_addrmap(AS_IO, &guchokipa_state::sound_io_map); - - // video hardware - screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_refresh_hz(60); - screen.set_size(256, 256); - screen.set_visarea(0, 256-1, 0, 256-1); - screen.set_screen_update(FUNC(guchokipa_state::screen_update)); - screen.set_palette("palette"); - - GFXDECODE(config, m_gfxdecode, "palette", gfx_guchokipa); - PALETTE(config, "palette").set_entries(0x10); // TODO - - SPEAKER(config, "mono").front_center(); - - GENERIC_LATCH_8(config, "soundlatch"); - - AY8910(config, "ay", 18.432_MHz_XTAL / 12).add_route(ALL_OUTPUTS, "mono", 0.35); -} - - -ROM_START( guchokip ) - ROM_REGION( 0x4000, "maincpu", 0 ) - ROM_LOAD( "4210.bt1", 0x0000, 0x1000, CRC(6cf83735) SHA1(3d0a978adb1c1b4526fa00dedd08e2879f4af283) ) - ROM_LOAD( "4211.bg12", 0x1000, 0x1000, CRC(098bf9ff) SHA1(17da91457a6e8154e09361d0600b37156c05f7c2) ) - ROM_LOAD( "4212.bg13", 0x2000, 0x1000, CRC(6d02e421) SHA1(489a822a52db39f348282ba92fb1c1d3cbc68710) ) - ROM_LOAD( "4213.bg14", 0x3000, 0x0800, CRC(364891c8) SHA1(220cae58877cb6a80d01305375a5945c7dc5cfcc) ) - - ROM_REGION( 0x800, "audiocpu", 0 ) - ROM_LOAD( "4209.bg11", 0x000, 0x800, CRC(44b2b7d1) SHA1(672931ff572ac6361b493dc9a49f6146bdc26b78) ) - - ROM_REGION( 0x8000, "tiles", 0 ) - ROM_LOAD( "4203.r1", 0x0000, 0x1000, CRC(8769aad5) SHA1(71f3d22e8e0006ba89329ac4a48f09e11ab67875) ) - ROM_LOAD( "4207.r2", 0x1000, 0x1000, CRC(9b78e95e) SHA1(2f3fdcc3bb92b2eb3a967de39ffe4eee74cac8e0) ) - ROM_LOAD( "4202.g1", 0x2000, 0x1000, CRC(a45d5258) SHA1(9080c51b2dc5d6bc4d01cc29deed0e2a5ea78dbd) ) - ROM_LOAD( "4206.g2", 0x3000, 0x1000, CRC(e18d50f7) SHA1(c922a019c13c904701abe5a9e42be955d80a7ecb) ) - ROM_LOAD( "4201.b1", 0x4000, 0x1000, CRC(838726ab) SHA1(5bcfb3c6badc8f7b7bea17a228137e4bff39a0e5) ) - ROM_LOAD( "4205.b2", 0x5000, 0x1000, CRC(58efc253) SHA1(b3344df68c665da996f3332f43030a664931db80) ) - ROM_LOAD( "4204.t1", 0x6000, 0x1000, CRC(da77a765) SHA1(e8626548909b5e735cdb603964324482848ce476) ) - ROM_LOAD( "4208.t2", 0x7000, 0x1000, CRC(be97d733) SHA1(ff3b199c8d1203d9d6c0060f217bbd7de32a8152) ) -ROM_END - -} // anonymous namespace - - -GAME( 198?, guchokip, 0, guchokipa, guchokipa, guchokipa_state, empty_init, ROT0, "", "Gu, Choki, Pa", MACHINE_IS_SKELETON ) diff --git a/src/mame/skeleton/happyvideo.cpp b/src/mame/skeleton/happyvideo.cpp index f2b4457282ab1..09e7b86331851 100644 --- a/src/mame/skeleton/happyvideo.cpp +++ b/src/mame/skeleton/happyvideo.cpp @@ -105,4 +105,4 @@ ROM_END // YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS -GAME( 20??, hppyvideo, 0, hppyvideo, hppyvideo, hppyvideo_state, empty_init, ROT0, "Leyaoyao Happy Kids?", "Happy Video", MACHINE_IS_SKELETON ) +GAME( 20??, hppyvideo, 0, hppyvideo, hppyvideo, hppyvideo_state, empty_init, ROT0, "Leyaoyao Happy Kids?", "Happy Video", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/hohnadam.cpp b/src/mame/skeleton/hohnadam.cpp index b395e0d440d5c..47001ad67698e 100644 --- a/src/mame/skeleton/hohnadam.cpp +++ b/src/mame/skeleton/hohnadam.cpp @@ -123,4 +123,4 @@ ROM_END } // anonymous namespace -SYST(1994, hohnadam, 0, 0, hohnadam, hohnadam, hohnadam_state, empty_init, "Hohner", "ADAM Advanced Digital/Analog Musical Instrument", MACHINE_IS_SKELETON) +SYST(1994, hohnadam, 0, 0, hohnadam, hohnadam, hohnadam_state, empty_init, "Hohner", "ADAM Advanced Digital/Analog Musical Instrument", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/skeleton/iez80.cpp b/src/mame/skeleton/iez80.cpp index 20603dff32f4d..e0597d55844d6 100644 --- a/src/mame/skeleton/iez80.cpp +++ b/src/mame/skeleton/iez80.cpp @@ -229,4 +229,4 @@ ROM_END //************************************************************************** // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 1983, iez80, 0, 0, iez80, iez80, iez80_state, empty_init, "Insight Enterprises", "Z80 SBC (prototype?)", MACHINE_IS_SKELETON ) +COMP( 1983, iez80, 0, 0, iez80, iez80, iez80_state, empty_init, "Insight Enterprises", "Z80 SBC (prototype?)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/ikt5a.cpp b/src/mame/skeleton/ikt5a.cpp index 65e2a8919ae7c..f67523b86c1be 100644 --- a/src/mame/skeleton/ikt5a.cpp +++ b/src/mame/skeleton/ikt5a.cpp @@ -200,4 +200,4 @@ ROM_END } // anonymous namespace -COMP(1993, ikt5a, 0, 0, ikt5a, ikt5a, ikt5a_state, empty_init, "Creator / Fura Elektronik", "IKT-5A", MACHINE_IS_SKELETON) +COMP(1993, ikt5a, 0, 0, ikt5a, ikt5a, ikt5a_state, empty_init, "Creator / Fura Elektronik", "IKT-5A", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/skeleton/is48x.cpp b/src/mame/skeleton/is48x.cpp index a876d211586ee..8c7c834d3a780 100644 --- a/src/mame/skeleton/is48x.cpp +++ b/src/mame/skeleton/is48x.cpp @@ -110,4 +110,4 @@ ROM_END } // anonymous namespace -COMP(199?, is482, 0, 0, is482, is482, is48x_state, empty_init, "Decision Data", "IS-482 Workstation", MACHINE_IS_SKELETON) +COMP(199?, is482, 0, 0, is482, is482, is48x_state, empty_init, "Decision Data", "IS-482 Workstation", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/skeleton/itt1700.cpp b/src/mame/skeleton/itt1700.cpp index 0415a79c00099..b9877b399f886 100644 --- a/src/mame/skeleton/itt1700.cpp +++ b/src/mame/skeleton/itt1700.cpp @@ -127,4 +127,4 @@ ROM_END } // anonymous namespace -COMP(1983, itt1700, 0, 0, itt1700, itt1700, itt1700_state, empty_init, "ITT Courier", "ITT 1700", MACHINE_IS_SKELETON) +COMP(1983, itt1700, 0, 0, itt1700, itt1700, itt1700_state, empty_init, "ITT Courier", "ITT 1700", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/skeleton/itt9216.cpp b/src/mame/skeleton/itt9216.cpp index 2b464e7e13be2..1c0206535af61 100644 --- a/src/mame/skeleton/itt9216.cpp +++ b/src/mame/skeleton/itt9216.cpp @@ -108,4 +108,4 @@ ROM_END } // anonymous namespace -COMP(1986, itt9216, 0, 0, itt9216, itt9216, itt9216_state, empty_init, "ITT Courier", "ITT 9216-X", MACHINE_IS_SKELETON) +COMP(1986, itt9216, 0, 0, itt9216, itt9216, itt9216_state, empty_init, "ITT Courier", "ITT 9216-X", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/skeleton/junior80.cpp b/src/mame/skeleton/junior80.cpp index bda6d11268b60..a81ada198b272 100644 --- a/src/mame/skeleton/junior80.cpp +++ b/src/mame/skeleton/junior80.cpp @@ -303,4 +303,4 @@ ROM_END // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 1988, junior80, 0, 0, junior80, junior80, junior80_state, empty_init, "", "Junior 80", MACHINE_IS_SKELETON ) +COMP( 1988, junior80, 0, 0, junior80, junior80, junior80_state, empty_init, "", "Junior 80", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/kkcount.cpp b/src/mame/skeleton/kkcount.cpp index 0088a0e44ba69..106ca28d37f6d 100644 --- a/src/mame/skeleton/kkcount.cpp +++ b/src/mame/skeleton/kkcount.cpp @@ -118,4 +118,4 @@ ROM_END } // anonymous namespace -GAME( 2005, kkcount, 0, kkcount, kkcount, komaya_state, empty_init, ROT0, "Komaya", "Circlun - Kuru.Kuru-Count", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 2005, kkcount, 0, kkcount, kkcount, komaya_state, empty_init, ROT0, "Komaya", "Circlun - Kuru.Kuru-Count", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/skeleton/koto_zevio.cpp b/src/mame/skeleton/koto_zevio.cpp index 36d53d18e3b98..e19b0ea13cd97 100644 --- a/src/mame/skeleton/koto_zevio.cpp +++ b/src/mame/skeleton/koto_zevio.cpp @@ -114,5 +114,5 @@ ROM_END } // anonymous namespace -CONS( 2007, dbzscout, 0, 0, zevio, zevio, zevio_state, empty_init, "Bandai / Koto", "Dragon Ball Z: Scouter Battle Taikan Kamehameha: Ora to Omee to Scouter (Japan)", MACHINE_IS_SKELETON ) -CONS( 2008, dbzonep, 0, 0, zevio, zevio, zevio_state, empty_init, "Bandai / Koto", "Dragon Ball Z x One Piece: Battle Taikan Gum-Gum no Kamehameha: Omee no Koe de Ora o Yobu (Japan)", MACHINE_IS_SKELETON ) +CONS( 2007, dbzscout, 0, 0, zevio, zevio, zevio_state, empty_init, "Bandai / Koto", "Dragon Ball Z: Scouter Battle Taikan Kamehameha: Ora to Omee to Scouter (Japan)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 2008, dbzonep, 0, 0, zevio, zevio, zevio_state, empty_init, "Bandai / Koto", "Dragon Ball Z x One Piece: Battle Taikan Gum-Gum no Kamehameha: Omee no Koe de Ora o Yobu (Japan)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/lee1214.cpp b/src/mame/skeleton/lee1214.cpp index 842d2059326b6..c0a300ff70427 100644 --- a/src/mame/skeleton/lee1214.cpp +++ b/src/mame/skeleton/lee1214.cpp @@ -89,4 +89,4 @@ ROM_END } // anonymous namespace -COMP(1985, lee1214d, 0, 0, lee1214, lee1214, lee1214_state, empty_init, "Lee Data", "1214D Display Terminal", MACHINE_IS_SKELETON) +COMP(1985, lee1214d, 0, 0, lee1214, lee1214, lee1214_state, empty_init, "Lee Data", "1214D Display Terminal", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/skeleton/lee1220.cpp b/src/mame/skeleton/lee1220.cpp index 2b09daea7df6f..84617ef5ee669 100644 --- a/src/mame/skeleton/lee1220.cpp +++ b/src/mame/skeleton/lee1220.cpp @@ -148,4 +148,4 @@ ROM_END } // anonymous namespace -COMP(1983, lee1220, 0, 0, lee1220, lee1220, lee1220_state, empty_init, "Lee Data", "1220 Display Terminal", MACHINE_IS_SKELETON) +COMP(1983, lee1220, 0, 0, lee1220, lee1220, lee1220_state, empty_init, "Lee Data", "1220 Display Terminal", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/skeleton/lft.cpp b/src/mame/skeleton/lft.cpp index 1bbbed7109234..87dedb8eeeef5 100644 --- a/src/mame/skeleton/lft.cpp +++ b/src/mame/skeleton/lft.cpp @@ -136,5 +136,5 @@ ROM_END /* Driver */ // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 1986, lft1510, 0, 0, lft, lft, lft_state, empty_init, "L/F Technologies", "A1510 186 User Processor", MACHINE_IS_SKELETON | MACHINE_SUPPORTS_SAVE ) -COMP( 1985, lft1230, lft1510, 0, lft, lft, lft_state, empty_init, "L/F Technologies", "A1230 186 Master Processor", MACHINE_IS_SKELETON | MACHINE_SUPPORTS_SAVE ) +COMP( 1986, lft1510, 0, 0, lft, lft, lft_state, empty_init, "L/F Technologies", "A1510 186 User Processor", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) +COMP( 1985, lft1230, lft1510, 0, lft, lft, lft_state, empty_init, "L/F Technologies", "A1230 186 Master Processor", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/skeleton/lgtz80.cpp b/src/mame/skeleton/lgtz80.cpp index 9f47331d93020..ada2acdb38a16 100644 --- a/src/mame/skeleton/lgtz80.cpp +++ b/src/mame/skeleton/lgtz80.cpp @@ -491,5 +491,5 @@ void lgtz80_state::init_arthurkn() } // anonymous namespace -GAME( 2003?, fruitcat, 0, fruitcat, fruitcat, lgtz80_state, init_fruitcat, ROT0, "LGT", "Fruit Cat (v2.00)", MACHINE_IS_SKELETON ) -GAME( 200?, arthurkn, 0, arthurkn, fruitcat, lgtz80_state, init_arthurkn, ROT0, "LGT", "Arthur's Knights", MACHINE_IS_SKELETON ) +GAME( 2003?, fruitcat, 0, fruitcat, fruitcat, lgtz80_state, init_fruitcat, ROT0, "LGT", "Fruit Cat (v2.00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, arthurkn, 0, arthurkn, fruitcat, lgtz80_state, init_arthurkn, ROT0, "LGT", "Arthur's Knights", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/lilith.cpp b/src/mame/skeleton/lilith.cpp index ad374fa806e86..d86da2d68e697 100644 --- a/src/mame/skeleton/lilith.cpp +++ b/src/mame/skeleton/lilith.cpp @@ -62,4 +62,4 @@ ROM_END } // anonymous namespace -COMP( 1984, lilith, 0, 0, lilith, lilith, lilith_state, empty_init, "DISER", "Lilith", MACHINE_IS_SKELETON ) +COMP( 1984, lilith, 0, 0, lilith, lilith, lilith_state, empty_init, "DISER", "Lilith", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/lms46.cpp b/src/mame/skeleton/lms46.cpp index ddad2f52abe84..2cc3a10d80b98 100644 --- a/src/mame/skeleton/lms46.cpp +++ b/src/mame/skeleton/lms46.cpp @@ -114,4 +114,4 @@ ROM_END } // anonymous namespace -COMP(1988, lms46, 0, 0, lms46, lms46, lms46_state, empty_init, "Litek Information Systems", "LMS46-V9", MACHINE_IS_SKELETON) +COMP(1988, lms46, 0, 0, lms46, lms46, lms46_state, empty_init, "Litek Information Systems", "LMS46-V9", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/skeleton/madmoney2.cpp b/src/mame/skeleton/madmoney2.cpp index d4497a60cc1bf..2cb8f3bf3dd7b 100644 --- a/src/mame/skeleton/madmoney2.cpp +++ b/src/mame/skeleton/madmoney2.cpp @@ -117,4 +117,4 @@ ROM_END } // anonymous namespace -GAME(1988, madmoney2, 0, madmoney2, madmoney2, madmoney2_state, empty_init, ROT0, "Picmatic", "Mad Money 2", MACHINE_IS_SKELETON_MECHANICAL) // String "(C) PICMATIC S.A. 1988 BY B.MEITINER VER 0.0 09.09.88" on ROM +GAME(1988, madmoney2, 0, madmoney2, madmoney2, madmoney2_state, empty_init, ROT0, "Picmatic", "Mad Money 2", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) // String "(C) PICMATIC S.A. 1988 BY B.MEITINER VER 0.0 09.09.88" on ROM diff --git a/src/mame/skeleton/marsvending.cpp b/src/mame/skeleton/marsvending.cpp index 2c62fbb380811..c604def2e9c52 100644 --- a/src/mame/skeleton/marsvending.cpp +++ b/src/mame/skeleton/marsvending.cpp @@ -112,5 +112,5 @@ ROM_END } // anonymous namespace -SYST( 1990, apvm110, 0, 0, marsvending, marsvending, marsvending_state, empty_init, "Mars Electronics", "Automatic Products Vending Machine model 110 (set 1)", MACHINE_IS_SKELETON ) -SYST( 1990, apvm110a, apvm110, 0, marsvending, marsvending, marsvending_state, empty_init, "Mars Electronics", "Automatic Products Vending Machine model 110 (set 2)", MACHINE_IS_SKELETON ) +SYST( 1990, apvm110, 0, 0, marsvending, marsvending, marsvending_state, empty_init, "Mars Electronics", "Automatic Products Vending Machine model 110 (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +SYST( 1990, apvm110a, apvm110, 0, marsvending, marsvending, marsvending_state, empty_init, "Mars Electronics", "Automatic Products Vending Machine model 110 (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/micral.cpp b/src/mame/skeleton/micral.cpp index b86752bfe51df..35255ded916b6 100644 --- a/src/mame/skeleton/micral.cpp +++ b/src/mame/skeleton/micral.cpp @@ -475,5 +475,5 @@ ROM_END /* Driver */ // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 1981, micral, 0, 0, micral, micral, micral_state, empty_init, "Bull R2E", "Micral 80-22G", MACHINE_IS_SKELETON | MACHINE_SUPPORTS_SAVE ) -COMP( 1982, questarm, micral, 0, micral, micral, micral_state, empty_init, "Honeywell Bull", "Questar/M", MACHINE_IS_SKELETON | MACHINE_SUPPORTS_SAVE ) +COMP( 1981, micral, 0, 0, micral, micral, micral_state, empty_init, "Bull R2E", "Micral 80-22G", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) +COMP( 1982, questarm, micral, 0, micral, micral, micral_state, empty_init, "Honeywell Bull", "Questar/M", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/skeleton/micromon.cpp b/src/mame/skeleton/micromon.cpp index cdbef2bf7cd20..1969b7b6a2b8c 100644 --- a/src/mame/skeleton/micromon.cpp +++ b/src/mame/skeleton/micromon.cpp @@ -98,4 +98,4 @@ ROM_END } // anonymous namespace -SYST( 1995?, micromon7141, 0, 0, micromon, micromon, micromon_state, empty_init, "Kontron Instruments", "Micromon 7141 ECG unit", MACHINE_IS_SKELETON | MACHINE_SUPPORTS_SAVE ) +SYST( 1995?, micromon7141, 0, 0, micromon, micromon, micromon_state, empty_init, "Kontron Instruments", "Micromon 7141 ECG unit", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/skeleton/mightyframe.cpp b/src/mame/skeleton/mightyframe.cpp index f1ded65923516..1cc0f8880a35c 100644 --- a/src/mame/skeleton/mightyframe.cpp +++ b/src/mame/skeleton/mightyframe.cpp @@ -55,4 +55,4 @@ ROM_END } // anonymous namespace -COMP( 1985?, mightyframe, 0, 0, mightyframe, mightyframe, mightyframe_state, empty_init, "Convergent Technologies", "Mightyframe", MACHINE_IS_SKELETON ) +COMP( 1985?, mightyframe, 0, 0, mightyframe, mightyframe, mightyframe_state, empty_init, "Convergent Technologies", "Mightyframe", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/milwaukee.cpp b/src/mame/skeleton/milwaukee.cpp index 4e9c6c99d8652..bebf27db1dea1 100644 --- a/src/mame/skeleton/milwaukee.cpp +++ b/src/mame/skeleton/milwaukee.cpp @@ -98,4 +98,4 @@ ROM_END } // anonymous namespace -COMP( 1980, mc1200, 0, 0, milwaukee, milwaukee, milwaukee_state, empty_init, "Milwaukee Computers", "MC-1200", MACHINE_IS_SKELETON ) +COMP( 1980, mc1200, 0, 0, milwaukee, milwaukee, milwaukee_state, empty_init, "Milwaukee Computers", "MC-1200", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/minihock.cpp b/src/mame/skeleton/minihock.cpp index c7158c77755df..d4b674e0a0d73 100644 --- a/src/mame/skeleton/minihock.cpp +++ b/src/mame/skeleton/minihock.cpp @@ -98,4 +98,4 @@ ROM_END // YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS -GAME( 1991, minihockey, 0, minihockey, minihockey, minihockey_state, empty_init, ROT0, "Rumatic", "Mini Hockey", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1991, minihockey, 0, minihockey, minihockey, minihockey_state, empty_init, ROT0, "Rumatic", "Mini Hockey", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/skeleton/miuchiz.cpp b/src/mame/skeleton/miuchiz.cpp index 931da417c0983..c55eb302a2721 100644 --- a/src/mame/skeleton/miuchiz.cpp +++ b/src/mame/skeleton/miuchiz.cpp @@ -144,4 +144,4 @@ ROM_END } // anonymous namespace // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 2006, miuchiz, 0, 0, miuchiz, miuchiz, miuchiz_state, empty_init, "MGA Entertainment", "MIUCHIZ Virtual Companions", MACHINE_IS_SKELETON ) +COMP( 2006, miuchiz, 0, 0, miuchiz, miuchiz, miuchiz_state, empty_init, "MGA Entertainment", "MIUCHIZ Virtual Companions", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/modellot.cpp b/src/mame/skeleton/modellot.cpp index 99abe4c276db7..5a4dcfb6bf051 100644 --- a/src/mame/skeleton/modellot.cpp +++ b/src/mame/skeleton/modellot.cpp @@ -255,5 +255,5 @@ ROM_END } // anonymous namespace /* Driver */ -COMP( 1979, modellot, 0, 0, modellot, modellot, modellot_state, empty_init, "General Processor", "Modello T", MACHINE_IS_SKELETON | MACHINE_SUPPORTS_SAVE ) +COMP( 1979, modellot, 0, 0, modellot, modellot, modellot_state, empty_init, "General Processor", "Modello T", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/skeleton/molecular.cpp b/src/mame/skeleton/molecular.cpp index 5aefe72e722f0..f8c04137353bc 100644 --- a/src/mame/skeleton/molecular.cpp +++ b/src/mame/skeleton/molecular.cpp @@ -371,4 +371,4 @@ ROM_END } // anonymous namespace -COMP( 1982, molecula, 0, 0, molecula, molecula, molecula_state, empty_init, "MOLECULAR", "MOLECULAR Computer", MACHINE_IS_SKELETON ) +COMP( 1982, molecula, 0, 0, molecula, molecula, molecula_state, empty_init, "MOLECULAR", "MOLECULAR Computer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/mtd1256.cpp b/src/mame/skeleton/mtd1256.cpp index 32b6ec49edd70..4df7e2dce95d7 100644 --- a/src/mame/skeleton/mtd1256.cpp +++ b/src/mame/skeleton/mtd1256.cpp @@ -157,4 +157,4 @@ ROM_END } // anonymous namespace -SYST(1992, mtd1256, 0, 0, mtd1256, mtd1256, mtd1256_state, empty_init, "Geonica", "Meteodata 1256", MACHINE_IS_SKELETON) +SYST(1992, mtd1256, 0, 0, mtd1256, mtd1256, mtd1256_state, empty_init, "Geonica", "Meteodata 1256", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/skeleton/mw4pole.cpp b/src/mame/skeleton/mw4pole.cpp index 0324a3ba0cd8f..5ca0b6aea1d1f 100644 --- a/src/mame/skeleton/mw4pole.cpp +++ b/src/mame/skeleton/mw4pole.cpp @@ -50,4 +50,4 @@ ROM_END } // anonymous namespace -SYST(1995, mw4pole, 0, 0, mw4pole, mw4pole, mw4pole_state, empty_init, "Waldorf Electronics", "MiniWorks 4-Pole", MACHINE_IS_SKELETON) +SYST(1995, mw4pole, 0, 0, mw4pole, mw4pole, mw4pole_state, empty_init, "Waldorf Electronics", "MiniWorks 4-Pole", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/skeleton/mx2178.cpp b/src/mame/skeleton/mx2178.cpp index 126c292ac48c3..69659e647585a 100644 --- a/src/mame/skeleton/mx2178.cpp +++ b/src/mame/skeleton/mx2178.cpp @@ -198,4 +198,4 @@ ROM_END } // Anonymous namespace // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 1984, mx2178, 0, 0, mx2178, mx2178, mx2178_state, empty_init, "Memorex", "Memorex 2178", MACHINE_IS_SKELETON | MACHINE_SUPPORTS_SAVE ) +COMP( 1984, mx2178, 0, 0, mx2178, mx2178, mx2178_state, empty_init, "Memorex", "Memorex 2178", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/skeleton/mx3210.cpp b/src/mame/skeleton/mx3210.cpp index 7c9a56d92c2bb..c860c6d089cdc 100644 --- a/src/mame/skeleton/mx3210.cpp +++ b/src/mame/skeleton/mx3210.cpp @@ -143,4 +143,4 @@ ROM_END } // anonymous namespace -SYST(1994, mx3210, 0, 0, mx3210, mx3210, mx3210_state, empty_init, "Xyplex Inc.", "MAXserver MX-3210 Local Router", MACHINE_IS_SKELETON) +SYST(1994, mx3210, 0, 0, mx3210, mx3210, mx3210_state, empty_init, "Xyplex Inc.", "MAXserver MX-3210 Local Router", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/skeleton/ngen.cpp b/src/mame/skeleton/ngen.cpp index 461970f93ea23..b8333bacac2d8 100644 --- a/src/mame/skeleton/ngen.cpp +++ b/src/mame/skeleton/ngen.cpp @@ -1203,6 +1203,6 @@ ROM_END } // anonymous namespace -COMP( 1983, ngen, 0, 0, ngen, ngen, ngen_state, empty_init, "Convergent Technologies", "NGEN CP-001", MACHINE_IS_SKELETON ) -COMP( 1991, ngenb38, ngen, 0, ngen386, ngen, ngen386_state, empty_init, "Financial Products Corp.", "B28/38", MACHINE_IS_SKELETON ) -COMP( 1990, 386i, ngen, 0, _386i, ngen, ngen386_state, empty_init, "Convergent Technologies", "386i", MACHINE_IS_SKELETON ) +COMP( 1983, ngen, 0, 0, ngen, ngen, ngen_state, empty_init, "Convergent Technologies", "NGEN CP-001", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 1991, ngenb38, ngen, 0, ngen386, ngen, ngen386_state, empty_init, "Financial Products Corp.", "B28/38", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 1990, 386i, ngen, 0, _386i, ngen, ngen386_state, empty_init, "Convergent Technologies", "386i", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/nordlead.cpp b/src/mame/skeleton/nordlead.cpp new file mode 100644 index 0000000000000..c9e57355cb285 --- /dev/null +++ b/src/mame/skeleton/nordlead.cpp @@ -0,0 +1,81 @@ +// license:BSD-3-Clause +// copyright-holders: +/************************************************************************************************** + +Skeleton driver for Clavia Nord Lead/Rack series of virtual analog synthesizer. + +**************************************************************************************************/ + +#include "emu.h" + +#include "cpu/m68000/tmp68301.h" + +#include "emupal.h" +#include "speaker.h" + +namespace { + +class nordlead_state : public driver_device +{ +public: + nordlead_state(const machine_config &mconfig, device_type type, const char *tag) + : driver_device(mconfig, type, tag) + , m_maincpu(*this, "maincpu") + { } + + void nordle2x(machine_config &config); + +private: + virtual void machine_start() override ATTR_COLD; + virtual void machine_reset() override ATTR_COLD; + + void host_map(address_map &map) ATTR_COLD; + + required_device m_maincpu; +}; + + +void nordlead_state::host_map(address_map &map) +{ + map(0x000000, 0x07ffff).rom(); + map(0x100000, 0x13ffff).ram(); +// map(0x200000, 0x200007) both DSPs +// map(0x200008, 0x20000f) DSP A +// map(0x200010, 0x200017) DSP B +// map(0x202000, 0x2027ff) Front Panel CS6 +// map(0x202800, 0x202fff) Front Panel CS4 +// map(0x203000, 0x2037ff) keyboard +} + + +static INPUT_PORTS_START(nordle2x) +INPUT_PORTS_END + +void nordlead_state::machine_start() +{ +} + +void nordlead_state::machine_reset() +{ +} + +void nordlead_state::nordle2x(machine_config &config) +{ + // TODO: actually TMP68331 + TMP68301(config, m_maincpu, XTAL(32'000'000) / 2); + m_maincpu->set_addrmap(AS_PROGRAM, &nordlead_state::host_map); + + // TODO: 2 x DSP56362, original Nord Lead with stock DSP56002 +} + + +ROM_START(nordle2x) + ROM_REGION(0x80000, "maincpu", 0) + ROM_LOAD("nord_lead_2x.bin", 0x00000, 0x80000, CRC(66188eb1) SHA1(549394349f7371e48ead57d8a0ec6b4010014d12)) +ROM_END + +} // anonymous namespace + +//SYST(1995, nordlead, 0, 0, nordlead, nordlead, nordlead_state, empty_init, "Clavia", "Nord Lead", ...) +// ... +SYST(2003, nordle2x, 0, 0, nordle2x, nordle2x, nordlead_state, empty_init, "Clavia", "Nord Lead 2X", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/palestra.cpp b/src/mame/skeleton/palestra.cpp index 85df94bca187a..c3551725fe560 100644 --- a/src/mame/skeleton/palestra.cpp +++ b/src/mame/skeleton/palestra.cpp @@ -93,4 +93,4 @@ ROM_END } // anonymous namespace -CONS( 1978, palestra, 0, 0, palestra, palestra, palestra_state, empty_init, "LPO", "Palestra-02", MACHINE_IS_SKELETON) +CONS( 1978, palestra, 0, 0, palestra, palestra, palestra_state, empty_init, "LPO", "Palestra-02", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/skeleton/palsystems_sh2.cpp b/src/mame/skeleton/palsystems_sh2.cpp index b03b6dc33bb76..92347674bc495 100644 --- a/src/mame/skeleton/palsystems_sh2.cpp +++ b/src/mame/skeleton/palsystems_sh2.cpp @@ -250,6 +250,6 @@ ROM_END } // anonymous namespace -GAME( 199?, mpoker2, 0, palsystems_sh2, mpoker2, palsystems_sh2_state, empty_init, ROT0, "PAL Systems", "Major Poker 2 (set 1)", MACHINE_IS_SKELETON ) -GAME( 199?, mpoker2a, mpoker2, palsystems_sh2, mpoker2, palsystems_sh2_state, empty_init, ROT0, "PAL Systems", "Major Poker 2 (set 2)", MACHINE_IS_SKELETON ) -GAME( 199?, mpoker2b, mpoker2, palsystems_sh2, mpoker2, palsystems_sh2_state, empty_init, ROT0, "PAL Systems", "Major Poker 2 (set 3)", MACHINE_IS_SKELETON ) +GAME( 199?, mpoker2, 0, palsystems_sh2, mpoker2, palsystems_sh2_state, empty_init, ROT0, "PAL Systems", "Major Poker 2 (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 199?, mpoker2a, mpoker2, palsystems_sh2, mpoker2, palsystems_sh2_state, empty_init, ROT0, "PAL Systems", "Major Poker 2 (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 199?, mpoker2b, mpoker2, palsystems_sh2, mpoker2, palsystems_sh2_state, empty_init, ROT0, "PAL Systems", "Major Poker 2 (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/pap2.cpp b/src/mame/skeleton/pap2.cpp index fc66d9208da81..24ec3dfc9f2b4 100644 --- a/src/mame/skeleton/pap2.cpp +++ b/src/mame/skeleton/pap2.cpp @@ -100,4 +100,4 @@ ROM_END } // anonymous namespace -SYST( 200?, pap2, 0, 0, pap2, pap2, pap2_state, empty_init, "Linksys (Cisco)", "PAP2", MACHINE_IS_SKELETON ) +SYST( 200?, pap2, 0, 0, pap2, pap2, pap2_state, empty_init, "Linksys (Cisco)", "PAP2", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/pcksurfer.cpp b/src/mame/skeleton/pcksurfer.cpp index 29d616e0414e7..70601c97503cb 100644 --- a/src/mame/skeleton/pcksurfer.cpp +++ b/src/mame/skeleton/pcksurfer.cpp @@ -88,4 +88,4 @@ ROM_END } // anonymous namespace // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 2006, pcksurfer, 0, 0, pcksurfer, pcksurfer, pcksurfer_state, empty_init, "Datawind", "Pocket Surfer (prototype)", MACHINE_IS_SKELETON ) +COMP( 2006, pcksurfer, 0, 0, pcksurfer, pcksurfer, pcksurfer_state, empty_init, "Datawind", "Pocket Surfer (prototype)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/pdt3100.cpp b/src/mame/skeleton/pdt3100.cpp index b665622429156..8a27fc18ccb13 100644 --- a/src/mame/skeleton/pdt3100.cpp +++ b/src/mame/skeleton/pdt3100.cpp @@ -79,4 +79,4 @@ ROM_END } // anonymous namespace -COMP(1998, pdt3100, 0, 0, pdt3100, pdt3100, pdt3100_state, empty_init, "Symbol", "PDT 3100 (v1.10-00)", MACHINE_IS_SKELETON) +COMP(1998, pdt3100, 0, 0, pdt3100, pdt3100, pdt3100_state, empty_init, "Symbol", "PDT 3100 (v1.10-00)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/skeleton/pegasos2.cpp b/src/mame/skeleton/pegasos2.cpp index 8288ab4553f40..d33cff75d8299 100644 --- a/src/mame/skeleton/pegasos2.cpp +++ b/src/mame/skeleton/pegasos2.cpp @@ -155,4 +155,4 @@ ROM_END //************************************************************************** // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 2003, pegasos2, 0, 0, pegasos2, pegasos2, pegasos2_state, empty_init, "Genesi", "PEGASOS II", MACHINE_IS_SKELETON ) +COMP( 2003, pegasos2, 0, 0, pegasos2, pegasos2, pegasos2_state, empty_init, "Genesi", "PEGASOS II", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/perq.cpp b/src/mame/skeleton/perq.cpp index 7e4d018e9e3c7..95de31b0fe988 100644 --- a/src/mame/skeleton/perq.cpp +++ b/src/mame/skeleton/perq.cpp @@ -49,4 +49,4 @@ ROM_END } // anonymous namespace -COMP( 1979, perq, 0, 0, perq, perq, perq_state, empty_init, "Three Rivers Company Corporation", "PERQ 1A", MACHINE_IS_SKELETON ) +COMP( 1979, perq, 0, 0, perq, perq, perq_state, empty_init, "Three Rivers Company Corporation", "PERQ 1A", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/picno.cpp b/src/mame/skeleton/picno.cpp index 83e3f1910319f..1d559e8784164 100644 --- a/src/mame/skeleton/picno.cpp +++ b/src/mame/skeleton/picno.cpp @@ -100,5 +100,5 @@ ROM_END // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -CONS( 1993, picno, 0, 0, picno, picno, picno_state, empty_init, "Konami", "Picno", MACHINE_IS_SKELETON | MACHINE_SUPPORTS_SAVE ) -CONS( 1993, picno2, 0, 0, picno, picno, picno_state, empty_init, "Konami", "Picno 2", MACHINE_IS_SKELETON | MACHINE_SUPPORTS_SAVE ) +CONS( 1993, picno, 0, 0, picno, picno, picno_state, empty_init, "Konami", "Picno", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) +CONS( 1993, picno2, 0, 0, picno, picno, picno_state, empty_init, "Konami", "Picno 2", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/skeleton/pullttrigger.cpp b/src/mame/skeleton/pullttrigger.cpp index 6561202385fdd..316b208e78b6c 100644 --- a/src/mame/skeleton/pullttrigger.cpp +++ b/src/mame/skeleton/pullttrigger.cpp @@ -91,4 +91,4 @@ ROM_END } // anonymous namespace -GAME(2003, pullttrig, 0, pullttrig, pullttrig, pullttrig_state, empty_init, ROT0, "Digital Silkroad", "Pull The Trigger", MACHINE_IS_SKELETON) +GAME(2003, pullttrig, 0, pullttrig, pullttrig, pullttrig_state, empty_init, ROT0, "Digital Silkroad", "Pull The Trigger", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/skeleton/qmquasar.cpp b/src/mame/skeleton/qmquasar.cpp index e14f5cc12a2c0..58dbc6f3d1eba 100644 --- a/src/mame/skeleton/qmquasar.cpp +++ b/src/mame/skeleton/qmquasar.cpp @@ -146,5 +146,5 @@ void qmquasar_state::driver_start() } // anonymous namespace -SYST(1993, qmquasar, 0, 0, quasar, qmquasar, qmquasar_state, empty_init, "Quasimidi Musikelektronik GmbH", "Quasimidi Quasar", MACHINE_IS_SKELETON) -SYST(1995, technox, 0, 0, technox, qmquasar, qmquasar_state, empty_init, "Quasimidi Musikelektronik GmbH", "TechnoX", MACHINE_IS_SKELETON) +SYST(1993, qmquasar, 0, 0, quasar, qmquasar, qmquasar_state, empty_init, "Quasimidi Musikelektronik GmbH", "Quasimidi Quasar", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1995, technox, 0, 0, technox, qmquasar, qmquasar_state, empty_init, "Quasimidi Musikelektronik GmbH", "TechnoX", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/skeleton/qmsirius.cpp b/src/mame/skeleton/qmsirius.cpp index 3e47627e8f472..2da658df09a86 100644 --- a/src/mame/skeleton/qmsirius.cpp +++ b/src/mame/skeleton/qmsirius.cpp @@ -91,5 +91,5 @@ ROM_END } // anonymous namespace -SYST(1998, qmsirius, 0, 0, qmsirius, qmsirius, qmsirius_state, empty_init, "Quasimidi Musikelektronik GmbH", "Quasimidi Sirius", MACHINE_IS_SKELETON) -SYST(1996, qmrave, 0, 0, qmsirius, qmsirius, qmsirius_state, empty_init, "Quasimidi Musikelektronik GmbH", "Rave-O-Lution 309", MACHINE_IS_SKELETON) +SYST(1998, qmsirius, 0, 0, qmsirius, qmsirius, qmsirius_state, empty_init, "Quasimidi Musikelektronik GmbH", "Quasimidi Sirius", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1996, qmrave, 0, 0, qmsirius, qmsirius, qmsirius_state, empty_init, "Quasimidi Musikelektronik GmbH", "Rave-O-Lution 309", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/skeleton/ramstar.cpp b/src/mame/skeleton/ramstar.cpp index 3ca803b94790c..87ee19f5aaf1f 100644 --- a/src/mame/skeleton/ramstar.cpp +++ b/src/mame/skeleton/ramstar.cpp @@ -205,4 +205,4 @@ ROM_END } // anonymous namespace -GAME( 1991, ramstar, 0, ramstar, ramstar, ramstar_state, empty_init, ROT0, "Ram Star", "unknown Ram Star multi-game (version 80.1)", MACHINE_IS_SKELETON ) +GAME( 1991, ramstar, 0, ramstar, ramstar, ramstar_state, empty_init, ROT0, "Ram Star", "unknown Ram Star multi-game (version 80.1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/sansa_fuze.cpp b/src/mame/skeleton/sansa_fuze.cpp index f7a47e0ecc027..60960aeded291 100644 --- a/src/mame/skeleton/sansa_fuze.cpp +++ b/src/mame/skeleton/sansa_fuze.cpp @@ -76,4 +76,4 @@ ROM_END // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -CONS( 200?, sanfuze2, 0, 0, sansa_fuze, sansa_fuze, sansa_fuze_state, empty_init, "Sandisk", "Sansa Fuze 2", MACHINE_IS_SKELETON ) +CONS( 200?, sanfuze2, 0, 0, sansa_fuze, sansa_fuze, sansa_fuze_state, empty_init, "Sandisk", "Sansa Fuze 2", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/semcrossw.cpp b/src/mame/skeleton/semcrossw.cpp index 23caa92d441a6..0ba2cf99555ee 100644 --- a/src/mame/skeleton/semcrossw.cpp +++ b/src/mame/skeleton/semcrossw.cpp @@ -155,4 +155,4 @@ ROM_END // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -SYST(19??, semcrossw, 0, 0, semcrossw, semcrossw, semcrossw_state, empty_init, "Etra", "Crosswalk traffic light controller (unknown model)", MACHINE_IS_SKELETON) +SYST(19??, semcrossw, 0, 0, semcrossw, semcrossw, semcrossw_state, empty_init, "Etra", "Crosswalk traffic light controller (unknown model)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/skeleton/seoul88.cpp b/src/mame/skeleton/seoul88.cpp index 35320c7d2eab4..8190743a25c68 100644 --- a/src/mame/skeleton/seoul88.cpp +++ b/src/mame/skeleton/seoul88.cpp @@ -286,4 +286,4 @@ ROM_END // YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS -GAME( 1989, seoul88, 0, seoul88, seoul88, seoul88_state, empty_init, ROT0, "Mecca", "Seoul 88 Fever", MACHINE_IS_SKELETON ) +GAME( 1989, seoul88, 0, seoul88, seoul88, seoul88_state, empty_init, ROT0, "Mecca", "Seoul 88 Fever", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/sh4robot.cpp b/src/mame/skeleton/sh4robot.cpp index b43b7283431a1..3797f7eb8bd37 100644 --- a/src/mame/skeleton/sh4robot.cpp +++ b/src/mame/skeleton/sh4robot.cpp @@ -108,4 +108,4 @@ ROM_END /* Driver */ // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 20??, sh4robot, 0, 0, sh4robot, sh4robot, sh4robot_state, empty_init, "", "Robot", MACHINE_IS_SKELETON_MECHANICAL ) +COMP( 20??, sh4robot, 0, 0, sh4robot, sh4robot, sh4robot_state, empty_init, "", "Robot", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/skeleton/si5500.cpp b/src/mame/skeleton/si5500.cpp index 1b5dc107754d1..0310d9aa942f0 100644 --- a/src/mame/skeleton/si5500.cpp +++ b/src/mame/skeleton/si5500.cpp @@ -235,4 +235,4 @@ ROM_END } // anonymous namespace -COMP(1986, si5500, 0, 0, si5500, si5500, si5500_state, empty_init, "Scientific Instruments", "Model 5500 Temperature Controller", MACHINE_IS_SKELETON) +COMP(1986, si5500, 0, 0, si5500, si5500, si5500_state, empty_init, "Scientific Instruments", "Model 5500 Temperature Controller", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/skeleton/slsstars.cpp b/src/mame/skeleton/slsstars.cpp index 53082d665ca91..0c1ce1ef69498 100644 --- a/src/mame/skeleton/slsstars.cpp +++ b/src/mame/skeleton/slsstars.cpp @@ -63,4 +63,4 @@ ROM_END } // anonymous namespace -SYST(199?, slsstars, 0, 0, slsstars, slsstars, slsstars_state, empty_init, "Sound Leisure", "SuperStars (CD jukebox)", MACHINE_IS_SKELETON_MECHANICAL) +SYST(199?, slsstars, 0, 0, slsstars, slsstars, slsstars_state, empty_init, "Sound Leisure", "SuperStars (CD jukebox)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) diff --git a/src/mame/skeleton/solbourne.cpp b/src/mame/skeleton/solbourne.cpp index ac90ba88b3b41..4ae7c541039aa 100644 --- a/src/mame/skeleton/solbourne.cpp +++ b/src/mame/skeleton/solbourne.cpp @@ -56,4 +56,4 @@ ROM_END } // anonymous namespace -COMP( 198?, sols5e, 0, 0, solbourne, solbourne, solbourne_state, empty_init, "Solbourne Computer Inc", "Series 5E Computer Workstation", MACHINE_IS_SKELETON ) +COMP( 198?, sols5e, 0, 0, solbourne, solbourne, solbourne_state, empty_init, "Solbourne Computer Inc", "Series 5E Computer Workstation", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/sterz80.cpp b/src/mame/skeleton/sterz80.cpp index c5ec3ad3056d9..2d13123a1b029 100644 --- a/src/mame/skeleton/sterz80.cpp +++ b/src/mame/skeleton/sterz80.cpp @@ -210,4 +210,4 @@ void sterz80_state::init_tongzi() } // anonymous namespace -GAME( 2003, tongzi, 0, tongzi, tongzi, sterz80_state, init_tongzi, ROT0, "Ster", "Tong Zi Maque", MACHINE_IS_SKELETON ) +GAME( 2003, tongzi, 0, tongzi, tongzi, sterz80_state, init_tongzi, ROT0, "Ster", "Tong Zi Maque", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/symbolics.cpp b/src/mame/skeleton/symbolics.cpp index 71d6c66ef8525..bd80a5505c6d3 100644 --- a/src/mame/skeleton/symbolics.cpp +++ b/src/mame/skeleton/symbolics.cpp @@ -385,4 +385,4 @@ ROM_END ******************************************************************************/ // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 1984, s3670, 0, 0, symbolics, symbolics, symbolics_state, init_symbolics, "Symbolics", "3670", MACHINE_IS_SKELETON ) +COMP( 1984, s3670, 0, 0, symbolics, symbolics, symbolics_state, init_symbolics, "Symbolics", "3670", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/synthex.cpp b/src/mame/skeleton/synthex.cpp index 2ea6df80671ab..f6611bc758981 100644 --- a/src/mame/skeleton/synthex.cpp +++ b/src/mame/skeleton/synthex.cpp @@ -234,4 +234,4 @@ ROM_END } // anonymous namespace -SYST(1981, synthex, 0, 0, synthex, synthex, synthex_state, empty_init, "Elka", "Synthex", MACHINE_IS_SKELETON) +SYST(1981, synthex, 0, 0, synthex, synthex, synthex_state, empty_init, "Elka", "Synthex", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/skeleton/sys2900.cpp b/src/mame/skeleton/sys2900.cpp index 3baf3af635cf7..43e3d4a412369 100644 --- a/src/mame/skeleton/sys2900.cpp +++ b/src/mame/skeleton/sys2900.cpp @@ -171,4 +171,4 @@ ROM_END /* Driver */ // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 1981, sys2900, 0, 0, sys2900, sys2900, sys2900_state, empty_init, "Systems Group", "System 2900", MACHINE_IS_SKELETON | MACHINE_SUPPORTS_SAVE ) +COMP( 1981, sys2900, 0, 0, sys2900, sys2900, sys2900_state, empty_init, "Systems Group", "System 2900", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/skeleton/sys9002.cpp b/src/mame/skeleton/sys9002.cpp index ae156d888a284..98b45f6ba0b60 100644 --- a/src/mame/skeleton/sys9002.cpp +++ b/src/mame/skeleton/sys9002.cpp @@ -188,4 +188,4 @@ ROM_END /* Driver */ // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 198?, sys9002, 0, 0, sys9002, sys9002, sys9002_state, empty_init, "Mannesmann Kienzle", "System 9002 Terminal", MACHINE_IS_SKELETON | MACHINE_SUPPORTS_SAVE ) +COMP( 198?, sys9002, 0, 0, sys9002, sys9002, sys9002_state, empty_init, "Mannesmann Kienzle", "System 9002 Terminal", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/skeleton/systel1.cpp b/src/mame/skeleton/systel1.cpp index 707e24ab25ab2..740b43ffd0114 100644 --- a/src/mame/skeleton/systel1.cpp +++ b/src/mame/skeleton/systel1.cpp @@ -236,4 +236,4 @@ ROM_END } // anonymous namespace -COMP(198?, systel100, 0, 0, systel1, systel1, systel1_state, empty_init, "Systel Computers", "System 100", MACHINE_IS_SKELETON) +COMP(198?, systel100, 0, 0, systel1, systel1, systel1_state, empty_init, "Systel Computers", "System 100", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/skeleton/syvg.cpp b/src/mame/skeleton/syvg.cpp index cee7e6ad9dc85..780ea83b4297c 100644 --- a/src/mame/skeleton/syvg.cpp +++ b/src/mame/skeleton/syvg.cpp @@ -161,4 +161,4 @@ void syvg_state::init_luckyvl() } // anonymous namespace -GAME( 2003, luckyvl, 0, syvg, luckyvl, syvg_state, init_luckyvl, ROT0, "Shyh-Yuan Electronics", "Lucky V Line", MACHINE_IS_SKELETON ) +GAME( 2003, luckyvl, 0, syvg, luckyvl, syvg_state, init_luckyvl, ROT0, "Shyh-Yuan Electronics", "Lucky V Line", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/tamagotchi_pix.cpp b/src/mame/skeleton/tamagotchi_pix.cpp index e6a290281981e..a1b724fc6c8e8 100644 --- a/src/mame/skeleton/tamagotchi_pix.cpp +++ b/src/mame/skeleton/tamagotchi_pix.cpp @@ -84,4 +84,4 @@ ROM_END } // anonymous namespace -CONS( 2020, tamapix, 0, 0, tamapix, tamapix, tamagotchi_pix_state, empty_init, "Bandai", "Tamagotchi Pix", MACHINE_IS_SKELETON ) +CONS( 2020, tamapix, 0, 0, tamapix, tamapix, tamagotchi_pix_state, empty_init, "Bandai", "Tamagotchi Pix", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/telex1192.cpp b/src/mame/skeleton/telex1192.cpp index 9b1c90bdfe647..4dec0901f7980 100644 --- a/src/mame/skeleton/telex1192.cpp +++ b/src/mame/skeleton/telex1192.cpp @@ -87,4 +87,4 @@ ROM_END } // anonymous namespace -COMP(1989, telex1192, 0, 0, telex1192, telex1192, telex1192_state, empty_init, "Memorex Telex", "Telex 1192", MACHINE_IS_SKELETON) +COMP(1989, telex1192, 0, 0, telex1192, telex1192, telex1192_state, empty_init, "Memorex Telex", "Telex 1192", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/skeleton/telex274.cpp b/src/mame/skeleton/telex274.cpp index 38a04bd2cc62a..25867548c55c0 100644 --- a/src/mame/skeleton/telex274.cpp +++ b/src/mame/skeleton/telex274.cpp @@ -182,4 +182,4 @@ ROM_END } // anonymous namespace -COMP(1986, telex274, 0, 0, telex274, telex274, telex274_state, empty_init, "Telex Computer Products", "Telex 274-61C Sixteen Station Control Unit", MACHINE_IS_SKELETON) +COMP(1986, telex274, 0, 0, telex274, telex274, telex274_state, empty_init, "Telex Computer Products", "Telex 274-61C Sixteen Station Control Unit", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/skeleton/telex277d.cpp b/src/mame/skeleton/telex277d.cpp index b36c4f3204fbb..3a30222535521 100644 --- a/src/mame/skeleton/telex277d.cpp +++ b/src/mame/skeleton/telex277d.cpp @@ -75,4 +75,4 @@ ROM_END } // anonymous namespace -COMP(1979, telex277d, 0, 0, telex277d, telex277d, telex277d_state, empty_init, "Telex Computer Products", "Telex 277-D Display Terminal (Model 2)", MACHINE_IS_SKELETON) +COMP(1979, telex277d, 0, 0, telex277d, telex277d, telex277d_state, empty_init, "Telex Computer Products", "Telex 277-D Display Terminal (Model 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/skeleton/terco.cpp b/src/mame/skeleton/terco.cpp index 89c1eb7f1d32e..4e5ba34dad610 100644 --- a/src/mame/skeleton/terco.cpp +++ b/src/mame/skeleton/terco.cpp @@ -325,4 +325,4 @@ ROM_END // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 1986, t4490, 0, 0, t4490, t4490, t4490_state, empty_init, "Terco AB", "Terco 4490 Mill CNC Control", MACHINE_IS_SKELETON ) +COMP( 1986, t4490, 0, 0, t4490, t4490, t4490_state, empty_init, "Terco AB", "Terco 4490 Mill CNC Control", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/terminal.cpp b/src/mame/skeleton/terminal.cpp index e7771bab03554..c188ab9ca1fdd 100644 --- a/src/mame/skeleton/terminal.cpp +++ b/src/mame/skeleton/terminal.cpp @@ -102,8 +102,8 @@ ROM_END /* Driver */ /* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */ -COMP( 1991, alcat258, 0, 0, terminal, terminal, terminal_state, empty_init, "Alcatel", "Terminatel 258", MACHINE_IS_SKELETON ) -COMP( 1992, loewed, 0, 0, terminal, terminal, terminal_state, empty_init, "Loewe", "Multitel D", MACHINE_IS_SKELETON ) -COMP( 1988, loewe715, 0, 0, terminal, terminal, terminal_state, empty_init, "Loewe", "Multicom 715L", MACHINE_IS_SKELETON ) -COMP( 1987, 7951om, 0, 0, terminal, terminal, terminal_state, empty_init, "Mera-Elzab", "7951om", MACHINE_IS_SKELETON ) -COMP( 1992, teleguide, 0, 0, terminal, terminal, terminal_state, empty_init, "Loewe / Televerket", "Teleguide", MACHINE_IS_SKELETON ) +COMP( 1991, alcat258, 0, 0, terminal, terminal, terminal_state, empty_init, "Alcatel", "Terminatel 258", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 1992, loewed, 0, 0, terminal, terminal, terminal_state, empty_init, "Loewe", "Multitel D", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 1988, loewe715, 0, 0, terminal, terminal, terminal_state, empty_init, "Loewe", "Multicom 715L", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 1987, 7951om, 0, 0, terminal, terminal, terminal_state, empty_init, "Mera-Elzab", "7951om", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 1992, teleguide, 0, 0, terminal, terminal, terminal_state, empty_init, "Loewe / Televerket", "Teleguide", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/textelcomp.cpp b/src/mame/skeleton/textelcomp.cpp index 852bffae17f8f..e18b12fd8555a 100644 --- a/src/mame/skeleton/textelcomp.cpp +++ b/src/mame/skeleton/textelcomp.cpp @@ -7,7 +7,7 @@ *******************************************************************************/ #include "emu.h" -#include "cpu/m6502/m65sc02.h" +#include "cpu/m6502/g65sc02.h" #include "machine/input_merger.h" #include "machine/6522via.h" #include "machine/mos6551.h" @@ -325,10 +325,10 @@ INPUT_PORTS_END void textelcomp_state::textelcomp(machine_config &config) { - M65SC02(config, m_maincpu, 3.6864_MHz_XTAL / 2); // G65SC02P-2 (clock not verified) + G65SC02(config, m_maincpu, 3.6864_MHz_XTAL / 2); // G65SC02P-2 (clock not verified) m_maincpu->set_addrmap(AS_PROGRAM, &textelcomp_state::mem_map); - INPUT_MERGER_ANY_HIGH(config, "mainirq").output_handler().set_inputline(m_maincpu, m65sc02_device::IRQ_LINE); + INPUT_MERGER_ANY_HIGH(config, "mainirq").output_handler().set_inputline(m_maincpu, G65SC02_IRQ_LINE); via6522_device &via0(R65C22(config, "via0", 3.6864_MHz_XTAL / 2)); // G65SC22P-2 via0.irq_handler().set("mainirq", FUNC(input_merger_device::in_w<0>)); @@ -387,4 +387,4 @@ ROM_END } // anonymous namespace -COMP(1993, a1010, 0, 0, textelcomp, textelcomp, textelcomp_state, empty_init, "Humantechnik", "Textel Compact A1010-0", MACHINE_IS_SKELETON) +COMP(1993, a1010, 0, 0, textelcomp, textelcomp, textelcomp_state, empty_init, "Humantechnik", "Textel Compact A1010-0", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/skeleton/ticz80.cpp b/src/mame/skeleton/ticz80.cpp index 33c0472093406..c7b4c1c4b8091 100644 --- a/src/mame/skeleton/ticz80.cpp +++ b/src/mame/skeleton/ticz80.cpp @@ -223,4 +223,4 @@ ROM_END } // anonymous namespace -GAME( 1995, baoqingt, 0, baoqingt, baoqingt, ticz80_state, empty_init, ROT0, "TIC", "Bao Qing Tian", MACHINE_IS_SKELETON ) +GAME( 1995, baoqingt, 0, baoqingt, baoqingt, ticz80_state, empty_init, ROT0, "TIC", "Bao Qing Tian", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/tnshc08.cpp b/src/mame/skeleton/tnshc08.cpp index 1e6a61fb3eec1..95409e076e78e 100644 --- a/src/mame/skeleton/tnshc08.cpp +++ b/src/mame/skeleton/tnshc08.cpp @@ -100,4 +100,4 @@ ROM_END /* Driver */ // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 1988, tnshc08, 0, 0, tnshc08, tnshc08, tnshc08_state, empty_init, u8"JZD Slušovice", "TNS HC-08", MACHINE_IS_SKELETON) +COMP( 1988, tnshc08, 0, 0, tnshc08, tnshc08, tnshc08_state, empty_init, u8"JZD Slušovice", "TNS HC-08", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/skeleton/tr175.cpp b/src/mame/skeleton/tr175.cpp index 759f3fabd2818..1f1cd20f195cc 100644 --- a/src/mame/skeleton/tr175.cpp +++ b/src/mame/skeleton/tr175.cpp @@ -133,4 +133,4 @@ ROM_END } // anonymous namespace -COMP( 1982, tr175, 0, 0, tr175, tr175, tr175_state, empty_init, "Relisys", "TR-175 II", MACHINE_IS_SKELETON ) +COMP( 1982, tr175, 0, 0, tr175, tr175, tr175_state, empty_init, "Relisys", "TR-175 II", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/tvcobrasd.cpp b/src/mame/skeleton/tvcobrasd.cpp index 740f645c373d3..ba327dbfa234c 100644 --- a/src/mame/skeleton/tvcobrasd.cpp +++ b/src/mame/skeleton/tvcobrasd.cpp @@ -211,5 +211,5 @@ ROM_END // YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS -GAME(1998, cobrasd, 0, cobrasdoki, cobrasd, cobrasd_state, empty_init, ROT0, u8"TourVisión", "Cobra Sport Dart / Tour Sport Dart (OKI M6376 sound)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1997, cobrasda, cobrasd, cobrasday, cobrasd, cobrasd_state, empty_init, ROT0, u8"TourVisión", "Cobra Sport Dart / Tour Sport Dart (AY-8910 sound)", MACHINE_IS_SKELETON_MECHANICAL) +GAME(1998, cobrasd, 0, cobrasdoki, cobrasd, cobrasd_state, empty_init, ROT0, u8"TourVisión", "Cobra Sport Dart / Tour Sport Dart (OKI M6376 sound)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) +GAME(1997, cobrasda, cobrasd, cobrasday, cobrasd, cobrasd_state, empty_init, ROT0, u8"TourVisión", "Cobra Sport Dart / Tour Sport Dart (AY-8910 sound)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK) diff --git a/src/mame/skeleton/tvdear.cpp b/src/mame/skeleton/tvdear.cpp index ddcb4b1bdcf27..3a224e2438d25 100644 --- a/src/mame/skeleton/tvdear.cpp +++ b/src/mame/skeleton/tvdear.cpp @@ -25,6 +25,7 @@ class tvdear_state : public driver_device virtual void machine_start() override ATTR_COLD; private: + u8 p0_r(); void p0_w(u8 data); u8 pt_r(); @@ -42,6 +43,11 @@ void tvdear_state::machine_start() save_item(NAME(m_p0)); } +u8 tvdear_state::p0_r() +{ + return m_p0; +} + void tvdear_state::p0_w(u8 data) { m_p0 = data; @@ -59,7 +65,7 @@ void tvdear_state::mem_map(address_map &map) { map(0x00000, 0x07fff).ram(); map(0x10000, 0x17fff).ram(); - map(0x80000, 0xfffff).rom().region("maincpu", 0x080000); + map(0x40000, 0xfffff).rom().region("maincpu", 0x040000); } void tvdear_state::io_map(address_map &map) @@ -174,6 +180,7 @@ void tvdear_state::tvdear(machine_config &config) V25(config, m_maincpu, 16000000); // NEC D70320DGJ-8; XTAL marked 16AKSS5HT m_maincpu->set_addrmap(AS_PROGRAM, &tvdear_state::mem_map); m_maincpu->set_addrmap(AS_IO, &tvdear_state::io_map); + m_maincpu->p0_in_cb().set(FUNC(tvdear_state::p0_r)); m_maincpu->p0_out_cb().set(FUNC(tvdear_state::p0_w)); m_maincpu->pt_in_cb().set(FUNC(tvdear_state::pt_r)); @@ -189,4 +196,5 @@ ROM_END } // anonymous namespace -CONS( 1995, tvdear, 0, 0, tvdear, tvdear, tvdear_state, empty_init, "Takara", "TV Dear Multi Word Processor", MACHINE_IS_SKELETON | MACHINE_NODEVICE_PRINTER ) // テレビディア マルチワープロ +// テレビディア マルチワープロ +CONS( 1995, tvdear, 0, 0, tvdear, tvdear, tvdear_state, empty_init, "Takara", "TV Dear Multi Word Processor", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_NODEVICE_PRINTER ) diff --git a/src/mame/skeleton/unistar.cpp b/src/mame/skeleton/unistar.cpp index c5296617231d5..6d8d37f95181a 100644 --- a/src/mame/skeleton/unistar.cpp +++ b/src/mame/skeleton/unistar.cpp @@ -247,4 +247,4 @@ ROM_END /* Driver */ // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 198?, unistar, 0, 0, unistar, unistar, unistar_state, empty_init, "Callan Data Systems", "Unistar 200 Terminal", MACHINE_IS_SKELETON | MACHINE_SUPPORTS_SAVE ) +COMP( 198?, unistar, 0, 0, unistar, unistar, unistar_state, empty_init, "Callan Data Systems", "Unistar 200 Terminal", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/skeleton/vanguardmk1.cpp b/src/mame/skeleton/vanguardmk1.cpp index 23ebaa0bef897..adbf670b88165 100644 --- a/src/mame/skeleton/vanguardmk1.cpp +++ b/src/mame/skeleton/vanguardmk1.cpp @@ -48,4 +48,4 @@ ROM_END } // anonymous namespace -SYST( 2004?, vngrdmk1, 0, 0, vanguardmk1, vanguardmk1, vanguardmk1_state, empty_init, "EOD Performance Inc.", "Vanguard MK1", MACHINE_IS_SKELETON_MECHANICAL ) +SYST( 2004?, vngrdmk1, 0, 0, vanguardmk1, vanguardmk1, vanguardmk1_state, empty_init, "EOD Performance Inc.", "Vanguard MK1", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/skeleton/vd56sp.cpp b/src/mame/skeleton/vd56sp.cpp index 3c985f28aaf45..ed7152906c44e 100644 --- a/src/mame/skeleton/vd56sp.cpp +++ b/src/mame/skeleton/vd56sp.cpp @@ -59,4 +59,4 @@ ROM_END } // anonymous namespace -SYST(199?, vd56sp, 0, 0, vd56sp, vd56sp, vd56sp_state, empty_init, "Pro-Nets Technology", "Speedcom VD56SP", MACHINE_IS_SKELETON) +SYST(199?, vd56sp, 0, 0, vd56sp, vd56sp, vd56sp_state, empty_init, "Pro-Nets Technology", "Speedcom VD56SP", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/skeleton/vectrix.cpp b/src/mame/skeleton/vectrix.cpp index c498f82335eac..e70cc7f34dce2 100644 --- a/src/mame/skeleton/vectrix.cpp +++ b/src/mame/skeleton/vectrix.cpp @@ -71,4 +71,4 @@ ROM_END } // anonymous namespace -COMP( 1983, vectrix, 0, 0, vectrix, vectrix, vectrix_state, empty_init, "Vectrix", "VX384 Graphics Processor Terminal", MACHINE_IS_SKELETON ) +COMP( 1983, vectrix, 0, 0, vectrix, vectrix, vectrix_state, empty_init, "Vectrix", "VX384 Graphics Processor Terminal", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/venteta.cpp b/src/mame/skeleton/venteta.cpp new file mode 100644 index 0000000000000..ed7758cdaeb7c --- /dev/null +++ b/src/mame/skeleton/venteta.cpp @@ -0,0 +1,140 @@ +// license:BSD-3-Clause +// copyright-holders: + +/* +Venteta by Rania (?) + +MegaRani SYSTEM Version 2001 + +Main components: + +ATMEGA103 MCU (undumped internal ROM) +PSD813F1 (not dumped) +M48T08-100PC1 +EPM7064LC68-10 +24 MHz XTAL +4x 6264 +ISD2564P audio chip +1 reset switch +*/ + +#include "emu.h" + +#include "cpu/avr8/avr8.h" + +#include "emupal.h" +#include "screen.h" +#include "speaker.h" +#include "tilemap.h" + + +namespace { + +class venteta_state : public driver_device +{ +public: + venteta_state(const machine_config &mconfig, device_type type, const char *tag) : + driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu"), + m_gfxdecode(*this, "gfxdecode") + { } + + void venteta(machine_config &config); + +private: + required_device m_maincpu; + required_device m_gfxdecode; + + uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); + + void program_map(address_map &map) ATTR_COLD; +}; + + +uint32_t venteta_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) +{ + bitmap.fill(rgb_t::black(), cliprect); + + return 0; +} + + +void venteta_state::program_map(address_map &map) +{ + map(0x0000, 0xffff).rom(); +} + + +static INPUT_PORTS_START(venteta) + PORT_START("IN0") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_START("IN1") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) +INPUT_PORTS_END + + +static GFXDECODE_START( gfx_venteta ) // TODO + GFXDECODE_ENTRY( "tiles1", 0, gfx_8x8x8_raw, 0, 16 ) // not correct + GFXDECODE_ENTRY( "tiles2", 0, gfx_8x8x8_raw, 0, 16 ) // not correct +GFXDECODE_END + + +void venteta_state::venteta(machine_config &config) +{ + ATMEGA168(config, m_maincpu, 24_MHz_XTAL); // TODO: actually ATMEGA103 + m_maincpu->set_addrmap(AS_PROGRAM, &venteta_state::program_map); + m_maincpu->set_eeprom_tag("eeprom"); + + // TODO: everything + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_refresh_hz(60); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); + screen.set_size(64*8, 32*8); + screen.set_visarea(0*8, 64*8-1, 2*8, 30*8-1); + screen.set_screen_update(FUNC(venteta_state::screen_update)); + + GFXDECODE(config, m_gfxdecode, "palette", gfx_venteta); + + PALETTE(config, "palette").set_entries(0x100); // TODO + + SPEAKER(config, "mono").front_center(); +} + + +ROM_START( venteta ) + ROM_REGION( 0x20000, "maincpu", ROMREGION_ERASE00 ) + ROM_LOAD( "internal_rom.ic22", 0x00000, 0x20000, NO_DUMP ) // size not verified + + ROM_REGION( 0x20000, "psd813f1", ROMREGION_ERASE00 ) + ROM_LOAD( "psd813.ic10", 0x00000, 0x20000, NO_DUMP ) // size not verified + + ROM_REGION( 0x1000, "eeprom", ROMREGION_ERASE00 ) + + ROM_REGION( 0x200000, "tiles1", 0 ) + ROM_LOAD( "27c801.ic1", 0x000000, 0x100000, CRC(2f7a62e7) SHA1(684c6a83f4ed8ce35042826d327627cf493b7654) ) // 1xxxxxxxxxxxxxxxxxxx = 0xFF + ROM_LOAD( "27c801.ic2", 0x100000, 0x100000, CRC(654f70fe) SHA1(0d8dfe5196fee48224f847cd0c7e17c2cd0ecf45) ) // 1xxxxxxxxxxxxxxxxxxx = 0xFF + + ROM_REGION( 0x200000, "tiles2", 0 ) + ROM_LOAD( "27c801.ic11", 0x000000, 0x100000, CRC(c1ad4498) SHA1(a5f9a3bc0af37d43bb8b38cc01c927ca18a4ccb2) ) // 1xxxxxxxxxxxxxxxxxxx = 0xFF + ROM_LOAD( "27c801.ic12", 0x100000, 0x100000, CRC(25fe1d01) SHA1(530f80ed5de836af1876d6a7aec70a0ec3f81d47) ) // 1xxxxxxxxxxxxxxxxxxx = 0xFF +ROM_END + +} // anonymous namespace + + +GAME( 200?, venteta, 0, venteta, venteta, venteta_state, empty_init, ROT0, "Rania", "Venteta", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/vgame.cpp b/src/mame/skeleton/vgame.cpp index c8c5a97d47f6b..8ebb0792329ed 100644 --- a/src/mame/skeleton/vgame.cpp +++ b/src/mame/skeleton/vgame.cpp @@ -171,4 +171,4 @@ void vgame_state::init_hilice() } // anonymous namespace -GAME( 200?, hilice, 0, vgame, hilice, vgame_state, init_hilice, ROT0, "VGame", "Hi Lice (V102FA)", MACHINE_IS_SKELETON ) +GAME( 200?, hilice, 0, vgame, hilice, vgame_state, init_hilice, ROT0, "VGame", "Hi Lice (V102FA)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/vp415.cpp b/src/mame/skeleton/vp415.cpp index 08080108cfe11..4c2d0058a90fe 100644 --- a/src/mame/skeleton/vp415.cpp +++ b/src/mame/skeleton/vp415.cpp @@ -806,4 +806,4 @@ ROM_END } // anonymous namespace -CONS( 1983, vp415, 0, 0, vp415, vp415, vp415_state, empty_init, "Philips", "VP415", MACHINE_IS_SKELETON ) +CONS( 1983, vp415, 0, 0, vp415, vp415, vp415_state, empty_init, "Philips", "VP415", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/webtouchone.cpp b/src/mame/skeleton/webtouchone.cpp index a386e7188d08d..22d643ef98a08 100644 --- a/src/mame/skeleton/webtouchone.cpp +++ b/src/mame/skeleton/webtouchone.cpp @@ -155,4 +155,4 @@ ROM_END // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 1999, wto2840sp, 0, 0, webtouchone, webtouchone, webtouchone_state, empty_init, "Alcatel", "Web Touch One (model 2840, Terra, Spanish)", MACHINE_IS_SKELETON ) +COMP( 1999, wto2840sp, 0, 0, webtouchone, webtouchone, webtouchone_state, empty_init, "Alcatel", "Web Touch One (model 2840, Terra, Spanish)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/whtm68k.cpp b/src/mame/skeleton/whtm68k.cpp index 1a5d28b9ef798..3bc3d1706f527 100644 --- a/src/mame/skeleton/whtm68k.cpp +++ b/src/mame/skeleton/whtm68k.cpp @@ -350,4 +350,4 @@ ROM_END } // anonymous namespace -GAME( 1996, yizhix, 0, yizhix, yizhix, whtm68k_state, empty_init, ROT0, "WHT", "Yizhi Xiangqi", MACHINE_IS_SKELETON ) // 1996 WHT copyright in GFX +GAME( 1996, yizhix, 0, yizhix, yizhix, whtm68k_state, empty_init, ROT0, "WHT", "Yizhi Xiangqi", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // 1996 WHT copyright in GFX diff --git a/src/mame/skeleton/xbase09.cpp b/src/mame/skeleton/xbase09.cpp index 3209edbf71e61..36187377b3c60 100644 --- a/src/mame/skeleton/xbase09.cpp +++ b/src/mame/skeleton/xbase09.cpp @@ -200,4 +200,4 @@ ROM_END } // anonymous namespace -SYST(1997, xbase09, 0, 0, xbase09, xbase09, xbase09_state, empty_init, "JoMoX", "XBase 09 Midi Controlled Analogue Drum Module", MACHINE_IS_SKELETON) +SYST(1997, xbase09, 0, 0, xbase09, xbase09, xbase09_state, empty_init, "JoMoX", "XBase 09 Midi Controlled Analogue Drum Module", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/skeleton/zeebo_qualcomm_adreno130.cpp b/src/mame/skeleton/zeebo_qualcomm_adreno130.cpp index f57185f36bc9c..a0ff1c1afbaaf 100644 --- a/src/mame/skeleton/zeebo_qualcomm_adreno130.cpp +++ b/src/mame/skeleton/zeebo_qualcomm_adreno130.cpp @@ -144,4 +144,4 @@ ROM_END } // anonymous namespace -CONS( 2009, zeebo, 0, 0, zeebo, zeebo, zeebo_game_state, empty_init, "Zeebo Inc.", "Zeebo (Brazil)", MACHINE_IS_SKELETON ) +CONS( 2009, zeebo, 0, 0, zeebo, zeebo, zeebo_game_state, empty_init, "Zeebo Inc.", "Zeebo (Brazil)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/zfirenze.cpp b/src/mame/skeleton/zfirenze.cpp index 2bf0fe1fff206..c998d4bd8aedf 100644 --- a/src/mame/skeleton/zfirenze.cpp +++ b/src/mame/skeleton/zfirenze.cpp @@ -105,4 +105,4 @@ ROM_END // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -SYST( 1995, zfirenze, 0, 0, zfirenze, zfirenze, zfirenze_state, empty_init, "Zanussi / Necta", "Firenze (vending machine)", MACHINE_IS_SKELETON ) +SYST( 1995, zfirenze, 0, 0, zfirenze, zfirenze, zfirenze_state, empty_init, "Zanussi / Necta", "Firenze (vending machine)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/zms8085.cpp b/src/mame/skeleton/zms8085.cpp index 3be5e78db3c46..8809a5cd3cb76 100644 --- a/src/mame/skeleton/zms8085.cpp +++ b/src/mame/skeleton/zms8085.cpp @@ -376,4 +376,4 @@ ROM_END } // anonymous namespace -COMP( 1979, zephyr, 0, 0, zephyr, zephyr, zms8085_state, empty_init, "Zentec", "Zephyr (00-441-01)", MACHINE_IS_SKELETON ) +COMP( 1979, zephyr, 0, 0, zephyr, zephyr, zms8085_state, empty_init, "Zentec", "Zephyr (00-441-01)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/zt8802.cpp b/src/mame/skeleton/zt8802.cpp index d6983771752fe..9e8e5a901574e 100644 --- a/src/mame/skeleton/zt8802.cpp +++ b/src/mame/skeleton/zt8802.cpp @@ -103,4 +103,4 @@ ROM_END } // anonymous namespace -COMP( 1994, zt8802, 0, 0, zt8802, zt8802, zt8802_state, empty_init, "Ziatech", "ZT-8802 SBC", MACHINE_IS_SKELETON ) +COMP( 1994, zt8802, 0, 0, zt8802, zt8802, zt8802_state, empty_init, "Ziatech", "ZT-8802 SBC", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/skeleton/zvenezia.cpp b/src/mame/skeleton/zvenezia.cpp index 50a430a22a21d..6c87ae7dcf9cd 100644 --- a/src/mame/skeleton/zvenezia.cpp +++ b/src/mame/skeleton/zvenezia.cpp @@ -160,5 +160,5 @@ ROM_END // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -SYST( 1995, zvenezia, 0, 0, zvenezia, zvenezia, zvenezia_state, empty_init, "Zanussi / Necta", "Venezia (coffee vending machine)", MACHINE_IS_SKELETON ) -SYST( 1992, zunknecta, 0, 0, zunknecta, zunknecta, zvenezia_state, empty_init, "Zanussi / Necta", "unknown Zanussi / Necta vending machine", MACHINE_IS_SKELETON ) +SYST( 1995, zvenezia, 0, 0, zvenezia, zvenezia, zvenezia_state, empty_init, "Zanussi / Necta", "Venezia (coffee vending machine)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +SYST( 1992, zunknecta, 0, 0, zunknecta, zunknecta, zvenezia_state, empty_init, "Zanussi / Necta", "unknown Zanussi / Necta vending machine", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/snk/hng64.cpp b/src/mame/snk/hng64.cpp index ef01605613e7b..ec7cecd30c8a5 100644 --- a/src/mame/snk/hng64.cpp +++ b/src/mame/snk/hng64.cpp @@ -1244,7 +1244,7 @@ void hng64_state::hng_map(address_map &map) static INPUT_PORTS_START( hng64 ) // base port, for debugging PORT_START("VBLANK") - PORT_BIT( 0xffffffff, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0xffffffff, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("IN0") PORT_DIPNAME( 0x01, 0x01, "IN0" ) diff --git a/src/mame/snk/prehisle.cpp b/src/mame/snk/prehisle.cpp index e3a2ce859adc4..52d402e47fc19 100644 --- a/src/mame/snk/prehisle.cpp +++ b/src/mame/snk/prehisle.cpp @@ -404,7 +404,7 @@ static INPUT_PORTS_START( prehisle ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:7") PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x40, DEF_STR( Yes ) ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) INPUT_PORTS_END /******************************************************************************/ diff --git a/src/mame/snk/snk6502_v.cpp b/src/mame/snk/snk6502_v.cpp index 8dd23ff3d0232..70dd2ac19b6fe 100644 --- a/src/mame/snk/snk6502_v.cpp +++ b/src/mame/snk/snk6502_v.cpp @@ -17,7 +17,6 @@ #define COLOR(gfxn,offs) (m_gfxdecode->gfx(gfxn)->colorbase() + offs) - /*************************************************************************** Convert the color PROMs into a more useable format. @@ -25,6 +24,7 @@ Zarzon has a different PROM layout from the others. ***************************************************************************/ + void snk6502_state::snk6502_palette(palette_device &palette) { uint8_t const *const color_prom = memregion("proms")->base(); @@ -56,7 +56,7 @@ void snk6502_state::snk6502_palette(palette_device &palette) m_palette_val[i] = rgb_t(r, g, b); } - m_backcolor = 0; // background color can be changed by the game + m_backcolor = 0; // background color can be changed by the game for (int i = 0; i < TOTAL_COLORS(0); i++) palette.set_pen_color(COLOR(0, i), m_palette_val[i]); @@ -102,7 +102,6 @@ void snk6502_state::charram_w(offs_t offset, uint8_t data) void snk6502_state::flipscreen_w(uint8_t data) { /* bits 0-2 select background color */ - if (m_backcolor != (data & 7)) { m_backcolor = data & 7; @@ -112,7 +111,6 @@ void snk6502_state::flipscreen_w(uint8_t data) } /* bit 3 selects char bank */ - int bank = (~data & 0x08) >> 3; if (m_charbank != bank) @@ -122,7 +120,6 @@ void snk6502_state::flipscreen_w(uint8_t data) } /* bit 7 flips screen */ - if (flip_screen() != (data & 0x80)) { flip_screen_set(data & 0x80); @@ -228,7 +225,7 @@ void snk6502_state::satansat_palette(palette_device &palette) m_palette_val[i] = rgb_t(r, g, b); } - m_backcolor = 0; // background color can be changed by the game + m_backcolor = 0; // background color can be changed by the game for (int i = 0; i < TOTAL_COLORS(0); i++) palette.set_pen_color(COLOR(0, i), m_palette_val[4 * (i % 4) + (i / 4)]); @@ -245,7 +242,6 @@ void snk6502_state::satansat_palette(palette_device &palette) void snk6502_state::satansat_b002_w(uint8_t data) { /* bit 0 flips screen */ - if (flip_screen() != (data & 0x01)) { flip_screen_set(data & 0x01); @@ -261,7 +257,6 @@ void snk6502_state::satansat_b002_w(uint8_t data) void snk6502_state::satansat_backcolor_w(uint8_t data) { /* bits 0-1 select background color. Other bits unused. */ - if (m_backcolor != (data & 0x03)) { m_backcolor = data & 0x03; diff --git a/src/mame/sony/betacam.cpp b/src/mame/sony/betacam.cpp index c4bd7892b3e73..3dca51f0e5eb7 100644 --- a/src/mame/sony/betacam.cpp +++ b/src/mame/sony/betacam.cpp @@ -137,6 +137,6 @@ ROM_END // YEAR NAME PARENT/COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -SYST(199?, uvw1200, 0, 0, betacam, betacam, betacam_state, empty_init, "Sony", "BETACAM-SP Videocassette Player UVW-1200 RGB", MACHINE_IS_SKELETON) -SYST(199?, uvw1600, 0, 0, betacam, betacam, betacam_state, empty_init, "Sony", "BETACAM-SP Videocassette Player/Recorder UVW-1600 RGB", MACHINE_IS_SKELETON) -SYST(199?, uvw1800, 0, 0, betacam, betacam, betacam_state, empty_init, "Sony", "BETACAM-SP Videocassette Player/Recorder UVW-1800 RGB", MACHINE_IS_SKELETON) +SYST(199?, uvw1200, 0, 0, betacam, betacam, betacam_state, empty_init, "Sony", "BETACAM-SP Videocassette Player UVW-1200 RGB", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(199?, uvw1600, 0, 0, betacam, betacam, betacam_state, empty_init, "Sony", "BETACAM-SP Videocassette Player/Recorder UVW-1600 RGB", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(199?, uvw1800, 0, 0, betacam, betacam, betacam_state, empty_init, "Sony", "BETACAM-SP Videocassette Player/Recorder UVW-1800 RGB", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/sony/bvm.cpp b/src/mame/sony/bvm.cpp index 2197d951f962d..45f5ef10126f6 100644 --- a/src/mame/sony/bvm.cpp +++ b/src/mame/sony/bvm.cpp @@ -91,4 +91,4 @@ ROM_END } // anonymous namespace -SYST(1998, bvm20f1e, 0, 0, bvm, bvm, bvm_state, empty_init, "Sony", "Trinitron Color Video Monitor BVM-20F1E", MACHINE_IS_SKELETON) +SYST(1998, bvm20f1e, 0, 0, bvm, bvm, bvm_state, empty_init, "Sony", "Trinitron Color Video Monitor BVM-20F1E", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/sony/clie_db.cpp b/src/mame/sony/clie_db.cpp index a5ed52821bd46..b29bd5e592a37 100644 --- a/src/mame/sony/clie_db.cpp +++ b/src/mame/sony/clie_db.cpp @@ -83,4 +83,4 @@ ROM_END } // anonymous namespace -SYST( 2002, t650c, 0, 0, t650c, t650c, clie_db_state, empty_init, "Sony", "Clie PEG-T650C", MACHINE_IS_SKELETON ) +SYST( 2002, t650c, 0, 0, t650c, t650c, clie_db_state, empty_init, "Sony", "Clie PEG-T650C", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/sony/dpsv55.cpp b/src/mame/sony/dpsv55.cpp index 89033ccc70ae2..b32e36b7a75fc 100644 --- a/src/mame/sony/dpsv55.cpp +++ b/src/mame/sony/dpsv55.cpp @@ -137,4 +137,4 @@ ROM_END } // anonymous namespace -SYST(1998, dpsv55, 0, 0, dpsv55, dpsv55, dpsv55_state, empty_init, "Sony", "DPS-V55 Multi-Effect Processor", MACHINE_IS_SKELETON) +SYST(1998, dpsv55, 0, 0, dpsv55, dpsv55, dpsv55_state, empty_init, "Sony", "DPS-V55 Multi-Effect Processor", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/sony/librie.cpp b/src/mame/sony/librie.cpp index 39fc9d2ba5dc6..dc3ff70e951a9 100644 --- a/src/mame/sony/librie.cpp +++ b/src/mame/sony/librie.cpp @@ -121,4 +121,4 @@ ROM_END } // anonymous namespace -SYST( 2004, librie, 0, 0, ebx5003, ebx5003, librie_state, empty_init, "Sony", "Librie EBR 1000", MACHINE_IS_SKELETON ) +SYST( 2004, librie, 0, 0, ebx5003, ebx5003, librie_state, empty_init, "Sony", "Librie EBR 1000", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/sony/news_38xx.cpp b/src/mame/sony/news_38xx.cpp index 9f921bc914375..81fee6324dfaa 100644 --- a/src/mame/sony/news_38xx.cpp +++ b/src/mame/sony/news_38xx.cpp @@ -471,4 +471,4 @@ INPUT_PORTS_END /* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */ -COMP(1989, nws3860, 0, 0, nws3860, nws3860, news_38xx_state, init_common, "Sony", "NWS-3860", MACHINE_IS_SKELETON) +COMP(1989, nws3860, 0, 0, nws3860, nws3860, news_38xx_state, init_common, "Sony", "NWS-3860", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/sony/ps2sony.cpp b/src/mame/sony/ps2sony.cpp index 21d1e122ab485..634e72ec40fc8 100644 --- a/src/mame/sony/ps2sony.cpp +++ b/src/mame/sony/ps2sony.cpp @@ -928,4 +928,4 @@ ROM_END } // anonymous namespace -CONS( 2000, ps2, 0, 0, ps2sony, ps2sony, ps2sony_state, empty_init, "Sony", "PlayStation 2", MACHINE_IS_SKELETON ) +CONS( 2000, ps2, 0, 0, ps2sony, ps2sony, ps2sony_state, empty_init, "Sony", "PlayStation 2", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/sony/umatic.cpp b/src/mame/sony/umatic.cpp index 858212c0a9e21..b6943c9e33dfa 100644 --- a/src/mame/sony/umatic.cpp +++ b/src/mame/sony/umatic.cpp @@ -95,4 +95,4 @@ ROM_END // YEAR NAME PARENT/COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -SYST(19??, vo5850pm, 0, 0, umatic, umatic, umatic_state, empty_init, "Sony", "U-Matic Videocassette Recorder VO-5850PM", MACHINE_IS_SKELETON) +SYST(19??, vo5850pm, 0, 0, umatic, umatic, umatic_state, empty_init, "Sony", "U-Matic Videocassette Recorder VO-5850PM", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/stern/astinvad.cpp b/src/mame/stern/astinvad.cpp index d9bf189849d98..9e432a6b965a1 100644 --- a/src/mame/stern/astinvad.cpp +++ b/src/mame/stern/astinvad.cpp @@ -560,7 +560,7 @@ static INPUT_PORTS_START( kamikaze ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_COCKTAIL PORT_START("IN2") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0xfe, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_START("CABINET") diff --git a/src/mame/stm/stmpc.cpp b/src/mame/stm/stmpc.cpp index b110fa5cdf228..7ada11da6cb58 100644 --- a/src/mame/stm/stmpc.cpp +++ b/src/mame/stm/stmpc.cpp @@ -225,5 +225,5 @@ ROM_END //************************************************************************** // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 1984, stmpc, 0, 0, stmpc, stmpc, stmpc_state, empty_init, "STM Electronics", "STM PC", MACHINE_IS_SKELETON ) -COMP( 1984, stmpcp, stmpc, 0, stmpc, stmpc, stmpc_state, empty_init, "STM Electronics", "STM PC (prototype?)", MACHINE_IS_SKELETON ) +COMP( 1984, stmpc, 0, 0, stmpc, stmpc, stmpc_state, empty_init, "STM Electronics", "STM PC", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 1984, stmpcp, stmpc, 0, stmpc, stmpc, stmpc_state, empty_init, "STM Electronics", "STM PC (prototype?)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/subsino/subsino2.cpp b/src/mame/subsino/subsino2.cpp index 3535f6976dcf9..b28ee4f41822d 100644 --- a/src/mame/subsino/subsino2.cpp +++ b/src/mame/subsino/subsino2.cpp @@ -1689,6 +1689,17 @@ static INPUT_PORTS_START( queenbee ) PORT_DIPSETTING( 0x00, "Fruit Holders" ) INPUT_PORTS_END +/*************************************************************************** + Queen Bee Bingo +***************************************************************************/ + +static INPUT_PORTS_START( qbeebing ) + PORT_INCLUDE( humlan ) + + PORT_MODIFY("IN-A") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) PORT_NAME("Change") +INPUT_PORTS_END + /*************************************************************************** Express Card / Top Card ***************************************************************************/ @@ -4017,6 +4028,6 @@ GAME( 2002, xreel, queenbee, humlan, humlan, subsino2_state, empty_ini GAME( 2002, squeenb, 0, humlan, humlan, subsino2_state, empty_init, ROT0, "Subsino", "Super Queen Bee (Ver. 101)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // severe timing issues -GAME( 2003, qbeebing, 0, humlan, humlan, subsino2_state, empty_init, ROT0, "Subsino", "Queen Bee Bingo", MACHINE_NOT_WORKING | MACHINE_NO_SOUND | MACHINE_IMPERFECT_GRAPHICS ) +GAME( 2003, qbeebing, 0, humlan, qbeebing, subsino2_state, empty_init, ROT0, "Subsino", "Queen Bee Bingo", MACHINE_NOT_WORKING | MACHINE_NO_SOUND | MACHINE_IMPERFECT_GRAPHICS ) GAME( 200?, treamary, 0, bishjan, bishjan, subsino2_state, empty_init, ROT0, "Subsino", "Treasure Mary", MACHINE_NOT_WORKING | MACHINE_NO_SOUND | MACHINE_IMPERFECT_GRAPHICS ) diff --git a/src/mame/msx/big10.cpp b/src/mame/success/big10.cpp similarity index 100% rename from src/mame/msx/big10.cpp rename to src/mame/success/big10.cpp diff --git a/src/mame/misc/kurukuru.cpp b/src/mame/success/kurukuru.cpp similarity index 99% rename from src/mame/misc/kurukuru.cpp rename to src/mame/success/kurukuru.cpp index 40a2a3e2b52fa..104f75201767c 100644 --- a/src/mame/misc/kurukuru.cpp +++ b/src/mame/success/kurukuru.cpp @@ -17,7 +17,7 @@ Pyon Pyon series: - ぴょんぴょん (Pyon Pyon), 1988 Success / Taiyo Jidoki. + ぴょんぴょん (Pyon Pyon), 1988 Success / Taiyo Jidoki. くるくるぴょんぴょん (Kuru Kuru Pyon Pyon), 1990 Success / Taiyo Jidoki. ぴょんぴょんジャンプ (Pyon Pyon Jump), 1991 Success / Taiyo Jidoki. スイスイぴょんぴょん (Sui Sui Pyon Pyon), 1992 Success / Taiyo Jidoki. diff --git a/src/mame/misc/othello.cpp b/src/mame/success/othello.cpp similarity index 100% rename from src/mame/misc/othello.cpp rename to src/mame/success/othello.cpp diff --git a/src/mame/misc/skopro.cpp b/src/mame/success/skopro.cpp similarity index 95% rename from src/mame/misc/skopro.cpp rename to src/mame/success/skopro.cpp index 53746e36b95aa..a540e349d9861 100644 --- a/src/mame/misc/skopro.cpp +++ b/src/mame/success/skopro.cpp @@ -80,4 +80,4 @@ ROM_END } // anonymous namespace -GAME( 2008, drgdance, 0, skopro, skopro, skopro_state, empty_init, ROT0, "Success", "Dragon Dance (V1.02J)", MACHINE_IS_SKELETON ) +GAME( 2008, drgdance, 0, skopro, skopro, skopro_state, empty_init, ROT0, "Success", "Dragon Dance (V1.02J)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/misc/sothello.cpp b/src/mame/success/sothello.cpp similarity index 100% rename from src/mame/misc/sothello.cpp rename to src/mame/success/sothello.cpp diff --git a/src/mame/sunelectronics/tonton.cpp b/src/mame/success/tonton.cpp similarity index 95% rename from src/mame/sunelectronics/tonton.cpp rename to src/mame/success/tonton.cpp index 5c23e13c54a99..0527a3298ad68 100644 --- a/src/mame/sunelectronics/tonton.cpp +++ b/src/mame/success/tonton.cpp @@ -24,11 +24,13 @@ ***************************************************************************/ #include "emu.h" + #include "cpu/z80/z80.h" #include "machine/nvram.h" #include "machine/ticket.h" #include "sound/ay8910.h" #include "video/v9938.h" + #include "speaker.h" @@ -37,8 +39,8 @@ namespace { class tonton_state : public driver_device { public: - tonton_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag), + tonton_state(const machine_config &mconfig, device_type type, const char *tag) : + driver_device(mconfig, type, tag), m_v9938(*this, "v9938"), m_maincpu(*this, "maincpu"), m_hopper(*this, "hopper") @@ -135,7 +137,7 @@ static INPUT_PORTS_START( tonton ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_A) PORT_NAME("Unknown A") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("hopper", FUNC(ticket_dispenser_device::line_r)) // hopper feedback + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("hopper", FUNC(ticket_dispenser_device::line_r)) // hopper feedback PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) PORT_START("DSW1") @@ -213,7 +215,7 @@ void tonton_state::ay_bout_w(uint8_t data) void tonton_state::tonton(machine_config &config) { // basic machine hardware - Z80(config, m_maincpu, CPU_CLOCK); // Guess. According to other MSX2 based gambling games + Z80(config, m_maincpu, CPU_CLOCK); // Guess. According to other MSX2 based gambling games m_maincpu->set_addrmap(AS_PROGRAM, &tonton_state::tonton_map); m_maincpu->set_addrmap(AS_IO, &tonton_state::tonton_io); @@ -230,7 +232,7 @@ void tonton_state::tonton(machine_config &config) // sound hardware SPEAKER(config, "mono").front_center(); - ym2149_device &aysnd(YM2149(config, "aysnd", YM2149_CLOCK)); // Guess. According to other MSX2 based gambling games + ym2149_device &aysnd(YM2149(config, "aysnd", YM2149_CLOCK)); // Guess. According to other MSX2 based gambling games /* AY8910: Port A out: FF AY8910: Port B out: FF @@ -239,8 +241,8 @@ void tonton_state::tonton(machine_config &config) AY8910: Port A out: 00 AY8910: Port B out: 00 */ - aysnd.port_a_write_callback().set(FUNC(tonton_state::ay_aout_w)); // Write all bits twice, and then reset them at boot - aysnd.port_b_write_callback().set(FUNC(tonton_state::ay_bout_w)); // Write all bits twice, and then reset them at boot + aysnd.port_a_write_callback().set(FUNC(tonton_state::ay_aout_w)); // Write all bits twice, and then reset them at boot + aysnd.port_b_write_callback().set(FUNC(tonton_state::ay_bout_w)); // Write all bits twice, and then reset them at boot aysnd.add_route(ALL_OUTPUTS, "mono", 0.70); } diff --git a/src/mame/sun/ultra45.cpp b/src/mame/sun/ultra45.cpp index 0cde9aac18d9b..c7a604dea4f78 100644 --- a/src/mame/sun/ultra45.cpp +++ b/src/mame/sun/ultra45.cpp @@ -80,4 +80,4 @@ ROM_END } // anonymous namespace // YEAR, NAME, PARENT, COMPAT, MACHINE, INPUT, CLASS, INIT, COMPANY, FULLNAME, FLAGS -COMP( 1996, ultra45, 0, 0, ultra45, ultra45, ultra45_state, empty_init, "Sun Microsystems", "Ultra 45", MACHINE_IS_SKELETON ) +COMP( 1996, ultra45, 0, 0, ultra45, ultra45, ultra45_state, empty_init, "Sun Microsystems", "Ultra 45", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/suna/suna8.cpp b/src/mame/suna/suna8.cpp index 59b5ab4691d15..3571f275cd4b6 100644 --- a/src/mame/suna/suna8.cpp +++ b/src/mame/suna/suna8.cpp @@ -1701,7 +1701,7 @@ static INPUT_PORTS_START( hardhea2 ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) INPUT_PORTS_END @@ -1777,7 +1777,7 @@ static INPUT_PORTS_START( starfigh ) PORT_CONFSETTING( 0x00, "Blue" ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") // 0 = skip color cycling (red) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // 0 = skip color cycling (red) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) // read in protection check, see code at 787 INPUT_PORTS_END @@ -1908,23 +1908,20 @@ GFXDECODE_END void suna8_state::hardhead(machine_config &config) { // basic machine hardware - Z80(config, m_maincpu, XTAL(24'000'000) / 4); // verified on pcb + Z80(config, m_maincpu, 24_MHz_XTAL / 4); // verified on pcb m_maincpu->set_addrmap(AS_PROGRAM, &suna8_state::hardhead_map); m_maincpu->set_addrmap(AS_IO, &suna8_state::hardhead_io_map); m_maincpu->set_addrmap(AS_OPCODES, &suna8_state::decrypted_opcodes_map); m_maincpu->set_vblank_int("screen", FUNC(suna8_state::irq0_line_hold)); // No NMI - Z80(config, m_audiocpu, XTAL(24'000'000) / 8); // verified on pcb + Z80(config, m_audiocpu, 24_MHz_XTAL / 8); // verified on pcb m_audiocpu->set_addrmap(AS_PROGRAM, &suna8_state::hardhead_sound_map); m_audiocpu->set_addrmap(AS_IO, &suna8_state::hardhead_sound_io_map); m_audiocpu->set_periodic_int(FUNC(suna8_state::irq0_line_hold), attotime::from_hz(4*60)); // No NMI // video hardware SCREEN(config, m_screen, SCREEN_TYPE_RASTER); - m_screen->set_refresh_hz(59.10); // verified on pcb - m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0)); - m_screen->set_size(256, 256); - m_screen->set_visarea(0, 256-1, 0+16, 256-16-1); + m_screen->set_raw(24_MHz_XTAL / 4, 384, 0, 256, 264, 16, 240); // parameters assumed; 59.10 Hz refresh verified on pcb m_screen->set_screen_update(FUNC(suna8_state::screen_update)); m_screen->set_palette(m_palette); @@ -1940,9 +1937,9 @@ void suna8_state::hardhead(machine_config &config) GENERIC_LATCH_8(config, m_soundlatch); GENERIC_LATCH_8(config, m_soundlatch2); - YM3812(config, "ymsnd", XTAL(24'000'000) / 8).add_route(ALL_OUTPUTS, "speaker", 1.0); // clock verified on pcb + YM3812(config, "ymsnd", 24_MHz_XTAL / 8).add_route(ALL_OUTPUTS, "speaker", 1.0); // clock verified on pcb - ay8910_device &aysnd(AY8910(config, "aysnd", XTAL(24'000'000) / 16)); // clock verified on pcb + ay8910_device &aysnd(AY8910(config, "aysnd", 24_MHz_XTAL / 16)); // clock verified on pcb aysnd.port_a_write_callback().set(FUNC(suna8_state::play_samples_w)); aysnd.port_b_write_callback().set(FUNC(suna8_state::samples_number_w)); aysnd.add_route(ALL_OUTPUTS, "speaker", 0.3); @@ -1964,12 +1961,12 @@ void suna8_state::hardhead(machine_config &config) void suna8_state::rranger(machine_config &config) { // basic machine hardware - Z80(config, m_maincpu, XTAL(24'000'000) / 4); // ? + Z80(config, m_maincpu, 24_MHz_XTAL / 4); // ? m_maincpu->set_addrmap(AS_PROGRAM, &suna8_state::rranger_map); m_maincpu->set_addrmap(AS_IO, &suna8_state::rranger_io_map); m_maincpu->set_vblank_int("screen", FUNC(suna8_state::irq0_line_hold)); // IRQ & NMI ! - Z80(config, m_audiocpu, XTAL(24'000'000) / 8); // clock verified on pcb + Z80(config, m_audiocpu, 24_MHz_XTAL / 8); // clock verified on pcb m_audiocpu->set_addrmap(AS_PROGRAM, &suna8_state::rranger_sound_map); m_audiocpu->set_periodic_int(FUNC(suna8_state::irq0_line_hold), attotime::from_hz(4*60)); // NMI = retn @@ -1977,10 +1974,7 @@ void suna8_state::rranger(machine_config &config) // video hardware SCREEN(config, m_screen, SCREEN_TYPE_RASTER); - m_screen->set_refresh_hz(59.1); - m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0)); - m_screen->set_size(256, 256); - m_screen->set_visarea(0, 256-1, 0+16, 256-16-1); + m_screen->set_raw(24_MHz_XTAL / 4, 384, 0, 256, 264, 16, 240); // parameters assumed m_screen->set_screen_update(FUNC(suna8_state::screen_update)); m_screen->set_palette(m_palette); @@ -1996,12 +1990,12 @@ void suna8_state::rranger(machine_config &config) GENERIC_LATCH_8(config, m_soundlatch); GENERIC_LATCH_8(config, m_soundlatch2); - ym2203_device &ym1(YM2203(config, "ym1", XTAL(24'000'000) / 16)); // verified on pcb + ym2203_device &ym1(YM2203(config, "ym1", 24_MHz_XTAL / 16)); // verified on pcb ym1.port_a_write_callback().set(FUNC(suna8_state::rranger_play_samples_w)); ym1.port_b_write_callback().set(FUNC(suna8_state::samples_number_w)); ym1.add_route(ALL_OUTPUTS, "speaker", 0.9); - YM2203(config, "ym2", XTAL(24'000'000) / 16).add_route(ALL_OUTPUTS, "speaker", 0.9); // verified on pcb + YM2203(config, "ym2", 24_MHz_XTAL / 16).add_route(ALL_OUTPUTS, "speaker", 0.9); // verified on pcb SAMPLES(config, m_samples); m_samples->set_channels(1); @@ -2029,14 +2023,14 @@ MACHINE_RESET_MEMBER(suna8_state,brickzn) void suna8_state::brickzn11(machine_config &config) { // basic machine hardware - Z80(config, m_maincpu, XTAL(24'000'000) / 4); // SUNA PROTECTION BLOCK + Z80(config, m_maincpu, 24_MHz_XTAL / 4); // SUNA PROTECTION BLOCK m_maincpu->set_addrmap(AS_PROGRAM, &suna8_state::brickzn11_map); m_maincpu->set_vblank_int("screen", FUNC(suna8_state::irq0_line_hold)); // nmi breaks ramtest but is needed! - Z80(config, m_audiocpu, XTAL(24'000'000) / 4); // Z0840006PSC - 6MHz (measured) + Z80(config, m_audiocpu, 24_MHz_XTAL / 4); // Z0840006PSC - 6MHz (measured) m_audiocpu->set_addrmap(AS_PROGRAM, &suna8_state::brickzn_sound_map); - z80_device &pcm(Z80(config, "pcm", XTAL(24'000'000) / 4)); // Z0840006PSC - 6MHz (measured) + z80_device &pcm(Z80(config, "pcm", 24_MHz_XTAL / 4)); // Z0840006PSC - 6MHz (measured) pcm.set_addrmap(AS_PROGRAM, &suna8_state::brickzn_pcm_map); pcm.set_addrmap(AS_IO, &suna8_state::brickzn_pcm_io_map); @@ -2044,10 +2038,7 @@ void suna8_state::brickzn11(machine_config &config) // video hardware SCREEN(config, m_screen, SCREEN_TYPE_RASTER); - m_screen->set_refresh_hz(60); - m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500)); // not accurate, we're using PORT_VBLANK - m_screen->set_size(256, 256); - m_screen->set_visarea(0, 256-1, 0+16, 256-16-1); + m_screen->set_raw(24_MHz_XTAL / 4, 384, 0, 256, 264, 16, 240); // parameters assumed m_screen->set_screen_update(FUNC(suna8_state::screen_update)); m_screen->set_palette(m_palette); @@ -2063,11 +2054,11 @@ void suna8_state::brickzn11(machine_config &config) GENERIC_LATCH_8(config, m_soundlatch); GENERIC_LATCH_8(config, m_soundlatch2); - ym3812_device &ymsnd(YM3812(config, "ymsnd", XTAL(24'000'000) / 8)); // 3MHz (measured) + ym3812_device &ymsnd(YM3812(config, "ymsnd", 24_MHz_XTAL / 8)); // 3MHz (measured) ymsnd.irq_handler().set_inputline("audiocpu", 0); ymsnd.add_route(ALL_OUTPUTS, "speaker", 1.0); - AY8910(config, "aysnd", XTAL(24'000'000) / 16).add_route(ALL_OUTPUTS, "speaker", 0.33); // 1.5MHz (measured) + AY8910(config, "aysnd", 24_MHz_XTAL / 16).add_route(ALL_OUTPUTS, "speaker", 0.33); // 1.5MHz (measured) DAC_4BIT_R2R(config, "ldac", 0).add_route(ALL_OUTPUTS, "speaker", 0.17); // unknown DAC DAC_4BIT_R2R(config, "rdac", 0).add_route(ALL_OUTPUTS, "speaker", 0.17); // unknown DAC @@ -2108,7 +2099,7 @@ MACHINE_RESET_MEMBER(suna8_state,hardhea2) void suna8_state::hardhea2(machine_config &config) { brickzn(config); - Z80(config.replace(), m_maincpu, XTAL(24'000'000) / 4); // SUNA T568009 + Z80(config.replace(), m_maincpu, 24_MHz_XTAL / 4); // SUNA T568009 m_maincpu->set_addrmap(AS_PROGRAM, &suna8_state::hardhea2_map); m_maincpu->set_addrmap(AS_OPCODES, &suna8_state::decrypted_opcodes_map); TIMER(config, "scantimer").configure_scanline(FUNC(suna8_state::hardhea2_interrupt), "screen", 0, 1); @@ -2122,7 +2113,7 @@ void suna8_state::hardhea2(machine_config &config) void suna8_state::hardhea2b(machine_config &config) { hardhea2(config); - Z80(config.replace(), m_maincpu, XTAL(24'000'000) / 4); //bootleg clock not verified (?) + Z80(config.replace(), m_maincpu, 24_MHz_XTAL / 4); //bootleg clock not verified (?) m_maincpu->set_addrmap(AS_PROGRAM, &suna8_state::hardhea2b_map); m_maincpu->set_addrmap(AS_OPCODES, &suna8_state::hardhea2b_decrypted_opcodes_map); } @@ -2135,23 +2126,20 @@ void suna8_state::hardhea2b(machine_config &config) void suna8_state::starfigh(machine_config &config) { // basic machine hardware - Z80(config, m_maincpu, XTAL(24'000'000) / 4); // ? + Z80(config, m_maincpu, 24_MHz_XTAL / 4); // ? m_maincpu->set_addrmap(AS_PROGRAM, &suna8_state::starfigh_map); m_maincpu->set_addrmap(AS_OPCODES, &suna8_state::decrypted_opcodes_map); TIMER(config, "scantimer").configure_scanline(FUNC(suna8_state::hardhea2_interrupt), "screen", 0, 1); // The sound section is identical to that of hardhead - Z80(config, m_audiocpu, XTAL(24'000'000) / 4); // ? + Z80(config, m_audiocpu, 24_MHz_XTAL / 4); // ? m_audiocpu->set_addrmap(AS_PROGRAM, &suna8_state::hardhead_sound_map); m_audiocpu->set_addrmap(AS_IO, &suna8_state::hardhead_sound_io_map); m_audiocpu->set_periodic_int(FUNC(suna8_state::irq0_line_hold), attotime::from_hz(4*60)); // No NMI // video hardware SCREEN(config, m_screen, SCREEN_TYPE_RASTER); - m_screen->set_refresh_hz(60); - m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500)); // not accurate - m_screen->set_size(256, 256); - m_screen->set_visarea(0, 256-1, 0+16, 256-16-1); + m_screen->set_raw(24_MHz_XTAL / 4, 384, 0, 256, 264, 16, 240); // parameters assumed m_screen->set_screen_update(FUNC(suna8_state::screen_update)); m_screen->set_palette(m_palette); @@ -2167,9 +2155,9 @@ void suna8_state::starfigh(machine_config &config) GENERIC_LATCH_8(config, m_soundlatch); GENERIC_LATCH_8(config, m_soundlatch2); - YM3812(config, "ymsnd", XTAL(24'000'000) / 8).add_route(ALL_OUTPUTS, "speaker", 1.0); + YM3812(config, "ymsnd", 24_MHz_XTAL / 8).add_route(ALL_OUTPUTS, "speaker", 1.0); - ay8910_device &aysnd(AY8910(config, "aysnd", XTAL(24'000'000) / 16)); + ay8910_device &aysnd(AY8910(config, "aysnd", 24_MHz_XTAL / 16)); aysnd.port_a_write_callback().set(FUNC(suna8_state::play_samples_w)); aysnd.port_b_write_callback().set(FUNC(suna8_state::samples_number_w)); aysnd.add_route(ALL_OUTPUTS, "speaker", 0.5); @@ -2188,22 +2176,19 @@ void suna8_state::starfigh(machine_config &config) void suna8_state::sparkman(machine_config &config) { // basic machine hardware - Z80(config, m_maincpu, XTAL(24'000'000) / 4); // ? + Z80(config, m_maincpu, 24_MHz_XTAL / 4); // ? m_maincpu->set_addrmap(AS_PROGRAM, &suna8_state::sparkman_map); m_maincpu->set_addrmap(AS_OPCODES, &suna8_state::decrypted_opcodes_map); TIMER(config, "scantimer").configure_scanline(FUNC(suna8_state::hardhea2_interrupt), "screen", 0, 1); - Z80(config, m_audiocpu, XTAL(24'000'000) / 4); // ? + Z80(config, m_audiocpu, 24_MHz_XTAL / 4); // ? m_audiocpu->set_addrmap(AS_PROGRAM, &suna8_state::hardhead_sound_map); m_audiocpu->set_addrmap(AS_IO, &suna8_state::hardhead_sound_io_map); m_audiocpu->set_periodic_int(FUNC(suna8_state::irq0_line_hold), attotime::from_hz(4*60)); // No NMI // video hardware SCREEN(config, m_screen, SCREEN_TYPE_RASTER); - m_screen->set_refresh_hz(60); - m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0)); - m_screen->set_size(256, 256); - m_screen->set_visarea(0, 256-1, 0+16, 256-16-1); + m_screen->set_raw(24_MHz_XTAL / 4, 384, 0, 256, 264, 16, 240); // parameters assumed m_screen->set_screen_update(FUNC(suna8_state::screen_update)); m_screen->set_palette(m_palette); @@ -2219,9 +2204,9 @@ void suna8_state::sparkman(machine_config &config) GENERIC_LATCH_8(config, m_soundlatch); GENERIC_LATCH_8(config, m_soundlatch2); - YM3812(config, "ymsnd", XTAL(24'000'000) / 8).add_route(ALL_OUTPUTS, "speaker", 1.0); + YM3812(config, "ymsnd", 24_MHz_XTAL / 8).add_route(ALL_OUTPUTS, "speaker", 1.0); - ay8910_device &aysnd(AY8910(config, "aysnd", XTAL(24'000'000) / 16)); + ay8910_device &aysnd(AY8910(config, "aysnd", 24_MHz_XTAL / 16)); aysnd.port_a_write_callback().set(FUNC(suna8_state::play_samples_w)); // two sample roms aysnd.port_b_write_callback().set(FUNC(suna8_state::samples_number_w)); aysnd.add_route(ALL_OUTPUTS, "speaker", 0.3); diff --git a/src/mame/sunelectronics/arabian.cpp b/src/mame/sunelectronics/arabian.cpp index db9666e6ce514..6b62f24dd14aa 100644 --- a/src/mame/sunelectronics/arabian.cpp +++ b/src/mame/sunelectronics/arabian.cpp @@ -111,7 +111,7 @@ class arabian_state : public driver_device void mcu_port_r1_w(uint8_t data); void mcu_port_r2_w(uint8_t data); void mcu_port_r3_w(uint8_t data); - uint8_t mcu_portk_r(); + uint8_t mcu_port_k_r(); void mcu_port_o_w(uint8_t data); void mcu_port_p_w(uint8_t data); void blitter_w(offs_t offset, uint8_t data); @@ -517,7 +517,7 @@ void arabian_state::ay8910_portb_w(uint8_t data) bit 0 = coin 1 counter */ - m_mcu->set_input_line(MB88_IRQ_LINE, data & 0x20 ? CLEAR_LINE : ASSERT_LINE); + m_mcu->set_input_line(MB88XX_IRQ_LINE, data & 0x20 ? CLEAR_LINE : ASSERT_LINE); m_mcu->set_input_line(INPUT_LINE_RESET, data & 0x10 ? CLEAR_LINE : ASSERT_LINE); // clock the coin counters @@ -591,7 +591,7 @@ void arabian_state::mcu_port_r3_w(uint8_t data) m_mcu_port_r[3] = data & 0x0f; } -uint8_t arabian_state::mcu_portk_r() +uint8_t arabian_state::mcu_port_k_r() { uint8_t val = 0xf; @@ -619,12 +619,7 @@ uint8_t arabian_state::mcu_portk_r() void arabian_state::mcu_port_o_w(uint8_t data) { - uint8_t out = data & 0x0f; - - if (data & 0x10) - m_mcu_port_o = (m_mcu_port_o & 0x0f) | (out << 4); - else - m_mcu_port_o = (m_mcu_port_o & 0xf0) | out; + m_mcu_port_o = data; } void arabian_state::mcu_port_p_w(uint8_t data) @@ -795,16 +790,16 @@ void arabian_state::arabian(machine_config &config) m_maincpu->set_vblank_int("screen", FUNC(arabian_state::irq0_line_hold)); MB8841(config, m_mcu, MAIN_OSC / 3 / 2); - m_mcu->read_k().set(FUNC(arabian_state::mcu_portk_r)); + m_mcu->read_k().set(FUNC(arabian_state::mcu_port_k_r)); m_mcu->write_o().set(FUNC(arabian_state::mcu_port_o_w)); m_mcu->write_p().set(FUNC(arabian_state::mcu_port_p_w)); m_mcu->read_r<0>().set(FUNC(arabian_state::mcu_port_r0_r)); - m_mcu->write_r<0>().set(FUNC(arabian_state::mcu_port_r0_w)); m_mcu->read_r<1>().set(FUNC(arabian_state::mcu_port_r1_r)); - m_mcu->write_r<1>().set(FUNC(arabian_state::mcu_port_r1_w)); m_mcu->read_r<2>().set(FUNC(arabian_state::mcu_port_r2_r)); - m_mcu->write_r<2>().set(FUNC(arabian_state::mcu_port_r2_w)); m_mcu->read_r<3>().set(FUNC(arabian_state::mcu_port_r3_r)); + m_mcu->write_r<0>().set(FUNC(arabian_state::mcu_port_r0_w)); + m_mcu->write_r<1>().set(FUNC(arabian_state::mcu_port_r1_w)); + m_mcu->write_r<2>().set(FUNC(arabian_state::mcu_port_r2_w)); m_mcu->write_r<3>().set(FUNC(arabian_state::mcu_port_r3_w)); config.set_maximum_quantum(attotime::from_hz(6000)); diff --git a/src/mame/sunelectronics/ikki.cpp b/src/mame/sunelectronics/ikki.cpp index c4387985bd9a7..46b26a24649bd 100644 --- a/src/mame/sunelectronics/ikki.cpp +++ b/src/mame/sunelectronics/ikki.cpp @@ -488,8 +488,6 @@ TIMER_DEVICE_CALLBACK_MEMBER(ikki_state::irq) } - - void ikki_state::ikki(machine_config &config) { constexpr XTAL MASTER_CLOCK = 20_MHz_XTAL; diff --git a/src/mame/sunelectronics/kangaroo.cpp b/src/mame/sunelectronics/kangaroo.cpp index b7b714f273619..0f8897e20b060 100644 --- a/src/mame/sunelectronics/kangaroo.cpp +++ b/src/mame/sunelectronics/kangaroo.cpp @@ -150,9 +150,9 @@ To enter test mode in Funky Fish, keep the service coin pressed while resetting - TODO: - - There is a custom MB8841 microcontroller on the original Kangaroo board which - is not emulated. This MIGHT cause some problems, but we don't know of any. + Not counting the boot NMI trigger, apparently the only thing Kangaroo's + protection MCU does is acting like a timer to determine the intervals + of the big ape enemy appearing. ***************************************************************************/ @@ -170,10 +170,10 @@ namespace { -class kangaroo_state : public driver_device +class kangaroo_base_state : public driver_device { public: - kangaroo_state(const machine_config &mconfig, device_type type, const char *tag) : + kangaroo_base_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), m_maincpu(*this, "maincpu"), m_audiocpu(*this, "audiocpu"), @@ -184,11 +184,12 @@ class kangaroo_state : public driver_device m_blitrom(*this, "blitter") { } - void nomcu(machine_config &config); + void fnkyfish(machine_config &config); + void kangaroob(machine_config &config); protected: virtual void machine_start() override ATTR_COLD; - virtual void machine_reset() override ATTR_COLD; + DECLARE_MACHINE_RESET(kangaroob); virtual void main_map(address_map &map) ATTR_COLD; @@ -216,30 +217,37 @@ class kangaroo_state : public driver_device }; -class kangaroo_mcu_state : public kangaroo_state +class kangaroo_mcu_state : public kangaroo_base_state { public: kangaroo_mcu_state(const machine_config &mconfig, device_type type, const char *tag) : - kangaroo_state(mconfig, type, tag), - m_mcu(*this, "mcu") + kangaroo_base_state(mconfig, type, tag), + m_mcu(*this, "mcu"), + m_protrom(*this, "prot") { } - void mcu(machine_config &config); + void kangaroo(machine_config &config); protected: virtual void machine_start() override ATTR_COLD; - virtual void machine_reset() override ATTR_COLD; virtual void main_map(address_map &map) override ATTR_COLD; private: required_device m_mcu; + required_region_ptr m_protrom; - // MCU simulation (for now) - uint8_t m_mcu_clock = 0U; + uint8_t m_main_data = 0; + uint16_t m_protrom_address = 0; + uint8_t m_mcu_port_r[4] = { }; - uint8_t mcu_sim_r(); - void mcu_sim_w(uint8_t data); + uint8_t mcu_r(); + void mcu_w(uint8_t data); + + uint8_t mcu_port_k_r(); + void mcu_port_o_w(uint8_t data); + template uint8_t mcu_port_r_r(); + template void mcu_port_r_w(uint8_t data); }; @@ -250,7 +258,7 @@ class kangaroo_mcu_state : public kangaroo_state * *************************************/ -void kangaroo_state::videoram_write(uint16_t offset, uint8_t data, uint8_t mask) +void kangaroo_base_state::videoram_write(uint16_t offset, uint8_t data, uint8_t mask) { // data contains 4 2-bit values packed as DCBADCBA; expand these into 4 8-bit values uint32_t expdata = 0; @@ -275,7 +283,7 @@ void kangaroo_state::videoram_write(uint16_t offset, uint8_t data, uint8_t mask) } -void kangaroo_state::videoram_w(offs_t offset, uint8_t data) +void kangaroo_base_state::videoram_w(offs_t offset, uint8_t data) { videoram_write(offset, data, m_video_control[8]); } @@ -288,7 +296,7 @@ void kangaroo_state::videoram_w(offs_t offset, uint8_t data) * *************************************/ -void kangaroo_state::video_control_w(offs_t offset, uint8_t data) +void kangaroo_base_state::video_control_w(offs_t offset, uint8_t data) { m_video_control[offset] = data; @@ -312,7 +320,7 @@ void kangaroo_state::video_control_w(offs_t offset, uint8_t data) * *************************************/ -void kangaroo_state::blitter_execute() +void kangaroo_base_state::blitter_execute() { uint32_t gfxhalfsize = m_blitrom.bytes() / 2; uint16_t src = m_video_control[0] + 256 * m_video_control[1]; @@ -347,7 +355,7 @@ void kangaroo_state::blitter_execute() * *************************************/ -uint32_t kangaroo_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) +uint32_t kangaroo_base_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) { uint8_t scrolly = m_video_control[6]; uint8_t scrollx = m_video_control[7]; @@ -414,7 +422,7 @@ uint32_t kangaroo_state::screen_update(screen_device &screen, bitmap_rgb32 &bitm * *************************************/ -void kangaroo_state::machine_start() +void kangaroo_base_state::machine_start() { m_blitbank->configure_entries(0, 2, memregion("blitter")->base(), 0x2000); } @@ -422,53 +430,77 @@ void kangaroo_state::machine_start() void kangaroo_mcu_state::machine_start() { - kangaroo_state::machine_start(); + kangaroo_base_state::machine_start(); - save_item(NAME(m_mcu_clock)); + save_item(NAME(m_main_data)); + save_item(NAME(m_protrom_address)); + save_item(NAME(m_mcu_port_r)); } - -void kangaroo_state::machine_reset() +MACHINE_RESET_MEMBER(kangaroo_base_state, kangaroob) { - /* I think there is a bug in the startup checks of the game. At the very - beginning, during the RAM check, it goes one byte too far, and ends up - trying to write, and re-read, location dfff. To the best of my knowledge, - that is a ROM address, so the test fails and the code keeps jumping back - at 0000. - - However, a NMI causes a successful reset. Maybe the hardware generates a - NMI shortly after power on, therefore masking the bug? The NMI is generated - by the MB8841 custom microcontroller, so this could be a way to disguise - the copy protection. - - Anyway, what I do here is just immediately generate the NMI, so the game - properly starts. */ + // The MCU triggers an NMI to make the game boot. The bootleg does not have an MCU, + // but still expects an NMI somehow, otherwise it gets stuck at the RAM check. m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } -void kangaroo_mcu_state::machine_reset() -{ - kangaroo_state::machine_reset(); - - m_mcu_clock = 0; -} /************************************* * - * Custom CPU RAM snooping + * Protection MCU * *************************************/ -// The security chip is a MB8841 with 2K internal ROM. Currently it's unknown what it really does, this just seems to do the trick -V- +uint8_t kangaroo_mcu_state::mcu_r() +{ + // data from MCU port R0-R3 + return m_mcu_port_r[0]; +} + +void kangaroo_mcu_state::mcu_w(uint8_t data) +{ + m_main_data = data; +} + -uint8_t kangaroo_mcu_state::mcu_sim_r() +uint8_t kangaroo_mcu_state::mcu_port_k_r() { - return ++m_mcu_clock & 0x0f; + uint8_t data = 0xf; + + // maincpu data with R8 + if (m_mcu_port_r[2] & 1) + data &= m_main_data; + + // ROM data with R12 + if (~m_mcu_port_r[3] & 1) + data &= m_protrom[m_protrom_address]; + + return data; } -void kangaroo_mcu_state::mcu_sim_w(uint8_t data) +void kangaroo_mcu_state::mcu_port_o_w(uint8_t data) { + // ROM address A0-A7 + m_protrom_address = (m_protrom_address & 0x100) | data; +} + +template +uint8_t kangaroo_mcu_state::mcu_port_r_r() +{ + return m_mcu_port_r[N]; +} + +template +void kangaroo_mcu_state::mcu_port_r_w(uint8_t data) +{ + m_mcu_port_r[N] = data; + + // R13: ROM address A8 (A9,A10 to GND) + m_protrom_address = (m_protrom_address & 0xff) | BIT(m_mcu_port_r[3], 1) << 8; + + // R15: trigger NMI on maincpu + m_maincpu->set_input_line(INPUT_LINE_NMI, BIT(m_mcu_port_r[3], 3) ? ASSERT_LINE : CLEAR_LINE); } @@ -479,7 +511,7 @@ void kangaroo_mcu_state::mcu_sim_w(uint8_t data) * *************************************/ -void kangaroo_state::coin_counter_w(uint8_t data) +void kangaroo_base_state::coin_counter_w(uint8_t data) { machine().bookkeeping().coin_counter_w(0, data & 1); machine().bookkeeping().coin_counter_w(1, data & 2); @@ -493,23 +525,23 @@ void kangaroo_state::coin_counter_w(uint8_t data) * *************************************/ -void kangaroo_state::main_map(address_map &map) +void kangaroo_base_state::main_map(address_map &map) { map(0x0000, 0x5fff).rom(); - map(0x8000, 0xbfff).w(FUNC(kangaroo_state::videoram_w)); + map(0x8000, 0xbfff).w(FUNC(kangaroo_base_state::videoram_w)); map(0xc000, 0xdfff).bankr(m_blitbank); map(0xe000, 0xe3ff).ram(); map(0xe400, 0xe400).mirror(0x03ff).portr("DSW0"); - map(0xe800, 0xe80a).mirror(0x03f0).w(FUNC(kangaroo_state::video_control_w)).share(m_video_control); + map(0xe800, 0xe80a).mirror(0x03f0).w(FUNC(kangaroo_base_state::video_control_w)).share(m_video_control); map(0xec00, 0xec00).mirror(0x00ff).portr("IN0").w("soundlatch", FUNC(generic_latch_8_device::write)); - map(0xed00, 0xed00).mirror(0x00ff).portr("IN1").w(FUNC(kangaroo_state::coin_counter_w)); + map(0xed00, 0xed00).mirror(0x00ff).portr("IN1").w(FUNC(kangaroo_base_state::coin_counter_w)); map(0xee00, 0xee00).mirror(0x00ff).portr("IN2"); } void kangaroo_mcu_state::main_map(address_map &map) { - kangaroo_state::main_map(map); - map(0xef00, 0xefff).rw(FUNC(kangaroo_mcu_state::mcu_sim_r), FUNC(kangaroo_mcu_state::mcu_sim_w)); + kangaroo_base_state::main_map(map); + map(0xef00, 0xef00).mirror(0x00ff).rw(FUNC(kangaroo_mcu_state::mcu_r), FUNC(kangaroo_mcu_state::mcu_w)); } @@ -519,7 +551,7 @@ void kangaroo_mcu_state::main_map(address_map &map) * *************************************/ -void kangaroo_state::sound_map(address_map &map) +void kangaroo_base_state::sound_map(address_map &map) { map(0x0000, 0x0fff).rom().region("audiocpu", 0); map(0x4000, 0x43ff).mirror(0x0c00).ram(); @@ -664,23 +696,23 @@ INPUT_PORTS_END * *************************************/ -void kangaroo_state::nomcu(machine_config &config) +void kangaroo_base_state::fnkyfish(machine_config &config) { // basic machine hardware Z80(config, m_maincpu, 10_MHz_XTAL / 4); - m_maincpu->set_addrmap(AS_PROGRAM, &kangaroo_state::main_map); - m_maincpu->set_vblank_int("screen", FUNC(kangaroo_state::irq0_line_hold)); + m_maincpu->set_addrmap(AS_PROGRAM, &kangaroo_base_state::main_map); + m_maincpu->set_vblank_int("screen", FUNC(kangaroo_base_state::irq0_line_hold)); - Z80(config, m_audiocpu, 10_MHz_XTAL / 8); - m_audiocpu->set_addrmap(AS_PROGRAM, &kangaroo_state::sound_map); - m_audiocpu->set_addrmap(AS_IO, &kangaroo_state::sound_map); // yes, this is identical - m_audiocpu->set_vblank_int("screen", FUNC(kangaroo_state::irq0_line_hold)); + Z80(config, m_audiocpu, 10_MHz_XTAL / 4); + m_audiocpu->set_addrmap(AS_PROGRAM, &kangaroo_base_state::sound_map); + m_audiocpu->set_addrmap(AS_IO, &kangaroo_base_state::sound_map); // yes, this is identical + m_audiocpu->set_vblank_int("screen", FUNC(kangaroo_base_state::irq0_line_hold)); // video hardware screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_video_attributes(VIDEO_UPDATE_SCANLINE); screen.set_raw(10_MHz_XTAL, 320*2, 0*2, 256*2, 260, 8, 248); - screen.set_screen_update(FUNC(kangaroo_state::screen_update)); + screen.set_screen_update(FUNC(kangaroo_base_state::screen_update)); PALETTE(config, m_palette, palette_device::BGR_3BIT); @@ -693,14 +725,31 @@ void kangaroo_state::nomcu(machine_config &config) } -void kangaroo_mcu_state::mcu(machine_config &config) +void kangaroo_mcu_state::kangaroo(machine_config &config) { - nomcu(config); + fnkyfish(config); // basic machine hardware - MB8841(config, m_mcu, 10_MHz_XTAL / 4 / 2); + MB8841(config, m_mcu, 10_MHz_XTAL / 4); + m_mcu->read_k().set(FUNC(kangaroo_mcu_state::mcu_port_k_r)); + m_mcu->write_o().set(FUNC(kangaroo_mcu_state::mcu_port_o_w)); + m_mcu->read_r<0>().set(FUNC(kangaroo_mcu_state::mcu_port_r_r<0>)); + m_mcu->read_r<1>().set(FUNC(kangaroo_mcu_state::mcu_port_r_r<1>)); + m_mcu->read_r<2>().set(FUNC(kangaroo_mcu_state::mcu_port_r_r<2>)); + m_mcu->read_r<3>().set(FUNC(kangaroo_mcu_state::mcu_port_r_r<3>)); + m_mcu->write_r<0>().set(FUNC(kangaroo_mcu_state::mcu_port_r_w<0>)); + m_mcu->write_r<1>().set(FUNC(kangaroo_mcu_state::mcu_port_r_w<1>)); + m_mcu->write_r<2>().set(FUNC(kangaroo_mcu_state::mcu_port_r_w<2>)); + m_mcu->write_r<3>().set(FUNC(kangaroo_mcu_state::mcu_port_r_w<3>)); + + config.set_perfect_quantum(m_mcu); } +void kangaroo_base_state::kangaroob(machine_config &config) +{ + fnkyfish(config); + MCFG_MACHINE_RESET_OVERRIDE(kangaroo_base_state, kangaroob) +} /************************************* @@ -742,7 +791,7 @@ ROM_START( kangaroo ) ROM_REGION( 0x0800, "mcu", 0 ) // internal ROM from the 8841 custom MCU ROM_LOAD( "mb8841_477m.ic29", 0x0000, 0x0800, CRC(04ca58ee) SHA1(cc46a268a5d915c313476f44c44f92ed94c2b4a0) ) - ROM_REGION( 0x0800, "user1", 0 ) // data for the 8841 custom MCU + ROM_REGION( 0x0800, "prot", 0 ) // data for the 8841 custom MCU ROM_LOAD( "tvg_82.12", 0x0000, 0x0800, CRC(57766f69) SHA1(94a7a557d8325799523d5e1a88653a9a3fbe34f9) ) // IC28 ROM_REGION( 0x4000, "blitter", 0 ) // On TVG-1-VIDEO-B board @@ -752,7 +801,6 @@ ROM_START( kangaroo ) ROM_LOAD( "tvg_86.v3", 0x3000, 0x1000, CRC(9e6a599f) SHA1(76b4eddb4efcd8189d8cc5962d8497e82885f212) ) // IC53 ROM_END - ROM_START( kangarooa ) ROM_REGION( 0x6000, "maincpu", 0 ) ROM_LOAD( "136008-101.ic7", 0x0000, 0x1000, CRC(0d18c581) SHA1(0e0f89d644b79e887c53e5294783843ca7e875ba) ) @@ -768,7 +816,7 @@ ROM_START( kangarooa ) ROM_REGION( 0x0800, "mcu", 0 ) // internal ROM from the 8841 custom MCU ROM_LOAD( "mb8841_477m.ic29", 0x0000, 0x0800, CRC(04ca58ee) SHA1(cc46a268a5d915c313476f44c44f92ed94c2b4a0) ) - ROM_REGION( 0x0800, "user1", 0 ) // data for the 8841 custom MCU + ROM_REGION( 0x0800, "prot", 0 ) // data for the 8841 custom MCU ROM_LOAD( "136008-112.ic28", 0x0000, 0x0800, CRC(57766f69) SHA1(94a7a557d8325799523d5e1a88653a9a3fbe34f9) ) ROM_REGION( 0x4000, "blitter", 0 ) @@ -778,29 +826,6 @@ ROM_START( kangarooa ) ROM_LOAD( "136008-111.ic53", 0x3000, 0x1000, CRC(9e6a599f) SHA1(76b4eddb4efcd8189d8cc5962d8497e82885f212) ) ROM_END - -ROM_START( kangaroob ) - ROM_REGION( 0x6000, "maincpu", 0 ) - ROM_LOAD( "k1.ic7", 0x0000, 0x1000, CRC(0d18c581) SHA1(0e0f89d644b79e887c53e5294783843ca7e875ba) ) - ROM_LOAD( "k2.ic8", 0x1000, 0x1000, CRC(5978d37a) SHA1(684c1092de4a0927a03752903c86c3bbe99e868a) ) - ROM_LOAD( "k3.ic9", 0x2000, 0x1000, CRC(522d1097) SHA1(09fe627a46d32df2e098d9fad7757f9d61bef41f) ) - ROM_LOAD( "k4.ic10", 0x3000, 0x1000, CRC(063da970) SHA1(582ff21dd46c651f07a4846e0f8a7544a5891988) ) - ROM_LOAD( "k5.ic16", 0x4000, 0x1000, CRC(9e5cf8ca) SHA1(015387f038c5670f88c9b22453d074bd9b2a129d) ) - ROM_LOAD( "k6.ic17", 0x5000, 0x1000, CRC(7644504a) SHA1(7a8a4bd163d2cdf27390ab2ef65fb7fa6fc1a361) ) - - ROM_REGION( 0x10000, "audiocpu", 0 ) - ROM_LOAD( "k7.ic24", 0x0000, 0x1000, CRC(fb449bfd) SHA1(f593a0339f47e121736a927587132aeb52704557) ) - - // MB8841 at IC29 and 2716 at IC28 not populated - - ROM_REGION( 0x4000, "blitter", 0 ) - ROM_LOAD( "k10.ic76", 0x0000, 0x1000, CRC(c0446ca6) SHA1(fca6ba565051337c0198c93b7b8477632e0dd0b6) ) - ROM_LOAD( "k11.ic77", 0x1000, 0x1000, CRC(72c52695) SHA1(87f4715fbb7d509bd9cc4e71e2afb0d475bbac13) ) - ROM_LOAD( "k8.ic52", 0x2000, 0x1000, CRC(e4cb26c2) SHA1(5016db9d48fdcfb757618659d063b90862eb0e90) ) - ROM_LOAD( "k9.ic53", 0x3000, 0x1000, CRC(9e6a599f) SHA1(76b4eddb4efcd8189d8cc5962d8497e82885f212) ) -ROM_END - - ROM_START( kangarool ) // runs on earlier revision TVG-1-CPU-A + TVG-1-VIDEO-A PCBs ROM_REGION( 0x6000, "maincpu", 0 ) // only ic17 differs from the parent ROM_LOAD( "tvg_75.ic7", 0x0000, 0x1000, CRC(0d18c581) SHA1(0e0f89d644b79e887c53e5294783843ca7e875ba) ) @@ -816,7 +841,7 @@ ROM_START( kangarool ) // runs on earlier revision TVG-1-CPU-A + TVG-1-VIDEO-A P ROM_REGION( 0x0800, "mcu", 0 ) // internal ROM from the 8841 custom MCU ROM_LOAD( "mb8841_477m.ic29", 0x0000, 0x0800, CRC(04ca58ee) SHA1(cc46a268a5d915c313476f44c44f92ed94c2b4a0) ) - ROM_REGION( 0x0800, "user1", 0 ) // data for the 8841 custom MCU + ROM_REGION( 0x0800, "prot", 0 ) // data for the 8841 custom MCU ROM_LOAD( "tvg_82.ic28", 0x0000, 0x0800, CRC(57766f69) SHA1(94a7a557d8325799523d5e1a88653a9a3fbe34f9) ) ROM_REGION( 0x4000, "blitter", 0 ) @@ -826,6 +851,27 @@ ROM_START( kangarool ) // runs on earlier revision TVG-1-CPU-A + TVG-1-VIDEO-A P ROM_LOAD( "tvg_86.ic53", 0x3000, 0x1000, CRC(9e6a599f) SHA1(76b4eddb4efcd8189d8cc5962d8497e82885f212) ) ROM_END +ROM_START( kangaroob ) + ROM_REGION( 0x6000, "maincpu", 0 ) + ROM_LOAD( "k1.ic7", 0x0000, 0x1000, CRC(0d18c581) SHA1(0e0f89d644b79e887c53e5294783843ca7e875ba) ) + ROM_LOAD( "k2.ic8", 0x1000, 0x1000, CRC(5978d37a) SHA1(684c1092de4a0927a03752903c86c3bbe99e868a) ) + ROM_LOAD( "k3.ic9", 0x2000, 0x1000, CRC(522d1097) SHA1(09fe627a46d32df2e098d9fad7757f9d61bef41f) ) + ROM_LOAD( "k4.ic10", 0x3000, 0x1000, CRC(063da970) SHA1(582ff21dd46c651f07a4846e0f8a7544a5891988) ) + ROM_LOAD( "k5.ic16", 0x4000, 0x1000, CRC(9e5cf8ca) SHA1(015387f038c5670f88c9b22453d074bd9b2a129d) ) + ROM_LOAD( "k6.ic17", 0x5000, 0x1000, CRC(7644504a) SHA1(7a8a4bd163d2cdf27390ab2ef65fb7fa6fc1a361) ) + + ROM_REGION( 0x10000, "audiocpu", 0 ) + ROM_LOAD( "k7.ic24", 0x0000, 0x1000, CRC(fb449bfd) SHA1(f593a0339f47e121736a927587132aeb52704557) ) + + // MB8841 at IC29 and 2716 at IC28 not populated + + ROM_REGION( 0x4000, "blitter", 0 ) + ROM_LOAD( "k10.ic76", 0x0000, 0x1000, CRC(c0446ca6) SHA1(fca6ba565051337c0198c93b7b8477632e0dd0b6) ) + ROM_LOAD( "k11.ic77", 0x1000, 0x1000, CRC(72c52695) SHA1(87f4715fbb7d509bd9cc4e71e2afb0d475bbac13) ) + ROM_LOAD( "k8.ic52", 0x2000, 0x1000, CRC(e4cb26c2) SHA1(5016db9d48fdcfb757618659d063b90862eb0e90) ) + ROM_LOAD( "k9.ic53", 0x3000, 0x1000, CRC(9e6a599f) SHA1(76b4eddb4efcd8189d8cc5962d8497e82885f212) ) +ROM_END + } // anonymous namespace @@ -835,8 +881,8 @@ ROM_END * *************************************/ -GAME( 1981, fnkyfish, 0, nomcu, fnkyfish, kangaroo_state, empty_init, ROT90, "Sun Electronics", "Funky Fish", MACHINE_SUPPORTS_SAVE ) -GAME( 1982, kangaroo, 0, mcu, kangaroo, kangaroo_mcu_state, empty_init, ROT90, "Sun Electronics", "Kangaroo", MACHINE_SUPPORTS_SAVE ) -GAME( 1982, kangarooa, kangaroo, mcu, kangaroo, kangaroo_mcu_state, empty_init, ROT90, "Sun Electronics (Atari license)", "Kangaroo (Atari)", MACHINE_SUPPORTS_SAVE ) -GAME( 1982, kangaroob, kangaroo, nomcu, kangaroo, kangaroo_state, empty_init, ROT90, "bootleg", "Kangaroo (bootleg)", MACHINE_SUPPORTS_SAVE ) -GAME( 1982, kangarool, kangaroo, mcu, kangaroo, kangaroo_mcu_state, empty_init, ROT90, "Sun Electronics (Loewen-Automaten license)", "Kangaroo (Loewen-Automaten)", MACHINE_SUPPORTS_SAVE ) +GAME( 1981, fnkyfish, 0, fnkyfish, fnkyfish, kangaroo_base_state, empty_init, ROT90, "Sun Electronics", "Funky Fish", MACHINE_SUPPORTS_SAVE ) +GAME( 1982, kangaroo, 0, kangaroo, kangaroo, kangaroo_mcu_state, empty_init, ROT90, "Sun Electronics", "Kangaroo", MACHINE_SUPPORTS_SAVE ) +GAME( 1982, kangarooa, kangaroo, kangaroo, kangaroo, kangaroo_mcu_state, empty_init, ROT90, "Sun Electronics (Atari license)", "Kangaroo (Atari)", MACHINE_SUPPORTS_SAVE ) +GAME( 1982, kangarool, kangaroo, kangaroo, kangaroo, kangaroo_mcu_state, empty_init, ROT90, u8"Sun Electronics (Löwen-Automaten license)", u8"Kangaroo (Löwen-Automaten)", MACHINE_SUPPORTS_SAVE ) +GAME( 1982, kangaroob, kangaroo, kangaroob, kangaroo, kangaroo_base_state, empty_init, ROT90, "bootleg", "Kangaroo (bootleg)", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/sunelectronics/markham.cpp b/src/mame/sunelectronics/markham.cpp index 2736970c84642..e3178dce65d8e 100644 --- a/src/mame/sunelectronics/markham.cpp +++ b/src/mame/sunelectronics/markham.cpp @@ -64,6 +64,7 @@ class markham_state : public driver_device , m_screen(*this, "screen") , m_gfxdecode(*this, "gfxdecode") , m_palette(*this, "palette") + , m_protrom(*this, "prot") , m_spriteram(*this, "spriteram") , m_videoram(*this, "videoram") , m_xscroll(*this, "xscroll") @@ -132,6 +133,7 @@ class markham_state : public driver_device required_device m_palette; /* memory pointers */ + optional_region_ptr m_protrom; required_shared_ptr m_spriteram; required_shared_ptr m_videoram; required_shared_ptr m_xscroll; @@ -370,8 +372,6 @@ TIMER_DEVICE_CALLBACK_MEMBER(markham_state::strnskil_scanline) uint8_t markham_state::banbam_protection_r() { - const uint8_t *prot_rom = (const uint8_t *)memregion("mcu_rom")->base(); - const uint8_t init = m_packet_buffer[0] & 0x0f; uint8_t comm = m_packet_buffer[1] & 0xf0; uint8_t arg = m_packet_buffer[1] & 0x0f; @@ -387,11 +387,11 @@ uint8_t markham_state::banbam_protection_r() { case 0x30: // palette/gfx select - arg = prot_rom[0x799 + (arg * 4)]; + arg = m_protrom[0x799 + (arg * 4)]; break; case 0x40: // palette/gfx select - arg = prot_rom[0x7C5 + (arg * 4)]; + arg = m_protrom[0x7c5 + (arg * 4)]; break; case 0x60: // enemy wave timer trigger @@ -892,16 +892,16 @@ void markham_state::banbam(machine_config &config) m_maincpu->set_addrmap(AS_PROGRAM, &markham_state::banbam_master_map); MB8841(config, m_mcu, CPU_CLOCK/2); /* 4.000MHz */ - // m_mcu->read_k().set(FUNC(markham_state::mcu_portk_r)); + // m_mcu->read_k().set(FUNC(markham_state::mcu_port_k_r)); // m_mcu->write_o().set(FUNC(markham_state::mcu_port_o_w)); // m_mcu->write_p().set(FUNC(markham_state::mcu_port_p_w)); // m_mcu->read_r<0>().set(FUNC(markham_state::mcu_port_r0_r)); - // m_mcu->write_r<0>().set(FUNC(markham_state::mcu_port_r0_w)); // m_mcu->read_r<1>().set(FUNC(markham_state::mcu_port_r1_r)); - // m_mcu->write_r<1>().set(FUNC(markham_state::mcu_port_r1_w)); // m_mcu->read_r<2>().set(FUNC(markham_state::mcu_port_r2_r)); - // m_mcu->write_r<2>().set(FUNC(markham_state::mcu_port_r2_w)); // m_mcu->read_r<3>().set(FUNC(markham_state::mcu_port_r3_r)); + // m_mcu->write_r<0>().set(FUNC(markham_state::mcu_port_r0_w)); + // m_mcu->write_r<1>().set(FUNC(markham_state::mcu_port_r1_w)); + // m_mcu->write_r<2>().set(FUNC(markham_state::mcu_port_r2_w)); // m_mcu->write_r<3>().set(FUNC(markham_state::mcu_port_r3_w)); m_mcu->set_disable(); } @@ -1013,6 +1013,12 @@ ROM_START( banbam ) ROM_REGION( 0x10000, "subcpu", 0 ) /* sub CPU */ ROM_LOAD( "ban-rom1.ic2", 0x0000, 0x2000, CRC(e36009f6) SHA1(72c485e8c19fbfc9c850094cfd87f1055154c0c5) ) + ROM_REGION(0x800, "mcu", 0) /* Fujitsu MB8841 4-Bit MCU internal ROM */ + ROM_LOAD( "sun-8212.ic3", 0x000, 0x800, CRC(8869611e) SHA1(c6443f3bcb0cdb4d7b1b19afcbfe339c300f36aa) ) + + ROM_REGION( 0x2000, "prot", 0 ) /* protection, data used with Fujitsu MB8841 4-Bit MCU */ + ROM_LOAD( "ban-rom12.ic2", 0x0000, 0x2000, CRC(044bb2f6) SHA1(829b2152740061e0506c7504885d8404fb8fe360) ) + ROM_REGION( 0x6000, "gfx1", 0 ) /* sprite */ ROM_LOAD( "ban-rom6.ic90", 0x0000, 0x2000, CRC(41fc44df) SHA1(1c4f21cdc423078fab58370d5245a13292bf7fe6) ) ROM_LOAD( "ban-rom7.ic92", 0x2000, 0x2000, CRC(8b429c5b) SHA1(505796eac2c8dd84f9ed29a6227b3243f81ec072) ) @@ -1032,12 +1038,6 @@ ROM_START( banbam ) ROM_REGION( 0x0100, "scroll_prom", 0 ) /* scroll control PROM */ ROM_LOAD( "16-6.59", 0x0000, 0x0100, CRC(ec4faf5b) SHA1(7ebbf50807d04105ebadec91bded069408e399ba) ) /* Prom type 24s10 */ - - ROM_REGION( 0x2000, "mcu_rom", 0 ) /* protection, data used with Fujitsu MB8841 4-Bit MCU */ - ROM_LOAD( "ban-rom12.ic2", 0x0000, 0x2000, CRC(044bb2f6) SHA1(829b2152740061e0506c7504885d8404fb8fe360) ) - - ROM_REGION(0x800, "mcu", 0) /* Fujitsu MB8841 4-Bit MCU internal ROM */ - ROM_LOAD( "sun-8212.ic3", 0x000, 0x800, CRC(8869611e) SHA1(c6443f3bcb0cdb4d7b1b19afcbfe339c300f36aa) ) ROM_END ROM_START( pettanp ) @@ -1051,6 +1051,12 @@ ROM_START( pettanp ) ROM_REGION( 0x10000, "subcpu", 0 ) /* sub CPU */ ROM_LOAD( "tvg1-16.2", 0x0000, 0x2000, CRC(e36009f6) SHA1(72c485e8c19fbfc9c850094cfd87f1055154c0c5) ) + ROM_REGION(0x800, "mcu", 0) /* Fujitsu MB8841 4-Bit MCU internal ROM */ + ROM_LOAD( "sun-8212.ic3", 0x000, 0x800, NO_DUMP ) // very much likely to be same as banbam and arabian + + ROM_REGION( 0x1000, "prot", 0 ) /* protection data used with Fujitsu MB8841 4-Bit MCU */ + ROM_LOAD( "tvg12-16.2", 0x0000, 0x1000, CRC(3abc6ba8) SHA1(15e0b0f9d068f6094e2be4f4f1dea0ff6e85686b) ) + ROM_REGION( 0x6000, "gfx1", 0 ) /* sprite */ ROM_LOAD( "tvg6-16.90", 0x0000, 0x2000, CRC(6905d9d5) SHA1(586bf72bab5ab6e3e319c925decc16d7f3711af1) ) ROM_LOAD( "tvg7-16.92", 0x2000, 0x2000, CRC(40d02bfd) SHA1(2f6ca8197048318f7900b56169aba4c9fdf48693) ) @@ -1070,12 +1076,6 @@ ROM_START( pettanp ) ROM_REGION( 0x0100, "scroll_prom", 0 ) /* scroll control PROM */ ROM_LOAD( "16-6.59", 0x0000, 0x0100, CRC(ec4faf5b) SHA1(7ebbf50807d04105ebadec91bded069408e399ba) ) /* Prom type 24s10 */ - - ROM_REGION( 0x1000, "mcu_rom", 0 ) /* protection data used with Fujitsu MB8841 4-Bit MCU */ - ROM_LOAD( "tvg12-16.2", 0x0000, 0x1000, CRC(3abc6ba8) SHA1(15e0b0f9d068f6094e2be4f4f1dea0ff6e85686b) ) - - ROM_REGION(0x800, "mcu", 0) /* Fujitsu MB8841 4-Bit MCU internal ROM */ - ROM_LOAD( "sun-8212.ic3", 0x000, 0x800, NO_DUMP ) // very much likely to be same as banbam and arabian ROM_END } // anonymous namespace diff --git a/src/mame/sunelectronics/route16.cpp b/src/mame/sunelectronics/route16.cpp index f5d6f8197bc99..9f3cc9c9fd55a 100644 --- a/src/mame/sunelectronics/route16.cpp +++ b/src/mame/sunelectronics/route16.cpp @@ -4,49 +4,53 @@ Driver by Zsolt Vasvari -Notes ------ +Notes / TODO: +------------- Route 16: - - Route 16 doesn't have the SN76477 chip. There is space on the PCB - but it is not populated. +- Route 16 doesn't have the SN76477 chip. There is space on the PCB + but it is not populated. - - Has the added ability to turn off each bitplane individually. - This looks like an afterthought, as one of the same bits that control - the palette selection is doubly utilized as the bitmap enable bit. +- Has the added ability to turn off each bitplane individually. + This looks like an afterthought, as one of the same bits that control + the palette selection is doubly utilized as the bitmap enable bit. - - New code to better emulate the protection in Route 16 was added in 0.194, - but it turned out to harbour a bug (see MT 07310). Therefore the previous - patches have been restored, and the protection routine has been nullified - but is still there in case someone wants to revisit it. +- New code to better emulate the protection in Route 16 was added in 0.194, + but it turned out to harbour a bug (see MT 07310). Therefore the previous + patches have been restored, and the protection routine has been nullified + but is still there in case someone wants to revisit it. Stratovox: - - Has almost *electrically* identical hardware to Route 16 with the exception - that it is physically different (2 PCB-set connected with flat cables) and - Stratovox has the SN76477 chip and uses a DAC for voice. There are 3 volume - pots on the PCB. One for music, one for speech and a master volume. +- Has almost *electrically* identical hardware to Route 16 with the exception + that it is physically different (2 PCB-set connected with flat cables) and + Stratovox has the SN76477 chip and uses a DAC for voice. There are 3 volume + pots on the PCB. One for music, one for speech and a master volume. Space Echo: - - When all astronauts are taken the game over tune ends with 5 bad notes, - this appears to be a bug in the ROM from a changed instruction at 2EB3. +- Speech doesn't work at all, is it an old regression? - - Service mode shows a garbled screen as most of the code for it has been - replaced by other routines, however the sound tests still work. it's - possible that the service switch isn't connected on the real hardware. +- Interrupts per frame for cpu2 is a best guess based on how stratvox uses the DAC, + writing up to 195 times per frame with each byte from the ROM written 4 times. + spacecho writes one byte per interrupt so 195/4 or 48 is used. a lower number + increases the chance of a sound interrupting itself, which for most sounds + is buggy and causes the game to freeze until the first sound completes. - - The game hangs if it doesn't pass the startup test, a best guess is implemented - rather than patching out the test. code for the same test is in stratvox but - isn't called, speakres has a very similar test but doesn't care about the result. +- When all astronauts are taken the game over tune ends with 5 bad notes, + this appears to be a bug in the ROM from a changed instruction at 2EB3. - - Interrupts per frame for cpu1 is a best guess based on how stratvox uses the DAC, - writing up to 195 times per frame with each byte from the ROM written 4 times. - spacecho writes one byte per interrupt so 195/4 or 48 is used. a lower number - increases the chance of a sound interrupting itself, which for most sounds - is buggy and causes the game to freeze until the first sound completes. +- Service mode shows a garbled screen as most of the code for it has been + replaced by other routines, however the sound tests still work. it's + possible that the service switch isn't connected on the real hardware. + +- The game hangs if it doesn't pass the startup test, a best guess is implemented + rather than patching out the test. code for the same test is in stratvox but + isn't called, speakres has a very similar test but doesn't care about the result. vscompmj: - - Stuck notes (constant tone) in-game after the mahjong tiles are laid down. +- Stuck notes (constant tone) in-game after the mahjong tiles are laid down. + +*************************************************************************** Route 16/Stratovox memory map (preliminary) @@ -155,15 +159,71 @@ PL2 Button | 7A | 7B | PL1 Button ***************************************************************************/ #include "emu.h" -#include "route16.h" #include "cpu/z80/z80.h" #include "sound/ay8910.h" #include "sound/dac.h" #include "sound/sn76477.h" +#include "emupal.h" +#include "screen.h" #include "speaker.h" + +namespace { + +class route16_state : public driver_device +{ +public: + route16_state(const machine_config &mconfig, device_type type, const char *tag) + : driver_device(mconfig, type, tag) + , m_cpu1(*this, "cpu1") + , m_cpu2(*this, "cpu2") + , m_videoram(*this, "videoram%u", 1U) + , m_proms(*this, "proms") + , m_palette(*this, "palette") + , m_screen(*this, "screen") + { } + + void routex(machine_config &config); + void route16(machine_config &config); + + void init_route16(); + void init_route16a(); + void init_route16c(); + void init_route16d(); + +protected: + virtual void machine_start() override ATTR_COLD; + + void out0_w(uint8_t data); + void out1_w(uint8_t data); + + uint32_t screen_update_route16(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); + uint32_t screen_update_stratvox(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); + + required_device m_cpu1; + required_device m_cpu2; + + required_shared_ptr_array m_videoram; + required_region_ptr m_proms; + required_device m_palette; + required_device m_screen; + + uint8_t m_protection_data = 0; + uint8_t m_flipscreen = 0; + uint8_t m_palreg[2] = { }; + +private: + uint8_t route16_prot_r(); + uint8_t routex_prot_r(); + + void cpu1_io_map(address_map &map) ATTR_COLD; + void route16_cpu1_map(address_map &map) ATTR_COLD; + void route16_cpu2_map(address_map &map) ATTR_COLD; + void routex_cpu1_map(address_map &map) ATTR_COLD; +}; + class speakres_state : public route16_state { public: @@ -171,12 +231,15 @@ class speakres_state : public route16_state : route16_state(mconfig, type, tag) , m_sn(*this, "snsnd") , m_dac(*this, "dac") - {} + { } void speakres(machine_config &config); void stratvox(machine_config &config); void spacecho(machine_config &config); +protected: + virtual void machine_start() override ATTR_COLD; + private: uint8_t speakres_in3_r(); void speakres_out2_w(uint8_t data); @@ -191,7 +254,38 @@ class speakres_state : public route16_state required_device m_sn; required_device m_dac; - int m_speakres_vrx = 0; + attotime m_speakres_vrx; +}; + +class jongpute_state : public route16_state +{ +public: + jongpute_state(const machine_config &mconfig, device_type type, const char *tag) + : route16_state(mconfig, type, tag) + , m_decrypted_opcodes(*this, "decrypted_opcodes") + , m_key(*this, "KEY%u", 0U) + { } + + void jongpute(machine_config &config); + void vscompmj(machine_config &config); + + void init_vscompmj(); + +protected: + virtual void machine_start() override ATTR_COLD; + +private: + void input_w(uint8_t data); + template uint8_t input_r(); + + void jongpute_cpu1_map(address_map &map) ATTR_COLD; + void vscompmj_cpu1_map(address_map &map) ATTR_COLD; + void vscompmj_decrypted_opcodes(address_map &map) ATTR_COLD; + + optional_shared_ptr m_decrypted_opcodes; + required_ioport_array<8> m_key; + + uint8_t m_port_select = 0; }; @@ -201,18 +295,29 @@ class speakres_state : public route16_state * *************************************/ -MACHINE_START_MEMBER(speakres_state, speakres) +void route16_state::machine_start() +{ + save_item(NAME(m_protection_data)); + save_item(NAME(m_flipscreen)); + save_item(NAME(m_palreg)); +} + +void speakres_state::machine_start() { + route16_state::machine_start(); save_item(NAME(m_speakres_vrx)); } -MACHINE_START_MEMBER(route16_state, jongpute) +void jongpute_state::machine_start() { - save_item(NAME(m_jongpute_port_select)); + route16_state::machine_start(); + save_item(NAME(m_port_select)); } void route16_state::init_route16a() { + init_route16c(); + // hack out the protection u8 *rom = memregion("cpu1")->base(); rom[0x105] = 0; // remove jp nz,4109 @@ -222,12 +327,10 @@ void route16_state::init_route16a() rom[0x72a] = 0; // remove jp nz,4238 rom[0x72b] = 0; rom[0x72c] = 0; - init_route16c(); } void route16_state::init_route16() { - save_item(NAME(m_protection_data)); // hack out the protection u8 *rom = memregion("cpu1")->base(); rom[0x105] = 0; // remove jp nz,4109 @@ -247,7 +350,6 @@ void route16_state::init_route16() void route16_state::init_route16c() { - save_item(NAME(m_protection_data)); // hack out the protection u8 *rom = memregion("cpu1")->base(); rom[0x0e9] = 0x3a; // remove call 2CD8 @@ -259,7 +361,6 @@ void route16_state::init_route16c() void route16_state::init_route16d() { - save_item(NAME(m_protection_data)); // hack out the protection u8 *rom = memregion("cpu1")->base(); @@ -278,7 +379,7 @@ void route16_state::init_route16d() rom[0x74d] = 0x07; } -void route16_state::init_vscompmj() // only opcodes encrypted +void jongpute_state::init_vscompmj() // only opcodes encrypted { uint8_t *rom = memregion("cpu1")->base(); @@ -313,7 +414,7 @@ void route16_state::init_vscompmj() // only opcodes encrypted { uint8_t x = rom[i]; - uint8_t row = (BIT(x, 4) + (BIT(x, 6) << 1) + (BIT(x, 7) << 2)); + uint8_t row = (BIT(x, 4) + (BIT(x, 6) << 1) + (BIT(x, 7) << 2)); uint8_t xor_v = x & 0x07; @@ -327,22 +428,139 @@ void route16_state::init_vscompmj() // only opcodes encrypted } } + + /************************************* * - * Shared RAM handling + * Video update * *************************************/ -template void route16_state::route16_sharedram_w(offs_t offset, uint8_t data) +uint32_t route16_state::screen_update_route16(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) { - m_sharedram[offset] = data; + uint8_t *color_prom1 = &m_proms[0x000]; + uint8_t *color_prom2 = &m_proms[0x100]; - // 4313-4319 are used in Route 16 as triggers to wake the other CPU - if (offset >= 0x0313 && offset <= 0x0319 && data == 0xff) + for (offs_t offs = 0; offs < m_videoram[0].bytes(); offs++) { - // Let the other CPU run - (cpu1 ? m_cpu1 : m_cpu2)->yield(); + uint8_t y = offs >> 6; + uint8_t x = offs << 2; + + uint8_t data1 = m_videoram[0][offs]; + uint8_t data2 = m_videoram[1][offs]; + + for (int i = 0; i < 4; i++) + { + uint8_t dx = x, dy = y; + + // Game observation shows that Route 16 can blank each bitmap by setting bit 1 of the + // palette register. Since the schematics are missing the relevant pages, I cannot confirm + // how this works, but I am 99% sure the bit 1 would be connected to A7 of the color PROM. + // Since the color PROMs contain 0 in the upper half, this would produce a black output. + + uint8_t color1 = color_prom1[((m_palreg[0] << 6) & 0x80) | + (m_palreg[0] << 2) | + ((data1 >> 3) & 0x02) | + ((data1 >> 0) & 0x01)]; + + uint8_t color2 = color_prom2[((m_palreg[1] << 6) & 0x80) | + (m_palreg[1] << 2) | + ((data2 >> 3) & 0x02) | + ((data2 >> 0) & 0x01)]; + + // the final color is the OR of the two colors (verified) + uint8_t final_color = (color1 | color2) & 0x07; + + if (m_flipscreen) + { + dy = 255 - dy; + dx = 255 - dx; + } + + if (cliprect.contains(dx, dy)) + bitmap.pix(dy, dx) = m_palette->pen_color(final_color); + + x++; + data1 >>= 1; + data2 >>= 1; + } + } + + return 0; +} + + +// The Stratovox video connections have been verified from the schematics + +uint32_t route16_state::screen_update_stratvox(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) +{ + uint8_t *color_prom1 = &m_proms[0x000]; + uint8_t *color_prom2 = &m_proms[0x100]; + + for (offs_t offs = 0; offs < m_videoram[0].bytes(); offs++) + { + uint8_t y = offs >> 6; + uint8_t x = offs << 2; + + uint8_t data1 = m_videoram[0][offs]; + uint8_t data2 = m_videoram[1][offs]; + + for (int i = 0; i < 4; i++) + { + uint8_t dx = x, dy = y; + + uint8_t color1 = color_prom1[(m_palreg[0] << 2) | + ((data1 >> 3) & 0x02) | + ((data1 >> 0) & 0x01)]; + + // bit 7 of the 2nd color is the OR of the 1st color bits 0 and 1 (verified) + uint8_t color2 = color_prom2[(((data1 << 3) & 0x80) | ((data1 << 7) & 0x80)) | + (m_palreg[1] << 2) | + ((data2 >> 3) & 0x02) | + ((data2 >> 0) & 0x01)]; + + // the final color is the OR of the two colors + uint8_t final_color = (color1 | color2) & 0x07; + + if (m_flipscreen) + { + dy = 255 - dy; + dx = 255 - dx; + } + + if (cliprect.contains(dx, dy)) + bitmap.pix(dy, dx) = m_palette->pen_color(final_color); + + x++; + data1 >>= 1; + data2 >>= 1; + } } + + return 0; +} + + + +/************************************* + * + * Memory handlers + * + *************************************/ + +void route16_state::out0_w(uint8_t data) +{ + m_palreg[0] = data & 0x1f; + + machine().bookkeeping().coin_counter_w(0, (data >> 5) & 0x01); +} + + +void route16_state::out1_w(uint8_t data) +{ + m_palreg[1] = data & 0x1f; + + m_flipscreen = (data >> 5) & 0x01; } @@ -353,7 +571,7 @@ template void route16_state::route16_sharedram_w(offs_t offset, uint8 * *************************************/ -uint8_t route16_state::routex_prot_read() +uint8_t route16_state::routex_prot_r() { if (m_cpu1->pc() == 0x2f) return 0xfb; @@ -362,9 +580,10 @@ uint8_t route16_state::routex_prot_read() } // never called, see notes. -uint8_t route16_state::route16_prot_read() +uint8_t route16_state::route16_prot_r() { - m_protection_data++; + if (!machine().side_effects_disabled()) + m_protection_data++; return (1 << ((m_protection_data >> 1) & 7)); } @@ -378,17 +597,16 @@ uint8_t route16_state::route16_prot_read() void speakres_state::stratvox_sn76477_w(uint8_t data) { - /*************************************************************** - * AY8910 output bits are connected to... - * 7 - direct: 5V * 30k/(100+30k) = 1.15V - via DAC?? - * 6 - SN76477 mixer C - * 5 - SN76477 mixer B - * 4 - SN76477 mixer A - * 3 - SN76477 envelope 2 - * 2 - SN76477 envelope 1 - * 1 - SN76477 vco - * 0 - SN76477 enable - ***************************************************************/ + // AY8910 output bits are connected to... + // 7 - direct: 5V * 30k/(100+30k) = 1.15V - via DAC?? + // 6 - SN76477 mixer C + // 5 - SN76477 mixer B + // 4 - SN76477 mixer A + // 3 - SN76477 envelope 2 + // 2 - SN76477 envelope 1 + // 1 - SN76477 vco + // 0 - SN76477 enable + m_sn->enable_w((data >> 0) & 1); m_sn->vco_w((data >> 1) & 1); m_sn->envelope_1_w((data >> 2) & 1); @@ -413,72 +631,58 @@ void speakres_state::stratvox_dac_w(uint8_t data) * ***************************************************/ -void route16_state::jongpute_input_port_matrix_w(uint8_t data) +void jongpute_state::input_w(uint8_t data) { - m_jongpute_port_select = data; + m_port_select = data; } - -uint8_t route16_state::jongpute_p1_matrix_r() +template +uint8_t jongpute_state::input_r() { - uint8_t ret = 0; + uint8_t data = 0; - switch (m_jongpute_port_select) - { - case 1: ret = m_key[0]->read(); break; - case 2: ret = m_key[1]->read(); break; - case 4: ret = m_key[2]->read(); break; - case 8: ret = m_key[3]->read(); break; - default: break; - } + for (int i = 0; i < 4; i++) + if (BIT(m_port_select, i)) + data |= m_key[N * 4 + i]->read(); - return ret; + return data; } -uint8_t route16_state::jongpute_p2_matrix_r() -{ - uint8_t ret = 0; - - switch (m_jongpute_port_select) - { - case 1: ret = m_key[4]->read(); break; - case 2: ret = m_key[5]->read(); break; - case 4: ret = m_key[6]->read(); break; - case 8: ret = m_key[7]->read(); break; - default: break; - } - return ret; -} +/*************************************************** + * + * Speak & Rescue VR timer + * + ***************************************************/ -/*************************************************************************** - guessing that the unconnected IN3 and OUT2 on the stratvox schematic - are hooked up for speakres and spacecho to somehow read the variable - resistors (eg a voltage ramp), using a write to OUT2 as a trigger - and then bits 0-2 of IN3 going low when each pot "matches". the VRx - values can be seen when IN0=0x55 and p1b1 is held during power on. +/* + Guessing that the unconnected IN3 and OUT2 on the stratvox schematic are hooked up + for speakres and spacecho to somehow read the variable resistors (eg a voltage ramp), + using a write to OUT2 as a trigger and then bits 0-2 of IN3 going low when each pot + "matches". the VRx values can be seen when IN0=0x55 and p1b1 is held during power on. this would then be checking that the sounds are mixed correctly. -***************************************************************************/ + + Unlikely that this is some form of protection, since the bootlegs use this too? +*/ uint8_t speakres_state::speakres_in3_r() { - int bit2=4, bit1=2, bit0=1; + uint8_t data = 0; - /* just using a counter, the constants are the number of reads - before going low, each read is 40 cycles apart. the constants - were chosen based on the startup tests and for vr0=vr2 */ - m_speakres_vrx++; - if(m_speakres_vrx>0x300) bit0=0; /* VR0 100k ohm - speech */ - if(m_speakres_vrx>0x200) bit1=0; /* VR1 50k ohm - main volume */ - if(m_speakres_vrx>0x300) bit2=0; /* VR2 100k ohm - explosion */ + // each read is 40 cycles apart, the constants were chosen based on the startup tests and for vr0=vr2 + attotime delta = machine().time() - m_speakres_vrx; - return 0xf8|bit2|bit1|bit0; + if (delta > attotime::from_usec(0x3000)) data |= 1; // VR0 100k ohm - speech + if (delta > attotime::from_usec(0x2000)) data |= 2; // VR1 50k ohm - main volume + if (delta > attotime::from_usec(0x3000)) data |= 4; // VR2 100k ohm - explosion + + return ~data; } void speakres_state::speakres_out2_w(uint8_t data) { - m_speakres_vrx=0; + m_speakres_vrx = machine().time(); } @@ -492,24 +696,24 @@ void speakres_state::speakres_out2_w(uint8_t data) void route16_state::route16_cpu1_map(address_map &map) { map(0x0000, 0x2fff).rom(); - map(0x3000, 0x3001).r(FUNC(route16_state::route16_prot_read)); - map(0x4000, 0x43ff).ram().w(FUNC(route16_state::route16_sharedram_w)).share("sharedram"); + map(0x3000, 0x3001).r(FUNC(route16_state::route16_prot_r)); + map(0x4000, 0x43ff).ram().share("sharedram"); map(0x4800, 0x4800).portr("DSW").w(FUNC(route16_state::out0_w)); map(0x5000, 0x5000).portr("P1").w(FUNC(route16_state::out1_w)); map(0x5800, 0x5800).portr("P2"); - map(0x8000, 0xbfff).ram().share("videoram1"); + map(0x8000, 0xbfff).ram().share(m_videoram[0]); } void route16_state::routex_cpu1_map(address_map &map) { map(0x0000, 0x3fff).rom(); - map(0x4000, 0x43ff).ram().w(FUNC(route16_state::route16_sharedram_w)).share("sharedram"); + map(0x4000, 0x43ff).ram().share("sharedram"); map(0x4800, 0x4800).portr("DSW").w(FUNC(route16_state::out0_w)); map(0x5000, 0x5000).portr("P1").w(FUNC(route16_state::out1_w)); map(0x5800, 0x5800).portr("P2"); - map(0x6400, 0x6400).r(FUNC(route16_state::routex_prot_read)); - map(0x8000, 0xbfff).ram().share("videoram1"); + map(0x6400, 0x6400).r(FUNC(route16_state::routex_prot_r)); + map(0x8000, 0xbfff).ram().share(m_videoram[0]); } @@ -520,7 +724,7 @@ void speakres_state::stratvox_cpu1_map(address_map &map) map(0x4800, 0x4800).portr("DSW").w(FUNC(speakres_state::out0_w)); map(0x5000, 0x5000).portr("P1").w(FUNC(speakres_state::out1_w)); map(0x5800, 0x5800).portr("P2"); - map(0x8000, 0xbfff).ram().share("videoram1"); + map(0x8000, 0xbfff).ram().share(m_videoram[0]); } @@ -532,23 +736,23 @@ void speakres_state::speakres_cpu1_map(address_map &map) map(0x5000, 0x5000).portr("P1").w(FUNC(speakres_state::out1_w)); map(0x5800, 0x5800).portr("P2").w(FUNC(speakres_state::speakres_out2_w)); map(0x6000, 0x6000).r(FUNC(speakres_state::speakres_in3_r)); - map(0x8000, 0xbfff).ram().share("videoram1"); + map(0x8000, 0xbfff).ram().share(m_videoram[0]); } -void route16_state::jongpute_cpu1_map(address_map &map) +void jongpute_state::jongpute_cpu1_map(address_map &map) { map(0x0000, 0x3fff).rom(); map(0x4000, 0x43ff).ram().share("sharedram"); - map(0x4800, 0x4800).portr("DSW").w(FUNC(route16_state::out0_w)); - map(0x5000, 0x5000).r(FUNC(route16_state::jongpute_p2_matrix_r)).w(FUNC(route16_state::out1_w)); - map(0x5800, 0x5800).rw(FUNC(route16_state::jongpute_p1_matrix_r), FUNC(route16_state::jongpute_input_port_matrix_w)); + map(0x4800, 0x4800).portr("DSW").w(FUNC(jongpute_state::out0_w)); + map(0x5000, 0x5000).r(FUNC(jongpute_state::input_r<1>)).w(FUNC(jongpute_state::out1_w)); + map(0x5800, 0x5800).rw(FUNC(jongpute_state::input_r<0>), FUNC(jongpute_state::input_w)); map(0x6800, 0x6800).w("ay8910", FUNC(ay8910_device::data_w)); map(0x6900, 0x6900).w("ay8910", FUNC(ay8910_device::address_w)); - map(0x8000, 0xbfff).ram().share("videoram1"); + map(0x8000, 0xbfff).ram().share(m_videoram[0]); } -void route16_state::vscompmj_cpu1_map(address_map &map) +void jongpute_state::vscompmj_cpu1_map(address_map &map) { jongpute_cpu1_map(map); @@ -556,34 +760,34 @@ void route16_state::vscompmj_cpu1_map(address_map &map) map(0x7000, 0x7fff).rom(); } -void route16_state::vscompmj_decrypted_opcodes(address_map &map) +void jongpute_state::vscompmj_decrypted_opcodes(address_map &map) { map(0x0000, 0x7fff).rom().share("decrypted_opcodes"); } -void route16_state::route16_cpu2_map(address_map &map) +void route16_state::cpu1_io_map(address_map &map) { - map(0x0000, 0x1fff).rom(); - map(0x4000, 0x43ff).ram().w(FUNC(route16_state::route16_sharedram_w)).share("sharedram"); - map(0x8000, 0xbfff).ram().share("videoram2"); + map.global_mask(0x1ff); + map(0x0000, 0x0000).mirror(0x00ff).w("ay8910", FUNC(ay8910_device::data_w)); + map(0x0100, 0x0100).mirror(0x00ff).w("ay8910", FUNC(ay8910_device::address_w)); } -void speakres_state::stratvox_cpu2_map(address_map &map) +void route16_state::route16_cpu2_map(address_map &map) { map(0x0000, 0x1fff).rom(); - map(0x2800, 0x2800).w(FUNC(speakres_state::stratvox_dac_w)); map(0x4000, 0x43ff).ram().share("sharedram"); - map(0x8000, 0xbfff).ram().share("videoram2"); + map(0x8000, 0xbfff).ram().share(m_videoram[1]); } -void route16_state::cpu1_io_map(address_map &map) +void speakres_state::stratvox_cpu2_map(address_map &map) { - map.global_mask(0x1ff); - map(0x0000, 0x0000).mirror(0x00ff).w("ay8910", FUNC(ay8910_device::data_w)); - map(0x0100, 0x0100).mirror(0x00ff).w("ay8910", FUNC(ay8910_device::address_w)); + map(0x0000, 0x1fff).rom(); + map(0x2800, 0x2800).w(FUNC(speakres_state::stratvox_dac_w)); + map(0x4000, 0x43ff).ram().share("sharedram"); + map(0x8000, 0xbfff).ram().share(m_videoram[1]); } @@ -904,7 +1108,7 @@ INPUT_PORTS_END void route16_state::route16(machine_config &config) { - /* basic machine hardware */ + // basic machine hardware Z80(config, m_cpu1, 10_MHz_XTAL / 4); // verified on PCB m_cpu1->set_addrmap(AS_PROGRAM, &route16_state::route16_cpu1_map); m_cpu1->set_addrmap(AS_IO, &route16_state::cpu1_io_map); @@ -913,19 +1117,18 @@ void route16_state::route16(machine_config &config) Z80(config, m_cpu2, 10_MHz_XTAL / 4); // verified on PCB m_cpu2->set_addrmap(AS_PROGRAM, &route16_state::route16_cpu2_map); - /* video hardware */ + config.set_maximum_quantum(attotime::from_hz(m_cpu1->clock() / 4)); + + // video hardware SCREEN(config, m_screen, SCREEN_TYPE_RASTER); - m_screen->set_size(256, 256); - m_screen->set_visarea(0, 256-1, 0, 256-1); - m_screen->set_refresh_hz(57); - m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */ + m_screen->set_raw(10_MHz_XTAL / 2, 320, 0, 256, 260, 8, 248); m_screen->set_screen_update(FUNC(route16_state::screen_update_route16)); PALETTE(config, m_palette, palette_device::RGB_3BIT); - /* sound hardware */ + // sound hardware SPEAKER(config, "speaker").front_center(); - AY8910(config, "ay8910", 10_MHz_XTAL / 8).add_route(ALL_OUTPUTS, "speaker", 0.5); // verified on PCB + AY8910(config, "ay8910", 10_MHz_XTAL / 8).add_route(ALL_OUTPUTS, "speaker", 0.5); // verified on PCB } @@ -933,7 +1136,7 @@ void route16_state::routex(machine_config &config) { route16(config); - /* basic machine hardware */ + // basic machine hardware m_cpu1->set_addrmap(AS_PROGRAM, &route16_state::routex_cpu1_map); } @@ -942,15 +1145,15 @@ void speakres_state::stratvox(machine_config &config) { route16(config); - /* basic machine hardware */ + // basic machine hardware m_cpu1->set_addrmap(AS_PROGRAM, &speakres_state::stratvox_cpu1_map); m_cpu2->set_addrmap(AS_PROGRAM, &speakres_state::stratvox_cpu2_map); - /* video hardware */ - m_screen->set_screen_update(FUNC(speakres_state::screen_update_jongpute)); + // video hardware + m_screen->set_screen_update(FUNC(speakres_state::screen_update_stratvox)); - /* sound hardware */ - subdevice("ay8910")->port_a_write_callback().set(FUNC(speakres_state::stratvox_sn76477_w)); // SN76477 commands (SN76477 not populated on Route 16 PCB) + // sound hardware + subdevice("ay8910")->port_a_write_callback().set(FUNC(speakres_state::stratvox_sn76477_w)); // SN76477 commands (SN76477 not populated on Route 16 PCB) SN76477(config, m_sn); m_sn->set_noise_params(RES_K(47), RES_K(150), CAP_U(0.001)); @@ -975,42 +1178,40 @@ void speakres_state::speakres(machine_config &config) { stratvox(config); - /* basic machine hardware */ + // basic machine hardware m_cpu1->set_addrmap(AS_PROGRAM, &speakres_state::speakres_cpu1_map); - - MCFG_MACHINE_START_OVERRIDE(speakres_state, speakres) } void speakres_state::spacecho(machine_config &config) { speakres(config); - /* basic machine hardware */ + // basic machine hardware m_cpu2->set_periodic_int(FUNC(route16_state::irq0_line_hold), attotime::from_hz(48*60)); } -void route16_state::jongpute(machine_config &config) +void jongpute_state::jongpute(machine_config &config) { route16(config); - m_cpu1->set_addrmap(AS_PROGRAM, &route16_state::jongpute_cpu1_map); + m_cpu1->set_addrmap(AS_PROGRAM, &jongpute_state::jongpute_cpu1_map); m_cpu1->set_addrmap(AS_IO, address_map_constructor()); - MCFG_MACHINE_START_OVERRIDE(route16_state, jongpute) - - /* video hardware */ - m_screen->set_screen_update(FUNC(route16_state::screen_update_jongpute)); + // video hardware + m_screen->set_screen_update(FUNC(jongpute_state::screen_update_stratvox)); PALETTE(config.replace(), m_palette, palette_device::BGR_3BIT); } -void route16_state::vscompmj(machine_config &config) +void jongpute_state::vscompmj(machine_config &config) { jongpute(config); - m_cpu1->set_addrmap(AS_PROGRAM, &route16_state::vscompmj_cpu1_map); - m_cpu1->set_addrmap(AS_OPCODES, &route16_state::vscompmj_decrypted_opcodes); + m_cpu1->set_addrmap(AS_PROGRAM, &jongpute_state::vscompmj_cpu1_map); + m_cpu1->set_addrmap(AS_OPCODES, &jongpute_state::vscompmj_decrypted_opcodes); } + + /************************************* * * ROM definitions @@ -1032,8 +1233,8 @@ ROM_START( route16 ) ROM_LOAD( "stvg62.b2", 0x1000, 0x0800, CRC(defc5797) SHA1(aec8179e647de70016e0e63b720f932752adacc1) ) ROM_LOAD( "stvg63.b3", 0x1800, 0x0800, CRC(88d94a66) SHA1(163e952ada7c05110d1f1c681bd57d3b9ea8866e) ) - ROM_REGION( 0x800, "mcu", 0 ) // on a small daughterboard inserted at a6 - ROM_LOAD( "mb8841", 0x000, 0x800, NO_DUMP ) + ROM_REGION( 0x0800, "mcu", 0 ) // on a small daughterboard inserted at a6 + ROM_LOAD( "mb8841_322m.a6", 0x0000, 0x0800, NO_DUMP ) ROM_REGION( 0x0200, "proms", 0 ) // The upper 128 bytes are 0's, used by the hardware to blank the display @@ -1041,10 +1242,10 @@ ROM_START( route16 ) ROM_LOAD( "mb7052.61", 0x0100, 0x0100, CRC(08793ef7) SHA1(bfc27aaf25d642cd57c0fbe73ab575853bd5f3ca) ) // bottom bitmap ROM_END - // 2 sets found, one on TVX1 and one on TVX2 PCB. TVX1 has lots of wire hacks. Both PCBs have an identical TVX-S1 sub board with Fujitsu MB8841 + logic. - // There were two different bytes between the two versions, both in ROM a2: - // 0x1dd is 0x46 in the TVX1 dump and 0x47 in the TVX2 one. 0x764 is 0x04 in the TVX1 dump and 0x06 in the TVX2 one. - // Those cause the game to malfunction and it doesn't seem to be additional protection. The a2 ROM below is the one dumped from the TVX2 PCB. +// 2 sets found, one on TVX1 and one on TVX2 PCB. TVX1 has lots of wire hacks. Both PCBs have an identical TVX-S1 sub board with Fujitsu MB8841 + logic. +// There were two different bytes between the two versions, both in ROM a2: +// 0x1dd is 0x46 in the TVX1 dump and 0x47 in the TVX2 one. 0x764 is 0x04 in the TVX1 dump and 0x06 in the TVX2 one. +// Those cause the game to malfunction and it doesn't seem to be additional protection. The a2 ROM below is the one dumped from the TVX2 PCB. ROM_START( route16d ) ROM_REGION( 0x10000, "cpu1", 0 ) ROM_LOAD( "a0.7.bin", 0x0000, 0x0800, CRC(025a4f63) SHA1(f1ced12c7667467c25f7fc595ae2e1b3aef4a29f) ) @@ -1060,8 +1261,8 @@ ROM_START( route16d ) ROM_LOAD( "b2.bin", 0x1000, 0x0800, CRC(defc5797) SHA1(aec8179e647de70016e0e63b720f932752adacc1) ) ROM_LOAD( "b3.bin", 0x1800, 0x0800, CRC(88d94a66) SHA1(163e952ada7c05110d1f1c681bd57d3b9ea8866e) ) - ROM_REGION( 0x800, "mcu", 0 ) // on a small daughterboard inserted at a6 - ROM_LOAD( "mb8841", 0x000, 0x800, NO_DUMP ) + ROM_REGION( 0x0800, "mcu", 0 ) // on a small daughterboard inserted at a6 + ROM_LOAD( "mb8841_322m.a6", 0x0000, 0x0800, NO_DUMP ) ROM_REGION( 0x0200, "proms", 0 ) // The upper 128 bytes are 0's, used by the hardware to blank the display @@ -1084,8 +1285,8 @@ ROM_START( route16a ) ROM_LOAD( "tvg62.b2", 0x1000, 0x0800, CRC(529cad13) SHA1(b533d20df1f2580e237c3d60bfe3483486ad9a48) ) ROM_LOAD( "tvg63.b3", 0x1800, 0x0800, CRC(3bd8b899) SHA1(bc0c7909dbf5ea85eba5a1bb815fdd98c3aa794e) ) - ROM_REGION( 0x800, "mcu", 0 ) // on a small daughterboard inserted at a6 - ROM_LOAD( "mb8841", 0x000, 0x800, NO_DUMP ) + ROM_REGION( 0x0800, "mcu", 0 ) // on a small daughterboard inserted at a6 + ROM_LOAD( "mb8841_322m.a6", 0x0000, 0x0800, NO_DUMP ) ROM_REGION( 0x0200, "proms", 0 ) /* The upper 128 bytes are 0's, used by the hardware to blank the display */ @@ -1108,8 +1309,8 @@ ROM_START( route16c ) ROM_LOAD( "route16.b2", 0x1000, 0x0800, CRC(529cad13) SHA1(b533d20df1f2580e237c3d60bfe3483486ad9a48) ) ROM_LOAD( "route16.b3", 0x1800, 0x0800, CRC(3bd8b899) SHA1(bc0c7909dbf5ea85eba5a1bb815fdd98c3aa794e) ) - ROM_REGION( 0x800, "mcu", 0 ) // on a small daughterboard inserted at a6 - ROM_LOAD( "mb8841", 0x000, 0x800, NO_DUMP ) + ROM_REGION( 0x0800, "mcu", 0 ) // on a small daughterboard inserted at a6 + ROM_LOAD( "mb8841_322m.a6", 0x0000, 0x0800, NO_DUMP ) ROM_REGION( 0x0200, "proms", 0 ) /* Intersil IM5623CPE proms compatible with 82s129 */ /* The upper 128 bytes are 0's, used by the hardware to blank the display */ @@ -1132,8 +1333,8 @@ ROM_START( route16b ) ROM_LOAD( "route16.b2", 0x1000, 0x0800, CRC(529cad13) SHA1(b533d20df1f2580e237c3d60bfe3483486ad9a48) ) ROM_LOAD( "route16.b3", 0x1800, 0x0800, CRC(3bd8b899) SHA1(bc0c7909dbf5ea85eba5a1bb815fdd98c3aa794e) ) - ROM_REGION( 0x800, "mcu", 0 ) // on a small daughterboard inserted at a6 - ROM_LOAD( "mb8841", 0x000, 0x800, NO_DUMP ) + ROM_REGION( 0x0800, "mcu", 0 ) // on a small daughterboard inserted at a6 + ROM_LOAD( "mb8841_322m.a6", 0x0000, 0x0800, NO_DUMP ) ROM_REGION( 0x0200, "proms", 0 ) /* Intersil IM5623CPE proms compatible with 82s129 */ /* The upper 128 bytes are 0's, used by the hardware to blank the display */ @@ -1346,7 +1547,7 @@ So... spacecho2 is avoiding to enter the sub at $2929. */ ROM_START( spacecho2 ) ROM_REGION( 0x10000, "cpu1", 0 ) - ROM_LOAD( "c11.5.6t", 0x0000, 0x0800, CRC(90637f25) SHA1(820d2f326a5d8d0a04a0fca46b035624dfd7222c) ) // 3 bytes different at 0x8e + ROM_LOAD( "c11.5.6t", 0x0000, 0x0800, CRC(90637f25) SHA1(820d2f326a5d8d0a04a0fca46b035624dfd7222c) ) // 3 bytes different at 0x8e ROM_LOAD( "c2.5t", 0x0800, 0x0800, CRC(a5f0a34f) SHA1(359e7a9954dedb464f7456cd071db77b2219ab2c) ) ROM_LOAD( "c3.4.5t", 0x1000, 0x0800, CRC(cbbb3acb) SHA1(3dc71683f31da39a544382b463ece39cca8124b3) ) ROM_LOAD( "c4.4t", 0x1800, 0x0800, CRC(311050ca) SHA1(ed4a5cb7ec0306654178dae8f30b39b9c8db0ce3) ) @@ -1458,6 +1659,9 @@ ROM_START( vscompmj ) ROM_LOAD( "82s129.9r", 0x0000, 0x0100, CRC(20ac25d8) SHA1(6f06472ac7fcb22c9060092a2d456be5d3ca6d5f) ) ROM_END +} // anonymous namespace + + /************************************* * @@ -1465,24 +1669,24 @@ ROM_END * *************************************/ -GAME( 1981, route16, 0, route16, route16, route16_state, init_route16, ROT270, "Sun Electronics", "Route 16 (Sun Electronics, set 1)", MACHINE_SUPPORTS_SAVE ) -GAME( 1981, route16d, route16, route16, route16a, route16_state, init_route16d, ROT270, "Sun Electronics", "Route 16 (Sun Electronics, set 2)", MACHINE_SUPPORTS_SAVE ) -GAME( 1981, route16a, route16, route16, route16a, route16_state, init_route16a, ROT270, "Tehkan / Sun Electronics (Centuri license)", "Route 16 (Centuri license, set 1)", MACHINE_SUPPORTS_SAVE ) -GAME( 1981, route16b, route16, route16, route16, route16_state, init_route16, ROT270, "Tehkan / Sun Electronics (Centuri license)", "Route 16 (Centuri license, set 2)", MACHINE_SUPPORTS_SAVE ) -GAME( 1981, route16c, route16, route16, route16, route16_state, init_route16c, ROT270, "Tehkan / Sun Electronics (Centuri license)", "Route 16 (Centuri license, set 3, bootleg?)", MACHINE_SUPPORTS_SAVE ) // similar to set 1 but with some protection removed? -GAME( 1981, route16bl,route16, route16, route16, route16_state, empty_init, ROT270, "bootleg (Leisure and Allied)", "Route 16 (bootleg)", MACHINE_SUPPORTS_SAVE ) -GAME( 1981, routex, route16, routex, route16, route16_state, empty_init, ROT270, "bootleg", "Route X (bootleg, set 1)", MACHINE_SUPPORTS_SAVE ) -GAME( 1981, routexa, route16, routex, route16, route16_state, empty_init, ROT270, "bootleg", "Route X (bootleg, set 2)", MACHINE_SUPPORTS_SAVE ) - -GAME( 1980, speakres, 0, speakres, speakres, speakres_state, empty_init, ROT270, "Sun Electronics", "Speak & Rescue", MACHINE_SUPPORTS_SAVE ) -GAME( 1980, speakresb,speakres, speakres, speakres, speakres_state, empty_init, ROT270, "bootleg", "Speak & Rescue (bootleg)", MACHINE_SUPPORTS_SAVE ) -GAME( 1980, stratvox, speakres, stratvox, stratvox, speakres_state, empty_init, ROT270, "Sun Electronics (Taito license)", "Stratovox (set 1)", MACHINE_SUPPORTS_SAVE ) -GAME( 1980, stratvoxa,speakres, stratvox, stratvox, speakres_state, empty_init, ROT270, "Sun Electronics (Taito license)", "Stratovox (set 2)", MACHINE_SUPPORTS_SAVE ) -GAME( 1980, stratvoxb,speakres, stratvox, stratvox, speakres_state, empty_init, ROT270, "bootleg", "Stratovox (bootleg)", MACHINE_SUPPORTS_SAVE ) -GAME( 1980, spacecho, speakres, spacecho, spacecho, speakres_state, empty_init, ROT270, "bootleg (Gayton Games)", "Space Echo (set 1)", MACHINE_SUPPORTS_SAVE ) -GAME( 1980, spacecho2,speakres, spacecho, spacecho, speakres_state, empty_init, ROT270, "bootleg (Gayton Games)", "Space Echo (set 2)", MACHINE_SUPPORTS_SAVE ) -GAME( 1980, speakhlp, speakres, spacecho, spacecho, speakres_state, empty_init, ROT270, "bootleg", "Speak & Help", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) - -GAME( 1981, jongpute, 0, jongpute, jongpute, route16_state, empty_init, ROT0, "Alpha Denshi Co.", "Jongputer", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_COLORS | MACHINE_NOT_WORKING ) // sampling voice is not emulated, bug with colors makes tile recognition difficult -GAME( 1981, ttmahjng, jongpute, jongpute, jongpute, route16_state, empty_init, ROT0, "Alpha Denshi Co. (Taito license)", "T.T Mahjong", MACHINE_SUPPORTS_SAVE ) -GAME( 1981, vscompmj, jongpute, vscompmj, jongpute, route16_state, init_vscompmj, ROT0, "Nichibutsu", "VS Computer Mahjong", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_COLORS | MACHINE_NOT_WORKING ) // decryption might be incomplete (attract resets), inputs seem read differently +GAME( 1981, route16, 0, route16, route16, route16_state, init_route16, ROT270, "Sun Electronics", "Route 16 (Sun Electronics, set 1)", MACHINE_SUPPORTS_SAVE ) +GAME( 1981, route16d, route16, route16, route16a, route16_state, init_route16d, ROT270, "Sun Electronics", "Route 16 (Sun Electronics, set 2)", MACHINE_SUPPORTS_SAVE ) +GAME( 1981, route16a, route16, route16, route16a, route16_state, init_route16a, ROT270, "Sun Electronics / Tehkan (Centuri license)", "Route 16 (Centuri license, set 1)", MACHINE_SUPPORTS_SAVE ) +GAME( 1981, route16b, route16, route16, route16, route16_state, init_route16, ROT270, "Sun Electronics / Tehkan (Centuri license)", "Route 16 (Centuri license, set 2)", MACHINE_SUPPORTS_SAVE ) +GAME( 1981, route16c, route16, route16, route16, route16_state, init_route16c, ROT270, "Sun Electronics / Tehkan (Centuri license)", "Route 16 (Centuri license, set 3, bootleg?)", MACHINE_SUPPORTS_SAVE ) // similar to set 1 but with some protection removed? +GAME( 1981, route16bl, route16, route16, route16, route16_state, empty_init, ROT270, "bootleg (Leisure and Allied)", "Route 16 (bootleg)", MACHINE_SUPPORTS_SAVE ) +GAME( 1981, routex, route16, routex, route16, route16_state, empty_init, ROT270, "bootleg", "Route X (bootleg, set 1)", MACHINE_SUPPORTS_SAVE ) +GAME( 1981, routexa, route16, routex, route16, route16_state, empty_init, ROT270, "bootleg", "Route X (bootleg, set 2)", MACHINE_SUPPORTS_SAVE ) + +GAME( 1980, speakres, 0, speakres, speakres, speakres_state, empty_init, ROT270, "Sun Electronics", "Speak & Rescue", MACHINE_SUPPORTS_SAVE ) +GAME( 1980, speakresb, speakres, speakres, speakres, speakres_state, empty_init, ROT270, "bootleg", "Speak & Rescue (bootleg)", MACHINE_SUPPORTS_SAVE ) +GAME( 1980, stratvox, speakres, stratvox, stratvox, speakres_state, empty_init, ROT270, "Sun Electronics (Taito license)", "Stratovox (set 1)", MACHINE_SUPPORTS_SAVE ) +GAME( 1980, stratvoxa, speakres, stratvox, stratvox, speakres_state, empty_init, ROT270, "Sun Electronics (Taito license)", "Stratovox (set 2)", MACHINE_SUPPORTS_SAVE ) +GAME( 1980, stratvoxb, speakres, stratvox, stratvox, speakres_state, empty_init, ROT270, "bootleg", "Stratovox (bootleg)", MACHINE_SUPPORTS_SAVE ) +GAME( 1980, spacecho, speakres, spacecho, spacecho, speakres_state, empty_init, ROT270, "bootleg (Gayton Games)", "Space Echo (set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) +GAME( 1980, spacecho2, speakres, spacecho, spacecho, speakres_state, empty_init, ROT270, "bootleg (Gayton Games)", "Space Echo (set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) +GAME( 1980, speakhlp, speakres, spacecho, spacecho, speakres_state, empty_init, ROT270, "bootleg", "Speak & Help", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) + +GAME( 1981, jongpute, 0, jongpute, jongpute, jongpute_state, empty_init, ROT0, "Alpha Denshi Co.", "Jongputer", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_COLORS | MACHINE_NOT_WORKING ) // sampling voice is not emulated, bug with colors makes tile recognition difficult +GAME( 1981, ttmahjng, jongpute, jongpute, jongpute, jongpute_state, empty_init, ROT0, "Alpha Denshi Co. (Taito license)", "T.T Mahjong", MACHINE_SUPPORTS_SAVE ) +GAME( 1981, vscompmj, jongpute, vscompmj, jongpute, jongpute_state, init_vscompmj, ROT0, "Nichibutsu", "VS Computer Mahjong", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_COLORS | MACHINE_NOT_WORKING ) // decryption might be incomplete (attract resets), inputs seem read differently diff --git a/src/mame/sunelectronics/route16.h b/src/mame/sunelectronics/route16.h deleted file mode 100644 index 4d0ae1b66683b..0000000000000 --- a/src/mame/sunelectronics/route16.h +++ /dev/null @@ -1,87 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Zsolt Vasvari -#ifndef MAME_SUNELECTRONICS_ROUTE16_H -#define MAME_SUNELECTRONICS_ROUTE16_H - -#pragma once - -#include "emupal.h" -#include "screen.h" - -class route16_state : public driver_device -{ -public: - route16_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag) - , m_cpu1(*this, "cpu1") - , m_cpu2(*this, "cpu2") - , m_sharedram(*this, "sharedram") - , m_videoram1(*this, "videoram1") - , m_videoram2(*this, "videoram2") - , m_decrypted_opcodes(*this, "decrypted_opcodes") - , m_palette(*this, "palette") - , m_screen(*this, "screen") - , m_key(*this, "KEY%u", 0U) - , m_protection_data(0) - {} - - void routex(machine_config &config); - void jongpute(machine_config &config); - void route16(machine_config &config); - void vscompmj(machine_config &config); - - void init_route16(); - void init_route16a(); - void init_route16c(); - void init_route16d(); - void init_vscompmj(); - -protected: - virtual void video_start() override ATTR_COLD; - - void out0_w(uint8_t data); - void out1_w(uint8_t data); - -private: - template void route16_sharedram_w(offs_t offset, uint8_t data); - uint8_t route16_prot_read(); - uint8_t routex_prot_read(); - void jongpute_input_port_matrix_w(uint8_t data); - uint8_t jongpute_p1_matrix_r(); - uint8_t jongpute_p2_matrix_r(); - DECLARE_MACHINE_START(jongpute); - - uint32_t screen_update_route16(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); - -protected: - uint32_t screen_update_jongpute(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); - -private: - void cpu1_io_map(address_map &map) ATTR_COLD; - void route16_cpu1_map(address_map &map) ATTR_COLD; - void route16_cpu2_map(address_map &map) ATTR_COLD; - void routex_cpu1_map(address_map &map) ATTR_COLD; - void jongpute_cpu1_map(address_map &map) ATTR_COLD; - void vscompmj_cpu1_map(address_map &map) ATTR_COLD; - void vscompmj_decrypted_opcodes(address_map &map) ATTR_COLD; - -protected: - required_device m_cpu1; - required_device m_cpu2; - - required_shared_ptr m_sharedram; - required_shared_ptr m_videoram1; - required_shared_ptr m_videoram2; - optional_shared_ptr m_decrypted_opcodes; - required_device m_palette; - required_device m_screen; - optional_ioport_array<8> m_key; - uint8_t m_protection_data; - - uint8_t m_jongpute_port_select = 0; - uint8_t m_flipscreen = 0; - uint8_t m_palette_1 = 0; - uint8_t m_palette_2 = 0; -}; - -#endif // MAME_SUNELECTRONICS_ROUTE16_H diff --git a/src/mame/sunelectronics/route16_v.cpp b/src/mame/sunelectronics/route16_v.cpp deleted file mode 100644 index 79bec51ab6d4e..0000000000000 --- a/src/mame/sunelectronics/route16_v.cpp +++ /dev/null @@ -1,148 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Zsolt Vasvari -/*************************************************************************** - - route16.cpp - - Functions to emulate the video hardware of the machine. - -***************************************************************************/ - -#include "emu.h" -#include "route16.h" - -void route16_state::video_start() -{ - save_item(NAME(m_flipscreen)); - save_item(NAME(m_palette_1)); - save_item(NAME(m_palette_2)); -} - -/************************************* - * - * Memory handlers - * - *************************************/ - -void route16_state::out0_w(uint8_t data) -{ - m_palette_1 = data & 0x1f; - - machine().bookkeeping().coin_counter_w(0, (data >> 5) & 0x01); -} - - -void route16_state::out1_w(uint8_t data) -{ - m_palette_2 = data & 0x1f; - - m_flipscreen = (data >> 5) & 0x01; -} - - - -/************************************* - * - * Video update - * - *************************************/ - -/* - * Game observation shows that Route 16 can blank each - * bitmap by setting bit 1 of the palette register. - * Since the schematics are missing the relevant pages, I - * cannot confirm how this works, but I am 99% sure the bit 1 - * would be connected to A7 of the color PROM. Since the - * color PROMs contain 0 in the upper half, this would produce - * a black output. - */ - -uint32_t route16_state::screen_update_route16(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) -{ - uint8_t *color_prom1 = &memregion("proms")->base()[0x000]; - uint8_t *color_prom2 = &memregion("proms")->base()[0x100]; - - for (offs_t offs = 0; offs < m_videoram1.bytes(); offs++) - { - uint8_t y = offs >> 6; - uint8_t x = offs << 2; - - uint8_t data1 = m_videoram1[offs]; - uint8_t data2 = m_videoram2[offs]; - - for (int i = 0; i < 4; i++) - { - uint8_t color1 = color_prom1[((m_palette_1 << 6) & 0x80) | - (m_palette_1 << 2) | - ((data1 >> 3) & 0x02) | - ((data1 >> 0) & 0x01)]; - - /* bit 7 of the 2nd color is the OR of the 1st color bits 0 and 1 - this is a guess */ - uint8_t color2 = color_prom2[((m_palette_2 << 6) & 0x80) | (((color1 << 6) & 0x80) | ((color1 << 7) & 0x80)) | - (m_palette_2 << 2) | - ((data2 >> 3) & 0x02) | - ((data2 >> 0) & 0x01)]; - - /* the final color is the OR of the two colors (verified) */ - uint8_t final_color = (color1 | color2) & 0x07; - - if (m_flipscreen) - bitmap.pix(255 - y, 255 - x) = m_palette->pen_color(final_color); - else - bitmap.pix(y, x) = m_palette->pen_color(final_color); - - x++; - data1 >>= 1; - data2 >>= 1; - } - } - - return 0; -} - - -/* - * The Stratovox video connections have been verified from the schematics - */ - -uint32_t route16_state::screen_update_jongpute(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) -{ - uint8_t *color_prom1 = &memregion("proms")->base()[0x000]; - uint8_t *color_prom2 = &memregion("proms")->base()[0x100]; - - for (offs_t offs = 0; offs < m_videoram1.bytes(); offs++) - { - uint8_t y = offs >> 6; - uint8_t x = offs << 2; - - uint8_t data1 = m_videoram1[offs]; - uint8_t data2 = m_videoram2[offs]; - - for (int i = 0; i < 4; i++) - { - uint8_t color1 = color_prom1[(m_palette_1 << 2) | - ((data1 >> 3) & 0x02) | - ((data1 >> 0) & 0x01)]; - - /* bit 7 of the 2nd color is the OR of the 1st color bits 0 and 1 (verified) */ - uint8_t color2 = color_prom2[(((data1 << 3) & 0x80) | ((data1 << 7) & 0x80)) | - (m_palette_2 << 2) | - ((data2 >> 3) & 0x02) | - ((data2 >> 0) & 0x01)]; - - /* the final color is the OR of the two colors */ - uint8_t final_color = (color1 | color2) & 0x07; - - if (m_flipscreen) - bitmap.pix(255 - y, 255 - x) = m_palette->pen_color(final_color); - else - bitmap.pix(y, x) = m_palette->pen_color(final_color); - - x++; - data1 >>= 1; - data2 >>= 1; - } - } - - return 0; -} diff --git a/src/mame/sunelectronics/shangha3.cpp b/src/mame/sunelectronics/shangha3.cpp index b8a7f7e457291..ca63b808b5d32 100644 --- a/src/mame/sunelectronics/shangha3.cpp +++ b/src/mame/sunelectronics/shangha3.cpp @@ -560,7 +560,7 @@ static INPUT_PORTS_START( shangha3 ) PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_START2 ) PORT_SERVICE_NO_TOGGLE(0x0020, IP_ACTIVE_LOW) PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("DSW1") // DIP switch locations assigned as per service mode PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SWA:1,2,3") @@ -621,7 +621,7 @@ static INPUT_PORTS_START( heberpop ) PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") // vblank?? has to toggle + PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // vblank?? has to toggle PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2) PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) @@ -629,7 +629,7 @@ static INPUT_PORTS_START( heberpop ) PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") // vblank?? has to toggle + PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // vblank?? has to toggle PORT_START("SYSTEM") PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) @@ -700,7 +700,7 @@ static INPUT_PORTS_START( blocken ) PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) - PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") // vblank?? has to toggle + PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // vblank?? has to toggle PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2) PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) @@ -708,7 +708,7 @@ static INPUT_PORTS_START( blocken ) PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) - PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") // vblank?? has to toggle + PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // vblank?? has to toggle PORT_START("SYSTEM") PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) diff --git a/src/mame/svision/svision.cpp b/src/mame/svision/svision.cpp index 573262426f50d..2f7c65dd373be 100644 --- a/src/mame/svision/svision.cpp +++ b/src/mame/svision/svision.cpp @@ -13,7 +13,7 @@ #include "bus/generic/carts.h" #include "bus/generic/slot.h" -#include "cpu/m6502/m65c02.h" +#include "cpu/m6502/w65c02.h" #include "machine/timer.h" #include "emupal.h" @@ -207,7 +207,7 @@ void svision_state::check_irq() bool irq = m_timer_shot && BIT(m_reg[BANK], 1); irq = irq || (m_dma_finished && BIT(m_reg[BANK], 2)); - m_maincpu->set_input_line(M65C02_IRQ_LINE, irq ? ASSERT_LINE : CLEAR_LINE); + m_maincpu->set_input_line(W65C02_IRQ_LINE, irq ? ASSERT_LINE : CLEAR_LINE); } TIMER_CALLBACK_MEMBER(svision_state::timer) @@ -712,7 +712,7 @@ void svision_state::svision(machine_config &config) { svision_base(config); - M65C02(config, m_maincpu, 4'000'000); + W65C02(config, m_maincpu, 4'000'000); m_maincpu->set_addrmap(AS_PROGRAM, &svision_state::program_map); SCREEN(config, m_screen, SCREEN_TYPE_LCD); diff --git a/src/mame/taito/bingowav.cpp b/src/mame/taito/bingowav.cpp index 010987f781c69..d1f793e2bdb05 100644 --- a/src/mame/taito/bingowav.cpp +++ b/src/mame/taito/bingowav.cpp @@ -169,4 +169,4 @@ ROM_END } // anonymous namespace -GAME( 1994, bingowav, 0, bingowav, bingowav, bingowav_state, empty_init, ROT0, "Taito", "Bingo Wave", MACHINE_IS_SKELETON ) +GAME( 1994, bingowav, 0, bingowav, bingowav, bingowav_state, empty_init, ROT0, "Taito", "Bingo Wave", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/taito/capr1.cpp b/src/mame/taito/capr1.cpp index 8d1e9c29b35b6..f4c5eaff9bb4a 100644 --- a/src/mame/taito/capr1.cpp +++ b/src/mame/taito/capr1.cpp @@ -267,4 +267,4 @@ ROM_END } // anonymous namespace -GAME( 1996, cspin2, 0, cspin2, cspin2, capr1_state, empty_init, ROT0, "Taito", "Capriccio Spin 2", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1996, cspin2, 0, cspin2, cspin2, capr1_state, empty_init, ROT0, "Taito", "Capriccio Spin 2", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/taito/caprcyc.cpp b/src/mame/taito/caprcyc.cpp index 02d998c0b5c1f..8fbb5936c240b 100644 --- a/src/mame/taito/caprcyc.cpp +++ b/src/mame/taito/caprcyc.cpp @@ -99,4 +99,4 @@ ROM_END } // anonymous namespace -GAME( 1999, caprcyc, 0, caprcyc, caprcyc, caprcyc_state, empty_init, ROT0, "Taito", "Capriccio Cyclone", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1999, caprcyc, 0, caprcyc, caprcyc, caprcyc_state, empty_init, ROT0, "Taito", "Capriccio Cyclone", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/taito/cucaracha.cpp b/src/mame/taito/cucaracha.cpp index 31de42850f85e..707413053b6be 100644 --- a/src/mame/taito/cucaracha.cpp +++ b/src/mame/taito/cucaracha.cpp @@ -298,5 +298,5 @@ ROM_END } // Anonymous namespace -GAME( 1992, cucaracha, 0, cucaracha, cucaracha, cucaracha_state, empty_init, ROT0, "Taito", "La Cucaracha (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) -GAME( 1992, cucaracha2, cucaracha, cucaracha, cucaracha, cucaracha_state, empty_init, ROT0, "Taito", "La Cucaracha (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1992, cucaracha, 0, cucaracha, cucaracha, cucaracha_state, empty_init, ROT0, "Taito", "La Cucaracha (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) +GAME( 1992, cucaracha2, cucaracha, cucaracha, cucaracha, cucaracha_state, empty_init, ROT0, "Taito", "La Cucaracha (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/taito/dinoking.cpp b/src/mame/taito/dinoking.cpp index 0c611300501bd..9879b7792419c 100644 --- a/src/mame/taito/dinoking.cpp +++ b/src/mame/taito/dinoking.cpp @@ -196,5 +196,5 @@ ROM_END } // anonymous namespace -GAME( 2004, dkkids, 0, dinoking, dinoking, dinoking_state, empty_init, ROT0, "Taito Corporation", "Dinoking Kids", MACHINE_IS_SKELETON ) -GAME( 2005, dkbattle, 0, dinoking, dinoking, dinoking_state, empty_init, ROT0, "Taito Corporation", "Dinoking Battle", MACHINE_IS_SKELETON ) +GAME( 2004, dkkids, 0, dinoking, dinoking, dinoking_state, empty_init, ROT0, "Taito Corporation", "Dinoking Kids", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2005, dkbattle, 0, dinoking, dinoking, dinoking_state, empty_init, ROT0, "Taito Corporation", "Dinoking Battle", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/taito/haplucky.cpp b/src/mame/taito/haplucky.cpp index 6c163772de58a..78e59ccef3ca3 100644 --- a/src/mame/taito/haplucky.cpp +++ b/src/mame/taito/haplucky.cpp @@ -183,4 +183,4 @@ ROM_END } // anonymous namespace -GAME( 1985, haplucky, 0, haplucky, haplucky, haplucky_state, empty_init, ROT0, "Taito Corporation", "Happy Lucky!", MACHINE_IS_SKELETON ) +GAME( 1985, haplucky, 0, haplucky, haplucky, haplucky_state, empty_init, ROT0, "Taito Corporation", "Happy Lucky!", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/taito/heromem.cpp b/src/mame/taito/heromem.cpp index 8357ea40c75cd..8e33486f2f70f 100644 --- a/src/mame/taito/heromem.cpp +++ b/src/mame/taito/heromem.cpp @@ -333,4 +333,4 @@ ROM_END } // Anonymous namespace -GAME( 1997, heromem, 0, heromem, heromem, heromem_state, empty_init, ROT0, "Taito", "Heroine's Memory", MACHINE_IS_SKELETON_MECHANICAL ) // video is emulatable, coin pushing mechanics less so +GAME( 1997, heromem, 0, heromem, heromem, heromem_state, empty_init, ROT0, "Taito", "Heroine's Memory", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK ) // video is emulatable, coin pushing mechanics less so diff --git a/src/mame/taito/rollrace.cpp b/src/mame/taito/rollrace.cpp index c916a4931399b..fe99ce69d6d42 100644 --- a/src/mame/taito/rollrace.cpp +++ b/src/mame/taito/rollrace.cpp @@ -447,7 +447,7 @@ static INPUT_PORTS_START( rollace ) PORT_DIPSETTING( 0x10, DEF_STR( 1C_3C ) ) PORT_DIPSETTING( 0x18, DEF_STR( 1C_6C ) ) -// PORT_BIT( 0x40, IP_ACTIVE_HIGH , IPT_CUSTOM ) PORT_VBLANK("screen") freezes frame, could be vblank ? +// PORT_BIT( 0x40, IP_ACTIVE_HIGH , IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) freezes frame, could be vblank ? PORT_DIPNAME( 0x40, 0x00, "Freeze" ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x40, DEF_STR( On ) ) diff --git a/src/mame/taito/sbmjb.cpp b/src/mame/taito/sbmjb.cpp index 7d3eaa9a50763..a972ab22d6e9a 100644 --- a/src/mame/taito/sbmjb.cpp +++ b/src/mame/taito/sbmjb.cpp @@ -7,12 +7,10 @@ Honoo no Invader (炎のインベーダー) (c) 1997 Taito Bubblen Roulette (バブルンるーれっと) (c) 1997 Taito - video: https://www.youtube.com/watch?v=AaugRz3cqv0 Packy's Treasure Slot (パッキイのトレジャースロット) (c) 1997 Taito - video: https://www.youtube.com/watch?v=IPse14eGiqM + Harikiri Junior Baseball (はりきりジュニアベースボール) (c) 1998 Taito - video: https://www.youtube.com/watch?v=eRZctnd8whE Sonic Blast Man's Janken Battle (ソニックブラストマンのジャンケンバトル) (c) 1998 Taito - video: https://www.youtube.com/watch?v=AFWLMHbpQz8 Renda Fighter (レンダファイター) (c) 2000 Taito - video: https://www.youtube.com/watch?v=GbeX28lbqbk - Other undumped games believed to use the same hardware: - Harikiri Junior Baseball (はりきりジュニアベースボール) (c) 1998 Taito - video: https://www.youtube.com/watch?v=eRZctnd8whE - Main components: 2 x Z0840004PSC 1 x TC0091LVC (marked as TC0090LVC on PCB) @@ -219,6 +217,31 @@ static INPUT_PORTS_START( packysts ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_WRITE_LINE_DEVICE_MEMBER("opto", FUNC(taitoio_opto_device::coin_sense_w)) INPUT_PORTS_END +static INPUT_PORTS_START( harikiri ) + PORT_START("IN0") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Bonus Yes") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Bonus No") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) // No effect in test mode + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // No effect in test mode + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // No effect in test mode + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) // No effect in test mode + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Swing")// Also used to confirm in test mode + + PORT_START("IN1") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) // Also used to select in test mode + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_CUSTOM ) // Hopper Sensor, active high or it will stop booting due to hopper related problems + PORT_SERVICE( 0x04, IP_ACTIVE_LOW ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("100 Yen Switch") + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("opto", FUNC(taitoio_opto_device::opto_h_r)) + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("opto", FUNC(taitoio_opto_device::opto_l_r)) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) // No effect in test mode + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) // No effect in test mode + + PORT_START("COIN") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_WRITE_LINE_DEVICE_MEMBER("opto", FUNC(taitoio_opto_device::coin_sense_w)) +INPUT_PORTS_END + static INPUT_PORTS_START( sbmjb ) // no dips on PCB, game options selectable in test mode PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Bet 5") @@ -381,6 +404,28 @@ ROM_START( bubbroul ) ROM_LOAD( "e41-03.ic24", 0x200, 0x117, CRC(d906c8ea) SHA1(eae9c9c25b4affe4baf7ba034c61670d24f5c4d1) ) ROM_END +ROM_START( bubbroul17 ) + ROM_REGION( 0x10000, "maincpu", 0 ) // Main ver. 1.7 1998/01/05 + ROM_LOAD( "ic12", 0x00000, 0x10000, CRC(53bc1750) SHA1(935b5d8d16c6790b117e8c76e94d4217197d2ea5) ) // 1xxxxxxxxxxxxxxx = 0xFF, label peeled off + + ROM_REGION( 0x10000, "audiocpu", 0 ) + ROM_LOAD( "e48-04.ic5", 0x00000, 0x10000, CRC(b25f98c6) SHA1(fc6f36037c3d6a0eef1a266511b83f0cb88fe003) ) // 1xxxxxxxxxxxxxxx = 0xFF + + ROM_REGION( 0x80000, "vdpcpu", 0 ) // Video ver. 1.3 1998/01/05 + ROM_LOAD( "e48-01s.ic52", 0x00000, 0x80000, CRC(e6dd4cff) SHA1(11666036715c117fc5429b8a72a63c468b82c796) ) // 1xxxxxxxxxxxxxxxxxx = 0xFF + + ROM_REGION( 0x100000, "vdpcpu:gfx", 0 ) + ROM_LOAD16_BYTE( "e48-02.ic49", 0x00000, 0x80000, CRC(c8b98e3c) SHA1(e25d52e14223cc60f3047ae22ccea711fdf4066a) ) + ROM_LOAD16_BYTE( "e48-03.ic48", 0x00001, 0x80000, CRC(a46dcf53) SHA1(573ea201d9d61703002d5da6b278b7ee02efab35) ) + + ROM_REGION( 0x40000, "oki", 0 ) + ROM_LOAD( "e48-06.ic3", 0x00000, 0x40000, CRC(96c2f509) SHA1(d2a81dcbb1c9225b30d8da2ada09b5063dfecca0) ) + + ROM_REGION( 0x400, "plds", 0 ) + ROM_LOAD( "e41-02.ic51", 0x000, 0x117, CRC(67fd54e0) SHA1(f64fb33b9a4a935af5662b5103709131727c8411) ) + ROM_LOAD( "e41-03.ic24", 0x200, 0x117, CRC(d906c8ea) SHA1(eae9c9c25b4affe4baf7ba034c61670d24f5c4d1) ) +ROM_END + ROM_START( packysts ) ROM_REGION( 0x10000, "maincpu", 0 ) // Main ver. 1.3 1998/11/02 ROM_LOAD( "e55-05-1.ic12", 0x00000, 0x10000, CRC(3bf64ee6) SHA1(af7dc848f3cee4e0391ff9f940534647856a78f3) ) // 1xxxxxxxxxxxxxxx = 0xFF @@ -403,6 +448,28 @@ ROM_START( packysts ) ROM_LOAD( "e41-03.ic24", 0x200, 0x117, CRC(d906c8ea) SHA1(eae9c9c25b4affe4baf7ba034c61670d24f5c4d1) ) ROM_END +ROM_START( harikiri ) + ROM_REGION( 0x10000, "maincpu", 0 ) // Main ver. 1.0 1998/11/19 + ROM_LOAD( "e67-05.ic12", 0x00000, 0x10000, CRC(23e075aa) SHA1(85633fd1d0cae355cc88c5164616808d28445856) ) // 1xxxxxxxxxxxxxxx = 0xFF + + ROM_REGION( 0x10000, "audiocpu", 0 ) + ROM_LOAD( "e67-04.ic5", 0x00000, 0x10000, CRC(d01aceea) SHA1(c18b9a21136081286276067871492a9b4b1cad44) ) // 1xxxxxxxxxxxxxxx = 0xFF + + ROM_REGION( 0x80000, "vdpcpu", 0 ) // Video ver. 1.3 1999/01/20 + ROM_LOAD( "e67-01.ic52", 0x00000, 0x80000, CRC(54c4f562) SHA1(dafdd250d002129fdaebb7f7ad7f4762a56f4cfc) ) + + ROM_REGION( 0x100000, "vdpcpu:gfx", 0 ) + ROM_LOAD16_BYTE( "e67-02.ic49", 0x00000, 0x80000, CRC(9ded75f6) SHA1(b0e5c9f00b9af19d904957cc56b146409f18dc1b) ) + ROM_LOAD16_BYTE( "e67-03.ic48", 0x00001, 0x80000, CRC(3de15798) SHA1(bfbb113b7ccfe6892c1234674ae6ddd7191c5fe4) ) + + ROM_REGION( 0x40000, "oki", 0 ) + ROM_LOAD( "e67-06.ic3", 0x00000, 0x40000, CRC(1e78af47) SHA1(e96fc600e758c2647473dd80b0d25df16f3e54e8) ) + + ROM_REGION( 0x400, "plds", 0 ) + ROM_LOAD( "e41-02.ic51", 0x000, 0x117, CRC(67fd54e0) SHA1(f64fb33b9a4a935af5662b5103709131727c8411) ) + ROM_LOAD( "e41-03.ic24", 0x200, 0x117, CRC(d906c8ea) SHA1(eae9c9c25b4affe4baf7ba034c61670d24f5c4d1) ) +ROM_END + ROM_START( sbmjb ) // all labels were peeled off / unreadable ROM_REGION( 0x10000, "maincpu", 0 ) // Main ver. 1.1 1998/08/25 ROM_LOAD( "mprog.ic12", 0x00000, 0x10000, CRC(d11f14eb) SHA1(29c4b8e3ebb9ff3c5630c7bb3c8224a2f57e8fe8) ) // 1xxxxxxxxxxxxxxx = 0xFF @@ -449,8 +516,10 @@ ROM_END } // anonymous namespace -GAME( 1997, honooinv, 0, honooinv, honooinv, sbmjb_state, empty_init, ROT0, "Taito Corporation", "Honoo no Invader (Japan, main ver. 1.35, video ver. 1.35)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) -GAME( 1997, bubbroul, 0, sbmjb, bubbroul, sbmjb_state, empty_init, ROT0, "Taito Corporation", "Bubblen Roulette (Japan, main ver. 1.8, video ver. 1.3)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) -GAME( 1997, packysts, 0, sbmjb, packysts, sbmjb_state, empty_init, ROT0, "Taito Corporation", "Packy's Treasure Slot (Japan, main ver. 1.3, video ver. 1.1)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) -GAME( 1998, sbmjb, 0, sbmjb, sbmjb, sbmjb_state, empty_init, ROT0, "Taito Corporation", "Sonic Blast Man's Janken Battle (Japan, main ver. 1.1, video ver. 1.0)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) -GAME( 2000, rendfgtr, 0, sbmjb, rendfgtr, sbmjb_state, empty_init, ROT0, "Taito Corporation", "Renda Fighter (Japan, main ver. 2.02, video ver. 2.03)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) +GAME( 1997, honooinv, 0, honooinv, honooinv, sbmjb_state, empty_init, ROT0, "Taito Corporation", "Honoo no Invader (Japan, main ver. 1.35, video ver. 1.35)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) +GAME( 1997, bubbroul, 0, sbmjb, bubbroul, sbmjb_state, empty_init, ROT0, "Taito Corporation", "Bubblen Roulette (Japan, main ver. 1.8, video ver. 1.3)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) +GAME( 1997, bubbroul17, bubbroul, sbmjb, bubbroul, sbmjb_state, empty_init, ROT0, "Taito Corporation", "Bubblen Roulette (Japan, main ver. 1.7, video ver. 1.3)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) +GAME( 1997, packysts, 0, sbmjb, packysts, sbmjb_state, empty_init, ROT0, "Taito Corporation", "Packy's Treasure Slot (Japan, main ver. 1.3, video ver. 1.1)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) +GAME( 1998, harikiri, 0, sbmjb, harikiri, sbmjb_state, empty_init, ROT0, "Taito Corporation", "Harikiri Junior Baseball (Japan, main ver. 1.0, video ver. 1.3)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) +GAME( 1998, sbmjb, 0, sbmjb, sbmjb, sbmjb_state, empty_init, ROT0, "Taito Corporation", "Sonic Blast Man's Janken Battle (Japan, main ver. 1.1, video ver. 1.0)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) +GAME( 2000, rendfgtr, 0, sbmjb, rendfgtr, sbmjb_state, empty_init, ROT0, "Taito Corporation", "Renda Fighter (Japan, main ver. 2.02, video ver. 2.03)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/taito/superqix.cpp b/src/mame/taito/superqix.cpp index 3c93a7df22aaf..afbaa195a06c2 100644 --- a/src/mame/taito/superqix.cpp +++ b/src/mame/taito/superqix.cpp @@ -1096,7 +1096,7 @@ static INPUT_PORTS_START( pbillian ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) // hblank? - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("BUTTONS") // ay port A (register E) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED ) // N/C @@ -1187,7 +1187,7 @@ static INPUT_PORTS_START( pbillianb ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) // hblank? - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("CONTROLS") // 0xc06: both players in upright, player 1 in cocktail PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) @@ -1278,7 +1278,7 @@ static INPUT_PORTS_START( hotsmash ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 )//$49c PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )//$42d PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) // hblank? - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("BUTTONS") // ay port A (register E) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED ) @@ -1374,7 +1374,7 @@ static INPUT_PORTS_START( superqix ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY // JAMMA #21 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) // JAMMA #22 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) // JAMMA #23 - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") /* ??? where does this come from? */ + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) /* ??? where does this come from? */ PORT_SERVICE( 0x80, IP_ACTIVE_LOW ) // ??? where does this come from? PORT_START("P2") /* AY-3-8910 #1 @3P Port B */ diff --git a/src/mame/taito/taitottl.cpp b/src/mame/taito/taitottl.cpp index 84c1de8fe6c00..745c7c57f93b8 100644 --- a/src/mame/taito/taitottl.cpp +++ b/src/mame/taito/taitottl.cpp @@ -441,12 +441,12 @@ ROM_END } // anonymous namespace -GAME( 1977, fisco400, 0, taitottl, 0, taitottl_state, empty_init, ROT0, "Taito", "Cisco/Fisco 400", MACHINE_IS_SKELETON ) -GAME( 1977, gunman, 0, taitottl, 0, taitottl_state, empty_init, ROT0, "Taito", "Gunman", MACHINE_IS_SKELETON ) -GAME( 1977, missilex, 0, taitottl, 0, taitottl_state, empty_init, ROT0, "Taito", "Missile-X", MACHINE_IS_SKELETON ) -GAME( 1977, ttblock, 0, taitottl, 0, taitottl_state, empty_init, ROT0, "Taito", "T.T Block", MACHINE_IS_SKELETON ) -GAME( 1978, ttsracec, 0, taitottl, 0, taitottl_state, empty_init, ROT0, "Taito", "T.T. Speed Race CL", MACHINE_IS_SKELETON ) -GAME( 1979, zzblock, 0, taitottl, 0, taitottl_state, empty_init, ROT0, "Taito", "Zun Zun Block", MACHINE_IS_SKELETON ) +GAME( 1977, fisco400, 0, taitottl, 0, taitottl_state, empty_init, ROT0, "Taito", "Cisco/Fisco 400", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1977, gunman, 0, taitottl, 0, taitottl_state, empty_init, ROT0, "Taito", "Gunman", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1977, missilex, 0, taitottl, 0, taitottl_state, empty_init, ROT0, "Taito", "Missile-X", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1977, ttblock, 0, taitottl, 0, taitottl_state, empty_init, ROT0, "Taito", "T.T Block", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1978, ttsracec, 0, taitottl, 0, taitottl_state, empty_init, ROT0, "Taito", "T.T. Speed Race CL", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 1979, zzblock, 0, taitottl, 0, taitottl_state, empty_init, ROT0, "Taito", "Zun Zun Block", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // Not from Taito -GAME( 1978, srdchamp, 0, taitottl, 0, taitottl_state, empty_init, ROT0, "Model Racing", "Super Road Champions", MACHINE_IS_SKELETON ) +GAME( 1978, srdchamp, 0, taitottl, 0, taitottl_state, empty_init, ROT0, "Model Racing", "Super Road Champions", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/taito/tnzs.cpp b/src/mame/taito/tnzs.cpp index e1f982388cdd5..5bbb641ffd2d2 100644 --- a/src/mame/taito/tnzs.cpp +++ b/src/mame/taito/tnzs.cpp @@ -673,7 +673,6 @@ d23f=input port 1 value #include "machine/gen_latch.h" #include "machine/upd4701.h" #include "sound/dac.h" -#include "sound/samples.h" #include "sound/ymopm.h" #include "sound/ymopn.h" @@ -825,10 +824,10 @@ class kageki_state : public insectx_state public: kageki_state(const machine_config &mconfig, device_type type, const char *tag) : insectx_state(mconfig, type, tag) - , m_samples(*this, "samples") , m_dswa(*this, "DSWA") , m_dswb(*this, "DSWB") , m_csport_sel(0) + , m_scpu(*this, "samples") { } void kageki(machine_config &config) ATTR_COLD; @@ -847,20 +846,15 @@ class kageki_state : public insectx_state uint8_t csport_r(); void csport_w(uint8_t data); - SAMPLES_START_CB_MEMBER(init_samples); - void kageki_sub_map(address_map &map) ATTR_COLD; - - required_device m_samples; + void scpu_map(address_map& map) ATTR_COLD; + void scpu_io_map(address_map& map) ATTR_COLD; required_ioport m_dswa; required_ioport m_dswb; - // sound-related - std::unique_ptr m_sampledata[MAX_SAMPLES]; - int m_samplesize[MAX_SAMPLES]{}; - int m_csport_sel; + required_device m_scpu; }; @@ -1422,38 +1416,6 @@ void kabukiz_state::sound_bank_w(uint8_t data) } -SAMPLES_START_CB_MEMBER(kageki_state::init_samples) -{ - uint8_t *src = memregion("samples")->base() + 0x0090; - for (int i = 0; i < MAX_SAMPLES; i++) - { - int start = (src[(i * 2) + 1] * 256) + src[(i * 2)]; - uint8_t *scan = &src[start]; - int size = 0; - - // check sample length - while (*scan++ != 0x00) - size++; - - /* 2009-11 FP: should these be saved? */ - m_sampledata[i] = std::make_unique(size); - m_samplesize[i] = size; - - if (start < 0x100) - start = size = 0; - - // signed 8-bit sample to unsigned 8-bit sample convert - int16_t *dest = m_sampledata[i].get(); - scan = &src[start]; - for (int n = 0; n < size; n++) - { - *dest++ = (int8_t)((*scan++) ^ 0x80) * 256; - } - // logerror("samples num:%02X ofs:%04X lng:%04X\n", i, start, size); - } -} - - uint8_t kageki_state::csport_r() { int dsw, dsw1, dsw2; @@ -1461,7 +1423,7 @@ uint8_t kageki_state::csport_r() dsw1 = m_dswa->read(); dsw2 = m_dswb->read(); - switch (m_csport_sel) + switch (m_csport_sel & 3) { case 0x00: // DSW2 5,1 / DSW1 5,1 dsw = (((dsw2 & 0x10) >> 1) | ((dsw2 & 0x01) << 2) | ((dsw1 & 0x10) >> 3) | ((dsw1 & 0x01) >> 0)); @@ -1485,26 +1447,10 @@ uint8_t kageki_state::csport_r() void kageki_state::csport_w(uint8_t data) { - if (data > 0x3f) - { - // read dipsw port - m_csport_sel = (data & 0x03); - } - else - { - if (data < MAX_SAMPLES) - { - // play samples - m_samples->start_raw(0, m_sampledata[data].get(), m_samplesize[data], 7000); - LOG("VOICE:%02X PLAY", data); - } - else - { - // stop samples - m_samples->stop(0); - LOG("VOICE:%02X STOP", data); - } - } + m_csport_sel = data; + + if (!BIT(data, 6)) + m_scpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } void insectx_state::prompal_main_map(address_map &map) @@ -1590,6 +1536,18 @@ void kageki_state::kageki_sub_map(address_map &map) map(0xc002, 0xc002).portr("IN2"); } +void kageki_state::scpu_map(address_map& map) +{ + map(0x0000, 0xffff).rom(); +} + +void kageki_state::scpu_io_map(address_map& map) +{ + map.global_mask(0xff); + map(0x00, 0xff).w("dac", FUNC(dac_byte_interface::data_w)); + map(0x00, 0xff).lr8(NAME([this]() { return m_csport_sel; })); +} + void insectx_state::insectx_sub_map(address_map &map) { base_sub_map(map); @@ -2415,6 +2373,10 @@ void kageki_state::kageki(machine_config &config) /* basic machine hardware */ m_subcpu->set_addrmap(AS_PROGRAM, &kageki_state::kageki_sub_map); + Z80(config, m_scpu, XTAL(12'000'000) / 4); + m_scpu->set_addrmap(AS_PROGRAM, &kageki_state::scpu_map); + m_scpu->set_addrmap(AS_IO, &kageki_state::scpu_io_map); + /* sound hardware */ ym2203_device &ymsnd(YM2203(config, "ymsnd", XTAL(12'000'000)/4)); /* verified on pcb */ ymsnd.port_a_read_callback().set(FUNC(kageki_state::csport_r)); @@ -2424,10 +2386,7 @@ void kageki_state::kageki(machine_config &config) ymsnd.add_route(2, "speaker", 0.15); ymsnd.add_route(3, "speaker", 0.35); - SAMPLES(config, m_samples); - m_samples->set_channels(1); - m_samples->set_samples_start_callback(FUNC(kageki_state::init_samples)); - m_samples->add_route(ALL_OUTPUTS, "speaker", 1.0); + DAC_8BIT_R2R(config, "dac", 0).add_route(ALL_OUTPUTS, "speaker", 0.5); // HA17408P R2R DAC, TODO: check levels } void tnzsb_state::tnzsb(machine_config &config) diff --git a/src/mame/tangerine/hhtiger.cpp b/src/mame/tangerine/hhtiger.cpp index 6c1088081041a..b453c9d1872a5 100644 --- a/src/mame/tangerine/hhtiger.cpp +++ b/src/mame/tangerine/hhtiger.cpp @@ -592,5 +592,5 @@ ROM_END /* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */ -COMP( 1983, hhtiger, 0, 0, hhtiger, hhtiger, hhtiger_state, empty_init, "H/H Microcomputers", "H/H Tiger", MACHINE_IS_SKELETON ) +COMP( 1983, hhtiger, 0, 0, hhtiger, hhtiger, hhtiger_state, empty_init, "H/H Microcomputers", "H/H Tiger", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/tatsumi/kingdrby.cpp b/src/mame/tatsumi/kingdrby.cpp index 8b7830650d5f3..3527f0cdf8391 100644 --- a/src/mame/tatsumi/kingdrby.cpp +++ b/src/mame/tatsumi/kingdrby.cpp @@ -560,7 +560,7 @@ static INPUT_PORTS_START( kingdrby ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) //2p hopper i/o PORT_START("IN1") // ppi0 (5001) - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") //? + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) //? PORT_DIPNAME( 0x02, 0x02, "IN1" ) PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) @@ -743,7 +743,7 @@ static INPUT_PORTS_START( kingdrbb ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("IN1") // ppi0 (5001) - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") //? + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) //? PORT_DIPNAME( 0x02, 0x02, "IN1" ) PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) diff --git a/src/mame/tecfri/ambush.cpp b/src/mame/tecfri/ambush.cpp index 35cc9bbd95550..af533148c5952 100644 --- a/src/mame/tecfri/ambush.cpp +++ b/src/mame/tecfri/ambush.cpp @@ -973,6 +973,7 @@ GAME( 1983, ambush, 0, ambush, ambusht, ambush_state, empty_init, GAME( 1983, ambushh, ambush, ambush, ambusht, ambush_state, empty_init, ROT0, "Tecfri", "Ambush (hack?)", MACHINE_SUPPORTS_SAVE ) GAME( 1983, ambushj, ambush, ambush, ambush, ambush_state, empty_init, ROT0, "Tecfri (Nippon Amuse license)", "Ambush (Japan)", MACHINE_SUPPORTS_SAVE ) GAME( 1983, ambushv, ambush, ambush, ambush, ambush_state, empty_init, ROT0, "Tecfri (Volt Electronics license)", "Ambush (Volt Electronics)", MACHINE_SUPPORTS_SAVE ) + GAME( 1983, mariobl, mario, mariobl, mariobl, ambush_state, empty_init, ROT180, "bootleg", "Mario Bros. (bootleg on Ambush Hardware, set 1)", MACHINE_SUPPORTS_SAVE ) GAME( 1983, mariobla, mario, mariobla, mariobl, ambush_state, empty_init, ROT180, "bootleg", "Mario Bros. (bootleg on Ambush Hardware, set 2)", MACHINE_SUPPORTS_SAVE ) GAME( 1983, dkong3abl, dkong3, dkong3abl, dkong3abl, ambush_state, empty_init, ROT90, "bootleg", "Donkey Kong 3 (bootleg on Ambush hardware)", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/tecfri/holeland.cpp b/src/mame/tecfri/holeland.cpp index d89ec0741f7b9..5042b9101c9c3 100644 --- a/src/mame/tecfri/holeland.cpp +++ b/src/mame/tecfri/holeland.cpp @@ -11,9 +11,7 @@ - In stop mode press p1 start to freeze the screen, p2 start to resume TODO: - - missing high bit of sprite X coordinate? (see round 2 and 3 of attract - mode in crzrally) - - crzrally: emulate steering wheel; + - crzrally: emulate steering wheel ***************************************************************************/ @@ -246,7 +244,21 @@ void crzrally_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec int const code = m_spriteram[offs + 1] + ((m_spriteram[offs + 3] & 0x01) << 8); int const color = (m_spriteram[offs + 3] >> 4) + ((m_spriteram[offs + 3] & 0x01) << 4); - // Bit 1 unknown but somehow related to X offset (clipping range?) + // Bit 1 somehow related to X offset (clipping range?) + if (m_spriteram[offs + 3] & 0x02) + { + if (sx > 0xc0) + { + // Sign extend + sx = int8_t(sx); + } + } + else + { + if (sx < 0x40) + continue; + } + int flipx = m_spriteram[offs + 3] & 0x04; int flipy = m_spriteram[offs + 3] & 0x08; @@ -317,7 +329,7 @@ void crzrally_state::prg_map(address_map &map) void base_state::io_map(address_map &map) { map.global_mask(0xff); - map(0x01, 0x01).r("watchdog", FUNC(watchdog_timer_device::reset_r)); // ? + map(0x01, 0x01).r("watchdog", FUNC(watchdog_timer_device::reset_r)); // ? map(0x04, 0x04).r("ay1", FUNC(ay8910_device::data_r)); map(0x04, 0x05).w("ay1", FUNC(ay8910_device::address_data_w)); map(0x06, 0x06).r("ay2", FUNC(ay8910_device::data_r)); @@ -584,7 +596,7 @@ void holeland_state::holeland(machine_config &config) void crzrally_state::crzrally(machine_config &config) { // basic machine hardware - Z80(config, m_maincpu, 20_MHz_XTAL / 4); // 5 MHz + Z80(config, m_maincpu, 20_MHz_XTAL / 4); // 5 MHz m_maincpu->set_addrmap(AS_PROGRAM, &crzrally_state::prg_map); m_maincpu->set_addrmap(AS_IO, &crzrally_state::io_map); m_maincpu->set_vblank_int("screen", FUNC(crzrally_state::irq0_line_hold)); @@ -850,6 +862,7 @@ ROM_END GAME( 1984, holeland, 0, holeland, holeland, holeland_state, empty_init, ROT0, "Tecfri", "Hole Land (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) GAME( 1984, holeland2, holeland, holeland, holeland2, holeland_state, empty_init, ROT0, "Tecfri", "Hole Land (Spain)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) //attract is different + GAME( 1985, crzrally, 0, crzrally, crzrally, crzrally_state, empty_init, ROT270, "Tecfri", "Crazy Rally (set 1)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) GAME( 1985, crzrallya, crzrally, crzrally, crzrally, crzrally_state, empty_init, ROT270, "Tecfri", "Crazy Rally (set 2)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) GAME( 1985, crzrallyg, crzrally, crzrally, crzrally, crzrally_state, empty_init, ROT270, "Tecfri (Gecas license)", "Crazy Rally (Gecas license)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/tecfri/sauro.cpp b/src/mame/tecfri/sauro.cpp index 2b61c3faf42d4..4f5574e414abe 100644 --- a/src/mame/tecfri/sauro.cpp +++ b/src/mame/tecfri/sauro.cpp @@ -63,10 +63,12 @@ TODO - What do the rest of the ports in the range c0-ce do? + Tricky Doc ---------- Addition by Reip +Applause by hap Stephh's notes (based on the games Z80 code and some tests) : @@ -167,8 +169,7 @@ class base_state : public driver_device required_shared_ptr m_bg_colorram; tilemap_t *m_bg_tilemap = nullptr; - uint8_t m_palette_bank = 0U; - + uint8_t m_palette_bank = 0; bool m_irq_enable = 0; // common @@ -327,14 +328,10 @@ void sauro_state::scroll_fg_w(uint8_t data) void sauro_state::video_start() { - m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(sauro_state::get_tile_info_bg)), TILEMAP_SCAN_COLS, - 8, 8, 32, 32); - - m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(sauro_state::get_tile_info_fg)), TILEMAP_SCAN_COLS, - 8, 8, 32, 32); + m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(sauro_state::get_tile_info_bg)), TILEMAP_SCAN_COLS, 8, 8, 32, 32); + m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(sauro_state::get_tile_info_fg)), TILEMAP_SCAN_COLS, 8, 8, 32, 32); m_fg_tilemap->set_transparent_pen(0); - m_palette_bank = 0; save_item(NAME(m_palette_bank)); } @@ -343,10 +340,12 @@ void sauro_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect) { int const flipy = flip_screen(); + // Weird, sprites entries don't start on DWORD boundary for (int offs = 3; offs < m_spriteram.bytes() - 1; offs += 4) { int sy = m_spriteram[offs]; - if (sy == 0xf8) continue; + if (sy == 0xf8) + continue; int const code = m_spriteram[offs + 1] + ((m_spriteram[offs + 3] & 0x03) << 8); int sx = m_spriteram[offs + 2]; @@ -359,12 +358,13 @@ void sauro_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect) if (sx > 0xc0) { // Sign extend - sx = (signed int)(signed char)sx; + sx = int8_t(sx); } } else { - if (sx < 0x40) continue; + if (sx < 0x40) + continue; } int flipx = m_spriteram[offs + 3] & 0x04; @@ -372,7 +372,7 @@ void sauro_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect) if (flipy) { flipx = !flipx; - sx = (235 - sx) & 0xff; // The &0xff is not 100% percent correct + sx = (235 - sx) & 0xff; // The & 0xff is not 100% correct sy = 240 - sy; } @@ -396,29 +396,16 @@ uint32_t sauro_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, void trckydoc_state::video_start() { - m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(trckydoc_state::get_tile_info_bg)), TILEMAP_SCAN_COLS, - 8, 8, 32, 32); - - m_palette_bank = 0; + m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(trckydoc_state::get_tile_info_bg)), TILEMAP_SCAN_COLS, 8, 8, 32, 32); } void trckydoc_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect) { - int const flipy = flip_screen(); - // Weird, sprites entries don't start on DWORD boundary for (int offs = 3; offs < m_spriteram.bytes() - 1; offs += 4) { int sy = m_spriteram[offs]; - - if (m_spriteram[offs + 3] & 0x08) - { - // needed by the elevator cable (2nd stage), balls bouncing (3rd stage) and maybe other things - sy += 6; - } - int const code = m_spriteram[offs + 1] + ((m_spriteram[offs + 3] & 0x01) << 8); - int sx = m_spriteram[offs + 2] - 2; int const color = (m_spriteram[offs + 3] >> 4) & 0x0f; @@ -430,20 +417,23 @@ void trckydoc_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec if (sx > 0xc0) { // Sign extend - sx = (signed int)(signed char)sx; + sx = int8_t(sx); } } else { - if (sx < 0x40) continue; + if (sx < 0x40) + continue; } int flipx = m_spriteram[offs + 3] & 0x04; + int flipy = m_spriteram[offs + 3] & 0x08; - if (flipy) + if (flip_screen()) { flipx = !flipx; - sx = (235 - sx) & 0xff; // The &0xff is not 100% percent correct + flipy = !flipy; + sx = (235 - sx) & 0xff; // The & 0xff is not 100% correct sy = 240 - sy; } @@ -532,7 +522,7 @@ void sauro_state::sauro_sound_map(address_map &map) map(0xc000, 0xc001).w("ymsnd", FUNC(ym3812_device::write)); map(0xa000, 0xa000).w("speech", FUNC(sp0256_device::ald_w)); map(0xe000, 0xe000).r(FUNC(sauro_state::sound_command_r)); - map(0xe000, 0xe006).nopw(); // echo from write to e0000 + map(0xe000, 0xe006).nopw(); // echo from write to e0000 map(0xe00e, 0xe00f).nopw(); } @@ -544,7 +534,7 @@ void sauro_state::saurobl_sound_map(address_map &map) map(0xc000, 0xc001).w("ymsnd", FUNC(ym3812_device::write)); map(0xa000, 0xa000).nopw(); map(0xe000, 0xe000).r(FUNC(sauro_state::sound_command_r)); - map(0xe000, 0xe006).nopw(); // echo from write to e0000 + map(0xe000, 0xe006).nopw(); // echo from write to e0000 map(0xe00e, 0xe00f).nopw(); } @@ -579,7 +569,7 @@ static INPUT_PORTS_START( tecfri ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY - PORT_START("P2") // See notes + PORT_START("P2") // See notes PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 ) @@ -657,7 +647,7 @@ static INPUT_PORTS_START( saurobl ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY - PORT_START("P2") // See notes + PORT_START("P2") // See notes PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START1 ) @@ -765,7 +755,7 @@ GFXDECODE_END void base_state::tecfri(machine_config &config) { // Basic machine hardware - Z80(config, m_maincpu, XTAL(20'000'000) / 4); // Verified on PCB + Z80(config, m_maincpu, XTAL(20'000'000) / 4); // Verified on PCB LS259(config, m_mainlatch); m_mainlatch->q_out_cb<4>().set(FUNC(base_state::irq_reset_w)); @@ -788,7 +778,7 @@ void base_state::tecfri(machine_config &config) // Sound hardware SPEAKER(config, "mono").front_center(); - YM3812(config, "ymsnd", XTAL(20'000'000) / 8).add_route(ALL_OUTPUTS, "mono", 1.0); // Verified on PCB + YM3812(config, "ymsnd", XTAL(20'000'000) / 8).add_route(ALL_OUTPUTS, "mono", 1.0); // Verified on PCB } void trckydoc_state::trckydoc(machine_config &config) @@ -821,7 +811,7 @@ void sauro_state::saurobl(machine_config &config) m_mainlatch->q_out_cb<5>().set(FUNC(sauro_state::palette_bank0_w)); m_mainlatch->q_out_cb<6>().set(FUNC(sauro_state::palette_bank1_w)); - z80_device &audiocpu(Z80(config, "audiocpu", XTAL(20'000'000) / 5)); // Verified on PCB + z80_device &audiocpu(Z80(config, "audiocpu", XTAL(20'000'000) / 5)); // Verified on PCB audiocpu.set_addrmap(AS_PROGRAM, &sauro_state::saurobl_sound_map); audiocpu.set_periodic_int(FUNC(sauro_state::irq0_line_hold), attotime::from_hz(8 * 60)); // ? @@ -831,7 +821,7 @@ void sauro_state::saurobl(machine_config &config) GENERIC_LATCH_8(config, m_soundlatch); - subdevice("ymsnd")->set_clock(XTAL(20'000'000) / 5); // Verified on PCB + subdevice("ymsnd")->set_clock(XTAL(20'000'000) / 5); // Verified on PCB } void sauro_state::sauro(machine_config &config) @@ -841,7 +831,7 @@ void sauro_state::sauro(machine_config &config) subdevice("audiocpu")->set_addrmap(AS_PROGRAM, &sauro_state::sauro_sound_map); // Sound hardware - sp0256_device &sp0256(SP0256(config, "speech", XTAL(20'000'000) / 5)); // Verified on PCB + sp0256_device &sp0256(SP0256(config, "speech", XTAL(20'000'000) / 5)); // Verified on PCB sp0256.data_request_callback().set_inputline("audiocpu", INPUT_LINE_NMI); sp0256.add_route(ALL_OUTPUTS, "mono", 1.0); } diff --git a/src/mame/tecfri/speedbal.cpp b/src/mame/tecfri/speedbal.cpp index 0c57d9d4d975b..2e84d25a625a2 100644 --- a/src/mame/tecfri/speedbal.cpp +++ b/src/mame/tecfri/speedbal.cpp @@ -606,6 +606,6 @@ void speedbal_state::init_musicbal() } // anonymous namespace -GAMEL( 1987, speedbal, 0, speedbal, speedbal, speedbal_state, init_speedbal, ROT270, "Tecfri / Desystem S.A.", "Speed Ball (set 1)", MACHINE_SUPPORTS_SAVE, layout_speedbal ) +GAMEL( 1987, speedbal, 0, speedbal, speedbal, speedbal_state, init_speedbal, ROT270, "Tecfri / Desystem S.A.", "Speed Ball (set 1)", MACHINE_SUPPORTS_SAVE, layout_speedbal ) GAMEL( 1987, speedbala, speedbal, speedbal, speedbal, speedbal_state, init_speedbal, ROT270, "Tecfri / Desystem S.A.", "Speed Ball (set 2)", MACHINE_SUPPORTS_SAVE, layout_speedbal ) -GAMEL( 1988, musicbal, 0, speedbal, musicbal, speedbal_state, init_musicbal, ROT270, "Tecfri / Desystem S.A.", "Music Ball", MACHINE_SUPPORTS_SAVE, layout_speedbal ) +GAMEL( 1988, musicbal, 0, speedbal, musicbal, speedbal_state, init_musicbal, ROT270, "Tecfri / Desystem S.A.", "Music Ball", MACHINE_SUPPORTS_SAVE, layout_speedbal ) diff --git a/src/mame/technos/battlane.cpp b/src/mame/technos/battlane.cpp index f3c92f8c0346f..c26be786c71c5 100644 --- a/src/mame/technos/battlane.cpp +++ b/src/mame/technos/battlane.cpp @@ -419,7 +419,7 @@ static INPUT_PORTS_START( battlane ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("DSW1") PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:1,2") diff --git a/src/mame/technos/bogeyman.cpp b/src/mame/technos/bogeyman.cpp index c4b8e250a510f..64714cb3b37c5 100644 --- a/src/mame/technos/bogeyman.cpp +++ b/src/mame/technos/bogeyman.cpp @@ -278,7 +278,7 @@ static INPUT_PORTS_START( bogeyman ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("DSW1") PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2") diff --git a/src/mame/technos/chinagat.cpp b/src/mame/technos/chinagat.cpp index a7d9f60b34ba8..48fb63ab1cae1 100644 --- a/src/mame/technos/chinagat.cpp +++ b/src/mame/technos/chinagat.cpp @@ -608,7 +608,7 @@ void chinagat_state::i8748_map(address_map &map) static INPUT_PORTS_START( chinagat ) PORT_START("SYSTEM") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN3 ) diff --git a/src/mame/technos/ddragon.cpp b/src/mame/technos/ddragon.cpp index a0ad188e03117..84c4cad3937c9 100644 --- a/src/mame/technos/ddragon.cpp +++ b/src/mame/technos/ddragon.cpp @@ -672,7 +672,7 @@ static INPUT_PORTS_START( ddragon ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(FUNC(ddragon_state::subcpu_bus_free_r)) PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END diff --git a/src/mame/technos/ddragon3.cpp b/src/mame/technos/ddragon3.cpp index cdc156ada7118..f1b8cb27ca538 100644 --- a/src/mame/technos/ddragon3.cpp +++ b/src/mame/technos/ddragon3.cpp @@ -488,7 +488,7 @@ static INPUT_PORTS_START( ctribe ) PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:7") PORT_DIPSETTING( 0x1000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) @@ -640,7 +640,7 @@ static INPUT_PORTS_START( wwfwfest ) PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START4 ) PORT_BIT( 0x0300, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(FUNC(wwfwfest_state::dsw_c0_r<0>)) - PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN ) diff --git a/src/mame/technos/ddragon_ms.cpp b/src/mame/technos/ddragon_ms.cpp index 30fa24dd7103a..7efc6bda21d75 100644 --- a/src/mame/technos/ddragon_ms.cpp +++ b/src/mame/technos/ddragon_ms.cpp @@ -183,4 +183,4 @@ ROM_END } // anonymous namespace -GAME( 1987, ddragonm, ddragon, ddragonm, ddragonm, ddragon_ms_state, empty_init, ROT0, "bootleg (Gaelco / Ervisa)", "Double Dragon (Modular System)", MACHINE_IS_SKELETON ) +GAME( 1987, ddragonm, ddragon, ddragonm, ddragonm, ddragon_ms_state, empty_init, ROT0, "bootleg (Gaelco / Ervisa)", "Double Dragon (Modular System)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/technos/dogfgt.cpp b/src/mame/technos/dogfgt.cpp index 221753d0da76a..a06e38ed9b8f1 100644 --- a/src/mame/technos/dogfgt.cpp +++ b/src/mame/technos/dogfgt.cpp @@ -462,7 +462,7 @@ static INPUT_PORTS_START( dogfgt ) PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x10, DEF_STR( 1C_3C ) ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // flip screen dipswitch is controlled by hardware PORT_START("DSW3") diff --git a/src/mame/technos/matmania.cpp b/src/mame/technos/matmania.cpp index f9e3af15be57f..0d83eb03ef0b1 100644 --- a/src/mame/technos/matmania.cpp +++ b/src/mame/technos/matmania.cpp @@ -487,7 +487,7 @@ static INPUT_PORTS_START( matmania ) PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) // The default setting should be cocktail. PORT_DIPSETTING( 0x20, DEF_STR( Cocktail ) ) PORT_SERVICE_DIPLOC( 0x40, IP_ACTIVE_LOW, "SW1:7" ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") // Listed as always ON among DIPs in the manual + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // Listed as always ON among DIPs in the manual PORT_START("DSW2") PORT_DIPNAME(0x03, 0x02, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:1,2") diff --git a/src/mame/technos/mystston.cpp b/src/mame/technos/mystston.cpp index 04457ba202a34..d12abae16530c 100644 --- a/src/mame/technos/mystston.cpp +++ b/src/mame/technos/mystston.cpp @@ -511,7 +511,7 @@ static INPUT_PORTS_START( mystston ) PORT_DIPNAME(0x40, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:7") PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) PORT_DIPSETTING( 0x40, DEF_STR( Cocktail ) ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) INPUT_PORTS_END static INPUT_PORTS_START( myststonoi ) diff --git a/src/mame/technos/renegade.cpp b/src/mame/technos/renegade.cpp index ba0f4ea47cbc8..0b064a38fc7a4 100644 --- a/src/mame/technos/renegade.cpp +++ b/src/mame/technos/renegade.cpp @@ -561,7 +561,7 @@ static INPUT_PORTS_START( renegade ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) PORT_NAME("P1 Right Attack") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) PORT_NAME("P2 Right Attack") PORT_BIT( 0x30, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(FUNC(renegade_state::mcu_status_r)) - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_START("DSW1") /* DIP1 */ diff --git a/src/mame/technos/spdodgeb.cpp b/src/mame/technos/spdodgeb.cpp index 2f2fefb4e9989..d66a8e2396aa1 100644 --- a/src/mame/technos/spdodgeb.cpp +++ b/src/mame/technos/spdodgeb.cpp @@ -438,7 +438,7 @@ int spdodgeb_state::mcu_busy_r() static INPUT_PORTS_START( spdodgeb ) PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(FUNC(spdodgeb_state::mcu_busy_r)) // mcu63701_busy flag PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN1 ) diff --git a/src/mame/technos/ssozumo.cpp b/src/mame/technos/ssozumo.cpp index 7949a526ec0bb..803ed78d79117 100644 --- a/src/mame/technos/ssozumo.cpp +++ b/src/mame/technos/ssozumo.cpp @@ -359,7 +359,7 @@ static INPUT_PORTS_START( ssozumo ) PORT_DIPNAME( 0x40, 0x00, DEF_STR( Controls ) ) PORT_DIPSETTING( 0x00, DEF_STR( Single ) ) PORT_DIPSETTING( 0x40, DEF_STR( Dual ) ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) INPUT_PORTS_END diff --git a/src/mame/technos/tagteam.cpp b/src/mame/technos/tagteam.cpp index de87e8bb7e946..2467651a550d3 100644 --- a/src/mame/technos/tagteam.cpp +++ b/src/mame/technos/tagteam.cpp @@ -30,6 +30,7 @@ Stephh's notes : #include "cpu/m6502/m6502.h" #include "machine/gen_latch.h" +#include "machine/timer.h" #include "sound/ay8910.h" #include "sound/dac.h" #include "video/resnet.h" @@ -89,7 +90,7 @@ class tagteam_state : public driver_device void control_w(uint8_t data); void flipscreen_w(uint8_t data); - INTERRUPT_GEN_MEMBER(sound_timer_irq); + TIMER_DEVICE_CALLBACK_MEMBER(v8_timer_irq); TILE_GET_INFO_MEMBER(get_bg_tile_info); @@ -362,7 +363,7 @@ static INPUT_PORTS_START( bigprowr ) PORT_DIPSETTING( 0x40, "Upright, Dual Controls" ) PORT_DIPSETTING( 0x20, "Cocktail, Single Controls" ) // IMPOSSIBLE ! PORT_DIPSETTING( 0x60, DEF_STR( Cocktail ) ) // "Cocktail, Dual Controls" - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("DSW2") PORT_DIPNAME( 0x01, 0x01, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:1") @@ -427,30 +428,29 @@ static GFXDECODE_START( gfx_tagteam ) GFXDECODE_END -INTERRUPT_GEN_MEMBER(tagteam_state::sound_timer_irq) +TIMER_DEVICE_CALLBACK_MEMBER(tagteam_state::v8_timer_irq) { + // same source for both interrupts + m_maincpu->set_input_line(M6502_IRQ_LINE, ASSERT_LINE); if (m_sound_nmi_mask) - device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } void tagteam_state::tagteam(machine_config &config) { // basic machine hardware - M6502(config, m_maincpu, XTAL(12'000'000) / 8); + M6502(config, m_maincpu, 12_MHz_XTAL / 8); m_maincpu->set_addrmap(AS_PROGRAM, &tagteam_state::main_map); - m_maincpu->set_periodic_int(FUNC(tagteam_state::irq0_line_assert), attotime::from_hz(272 / 16 * 57)); // connected to bit 4 of vcount (basically once every 16 scanlines) - M6502(config, m_audiocpu, XTAL(12'000'000) / 2 / 6); // daughterboard gets 12mhz / 2 from mainboard, but how it's divided further is a guess + M6502(config, m_audiocpu, 12_MHz_XTAL / 2 / 6); // daughterboard gets 12mhz / 2 from mainboard, but how it's divided further is a guess m_audiocpu->set_addrmap(AS_PROGRAM, &tagteam_state::sound_map); - m_audiocpu->set_periodic_int(FUNC(tagteam_state::sound_timer_irq), attotime::from_hz(272 / 16 * 57)); // same source as maincpu IRQ + + TIMER(config, "v8").configure_scanline(FUNC(tagteam_state::v8_timer_irq), "screen", 8, 16); // connected to bit 4 of vcount (basically once every 16 scanlines) // video hardware screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_refresh_hz(57); // measured? - screen.set_vblank_time(ATTOSECONDS_IN_USEC(3072)); - screen.set_size(32*8, 32*8); - screen.set_visarea(0*8, 32*8-1, 1*8, 31*8-1); + screen.set_raw(12_MHz_XTAL / 2, 384, 0, 256, 272, 8, 248); // confirmed from schematics; 57 Hz measured? screen.set_screen_update(FUNC(tagteam_state::screen_update)); screen.set_palette(m_palette); @@ -463,8 +463,8 @@ void tagteam_state::tagteam(machine_config &config) GENERIC_LATCH_8(config, m_soundlatch); m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, M6502_IRQ_LINE); - AY8910(config, "ay1", XTAL(12'000'000) / 8).add_route(ALL_OUTPUTS, "speaker", 0.25); - AY8910(config, "ay2", XTAL(12'000'000) / 8).add_route(ALL_OUTPUTS, "speaker", 0.25); + AY8910(config, "ay1", 12_MHz_XTAL / 8).add_route(ALL_OUTPUTS, "speaker", 0.25); + AY8910(config, "ay2", 12_MHz_XTAL / 8).add_route(ALL_OUTPUTS, "speaker", 0.25); DAC_8BIT_R2R(config, "dac", 0).add_route(ALL_OUTPUTS, "speaker", 0.25); // unknown DAC } diff --git a/src/mame/technos/vball.cpp b/src/mame/technos/vball.cpp index 5b7eb04684feb..21552ab0e4735 100644 --- a/src/mame/technos/vball.cpp +++ b/src/mame/technos/vball.cpp @@ -477,7 +477,7 @@ static INPUT_PORTS_START( vball ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) diff --git a/src/mame/tecmo/shadoww_ms.cpp b/src/mame/tecmo/shadoww_ms.cpp index d794dddd67b6a..9c113663bb878 100644 --- a/src/mame/tecmo/shadoww_ms.cpp +++ b/src/mame/tecmo/shadoww_ms.cpp @@ -193,4 +193,4 @@ ROM_END } // anonymous namespace -GAME( 1988, shadowwm, shadoww, shadowwm, shadowwm, shadoww_ms_state, empty_init, ROT0, "bootleg (Gaelco / Ervisa)", "Shadow Warriors (Modular System)", MACHINE_IS_SKELETON ) +GAME( 1988, shadowwm, shadoww, shadowwm, shadowwm, shadoww_ms_state, empty_init, ROT0, "bootleg (Gaelco / Ervisa)", "Shadow Warriors (Modular System)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/tektronix/tek43xx.cpp b/src/mame/tektronix/tek43xx.cpp index 6f29e463cd7e2..1977d39c29736 100644 --- a/src/mame/tektronix/tek43xx.cpp +++ b/src/mame/tektronix/tek43xx.cpp @@ -67,4 +67,4 @@ ROM_END } // anonymous namespace -COMP(1988, tek4319, 0, 0, tek4319, tek4319, tek43xx_state, empty_init, "Tektronix", "4319 Graphics Workstation", MACHINE_IS_SKELETON) +COMP(1988, tek4319, 0, 0, tek4319, tek4319, tek43xx_state, empty_init, "Tektronix", "4319 Graphics Workstation", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/tektronix/tekxp33x.cpp b/src/mame/tektronix/tekxp33x.cpp index f85edbcf1e44f..1ebb4afdd79aa 100644 --- a/src/mame/tektronix/tekxp33x.cpp +++ b/src/mame/tektronix/tekxp33x.cpp @@ -134,4 +134,4 @@ ROM_END /* System Drivers */ // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 1992, tekxp330, 0, 0, tekxp330, tekxp330, tekxp330_state, empty_init, "Tektronix", "TekXpress XP330", MACHINE_IS_SKELETON ) +COMP( 1992, tekxp330, 0, 0, tekxp330, tekxp330, tekxp330_state, empty_init, "Tektronix", "TekXpress XP330", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/tektronix/xd88.cpp b/src/mame/tektronix/xd88.cpp index 8c122238a273d..2d924b4daeeec 100644 --- a/src/mame/tektronix/xd88.cpp +++ b/src/mame/tektronix/xd88.cpp @@ -90,4 +90,4 @@ ROM_END } // anonymous namespace /* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */ -COMP(1990, xd88_01, 0, 0, xd88_01, 0, xd88_state, empty_init, "Tektronix", "XD88/01", MACHINE_IS_SKELETON) +COMP(1990, xd88_01, 0, 0, xd88_01, 0, xd88_state, empty_init, "Tektronix", "XD88/01", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/televideo/ts3000.cpp b/src/mame/televideo/ts3000.cpp index bfa2494318193..1a2a7dd9612bf 100644 --- a/src/mame/televideo/ts3000.cpp +++ b/src/mame/televideo/ts3000.cpp @@ -61,4 +61,4 @@ ROM_END } // anonymous namespace -COMP( 198?, ts3000, 0, 0, ts3000, ts3000, ts3000_state, empty_init, "Televideo", "TS-3000", MACHINE_IS_SKELETON ) +COMP( 198?, ts3000, 0, 0, ts3000, ts3000, ts3000_state, empty_init, "Televideo", "TS-3000", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/televideo/ts802.cpp b/src/mame/televideo/ts802.cpp index 1d2b8b541de54..6d492b18ae6ff 100644 --- a/src/mame/televideo/ts802.cpp +++ b/src/mame/televideo/ts802.cpp @@ -251,5 +251,5 @@ ROM_END /* Driver */ // YEAR NAME PARENT COMPAT MACHINE INPUT STATE INIT COMPANY FULLNAME FLAGS -COMP( 1982, ts802, 0, 0, ts802, ts802, ts802_state, init_ts802, "Televideo", "TS802", MACHINE_IS_SKELETON ) -COMP( 1982, ts802h, ts802, 0, ts802, ts802, ts802_state, init_ts802, "Televideo", "TS802H", MACHINE_IS_SKELETON ) +COMP( 1982, ts802, 0, 0, ts802, ts802, ts802_state, init_ts802, "Televideo", "TS802", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 1982, ts802h, ts802, 0, ts802, ts802, ts802_state, init_ts802, "Televideo", "TS802H", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/televideo/ts816.cpp b/src/mame/televideo/ts816.cpp index 26217b278c821..95558d2f59757 100644 --- a/src/mame/televideo/ts816.cpp +++ b/src/mame/televideo/ts816.cpp @@ -331,4 +331,4 @@ ROM_END /* Driver */ // YEAR NAME PARENT COMPAT MACHINE INPUT STATE INIT COMPANY FULLNAME FLAGS -COMP( 1980, ts816, 0, 0, ts816, ts816, ts816_state, init_ts816, "Televideo", "TS816", MACHINE_IS_SKELETON ) +COMP( 1980, ts816, 0, 0, ts816, ts816, ts816_state, init_ts816, "Televideo", "TS816", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/televideo/tv924.cpp b/src/mame/televideo/tv924.cpp index 17f5373cd3e40..5d4b30e7d482f 100644 --- a/src/mame/televideo/tv924.cpp +++ b/src/mame/televideo/tv924.cpp @@ -101,4 +101,4 @@ ROM_END } // anonymous namespace -COMP(1984, tv924, 0, 0, tv924, tv924, tv924_state, empty_init, "TeleVideo Systems", "TeleVideo 924 Video Display Terminal", MACHINE_IS_SKELETON) +COMP(1984, tv924, 0, 0, tv924, tv924, tv924_state, empty_init, "TeleVideo Systems", "TeleVideo 924 Video Display Terminal", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/televideo/tv955.cpp b/src/mame/televideo/tv955.cpp index e274232207821..870208da10e3b 100644 --- a/src/mame/televideo/tv955.cpp +++ b/src/mame/televideo/tv955.cpp @@ -9,7 +9,7 @@ Skeleton driver for "third generation" TeleVideo terminals (905, 955, 9220). #include "emu.h" #include "tv955kb.h" #include "bus/rs232/rs232.h" -#include "cpu/m6502/m65c02.h" +#include "cpu/m6502/w65c02.h" #include "machine/input_merger.h" #include "machine/mos6551.h" #include "machine/nvram.h" @@ -146,7 +146,7 @@ INPUT_PORTS_END void tv955_state::tv955(machine_config &config) { - M65C02(config, m_maincpu, 19.3396_MHz_XTAL / 9); + W65C02(config, m_maincpu, 19.3396_MHz_XTAL / 9); m_maincpu->set_addrmap(AS_PROGRAM, &tv955_state::mem_map); INPUT_MERGER_ANY_HIGH(config, "mainirq").output_handler().set_inputline(m_maincpu, m6502_device::IRQ_LINE); diff --git a/src/mame/televideo/tv965.cpp b/src/mame/televideo/tv965.cpp index 89b9199507e7a..5df4a283dd16a 100644 --- a/src/mame/televideo/tv965.cpp +++ b/src/mame/televideo/tv965.cpp @@ -118,4 +118,4 @@ ROM_END } // anonymous namespace -COMP( 1989, tv965, 0, 0, tv965, tv965, tv965_state, empty_init, "TeleVideo Systems", "TeleVideo 965", MACHINE_IS_SKELETON ) +COMP( 1989, tv965, 0, 0, tv965, tv965, tv965_state, empty_init, "TeleVideo Systems", "TeleVideo 965", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/thepit/thepit.cpp b/src/mame/thepit/thepit.cpp index 5f301cb1f89e2..6ab643a613c2a 100644 --- a/src/mame/thepit/thepit.cpp +++ b/src/mame/thepit/thepit.cpp @@ -749,14 +749,16 @@ GFXDECODE_END void thepit_state::thepit(machine_config &config) { /* basic machine hardware */ - Z80(config, m_maincpu, PIXEL_CLOCK/2); /* 3.072 MHz */ + Z80(config, m_maincpu, PIXEL_CLOCK/2); // 3.072 MHz m_maincpu->set_addrmap(AS_PROGRAM, &thepit_state::thepit_main_map); - Z80(config, m_audiocpu, SOUND_CLOCK/4); /* 2.5 MHz */ + Z80(config, m_audiocpu, SOUND_CLOCK/4); // 2.5 MHz m_audiocpu->set_addrmap(AS_PROGRAM, &thepit_state::audio_map); m_audiocpu->set_addrmap(AS_IO, &thepit_state::audio_io_map); m_audiocpu->set_irq_acknowledge_callback(FUNC(thepit_state::vsync_int_ack)); + config.set_maximum_quantum(attotime::from_hz(3000)); + LS259(config, m_mainlatch); // IC42 m_mainlatch->q_out_cb<0>().set(FUNC(thepit_state::nmi_mask_w)); m_mainlatch->q_out_cb<2>().set_nop(); // marked "LOCK OUT" on Centuri schematic but never written diff --git a/src/mame/thepit/timelimt.cpp b/src/mame/thepit/timelimt.cpp index 9a6844af59485..779b11522d94e 100644 --- a/src/mame/thepit/timelimt.cpp +++ b/src/mame/thepit/timelimt.cpp @@ -9,10 +9,12 @@ Progress (c) 1984 Chuo driver by Ernesto Corvi Notes: -- Sprite colors are wrong (missing colortable?) +- sprite colors are wrong (missing colortable?) - driver should probably be merged with venture/suprridr.cpp and thepit/thepit.cpp - unused color bank for tilemaps? (colors 0x10-0x1f & 0x30-0x3f) +- verify clocks, they're currently borrowed from thepit, maincpu clock + used to be 5MHz in older MAME versions but that's doubtful ***************************************************************************/ @@ -445,6 +447,7 @@ INTERRUPT_GEN_MEMBER(timelimt_state::main_nmi) { m_nmi_state = !m_nmi_state; + // gameplay pace matches PCB video like this if (m_nmi_enabled && m_nmi_state) m_maincpu->set_input_line(INPUT_LINE_NMI, ASSERT_LINE); else if (!m_nmi_state) @@ -456,12 +459,12 @@ INTERRUPT_GEN_MEMBER(timelimt_state::main_nmi) void timelimt_state::timelimt(machine_config &config) { // basic machine hardware - Z80(config, m_maincpu, 5'000'000); // 5.000 MHz + Z80(config, m_maincpu, 18'432'000 / 6); m_maincpu->set_addrmap(AS_PROGRAM, &timelimt_state::main_map); m_maincpu->set_addrmap(AS_IO, &timelimt_state::main_io_map); m_maincpu->set_vblank_int("screen", FUNC(timelimt_state::main_nmi)); - Z80(config, m_audiocpu, 18'432'000 / 6); // 3.072 MHz + Z80(config, m_audiocpu, 10'000'000 / 4); m_audiocpu->set_addrmap(AS_PROGRAM, &timelimt_state::sound_map); m_audiocpu->set_addrmap(AS_IO, &timelimt_state::sound_io_map); m_audiocpu->set_vblank_int("screen", FUNC(timelimt_state::irq0_line_hold)); // ? diff --git a/src/mame/ti/ti99_2.cpp b/src/mame/ti/ti99_2.cpp index c5b3a45e76e5c..b1736b57ead5c 100644 --- a/src/mame/ti/ti99_2.cpp +++ b/src/mame/ti/ti99_2.cpp @@ -151,7 +151,8 @@ The ROMs contain a stripped-down version of TI BASIC, but without the specific graphics subprograms. Programs written on the 99/2 should - run on the 99/4A, but the opposite is not true. + run on the 99/4A, but the opposite is not true. The 24K version is + buggy and incomplete: OPEN and SAVE cause the CPU to restart itself. Original implementation: Raphael Nabet; December 1999, 2000 diff --git a/src/mame/toaplan/dogyuun.cpp b/src/mame/toaplan/dogyuun.cpp index 00a780f6cf15b..28230636490ab 100644 --- a/src/mame/toaplan/dogyuun.cpp +++ b/src/mame/toaplan/dogyuun.cpp @@ -115,7 +115,7 @@ void dogyuun_state::video_start() void dogyuun_state::screen_vblank(int state) { - if (state) // rising edge + if (state) // rising edge { m_vdp[0]->screen_eof(); m_vdp[1]->screen_eof(); diff --git a/src/mame/toaplan/dt7.cpp b/src/mame/toaplan/dt7.cpp index d4059dd20c947..a78b1933f602e 100644 --- a/src/mame/toaplan/dt7.cpp +++ b/src/mame/toaplan/dt7.cpp @@ -5,17 +5,16 @@ differences to keep it separate TODO: - - verify audio CPU opcodes + - verify audio CPU opcodes (see toaplan_v25_tables.h) - correctly hook up interrupts (especially V25) - correctly hook up inputs (there's a steering wheel test? is the game switchable) - serial comms (needs support in V25 core?) for linked units - verify frequencies on chips - verify alt titles, some regions have 'Car Fighting' as a subtitle, region comes from EEPROM? - verify text layer palettes - - currently only coins up with service button - - course selection cursor doesn't move? - - sound dies after one stage? - - game crashes after two stages? + - service mode doesn't display properly + - currently only coins up with service button + - sound dies after one stage? */ @@ -55,12 +54,19 @@ class dt7_state : public driver_device , m_palette(*this, "palette%u", 0U) , m_shared_ram(*this, "shared_ram") , m_tx_videoram(*this, "tx_videoram") + , m_lineram(*this, "lineram") + , m_eepromport(*this, "EEPROM") + , m_sysport(*this, "SYS") + , m_p1port(*this, "IN1") + , m_p2port(*this, "IN2") { } public: void dt7(machine_config &config) ATTR_COLD; protected: + virtual void machine_start() override ATTR_COLD; + virtual void machine_reset() override ATTR_COLD; virtual void video_start() override ATTR_COLD; private: @@ -71,7 +77,9 @@ class dt7_state : public driver_device void tx_videoram_dt7_w(offs_t offset, u16 data, u16 mem_mask = ~0); - TILE_GET_INFO_MEMBER(get_text_dt7_tile_info); + TILE_GET_INFO_MEMBER(get_tx_dt7_tile_info); + + void draw_tx_tilemap(screen_device& screen, bitmap_ind16& bitmap, const rectangle& cliprect, int table); void dt7_68k_0_mem(address_map &map); void dt7_68k_1_mem(address_map &map); @@ -79,21 +87,26 @@ class dt7_state : public driver_device void dt7_shared_mem(address_map &map); void dt7_irq(int state); - void dt7_unk_w(u8 data); + void dt7_sndreset_coin_w(offs_t offset, u16 data, u16 mem_mask); + + u8 unmapped_v25_io1_r(); + u8 unmapped_v25_io2_r(); + + u8 read_port_t(); + u8 read_port_2(); + void write_port_2(u8 data); - uint8_t unmapped_v25_io1_r(); - uint8_t unmapped_v25_io2_r(); + u8 eeprom_r(); + void eeprom_w(u8 data); - uint8_t read_port_t(); - uint8_t read_port_2(); - void write_port_2(uint8_t data); u8 dt7_shared_ram_hack_r(offs_t offset); void shared_ram_w(offs_t offset, u8 data); + void shared_ram_audio_w(offs_t offset, u8 data); void screen_vblank(int state); - uint8_t m_ioport_state = 0x00; + u8 m_ioport_state; tilemap_t *m_tx_tilemap[2]; /* Tilemap for extra-text-layer */ @@ -110,6 +123,11 @@ class dt7_state : public driver_device required_device_array m_palette; required_shared_ptr m_shared_ram; // 8 bit RAM shared between 68K and sound CPU required_shared_ptr m_tx_videoram; + required_shared_ptr m_lineram; + required_ioport m_eepromport; + required_ioport m_sysport; + required_ioport m_p1port; + required_ioport m_p2port; }; @@ -129,22 +147,38 @@ void dt7_state::dt7_irq(int state) // this is conditional on the unknown type of branch (see #define G_B0 in the table0 -uint8_t dt7_state::read_port_t() +u8 dt7_state::read_port_t() { - logerror("%s: read port t\n", machine().describe_context()); return machine().rand(); + logerror("%s: read port t\n", machine().describe_context()); + return machine().rand(); } -uint8_t dt7_state::read_port_2() +u8 dt7_state::eeprom_r() { - logerror("%s: read port 2\n", machine().describe_context()); + logerror("%s: eeprom_r\n", machine().describe_context()); + // if you allow eeprom hookup at the moment (remove the ram hack reads) + // the game will init it the first time but then 2nd boot will be upside + // down as Japan region, and hang after the region warning + //return 0xff; + return m_eepromport->read(); +} + +void dt7_state::eeprom_w(u8 data) +{ + logerror("%s: eeprom_w %02x\n", machine().describe_context(), data); + m_eepromport->write(data); +} - return 0xff; +u8 dt7_state::read_port_2() +{ + logerror("%s: read port 2\n", machine().describe_context()); + return m_ioport_state; } // it seems to attempt to read inputs (including the tilt switch?) here on startup // strangely all the EEPROM access code (which is otherwise very similar to FixEight // also has accesses to this port added, maybe something is sitting in the middle? -void dt7_state::write_port_2(uint8_t data) +void dt7_state::write_port_2(u8 data) { if ((m_ioport_state & 0x01) != (data & 0x01)) { @@ -219,28 +253,22 @@ u8 dt7_state::dt7_shared_ram_hack_r(offs_t offset) { u16 ret = m_shared_ram[offset]; + int pc = m_maincpu->pc(); + + if (pc == 0x7d84) { return 0xff; } // status? + u32 addr = (offset * 2) + 0x610000; - if (addr == 0x061f00c) - return ioport("SYS")->read();// machine().rand(); - - //return ret; - - - u32 pc = m_maincpu->pc(); - if (pc == 0x7d84) - return 0xff; - if (addr == 0x061d000) // settings (from EEPROM?) including flipscreen - return 0x00; - if (addr == 0x061d002) // settings (from EEPROM?) dipswitch? - return 0x00; - if (addr == 0x061d004) // settings (from EEPROM?) region - return 0xff; - if (addr == 0x061f004) - return ioport("IN1")->read(); ;// machine().rand(); // p1 inputs - if (addr == 0x061f006) - return ioport("IN2")->read();// machine().rand(); // P2 inputs -// logerror("%08x: dt7_shared_ram_hack_r address %08x ret %02x\n", pc, addr, ret); + if (addr == 0x061f00c) { return m_sysport->read(); } + if (addr == 0x061d000) { return 0x00; } // settings (from EEPROM?) including flipscreen + if (addr == 0x061d002) { return 0x00; } // settings (from EEPROM?) dipswitch? + if (addr == 0x061d004) { return 0x00; } // settings (from EEPROM?) region + if (addr == 0x061f004) { return m_p1port->read(); } // P1 inputs + if (addr == 0x061f006) { return m_p2port->read(); } // P2 inputs + //if (addr == 0x061f00e) { return machine().rand(); } // P2 coin / start + + logerror("%08x: dt7_shared_ram_hack_r address %08x ret %02x\n", pc, addr, ret); + return ret; } @@ -249,10 +277,20 @@ void dt7_state::shared_ram_w(offs_t offset, u8 data) m_shared_ram[offset] = data; } +void dt7_state::shared_ram_audio_w(offs_t offset, u8 data) +{ + // just a helper function to try and debug the sound CPU a bit more easily + //int pc = m_audiocpu->pc(); + //if (offset == 0xf004 / 2) + // logerror("%08x: shared_ram_audio_w address %08x data %02x\n", pc, offset, data); + shared_ram_w(offset, data); +} -void dt7_state::dt7_unk_w(u8 data) +void dt7_state::dt7_sndreset_coin_w(offs_t offset, u16 data, u16 mem_mask) { - m_audiocpu->set_input_line(INPUT_LINE_RESET, (data & 0x80) ? CLEAR_LINE : ASSERT_LINE); + m_audiocpu->set_input_line(INPUT_LINE_RESET, (data & 0x8000) ? CLEAR_LINE : ASSERT_LINE); + logerror("%s: dt7_sndreset_coin_w %04x %04x\n", machine().describe_context(), data, mem_mask); + // coin counters in lower byte? } @@ -266,7 +304,7 @@ void dt7_state::dt7_68k_0_mem(address_map &map) map(0x200000, 0x200fff).ram().w(m_palette[0], FUNC(palette_device::write16)).share("palette0"); map(0x280000, 0x280fff).ram().w(m_palette[1], FUNC(palette_device::write16)).share("palette1"); - map(0x300000, 0x300000).w(FUNC(dt7_state::dt7_unk_w)); + map(0x300000, 0x300001).w(FUNC(dt7_state::dt7_sndreset_coin_w)); map(0x400000, 0x40000d).rw(m_vdp[0], FUNC(gp9001vdp_device::read), FUNC(gp9001vdp_device::write)); map(0x480000, 0x48000d).rw(m_vdp[1], FUNC(gp9001vdp_device::read), FUNC(gp9001vdp_device::write)); @@ -282,6 +320,7 @@ void dt7_state::dt7_shared_mem(address_map &map) map(0x500000, 0x50ffff).ram().share("shared_ram2"); // is this really in the middle of shared RAM, or is there a DMA to get it out? map(0x509000, 0x50afff).ram().w(FUNC(dt7_state::tx_videoram_dt7_w)).share("tx_videoram"); + map(0x50f000, 0x50ffff).ram().share("lineram"); } void dt7_state::dt7_68k_1_mem(address_map &map) @@ -291,29 +330,39 @@ void dt7_state::dt7_68k_1_mem(address_map &map) } -uint8_t dt7_state::unmapped_v25_io1_r() +u8 dt7_state::unmapped_v25_io1_r() { logerror("%s: 0x58008 unknown read\n", machine().describe_context()); return machine().rand(); } -uint8_t dt7_state::unmapped_v25_io2_r() +u8 dt7_state::unmapped_v25_io2_r() { logerror("%s: 0x5800a unknown read\n", machine().describe_context()); return machine().rand(); } +void dt7_state::machine_start() +{ + save_item(NAME(m_ioport_state)); +} + +void dt7_state::machine_reset() +{ + m_ioport_state = 0x00; +} void dt7_state::dt7_v25_mem(address_map &map) { // exact mirroring unknown, don't cover up where the inputs/sound maps - map(0x00000, 0x07fff).ram().share("shared_ram"); - map(0x20000, 0x27fff).ram().share("shared_ram"); - map(0x28000, 0x2ffff).ram().share("shared_ram"); - map(0x60000, 0x67fff).ram().share("shared_ram"); - map(0x68000, 0x6ffff).ram().share("shared_ram"); - map(0x70000, 0x77fff).ram().share("shared_ram"); - map(0xf8000, 0xfffff).ram().share("shared_ram"); + // is it meant to mirror in all these locations, or is there a different issue in play? + map(0x00000, 0x07fff).ram().w(FUNC(dt7_state::shared_ram_audio_w)).share("shared_ram"); + map(0x20000, 0x27fff).ram().w(FUNC(dt7_state::shared_ram_audio_w)).share("shared_ram"); + map(0x28000, 0x2ffff).ram().w(FUNC(dt7_state::shared_ram_audio_w)).share("shared_ram"); + map(0x60000, 0x67fff).ram().w(FUNC(dt7_state::shared_ram_audio_w)).share("shared_ram"); + map(0x68000, 0x6ffff).ram().w(FUNC(dt7_state::shared_ram_audio_w)).share("shared_ram"); + map(0x70000, 0x77fff).ram().w(FUNC(dt7_state::shared_ram_audio_w)).share("shared_ram"); + map(0xf8000, 0xfffff).ram().w(FUNC(dt7_state::shared_ram_audio_w)).share("shared_ram"); map(0x58000, 0x58001).rw("ymsnd", FUNC(ym2151_device::read), FUNC(ym2151_device::write)); map(0x58002, 0x58002).rw(m_oki[0], FUNC(okim6295_device::read), FUNC(okim6295_device::write)); @@ -356,8 +405,8 @@ void dt7_state::dt7(machine_config &config) audiocpu.pt_in_cb().set(FUNC(dt7_state::read_port_t)); audiocpu.p2_in_cb().set(FUNC(dt7_state::read_port_2)); audiocpu.p2_out_cb().set(FUNC(dt7_state::write_port_2)); - //audiocpu.p1_in_cb().set_ioport("EEPROM"); - //audiocpu.p1_out_cb().set_ioport("EEPROM"); + audiocpu.p1_in_cb().set(FUNC(dt7_state::eeprom_r)); + audiocpu.p1_out_cb().set(FUNC(dt7_state::eeprom_w)); // eeprom type confirmed, and gets inited after first boot, but then game won't boot again? EEPROM_93C66_16BIT(config, m_eeprom); @@ -436,7 +485,7 @@ static INPUT_PORTS_START( dt7 ) PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", FUNC(eeprom_serial_93cxx_device::do_read)) INPUT_PORTS_END -TILE_GET_INFO_MEMBER(dt7_state::get_text_dt7_tile_info) +TILE_GET_INFO_MEMBER(dt7_state::get_tx_dt7_tile_info) { const u16 attrib = m_tx_videoram[tile_index]; const u32 tile_number = attrib & 0x3ff; @@ -460,8 +509,8 @@ void dt7_state::video_start() // a different part of this tilemap is displayed on each screen // each screen has a different palette and uses a ROM in a different location on the PCB - m_tx_tilemap[0] = &machine().tilemap().create(*m_gfxdecode[0], tilemap_get_info_delegate(*this, FUNC(dt7_state::get_text_dt7_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 64, 64); - m_tx_tilemap[1] = &machine().tilemap().create(*m_gfxdecode[1], tilemap_get_info_delegate(*this, FUNC(dt7_state::get_text_dt7_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 64, 64); + m_tx_tilemap[0] = &machine().tilemap().create(*m_gfxdecode[0], tilemap_get_info_delegate(*this, FUNC(dt7_state::get_tx_dt7_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 64, 64); + m_tx_tilemap[1] = &machine().tilemap().create(*m_gfxdecode[1], tilemap_get_info_delegate(*this, FUNC(dt7_state::get_tx_dt7_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 64, 64); m_tx_tilemap[0]->set_transparent_pen(0); m_tx_tilemap[1]->set_transparent_pen(0); @@ -470,10 +519,34 @@ void dt7_state::video_start() void dt7_state::tx_videoram_dt7_w(offs_t offset, u16 data, u16 mem_mask) { COMBINE_DATA(&m_tx_videoram[offset]); - if (offset < 64 * 64) + m_tx_tilemap[0]->mark_tile_dirty(offset); + m_tx_tilemap[1]->mark_tile_dirty(offset); +} + + +void dt7_state::draw_tx_tilemap(screen_device& screen, bitmap_ind16& bitmap, const rectangle& cliprect, int table) +{ + // there seems to be RAM for another tx tilemap + // but there were 2 empty sockets / sockets with blank tx ROMs, so + // it's likely only one of them is used + + // see comments in other toaplan drivers, this is likely per-line + int flipx = m_lineram[(table * 2)] & 0x8000; + m_tx_tilemap[table / 2]->set_flip(flipx ? 0 : TILEMAP_FLIPX); + + rectangle clip = cliprect; + for (int y = cliprect.min_y; y <= cliprect.max_y; y++) { - m_tx_tilemap[0]->mark_tile_dirty(offset); - m_tx_tilemap[1]->mark_tile_dirty(offset); + clip.min_y = clip.max_y = y; + + u16 scroll1 = m_lineram[((y * 8) + (table * 2) + 0) & 0x7ff]; // lineselect + //u16 scroll2 = m_lineram[((y * 8) + (table * 2) + 1) & 0x7ff]; // xscroll + + scroll1 &= 0x7fff; // 0x8000 is per-line flip + scroll1 -= 0x0900; // are all these scroll bits? + + m_tx_tilemap[table / 2]->set_scrolly(0, scroll1 - y); + m_tx_tilemap[table / 2]->draw(screen, bitmap, clip, 0); } } @@ -482,22 +555,17 @@ u32 dt7_state::screen_update_dt7_1(screen_device &screen, bitmap_ind16 &bitmap, bitmap.fill(0, cliprect); m_custom_priority_bitmap.fill(0, cliprect); m_vdp[0]->render_vdp(bitmap, cliprect); - - m_tx_tilemap[0]->set_scrolldy(0, 0); - m_tx_tilemap[0]->draw(screen, bitmap, cliprect, 0); - + draw_tx_tilemap(screen, bitmap, cliprect, 0); return 0; } + u32 dt7_state::screen_update_dt7_2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { bitmap.fill(0, cliprect); m_custom_priority_bitmap.fill(0, cliprect); m_vdp[1]->render_vdp(bitmap, cliprect); - - m_tx_tilemap[1]->set_scrolldy(256 + 16, 256 + 16); - m_tx_tilemap[1]->draw(screen, bitmap, cliprect, 0); - + draw_tx_tilemap(screen, bitmap, cliprect, 2); return 0; } @@ -558,4 +626,4 @@ ROM_END } // anonymous namespace // The region comes from the EEPROM? so will need clones like FixEight -GAME( 1993, dt7, 0, dt7, dt7, dt7_state,empty_init, ROT270, "Toaplan", "DT7 (prototype)", MACHINE_NOT_WORKING ) +GAME( 1993, dt7, 0, dt7, dt7, dt7_state,empty_init, ROT270, "Toaplan", "DT7 (prototype)", MACHINE_NOT_WORKING ) // flyer shows "Survival Battle Dynamic Trial 7" diff --git a/src/mame/toaplan/enmadaio.cpp b/src/mame/toaplan/enmadaio.cpp index e9c27126e1b3d..2d7f6e47f2c4d 100644 --- a/src/mame/toaplan/enmadaio.cpp +++ b/src/mame/toaplan/enmadaio.cpp @@ -77,7 +77,7 @@ u32 enmadaio_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, c void enmadaio_state::screen_vblank(int state) { - if (state) // rising edge + if (state) // rising edge { m_vdp->screen_eof(); } diff --git a/src/mame/toaplan/pipibibi.cpp b/src/mame/toaplan/pipibibi.cpp index 5cf6109866630..f0691d09117ef 100644 --- a/src/mame/toaplan/pipibibi.cpp +++ b/src/mame/toaplan/pipibibi.cpp @@ -26,7 +26,7 @@ pipibibsp TP-025 Toaplan Pipi & Bibis / Whoopee!! (Prototype) pipibibsbl bootleg Toaplan Pipi & Bibis / Whoopee!! (based of the prototype) TODO: - - move bootlegs to oneshot.cpp driver + - move bootlegs to oneshot.cpp driver */ namespace { diff --git a/src/mame/toaplan/slapfght_ms.cpp b/src/mame/toaplan/slapfght_ms.cpp index d25e3671a7081..ca68f18e0d4d6 100644 --- a/src/mame/toaplan/slapfght_ms.cpp +++ b/src/mame/toaplan/slapfght_ms.cpp @@ -461,4 +461,4 @@ void slapfght_ms_state::init_decryption() // same as the one for blktiger_ms } // anonymous namespace -GAME( 199?, slapfighm, alcon, slapfighm, slapfighm, slapfght_ms_state, init_decryption, ROT270, "bootleg (Gaelco / Ervisa)", "Slap Fight (Modular System)", MACHINE_IS_SKELETON ) +GAME( 199?, slapfighm, alcon, slapfighm, slapfighm, slapfght_ms_state, init_decryption, ROT270, "bootleg (Gaelco / Ervisa)", "Slap Fight (Modular System)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/toaplan/snowbro2.cpp b/src/mame/toaplan/snowbro2.cpp index 131464c50d9b6..ffd36945edc22 100644 --- a/src/mame/toaplan/snowbro2.cpp +++ b/src/mame/toaplan/snowbro2.cpp @@ -20,7 +20,7 @@ Name Board No Maker Game name ---------------------------------------------------------------------------- snowbro2 TP-033 Hanafram Snow Bros. 2 - With New Elves - + */ namespace { @@ -75,7 +75,7 @@ u32 snowbro2_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, c } void snowbro2_state::screen_vblank(int state) -{ +{ if (state) // rising edge { m_vdp->screen_eof(); diff --git a/src/mame/toaplan/toaplan1.cpp b/src/mame/toaplan/toaplan1.cpp index 728ddde70420f..81d01a704b0a9 100644 --- a/src/mame/toaplan/toaplan1.cpp +++ b/src/mame/toaplan/toaplan1.cpp @@ -1026,7 +1026,7 @@ static INPUT_PORTS_START( toaplan1_2b ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) PORT_START("VBLANK") - PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0xfffe, IP_ACTIVE_HIGH, IPT_UNKNOWN ) INPUT_PORTS_END @@ -1069,11 +1069,11 @@ INPUT_PORTS_END PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN2 ) \ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START1 ) \ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_START2 ) \ - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) #define TOAPLAN1_VBLANK_INPUT \ PORT_START("VBLANK") \ - PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") \ + PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) \ PORT_BIT( 0xfffe, IP_ACTIVE_HIGH, IPT_UNKNOWN ) diff --git a/src/mame/toaplan/toaplan_v25_tables.h b/src/mame/toaplan/toaplan_v25_tables.h index fcce0870303b9..03474cbee7a29 100644 --- a/src/mame/toaplan/toaplan_v25_tables.h +++ b/src/mame/toaplan/toaplan_v25_tables.h @@ -109,15 +109,15 @@ class toaplan_v25_tables // some kind of branch, not sure which // it's used after compares in blocks, sometimes with a 'be' then a 'br' straight after, so it must be a condition that could also fail a be and fall to the br //#define G_B0 0x74 - #define G_B0 0x79 + #define G_B0 0x77 // context suggests that this might instead be 0x77 (it follows comparing a bit position against 7) //#define G_B0 0x75 - // 6b @ 73827 - #define G_6B 0x34 // must be a 2 byte operation on al? after an AND, 2nd byte is 0x08 + // 6b @ 73827 // must be a 2 byte operation on al? after an AND, at end of interrupt, 2nd byte is 0x08 + #define G_6B 0x34 // treat as XOR, could be OR? - // 59 @ 73505 and 7379B (maybe ret?, or di?) + // 59 @ 73505 and 7379B //#define G_59 0xfa - #define G_59 0xc3 + #define G_59 0xc3 // almost certainly has to be ret static constexpr u8 dt7_decryption_table[256] = { // 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07, 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f, /* 00 */ diff --git a/src/mame/toaplan/truxton2.cpp b/src/mame/toaplan/truxton2.cpp index e2350d30fcd43..84ddee1720ac6 100644 --- a/src/mame/toaplan/truxton2.cpp +++ b/src/mame/toaplan/truxton2.cpp @@ -136,7 +136,7 @@ void truxton2_state::tx_linescroll_w(offs_t offset, u16 data, u16 mem_mask) void truxton2_state::screen_vblank(int state) -{ +{ if (state) // rising edge { m_vdp->screen_eof(); diff --git a/src/mame/toaplan/twincobr.cpp b/src/mame/toaplan/twincobr.cpp index 53dea192f4a25..e6ab1d3b70739 100644 --- a/src/mame/toaplan/twincobr.cpp +++ b/src/mame/toaplan/twincobr.cpp @@ -511,7 +511,7 @@ static INPUT_PORTS_START( twincobr ) PORT_START("VBLANK") PORT_BIT( 0x7f, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) INPUT_PORTS_END // Verified from M68000 and Z80 code @@ -555,7 +555,7 @@ static INPUT_PORTS_START( gulfwar2 ) PORT_MODIFY("VBLANK") PORT_BIT( 0x7f, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) INPUT_PORTS_END @@ -601,7 +601,7 @@ static INPUT_PORTS_START( fshark ) PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START1 ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_START2 ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) INPUT_PORTS_END // Verified from M68000 code diff --git a/src/mame/toaplan/twincobr_ms.cpp b/src/mame/toaplan/twincobr_ms.cpp index c5a995fb3fdc3..3e0f06b7028d0 100644 --- a/src/mame/toaplan/twincobr_ms.cpp +++ b/src/mame/toaplan/twincobr_ms.cpp @@ -176,4 +176,4 @@ ROM_END } // anonymous namespace -GAME( 199?, twincobrm, twincobr, twincobrm, twincobrm, twincobr_ms_state, empty_init, ROT270, "bootleg (Gaelco / Ervisa)", "Twin Cobra (Modular System)", MACHINE_IS_SKELETON ) +GAME( 199?, twincobrm, twincobr, twincobrm, twincobrm, twincobr_ms_state, empty_init, ROT270, "bootleg (Gaelco / Ervisa)", "Twin Cobra (Modular System)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/toaplan/wardner.cpp b/src/mame/toaplan/wardner.cpp index 9e71a0a1688cb..6ad354cbffc6a 100644 --- a/src/mame/toaplan/wardner.cpp +++ b/src/mame/toaplan/wardner.cpp @@ -289,7 +289,7 @@ static INPUT_PORTS_START( wardner_generic ) PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START1 ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_START2 ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") // "V-BLANKING" in "test mode" + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) // "V-BLANKING" in "test mode" PORT_START("DSWA") TOAPLAN_MACHINE_COCKTAIL_LOC(SW1) diff --git a/src/mame/tomy/kisssite.cpp b/src/mame/tomy/kisssite.cpp index 3c438706a3ca7..8fdaedf179ccc 100644 --- a/src/mame/tomy/kisssite.cpp +++ b/src/mame/tomy/kisssite.cpp @@ -106,4 +106,4 @@ ROM_END } // anonymous namespace -SYST(200?, kisssite, 0, 0, kisssite, kisssite, kisssite_state, empty_init, "Tomy", "Kiss-Site", MACHINE_IS_SKELETON) +SYST(200?, kisssite, 0, 0, kisssite, kisssite, kisssite_state, empty_init, "Tomy", "Kiss-Site", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/trs/gime.cpp b/src/mame/trs/gime.cpp index e98ee1a1e08bc..a9b99298da62d 100644 --- a/src/mame/trs/gime.cpp +++ b/src/mame/trs/gime.cpp @@ -1286,7 +1286,7 @@ void gime_device::update_border(uint16_t physical_scanline) // graphics, green or white border = (~m_ff22_value & MODE_CSS) ? 0x12 : 0x3F; } - else if (m_ff22_value & MODE_GM2) + else if ((m_ff22_value & MODE_GM2) && !(m_ff22_value & MODE_GM1)) { // text, green or orange border = (~m_ff22_value & MODE_CSS) ? 0x12 : 0x26; @@ -1329,42 +1329,26 @@ inline uint16_t gime_device::get_lines_per_row() uint16_t lines_per_row; if (m_legacy_video) { - switch(m_ff22_value & MODE_AG) + if (m_ff22_value & MODE_AG) { - case 0: + static int gime_legacy_lines_per_row_graphic[8] = { - // http://cocogamedev.mxf.yuku.com/topic/4299238#.VyC6ozArI-U - static int ff9c_lines_per_row[16] = - { - 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 4, 3, 2, 1, 12 - }; - - int i = m_gime_registers[0x0C] & 0x0F; - //lines_per_row = 12; - lines_per_row = ff9c_lines_per_row[i]; - break; - } + 3, 3, 3, 2, 2, 1, 1, 1 + }; - case MODE_AG: - switch (m_sam_state & (SAM_STATE_V0|SAM_STATE_V1|SAM_STATE_V2)) - { - case 0: - lines_per_row = 12; - break; - case SAM_STATE_V1: - lines_per_row = 3; - break; - case SAM_STATE_V2: - case SAM_STATE_V1|SAM_STATE_V0: - lines_per_row = 2; - break; - default: - lines_per_row = 1; - } - break; + int i = m_sam_state & (SAM_STATE_V0|SAM_STATE_V1|SAM_STATE_V2); + lines_per_row = gime_legacy_lines_per_row_graphic[i]; + } + else + { + // http://cocogamedev.mxf.yuku.com/topic/4299238#.VyC6ozArI-U + static int ff9c_lines_per_row_alpha[16] = + { + 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 4, 3, 2, 1, 12 + }; - default: - fatalerror("Should not get here\n"); + int i = m_gime_registers[0x0C] & 0x0F; + lines_per_row = ff9c_lines_per_row_alpha[i]; } } else @@ -1523,7 +1507,11 @@ void gime_device::record_full_body_scanline(uint16_t physical_scanline, uint16_t case MODE_AG|MODE_GM0: case MODE_AG|MODE_GM1|MODE_GM0: case MODE_AG|MODE_GM2|MODE_GM0: - pitch = record_scanline_res<16, &gime_device::get_data_mc6847, true>(physical_scanline); + if (m_sam_state & SAM_STATE_V0) + pitch = record_scanline_res<16, &gime_device::get_data_mc6847, true>(physical_scanline); + else + pitch = record_scanline_res<32, &gime_device::get_data_mc6847, true>(physical_scanline); + break; case 0: @@ -1687,9 +1675,10 @@ uint32_t gime_device::emit_dummy_samples(const scanline_record *scanline, int sa // emit_mc6847_samples //------------------------------------------------- +template inline uint32_t gime_device::emit_mc6847_samples(const scanline_record *scanline, int sample_start, int sample_count, pixel_t *pixels, const pixel_t *palette) { - return super::emit_mc6847_samples<2>( + return super::emit_mc6847_samples( scanline->m_mode[sample_start], &scanline->m_data[sample_start], sample_count, @@ -1883,11 +1872,14 @@ bool gime_device::update_screen(bitmap_rgb32 &bitmap, const rectangle &cliprect, case MODE_AG|MODE_GM0: case MODE_AG|MODE_GM1|MODE_GM0: case MODE_AG|MODE_GM2|MODE_GM0: - render_scanline<16, &gime_device::emit_mc6847_samples>(scanline, pixels, min_x, max_x, &resolver); + if (m_sam_state & SAM_STATE_V0) + render_scanline<16, &gime_device::emit_mc6847_samples<2>>(scanline, pixels, min_x, max_x, &resolver); + else + render_scanline<32, &gime_device::emit_mc6847_samples<1>>(scanline, pixels, min_x, max_x, &resolver); break; default: - render_scanline<32, &gime_device::emit_mc6847_samples>(scanline, pixels, min_x, max_x, &resolver); + render_scanline<32, &gime_device::emit_mc6847_samples<2>>(scanline, pixels, min_x, max_x, &resolver); break; } } diff --git a/src/mame/trs/gime.h b/src/mame/trs/gime.h index 76286aa625201..66c50162dcf1b 100644 --- a/src/mame/trs/gime.h +++ b/src/mame/trs/gime.h @@ -239,6 +239,7 @@ class gime_device : public mc6847_friend_device, public sam6883_friend_device_in // rendering sampled graphics typedef uint32_t (gime_device::*emit_samples_proc)(const scanline_record *scanline, int sample_start, int sample_count, pixel_t *pixels, const pixel_t *palette); uint32_t emit_dummy_samples(const scanline_record *scanline, int sample_start, int sample_count, pixel_t *pixels, const pixel_t *palette); + template uint32_t emit_mc6847_samples(const scanline_record *scanline, int sample_start, int sample_count, pixel_t *pixels, const pixel_t *palette); template uint32_t emit_gime_text_samples(const scanline_record *scanline, int sample_start, int sample_count, pixel_t *pixels, const pixel_t *palette); diff --git a/src/mame/tvgames/actions_atj2279b.cpp b/src/mame/tvgames/actions_atj2279b.cpp index b3de68551ac8e..89d3e3d50f288 100644 --- a/src/mame/tvgames/actions_atj2279b.cpp +++ b/src/mame/tvgames/actions_atj2279b.cpp @@ -104,4 +104,4 @@ ROM_END // year, name, parent, compat, machine, input, class, init, company, fullname, flags -CONS( 2016, rbitgen, 0, 0, actions_atj2279b, actions_atj2279b, actions_atj2279b_state, empty_init, "Retro-Bit", "Generations (Retro-Bit)", MACHINE_IS_SKELETON ) +CONS( 2016, rbitgen, 0, 0, actions_atj2279b, actions_atj2279b, actions_atj2279b_state, empty_init, "Retro-Bit", "Generations (Retro-Bit)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/tvgames/elan_eu3a05.cpp b/src/mame/tvgames/elan_eu3a05.cpp index dcff115046fa5..5b4d42d4042d1 100644 --- a/src/mame/tvgames/elan_eu3a05.cpp +++ b/src/mame/tvgames/elan_eu3a05.cpp @@ -211,7 +211,7 @@ Set 5043 bit 0 low #include "elan_eu3a05_a.h" #include "cpu/m6502/m6502.h" -//#include "cpu/m6502/m65c02.h" +//#include "cpu/m6502/w65c02.h" #include "emupal.h" #include "screen.h" #include "softlist_dev.h" diff --git a/src/mame/tvgames/generalplus_gpl16250_mobigo.cpp b/src/mame/tvgames/generalplus_gpl16250_mobigo.cpp index cfd89438a0a78..5d77132e9e832 100644 --- a/src/mame/tvgames/generalplus_gpl16250_mobigo.cpp +++ b/src/mame/tvgames/generalplus_gpl16250_mobigo.cpp @@ -169,6 +169,6 @@ ROM_END } // anonymous namespace -CONS( 2010, mobigo, 0, 0, mobigo, mobigo, mobigo_state, init_mobigo , "VTech", "MobiGo", MACHINE_IS_SKELETON ) -CONS( 2010, mobigos, mobigo, 0, mobigo, mobigo, mobigo_state, init_mobigo , "VTech", "MobiGo (Spain)", MACHINE_IS_SKELETON ) -CONS( 2012, mobigo2, 0, 0, mobigo2, mobigo, mobigo2_state, nand_init840, "VTech", "MobiGo 2 (Germany)", MACHINE_IS_SKELETON ) +CONS( 2010, mobigo, 0, 0, mobigo, mobigo, mobigo_state, init_mobigo , "VTech", "MobiGo", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 2010, mobigos, mobigo, 0, mobigo, mobigo, mobigo_state, init_mobigo , "VTech", "MobiGo (Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 2012, mobigo2, 0, 0, mobigo2, mobigo, mobigo2_state, nand_init840, "VTech", "MobiGo 2 (Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/tvgames/generalplus_gpl32612.cpp b/src/mame/tvgames/generalplus_gpl32612.cpp index a752f87f6b935..09a99e015ad87 100644 --- a/src/mame/tvgames/generalplus_gpl32612.cpp +++ b/src/mame/tvgames/generalplus_gpl32612.cpp @@ -349,11 +349,11 @@ void generalplus_gpl32612_game_state::nand_init880() // year, name, parent, compat, machine, input, class, init, company, fullname, flags -CONS( 200?, jak_swbstrik, 0, 0, gpl32612, gpl32612, generalplus_gpl32612_game_state, nand_init840, "JAKKS Pacific Inc", "Star Wars Blaster Strike", MACHINE_IS_SKELETON ) -CONS( 200?, jak_tmnthp, 0, 0, gpl32612, gpl32612, generalplus_gpl32612_game_state, nand_init840, "JAKKS Pacific Inc", "Teenage Mutant Ninja Turtles Hero Portal", MACHINE_IS_SKELETON ) -CONS( 200?, jak_ddhp, 0, 0, gpl32612, gpl32612, generalplus_gpl32612_game_state, nand_init840, "JAKKS Pacific Inc", "DreamWorks Dragons Hero Portal", MACHINE_IS_SKELETON ) -CONS( 200?, jak_prhp, 0, 0, gpl32612, gpl32612, generalplus_gpl32612_game_state, nand_init840, "JAKKS Pacific Inc", "Power Rangers Super Megaforce Hero Portal", MACHINE_IS_SKELETON ) // from a PAL unit (probably not region specific) -CONS( 200?, jak_dchp, 0, 0, gpl32612, gpl32612, generalplus_gpl32612_game_state, nand_init840, "JAKKS Pacific Inc", "DC Super Heroes The Watchtower Hero Portal", MACHINE_IS_SKELETON ) +CONS( 200?, jak_swbstrik, 0, 0, gpl32612, gpl32612, generalplus_gpl32612_game_state, nand_init840, "JAKKS Pacific Inc", "Star Wars Blaster Strike", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 200?, jak_tmnthp, 0, 0, gpl32612, gpl32612, generalplus_gpl32612_game_state, nand_init840, "JAKKS Pacific Inc", "Teenage Mutant Ninja Turtles Hero Portal", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 200?, jak_ddhp, 0, 0, gpl32612, gpl32612, generalplus_gpl32612_game_state, nand_init840, "JAKKS Pacific Inc", "DreamWorks Dragons Hero Portal", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 200?, jak_prhp, 0, 0, gpl32612, gpl32612, generalplus_gpl32612_game_state, nand_init840, "JAKKS Pacific Inc", "Power Rangers Super Megaforce Hero Portal", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // from a PAL unit (probably not region specific) +CONS( 200?, jak_dchp, 0, 0, gpl32612, gpl32612, generalplus_gpl32612_game_state, nand_init840, "JAKKS Pacific Inc", "DC Super Heroes The Watchtower Hero Portal", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // Might not belong here, SoC is marked GPL32300A instead, but is still ARM based, and has GPNAND strings CONS( 201?, zippity, 0, 0, zippity, gpl32612, generalplus_zippity_game_state, empty_init, "LeapFrog", "Zippity (US)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/tvgames/generalplus_gpl_unknown.cpp b/src/mame/tvgames/generalplus_gpl_unknown.cpp index cf5971bc53611..eaa8e0459ccaf 100644 --- a/src/mame/tvgames/generalplus_gpl_unknown.cpp +++ b/src/mame/tvgames/generalplus_gpl_unknown.cpp @@ -624,15 +624,15 @@ ROM_END // The 'Micro Arcade' units are credit card sized handheld devices -CONS( 2017, mapacman, 0, 0, generalplus_gpl_unknown, generalplus_gpl_unknown, generalplus_gpl_unknown_state, empty_init, "Super Impulse", "Pac-Man (Micro Arcade)", MACHINE_IS_SKELETON ) +CONS( 2017, mapacman, 0, 0, generalplus_gpl_unknown, generalplus_gpl_unknown, generalplus_gpl_unknown_state, empty_init, "Super Impulse", "Pac-Man (Micro Arcade)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // The 'Tiny Arcade' units are arcade cabinets on a keyring. -CONS( 2017, taspinv, 0, 0, generalplus_gpl_unknown, generalplus_gpl_unknown, generalplus_gpl_unknown_state, empty_init, "Super Impulse", "Space Invaders (Tiny Arcade)", MACHINE_IS_SKELETON ) +CONS( 2017, taspinv, 0, 0, generalplus_gpl_unknown, generalplus_gpl_unknown, generalplus_gpl_unknown_state, empty_init, "Super Impulse", "Space Invaders (Tiny Arcade)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) -CONS( 2017, tagalaga, 0, 0, generalplus_gpl_unknown, generalplus_gpl_unknown, generalplus_gpl_unknown_state, empty_init, "Super Impulse", "Galaga (Tiny Arcade)", MACHINE_IS_SKELETON ) +CONS( 2017, tagalaga, 0, 0, generalplus_gpl_unknown, generalplus_gpl_unknown, generalplus_gpl_unknown_state, empty_init, "Super Impulse", "Galaga (Tiny Arcade)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) -CONS( 2017, parcade, 0, 0, generalplus_gpl_unknown, generalplus_gpl_unknown, generalplus_gpl_unknown_state, empty_init, "Hasbro", "Palace Arcade (Tiny Arcade)", MACHINE_IS_SKELETON ) +CONS( 2017, parcade, 0, 0, generalplus_gpl_unknown, generalplus_gpl_unknown, generalplus_gpl_unknown_state, empty_init, "Hasbro", "Palace Arcade (Tiny Arcade)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) -CONS( 2019, taturtf, 0, 0, generalplus_gpl_unknown, generalplus_gpl_unknown, generalplus_gpl_unknown_state, empty_init, "Super Impulse", "Teenage Mutant Ninja Turtles - Turtle Fighter (Tiny Arcade)", MACHINE_IS_SKELETON ) +CONS( 2019, taturtf, 0, 0, generalplus_gpl_unknown, generalplus_gpl_unknown, generalplus_gpl_unknown_state, empty_init, "Super Impulse", "Teenage Mutant Ninja Turtles - Turtle Fighter (Tiny Arcade)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/tvgames/gpm4530a_lexibook_jg7420.cpp b/src/mame/tvgames/gpm4530a_lexibook_jg7420.cpp index d142ee5b29e62..6782cfcb1cf11 100644 --- a/src/mame/tvgames/gpm4530a_lexibook_jg7420.cpp +++ b/src/mame/tvgames/gpm4530a_lexibook_jg7420.cpp @@ -91,4 +91,4 @@ ROM_END } // anonymous namespace // JG7420_24 on sticker -CONS( 201?, lx_jg7420, 0, 0, gpm4530a_lexibook, gpm4530a_lexibook, gpm4530a_lexibook_state, empty_init, "Lexibook", "Lexibook JG7420 200-in-1", MACHINE_IS_SKELETON ) +CONS( 201?, lx_jg7420, 0, 0, gpm4530a_lexibook, gpm4530a_lexibook, gpm4530a_lexibook_state, empty_init, "Lexibook", "Lexibook JG7420 200-in-1", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/tvgames/magiceyes_pollux_vr3520f.cpp b/src/mame/tvgames/magiceyes_pollux_vr3520f.cpp index e888ecf87b59a..fa4a9cf48f8d0 100644 --- a/src/mame/tvgames/magiceyes_pollux_vr3520f.cpp +++ b/src/mame/tvgames/magiceyes_pollux_vr3520f.cpp @@ -121,4 +121,4 @@ ROM_END } // anonymous namespace -CONS( 2008, didj, 0, 0, leapfrog_didj, leapfrog_didj, magiceyes_vr3520f_game_state, empty_init, "LeapFrog", "Didj", MACHINE_IS_SKELETON ) +CONS( 2008, didj, 0, 0, leapfrog_didj, leapfrog_didj, magiceyes_vr3520f_game_state, empty_init, "LeapFrog", "Didj", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/tvgames/monkey_king_3b.cpp b/src/mame/tvgames/monkey_king_3b.cpp index 05a9e238963bd..367884c5d292e 100644 --- a/src/mame/tvgames/monkey_king_3b.cpp +++ b/src/mame/tvgames/monkey_king_3b.cpp @@ -254,4 +254,4 @@ ROM_END } // anonymous namespace -CONS( 2019, rs70_648, 0, 0, mk3b_soc, mk3b_soc, mk3b_soc_state, init_rs70, "CoolBoy", "RS-70 648-in-1", MACHINE_IS_SKELETON ) +CONS( 2019, rs70_648, 0, 0, mk3b_soc, mk3b_soc, mk3b_soc_state, init_rs70, "CoolBoy", "RS-70 648-in-1", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/tvgames/pubint_storyreader.cpp b/src/mame/tvgames/pubint_storyreader.cpp index 1c55cb87a22f7..70ec2210dd3e0 100644 --- a/src/mame/tvgames/pubint_storyreader.cpp +++ b/src/mame/tvgames/pubint_storyreader.cpp @@ -173,5 +173,5 @@ ROM_END // year, name, parent, compat, machine, input, class, init, company, fullname, flags // These are said to not be compatible with each other -CONS( 200?, pi_stry, 0, 0, pi_storyreader, pi_storyreader, pi_storyreader_state, empty_init, "Publications International Ltd", "Story Reader", MACHINE_IS_SKELETON ) -CONS( 200?, pi_stry2, 0, 0, pi_storyreader_v2, pi_storyreader, pi_storyreader_state, empty_init, "Publications International Ltd", "Story Reader 2.0", MACHINE_IS_SKELETON ) +CONS( 200?, pi_stry, 0, 0, pi_storyreader, pi_storyreader, pi_storyreader_state, empty_init, "Publications International Ltd", "Story Reader", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 200?, pi_stry2, 0, 0, pi_storyreader_v2, pi_storyreader, pi_storyreader_state, empty_init, "Publications International Ltd", "Story Reader 2.0", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/tvgames/spg29x_lexibook_jg7425.cpp b/src/mame/tvgames/spg29x_lexibook_jg7425.cpp index cd35f56cdf95d..6f055b66d8f71 100644 --- a/src/mame/tvgames/spg29x_lexibook_jg7425.cpp +++ b/src/mame/tvgames/spg29x_lexibook_jg7425.cpp @@ -203,10 +203,10 @@ ROM_END } // anonymous namespace -CONS( 2015, fundr200, 0, 0, lexibook_jg7425, lexibook_jg7425, lexibook_jg7425_state, empty_init, "Funderdome", "Funderdome Video Game Entertainment System 200+ Games (FUN-GAME32-1)", MACHINE_IS_SKELETON ) // FUN-GAME32-1 on manual -CONS( 2015, lx_jg7425, 0, 0, lexibook_jg7425, lexibook_jg7425, lexibook_jg7425_state, empty_init, "Lexibook", "Lexibook JG7425 221-in-1", MACHINE_IS_SKELETON ) -CONS( 2016, lx_aven, 0, 0, lexibook_jg7425, lexibook_jg7425, lexibook_jg7425_state, empty_init, "Lexibook", "Marvel Avengers TV Game Console (32-bit, Lexibook)", MACHINE_IS_SKELETON ) -CONS( 2016, lx_frozen, 0, 0, lexibook_jg7425, lexibook_jg7425, lexibook_jg7425_state, empty_init, "Lexibook", "Disney Frozen TV Game Console (32-bit, Lexibook, JG7420FZ)", MACHINE_IS_SKELETON ) +CONS( 2015, fundr200, 0, 0, lexibook_jg7425, lexibook_jg7425, lexibook_jg7425_state, empty_init, "Funderdome", "Funderdome Video Game Entertainment System 200+ Games (FUN-GAME32-1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // FUN-GAME32-1 on manual +CONS( 2015, lx_jg7425, 0, 0, lexibook_jg7425, lexibook_jg7425, lexibook_jg7425_state, empty_init, "Lexibook", "Lexibook JG7425 221-in-1", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 2016, lx_aven, 0, 0, lexibook_jg7425, lexibook_jg7425, lexibook_jg7425_state, empty_init, "Lexibook", "Marvel Avengers TV Game Console (32-bit, Lexibook)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 2016, lx_frozen, 0, 0, lexibook_jg7425, lexibook_jg7425, lexibook_jg7425_state, empty_init, "Lexibook", "Disney Frozen TV Game Console (32-bit, Lexibook, JG7420FZ)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // slightly different, but same basic structure of the external ROM -COMP( 201?, zone3d, 0, 0, lexibook_jg7425, lexibook_jg7425, lexibook_jg7425_state, empty_init,"Zone", "Zone 3D", MACHINE_IS_SKELETON ) +COMP( 201?, zone3d, 0, 0, lexibook_jg7425, lexibook_jg7425, lexibook_jg7425_state, empty_init,"Zone", "Zone 3D", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/tvgames/spg2xx.cpp b/src/mame/tvgames/spg2xx.cpp index 369e8e0126ed7..06d10005e8d9b 100644 --- a/src/mame/tvgames/spg2xx.cpp +++ b/src/mame/tvgames/spg2xx.cpp @@ -1356,6 +1356,29 @@ static INPUT_PORTS_START( ddr33v ) INPUT_PORTS_END +static const ioport_value handle_table[3] = +{ + 0x00, 0x01, 0x03, +}; + +// the on/off slider has 3 positions; off, on (low sound), on (high sound) but this seems to be a hardware feature, not read by the code +static INPUT_PORTS_START( prail ) + PORT_INCLUDE( spg2xx ) + + PORT_MODIFY("P1") + PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Doors") + PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Horn") + PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Lights") + PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Conductor") + PORT_BIT( 0xc000, 0x0000, IPT_POSITIONAL_V ) PORT_POSITIONS(3) PORT_REMAP_TABLE(handle_table) PORT_SENSITIVITY(15) PORT_KEYDELTA(1) PORT_CENTERDELTA(0) PORT_PLAYER(1) + + PORT_MODIFY("P2") + PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_CUSTOM ) // battery state + + PORT_MODIFY("P3") + PORT_BIT( 0x0003, 0x0000, IPT_POSITIONAL_V ) PORT_POSITIONS(3) PORT_REMAP_TABLE(handle_table) PORT_SENSITIVITY(15) PORT_KEYDELTA(1) PORT_CENTERDELTA(0) PORT_PLAYER(2) +INPUT_PORTS_END + void spg2xx_game_state::machine_start() { if (m_bank) @@ -2052,6 +2075,34 @@ void spg2xx_game_doraphone_state::doraphone(machine_config &config) m_maincpu->portc_in().set(FUNC(spg2xx_game_doraphone_state::base_portc_r)); } +void spg2xx_game_prail_state::prail_portb_w(offs_t offset, uint16_t data, uint16_t mem_mask) +{ + if (mem_mask & 0x0f) + { + uint8_t const bank = bitswap<4>(data, 3, 2, 0, 1); + switch_bank(bank); + } + + portb_w(offset, data & ~0x000f, mem_mask & ~0x000f); +} + +void spg2xx_game_prail_state::prail(machine_config &config) +{ + SPG24X(config, m_maincpu, XTAL(27'000'000), m_screen); // SPG243 + m_maincpu->set_addrmap(AS_PROGRAM, &spg2xx_game_prail_state::mem_map_4m); + + spg2xx_base(config); + m_maincpu->porta_in().set(FUNC(spg2xx_game_prail_state::base_porta_r)); + m_maincpu->portb_in().set(FUNC(spg2xx_game_prail_state::base_portb_r)); + m_maincpu->portc_in().set(FUNC(spg2xx_game_prail_state::base_portc_r)); + + m_maincpu->portb_out().set(FUNC(spg2xx_game_prail_state::prail_portb_w)); + + // TODO: this is not currently hooked up, it's used to store the unlock states for the gallery + I2C_24C02(config, "i2cmem", 0); // ATMLH13402C (24C02 compatible) +} + + void spg2xx_game_doraphone_state::doraphonep(machine_config &config) { doraphone(config); @@ -2330,6 +2381,12 @@ ROM_START( anpantv ) ROM_LOAD16_WORD_SWAP( "anpanman_tv.bin", 0x000000, 0x800000, CRC(5e32dc1a) SHA1(bae260ffc56f5315cdafd5bc40966ec6d31e267f) ) ROM_END +ROM_START( prail ) + ROM_REGION( 0x8000000, "maincpu", ROMREGION_ERASE00 ) + ROM_LOAD16_WORD_SWAP( "traingame.u1", 0x000000, 0x8000000, CRC(5c96d526) SHA1(cda0280b320762bda7a7358ec7ce29690aa815fb) ) +ROM_END + + void spg2xx_game_state::init_crc() { // several games have a byte sum checksum listed at the start of ROM, this little helper function logs what it should match. @@ -2510,3 +2567,8 @@ CONS( 2008, ddr33v, 0, 0, spg2xx, ddr33v, spg2xx_game_ddr33v_st // PCB has 'Anpanman TV 2006 Ver 1.4' printed on it, ROM has SPG260 header. Uses custom built-in keyboard, no display built into the unit. CONS( 2006, anpantv, 0, 0, spg2xx, spg2xx, spg2xx_game_state, empty_init, "Bandai", "Anpanman TV (Japan)", MACHINE_NOT_WORKING ) + +// Train Game V1.4 2012-08-15 on PCB. SPG243 headers in each chunk. +// Last few bytes of SEEPROM have 'JUNGT' in them, is this developed by JungleSoft/JungleTac? +CONS( 2012, prail, 0, 0, prail, prail, spg2xx_game_prail_state, empty_init, "Takara Tomy", "Boku wa Plarail Untenshi - Shinkansen de Ikou! (Japan)", MACHINE_IMPERFECT_SOUND ) +// the 'plus' version from 2015 runs on newer hardware, see generalplus_gpl16250_spi.cpp diff --git a/src/mame/tvgames/spg2xx.h b/src/mame/tvgames/spg2xx.h index db01d85e3b211..4eceaca947be9 100644 --- a/src/mame/tvgames/spg2xx.h +++ b/src/mame/tvgames/spg2xx.h @@ -390,5 +390,23 @@ class spg2xx_game_ddr33v_state : public spg2xx_game_state private: }; +class spg2xx_game_prail_state : public spg2xx_game_state +{ +public: + spg2xx_game_prail_state(const machine_config &mconfig, device_type type, const char *tag) : + spg2xx_game_state(mconfig, type, tag), + m_i2cmem(*this, "i2cmem") + { } + + void prail(machine_config &config); + +protected: + void prail_portb_w(offs_t offset, uint16_t data, uint16_t mem_mask); + +private: + required_device m_i2cmem; +}; + + #endif // MAME_TVGAMES_SPG2XX_H diff --git a/src/mame/tvgames/spg2xx_dreamlife.cpp b/src/mame/tvgames/spg2xx_dreamlife.cpp index ae2ad432733e8..27eb958b889ac 100644 --- a/src/mame/tvgames/spg2xx_dreamlife.cpp +++ b/src/mame/tvgames/spg2xx_dreamlife.cpp @@ -1,5 +1,10 @@ // license:BSD-3-Clause // copyright-holders:Ryan Holtz, David Haywood +/* + TODO: + Service mode inputs for Giga Pets Explorer + Dump and emulate Giga Pets handheld game units +*/ #include "emu.h" #include "spg2xx.h" @@ -79,6 +84,26 @@ static INPUT_PORTS_START( dsgnwrld ) PORT_BIT( 0xf000, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END +static INPUT_PORTS_START( gigapets ) + PORT_START("P1") + PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) + PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) + PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) + PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) + PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Select") + PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Back") // PCB marking is "Cancel" + PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("Menu") + PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_UNUSED ) + // TODO: Likely handheld game unit inputs + PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_BUTTON4 ) + PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_UNKNOWN ) + PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_BUTTON5 ) + PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_BUTTON6 ) + PORT_BIT( 0xc000, IP_ACTIVE_HIGH, IPT_UNUSED ) +INPUT_PORTS_END + void dreamlif_state::dreamlif(machine_config &config) { SPG24X(config, m_maincpu, XTAL(27'000'000), m_screen); @@ -104,9 +129,17 @@ ROM_START( dsgnwrld ) ROM_LOAD16_WORD_SWAP( "designersworld.bin", 0x000000, 0x800000, CRC(b3987161) SHA1(f7d03b172fd0accc6370d9ccc340b3aa6317426f) ) ROM_END +// PCB Markings: 3059L-R3 0626 / 3059TV-R3B / 3059R-R1 0626 +// Dumped as K8D6X16UTM +ROM_START( gigapets ) + ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 ) + ROM_LOAD16_WORD_SWAP( "rom.u7", 0x000000, 0x800000, CRC(beacc99c) SHA1(d6e3ed69e297282b9d85661a7468e0c0a6815d31) ) +ROM_END + } // anonymous namespace // Hasbro games CONS( 2005, dreamlif, 0, 0, dreamlif, dreamlif, dreamlif_state, empty_init, "Hasbro", "Dream Life (Version 1.0, Feb 07 2005)", MACHINE_IMPERFECT_SOUND ) CONS( 2005, dsgnwrld, 0, 0, dreamlif, dsgnwrld, dreamlif_state, empty_init, "Hasbro", "Designer's World (Version 1.0, Dec 20 2005)", MACHINE_IMPERFECT_SOUND ) +CONS( 2006, gigapets, 0, 0, dreamlif, gigapets, dreamlif_state, empty_init, "Hasbro", "Giga Pets Explorer (Version 1.34.1, Mar 17 2006)", MACHINE_IMPERFECT_SOUND ) diff --git a/src/mame/tvgames/st2302u_bbl_rom.cpp b/src/mame/tvgames/st2302u_bbl_rom.cpp index be48fac1e8f0a..170799c51bb0d 100644 --- a/src/mame/tvgames/st2302u_bbl_rom.cpp +++ b/src/mame/tvgames/st2302u_bbl_rom.cpp @@ -392,9 +392,9 @@ ROM_END // this is uses a higher resolution display than the common units, but not as high as the SunPlus based ones -COMP( 201?, bbl338, 0, 0, st22xx_bbl338, dphh8213, st22xx_bbl338_sim_state, empty_init, "BaoBaoLong", "Portable Game Player BBL-338 (BaoBaoLong, 48-in-1)", MACHINE_IS_SKELETON ) +COMP( 201?, bbl338, 0, 0, st22xx_bbl338, dphh8213, st22xx_bbl338_sim_state, empty_init, "BaoBaoLong", "Portable Game Player BBL-338 (BaoBaoLong, 48-in-1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // also appears to be the higher resolution display -COMP( 201?, class200, 0, 0, st22xx_bbl338, dphh8213, st22xx_bbl338_sim_state, empty_init, "", "Color LCD Classic Game 200-in-1", MACHINE_IS_SKELETON ) // no manufacturer name or product code anywhere +COMP( 201?, class200, 0, 0, st22xx_bbl338, dphh8213, st22xx_bbl338_sim_state, empty_init, "", "Color LCD Classic Game 200-in-1", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // no manufacturer name or product code anywhere // Language controlled by port bit, set at factory, low resolution -COMP( 201?, dphh8213, 0, 0, st22xx_dphh8213, dphh8213, st22xx_bbl338_state, empty_init, "", "Digital Pocket Hand Held System 20-in-1 - Model 8213", MACHINE_IS_SKELETON ) +COMP( 201?, dphh8213, 0, 0, st22xx_dphh8213, dphh8213, st22xx_bbl338_state, empty_init, "", "Digital Pocket Hand Held System 20-in-1 - Model 8213", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/tvgames/titan_soc.cpp b/src/mame/tvgames/titan_soc.cpp index 1a67b5c3e4232..5664fdbb92fad 100644 --- a/src/mame/tvgames/titan_soc.cpp +++ b/src/mame/tvgames/titan_soc.cpp @@ -170,6 +170,6 @@ void titan_soc_state::init_titan_soc() } // anonymous namespace -CONS( 2009, megadri4, 0, 0, titan_soc, titan_soc, titan_soc_state, init_titan_soc, "Tectoy (licensed from Sega)", "Mega Drive 4 / Guitar Idol (set 1)", MACHINE_IS_SKELETON ) -CONS( 2009, megadri4a, megadri4, 0, titan_soc, titan_soc, titan_soc_state, init_titan_soc, "Tectoy (licensed from Sega)", "Mega Drive 4 / Guitar Idol (set 2)", MACHINE_IS_SKELETON ) -CONS( 2004, colecofl, 0, 0, titan_soc, titan_soc, titan_soc_state, empty_init, "AtGames", "Colecovision Flashback", MACHINE_IS_SKELETON ) +CONS( 2009, megadri4, 0, 0, titan_soc, titan_soc, titan_soc_state, init_titan_soc, "Tectoy (licensed from Sega)", "Mega Drive 4 / Guitar Idol (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 2009, megadri4a, megadri4, 0, titan_soc, titan_soc, titan_soc_state, init_titan_soc, "Tectoy (licensed from Sega)", "Mega Drive 4 / Guitar Idol (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 2004, colecofl, 0, 0, titan_soc, titan_soc, titan_soc_state, empty_init, "AtGames", "Colecovision Flashback", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/tvgames/xavix.cpp b/src/mame/tvgames/xavix.cpp index 6f061363b963e..544fea8741771 100644 --- a/src/mame/tvgames/xavix.cpp +++ b/src/mame/tvgames/xavix.cpp @@ -42,12 +42,10 @@ Let's!TVプレイ ふしぎ星のふたご姫Gyu! ドレスチェンジでキュートにダンス / バンダイ / 日本 Let's!TV Play Gyu, the Twin Princess of the Mysterious Planet! Dance cutely with a dress change / Bandai / Japan Let's!TVプレイ 体感キャストオフ 仮面ライダーカブト クロックアップ&ライダーキック / バンダイ / 日本 Let's!TV Play Experience Cast Off Kamen Rider Kabuto Clock Up & Rider Kick / Bandai / Japan Let's!TVプレイ なりきり体感 ボウケンジャー 走れ!撃て!ミッションスタート!! / バンダイ / 日本 Let's! TV Play Narikiri Experience Boukenger Run! Shoot! Mission starts! ! / Bandai / Japan - テレビであそぼう!まなぼう!超能力あいうえお図鑑 / エポック社 / 日本 Let's play on TV! Learn! Superpower Aiueo Illustrated Book / Epochsha / Japan Let's!TVプレイ なりきりファイト ウルトラマン 撃て!必殺光線!! / タカラトミー / 日本 Let's!TV Play Narikiri Fight Ultraman Shoot! Deadly ray! ! / Takara Tomy / Japan 2005 どこでもドラえもん 日本旅行ゲームDX体感!どこドラグランプリ! / エポック社 / 日本 Doraemon anywhere - Japan travel game DX experience! Where is the Dragon Grand Prix! / Epoch / Japan Let's!TVプレイ ふたりはプリキュアMaxHeart マットでダンス MaxHeartにおどっちゃおう / バンダイ / 日本 Let's!TV Play Futari wa PreCure MaxHeart Dance on the mat Let's go to MaxHeart / Bandai / Japan Let's!TVプレイ 魔法戦隊マジレンジャー マジマットでダンス&バトル / バンダイ / 日本 Let's!TV Play Mahou Sentai Magiranger Dance & Battle at Magimat / Bandai / Japan - Let's!TVプレイ 音撃バトル!仮面ライダー響鬼 決めろ!一気火勢の型 / バンダイ / 日本 Let's!TV Play Ongeki Battle! Kamen Rider Hibiki Decide! Ichikkasei no Kata / Bandai / Japan Jala Jaland /atlus/Japan (arcade version) - - - - - - - 2004 Printer for TV computer /EPOCH/Japan - - - - - - - Accessory memory mascot for TV mail Pc mail cot 2 characters (Putchi, Petchi) /EPOCH/Japan - - - - - - - @@ -63,9 +61,7 @@ not dumped: no TSOP pads 2003 Beyblade Arcade Challenge 5-in-1 /Hasbro/USA - - - - - - have - 2002 Excite Striker (UK) 2001 Webdiver Gradion /TAKARA/Japan - - - - - - - - 2000 connecTV OPUS /RADICA EU (different ROM to US?) not dumped: xavix2.cpp @@ -76,6 +72,9 @@ 2005 Let's!TVプレイ ドラゴンボ-ルZ バトル体感かめはめ波~ おめぇとフュージョン / バンダイ / 日本 Let's!TV Play Dragon Ball Z Battle Experience Kamehameha ~ Ometo Fusion / Bandai / Japan dumped: either here, xavix_2000.cpp, or xavix_2002.cpp + Excite Striker (UK) + connecTV OPUS /RADICA EU (different ROM to US?) + Let's!TVプレイ 音撃バトル!仮面ライダー響鬼 決めろ!一気火勢の型 / バンダイ / 日本 (Let's! TV Play Ongeki Battle! Kamen Rider Hibiki Decide! Ichikkasei no Kata / Bandai / Japan) Let's construct the town! /TAKARA/Japan - - - - - - - TV hockey /TOMY/Japan - - - - - - - Zuba-Zuba Blade /TAKARA/Japan - - - - - - - @@ -200,6 +199,7 @@ dumped: see xavix2.cpp 2006 Let's!TVプレイ NARUTO-ナルト- 忍者体感~だってばよ~ / バンダイ / 日本 Let's!TV Play NARUTO Ninja Experience ~Dattebayo~ / Bandai / Japan + 2006 テレビであそぼう!まなぼう!超能力あいうえお図鑑 / エポック社 / 日本 Let's play on TV! Learn! Superpower Aiueo Illustrated Book / Epochsha / Japan @@ -423,6 +423,20 @@ void xavix_state::superxavix_lowbus_map(address_map &map) map(0x6c00, 0x6cff).ram().w(FUNC(xavix_state::bmp_palram_sh_w)).share("bmp_palram_sh"); map(0x6d00, 0x6dff).ram().w(FUNC(xavix_state::bmp_palram_l_w)).share("bmp_palram_l"); + // map(0x6a40, 0x6a7f).ram().share("ext_segment_regs"); // 16x32 extended segment regs + + map(0x6f78, 0x6f78).rw(FUNC(xavix_state::superxavix_chr_pal_index_r), FUNC(xavix_state::superxavix_chr_pal_index_w)); // SgdPalChrIdx + map(0x6f79, 0x6f79).rw(FUNC(xavix_state::superxavix_chr_pal_hue_r), FUNC(xavix_state::superxavix_chr_pal_hue_w)); // SgdPalChrHue + map(0x6f7a, 0x6f7a).rw(FUNC(xavix_state::superxavix_chr_pal_saturation_r), FUNC(xavix_state::superxavix_chr_pal_saturation_w)); // SgdPalChrSat + map(0x6f7b, 0x6f7b).rw(FUNC(xavix_state::superxavix_chr_pal_lightness_r), FUNC(xavix_state::superxavix_chr_pal_lightness_w)); // SgdPalChrLgt + + map(0x6f7c, 0x6f7c).rw(FUNC(xavix_state::superxavix_bitmap_pal_index_r), FUNC(xavix_state::superxavix_bitmap_pal_index_w)); // SgdPalBmpAdr + map(0x6f7d, 0x6f7d).rw(FUNC(xavix_state::superxavix_bitmap_pal_hue_r), FUNC(xavix_state::superxavix_bitmap_pal_hue_w)); // SgdPalBmpHue + map(0x6f7e, 0x6f7e).rw(FUNC(xavix_state::superxavix_bitmap_pal_saturation_r), FUNC(xavix_state::superxavix_bitmap_pal_saturation_w)); // SgdPalBmpSat + map(0x6f7f, 0x6f7f).rw(FUNC(xavix_state::superxavix_bitmap_pal_lightness_r), FUNC(xavix_state::superxavix_bitmap_pal_lightness_w)); // SgdPalBmpLgt + + map(0x6fb0, 0x6fc7).ram().share("bmp_base"); + // extended external bus stuff (possible banking control?) map(0x7909, 0x7909).w(FUNC(xavix_state::extended_extbus_reg0_w)); map(0x790b, 0x790b).w(FUNC(xavix_state::extended_extbus_reg1_w)); @@ -432,7 +446,7 @@ void xavix_state::superxavix_lowbus_map(address_map &map) map(0x7a20, 0x7a22).rw("xavix2002io", FUNC(xavix2002_io_device::pio_out_r), FUNC(xavix2002_io_device::pio_out_w)); map(0x7a30, 0x7a32).r("xavix2002io", FUNC(xavix2002_io_device::pio_in_r)); - map(0x6fb0, 0x6fc7).ram().share("bmp_base"); + map(0x7ffd, 0x7ffd).nopw(); // looks like a watchdog? } diff --git a/src/mame/tvgames/xavix.h b/src/mame/tvgames/xavix.h index 2fc6c039a01b7..7c79ccb826f2e 100644 --- a/src/mame/tvgames/xavix.h +++ b/src/mame/tvgames/xavix.h @@ -425,6 +425,29 @@ class xavix_state : public driver_device void spriteregs_w(uint8_t data); + void superxavix_bitmap_pal_index_w(uint8_t data); + uint8_t superxavix_bitmap_pal_index_r(); + void superxavix_chr_pal_index_w(uint8_t data); + uint8_t superxavix_chr_pal_index_r(); + uint8_t superxavix_bitmap_pal_hue_r(); + uint8_t superxavix_bitmap_pal_saturation_r(); + uint8_t superxavix_bitmap_pal_lightness_r(); + uint8_t superxavix_chr_pal_hue_r(); + uint8_t superxavix_chr_pal_saturation_r(); + uint8_t superxavix_chr_pal_lightness_r(); + uint8_t superxavix_pal_hue_r(bool bitmap); + uint8_t superxavix_pal_saturation_r(bool bitmap); + uint8_t superxavix_pal_lightness_r(bool bitmap); + void superxavix_bitmap_pal_hue_w(uint8_t data); + void superxavix_bitmap_pal_saturation_w(uint8_t data); + void superxavix_bitmap_pal_lightness_w(uint8_t data); + void superxavix_chr_pal_hue_w(uint8_t data); + void superxavix_chr_pal_saturation_w(uint8_t data); + void superxavix_chr_pal_lightness_w(uint8_t data); + void superxavix_pal_hue_w(uint8_t data, bool bitmap); + void superxavix_pal_saturation_w(uint8_t data, bool bitmap); + void superxavix_pal_lightness_w(uint8_t data, bool bitmap); + uint8_t pal_ntsc_r(); virtual uint8_t lightgun_r(offs_t offset) { logerror("%s: unhandled lightgun_r %d\n", machine().describe_context(), offset); return 0xff; } @@ -516,6 +539,9 @@ class xavix_state : public driver_device uint8_t m_timer_baseval = 0; + uint8_t m_superxavix_pal_index = 0; + uint8_t m_superxavix_bitmap_pal_index = 0; + int16_t get_vectors(int which, int half); // raster IRQ @@ -552,6 +578,13 @@ class xavix_state : public driver_device required_device m_gfxdecode; + uint8_t get_pen_lightness_from_dat(uint16_t dat); + uint8_t get_pen_saturation_from_dat(uint16_t dat); + uint8_t get_pen_hue_from_dat(uint16_t dat); + uint16_t apply_pen_lightness_to_dat(uint16_t dat, uint16_t lightness); + uint16_t apply_pen_saturation_to_dat(uint16_t dat, uint16_t saturation); + uint16_t apply_pen_hue_to_dat(uint16_t dat, uint16_t hue); + void update_pen(int pen, uint8_t shval, uint8_t lval); void draw_tile_line(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect, int tile, int bpp, int xpos, int ypos, int drawheight, int drawwidth, int flipx, int flipy, int pal, int zval, int line); void draw_tilemap(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect, int which); @@ -634,6 +667,7 @@ class xavix_i2c_state : public xavix_state void xavix2002_i2c_24c08(machine_config &config); void xavix2002_i2c_24c04(machine_config &config); + void xavix2002_i2c_24c02(machine_config &config); void xavix2002_i2c_mrangbat(machine_config& config); protected: diff --git a/src/mame/tvgames/xavix2.cpp b/src/mame/tvgames/xavix2.cpp index 0df246d78427a..d27134397a11e 100644 --- a/src/mame/tvgames/xavix2.cpp +++ b/src/mame/tvgames/xavix2.cpp @@ -4,7 +4,7 @@ XaviX 2 - unknown architecture, does not appear to be 6502 derived like XaviX / SuperXaviX + RISC-like architecture, not 6502-derived like XaviX / SuperXaviX die is marked "SSD 2002-2004 NEC 800208-51" @@ -12,12 +12,14 @@ #include "emu.h" -#include "screen.h" +#include "cpu/xavix2/xavix2.h" +#include "machine/i2cmem.h" + #include "emupal.h" +#include "screen.h" #include "softlist.h" #include "speaker.h" -#include "cpu/xavix2/xavix2.h" -#include "machine/i2cmem.h" + #include @@ -125,7 +127,7 @@ class xavix2_state : public driver_device void pio_mode_w(offs_t offset, u32 data, u32 mem_mask); u32 pio_mode_r(offs_t offset); - virtual void pio_update() = 0; + virtual void pio_update(); void pio_w(offs_t offset, u32 data, u32 mem_mask); u32 pio_r(); @@ -491,6 +493,10 @@ u32 xavix2_state::pio_mode_r(offs_t offset) return m_pio_mode[offset]; } +void xavix2_state::pio_update() +{ +} + void naruto_state::pio_update() { if (BIT(m_pio_mask_out, 21)) @@ -705,6 +711,10 @@ static INPUT_PORTS_START(domyos) PORT_BIT(0x80000000, IP_ACTIVE_HIGH, IPT_BUTTON16) PORT_PLAYER(2) INPUT_PORTS_END +static INPUT_PORTS_START( dabj ) + PORT_START("pio") +INPUT_PORTS_END + void xavix2_state::config(machine_config &config) { // unknown CPU 'SSD 2002-2004 NEC 800208-51' @@ -745,6 +755,11 @@ ROM_START( ltv_naru ) ROM_LOAD( "naruto.bin", 0x000000, 0x800000, CRC(e3465ad2) SHA1(13e3d2de5d5a084635cab158f3639a1ea73265dc) ) ROM_END +ROM_START( epo_dabj ) + ROM_REGION( 0x1000000, "maincpu", ROMREGION_ERASE00 ) + ROM_LOAD( "dabj.u3", 0x000000, 0x800000, CRC(9ebc1384) SHA1(38abaebd05bc9ab300ee5fbf37bd88ce9cbd20e1) ) +ROM_END + ROM_START( domfitad ) ROM_REGION( 0x1000000, "maincpu", ROMREGION_ERASE00 ) ROM_LOAD( "xpfitnessadventure.bin", 0x000000, 0x1000000, CRC(a7917081) SHA1(95ae5dc6e64a78ae060cb0e61d8b0af34a93c4ce) ) @@ -758,7 +773,10 @@ ROM_END } // anonymous namespace // Let's!TVプレイ NARUTO-ナルト- 忍者体感~だってばよ~ / バンダイ / 日本 -CONS( 2006, ltv_naru, 0, 0, config, naruto, naruto_state, empty_init, "Bandai / SSD Company LTD", "Let's TV Play Naruto", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) +CONS( 2006, ltv_naru, 0, 0, config, naruto, naruto_state, empty_init, "Bandai / SSD Company LTD", "Let's TV Play Naruto (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) + +// テレビであそぼう!まなぼう! 超脳力あいうえお図鑑 +CONS( 2006, epo_dabj, 0, 0, config, dabj, xavix2_state, empty_init, "Epoch / SSD Company LTD", "TV de Asobou! Manabou! Chou Nouryoku AIUEO Zukan (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) // These are for the 'Domyos Interactive System' other Domyos Interactive System games can be found in xavix.cpp (the SoC is inside the cartridge, base acts as a 'TV adapter' only) diff --git a/src/mame/tvgames/xavix_2002.cpp b/src/mame/tvgames/xavix_2002.cpp index 048df098b2a10..42e292ea4376d 100644 --- a/src/mame/tvgames/xavix_2002.cpp +++ b/src/mame/tvgames/xavix_2002.cpp @@ -266,6 +266,14 @@ static INPUT_PORTS_START( xavixp ) PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_CUSTOM ) INPUT_PORTS_END +static INPUT_PORTS_START( ban_ordj ) + PORT_INCLUDE(xavix_i2c) + + PORT_MODIFY("IN1") + PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) // something input related, having it high allows bypass of calibration screen + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x20, DEF_STR( On ) ) +INPUT_PORTS_END /* SuperXavix IO port handliner (per game) */ @@ -418,6 +426,14 @@ void xavix_i2c_state::xavix2002_i2c_24c04(machine_config &config) I2C_24C04(config, "i2cmem", 0); } +void xavix_i2c_state::xavix2002_i2c_24c02(machine_config &config) +{ + xavix2002(config); + + I2C_24C02(config, "i2cmem", 0); +} + + void xavix_i2c_state::xavix2002_i2c_mrangbat(machine_config &config) { xavix2002(config); @@ -539,6 +555,21 @@ ROM_START( tmy_thom ) ROM_LOAD( "thomastank.bin", 0x000000, 0x800000, CRC(a52a23be) SHA1(e5b3500239d9e56eb5405f7585982959e5a162da) ) ROM_END +ROM_START( ban_kksj ) + ROM_REGION( 0x800000, "bios", ROMREGION_ERASE00 ) + ROM_LOAD( "kksj.u1", 0x000000, 0x800000, CRC(8071dc36) SHA1(46f41d4185a115b27c685d1eabcd554b3c5a64b7) ) +ROM_END + +ROM_START( tmy_rkmj ) + ROM_REGION( 0x800000, "bios", ROMREGION_ERASE00 ) + ROM_LOAD( "rkmj.u1", 0x000000, 0x800000, CRC(80e70625) SHA1(500e287671a0822b736ed05704090d90187602ac) ) +ROM_END + +ROM_START( ban_ordj ) + ROM_REGION( 0x800000, "bios", ROMREGION_ERASE00 ) + ROM_LOAD( "ordj.u2", 0x000000, 0x800000, CRC(78fbb00f) SHA1(797b5495e292c36c003300ed18547e5643056149) ) +ROM_END + ROM_START( epo_tfit ) ROM_REGION(0x400000, "bios", ROMREGION_ERASE00) ROM_LOAD("tennisfitness.bin", 0x000000, 0x400000, CRC(cbf65bd2) SHA1(30b3da6f061b2dd91679db42a050f715901beb87) ) @@ -627,6 +658,15 @@ CONS( 2004, epo_tfit, 0, 0, xavix2002_i2c_24c04, epo_tfit, xavix_i2c_state, // それいけトーマス ソドー島のなかまたち CONS( 2005, tmy_thom, 0, 0, xavix2002_i2c_24c04, xavix_i2c, xavix_i2c_state, init_xavix, "Tomy / SSD Company LTD", "Thomas and Friends (Tomy)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) +// Let’s! TVプレイ 体感体得 結界師 方囲!定礎!結!滅! +CONS( 2007, ban_kksj, 0, 0, xavix2002_i2c_24c02, xavix_i2c, xavix_i2c_state, init_xavix, "Bandai / SSD Company LTD", "Let's! TV Play Taikan Taitoku Kekkaishi: Houi! Jouso! Ketsu! Metsu! (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) + +// 流星のロックマン 電波変換!オン・エア! +CONS( 2007, tmy_rkmj, 0, 0, xavix2002_i2c_24c04, xavix_i2c, xavix_i2c_state, init_xavix, "Takara Tomy / Capcom / SSD Company LTD", "Ryuusei no Rockman: Denpa Henkan! On Air! (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) + +// Let's!TVプレイ 音撃バトル!仮面ライダー響鬼 決めろ!一気火勢の型 +CONS( 2005, ban_ordj, 0, 0, xavix2002_i2c_24c04, ban_ordj, xavix_i2c_state, init_xavix, "Bandai / SSD Company LTD", "Let's! TV Play Ongeki Battle! Kamen Rider Hibiki: Kimero! Ikki Kasei no Kata (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) + // has HT24LC16 CONS( 2008, udance, 0, 0, xavix2002, xavix, xavix_state, init_xavix, "Tiger / SSD Company LTD", "U-Dance", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) diff --git a/src/mame/tvgames/xavix_m.cpp b/src/mame/tvgames/xavix_m.cpp index 790df99c9f931..bba9ee7a154df 100644 --- a/src/mame/tvgames/xavix_m.cpp +++ b/src/mame/tvgames/xavix_m.cpp @@ -899,6 +899,9 @@ void xavix_state::machine_start() save_item(NAME(m_timer_baseval)); save_item(NAME(m_spritereg)); + save_item(NAME(m_superxavix_pal_index)); + save_item(NAME(m_superxavix_bitmap_pal_index)); + save_item(NAME(m_sx_extended_extbus)); } diff --git a/src/mame/tvgames/xavix_v.cpp b/src/mame/tvgames/xavix_v.cpp index b497398c4497d..cbd9fec88b829 100644 --- a/src/mame/tvgames/xavix_v.cpp +++ b/src/mame/tvgames/xavix_v.cpp @@ -109,15 +109,300 @@ void xavix_state::spriteram_w(offs_t offset, uint8_t data) } } +void xavix_state::superxavix_bitmap_pal_index_w(uint8_t data) +{ + m_superxavix_bitmap_pal_index = data; +} + +uint8_t xavix_state::superxavix_bitmap_pal_index_r() +{ + return m_superxavix_bitmap_pal_index; +} + +void xavix_state::superxavix_chr_pal_index_w(uint8_t data) +{ + m_superxavix_pal_index = data; +} + +uint8_t xavix_state::superxavix_chr_pal_index_r() +{ + return m_superxavix_pal_index; +} + + +uint8_t xavix_state::superxavix_bitmap_pal_hue_r() +{ + return superxavix_pal_hue_r(true); +} + +uint8_t xavix_state::superxavix_chr_pal_hue_r() +{ + return superxavix_pal_hue_r(false); +} + +uint8_t xavix_state::superxavix_pal_hue_r(bool bitmap) +{ + u8 *sh, *sl; + u8 ind; + + if (bitmap) + { + sh = m_bmp_palram_sh; + sl = m_bmp_palram_l; + ind = m_superxavix_bitmap_pal_index; + } + else + { + sh = m_palram_sh; + sl = m_palram_l; + ind = m_superxavix_pal_index; + } + + uint16_t dat = (sh[ind]) | (sl[ind] << 8); + uint16_t val = get_pen_hue_from_dat(dat); + return val << 2; +} + +uint8_t xavix_state::superxavix_bitmap_pal_saturation_r() +{ + return superxavix_pal_saturation_r(true); +} + +uint8_t xavix_state::superxavix_chr_pal_saturation_r() +{ + return superxavix_pal_saturation_r(false); +} + +uint8_t xavix_state::superxavix_pal_saturation_r(bool bitmap) +{ + u8 *sh, *sl; + u8 ind; + + if (bitmap) + { + sh = m_bmp_palram_sh; + sl = m_bmp_palram_l; + ind = m_superxavix_bitmap_pal_index; + } + else + { + sh = m_palram_sh; + sl = m_palram_l; + ind = m_superxavix_pal_index; + } + + uint16_t dat = (sh[ind]) | (sl[ind] << 8); + uint16_t val = get_pen_saturation_from_dat(dat); + return val << 4; +} + +uint8_t xavix_state::superxavix_bitmap_pal_lightness_r() +{ + return superxavix_pal_lightness_r(true); +} + +uint8_t xavix_state::superxavix_chr_pal_lightness_r() +{ + return superxavix_pal_lightness_r(false); +} + +uint8_t xavix_state::superxavix_pal_lightness_r(bool bitmap) +{ + u8 *sh, *sl; + u8 ind; + + if (bitmap) + { + sh = m_bmp_palram_sh; + sl = m_bmp_palram_l; + ind = m_superxavix_bitmap_pal_index; + } + else + { + sh = m_palram_sh; + sl = m_palram_l; + ind = m_superxavix_pal_index; + } + + uint16_t dat = (sh[ind]) | (sl[ind] << 8); + uint16_t val = get_pen_lightness_from_dat(dat); + return val << 2; +} + +void xavix_state::superxavix_bitmap_pal_hue_w(uint8_t data) +{ + superxavix_pal_hue_w(data, true); +} + +void xavix_state::superxavix_chr_pal_hue_w(uint8_t data) +{ + superxavix_pal_hue_w(data, false); +} + +void xavix_state::superxavix_pal_hue_w(uint8_t data, bool bitmap) +{ + u8 *sh, *sl; + u8 ind; + int offset; + + if (bitmap) + { + sh = m_bmp_palram_sh; + sl = m_bmp_palram_l; + ind = m_superxavix_bitmap_pal_index; + offset = 256; + } + else + { + sh = m_palram_sh; + sl = m_palram_l; + ind = m_superxavix_pal_index; + offset = 0; + } + + uint16_t olddat = (sh[ind]) | (sl[ind] << 8); + uint16_t newdata = apply_pen_hue_to_dat(olddat, data >> 2); + sh[ind] = newdata & 0xff; + sl[ind] = (newdata >> 8) & 0xff; + update_pen(ind+offset, sh[ind], sl[ind]); +} + +void xavix_state::superxavix_bitmap_pal_saturation_w(uint8_t data) +{ + superxavix_pal_saturation_w(data, true); +} + +void xavix_state::superxavix_chr_pal_saturation_w(uint8_t data) +{ + superxavix_pal_saturation_w(data, false); +} + +void xavix_state::superxavix_pal_saturation_w(uint8_t data, bool bitmap) +{ + u8 *sh, *sl; + u8 ind; + int offset; + + if (bitmap) + { + sh = m_bmp_palram_sh; + sl = m_bmp_palram_l; + ind = m_superxavix_bitmap_pal_index; + offset = 256; + } + else + { + sh = m_palram_sh; + sl = m_palram_l; + ind = m_superxavix_pal_index; + offset = 0; + } + + uint16_t olddat = (sh[ind]) | (sl[ind] << 8); + uint16_t newdata = apply_pen_saturation_to_dat(olddat, data >> 4); + sh[ind] = newdata & 0xff; + sl[ind] = (newdata >> 8) & 0xff; + update_pen(ind+offset, sh[ind], sl[ind]); +} + +void xavix_state::superxavix_bitmap_pal_lightness_w(uint8_t data) +{ + superxavix_pal_lightness_w(data, true); +} + +void xavix_state::superxavix_chr_pal_lightness_w(uint8_t data) +{ + superxavix_pal_lightness_w(data, false); +} + +void xavix_state::superxavix_pal_lightness_w(uint8_t data, bool bitmap) +{ + u8 *sh, *sl; + u8 ind; + int offset; + + if (bitmap) + { + sh = m_bmp_palram_sh; + sl = m_bmp_palram_l; + ind = m_superxavix_bitmap_pal_index; + offset = 256; + } + else + { + sh = m_palram_sh; + sl = m_palram_l; + ind = m_superxavix_pal_index; + offset = 0; + } + + uint16_t olddat = (sh[ind]) | (sl[ind] << 8); + uint16_t newdata = apply_pen_lightness_to_dat(olddat, data >> 2); + sh[ind] = newdata & 0xff; + sl[ind] = (newdata >> 8) & 0xff; + update_pen(ind+offset, sh[ind], sl[ind]); +} + +uint16_t xavix_state::apply_pen_lightness_to_dat(uint16_t dat, uint16_t lightness) +{ + lightness &= 0x3f; + dat &= ~0x1f00; + dat &= ~0x8000; + dat |= (lightness & 0x3e) << 7; + dat |= (lightness & 0x01) << 15; + return dat; +} + +uint16_t xavix_state::apply_pen_saturation_to_dat(uint16_t dat, uint16_t saturation) +{ + saturation &= 0x0f; + dat &= ~0x00e0; + dat &= ~0x4000; + dat |= (saturation & 0x0e) << 4; + dat |= (saturation & 0x01) << 14; + return dat; +} + +uint16_t xavix_state::apply_pen_hue_to_dat(uint16_t dat, uint16_t hue) +{ + hue &= 0x3f; + dat &= ~0x001f; + dat &= ~0x2000; + dat |= (hue & 0x3e) >> 1; + dat |= (hue & 0x01) << 13; + return dat; +} + +uint8_t xavix_state::get_pen_lightness_from_dat(uint16_t dat) +{ + uint8_t y_raw = (dat & 0x1f00) >> 7; + y_raw |= (dat & 0x8000) >> 15; // currently we don't make use of this bit + return y_raw; +} + +uint8_t xavix_state::get_pen_saturation_from_dat(uint16_t dat) +{ + uint8_t c_raw = (dat & 0x00e0) >> 4; + c_raw |= (dat & 0x4000) >> 14; // currently we don't make use of this bit + return c_raw; +} + +uint8_t xavix_state::get_pen_hue_from_dat(uint16_t dat) +{ + uint8_t h_raw = (dat & 0x001f) << 1; + h_raw |= (dat & 0x2000) >> 13; // currently we don't make use of this bit + return h_raw; +} + void xavix_state::update_pen(int pen, uint8_t shval, uint8_t lval) { uint16_t dat; dat = shval; dat |= lval << 8; - int y_raw = (dat & 0x1f00) >> 8; - int c_raw = (dat & 0x00e0) >> 5; - int h_raw = (dat & 0x001f) >> 0; + int y_raw = get_pen_lightness_from_dat(dat) >> 1; + int c_raw = get_pen_saturation_from_dat(dat) >> 1; + int h_raw = get_pen_hue_from_dat(dat) >> 1; // The dividers may be dynamic double y = y_raw / 20.0; diff --git a/src/mame/unico/unianapc.cpp b/src/mame/unico/unianapc.cpp index 9933745054e92..8fc21d332aa7e 100644 --- a/src/mame/unico/unianapc.cpp +++ b/src/mame/unico/unianapc.cpp @@ -102,5 +102,5 @@ ROM_END } // anonymous namespace -GAME( 2002, dhunting, 0, unianapc, unianapc, unianapc_state, empty_init, ROT0, "Game Box Entertainment", "Dream Hunting (US)", MACHINE_IS_SKELETON ) // Ver 1007? -GAME( 2003, hogwild, 0, unianapc, unianapc, unianapc_state, empty_init, ROT0, "Uniana", "Hog Wild (US)", MACHINE_IS_SKELETON ) // Ver.00.26.b? +GAME( 2002, dhunting, 0, unianapc, unianapc, unianapc_state, empty_init, ROT0, "Game Box Entertainment", "Dream Hunting (US)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // Ver 1007? +GAME( 2003, hogwild, 0, unianapc, unianapc, unianapc_state, empty_init, ROT0, "Uniana", "Hog Wild (US)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // Ver.00.26.b? diff --git a/src/mame/universal/cosmic.cpp b/src/mame/universal/cosmic.cpp index 0c8b100194294..435b5045e5fe0 100644 --- a/src/mame/universal/cosmic.cpp +++ b/src/mame/universal/cosmic.cpp @@ -500,7 +500,7 @@ static INPUT_PORTS_START( magspot ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) PORT_START("IN3") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x1e, IP_ACTIVE_LOW, IPT_UNUSED ) // always HI PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_CUSTOM ) // reads what was written to 4808. Probably not used?? PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL @@ -585,7 +585,7 @@ static INPUT_PORTS_START( devzone ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) PORT_START("IN3") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x3e, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) @@ -681,7 +681,7 @@ static INPUT_PORTS_START( nomnlnd ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) PORT_START("IN3") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x1e, IP_ACTIVE_LOW, IPT_UNUSED ) // always HI PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_CUSTOM ) // reads what was written to 4808. Probably not used?? PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL diff --git a/src/mame/universal/ladybug.cpp b/src/mame/universal/ladybug.cpp index fc313a4bee80f..ee9badcc9666c 100644 --- a/src/mame/universal/ladybug.cpp +++ b/src/mame/universal/ladybug.cpp @@ -293,8 +293,8 @@ static INPUT_PORTS_START( ladybug ) // Note that there are TWO VBlank inputs, one is active low, the other active // high. There are probably other differencies in the hardware, but emulating // them this way is enough to get the game running. - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("IN2") PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED ) @@ -391,8 +391,8 @@ static INPUT_PORTS_START( snapjack ) /* Note that there are TWO VBlank inputs, one is active low, the other active */ /* high. There are probably other differencies in the hardware, but emulating */ /* them this way is enough to get the game running. */ - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("IN2") PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED ) @@ -477,8 +477,8 @@ static INPUT_PORTS_START( cavenger ) /* Note that there are TWO VBlank inputs, one is active low, the other active */ /* high. There are probably other differencies in the hardware, but emulating */ /* them this way is enough to get the game running. */ - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("IN2") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON2 ) @@ -561,8 +561,8 @@ static INPUT_PORTS_START( dorodon ) /* Note that there are TWO VBlank inputs, one is active low, the other active */ /* high. There are probably other differencies in the hardware, but emulating */ /* them this way is enough to get the game running. */ - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("IN2") PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED ) diff --git a/src/mame/universal/zerohour.cpp b/src/mame/universal/zerohour.cpp index f7665a73f5116..c8bb7aa006f41 100644 --- a/src/mame/universal/zerohour.cpp +++ b/src/mame/universal/zerohour.cpp @@ -605,8 +605,8 @@ static INPUT_PORTS_START( zerohour ) // Note that there are TWO VBlank inputs, one is active low, the other active // high. There are probably other differences in the hardware, but emulating // them this way is enough to get the game running. - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("DSW1") PORT_DIPUNUSED_DIPLOC( 0x01, 0x01, "SW1:8" ) // Switches 6-8 are not used diff --git a/src/mame/upl/nova2001.cpp b/src/mame/upl/nova2001.cpp index 67aebf2ca7728..ff86692569049 100644 --- a/src/mame/upl/nova2001.cpp +++ b/src/mame/upl/nova2001.cpp @@ -325,7 +325,7 @@ static INPUT_PORTS_START( nova2001 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START1 ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START2 ) PORT_BIT( 0x78, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("DSW1") PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:1") @@ -391,7 +391,7 @@ static INPUT_PORTS_START( ninjakun ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_START("IN2") /* 0xa002 */ - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x0c, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(FUNC(nova2001_state::ninjakun_io_A002_ctrl_r)) PORT_START("DSW1") // printed "SW 2" @@ -452,7 +452,7 @@ static INPUT_PORTS_START( pkunwar ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("IN1") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_COCKTAIL @@ -501,7 +501,7 @@ INPUT_PORTS_END static INPUT_PORTS_START( raiders5 ) PORT_START("IN0") - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) diff --git a/src/mame/upl/xxmissio.cpp b/src/mame/upl/xxmissio.cpp index 1afea1395e859..8ef382664f163 100644 --- a/src/mame/upl/xxmissio.cpp +++ b/src/mame/upl/xxmissio.cpp @@ -420,7 +420,7 @@ static INPUT_PORTS_START( xxmissio ) PORT_START("STATUS") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(FUNC(xxmissio_state::status_r<0x01>)) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(FUNC(xxmissio_state::status_r<0x04>)) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(FUNC(xxmissio_state::status_r<0x08>)) PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(FUNC(xxmissio_state::status_r<0x10>)) diff --git a/src/mame/ussr/istrebiteli.cpp b/src/mame/ussr/istrebiteli.cpp index 905e1b2ce08f3..13177d1ceccf5 100644 --- a/src/mame/ussr/istrebiteli.cpp +++ b/src/mame/ussr/istrebiteli.cpp @@ -518,8 +518,8 @@ static INPUT_PORTS_START( istreb ) PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_START1) PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_START2) PORT_BIT(0x3c, IP_ACTIVE_HIGH, IPT_CUSTOM) PORT_CUSTOM_MEMBER(FUNC(istrebiteli_state::coin_r)) - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_CUSTOM) PORT_HBLANK("screen") - PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_CUSTOM) PORT_VBLANK("screen") + PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_CUSTOM) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::hblank)) + PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_CUSTOM) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_START("COIN") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, FUNC(istrebiteli_state::coin_inc), 0) @@ -539,8 +539,8 @@ static INPUT_PORTS_START( moto ) PORT_START("IN1") PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_START1) // coin, TODO check why it is locked PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_BUTTON5) // collision ? - PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_CUSTOM) PORT_HBLANK("screen") // guess, seems unused - PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_CUSTOM) PORT_VBLANK("screen") + PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_CUSTOM) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::hblank)) // guess, seems unused + PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_CUSTOM) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) INPUT_PORTS_END static const gfx_layout char_layout = diff --git a/src/mame/ussr/mk98.cpp b/src/mame/ussr/mk98.cpp index 079006a5f3cf9..55dfaa1b833bc 100644 --- a/src/mame/ussr/mk98.cpp +++ b/src/mame/ussr/mk98.cpp @@ -485,4 +485,4 @@ ROM_END // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 1998, mk98, 0, 0, mk98, 0, mk98_state, empty_init, "Elektronika", "MK-98", MACHINE_IS_SKELETON) +COMP( 1998, mk98, 0, 0, mk98, 0, mk98_state, empty_init, "Elektronika", "MK-98", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/ussr/tiamc1.cpp b/src/mame/ussr/tiamc1.cpp index 9b2cca03d66e3..ebc77e706cef5 100644 --- a/src/mame/ussr/tiamc1.cpp +++ b/src/mame/ussr/tiamc1.cpp @@ -228,7 +228,7 @@ static INPUT_PORTS_START( tiamc1 ) PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1) // Kick PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1) // Jump - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) INPUT_PORTS_END static INPUT_PORTS_START( gorodki ) @@ -247,7 +247,7 @@ static INPUT_PORTS_START( gorodki ) PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1) // right button PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1) // left button - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) INPUT_PORTS_END static INPUT_PORTS_START( kot ) @@ -279,7 +279,7 @@ static INPUT_PORTS_START( kot ) PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) // Punch / Right PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) // Kick / Left - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) INPUT_PORTS_END diff --git a/src/mame/venture/spcforce.cpp b/src/mame/venture/spcforce.cpp index 50beb531a5103..63f1d6892d820 100644 --- a/src/mame/venture/spcforce.cpp +++ b/src/mame/venture/spcforce.cpp @@ -263,7 +263,7 @@ static INPUT_PORTS_START( spcforce ) PORT_SERVICE_NO_TOGGLE( 0x08, IP_ACTIVE_LOW ) PORT_BIT ( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL PORT_BIT ( 0x20, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT ( 0x40, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT ( 0x40, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_COCKTAIL INPUT_PORTS_END diff --git a/src/mame/venture/suprridr.cpp b/src/mame/venture/suprridr.cpp index 254b82a34d886..7488751155125 100644 --- a/src/mame/venture/suprridr.cpp +++ b/src/mame/venture/suprridr.cpp @@ -10,7 +10,7 @@ * Super Rider Known issues: - * clocks on sound chips and CPU not verified yet + * clocks on sound chips and CPU not verified yet, taken from thepit * the board seems to contain a discrete sound portion Questions: @@ -105,7 +105,6 @@ class suprridr_state : public driver_device driver_device(mconfig, type, tag), m_maincpu(*this, "maincpu"), m_audiocpu(*this, "audiocpu"), - m_soundlatch(*this, "soundlatch"), m_gfxdecode(*this, "gfxdecode"), m_palette(*this, "palette"), m_fgram(*this, "fgram"), @@ -126,7 +125,6 @@ class suprridr_state : public driver_device private: required_device m_maincpu; required_device m_audiocpu; - required_device m_soundlatch; required_device m_gfxdecode; required_device m_palette; @@ -361,6 +359,7 @@ uint32_t suprridr_state::screen_update(screen_device &screen, bitmap_ind16 &bitm } m_gfxdecode->gfx(2)->transpen(bitmap, cliprect, code, color, fx, fy, x, y, 0); } + return 0; } @@ -372,9 +371,10 @@ void suprridr_state::machine_start() void suprridr_state::machine_reset() { - m_soundlatch->acknowledge_w(); } + + /************************************* * * Interrupt generation @@ -404,7 +404,7 @@ INTERRUPT_GEN_MEMBER(suprridr_state::main_nmi_gen) void suprridr_state::coin_lock_w(uint8_t data) { // cleared when 9 credits are hit, but never reset! -// machine().bookkeeping().coin_lockout_global_w(~data & 1); + //machine().bookkeeping().coin_lockout_global_w(~data & 1); } @@ -430,7 +430,7 @@ void suprridr_state::main_map(address_map &map) map(0xb002, 0xb003).w(FUNC(suprridr_state::coin_lock_w)); map(0xb006, 0xb006).w(FUNC(suprridr_state::flipx_w)); map(0xb007, 0xb007).w(FUNC(suprridr_state::flipy_w)); - map(0xb800, 0xb800).w(m_soundlatch, FUNC(generic_latch_8_device::write)); + map(0xb800, 0xb800).w("soundlatch", FUNC(generic_latch_8_device::write)); map(0xc801, 0xc801).w(FUNC(suprridr_state::fgdisable_w)); map(0xc802, 0xc802).w(FUNC(suprridr_state::fgscrolly_w)); map(0xc804, 0xc804).w(FUNC(suprridr_state::bgscrolly_w)); @@ -462,7 +462,7 @@ void suprridr_state::sound_map(address_map &map) void suprridr_state::sound_portmap(address_map &map) { map.global_mask(0xff); - map(0x00, 0x00).w(m_soundlatch, FUNC(generic_latch_8_device::acknowledge_w)); + map(0x00, 0x00).w("soundlatch", FUNC(generic_latch_8_device::clear_w)); map(0x8c, 0x8d).w("ay1", FUNC(ay8910_device::address_data_w)); map(0x8d, 0x8d).r("ay1", FUNC(ay8910_device::data_r)); map(0x8e, 0x8f).w("ay2", FUNC(ay8910_device::address_data_w)); @@ -481,7 +481,6 @@ void suprridr_state::sound_portmap(address_map &map) ioport_value suprridr_state::control_r() { // screen flip multiplexes controls - return m_contp[m_flipx]->read(); // or is it flipy? } @@ -491,8 +490,8 @@ static INPUT_PORTS_START( suprridr ) PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(FUNC(suprridr_state::control_r)) PORT_START("SYSTEM") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SERVICE1 ) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START2 ) PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNKNOWN ) @@ -587,18 +586,21 @@ GFXDECODE_END void suprridr_state::suprridr(machine_config &config) { // basic machine hardware - Z80(config, m_maincpu, XTAL(49'152'000) / 16); // 3 MHz + Z80(config, m_maincpu, 18'432'000 / 6); m_maincpu->set_addrmap(AS_PROGRAM, &suprridr_state::main_map); m_maincpu->set_addrmap(AS_IO, &suprridr_state::main_portmap); m_maincpu->set_vblank_int("screen", FUNC(suprridr_state::main_nmi_gen)); - Z80(config, m_audiocpu, 10000000 / 4); // 2.5 MHz + Z80(config, m_audiocpu, 10'000'000 / 4); m_audiocpu->set_addrmap(AS_PROGRAM, &suprridr_state::sound_map); m_audiocpu->set_addrmap(AS_IO, &suprridr_state::sound_portmap); + m_audiocpu->set_vblank_int("screen", FUNC(suprridr_state::irq0_line_hold)); // ? + + config.set_maximum_quantum(attotime::from_hz(3000)); WATCHDOG_TIMER(config, "watchdog"); - /* video hardware */ + // video hardware screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_refresh_hz(60); screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); @@ -613,15 +615,13 @@ void suprridr_state::suprridr(machine_config &config) // sound hardware SPEAKER(config, "mono").front_center(); - AY8910(config, "ay1", XTAL(49'152'000) / 32).add_route(ALL_OUTPUTS, "mono", 0.25); + AY8910(config, "ay1", 18'432'000 / 12).add_route(ALL_OUTPUTS, "mono", 0.25); - ay8910_device &ay2(AY8910(config, "ay2", XTAL(49'152'000) / 32)); - ay2.port_a_read_callback().set(m_soundlatch, FUNC(generic_latch_8_device::read)); + ay8910_device &ay2(AY8910(config, "ay2", 18'432'000 / 12)); + ay2.port_a_read_callback().set("soundlatch", FUNC(generic_latch_8_device::read)); ay2.add_route(ALL_OUTPUTS, "mono", 0.25); - GENERIC_LATCH_8(config, m_soundlatch); - m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, 0); - m_soundlatch->set_separate_acknowledge(true); + GENERIC_LATCH_8(config, "soundlatch"); } diff --git a/src/mame/visual/v100.cpp b/src/mame/visual/v100.cpp index 459790a0a8a89..d8f080d022087 100644 --- a/src/mame/visual/v100.cpp +++ b/src/mame/visual/v100.cpp @@ -445,4 +445,4 @@ ROM_END } // anonymous namespace -COMP( 1980, v100, 0, 0, v100, v100, v100_state, empty_init, "Visual Technology", "Visual 100", MACHINE_IS_SKELETON ) +COMP( 1980, v100, 0, 0, v100, v100, v100_state, empty_init, "Visual Technology", "Visual 100", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/visual/v102.cpp b/src/mame/visual/v102.cpp index b84aeb4c4e67d..9abb07fc3bd04 100644 --- a/src/mame/visual/v102.cpp +++ b/src/mame/visual/v102.cpp @@ -188,4 +188,4 @@ ROM_END } // anonymous namespace -COMP( 1984, v102, 0, 0, v102, v102, v102_state, empty_init, "Visual Technology", "Visual 102", MACHINE_IS_SKELETON ) +COMP( 1984, v102, 0, 0, v102, v102, v102_state, empty_init, "Visual Technology", "Visual 102", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/visual/v550.cpp b/src/mame/visual/v550.cpp index 443e2823d3782..27b020362ee47 100644 --- a/src/mame/visual/v550.cpp +++ b/src/mame/visual/v550.cpp @@ -168,4 +168,4 @@ ROM_END } // anonymous namespace -COMP( 1982, v550, 0, 0, v550, v550, v550_state, empty_init, "Visual Technology", "Visual 550", MACHINE_IS_SKELETON ) +COMP( 1982, v550, 0, 0, v550, v550, v550_state, empty_init, "Visual Technology", "Visual 550", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/vsystem/gstriker.cpp b/src/mame/vsystem/gstriker.cpp index 79220645abdd5..be9751a8cc81b 100644 --- a/src/mame/vsystem/gstriker.cpp +++ b/src/mame/vsystem/gstriker.cpp @@ -184,6 +184,7 @@ Frequencies: 68k is XTAL_32MHZ/2 #include "cpu/m68000/m68000.h" #include "cpu/z80/z80.h" #include "machine/6850acia.h" +#include "machine/clock.h" #include "machine/gen_latch.h" #include "machine/mb3773.h" #include "sound/ymopn.h" @@ -691,8 +692,14 @@ void gstriker_state::gstriker(machine_config &config) ACIA6850(config, m_acia, 0); m_acia->irq_handler().set_inputline(m_maincpu, M68K_IRQ_2); - //m_acia->txd_handler().set("link", FUNC(rs232_port_device::write_txd)); - //m_acia->rts_handler().set("link", FUNC(rs232_port_device::write_rts)); + m_acia->txd_handler().set(m_acia, FUNC(acia6850_device::write_rxd)); // loopback for now + + // DE-9 port + // slave sends 0xca, master receives it and sends a 0x0d ACK back. + // writing latter to $200063 while in slave mode will pass the serial check + clock_device &acia_clock(CLOCK(config, "acia_clock", 20_MHz_XTAL / 64)); // assume ~19200 baud + acia_clock.signal_handler().set(m_acia, FUNC(acia6850_device::write_txc)); + acia_clock.signal_handler().append(m_acia, FUNC(acia6850_device::write_rxc)); } void gstriker_state::twc94(machine_config &config) diff --git a/src/mame/vsystem/pspikes_ms.cpp b/src/mame/vsystem/pspikes_ms.cpp index 1e2ee8684d9f6..93942376d2bf1 100644 --- a/src/mame/vsystem/pspikes_ms.cpp +++ b/src/mame/vsystem/pspikes_ms.cpp @@ -178,4 +178,4 @@ ROM_END } // anonymous namespace -GAME( 199?, pspikesm, pspikes, pspikesm, pspikesm, pspikes_ms_state, empty_init, ROT0, "bootleg (Gaelco / Ervisa)", "Power Spikes (Modular System)", MACHINE_IS_SKELETON ) +GAME( 199?, pspikesm, pspikes, pspikesm, pspikesm, pspikes_ms_state, empty_init, ROT0, "bootleg (Gaelco / Ervisa)", "Power Spikes (Modular System)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/vtech/geniusjr.cpp b/src/mame/vtech/geniusjr.cpp index aaf70f5a044e1..9b3e2fa986632 100644 --- a/src/mame/vtech/geniusjr.cpp +++ b/src/mame/vtech/geniusjr.cpp @@ -426,15 +426,15 @@ ROM_END // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 1996, gj4000, 0, 0, gj4000, geniusjr, geniusjr_state, empty_init, "VTech", "Genius Junior 4000 (Germany)", MACHINE_IS_SKELETON ) -COMP( 1999?, scientus, gj4000, 0, gj4000, geniusjr, geniusjr_state, empty_init, "C.Q.F.D", "Scientus (France)", MACHINE_IS_SKELETON ) -COMP( 1993, gjmovie, 0, 0, gjmovie, geniusjr, geniusjr_state, empty_init, "VTech", "Genius Junior Movie (Germany)", MACHINE_IS_SKELETON ) -COMP( 199?, pitagjr, gjmovie, 0, gjmovie, geniusjr, geniusjr_state, empty_init, "VTech", u8"Pitagorín Junior", MACHINE_IS_SKELETON ) // Also sold as "El Super-Ordenador Parlanchín" -COMP( 1996, gjrstar, 0, 0, gjrstar, geniusjr, geniusjr_state, empty_init, "VTech", "Genius Junior Redstar (Germany)", MACHINE_IS_SKELETON ) -COMP( 1996, gjrstar2, gjrstar, 0, gjrstar, geniusjr, geniusjr_state, empty_init, "VTech", "Genius Junior Redstar 2 (Germany)", MACHINE_IS_SKELETON ) -COMP( 1995, pcompelr, gjrstar, 0, gjrstar, geniusjr, geniusjr_state, empty_init, "VTech", "Precomputer Elektronik (Russia)", MACHINE_IS_SKELETON ) // Прекомпьютер Электроник -COMP( 1998, gjrstar3, 0, 0, gjrstar, geniusjr, geniusjr_state, empty_init, "VTech", "Genius Junior Redstar 3 (Germany)", MACHINE_IS_SKELETON ) -COMP( 1998, gj5000, 0, 0, gj5000, geniusjr, geniusjr_state, empty_init, "VTech", "Genius Junior 5000 (Germany)", MACHINE_IS_SKELETON ) -COMP( 1993, gln, 0, 0, gln, geniusjr, geniusjr_state, empty_init, "VTech", "Genius Leader Notebook", MACHINE_IS_SKELETON ) -COMP( 1993, pitagor, gln, 0, gln, geniusjr, geniusjr_state, empty_init, "VTech", u8"Pitagorín", MACHINE_IS_SKELETON ) -COMP( 1995, gls, 0, 0, gls, geniusjr, geniusjr_state, empty_init, "VTech", "Genius Leader Select", MACHINE_IS_SKELETON ) +COMP( 1996, gj4000, 0, 0, gj4000, geniusjr, geniusjr_state, empty_init, "VTech", "Genius Junior 4000 (Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 1999?, scientus, gj4000, 0, gj4000, geniusjr, geniusjr_state, empty_init, "C.Q.F.D", "Scientus (France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 1993, gjmovie, 0, 0, gjmovie, geniusjr, geniusjr_state, empty_init, "VTech", "Genius Junior Movie (Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 199?, pitagjr, gjmovie, 0, gjmovie, geniusjr, geniusjr_state, empty_init, "VTech", u8"Pitagorín Junior", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // Also sold as "El Super-Ordenador Parlanchín" +COMP( 1996, gjrstar, 0, 0, gjrstar, geniusjr, geniusjr_state, empty_init, "VTech", "Genius Junior Redstar (Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 1996, gjrstar2, gjrstar, 0, gjrstar, geniusjr, geniusjr_state, empty_init, "VTech", "Genius Junior Redstar 2 (Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 1995, pcompelr, gjrstar, 0, gjrstar, geniusjr, geniusjr_state, empty_init, "VTech", "Precomputer Elektronik (Russia)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // Прекомпьютер Электроник +COMP( 1998, gjrstar3, 0, 0, gjrstar, geniusjr, geniusjr_state, empty_init, "VTech", "Genius Junior Redstar 3 (Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 1998, gj5000, 0, 0, gj5000, geniusjr, geniusjr_state, empty_init, "VTech", "Genius Junior 5000 (Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 1993, gln, 0, 0, gln, geniusjr, geniusjr_state, empty_init, "VTech", "Genius Leader Notebook", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 1993, pitagor, gln, 0, gln, geniusjr, geniusjr_state, empty_init, "VTech", u8"Pitagorín", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 1995, gls, 0, 0, gls, geniusjr, geniusjr_state, empty_init, "VTech", "Genius Leader Select", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/vtech/gkidabc.cpp b/src/mame/vtech/gkidabc.cpp index c74793500d696..aea9e15c58d8a 100644 --- a/src/mame/vtech/gkidabc.cpp +++ b/src/mame/vtech/gkidabc.cpp @@ -61,6 +61,6 @@ ROM_END } // anonymous namespace -COMP(1996, gkidabc, 0, 0, gkidabc, gkidabc, gkidabc_state, empty_init, "VTech", "Genius KID ABC Fan (Germany)", MACHINE_IS_SKELETON) -COMP(1995, miprimlec, 0, 0, gkidabc, gkidabc, gkidabc_state, empty_init, "VTech", "Mis Primeras Lecciones (Spain)", MACHINE_IS_SKELETON) -COMP(1995, gjrprofi, 0, 0, gkidabc, gkidabc, gkidabc_state, empty_init, "VTech", "Genius Junior Profi (Germany)", MACHINE_IS_SKELETON) +COMP(1996, gkidabc, 0, 0, gkidabc, gkidabc, gkidabc_state, empty_init, "VTech", "Genius KID ABC Fan (Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +COMP(1995, miprimlec, 0, 0, gkidabc, gkidabc, gkidabc_state, empty_init, "VTech", "Mis Primeras Lecciones (Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +COMP(1995, gjrprofi, 0, 0, gkidabc, gkidabc, gkidabc_state, empty_init, "VTech", "Genius Junior Profi (Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/vtech/glcx.cpp b/src/mame/vtech/glcx.cpp index 4b729b2b8a661..0c20a48a425f2 100644 --- a/src/mame/vtech/glcx.cpp +++ b/src/mame/vtech/glcx.cpp @@ -133,7 +133,7 @@ ROM_END } // anonymous namespace -COMP( 1999, gl6600cx, 0, 0, glcx, glcx, glcx_state, empty_init, "VTech", "Genius Leader 6600 CX (Germany)", MACHINE_IS_SKELETON ) -COMP( 1999, gl8008cx, 0, 0, glcx, glcx, glcx_state, empty_init, "VTech", "Genius Leader 8008 CX (Germany)", MACHINE_IS_SKELETON) -COMP( 1999, bs9009cx, 0, 0, glcx, glcx, glcx_state, empty_init, "VTech", "BrainStation 9009 CXL (Germany)", MACHINE_IS_SKELETON) -COMP( 2000, gtbmcx, 0, 0, glcx, glcx, glcx_state, empty_init, "VTech", "Genius Tabletop Black Magic CX (Germany)", MACHINE_IS_SKELETON) +COMP( 1999, gl6600cx, 0, 0, glcx, glcx, glcx_state, empty_init, "VTech", "Genius Leader 6600 CX (Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 1999, gl8008cx, 0, 0, glcx, glcx, glcx_state, empty_init, "VTech", "Genius Leader 8008 CX (Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +COMP( 1999, bs9009cx, 0, 0, glcx, glcx, glcx_state, empty_init, "VTech", "BrainStation 9009 CXL (Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +COMP( 2000, gtbmcx, 0, 0, glcx, glcx, glcx_state, empty_init, "VTech", "Genius Tabletop Black Magic CX (Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/vtech/innotv_innotabmax.cpp b/src/mame/vtech/innotv_innotabmax.cpp index af9239a772d60..5f6b7aca8034f 100644 --- a/src/mame/vtech/innotv_innotabmax.cpp +++ b/src/mame/vtech/innotv_innotabmax.cpp @@ -165,4 +165,4 @@ ROM_END } // anonymous namespace -CONS( 2015, innotv, 0, 0, vtech_innotv_innotabmax, vtech_innotv_innotabmax, vtech_innotv_innotabmax_state, empty_init, "VTech", "InnoTV", MACHINE_IS_SKELETON ) +CONS( 2015, innotv, 0, 0, vtech_innotv_innotabmax, vtech_innotv_innotabmax, vtech_innotv_innotabmax_state, empty_init, "VTech", "InnoTV", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/vtech/inteladv.cpp b/src/mame/vtech/inteladv.cpp index 7155e493d8662..7655f6babee9e 100644 --- a/src/mame/vtech/inteladv.cpp +++ b/src/mame/vtech/inteladv.cpp @@ -104,6 +104,6 @@ ROM_END // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 2005, inteladv, 0, 0, inteladv, inteladv, inteladv_state, empty_init, "VTech", "Intelligence Advance E/R (Germany)", MACHINE_IS_SKELETON ) -COMP( 2003, dyndesk, 0, 0, dyndesk, dyndesk, inteladv_state, empty_init, "VTech", "DynamiDesk (Germany)", MACHINE_IS_SKELETON ) -COMP( 2012, cars2lap, 0, 0, dyndesk, dyndesk, inteladv_state, empty_init, "VTech", "CARS 2 Laptop (Germany)", MACHINE_IS_SKELETON ) // probably doesn't belong here +COMP( 2005, inteladv, 0, 0, inteladv, inteladv, inteladv_state, empty_init, "VTech", "Intelligence Advance E/R (Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 2003, dyndesk, 0, 0, dyndesk, dyndesk, inteladv_state, empty_init, "VTech", "DynamiDesk (Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 2012, cars2lap, 0, 0, dyndesk, dyndesk, inteladv_state, empty_init, "VTech", "CARS 2 Laptop (Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // probably doesn't belong here diff --git a/src/mame/vtech/iqunlim.cpp b/src/mame/vtech/iqunlim.cpp index a6169656da196..0178935aff62a 100644 --- a/src/mame/vtech/iqunlim.cpp +++ b/src/mame/vtech/iqunlim.cpp @@ -220,5 +220,5 @@ ROM_END } // anonymous namespace -COMP( 1995, iqunlim, 0, 0, iqunlim, iqunlim, iqunlim_state, empty_init, "VTech / Integrated Systems Inc.", "IQ Unlimited", MACHINE_IS_SKELETON) // COPYRIGHT 1995 INTERGRATED SYSTEMS, INC. -COMP( 1995, iqunlimgr, iqunlim, 0, iqunlim, iqunlim, iqunlim_state, empty_init, "VTech / Integrated Systems Inc.", "IQ Unlimited (Germany)", MACHINE_IS_SKELETON) // COPYRIGHT 1995 INTERGRATED SYSTEMS, INC. +COMP( 1995, iqunlim, 0, 0, iqunlim, iqunlim, iqunlim_state, empty_init, "VTech / Integrated Systems Inc.", "IQ Unlimited", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) // COPYRIGHT 1995 INTERGRATED SYSTEMS, INC. +COMP( 1995, iqunlimgr, iqunlim, 0, iqunlim, iqunlim, iqunlim_state, empty_init, "VTech / Integrated Systems Inc.", "IQ Unlimited (Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) // COPYRIGHT 1995 INTERGRATED SYSTEMS, INC. diff --git a/src/mame/vtech/kidsupstar.cpp b/src/mame/vtech/kidsupstar.cpp index 69c2d1a6ebe4a..8368c580016ba 100644 --- a/src/mame/vtech/kidsupstar.cpp +++ b/src/mame/vtech/kidsupstar.cpp @@ -95,4 +95,4 @@ ROM_END } // anonymous namespace -CONS( 2016, kidsupstar, 0, 0, kidsupstar, kidsupstar, kidsupstar_state, empty_init, "VTech", "Kidi SuperStar LightShow", MACHINE_IS_SKELETON ) +CONS( 2016, kidsupstar, 0, 0, kidsupstar, kidsupstar, kidsupstar_state, empty_init, "VTech", "Kidi SuperStar LightShow", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/vtech/learnwin.cpp b/src/mame/vtech/learnwin.cpp index 3c16158181cd7..38c764bc79f11 100644 --- a/src/mame/vtech/learnwin.cpp +++ b/src/mame/vtech/learnwin.cpp @@ -211,8 +211,8 @@ ROM_END // GAME DRIVERS //************************************************************************** -COMP( 1986, learnwin, 0, 0, learnwin, learnwin, learnwin_state, empty_init, "VTech", "Learning-Window Teaching Machine (Rev 3)", MACHINE_IS_SKELETON ) -COMP( 1986, learnwin2, learnwin, 0, learnwin, learnwin, learnwin_state, empty_init, "VTech", "Learning-Window Teaching Machine (Rev 2)", MACHINE_IS_SKELETON ) -COMP( 1986, learnwin1, learnwin, 0, learnwin, learnwin, learnwin_state, empty_init, "VTech", "Learning-Window Teaching Machine (Rev 1)", MACHINE_IS_SKELETON ) -COMP( 1986, learnwinf, learnwin, 0, learnwin, learnwin, learnwin_state, empty_init, "VTech", "Learning-Window Teaching Machine (French)", MACHINE_IS_SKELETON ) -COMP( 1986, spielmast, learnwin, 0, learnwin, learnwin, learnwin_state, empty_init, "Yuvo", "Spiel Master (German)", MACHINE_IS_SKELETON ) +COMP( 1986, learnwin, 0, 0, learnwin, learnwin, learnwin_state, empty_init, "VTech", "Learning-Window Teaching Machine (Rev 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 1986, learnwin2, learnwin, 0, learnwin, learnwin, learnwin_state, empty_init, "VTech", "Learning-Window Teaching Machine (Rev 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 1986, learnwin1, learnwin, 0, learnwin, learnwin, learnwin_state, empty_init, "VTech", "Learning-Window Teaching Machine (Rev 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 1986, learnwinf, learnwin, 0, learnwin, learnwin, learnwin_state, empty_init, "VTech", "Learning-Window Teaching Machine (French)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 1986, spielmast, learnwin, 0, learnwin, learnwin, learnwin_state, empty_init, "Yuvo", "Spiel Master (German)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/vtech/pc2000.cpp b/src/mame/vtech/pc2000.cpp index 47bc54ef2c6c4..81b6a1417b6b0 100644 --- a/src/mame/vtech/pc2000.cpp +++ b/src/mame/vtech/pc2000.cpp @@ -967,9 +967,9 @@ COMP( 1995, gl2000p, gl2000, 0, gl2000, pc2000, pc2000_state, empty_ini COMP( 1996, gl3000s, 0, 0, gl3000s, gl3000s, gl3000s_state,empty_init, "Video Technology", "Genius Leader 3000S (Germany)", MACHINE_NOT_WORKING ) COMP( 1994, gl4000, 0, 0, gl4000, pc2000, gl4004_state, empty_init, "Video Technology", "Genius Leader 4000 Quadro (Germany)", MACHINE_NOT_WORKING ) COMP( 1996, gl4004, 0, 0, gl4000, pc2000, gl4004_state, empty_init, "Video Technology", "Genius Leader 4004 Quadro L (Germany)", MACHINE_NOT_WORKING ) -COMP( 1997, gl5000, 0, 0, gl5000, gl3000s, gl3000s_state,empty_init, "Video Technology", "Genius Leader 5000 (Germany)", MACHINE_IS_SKELETON ) -COMP( 1997, gl5005x, 0, 0, pc2000, pc2000, pc2000_state, empty_init, "Video Technology", "Genius Leader 5005X (Germany)", MACHINE_IS_SKELETON ) -COMP( 1997, glpn, 0, 0, gl5000, gl3000s, gl3000s_state,empty_init, "Video Technology", "Genius Leader Power Notebook (Germany)", MACHINE_IS_SKELETON ) -COMP( 1998, gmtt , 0, 0, gl4000, pc2000, gl4004_state, empty_init, "Video Technology", "Genius Master Table Top (Germany)", MACHINE_IS_SKELETON ) -COMP( 2001, gbs5505x, 0, 0, pc2000, pc2000, pc2000_state, empty_init, "Video Technology", "Genius BrainStation 5505X (Germany)", MACHINE_IS_SKELETON ) -COMP( 1999, lexipcm, 0, 0, pc2000, pc2000, pc2000_state, empty_init, "Lexibook", "LexiPC Mega 2000 (Germany)", MACHINE_IS_SKELETON ) +COMP( 1997, gl5000, 0, 0, gl5000, gl3000s, gl3000s_state,empty_init, "Video Technology", "Genius Leader 5000 (Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 1997, gl5005x, 0, 0, pc2000, pc2000, pc2000_state, empty_init, "Video Technology", "Genius Leader 5005X (Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 1997, glpn, 0, 0, gl5000, gl3000s, gl3000s_state,empty_init, "Video Technology", "Genius Leader Power Notebook (Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 1998, gmtt , 0, 0, gl4000, pc2000, gl4004_state, empty_init, "Video Technology", "Genius Master Table Top (Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 2001, gbs5505x, 0, 0, pc2000, pc2000, pc2000_state, empty_init, "Video Technology", "Genius BrainStation 5505X (Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +COMP( 1999, lexipcm, 0, 0, pc2000, pc2000, pc2000_state, empty_init, "Lexibook", "LexiPC Mega 2000 (Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/vtech/phusion.cpp b/src/mame/vtech/phusion.cpp index a6a3af57f6dfa..704fc702b5189 100644 --- a/src/mame/vtech/phusion.cpp +++ b/src/mame/vtech/phusion.cpp @@ -88,4 +88,4 @@ ROM_END } // anonymous namespace -SYST( 2000, phusion, 0, 0, phusion, phusion, phusion_state, empty_init, "VTech", "Phusion", MACHINE_IS_SKELETON ) +SYST( 2000, phusion, 0, 0, phusion, phusion, phusion_state, empty_init, "VTech", "Phusion", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/vtech/storio.cpp b/src/mame/vtech/storio.cpp index cc7a3e4253db3..07188fae25c99 100644 --- a/src/mame/vtech/storio.cpp +++ b/src/mame/vtech/storio.cpp @@ -184,12 +184,12 @@ ROM_END // year, name, parent, compat, machine, input, class, init, company, fullname, flags -CONS( 2011, vreader, 0, 0, vtech_storio, vtech_storio, vtech_storio_state, empty_init, "VTech", "V.Reader (US, English, 2011-10-17)", MACHINE_IS_SKELETON ) -CONS( 2011, vreadercaen, vreader, 0, vtech_storio, vtech_storio, vtech_storio_state, empty_init, "VTech", "V.Reader (CA, English, 2011-10-17)", MACHINE_IS_SKELETON ) -CONS( 2011, vreadercafr, vreader, 0, vtech_storio, vtech_storio, vtech_storio_state, empty_init, "VTech", "V.Reader (CA, French, 2011-10-17)", MACHINE_IS_SKELETON ) -CONS( 2011, storio, vreader, 0, vtech_storio, vtech_storio, vtech_storio_state, empty_init, "VTech", "Storio (GB, English, 2011-10-17)", MACHINE_IS_SKELETON ) -CONS( 2011, storiode, vreader, 0, vtech_storio, vtech_storio, vtech_storio_state, empty_init, "VTech", "Storio (DE, German, 2011-10-17)", MACHINE_IS_SKELETON ) -CONS( 2011, storioes, vreader, 0, vtech_storio, vtech_storio, vtech_storio_state, empty_init, "VTech", "Storio (ES, Spanish, 2011-10-17)", MACHINE_IS_SKELETON ) -CONS( 2011, storioesa, vreader, 0, vtech_storio, vtech_storio, vtech_storio_state, empty_init, "VTech", "Storio (ES, Spanish, 2011-06-17?)", MACHINE_IS_SKELETON ) -CONS( 2011, storiofr, vreader, 0, vtech_storio, vtech_storio, vtech_storio_state, empty_init, "VTech", "Storio (FR, French, 2011-10-17)", MACHINE_IS_SKELETON ) -CONS( 2011, storionl, vreader, 0, vtech_storio, vtech_storio, vtech_storio_state, empty_init, "VTech", "Storio (NL, Dutch, 2011-10-17)", MACHINE_IS_SKELETON ) +CONS( 2011, vreader, 0, 0, vtech_storio, vtech_storio, vtech_storio_state, empty_init, "VTech", "V.Reader (US, English, 2011-10-17)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 2011, vreadercaen, vreader, 0, vtech_storio, vtech_storio, vtech_storio_state, empty_init, "VTech", "V.Reader (CA, English, 2011-10-17)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 2011, vreadercafr, vreader, 0, vtech_storio, vtech_storio, vtech_storio_state, empty_init, "VTech", "V.Reader (CA, French, 2011-10-17)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 2011, storio, vreader, 0, vtech_storio, vtech_storio, vtech_storio_state, empty_init, "VTech", "Storio (GB, English, 2011-10-17)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 2011, storiode, vreader, 0, vtech_storio, vtech_storio, vtech_storio_state, empty_init, "VTech", "Storio (DE, German, 2011-10-17)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 2011, storioes, vreader, 0, vtech_storio, vtech_storio, vtech_storio_state, empty_init, "VTech", "Storio (ES, Spanish, 2011-10-17)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 2011, storioesa, vreader, 0, vtech_storio, vtech_storio, vtech_storio_state, empty_init, "VTech", "Storio (ES, Spanish, 2011-06-17?)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 2011, storiofr, vreader, 0, vtech_storio, vtech_storio, vtech_storio_state, empty_init, "VTech", "Storio (FR, French, 2011-10-17)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 2011, storionl, vreader, 0, vtech_storio, vtech_storio, vtech_storio_state, empty_init, "VTech", "Storio (NL, Dutch, 2011-10-17)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/vtech/vsmilepro.cpp b/src/mame/vtech/vsmilepro.cpp index a5ccf3f80eae1..4c67ca71f33d6 100644 --- a/src/mame/vtech/vsmilepro.cpp +++ b/src/mame/vtech/vsmilepro.cpp @@ -78,4 +78,4 @@ ROM_END // Driver // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 2007, vsmilpro, 0, 0, vsmilpro, vsmilpro, vsmilpro_state, empty_init, "VTech", "V.Smile Pro", MACHINE_IS_SKELETON ) +COMP( 2007, vsmilpro, 0, 0, vsmilpro, vsmilpro, vsmilpro_state, empty_init, "VTech", "V.Smile Pro", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/vtech/vtech_eu3a12.cpp b/src/mame/vtech/vtech_eu3a12.cpp index 8a992295082bc..5c6c0f50e9e9d 100644 --- a/src/mame/vtech/vtech_eu3a12.cpp +++ b/src/mame/vtech/vtech_eu3a12.cpp @@ -171,4 +171,4 @@ ROM_END } // anonymous namespace -COMP( 2004, vreadere, 0, 0, vreadere, vreadere, vreadere_state, empty_init, "Video Technology", "Reader Laptop E (Germany)", MACHINE_IS_SKELETON ) +COMP( 2004, vreadere, 0, 0, vreadere, vreadere, vreadere_state, empty_init, "Video Technology", "Reader Laptop E (Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/vtech/vtech_innotab.cpp b/src/mame/vtech/vtech_innotab.cpp index c395d36fae80a..a9f1bbb6e28c1 100644 --- a/src/mame/vtech/vtech_innotab.cpp +++ b/src/mame/vtech/vtech_innotab.cpp @@ -220,4 +220,4 @@ ROM_END } // anonymous namespace -CONS( 2011, innotab2, 0, 0, vtech_innotab, vtech_innotab, vtech_innotab_state, empty_init, "VTech", "InnoTAB 2 (UK)", MACHINE_IS_SKELETON ) +CONS( 2011, innotab2, 0, 0, vtech_innotab, vtech_innotab, vtech_innotab_state, empty_init, "VTech", "InnoTAB 2 (UK)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/wing/lucky37.cpp b/src/mame/wing/lucky37.cpp index f031093b14f07..74d10a7e9fea7 100644 --- a/src/mame/wing/lucky37.cpp +++ b/src/mame/wing/lucky37.cpp @@ -311,11 +311,11 @@ ROM_END } // anonymous namespace -GAME( 199?, lucky21, 0, lucky37, lucky37, lucky37_state, empty_init, ROT0, "Wing Co., Ltd.", "Lucky 21", MACHINE_IS_SKELETON ) -GAME( 199?, lucky21d, 0, lucky37, lucky37, lucky37_state, empty_init, ROT0, "Wing Co., Ltd.", "Lucky 21-D", MACHINE_IS_SKELETON ) -GAME( 199?, lucky25, 0, lucky37, lucky37, lucky37_state, empty_init, ROT0, "Wing Co., Ltd.", "Lucky 25", MACHINE_IS_SKELETON ) -GAME( 199?, lucky37, 0, lucky37, lucky37, lucky37_state, empty_init, ROT0, "Wing Co., Ltd.", "Lucky 37", MACHINE_IS_SKELETON ) - -GAME( 199?, bingo75, 0, lucky37, lucky37, lucky37_state, empty_init, ROT0, "Wing Co., Ltd.", "Bingo 75", MACHINE_IS_SKELETON ) -GAME( 199?, lucky75, 0, lucky37, lucky37, lucky37_state, empty_init, ROT0, "Wing Co., Ltd.", "Lucky 75", MACHINE_IS_SKELETON ) -GAME( 199?, luckystr, 0, lucky37, lucky37, lucky37_state, empty_init, ROT0, "Wing Co., Ltd.", "Lucky Star", MACHINE_IS_SKELETON ) +GAME( 199?, lucky21, 0, lucky37, lucky37, lucky37_state, empty_init, ROT0, "Wing Co., Ltd.", "Lucky 21", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 199?, lucky21d, 0, lucky37, lucky37, lucky37_state, empty_init, ROT0, "Wing Co., Ltd.", "Lucky 21-D", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 199?, lucky25, 0, lucky37, lucky37, lucky37_state, empty_init, ROT0, "Wing Co., Ltd.", "Lucky 25", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 199?, lucky37, 0, lucky37, lucky37, lucky37_state, empty_init, ROT0, "Wing Co., Ltd.", "Lucky 37", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) + +GAME( 199?, bingo75, 0, lucky37, lucky37, lucky37_state, empty_init, ROT0, "Wing Co., Ltd.", "Bingo 75", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 199?, lucky75, 0, lucky37, lucky37, lucky37_state, empty_init, ROT0, "Wing Co., Ltd.", "Lucky 75", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 199?, luckystr, 0, lucky37, lucky37, lucky37_state, empty_init, ROT0, "Wing Co., Ltd.", "Lucky Star", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/wyse/wy150.cpp b/src/mame/wyse/wy150.cpp index efabbc070a2c3..6790ad73b16c1 100644 --- a/src/mame/wyse/wy150.cpp +++ b/src/mame/wyse/wy150.cpp @@ -128,7 +128,7 @@ void wy150_state::driver_start() } // anonymous namespace -COMP(1991, wy150, 0, 0, wy150, wy150, wy150_state, empty_init, "Wyse Technology", "WY-150 (v1.0)", MACHINE_IS_SKELETON) -COMP(1992, wy120, 0, 0, wy150, wy150, wy150_state, empty_init, "Wyse Technology", "WY-120 (v1.4)", MACHINE_IS_SKELETON) -COMP(1994, wy160, 0, 0, wy150, wy150, wy150_state, empty_init, "Wyse Technology", "WY-160 (v1.7)", MACHINE_IS_SKELETON) -COMP(1994, wy325, 0, 0, wy150, wy150, wy150_state, empty_init, "Wyse Technology", "WY-325 (v3.2)", MACHINE_IS_SKELETON) +COMP(1991, wy150, 0, 0, wy150, wy150, wy150_state, empty_init, "Wyse Technology", "WY-150 (v1.0)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +COMP(1992, wy120, 0, 0, wy150, wy150, wy150_state, empty_init, "Wyse Technology", "WY-120 (v1.4)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +COMP(1994, wy160, 0, 0, wy150, wy150, wy150_state, empty_init, "Wyse Technology", "WY-160 (v1.7)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +COMP(1994, wy325, 0, 0, wy150, wy150, wy150_state, empty_init, "Wyse Technology", "WY-325 (v3.2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/wyse/wy30p.cpp b/src/mame/wyse/wy30p.cpp index 7887d0af1f05e..50c2a4e261735 100644 --- a/src/mame/wyse/wy30p.cpp +++ b/src/mame/wyse/wy30p.cpp @@ -162,4 +162,4 @@ void wy30p_state::driver_start() } // anonymous namespace -COMP(1992, wy30p, 0, 0, wy30p, wy30p, wy30p_state, empty_init, "Wyse Technology", "WY-30+ (v1.8)", MACHINE_IS_SKELETON) +COMP(1992, wy30p, 0, 0, wy30p, wy30p, wy30p_state, empty_init, "Wyse Technology", "WY-30+ (v1.8)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/wyse/wy50.cpp b/src/mame/wyse/wy50.cpp index 6e6c8bddf12a8..fb73a04bd7df7 100644 --- a/src/mame/wyse/wy50.cpp +++ b/src/mame/wyse/wy50.cpp @@ -371,6 +371,6 @@ ROM_END } // anonymous namespace -COMP(1984, wy50, 0, 0, wy50, wy50, wy50_state, empty_init, "Wyse Technology", "WY-50 (Rev. E)", MACHINE_IS_SKELETON) -COMP(1984, wy75, 0, 0, wy50, wy50, wy50_state, empty_init, "Wyse Technology", "WY-75 (Rev. H)", MACHINE_IS_SKELETON) -//COMP(1984, wy350, 0, 0, wy50, wy50, wy50_state, empty_init, "Wyse Technology", "WY-350", MACHINE_IS_SKELETON) +COMP(1984, wy50, 0, 0, wy50, wy50, wy50_state, empty_init, "Wyse Technology", "WY-50 (Rev. E)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +COMP(1984, wy75, 0, 0, wy50, wy50, wy50_state, empty_init, "Wyse Technology", "WY-75 (Rev. H)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +//COMP(1984, wy350, 0, 0, wy50, wy50, wy50_state, empty_init, "Wyse Technology", "WY-350", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/wyse/wy55.cpp b/src/mame/wyse/wy55.cpp index 9819e018a6608..8a7141b73c53f 100644 --- a/src/mame/wyse/wy55.cpp +++ b/src/mame/wyse/wy55.cpp @@ -177,6 +177,6 @@ void wy55_state::driver_start() } // anonymous namespace -COMP(1991, wy185es, 0, 0, wy185es, wy55, wy55_state, empty_init, "Wyse Technology", "WY-185ES (v2.0)", MACHINE_IS_SKELETON) -COMP(1993, wy55, 0, 0, wy55, wy55, wy55_state, empty_init, "Wyse Technology", "WY-55 (v2.1)", MACHINE_IS_SKELETON) -COMP(1996, wy65, 0, 0, wy65, wy55, wy55_state, empty_init, "Wyse Technology", "WY-65 (v2.1)", MACHINE_IS_SKELETON) +COMP(1991, wy185es, 0, 0, wy185es, wy55, wy55_state, empty_init, "Wyse Technology", "WY-185ES (v2.0)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +COMP(1993, wy55, 0, 0, wy55, wy55, wy55_state, empty_init, "Wyse Technology", "WY-55 (v2.1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +COMP(1996, wy65, 0, 0, wy65, wy55, wy55_state, empty_init, "Wyse Technology", "WY-65 (v2.1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/wyse/wy85.cpp b/src/mame/wyse/wy85.cpp index 1e81b0ac779ad..a1f744783606c 100644 --- a/src/mame/wyse/wy85.cpp +++ b/src/mame/wyse/wy85.cpp @@ -128,11 +128,17 @@ SCN2672_DRAW_CHARACTER_MEMBER(wy85_state::draw_character) } u8 lc = m_lc + (m_clr_rb ? 0 : linecount); - u16 a = bitswap<2>(attrcode, 5, 6) << 11 | ((charcode & 0x7f) << 4) | (lc & 0xf); - u16 c = BIT(attrcode, 3) && (lc & 9) == 9 ? 0x3ff : a >= 0x1800 ? m_fontram[a - 0x1800] << 2 : m_chargen[a] << 2; - rgb_t fg = !BIT(attrcode, 1) || (BIT(attrcode, 4) && blink) ? rgb_t(0xc0, 0xc0, 0xc0) : rgb_t::white(); bool inv = (BIT(attrcode, 2) != cursor) == m_tru_inv; + if (BIT(attrcode, 3) && (lc & 9) == 9) + { + std::fill_n(&bitmap.pix(y, x), 10, inv ? rgb_t::black() : fg); + return; + } + + u16 a = bitswap<2>(attrcode, 5, 6) << 11 | ((charcode & 0x7f) << 4) | (lc & 0xf); + u16 c = a >= 0x1800 ? m_fontram[a - 0x1800] << 2 : m_chargen[a] << 2; + if (inv && BIT(c, 2)) c |= 3; if (BIT(attrcode, 0, 2) == 3) diff --git a/src/mame/xerox/alto1.cpp b/src/mame/xerox/alto1.cpp index 2b632c9efca72..454bf30eba56e 100644 --- a/src/mame/xerox/alto1.cpp +++ b/src/mame/xerox/alto1.cpp @@ -83,4 +83,4 @@ ROM_END } // anonymous namespace -COMP( 1973, alto1, 0, 0, alto1, alto1, alto1_state, empty_init, "Xerox", "Alto I", MACHINE_IS_SKELETON ) +COMP( 1973, alto1, 0, 0, alto1, alto1, alto1_state, empty_init, "Xerox", "Alto I", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/xerox/notetaker.cpp b/src/mame/xerox/notetaker.cpp index 7d7227b0442e1..253ff139294a9 100644 --- a/src/mame/xerox/notetaker.cpp +++ b/src/mame/xerox/notetaker.cpp @@ -1001,4 +1001,4 @@ ROM_END /* Driver */ // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 1978, notetakr, 0, 0, notetakr, notetakr, notetaker_state, empty_init, "Xerox", "NoteTaker", MACHINE_IS_SKELETON) +COMP( 1978, notetakr, 0, 0, notetakr, notetakr, notetaker_state, empty_init, "Xerox", "NoteTaker", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/yamaha/mks3.cpp b/src/mame/yamaha/mks3.cpp index 11daa5321d454..7e7155fbe0430 100644 --- a/src/mame/yamaha/mks3.cpp +++ b/src/mame/yamaha/mks3.cpp @@ -296,6 +296,6 @@ void mks3_device::req_w(int state) return; m_req = state; - m_cpu->set_input_line(M6805V0_INT_IRQ1, m_req); + m_cpu->set_input_line(HD6305_INT_IRQ1, m_req); logerror("req %d\n", m_req); } diff --git a/src/mame/yamaha/ymdx11.cpp b/src/mame/yamaha/ymdx11.cpp index d21e76a58df93..bc25dd8987015 100644 --- a/src/mame/yamaha/ymdx11.cpp +++ b/src/mame/yamaha/ymdx11.cpp @@ -137,4 +137,4 @@ ROM_END } // anonymous namespace -SYST(1988, dx11, 0, 0, dx11, dx11, yamaha_dx11_state, empty_init, "Yamaha", "DX11 Digital Programmable Algorithm Synthesizer", MACHINE_IS_SKELETON) +SYST(1988, dx11, 0, 0, dx11, dx11, yamaha_dx11_state, empty_init, "Yamaha", "DX11 Digital Programmable Algorithm Synthesizer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/yamaha/ymdx9.cpp b/src/mame/yamaha/ymdx9.cpp index bcc5b8c292877..d09c97dd18833 100644 --- a/src/mame/yamaha/ymdx9.cpp +++ b/src/mame/yamaha/ymdx9.cpp @@ -416,4 +416,4 @@ ROM_END } // anonymous namespace -SYST(1983, dx9, 0, 0, dx9, dx9, yamaha_dx9_state, empty_init, "Yamaha", "DX9 Digital Programmable Algorithm Synthesizer", MACHINE_IS_SKELETON) +SYST(1983, dx9, 0, 0, dx9, dx9, yamaha_dx9_state, empty_init, "Yamaha", "DX9 Digital Programmable Algorithm Synthesizer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/yamaha/ympcs30.cpp b/src/mame/yamaha/ympcs30.cpp index 803d9c7d1c4b0..d0f0aa4e4ad06 100644 --- a/src/mame/yamaha/ympcs30.cpp +++ b/src/mame/yamaha/ympcs30.cpp @@ -63,4 +63,4 @@ ROM_END } // anonymous namespace // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -SYST( 1984, pcs30, 0, 0, pcs30, pcs30, pcs30_state, empty_init, "Yamaha", "PCS-30", MACHINE_IS_SKELETON ) +SYST( 1984, pcs30, 0, 0, pcs30, pcs30, pcs30_state, empty_init, "Yamaha", "PCS-30", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/yamaha/ymps400.cpp b/src/mame/yamaha/ymps400.cpp index c0a20b24e5ec7..a417f972d20c2 100644 --- a/src/mame/yamaha/ymps400.cpp +++ b/src/mame/yamaha/ymps400.cpp @@ -65,4 +65,4 @@ ROM_END } // anonymous namespace // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -SYST( 1982, ps400, 0, 0, ps400, ps400, ps400_state, empty_init, "Yamaha", "PS-400", MACHINE_IS_SKELETON ) +SYST( 1982, ps400, 0, 0, ps400, ps400, ps400_state, empty_init, "Yamaha", "PS-400", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/yamaha/ympsr16.cpp b/src/mame/yamaha/ympsr16.cpp index e0a0bdfa64d01..c8824e9390210 100644 --- a/src/mame/yamaha/ympsr16.cpp +++ b/src/mame/yamaha/ympsr16.cpp @@ -23,7 +23,7 @@ #include "emu.h" //#include "bus/midi/midi.h" -#include "cpu/m6502/m65c02.h" +#include "cpu/m6502/w65c02.h" namespace { @@ -122,7 +122,7 @@ INPUT_PORTS_END void yamaha_psr16_state::psr16(machine_config &config) { - M65C02(config, m_maincpu, 5.5_MHz_XTAL / 4); // XTAL value from PSS-480; internal divider guessed + W65C02(config, m_maincpu, 5.5_MHz_XTAL / 4); // XTAL value from PSS-480; internal divider guessed m_maincpu->set_addrmap(AS_PROGRAM, &yamaha_psr16_state::psr16_map); } @@ -186,8 +186,8 @@ ROM_END } // anonymous namespace -SYST(1988, psr16, 0, 0, psr16, psr16, yamaha_psr16_state, empty_init, "Yamaha", "PSR-16", MACHINE_IS_SKELETON) -SYST(1988, psr36, 0, 0, psr36, psr16, yamaha_psr16_state, empty_init, "Yamaha", "PSR-36", MACHINE_IS_SKELETON) -SYST(1988, pss480, 0, 0, pss680, psr16, yamaha_psr16_state, empty_init, "Yamaha", "PSS-480 / PSS-580", MACHINE_IS_SKELETON) -SYST(1988, pss680, 0, 0, pss680, psr16, yamaha_psr16_state, empty_init, "Yamaha", "PSS-680", MACHINE_IS_SKELETON) -SYST(1989, pss780, pss680, 0, pss680, psr16, yamaha_psr16_state, empty_init, "Yamaha", "PSS-780", MACHINE_IS_SKELETON) +SYST(1988, psr16, 0, 0, psr16, psr16, yamaha_psr16_state, empty_init, "Yamaha", "PSR-16", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1988, psr36, 0, 0, psr36, psr16, yamaha_psr16_state, empty_init, "Yamaha", "PSR-36", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1988, pss480, 0, 0, pss680, psr16, yamaha_psr16_state, empty_init, "Yamaha", "PSS-480 / PSS-580", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1988, pss680, 0, 0, pss680, psr16, yamaha_psr16_state, empty_init, "Yamaha", "PSS-680", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +SYST(1989, pss780, pss680, 0, pss680, psr16, yamaha_psr16_state, empty_init, "Yamaha", "PSS-780", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/yamaha/ympsr2000.cpp b/src/mame/yamaha/ympsr2000.cpp index c53a7660d0bcc..3c15b9273b33d 100644 --- a/src/mame/yamaha/ympsr2000.cpp +++ b/src/mame/yamaha/ympsr2000.cpp @@ -103,4 +103,4 @@ ROM_END } // anonymous namespace -SYST( 2001, psr2000, 0, 0, psr2000, psr2000, psr2000_state, empty_init, "Yamaha", "PSR-2000", MACHINE_IS_SKELETON ) +SYST( 2001, psr2000, 0, 0, psr2000, psr2000, psr2000_state, empty_init, "Yamaha", "PSR-2000", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/yamaha/ympsr260.cpp b/src/mame/yamaha/ympsr260.cpp index cfdb63781bdf0..ad546141d59ea 100644 --- a/src/mame/yamaha/ympsr260.cpp +++ b/src/mame/yamaha/ympsr260.cpp @@ -128,6 +128,6 @@ ROM_END } // anonymous namespace // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -SYST( 1998, psr79, 0, 0, psr260, psr260, psr260_state, empty_init, "Yamaha", "PSR-79", MACHINE_SUPPORTS_SAVE | MACHINE_IS_SKELETON ) -SYST( 2000, psr260, 0, 0, psr260, psr260, psr260_state, empty_init, "Yamaha", "PSR-260", MACHINE_SUPPORTS_SAVE | MACHINE_IS_SKELETON ) -SYST( 2000, psr160, psr260, 0, psr260, psr260, psr260_state, empty_init, "Yamaha", "PSR-160", MACHINE_SUPPORTS_SAVE | MACHINE_IS_SKELETON ) +SYST( 1998, psr79, 0, 0, psr260, psr260, psr260_state, empty_init, "Yamaha", "PSR-79", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +SYST( 2000, psr260, 0, 0, psr260, psr260, psr260_state, empty_init, "Yamaha", "PSR-260", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +SYST( 2000, psr160, psr260, 0, psr260, psr260, psr260_state, empty_init, "Yamaha", "PSR-160", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/yamaha/ympsr40.cpp b/src/mame/yamaha/ympsr40.cpp index a55082c602c88..65a4b77b89ae5 100644 --- a/src/mame/yamaha/ympsr40.cpp +++ b/src/mame/yamaha/ympsr40.cpp @@ -61,4 +61,4 @@ ROM_END } // anonymous namespace -SYST(1985, psr40, 0, 0, psr40, psr40, yamaha_psr40_state, empty_init, "Yamaha", "PSR-40", MACHINE_IS_SKELETON) +SYST(1985, psr40, 0, 0, psr40, psr40, yamaha_psr40_state, empty_init, "Yamaha", "PSR-40", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/yamaha/ympsr540.cpp b/src/mame/yamaha/ympsr540.cpp index 956b9d815fa9c..5b5a2b31e362b 100644 --- a/src/mame/yamaha/ympsr540.cpp +++ b/src/mame/yamaha/ympsr540.cpp @@ -379,4 +379,4 @@ ROM_END } // anonymous namespace -SYST( 1999, psr540, 0, 0, psr540, psr540, psr540_state, empty_init, "Yamaha", "PSR540", MACHINE_IS_SKELETON ) +SYST( 1999, psr540, 0, 0, psr540, psr540, psr540_state, empty_init, "Yamaha", "PSR540", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/yamaha/ymrx15.cpp b/src/mame/yamaha/ymrx15.cpp index f25fb18a02428..a370bc48efe70 100644 --- a/src/mame/yamaha/ymrx15.cpp +++ b/src/mame/yamaha/ymrx15.cpp @@ -106,4 +106,4 @@ ROM_END } // anonymous namespace -SYST(1984, rx15, 0, 0, rx15, rx15, rx15_state, empty_init, "Yamaha", "RX15 Digital Rhythm Programmer", MACHINE_IS_SKELETON) +SYST(1984, rx15, 0, 0, rx15, rx15, rx15_state, empty_init, "Yamaha", "RX15 Digital Rhythm Programmer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/yamaha/ymsy35.cpp b/src/mame/yamaha/ymsy35.cpp index 54ac2611dc9e1..fc9c70e8cf86c 100644 --- a/src/mame/yamaha/ymsy35.cpp +++ b/src/mame/yamaha/ymsy35.cpp @@ -73,4 +73,4 @@ ROM_END } // anonymous namespace -SYST(1992, sy35, 0, 0, sy35, sy35, yamaha_sy35_state, empty_init, "Yamaha", "SY35 Music Synthesizer", MACHINE_IS_SKELETON) +SYST(1992, sy35, 0, 0, sy35, sy35, yamaha_sy35_state, empty_init, "Yamaha", "SY35 Music Synthesizer", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/yunsung/paradise.cpp b/src/mame/yunsung/paradise.cpp index aeabaa4d29668..c04f375fd75c4 100644 --- a/src/mame/yunsung/paradise.cpp +++ b/src/mame/yunsung/paradise.cpp @@ -664,7 +664,7 @@ static INPUT_PORTS_START( paradise ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) INPUT_PORTS_END @@ -749,7 +749,7 @@ static INPUT_PORTS_START( tgtball ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(5) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(5) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -828,7 +828,7 @@ static INPUT_PORTS_START( penky ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) INPUT_PORTS_END @@ -942,7 +942,7 @@ static INPUT_PORTS_START( torus ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) INPUT_PORTS_END @@ -1024,7 +1024,7 @@ static INPUT_PORTS_START( madball ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("screen", FUNC(screen_device::vblank)) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) INPUT_PORTS_END diff --git a/src/mame/zaccaria/galaxia.cpp b/src/mame/zaccaria/galaxia.cpp index 4fb523ab6ea9a..1480884ae394e 100644 --- a/src/mame/zaccaria/galaxia.cpp +++ b/src/mame/zaccaria/galaxia.cpp @@ -67,9 +67,9 @@ real hardware video of Astro Wars can be seen here: youtu.be/eSrQFBMeDlM - support screen raw params, blanking is much like how laserbat hardware does it and is needed to correct the speed in all machines - provide accurate sprite/bg sync in astrowar -- improve starfield: density, blink rate, x repeat of 240, and the checkerboard - pattern (fast forward MAME to see) are all correct, the RNG is not right? - It may differ per PCB, not all PCB videos have the same star RNG pattern. +- improve starfield RNG pattern. Other than the colors, it should be the same as + CVS. It may differ per PCB, not all PCB videos have the same star RNG pattern. + Maybe initial contents of the shift registers? - add sound board emulation (info is in the schematics) - add support for flip screen @@ -285,7 +285,7 @@ void galaxia_state::init_stars() generator |= BIT(~generator, 17) ^ BIT(generator, 5); // stars are enabled if the shift register output is 0, and bits 1-7 are set - if ((generator & 0x200fe) == 0xfe && m_total_stars != MAX_STARS) + if ((generator & 0x100fe) == 0xfe && m_total_stars != MAX_STARS) { m_stars[m_total_stars].x = x; m_stars[m_total_stars].y = y; @@ -315,9 +315,7 @@ void galaxia_state::update_stars(bitmap_ind16 &bitmap, const rectangle &cliprect void galaxia_state::scroll_stars(int state) { if (state) - m_stars_scroll++; - - m_stars_scroll %= 480; + m_stars_scroll = (m_stars_scroll + 1) % 480; } @@ -668,6 +666,7 @@ static INPUT_PORTS_START( galaxia ) PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("2N:2") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_BIT( 0xc0, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END static INPUT_PORTS_START( galaxiaa ) diff --git a/src/mame/zaccaria/quasar.cpp b/src/mame/zaccaria/quasar.cpp index a6cc31ed18cc5..fc8890f69d9f8 100644 --- a/src/mame/zaccaria/quasar.cpp +++ b/src/mame/zaccaria/quasar.cpp @@ -36,7 +36,7 @@ Quasar by Zaccaria (1980) 2650A CPU -I8085 Sound Board +I8035 Sound Board *******************************************************************************/ @@ -164,24 +164,9 @@ void quasar_state::palette(palette_device &palette) const // effects color map for (int i = 0; i < 0x100; i++) { - int bit0, bit1, bit2; - - // red component - bit0 = BIT(i, 7); - bit1 = BIT(i, 6); - bit2 = BIT(i, 5); - int const r = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2; - - // green component - bit0 = BIT(i, 4); - bit1 = BIT(i, 3); - bit2 = BIT(i, 2); - int const g = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2; - - // blue component - bit0 = BIT(i, 1); - bit1 = BIT(i, 0); - int const b = 0x4f * bit0 + 0xa8 * bit1; + int const r = pal3bit(bitswap<3>(i, 5, 6, 7)); + int const g = pal3bit(bitswap<3>(i, 2, 3, 4)); + int const b = pal2bit(bitswap<2>(i, 0, 1)); // 4 intensities float level = 0.0f; @@ -523,7 +508,7 @@ static INPUT_PORTS_START( quasar ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x30, 0x20, "Sound Program" ) PORT_DIPLOCATION("SOUND:3,4") PORT_DIPSETTING( 0x00, "Invalid 1" ) - PORT_DIPSETTING( 0x10, "Invalid 1" ) + PORT_DIPSETTING( 0x10, "Invalid 1" ) PORT_DIPSETTING( 0x30, "Invalid 2" ) PORT_DIPSETTING( 0x20, "Quasar" ) INPUT_PORTS_END diff --git a/src/osd/modules/debugger/debuggdbstub.cpp b/src/osd/modules/debugger/debuggdbstub.cpp index a6519a8e13e53..36806dfefbab2 100644 --- a/src/osd/modules/debugger/debuggdbstub.cpp +++ b/src/osd/modules/debugger/debuggdbstub.cpp @@ -511,9 +511,9 @@ static const std::map gdb_register_maps = { "m6502", gdb_register_map_m6502 }, { "m6507", gdb_register_map_m6502 }, { "m6510", gdb_register_map_m6502 }, - { "m65c02", gdb_register_map_m6502 }, { "m65ce02", gdb_register_map_m6502 }, { "rp2a03", gdb_register_map_m6502 }, + { "w65c02", gdb_register_map_m6502 }, { "w65c02s", gdb_register_map_m6502 }, { "m6809", gdb_register_map_m6809 }, { "score7", gdb_register_map_score7 }, diff --git a/src/osd/sdl/osdsdl.cpp b/src/osd/sdl/osdsdl.cpp index 87af652733e42..af15fdb15630b 100644 --- a/src/osd/sdl/osdsdl.cpp +++ b/src/osd/sdl/osdsdl.cpp @@ -508,7 +508,9 @@ void sdl_osd_interface::process_events() } else if (m_modifier_keys & MODIFIER_KEY_SHIFT) { - if (event.key.keysym.sym == SDLK_6) // Ctrl-^ (RS) + if (event.key.keysym.sym == SDLK_2) // Ctrl-@ (NUL) + machine().ui_input().push_char_event(osd_common_t::window_list().front()->target(), 0x00); + else if (event.key.keysym.sym == SDLK_6) // Ctrl-^ (RS) machine().ui_input().push_char_event(osd_common_t::window_list().front()->target(), 0x1e); else if (event.key.keysym.sym == SDLK_MINUS) // Ctrl-_ (US) machine().ui_input().push_char_event(osd_common_t::window_list().front()->target(), 0x1f); diff --git a/src/tools/unidasm.cpp b/src/tools/unidasm.cpp index dadf946e5acef..1d7e9fc693281 100644 --- a/src/tools/unidasm.cpp +++ b/src/tools/unidasm.cpp @@ -96,11 +96,11 @@ using util::BIT; #include "cpu/m6502/m6502d.h" #include "cpu/m6502/m6509d.h" #include "cpu/m6502/m6510d.h" -#include "cpu/m6502/m65c02d.h" #include "cpu/m6502/m65ce02d.h" #include "cpu/m6502/m740d.h" #include "cpu/m6502/r65c02d.h" #include "cpu/m6502/r65c19d.h" +#include "cpu/m6502/w65c02d.h" #include "cpu/m6502/xavixd.h" #include "cpu/m6502/xavix2000d.h" #include "cpu/m6800/6800dasm.h" @@ -525,7 +525,6 @@ static const dasm_table_entry dasm_table[] = { "m6502", le, 0, []() -> util::disasm_interface * { return new m6502_disassembler; } }, { "m6509", le, 0, []() -> util::disasm_interface * { return new m6509_disassembler; } }, { "m6510", le, 0, []() -> util::disasm_interface * { return new m6510_disassembler; } }, - { "m65c02", le, 0, []() -> util::disasm_interface * { return new m65c02_disassembler; } }, { "m65ce02", le, 0, []() -> util::disasm_interface * { return new m65ce02_disassembler; } }, { "m6800", be, 0, []() -> util::disasm_interface * { return new m680x_disassembler(6800); } }, { "m68000", be, 0, []() -> util::disasm_interface * { return new m68k_disassembler(m68k_disassembler::TYPE_68000); } }, @@ -544,7 +543,7 @@ static const dasm_table_entry dasm_table[] = { "m740", le, 0, []() -> util::disasm_interface * { return new m740_disassembler(&m740_unidasm); } }, { "mb86233", le, -2, []() -> util::disasm_interface * { return new mb86233_disassembler; } }, { "mb86235", le, -3, []() -> util::disasm_interface * { return new mb86235_disassembler; } }, - { "mb88", le, 0, []() -> util::disasm_interface * { return new mb88_disassembler; } }, + { "mb88xx", le, 0, []() -> util::disasm_interface * { return new mb88_disassembler; } }, { "mc88100", be, 0, []() -> util::disasm_interface * { return new mc88100_disassembler; } }, { "mc88110", be, 0, []() -> util::disasm_interface * { return new mc88110_disassembler; } }, { "mcs48", le, 0, []() -> util::disasm_interface * { return new mcs48_disassembler(false, false); } }, @@ -727,6 +726,7 @@ static const dasm_table_entry dasm_table[] = { "vt50", le, 0, []() -> util::disasm_interface * { return new vt50_disassembler; } }, { "vt52", le, 0, []() -> util::disasm_interface * { return new vt52_disassembler; } }, { "vt61", le, -1, []() -> util::disasm_interface * { return new vt61_disassembler; } }, + { "w65c02", le, 0, []() -> util::disasm_interface * { return new w65c02_disassembler; } }, { "we32100", be, 0, []() -> util::disasm_interface * { return new we32100_disassembler; } }, { "x86_16", le, 0, []() -> util::disasm_interface * { i386_unidasm.mode = 16; return new i386_disassembler(&i386_unidasm); } }, { "x86_32", le, 0, []() -> util::disasm_interface * { i386_unidasm.mode = 32; return new i386_disassembler(&i386_unidasm); } },