summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/scobra.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/scobra.c')
-rw-r--r--src/mame/drivers/scobra.c2252
1 files changed, 2252 insertions, 0 deletions
diff --git a/src/mame/drivers/scobra.c b/src/mame/drivers/scobra.c
new file mode 100644
index 00000000000..78ac668a9c1
--- /dev/null
+++ b/src/mame/drivers/scobra.c
@@ -0,0 +1,2252 @@
+/***************************************************************************
+
+ Super Cobra hardware
+
+
+TODO:
+----
+
+- Need correct color PROMs for Super Bond
+
+- Dark Planet background graphics
+
+- Explosion sound in Scramble/Super Cobra repeats
+
+- Armored Car probably has some other effect(s) during an explosion.
+ It uses both POUT1 and POUT2.
+
+
+Notes/Tidbits:
+-------------
+
+- Moonwar: 8255 Port C bit 4 was originally designed so when bit4=0, 1P spinner
+ is selected, and when bit4=1, 2P spinner gets selected. But they forgot to
+ change the 8255 initialization value and Port C was set to input, setting the
+ spinner select bit to HI regardless what was written to it. This bug has been
+ corrected in the newer set, but, to maintain hardware compatibility with
+ older PCB's, they had to reverse to active status of the select bit. So in the
+ newer set, Bit4=1 selects the 1P spinner and Bit4=0 selects the 2P spinner.
+
+- Armored Car sets Port C as well, but it's input only and the games uses other
+ bits for the 2nd player controls. Maybe the games was meant to use 2 joysticks
+ at one time.
+
+- Calipso was apperantly redesigned for two player simultanious play.
+ There is code at $298a to flip the screen, but location $8669 has to be
+ set to 2. It's set to 1 no matter how many players are playing.
+ It's possible that there is a cocktail version of the game.
+
+- Video Hustler and its two bootlegs all have identical code, the only
+ differences are the title, copyright removed, different encryptions or
+ no encryption, plus hustlerb has a different memory map.
+
+- In Tazmania, when set to Upright mode, player 2 left skips the current
+ level
+
+***************************************************************************/
+
+#include "driver.h"
+#include "machine/8255ppi.h"
+#include "galaxian.h"
+#include "sound/ay8910.h"
+
+static const gfx_layout scobra_charlayout =
+{
+ 8,8,
+ RGN_FRAC(1,2),
+ 2,
+ { RGN_FRAC(0,2), RGN_FRAC(1,2) },
+ { 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
+};
+
+static const gfx_layout scobra_spritelayout =
+{
+ 16,16,
+ RGN_FRAC(1,2),
+ 2,
+ { RGN_FRAC(0,2), RGN_FRAC(1,2) },
+ { 0, 1, 2, 3, 4, 5, 6, 7,
+ 8*8+0, 8*8+1, 8*8+2, 8*8+3, 8*8+4, 8*8+5, 8*8+6, 8*8+7 },
+ { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8,
+ 16*8, 17*8, 18*8, 19*8, 20*8, 21*8, 22*8, 23*8 },
+ 32*8
+};
+
+
+static GFXDECODE_START( scobra )
+ GFXDECODE_ENTRY( REGION_GFX1, 0x0000, scobra_charlayout, 0, 8 )
+ GFXDECODE_ENTRY( REGION_GFX1, 0x0000, scobra_spritelayout, 0, 8 )
+GFXDECODE_END
+
+
+
+static struct AY8910interface hustler_ay8910_interface =
+{
+ soundlatch_r,
+ frogger_portB_r
+};
+
+static READ8_HANDLER(scobra_type2_ppi8255_0_r)
+{
+ return ppi8255_0_r(offset >> 2);
+}
+
+static READ8_HANDLER(scobra_type2_ppi8255_1_r)
+{
+ return ppi8255_1_r(offset >> 2);
+}
+
+static WRITE8_HANDLER(scobra_type2_ppi8255_0_w)
+{
+ ppi8255_0_w(offset >> 2, data);
+}
+
+static WRITE8_HANDLER(scobra_type2_ppi8255_1_w)
+{
+ ppi8255_1_w(offset >> 2, data);
+}
+
+static READ8_HANDLER(hustler_ppi8255_0_r)
+{
+ return ppi8255_0_r(offset >> 3);
+}
+
+static READ8_HANDLER(hustler_ppi8255_1_r)
+{
+ return ppi8255_1_r(offset >> 3);
+}
+
+static WRITE8_HANDLER(hustler_ppi8255_0_w)
+{
+ ppi8255_0_w(offset >> 3, data);
+}
+
+static WRITE8_HANDLER(hustler_ppi8255_1_w)
+{
+ ppi8255_1_w(offset >> 3, data);
+}
+
+static ADDRESS_MAP_START( type1_readmem, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x7fff) AM_READ(MRA8_ROM)
+ AM_RANGE(0x8000, 0x8bff) AM_READ(MRA8_RAM)
+ AM_RANGE(0x8c00, 0x8fff) AM_READ(galaxian_videoram_r) /* mirror */
+ AM_RANGE(0x9000, 0x90ff) AM_READ(MRA8_RAM)
+ AM_RANGE(0x9800, 0x9803) AM_READ(ppi8255_0_r)
+ AM_RANGE(0xa000, 0xa003) AM_READ(ppi8255_1_r)
+ AM_RANGE(0xb000, 0xb000) AM_READ(watchdog_reset_r)
+ADDRESS_MAP_END
+
+static ADDRESS_MAP_START( type1_writemem, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x7fff) AM_WRITE(MWA8_ROM)
+ AM_RANGE(0x8000, 0x87ff) AM_WRITE(MWA8_RAM)
+ AM_RANGE(0x8800, 0x8bff) AM_WRITE(galaxian_videoram_w) AM_BASE(&galaxian_videoram)
+ AM_RANGE(0x8c00, 0x8fff) AM_WRITE(galaxian_videoram_w) /* mirror */
+ AM_RANGE(0x9000, 0x903f) AM_WRITE(galaxian_attributesram_w) AM_BASE(&galaxian_attributesram)
+ AM_RANGE(0x9040, 0x905f) AM_WRITE(MWA8_RAM) AM_BASE(&galaxian_spriteram) AM_SIZE(&galaxian_spriteram_size)
+ AM_RANGE(0x9060, 0x907f) AM_WRITE(MWA8_RAM) AM_BASE(&galaxian_bulletsram) AM_SIZE(&galaxian_bulletsram_size)
+ AM_RANGE(0x9080, 0x90ff) AM_WRITE(MWA8_RAM)
+ AM_RANGE(0x9800, 0x9803) AM_WRITE(ppi8255_0_w)
+ AM_RANGE(0xa000, 0xa003) AM_WRITE(ppi8255_1_w)
+ AM_RANGE(0xa801, 0xa801) AM_WRITE(galaxian_nmi_enable_w)
+ AM_RANGE(0xa802, 0xa802) AM_WRITE(galaxian_coin_counter_w)
+ AM_RANGE(0xa804, 0xa804) AM_WRITE(galaxian_stars_enable_w)
+ AM_RANGE(0xa806, 0xa806) AM_WRITE(galaxian_flip_screen_x_w)
+ AM_RANGE(0xa807, 0xa807) AM_WRITE(galaxian_flip_screen_y_w)
+ADDRESS_MAP_END
+
+static ADDRESS_MAP_START( type2_readmem, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x7fff) AM_READ(MRA8_ROM)
+ AM_RANGE(0x8000, 0x88ff) AM_READ(MRA8_RAM)
+ AM_RANGE(0x9000, 0x93ff) AM_READ(MRA8_RAM)
+ AM_RANGE(0x9400, 0x97ff) AM_READ(galaxian_videoram_r) /* mirror */
+ AM_RANGE(0x9800, 0x9800) AM_READ(watchdog_reset_r)
+ AM_RANGE(0xa000, 0xa00f) AM_READ(scobra_type2_ppi8255_0_r)
+ AM_RANGE(0xa800, 0xa80f) AM_READ(scobra_type2_ppi8255_1_r)
+ADDRESS_MAP_END
+
+static ADDRESS_MAP_START( type2_writemem, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x7fff) AM_WRITE(MWA8_ROM)
+ AM_RANGE(0x8000, 0x87ff) AM_WRITE(MWA8_RAM)
+ AM_RANGE(0x8800, 0x883f) AM_WRITE(galaxian_attributesram_w) AM_BASE(&galaxian_attributesram)
+ AM_RANGE(0x8840, 0x885f) AM_WRITE(MWA8_RAM) AM_BASE(&galaxian_spriteram) AM_SIZE(&galaxian_spriteram_size)
+ AM_RANGE(0x8860, 0x887f) AM_WRITE(MWA8_RAM) AM_BASE(&galaxian_bulletsram) AM_SIZE(&galaxian_bulletsram_size)
+ AM_RANGE(0x8880, 0x88ff) AM_WRITE(MWA8_RAM)
+ AM_RANGE(0x9000, 0x93ff) AM_WRITE(galaxian_videoram_w) AM_BASE(&galaxian_videoram)
+ AM_RANGE(0x9400, 0x97ff) AM_WRITE(galaxian_videoram_w) /* mirror */
+ AM_RANGE(0xa000, 0xa00f) AM_WRITE(scobra_type2_ppi8255_0_w)
+ AM_RANGE(0xa800, 0xa80f) AM_WRITE(scobra_type2_ppi8255_1_w)
+ AM_RANGE(0xb000, 0xb000) AM_WRITE(galaxian_stars_enable_w)
+ AM_RANGE(0xb004, 0xb004) AM_WRITE(galaxian_nmi_enable_w)
+ AM_RANGE(0xb006, 0xb006) AM_WRITE(galaxian_coin_counter_0_w)
+ AM_RANGE(0xb008, 0xb008) AM_WRITE(galaxian_coin_counter_1_w)
+ AM_RANGE(0xb00c, 0xb00c) AM_WRITE(galaxian_flip_screen_y_w)
+ AM_RANGE(0xb00e, 0xb00e) AM_WRITE(galaxian_flip_screen_x_w)
+ADDRESS_MAP_END
+
+static ADDRESS_MAP_START( hustler_readmem, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x7fff) AM_READ(MRA8_ROM)
+ AM_RANGE(0x8000, 0x8bff) AM_READ(MRA8_RAM)
+ AM_RANGE(0x9000, 0x90ff) AM_READ(MRA8_RAM)
+ AM_RANGE(0xb800, 0xb800) AM_READ(watchdog_reset_r)
+ AM_RANGE(0xd000, 0xd01f) AM_READ(hustler_ppi8255_0_r)
+ AM_RANGE(0xe000, 0xe01f) AM_READ(hustler_ppi8255_1_r)
+ADDRESS_MAP_END
+
+static ADDRESS_MAP_START( hustler_writemem, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x7fff) AM_WRITE(MWA8_ROM)
+ AM_RANGE(0x8000, 0x87ff) AM_WRITE(MWA8_RAM)
+ AM_RANGE(0x8800, 0x8bff) AM_WRITE(galaxian_videoram_w) AM_BASE(&galaxian_videoram)
+ AM_RANGE(0x9000, 0x903f) AM_WRITE(galaxian_attributesram_w) AM_BASE(&galaxian_attributesram)
+ AM_RANGE(0x9040, 0x905f) AM_WRITE(MWA8_RAM) AM_BASE(&galaxian_spriteram) AM_SIZE(&galaxian_spriteram_size)
+ AM_RANGE(0x9060, 0x907f) AM_WRITE(MWA8_RAM) AM_BASE(&galaxian_bulletsram) AM_SIZE(&galaxian_bulletsram_size)
+ AM_RANGE(0x9080, 0x90ff) AM_WRITE(MWA8_RAM)
+ AM_RANGE(0xa802, 0xa802) AM_WRITE(galaxian_flip_screen_x_w)
+ AM_RANGE(0xa804, 0xa804) AM_WRITE(galaxian_nmi_enable_w)
+ AM_RANGE(0xa806, 0xa806) AM_WRITE(galaxian_flip_screen_y_w)
+ AM_RANGE(0xa80e, 0xa80e) AM_WRITE(MWA8_NOP) /* coin counters */
+ AM_RANGE(0xd000, 0xd01f) AM_WRITE(hustler_ppi8255_0_w)
+ AM_RANGE(0xe000, 0xe01f) AM_WRITE(hustler_ppi8255_1_w)
+ADDRESS_MAP_END
+
+static ADDRESS_MAP_START( hustlerb_readmem, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x7fff) AM_READ(MRA8_ROM)
+ AM_RANGE(0x8000, 0x8bff) AM_READ(MRA8_RAM)
+ AM_RANGE(0x9000, 0x90ff) AM_READ(MRA8_RAM)
+ AM_RANGE(0xb000, 0xb000) AM_READ(watchdog_reset_r)
+ AM_RANGE(0xc100, 0xc103) AM_READ(ppi8255_0_r)
+ AM_RANGE(0xc200, 0xc203) AM_READ(ppi8255_1_r)
+ADDRESS_MAP_END
+
+static ADDRESS_MAP_START( hustlerb_writemem, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x3fff) AM_WRITE(MWA8_ROM)
+ AM_RANGE(0x8000, 0x87ff) AM_WRITE(MWA8_RAM)
+ AM_RANGE(0x8800, 0x8bff) AM_WRITE(galaxian_videoram_w) AM_BASE(&galaxian_videoram)
+ AM_RANGE(0x9000, 0x903f) AM_WRITE(galaxian_attributesram_w) AM_BASE(&galaxian_attributesram)
+ AM_RANGE(0x9040, 0x905f) AM_WRITE(MWA8_RAM) AM_BASE(&galaxian_spriteram) AM_SIZE(&galaxian_spriteram_size)
+ AM_RANGE(0x9060, 0x907f) AM_WRITE(MWA8_RAM) AM_BASE(&galaxian_bulletsram) AM_SIZE(&galaxian_bulletsram_size)
+ AM_RANGE(0x9080, 0x90ff) AM_WRITE(MWA8_RAM)
+ AM_RANGE(0xa801, 0xa801) AM_WRITE(galaxian_nmi_enable_w)
+ AM_RANGE(0xa802, 0xa802) AM_WRITE(MWA8_NOP) /* coin counters */
+ AM_RANGE(0xa806, 0xa806) AM_WRITE(galaxian_flip_screen_y_w)
+ AM_RANGE(0xa807, 0xa807) AM_WRITE(galaxian_flip_screen_x_w)
+ AM_RANGE(0xc100, 0xc103) AM_WRITE(ppi8255_0_w)
+ AM_RANGE(0xc200, 0xc203) AM_WRITE(ppi8255_1_w)
+ADDRESS_MAP_END
+
+static ADDRESS_MAP_START( mimonkey_readmem, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x3fff) AM_READ(MRA8_ROM)
+ AM_RANGE(0x8000, 0x8bff) AM_READ(MRA8_RAM)
+ AM_RANGE(0x8c00, 0x8fff) AM_READ(galaxian_videoram_r) /* mirror */
+ AM_RANGE(0x9000, 0x90ff) AM_READ(MRA8_RAM)
+ AM_RANGE(0x9800, 0x9803) AM_READ(ppi8255_0_r)
+ AM_RANGE(0xa000, 0xa003) AM_READ(ppi8255_1_r)
+ AM_RANGE(0xb000, 0xb000) AM_READ(watchdog_reset_r)
+ AM_RANGE(0xc000, 0xffff) AM_READ(MRA8_ROM)
+ADDRESS_MAP_END
+
+static ADDRESS_MAP_START( mimonkey_writemem, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x3fff) AM_WRITE(MWA8_ROM)
+ AM_RANGE(0x8000, 0x87ff) AM_WRITE(MWA8_RAM)
+ AM_RANGE(0x8800, 0x8bff) AM_WRITE(galaxian_videoram_w) AM_BASE(&galaxian_videoram)
+ AM_RANGE(0x8c00, 0x8fff) AM_WRITE(galaxian_videoram_w) /* mirror */
+ AM_RANGE(0x9000, 0x903f) AM_WRITE(galaxian_attributesram_w) AM_BASE(&galaxian_attributesram)
+ AM_RANGE(0x9040, 0x905f) AM_WRITE(MWA8_RAM) AM_BASE(&galaxian_spriteram) AM_SIZE(&galaxian_spriteram_size)
+ AM_RANGE(0x9060, 0x907f) AM_WRITE(MWA8_RAM) AM_BASE(&galaxian_bulletsram) AM_SIZE(&galaxian_bulletsram_size)
+ AM_RANGE(0x9080, 0x90ff) AM_WRITE(MWA8_RAM)
+ AM_RANGE(0x9800, 0x9803) AM_WRITE(ppi8255_0_w)
+ AM_RANGE(0xa000, 0xa003) AM_WRITE(ppi8255_1_w)
+ AM_RANGE(0xa801, 0xa801) AM_WRITE(galaxian_nmi_enable_w)
+ AM_RANGE(0xa800, 0xa802) AM_WRITE(galaxian_gfxbank_w)
+ AM_RANGE(0xa806, 0xa806) AM_WRITE(galaxian_flip_screen_x_w)
+ AM_RANGE(0xa807, 0xa807) AM_WRITE(galaxian_flip_screen_y_w)
+ AM_RANGE(0xc000, 0xffff) AM_WRITE(MWA8_ROM)
+ADDRESS_MAP_END
+
+
+static READ8_HANDLER( anteatg_ppi8255_0_reg0_r )
+{
+ return ppi8255_0_r(0);
+}
+
+static READ8_HANDLER( anteatg_ppi8255_0_reg1_r )
+{
+ return ppi8255_0_r(1);
+}
+
+static READ8_HANDLER( anteatg_ppi8255_0_reg2_r )
+{
+ return ppi8255_0_r(2);
+}
+
+static READ8_HANDLER( anteatg_ppi8255_0_reg3_r )
+{
+ return ppi8255_0_r(3);
+}
+
+static WRITE8_HANDLER( anteatg_ppi8255_0_reg0_w )
+{
+ ppi8255_0_w(0, data);
+}
+
+static WRITE8_HANDLER( anteatg_ppi8255_0_reg1_w )
+{
+ ppi8255_0_w(1, data);
+}
+
+static WRITE8_HANDLER( anteatg_ppi8255_0_reg2_w )
+{
+ ppi8255_0_w(2, data);
+}
+
+static WRITE8_HANDLER( anteatg_ppi8255_0_reg3_w )
+{
+ ppi8255_0_w(3, data);
+}
+
+static WRITE8_HANDLER( anteatg_ppi8255_1_reg0_w )
+{
+ ppi8255_1_w(0, data);
+}
+
+static WRITE8_HANDLER( anteatg_ppi8255_1_reg1_w )
+{
+ ppi8255_1_w(1, data);
+}
+
+static WRITE8_HANDLER( anteatg_ppi8255_1_reg3_w )
+{
+ ppi8255_1_w(3, data);
+}
+
+static ADDRESS_MAP_START( anteatg_readmem, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x03ff) AM_READ(MRA8_ROM)
+ AM_RANGE(0x0400, 0x0fff) AM_READ(MRA8_RAM)
+ AM_RANGE(0x2000, 0x20ff) AM_READ(MRA8_RAM)
+ AM_RANGE(0x4600, 0x4fff) AM_READ(MRA8_ROM)
+ AM_RANGE(0x6400, 0x7aff) AM_READ(MRA8_ROM)
+ AM_RANGE(0x7c00, 0x7fff) AM_READ(galaxian_videoram_r) /* mirror */
+ AM_RANGE(0x8300, 0x98ff) AM_READ(MRA8_ROM)
+ AM_RANGE(0xa300, 0xa7ff) AM_READ(MRA8_ROM)
+ AM_RANGE(0xf521, 0xf521) AM_READ(watchdog_reset_r)
+ AM_RANGE(0xf612, 0xf612) AM_READ(anteatg_ppi8255_0_reg0_r)
+ AM_RANGE(0xf631, 0xf631) AM_READ(anteatg_ppi8255_0_reg1_r)
+ AM_RANGE(0xf710, 0xf710) AM_READ(anteatg_ppi8255_0_reg2_r)
+ AM_RANGE(0xf753, 0xf753) AM_READ(anteatg_ppi8255_0_reg3_r)
+ADDRESS_MAP_END
+
+static ADDRESS_MAP_START( anteatg_writemem, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x03ff) AM_WRITE(MWA8_ROM)
+ AM_RANGE(0x0400, 0x0bff) AM_WRITE(MWA8_RAM)
+ AM_RANGE(0x0c00, 0x0fff) AM_WRITE(galaxian_videoram_w) AM_BASE(&galaxian_videoram)
+ AM_RANGE(0x2000, 0x203f) AM_WRITE(galaxian_attributesram_w) AM_BASE(&galaxian_attributesram)
+ AM_RANGE(0x2040, 0x205f) AM_WRITE(MWA8_RAM) AM_BASE(&galaxian_spriteram) AM_SIZE(&galaxian_spriteram_size)
+ AM_RANGE(0x2060, 0x207f) AM_WRITE(MWA8_RAM) AM_BASE(&galaxian_bulletsram) AM_SIZE(&galaxian_bulletsram_size)
+ AM_RANGE(0x2080, 0x20ff) AM_WRITE(MWA8_RAM)
+ AM_RANGE(0x2423, 0x2423) AM_WRITE(anteatg_ppi8255_1_reg3_w)
+ AM_RANGE(0x2450, 0x2450) AM_WRITE(anteatg_ppi8255_1_reg0_w)
+ AM_RANGE(0x2511, 0x2511) AM_WRITE(anteatg_ppi8255_1_reg1_w)
+ AM_RANGE(0x2621, 0x2621) AM_WRITE(galaxian_nmi_enable_w)
+ AM_RANGE(0x2624, 0x2624) AM_WRITE(galaxian_stars_enable_w)
+ AM_RANGE(0x2647, 0x2647) AM_WRITE(galaxian_flip_screen_y_w)
+ AM_RANGE(0x2653, 0x2653) AM_WRITE(scramble_background_enable_w)
+ AM_RANGE(0x2702, 0x2702) AM_WRITE(galaxian_coin_counter_w)
+ AM_RANGE(0x2736, 0x2736) AM_WRITE(galaxian_flip_screen_x_w)
+ AM_RANGE(0x4600, 0x4fff) AM_WRITE(MWA8_ROM)
+ AM_RANGE(0x6400, 0x7aff) AM_WRITE(MWA8_ROM)
+ AM_RANGE(0x7c00, 0x7fff) AM_WRITE(galaxian_videoram_w) /* mirror */
+ AM_RANGE(0x8300, 0x98ff) AM_WRITE(MWA8_ROM)
+ AM_RANGE(0xa300, 0xa7ff) AM_WRITE(MWA8_ROM)
+ AM_RANGE(0xf612, 0xf612) AM_WRITE(anteatg_ppi8255_0_reg0_w)
+ AM_RANGE(0xf631, 0xf631) AM_WRITE(anteatg_ppi8255_0_reg1_w)
+ AM_RANGE(0xf710, 0xf710) AM_WRITE(anteatg_ppi8255_0_reg2_w)
+ AM_RANGE(0xf753, 0xf753) AM_WRITE(anteatg_ppi8255_0_reg3_w)
+ADDRESS_MAP_END
+
+static ADDRESS_MAP_START( anteatgb_readmem, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x03ff) AM_READ(MRA8_ROM)
+ AM_RANGE(0x0400, 0x0fff) AM_READ(MRA8_RAM)
+ AM_RANGE(0x1200, 0x12ff) AM_READ(MRA8_RAM)
+ AM_RANGE(0x145b, 0x145b) AM_READ(watchdog_reset_r)
+ AM_RANGE(0x4600, 0x4fff) AM_READ(MRA8_ROM)
+ AM_RANGE(0x6400, 0x7aff) AM_READ(MRA8_ROM)
+ AM_RANGE(0x8300, 0x98ff) AM_READ(MRA8_ROM)
+ AM_RANGE(0xa300, 0xa7ff) AM_READ(MRA8_ROM)
+ AM_RANGE(0xf300, 0xf303) AM_READ(ppi8255_0_r)
+ AM_RANGE(0xfe00, 0xfe03) AM_READ(ppi8255_1_r)
+ADDRESS_MAP_END
+
+static ADDRESS_MAP_START( anteatgb_writemem, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x03ff) AM_WRITE(MWA8_ROM)
+ AM_RANGE(0x0400, 0x0bff) AM_WRITE(MWA8_RAM)
+ AM_RANGE(0x0c00, 0x0fff) AM_WRITE(galaxian_videoram_w) AM_BASE(&galaxian_videoram)
+ AM_RANGE(0x1200, 0x123f) AM_WRITE(galaxian_attributesram_w) AM_BASE(&galaxian_attributesram)
+ AM_RANGE(0x1240, 0x125f) AM_WRITE(MWA8_RAM) AM_BASE(&galaxian_spriteram) AM_SIZE(&galaxian_spriteram_size)
+ AM_RANGE(0x1260, 0x127f) AM_WRITE(MWA8_RAM) AM_BASE(&galaxian_bulletsram) AM_SIZE(&galaxian_bulletsram_size)
+ AM_RANGE(0x1280, 0x12ff) AM_WRITE(MWA8_RAM)
+ AM_RANGE(0x1171, 0x1171) AM_WRITE(galaxian_nmi_enable_w)
+ AM_RANGE(0x1174, 0x1174) AM_WRITE(galaxian_stars_enable_w)
+ AM_RANGE(0x1177, 0x1177) AM_WRITE(galaxian_flip_screen_y_w)
+ AM_RANGE(0x1173, 0x1173) AM_WRITE(scramble_background_enable_w)
+ AM_RANGE(0x1172, 0x1172) AM_WRITE(galaxian_coin_counter_w)
+ AM_RANGE(0x1176, 0x1176) AM_WRITE(galaxian_flip_screen_x_w)
+ AM_RANGE(0x4600, 0x4fff) AM_WRITE(MWA8_ROM)
+ AM_RANGE(0x6400, 0x7aff) AM_WRITE(MWA8_ROM)
+ AM_RANGE(0x8300, 0x98ff) AM_WRITE(MWA8_ROM)
+ AM_RANGE(0xa300, 0xa7ff) AM_WRITE(MWA8_ROM)
+ AM_RANGE(0xf300, 0xf303) AM_WRITE(ppi8255_0_w)
+ AM_RANGE(0xfe00, 0xfe03) AM_WRITE(ppi8255_1_w)
+ADDRESS_MAP_END
+
+static UINT8 *scobra_soundram;
+
+static READ8_HANDLER(scobra_soundram_r)
+{
+ return scobra_soundram[offset & 0x03ff];
+}
+
+static WRITE8_HANDLER(scobra_soundram_w)
+{
+ scobra_soundram[offset & 0x03ff] = data;
+}
+
+static ADDRESS_MAP_START( scobra_sound_readmem, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x2fff) AM_READ(MRA8_ROM)
+ AM_RANGE(0x8000, 0x8fff) AM_READ(scobra_soundram_r)
+ADDRESS_MAP_END
+
+static ADDRESS_MAP_START( scobra_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x2fff) AM_WRITE(MWA8_ROM)
+ AM_RANGE(0x8000, 0x8fff) AM_WRITE(scobra_soundram_w)
+ AM_RANGE(0x8000, 0x83ff) AM_WRITE(MWA8_NOP) AM_BASE(&scobra_soundram) /* only here to initialize pointer */
+ AM_RANGE(0x9000, 0x9fff) AM_WRITE(scramble_filter_w)
+ADDRESS_MAP_END
+
+
+static ADDRESS_MAP_START( hustlerb_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x1fff) AM_WRITE(MWA8_ROM)
+ AM_RANGE(0x6000, 0x6fff) AM_WRITE(frogger_filter_w)
+ AM_RANGE(0x8000, 0x83ff) AM_WRITE(MWA8_RAM)
+ AM_RANGE(0x8000, 0x83ff) AM_WRITE(MWA8_NOP) AM_BASE(&scobra_soundram) /* only here to initialize pointer */
+ADDRESS_MAP_END
+
+
+static ADDRESS_MAP_START( scobra_sound_readport, ADDRESS_SPACE_IO, 8 )
+ ADDRESS_MAP_FLAGS( AMEF_ABITS(8) )
+ AM_RANGE(0x20, 0x20) AM_READ(AY8910_read_port_0_r)
+ AM_RANGE(0x80, 0x80) AM_READ(AY8910_read_port_1_r)
+ADDRESS_MAP_END
+
+static ADDRESS_MAP_START( scobra_sound_writeport, ADDRESS_SPACE_IO, 8 )
+ ADDRESS_MAP_FLAGS( AMEF_ABITS(8) )
+ AM_RANGE(0x10, 0x10) AM_WRITE(AY8910_control_port_0_w)
+ AM_RANGE(0x20, 0x20) AM_WRITE(AY8910_write_port_0_w)
+ AM_RANGE(0x40, 0x40) AM_WRITE(AY8910_control_port_1_w)
+ AM_RANGE(0x80, 0x80) AM_WRITE(AY8910_write_port_1_w)
+ADDRESS_MAP_END
+
+static ADDRESS_MAP_START( hustler_sound_readmem, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x1fff) AM_READ(MRA8_ROM)
+ AM_RANGE(0x4000, 0x43ff) AM_READ(MRA8_RAM)
+ADDRESS_MAP_END
+
+static ADDRESS_MAP_START( hustler_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x1fff) AM_WRITE(MWA8_ROM)
+ AM_RANGE(0x4000, 0x43ff) AM_WRITE(MWA8_RAM)
+ AM_RANGE(0x6000, 0x6fff) AM_WRITE(frogger_filter_w)
+ADDRESS_MAP_END
+
+
+static ADDRESS_MAP_START( hustler_sound_readport, ADDRESS_SPACE_IO, 8 )
+ ADDRESS_MAP_FLAGS( AMEF_ABITS(8) )
+ AM_RANGE(0x40, 0x40) AM_READ(AY8910_read_port_0_r)
+ADDRESS_MAP_END
+
+static ADDRESS_MAP_START( hustler_sound_writeport, ADDRESS_SPACE_IO, 8 )
+ ADDRESS_MAP_FLAGS( AMEF_ABITS(8) )
+ AM_RANGE(0x40, 0x40) AM_WRITE(AY8910_write_port_0_w)
+ AM_RANGE(0x80, 0x80) AM_WRITE(AY8910_control_port_0_w)
+ADDRESS_MAP_END
+
+static ADDRESS_MAP_START( hustlerb_sound_readport, ADDRESS_SPACE_IO, 8 )
+ ADDRESS_MAP_FLAGS( AMEF_ABITS(8) )
+ AM_RANGE(0x80, 0x80) AM_READ(AY8910_read_port_0_r)
+ADDRESS_MAP_END
+
+static ADDRESS_MAP_START( hustlerb_sound_writeport, ADDRESS_SPACE_IO, 8 )
+ ADDRESS_MAP_FLAGS( AMEF_ABITS(8) )
+ AM_RANGE(0x40, 0x40) AM_WRITE(AY8910_control_port_0_w)
+ AM_RANGE(0x80, 0x80) AM_WRITE(AY8910_write_port_0_w)
+ADDRESS_MAP_END
+
+#define SCOBRA_IN0\
+ PORT_START_TAG("IN0")\
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL\
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )\
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )\
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )\
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY\
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY\
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )\
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
+
+#define SCOBRA_IN1\
+ PORT_START_TAG("IN1")\
+ PORT_DIPNAME( 0x01, 0x00, DEF_STR( Allow_Continue ) )\
+ PORT_DIPSETTING( 0x00, DEF_STR( No ) )\
+ PORT_DIPSETTING( 0x01, DEF_STR( Yes ) )\
+ PORT_DIPNAME( 0x02, 0x00, DEF_STR( Lives ) )\
+ PORT_DIPSETTING( 0x00, "3" )\
+ PORT_DIPSETTING( 0x02, "4" )\
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL\
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL\
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL\
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL\
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )\
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
+
+#define SCOBRA_IN2\
+ PORT_START_TAG("IN2")\
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL\
+ PORT_DIPNAME( 0x06, 0x02, DEF_STR( Coinage ) )\
+ PORT_DIPSETTING( 0x04, DEF_STR( 2C_1C ) )\
+ PORT_DIPSETTING( 0x06, DEF_STR( 4C_3C ) )\
+ PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) )\
+ PORT_DIPSETTING( 0x00, "1 Coin/99 Credits" )\
+ PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )\
+ PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )\
+ PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) )\
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY\
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )\
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY\
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
+
+static INPUT_PORTS_START( scobra )
+SCOBRA_IN0
+SCOBRA_IN1
+SCOBRA_IN2
+INPUT_PORTS_END
+
+/* identical to scobra apart from the number of lives */
+static INPUT_PORTS_START( scobras )
+SCOBRA_IN0
+
+ PORT_START_TAG("IN1")
+ PORT_DIPNAME( 0x01, 0x00, DEF_STR( Allow_Continue ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( No ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( Yes ) )
+ PORT_DIPNAME( 0x02, 0x00, DEF_STR( Lives ) )
+ PORT_DIPSETTING( 0x00, "3" )
+ PORT_DIPSETTING( 0x02, "5" )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
+
+SCOBRA_IN2
+INPUT_PORTS_END
+
+static INPUT_PORTS_START( stratgyx )
+SCOBRA_IN0
+
+ PORT_START_TAG("IN1")
+ PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
+ PORT_DIPSETTING( 0x00, "3" )
+ PORT_DIPSETTING( 0x01, "4" )
+ PORT_DIPSETTING( 0x02, "5" )
+ PORT_DIPSETTING( 0x03, "255 (Cheat)")
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
+
+ PORT_START_TAG("IN2")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
+ PORT_BIT( 0x06, IP_ACTIVE_LOW, IPT_SPECIAL ) /* lower 2 coinage DIPs */
+ PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_COCKTAIL
+
+ PORT_START_TAG("IN3")
+ PORT_BIT( 0x03, IP_ACTIVE_LOW, IPT_SPECIAL ) /* upper 2 coinage DIPs */
+ PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) /* none of these appear to be used */
+ 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_TAG("IN4") /* fake coinage DIPs. read via IN2 and IN3 */
+ PORT_DIPNAME( 0x0f, 0x07, DEF_STR( Coinage ) )
+ PORT_DIPSETTING( 0x0a, "A 2/1 B 1/3" )
+ /*PORT_DIPSETTING( 0x02, "A 2/1 B 1/3" )*/
+ PORT_DIPSETTING( 0x09, "A 2/1 B 1/6" )
+ PORT_DIPSETTING( 0x03, "A 4/3 B 1/3" )
+ PORT_DIPSETTING( 0x0c, "A 1/1 B 2/1" )
+ PORT_DIPSETTING( 0x07, "A 1/1 B 1/2" )
+ PORT_DIPSETTING( 0x01, "A 1/1 B 1/3" )
+ PORT_DIPSETTING( 0x06, "A 1/1 B 1/5" )
+ /*PORT_DIPSETTING( 0x0b, "A 1/1 B 1/5" )*/
+ PORT_DIPSETTING( 0x05, "A 1/1 B 1/7" )
+ PORT_DIPSETTING( 0x0d, "A 1/2 B 1/1" )
+ PORT_DIPSETTING( 0x0e, "A 1/3 B 3/1" )
+ PORT_DIPSETTING( 0x0f, "A 1/4 B 4/1" )
+ PORT_DIPSETTING( 0x04, "A 1/99 B 2/1" )
+ /*PORT_DIPSETTING( 0x08, "A 1/99 B 2/1" )*/
+ PORT_DIPSETTING( 0x00, "A 1/99 B 1/3" )
+INPUT_PORTS_END
+
+static INPUT_PORTS_START( armorcar )
+ PORT_START_TAG("IN0")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
+ PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
+
+ PORT_START_TAG("IN1")
+ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Lives ) )
+ PORT_DIPSETTING( 0x01, "3" )
+ PORT_DIPSETTING( 0x00, "5" )
+ PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
+
+ PORT_START_TAG("IN2")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
+ PORT_DIPNAME( 0x06, 0x02, DEF_STR( Coinage ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x00, "Coin A 1/2 Coin B 2/1" )
+ PORT_DIPSETTING( 0x04, "Coin A 1/3 Coin B 3/1" )
+ PORT_DIPSETTING( 0x06, "Coin A 1/4 Coin B 4/1" )
+ PORT_DIPNAME( 0x08, 0x08, DEF_STR( Cabinet ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( Upright ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY
+ PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY
+ PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+INPUT_PORTS_END
+
+#define MOONWAR_COMMON\
+ PORT_START_TAG("IN0")\
+ PORT_BIT( 0x1f, IP_ACTIVE_LOW, IPT_SPECIAL ) /* the spinner */\
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_COCKTAIL\
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )\
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )\
+ PORT_START_TAG("IN1")\
+ PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )\
+ PORT_DIPSETTING( 0x00, "3" )\
+ PORT_DIPSETTING( 0x01, "4" )\
+ PORT_DIPSETTING( 0x02, "5" )\
+ PORT_DIPSETTING( 0x03, DEF_STR( Free_Play ) )\
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START1 )\
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 )\
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL\
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 )\
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 )\
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 )
+
+static INPUT_PORTS_START( moonwar )
+ MOONWAR_COMMON
+
+ PORT_START_TAG("IN2")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
+ PORT_DIPNAME( 0x06, 0x02, DEF_STR( Coinage ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( 1C_3C ) )
+ PORT_DIPSETTING( 0x06, DEF_STR( 1C_4C ) )
+ PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) )
+ PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED ) /* output bits */
+
+ PORT_START_TAG("IN3") /* IN3/4 - dummy ports for the dial */
+ PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(10) PORT_RESET
+
+ PORT_START_TAG("IN4")
+ PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(10) PORT_RESET PORT_COCKTAIL
+INPUT_PORTS_END
+
+/* same as above, but coinage is different */
+static INPUT_PORTS_START( moonwara )
+ MOONWAR_COMMON
+
+ PORT_START_TAG("IN2")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
+ PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( 1C_3C ) )
+ PORT_DIPSETTING( 0x06, DEF_STR( 1C_4C ) )
+ PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) )
+ PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED ) /* output bits */
+
+ PORT_START_TAG("IN3") /* IN3/4 - dummy ports for the dial */
+ PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(10) PORT_RESET
+
+ PORT_START_TAG("IN4") /* doesn't actually work due to bug in game code */
+ PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(10) PORT_RESET PORT_COCKTAIL
+INPUT_PORTS_END
+
+static INPUT_PORTS_START( spdcoin )
+ PORT_START_TAG("IN0")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START1 )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
+
+ PORT_START_TAG("IN1")
+ PORT_DIPNAME( 0x01, 0x00, "Freeze" ) /* Dip Sw #2 */
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02, 0x00, DEF_STR( Free_Play ) ) /* Dip Sw #1 */
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( On ) )
+ PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_START_TAG("IN2")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) ) /* Dip Sw #5 - Check code at 0x0569 */
+ PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x04, 0x00, DEF_STR( Difficulty ) ) /* Dip Sw #4 */
+ PORT_DIPSETTING( 0x00, DEF_STR( Easy ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( Hard ) )
+ PORT_DIPNAME( 0x08, 0x08, DEF_STR( Lives ) ) /* Dip Sw #3 */
+ PORT_DIPSETTING( 0x08, "3" )
+ PORT_DIPSETTING( 0x00, "5" )
+ PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
+INPUT_PORTS_END
+
+/* cocktail mode is N/A */
+static INPUT_PORTS_START( darkplnt )
+ PORT_START_TAG("IN0")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START1 )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON3 )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START2 )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 )
+ 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_COIN2 )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
+
+ PORT_START_TAG("IN1")
+ PORT_DIPNAME( 0x01, 0x01, "Bonus Occurrence" )
+ PORT_DIPSETTING( 0x01, "Once" )
+ PORT_DIPSETTING( 0x00, "Every" )
+ PORT_DIPNAME( 0x02, 0x00, DEF_STR( Lives ) )
+ PORT_DIPSETTING( 0x00, "3" )
+ PORT_DIPSETTING( 0x02, "5" )
+ PORT_BIT( 0xfc, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(10) /* scrambled dial */
+
+ PORT_START_TAG("IN2")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_DIPNAME( 0x06, 0x02, DEF_STR( Coinage ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x00, "Coin A 1/2 Coin B 2/1" )
+ PORT_DIPSETTING( 0x04, "Coin A 1/3 Coin B 3/1" )
+ PORT_DIPSETTING( 0x06, "Coin A 1/4 Coin B 4/1" )
+ PORT_DIPNAME( 0x08, 0x00, DEF_STR( Bonus_Life ) )
+ PORT_DIPSETTING( 0x00, "100k" )
+ PORT_DIPSETTING( 0x08, "200k" )
+ 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 INPUT_PORTS_START( tazmania )
+ PORT_START_TAG("IN0")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON2 )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
+
+ PORT_START_TAG("IN1")
+ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Lives ) )
+ PORT_DIPSETTING( 0x01, "3" )
+ PORT_DIPSETTING( 0x00, "5" )
+ PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
+
+ PORT_START_TAG("IN2")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
+ PORT_DIPNAME( 0x06, 0x02, DEF_STR( Coinage ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x00, "Coin A 1/2 Coin B 2/1" )
+ PORT_DIPSETTING( 0x04, "Coin A 1/3 Coin B 3/1" )
+ PORT_DIPSETTING( 0x06, "Coin A 1/4 Coin B 4/1" )
+ PORT_DIPNAME( 0x08, 0x08, DEF_STR( Cabinet ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( Upright ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
+ 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_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
+ PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+INPUT_PORTS_END
+
+/* cocktail mode is N/A */
+static INPUT_PORTS_START( calipso )
+ PORT_START_TAG("IN0")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
+
+ PORT_START_TAG("IN1")
+ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Lives ) )
+ PORT_DIPSETTING( 0x01, "3" )
+ PORT_DIPSETTING( 0x00, "5" )
+ PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
+
+ PORT_START_TAG("IN2")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 )
+ PORT_DIPNAME( 0x06, 0x02, DEF_STR( Coinage ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( 1C_3C ) )
+ PORT_DIPSETTING( 0x06, DEF_STR( 1C_4C ) )
+ PORT_DIPNAME( 0x08, 0x08, "Cabinet (Not Supported)" )
+ PORT_DIPSETTING( 0x08, DEF_STR( Upright ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
+ 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
+
+/* cocktail mode not working due to bug in game code */
+static INPUT_PORTS_START( anteater )
+ PORT_START_TAG("IN0")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
+
+ PORT_START_TAG("IN1")
+ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Lives ) )
+ PORT_DIPSETTING( 0x01, "3" )
+ PORT_DIPSETTING( 0x00, "5" )
+ PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
+
+ PORT_START_TAG("IN2")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
+ PORT_DIPNAME( 0x06, 0x02, DEF_STR( Coinage ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x00, "Coin A 1/2 Coin B 2/1" )
+ PORT_DIPSETTING( 0x04, "Coin A 1/3 Coin B 3/1" )
+ PORT_DIPSETTING( 0x06, "Coin A 1/4 Coin B 4/1" )
+ PORT_DIPNAME( 0x08, 0x08, DEF_STR( Cabinet ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( Upright ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
+ 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_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
+ 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( anteatg )
+ PORT_START_TAG("IN0")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
+ PORT_DIPNAME( 0x02, 0x02, DEF_STR( Coinage ) )
+ PORT_DIPSETTING( 0x02, "Coin A 1/1 Coin B 1/5" )
+ PORT_DIPSETTING( 0x00, "Coin A 2/1 Coin B 1/3" )
+ PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) )
+ PORT_DIPSETTING( 0x0c, "3" )
+ PORT_DIPSETTING( 0x08, "4" )
+ PORT_DIPSETTING( 0x04, "5" )
+ PORT_DIPSETTING( 0x00, "6" )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY
+ PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY
+ PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+
+ PORT_START_TAG("IN1")
+ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Cabinet ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( Upright ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
+ PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
+ 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_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
+
+ PORT_START_TAG("IN2")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
+ 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_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
+INPUT_PORTS_END
+
+static INPUT_PORTS_START( anteatgb )
+ PORT_START_TAG("IN0")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
+ 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_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
+
+ PORT_START_TAG("IN1")
+ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Cabinet ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( Upright ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
+ PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
+ 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_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
+
+ PORT_START_TAG("IN2")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
+ PORT_DIPNAME( 0x02, 0x02, DEF_STR( Coinage ) )
+ PORT_DIPSETTING( 0x02, "Coin A 1/1 Coin B 1/5" )
+ PORT_DIPSETTING( 0x00, "Coin A 2/1 Coin B 1/3" )
+ PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) )
+ PORT_DIPSETTING( 0x0c, "3" )
+ PORT_DIPSETTING( 0x08, "4" )
+ PORT_DIPSETTING( 0x04, "5" )
+ PORT_DIPSETTING( 0x00, "6" )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY
+ PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY
+ PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+INPUT_PORTS_END
+
+/* cocktail mode is N/A */
+static INPUT_PORTS_START( rescue )
+ PORT_START_TAG("IN0")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 )
+ PORT_DIPNAME( 0x02, 0x02, "Starting Level" )
+ PORT_DIPSETTING( 0x02, "1" )
+ PORT_DIPSETTING( 0x00, "3" )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP ) PORT_8WAY
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN ) PORT_8WAY
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_RIGHT ) PORT_8WAY
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_LEFT ) PORT_8WAY
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
+
+ PORT_START_TAG("IN1")
+ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Lives ) )
+ PORT_DIPSETTING( 0x01, "3" )
+ PORT_DIPSETTING( 0x00, "5" )
+ PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP ) PORT_8WAY
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN ) PORT_8WAY
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_RIGHT ) PORT_8WAY
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_LEFT ) PORT_8WAY
+ 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_TAG("IN2")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
+ PORT_DIPNAME( 0x06, 0x02, DEF_STR( Coinage ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x00, "Coin A 1/2 Coin B 2/1" )
+ PORT_DIPSETTING( 0x04, "Coin A 1/3 Coin B 3/1" )
+ PORT_DIPSETTING( 0x06, "Coin A 1/4 Coin B 4/1" )
+ PORT_DIPNAME( 0x08, 0x00, DEF_STR( Difficulty ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Easy ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( Hard ) )
+ 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_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
+ PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+INPUT_PORTS_END
+
+/* cocktail mode is N/A */
+static INPUT_PORTS_START( minefld )
+ PORT_START_TAG("IN0")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 )
+ PORT_DIPNAME( 0x02, 0x02, "Starting Level" )
+ PORT_DIPSETTING( 0x02, "1" )
+ PORT_DIPSETTING( 0x00, "3" )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP ) PORT_8WAY
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN ) PORT_8WAY
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_RIGHT ) PORT_8WAY
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_LEFT ) PORT_8WAY
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
+
+ PORT_START_TAG("IN1")
+ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Lives ) )
+ PORT_DIPSETTING( 0x01, "3" )
+ PORT_DIPSETTING( 0x00, "5" )
+ PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP ) PORT_8WAY
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN ) PORT_8WAY
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_RIGHT ) PORT_8WAY
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_LEFT ) PORT_8WAY
+ 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_TAG("IN2")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
+ PORT_DIPNAME( 0x02, 0x02, DEF_STR( Coinage ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x00, "Coin A 1/2 Coin B 2/1" )
+ PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Difficulty ) )
+ PORT_DIPSETTING( 0x0c, DEF_STR( Easy ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( Medium ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( Hard ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
+ 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_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
+ PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+INPUT_PORTS_END
+
+/* cocktail mode is N/A */
+static INPUT_PORTS_START( losttomb )
+ PORT_START_TAG("IN0")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START2 )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START1 )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP ) PORT_8WAY
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN ) PORT_8WAY
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_RIGHT) PORT_8WAY
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_LEFT ) PORT_8WAY
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
+
+ PORT_START_TAG("IN1")
+ PORT_DIPNAME( 0x03, 0x01, DEF_STR( Lives ) )
+ PORT_DIPSETTING( 0x01, "3" )
+ PORT_DIPSETTING( 0x02, "5" )
+ PORT_DIPSETTING( 0x03, DEF_STR( Free_Play ) )
+ PORT_DIPSETTING( 0x00, "Invulnerability (Cheat)")
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP ) PORT_8WAY
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN ) PORT_8WAY
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_RIGHT) PORT_8WAY
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_LEFT ) PORT_8WAY
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 )
+ PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+
+ PORT_START_TAG("DSW")
+ PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x06, 0x02, DEF_STR( Coinage ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x00, "A 1/2 B 2/1" )
+ PORT_DIPSETTING( 0x04, "A 1/3 B 3/1" )
+ PORT_DIPSETTING( 0x06, "A 1/4 B 4/1" )
+ PORT_DIPNAME( 0x08, 0x00, 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, 0x00, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) )
+ 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 ) )
+INPUT_PORTS_END
+
+/* cocktail mode is N/A */
+static INPUT_PORTS_START( superbon )
+ PORT_START_TAG("IN0")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START2 )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START1 )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT) PORT_8WAY
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
+
+ PORT_START_TAG("IN1")
+ PORT_DIPNAME( 0x03, 0x01, DEF_STR( Lives ) )
+ PORT_DIPSETTING( 0x01, "3" )
+ PORT_DIPSETTING( 0x02, "5" )
+ PORT_DIPSETTING( 0x03, DEF_STR( Free_Play ) )
+ PORT_DIPSETTING( 0x00, "Invulnerability (Cheat)")
+ PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
+ PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 )
+ PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+
+ PORT_START_TAG("DSW")
+ PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x06, 0x02, DEF_STR( Coinage ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x00, "A 1/2 B 2/1" )
+ PORT_DIPSETTING( 0x04, "A 1/3 B 3/1" )
+ PORT_DIPSETTING( 0x06, "A 1/4 B 4/1" )
+ PORT_DIPNAME( 0x08, 0x00, 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, 0x00, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) )
+ 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 ) )
+INPUT_PORTS_END
+
+static INPUT_PORTS_START( hustler )
+ PORT_START_TAG("IN0")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
+
+ PORT_START_TAG("IN1")
+ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Lives ) )
+ PORT_DIPSETTING( 0x00, "1" )
+ PORT_DIPSETTING( 0x01, "2" )
+ PORT_DIPNAME( 0x02, 0x00, "Infinite Lives (Cheat)")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( On ) )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
+
+ PORT_START_TAG("IN2")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
+ PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( 3C_1C ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( 2C_1C ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x06, DEF_STR( 1C_2C ) )
+ PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
+INPUT_PORTS_END
+
+#define MM_COMMON1\
+ PORT_START_TAG("IN0")\
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)\
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )\
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )\
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )\
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY\
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY\
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )\
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
+
+#define MM_COMMON2\
+ PORT_START_TAG("IN2")\
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)\
+ PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) )\
+ PORT_DIPSETTING( 0x06, DEF_STR( 3C_1C ) )\
+ PORT_DIPSETTING( 0x02, DEF_STR( 2C_1C ) )\
+ PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )\
+ PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) )\
+ PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )\
+ PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )\
+ PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) )\
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY\
+ PORT_DIPNAME( 0x20, 0x00, "Infinite Lives (Cheat)")\
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )\
+ PORT_DIPSETTING( 0x20, DEF_STR( On ) )\
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY\
+ PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) ) /* used, something to do with the bullets */\
+ PORT_DIPSETTING( 0x80, DEF_STR( Off ) )\
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+
+static INPUT_PORTS_START( mimonkey )
+ MM_COMMON1
+
+ PORT_START_TAG("IN1")
+ PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
+ PORT_DIPSETTING( 0x00, "3" )
+ PORT_DIPSETTING( 0x01, "4" )
+ PORT_DIPSETTING( 0x02, "5" )
+ PORT_DIPSETTING( 0x03, "6" )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
+
+ MM_COMMON2
+
+INPUT_PORTS_END
+
+/* Same as 'mimonkey' but different "Lives" Dip Switch */
+static INPUT_PORTS_START( mimonsco )
+ MM_COMMON1
+
+ PORT_START /* IN1 */
+ PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
+ PORT_DIPSETTING( 0x00, "1" )
+ PORT_DIPSETTING( 0x01, "2" )
+ PORT_DIPSETTING( 0x02, "3" )
+ PORT_DIPSETTING( 0x03, "4" )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
+
+MM_COMMON2
+INPUT_PORTS_END
+
+
+struct AY8910interface scobra_ay8910_interface_2 =
+{
+ soundlatch_r,
+ scramble_portB_r
+};
+
+
+static MACHINE_DRIVER_START( type1 )
+
+ /* basic machine hardware */
+ MDRV_CPU_ADD_TAG("main", Z80, 18432000/6) /* 3.072 MHz */
+ MDRV_CPU_PROGRAM_MAP(type1_readmem,type1_writemem)
+
+ MDRV_SCREEN_REFRESH_RATE(16000.0/132/2)
+ MDRV_SCREEN_VBLANK_TIME(DEFAULT_60HZ_VBLANK_DURATION)
+
+ MDRV_CPU_ADD(Z80,14318000/8)
+ /* audio CPU */ /* 1.78975 MHz */
+ MDRV_CPU_PROGRAM_MAP(scobra_sound_readmem,scobra_sound_writemem)
+ MDRV_CPU_IO_MAP(scobra_sound_readport,scobra_sound_writeport)
+
+ MDRV_MACHINE_RESET(scramble)
+
+ /* video hardware */
+ MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
+ MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
+ MDRV_SCREEN_SIZE(32*8, 32*8)
+ MDRV_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
+ MDRV_GFXDECODE(scobra)
+ MDRV_PALETTE_LENGTH(32+64+2+1) /* 32 for characters, 64 for stars, 2 for bullets, 1 for background */
+
+ MDRV_PALETTE_INIT(scramble)
+ MDRV_VIDEO_START(scramble)
+ MDRV_VIDEO_UPDATE(galaxian)
+
+ /* sound hardware */
+ MDRV_SPEAKER_STANDARD_MONO("mono")
+ MDRV_SOUND_ADD(AY8910, 14318000/8)
+ MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.16)
+
+ MDRV_SOUND_ADD(AY8910, 14318000/8)
+ MDRV_SOUND_CONFIG(scobra_ay8910_interface_2)
+ MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.16)
+MACHINE_DRIVER_END
+
+
+/* same as regular type 1, the only difference that it has long bullets */
+static MACHINE_DRIVER_START( armorcar )
+
+ /* basic machine hardware */
+ MDRV_IMPORT_FROM(type1)
+
+ /* video hardware */
+ MDRV_PALETTE_LENGTH(32+64+2) /* 32 for characters, 64 for stars, 2 for bullets */
+
+ MDRV_PALETTE_INIT(galaxian)
+ MDRV_VIDEO_START(theend)
+MACHINE_DRIVER_END
+
+
+/* same as regular type 1, the only difference is that the bullets are less yellow */
+static MACHINE_DRIVER_START( moonwar )
+
+ /* basic machine hardware */
+ MDRV_IMPORT_FROM(type1)
+
+ /* video hardware */
+ MDRV_PALETTE_LENGTH(32+64+2+1) /* 32 for characters, 64 for stars, 2 for bullets, 1 for bg */
+
+ MDRV_PALETTE_INIT(moonwar)
+MACHINE_DRIVER_END
+
+
+/* Rescue, Minefield and Strategy X have extra colors, and custom video initialise */
+/* routines to set up the graduated color backgound they use */
+static MACHINE_DRIVER_START( rescue )
+
+ /* basic machine hardware */
+ MDRV_IMPORT_FROM(type1)
+
+ /* video hardware */
+ MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER) /* needs fine color resolution for the gradient background */
+ MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
+ MDRV_PALETTE_LENGTH(32+64+2+128) /* 32 for characters, 64 for stars, 2 for bullets, 128 for background */
+
+ MDRV_PALETTE_INIT(rescue)
+ MDRV_VIDEO_START(rescue)
+MACHINE_DRIVER_END
+
+
+static MACHINE_DRIVER_START( minefld )
+
+ /* basic machine hardware */
+ MDRV_IMPORT_FROM(type1)
+
+ /* video hardware */
+ MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER) /* needs fine color resolution for the gradient background */
+ MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
+ MDRV_PALETTE_LENGTH(32+64+2+256) /* 32 for characters, 64 for stars, 2 for bullets, 256 for background */
+
+ MDRV_PALETTE_INIT(minefld)
+ MDRV_VIDEO_START(minefld)
+MACHINE_DRIVER_END
+
+
+/* same as the others, but no sprite flipping, but instead the bits are used
+ as extra sprite code bits, giving 256 sprite images */
+static MACHINE_DRIVER_START( calipso )
+
+ /* basic machine hardware */
+ MDRV_IMPORT_FROM(type1)
+
+ /* video hardware */
+ MDRV_VIDEO_START(calipso)
+MACHINE_DRIVER_END
+
+
+static MACHINE_DRIVER_START( mimonkey )
+
+ /* basic machine hardware */
+ MDRV_IMPORT_FROM(type1)
+ MDRV_CPU_MODIFY("main")
+ MDRV_CPU_PROGRAM_MAP(mimonkey_readmem,mimonkey_writemem)
+
+ /* video hardware */
+ MDRV_VIDEO_START(mimonkey)
+MACHINE_DRIVER_END
+
+
+static MACHINE_DRIVER_START( type2 )
+
+ /* basic machine hardware */
+ MDRV_IMPORT_FROM(type1)
+ MDRV_CPU_MODIFY("main")
+ MDRV_CPU_PROGRAM_MAP(type2_readmem,type2_writemem)
+MACHINE_DRIVER_END
+
+
+static MACHINE_DRIVER_START( stratgyx )
+
+ /* basic machine hardware */
+ MDRV_IMPORT_FROM(type2)
+
+ /* video hardware */
+ MDRV_PALETTE_LENGTH(32+64+2+8) /* 32 for characters, 64 for stars, 2 for bullets, 8 for background */
+
+ MDRV_PALETTE_INIT(stratgyx)
+ MDRV_VIDEO_START(stratgyx)
+MACHINE_DRIVER_END
+
+
+static MACHINE_DRIVER_START( darkplnt )
+
+ /* basic machine hardware */
+ MDRV_IMPORT_FROM(type2)
+
+ /* video hardware */
+ MDRV_PALETTE_LENGTH(32+64+2) /* 32 for characters, 64 (buffer) for stars, 2 for bullets */
+
+ MDRV_PALETTE_INIT(darkplnt)
+ MDRV_VIDEO_START(darkplnt)
+MACHINE_DRIVER_END
+
+
+static MACHINE_DRIVER_START( hustler )
+
+ /* basic machine hardware */
+ MDRV_CPU_ADD_TAG("main", Z80, 18432000/6) /* 3.072 MHz */
+ MDRV_CPU_PROGRAM_MAP(hustler_readmem,hustler_writemem)
+
+ MDRV_SCREEN_REFRESH_RATE(16000.0/132/2)
+ MDRV_SCREEN_VBLANK_TIME(DEFAULT_60HZ_VBLANK_DURATION)
+
+ MDRV_CPU_ADD_TAG("sound",Z80,14318000/8)
+ /* audio CPU */ /* 1.78975 MHz */
+ MDRV_CPU_PROGRAM_MAP(hustler_sound_readmem,hustler_sound_writemem)
+ MDRV_CPU_IO_MAP(hustler_sound_readport,hustler_sound_writeport)
+
+ MDRV_MACHINE_RESET(scramble)
+
+ /* video hardware */
+ MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
+ MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
+ MDRV_SCREEN_SIZE(32*8, 32*8)
+ MDRV_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
+ MDRV_GFXDECODE(scobra)
+ MDRV_PALETTE_LENGTH(32+64+2) /* 32 for characters, 64 for stars, 2 for bullets */
+
+ MDRV_PALETTE_INIT(galaxian)
+ MDRV_VIDEO_START(scramble)
+ MDRV_VIDEO_UPDATE(galaxian)
+
+ /* sound hardware */
+ MDRV_SPEAKER_STANDARD_MONO("mono")
+ MDRV_SOUND_ADD(AY8910, 14318000/8)
+ MDRV_SOUND_CONFIG(hustler_ay8910_interface)
+ MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.33)
+MACHINE_DRIVER_END
+
+
+static MACHINE_DRIVER_START( hustlerb )
+
+ /* basic machine hardware */
+ MDRV_IMPORT_FROM(hustler)
+ MDRV_CPU_MODIFY("main")
+ MDRV_CPU_PROGRAM_MAP(hustlerb_readmem,hustlerb_writemem)
+
+ MDRV_CPU_MODIFY("sound")
+ MDRV_CPU_PROGRAM_MAP(scobra_sound_readmem,hustlerb_sound_writemem)
+ MDRV_CPU_IO_MAP(hustlerb_sound_readport,hustlerb_sound_writeport)
+MACHINE_DRIVER_END
+
+
+/* same as type1 but with a strange memory map, maybe a kind of protection */
+static MACHINE_DRIVER_START( anteatg )
+
+ /* basic machine hardware */
+ MDRV_IMPORT_FROM(type1)
+ MDRV_CPU_MODIFY("main")
+ MDRV_CPU_PROGRAM_MAP(anteatg_readmem,anteatg_writemem)
+MACHINE_DRIVER_END
+
+/* same as type1 but with a strange memory map, maybe a kind of protection */
+static MACHINE_DRIVER_START( anteatgb )
+
+ /* basic machine hardware */
+ MDRV_IMPORT_FROM(type1)
+ MDRV_CPU_MODIFY("main")
+ MDRV_CPU_PROGRAM_MAP(anteatgb_readmem,anteatgb_writemem)
+MACHINE_DRIVER_END
+
+
+/***************************************************************************
+
+ Game driver(s)
+
+***************************************************************************/
+
+ROM_START( scobra )
+ ROM_REGION( 0x10000, REGION_CPU1, 0 )
+ ROM_LOAD( "epr1265.2c", 0x0000, 0x1000, CRC(a0744b3f) SHA1(8949298a04f8ba8a82d5d84a7b012a0e7cff11df) )
+ ROM_LOAD( "2e", 0x1000, 0x1000, CRC(8e7245cd) SHA1(281504ff364c3ddbf901c92729b139afd93b9785) )
+ ROM_LOAD( "epr1267.2f", 0x2000, 0x1000, CRC(47a4e6fb) SHA1(01775ad11dc23469649539ee8fb8a5800df031c6) )
+ ROM_LOAD( "2h", 0x3000, 0x1000, CRC(7244f21c) SHA1(f5fff565ed3f6c5f277a4db53c9f569813fcec1d) )
+ ROM_LOAD( "epr1269.2j", 0x4000, 0x1000, CRC(e1f8a801) SHA1(2add8270352d6596052d3ff22c891ceccaa92071) )
+ ROM_LOAD( "2l", 0x5000, 0x1000, CRC(d52affde) SHA1(5681771ed51d504bdcc2999fcbf926a30b137828) )
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 )
+ ROM_LOAD( "5c", 0x0000, 0x0800, CRC(d4346959) SHA1(5eab4505beb69a5bdd88b23db60e1193371250cf) )
+ ROM_LOAD( "5d", 0x0800, 0x0800, CRC(cc025d95) SHA1(2b0784c4d05c466e0b7648f16e14f34393d792c3) )
+ ROM_LOAD( "5e", 0x1000, 0x0800, CRC(1628c53f) SHA1(ec79a73e4a2d7373454b227dd7eff255f1cc60cc) )
+
+ ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
+ ROM_LOAD( "epr1274.5h", 0x0000, 0x0800, CRC(64d113b4) SHA1(7b439bb74d5ecc792e0ca8964bcca8c6b7a51262) )
+ ROM_LOAD( "epr1273.5f", 0x0800, 0x0800, CRC(a96316d3) SHA1(9de0e94932e91dc34aea7c81880bde6a486d103b) )
+
+ ROM_REGION( 0x0020, REGION_PROMS, 0 )
+ ROM_LOAD( "82s123.6e", 0x0000, 0x0020, CRC(9b87f90d) SHA1(d11ac5e4a6057301ea2a9cbb404c2b978eb4c1dc) )
+ROM_END
+
+ROM_START( scobras )
+ ROM_REGION( 0x10000, REGION_CPU1, 0 )
+ ROM_LOAD( "scobra2c.bin", 0x0000, 0x1000, CRC(e15ade38) SHA1(21cf26d1781d133fa336d275d8a61d3f95d10b77) )
+ ROM_LOAD( "scobra2e.bin", 0x1000, 0x1000, CRC(a270e44d) SHA1(8b7307af458b9cd3c45bb72b35e682d6d109ed01) )
+ ROM_LOAD( "scobra2f.bin", 0x2000, 0x1000, CRC(bdd70346) SHA1(bda0dc5777233a86a3a0aceb6eded45145057ba8) )
+ ROM_LOAD( "scobra2h.bin", 0x3000, 0x1000, CRC(dca5ec31) SHA1(50073d44ccef76a3c36c73a6ed4479127f2c98ee) )
+ ROM_LOAD( "scobra2j.bin", 0x4000, 0x1000, CRC(0d8f6b6e) SHA1(0ca0096cd55cdb87d14cb7f4c7c7b853ec1661c7) )
+ ROM_LOAD( "scobra2l.bin", 0x5000, 0x1000, CRC(6f80f3a9) SHA1(817d212454c5eb16c5d7471d2ccefc4f8708d57f) )
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 )
+ ROM_LOAD( "epr1275.5c", 0x0000, 0x0800, CRC(deeb0dd3) SHA1(b815a586f05361b75078d58f1fddfdb36f9d8fae) )
+ ROM_LOAD( "epr1276.5d", 0x0800, 0x0800, CRC(872c1a74) SHA1(20f05bf398ad2690f5ba4e4158ad62aeec226413) )
+ ROM_LOAD( "epr1277.5e", 0x1000, 0x0800, CRC(ccd7a110) SHA1(5a247e360530be0f94c90fcc7d0ce628d460449f) )
+
+ ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
+ ROM_LOAD( "epr1274.5h", 0x0000, 0x0800, CRC(64d113b4) SHA1(7b439bb74d5ecc792e0ca8964bcca8c6b7a51262) )
+ ROM_LOAD( "epr1273.5f", 0x0800, 0x0800, CRC(a96316d3) SHA1(9de0e94932e91dc34aea7c81880bde6a486d103b) )
+
+ ROM_REGION( 0x0020, REGION_PROMS, 0 )
+ ROM_LOAD( "82s123.6e", 0x0000, 0x0020, CRC(9b87f90d) SHA1(d11ac5e4a6057301ea2a9cbb404c2b978eb4c1dc) )
+ROM_END
+
+ROM_START( scobrase )
+ ROM_REGION( 0x10000, REGION_CPU1, 0 )
+ ROM_LOAD( "epr1265.2c", 0x0000, 0x1000, CRC(a0744b3f) SHA1(8949298a04f8ba8a82d5d84a7b012a0e7cff11df) )
+ ROM_LOAD( "epr1266.2e", 0x1000, 0x1000, CRC(65306279) SHA1(f6e10d57c9b88e3fcd7333f76708e190a97b4faa) )
+ ROM_LOAD( "epr1267.2f", 0x2000, 0x1000, CRC(47a4e6fb) SHA1(01775ad11dc23469649539ee8fb8a5800df031c6) )
+ ROM_LOAD( "epr1268.2h", 0x3000, 0x1000, CRC(53eecaf2) SHA1(08ca34097f63af8ab69b1d836a12a8bd4d42e4a2) )
+ ROM_LOAD( "epr1269.2j", 0x4000, 0x1000, CRC(e1f8a801) SHA1(2add8270352d6596052d3ff22c891ceccaa92071) )
+ ROM_LOAD( "epr1270.2l", 0x5000, 0x1000, CRC(f7709710) SHA1(dff9ae72ba00a98d4f5acdd6d506e3d7add6b2c6) )
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 )
+ ROM_LOAD( "epr1275.5c", 0x0000, 0x0800, CRC(deeb0dd3) SHA1(b815a586f05361b75078d58f1fddfdb36f9d8fae) )
+ ROM_LOAD( "epr1276.5d", 0x0800, 0x0800, CRC(872c1a74) SHA1(20f05bf398ad2690f5ba4e4158ad62aeec226413) )
+ ROM_LOAD( "epr1277.5e", 0x1000, 0x0800, CRC(ccd7a110) SHA1(5a247e360530be0f94c90fcc7d0ce628d460449f) )
+
+ ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
+ ROM_LOAD( "epr1274.5h", 0x0000, 0x0800, CRC(64d113b4) SHA1(7b439bb74d5ecc792e0ca8964bcca8c6b7a51262) )
+ ROM_LOAD( "epr1273.5f", 0x0800, 0x0800, CRC(a96316d3) SHA1(9de0e94932e91dc34aea7c81880bde6a486d103b) )
+
+ ROM_REGION( 0x0020, REGION_PROMS, 0 )
+ ROM_LOAD( "pr1278.6e", 0x0000, 0x0020, CRC(fd35c561) SHA1(590f60beb443dd689c890c37cc100e0b936bf8c9) )
+ROM_END
+
+ROM_START( scobrab )
+ ROM_REGION( 0x10000, REGION_CPU1, 0 )
+ ROM_LOAD( "vid_2c.bin", 0x0000, 0x0800, CRC(aeddf391) SHA1(87632469e943cfe38a9676de5e8ed839a63c5da2) )
+ ROM_LOAD( "vid_2e.bin", 0x0800, 0x0800, CRC(72b57eb7) SHA1(978d0acbfccb7c1edddb073ad9417d4cbd9b7e63) )
+ ROM_LOAD( "scobra2e.bin", 0x1000, 0x1000, CRC(a270e44d) SHA1(8b7307af458b9cd3c45bb72b35e682d6d109ed01) )
+ ROM_LOAD( "scobra2f.bin", 0x2000, 0x1000, CRC(bdd70346) SHA1(bda0dc5777233a86a3a0aceb6eded45145057ba8) )
+ ROM_LOAD( "scobra2h.bin", 0x3000, 0x1000, CRC(dca5ec31) SHA1(50073d44ccef76a3c36c73a6ed4479127f2c98ee) )
+ ROM_LOAD( "scobra2j.bin", 0x4000, 0x1000, CRC(0d8f6b6e) SHA1(0ca0096cd55cdb87d14cb7f4c7c7b853ec1661c7) )
+ ROM_LOAD( "scobra2l.bin", 0x5000, 0x1000, CRC(6f80f3a9) SHA1(817d212454c5eb16c5d7471d2ccefc4f8708d57f) )
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 )
+ ROM_LOAD( "snd_5c.bin", 0x0000, 0x0800, CRC(deeb0dd3) SHA1(b815a586f05361b75078d58f1fddfdb36f9d8fae) )
+ ROM_LOAD( "snd_5d.bin", 0x0800, 0x0800, CRC(872c1a74) SHA1(20f05bf398ad2690f5ba4e4158ad62aeec226413) )
+ ROM_LOAD( "snd_5e.bin", 0x1000, 0x0800, CRC(ccd7a110) SHA1(5a247e360530be0f94c90fcc7d0ce628d460449f) )
+
+ ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
+ ROM_LOAD( "epr1274.5h", 0x0000, 0x0800, CRC(64d113b4) SHA1(7b439bb74d5ecc792e0ca8964bcca8c6b7a51262) )
+ ROM_LOAD( "epr1273.5f", 0x0800, 0x0800, CRC(a96316d3) SHA1(9de0e94932e91dc34aea7c81880bde6a486d103b) )
+
+ ROM_REGION( 0x0020, REGION_PROMS, 0 )
+ ROM_LOAD( "82s123.6e", 0x0000, 0x0020, CRC(9b87f90d) SHA1(d11ac5e4a6057301ea2a9cbb404c2b978eb4c1dc) )
+ROM_END
+
+ROM_START( stratgyx )
+ ROM_REGION( 0x10000, REGION_CPU1, 0 )
+ ROM_LOAD( "2c_1.bin", 0x0000, 0x1000, CRC(eec01237) SHA1(619aaf6379064395a1166575f207d61c90731bb9) )
+ ROM_LOAD( "2e_2.bin", 0x1000, 0x1000, CRC(926cb2d5) SHA1(241e7b0f0d7e20a79299696be28963fd01269e86) )
+ ROM_LOAD( "2f_3.bin", 0x2000, 0x1000, CRC(849e2504) SHA1(0ec00a5c77e9d81d69f8b847a50f36af2dacc8d0) )
+ ROM_LOAD( "2h_4.bin", 0x3000, 0x1000, CRC(8a64069b) SHA1(ccc0e0441360e3ed93f2a0dab70c3a66edad969f) )
+ ROM_LOAD( "2j_5.bin", 0x4000, 0x1000, CRC(78b9b898) SHA1(158e11352d68ed9e4277efbcb7e927e9bdc662f8) )
+ ROM_LOAD( "2l_6.bin", 0x5000, 0x1000, CRC(20bae414) SHA1(cd3c03d3b6a3abb64cb86cffa733d5494cb226f7) )
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* 64k for sound code */
+ ROM_LOAD( "s1.bin", 0x0000, 0x1000, CRC(713a5db8) SHA1(8ec41cb93cfd856dc5aecace6238240a5d114ce1) )
+ ROM_LOAD( "s2.bin", 0x1000, 0x1000, CRC(46079411) SHA1(72bfc39979818309ac5a49654a825f9e4bd0236c) )
+
+ ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
+ ROM_LOAD( "5f_c2.bin", 0x0000, 0x0800, CRC(7121b679) SHA1(bf76c5b777d1f1468b31524bfe250a1bc4911b09) )
+ ROM_LOAD( "5h_c1.bin", 0x0800, 0x0800, CRC(d105ad91) SHA1(fd30d001764cf37ae52bab010db27acdc35fece6) )
+
+ ROM_REGION( 0x0020, REGION_PROMS, 0 )
+ ROM_LOAD( "strategy.6e", 0x0000, 0x0020, CRC(51a629e1) SHA1(f9826202c91a4a3deb8d815cbaa107b29dce5835) )
+
+ ROM_REGION( 0x0020, REGION_USER1, 0 )
+ ROM_LOAD( "strategy.10k", 0x0000, 0x0020, CRC(d95c0318) SHA1(83e5355fdca7b4e1fb5a0e6eeaacfbf9561e2c36) ) /* background color map */
+ROM_END
+
+ROM_START( stratgys )
+ ROM_REGION( 0x10000, REGION_CPU1, 0 )
+ ROM_LOAD( "2c.cpu", 0x0000, 0x1000, CRC(f2aaaf2b) SHA1(1aa5d0696961bcd43a4659db0a53f443cd3d3985) )
+ ROM_LOAD( "2e.cpu", 0x1000, 0x1000, CRC(5873fdc8) SHA1(9707c6f140cd7d51f8bd1e53f3c138491aa302d1) )
+ ROM_LOAD( "2f.cpu", 0x2000, 0x1000, CRC(532d604f) SHA1(eaf314d98005caacde8d2ea6240043ebe10650a5) )
+ ROM_LOAD( "2h.cpu", 0x3000, 0x1000, CRC(82b1d95e) SHA1(dc5e79e159990e76353dea7b54e52fadfc9f59ab) )
+ ROM_LOAD( "2j.cpu", 0x4000, 0x1000, CRC(66e84cde) SHA1(c1e6b9fe0052fe1f521c943a69d60f65fa392147) )
+ ROM_LOAD( "2l.cpu", 0x5000, 0x1000, CRC(62b032d0) SHA1(592866f801839550e60a515978a2d97dd414c87a) )
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* 64k for sound code */
+ ROM_LOAD( "s1.bin", 0x0000, 0x1000, CRC(713a5db8) SHA1(8ec41cb93cfd856dc5aecace6238240a5d114ce1) )
+ ROM_LOAD( "s2.bin", 0x1000, 0x1000, CRC(46079411) SHA1(72bfc39979818309ac5a49654a825f9e4bd0236c) )
+
+ ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
+ ROM_LOAD( "5f.cpu", 0x0000, 0x0800, CRC(f4aa5ddd) SHA1(2be9c8d8b94c599d4ff12864cbbddd7301be9fb2) )
+ ROM_LOAD( "5h.cpu", 0x0800, 0x0800, CRC(548e4635) SHA1(fb8d4d498a98b9d19504f1b6c86dfa0110dcc5a7) )
+
+ ROM_REGION( 0x0020, REGION_PROMS, 0 )
+ ROM_LOAD( "strategy.6e", 0x0000, 0x0020, CRC(51a629e1) SHA1(f9826202c91a4a3deb8d815cbaa107b29dce5835) )
+
+ ROM_REGION( 0x0020, REGION_USER1, 0 )
+ ROM_LOAD( "strategy.10k", 0x0000, 0x0020, CRC(d95c0318) SHA1(83e5355fdca7b4e1fb5a0e6eeaacfbf9561e2c36) )
+ROM_END
+
+ROM_START( armorcar )
+ ROM_REGION( 0x10000, REGION_CPU1, 0 )
+ ROM_LOAD( "cpu.2c", 0x0000, 0x1000, CRC(0d7bfdfb) SHA1(47791d4fc298c25d29584dfcddcd92618e3750c5) )
+ ROM_LOAD( "cpu.2e", 0x1000, 0x1000, CRC(76463213) SHA1(86dbbed25325cc8855c1eb39bbb11b0473b7f4b5) )
+ ROM_LOAD( "cpu.2f", 0x2000, 0x1000, CRC(2cc6d5f0) SHA1(94abb33760aed206f0f90f035fe2977c1f2e26cf) )
+ ROM_LOAD( "cpu.2h", 0x3000, 0x1000, CRC(61278dbb) SHA1(e12cd6c499af75f77e549499093fe6d2e8eddb1d) )
+ ROM_LOAD( "cpu.2j", 0x4000, 0x1000, CRC(fb158d8c) SHA1(efa70e92c56678d4a404a96c72cfee317b15648c) )
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 )
+ ROM_LOAD( "sound.5c", 0x0000, 0x0800, CRC(54ee7753) SHA1(3ebfa2cadf33acb4d24aa50cfa4713355cc780a3) )
+ ROM_LOAD( "sound.5d", 0x0800, 0x0800, CRC(5218fec0) SHA1(c8f84f1e6aafc544e5acf48b245e8b1edb63211e) )
+
+ ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
+ ROM_LOAD( "cpu.5f", 0x0000, 0x0800, CRC(8a3da4d1) SHA1(4d2ef48aeb9099fdd145e11e2485e0bf8d87290d) )
+ ROM_LOAD( "cpu.5h", 0x0800, 0x0800, CRC(85bdb113) SHA1(f62da0ea0c29feb10d8d1ce8de28fd750a53b40a) )
+
+ ROM_REGION( 0x0020, REGION_PROMS, 0 )
+ ROM_LOAD( "82s123.6e", 0x0000, 0x0020, CRC(9b87f90d) SHA1(d11ac5e4a6057301ea2a9cbb404c2b978eb4c1dc) )
+ROM_END
+
+ROM_START( armorca2 )
+ ROM_REGION( 0x10000, REGION_CPU1, 0 )
+ ROM_LOAD( "2c", 0x0000, 0x1000, CRC(e393bd2f) SHA1(6a5079d1f5d724e5f643cbc5352fc43d0b652e05) )
+ ROM_LOAD( "2e", 0x1000, 0x1000, CRC(b7d443af) SHA1(1ce41e11a7fcfd039fbff03c4382ae29b601ed50) )
+ ROM_LOAD( "2g", 0x2000, 0x1000, CRC(e67380a4) SHA1(a9a87e769d1ef223ae26241e9211c97b3d469656) )
+ ROM_LOAD( "2h", 0x3000, 0x1000, CRC(72af7b37) SHA1(c9cd0a0a3e34fc7b12822f75eb511f0850703f55) )
+ ROM_LOAD( "2j", 0x4000, 0x1000, CRC(e6b0dd7f) SHA1(98292fea03bff028ba924a49f0bfa49377018860) )
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 )
+ ROM_LOAD( "sound.5c", 0x0000, 0x0800, CRC(54ee7753) SHA1(3ebfa2cadf33acb4d24aa50cfa4713355cc780a3) )
+ ROM_LOAD( "sound.5d", 0x0800, 0x0800, CRC(5218fec0) SHA1(c8f84f1e6aafc544e5acf48b245e8b1edb63211e) )
+
+ ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
+ ROM_LOAD( "cpu.5f", 0x0000, 0x0800, CRC(8a3da4d1) SHA1(4d2ef48aeb9099fdd145e11e2485e0bf8d87290d) )
+ ROM_LOAD( "cpu.5h", 0x0800, 0x0800, CRC(85bdb113) SHA1(f62da0ea0c29feb10d8d1ce8de28fd750a53b40a) )
+
+ ROM_REGION( 0x0020, REGION_PROMS, 0 )
+ ROM_LOAD( "82s123.6e", 0x0000, 0x0020, CRC(9b87f90d) SHA1(d11ac5e4a6057301ea2a9cbb404c2b978eb4c1dc) )
+ROM_END
+
+ROM_START( moonwar )
+ ROM_REGION( 0x10000, REGION_CPU1, 0 )
+ ROM_LOAD( "mw2.2c", 0x0000, 0x1000, CRC(7c11b4d9) SHA1(a27bdff6ce728647ec811df843ac235c32c293d6) )
+ ROM_LOAD( "mw2.2e", 0x1000, 0x1000, CRC(1b6362be) SHA1(2fbd95869146adcc0c8be1df653251fda8849e8e) )
+ ROM_LOAD( "mw2.2f", 0x2000, 0x1000, CRC(4fd8ba4b) SHA1(3da784267a96d05f66b00626a22cb3f06211d202) )
+ ROM_LOAD( "mw2.2h", 0x3000, 0x1000, CRC(56879f0d) SHA1(d1e9932863aebc5761e71fca8d24f3c400e1250d) )
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 )
+ ROM_LOAD( "mw2.5c", 0x0000, 0x0800, CRC(c26231eb) SHA1(5b19edfaefe1a535059311d067ea53405879d627) )
+ ROM_LOAD( "mw2.5d", 0x0800, 0x0800, CRC(bb48a646) SHA1(cf51202d16b03bbed12ff24501be68683f28c992) )
+
+ ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
+ ROM_LOAD( "mw2.5f", 0x0000, 0x0800, CRC(c5fa1aa0) SHA1(6c6b5b2ce5de278ff436d3e7252ece5b086cc41d) )
+ ROM_LOAD( "mw2.5h", 0x0800, 0x0800, CRC(a6ccc652) SHA1(286b3dc1f3a7da3ac66664e774b441ef075745f1) )
+
+ ROM_REGION( 0x0020, REGION_PROMS, 0 )
+ ROM_LOAD( "mw2.clr", 0x0000, 0x0020, CRC(99614c6c) SHA1(f068985f3c5e0cd88551a02c32f9baeabfd50241) )
+ROM_END
+
+ROM_START( moonwara )
+ ROM_REGION( 0x10000, REGION_CPU1, 0 )
+ ROM_LOAD( "2c", 0x0000, 0x1000, CRC(bc20b734) SHA1(c6fe550987d0052979aad43c67aa1b9248049669) )
+ ROM_LOAD( "2e", 0x1000, 0x1000, CRC(db6ffec2) SHA1(0fcd55b1e415e2e7041d10778052a235251f85fe) )
+ ROM_LOAD( "2f", 0x2000, 0x1000, CRC(378931b8) SHA1(663f1eea9b0e8dc38de818df66c5211dac41c33b) )
+ ROM_LOAD( "2h", 0x3000, 0x1000, CRC(031dbc2c) SHA1(5f2ca8b8763398bf161ee0c2c748a12d36cb40ec) )
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 )
+ ROM_LOAD( "mw2.5c", 0x0000, 0x0800, CRC(c26231eb) SHA1(5b19edfaefe1a535059311d067ea53405879d627) )
+ ROM_LOAD( "mw2.5d", 0x0800, 0x0800, CRC(bb48a646) SHA1(cf51202d16b03bbed12ff24501be68683f28c992) )
+
+ ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
+ ROM_LOAD( "mw2.5f", 0x0000, 0x0800, CRC(c5fa1aa0) SHA1(6c6b5b2ce5de278ff436d3e7252ece5b086cc41d) )
+ ROM_LOAD( "mw2.5h", 0x0800, 0x0800, CRC(a6ccc652) SHA1(286b3dc1f3a7da3ac66664e774b441ef075745f1) )
+
+ ROM_REGION( 0x0020, REGION_PROMS, 0 )
+ ROM_LOAD( "moonwara.clr", 0x0000, 0x0020, CRC(f58d4f58) SHA1(12a80d1edf3c80dafa0e1e3622d2a03224b62f14) ) /* olive, instead of white */
+ROM_END
+
+ROM_START( spdcoin )
+ ROM_REGION( 0x10000, REGION_CPU1, 0 )
+ ROM_LOAD( "spdcoin.2c", 0x0000, 0x1000, CRC(65cf1e49) SHA1(a4570f0d7868fcdd378de3fd9e5346780afcf427) )
+ ROM_LOAD( "spdcoin.2e", 0x1000, 0x1000, CRC(1ee59232) SHA1(b58c1de69d33cf80432012b9b6d8b1e3d8b00662) )
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 )
+ ROM_LOAD( "spdcoin.5c", 0x0000, 0x0800, CRC(b4cf64b7) SHA1(a95d94be2e374b78b4ba49b6931f0c214ff9d033) )
+ ROM_LOAD( "spdcoin.5d", 0x0800, 0x0800, CRC(92304df0) SHA1(01471bf7cbea0090933a253b1b46f80c8f240df5) )
+
+ ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
+ ROM_LOAD( "spdcoin.5f", 0x0000, 0x0800, CRC(dd5f1dbc) SHA1(e7c40972a7530cac19ce04de3272244959d337ab) )
+ ROM_LOAD( "spdcoin.5h", 0x0800, 0x0800, CRC(ab1fe81b) SHA1(98057932cb5faad60d425b547590ab22bfc67ff6) )
+
+ ROM_REGION( 0x0020, REGION_PROMS, 0 )
+ ROM_LOAD( "spdcoin.clr", 0x0000, 0x0020, CRC(1a2ccc56) SHA1(58bedaa8b3e21e916295603b38529084b6c0099a) )
+ROM_END
+
+ROM_START( darkplnt )
+ ROM_REGION( 0x10000, REGION_CPU1, 0 )
+ ROM_LOAD( "drkplt2c.dat", 0x0000, 0x1000, CRC(5a0ca559) SHA1(cf77bda30bb08633d274c22734a8f186520ddf7d) )
+ ROM_LOAD( "drkplt2e.dat", 0x1000, 0x1000, CRC(52e2117d) SHA1(774e8ee84316135313c4b66c51d21c1661f345b3) )
+ ROM_LOAD( "drkplt2g.dat", 0x2000, 0x1000, CRC(4093219c) SHA1(cc92ec4ec8661993173daedfa521252a6e34073d) )
+ ROM_LOAD( "drkplt2j.dat", 0x3000, 0x1000, CRC(b974c78d) SHA1(af4c1b21ca8651bfc343a24a106db4c82f0052e7) )
+ ROM_LOAD( "drkplt2k.dat", 0x4000, 0x1000, CRC(71a37385) SHA1(a6a358b2f7daa2eaa5bdf96aa903619376473b20) )
+ ROM_LOAD( "drkplt2l.dat", 0x5000, 0x1000, CRC(5ad25154) SHA1(20b1347ed5fca108303132d28ae73fc4d71b4e5a) )
+ ROM_LOAD( "drkplt2m.dat", 0x6000, 0x1000, CRC(8d2f0122) SHA1(59280abca22fd3d7af53aebf56a9e37eeb7cb11c) )
+ ROM_LOAD( "drkplt2p.dat", 0x7000, 0x1000, CRC(2d66253b) SHA1(445c00a74551732fd02df2d5879688f9984931b5) )
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 )
+ ROM_LOAD( "5c.snd", 0x0000, 0x1000, CRC(672b9454) SHA1(2b2ec06d62ff5f19a1c802152c798940631fb1d6) )
+
+ ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
+ ROM_LOAD( "drkplt5f.dat", 0x0000, 0x0800, CRC(2af0ee66) SHA1(a4f32c256c393a18afde5e3f3c67d7df1223999a) )
+ ROM_LOAD( "drkplt5h.dat", 0x0800, 0x0800, CRC(66ef3225) SHA1(87f36a853c4a8ae40d1e3f0482b6e31c86f834f3) )
+
+ ROM_REGION( 0x0020, REGION_PROMS, 0 )
+ ROM_LOAD( "6e.cpu", 0x0000, 0x0020, CRC(86b6e124) SHA1(76cc422aeb53a4970f91bd5eb00a3e24a76c09d1) )
+ROM_END
+
+ROM_START( tazmania )
+ ROM_REGION( 0x10000, REGION_CPU1, 0 )
+ ROM_LOAD( "2c.cpu", 0x0000, 0x1000, CRC(932c5a06) SHA1(f90040a12f579a05cb91eacbe49dae9b2c725592) )
+ ROM_LOAD( "2e.cpu", 0x1000, 0x1000, CRC(ef17ce65) SHA1(e1372886a4a2ae58278772f49b4f3be35e0b65d1) )
+ ROM_LOAD( "2f.cpu", 0x2000, 0x1000, CRC(43c7c39d) SHA1(3cfe97009e3c9236b118fa1beadc50f41584bd7e) )
+ ROM_LOAD( "2h.cpu", 0x3000, 0x1000, CRC(be829694) SHA1(3885c95ae1704e7a472139740b87fc8dd9610e07) )
+ ROM_LOAD( "2j.cpu", 0x4000, 0x1000, CRC(6e197271) SHA1(231141a95e4dcb54d8bbee346825702e52824c42) )
+ ROM_LOAD( "2k.cpu", 0x5000, 0x1000, CRC(a1eb453b) SHA1(50ddfd1dd8cc8c2cde97e52d4ef90e6d10e27a53) )
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 )
+ ROM_LOAD( "rom0.snd", 0x0000, 0x0800, CRC(b8d741f1) SHA1(a1bb8a1e0d6b34111f05c539c8e92fffacf5aa5c) )
+
+ ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
+ ROM_LOAD( "5f.cpu", 0x0000, 0x0800, CRC(2c5b612b) SHA1(32e3a41a9a4a8b1285b6a195213ff0d98012360a) )
+ ROM_LOAD( "5h.cpu", 0x0800, 0x0800, CRC(3f5ff3ac) SHA1(bc70eef54a45b52c14e35464e5f06b5eec554eb6) )
+
+ ROM_REGION( 0x0020, REGION_PROMS, 0 )
+ ROM_LOAD( "colr6f.cpu", 0x0000, 0x0020, CRC(fce333c7) SHA1(f63a214dc47c5e7c80db000b0b6a261ca8da6629) )
+ROM_END
+
+ROM_START( tazmani2 )
+ ROM_REGION( 0x10000, REGION_CPU1, 0 )
+ ROM_LOAD( "2ck.cpu", 0x0000, 0x1000, CRC(bf0492bf) SHA1(e665be8b36eb00388daca1bc3a4e4b93b943e2bd) )
+ ROM_LOAD( "2ek.cpu", 0x1000, 0x1000, CRC(6636c4d0) SHA1(a0470950111fd9ef3ec71ee9f4b337276db35887) )
+ ROM_LOAD( "2fk.cpu", 0x2000, 0x1000, CRC(ce59a57b) SHA1(1ee9a1535f9e06b08db3133a29cc700d1b487e82) )
+ ROM_LOAD( "2hk.cpu", 0x3000, 0x1000, CRC(8bda3380) SHA1(eb31dd180da5cb8f8dcdaa777a27ed5514cf38cf) )
+ ROM_LOAD( "2jk.cpu", 0x4000, 0x1000, CRC(a4095e35) SHA1(5ccab4cb9c44870852b22511daeda10d54b60822) )
+ ROM_LOAD( "2kk.cpu", 0x5000, 0x1000, CRC(f308ca36) SHA1(af360c4ba88b3a3365a2d81575886fcec25f19bf) )
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 )
+ ROM_LOAD( "rom0.snd", 0x0000, 0x0800, CRC(b8d741f1) SHA1(a1bb8a1e0d6b34111f05c539c8e92fffacf5aa5c) )
+
+ ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
+ ROM_LOAD( "5f.cpu", 0x0000, 0x0800, CRC(2c5b612b) SHA1(32e3a41a9a4a8b1285b6a195213ff0d98012360a) )
+ ROM_LOAD( "5h.cpu", 0x0800, 0x0800, CRC(3f5ff3ac) SHA1(bc70eef54a45b52c14e35464e5f06b5eec554eb6) )
+
+ ROM_REGION( 0x0020, REGION_PROMS, 0 )
+ ROM_LOAD( "colr6f.cpu", 0x0000, 0x0020, CRC(fce333c7) SHA1(f63a214dc47c5e7c80db000b0b6a261ca8da6629) )
+ROM_END
+
+ROM_START( calipso )
+ ROM_REGION( 0x10000, REGION_CPU1, 0 )
+ ROM_LOAD( "calipso.2c", 0x0000, 0x1000, CRC(0fcb703c) SHA1(2bb096f114911973afdf3088c860c9566df06f60) )
+ ROM_LOAD( "calipso.2e", 0x1000, 0x1000, CRC(c6622f14) SHA1(475164aed703a97275ff285ecaec9d8fd4fe723b) )
+ ROM_LOAD( "calipso.2f", 0x2000, 0x1000, CRC(7bacbaba) SHA1(d321d6d09c689123eb1e5d758d95ccecec225252) )
+ ROM_LOAD( "calipso.2h", 0x3000, 0x1000, CRC(a3a8111b) SHA1(3d9500c676563ebfc27aebb07716e6a966f00c35) )
+ ROM_LOAD( "calipso.2j", 0x4000, 0x1000, CRC(fcbd7b9e) SHA1(5cc1edcc8b9867bb7849c8d97d1096bb6464f562) )
+ ROM_LOAD( "calipso.2l", 0x5000, 0x1000, CRC(f7630cab) SHA1(482ee91cccd8a7c5768a1d6a9772d797769fe2dc) )
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* 64k for sound code */
+ ROM_LOAD( "calipso.5c", 0x0000, 0x0800, CRC(9cbc65ab) SHA1(b4ce04d18f9536c0ddd2f9c15edda75570e750e5) )
+ ROM_LOAD( "calipso.5d", 0x0800, 0x0800, CRC(a225ee3b) SHA1(dba111f89851c69fb6fce16219cb2b0cb3294c15) )
+
+ ROM_REGION( 0x4000, REGION_GFX1, ROMREGION_DISPOSE )
+ ROM_LOAD( "calipso.5f", 0x0000, 0x2000, CRC(fd4252e9) SHA1(881b988cdc9b7913f577573f8a15af7a7c7cc67f) )
+ ROM_LOAD( "calipso.5h", 0x2000, 0x2000, CRC(1663a73a) SHA1(95b6ed25b656afdfb70fac35efa2e005185e4343) )
+
+ ROM_REGION( 0x0020, REGION_PROMS, 0 )
+ ROM_LOAD( "calipso.clr", 0x0000, 0x0020, CRC(01165832) SHA1(bfef0459492dbd5febf3030916b6438eb6be71de) )
+ROM_END
+
+ROM_START( anteater )
+ ROM_REGION( 0x10000, REGION_CPU1, 0 )
+ ROM_LOAD( "ra1-2c", 0x0000, 0x1000, CRC(58bc9393) SHA1(7122782a69ef0d2196ec16833f229b6286802668) )
+ ROM_LOAD( "ra1-2e", 0x1000, 0x1000, CRC(574fc6f6) SHA1(a1a213d215fe8502edf22383c3a6fb7c9b279d94) )
+ ROM_LOAD( "ra1-2f", 0x2000, 0x1000, CRC(2f7c1fe5) SHA1(4cea7e66a85766a9cf9846bb5bc1ca4e6ee1f4e2) )
+ ROM_LOAD( "ra1-2h", 0x3000, 0x1000, CRC(ae8a5da3) SHA1(1893d8293b25431d080b89f5b0874440d14e8d17) )
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 )
+ ROM_LOAD( "ra4-5c", 0x0000, 0x0800, CRC(87300b4f) SHA1(b81b685ac1d353ff1cd40b876a7478b87b85e7a9) )
+ ROM_LOAD( "ra4-5d", 0x0800, 0x0800, CRC(af4e5ffe) SHA1(62717a233cf9f58267af4a9e1c80479b373ab317) )
+
+ ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
+ ROM_LOAD( "ra6-5f", 0x0000, 0x0800, CRC(4c3f8a08) SHA1(3152eef64903be1a82f09764821a3654f316197d) )
+ ROM_LOAD( "ra6-5h", 0x0800, 0x0800, CRC(b30c7c9f) SHA1(d4ae040d1fd7e5a5d08c2f6968735c551119c207) )
+
+ ROM_REGION( 0x0020, REGION_PROMS, 0 )
+ ROM_LOAD( "colr6f.cpu", 0x0000, 0x0020, CRC(fce333c7) SHA1(f63a214dc47c5e7c80db000b0b6a261ca8da6629) )
+ROM_END
+
+ROM_START( anteatg )
+ ROM_REGION( 0x10000, REGION_CPU1, 0 )
+ ROM_LOAD( "prg_2.bin", 0x0000, 0x0400, CRC(2ba793a8) SHA1(a97c96dcd55804d3b41856ece6477ec1c1e45892) )
+ ROM_CONTINUE( 0x4600, 0x0a00 )
+ ROM_CONTINUE( 0x6400, 0x1200 )
+ ROM_LOAD( "prg_1.bin", 0x7600, 0x0500, CRC(7a798af5) SHA1(b4c8672c92b207a7a334dd3b78e57537b7d99b71) )
+ ROM_CONTINUE( 0x8300, 0x1600 )
+ ROM_CONTINUE( 0xa300, 0x0500 )
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 )
+ ROM_LOAD( "ra4-5c", 0x0000, 0x0800, CRC(87300b4f) SHA1(b81b685ac1d353ff1cd40b876a7478b87b85e7a9) )
+ ROM_LOAD( "ra4-5d", 0x0800, 0x0800, CRC(af4e5ffe) SHA1(62717a233cf9f58267af4a9e1c80479b373ab317) )
+
+ ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
+ ROM_LOAD( "gfx_1.bin", 0x0000, 0x0800, CRC(1e2824b1) SHA1(9527937db618505181f4d5a22bc532977a767232) )
+ ROM_LOAD( "gfx_2.bin", 0x0800, 0x0800, CRC(784319b3) SHA1(0c3612a428d0906b07b35782cc0f84fda13aab73) )
+
+ ROM_REGION( 0x0020, REGION_PROMS, 0 )
+ ROM_LOAD( "colr6f.cpu", 0x0000, 0x0020, CRC(fce333c7) SHA1(f63a214dc47c5e7c80db000b0b6a261ca8da6629) )
+ROM_END
+
+ROM_START( anteatgb )
+ ROM_REGION( 0x10000, REGION_CPU1, 0 )
+ ROM_LOAD( "ant1.bin", 0x0000, 0x0400, CRC(69debc90) SHA1(2ad4c86a1cbaf86d0b76bb07b885f61bc6604009) )
+ ROM_CONTINUE( 0x4600, 0x0a00 )
+ ROM_CONTINUE( 0x6400, 0x1200 )
+ ROM_LOAD( "ant2.bin", 0x7600, 0x0500, CRC(ab352805) SHA1(858928f2b57c324a7942c13e0e6a7717a36f6ffc) )
+ ROM_CONTINUE( 0x8300, 0x1600 )
+ ROM_CONTINUE( 0xa300, 0x0500 )
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 )
+ ROM_LOAD( "ra4-5c", 0x0000, 0x0800, CRC(87300b4f) SHA1(b81b685ac1d353ff1cd40b876a7478b87b85e7a9) )
+ ROM_LOAD( "ra4-5d", 0x0800, 0x0800, CRC(af4e5ffe) SHA1(62717a233cf9f58267af4a9e1c80479b373ab317) )
+
+ ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
+ ROM_LOAD( "gfx_1.bin", 0x0000, 0x0800, CRC(1e2824b1) SHA1(9527937db618505181f4d5a22bc532977a767232) )
+ ROM_LOAD( "gfx_2.bin", 0x0800, 0x0800, CRC(784319b3) SHA1(0c3612a428d0906b07b35782cc0f84fda13aab73) )
+
+ ROM_REGION( 0x0020, REGION_PROMS, 0 )
+ ROM_LOAD( "colr6f.cpu", 0x0000, 0x0020, CRC(fce333c7) SHA1(f63a214dc47c5e7c80db000b0b6a261ca8da6629) )
+ROM_END
+
+ROM_START( rescue )
+ ROM_REGION( 0x10000, REGION_CPU1, 0 )
+ ROM_LOAD( "rb15acpu.bin", 0x0000, 0x1000, CRC(d7e654ba) SHA1(6bcf7a6d86bc2de9a304f0aa9542fdcb58ca73dd) )
+ ROM_LOAD( "rb15bcpu.bin", 0x1000, 0x1000, CRC(a93ea158) SHA1(c5550881d2a44f82eeb56d90487137d959c8c6ae) )
+ ROM_LOAD( "rb15ccpu.bin", 0x2000, 0x1000, CRC(058cd3d0) SHA1(3f8962be982952adab23c1884cd3a9be5ddd4108) )
+ ROM_LOAD( "rb15dcpu.bin", 0x3000, 0x1000, CRC(d6505742) SHA1(804df84ea507bf41e9376a7ce63a278c3701f0cd) )
+ ROM_LOAD( "rb15ecpu.bin", 0x4000, 0x1000, CRC(604df3a4) SHA1(15790fa442538632f232280c096ac788d9bf8117) )
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 )
+ ROM_LOAD( "rb15csnd.bin", 0x0000, 0x0800, CRC(8b24bf17) SHA1(cc49fef3c629c12f1a7eb9886fdc2df4b08f4b37) )
+ ROM_LOAD( "rb15dsnd.bin", 0x0800, 0x0800, CRC(d96e4fb3) SHA1(8bb023c7c668f93d2333d648fc3cefdbd66f92db) )
+
+ ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
+ ROM_LOAD( "rb15fcpu.bin", 0x0000, 0x0800, CRC(4489d20c) SHA1(c7a2afbd2e5645a1a25dec6147d61a38ba12380f) )
+ ROM_LOAD( "rb15hcpu.bin", 0x0800, 0x0800, CRC(5512c547) SHA1(e0f1c994daaa8933230cbc4bb88d459a698e0d8e) )
+
+ ROM_REGION( 0x0020, REGION_PROMS, 0 )
+ ROM_LOAD( "rescue.clr", 0x0000, 0x0020, CRC(40c6bcbd) SHA1(cb0c058eadc37eba4b1a99be095da81a14099d8d) )
+ROM_END
+
+ROM_START( aponow )
+ ROM_REGION( 0x10000, REGION_CPU1, 0 )
+ ROM_LOAD( "aponow01.rom", 0x0000, 0x1000, CRC(33011579) SHA1(62bd821f6e0968a5ed9cbab26a8bff31e707f07a) )
+ ROM_LOAD( "aponow02.rom", 0x1000, 0x1000, CRC(d477573e) SHA1(e5deb62f2763ff81e9ca24df67b0539cca8ba714) )
+ ROM_LOAD( "aponow03.rom", 0x2000, 0x1000, CRC(46c41898) SHA1(c501f1d75762cfeda68e178e70cdf7eb423005fe) )
+ ROM_LOAD( "rb15dcpu.bin", 0x3000, 0x1000, CRC(d6505742) SHA1(804df84ea507bf41e9376a7ce63a278c3701f0cd) ) // aponow04.rom
+ ROM_LOAD( "rb15ecpu.bin", 0x4000, 0x1000, CRC(604df3a4) SHA1(15790fa442538632f232280c096ac788d9bf8117) ) // aponow05.rom
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 )
+ ROM_LOAD( "rb15csnd.bin", 0x0000, 0x0800, CRC(8b24bf17) SHA1(cc49fef3c629c12f1a7eb9886fdc2df4b08f4b37) )
+ ROM_LOAD( "rb15dsnd.bin", 0x0800, 0x0800, CRC(d96e4fb3) SHA1(8bb023c7c668f93d2333d648fc3cefdbd66f92db) )
+
+ ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
+ ROM_LOAD( "rb15fcpu.bin", 0x0000, 0x0800, CRC(4489d20c) SHA1(c7a2afbd2e5645a1a25dec6147d61a38ba12380f) )
+ ROM_LOAD( "rb15hcpu.bin", 0x0800, 0x0800, CRC(5512c547) SHA1(e0f1c994daaa8933230cbc4bb88d459a698e0d8e) )
+
+ ROM_REGION( 0x0020, REGION_PROMS, 0 )
+ ROM_LOAD( "rescue.clr", 0x0000, 0x0020, CRC(40c6bcbd) SHA1(cb0c058eadc37eba4b1a99be095da81a14099d8d) )
+ROM_END
+
+ROM_START( minefld )
+ ROM_REGION( 0x10000, REGION_CPU1, 0 )
+ ROM_LOAD( "ma22c", 0x0000, 0x1000, CRC(1367a035) SHA1(25e415743a4cbe573a00b81155f6292592e32cdd) )
+ ROM_LOAD( "ma22e", 0x1000, 0x1000, CRC(68946d21) SHA1(62f4501c6d2e8615b1f176e6cea9a75c912de23e) )
+ ROM_LOAD( "ma22f", 0x2000, 0x1000, CRC(7663aee5) SHA1(eacb2283e0555176629a96e9b607f0477927d84c) )
+ ROM_LOAD( "ma22h", 0x3000, 0x1000, CRC(9787475d) SHA1(161c6f35cc2ce2a88bcc2e9626ccfe1f5e099f28) )
+ ROM_LOAD( "ma22j", 0x4000, 0x1000, CRC(2ceceb54) SHA1(c7385ce876582515f6b9a529e0101032056e14e7) )
+ ROM_LOAD( "ma22l", 0x5000, 0x1000, CRC(85138fc9) SHA1(b3f2e483150583d2b4daf6a8a308a7f47a0e4f1b) )
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 )
+ ROM_LOAD( "ma15c", 0x0000, 0x0800, CRC(8bef736b) SHA1(c5c7ce9c40e6fe60a4914b6bbd646ba6853c9043) )
+ ROM_LOAD( "ma15d", 0x0800, 0x0800, CRC(f67b3f97) SHA1(bb15f95eab6594508b5c02af60ed9fff3abd23ee) )
+
+ ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
+ ROM_LOAD( "ma15f", 0x0000, 0x0800, CRC(9f703006) SHA1(95c1368b6a3e0cea6fa9406155d3b8d1eb9477f4) )
+ ROM_LOAD( "ma15h", 0x0800, 0x0800, CRC(ed0dccb1) SHA1(f1554aa5a4d3a70936645e784a94305f642670df) )
+
+ ROM_REGION( 0x0020, REGION_PROMS, 0 )
+ ROM_LOAD( "minefld.clr", 0x0000, 0x0020, CRC(1877368e) SHA1(5850e03debe572f72abd91c756c0f8613018a962) )
+ROM_END
+
+ROM_START( losttomb )
+ ROM_REGION( 0x10000, REGION_CPU1, 0 )
+ ROM_LOAD( "2c", 0x0000, 0x1000, CRC(d6176d2c) SHA1(bc2bf63ee8d3e376f155d218704ceb5adcdf8e54) )
+ ROM_LOAD( "2e", 0x1000, 0x1000, CRC(a5f55f4a) SHA1(3609fc2b15b6856e81738bbd370250735dba694d) )
+ ROM_LOAD( "2f", 0x2000, 0x1000, CRC(0169fa3c) SHA1(2c06b1deca6c80d067032bfc2386da6ab0111e5f) )
+ ROM_LOAD( "2h-easy", 0x3000, 0x1000, CRC(054481b6) SHA1(b0f5d19af0336883e4d9813e58a75c176a63a987) )
+ ROM_LOAD( "2j", 0x4000, 0x1000, CRC(249ee040) SHA1(7297039e95e67220fa3e75fc50635f4df4c46a86) )
+ ROM_LOAD( "2l", 0x5000, 0x1000, CRC(c7d2e608) SHA1(8aabecabd1dcd6833fb581e4571d71a680e6563a) )
+ ROM_LOAD( "2m", 0x6000, 0x1000, CRC(bc4bc5b1) SHA1(95ffa72e57d1da10ddeda4d9333c9e0a2fb33e82) )
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 )
+ ROM_LOAD( "5c", 0x0000, 0x0800, CRC(b899be2a) SHA1(9b343a682531255104db61177a43ad933c3af34e) )
+ ROM_LOAD( "5d", 0x0800, 0x0800, CRC(6907af31) SHA1(8496c8db5342129d81381eec196facbca45bca77) )
+
+ ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
+ ROM_LOAD( "5f", 0x0000, 0x0800, CRC(61f137e7) SHA1(8bff09bc29fa829e21e6b36f7b3f67f19f6bbb26) )
+ ROM_LOAD( "5h", 0x0800, 0x0800, CRC(5581de5f) SHA1(763dacb0d2183c159e7f1f04c7ecb1182da18abf) )
+
+ ROM_REGION( 0x0020, REGION_PROMS, 0 )
+ ROM_LOAD( "ltprom", 0x0000, 0x0020, CRC(1108b816) SHA1(49fdb08f8f31fefa2f3dca3d3455318cb21847a3) )
+ROM_END
+
+ROM_START( losttmbh )
+ ROM_REGION( 0x10000, REGION_CPU1, 0 )
+ ROM_LOAD( "2c", 0x0000, 0x1000, CRC(d6176d2c) SHA1(bc2bf63ee8d3e376f155d218704ceb5adcdf8e54) )
+ ROM_LOAD( "2e", 0x1000, 0x1000, CRC(a5f55f4a) SHA1(3609fc2b15b6856e81738bbd370250735dba694d) )
+ ROM_LOAD( "2f", 0x2000, 0x1000, CRC(0169fa3c) SHA1(2c06b1deca6c80d067032bfc2386da6ab0111e5f) )
+ ROM_LOAD( "lthard", 0x3000, 0x1000, CRC(e32cbf0e) SHA1(c4a63e01fad7bd450def5c4412690d4bb8d12691) )
+ ROM_LOAD( "2j", 0x4000, 0x1000, CRC(249ee040) SHA1(7297039e95e67220fa3e75fc50635f4df4c46a86) )
+ ROM_LOAD( "2l", 0x5000, 0x1000, CRC(c7d2e608) SHA1(8aabecabd1dcd6833fb581e4571d71a680e6563a) )
+ ROM_LOAD( "2m", 0x6000, 0x1000, CRC(bc4bc5b1) SHA1(95ffa72e57d1da10ddeda4d9333c9e0a2fb33e82) )
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 )
+ ROM_LOAD( "5c", 0x0000, 0x0800, CRC(b899be2a) SHA1(9b343a682531255104db61177a43ad933c3af34e) )
+ ROM_LOAD( "5d", 0x0800, 0x0800, CRC(6907af31) SHA1(8496c8db5342129d81381eec196facbca45bca77) )
+
+ ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
+ ROM_LOAD( "5f", 0x0000, 0x0800, CRC(61f137e7) SHA1(8bff09bc29fa829e21e6b36f7b3f67f19f6bbb26) )
+ ROM_LOAD( "5h", 0x0800, 0x0800, CRC(5581de5f) SHA1(763dacb0d2183c159e7f1f04c7ecb1182da18abf) )
+
+ ROM_REGION( 0x0020, REGION_PROMS, 0 )
+ ROM_LOAD( "ltprom", 0x0000, 0x0020, CRC(1108b816) SHA1(49fdb08f8f31fefa2f3dca3d3455318cb21847a3) )
+ROM_END
+
+ROM_START( superbon )
+ ROM_REGION( 0x10000, REGION_CPU1, 0 )
+ ROM_LOAD( "2d.cpu", 0x0000, 0x1000, CRC(60c0ba18) SHA1(6ad09e01dd3c86c8d9c465916227c9b00f38e025) )
+ ROM_LOAD( "2e.cpu", 0x1000, 0x1000, CRC(ddcf44bf) SHA1(b862622f4aa8af6da568b4f82ef043359ece530f) )
+ ROM_LOAD( "2f.cpu", 0x2000, 0x1000, CRC(bb66c2d5) SHA1(cbb7f4279ae48460790cb8abf976b978ae6a1a25) )
+ ROM_LOAD( "2h.cpu", 0x3000, 0x1000, CRC(74f4f04d) SHA1(d51c5d2c21453ee0dab60253c3124b6112d1f859) )
+ ROM_LOAD( "2j.cpu", 0x4000, 0x1000, CRC(78effb08) SHA1(64f211b34c2f37c25a36200b393f145b39ae67b5) )
+ ROM_LOAD( "2l.cpu", 0x5000, 0x1000, CRC(e9dcecbd) SHA1(ec61cec2b66c041872a2ca29cf724a89c73fc9a3) )
+ ROM_LOAD( "2m.cpu", 0x6000, 0x1000, CRC(3ed0337e) SHA1(975b93aee851867e335614419aa6db16fbf8063f) )
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 )
+ ROM_LOAD( "5c", 0x0000, 0x0800, CRC(b899be2a) SHA1(9b343a682531255104db61177a43ad933c3af34e) )
+ ROM_LOAD( "5d.snd", 0x0800, 0x0800, CRC(80640a04) SHA1(83f2bafcfa5737441194d3058a76b2582317cfcb) )
+
+ ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
+ ROM_LOAD( "5f.cpu", 0x0000, 0x0800, CRC(5b9d4686) SHA1(c7814aefaccab9c8a3a0b015447d366cd2e43c3a) )
+ ROM_LOAD( "5h.cpu", 0x0800, 0x0800, CRC(58c29927) SHA1(b88515d9c3108d2ad59f30fed5d74877b1636280) )
+
+ ROM_REGION( 0x0020, REGION_PROMS, 0 )
+ ROM_LOAD( "superbon.clr", 0x0000, 0x0020, NO_DUMP )
+ROM_END
+
+ROM_START( hustler )
+ ROM_REGION( 0x10000, REGION_CPU1, 0 )
+ ROM_LOAD( "hustler.1", 0x0000, 0x1000, CRC(94479a3e) SHA1(ea3a1a3f6bee3d35a6a0fb0ba689a25f6b919e5d) )
+ ROM_LOAD( "hustler.2", 0x1000, 0x1000, CRC(3cc67bcc) SHA1(bc36eaab68f48c837d0d3d3bc1e7de961fa24a21) )
+ ROM_LOAD( "hustler.3", 0x2000, 0x1000, CRC(9422226a) SHA1(445daa94f7236f0776f4692de6cb213f67684f70) )
+ /* 3000-3fff space for diagnostics ROM */
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 )
+ ROM_LOAD( "hustler.6", 0x0000, 0x0800, CRC(7a946544) SHA1(7ee2ad3fdf996f08534fb87fc02b619c168f420c) )
+ ROM_LOAD( "hustler.7", 0x0800, 0x0800, CRC(3db57351) SHA1(e5075a7130a80d2bf24f0556c2589dff0625ee60) )
+
+ ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
+ ROM_LOAD( "hustler.5f", 0x0000, 0x0800, CRC(0bdfad0e) SHA1(8e6f1737604f3801c03fa2e9a5e6a2778b54bae8) )
+ ROM_LOAD( "hustler.5h", 0x0800, 0x0800, CRC(8e062177) SHA1(7e52a1669804b6c2f694cfc64b04abc8246bb0c2) )
+
+ ROM_REGION( 0x0020, REGION_PROMS, 0 )
+ ROM_LOAD( "hustler.clr", 0x0000, 0x0020, CRC(aa1f7f5e) SHA1(311dd17aa11490a1173c76223e4ccccf8ea29850) )
+ROM_END
+
+ROM_START( billiard )
+ ROM_REGION( 0x10000, REGION_CPU1, 0 )
+ ROM_LOAD( "a", 0x0000, 0x1000, CRC(b7eb50c0) SHA1(213d177d2b2af648a18d196b83e96d804947fd40) )
+ ROM_LOAD( "b", 0x1000, 0x1000, CRC(988fe1c5) SHA1(0aaa13006e1832d7c25984b38c2e52fb6a5fdbbc) )
+ ROM_LOAD( "c", 0x2000, 0x1000, CRC(7b8de793) SHA1(f54aa0bd558b156c2511a36518963df0e493dbb4) )
+ /* 3000-3fff space for diagnostics ROM */
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 )
+ ROM_LOAD( "hustler.6", 0x0000, 0x0800, CRC(7a946544) SHA1(7ee2ad3fdf996f08534fb87fc02b619c168f420c) )
+ ROM_LOAD( "hustler.7", 0x0800, 0x0800, CRC(3db57351) SHA1(e5075a7130a80d2bf24f0556c2589dff0625ee60) )
+
+ ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
+ ROM_LOAD( "hustler.5f", 0x0000, 0x0800, CRC(0bdfad0e) SHA1(8e6f1737604f3801c03fa2e9a5e6a2778b54bae8) )
+ ROM_LOAD( "hustler.5h", 0x0800, 0x0800, CRC(8e062177) SHA1(7e52a1669804b6c2f694cfc64b04abc8246bb0c2) )
+
+ ROM_REGION( 0x0020, REGION_PROMS, 0 )
+ ROM_LOAD( "hustler.clr", 0x0000, 0x0020, CRC(aa1f7f5e) SHA1(311dd17aa11490a1173c76223e4ccccf8ea29850) )
+ROM_END
+
+/* this is identical to billiard, but with a different memory map */
+ROM_START( hustlerb )
+ ROM_REGION( 0x10000, REGION_CPU1, 0 )
+ ROM_LOAD( "hustler.2c", 0x0000, 0x1000, CRC(3a1ac6a9) SHA1(f9a6137bab78ce64ec119f199b2bd5ed37e61099) )
+ ROM_LOAD( "hustler.2f", 0x1000, 0x1000, CRC(dc6752ec) SHA1(b103021079646286156e4141fe34dd92ccfd34bd) )
+ ROM_LOAD( "hustler.2j", 0x2000, 0x1000, CRC(27c1e0f8) SHA1(9713e84b3aa4ed4829de2f62059229564d2b9f72) )
+ /* 3000-3fff space for diagnostics ROM */
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 )
+ ROM_LOAD( "hustler.11d", 0x0000, 0x0800, CRC(b559bfde) SHA1(f7733fbc5cabb441ba039b9d7202aaf0cebb9a85) )
+ ROM_LOAD( "hustler.10d", 0x0800, 0x0800, CRC(6ef96cfb) SHA1(eba0bdc8bc1652ff2f62594371ded711dbfcce86) )
+
+ ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
+ ROM_LOAD( "hustler.5f", 0x0000, 0x0800, CRC(0bdfad0e) SHA1(8e6f1737604f3801c03fa2e9a5e6a2778b54bae8) )
+ ROM_LOAD( "hustler.5h", 0x0800, 0x0800, CRC(8e062177) SHA1(7e52a1669804b6c2f694cfc64b04abc8246bb0c2) )
+
+ ROM_REGION( 0x0020, REGION_PROMS, 0 )
+ ROM_LOAD( "hustler.clr", 0x0000, 0x0020, CRC(aa1f7f5e) SHA1(311dd17aa11490a1173c76223e4ccccf8ea29850) )
+ROM_END
+
+ROM_START( mimonkey )
+ ROM_REGION( 0x10000, REGION_CPU1, 0 )
+ ROM_LOAD( "mm1.2e", 0x0000, 0x1000, CRC(9019f1b1) SHA1(0c45f64e39b9a182f6162ab520ced6ef0686466c) )
+ ROM_LOAD( "mm2.2e", 0x1000, 0x1000, CRC(043e97d6) SHA1(924c0165dfcf01182696b0d259718ac625573d9a) )
+ ROM_LOAD( "mm3.2f", 0x2000, 0x1000, CRC(1052726a) SHA1(2fdd3064f02babd2d496a38c7aee094cb3666f24) )
+ ROM_LOAD( "mm4.2h", 0x3000, 0x1000, CRC(7b3f35ff) SHA1(b52c46c3f166346d3b25cd2ab09781afc703de08) )
+ ROM_LOAD( "mm5.2j", 0xc000, 0x1000, CRC(b4e5c32d) SHA1(18e53519e8f4e813109cfaf45f2f66444e6fa1a2) )
+ ROM_LOAD( "mm6.2l", 0xd000, 0x1000, CRC(409036c4) SHA1(a9640da91156504bfc8fedcda30f81169b28a0c9) )
+ ROM_LOAD( "mm7.2m", 0xe000, 0x1000, CRC(119c08fa) SHA1(6e19ab874b735fe7339bcf651111664263ea4ef9) )
+ ROM_LOAD( "mm8.2p", 0xf000, 0x1000, CRC(f7989f04) SHA1(d6e301414a807f5e9feed92ce53ab73d6bd46c45) )
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 )
+ ROM_LOAD( "mm13.11d", 0x0000, 0x1000, CRC(2d14c527) SHA1(062414ce0415b6c471149319ecae22f465df3a4f) )
+ ROM_LOAD( "mm14.10d", 0x1000, 0x1000, CRC(35ed0f96) SHA1(5aaacae5c2acf97540b72491f71ea823f5eeae1a) )
+
+ ROM_REGION( 0x4000, REGION_GFX1, ROMREGION_DISPOSE )
+ ROM_LOAD( "mm12.5h", 0x0000, 0x1000, CRC(f73a8412) SHA1(9baf4336cceb9b039372b0a1c733910aeab5ec6d) )
+ ROM_LOAD( "mm10.5h", 0x1000, 0x1000, CRC(3828c9db) SHA1(eaf9e81c803ad2be6c2db3104f07f80788378286) )
+ ROM_LOAD( "mm11.5f", 0x2000, 0x1000, CRC(9e0e9289) SHA1(79d412dbceb364bc798feda658b15792feb63338) )
+ ROM_LOAD( "mm9.5f", 0x3000, 0x1000, CRC(92085b0c) SHA1(a791703fa9f17e42450c871d902430fc3c6b10ef) )
+
+ ROM_REGION( 0x0020, REGION_PROMS, 0 )
+ ROM_LOAD( "82s123.6e", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
+ROM_END
+
+ROM_START( mimonsco )
+ ROM_REGION( 0x10000, REGION_CPU1, 0 )
+ ROM_LOAD( "fra_1a", 0x0000, 0x1000, CRC(8e7a7379) SHA1(06b945a5d237384bfd1b4c9a7449f5a1701a352c) )
+ ROM_LOAD( "fra_1b", 0x1000, 0x1000, CRC(ab08cbfe) SHA1(edccefefc0ed476d94acccf7f92115c5d6945679) )
+ ROM_LOAD( "fra_2a", 0x2000, 0x1000, CRC(2d4da24d) SHA1(d922713084c9981169f35b41c71c8afa3d7f947d) )
+ ROM_LOAD( "fra_2b", 0x3000, 0x1000, CRC(8d88fc7c) SHA1(1ba2d6d448a2c993f398f4457efb1e3535de9ea2) )
+ ROM_LOAD( "fra_3a", 0xc000, 0x1000, CRC(b4e5c32d) SHA1(18e53519e8f4e813109cfaf45f2f66444e6fa1a2) )
+ ROM_LOAD( "fra_3b", 0xd000, 0x1000, CRC(409036c4) SHA1(a9640da91156504bfc8fedcda30f81169b28a0c9) )
+ ROM_LOAD( "fra_4a", 0xe000, 0x1000, CRC(119c08fa) SHA1(6e19ab874b735fe7339bcf651111664263ea4ef9) )
+ ROM_LOAD( "fra_4b", 0xf000, 0x1000, CRC(d700fd03) SHA1(3e804a42ecc166d8723f0b0a4906212addbbad7b) )
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 )
+ ROM_LOAD( "mmsound1", 0x0000, 0x1000, CRC(2d14c527) SHA1(062414ce0415b6c471149319ecae22f465df3a4f) )
+ ROM_LOAD( "mmsnd2a", 0x1000, 0x1000, CRC(35ed0f96) SHA1(5aaacae5c2acf97540b72491f71ea823f5eeae1a) )
+
+ ROM_REGION( 0x4000, REGION_GFX1, ROMREGION_DISPOSE )
+ ROM_LOAD( "mmgfx1", 0x0000, 0x2000, CRC(4af47337) SHA1(225f7bcfbb61e3a163ecaed675d4c81b3609562f) )
+ ROM_LOAD( "mmgfx2", 0x2000, 0x2000, CRC(def47da8) SHA1(8e62e5dc5c810efaa204d0fcb3d02bc84f61ba35) )
+
+ ROM_REGION( 0x0020, REGION_PROMS, 0 )
+ ROM_LOAD( "82s123.6e", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
+ROM_END
+
+
+GAME( 1981, scobra, 0, type1, scobra, scobra, ROT90, "Konami", "Super Cobra", GAME_SUPPORTS_SAVE )
+GAME( 1981, scobras, scobra, type1, scobras, scobra, ROT90, "[Konami] (Stern license)", "Super Cobra (Stern)", GAME_SUPPORTS_SAVE )
+GAME( 1981, scobrase, scobra, type1, scobras, scobra, ROT90, "[Konami] (Sega license)", "Super Cobra (Sega)", GAME_SUPPORTS_SAVE )
+GAME( 1981, scobrab, scobra, type1, scobras, scobra, ROT90, "bootleg", "Super Cobra (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1981, stratgyx, 0, stratgyx, stratgyx, stratgyx, ROT0, "Konami", "Strategy X", GAME_SUPPORTS_SAVE )
+GAME( 1981, stratgys, stratgyx, stratgyx, stratgyx, stratgyx, ROT0, "[Konami] (Stern license)", "Strategy X (Stern)", GAME_SUPPORTS_SAVE )
+GAME( 1981, armorcar, 0, armorcar, armorcar, scramble_ppi, ROT90, "Stern", "Armored Car (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1981, armorca2, armorcar, armorcar, armorcar, scramble_ppi, ROT90, "Stern", "Armored Car (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1981, moonwar, 0, moonwar, moonwar, moonwar, ROT90, "Stern", "Moonwar", GAME_SUPPORTS_SAVE )
+GAME( 1981, moonwara, moonwar, moonwar, moonwara, moonwar, ROT90, "Stern", "Moonwar (older)", GAME_SUPPORTS_SAVE )
+GAME( 1984, spdcoin, 0, type1, spdcoin, scramble_ppi, ROT90, "Stern", "Speed Coin (prototype)", GAME_SUPPORTS_SAVE )
+GAME( 1982, darkplnt, 0, darkplnt, darkplnt, darkplnt, ROT180, "Stern", "Dark Planet", GAME_SUPPORTS_SAVE )
+GAME( 1982, tazmania, 0, type1, tazmania, scobra, ROT90, "Stern", "Tazz-Mania (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1982, tazmani2, tazmania, type2, tazmania, tazmani2, ROT90, "Stern", "Tazz-Mania (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1982, calipso, 0, calipso, calipso, scobra, ROT90, "[Stern] (Tago license)", "Calipso", GAME_SUPPORTS_SAVE )
+GAME( 1982, anteater, 0, type1, anteater, anteater, ROT90, "[Stern] (Tago license)", "Anteater", GAME_SUPPORTS_SAVE )
+GAME( 1983, anteatg, anteater, anteatg, anteatg, scramble_ppi, ROT90, "TV-Tuning (F.E.G. license)", "Ameisenbaer (German)", GAME_SUPPORTS_SAVE )
+GAME( 1983, anteatgb, anteater, anteatgb, anteatgb, scramble_ppi, ROT90, "Free Enterprise Games", "The Anteater (UK)", GAME_SUPPORTS_SAVE )
+GAME( 1982, rescue, 0, rescue, rescue, rescue, ROT90, "Stern", "Rescue", GAME_SUPPORTS_SAVE )
+GAME( 1982, aponow, rescue, rescue, rescue, rescue, ROT90, "bootleg", "Apocaljpse Now", GAME_SUPPORTS_SAVE )
+GAME( 1983, minefld, 0, minefld, minefld, minefld, ROT90, "Stern", "Minefield", GAME_SUPPORTS_SAVE )
+GAME( 1982, losttomb, 0, type1, losttomb, losttomb, ROT90, "Stern", "Lost Tomb (easy)", GAME_SUPPORTS_SAVE )
+GAME( 1982, losttmbh, losttomb, type1, losttomb, losttomb, ROT90, "Stern", "Lost Tomb (hard)", GAME_SUPPORTS_SAVE )
+GAME( 198?, superbon, 0, type1, superbon, superbon, ROT90, "bootleg", "Super Bond", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 1981, hustler, 0, hustler, hustler, hustler, ROT90, "Konami", "Video Hustler", GAME_SUPPORTS_SAVE )
+GAME( 1981, billiard, hustler, hustler, hustler, billiard, ROT90, "bootleg", "The Billiards", GAME_SUPPORTS_SAVE )
+GAME( 1981, hustlerb, hustler, hustlerb, hustler, scramble_ppi, ROT90, "bootleg", "Video Hustler (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 198?, mimonkey, 0, mimonkey, mimonkey, mimonkey, ROT90, "Universal Video Games", "Mighty Monkey", GAME_SUPPORTS_SAVE )
+GAME( 198?, mimonsco, mimonkey, mimonkey, mimonsco, mimonsco, ROT90, "bootleg", "Mighty Monkey (bootleg on Super Cobra hardware)", GAME_SUPPORTS_SAVE )