From 6979179c11d3038a63726fa011e5b2b23df16c7a Mon Sep 17 00:00:00 2001 From: Aaron Giles Date: Fri, 28 Mar 2008 08:34:31 +0000 Subject: [PATCH] Galaxian rewrite. Ultimately will combine the existing drivers for galaxian, scramble, frogger, scobra, amidar, and dambustr. For the moment, only a subset of games are implemented in the new system; the remainder are running on the old code. Main features are accurate video timing, correct stars implementation, better organization, simplified input ports, and many other smaller fixes. In addition, the following MAMETesters bugs are addressed: - 01598: [Graphics] 4in1, gmgalax, pacmanbl: Sprites are cut off on the top row - 01563: [DIP/Input] gmgalax: Duplicated Inputs - 00300: [Graphics] zigzag: in cocktail mode player 2 screen is shift over to the right - 01454: [Graphics] mshuttle, mshuttlj, mshutlj2: The display of the screen is shifted - 01473: [Graphics] orbitron: Orbitron graphics not correctly displayed - 01600: [Graphics] pacmanbl, batman2: The background is shifted to the right and cut off on the right side - 01602: [Misc.] luctoday: Messed up graphics. (Screen Offset) - 01599: [Graphics] omega: Screen is vertically offset - 01605: [Graphics] gteikokb, gteikob2: Wrong screen offset (aaron) --- .gitattributes | 6 +- src/mame/audio/galaxian.c | 37 + src/mame/drivers/amidar.c | 538 ---- src/mame/drivers/dambustr.c | 2 +- src/mame/drivers/frogger.c | 368 --- src/mame/drivers/galaxian.c | 2590 ++++++++++++++++++ src/mame/drivers/galaxold.c | 3883 +-------------------------- src/mame/drivers/galdrvr.c | 4857 ++++++++++++++++++++++++++++++++++ src/mame/drivers/scobra.c | 28 +- src/mame/drivers/scramble.c | 485 +--- src/mame/includes/cclimber.h | 3 +- src/mame/includes/galaxian.h | 128 + src/mame/includes/galaxold.h | 26 +- src/mame/machine/cclimber.c | 9 +- src/mame/machine/galaxold.c | 29 +- src/mame/machine/scramble.c | 22 +- src/mame/mame.mak | 8 +- src/mame/video/galaxian.c | 1369 ++++++++++ src/mame/video/galaxold.c | 507 +--- 19 files changed, 9185 insertions(+), 5710 deletions(-) delete mode 100644 src/mame/drivers/amidar.c delete mode 100644 src/mame/drivers/frogger.c create mode 100644 src/mame/drivers/galaxian.c create mode 100644 src/mame/drivers/galdrvr.c create mode 100644 src/mame/includes/galaxian.h create mode 100644 src/mame/video/galaxian.c diff --git a/.gitattributes b/.gitattributes index aa8609c4fcd..34c876413bd 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1175,7 +1175,6 @@ src/mame/drivers/alg.c svneol=native#text/plain src/mame/drivers/aliens.c svneol=native#text/plain src/mame/drivers/alpha68k.c svneol=native#text/plain src/mame/drivers/ambush.c svneol=native#text/plain -src/mame/drivers/amidar.c svneol=native#text/plain src/mame/drivers/ampoker2.c svneol=native#text/plain src/mame/drivers/amspdwy.c svneol=native#text/plain src/mame/drivers/angelkds.c svneol=native#text/plain @@ -1430,7 +1429,6 @@ src/mame/drivers/flyball.c svneol=native#text/plain src/mame/drivers/foodf.c svneol=native#text/plain src/mame/drivers/fortecar.c svneol=native#text/plain src/mame/drivers/freekick.c svneol=native#text/plain -src/mame/drivers/frogger.c svneol=native#text/plain src/mame/drivers/fromanc2.c svneol=native#text/plain src/mame/drivers/fromance.c svneol=native#text/plain src/mame/drivers/funkybee.c svneol=native#text/plain @@ -1445,7 +1443,9 @@ src/mame/drivers/gaelco3d.c svneol=native#text/plain src/mame/drivers/gaiden.c svneol=native#text/plain src/mame/drivers/galaga.c svneol=native#text/plain src/mame/drivers/galaxia.c svneol=native#text/plain +src/mame/drivers/galaxian.c svneol=native#text/plain src/mame/drivers/galaxold.c svneol=native#text/plain +src/mame/drivers/galdrvr.c svneol=native#text/plain src/mame/drivers/galivan.c svneol=native#text/plain src/mame/drivers/galpani2.c svneol=native#text/plain src/mame/drivers/galpani3.c svneol=native#text/plain @@ -2189,6 +2189,7 @@ src/mame/includes/foodf.h svneol=native#text/plain src/mame/includes/fromance.h svneol=native#text/plain src/mame/includes/gaelco3d.h svneol=native#text/plain src/mame/includes/galaga.h svneol=native#text/plain +src/mame/includes/galaxian.h svneol=native#text/plain src/mame/includes/galaxold.h svneol=native#text/plain src/mame/includes/gameplan.h svneol=native#text/plain src/mame/includes/gauntlet.h svneol=native#text/plain @@ -2791,6 +2792,7 @@ src/mame/video/gaelco2.c svneol=native#text/plain src/mame/video/gaelco3d.c svneol=native#text/plain src/mame/video/gaiden.c svneol=native#text/plain src/mame/video/galaga.c svneol=native#text/plain +src/mame/video/galaxian.c svneol=native#text/plain src/mame/video/galaxold.c svneol=native#text/plain src/mame/video/galivan.c svneol=native#text/plain src/mame/video/galpani2.c svneol=native#text/plain diff --git a/src/mame/audio/galaxian.c b/src/mame/audio/galaxian.c index 4c3fe75b5e7..cd19662b2b1 100644 --- a/src/mame/audio/galaxian.c +++ b/src/mame/audio/galaxian.c @@ -105,6 +105,36 @@ static void tone_update(void *param, stream_sample_t **input, stream_sample_t ** } } +WRITE8_HANDLER( galaxian_sound_w ) +{ + data &= 0x01; + switch (offset & 7) + { + case 0: /* FS1 (controls 555 timer at 8R) */ + case 1: /* FS2 (controls 555 timer at 8S) */ + case 2: /* FS3 (controls 555 timer at 8T) */ + galaxian_background_enable_w(machine, offset, data); + break; + + case 3: /* HIT */ + galaxian_noise_enable_w(machine, 0, data); + break; + + case 4: /* n/c */ + break; + + case 5: /* FIRE */ + galaxian_shoot_enable_w(machine, 0, data); + break; + + case 6: /* VOL1 */ + case 7: /* VOL2 */ + galaxian_vol_w(machine, offset & 1, data); + break; + } +} + + WRITE8_HANDLER( galaxian_pitch_w ) { stream_update(tone_stream); @@ -528,3 +558,10 @@ const struct Samplesinterface galaxian_samples_interface = NULL, galaxian_sh_start }; + +const struct Samplesinterface galaxian_custom_interface = +{ + 5, + NULL, + galaxian_sh_start +}; diff --git a/src/mame/drivers/amidar.c b/src/mame/drivers/amidar.c deleted file mode 100644 index 9d67432d865..00000000000 --- a/src/mame/drivers/amidar.c +++ /dev/null @@ -1,538 +0,0 @@ -/*************************************************************************** - - Amidar hardware - -***************************************************************************/ - -#include "driver.h" -#include "galaxold.h" -#include "sound/ay8910.h" -#include "machine/8255ppi.h" - - -static const gfx_layout amidar_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 amidar_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( amidar ) - GFXDECODE_ENTRY( REGION_GFX1, 0x0000, amidar_charlayout, 0, 8 ) - GFXDECODE_ENTRY( REGION_GFX1, 0x0000, amidar_spritelayout, 0, 8 ) -GFXDECODE_END - - -static UINT8 *amidar_soundram; - -static READ8_HANDLER(amidar_soundram_r) -{ - return amidar_soundram[offset & 0x03ff]; -} - -static WRITE8_HANDLER(amidar_soundram_w) -{ - amidar_soundram[offset & 0x03ff] = data; -} - -static const struct AY8910interface amidar_ay8910_interface_2 = -{ - soundlatch_r, - scramble_portB_r -}; - -static READ8_HANDLER(amidar_ppi8255_0_r) -{ - return ppi8255_0_r(machine, offset >> 4); -} - -static READ8_HANDLER(amidar_ppi8255_1_r) -{ - return ppi8255_1_r(machine, offset >> 4); -} - -static WRITE8_HANDLER(amidar_ppi8255_0_w) -{ - ppi8255_0_w(machine, offset >> 4, data); -} - -static WRITE8_HANDLER(amidar_ppi8255_1_w) -{ - ppi8255_1_w(machine, offset >> 4, data); -} - - -static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM) - AM_RANGE(0x8000, 0x87ff) AM_READ(SMH_RAM) - AM_RANGE(0x9000, 0x93ff) AM_READ(SMH_RAM) - AM_RANGE(0x9800, 0x98ff) AM_READ(SMH_RAM) - AM_RANGE(0xa800, 0xa800) AM_READ(watchdog_reset_r) - AM_RANGE(0xb000, 0xb03f) AM_READ(amidar_ppi8255_0_r) - AM_RANGE(0xb800, 0xb83f) AM_READ(amidar_ppi8255_1_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x8000, 0x87ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x9000, 0x93ff) AM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram) - AM_RANGE(0x9800, 0x983f) AM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) - AM_RANGE(0x9840, 0x985f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) - AM_RANGE(0x9860, 0x98ff) AM_WRITE(SMH_RAM) - AM_RANGE(0xa000, 0xa000) AM_WRITE(scramble_background_red_w) - AM_RANGE(0xa008, 0xa008) AM_WRITE(galaxold_nmi_enable_w) - AM_RANGE(0xa010, 0xa010) AM_WRITE(galaxold_flip_screen_x_w) - AM_RANGE(0xa018, 0xa018) AM_WRITE(galaxold_flip_screen_y_w) - AM_RANGE(0xa020, 0xa020) AM_WRITE(scramble_background_green_w) - AM_RANGE(0xa028, 0xa028) AM_WRITE(scramble_background_blue_w) - AM_RANGE(0xa030, 0xa030) AM_WRITE(galaxold_coin_counter_0_w) - AM_RANGE(0xa038, 0xa038) AM_WRITE(galaxold_coin_counter_1_w) - AM_RANGE(0xb000, 0xb03f) AM_WRITE(amidar_ppi8255_0_w) - AM_RANGE(0xb800, 0xb83f) AM_WRITE(amidar_ppi8255_1_w) -ADDRESS_MAP_END - - -static ADDRESS_MAP_START( amidar_sound_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x2fff) AM_READ(SMH_ROM) - AM_RANGE(0x8000, 0x8fff) AM_READ(amidar_soundram_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( amidar_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x2fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x8000, 0x8fff) AM_WRITE(amidar_soundram_w) - AM_RANGE(0x8000, 0x83ff) AM_WRITE(SMH_NOP) AM_BASE(&amidar_soundram) /* only here to initialize pointer */ - AM_RANGE(0x9000, 0x9fff) AM_WRITE(scramble_filter_w) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( amidar_sound_readport, ADDRESS_SPACE_IO, 8 ) - ADDRESS_MAP_GLOBAL_MASK(0xff) - 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( amidar_sound_writeport, ADDRESS_SPACE_IO, 8 ) - ADDRESS_MAP_GLOBAL_MASK(0xff) - 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 - -#define AMIDAR_IN0 \ -PORT_START_TAG("IN0") \ - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL\ - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably space for button 2 */\ - 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_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 ) - -#define AMIDAR_IN1 \ - PORT_START_TAG("IN1")\ - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )\ - PORT_DIPSETTING( 0x03, "3" )\ - PORT_DIPSETTING( 0x02, "4" )\ - PORT_DIPSETTING( 0x01, "5" )\ - PORT_DIPSETTING( 0x00, "255 (Cheat)")\ - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably space for player 2 button 2 */\ - 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 ) - -#define AMIDAR_DSW \ - PORT_START_TAG("DSW")\ - PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) )\ - PORT_DIPSETTING( 0x04, DEF_STR( 4C_1C ) )\ - PORT_DIPSETTING( 0x0a, DEF_STR( 3C_1C ) )\ - PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) )\ - PORT_DIPSETTING( 0x02, DEF_STR( 3C_2C ) )\ - PORT_DIPSETTING( 0x08, DEF_STR( 4C_3C ) )\ - PORT_DIPSETTING( 0x0f, DEF_STR( 1C_1C ) )\ - PORT_DIPSETTING( 0x0c, DEF_STR( 3C_4C ) )\ - PORT_DIPSETTING( 0x0e, DEF_STR( 2C_3C ) )\ - PORT_DIPSETTING( 0x07, DEF_STR( 1C_2C ) )\ - PORT_DIPSETTING( 0x06, DEF_STR( 2C_5C ) )\ - PORT_DIPSETTING( 0x0b, DEF_STR( 1C_3C ) )\ - PORT_DIPSETTING( 0x03, DEF_STR( 1C_4C ) )\ - PORT_DIPSETTING( 0x0d, DEF_STR( 1C_5C ) )\ - PORT_DIPSETTING( 0x05, DEF_STR( 1C_6C ) )\ - PORT_DIPSETTING( 0x09, DEF_STR( 1C_7C ) )\ - PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )\ - PORT_DIPNAME( 0xf0, 0xf0, DEF_STR( Coin_B ) )\ - PORT_DIPSETTING( 0x40, DEF_STR( 4C_1C ) )\ - PORT_DIPSETTING( 0xa0, DEF_STR( 3C_1C ) )\ - PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )\ - PORT_DIPSETTING( 0x20, DEF_STR( 3C_2C ) )\ - PORT_DIPSETTING( 0x80, DEF_STR( 4C_3C ) )\ - PORT_DIPSETTING( 0xf0, DEF_STR( 1C_1C ) )\ - PORT_DIPSETTING( 0xc0, DEF_STR( 3C_4C ) )\ - PORT_DIPSETTING( 0xe0, DEF_STR( 2C_3C ) )\ - PORT_DIPSETTING( 0x70, DEF_STR( 1C_2C ) )\ - PORT_DIPSETTING( 0x60, DEF_STR( 2C_5C ) )\ - PORT_DIPSETTING( 0xb0, DEF_STR( 1C_3C ) )\ - PORT_DIPSETTING( 0x30, DEF_STR( 1C_4C ) )\ - PORT_DIPSETTING( 0xd0, DEF_STR( 1C_5C ) )\ - PORT_DIPSETTING( 0x50, DEF_STR( 1C_6C ) )\ - PORT_DIPSETTING( 0x90, DEF_STR( 1C_7C ) )\ - PORT_DIPSETTING( 0x00, "Disable All Coins" ) - - -static INPUT_PORTS_START( amidar ) - AMIDAR_IN0 - - AMIDAR_IN1 - - PORT_START_TAG("IN2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL - PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Bonus_Life ) ) - PORT_DIPSETTING( 0x00, "30000 50000" ) - PORT_DIPSETTING( 0x04, "Every 50000" ) - 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_4WAY - 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_JOYSTICK_DOWN ) PORT_4WAY - PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - - AMIDAR_DSW - -INPUT_PORTS_END - -/* absolutely identical to amidar, the only difference is the BONUS dip switch */ -static INPUT_PORTS_START( amidaru ) - PORT_INCLUDE( amidar ) - - PORT_MODIFY("IN2") - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Bonus_Life ) ) - PORT_DIPSETTING( 0x00, "30000 70000" ) - PORT_DIPSETTING( 0x04, "50000 80000" ) -INPUT_PORTS_END - -static INPUT_PORTS_START( amidaro ) - PORT_INCLUDE( amidar ) - - PORT_MODIFY("IN1") - PORT_DIPNAME( 0x03, 0x01, DEF_STR( Lives ) ) - PORT_DIPSETTING( 0x03, "1" ) - PORT_DIPSETTING( 0x02, "2" ) - PORT_DIPSETTING( 0x01, "3" ) - PORT_DIPSETTING( 0x00, "4" ) - - PORT_MODIFY("IN2") - PORT_DIPNAME( 0x02, 0x00, "Level Progression" ) - PORT_DIPSETTING( 0x00, "Slow" ) - PORT_DIPSETTING( 0x02, "Fast" ) - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Bonus_Life ) ) - PORT_DIPSETTING( 0x00, "30000 70000" ) - PORT_DIPSETTING( 0x04, "50000 80000" ) -INPUT_PORTS_END - -/* similar to Amidar, dip switches are different and port 3, which in Amidar */ -/* selects coins per credit, is not used. */ -static INPUT_PORTS_START( turtles ) - 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 ) /* probably space for button 2 */ - 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( 0x03, 0x01, DEF_STR( Lives ) ) - PORT_DIPSETTING( 0x00, "3" ) - PORT_DIPSETTING( 0x01, "4" ) - PORT_DIPSETTING( 0x02, "5" ) - PORT_DIPSETTING( 0x03, "126 (Cheat)") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably space for player 2 button 2 */ - 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( 0x00, "A 1/1 B 2/1 C 1/1" ) - PORT_DIPSETTING( 0x02, "A 1/2 B 1/1 C 1/2" ) - PORT_DIPSETTING( 0x04, "A 1/3 B 3/1 C 1/3" ) - PORT_DIPSETTING( 0x06, "A 1/4 B 4/1 C 1/4" ) - 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, 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_8WAY - PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) -INPUT_PORTS_END - -/* same as Turtles, but dip switches are different. */ -static INPUT_PORTS_START( turpin ) - PORT_INCLUDE( turtles ) - - PORT_MODIFY("IN1") - PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) ) - PORT_DIPSETTING( 0x00, "3" ) - PORT_DIPSETTING( 0x01, "5" ) - PORT_DIPSETTING( 0x02, "7" ) - PORT_DIPSETTING( 0x03, "126 (Cheat)") - - PORT_MODIFY("IN2") - PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) ) - PORT_DIPSETTING( 0x06, DEF_STR( 4C_1C ) ) - PORT_DIPSETTING( 0x02, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) ) -INPUT_PORTS_END - - - -static MACHINE_DRIVER_START( amidar ) - - /* basic machine hardware */ - MDRV_CPU_ADD_TAG("main", Z80, 18432000/6) /* 3.072 MHz */ - MDRV_CPU_PROGRAM_MAP(readmem,writemem) - - MDRV_CPU_ADD(Z80,14318000/8) - /* audio CPU */ /* 1.78975 MHz */ - MDRV_CPU_PROGRAM_MAP(amidar_sound_readmem,amidar_sound_writemem) - MDRV_CPU_IO_MAP(amidar_sound_readport,amidar_sound_writeport) - - MDRV_MACHINE_RESET(scramble) - - /* video hardware */ - MDRV_SCREEN_ADD("main", RASTER) - MDRV_SCREEN_REFRESH_RATE(16000.0/132/2) - MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) - 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(amidar) - MDRV_PALETTE_LENGTH(32+64+2+8) - - MDRV_PALETTE_INIT(turtles) - MDRV_VIDEO_START(turtles) - 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(amidar_ay8910_interface_2) - MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.16) -MACHINE_DRIVER_END - - - -/*************************************************************************** - - Game driver(s) - -***************************************************************************/ - -ROM_START( amidar ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "amidar.2c", 0x0000, 0x1000, CRC(c294bf27) SHA1(399325bf1559e8cdbddf7cfbf0dc739f9ed72ef0) ) - ROM_LOAD( "amidar.2e", 0x1000, 0x1000, CRC(e6e96826) SHA1(e9c4f8c594640424b456505e676352a98b758c03) ) - ROM_LOAD( "amidar.2f", 0x2000, 0x1000, CRC(3656be6f) SHA1(9d652f66bedcf17a6453c0e0ead30bfd7ea0bd0a) ) - ROM_LOAD( "amidar.2h", 0x3000, 0x1000, CRC(1be170bd) SHA1(c047bc393b297c0d47668a5f6f4870e3fac937ef) ) - - ROM_REGION( 0x10000, REGION_CPU2, 0 ) - ROM_LOAD( "amidar.5c", 0x0000, 0x1000, CRC(c4b66ae4) SHA1(9d09dbde4019f7be3abe0815b0e06d542c01c255) ) - ROM_LOAD( "amidar.5d", 0x1000, 0x1000, CRC(806785af) SHA1(c8c85e3a6a204feccd7859b4527bd649e96134b4) ) - - ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "amidar.5f", 0x0000, 0x0800, CRC(5e51e84d) SHA1(dfe84db7e2b1a45a1d484fcf37291f536bc5324c) ) - ROM_LOAD( "amidar.5h", 0x0800, 0x0800, CRC(2f7f1c30) SHA1(83c330eca20dfcc6a4099001943b9ed7a7c3db5b) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "amidar.clr", 0x0000, 0x0020, CRC(f940dcc3) SHA1(1015e56f37c244a850a8f4bf0e36668f047fd46d) ) -ROM_END - -ROM_START( amidaru ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "amidarus.2c", 0x0000, 0x1000, CRC(951e0792) SHA1(3a68b829c9ffb465bd6582c9ea566e0e947c6c19) ) - ROM_LOAD( "amidarus.2e", 0x1000, 0x1000, CRC(a1a3a136) SHA1(330ec857fdf4c1b28e2560a5f63a2432f87f9b2f) ) - ROM_LOAD( "amidarus.2f", 0x2000, 0x1000, CRC(a5121bf5) SHA1(fe15b91724758ede43dd332327919f164772c592) ) - ROM_LOAD( "amidarus.2h", 0x3000, 0x1000, CRC(051d1c7f) SHA1(3cfa0f728a5c27da0a3fe2579ad226129ccde232) ) - ROM_LOAD( "amidarus.2j", 0x4000, 0x1000, CRC(351f00d5) SHA1(6659357f40f888b21be00826246200fd3a8a88ce) ) - - ROM_REGION( 0x10000, REGION_CPU2, 0 ) - ROM_LOAD( "amidarus.5c", 0x0000, 0x1000, CRC(8ca7b750) SHA1(4f4c2915503b85abe141d717fd254ee10c9da99e) ) - ROM_LOAD( "amidarus.5d", 0x1000, 0x1000, CRC(9b5bdc0a) SHA1(84d953618c8bf510d23b42232a856ac55f1baff5) ) - - ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "amidarus.5f", 0x0000, 0x0800, CRC(2cfe5ede) SHA1(0d86a78008ac8653c17fff5be5ebdf1f0a9d31eb) ) - ROM_LOAD( "amidarus.5h", 0x0800, 0x0800, CRC(57c4fd0d) SHA1(8764deec9fbff4220d61df621b12fc36c3702601) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "amidar.clr", 0x0000, 0x0020, CRC(f940dcc3) SHA1(1015e56f37c244a850a8f4bf0e36668f047fd46d) ) -ROM_END - -ROM_START( amidaro ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "107.2cd", 0x0000, 0x1000, CRC(c52536be) SHA1(3f64578214d2d9f0e4e7ee87e09b0aac33a73098) ) - ROM_LOAD( "108.2fg", 0x1000, 0x1000, CRC(38538b98) SHA1(12b2a0c09926d006781bee5d450bc0c391cc1fb5) ) - ROM_LOAD( "109.2fg", 0x2000, 0x1000, CRC(69907f0f) SHA1(f1d19a76ffc41ee8c5c574f10108cfdfe525b732) ) - ROM_LOAD( "110.2h", 0x3000, 0x1000, CRC(ba149a93) SHA1(9ef1d27f0780612be0ea2be94c3a2c781a4924c8) ) - ROM_LOAD( "111.2j", 0x4000, 0x1000, CRC(20d01c2e) SHA1(e09437ff440f04036d5ec74b355e97bbbbfefb95) ) - - ROM_REGION( 0x10000, REGION_CPU2, 0 ) - ROM_LOAD( "amidarus.5c", 0x0000, 0x1000, CRC(8ca7b750) SHA1(4f4c2915503b85abe141d717fd254ee10c9da99e) ) - ROM_LOAD( "amidarus.5d", 0x1000, 0x1000, CRC(9b5bdc0a) SHA1(84d953618c8bf510d23b42232a856ac55f1baff5) ) - - ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "amidarus.5f", 0x0000, 0x0800, CRC(2cfe5ede) SHA1(0d86a78008ac8653c17fff5be5ebdf1f0a9d31eb) ) - ROM_LOAD( "113.5h", 0x0800, 0x0800, CRC(bcdce168) SHA1(e593d03c460ef4607e3ba25019d9f01d4a717dd9) ) /* The letter 'S' is slightly different */ - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "amidar.clr", 0x0000, 0x0020, CRC(f940dcc3) SHA1(1015e56f37c244a850a8f4bf0e36668f047fd46d) ) -ROM_END - -ROM_START( amidarb ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "ami2gor.2c", 0x0000, 0x1000, CRC(9ad2dcd2) SHA1(43ceb93d891c1ebf55e7c26de13e3db8e1d26f6d) ) - ROM_LOAD( "2.2f", 0x1000, 0x1000, CRC(66282ff5) SHA1(986778278eb339768d190460680e7aa698812488) ) - ROM_LOAD( "3.2j", 0x2000, 0x1000, CRC(b0860e31) SHA1(8fb92b0e71c826a509a8f712553de0f4a636286f) ) - ROM_LOAD( "4.2m", 0x3000, 0x1000, CRC(4a4086c9) SHA1(6f309b67dc68e06e6eb1d3ee2ae75afe253a4ce3) ) - - ROM_REGION( 0x10000, REGION_CPU2, 0 ) - ROM_LOAD( "8.11d", 0x0000, 0x1000, CRC(8ca7b750) SHA1(4f4c2915503b85abe141d717fd254ee10c9da99e) ) - ROM_LOAD( "9.9d", 0x1000, 0x1000, CRC(9b5bdc0a) SHA1(84d953618c8bf510d23b42232a856ac55f1baff5) ) - - ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "5.5f", 0x0000, 0x0800, CRC(2082ad0a) SHA1(c6014d9575e92adf09b0961c2158a779ebe940c4) ) - ROM_LOAD( "6.5h", 0x0800, 0x0800, CRC(3029f94f) SHA1(3b432b42e79f8b0a7d65e197f373a04e3c92ff20) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "n82s123n.6e", 0x0000, 0x0020, CRC(01004d3f) SHA1(e53cbc54ea96e846481a67bbcccf6b1726e70f9c) ) -ROM_END - -ROM_START( amigo ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "2732.a1", 0x0000, 0x1000, CRC(930dc856) SHA1(7022f1f26830baccdc8b8f0b10fb1d1ccb080f22) ) - ROM_LOAD( "2732.a2", 0x1000, 0x1000, CRC(66282ff5) SHA1(986778278eb339768d190460680e7aa698812488) ) - ROM_LOAD( "2732.a3", 0x2000, 0x1000, CRC(e9d3dc76) SHA1(627c6068c65985175388aec43ac2a4248b004c97) ) - ROM_LOAD( "2732.a4", 0x3000, 0x1000, CRC(4a4086c9) SHA1(6f309b67dc68e06e6eb1d3ee2ae75afe253a4ce3) ) - - ROM_REGION( 0x10000, REGION_CPU2, 0 ) - ROM_LOAD( "amidarus.5c", 0x0000, 0x1000, CRC(8ca7b750) SHA1(4f4c2915503b85abe141d717fd254ee10c9da99e) ) - ROM_LOAD( "amidarus.5d", 0x1000, 0x1000, CRC(9b5bdc0a) SHA1(84d953618c8bf510d23b42232a856ac55f1baff5) ) - - ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "2716.a6", 0x0000, 0x0800, CRC(2082ad0a) SHA1(c6014d9575e92adf09b0961c2158a779ebe940c4) ) - ROM_LOAD( "2716.a5", 0x0800, 0x0800, CRC(3029f94f) SHA1(3b432b42e79f8b0a7d65e197f373a04e3c92ff20) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "amidar.clr", 0x0000, 0x0020, CRC(f940dcc3) SHA1(1015e56f37c244a850a8f4bf0e36668f047fd46d) ) -ROM_END - -ROM_START( turtles ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "turt_vid.2c", 0x0000, 0x1000, CRC(ec5e61fb) SHA1(3ca89800fda7a7e61f54d71d5302908be2706def) ) - ROM_LOAD( "turt_vid.2e", 0x1000, 0x1000, CRC(fd10821e) SHA1(af74602bf2454eb8f3b9bb5c425e2476feeecd69) ) - ROM_LOAD( "turt_vid.2f", 0x2000, 0x1000, CRC(ddcfc5fa) SHA1(2af9383e5a289c2d7fbe6cf5e5b1519c352afbab) ) - ROM_LOAD( "turt_vid.2h", 0x3000, 0x1000, CRC(9e71696c) SHA1(3dcdf5dc601c875fc9d8b9a46e3ef588e7478e0d) ) - ROM_LOAD( "turt_vid.2j", 0x4000, 0x1000, CRC(fcd49fef) SHA1(bb1e91b2e6d4b5a861bf37907ef6b198328d8d83) ) - - ROM_REGION( 0x10000, REGION_CPU2, 0 ) - ROM_LOAD( "turt_snd.5c", 0x0000, 0x1000, CRC(f0c30f9a) SHA1(5621f336e9be8acf986a34bbb8855ed5d45c28ef) ) - ROM_LOAD( "turt_snd.5d", 0x1000, 0x1000, CRC(af5fc43c) SHA1(8a49c55feba094b07380615cf0b6f0878c25a260) ) - - ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "turt_vid.5h", 0x0000, 0x0800, CRC(e5999d52) SHA1(bc3f52cf6c6e19dfd2dacd1e8c9128f437e995fc) ) - ROM_LOAD( "turt_vid.5f", 0x0800, 0x0800, CRC(c3ffd655) SHA1(dee51d77be262a2944488e381541c10a2b6e5d83) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "turtles.clr", 0x0000, 0x0020, CRC(f3ef02dd) SHA1(09fd795170d7d30f101d579f57553da5ff3800ab) ) -ROM_END - -ROM_START( turpin ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "m1", 0x0000, 0x1000, CRC(89177473) SHA1(0717b1e7308ffe527edfc578ec4353809e7d9eea) ) - ROM_LOAD( "m2", 0x1000, 0x1000, CRC(4c6ca5c6) SHA1(dd4ca7adaa523a8e775cdfaa99bb3cc25da32c08) ) - ROM_LOAD( "m3", 0x2000, 0x1000, CRC(62291652) SHA1(82965d3e9608afde4ff06cba1d7a4b11cd904c11) ) - ROM_LOAD( "turt_vid.2h", 0x3000, 0x1000, CRC(9e71696c) SHA1(3dcdf5dc601c875fc9d8b9a46e3ef588e7478e0d) ) - ROM_LOAD( "m5", 0x4000, 0x1000, CRC(7d2600f2) SHA1(1a9bdf63b50419c6e0d9c401c3dcf29d5b459fa6) ) - - ROM_REGION( 0x10000, REGION_CPU2, 0 ) - ROM_LOAD( "turt_snd.5c", 0x0000, 0x1000, CRC(f0c30f9a) SHA1(5621f336e9be8acf986a34bbb8855ed5d45c28ef) ) - ROM_LOAD( "turt_snd.5d", 0x1000, 0x1000, CRC(af5fc43c) SHA1(8a49c55feba094b07380615cf0b6f0878c25a260) ) - - ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "turt_vid.5h", 0x0000, 0x0800, CRC(e5999d52) SHA1(bc3f52cf6c6e19dfd2dacd1e8c9128f437e995fc) ) - ROM_LOAD( "turt_vid.5f", 0x0800, 0x0800, CRC(c3ffd655) SHA1(dee51d77be262a2944488e381541c10a2b6e5d83) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "turtles.clr", 0x0000, 0x0020, CRC(f3ef02dd) SHA1(09fd795170d7d30f101d579f57553da5ff3800ab) ) -ROM_END - -ROM_START( 600 ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "600_vid.2c", 0x0000, 0x1000, CRC(8ee090ae) SHA1(3d491313da6cccd6dbc15774569be0555fe2f73a) ) - ROM_LOAD( "600_vid.2e", 0x1000, 0x1000, CRC(45bfaff2) SHA1(ba4f7aa499f4993ec2191b8832b5604fd41964bc) ) - ROM_LOAD( "600_vid.2f", 0x2000, 0x1000, CRC(9f4c8ed7) SHA1(2564dae82019097227351a7ddc9c5156ca00297a) ) - ROM_LOAD( "600_vid.2h", 0x3000, 0x1000, CRC(a92ef056) SHA1(c319d41a3345b84670fe9110f78332c1cfe1e163) ) - ROM_LOAD( "600_vid.2j", 0x4000, 0x1000, CRC(6dadd72d) SHA1(5602b5ebb2c287f72a5ce873b4e3dfd19b8412a0) ) - - ROM_REGION( 0x10000, REGION_CPU2, 0 ) - ROM_LOAD( "600_snd.5c", 0x0000, 0x1000, CRC(1773c68e) SHA1(cc4aa3a98e85bc6300f8c1ee1a0448071d7c6dfa) ) - ROM_LOAD( "600_snd.5d", 0x1000, 0x1000, CRC(a311b998) SHA1(39af321b8c3f211ed6d083a2aba4fbc8af11c9e8) ) - - ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "600_vid.5h", 0x0000, 0x0800, CRC(006c3d56) SHA1(0c773e0e84d0bf45be5a5a7cfff960c1ca2f0320) ) - ROM_LOAD( "600_vid.5f", 0x0800, 0x0800, CRC(7dbc0426) SHA1(29eeb3cdb5a3bcf7115d8099e4d04cf76216b003) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "turtles.clr", 0x0000, 0x0020, CRC(f3ef02dd) SHA1(09fd795170d7d30f101d579f57553da5ff3800ab) ) -ROM_END - - - -GAME( 1981, amidar, 0, amidar, amidar, amidar, ROT90, "Konami", "Amidar", GAME_SUPPORTS_SAVE ) -GAME( 1982, amidaru, amidar, amidar, amidaru, amidar, ROT90, "Konami (Stern license)", "Amidar (Stern)", GAME_SUPPORTS_SAVE ) -GAME( 1982, amidaro, amidar, amidar, amidaro, amidar, ROT90, "Konami (Olympia license)", "Amidar (Olympia)", GAME_SUPPORTS_SAVE ) -GAME( 1982, amidarb, amidar, amidar, amidaru, amidar, ROT90, "bootleg", "Amidar (Bootleg)", GAME_SUPPORTS_SAVE ) /* Simular to Amigo bootleg */ -GAME( 1982, amigo, amidar, amidar, amidaru, amidar, ROT90, "bootleg", "Amigo", GAME_SUPPORTS_SAVE ) -GAME( 1981, turtles, 0, amidar, turtles, scramble_ppi, ROT90, "[Konami] (Stern license)", "Turtles", GAME_SUPPORTS_SAVE ) -GAME( 1981, turpin, turtles, amidar, turpin, scramble_ppi, ROT90, "[Konami] (Sega license)", "Turpin", GAME_SUPPORTS_SAVE ) -GAME( 1981, 600, turtles, amidar, turtles, scramble_ppi, ROT90, "Konami", "600", GAME_SUPPORTS_SAVE ) diff --git a/src/mame/drivers/dambustr.c b/src/mame/drivers/dambustr.c index 93f4a21f11a..b1a65cb8050 100644 --- a/src/mame/drivers/dambustr.c +++ b/src/mame/drivers/dambustr.c @@ -190,7 +190,7 @@ static MACHINE_DRIVER_START( dambustr ) MDRV_CPU_ADD_TAG("main", Z80, 18432000/6) /* 3.072 MHz */ MDRV_CPU_PROGRAM_MAP(dambustr_readmem, dambustr_writemem) - MDRV_MACHINE_RESET(galaxian) + MDRV_MACHINE_RESET(galaxold) /* video hardware */ MDRV_SCREEN_ADD("main", RASTER) diff --git a/src/mame/drivers/frogger.c b/src/mame/drivers/frogger.c deleted file mode 100644 index 66ad58a3f36..00000000000 --- a/src/mame/drivers/frogger.c +++ /dev/null @@ -1,368 +0,0 @@ -/*************************************************************************** - - Frogger hardware - -***************************************************************************/ - -#include "driver.h" -#include "galaxold.h" -#include "machine/8255ppi.h" -#include "sound/ay8910.h" - - -static const gfx_layout frogger_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 frogger_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( frogger ) - GFXDECODE_ENTRY( REGION_GFX1, 0x0000, frogger_charlayout, 0, 8 ) - GFXDECODE_ENTRY( REGION_GFX1, 0x0000, frogger_spritelayout, 0, 8 ) -GFXDECODE_END - - -static READ8_HANDLER(frogger_ppi8255_0_r) -{ - return ppi8255_0_r(machine, offset >> 1); -} - -static READ8_HANDLER(frogger_ppi8255_1_r) -{ - return ppi8255_1_r(machine, offset >> 1); -} - -static WRITE8_HANDLER(frogger_ppi8255_0_w) -{ - ppi8255_0_w(machine, offset >> 1, data); -} - -static WRITE8_HANDLER(frogger_ppi8255_1_w) -{ - ppi8255_1_w(machine, offset >> 1, data); -} - - -static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_READ(SMH_ROM) - AM_RANGE(0x8000, 0x87ff) AM_READ(SMH_RAM) - AM_RANGE(0x8800, 0x8800) AM_READ(watchdog_reset_r) - AM_RANGE(0xa800, 0xabff) AM_READ(SMH_RAM) - AM_RANGE(0xb000, 0xb0ff) AM_READ(SMH_RAM) - AM_RANGE(0xd000, 0xd007) AM_READ(frogger_ppi8255_1_r) - AM_RANGE(0xe000, 0xe007) AM_READ(frogger_ppi8255_0_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x8000, 0x87ff) AM_WRITE(SMH_RAM) - AM_RANGE(0xa800, 0xabff) AM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram) - AM_RANGE(0xb000, 0xb03f) AM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) - AM_RANGE(0xb040, 0xb05f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) - AM_RANGE(0xb060, 0xb0ff) AM_WRITE(SMH_RAM) - AM_RANGE(0xb808, 0xb808) AM_WRITE(galaxold_nmi_enable_w) - AM_RANGE(0xb80c, 0xb80c) AM_WRITE(galaxold_flip_screen_y_w) - AM_RANGE(0xb810, 0xb810) AM_WRITE(galaxold_flip_screen_x_w) - AM_RANGE(0xb818, 0xb818) AM_WRITE(galaxold_coin_counter_0_w) - AM_RANGE(0xb81c, 0xb81c) AM_WRITE(galaxold_coin_counter_1_w) - AM_RANGE(0xd000, 0xd007) AM_WRITE(frogger_ppi8255_1_w) - AM_RANGE(0xe000, 0xe007) AM_WRITE(frogger_ppi8255_0_w) -ADDRESS_MAP_END - - -static ADDRESS_MAP_START( froggrmc_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x5fff) AM_READ(SMH_ROM) - AM_RANGE(0x8000, 0x87ff) AM_READ(SMH_RAM) - AM_RANGE(0x9000, 0x93ff) AM_READ(SMH_RAM) - AM_RANGE(0x9400, 0x97ff) AM_READ(galaxold_videoram_r) - AM_RANGE(0x9800, 0x98ff) AM_READ(SMH_RAM) - AM_RANGE(0xa000, 0xa000) AM_READ(input_port_0_r) - AM_RANGE(0xa800, 0xa800) AM_READ(input_port_1_r) - AM_RANGE(0xb000, 0xb000) AM_READ(input_port_2_r) - AM_RANGE(0xb800, 0xb800) AM_READ(watchdog_reset_r) -ADDRESS_MAP_END - - -static ADDRESS_MAP_START( froggrmc_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x8000, 0x87ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x9000, 0x93ff) AM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram) - AM_RANGE(0x9800, 0x983f) AM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) - AM_RANGE(0x9840, 0x985f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) - AM_RANGE(0x9860, 0x98ff) AM_WRITE(SMH_RAM) - AM_RANGE(0xa800, 0xa800) AM_WRITE(soundlatch_w) - AM_RANGE(0xb000, 0xb000) AM_WRITE(galaxold_nmi_enable_w) - AM_RANGE(0xb001, 0xb001) AM_WRITE(froggrmc_sh_irqtrigger_w) - AM_RANGE(0xb006, 0xb006) AM_WRITE(galaxold_flip_screen_x_w) - AM_RANGE(0xb007, 0xb007) AM_WRITE(galaxold_flip_screen_y_w) -ADDRESS_MAP_END - - -static ADDRESS_MAP_START( frogger_sound_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x1fff) AM_READ(SMH_ROM) - AM_RANGE(0x4000, 0x43ff) AM_READ(SMH_RAM) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( frogger_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x1fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x4000, 0x43ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x6000, 0x6fff) AM_WRITE(frogger_filter_w) -ADDRESS_MAP_END - - -static ADDRESS_MAP_START( frogger_sound_readport, ADDRESS_SPACE_IO, 8 ) - ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0x40, 0x40) AM_READ(AY8910_read_port_0_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( frogger_sound_writeport, ADDRESS_SPACE_IO, 8 ) - ADDRESS_MAP_GLOBAL_MASK(0xff) - 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 INPUT_PORTS_START( frogger ) - PORT_START_TAG("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* 1P shoot2 - unused */ - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* 1P shoot1 - unused */ - 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( 0x03, 0x00, DEF_STR( Lives ) ) - PORT_DIPSETTING( 0x00, "3" ) - PORT_DIPSETTING( 0x01, "5" ) - PORT_DIPSETTING( 0x02, "7" ) - PORT_DIPSETTING( 0x03, "256 (Cheat)") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* 2P shoot2 - unused */ - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* 2P shoot1 - unused */ - 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, 0x00, DEF_STR( Coinage ) ) - PORT_DIPSETTING( 0x02, "A 2/1 B 2/1 C 2/1" ) - PORT_DIPSETTING( 0x04, "A 2/1 B 1/3 C 2/1" ) - PORT_DIPSETTING( 0x00, "A 1/1 B 1/1 C 1/1" ) - PORT_DIPSETTING( 0x06, "A 1/1 B 1/6 C 1/1" ) - 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_4WAY - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) -INPUT_PORTS_END - - -static INPUT_PORTS_START( froggrmc ) - PORT_START_TAG("IN0") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SERVICE1 ) - - PORT_START_TAG("IN1") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL - PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Lives ) ) - PORT_DIPSETTING( 0xc0, "3" ) - PORT_DIPSETTING( 0x80, "5" ) - PORT_DIPSETTING( 0x40, "7" ) - PORT_DIPSETTING( 0x00, "256 (Cheat)") - - PORT_START_TAG("IN2") - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Cabinet ) ) - PORT_DIPSETTING( 0x01, DEF_STR( Upright ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) ) - PORT_DIPNAME( 0x06, 0x06, DEF_STR( Coinage ) ) - PORT_DIPSETTING( 0x02, "A 2/1 B 2/1 C 2/1" ) - PORT_DIPSETTING( 0x04, "A 2/1 B 1/3 C 2/1" ) - PORT_DIPSETTING( 0x06, "A 1/1 B 1/1 C 1/1" ) - PORT_DIPSETTING( 0x00, "A 1/1 B 1/6 C 1/1" ) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) -INPUT_PORTS_END - -static const struct AY8910interface frogger_ay8910_interface = -{ - soundlatch_r, - frogger_portB_r -}; - - -static MACHINE_DRIVER_START( frogger ) - - /* basic machine hardware */ - MDRV_CPU_ADD_TAG("main", Z80, 18432000/6) /* 3.072 MHz */ - MDRV_CPU_PROGRAM_MAP(readmem,writemem) - - MDRV_CPU_ADD(Z80,14318000/8) - /* audio CPU */ /* 1.78975 MHz */ - MDRV_CPU_PROGRAM_MAP(frogger_sound_readmem,frogger_sound_writemem) - MDRV_CPU_IO_MAP(frogger_sound_readport,frogger_sound_writeport) - - MDRV_MACHINE_RESET(scramble) - - /* video hardware */ - MDRV_SCREEN_ADD("main", RASTER) - MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16) - MDRV_SCREEN_REFRESH_RATE(16000.0/132/2) - MDRV_SCREEN_SIZE(32*8, 32*8) - MDRV_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) - - MDRV_GFXDECODE(frogger) - MDRV_PALETTE_LENGTH(32+64+2+1) /* 32 for characters, 64 for stars, 2 for bullets, 1 for background */ - - MDRV_PALETTE_INIT(frogger) - MDRV_VIDEO_START(frogger) - MDRV_VIDEO_UPDATE(galaxian) - - /* sound hardware */ - MDRV_SPEAKER_STANDARD_MONO("mono") - MDRV_SOUND_ADD(AY8910, 14318000/8) - MDRV_SOUND_CONFIG(frogger_ay8910_interface) - MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.33) -MACHINE_DRIVER_END - - -static MACHINE_DRIVER_START( froggrmc ) - - /* basic machine hardware */ - MDRV_IMPORT_FROM(frogger) - MDRV_CPU_MODIFY("main") - MDRV_CPU_PROGRAM_MAP(froggrmc_readmem,froggrmc_writemem) - - MDRV_VIDEO_START(froggers) -MACHINE_DRIVER_END - - -/*************************************************************************** - - Game driver(s) - -***************************************************************************/ - -ROM_START( frogger ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "frogger.26", 0x0000, 0x1000, CRC(597696d6) SHA1(e7e021776cad00f095a1ebbef407b7c0a8f5d835) ) - ROM_LOAD( "frogger.27", 0x1000, 0x1000, CRC(b6e6fcc3) SHA1(5e8692f2b0c7f4b3642b3ee6670e1c3b20029cdc) ) - ROM_LOAD( "frsm3.7", 0x2000, 0x1000, CRC(aca22ae0) SHA1(5a99060ea2506a3ac7d61ca5876ce5cb3e493565) ) - - ROM_REGION( 0x10000, REGION_CPU2, 0 ) - ROM_LOAD( "frogger.608", 0x0000, 0x0800, CRC(e8ab0256) SHA1(f090afcfacf5f13cdfa0dfda8e3feb868c6ce8bc) ) - ROM_LOAD( "frogger.609", 0x0800, 0x0800, CRC(7380a48f) SHA1(75582a94b696062cbdb66a4c5cf0bc0bb94f81ee) ) - ROM_LOAD( "frogger.610", 0x1000, 0x0800, CRC(31d7eb27) SHA1(2e1d34ae4da385fd7cac94707d25eeddf4604e1a) ) - - ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "frogger.607", 0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) ) - ROM_LOAD( "frogger.606", 0x0800, 0x0800, CRC(f524ee30) SHA1(dd768967add61467baa08d5929001f157d6cd911) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "pr-91.6l", 0x0000, 0x0020, CRC(413703bf) SHA1(66648b2b28d3dcbda5bdb2605d1977428939dd3c) ) -ROM_END - -ROM_START( frogseg1 ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "frogger.26", 0x0000, 0x1000, CRC(597696d6) SHA1(e7e021776cad00f095a1ebbef407b7c0a8f5d835) ) - ROM_LOAD( "frogger.27", 0x1000, 0x1000, CRC(b6e6fcc3) SHA1(5e8692f2b0c7f4b3642b3ee6670e1c3b20029cdc) ) - ROM_LOAD( "frogger.34", 0x2000, 0x1000, CRC(ed866bab) SHA1(24e1bbde44eb5480b7a0570fa0dc1de388cb95ba) ) - - ROM_REGION( 0x10000, REGION_CPU2, 0 ) - ROM_LOAD( "frogger.608", 0x0000, 0x0800, CRC(e8ab0256) SHA1(f090afcfacf5f13cdfa0dfda8e3feb868c6ce8bc) ) - ROM_LOAD( "frogger.609", 0x0800, 0x0800, CRC(7380a48f) SHA1(75582a94b696062cbdb66a4c5cf0bc0bb94f81ee) ) - ROM_LOAD( "frogger.610", 0x1000, 0x0800, CRC(31d7eb27) SHA1(2e1d34ae4da385fd7cac94707d25eeddf4604e1a) ) - - ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "frogger.607", 0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) ) - ROM_LOAD( "frogger.606", 0x0800, 0x0800, CRC(f524ee30) SHA1(dd768967add61467baa08d5929001f157d6cd911) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "pr-91.6l", 0x0000, 0x0020, CRC(413703bf) SHA1(66648b2b28d3dcbda5bdb2605d1977428939dd3c) ) -ROM_END - -ROM_START( frogseg2 ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "frogger.ic5", 0x0000, 0x1000, CRC(efab0c79) SHA1(68c99b6cdcb9396bb473739a62ffc009b4bf57d5) ) - ROM_LOAD( "frogger.ic6", 0x1000, 0x1000, CRC(aeca9c13) SHA1(cdf560adbd7f2813e86e378da7781cccf7928a44) ) - ROM_LOAD( "frogger.ic7", 0x2000, 0x1000, CRC(dd251066) SHA1(4612e1fe1ab7182a277140b1a1976cc17e0746a5) ) - ROM_LOAD( "frogger.ic8", 0x3000, 0x1000, CRC(bf293a02) SHA1(be94e9f5caa74c3de6fd95bd20928f4a9c514227) ) - - ROM_REGION( 0x10000, REGION_CPU2, 0 ) - ROM_LOAD( "frogger.608", 0x0000, 0x0800, CRC(e8ab0256) SHA1(f090afcfacf5f13cdfa0dfda8e3feb868c6ce8bc) ) - ROM_LOAD( "frogger.609", 0x0800, 0x0800, CRC(7380a48f) SHA1(75582a94b696062cbdb66a4c5cf0bc0bb94f81ee) ) - ROM_LOAD( "frogger.610", 0x1000, 0x0800, CRC(31d7eb27) SHA1(2e1d34ae4da385fd7cac94707d25eeddf4604e1a) ) - - ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "frogger.607", 0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) ) - ROM_LOAD( "frogger.606", 0x0800, 0x0800, CRC(f524ee30) SHA1(dd768967add61467baa08d5929001f157d6cd911) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "pr-91.6l", 0x0000, 0x0020, CRC(413703bf) SHA1(66648b2b28d3dcbda5bdb2605d1977428939dd3c) ) -ROM_END - - -ROM_START( froggrmc ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "epr-1031.15", 0x0000, 0x1000, CRC(4b7c8d11) SHA1(9200b33cac0ef5a6647c95ebd25237fa62fcdf30) ) - ROM_LOAD( "epr-1032.16", 0x1000, 0x1000, CRC(ac00b9d9) SHA1(6414d2aa2c0ccb8cb567ffde3acdb693cfd28dbb) ) - ROM_LOAD( "epr-1033.33", 0x2000, 0x1000, CRC(bc1d6fbc) SHA1(c9c040418f0bf7b7fce599592f806e7aaf448c3d) ) - ROM_LOAD( "epr-1034.34", 0x3000, 0x1000, CRC(9efe7399) SHA1(77355160169db256f45286e60ebf6a406527d346) ) - - ROM_REGION( 0x10000, REGION_CPU2, 0 ) - ROM_LOAD( "epr-1082.42", 0x0000, 0x1000, CRC(802843c2) SHA1(059b26ddf1cdc8076d160b872f9d50b97af7f316) ) - ROM_LOAD( "epr-1035.43", 0x1000, 0x0800, CRC(14e74148) SHA1(0023394e971f191c41ff20b47835f1dafb924d15) ) - - ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "frogger.607", 0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) ) - ROM_LOAD( "epr-1036.1k", 0x0800, 0x0800, CRC(658745f8) SHA1(e4e5c3e011c8a7233a36d29e10e08905873500aa) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "pr-91.6l", 0x0000, 0x0020, CRC(413703bf) SHA1(66648b2b28d3dcbda5bdb2605d1977428939dd3c) ) -ROM_END - - - -GAME( 1981, frogger, 0, frogger, frogger, frogger, ROT90, "Konami", "Frogger", GAME_SUPPORTS_SAVE ) -GAME( 1981, frogseg1, frogger, frogger, frogger, frogger, ROT90, "[Konami] (Sega license)", "Frogger (Sega set 1)", GAME_SUPPORTS_SAVE ) -GAME( 1981, frogseg2, frogger, frogger, frogger, frogger, ROT90, "[Konami] (Sega license)", "Frogger (Sega set 2)", GAME_SUPPORTS_SAVE ) -GAME( 1981, froggrmc, frogger, froggrmc, froggrmc, froggers, ROT90, "bootleg?", "Frogger (Moon Cresta hardware)", GAME_SUPPORTS_SAVE ) diff --git a/src/mame/drivers/galaxian.c b/src/mame/drivers/galaxian.c new file mode 100644 index 00000000000..f26adba418b --- /dev/null +++ b/src/mame/drivers/galaxian.c @@ -0,0 +1,2590 @@ +/*************************************************************************** + + Galaxian-derived hardware + + Galaxian is the root hardware for many, many systems developed in the + 1980-1982 timeframe. The basic design, which originated with Namco(?), + was replicated, tweaked, bootlegged, and used numerous times. + + The basic hardware design comprises three sections on a single PCB: + a CPU section, a sound section, and a video section. + + The CPU section is based around a Z80 (though there are modified + designed that changed this to an S2650). The base galaxian hardware + is designed to allow access to up to 16k of program ROM and 2k of + working RAM. + + The sound section consists of three parts. The first part is + a programmable 8-bit down counter that clocks a 4-bit counter which + generates a primitive waveform whose shape is hardcoded but can be + controlled by a pair of variable resistors. The second part is + a set of three 555 timers which can be individually enabled and + combined to produce square waves at fixed separated pitches. A + fourth 555 timer is configured via a 4-bit frequency parameter to + control the overall pitch of the other three. Finally, two single + bit-triggered noise circuits are available. A 17-bit noise LFSR + (which also generates stars for the video circuit) feeds into both + circuits. A "HIT" line enables a simple on/off control of one + filtered output, while a "FIRE" line triggers a fixed short duration + pulse (controlled by another 555 timer) of modulated noise. + + See video/galaxian.c for a description of the video section. + +**************************************************************************** + + Schematics are known to exist for these games: + * Galaxian + * Moon Alien Part 2 + * King and Balloon + + * Moon Cresta + * Moon Shuttle + + * Frogger + * Amidar + * Turtles + + * Scramble + * The End + + * Super Cobra + * Dark Planet + * Lost Tomb + + * Dambusters + +**************************************************************************** + +Main clock: XTAL = 18.432 MHz +Z80 Clock: XTAL/6 = 3.072 MHz +Horizontal video frequency: HSYNC = XTAL/3/192/2 = 16 kHz +Video frequency: VSYNC = HSYNC/132/2 = 60.606060 Hz +VBlank duration: 1/VSYNC * (20/132) = 2500 us + + +Notes: +----- + +- The only code difference between 'galaxian' and 'galmidw' is that the + 'BONUS SHIP' text is printed on a different line. + + +TODO: +---- + +- Problems with Galaxian based on the observation of a real machine: + + - Background humming is incorrect. It's faster on a real machine + - Explosion sound is much softer. Filter involved? + +- $4800-4bff in Streaking/Ghost Muncher + + + +Moon Cresta versions supported: +------------------------------ + +mooncrst Nichibutsu - later revision with better demo mode and + text for docking. Encrypted. No ROM/RAM check +mooncrsu Nichibutsu USA - later revision with better demo mode and + text for docking. Unencrypted. No ROM/RAM check +mooncrsa Nichibutsu - older revision with better demo mode and + text for docking. Encrypted. No ROM/RAM check +mooncrs2 Nichibutsu - probably first revision (no patches) and ROM/RAM check code. + This came from a bootleg board, with the logos erased + from the graphics +mooncrsg Gremlin - same docking text as mooncrst +mooncrsb bootleg of mooncrs2. ROM/RAM check erased. + + +Notes about 'azurian' : +----------------------- + + bit 6 of IN1 is linked with bit 2 of IN2 (check code at 0x05b3) to set difficulty : + + bit 6 bit 2 contents of + IN1 IN2 0x40f4 consequences difficulty + + OFF OFF 2 aliens move 2 frames out of 3 easy + ON OFF 4 aliens move 4 frames out of 5 hard + OFF ON 3 aliens move 3 frames out of 4 normal + ON ON 5 aliens move 5 frames out of 6 very hard + + aliens movements is handled by routine at 0x1d59 : + + - alien 1 moves when 0x4044 != 0 else contents of 0x40f4 is stored at 0x4044 + - alien 2 moves when 0x4054 != 0 else contents of 0x40f4 is stored at 0x4054 + - alien 3 moves when 0x4064 != 0 else contents of 0x40f4 is stored at 0x4064 + + +Notes about 'smooncrs' : +------------------------ + + Due to code at 0x2b1c and 0x3306, the game ALWAYS checks the inputs for player 1 + (even for player 2 when "Cabinet" Dip Switch is set to "Cocktail") + + +Notes about 'scorpnmc' : +----------------------- + + As the START buttons are also the buttons for player 1, how should I map them ? + I've coded this the same way as in 'checkman', but I'm not sure this is correct. + + I can't tell if it's a bug, but if you reset the game when the screen is flipped, + the screens remains flipped (the "flip screen" routine doesn't seem to be called) ! + + +Notes about 'frogg' : +--------------------- + + If bit 5 of IN0 or bit 5 of IN1 is HIGH, something strange occurs (check code + at 0x3580) : each time you press START2 a counter at 0x47da is incremented. + When this counter reaches 0x2f, each next time you press START2, it acts as if + you had pressed COIN2, so credits are added ! + Bit 5 of IN0 is tested if "Cabinet" Dip Switch is set to "Upright" and + bit 5 of IN1 is tested if "Cabinet" Dip Switch is set to "Cocktail". + + +TO DO : +------- + + - smooncrs : fix read/writes at/to unmapped memory (when player 2, "cocktail" mode) + fix the ?#! bug with "bullets" (when player 2, "cocktail" mode) + - zigzag : full Dip Switches and Inputs + - zigzag2 : full Dip Switches and Inputs + - jumpbug : full Dip Switches and Inputs + - jumpbugb : full Dip Switches and Inputs + - levers : full Dip Switches and Inputs + - kingball : full Dip Switches and Inputs + - kingbalj : full Dip Switches and Inputs + - frogg : fix read/writes at/to unmapped/wrong memory + - scprpng : fix read/writes at/to unmapped/wrong memory + +***************************************************************************/ + +#include "driver.h" +#include "cpu/z80/z80.h" +#include "cpu/s2650/s2650.h" +#include "galaxian.h" +#include "machine/8255ppi.h" +#include "sound/ay8910.h" +#include "sound/sn76496.h" +#include "sound/flt_rc.h" +#include "sound/dac.h" +#include "includes/cclimber.h" + + +#define KONAMI_SOUND_CLOCK 14318000 + + + +/************************************* + * + * Globals + * + *************************************/ + +static UINT8 gmgalax_selected_game; +static UINT8 zigzag_ay8910_latch; +static UINT8 kingball_speech_dip; +static UINT8 kingball_sound; +static UINT8 mshuttle_ay8910_cs; +static UINT8 scorpion_sound_data; + +static UINT16 protection_state; +static UINT8 protection_result; + +static UINT8 konami_sound_control; +static UINT8 sfx_sample_control; + +static UINT8 irq_enabled; +static int irq_line; + + + +/************************************* + * + * Interrupts + * + *************************************/ + +static INTERRUPT_GEN( interrupt_gen ) +{ + /* interrupt line is clocked at VBLANK */ + /* a flip-flop at 6F is held in the preset state based on the NMI ON signal */ + if (irq_enabled) + cpunum_set_input_line(machine, 0, irq_line, ASSERT_LINE); +} + + +static WRITE8_HANDLER( irq_enable_w ) +{ + /* the latched D0 bit here goes to the CLEAR line on the interrupt flip-flop */ + irq_enabled = data & 1; + + /* if CLEAR is held low, we must make sure the interrupt signal is clear */ + if (!irq_enabled) + cpunum_set_input_line(machine, 0, irq_line, CLEAR_LINE); +} + + + +/************************************* + * + * DRIVER latch control + * + *************************************/ + +static WRITE8_HANDLER( start_lamp_w ) +{ + /* offset 0 = 1P START LAMP */ + /* offset 1 = 2P START LAMP */ + set_led_status(offset, data & 1); +} + + +static WRITE8_HANDLER( coin_lock_w ) +{ + /* many variants and bootlegs don't have this */ + coin_lockout_global_w(~data & 1); +} + + +static WRITE8_HANDLER( coin_count_0_w ) +{ + coin_counter_w(0, data & 1); +} + + +static WRITE8_HANDLER( coin_count_1_w ) +{ + coin_counter_w(1, data & 1); +} + + + +/************************************* + * + * General Konami sound I/O + * + *************************************/ + +static READ8_HANDLER( konami_ay8910_r ) +{ + /* the decoding here is very simplistic, and you can address both simultaneously */ + UINT8 result = 0xff; + if (offset & 0x20) result &= AY8910_read_port_0_r(machine, 0); + if (offset & 0x80) result &= AY8910_read_port_1_r(machine, 0); + return result; +} + + +static WRITE8_HANDLER( konami_ay8910_w ) +{ + /* the decoding here is very simplistic, and you can address all four simultaneously */ + if (offset & 0x10) AY8910_control_port_0_w(machine, 0, data); + if (offset & 0x20) AY8910_write_port_0_w(machine, 0, data); + if (offset & 0x40) AY8910_control_port_1_w(machine, 0, data); + if (offset & 0x80) AY8910_write_port_1_w(machine, 0, data); +} + + +static WRITE8_HANDLER( konami_sound_control_w ) +{ + UINT8 old = konami_sound_control; + konami_sound_control = data; + + /* the inverse of bit 3 clocks the flip flop to signal an INT */ + /* it is automatically cleared on the acknowledge */ + if ((old & 0x08) && !(data & 0x08)) + cpunum_set_input_line(machine, 1, 0, HOLD_LINE); + + /* bit 4 is sound disable */ + sound_global_enable(~data & 0x10); +} + + +static READ8_HANDLER( konami_sound_timer_r ) +{ + /* + The timer is clocked at KONAMI_SOUND_CLOCK and cascades through a + series of counters. It first encounters a chained pair of 4-bit + counters in an LS393, which produce an effective divide-by-256. Next + it enters the divide-by-2 counter in an LS93, followed by the + divide-by-8 counter. Finally, it clocks a divide-by-5 counter in an + LS90, followed by the divide-by-2 counter. This produces an effective + period of 16*16*2*8*5*2 = 40960 clocks. + + The clock for the sound CPU comes from output C of the first + divide-by-16 counter, or KONAMI_SOUND_CLOCK/8. To recover the + current counter index, we use the sound cpu clock times 8 mod + 16*16*2*8*5*2. + */ + UINT32 cycles = (cpunum_gettotalcycles(1) * 8) % (UINT64)(16*16*2*8*5*2); + UINT8 hibit = 0; + + /* separate the high bit from the others */ + if (cycles >= 16*16*2*8*5) + { + hibit = 1; + cycles -= 16*16*2*8*5; + } + + /* the top bits of the counter index map to various bits here */ + return (hibit << 7) | /* B7 is the output of the final divide-by-2 counter */ + (BIT(cycles,14) << 6) | /* B6 is the high bit of the divide-by-5 counter */ + (BIT(cycles,13) << 5) | /* B5 is the 2nd highest bit of the divide-by-5 counter */ + (BIT(cycles,11) << 4) | /* B4 is the high bit of the divide-by-8 counter */ + 0x0e; /* assume remaining bits are high, except B0 which is grounded */ +} + + +static WRITE8_HANDLER( konami_sound_filter_w ) +{ + int which, chan; + + /* the offset is used as data, 6 channels * 2 bits each */ + for (which = 0; which < 2; which++) + if (sndti_exists(SOUND_AY8910, which)) + for (chan = 0; chan < 3; chan++) + if (sndti_exists(SOUND_FILTER_RC, 3 * which + chan)) + { + UINT8 bits = (offset >> (2 * chan + 6 * (1 - which))) & 3; + int c = 0; + + /* low bit goes to 0.22uF capacitor = 220000pF */ + if (bits & 1) + c += 220000; + + /* high bit goes to 0.047uF capacitor = 47000pF */ + if (bits & 2) + c += 47000; + + /* configure the RC filter on this channel */ + filter_rc_set_RC(3 * which + chan, FLT_RC_LOWPASS, 1000, 5100, 0, CAP_P(c)); + } +} + + +static READ8_HANDLER( konami_porta_0_r ) +{ +// logerror("%04X:ppi0_porta_r\n", activecpu_get_pc()); + return readinputportbytag("IN0"); +} + + +static READ8_HANDLER( konami_portb_0_r ) +{ +// logerror("%04X:ppi0_portb_r\n", activecpu_get_pc()); + return readinputportbytag("IN1"); +} + + +static READ8_HANDLER( konami_portc_0_r ) +{ + logerror("%04X:ppi0_portc_r\n", activecpu_get_pc()); + return readinputportbytag("IN2"); +} + + +static READ8_HANDLER( konami_portc_1_r ) +{ + logerror("%04X:ppi1_portc_r\n", activecpu_get_pc()); + return readinputportbytag("IN3"); +} + + +static WRITE8_HANDLER( konami_portc_0_w ) +{ + logerror("%04X:ppi0_portc_w = %02X\n", activecpu_get_pc(), data); +} + + +static WRITE8_HANDLER( konami_portc_1_w ) +{ + logerror("%04X:ppi1_portc_w = %02X\n", activecpu_get_pc(), data); +} + + +static const ppi8255_interface konami_ppi8255_intf = +{ + 2, + { konami_porta_0_r, NULL }, /* Port A read */ + { konami_portb_0_r, NULL }, /* Port B read */ + { konami_portc_0_r, konami_portc_1_r }, /* Port C read */ + { NULL, soundlatch_w }, /* Port A write */ + { NULL, konami_sound_control_w }, /* Port B write */ + { konami_portc_0_w, konami_portc_1_w }, /* Port C write */ +}; + + + +/************************************* + * + * The End I/O + * + *************************************/ + +static READ8_HANDLER( theend_ppi8255_r ) +{ + /* the decoding here is very simplistic, and you can address both simultaneously */ + UINT8 result = 0xff; + if (offset & 0x0100) result &= ppi8255_0_r(machine, offset & 3); + if (offset & 0x0200) result &= ppi8255_1_r(machine, offset & 3); + return result; +} + + +static WRITE8_HANDLER( theend_ppi8255_w ) +{ + /* the decoding here is very simplistic, and you can address both simultaneously */ + if (offset & 0x0100) ppi8255_0_w(machine, offset & 3, data); + if (offset & 0x0200) ppi8255_1_w(machine, offset & 3, data); +} + + +static WRITE8_HANDLER( theend_coin_counter_w ) +{ + coin_counter_w(0, data & 0x80); +} + + + +/************************************* + * + * Scramble I/O + * + *************************************/ + +static WRITE8_HANDLER( scramble_protection_w ) +{ + /* + This is not fully understood; the low 4 bits of port C are + inputs; the upper 4 bits are outputs. Scramble main set always + writes sequences of 3 or more nibbles to the low port and + expects certain results in the upper nibble afterwards. + */ + protection_state = (protection_state << 4) | (data & 0x0f); + switch (protection_state & 0xfff) + { + /* scramble */ + case 0xf09: protection_result = 0xff; break; + case 0xa49: protection_result = 0xbf; break; + case 0x319: protection_result = 0x4f; break; + case 0x5c9: protection_result = 0x6f; break; + + /* scrambls */ + case 0x246: protection_result ^= 0x80; break; + case 0xb5f: protection_result = 0x6f; break; + } +} + + +static READ8_HANDLER( scramble_protection_r ) +{ + return protection_result; +} + + +static CUSTOM_INPUT( scramble_protection_alt_r ) +{ + /* + There are two additional bits that are derived from bit 7 of + the protection result. This is just a guess but works well enough + to boot scrambls. + */ + return (protection_result >> 7) & 1; +} + + + +/************************************* + * + * Explorer I/O + * + *************************************/ + +static WRITE8_HANDLER( explorer_sound_control_w ) +{ + cpunum_set_input_line(machine, 1, 0, ASSERT_LINE); +} + + +static READ8_HANDLER( explorer_sound_latch_r ) +{ + cpunum_set_input_line(machine, 1, 0, CLEAR_LINE); + return soundlatch_r(machine, 0); +} + + + +/************************************* + * + * SF-X I/O + * + *************************************/ + +static READ8_HANDLER( sfx_sample_io_r ) +{ + /* the decoding here is very simplistic, and you can address both simultaneously */ + UINT8 result = 0xff; + if (offset & 0x04) result &= ppi8255_2_r(machine, offset & 3); + return result; +} + + +static WRITE8_HANDLER( sfx_sample_io_w ) +{ + /* the decoding here is very simplistic, and you can address both simultaneously */ + if (offset & 0x04) ppi8255_2_w(machine, offset & 3, data); + if (offset & 0x10) DAC_0_signed_data_w(machine, offset, data); +} + + +static WRITE8_HANDLER( sfx_sample_control_w ) +{ + UINT8 old = sfx_sample_control; + sfx_sample_control = data; + + /* the inverse of bit 0 clocks the flip flop to signal an INT */ + /* it is automatically cleared on the acknowledge */ + if ((old & 0x01) && !(data & 0x01)) + cpunum_set_input_line(machine, 1, 0, HOLD_LINE); +} + + +static const ppi8255_interface sfx_ppi8255_intf = +{ + 3, + { konami_porta_0_r, NULL, soundlatch2_r }, /* Port A read */ + { konami_portb_0_r, NULL, NULL }, /* Port B read */ + { konami_portc_0_r, konami_portc_1_r, NULL }, /* Port C read */ + { NULL, soundlatch_w, NULL }, /* Port A write */ + { NULL, konami_sound_control_w, NULL }, /* Port B write */ + { konami_portc_0_w, konami_portc_1_w, NULL }, /* Port C write */ +}; + + + +/************************************* + * + * Frogger I/O + * + *************************************/ + +static READ8_HANDLER( frogger_ppi8255_r ) +{ + /* the decoding here is very simplistic, and you can address both simultaneously */ + UINT8 result = 0xff; + if (offset & 0x1000) result &= ppi8255_1_r(machine, (offset >> 1) & 3); + if (offset & 0x2000) result &= ppi8255_0_r(machine, (offset >> 1) & 3); + return result; +} + + +static WRITE8_HANDLER( frogger_ppi8255_w ) +{ + /* the decoding here is very simplistic, and you can address both simultaneously */ + if (offset & 0x1000) ppi8255_1_w(machine, (offset >> 1) & 3, data); + if (offset & 0x2000) ppi8255_0_w(machine, (offset >> 1) & 3, data); +} + + +static READ8_HANDLER( frogger_ay8910_r ) +{ + /* the decoding here is very simplistic */ + UINT8 result = 0xff; + if (offset & 0x40) result &= AY8910_read_port_0_r(machine, 0); + return result; +} + + +static WRITE8_HANDLER( frogger_ay8910_w ) +{ + /* the decoding here is very simplistic, and you can address both simultaneously */ + if (offset & 0x80) AY8910_control_port_0_w(machine, 0, data); + if (offset & 0x40) AY8910_write_port_0_w(machine, 0, data); +} + + +static READ8_HANDLER( frogger_sound_timer_r ) +{ + /* same as regular Konami sound but with bits 3,5 swapped */ + UINT8 konami_value = konami_sound_timer_r(machine, 0); + return BITSWAP8(konami_value, 7,6,3,4,5,2,1,0); +} + + +static WRITE8_HANDLER( froggrmc_sound_control_w ) +{ + cpunum_set_input_line(machine, 1, 0, (data & 1) ? CLEAR_LINE : ASSERT_LINE); +} + + + +/************************************* + * + * Frog (Falcon) I/O + * + *************************************/ + +static READ8_HANDLER( frogf_ppi8255_r ) +{ + /* the decoding here is very simplistic, and you can address both simultaneously */ + UINT8 result = 0xff; + if (offset & 0x1000) result &= ppi8255_0_r(machine, (offset >> 3) & 3); + if (offset & 0x2000) result &= ppi8255_1_r(machine, (offset >> 3) & 3); + return result; +} + + +static WRITE8_HANDLER( frogf_ppi8255_w ) +{ + /* the decoding here is very simplistic, and you can address both simultaneously */ + if (offset & 0x1000) ppi8255_0_w(machine, (offset >> 3) & 3, data); + if (offset & 0x2000) ppi8255_1_w(machine, (offset >> 3) & 3, data); +} + + + +/************************************* + * + * Turtles I/O + * + *************************************/ + +static READ8_HANDLER( turtles_ppi8255_0_r ) { return ppi8255_0_r(machine, (offset >> 4) & 3); } +static READ8_HANDLER( turtles_ppi8255_1_r ) { return ppi8255_1_r(machine, (offset >> 4) & 3); } +static WRITE8_HANDLER( turtles_ppi8255_0_w ) { ppi8255_0_w(machine, (offset >> 4) & 3, data); } +static WRITE8_HANDLER( turtles_ppi8255_1_w ) { ppi8255_1_w(machine, (offset >> 4) & 3, data); } + + + +/************************************* + * + * Scorpion sound I/O + * + *************************************/ + +static READ8_HANDLER( scorpion_ay8910_r ) +{ + /* the decoding here is very simplistic, and you can address both simultaneously */ + UINT8 result = 0xff; + if (offset & 0x08) result &= AY8910_read_port_2_r(machine, 0); + if (offset & 0x20) result &= AY8910_read_port_0_r(machine, 0); + if (offset & 0x80) result &= AY8910_read_port_1_r(machine, 0); + return result; +} + + +static WRITE8_HANDLER( scorpion_ay8910_w ) +{ + /* the decoding here is very simplistic, and you can address all six simultaneously */ + if (offset & 0x04) AY8910_control_port_2_w(machine, 0, data); + if (offset & 0x08) AY8910_write_port_2_w(machine, 0, data); + if (offset & 0x10) AY8910_control_port_0_w(machine, 0, data); + if (offset & 0x20) AY8910_write_port_0_w(machine, 0, data); + if (offset & 0x40) AY8910_control_port_1_w(machine, 0, data); + if (offset & 0x80) AY8910_write_port_1_w(machine, 0, data); +} + + +static READ8_HANDLER( scorpion_protection_r ) +{ + UINT16 paritybits; + UINT8 parity = 0; + + /* compute parity of the current (bitmask & $CE29) */ + for (paritybits = protection_state & 0xce29; paritybits != 0; paritybits >>= 1) + if (paritybits & 1) + parity++; + + /* only the low bit matters for protection, but bit 2 is also checked */ + return parity; +} + + +static WRITE8_HANDLER( scorpion_protection_w ) +{ + /* bit 5 low is a reset */ + if (!(data & 0x20)) + protection_state = 0x0000; + + /* bit 4 low is a clock */ + if (!(data & 0x10)) + { + /* each clock shifts left one bit and ORs in the inverse of the parity */ + protection_state = (protection_state << 1) | (~scorpion_protection_r(machine, 0) & 1); + } +} + + +static READ8_HANDLER( scorpion_sound_status_r ) +{ + logerror("%04X:scorpion_sound_status_r()\n", safe_activecpu_get_pc()); + return 1; +} + + +static WRITE8_HANDLER( scorpion_sound_data_w ) +{ + scorpion_sound_data = data; +// logerror("%04X:scorpion_sound_data_w(%02X)\n", safe_activecpu_get_pc(), data); +} + + +static WRITE8_HANDLER( scorpion_sound_control_w ) +{ + if (!(data & 0x04)) + mame_printf_debug("Secondary sound = %02X\n", scorpion_sound_data); +// logerror("%04X:scorpion_sound_control_w(%02X)\n", safe_activecpu_get_pc(), data); +} + + + +/************************************* + * + * Ghostmuncher Galaxian I/O + * + *************************************/ + +static INPUT_CHANGED( gmgalax_game_changed ) +{ + /* new value is the selected game */ + gmgalax_selected_game = newval; + + /* select the bank and graphics bank based on it */ + memory_set_bank(1, gmgalax_selected_game); + galaxian_gfxbank_w(machine, 0, gmgalax_selected_game); + + /* reset the starts */ + galaxian_stars_enable_w(machine, 0, 0); + + /* reset the CPU */ + cpunum_set_input_line(machine, 0, INPUT_LINE_RESET, PULSE_LINE); +} + + +static CUSTOM_INPUT( gmgalax_port_r ) +{ + const char *portname = param; + if (gmgalax_selected_game != 0) + portname += strlen(portname) + 1; + return readinputportbytag(portname); +} + + + +/************************************* + * + * Zig Zag I/O + * + *************************************/ + +static WRITE8_HANDLER( zigzag_bankswap_w ) +{ + memory_set_bank(1, data & 1); + memory_set_bank(2, ~data & 1); +} + + +static WRITE8_HANDLER( zigzag_ay8910_w ) +{ + switch (offset & 0x300) + { + case 0x000: + /* control lines */ + /* bit 0 = WRITE */ + /* bit 1 = C/D */ + if ((offset & 1) != 0) + { + if ((offset & 2) == 0) + AY8910_write_port_0_w(machine, 0, zigzag_ay8910_latch); + else + AY8910_control_port_0_w(machine, 0, zigzag_ay8910_latch); + } + break; + + case 0x100: + /* data latch */ + zigzag_ay8910_latch = offset & 0xff; + break; + + case 0x200: + /* unknown */ + break; + } +} + + + +/************************************* + * + * Azurian I/O + * + *************************************/ + +static CUSTOM_INPUT( azurian_port_r ) +{ + return (readinputportbytag("FAKE") >> (int)param) & 1; +} + + + +/************************************* + * + * King & Balloon I/O + * + *************************************/ + +static CUSTOM_INPUT( kingball_muxbit_r ) +{ + /* multiplex the service mode switch with a speech DIP switch */ + return (readinputportbytag("FAKE") >> kingball_speech_dip) & 1; +} + + +static CUSTOM_INPUT( kingball_noise_r ) +{ + /* bit 5 is the NOISE line from the sound circuit. The code just verifies + that it's working, doesn't actually use return value, so we can just use + rand() */ + return mame_rand(machine) & 1; +} + + +static WRITE8_HANDLER( kingball_speech_dip_w ) +{ + kingball_speech_dip = data; +} + + +static WRITE8_HANDLER( kingball_sound1_w ) +{ + kingball_sound = (kingball_sound & ~0x01) | data; +} + + +static WRITE8_HANDLER( kingball_sound2_w ) +{ + kingball_sound = (kingball_sound & ~0x02) | (data << 1); + soundlatch_w(machine, 0, kingball_sound | 0xf0); +} + + +static WRITE8_HANDLER( kingball_dac_w ) +{ + DAC_0_data_w(machine, offset, data ^ 0xff); +} + + + +/************************************* + * + * Moon Shuttle I/O + * + *************************************/ + +static WRITE8_HANDLER( mshuttle_ay8910_cs_w ) +{ + mshuttle_ay8910_cs = data & 1; +} + + +static WRITE8_HANDLER( mshuttle_ay8910_control_w ) +{ + if (!mshuttle_ay8910_cs) + AY8910_control_port_0_w(machine, offset, data); +} + + +static WRITE8_HANDLER( mshuttle_ay8910_data_w ) +{ + if (!mshuttle_ay8910_cs) + AY8910_write_port_0_w(machine, offset, data); +} + + +static READ8_HANDLER( mshuttle_ay8910_data_r ) +{ + if (!mshuttle_ay8910_cs) + return AY8910_read_port_0_r(machine, offset); + return 0xff; +} + + + +/************************************* + * + * Jump Bug I/O + * + *************************************/ + +static READ8_HANDLER( jumpbug_protection_r ) +{ + switch (offset) + { + case 0x0114: return 0x4f; + case 0x0118: return 0xd3; + case 0x0214: return 0xcf; + case 0x0235: return 0x02; + case 0x0311: return 0xff; /* not checked */ + } + logerror("Unknown protection read. Offset: %04X PC=%04X\n",0xb000+offset,activecpu_get_pc()); + return 0xff; +} + + + +/************************************* + * + * Checkman I/O + * + *************************************/ + +static WRITE8_HANDLER( checkman_sound_command_w ) +{ + soundlatch_w(machine, 0, data); + cpunum_set_input_line(machine, 1, INPUT_LINE_NMI, PULSE_LINE); +} + + +static TIMER_CALLBACK( checkmaj_irq0_gen ) +{ + cpunum_set_input_line(machine, 1, 0, HOLD_LINE); +} + + +static READ8_HANDLER( checkmaj_protection_r ) +{ + switch (activecpu_get_pc()) + { + case 0x0f15: return 0xf5; + case 0x0f8f: return 0x7c; + case 0x10b3: return 0x7c; + case 0x10e0: return 0x00; + case 0x10f1: return 0xaa; + case 0x1402: return 0xaa; + default: + logerror("Unknown protection read. PC=%04X\n",activecpu_get_pc()); + } + + return 0; +} + + + +/************************************* + * + * Dingo I/O + * + *************************************/ + +static READ8_HANDLER( dingo_3000_r ) +{ + return 0xaa; +} + + +static READ8_HANDLER( dingo_3035_r ) +{ + return 0x8c; +} + + +static READ8_HANDLER( dingoe_3001_r ) +{ + return 0xaa; +} + + + +/************************************* + * + * Memory maps + * + *************************************/ + +/* +0000-3fff + + +4000-7fff + 4000-47ff -> RAM read/write (10 bits = 0x400) + 4800-4fff -> n/c + 5000-57ff -> /VRAM RD or /VRAM WR (10 bits = 0x400) + 5800-5fff -> /OBJRAM RD or /OBJRAM WR (8 bits = 0x100) + 6000-67ff -> /SW0 or /DRIVER + 6800-6fff -> /SW1 or /SOUND + 7000-77ff -> /DIPSW or LATCH + 7800-7fff -> /WDR or /PITCH + +/DRIVER: (write 6000-67ff) + D0 = data bit + A0-A2 = decoder + 6000 -> 1P START + 6001 -> 2P START + 6002 -> COIN LOCKOUT + 6003 -> COIN COUNTER + 6004 -> 1M resistor (controls 555 timer @ 9R) + 6005 -> 470k resistor (controls 555 timer @ 9R) + 6006 -> 220k resistor (controls 555 timer @ 9R) + 6007 -> 100k resistor (controls 555 timer @ 9R) + +/SOUND: (write 6800-6fff) + D0 = data bit + A0-A2 = decoder + 6800 -> FS1 (enables 555 timer at 8R) + 6801 -> FS2 (enables 555 timer at 8S) + 6802 -> FS3 (enables 555 timer at 8T) + 6803 -> HIT + 6804 -> n/c + 6805 -> FIRE + 6806 -> VOL1 + 6807 -> VOL2 + +LATCH: (write 7000-77ff) + D0 = data bit + A0-A2 = decoder + 7000 -> n/c + 7001 -> NMI ON + 7002 -> n/c + 7003 -> n/c + 7004 -> STARS ON + 7005 -> n/c + 7006 -> HFLIP + 7007 -> VFLIP + +/PITCH: (write 7800-7fff) + loads latch at 9J +*/ + +/* map derived from schematics */ +static ADDRESS_MAP_START( galaxian_map, ADDRESS_SPACE_PROGRAM, 8 ) + ADDRESS_MAP_UNMAP_HIGH + AM_RANGE(0x0000, 0x3fff) AM_ROM + AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0x0400) AM_RAM + AM_RANGE(0x5000, 0x53ff) AM_MIRROR(0x0400) AM_READWRITE(SMH_RAM, galaxian_videoram_w) AM_BASE(&videoram) + AM_RANGE(0x5800, 0x58ff) AM_MIRROR(0x0700) AM_READWRITE(SMH_RAM, galaxian_objram_w) AM_BASE(&spriteram) + AM_RANGE(0x6000, 0x6000) AM_MIRROR(0x07ff) AM_READ_PORT("IN0") + AM_RANGE(0x6000, 0x6001) AM_MIRROR(0x07f8) AM_WRITE(start_lamp_w) + AM_RANGE(0x6002, 0x6002) AM_MIRROR(0x07f8) AM_WRITE(coin_lock_w) + AM_RANGE(0x6003, 0x6003) AM_MIRROR(0x07f8) AM_WRITE(coin_count_0_w) + AM_RANGE(0x6004, 0x6007) AM_MIRROR(0x07f8) AM_WRITE(galaxian_lfo_freq_w) + AM_RANGE(0x6800, 0x6800) AM_MIRROR(0x07ff) AM_READ_PORT("IN1") + AM_RANGE(0x6800, 0x6807) AM_MIRROR(0x07f8) AM_WRITE(galaxian_sound_w) + AM_RANGE(0x7000, 0x7000) AM_MIRROR(0x07ff) AM_READ_PORT("IN2") + AM_RANGE(0x7001, 0x7001) AM_MIRROR(0x07f8) AM_WRITE(irq_enable_w) + AM_RANGE(0x7004, 0x7004) AM_MIRROR(0x07f8) AM_WRITE(galaxian_stars_enable_w) + AM_RANGE(0x7006, 0x7006) AM_MIRROR(0x07f8) AM_WRITE(galaxian_flip_screen_x_w) + AM_RANGE(0x7007, 0x7007) AM_MIRROR(0x07f8) AM_WRITE(galaxian_flip_screen_y_w) + AM_RANGE(0x7800, 0x7800) AM_MIRROR(0x07ff) AM_WRITE(galaxian_pitch_w) + AM_RANGE(0x7800, 0x7800) AM_MIRROR(0x07ff) AM_READ(watchdog_reset_r) +ADDRESS_MAP_END + + +/* map derived from schematics */ +static ADDRESS_MAP_START( mooncrst_map, ADDRESS_SPACE_PROGRAM, 8 ) + ADDRESS_MAP_UNMAP_HIGH + AM_RANGE(0x0000, 0x3fff) AM_ROM + AM_RANGE(0x8000, 0x83ff) AM_MIRROR(0x0400) AM_RAM + AM_RANGE(0x9000, 0x93ff) AM_MIRROR(0x0400) AM_READWRITE(SMH_RAM, galaxian_videoram_w) AM_BASE(&videoram) + AM_RANGE(0x9800, 0x98ff) AM_MIRROR(0x0700) AM_READWRITE(SMH_RAM, galaxian_objram_w) AM_BASE(&spriteram) + AM_RANGE(0xa000, 0xa000) AM_MIRROR(0x07ff) AM_READ_PORT("IN0") + AM_RANGE(0xa000, 0xa002) AM_MIRROR(0x07f8) AM_WRITE(galaxian_gfxbank_w) + AM_RANGE(0xa003, 0xa003) AM_MIRROR(0x07f8) AM_WRITE(coin_count_0_w) + AM_RANGE(0xa004, 0xa007) AM_MIRROR(0x07f8) AM_WRITE(galaxian_lfo_freq_w) + AM_RANGE(0xa800, 0xa800) AM_MIRROR(0x07ff) AM_READ_PORT("IN1") + AM_RANGE(0xa800, 0xa807) AM_MIRROR(0x07f8) AM_WRITE(galaxian_sound_w) + AM_RANGE(0xb000, 0xb000) AM_MIRROR(0x07ff) AM_READ_PORT("IN2") + AM_RANGE(0xb000, 0xb000) AM_MIRROR(0x07f8) AM_WRITE(irq_enable_w) + AM_RANGE(0xb004, 0xb004) AM_MIRROR(0x07f8) AM_WRITE(galaxian_stars_enable_w) + AM_RANGE(0xb006, 0xb006) AM_MIRROR(0x07f8) AM_WRITE(galaxian_flip_screen_x_w) + AM_RANGE(0xb007, 0xb007) AM_MIRROR(0x07f8) AM_WRITE(galaxian_flip_screen_y_w) + AM_RANGE(0xb800, 0xb800) AM_MIRROR(0x07ff) AM_WRITE(galaxian_pitch_w) + AM_RANGE(0xb800, 0xb800) AM_MIRROR(0x07ff) AM_READ(watchdog_reset_r) +ADDRESS_MAP_END + + +/* map derived from schematics */ +#if 0 +static ADDRESS_MAP_START( dambustr_map, ADDRESS_SPACE_PROGRAM, 8 ) + ADDRESS_MAP_UNMAP_HIGH + AM_RANGE(0x0000, 0x7fff) AM_ROM +// AM_RANGE(0x8000, 0x8000) AM_WRITE(dambustr_bg_color_w) +// AM_RANGE(0x8001, 0x8001) AM_WRITE(dambustr_bg_split_line_w) + AM_RANGE(0xc000, 0xc3ff) AM_MIRROR(0x0400) AM_RAM + AM_RANGE(0xd000, 0xd3ff) AM_MIRROR(0x0400) AM_READWRITE(SMH_RAM, galaxian_videoram_w) AM_BASE(&videoram) + AM_RANGE(0xd800, 0xd8ff) AM_MIRROR(0x0700) AM_READWRITE(SMH_RAM, galaxian_objram_w) AM_BASE(&spriteram) + AM_RANGE(0xe000, 0xe000) AM_MIRROR(0x07ff) AM_READ_PORT("IN0") + AM_RANGE(0xe004, 0xe007) AM_MIRROR(0x07f8) AM_WRITE(galaxian_lfo_freq_w) + AM_RANGE(0xe800, 0xe800) AM_MIRROR(0x07ff) AM_READ_PORT("IN1") + AM_RANGE(0xe800, 0xe807) AM_MIRROR(0x07f8) AM_WRITE(galaxian_sound_w) + AM_RANGE(0xf000, 0xf000) AM_MIRROR(0x07ff) AM_READ_PORT("IN2") + AM_RANGE(0xf001, 0xf001) AM_MIRROR(0x07f8) AM_WRITE(irq_enable_w) + AM_RANGE(0xf004, 0xf004) AM_MIRROR(0x07f8) AM_WRITE(galaxian_stars_enable_w) + AM_RANGE(0xf006, 0xf006) AM_MIRROR(0x07f8) AM_WRITE(galaxian_flip_screen_x_w) + AM_RANGE(0xf007, 0xf007) AM_MIRROR(0x07f8) AM_WRITE(galaxian_flip_screen_y_w) + AM_RANGE(0xf800, 0xf800) AM_MIRROR(0x07ff) AM_READ(watchdog_reset_r) + AM_RANGE(0xf800, 0xf800) AM_MIRROR(0x07ff) AM_WRITE(galaxian_pitch_w) +ADDRESS_MAP_END +#endif + + +/* map derived from schematics */ +static ADDRESS_MAP_START( theend_map, ADDRESS_SPACE_PROGRAM, 8 ) + ADDRESS_MAP_UNMAP_HIGH + AM_RANGE(0x0000, 0x3fff) AM_ROM + AM_RANGE(0x4000, 0x47ff) AM_RAM + AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0x0400) AM_READWRITE(SMH_RAM, galaxian_videoram_w) AM_BASE(&videoram) + AM_RANGE(0x5000, 0x50ff) AM_MIRROR(0x0700) AM_READWRITE(SMH_RAM, galaxian_objram_w) AM_BASE(&spriteram) + AM_RANGE(0x6801, 0x6801) AM_MIRROR(0x07f8) AM_WRITE(irq_enable_w) + AM_RANGE(0x6802, 0x6802) AM_MIRROR(0x07f8) AM_WRITE(coin_count_0_w) + AM_RANGE(0x6803, 0x6803) AM_MIRROR(0x07f8) AM_WRITE(scramble_background_enable_w) + AM_RANGE(0x6804, 0x6804) AM_MIRROR(0x07f8) AM_WRITE(galaxian_stars_enable_w) + AM_RANGE(0x6805, 0x6805) AM_MIRROR(0x07f8) //POUT2 + AM_RANGE(0x6806, 0x6806) AM_MIRROR(0x07f8) AM_WRITE(galaxian_flip_screen_x_w) + AM_RANGE(0x6807, 0x6807) AM_MIRROR(0x07f8) AM_WRITE(galaxian_flip_screen_y_w) + AM_RANGE(0x7000, 0x7000) AM_MIRROR(0x07ff) AM_READ(watchdog_reset_r) + AM_RANGE(0x8000, 0xffff) AM_READWRITE(theend_ppi8255_r, theend_ppi8255_w) +ADDRESS_MAP_END + + +/* map derived from schematics */ +static ADDRESS_MAP_START( scobra_map, ADDRESS_SPACE_PROGRAM, 8 ) + ADDRESS_MAP_UNMAP_HIGH + AM_RANGE(0x0000, 0x7fff) AM_ROM + AM_RANGE(0x8000, 0x87ff) AM_MIRROR(0x4000) AM_RAM + AM_RANGE(0x8800, 0x8bff) AM_MIRROR(0x4400) AM_READWRITE(SMH_RAM, galaxian_videoram_w) AM_BASE(&videoram) + AM_RANGE(0x9000, 0x90ff) AM_MIRROR(0x4700) AM_READWRITE(SMH_RAM, galaxian_objram_w) AM_BASE(&spriteram) + AM_RANGE(0x9800, 0x9803) AM_MIRROR(0x47fc) AM_READWRITE(ppi8255_0_r, ppi8255_0_w) + AM_RANGE(0xa000, 0xa003) AM_MIRROR(0x47fc) AM_READWRITE(ppi8255_1_r, ppi8255_1_w) + AM_RANGE(0xa801, 0xa801) AM_MIRROR(0x47f8) AM_WRITE(irq_enable_w) + AM_RANGE(0xa802, 0xa802) AM_MIRROR(0x47f8) AM_WRITE(coin_count_0_w) + AM_RANGE(0xa803, 0xa803) AM_MIRROR(0x47f8) AM_WRITE(scramble_background_enable_w) + AM_RANGE(0xa804, 0xa804) AM_MIRROR(0x47f8) AM_WRITE(galaxian_stars_enable_w) + AM_RANGE(0xa805, 0xa805) AM_MIRROR(0x47f8) /* POUT2 */ + AM_RANGE(0xa806, 0xa806) AM_MIRROR(0x47f8) AM_WRITE(galaxian_flip_screen_x_w) + AM_RANGE(0xa807, 0xa807) AM_MIRROR(0x47f8) AM_WRITE(galaxian_flip_screen_y_w) + AM_RANGE(0xb000, 0xb000) AM_MIRROR(0x47ff) AM_READ(watchdog_reset_r) +ADDRESS_MAP_END + + +/* map derived from schematics */ +static ADDRESS_MAP_START( frogger_map, ADDRESS_SPACE_PROGRAM, 8 ) + ADDRESS_MAP_UNMAP_HIGH + AM_RANGE(0x0000, 0x3fff) AM_ROM + AM_RANGE(0x8000, 0x87ff) AM_RAM + AM_RANGE(0x8800, 0x8800) AM_MIRROR(0x07ff) AM_READ(watchdog_reset_r) + AM_RANGE(0xa800, 0xabff) AM_MIRROR(0x0400) AM_READWRITE(SMH_RAM, galaxian_videoram_w) AM_BASE(&videoram) + AM_RANGE(0xb000, 0xb0ff) AM_MIRROR(0x0700) AM_READWRITE(SMH_RAM, galaxian_objram_w) AM_BASE(&spriteram) + AM_RANGE(0xb808, 0xb808) AM_MIRROR(0x07e3) AM_WRITE(irq_enable_w) + AM_RANGE(0xb80c, 0xb80c) AM_MIRROR(0x07e3) AM_WRITE(galaxian_flip_screen_y_w) + AM_RANGE(0xb810, 0xb810) AM_MIRROR(0x07e3) AM_WRITE(galaxian_flip_screen_x_w) + AM_RANGE(0xb818, 0xb818) AM_MIRROR(0x07e3) AM_WRITE(coin_count_0_w) /* IOPC7 */ + AM_RANGE(0xb81c, 0xb81c) AM_MIRROR(0x07e3) AM_WRITE(coin_count_1_w) /* POUT1 */ + AM_RANGE(0xc000, 0xffff) AM_READWRITE(frogger_ppi8255_r, frogger_ppi8255_w) +ADDRESS_MAP_END + + +/* map derived from schematics */ +static ADDRESS_MAP_START( turtles_map, ADDRESS_SPACE_PROGRAM, 8 ) + ADDRESS_MAP_UNMAP_HIGH + AM_RANGE(0x0000, 0x7fff) AM_ROM + AM_RANGE(0x8000, 0x87ff) AM_MIRROR(0x4000) AM_RAM + AM_RANGE(0x9000, 0x93ff) AM_MIRROR(0x4400) AM_READWRITE(SMH_RAM, galaxian_videoram_w) AM_BASE(&videoram) + AM_RANGE(0x9800, 0x98ff) AM_MIRROR(0x4700) AM_READWRITE(SMH_RAM, galaxian_objram_w) AM_BASE(&spriteram) + AM_RANGE(0xa000, 0xa000) AM_MIRROR(0x47c7) AM_WRITE(scramble_background_red_w) + AM_RANGE(0xa008, 0xa008) AM_MIRROR(0x47c7) AM_WRITE(irq_enable_w) + AM_RANGE(0xa010, 0xa010) AM_MIRROR(0x47c7) AM_WRITE(galaxian_flip_screen_y_w) + AM_RANGE(0xa018, 0xa018) AM_MIRROR(0x47c7) AM_WRITE(galaxian_flip_screen_x_w) + AM_RANGE(0xa020, 0xa020) AM_MIRROR(0x47c7) AM_WRITE(scramble_background_green_w) + AM_RANGE(0xa028, 0xa028) AM_MIRROR(0x47c7) AM_WRITE(scramble_background_blue_w) + AM_RANGE(0xa030, 0xa030) AM_MIRROR(0x47c7) AM_WRITE(coin_count_0_w) + AM_RANGE(0xa038, 0xa038) AM_MIRROR(0x47c7) AM_WRITE(coin_count_1_w) + AM_RANGE(0xa800, 0xa800) AM_MIRROR(0x47ff) AM_READ(watchdog_reset_r) + AM_RANGE(0xb000, 0xb03f) AM_MIRROR(0x47cf) AM_READWRITE(turtles_ppi8255_0_r, turtles_ppi8255_0_w) + AM_RANGE(0xb800, 0xb83f) AM_MIRROR(0x47cf) AM_READWRITE(turtles_ppi8255_1_r, turtles_ppi8255_1_w) +ADDRESS_MAP_END + + +/* this is the same as theend, except for separate RGB background controls + and some extra ROM space at $7000 and $C000 */ +static ADDRESS_MAP_START( sfx_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x3fff) AM_ROM + AM_RANGE(0x4000, 0x47ff) AM_RAM + AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0x0400) AM_READWRITE(SMH_RAM, galaxian_videoram_w) AM_BASE(&videoram) + AM_RANGE(0x5000, 0x50ff) AM_MIRROR(0x0700) AM_READWRITE(SMH_RAM, galaxian_objram_w) AM_BASE(&spriteram) + AM_RANGE(0x6800, 0x6800) AM_MIRROR(0x07f8) AM_WRITE(scramble_background_red_w) + AM_RANGE(0x6801, 0x6801) AM_MIRROR(0x07f8) AM_WRITE(irq_enable_w) + AM_RANGE(0x6802, 0x6802) AM_MIRROR(0x07f8) AM_WRITE(coin_count_0_w) + AM_RANGE(0x6803, 0x6803) AM_MIRROR(0x07f8) AM_WRITE(scramble_background_blue_w) + AM_RANGE(0x6804, 0x6804) AM_MIRROR(0x07f8) AM_WRITE(galaxian_stars_enable_w) + AM_RANGE(0x6805, 0x6805) AM_MIRROR(0x07f8) AM_WRITE(scramble_background_green_w) + AM_RANGE(0x6806, 0x6806) AM_MIRROR(0x07f8) AM_WRITE(galaxian_flip_screen_x_w) + AM_RANGE(0x6807, 0x6807) AM_MIRROR(0x07f8) AM_WRITE(galaxian_flip_screen_y_w) + AM_RANGE(0x7000, 0x7fff) AM_ROM + AM_RANGE(0x8000, 0xbfff) AM_READWRITE(theend_ppi8255_r, theend_ppi8255_w) + AM_RANGE(0xc000, 0xefff) AM_ROM +ADDRESS_MAP_END + + +/* changes from galaxian map: + galaxian sound removed + $4800-$57ff: cointains video and object RAM (normally at $5000-$5fff) + $5800-$5fff: AY-8910 access added + $6002-$6006: graphics banking controls replace coin lockout, coin counter, and lfo + $7002: coin counter (moved from $6003) + $8000-$afff: additional ROM area + $b000-$bfff: protection +*/ +static ADDRESS_MAP_START( jumpbug_map, ADDRESS_SPACE_PROGRAM, 8 ) + ADDRESS_MAP_UNMAP_HIGH + AM_RANGE(0x0000, 0x3fff) AM_ROM + AM_RANGE(0x4000, 0x47ff) AM_RAM + AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0x0400) AM_READWRITE(SMH_RAM, galaxian_videoram_w) AM_BASE(&videoram) + AM_RANGE(0x5000, 0x50ff) AM_MIRROR(0x0700) AM_READWRITE(SMH_RAM, galaxian_objram_w) AM_BASE(&spriteram) + AM_RANGE(0x5800, 0x5800) AM_MIRROR(0x00ff) AM_WRITE(AY8910_write_port_0_w) + AM_RANGE(0x5900, 0x5900) AM_MIRROR(0x00ff) AM_WRITE(AY8910_control_port_0_w) + AM_RANGE(0x6000, 0x6000) AM_MIRROR(0x07ff) AM_READ_PORT("IN0") + AM_RANGE(0x6002, 0x6006) AM_MIRROR(0x07f8) AM_WRITE(galaxian_gfxbank_w) + AM_RANGE(0x6800, 0x6800) AM_MIRROR(0x07ff) AM_READ_PORT("IN1") + AM_RANGE(0x7000, 0x7000) AM_MIRROR(0x07ff) AM_READ_PORT("IN2") + AM_RANGE(0x7001, 0x7001) AM_MIRROR(0x07f8) AM_WRITE(irq_enable_w) + AM_RANGE(0x7002, 0x7002) AM_MIRROR(0x07f8) AM_WRITE(coin_count_0_w) + AM_RANGE(0x7004, 0x7004) AM_MIRROR(0x07f8) AM_WRITE(galaxian_stars_enable_w) + AM_RANGE(0x7006, 0x7006) AM_MIRROR(0x07f8) AM_WRITE(galaxian_flip_screen_x_w) + AM_RANGE(0x7007, 0x7007) AM_MIRROR(0x07f8) AM_WRITE(galaxian_flip_screen_y_w) + AM_RANGE(0x8000, 0xafff) AM_ROM + AM_RANGE(0xb000, 0xbfff) AM_READ(jumpbug_protection_r) +ADDRESS_MAP_END + + +static ADDRESS_MAP_START( frogf_map, ADDRESS_SPACE_PROGRAM, 8 ) + ADDRESS_MAP_UNMAP_HIGH + AM_RANGE(0x0000, 0x3fff) AM_ROM + AM_RANGE(0x8000, 0x87ff) AM_RAM + AM_RANGE(0x8800, 0x8bff) AM_MIRROR(0x0400) AM_READWRITE(SMH_RAM, galaxian_videoram_w) AM_BASE(&videoram) + AM_RANGE(0x9000, 0x90ff) AM_MIRROR(0x0700) AM_READWRITE(SMH_RAM, galaxian_objram_w) AM_BASE(&spriteram) + AM_RANGE(0xa802, 0xa802) AM_MIRROR(0x07f1) AM_WRITE(galaxian_flip_screen_x_w) + AM_RANGE(0xa804, 0xa804) AM_MIRROR(0x07f1) AM_WRITE(irq_enable_w) + AM_RANGE(0xa806, 0xa806) AM_MIRROR(0x07f1) AM_WRITE(galaxian_flip_screen_y_w) + AM_RANGE(0xa808, 0xa808) AM_MIRROR(0x07f1) AM_WRITE(coin_count_1_w) + AM_RANGE(0xa80e, 0xa80e) AM_MIRROR(0x07f1) AM_WRITE(coin_count_0_w) + AM_RANGE(0xb800, 0xb800) AM_MIRROR(0x07ff) AM_READ(watchdog_reset_r) + AM_RANGE(0xc000, 0xffff) AM_READWRITE(frogf_ppi8255_r, frogf_ppi8255_w) +ADDRESS_MAP_END + + +/* mooncrst */ +static ADDRESS_MAP_START( mshuttle_map, ADDRESS_SPACE_PROGRAM, 8 ) + ADDRESS_MAP_UNMAP_HIGH + AM_RANGE(0x0000, 0x7fff) AM_ROM + AM_RANGE(0x8000, 0x83ff) AM_RAM + AM_RANGE(0x9000, 0x93ff) AM_MIRROR(0x0400) AM_READWRITE(SMH_RAM, galaxian_videoram_w) AM_BASE(&videoram) + AM_RANGE(0x9800, 0x98ff) AM_MIRROR(0x0700) AM_READWRITE(SMH_RAM, galaxian_objram_w) AM_BASE(&spriteram) + AM_RANGE(0xa000, 0xa000) AM_READ_PORT("IN0") + AM_RANGE(0xa000, 0xa000) AM_WRITE(irq_enable_w) + AM_RANGE(0xa001, 0xa001) AM_WRITE(galaxian_stars_enable_w) + AM_RANGE(0xa002, 0xa002) AM_WRITE(galaxian_flip_screen_xy_w) + AM_RANGE(0xa004, 0xa004) AM_WRITE(cclimber_sample_trigger_w) + AM_RANGE(0xa007, 0xa007) AM_WRITE(mshuttle_ay8910_cs_w) + AM_RANGE(0xa800, 0xa800) AM_READ_PORT("IN1") + AM_RANGE(0xa800, 0xa800) AM_WRITE(cclimber_sample_rate_w) + AM_RANGE(0xb000, 0xb000) AM_READ_PORT("IN2") + AM_RANGE(0xb000, 0xb000) AM_WRITE(cclimber_sample_volume_w) + AM_RANGE(0xb800, 0xb800) AM_READ(watchdog_reset_r) +ADDRESS_MAP_END + +static ADDRESS_MAP_START( mshuttle_portmap, ADDRESS_SPACE_IO, 8 ) + ADDRESS_MAP_UNMAP_HIGH + ADDRESS_MAP_GLOBAL_MASK(0x0f) + AM_RANGE(0x08, 0x08) AM_WRITE(mshuttle_ay8910_control_w) + AM_RANGE(0x09, 0x09) AM_WRITE(mshuttle_ay8910_data_w) + AM_RANGE(0x0c, 0x0c) AM_READ(mshuttle_ay8910_data_r) +ADDRESS_MAP_END + + + +/************************************* + * + * Sound CPU memory maps + * + *************************************/ + +/* Konami Frogger with 1 x AY-8910A */ +static ADDRESS_MAP_START( frogger_sound_map, ADDRESS_SPACE_PROGRAM, 8 ) + ADDRESS_MAP_GLOBAL_MASK(0x7fff) + AM_RANGE(0x0000, 0x1fff) AM_ROM + AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0x1c00) AM_RAM + AM_RANGE(0x6000, 0x6fff) AM_MIRROR(0x1000) AM_WRITE(konami_sound_filter_w) +ADDRESS_MAP_END + +static ADDRESS_MAP_START( frogger_sound_portmap, ADDRESS_SPACE_IO, 8 ) + ADDRESS_MAP_GLOBAL_MASK(0xff) + AM_RANGE(0x00, 0xff) AM_READWRITE(frogger_ay8910_r, frogger_ay8910_w) +ADDRESS_MAP_END + + +/* Konami generic with 2 x AY-8910A */ +static ADDRESS_MAP_START( konami_sound_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x2fff) AM_ROM + AM_RANGE(0x8000, 0x83ff) AM_MIRROR(0x6c00) AM_RAM + AM_RANGE(0x9000, 0x9fff) AM_MIRROR(0x6000) AM_WRITE(konami_sound_filter_w) +ADDRESS_MAP_END + +static ADDRESS_MAP_START( konami_sound_portmap, ADDRESS_SPACE_IO, 8 ) + ADDRESS_MAP_GLOBAL_MASK(0xff) + AM_RANGE(0x00, 0xff) AM_READWRITE(konami_ay8910_r, konami_ay8910_w) +ADDRESS_MAP_END + + +/* Checkman with 1 x AY-8910A */ +static ADDRESS_MAP_START( checkman_sound_map, ADDRESS_SPACE_PROGRAM, 8 ) + ADDRESS_MAP_UNMAP_HIGH + AM_RANGE(0x0000, 0x0fff) AM_ROM + AM_RANGE(0x2000, 0x23ff) AM_RAM +ADDRESS_MAP_END + +static ADDRESS_MAP_START( checkman_sound_portmap, ADDRESS_SPACE_IO, 8 ) + ADDRESS_MAP_UNMAP_HIGH + ADDRESS_MAP_GLOBAL_MASK(0xff) + AM_RANGE(0x03, 0x03) AM_READ(soundlatch_r) + AM_RANGE(0x04, 0x04) AM_WRITE(AY8910_control_port_0_w) + AM_RANGE(0x05, 0x05) AM_WRITE(AY8910_write_port_0_w) + AM_RANGE(0x06, 0x06) AM_READ(AY8910_read_port_0_r) +ADDRESS_MAP_END + + +/* Checkman alternate with 1 x AY-8910A */ +static ADDRESS_MAP_START( checkmaj_sound_map, ADDRESS_SPACE_PROGRAM, 8 ) + ADDRESS_MAP_UNMAP_HIGH + AM_RANGE(0x0000, 0x0fff) AM_ROM + AM_RANGE(0x8000, 0x83ff) AM_RAM + AM_RANGE(0xa000, 0xa000) AM_WRITE(AY8910_control_port_0_w) + AM_RANGE(0xa001, 0xa001) AM_WRITE(AY8910_write_port_0_w) + AM_RANGE(0xa002, 0xa002) AM_READ(AY8910_read_port_0_r) +ADDRESS_MAP_END + + +/* King and Balloon with DAC */ +static ADDRESS_MAP_START( kingball_sound_map, ADDRESS_SPACE_PROGRAM, 8 ) + ADDRESS_MAP_UNMAP_HIGH + ADDRESS_MAP_GLOBAL_MASK(0x3fff) + AM_RANGE(0x0000, 0x1fff) AM_ROM + AM_RANGE(0x0000, 0x03ff) AM_MIRROR(0x1c00) AM_RAM +ADDRESS_MAP_END + +static ADDRESS_MAP_START( kingball_sound_portmap, ADDRESS_SPACE_IO, 8 ) + ADDRESS_MAP_UNMAP_HIGH + ADDRESS_MAP_GLOBAL_MASK(0xff) + AM_RANGE(0x00, 0x00) AM_MIRROR(0xff) AM_READWRITE(soundlatch_r, kingball_dac_w) +ADDRESS_MAP_END + + +/* SF-X sample player */ +static ADDRESS_MAP_START( sfx_sample_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x5fff) AM_ROM + AM_RANGE(0x8000, 0x83ff) AM_MIRROR(0x6c00) AM_RAM +ADDRESS_MAP_END + +static ADDRESS_MAP_START( sfx_sample_portmap, ADDRESS_SPACE_IO, 8 ) + ADDRESS_MAP_GLOBAL_MASK(0xff) + AM_RANGE(0x00, 0xff) AM_READWRITE(sfx_sample_io_r, sfx_sample_io_w) +ADDRESS_MAP_END + + + +/************************************* + * + * Graphics layouts + * + *************************************/ + +static const gfx_layout galaxian_charlayout = +{ + 8,8, + RGN_FRAC(1,2), + 2, + { RGN_FRAC(0,2), RGN_FRAC(1,2) }, + { STEP8(0,1) }, + { STEP8(0,8) }, + 8*8 +}; + +static const gfx_layout galaxian_spritelayout = +{ + 16,16, + RGN_FRAC(1,2), + 2, + { RGN_FRAC(0,2), RGN_FRAC(1,2) }, + { STEP8(0,1), STEP8(8*8,1) }, + { STEP8(0,8), STEP8(16*8,8) }, + 16*16 +}; + + + +/************************************* + * + * Graphics decoding + * + *************************************/ + +GFXDECODE_START(galaxian) + GFXDECODE_SCALE(REGION_GFX1, 0x0000, galaxian_charlayout, 0, 8, GALAXIAN_XSCALE,1) + GFXDECODE_SCALE(REGION_GFX1, 0x0000, galaxian_spritelayout, 0, 8, GALAXIAN_XSCALE,1) +GFXDECODE_END + +GFXDECODE_START(gmgalax) + GFXDECODE_SCALE(REGION_GFX1, 0x0000, galaxian_charlayout, 0, 16, GALAXIAN_XSCALE,1) + GFXDECODE_SCALE(REGION_GFX1, 0x0000, galaxian_spritelayout, 0, 16, GALAXIAN_XSCALE,1) +GFXDECODE_END + +/* separate character and sprite ROMs */ +GFXDECODE_START(pacmanbl) + GFXDECODE_SCALE(REGION_GFX1, 0x0000, galaxian_charlayout, 0, 8, GALAXIAN_XSCALE,1) + GFXDECODE_SCALE(REGION_GFX2, 0x0000, galaxian_spritelayout, 0, 8, GALAXIAN_XSCALE,1) +GFXDECODE_END + + + +/************************************* + * + * Sound configuration + * + *************************************/ + +static struct AY8910interface frogger_ay8910_interface = +{ + soundlatch_r, + frogger_sound_timer_r +}; + +static struct AY8910interface konami_ay8910_interface = +{ + soundlatch_r, + konami_sound_timer_r +}; + +static struct AY8910interface explorer_ay8910_interface_1 = +{ + konami_sound_timer_r +}; + +static struct AY8910interface explorer_ay8910_interface_2 = +{ + explorer_sound_latch_r +}; + +static struct AY8910interface sfx_ay8910_interface = +{ + 0, + 0, + soundlatch2_w, + sfx_sample_control_w +}; + +static struct AY8910interface scorpion_ay8910_interface = +{ + 0, + 0, + scorpion_sound_data_w, + scorpion_sound_control_w, +}; + +static struct AY8910interface checkmaj_ay8910_interface = +{ + soundlatch_r +}; + + + + +/************************************* + * + * Core machine driver pieces + * + *************************************/ + +static MACHINE_DRIVER_START( galaxian_base ) + + /* basic machine hardware */ + MDRV_CPU_ADD_TAG("main", Z80, GALAXIAN_PIXEL_CLOCK/3/2) + MDRV_CPU_PROGRAM_MAP(galaxian_map,0) + MDRV_CPU_VBLANK_INT("main", interrupt_gen) + + MDRV_WATCHDOG_VBLANK_INIT(8) + + /* video hardware */ + MDRV_GFXDECODE(galaxian) + MDRV_PALETTE_LENGTH(32) + + MDRV_SCREEN_ADD("main", RASTER) + MDRV_SCREEN_FORMAT(BITMAP_FORMAT_RGB32) + MDRV_SCREEN_RAW_PARAMS(GALAXIAN_PIXEL_CLOCK, GALAXIAN_HTOTAL, GALAXIAN_HBEND, GALAXIAN_HBSTART, GALAXIAN_VTOTAL, GALAXIAN_VBEND, GALAXIAN_VBSTART) + + MDRV_PALETTE_INIT(galaxian) + MDRV_VIDEO_START(galaxian) + MDRV_VIDEO_UPDATE(galaxian) + + /* blinking frequency is determined by 555 counter with Ra=100k, Rb=10k, C=10uF */ + MDRV_TIMER_ADD_PERIODIC("stars", galaxian_stars_blink_timer, NSEC(PERIOD_OF_555_ASTABLE_NSEC(100000, 10000, 0.00001))) + + /* sound hardware */ + MDRV_SPEAKER_STANDARD_MONO("mono") +MACHINE_DRIVER_END + + +static MACHINE_DRIVER_START( galaxian_sound ) + + /* sound hardware */ + MDRV_SOUND_ADD(SAMPLES, 0) + MDRV_SOUND_CONFIG(galaxian_custom_interface) + MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) +MACHINE_DRIVER_END + + +static MACHINE_DRIVER_START( konami_sound_1x_ay8910 ) + + /* 2nd CPU to drive sound */ + MDRV_CPU_ADD_TAG("sound", Z80, KONAMI_SOUND_CLOCK/8) + MDRV_CPU_PROGRAM_MAP(frogger_sound_map,0) + MDRV_CPU_IO_MAP(frogger_sound_portmap,0) + + /* sound hardware */ + MDRV_SOUND_ADD_TAG("8910.0", AY8910, KONAMI_SOUND_CLOCK/8) + MDRV_SOUND_CONFIG(frogger_ay8910_interface) + MDRV_SOUND_ROUTE(0, "filter.0.0", 1.25) + MDRV_SOUND_ROUTE(1, "filter.0.1", 1.25) + MDRV_SOUND_ROUTE(2, "filter.0.2", 1.25) + + MDRV_SOUND_ADD_TAG("filter.0.0", FILTER_RC, 0) + MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) + MDRV_SOUND_ADD_TAG("filter.0.1", FILTER_RC, 0) + MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) + MDRV_SOUND_ADD_TAG("filter.0.2", FILTER_RC, 0) + MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) +MACHINE_DRIVER_END + + +static MACHINE_DRIVER_START( konami_sound_2x_ay8910 ) + + /* 2nd CPU to drive sound */ + MDRV_CPU_ADD_TAG("sound", Z80, KONAMI_SOUND_CLOCK/8) + MDRV_CPU_PROGRAM_MAP(konami_sound_map,0) + MDRV_CPU_IO_MAP(konami_sound_portmap,0) + + /* sound hardware */ + MDRV_SOUND_ADD_TAG("8910.0", AY8910, KONAMI_SOUND_CLOCK/8) + MDRV_SOUND_ROUTE(0, "filter.0.0", 0.25) + MDRV_SOUND_ROUTE(1, "filter.0.1", 0.25) + MDRV_SOUND_ROUTE(2, "filter.0.2", 0.25) + + MDRV_SOUND_ADD_TAG("8910.1", AY8910, KONAMI_SOUND_CLOCK/8) + MDRV_SOUND_CONFIG(konami_ay8910_interface) + MDRV_SOUND_ROUTE(0, "filter.1.0", 0.25) + MDRV_SOUND_ROUTE(1, "filter.1.1", 0.25) + MDRV_SOUND_ROUTE(2, "filter.1.2", 0.25) + + MDRV_SOUND_ADD_TAG("filter.0.0", FILTER_RC, 0) + MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) + MDRV_SOUND_ADD_TAG("filter.0.1", FILTER_RC, 0) + MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) + MDRV_SOUND_ADD_TAG("filter.0.2", FILTER_RC, 0) + MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) + + MDRV_SOUND_ADD_TAG("filter.1.0", FILTER_RC, 0) + MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) + MDRV_SOUND_ADD_TAG("filter.1.1", FILTER_RC, 0) + MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) + MDRV_SOUND_ADD_TAG("filter.1.2", FILTER_RC, 0) + MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) +MACHINE_DRIVER_END + + + +/************************************* + * + * Machine drivers + * + *************************************/ + +static MACHINE_DRIVER_START( galaxian ) + MDRV_IMPORT_FROM(galaxian_base) + MDRV_IMPORT_FROM(galaxian_sound) +MACHINE_DRIVER_END + + +static MACHINE_DRIVER_START( pacmanbl ) + MDRV_IMPORT_FROM(galaxian) + + /* separate tile/sprite ROMs */ + MDRV_GFXDECODE(pacmanbl) +MACHINE_DRIVER_END + + +static MACHINE_DRIVER_START( zigzag ) + MDRV_IMPORT_FROM(galaxian_base) + + /* separate tile/sprite ROMs */ + MDRV_GFXDECODE(pacmanbl) + + /* sound hardware */ + MDRV_SOUND_ADD(AY8910, 1789750) + MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) +MACHINE_DRIVER_END + + +static MACHINE_DRIVER_START( gmgalax ) + MDRV_IMPORT_FROM(galaxian) + + /* banked video hardware */ + MDRV_GFXDECODE(gmgalax) + MDRV_PALETTE_LENGTH(64) +MACHINE_DRIVER_END + + +static MACHINE_DRIVER_START( mooncrst ) + MDRV_IMPORT_FROM(galaxian) + + /* alternate memory map */ + MDRV_CPU_MODIFY("main") + MDRV_CPU_PROGRAM_MAP(mooncrst_map,0) +MACHINE_DRIVER_END + + +static MACHINE_DRIVER_START( jumpbug ) + MDRV_IMPORT_FROM(galaxian_base) + + MDRV_WATCHDOG_VBLANK_INIT(0) + + /* basic machine hardware */ + MDRV_CPU_MODIFY("main") + MDRV_CPU_PROGRAM_MAP(jumpbug_map,0) + + /* sound hardware */ + MDRV_SOUND_ADD(AY8910, 1789750) + MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) +MACHINE_DRIVER_END + + +static MACHINE_DRIVER_START( checkman ) + MDRV_IMPORT_FROM(mooncrst) + + /* basic machine hardware */ + MDRV_CPU_ADD(Z80, 1620000) /* 1.62 MHz */ + MDRV_CPU_PROGRAM_MAP(checkman_sound_map,0) + MDRV_CPU_IO_MAP(checkman_sound_portmap,0) + MDRV_CPU_VBLANK_INT("main", irq0_line_hold) /* NMIs are triggered by the main CPU */ + + /* sound hardware */ + MDRV_SOUND_ADD(AY8910, 1789750) + MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) +MACHINE_DRIVER_END + + +static MACHINE_DRIVER_START( checkmaj ) + MDRV_IMPORT_FROM(galaxian) + + /* basic machine hardware */ + MDRV_CPU_ADD(Z80, 1620000) + MDRV_CPU_PROGRAM_MAP(checkmaj_sound_map,0) + + MDRV_TIMER_ADD_SCANLINE("irq0", checkmaj_irq0_gen, "main", 0, 8) + + /* sound hardware */ + MDRV_SOUND_ADD(AY8910, 1620000) + MDRV_SOUND_CONFIG(checkmaj_ay8910_interface) + MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) +MACHINE_DRIVER_END + + +static MACHINE_DRIVER_START( mshuttle ) + MDRV_IMPORT_FROM(galaxian_base) + + /* basic machine hardware */ + MDRV_CPU_MODIFY("main") + MDRV_CPU_PROGRAM_MAP(mshuttle_map,0) + MDRV_CPU_IO_MAP(mshuttle_portmap,0) + + /* sound hardware */ + MDRV_SOUND_ADD(AY8910, GALAXIAN_PIXEL_CLOCK/3/4) + MDRV_SOUND_CONFIG(cclimber_ay8910_interface) + MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) + + MDRV_SOUND_ADD(SAMPLES, 0) + MDRV_SOUND_CONFIG(cclimber_samples_interface) + MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5) +MACHINE_DRIVER_END + + +static MACHINE_DRIVER_START( kingball ) + MDRV_IMPORT_FROM(mooncrst) + + /* basic machine hardware */ + MDRV_CPU_ADD(Z80,5000000/2) + MDRV_CPU_PROGRAM_MAP(kingball_sound_map,0) + MDRV_CPU_IO_MAP(kingball_sound_portmap,0) + + /* sound hardware */ + MDRV_SOUND_ADD(DAC, 0) + MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) +MACHINE_DRIVER_END + + +static MACHINE_DRIVER_START( frogger ) + MDRV_IMPORT_FROM(galaxian_base) + MDRV_IMPORT_FROM(konami_sound_1x_ay8910) + + /* alternate memory map */ + MDRV_CPU_MODIFY("main") + MDRV_CPU_PROGRAM_MAP(frogger_map,0) +MACHINE_DRIVER_END + + +static MACHINE_DRIVER_START( froggrmc ) + MDRV_IMPORT_FROM(galaxian_base) + MDRV_IMPORT_FROM(konami_sound_1x_ay8910) + + /* alternate memory map */ + MDRV_CPU_MODIFY("main") + MDRV_CPU_PROGRAM_MAP(mooncrst_map,0) +MACHINE_DRIVER_END + + +static MACHINE_DRIVER_START( froggers ) + MDRV_IMPORT_FROM(galaxian_base) + MDRV_IMPORT_FROM(konami_sound_1x_ay8910) + + /* alternate memory map */ + MDRV_CPU_MODIFY("main") + MDRV_CPU_PROGRAM_MAP(theend_map,0) +MACHINE_DRIVER_END + + +static MACHINE_DRIVER_START( frogf ) + MDRV_IMPORT_FROM(galaxian_base) + MDRV_IMPORT_FROM(konami_sound_1x_ay8910) + + /* alternate memory map */ + MDRV_CPU_MODIFY("main") + MDRV_CPU_PROGRAM_MAP(frogf_map,0) +MACHINE_DRIVER_END + + +static MACHINE_DRIVER_START( turtles ) + MDRV_IMPORT_FROM(galaxian_base) + MDRV_IMPORT_FROM(konami_sound_2x_ay8910) + + /* alternate memory map */ + MDRV_CPU_MODIFY("main") + MDRV_CPU_PROGRAM_MAP(turtles_map,0) +MACHINE_DRIVER_END + + +static MACHINE_DRIVER_START( theend ) + MDRV_IMPORT_FROM(galaxian_base) + MDRV_IMPORT_FROM(konami_sound_2x_ay8910) + + /* alternate memory map */ + MDRV_CPU_MODIFY("main") + MDRV_CPU_PROGRAM_MAP(theend_map,0) +MACHINE_DRIVER_END + + +static MACHINE_DRIVER_START( explorer ) + MDRV_IMPORT_FROM(galaxian_base) + + /* alternate memory map */ + MDRV_CPU_MODIFY("main") + MDRV_CPU_PROGRAM_MAP(theend_map,0) + + /* 2nd CPU to drive sound */ + MDRV_CPU_ADD(Z80,KONAMI_SOUND_CLOCK/8) + MDRV_CPU_PROGRAM_MAP(konami_sound_map,0) + MDRV_CPU_IO_MAP(konami_sound_portmap,0) + + /* sound hardware */ + MDRV_SOUND_ADD_TAG("8910.0", AY8910, KONAMI_SOUND_CLOCK/8) + MDRV_SOUND_CONFIG(explorer_ay8910_interface_1) + MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) + + MDRV_SOUND_ADD_TAG("8910.1", AY8910, KONAMI_SOUND_CLOCK/8) + MDRV_SOUND_CONFIG(explorer_ay8910_interface_2) + MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) +MACHINE_DRIVER_END + + +static MACHINE_DRIVER_START( scorpion ) + MDRV_IMPORT_FROM(theend) + + /* extra AY8910 with I/O ports */ + MDRV_SOUND_ADD_TAG("8910.2", AY8910, KONAMI_SOUND_CLOCK/8) + MDRV_SOUND_CONFIG(scorpion_ay8910_interface) + MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) +MACHINE_DRIVER_END + + +static MACHINE_DRIVER_START( sfx ) + MDRV_IMPORT_FROM(galaxian_base) + MDRV_IMPORT_FROM(konami_sound_2x_ay8910) + + MDRV_WATCHDOG_VBLANK_INIT(0) + + /* alternate memory map */ + MDRV_CPU_MODIFY("main") + MDRV_CPU_PROGRAM_MAP(sfx_map,0) + + /* 3rd CPU for the sample player */ + MDRV_CPU_ADD(Z80, KONAMI_SOUND_CLOCK/8) + MDRV_CPU_PROGRAM_MAP(sfx_sample_map,0) + MDRV_CPU_IO_MAP(sfx_sample_portmap,0) + + /* port on 1st 8910 is used for communication */ + MDRV_SOUND_MODIFY("8910.0") + MDRV_SOUND_CONFIG(sfx_ay8910_interface) + + /* DAC for the sample player */ + MDRV_SOUND_ADD(DAC, 0) + MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) +MACHINE_DRIVER_END + + +static MACHINE_DRIVER_START( scobra ) + MDRV_IMPORT_FROM(galaxian_base) + MDRV_IMPORT_FROM(konami_sound_2x_ay8910) + + /* alternate memory map */ + MDRV_CPU_MODIFY("main") + MDRV_CPU_PROGRAM_MAP(scobra_map,0) +MACHINE_DRIVER_END + + + +/************************************* + * + * Decryption helpers + * + *************************************/ + +static void decode_mooncrst(int length, UINT8 *dest) +{ + UINT8 *rom = memory_region(REGION_CPU1); + int offs; + + for (offs = 0; offs < length; offs++) + { + UINT8 data = rom[offs]; + UINT8 res = data; + if (BIT(data,1)) res ^= 0x40; + if (BIT(data,5)) res ^= 0x04; + if ((offs & 1) == 0) res = BITSWAP8(res,7,2,5,4,3,6,1,0); + dest[offs] = res; + } +} + + +static void decode_checkman(void) +{ + /* + Encryption Table + ---------------- + +---+---+---+------+------+------+------+------+------+------+------+ + |A2 |A1 |A0 |D7 |D6 |D5 |D4 |D3 |D2 |D1 |D0 | + +---+---+---+------+------+------+------+------+------+------+------+ + | 0 | 0 | 0 |D7 |D6 |D5 |D4 |D3 |D2 |D1 |D0^^D6| + | 0 | 0 | 1 |D7 |D6 |D5 |D4 |D3 |D2 |D1^^D5|D0 | + | 0 | 1 | 0 |D7 |D6 |D5 |D4 |D3 |D2^^D4|D1^^D6|D0 | + | 0 | 1 | 1 |D7 |D6 |D5 |D4^^D2|D3 |D2 |D1 |D0^^D5| + | 1 | 0 | 0 |D7 |D6^^D4|D5^^D1|D4 |D3 |D2 |D1 |D0 | + | 1 | 0 | 1 |D7 |D6^^D0|D5^^D2|D4 |D3 |D2 |D1 |D0 | + | 1 | 1 | 0 |D7 |D6 |D5 |D4 |D3 |D2^^D0|D1 |D0 | + | 1 | 1 | 1 |D7 |D6 |D5 |D4^^D1|D3 |D2 |D1 |D0 | + +---+---+---+------+------+------+------+------+------+------+------+ + + For example if A2=1, A1=1 and A0=0 then D2 to the CPU would be an XOR of + D2 and D0 from the ROM's. Note that D7 and D3 are not encrypted. + + Encryption PAL 16L8 on cardridge + +--- ---+ + OE --| U |-- VCC + ROMD0 --| |-- D0 + ROMD1 --| |-- D1 + ROMD2 --|VER 5.2|-- D2 + A0 --| |-- NOT USED + A1 --| |-- A2 + ROMD4 --| |-- D4 + ROMD5 --| |-- D5 + ROMD6 --| |-- D6 + GND --| |-- M1 (NOT USED) + +-------+ + Pin layout is such that links can replace the PAL if encryption is not used. + */ + static const UINT8 xortable[8][4] = + { + { 6,0,6,0 }, + { 5,1,5,1 }, + { 4,2,6,1 }, + { 2,4,5,0 }, + { 4,6,1,5 }, + { 0,6,2,5 }, + { 0,2,0,2 }, + { 1,4,1,4 } + }; + UINT8 *rombase = memory_region(REGION_CPU1); + UINT32 romlength = memory_region_length(REGION_CPU1); + UINT32 offs; + + for (offs = 0; offs < romlength; offs++) + { + UINT8 data = rombase[offs]; + UINT32 line = offs & 0x07; + + data ^= (BIT(data,xortable[line][0]) << xortable[line][1]) | (BIT(data,xortable[line][2]) << xortable[line][3]); + rombase[offs] = data; + } +} + + +static void decode_dingoe(void) +{ + UINT8 *rombase = memory_region(REGION_CPU1); + UINT32 romlength = memory_region_length(REGION_CPU1); + UINT32 offs; + + for (offs = 0; offs < romlength; offs++) + { + UINT8 data = rombase[offs]; + + /* XOR bit 4 with bit 2, and bit 0 with bit 5, and invert bit 1 */ + data ^= BIT(data, 2) << 4; + data ^= BIT(data, 5) << 0; + data ^= 0x02; + + /* Swap bit0 with bit4 */ + if (offs & 0x02) + data = BITSWAP8(data, 7,6,5,0,3,2,1,4); + rombase[offs] = data; + } +} + + +static void decode_frogger_sound(void) +{ + UINT8 *rombase = memory_region(REGION_CPU2); + UINT32 offs; + + /* the first ROM of the sound CPU has data lines D0 and D1 swapped */ + for (offs = 0; offs < 0x0800; offs++) + rombase[offs] = BITSWAP8(rombase[offs], 7,6,5,4,3,2,0,1); +} + + +static void decode_frogger_gfx(void) +{ + UINT8 *rombase = memory_region(REGION_GFX1); + UINT32 offs; + + /* the 2nd gfx ROM has data lines D0 and D1 swapped */ + for (offs = 0x0800; offs < 0x1000; offs++) + rombase[offs] = BITSWAP8(rombase[offs], 7,6,5,4,3,2,0,1); +} + + +static void decode_anteater_gfx(void) +{ + UINT32 romlength = memory_region_length(REGION_GFX1); + UINT8 *rombase = memory_region(REGION_GFX1); + UINT8 *scratch = malloc_or_die(romlength); + UINT32 offs; + + memcpy(scratch, rombase, romlength); + for (offs = 0; offs < romlength; offs++) + { + UINT32 srcoffs = offs & 0x9bf; + srcoffs |= (BIT(offs,4) ^ BIT(offs,9) ^ (BIT(offs,2) & BIT(offs,10))) << 6; + srcoffs |= (BIT(offs,2) ^ BIT(offs,10)) << 9; + srcoffs |= (BIT(offs,0) ^ BIT(offs,6) ^ 1) << 10; + rombase[offs] = scratch[srcoffs]; + } + free(scratch); +} + + +static void decode_losttomb_gfx(void) +{ + UINT32 romlength = memory_region_length(REGION_GFX1); + UINT8 *rombase = memory_region(REGION_GFX1); + UINT8 *scratch = malloc_or_die(romlength); + UINT32 offs; + + memcpy(scratch, rombase, romlength); + for (offs = 0; offs < romlength; offs++) + { + UINT32 srcoffs = offs & 0xa7f; + srcoffs |= ((BIT(offs,1) & BIT(offs,8)) | ((1 ^ BIT(offs,1)) & (BIT(offs,10)))) << 7; + srcoffs |= (BIT(offs,7) ^ (BIT(offs,1) & (BIT(offs,7) ^ BIT(offs,10)))) << 8; + srcoffs |= ((BIT(offs,1) & BIT(offs,7)) | ((1 ^ BIT(offs,1)) & (BIT(offs,8)))) << 10; + rombase[offs] = scratch[srcoffs]; + } + free(scratch); +} + + + +/************************************* + * + * Driver configuration + * + *************************************/ + +static void common_init( + running_machine *machine, + galaxian_draw_bullet_func draw_bullet, + galaxian_draw_background_func draw_background, + galaxian_extend_tile_info_func extend_tile_info, + galaxian_extend_sprite_info_func extend_sprite_info) +{ + irq_line = INPUT_LINE_NMI; + galaxian_frogger_adjust = FALSE; + galaxian_sfx_tilemap = FALSE; + galaxian_draw_bullet_ptr = (draw_bullet != NULL) ? draw_bullet : galaxian_draw_bullet; + galaxian_draw_background_ptr = (draw_background != NULL) ? draw_background : galaxian_draw_background; + galaxian_extend_tile_info_ptr = extend_tile_info; + galaxian_extend_sprite_info_ptr = extend_sprite_info; +} + + +static void konami_common_init( + running_machine *machine, + galaxian_draw_bullet_func draw_bullet, + galaxian_draw_background_func draw_background, + galaxian_extend_tile_info_func extend_tile_info, + galaxian_extend_sprite_info_func extend_sprite_info) +{ + /* basic configuration */ + common_init(machine, draw_bullet, draw_background, extend_tile_info, extend_sprite_info); + + /* configure Konami sound */ + ppi8255_init(&konami_ppi8255_intf); +} + + +static void unmap_galaxian_sound(offs_t base) +{ + memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, base + 0x0004, base + 0x0007, 0, 0x07f8, SMH_UNMAP); + memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, base + 0x0800, base + 0x0807, 0, 0x07f8, SMH_UNMAP); + memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, base + 0x1800, base + 0x1800, 0, 0x07ff, SMH_UNMAP); +} + + + +/************************************* + * + * Galaxian-derived games + * + *************************************/ + +static DRIVER_INIT( galaxian ) +{ + common_init(machine, galaxian_draw_bullet, galaxian_draw_background, NULL, NULL); +} + + +static DRIVER_INIT( nolock ) +{ + /* same as galaxian... */ + driver_init_galaxian(machine); + + /* ...but coin lockout disabled/disconnected */ + memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0x6002, 0x6002, 0, 0x7f8, SMH_UNMAP); +} + + +static DRIVER_INIT( azurian ) +{ + /* yellow bullets instead of white ones */ + common_init(machine, scramble_draw_bullet, galaxian_draw_background, NULL, NULL); + + /* coin lockout disabled */ + memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0x6002, 0x6002, 0, 0x7f8, SMH_UNMAP); +} + + +static DRIVER_INIT( gmgalax ) +{ + /* video extensions */ + common_init(machine, galaxian_draw_bullet, galaxian_draw_background, gmgalax_extend_tile_info, gmgalax_extend_sprite_info); + + /* ROM is banked */ + memory_install_read8_handler(0, ADDRESS_SPACE_PROGRAM, 0x0000, 0x3fff, 0, 0, SMH_BANK1); + memory_configure_bank(1, 0, 2, memory_region(REGION_CPU1) + 0x10000, 0x4000); + + /* callback when the game select is toggled */ + gmgalax_game_changed(machine, NULL, 0, 0); + state_save_register_global(gmgalax_selected_game); +} + + +static DRIVER_INIT( pisces ) +{ + /* video extensions */ + common_init(machine, galaxian_draw_bullet, galaxian_draw_background, pisces_extend_tile_info, pisces_extend_sprite_info); + + /* coin lockout replaced by graphics bank */ + memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0x6002, 0x6002, 0, 0x7f8, galaxian_gfxbank_w); +} + + +static DRIVER_INIT( batman2 ) +{ + /* video extensions */ + common_init(machine, galaxian_draw_bullet, galaxian_draw_background, batman2_extend_tile_info, upper_extend_sprite_info); + + /* coin lockout replaced by graphics bank */ + memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0x6002, 0x6002, 0, 0x7f8, galaxian_gfxbank_w); +} + + +static DRIVER_INIT( frogg ) +{ + /* same as galaxian... */ + common_init(machine, galaxian_draw_bullet, frogger_draw_background, frogger_extend_tile_info, frogger_extend_sprite_info); + + /* ...but needs a full 2k of RAM */ + memory_install_readwrite8_handler(0, ADDRESS_SPACE_PROGRAM, 0x4000, 0x47ff, 0, 0, SMH_BANK1, SMH_BANK1); + memory_set_bankptr(1, auto_malloc(0x800)); +} + + + +/************************************* + * + * Moon Cresta-derived games + * + *************************************/ + +static DRIVER_INIT( mooncrst ) +{ + /* video extensions */ + common_init(machine, galaxian_draw_bullet, galaxian_draw_background, mooncrst_extend_tile_info, mooncrst_extend_sprite_info); + + /* decrypt program code */ + decode_mooncrst(0x8000, memory_region(REGION_CPU1)); +} + + +static DRIVER_INIT( mooncrsu ) +{ + /* video extensions */ + common_init(machine, galaxian_draw_bullet, galaxian_draw_background, mooncrst_extend_tile_info, mooncrst_extend_sprite_info); +} + + +static DRIVER_INIT( mooncrgx ) +{ + /* video extensions */ + common_init(machine, galaxian_draw_bullet, galaxian_draw_background, mooncrst_extend_tile_info, mooncrst_extend_sprite_info); + + /* LEDs and coin lockout replaced by graphics banking */ + memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0x6000, 0x6002, 0, 0x7f8, galaxian_gfxbank_w); +} + + +static DRIVER_INIT( moonqsr ) +{ + UINT8 *decrypt = auto_malloc(0x8000); + + /* video extensions */ + common_init(machine, galaxian_draw_bullet, galaxian_draw_background, moonqsr_extend_tile_info, moonqsr_extend_sprite_info); + + /* decrypt program code */ + decode_mooncrst(0x8000, decrypt); + memory_set_decrypted_region(0, 0x0000, 0x7fff, decrypt); +} + + +static DRIVER_INIT( devilfsg ) +{ + /* video extensions */ + common_init(machine, galaxian_draw_bullet, galaxian_draw_background, NULL, NULL); + + /* IRQ line is INT, not NMI */ + irq_line = 0; +} + + +static DRIVER_INIT( zigzag ) +{ + /* video extensions */ + common_init(machine, NULL, galaxian_draw_background, NULL, NULL); + + /* make ROMs 2 & 3 swappable */ + memory_install_read8_handler(0, ADDRESS_SPACE_PROGRAM, 0x2000, 0x2fff, 0, 0, SMH_BANK1); + memory_install_read8_handler(0, ADDRESS_SPACE_PROGRAM, 0x3000, 0x3fff, 0, 0, SMH_BANK2); + memory_configure_bank(1, 0, 2, memory_region(REGION_CPU1) + 0x2000, 0x1000); + memory_configure_bank(2, 0, 2, memory_region(REGION_CPU1) + 0x2000, 0x1000); + + /* handler for doing the swaps */ + memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0x7002, 0x7002, 0, 0x07f8, zigzag_bankswap_w); + zigzag_bankswap_w(machine, 0, 0); + + /* coin lockout disabled */ + memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0x6002, 0x6002, 0, 0x7f8, SMH_UNMAP); + + /* remove the galaxian sound hardware */ + unmap_galaxian_sound(0x6000); + + /* install our AY-8910 handler */ + memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0x4800, 0x4fff, 0, 0, zigzag_ay8910_w); +} + + +static DRIVER_INIT( jumpbug ) +{ + /* video extensions */ + common_init(machine, scramble_draw_bullet, jumpbug_draw_background, jumpbug_extend_tile_info, jumpbug_extend_sprite_info); +} + + +static DRIVER_INIT( checkman ) +{ + /* video extensions */ + common_init(machine, galaxian_draw_bullet, galaxian_draw_background, mooncrst_extend_tile_info, mooncrst_extend_sprite_info); + + /* move the interrupt enable from $b000 to $b001 */ + memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0xb000, 0xb000, 0, 0x7f8, SMH_UNMAP); + memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0xb001, 0xb001, 0, 0x7f8, irq_enable_w); + + /* attach the sound command handler */ + memory_install_write8_handler(0, ADDRESS_SPACE_IO, 0x00, 0x00, 0, 0xffff, checkman_sound_command_w); + + /* decrypt program code */ + decode_checkman(); +} + + +static DRIVER_INIT( checkmaj ) +{ + /* video extensions */ + common_init(machine, galaxian_draw_bullet, galaxian_draw_background, NULL, NULL); + + /* attach the sound command handler */ + memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0x7800, 0x7800, 0, 0x7ff, checkman_sound_command_w); + + /* for the title screen */ + memory_install_read8_handler(0, ADDRESS_SPACE_PROGRAM, 0x3800, 0x3800, 0, 0, checkmaj_protection_r); +} + + +static DRIVER_INIT( dingo ) +{ + /* video extensions */ + common_init(machine, galaxian_draw_bullet, galaxian_draw_background, NULL, NULL); + + /* attach the sound command handler */ + memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0x7800, 0x7800, 0, 0x7ff, checkman_sound_command_w); + + memory_install_read8_handler(0, ADDRESS_SPACE_PROGRAM, 0x3000, 0x3000, 0, 0, dingo_3000_r); + memory_install_read8_handler(0, ADDRESS_SPACE_PROGRAM, 0x3035, 0x3035, 0, 0, dingo_3035_r); +} + + +static DRIVER_INIT( dingoe ) +{ + /* video extensions */ + common_init(machine, galaxian_draw_bullet, galaxian_draw_background, mooncrst_extend_tile_info, mooncrst_extend_sprite_info); + + /* move the interrupt enable from $b000 to $b001 */ + memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0xb000, 0xb000, 0, 0x7f8, SMH_UNMAP); + memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0xb001, 0xb001, 0, 0x7f8, irq_enable_w); + + /* attach the sound command handler */ + memory_install_write8_handler(0, ADDRESS_SPACE_IO, 0x00, 0x00, 0, 0xffff, checkman_sound_command_w); + + memory_install_read8_handler(0, ADDRESS_SPACE_PROGRAM, 0x3001, 0x3001, 0, 0, dingoe_3001_r); /* Protection check */ + + /* decrypt program code */ + decode_dingoe(); +} + + +static DRIVER_INIT( skybase ) +{ + /* video extensions */ + common_init(machine, galaxian_draw_bullet, galaxian_draw_background, pisces_extend_tile_info, pisces_extend_sprite_info); + + /* coin lockout replaced by graphics bank */ + memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0xa002, 0xa002, 0, 0x7f8, galaxian_gfxbank_w); + + /* needs a full 2k of RAM */ + memory_install_readwrite8_handler(0, ADDRESS_SPACE_PROGRAM, 0x8000, 0x87ff, 0, 0, SMH_BANK1, SMH_BANK1); + memory_set_bankptr(1, auto_malloc(0x800)); + + /* extend ROM */ + memory_install_read8_handler(0, ADDRESS_SPACE_PROGRAM, 0x0000, 0x5fff, 0, 0, SMH_BANK2); + memory_set_bankptr(2, memory_region(REGION_CPU1)); +} + + +static DRIVER_INIT( mshuttle ) +{ + /* video extensions */ + common_init(machine, mshuttle_draw_bullet, galaxian_draw_background, mshuttle_extend_tile_info, mshuttle_extend_sprite_info); + + /* IRQ line is INT, not NMI */ + irq_line = 0; + + /* decrypt the code */ + mshuttle_decode(); +} + + +static DRIVER_INIT( mshuttlj ) +{ + /* video extensions */ + common_init(machine, mshuttle_draw_bullet, galaxian_draw_background, mshuttle_extend_tile_info, mshuttle_extend_sprite_info); + + /* IRQ line is INT, not NMI */ + irq_line = 0; + + /* decrypt the code */ + cclimbrj_decode(); +} + + +static DRIVER_INIT( kingball ) +{ + /* video extensions */ + common_init(machine, galaxian_draw_bullet, galaxian_draw_background, NULL, NULL); + + memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0xb000, 0xb000, 0, 0x7f8, kingball_sound1_w); + memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0xb001, 0xb001, 0, 0x7f8, irq_enable_w); + memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0xb002, 0xb002, 0, 0x7f8, kingball_sound2_w); + memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0xb003, 0xb003, 0, 0x7f8, kingball_speech_dip_w); + + state_save_register_global(kingball_speech_dip); + state_save_register_global(kingball_sound); +} + + +static DRIVER_INIT( scorpnmc ) +{ + /* video extensions */ + common_init(machine, galaxian_draw_bullet, galaxian_draw_background, batman2_extend_tile_info, upper_extend_sprite_info); + + /* move the interrupt enable from $b000 to $b001 */ + memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0xb000, 0xb000, 0, 0x7f8, SMH_UNMAP); + memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0xb001, 0xb001, 0, 0x7f8, irq_enable_w); + + /* extra ROM */ + memory_install_read8_handler(0, ADDRESS_SPACE_PROGRAM, 0x5000, 0x67ff, 0, 0, SMH_BANK1); + memory_set_bankptr(1, memory_region(REGION_CPU1) + 0x5000); + + /* install RAM at $4000-$4800 */ + memory_install_readwrite8_handler(0, ADDRESS_SPACE_PROGRAM, 0x4000, 0x47ff, 0, 0, SMH_BANK2, SMH_BANK2); + memory_set_bankptr(2, auto_malloc(0x800)); + + /* doesn't appear to use original RAM */ + memory_install_readwrite8_handler(0, ADDRESS_SPACE_PROGRAM, 0x8000, 0x87ff, 0, 0, SMH_UNMAP, SMH_UNMAP); +} + + + +/************************************* + * + * Konami games + * + *************************************/ + +static DRIVER_INIT( theend ) +{ + /* video extensions */ + konami_common_init(machine, theend_draw_bullet, galaxian_draw_background, NULL, NULL); + + /* coin counter on the upper bit of port C */ + memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0x6802, 0x6802, 0, 0x7f8, SMH_UNMAP); + ppi8255_set_portCwrite(0, theend_coin_counter_w); +} + + +static DRIVER_INIT( scramble ) +{ + /* video extensions */ + konami_common_init(machine, scramble_draw_bullet, scramble_draw_background, NULL, NULL); + + /* configure protection */ + ppi8255_set_portCread (1, scramble_protection_r); + ppi8255_set_portCwrite(1, scramble_protection_w); +} + + +static DRIVER_INIT( explorer ) +{ + /* video extensions */ + konami_common_init(machine, scramble_draw_bullet, scramble_draw_background, NULL, NULL); + + /* watchdog works for writes as well? (or is it just disabled?) */ + memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0x7000, 0x7000, 0, 0x7ff, watchdog_reset_w); + + /* I/O appears to be direct, not via PPIs */ + memory_install_readwrite8_handler(0, ADDRESS_SPACE_PROGRAM, 0x8000, 0xffff, 0, 0, SMH_UNMAP, SMH_UNMAP); + memory_install_read8_handler(0, ADDRESS_SPACE_PROGRAM, 0x8000, 0x8000, 0, 0xffc, input_port_0_r); + memory_install_read8_handler(0, ADDRESS_SPACE_PROGRAM, 0x8001, 0x8001, 0, 0xffc, input_port_1_r); + memory_install_read8_handler(0, ADDRESS_SPACE_PROGRAM, 0x8002, 0x8002, 0, 0xffc, input_port_2_r); + memory_install_read8_handler(0, ADDRESS_SPACE_PROGRAM, 0x8003, 0x8003, 0, 0xffc, input_port_3_r); + memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0x8000, 0x8000, 0, 0xfff, soundlatch_w); + memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0x9000, 0x9000, 0, 0xfff, explorer_sound_control_w); +} + + +static DRIVER_INIT( sfx ) +{ + /* basic configuration */ + common_init(machine, scramble_draw_bullet, scramble_draw_background, upper_extend_tile_info, NULL); + galaxian_sfx_tilemap = TRUE; + + /* sfx uses 3 x 8255, so we need a non-standard interface */ + ppi8255_init(&sfx_ppi8255_intf); + + /* sound board has space for extra ROM */ + memory_install_read8_handler(1, ADDRESS_SPACE_PROGRAM, 0x0000, 0x3fff, 0, 0, SMH_BANK1); + memory_set_bankptr(1, memory_region(REGION_CPU2)); +} + + +static DRIVER_INIT( atlantis ) +{ + /* video extensions */ + konami_common_init(machine, scramble_draw_bullet, scramble_draw_background, NULL, NULL); + + /* watchdog is at $7800? (or is it just disabled?) */ + memory_install_read8_handler(0, ADDRESS_SPACE_PROGRAM, 0x7000, 0x7000, 0, 0x7ff, SMH_UNMAP); + memory_install_read8_handler(0, ADDRESS_SPACE_PROGRAM, 0x7800, 0x7800, 0, 0x7ff, watchdog_reset_r); +} + + +static DRIVER_INIT( scobra ) +{ + /* video extensions */ + konami_common_init(machine, scramble_draw_bullet, scramble_draw_background, NULL, NULL); +} + + +static DRIVER_INIT( losttomb ) +{ + /* video extensions */ + konami_common_init(machine, scramble_draw_bullet, scramble_draw_background, NULL, NULL); + + /* decrypt */ + decode_losttomb_gfx(); +} + + +static DRIVER_INIT( frogger ) +{ + /* video extensions */ + konami_common_init(machine, NULL, frogger_draw_background, frogger_extend_tile_info, frogger_extend_sprite_info); + galaxian_frogger_adjust = TRUE; + + /* decrypt */ + decode_frogger_sound(); + decode_frogger_gfx(); +} + + +static DRIVER_INIT( froggrmc ) +{ + /* video extensions */ + common_init(machine, NULL, frogger_draw_background, frogger_extend_tile_info, frogger_extend_sprite_info); + + memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0xa800, 0xa800, 0, 0x7ff, soundlatch_w); + memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0xb001, 0xb001, 0, 0x7f8, froggrmc_sound_control_w); + + /* actually needs 2k of RAM */ + memory_install_readwrite8_handler(0, ADDRESS_SPACE_PROGRAM, 0x8000, 0x87ff, 0, 0, SMH_BANK1, SMH_BANK1); + memory_set_bankptr(1, auto_malloc(0x800)); + + /* decrypt */ + decode_frogger_sound(); +} + + +static DRIVER_INIT( froggers ) +{ + /* video extensions */ + konami_common_init(machine, NULL, frogger_draw_background, frogger_extend_tile_info, frogger_extend_sprite_info); + + /* decrypt */ + decode_frogger_sound(); +} + + +static DRIVER_INIT( turtles ) +{ + /* video extensions */ + konami_common_init(machine, NULL, turtles_draw_background, NULL, NULL); +} + + +#ifdef UNUSED_CODE +static DRIVER_INIT( amidar ) +{ + /* no existing amidar sets run on Amidar hardware as described by Amidar schematics! */ + /* video extensions */ + konami_common_init(machine, scramble_draw_bullet, amidar_draw_background, NULL, NULL); +} +#endif + + +static DRIVER_INIT( scorpion ) +{ + konami_common_init(machine, scramble_draw_bullet, scramble_draw_background, batman2_extend_tile_info, upper_extend_sprite_info); + + /* hook up AY8910 */ + memory_install_readwrite8_handler(1, ADDRESS_SPACE_IO, 0x00, 0xff, 0, 0, scorpion_ay8910_r, scorpion_ay8910_w); + + /* configure protection */ + ppi8255_set_portCwrite(1, scorpion_protection_w); + ppi8255_set_portCread(1, scorpion_protection_r); + + /* extra ROM */ + memory_install_read8_handler(0, ADDRESS_SPACE_PROGRAM, 0x5800, 0x67ff, 0, 0, SMH_BANK1); + memory_set_bankptr(1, memory_region(REGION_CPU1) + 0x5800); + + /* no background related */ +// memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0x6803, 0x6803, 0, 0, SMH_NOP); + + memory_install_read8_handler(1, ADDRESS_SPACE_PROGRAM, 0x3000, 0x3000, 0, 0, scorpion_sound_status_r); +/* +{ + const UINT8 *rom = memory_region(REGION_SOUND1); + int i; + + for (i = 0; i < 0x2c; i++) + { + UINT16 addr = (rom[2*i] << 8) | rom[2*i+1]; + UINT16 endaddr = (rom[2*i+2] << 8) | rom[2*i+3]; + int j; + printf("Cmd %02X -> %04X-%04X:", i, addr, endaddr - 1); + for (j = 0; j < 32 && addr < endaddr; j++) + printf(" %02X", rom[addr++]); + printf("\n"); + } +} +*/ +} + + +static DRIVER_INIT( anteater ) +{ + /* video extensions */ + konami_common_init(machine, scramble_draw_bullet, scramble_draw_background, NULL, NULL); + + /* decode graphics */ + decode_anteater_gfx(); +} + + +#include "galdrvr.c" diff --git a/src/mame/drivers/galaxold.c b/src/mame/drivers/galaxold.c index 3f1fdb9e799..8e38ebdc79e 100644 --- a/src/mame/drivers/galaxold.c +++ b/src/mame/drivers/galaxold.c @@ -342,13 +342,6 @@ TO DO : - smooncrs : fix read/writes at/to unmapped memory (when player 2, "cocktail" mode) fix the ?#! bug with "bullets" (when player 2, "cocktail" mode) - - zigzag : full Dip Switches and Inputs - - zigzag2 : full Dip Switches and Inputs - - jumpbug : full Dip Switches and Inputs - - jumpbugb : full Dip Switches and Inputs - - levers : full Dip Switches and Inputs - - kingball : full Dip Switches and Inputs - - kingbalj : full Dip Switches and Inputs - frogg : fix read/writes at/to unmapped/wrong memory - scprpng : fix read/writes at/to unmapped/wrong memory @@ -388,12 +381,6 @@ TO DO : /* Send sound data to the sound cpu and cause an nmi */ -static WRITE8_HANDLER( checkman_sound_command_w ) -{ - soundlatch_w (machine,0,data); - cpunum_set_input_line (machine, 1, INPUT_LINE_NMI, PULSE_LINE); -} - static READ8_HANDLER( drivfrcg_port0_r ) { switch (activecpu_get_pc()) @@ -445,19 +432,6 @@ static ADDRESS_MAP_START( galaxold_writemem, ADDRESS_SPACE_PROGRAM, 8 ) ADDRESS_MAP_END -static ADDRESS_MAP_START( gmgalax_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_READ(SMH_BANK1) /* banked code */ - AM_RANGE(0x4000, 0x47ff) AM_READ(SMH_RAM) - AM_RANGE(0x5000, 0x53ff) AM_READ(SMH_RAM) - AM_RANGE(0x5400, 0x57ff) AM_READ(galaxold_videoram_r) - AM_RANGE(0x5800, 0x58ff) AM_READ(SMH_RAM) - AM_RANGE(0x6000, 0x6000) AM_READ(gmgalax_input_port_0_r) - AM_RANGE(0x6800, 0x6800) AM_READ(gmgalax_input_port_1_r) - AM_RANGE(0x7000, 0x7000) AM_READ(gmgalax_input_port_2_r) - AM_RANGE(0x7800, 0x78ff) AM_READ(watchdog_reset_r) -ADDRESS_MAP_END - - static ADDRESS_MAP_START( mooncrst_readmem, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x5fff) AM_READ(SMH_ROM) AM_RANGE(0x8000, 0x87ff) AM_READ(SMH_RAM) @@ -533,56 +507,6 @@ static ADDRESS_MAP_START( rockclim_writemem, ADDRESS_SPACE_PROGRAM, 8 ) ADDRESS_MAP_END -static ADDRESS_MAP_START( mshuttle_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x4fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x8000, 0x83ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x9000, 0x93ff) AM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram) - AM_RANGE(0x9800, 0x983f) AM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) - AM_RANGE(0x9840, 0x985f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) - AM_RANGE(0x9860, 0x987f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_bulletsram) AM_SIZE(&galaxold_bulletsram_size) - AM_RANGE(0x9880, 0x98ff) AM_WRITE(SMH_RAM) - AM_RANGE(0xa000, 0xa000) AM_WRITE(galaxold_nmi_enable_w) - AM_RANGE(0xa001, 0xa001) AM_WRITE(galaxold_flip_screen_x_w) - AM_RANGE(0xa002, 0xa002) AM_WRITE(galaxold_flip_screen_y_w) - AM_RANGE(0xa004, 0xa004) AM_WRITE(cclimber_sample_trigger_w) - AM_RANGE(0xa800, 0xa800) AM_WRITE(cclimber_sample_rate_w) - AM_RANGE(0xb000, 0xb000) AM_WRITE(cclimber_sample_volume_w) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( mshuttle_readport, ADDRESS_SPACE_IO, 8 ) - ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0x0c, 0x0c) AM_READ(AY8910_read_port_0_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( mshuttle_writeport, ADDRESS_SPACE_IO, 8 ) - ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0x08, 0x08) AM_WRITE(AY8910_control_port_0_w) - AM_RANGE(0x09, 0x09) AM_WRITE(AY8910_write_port_0_w) -ADDRESS_MAP_END - - -static ADDRESS_MAP_START( skybase_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x5fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x8000, 0x87ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x9000, 0x93ff) AM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram) - AM_RANGE(0x9800, 0x983f) AM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) - AM_RANGE(0x9840, 0x985f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) - AM_RANGE(0x9860, 0x987f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_bulletsram) AM_SIZE(&galaxold_bulletsram_size) - AM_RANGE(0x9880, 0x98ff) AM_WRITE(SMH_RAM) - AM_RANGE(0xa002, 0xa002) AM_WRITE(galaxold_gfxbank_w) - AM_RANGE(0xa004, 0xa007) AM_WRITE(galaxian_lfo_freq_w) - AM_RANGE(0xa800, 0xa802) AM_WRITE(galaxian_background_enable_w) - AM_RANGE(0xa803, 0xa803) AM_WRITE(galaxian_noise_enable_w) - AM_RANGE(0xa805, 0xa805) AM_WRITE(galaxian_shoot_enable_w) - AM_RANGE(0xa806, 0xa807) AM_WRITE(galaxian_vol_w) - AM_RANGE(0xb000, 0xb000) AM_WRITE(galaxold_nmi_enable_w) - AM_RANGE(0xb004, 0xb004) AM_WRITE(galaxold_stars_enable_w) - AM_RANGE(0xb006, 0xb006) AM_WRITE(galaxold_flip_screen_x_w) - AM_RANGE(0xb007, 0xb007) AM_WRITE(galaxold_flip_screen_y_w) - AM_RANGE(0xb800, 0xb800) AM_WRITE(galaxian_pitch_w) -ADDRESS_MAP_END - - static ADDRESS_MAP_START( scramblb_readmem, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x3fff) AM_READ(SMH_ROM) AM_RANGE(0x4000, 0x4bff) AM_READ(SMH_RAM) @@ -612,7 +536,7 @@ static ADDRESS_MAP_START( scramblb_writemem, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x6806, 0x6807) AM_WRITE(galaxian_vol_w) AM_RANGE(0x7001, 0x7001) AM_WRITE(galaxold_nmi_enable_w) AM_RANGE(0x7002, 0x7002) AM_WRITE(galaxold_coin_counter_w) - AM_RANGE(0x7003, 0x7003) AM_WRITE(scramble_background_enable_w) + AM_RANGE(0x7003, 0x7003) AM_WRITE(scrambold_background_enable_w) AM_RANGE(0x7004, 0x7004) AM_WRITE(galaxold_stars_enable_w) AM_RANGE(0x7006, 0x7006) AM_WRITE(galaxold_flip_screen_x_w) AM_RANGE(0x7007, 0x7007) AM_WRITE(galaxold_flip_screen_y_w) @@ -658,163 +582,6 @@ ADDRESS_MAP_END -static ADDRESS_MAP_START( jumpbug_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_READ(SMH_ROM) - AM_RANGE(0x4000, 0x4bff) AM_READ(SMH_RAM) - AM_RANGE(0x4c00, 0x4fff) AM_READ(galaxold_videoram_r) - AM_RANGE(0x5000, 0x50ff) AM_READ(SMH_RAM) - AM_RANGE(0x6000, 0x6000) AM_READ(input_port_0_r) - AM_RANGE(0x6800, 0x6800) AM_READ(input_port_1_r) - AM_RANGE(0x7000, 0x7000) AM_READ(input_port_2_r) - AM_RANGE(0x8000, 0xafff) AM_READ(SMH_ROM) - AM_RANGE(0xb000, 0xbfff) AM_READ(jumpbug_protection_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( jumpbug_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x4000, 0x47ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x4800, 0x4bff) AM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram) - AM_RANGE(0x4c00, 0x4fff) AM_WRITE(galaxold_videoram_w) - AM_RANGE(0x5000, 0x503f) AM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) - AM_RANGE(0x5040, 0x505f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) - AM_RANGE(0x5060, 0x507f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_bulletsram) AM_SIZE(&galaxold_bulletsram_size) - AM_RANGE(0x5080, 0x50ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x5800, 0x5800) AM_WRITE(AY8910_write_port_0_w) - AM_RANGE(0x5900, 0x5900) AM_WRITE(AY8910_control_port_0_w) - AM_RANGE(0x6002, 0x6006) AM_WRITE(galaxold_gfxbank_w) - AM_RANGE(0x7001, 0x7001) AM_WRITE(galaxold_nmi_enable_w) - AM_RANGE(0x7002, 0x7002) AM_WRITE(galaxold_coin_counter_w) - AM_RANGE(0x7004, 0x7004) AM_WRITE(galaxold_stars_enable_w) - AM_RANGE(0x7006, 0x7006) AM_WRITE(galaxold_flip_screen_x_w) - AM_RANGE(0x7007, 0x7007) AM_WRITE(galaxold_flip_screen_y_w) - AM_RANGE(0x8000, 0xafff) AM_WRITE(SMH_ROM) -ADDRESS_MAP_END - - -static ADDRESS_MAP_START( checkman_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x8000, 0x83ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x9000, 0x93ff) AM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram) - AM_RANGE(0x9800, 0x983f) AM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) - AM_RANGE(0x9840, 0x985f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) - AM_RANGE(0x9860, 0x987f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_bulletsram) AM_SIZE(&galaxold_bulletsram_size) - AM_RANGE(0x9880, 0x98ff) AM_WRITE(SMH_RAM) - AM_RANGE(0xa004, 0xa007) AM_WRITE(galaxian_lfo_freq_w) - AM_RANGE(0xa800, 0xa802) AM_WRITE(galaxian_background_enable_w) - AM_RANGE(0xa803, 0xa803) AM_WRITE(galaxian_noise_enable_w) - AM_RANGE(0xa805, 0xa805) AM_WRITE(galaxian_shoot_enable_w) - AM_RANGE(0xa806, 0xa807) AM_WRITE(galaxian_vol_w) - AM_RANGE(0xb001, 0xb001) AM_WRITE(galaxold_nmi_enable_w) - AM_RANGE(0xb004, 0xb004) AM_WRITE(galaxold_stars_enable_w) - AM_RANGE(0xb006, 0xb006) AM_WRITE(galaxold_flip_screen_x_w) - AM_RANGE(0xb007, 0xb007) AM_WRITE(galaxold_flip_screen_y_w) - AM_RANGE(0xb800, 0xb800) AM_WRITE(galaxian_pitch_w) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( checkmaj_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x4000, 0x47ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x5000, 0x53ff) AM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram) - AM_RANGE(0x5800, 0x583f) AM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) - AM_RANGE(0x5840, 0x585f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) - AM_RANGE(0x5860, 0x587f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_bulletsram) AM_SIZE(&galaxold_bulletsram_size) - AM_RANGE(0x5880, 0x58ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x7001, 0x7001) AM_WRITE(galaxold_nmi_enable_w) - AM_RANGE(0x7006, 0x7006) AM_WRITE(galaxold_flip_screen_x_w) - AM_RANGE(0x7007, 0x7007) AM_WRITE(galaxold_flip_screen_y_w) - AM_RANGE(0x7800, 0x7800) AM_WRITE(checkman_sound_command_w) -ADDRESS_MAP_END - - -static ADDRESS_MAP_START( checkman_writeport, ADDRESS_SPACE_IO, 8 ) - ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0, 0) AM_WRITE(checkman_sound_command_w) -ADDRESS_MAP_END - - -static ADDRESS_MAP_START( checkman_sound_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x0fff) AM_READ(SMH_ROM) - AM_RANGE(0x2000, 0x23ff) AM_READ(SMH_RAM) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( checkman_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x0fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x2000, 0x23ff) AM_WRITE(SMH_RAM) -ADDRESS_MAP_END - - -static ADDRESS_MAP_START( checkman_sound_readport, ADDRESS_SPACE_IO, 8 ) - ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0x03, 0x03) AM_READ(soundlatch_r) - AM_RANGE(0x06, 0x06) AM_READ(AY8910_read_port_0_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( checkman_sound_writeport, ADDRESS_SPACE_IO, 8 ) - ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0x04, 0x04) AM_WRITE(AY8910_control_port_0_w) - AM_RANGE(0x05, 0x05) AM_WRITE(AY8910_write_port_0_w) -ADDRESS_MAP_END - - -static ADDRESS_MAP_START( checkmaj_sound_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x0fff) AM_READ(SMH_ROM) - AM_RANGE(0x8000, 0x83ff) AM_READ(SMH_RAM) - AM_RANGE(0xa002, 0xa002) AM_READ(AY8910_read_port_0_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( checkmaj_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x0fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x8000, 0x83ff) AM_WRITE(SMH_RAM) - AM_RANGE(0xa000, 0xa000) AM_WRITE(AY8910_control_port_0_w) - AM_RANGE(0xa001, 0xa001) AM_WRITE(AY8910_write_port_0_w) -ADDRESS_MAP_END - - -static ADDRESS_MAP_START( kingball_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x2fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x8000, 0x83ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x9000, 0x93ff) AM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram) - AM_RANGE(0x9800, 0x983f) AM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) - AM_RANGE(0x9840, 0x985f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) - AM_RANGE(0x9860, 0x987f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_bulletsram) AM_SIZE(&galaxold_bulletsram_size) - AM_RANGE(0x9880, 0x98ff) AM_WRITE(SMH_RAM) - AM_RANGE(0xa000, 0xa001) AM_WRITE(galaxold_leds_w) - AM_RANGE(0xa002, 0xa002) AM_WRITE(galaxold_coin_lockout_w) - AM_RANGE(0xa003, 0xa003) AM_WRITE(galaxold_coin_counter_w) - AM_RANGE(0xa004, 0xa007) AM_WRITE(galaxian_lfo_freq_w) - AM_RANGE(0xa800, 0xa802) AM_WRITE(galaxian_background_enable_w) - AM_RANGE(0xa803, 0xa803) AM_WRITE(galaxian_noise_enable_w) - AM_RANGE(0xa805, 0xa805) AM_WRITE(galaxian_shoot_enable_w) - AM_RANGE(0xa806, 0xa807) AM_WRITE(galaxian_vol_w) // - AM_RANGE(0xb000, 0xb000) AM_WRITE(kingball_sound1_w) - AM_RANGE(0xb001, 0xb001) AM_WRITE(galaxold_nmi_enable_w) - AM_RANGE(0xb002, 0xb002) AM_WRITE(kingball_sound2_w) - AM_RANGE(0xb003, 0xb003) AM_WRITE(kingball_speech_dip_w) - AM_RANGE(0xb004, 0xb004) AM_WRITE(SMH_NOP) /* noise generator enable */ - AM_RANGE(0xb006, 0xb006) AM_WRITE(galaxold_flip_screen_x_w) - AM_RANGE(0xb007, 0xb007) AM_WRITE(galaxold_flip_screen_y_w) - AM_RANGE(0xb800, 0xb800) AM_WRITE(galaxian_pitch_w) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( kingball_sound_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x1fff) AM_READ(SMH_ROM) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( kingball_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x1fff) AM_WRITE(SMH_ROM) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( kingball_sound_readport, ADDRESS_SPACE_IO, 8 ) - ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0x00, 0x00) AM_READ(soundlatch_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( kingball_sound_writeport, ADDRESS_SPACE_IO, 8 ) - ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0x00, 0x00) AM_WRITE(DAC_0_data_w) -ADDRESS_MAP_END - - static ADDRESS_MAP_START( _4in1_readmem, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x3fff) AM_READ(SMH_BANK1) /* banked game code */ AM_RANGE(0x4000, 0x47ff) AM_READ(SMH_RAM) @@ -882,92 +649,6 @@ static ADDRESS_MAP_START( bagmanmc_writemem, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xb800, 0xb800) AM_WRITE(galaxian_pitch_w) ADDRESS_MAP_END -static int latch; - -static WRITE8_HANDLER( zigzag_8910_latch_w ) -{ - latch = offset; -} - -static WRITE8_HANDLER( zigzag_8910_data_trigger_w ) -{ - AY8910_write_port_0_w(machine,0,latch); -} - -static WRITE8_HANDLER( zigzag_8910_control_trigger_w ) -{ - AY8910_control_port_0_w(machine,0,latch); -} - -static ADDRESS_MAP_START( zigzag_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x1fff) AM_READ(SMH_ROM) - AM_RANGE(0x2000, 0x2fff) AM_READ(SMH_BANK1) - AM_RANGE(0x3000, 0x3fff) AM_READ(SMH_BANK2) - AM_RANGE(0x4000, 0x47ff) AM_READ(SMH_RAM) - AM_RANGE(0x5000, 0x53ff) AM_READ(SMH_RAM) - AM_RANGE(0x5800, 0x58ff) AM_READ(SMH_RAM) - AM_RANGE(0x6000, 0x6000) AM_READ(input_port_0_r) - AM_RANGE(0x6800, 0x6800) AM_READ(input_port_1_r) - AM_RANGE(0x7000, 0x7000) AM_READ(input_port_2_r) - AM_RANGE(0x7800, 0x7800) AM_READ(watchdog_reset_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( zigzag_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x4000, 0x47ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x4800, 0x4800) AM_WRITE(SMH_NOP) /* part of the 8910 interface */ - AM_RANGE(0x4801, 0x4801) AM_WRITE(zigzag_8910_data_trigger_w) - AM_RANGE(0x4803, 0x4803) AM_WRITE(zigzag_8910_control_trigger_w) - AM_RANGE(0x4900, 0x49ff) AM_WRITE(zigzag_8910_latch_w) - AM_RANGE(0x4a00, 0x4a00) AM_WRITE(SMH_NOP) /* part of the 8910 interface */ - AM_RANGE(0x5000, 0x53ff) AM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram) - AM_RANGE(0x5800, 0x583f) AM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) - AM_RANGE(0x5840, 0x587f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) /* no bulletsram, all sprites */ - AM_RANGE(0x5880, 0x58ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x7001, 0x7001) AM_WRITE(galaxold_nmi_enable_w) - AM_RANGE(0x7002, 0x7002) AM_WRITE(zigzag_sillyprotection_w) - AM_RANGE(0x7006, 0x7006) AM_WRITE(galaxold_flip_screen_x_w) - AM_RANGE(0x7007, 0x7007) AM_WRITE(galaxold_flip_screen_y_w) -ADDRESS_MAP_END - - -static ADDRESS_MAP_START( scorpnmc_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_READ(SMH_ROM) - AM_RANGE(0x4000, 0x47ff) AM_READ(SMH_RAM) - AM_RANGE(0x5000, 0x67ff) AM_READ(SMH_ROM) - AM_RANGE(0x9000, 0x93ff) AM_READ(SMH_RAM) - AM_RANGE(0x9400, 0x97ff) AM_READ(galaxold_videoram_r) - AM_RANGE(0x9800, 0x98ff) AM_READ(SMH_RAM) - AM_RANGE(0xa000, 0xa000) AM_READ(input_port_0_r) - AM_RANGE(0xa800, 0xa800) AM_READ(input_port_1_r) - AM_RANGE(0xb001, 0xb001) AM_READ(input_port_2_r) - AM_RANGE(0xb002, 0xb002) AM_READ(input_port_3_r) - AM_RANGE(0xb800, 0xb800) AM_READ(watchdog_reset_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( scorpnmc_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x4000, 0x47ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x5000, 0x67ff) AM_WRITE(SMH_ROM) - AM_RANGE(0x9000, 0x93ff) AM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram) - AM_RANGE(0x9800, 0x983f) AM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) - AM_RANGE(0x9840, 0x985f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) - AM_RANGE(0x9860, 0x987f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_bulletsram) AM_SIZE(&galaxold_bulletsram_size) - AM_RANGE(0x9880, 0x98ff) AM_WRITE(SMH_RAM) - AM_RANGE(0xa003, 0xa003) AM_WRITE(galaxold_coin_counter_w) - AM_RANGE(0xa004, 0xa007) AM_WRITE(galaxian_lfo_freq_w) - AM_RANGE(0xa800, 0xa802) AM_WRITE(galaxian_background_enable_w) - AM_RANGE(0xa803, 0xa803) AM_WRITE(galaxian_noise_enable_w) - AM_RANGE(0xa805, 0xa805) AM_WRITE(galaxian_shoot_enable_w) - AM_RANGE(0xa806, 0xa807) AM_WRITE(galaxian_vol_w) - AM_RANGE(0xb001, 0xb001) AM_WRITE(galaxold_nmi_enable_w) - AM_RANGE(0xb004, 0xb004) AM_WRITE(galaxold_stars_enable_w) - AM_RANGE(0xb006, 0xb006) AM_WRITE(galaxold_flip_screen_x_w) - AM_RANGE(0xb007, 0xb007) AM_WRITE(galaxold_flip_screen_y_w) - AM_RANGE(0xb800, 0xb800) AM_WRITE(galaxian_pitch_w) -ADDRESS_MAP_END - - static ADDRESS_MAP_START( dkongjrm_readmem, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x5fff) AM_READ(SMH_ROM) AM_RANGE(0x6000, 0x6fff) AM_READ(SMH_RAM) @@ -1323,673 +1004,6 @@ ADDRESS_MAP_END PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )\ PORT_DIPSETTING( 0xc0, DEF_STR( Free_Play ) ) -static INPUT_PORTS_START( galaxian ) -GAL_IN0 -GAL_IN1 - - PORT_START_TAG("DSW0") - PORT_DIPNAME( 0x03, 0x00, DEF_STR( Bonus_Life ) ) - PORT_DIPSETTING( 0x00, "7000" ) - PORT_DIPSETTING( 0x01, "10000" ) - PORT_DIPSETTING( 0x02, "12000" ) - PORT_DIPSETTING( 0x03, "20000" ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Lives ) ) - PORT_DIPSETTING( 0x00, "2" ) - PORT_DIPSETTING( 0x04, "3" ) - PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unused ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x08, DEF_STR( On ) ) - PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) -INPUT_PORTS_END - -static INPUT_PORTS_START( galtaito ) - PORT_START_TAG("IN0") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) - PORT_DIPNAME( 0x20, 0x20, DEF_STR( Cabinet ) ) - PORT_DIPSETTING( 0x20, DEF_STR( Upright ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) ) - PORT_SERVICE( 0x40, IP_ACTIVE_HIGH ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SERVICE1 ) - -GAL_IN1 - - PORT_START_TAG("DSW0") - PORT_DIPNAME( 0x03, 0x01, DEF_STR( Bonus_Life ) ) - PORT_DIPSETTING( 0x00, DEF_STR( None ) ) - PORT_DIPSETTING( 0x01, "4000" ) - PORT_DIPSETTING( 0x02, "5000" ) - PORT_DIPSETTING( 0x03, "7000" ) - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) ) - PORT_DIPSETTING( 0x00, "3" ) - PORT_DIPSETTING( 0x04, "5" ) - PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unused ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x08, DEF_STR( On ) ) - PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) -INPUT_PORTS_END - -static INPUT_PORTS_START( superg ) -GAL_IN0 -GAL_IN1 - - PORT_START_TAG("DSW0") - PORT_DIPNAME( 0x03, 0x01, DEF_STR( Bonus_Life ) ) - PORT_DIPSETTING( 0x00, DEF_STR( None ) ) - PORT_DIPSETTING( 0x01, "4000" ) - PORT_DIPSETTING( 0x02, "5000" ) - PORT_DIPSETTING( 0x03, "7000" ) - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) ) - PORT_DIPSETTING( 0x00, "3" ) - PORT_DIPSETTING( 0x04, "5" ) - PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unused ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x08, DEF_STR( On ) ) - PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) -INPUT_PORTS_END - -static INPUT_PORTS_START( swarm ) -GAL_IN0 -GAL_IN1 - - PORT_START_TAG("DSW0") - PORT_DIPNAME( 0x03, 0x00, DEF_STR( Bonus_Life ) ) - PORT_DIPSETTING( 0x01, "10000" ) - PORT_DIPSETTING( 0x02, "20000" ) - PORT_DIPSETTING( 0x03, "40000" ) - PORT_DIPSETTING( 0x00, DEF_STR( None ) ) - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) ) - PORT_DIPSETTING( 0x00, "3" ) - PORT_DIPSETTING( 0x04, "4" ) - PORT_DIPNAME( 0x08, 0x00, DEF_STR( Difficulty ) ) /* aliens "flying" simultaneously */ - PORT_DIPSETTING( 0x00, DEF_STR( Easy ) ) /* less aliens */ - PORT_DIPSETTING( 0x08, DEF_STR( Hard ) ) /* more aliens */ - PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) -INPUT_PORTS_END - -static INPUT_PORTS_START( gmgalax ) - PORT_START_TAG("GMIN0") /* Ghost Muncher - IN0 */ - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP) PORT_4WAY PORT_COCKTAIL - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_DIPNAME( 0x20, 0x00, "Ghost Muncher - Cabinet" ) PORT_CONDITION("FAKE",0x01,PORTCOND_NOTEQUALS,0x01) - PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) - PORT_DIPSETTING( 0x20, DEF_STR( Cocktail ) ) - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY - - PORT_START_TAG("GMIN1") /* Ghost Muncher - IN1 */ - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL - PORT_DIPNAME( 0xc0, 0x40, "Ghost Muncher - Bonus Life" ) PORT_CONDITION("FAKE",0x01,PORTCOND_NOTEQUALS,0x01) - PORT_DIPSETTING( 0x40, "10000" ) - PORT_DIPSETTING( 0x80, "15000" ) - PORT_DIPSETTING( 0xc0, "20000" ) - PORT_DIPSETTING( 0x00, DEF_STR( None ) ) - - PORT_START_TAG("GMDSW0") /* Ghost Muncher - DSW0 */ - PORT_DIPNAME( 0x03, 0x02, "Ghost Muncher - Coinage" ) PORT_CONDITION("FAKE",0x01,PORTCOND_NOTEQUALS,0x01) - PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) ) - PORT_DIPSETTING( 0x03, DEF_STR( Free_Play ) ) - PORT_DIPNAME( 0x0c, 0x04, "Ghost Muncher - Lives" ) PORT_CONDITION("FAKE",0x01,PORTCOND_NOTEQUALS,0x01) - PORT_DIPSETTING( 0x0c, "1" ) - PORT_DIPSETTING( 0x08, "2" ) - PORT_DIPSETTING( 0x04, "3" ) - PORT_DIPSETTING( 0x00, "5" ) - PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) - - PORT_START_TAG("IN0") /* Galaxian - IN0 */ - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) - PORT_DIPNAME( 0x20, 0x00, "Galaxian - Cabinet" ) PORT_CONDITION("FAKE",0x01,PORTCOND_EQUALS,0x01) - PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) - PORT_DIPSETTING( 0x20, DEF_STR( Cocktail ) ) - PORT_SERVICE( 0x40, IP_ACTIVE_HIGH ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SERVICE1 ) - - PORT_START_TAG("IN1") /* Galaxian - IN1 */ - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_COCKTAIL - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_COCKTAIL - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_DIPNAME( 0xc0, 0x00, "Galaxian - Coinage" ) PORT_CONDITION("FAKE",0x01,PORTCOND_EQUALS,0x01) - PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) ) - PORT_DIPSETTING( 0xc0, DEF_STR( Free_Play ) ) - - PORT_START_TAG("DSW0") /* Galaxian - DSW0 */ - PORT_DIPNAME( 0x03, 0x01, "Galaxian - Bonus Life" ) PORT_CONDITION("FAKE",0x01,PORTCOND_EQUALS,0x01) - PORT_DIPSETTING( 0x01, "4000" ) - PORT_DIPSETTING( 0x02, "5000" ) - PORT_DIPSETTING( 0x03, "7000" ) - PORT_DIPSETTING( 0x00, DEF_STR( None ) ) - PORT_DIPNAME( 0x04, 0x00, "Galaxian - Lives" ) PORT_CONDITION("FAKE",0x01,PORTCOND_EQUALS,0x01) - PORT_DIPSETTING( 0x00, "3" ) - PORT_DIPSETTING( 0x04, "5" ) - PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unused ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x08, DEF_STR( On ) ) - PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) - - PORT_START_TAG("FAKE") /* fake - game select */ - PORT_BIT( 0x01, 0x00, IPT_DIPSWITCH_NAME ) PORT_NAME("Game Select") PORT_CODE(KEYCODE_F1) PORT_TOGGLE - PORT_DIPSETTING( 0x00, "Ghost Muncher" ) - PORT_DIPSETTING( 0x01, "Galaxian" ) -INPUT_PORTS_END - -static INPUT_PORTS_START( zerotime ) -GAL_IN0 - PORT_START_TAG("IN1") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_COCKTAIL - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_COCKTAIL - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Coinage ) ) - PORT_DIPSETTING( 0x40, "A 1C/1C 2C/2C B 1C/2C" ) - PORT_DIPSETTING( 0xc0, "A 1C/1C 2C/3C B 1C/3C" ) - PORT_DIPSETTING( 0x00, "A 1C/2C 2C/4C B 1C/4C" ) - PORT_DIPSETTING( 0x80, "A 1C/2C 2C/5C B 1C/5C" ) - - PORT_START_TAG("DSW0") - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Bonus_Life ) ) - PORT_DIPSETTING( 0x03, "6000" ) - PORT_DIPSETTING( 0x02, "7000" ) - PORT_DIPSETTING( 0x01, "9000" ) - PORT_DIPSETTING( 0x00, DEF_STR( None ) ) - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) ) - PORT_DIPSETTING( 0x00, "3" ) - PORT_DIPSETTING( 0x04, "5" ) - PORT_DIPNAME( 0x08, 0x00, DEF_STR( Difficulty ) ) /* player's bullet speed */ - PORT_DIPSETTING( 0x00, DEF_STR( Easy ) ) /* gap of 6 pixels */ - PORT_DIPSETTING( 0x08, DEF_STR( Hard ) ) /* gap of 8 pixels */ - PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) -INPUT_PORTS_END - -#define PISCES_COMMON\ - PORT_START_TAG("IN0")\ - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN2 )\ - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN1 )\ - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY\ - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY\ - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )\ - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )\ - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED )\ - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED )\ - PORT_START_TAG("IN1")\ - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )\ - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )\ - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_COCKTAIL\ - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_COCKTAIL\ - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL\ - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )\ - PORT_DIPNAME( 0x40, 0x00, DEF_STR( Lives ) )\ - PORT_DIPSETTING( 0x00, "3" )\ - PORT_DIPSETTING( 0x40, "4" )\ - PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) )\ - PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )\ - PORT_DIPSETTING( 0x80, DEF_STR( Cocktail ) ) - - -static INPUT_PORTS_START( pisces ) -PISCES_COMMON - - PORT_START_TAG("DSW0") - PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life ) ) - PORT_DIPSETTING( 0x00, "10000" ) - PORT_DIPSETTING( 0x01, "20000" ) - PORT_DIPNAME( 0x02, 0x00, DEF_STR( Coinage ) ) - PORT_DIPSETTING( 0x02, "A 2C/1C B 1C/3C" ) - PORT_DIPSETTING( 0x00, "A 1C/1C B 1C/6C" ) - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Difficulty ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Easy ) ) - PORT_DIPSETTING( 0x04, DEF_STR( Hard ) ) - PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unused ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x08, DEF_STR( On ) ) - PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) -INPUT_PORTS_END - -/* Same as 'pisces', but different "Coinage" Dip Switch */ -static INPUT_PORTS_START( piscesb ) -PISCES_COMMON - PORT_START_TAG("DSW0") - PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life ) ) - PORT_DIPSETTING( 0x00, "10000" ) - PORT_DIPSETTING( 0x01, "20000" ) - PORT_DIPNAME( 0x02, 0x00, DEF_STR( Coinage ) ) - PORT_DIPSETTING( 0x02, "A 2C/1C B 1C/2C 2C/5C" ) - PORT_DIPSETTING( 0x00, "A 1C/1C B 1C/5C" ) - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Difficulty ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Easy ) ) - PORT_DIPSETTING( 0x04, DEF_STR( Hard ) ) - PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unused ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x08, DEF_STR( On ) ) - PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) -INPUT_PORTS_END - -#define GTEIKOB_COMMON\ - PORT_START_TAG("IN0")\ - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )\ - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )\ - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY\ - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY\ - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )\ - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )\ - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED ) /* Not tested due to code removed at 0x00ab, 0x1b26 and 0x1c97*/\ - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) /* Not tested due to code removed at 0x1901*/\ - PORT_START_TAG("IN1")\ - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )\ - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )\ - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_COCKTAIL\ - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_COCKTAIL\ - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL\ - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )\ - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coin_A ) )\ - PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) )\ - PORT_DIPSETTING( 0x40, DEF_STR( 1C_1C ) )\ - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coin_B ) )\ - PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) )\ - PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) ) - -static INPUT_PORTS_START( gteikokb ) -GTEIKOB_COMMON - PORT_START_TAG("DSW0") - PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life ) ) - PORT_DIPSETTING( 0x00, "7000" ) - PORT_DIPSETTING( 0x01, DEF_STR( None ) ) - PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unused ) ) // Not read due to code at 0x012b - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x02, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) ) - PORT_DIPSETTING( 0x00, "3" ) - PORT_DIPSETTING( 0x04, "5" ) - PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) ) - PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) -INPUT_PORTS_END - -/* same as gteikokb with cabinet reversed */ -static INPUT_PORTS_START( gteikob2 ) -GTEIKOB_COMMON - PORT_START_TAG("DSW0") - PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life ) ) - PORT_DIPSETTING( 0x00, "7000" ) - PORT_DIPSETTING( 0x01, DEF_STR( None ) ) - PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unused ) ) // Not read due to code at 0x012b - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x02, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) ) - PORT_DIPSETTING( 0x00, "3" ) - PORT_DIPSETTING( 0x04, "5" ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Cabinet ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Upright ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) ) - PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) -INPUT_PORTS_END - -static INPUT_PORTS_START( spacbatt ) -GAL_IN0 - - PORT_START_TAG("IN1") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_COCKTAIL - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_COCKTAIL - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coinage ) ) - PORT_DIPSETTING( 0x40, "A 2C/1C B 1C/3C" ) - PORT_DIPSETTING( 0x00, "A 1C/1C B 1C/6C" ) - PORT_DIPSETTING( 0x80, "A 1C/2C B 1C/6C" ) - PORT_DIPSETTING( 0xc0, DEF_STR( Free_Play ) ) - - PORT_START_TAG("DSW0") - PORT_DIPNAME( 0x03, 0x01, DEF_STR( Bonus_Life ) ) - PORT_DIPSETTING( 0x01, "4000" ) - PORT_DIPSETTING( 0x02, "5000" ) - PORT_DIPSETTING( 0x03, "7000" ) - PORT_DIPSETTING( 0x00, DEF_STR( None ) ) - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) ) - PORT_DIPSETTING( 0x00, "3" ) - PORT_DIPSETTING( 0x04, "5" ) - PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unused ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x08, DEF_STR( On ) ) - PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) -INPUT_PORTS_END - -static INPUT_PORTS_START( batman2 ) - PORT_START_TAG("IN0") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON2 ) - - PORT_START_TAG("IN1") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_COCKTAIL - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_COCKTAIL - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coin_A ) ) - PORT_DIPSETTING( 0x40, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 1C_2C ) ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coin_B ) ) - PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) ) - - PORT_START_TAG("DSW0") - PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life ) ) - PORT_DIPSETTING( 0x00, "30000" ) - PORT_DIPSETTING( 0x01, "50000" ) - PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unused ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x02, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) ) - PORT_DIPSETTING( 0x00, "3" ) - PORT_DIPSETTING( 0x04, "5" ) - PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) ) - PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) -INPUT_PORTS_END - -static INPUT_PORTS_START( warofbug ) - PORT_START_TAG("IN0") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) - PORT_DIPNAME( 0x20, 0x00, DEF_STR( Cabinet ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) - PORT_DIPSETTING( 0x20, DEF_STR( Cocktail ) ) - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY - - PORT_START_TAG("IN1") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL - PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coinage ) ) - PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) -// PORT_DIPSETTING( 0x80, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0xc0, DEF_STR( Free_Play ) ) - - PORT_START_TAG("DSW0") - PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) ) - PORT_DIPSETTING( 0x00, "1" ) - PORT_DIPSETTING( 0x01, "2" ) - PORT_DIPSETTING( 0x02, "3" ) - PORT_DIPSETTING( 0x03, "4" ) - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x04, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Bonus_Life ) ) - PORT_DIPSETTING( 0x08, "500000" ) - PORT_DIPSETTING( 0x00, "750000" ) - PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) -INPUT_PORTS_END - -static INPUT_PORTS_START( redufo ) -GAL_IN0 - - PORT_START_TAG("IN1") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_COCKTAIL - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_COCKTAIL - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coinage ) ) - PORT_DIPSETTING( 0x40, "A 2C/1C B 1C/3C" ) - PORT_DIPSETTING( 0x00, "A 1C/1C B 1C/6C" ) - PORT_DIPSETTING( 0x80, "A 1C/2C B 1C/12C" ) - PORT_DIPSETTING( 0xc0, DEF_STR( Free_Play ) ) - - PORT_START_TAG("DSW0") - PORT_DIPNAME( 0x03, 0x01, DEF_STR( Bonus_Life ) ) - PORT_DIPSETTING( 0x01, "4000" ) - PORT_DIPSETTING( 0x02, "5000" ) - PORT_DIPSETTING( 0x03, "7000" ) - PORT_DIPSETTING( 0x00, DEF_STR( None ) ) - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) ) - PORT_DIPSETTING( 0x00, "3" ) - PORT_DIPSETTING( 0x04, "5" ) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) -INPUT_PORTS_END - -static INPUT_PORTS_START( exodus ) - PORT_START_TAG("IN0") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_SERVICE( 0x40, IP_ACTIVE_HIGH ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) // Not tested due to code removed at 0x1901 and 0x191a - - PORT_START_TAG("IN1") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_COCKTAIL - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_COCKTAIL - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coin_B ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x40, DEF_STR( 1C_1C ) ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coin_A ) ) - PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) ) - - PORT_START_TAG("DSW0") - PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life ) ) - PORT_DIPSETTING( 0x00, "7000" ) - PORT_DIPSETTING( 0x01, DEF_STR( None ) ) - PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unused ) ) // Not read due to code at 0x012b - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x02, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) ) - PORT_DIPSETTING( 0x00, "3" ) - PORT_DIPSETTING( 0x04, "5" ) - PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) ) - PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) -INPUT_PORTS_END - -static INPUT_PORTS_START( streakng ) - PORT_START_TAG("IN0") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP) PORT_4WAY PORT_COCKTAIL - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_DIPNAME( 0x20, 0x00, DEF_STR( Cabinet ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) - PORT_DIPSETTING( 0x20, DEF_STR( Cocktail ) ) - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY - - PORT_START_TAG("IN1") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL - PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Bonus_Life ) ) - PORT_DIPSETTING( 0x40, "10000" ) - PORT_DIPSETTING( 0x80, "15000" ) - PORT_DIPSETTING( 0xc0, "20000" ) - PORT_DIPSETTING( 0x00, DEF_STR( None ) ) - - PORT_START_TAG("DSW0") - PORT_DIPNAME( 0x03, 0x02, DEF_STR( Coinage ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) ) - PORT_DIPSETTING( 0x03, DEF_STR( Free_Play ) ) - PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Lives ) ) - PORT_DIPSETTING( 0x0c, "1" ) - PORT_DIPSETTING( 0x08, "2" ) - PORT_DIPSETTING( 0x04, "3" ) - PORT_DIPSETTING( 0x00, "5" ) - PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) -INPUT_PORTS_END - -static INPUT_PORTS_START( pacmanbl ) - PORT_START_TAG("IN0") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY - - PORT_START_TAG("IN1") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coin_A ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x40, DEF_STR( 1C_1C ) ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coin_B ) ) - PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) ) - - PORT_START_TAG("DSW0") - PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life ) ) - PORT_DIPSETTING( 0x00, "15000" ) - PORT_DIPSETTING( 0x01, "20000" ) - PORT_DIPNAME( 0x02, 0x00, DEF_STR( Difficulty ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Easy ) ) - PORT_DIPSETTING( 0x02, DEF_STR( Hard ) ) - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) ) - PORT_DIPSETTING( 0x00, "3" ) - PORT_DIPSETTING( 0x04, "5" ) - PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) ) - PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) -INPUT_PORTS_END - -static INPUT_PORTS_START( devilfsg ) - PORT_START_TAG("IN0") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY - - PORT_START_TAG("IN1") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coin_A ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x40, DEF_STR( 1C_1C ) ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coin_B ) ) - PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) ) - - PORT_START_TAG("DSW0") - PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life ) ) - PORT_DIPSETTING( 0x00, "10000" ) - PORT_DIPSETTING( 0x01, "15000" ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) ) - PORT_DIPSETTING( 0x00, "4" ) - PORT_DIPSETTING( 0x04, "5" ) - PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) ) - PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) -INPUT_PORTS_END - -static INPUT_PORTS_START( zigzag ) - PORT_START_TAG("IN0") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL - - PORT_START_TAG("IN1") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL - PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coinage ) ) - PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) ) - PORT_DIPSETTING( 0xc0, DEF_STR( Free_Play ) ) - - PORT_START_TAG("DSW0") - PORT_DIPNAME( 0x01, 0x00, DEF_STR( Lives ) ) - PORT_DIPSETTING( 0x00, "3" ) - PORT_DIPSETTING( 0x01, "4" ) - PORT_DIPNAME( 0x02, 0x02, DEF_STR( Cabinet ) ) - PORT_DIPSETTING( 0x02, DEF_STR( Upright ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) ) - PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) ) - PORT_DIPSETTING( 0x00, "10000 60000" ) - PORT_DIPSETTING( 0x04, "20000 60000" ) - PORT_DIPSETTING( 0x08, "30000 60000" ) - PORT_DIPSETTING( 0x0c, "40000 60000" ) - PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) -INPUT_PORTS_END - static INPUT_PORTS_START( scramblb ) PORT_START_TAG("IN0") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) @@ -2076,339 +1090,6 @@ static INPUT_PORTS_START( scramb2 ) INPUT_PORTS_END -static INPUT_PORTS_START( jumpbug ) - PORT_START_TAG("IN0") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) - PORT_DIPNAME( 0x20, 0x00, DEF_STR( Cabinet ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) - PORT_DIPSETTING( 0x20, DEF_STR( Cocktail ) ) - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY - - PORT_START_TAG("IN1") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN2 ) - PORT_DIPNAME( 0x40, 0x00, "Difficulty ?" ) - PORT_DIPSETTING( 0x00, DEF_STR( Hard ) ) - PORT_DIPSETTING( 0x40, DEF_STR( Easy ) ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL - - PORT_START_TAG("DSW0") - PORT_DIPNAME( 0x03, 0x01, DEF_STR( Lives ) ) - PORT_DIPSETTING( 0x01, "3" ) - PORT_DIPSETTING( 0x02, "4" ) - PORT_DIPSETTING( 0x03, "5" ) - PORT_DIPSETTING( 0x00, "Infinite (Cheat)") - PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Coinage ) ) - PORT_DIPSETTING( 0x04, "A 2C/1C B 2C/1C" ) - PORT_DIPSETTING( 0x08, "A 2C/1C B 1C/3C" ) - PORT_DIPSETTING( 0x00, "A 1C/1C B 1C/1C" ) - PORT_DIPSETTING( 0x0c, "A 1C/1C B 1C/6C" ) - PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) -INPUT_PORTS_END - -static INPUT_PORTS_START( levers ) - PORT_START_TAG("IN0") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1) - - PORT_START_TAG("IN1") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN2 ) - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) - - PORT_START_TAG("DSW0") - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) /* probably unused */ - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) /* probably unused */ - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x00, "Leave On") /* used - MUST be ON */ - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x00, DEF_STR( Free_Play ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x08, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) ) /* probably unused */ - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) ) /* probably unused */ - PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) ) /* probably unused */ - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) ) /* probably unused */ - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) -INPUT_PORTS_END - -static INPUT_PORTS_START( azurian ) - PORT_START_TAG("IN0") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN1 ) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) - - PORT_START_TAG("IN1") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* "linked" with bit 2 of IN2 */ - PORT_DIPNAME( 0x80, 0x00, DEF_STR( Lives ) ) - PORT_DIPSETTING( 0x00, "3" ) - PORT_DIPSETTING( 0x80, "5" ) - - PORT_START_TAG("IN2") - PORT_DIPNAME( 0x01, 0x00, DEF_STR( Coinage ) ) - PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) - PORT_DIPNAME( 0x02, 0x00, DEF_STR( Bonus_Life ) ) - PORT_DIPSETTING( 0x00, "5000" ) - PORT_DIPSETTING( 0x02, "7000" ) - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* "linked" with bit 6 of IN1 */ - PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) ) - PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) - - PORT_START_TAG("FAKE") /* fake port to handle routine at 0x05b3 that stores value at 0x40f4 */ - PORT_DIPNAME( 0x03, 0x01, DEF_STR( Difficulty ) ) - PORT_DIPSETTING( 0x03, DEF_STR( Easy ) ) - PORT_DIPSETTING( 0x01, DEF_STR( Normal ) ) - PORT_DIPSETTING( 0x02, DEF_STR( Hard ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Very_Hard ) ) -INPUT_PORTS_END - -static INPUT_PORTS_START( orbitron ) - PORT_START_TAG("IN0") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY - - PORT_START_TAG("IN1") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL - PORT_DIPNAME( 0x60, 0x40, DEF_STR( Coinage ) ) /* Routine at 0x00e1 */ - PORT_DIPSETTING( 0x00, "A 2C/1C B 1C/3C" ) -// PORT_DIPSETTING( 0x20, "A 2C/1C B 1C/3C" ) - PORT_DIPSETTING( 0x40, "A 1C/1C B 1C/6C" ) -// PORT_DIPSETTING( 0x60, "A 1C/1C B 1C/6C" ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL - - PORT_START_TAG("DSW0") - PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unused ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x01, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unused ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x02, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) ) - PORT_DIPSETTING( 0x04, "2" ) - PORT_DIPSETTING( 0x00, "3" ) - PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) ) - PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) -INPUT_PORTS_END - -static INPUT_PORTS_START( blkhole ) - PORT_START_TAG("IN0") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) - - PORT_START_TAG("IN1") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_COCKTAIL - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_COCKTAIL - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coinage ) ) - PORT_DIPSETTING( 0xc0, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) ) - PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) ) - - PORT_START_TAG("DSW0") - PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life ) ) - PORT_DIPSETTING( 0x00, "5000" ) - PORT_DIPSETTING( 0x01, "10000" ) - PORT_DIPNAME( 0x02, 0x02, DEF_STR( Cabinet ) ) - PORT_DIPSETTING( 0x02, DEF_STR( Upright ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) ) - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x04, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unused ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x08, DEF_STR( On ) ) - PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) -INPUT_PORTS_END - -static INPUT_PORTS_START( checkman ) - PORT_START_TAG("IN0") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN2 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN1 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL PORT_NAME("P2 Tiles Right") - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) - - PORT_START_TAG("IN1") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) PORT_NAME("Start 1 / P1 Tiles Left")/* also p1 tiles left */ - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) PORT_NAME("Start 2 / P1 Tiles Right")/* also p1 tiles right */ - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL PORT_NAME("P2 Tiles Left")/* p2 tiles left */ - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL - PORT_DIPNAME( 0x40, 0x00, DEF_STR( Coinage ) ) - PORT_DIPSETTING( 0x40, "A 2C/1C B 1C/3C" ) - PORT_DIPSETTING( 0x00, "A 1C/1C B 1C/6C" ) - PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) - PORT_DIPSETTING( 0x80, DEF_STR( Cocktail ) ) - - PORT_START_TAG("DSW0") - PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) ) - PORT_DIPSETTING( 0x00, "3" ) - PORT_DIPSETTING( 0x01, "4" ) - PORT_DIPSETTING( 0x02, "5" ) - PORT_DIPSETTING( 0x03, "6" ) - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Bonus_Life ) ) - PORT_DIPSETTING( 0x00, "100000" ) - PORT_DIPSETTING( 0x04, "200000" ) - PORT_DIPNAME( 0x08, 0x00, "Difficulty Increases At Level" ) - PORT_DIPSETTING( 0x08, "3" ) - PORT_DIPSETTING( 0x00, "5" ) - PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) -INPUT_PORTS_END - -static INPUT_PORTS_START( checkmaj ) - PORT_START_TAG("IN0") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2) PORT_COCKTAIL PORT_NAME("P2 Tiles Right") - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) - - PORT_START_TAG("IN1") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_COCKTAIL PORT_NAME("P2 Tiles Left") - PORT_DIPNAME( 0x40, 0x00, DEF_STR( Coinage ) ) - PORT_DIPSETTING( 0x40, "A 2C/1C B 1C/3C" ) - PORT_DIPSETTING( 0x00, "A 1C/1C B 1C/6C" ) - PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) - PORT_DIPSETTING( 0x80, DEF_STR( Cocktail ) ) - - PORT_START_TAG("DSW") - PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) ) - PORT_DIPSETTING( 0x00, "3" ) - PORT_DIPSETTING( 0x01, "4" ) - PORT_DIPSETTING( 0x02, "5" ) - PORT_DIPSETTING( 0x03, "6" ) - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Bonus_Life ) ) - PORT_DIPSETTING( 0x00, "100000" ) - PORT_DIPSETTING( 0x04, "200000" ) - PORT_DIPNAME( 0x08, 0x00, "Difficulty Increases At Level" ) - PORT_DIPSETTING( 0x08, "3" ) - PORT_DIPSETTING( 0x00, "5" ) - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("P1 Tiles Right") - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("P1 Tiles Left") -INPUT_PORTS_END - -static INPUT_PORTS_START( dingo ) - PORT_START_TAG("IN0") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL /* 1st Button 1 */ - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) - - PORT_START_TAG("IN1") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL /* 2nd Button 1 */ - PORT_DIPNAME( 0x40, 0x00, DEF_STR( Cabinet ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) - PORT_DIPSETTING( 0x40, DEF_STR( Cocktail ) ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coinage ) ) - PORT_DIPSETTING( 0x80, "A 1C/1C B 1C/5C" ) - PORT_DIPSETTING( 0x00, "A 2C/1C B 1C/3C" ) - - PORT_START_TAG("DSW") - PORT_DIPNAME( 0x03, 0x01, DEF_STR( Difficulty ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Easiest ) ) - PORT_DIPSETTING( 0x01, DEF_STR( Easy ) ) - PORT_DIPSETTING( 0x02, DEF_STR( Hard ) ) - PORT_DIPSETTING( 0x03, DEF_STR( Hardest ) ) - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) ) - PORT_DIPSETTING( 0x00, "3" ) - PORT_DIPSETTING( 0x04, "4" ) - PORT_DIPNAME( 0x08, 0x00, DEF_STR( Bonus_Life ) ) - PORT_DIPSETTING( 0x00, "20000" ) - PORT_DIPSETTING( 0x08, "40000" ) - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) /* Yes, the game reads both of these */ - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) /* Check code at 0x22e1 */ -INPUT_PORTS_END - #define MOON_IN0\ PORT_START_TAG("IN0")\ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )\ @@ -2422,634 +1103,6 @@ INPUT_PORTS_END PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* "reset" on schematics */\ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) -static INPUT_PORTS_START( mooncrst ) -MOON_IN0 - PORT_START_TAG("IN1") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_PLAYER(2) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_PLAYER(2) - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_DIPNAME( 0x40, 0x00, DEF_STR( Bonus_Life ) ) - PORT_DIPSETTING( 0x00, "30000" ) - PORT_DIPSETTING( 0x40, "50000" ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Language ) ) - PORT_DIPSETTING( 0x80, DEF_STR( English ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Japanese ) ) - - PORT_START_TAG("DSW") - PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coin_A ) ) - PORT_DIPSETTING( 0x03, DEF_STR( 4C_1C ) ) - PORT_DIPSETTING( 0x02, DEF_STR( 3C_1C ) ) - PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) - PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Coin_B ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) ) - PORT_DIPSETTING( 0x08, DEF_STR( 1C_3C ) ) - PORT_DIPSETTING( 0x0c, DEF_STR( Free_Play ) ) - PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) -INPUT_PORTS_END - -static INPUT_PORTS_START( mooncrsa ) -MOON_IN0 - PORT_START_TAG("IN1") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_PLAYER(2) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_PLAYER(2) - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_DIPNAME( 0x40, 0x00, DEF_STR( Bonus_Life ) ) - PORT_DIPSETTING( 0x00, "30000" ) - PORT_DIPSETTING( 0x40, "50000" ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Language ) ) - PORT_DIPSETTING( 0x80, DEF_STR( English ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Japanese ) ) - - PORT_START_TAG("DSW") -// PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coin_A ) ) Not used due to code at 0x01c0 -// PORT_DIPSETTING( 0x03, DEF_STR( 4C_1C ) ) -// PORT_DIPSETTING( 0x02, DEF_STR( 3C_1C ) ) -// PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) ) -// PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) - PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Coinage ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) ) - PORT_DIPSETTING( 0x08, DEF_STR( 1C_3C ) ) - PORT_DIPSETTING( 0x0c, DEF_STR( Free_Play ) ) - PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) -INPUT_PORTS_END - -static INPUT_PORTS_START( mooncrsg ) - PORT_START_TAG("IN0") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) - PORT_DIPNAME( 0x20, 0x00, DEF_STR( Cabinet ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) - PORT_DIPSETTING( 0x20, DEF_STR( Cocktail ) ) - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* "reset" on schematics */ - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SERVICE1 ) - - PORT_START_TAG("IN1") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_PLAYER(2) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_PLAYER(2) - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_DIPNAME( 0x40, 0x00, DEF_STR( Bonus_Life ) ) - PORT_DIPSETTING( 0x00, "30000" ) - PORT_DIPSETTING( 0x40, "50000" ) -// PORT_DIPNAME( 0x80, 0x80, DEF_STR( Language ) ) Always non-Japanese due to code at 0x2f77 -// PORT_DIPSETTING( 0x80, DEF_STR( English ) ) -// PORT_DIPSETTING( 0x00, DEF_STR( English ) ) - - PORT_START_TAG("DSW") - PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coin_A ) ) - PORT_DIPSETTING( 0x03, DEF_STR( 4C_1C ) ) - PORT_DIPSETTING( 0x02, DEF_STR( 3C_1C ) ) - PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) - PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Coin_B ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) ) - PORT_DIPSETTING( 0x08, DEF_STR( 1C_3C ) ) - PORT_DIPSETTING( 0x0c, DEF_STR( Free_Play ) ) - PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) -INPUT_PORTS_END - -static INPUT_PORTS_START( fantazia ) -MOON_IN0 - PORT_START_TAG("IN1") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_COCKTAIL - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_COCKTAIL - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_DIPNAME( 0x40, 0x00, DEF_STR( Bonus_Life ) ) - PORT_DIPSETTING( 0x00, "30000" ) - PORT_DIPSETTING( 0x40, "50000" ) -// PORT_DIPNAME( 0x80, 0x80, DEF_STR( Language ) ) Always non-Japanese due to code at 0x2f53 -// PORT_DIPSETTING( 0x80, DEF_STR( English ) ) -// PORT_DIPSETTING( 0x00, DEF_STR( Japanese ) ) - - PORT_START_TAG("DSW") - PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coin_B ) ) - PORT_DIPSETTING( 0x03, DEF_STR( 4C_1C ) ) - PORT_DIPSETTING( 0x02, DEF_STR( 3C_1C ) ) - PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) - PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Coin_A ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) ) - PORT_DIPSETTING( 0x08, DEF_STR( 1C_3C ) ) - PORT_DIPSETTING( 0x0c, DEF_STR( Free_Play ) ) - PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) -INPUT_PORTS_END - -static INPUT_PORTS_START( eagle ) -MOON_IN0 - PORT_START_TAG("IN1") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_PLAYER(2) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_PLAYER(2) - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_DIPNAME( 0x40, 0x00, DEF_STR( Bonus_Life ) ) - PORT_DIPSETTING( 0x00, "30000" ) - PORT_DIPSETTING( 0x40, "50000" ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Language ) ) - PORT_DIPSETTING( 0x80, DEF_STR( English ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Japanese ) ) - - PORT_START_TAG("DSW") -// PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coin_A ) ) Not used due to code at 0x01c0 -// PORT_DIPSETTING( 0x03, DEF_STR( 4C_1C ) ) -// PORT_DIPSETTING( 0x02, DEF_STR( 3C_1C ) ) -// PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) ) -// PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) - PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Coinage ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) ) - PORT_DIPSETTING( 0x08, DEF_STR( 1C_3C ) ) - PORT_DIPSETTING( 0x0c, DEF_STR( Free_Play ) ) - PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) -INPUT_PORTS_END - -static INPUT_PORTS_START( eagle2 ) -MOON_IN0 - PORT_START_TAG("IN1") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_PLAYER(2) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_PLAYER(2) - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_DIPNAME( 0x40, 0x00, DEF_STR( Bonus_Life ) ) - PORT_DIPSETTING( 0x00, "30000" ) - PORT_DIPSETTING( 0x40, "50000" ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Language ) ) - PORT_DIPSETTING( 0x80, DEF_STR( English ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Japanese ) ) - - PORT_START_TAG("DSW") - PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coinage ) ) - PORT_DIPSETTING( 0x03, DEF_STR( 4C_1C ) ) - PORT_DIPSETTING( 0x02, DEF_STR( 3C_1C ) ) - PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) -// PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Coin_B ) ) Not used due to code at 0x01c0, -// PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) but "Free Play" is checked -// PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) ) -// PORT_DIPSETTING( 0x08, DEF_STR( 1C_3C ) ) -// PORT_DIPSETTING( 0x0c, DEF_STR( Free_Play ) ) - PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Free_Play ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) -// PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) -// PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x0c, DEF_STR( On ) ) - PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) -INPUT_PORTS_END - -static INPUT_PORTS_START( smooncrs ) -MOON_IN0 - PORT_START_TAG("IN1") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) /* Not read due to code at 0x2b1c and 0x3313 */ - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) /* Not read due to code at 0x2b1c and 0x3313 */ - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) /* Not read due to code at 0x2b1c and 0x3313 */ - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) -// PORT_DIPNAME( 0x40, 0x00, DEF_STR( Bonus_Life ) ) Always '50000' due to code at 0x2f68 -// PORT_DIPSETTING( 0x00, "30000" ) -// PORT_DIPSETTING( 0x40, "50000" ) -// PORT_DIPNAME( 0x80, 0x80, DEF_STR( Language ) ) Always non-Japanese due to code at 0x2f53 -// PORT_DIPSETTING( 0x80, DEF_STR( English ) ) -// PORT_DIPSETTING( 0x00, DEF_STR( Japanese ) ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty ) ) /* code at 0x2962 */ - PORT_DIPSETTING( 0x40, DEF_STR( Easy ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Hard ) ) - PORT_DIPNAME( 0x80, 0x80, "Player's Bullet Speed" ) /* code at 0x0007 */ - PORT_DIPSETTING( 0x00, "Slow" ) - PORT_DIPSETTING( 0x80, "Fast" ) - - PORT_START_TAG("DSW") - PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coin_A ) ) /* see notes */ - PORT_DIPSETTING( 0x03, DEF_STR( 4C_1C ) ) - PORT_DIPSETTING( 0x02, DEF_STR( 3C_1C ) ) - PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) - PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Coin_B ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) ) - PORT_DIPSETTING( 0x08, DEF_STR( 1C_3C ) ) - PORT_DIPSETTING( 0x0c, DEF_STR( Free_Play ) ) - PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) -INPUT_PORTS_END - -static INPUT_PORTS_START( spcdrag ) -MOON_IN0 - PORT_START_TAG("IN1") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) /* Not read due to code at 0x2b1c and 0x3313 */ - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) /* Not read due to code at 0x2b1c and 0x3313 */ - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) /* Not read due to code at 0x2b1c and 0x3313 */ - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) -// PORT_DIPNAME( 0x40, 0x00, DEF_STR( Bonus_Life ) ) Always '50000' due to code at 0x2f68 -// PORT_DIPSETTING( 0x00, "30000" ) -// PORT_DIPSETTING( 0x40, "50000" ) -// PORT_DIPNAME( 0x80, 0x80, DEF_STR( Language ) ) Always non-Japanese due to code at 0x2f53 -// PORT_DIPSETTING( 0x80, DEF_STR( English ) ) -// PORT_DIPSETTING( 0x00, DEF_STR( Japanese ) ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty ) ) /* code at 0x2962 */ - PORT_DIPSETTING( 0x40, DEF_STR( Easy ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Hard ) ) - PORT_DIPNAME( 0x80, 0x80, "Player's Bullet Speed" ) /* code at 0x0007 */ - PORT_DIPSETTING( 0x00, "Slow" ) - PORT_DIPSETTING( 0x80, "Fast" ) - - PORT_START_TAG("DSW") - PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coin_A ) ) /* see notes */ - PORT_DIPSETTING( 0x03, DEF_STR( 4C_1C ) ) - PORT_DIPSETTING( 0x02, DEF_STR( 3C_1C ) ) - PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) - PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Coin_B ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 1C_2C ) ) - PORT_DIPSETTING( 0x04, DEF_STR( 1C_3C ) ) - PORT_DIPSETTING( 0x08, DEF_STR( 1C_4C ) ) - PORT_DIPSETTING( 0x0c, DEF_STR( Free_Play ) ) - PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) -INPUT_PORTS_END - -static INPUT_PORTS_START( mooncrgx ) - PORT_START_TAG("IN0") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_PLAYER(1) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_PLAYER(1) - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) - - PORT_START_TAG("IN1") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_PLAYER(2) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_PLAYER(2) - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coin_A ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x40, DEF_STR( 1C_1C ) ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coin_B ) ) - PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) ) - - PORT_START_TAG("DSW") - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Bonus_Life ) ) - PORT_DIPSETTING( 0x01, "30000" ) - PORT_DIPSETTING( 0x00, "50000" ) - PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unused ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x02, DEF_STR( On ) ) -// PORT_DIPNAME( 0x04, 0x04, DEF_STR( Language ) ) Always non-Japanese due to code removed at 0x2f4b -// PORT_DIPSETTING( 0x04, DEF_STR( English ) ) -// PORT_DIPSETTING( 0x00, DEF_STR( Japanese ) ) - PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) ) - PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) -INPUT_PORTS_END - -static INPUT_PORTS_START( skybase ) - PORT_START_TAG("IN0") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) - PORT_DIPNAME( 0x20, 0x20, DEF_STR( Cabinet ) ) - PORT_DIPSETTING( 0x20, DEF_STR( Upright ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) ) - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) - - PORT_START_TAG("IN1") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_COCKTAIL - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_COCKTAIL - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coinage ) ) - PORT_DIPSETTING( 0x80, "1C/1C (2 to start)" ) - PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) ) - PORT_DIPSETTING( 0xc0, DEF_STR( Free_Play ) ) - - PORT_START_TAG("IN2") - PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) ) - PORT_DIPSETTING( 0x00, "3" ) - PORT_DIPSETTING( 0x01, "4" ) - PORT_DIPSETTING( 0x02, "5" ) - PORT_DIPSETTING( 0x03, "Infinite (Cheat)") - PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) ) - PORT_DIPSETTING( 0x00, "10000" ) - PORT_DIPSETTING( 0x04, "15000" ) - PORT_DIPSETTING( 0x08, "20000" ) - PORT_DIPSETTING( 0x0c, DEF_STR( None ) ) - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON2 ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL -INPUT_PORTS_END - -static INPUT_PORTS_START( omega ) - PORT_START_TAG("IN0") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) - PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_UNUSED ) - - PORT_START_TAG("IN1") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_COCKTAIL - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_COCKTAIL - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coin_A ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x40, DEF_STR( 1C_1C ) ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coin_B ) ) - PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) ) - - PORT_START_TAG("DSW") - PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life ) ) - PORT_DIPSETTING( 0x00, "10000" ) - PORT_DIPSETTING( 0x01, "20000" ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) ) - PORT_DIPSETTING( 0x00, "3" ) - PORT_DIPSETTING( 0x04, "5" ) - PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) ) - PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) -INPUT_PORTS_END - -static INPUT_PORTS_START( moonqsr ) - PORT_START_TAG("IN0") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) - PORT_DIPNAME( 0x20, 0x00, DEF_STR( Cabinet ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) - PORT_DIPSETTING( 0x20, DEF_STR( Cocktail ) ) - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* "reset" on schematics */ - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SERVICE1 ) - - PORT_START_TAG("IN1") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_PLAYER(2) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_PLAYER(2) - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Difficulty ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Easy ) ) - PORT_DIPSETTING( 0x40, DEF_STR( Medium ) ) - PORT_DIPSETTING( 0x80, DEF_STR( Hard ) ) - PORT_DIPSETTING( 0xc0, DEF_STR( Hardest ) ) - - PORT_START_TAG("DSW") - PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coin_A ) ) - PORT_DIPSETTING( 0x03, DEF_STR( 4C_1C ) ) - PORT_DIPSETTING( 0x02, DEF_STR( 3C_1C ) ) - PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) - PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Coin_B ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) ) - PORT_DIPSETTING( 0x08, DEF_STR( 1C_3C ) ) - PORT_DIPSETTING( 0x0c, DEF_STR( Free_Play ) ) - PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) -INPUT_PORTS_END - -static INPUT_PORTS_START( moonal2 ) -GAL_IN0 -GAL_IN1 - PORT_START_TAG("DSW") - PORT_DIPNAME( 0x03, 0x00, DEF_STR( Bonus_Life ) ) - PORT_DIPSETTING( 0x01, "4000" ) - PORT_DIPSETTING( 0x02, "5000" ) - PORT_DIPSETTING( 0x03, "7000" ) - PORT_DIPSETTING( 0x00, DEF_STR( None ) ) - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) ) - PORT_DIPSETTING( 0x00, "3" ) - PORT_DIPSETTING( 0x04, "5" ) - PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unused ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x08, DEF_STR( On ) ) - PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) -INPUT_PORTS_END - -static INPUT_PORTS_START( mshuttle ) - PORT_START_TAG("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - - PORT_START_TAG("IN1") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL - PORT_SERVICE( 0x40, IP_ACTIVE_HIGH ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Cabinet ) ) - PORT_DIPSETTING( 0x80, DEF_STR( Upright ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) ) - - PORT_START_TAG("DSW") - PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) ) - PORT_DIPSETTING( 0x00, "3" ) - PORT_DIPSETTING( 0x01, "4" ) - PORT_DIPSETTING( 0x02, "5" ) - PORT_DIPSETTING( 0x03, "6" ) - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Bonus_Life ) ) - PORT_DIPSETTING( 0x00, "20000" ) - PORT_DIPSETTING( 0x04, "30000" ) - PORT_DIPNAME( 0x18, 0x00, DEF_STR( Coin_A ) ) - PORT_DIPSETTING( 0x18, DEF_STR( 4C_1C ) ) - PORT_DIPSETTING( 0x10, DEF_STR( 3C_1C ) ) - PORT_DIPSETTING( 0x08, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) - PORT_DIPNAME( 0x60, 0x00, DEF_STR( Coin_B ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) ) - PORT_DIPSETTING( 0x40, DEF_STR( 1C_3C ) ) - PORT_DIPSETTING( 0x60, DEF_STR( 1C_4C ) ) - PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x80, DEF_STR( On ) ) -INPUT_PORTS_END - -static INPUT_PORTS_START( kingball ) -GAL_IN0 - /* Relating to above port:Hack? - possibly multiplexed via writes to $b003 */ - //PORT_DIPNAME( 0x80, 0x80, "Speech" ) - //PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - //PORT_DIPSETTING( 0x80, DEF_STR( On ) ) - - PORT_START_TAG("IN1") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_COCKTAIL - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_COCKTAIL - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* NOISE line */ - PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Coinage ) ) - PORT_DIPSETTING( 0xc0, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x40, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) ) - - PORT_START_TAG("DSW") - PORT_DIPNAME( 0x03, 0x00, DEF_STR( Bonus_Life ) ) - PORT_DIPSETTING( 0x00, "10000" ) - PORT_DIPSETTING( 0x01, "12000" ) - PORT_DIPSETTING( 0x02, "15000" ) - PORT_DIPSETTING( 0x03, DEF_STR( None ) ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Lives ) ) - PORT_DIPSETTING( 0x00, "2" ) - PORT_DIPSETTING( 0x04, "3" ) - PORT_DIPNAME( 0xf8, 0x00, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0xf8, DEF_STR( On ) ) - - PORT_START_TAG("FAKE") - /* Hack? - possibly multiplexed via writes to $b003 - marked as SLAM */ - PORT_DIPNAME( 0x01, 0x01, "Speech" ) - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x01, DEF_STR( On ) ) -INPUT_PORTS_END - -static INPUT_PORTS_START( scorpnmc ) - PORT_START_TAG("IN0") /* 0xa000 */ - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) // COIN2? (it ALWAYS adds 1 credit) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN1 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY - - PORT_START_TAG("IN1") /* 0xa800 */ - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) PORT_NAME("Start 1 / P1 Button 1") /* also P1 Button 1 */ - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) PORT_NAME("Start 2 / P1 Button 2") /* also P1 Button 2 */ - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL - PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Difficulty ) ) // Check code at 0x0118 - PORT_DIPSETTING( 0x00, DEF_STR( Easy ) ) - PORT_DIPSETTING( 0x40, DEF_STR( Normal ) ) - PORT_DIPSETTING( 0x80, DEF_STR( Hard ) ) - PORT_DIPSETTING( 0xc0, DEF_STR( Hardest ) ) - - PORT_START_TAG("DSW0") /* DSW0? - 0xb001 */ - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Lives ) ) // Check code at 0x00eb - PORT_DIPSETTING( 0x00, "2" ) - PORT_DIPSETTING( 0x04, "3" ) - PORT_DIPSETTING( 0x08, "4" ) - PORT_DIPSETTING( 0x0c, "5" ) - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) - - PORT_START_TAG("DSW1") /* DSW1? - 0xb002 */ - PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) ) // Check code at 0x00fe - PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) - PORT_DIPSETTING( 0x01, DEF_STR( Cocktail ) ) - PORT_DIPNAME( 0x06, 0x02, DEF_STR( Coinage ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) ) - PORT_DIPSETTING( 0x06, DEF_STR( 1C_3C ) ) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) -INPUT_PORTS_END - -static INPUT_PORTS_START( frogg ) - PORT_START_TAG("IN0") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SPECIAL ) // See notes - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY - - PORT_START_TAG("IN1") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SPECIAL ) // See notes - PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Lives ) ) - PORT_DIPSETTING( 0xc0, "3" ) - PORT_DIPSETTING( 0x40, "5" ) - PORT_DIPSETTING( 0x80, "7" ) - PORT_DIPSETTING( 0x00, "255 (Cheat)") - - PORT_START_TAG("DSW0") - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Cabinet ) ) // also affects coinage (see 'res' intruction at 0x3084) - PORT_DIPSETTING( 0x01, DEF_STR( Upright ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) ) - PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unused ) ) // not tested due to code at 0x3084 - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x02, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Coinage ) ) // when "Cabinet" Dip Switch set to "Upright" - PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) // "A 1/1 B 1/6" if "Cabinet" Dip Switch set to "Cocktail" - PORT_DIPSETTING( 0x04, DEF_STR( 1C_1C ) ) // "A 2/1 B 1/3" if "Cabinet" Dip Switch set to "Cocktail" - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) -INPUT_PORTS_END - static INPUT_PORTS_START( 4in1 ) PORT_START_TAG("IN0") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) @@ -4284,7 +2337,7 @@ static MACHINE_DRIVER_START( galaxold_base ) MDRV_CPU_ADD_TAG("main", Z80, PIXEL_CLOCK/2) /* 3.072 MHz */ MDRV_CPU_PROGRAM_MAP(galaxold_readmem,galaxold_writemem) - MDRV_MACHINE_RESET(galaxian) + MDRV_MACHINE_RESET(galaxold) /* video hardware */ MDRV_GFXDECODE(galaxian) @@ -4294,9 +2347,9 @@ static MACHINE_DRIVER_START( galaxold_base ) MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16) MDRV_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART) - MDRV_PALETTE_INIT(galaxian) - MDRV_VIDEO_START(galaxian) - MDRV_VIDEO_UPDATE(galaxian) + MDRV_PALETTE_INIT(galaxold) + MDRV_VIDEO_START(galaxold) + MDRV_VIDEO_UPDATE(galaxold) /* sound hardware */ MDRV_SPEAKER_STANDARD_MONO("mono") @@ -4315,42 +2368,6 @@ static MACHINE_DRIVER_START( galaxian ) MACHINE_DRIVER_END -static MACHINE_DRIVER_START( gmgalax ) - - /* basic machine hardware */ - MDRV_IMPORT_FROM(galaxian) - MDRV_CPU_MODIFY("main") - MDRV_CPU_PROGRAM_MAP(gmgalax_readmem,galaxold_writemem) - MDRV_CPU_VBLANK_INT("main", gmgalax_vh_interrupt) - - /* video hardware */ - MDRV_GFXDECODE(gmgalax) - MDRV_PALETTE_LENGTH(64+2+64) /* 64 for the characters, 2 for the bullets, 64 for the stars */ - - MDRV_VIDEO_START(gmgalax) -MACHINE_DRIVER_END - - -static MACHINE_DRIVER_START( pisces ) - - /* basic machine hardware */ - MDRV_IMPORT_FROM(galaxian) - - /* video hardware */ - MDRV_VIDEO_START(pisces) -MACHINE_DRIVER_END - - -static MACHINE_DRIVER_START( gteikob2 ) - - /* basic machine hardware */ - MDRV_IMPORT_FROM(galaxian) - - /* video hardware */ - MDRV_VIDEO_START(gteikob2) -MACHINE_DRIVER_END - - static MACHINE_DRIVER_START( batman2 ) /* basic machine hardware */ @@ -4361,39 +2378,6 @@ static MACHINE_DRIVER_START( batman2 ) MACHINE_DRIVER_END -static MACHINE_DRIVER_START( mooncrgx ) - - /* basic machine hardware */ - MDRV_IMPORT_FROM(galaxian) - - /* video hardware */ - MDRV_VIDEO_START(mooncrgx) -MACHINE_DRIVER_END - - -static MACHINE_DRIVER_START( pacmanbl ) - - /* basic machine hardware */ - MDRV_IMPORT_FROM(galaxian) - - /* video hardware */ - MDRV_GFXDECODE(pacmanbl) -MACHINE_DRIVER_END - - -static MACHINE_DRIVER_START( devilfsg ) - - /* basic machine hardware */ - MDRV_IMPORT_FROM(galaxian) - MDRV_CPU_MODIFY("main") - - MDRV_MACHINE_RESET(devilfsg) - - /* video hardware */ - MDRV_GFXDECODE(pacmanbl) -MACHINE_DRIVER_END - - static MACHINE_DRIVER_START( mooncrst ) /* basic machine hardware */ @@ -4406,54 +2390,6 @@ static MACHINE_DRIVER_START( mooncrst ) MACHINE_DRIVER_END -static MACHINE_DRIVER_START( skybase ) - - /* basic machine hardware */ - MDRV_IMPORT_FROM(galaxian) - MDRV_CPU_MODIFY("main") - MDRV_CPU_PROGRAM_MAP(mooncrst_readmem,skybase_writemem) - - /* video hardware */ - MDRV_VIDEO_START(pisces) -MACHINE_DRIVER_END - - -static MACHINE_DRIVER_START( moonqsr ) - - /* basic machine hardware */ - MDRV_IMPORT_FROM(galaxian) - MDRV_CPU_MODIFY("main") - MDRV_CPU_PROGRAM_MAP(mooncrst_readmem,mooncrst_writemem) - - /* video hardware */ - MDRV_VIDEO_START(moonqsr) -MACHINE_DRIVER_END - - -static MACHINE_DRIVER_START( mshuttle ) - - /* basic machine hardware */ - MDRV_IMPORT_FROM(galaxold_base) - MDRV_CPU_MODIFY("main") - MDRV_CPU_PROGRAM_MAP(mooncrst_readmem,mshuttle_writemem) - MDRV_CPU_IO_MAP(mshuttle_readport,mshuttle_writeport) - - MDRV_MACHINE_RESET(devilfsg) - - /* video hardware */ - MDRV_VIDEO_START(mshuttle) - - /* sound hardware */ - MDRV_SOUND_ADD(AY8910, PIXEL_CLOCK/4) - MDRV_SOUND_CONFIG(cclimber_ay8910_interface) - MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) - - MDRV_SOUND_ADD(SAMPLES, 0) - MDRV_SOUND_CONFIG(cclimber_samples_interface) - MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5) -MACHINE_DRIVER_END - - static MACHINE_DRIVER_START( scramblb ) /* basic machine hardware */ @@ -4464,8 +2400,8 @@ static MACHINE_DRIVER_START( scramblb ) /* video hardware */ MDRV_PALETTE_LENGTH(32+2+64+1) /* 32 for the characters, 2 for the bullets, 64 for the stars, 1 for background */ - MDRV_PALETTE_INIT(scramble) - MDRV_VIDEO_START(scramble) + MDRV_PALETTE_INIT(scrambold) + MDRV_VIDEO_START(scrambold) MACHINE_DRIVER_END static MACHINE_DRIVER_START( scramb2 ) @@ -4478,182 +2414,12 @@ static MACHINE_DRIVER_START( scramb2 ) /* video hardware */ MDRV_PALETTE_LENGTH(32+2+64+1) /* 32 for the characters, 2 for the bullets, 64 for the stars, 1 for background */ - MDRV_PALETTE_INIT(scramble) - MDRV_VIDEO_START(scramble) + MDRV_PALETTE_INIT(scrambold) + MDRV_VIDEO_START(scrambold) MACHINE_DRIVER_END -static MACHINE_DRIVER_START( zigzag ) - - /* basic machine hardware */ - MDRV_IMPORT_FROM(galaxold_base) - MDRV_CPU_MODIFY("main") - MDRV_CPU_PROGRAM_MAP(zigzag_readmem,zigzag_writemem) - - /* video hardware */ - MDRV_GFXDECODE(pacmanbl) - MDRV_PALETTE_LENGTH(32+2+64) /* 32 for the characters, 2 for the bullets, 64 for the stars */ - - - MDRV_VIDEO_START(galaxold_plain) - - /* sound hardware */ - MDRV_SOUND_ADD(AY8910, 1789750) - MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) -MACHINE_DRIVER_END - - -static MACHINE_DRIVER_START( jumpbug ) - - /* basic machine hardware */ - MDRV_IMPORT_FROM(galaxold_base) - MDRV_CPU_MODIFY("main") - MDRV_CPU_PROGRAM_MAP(jumpbug_readmem,jumpbug_writemem) - - /* video hardware */ - MDRV_PALETTE_LENGTH(32+2+64) /* 32 for the characters, 2 for the bullets, 64 for the stars */ - - MDRV_VIDEO_START(jumpbug) - - /* sound hardware */ - MDRV_SOUND_ADD(AY8910, 1789750) - MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) -MACHINE_DRIVER_END - - -static MACHINE_DRIVER_START( azurian ) - /* basic machine hardware */ - MDRV_IMPORT_FROM(galaxian) - - /* video hardware */ - MDRV_VIDEO_START(azurian) -MACHINE_DRIVER_END - - -static MACHINE_DRIVER_START( checkman ) - - /* basic machine hardware */ - MDRV_IMPORT_FROM(galaxold_base) - MDRV_CPU_MODIFY("main") - MDRV_CPU_PROGRAM_MAP(mooncrst_readmem,checkman_writemem) - MDRV_CPU_IO_MAP(0,checkman_writeport) - - MDRV_CPU_ADD(Z80, 1620000) - /* audio CPU */ /* 1.62 MHz */ - MDRV_CPU_PROGRAM_MAP(checkman_sound_readmem,checkman_sound_writemem) - MDRV_CPU_IO_MAP(checkman_sound_readport,checkman_sound_writeport) - MDRV_CPU_VBLANK_INT("main", irq0_line_hold) /* NMIs are triggered by the main CPU */ - - /* video hardware */ - MDRV_PALETTE_LENGTH(32+2+64) /* 32 for the characters, 2 for the bullets, 64 for the stars */ - - MDRV_VIDEO_START(mooncrst) - - /* sound hardware */ - MDRV_SOUND_ADD(AY8910, 1789750) - MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) - - MDRV_SOUND_ADD(SAMPLES, 0) - MDRV_SOUND_CONFIG(galaxian_samples_interface) - MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) -MACHINE_DRIVER_END - - -static MACHINE_DRIVER_START( checkmaj ) - - /* basic machine hardware */ - MDRV_IMPORT_FROM(galaxold_base) - MDRV_CPU_MODIFY("main") - MDRV_CPU_PROGRAM_MAP(galaxold_readmem,checkmaj_writemem) - - MDRV_CPU_ADD(Z80, 1620000) - /* audio CPU */ - MDRV_CPU_PROGRAM_MAP(checkmaj_sound_readmem,checkmaj_sound_writemem) - MDRV_CPU_VBLANK_INT_HACK(irq0_line_hold,32) /* NMIs are triggered by the main CPU */ - - - /* video hardware */ - MDRV_PALETTE_LENGTH(32+2+64) /* 32 for the characters, 2 for the bullets, 64 for the stars */ - - /* sound hardware */ - MDRV_SOUND_ADD(AY8910, 1620000) - MDRV_SOUND_CONFIG(checkmaj_ay8910_interface) - MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) -MACHINE_DRIVER_END - -static MACHINE_DRIVER_START( dingoe ) - - /* basic machine hardware */ - MDRV_IMPORT_FROM(galaxold_base) - MDRV_CPU_MODIFY("main") - MDRV_CPU_PROGRAM_MAP(mooncrst_readmem,checkman_writemem) - MDRV_CPU_IO_MAP(0,checkman_writeport) - - MDRV_CPU_ADD(Z80, 1620000) - /* audio CPU */ /* 1.62 MHz */ - MDRV_CPU_PROGRAM_MAP(checkman_sound_readmem,checkman_sound_writemem) - MDRV_CPU_IO_MAP(checkman_sound_readport,checkman_sound_writeport) - MDRV_CPU_VBLANK_INT("main", irq0_line_hold) /* NMIs are triggered by the main CPU */ - - /* video hardware */ - MDRV_PALETTE_LENGTH(32+2+64) /* 32 for the characters, 2 for the bullets, 64 for the stars */ - - /* sound hardware */ - MDRV_SOUND_ADD(AY8910, 1789750) - MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) -MACHINE_DRIVER_END - -static MACHINE_DRIVER_START( kingball ) - - /* basic machine hardware */ - MDRV_IMPORT_FROM(galaxian) - MDRV_CPU_MODIFY("main") - MDRV_CPU_PROGRAM_MAP(mooncrst_readmem,kingball_writemem) - - MDRV_CPU_ADD(Z80,5000000/2) - /* audio CPU */ /* 2.5 MHz */ - MDRV_CPU_PROGRAM_MAP(kingball_sound_readmem,kingball_sound_writemem) - MDRV_CPU_IO_MAP(kingball_sound_readport,kingball_sound_writeport) - - /* video hardware */ - MDRV_PALETTE_LENGTH(32+2+64) /* 32 for the characters, 2 for the bullets, 64 for the stars */ - - /* sound hardware */ - MDRV_SOUND_ADD_TAG("DAC", DAC, 0) - MDRV_SOUND_ROUTE(0, "filter", 1.0) - - MDRV_SOUND_ADD_TAG("filter", FILTER_RC, 0) - MDRV_SOUND_CONFIG(flt_rc_ac_default) - MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) -MACHINE_DRIVER_END - - -static MACHINE_DRIVER_START( scorpnmc ) - - /* basic machine hardware */ - MDRV_IMPORT_FROM(galaxian) - MDRV_CPU_MODIFY("main") - MDRV_CPU_PROGRAM_MAP(scorpnmc_readmem,scorpnmc_writemem) - - /* video hardware */ - MDRV_VIDEO_START(batman2) -MACHINE_DRIVER_END - - -static MACHINE_DRIVER_START( frogg ) - - /* basic machine hardware */ - MDRV_IMPORT_FROM(galaxian) - - /* video hardware */ - MDRV_PALETTE_LENGTH(32+64+2+1) /* 32 for characters, 64 for stars, 2 for bullets, 1 for background */ - - MDRV_PALETTE_INIT(frogger) - MDRV_VIDEO_START(froggers) -MACHINE_DRIVER_END - - static MACHINE_DRIVER_START( 4in1 ) /* basic machine hardware */ @@ -4751,7 +2517,7 @@ static MACHINE_DRIVER_START( drivfrcg ) MDRV_PALETTE_INIT(rockclim) MDRV_VIDEO_START(drivfrcg) - MDRV_VIDEO_UPDATE(galaxian) + MDRV_VIDEO_UPDATE(galaxold) /* sound hardware */ MDRV_SPEAKER_STANDARD_MONO("mono") @@ -4768,7 +2534,7 @@ static MACHINE_DRIVER_START( bongo ) MDRV_CPU_IO_MAP(bongo_io,0) MDRV_VIDEO_START(bongo) - MDRV_VIDEO_UPDATE(galaxian) + MDRV_VIDEO_UPDATE(galaxold) MDRV_SOUND_ADD(AY8910, 1789750) MDRV_SOUND_CONFIG(bongo_ay8910_interface) @@ -4790,9 +2556,9 @@ static MACHINE_DRIVER_START( hunchbkg ) MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16) MDRV_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART) - MDRV_PALETTE_INIT(galaxian) + MDRV_PALETTE_INIT(galaxold) - MDRV_VIDEO_UPDATE(galaxian) + MDRV_VIDEO_UPDATE(galaxold) MDRV_VIDEO_START(galaxold_plain) /* sound hardware */ @@ -4854,7 +2620,7 @@ static MACHINE_DRIVER_START( racknrol ) MDRV_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART) MDRV_PALETTE_INIT(rockclim) - MDRV_VIDEO_UPDATE(galaxian) + MDRV_VIDEO_UPDATE(galaxold) MDRV_VIDEO_START(racknrol) /* sound hardware */ @@ -4912,7 +2678,7 @@ static MACHINE_DRIVER_START( hexpoola ) MDRV_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART) MDRV_PALETTE_INIT(rockclim) - MDRV_VIDEO_UPDATE(galaxian) + MDRV_VIDEO_UPDATE(galaxold) MDRV_VIDEO_START(racknrol) /* sound hardware */ @@ -4927,704 +2693,6 @@ MACHINE_DRIVER_END ***************************************************************************/ -ROM_START( galaxian ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "galmidw.u", 0x0000, 0x0800, CRC(745e2d61) SHA1(e65f74e35b1bfaccd407e168ea55678ae9b68edf) ) - ROM_LOAD( "galmidw.v", 0x0800, 0x0800, CRC(9c999a40) SHA1(02fdcd95d8511e64c0d2b007b874112d53e41045) ) - ROM_LOAD( "galmidw.w", 0x1000, 0x0800, CRC(b5894925) SHA1(0046b9ed697a34d088de1aead8bd7cbe526a2396) ) - ROM_LOAD( "galmidw.y", 0x1800, 0x0800, CRC(6b3ca10b) SHA1(18d8714e5ef52f63ba8888ecc5a25b17b3bf17d1) ) - ROM_LOAD( "7l", 0x2000, 0x0800, CRC(1b933207) SHA1(8b44b0f74420871454e27894d0f004859f9e59a9) ) - - ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "1h.bin", 0x0000, 0x0800, CRC(39fb43a4) SHA1(4755609bd974976f04855d51e08ec0d62ab4bc07) ) - ROM_LOAD( "1k.bin", 0x0800, 0x0800, CRC(7e3f56a2) SHA1(a9795d8b7388f404f3b0e2c6ce15d713a4c5bafa) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) -ROM_END - -ROM_START( galaxiaj ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "7f.bin", 0x0000, 0x1000, CRC(4335b1de) SHA1(e41e3d90dac738cf71377f3b476ec67b14dee27a) ) - ROM_LOAD( "7j.bin", 0x1000, 0x1000, CRC(4e6f66a1) SHA1(ee2a675ab34485c0f58c51be7630a51e27a7a8f3) ) - ROM_LOAD( "7l.bin", 0x2000, 0x0800, CRC(5341d75a) SHA1(40bc8fcc598f58c6ff944e2a4a9288463e75a09d) ) - - ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "1h.bin", 0x0000, 0x0800, CRC(39fb43a4) SHA1(4755609bd974976f04855d51e08ec0d62ab4bc07) ) - ROM_LOAD( "1k.bin", 0x0800, 0x0800, CRC(7e3f56a2) SHA1(a9795d8b7388f404f3b0e2c6ce15d713a4c5bafa) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) -ROM_END - -ROM_START( galmidw ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "galmidw.u", 0x0000, 0x0800, CRC(745e2d61) SHA1(e65f74e35b1bfaccd407e168ea55678ae9b68edf) ) - ROM_LOAD( "galmidw.v", 0x0800, 0x0800, CRC(9c999a40) SHA1(02fdcd95d8511e64c0d2b007b874112d53e41045) ) - ROM_LOAD( "galmidw.w", 0x1000, 0x0800, CRC(b5894925) SHA1(0046b9ed697a34d088de1aead8bd7cbe526a2396) ) - ROM_LOAD( "galmidw.y", 0x1800, 0x0800, CRC(6b3ca10b) SHA1(18d8714e5ef52f63ba8888ecc5a25b17b3bf17d1) ) - ROM_LOAD( "galmidw.z", 0x2000, 0x0800, CRC(cb24f797) SHA1(e6bb977ded0654c2c7388aad188059e1e0647908) ) - - ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "galaxian.j1", 0x0000, 0x0800, CRC(84decf98) SHA1(2e565cb6057b1816a6b4541e6dfadd3c3762fa36) ) - ROM_LOAD( "galaxian.l1", 0x0800, 0x0800, CRC(c31ada9e) SHA1(237ebb48549b34ca59a13cc2706512d957413ec4) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) -ROM_END - -ROM_START( galmidwo ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "galaxian.u", 0x0000, 0x0800, CRC(fac42d34) SHA1(0b96d9f1c6bf0e0b7f757dcbaeacfbfafefc54d1) ) - ROM_LOAD( "galaxian.v", 0x0800, 0x0800, CRC(f58283e3) SHA1(edc6e72516c50fd3402281d9936574d276581ce9) ) - ROM_LOAD( "galaxian.w", 0x1000, 0x0800, CRC(4c7031c0) SHA1(97f7ab0cedcd8eba1c8f6f516d84d672a2108258) ) - ROM_LOAD( "galaxian.y", 0x1800, 0x0800, CRC(96a7ac94) SHA1(c3c7a43117c8b9fd8621823c872889f8e31bf935) ) - ROM_LOAD( "7l.bin", 0x2000, 0x0800, CRC(5341d75a) SHA1(40bc8fcc598f58c6ff944e2a4a9288463e75a09d) ) - - ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "galaxian.j1", 0x0000, 0x0800, CRC(84decf98) SHA1(2e565cb6057b1816a6b4541e6dfadd3c3762fa36) ) - ROM_LOAD( "galaxian.l1", 0x0800, 0x0800, CRC(c31ada9e) SHA1(237ebb48549b34ca59a13cc2706512d957413ec4) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) -ROM_END - -ROM_START( galtaito ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "gl-03.8g", 0x0000, 0x0800, CRC(e8f3aa67) SHA1(a0e9576784dbe602dd9780e667f01f31defd7c00) ) /* All eprom are HN462716 eproms */ - ROM_LOAD( "gl-04.8f", 0x0800, 0x0800, CRC(f58283e3) SHA1(edc6e72516c50fd3402281d9936574d276581ce9) ) - ROM_LOAD( "gl-05.8e", 0x1000, 0x0800, CRC(4c7031c0) SHA1(97f7ab0cedcd8eba1c8f6f516d84d672a2108258) ) - ROM_LOAD( "gl-06.8d", 0x1800, 0x0800, CRC(097d92a2) SHA1(63ef86657286a4e1fae4f795e0e6b410ca2ef06b) ) - ROM_LOAD( "gl-07.8c", 0x2000, 0x0800, CRC(5341d75a) SHA1(40bc8fcc598f58c6ff944e2a4a9288463e75a09d) ) - - ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "gl-01.1j", 0x0000, 0x0800, CRC(968b6016) SHA1(f13e4a8d0fdeb121d39ca76120acdc6c7e7f377c) ) - ROM_LOAD( "gl-02.1k", 0x0800, 0x0800, CRC(d14f7510) SHA1(cd09e6ee0a3890d01b2415f5b8346c42c02d15a3) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) -ROM_END - -ROM_START( superg ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "7f.bin", 0x0000, 0x1000, CRC(4335b1de) SHA1(e41e3d90dac738cf71377f3b476ec67b14dee27a) ) - ROM_LOAD( "superg.w", 0x1000, 0x0800, CRC(ddeabdae) SHA1(daa5109a32c7c9a80bdb212dc3e4e3e3c104a731) ) - ROM_LOAD( "superg.y", 0x1800, 0x0800, CRC(9463f753) SHA1(d9cb35c19aafec43d08b048bbe2337a790f6ba9d) ) - ROM_LOAD( "superg.z", 0x2000, 0x0800, CRC(e6312e35) SHA1(c4010459379d7fe00f605aaf288928b2deffb8b2) ) - - ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "galmidw.1j", 0x0000, 0x0800, CRC(84decf98) SHA1(2e565cb6057b1816a6b4541e6dfadd3c3762fa36) ) - ROM_LOAD( "galmidw.1k", 0x0800, 0x0800, CRC(c31ada9e) SHA1(237ebb48549b34ca59a13cc2706512d957413ec4) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) -ROM_END - -ROM_START( galapx ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "galx.u", 0x0000, 0x0800, CRC(79e4007d) SHA1(d55050498a670d1c022ba3caad34f8fcaccf4a30) ) - ROM_LOAD( "galx.v", 0x0800, 0x0800, CRC(bc16064e) SHA1(4e3220fd63c8184bf9581a89dffb6944d8fae3bb) ) - ROM_LOAD( "galx.w", 0x1000, 0x0800, CRC(72d2d3ee) SHA1(96e0c5824e46d7398c7e58dd6b75a9f4ead6f3f5) ) - ROM_LOAD( "galx.y", 0x1800, 0x0800, CRC(afe397f3) SHA1(283c6f3b3f07581d88f7a6e11fc36947a9d90e2e) ) - ROM_LOAD( "galx.z", 0x2000, 0x0800, CRC(778c0d3c) SHA1(6a81875abfea515d379c6212cb57f8e54573e943) ) - - ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "galx.1h", 0x0000, 0x0800, CRC(e8810654) SHA1(b6924c7ad765c32714e6abd5bb56b2732edd5855) ) - ROM_LOAD( "galx.1k", 0x0800, 0x0800, CRC(cbe84a76) SHA1(c6d72fb452e8213dd40a2eb5dcca726d7cdca658) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) -ROM_END - -ROM_START( moonaln ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "galx.u", 0x0000, 0x0800, CRC(79e4007d) SHA1(d55050498a670d1c022ba3caad34f8fcaccf4a30) ) // prg1.bin - ROM_LOAD( "prg2.bin", 0x0800, 0x0800, CRC(59580b30) SHA1(e659426ad8c4e5e10a7cdd07d8b4fea93f875026) ) - ROM_LOAD( "prg3.bin", 0x1000, 0x0800, CRC(b64e9d12) SHA1(3b07902ea61388f54c03d65082e78dfc0fa8d3d2) ) - ROM_LOAD( "superg.y", 0x1800, 0x0800, CRC(9463f753) SHA1(d9cb35c19aafec43d08b048bbe2337a790f6ba9d) ) // prg4.bin - ROM_LOAD( "prg5.bin", 0x2000, 0x0800, CRC(8bb78987) SHA1(5f24dba0bb31fc8bda5bf570d568472befc4d740) ) - - ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "ca1.bin", 0x0000, 0x0800, CRC(074271dd) SHA1(cd6a40b493bc51c5340d7083f83c51834b95b5fe) ) - ROM_LOAD( "ca2.bin", 0x0800, 0x0800, CRC(84d90397) SHA1(93e6ded079c9721d3f9c003e378e8121584671c9) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) -ROM_END - -ROM_START( galap1 ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "7f.bin", 0x0000, 0x1000, CRC(4335b1de) SHA1(e41e3d90dac738cf71377f3b476ec67b14dee27a) ) - ROM_LOAD( "galaxian.w", 0x1000, 0x0800, CRC(4c7031c0) SHA1(97f7ab0cedcd8eba1c8f6f516d84d672a2108258) ) - ROM_LOAD( "galx_1_4.rom", 0x1800, 0x0800, CRC(e71e1d9e) SHA1(32bf22b06c84d36de7c1280740b9c11e8d6a12b6) ) - ROM_LOAD( "galx_1_5.rom", 0x2000, 0x0800, CRC(6e65a3b2) SHA1(c9f20645ad2882e937245a9e90504423bb492158) ) - - ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "galmidw.1j", 0x0000, 0x0800, CRC(84decf98) SHA1(2e565cb6057b1816a6b4541e6dfadd3c3762fa36) ) - ROM_LOAD( "galmidw.1k", 0x0800, 0x0800, CRC(c31ada9e) SHA1(237ebb48549b34ca59a13cc2706512d957413ec4) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) -ROM_END - -ROM_START( galap4 ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "galnamco.u", 0x0000, 0x0800, CRC(acfde501) SHA1(4b72c1ffecaccadc541da2367f3ef70a2a9aed64) ) - ROM_LOAD( "galnamco.v", 0x0800, 0x0800, CRC(65cf3c77) SHA1(1c5249815816b395e1e04bf6a7dbb63e40faa0e3) ) - ROM_LOAD( "galnamco.w", 0x1000, 0x0800, CRC(9eef9ae6) SHA1(b2282e4edb8911e6aabfa936c3526f90381e1320) ) - ROM_LOAD( "galnamco.y", 0x1800, 0x0800, CRC(56a5ddd1) SHA1(1f87f647ebdffba28d5957f195448f6bce17f4d5) ) - ROM_LOAD( "galnamco.z", 0x2000, 0x0800, CRC(f4bc7262) SHA1(c4b70e474d49f45cec96f7c250bd77e01e18601a) ) - - ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "galx_4c1.rom", 0x0000, 0x0800, CRC(d5e88ab4) SHA1(737a22e406fd0a97d10e93a2c91c3aa61aebbdef) ) - ROM_LOAD( "galx_4c2.rom", 0x0800, 0x0800, CRC(a57b83e4) SHA1(335d8674df1d237a4b83da00eb9aee346bc2e901) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) -ROM_END - -ROM_START( galturbo ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "galturbo.u", 0x0000, 0x0800, CRC(e8f3aa67) SHA1(a0e9576784dbe602dd9780e667f01f31defd7c00) ) - ROM_LOAD( "galx.v", 0x0800, 0x0800, CRC(bc16064e) SHA1(4e3220fd63c8184bf9581a89dffb6944d8fae3bb) ) - ROM_LOAD( "superg.w", 0x1000, 0x0800, CRC(ddeabdae) SHA1(daa5109a32c7c9a80bdb212dc3e4e3e3c104a731) ) - ROM_LOAD( "galturbo.y", 0x1800, 0x0800, CRC(a44f450f) SHA1(4009834afb45e9b23c7cf058bcd3378ef8601872) ) - ROM_LOAD( "galturbo.z", 0x2000, 0x0800, CRC(3247f3d4) SHA1(5754dedc2d06736629d85514b2e7c262ce27bf2d) ) - - ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "galturbo.1h", 0x0000, 0x0800, CRC(a713fd1a) SHA1(abf86fe5cb7243a1a36d7ac0a868577a3360dcca) ) - ROM_LOAD( "galturbo.1k", 0x0800, 0x0800, CRC(28511790) SHA1(dec2e183a753295d033a56184c973bbc810abf55) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) -ROM_END - -ROM_START( swarm ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "swarm1.bin", 0x0000, 0x0800, CRC(21eba3d0) SHA1(d07f141d785c86faca8c40af034c26f2789e9346) ) - ROM_LOAD( "swarm2.bin", 0x0800, 0x0800, CRC(f3a436cd) SHA1(8d64e61b823e22f17cb79bf9e0c7b3c80c76413f) ) - ROM_LOAD( "swarm3.bin", 0x1000, 0x0800, CRC(2915e38b) SHA1(045d4cc2c363b9ba8d066f902f03b7eacbeb1f5e) ) - ROM_LOAD( "swarm4.bin", 0x1800, 0x0800, CRC(8bbbf486) SHA1(84c975562c9c359069fb70f7f416420c74d40622) ) - ROM_LOAD( "swarm5.bin", 0x2000, 0x0800, CRC(f1b1987e) SHA1(0c8b57cb156fdd1a81a5e4535464cafab737185b) ) - - ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "swarma.bin", 0x0000, 0x0800, CRC(ef8657bb) SHA1(c942db83231b04041e2794a08ce779331613edcf) ) - ROM_LOAD( "swarmb.bin", 0x0800, 0x0800, CRC(60c4bd31) SHA1(a8f22f8d7a9fca2c29091888e243dfa10211e138) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) -ROM_END - -ROM_START( zerotime ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "zt-p01c.016", 0x0000, 0x0800, CRC(90a2bc61) SHA1(9d23dfcf5310cf1d4aa1b473ec84279585e1a876) ) - ROM_LOAD( "zt-2.016", 0x0800, 0x0800, CRC(a433067e) SHA1(1aed1a2153c4a32a9996fc709e544f2063885599) ) - ROM_LOAD( "zt-3.016", 0x1000, 0x0800, CRC(aaf038d4) SHA1(2d070fe7c4e9b26092f0f12a9db3392f7d8a65f1) ) - ROM_LOAD( "zt-4.016", 0x1800, 0x0800, CRC(786d690a) SHA1(50c5c07941006e3b71afbf057d27daa2f2274925) ) - ROM_LOAD( "zt-5.016", 0x2000, 0x0800, CRC(af9260d7) SHA1(955e466a8989993351dc69d73ca322c1c9af7b63) ) - - ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "ztc-2.016", 0x0000, 0x0800, CRC(1b13ca05) SHA1(6999068771dacc6bf6c17eb858af593a929d09af) ) - ROM_LOAD( "ztc-1.016", 0x0800, 0x0800, CRC(5cd7df03) SHA1(77873408c89546a17b1da3f64b7e96e314fadb17) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) -ROM_END - -ROM_START( starfght ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "ja.1", 0x0000, 0x0400, CRC(c6ab558b) SHA1(2b707e332c57b9ec6a61220ab2b79ed5076d0628) ) - ROM_LOAD( "jb.2", 0x0400, 0x0400, CRC(34b99fed) SHA1(03d12b19c9aee75313cae6af602c93205d2fd4a8) ) - ROM_LOAD( "jc.3", 0x0800, 0x0400, CRC(30e28016) SHA1(07a621e5061d85a9559a920d76716ea4db61b674) ) - ROM_LOAD( "jd.4", 0x0c00, 0x0400, CRC(de7e7770) SHA1(b06043a1d898eb323ddabffd3d2a3b1f63df0e5e) ) - ROM_LOAD( "je.5", 0x1000, 0x0400, CRC(a916c919) SHA1(b3e264ff92687022a0f2f551d5df36db848b48eb) ) - ROM_LOAD( "jf.6", 0x1400, 0x0400, CRC(9175882b) SHA1(d9943efcb9245af7f01aecc533a699bdefc7d283) ) - ROM_LOAD( "jg.7", 0x1800, 0x0400, CRC(707c0f02) SHA1(4cfb18b8161ec6a74663b54120bdc6371ee9dbff) ) - ROM_LOAD( "jh.8", 0x1c00, 0x0400, CRC(5dd26461) SHA1(173b939287d0261ff069c277a1afd724133f4c88) ) - ROM_LOAD( "ji.9", 0x2000, 0x0400, CRC(6651fe93) SHA1(eb1d9466090ef723ae20003e5be27059f5bea57b) ) - ROM_LOAD( "jj.10", 0x2400, 0x0400, CRC(12c721b9) SHA1(1944cd5129115d245ced44da7f1eb4574561c457) ) - - ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "k1.7a", 0x0000, 0x0800, CRC(977e37cf) SHA1(88ff1e4edadf5cfc83413a1fe999aecf4ba72232) ) - ROM_LOAD( "k2.9a", 0x0800, 0x0800, CRC(15e387ce) SHA1(d804b1391de5a15c336aa53c812b4a885f830191) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "mmi6331.7f", 0x0000, 0x0020, CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d) ) /* Compatible with 82s123 prom */ -ROM_END - -/* was marked 'star fighter' but doesn't appear to be the above game */ -ROM_START( galaxbsf ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "1.bn", 0x0000, 0x0400, CRC(cc37b774) SHA1(5b7d9e3c896a1f5b0353732806568d4ffead3ead) ) - ROM_LOAD( "2.bn", 0x0400, 0x0400, CRC(c6d21f03) SHA1(64784915bf988fd2a3eea5f219c95c8498175018) ) - ROM_LOAD( "3.bn", 0x0800, 0x0400, CRC(30e28016) SHA1(07a621e5061d85a9559a920d76716ea4db61b674) ) - ROM_LOAD( "4.bn", 0x0c00, 0x0400, CRC(de7e7770) SHA1(b06043a1d898eb323ddabffd3d2a3b1f63df0e5e) ) - ROM_LOAD( "5.bn", 0x1000, 0x0400, CRC(a916c919) SHA1(b3e264ff92687022a0f2f551d5df36db848b48eb) ) - ROM_LOAD( "6.bn", 0x1400, 0x0400, CRC(9175882b) SHA1(d9943efcb9245af7f01aecc533a699bdefc7d283) ) - ROM_LOAD( "7.bn", 0x1800, 0x0400, CRC(1237b9da) SHA1(00e11532c599fca452a816683b361a24476b7100) ) - ROM_LOAD( "8.bn", 0x1c00, 0x0400, CRC(78c53607) SHA1(780acff57b594185eb5f4b24ae7d8b4992d96611) ) - ROM_LOAD( "9.bn", 0x2000, 0x0400, CRC(901894cc) SHA1(a189a8ab0068e9acc3be7b8e87adc1eadfd6b708) ) - ROM_LOAD( "10.bn", 0x2400, 0x0400, CRC(5876f695) SHA1(e8c0d13066cfe4a409293b9e1380513099b35330) ) - - ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "11.bn", 0x0000, 0x0800, CRC(39fb43a4) SHA1(4755609bd974976f04855d51e08ec0d62ab4bc07) ) - ROM_LOAD( "12.bn", 0x0800, 0x0800, CRC(7e3f56a2) SHA1(a9795d8b7388f404f3b0e2c6ce15d713a4c5bafa) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) -ROM_END - - -ROM_START( tst_galx ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "test.u", 0x0000, 0x0800, CRC(0614cd7f) SHA1(12440678be8a27a6c3032b6e43c45e27905ffa83) ) /* The Test ROM */ - ROM_LOAD( "galmidw.v", 0x0800, 0x0800, CRC(9c999a40) SHA1(02fdcd95d8511e64c0d2b007b874112d53e41045) ) - ROM_LOAD( "galmidw.w", 0x1000, 0x0800, CRC(b5894925) SHA1(0046b9ed697a34d088de1aead8bd7cbe526a2396) ) - ROM_LOAD( "galmidw.y", 0x1800, 0x0800, CRC(6b3ca10b) SHA1(18d8714e5ef52f63ba8888ecc5a25b17b3bf17d1) ) - - ROM_LOAD( "7l", 0x2000, 0x0800, CRC(1b933207) SHA1(8b44b0f74420871454e27894d0f004859f9e59a9) ) - - ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "1h.bin", 0x0000, 0x0800, CRC(39fb43a4) SHA1(4755609bd974976f04855d51e08ec0d62ab4bc07) ) - ROM_LOAD( "1k.bin", 0x0800, 0x0800, CRC(7e3f56a2) SHA1(a9795d8b7388f404f3b0e2c6ce15d713a4c5bafa) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) -ROM_END - -ROM_START( gmgalax ) - ROM_REGION( 0x18000, REGION_CPU1, 0 ) /* 64k for code + 32k for banked code */ - ROM_LOAD( "pcb1_pm1.bin",0x10000, 0x1000, CRC(19338c70) SHA1(cc2665b7d534d324627d12025ee099ff415d4214) ) - ROM_LOAD( "pcb1_pm2.bin",0x11000, 0x1000, CRC(18db074d) SHA1(a70ed18f632e947493e648e6fc057dfb7a2a3322) ) - ROM_LOAD( "pcb1_pm3.bin",0x12000, 0x1000, CRC(abb98b1d) SHA1(bb0109d353359bb192a3e6856a857c2f842838cb) ) - ROM_LOAD( "pcb1_pm4.bin",0x13000, 0x1000, CRC(2403c78e) SHA1(52d8c8a4efcf47871485080ab217098a019e6579) ) - ROM_LOAD( "pcb1_gx1.bin",0x14000, 0x1000, CRC(2faa9f53) SHA1(1e7010d407601c5da1adc68bc9f4742c79d57286) ) - ROM_LOAD( "pcb1_gx2.bin",0x15000, 0x1000, CRC(121c5f16) SHA1(cb1806fa984870133fd883969838dca85f992515) ) - ROM_LOAD( "pcb1_gx3.bin",0x16000, 0x1000, CRC(02d81a21) SHA1(39209cfb7cf142a65e157544d93803ea542a8efb) ) - - ROM_REGION( 0x4000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "pcb2gfx1.bin", 0x0000, 0x0800, CRC(7021bbc0) SHA1(52d2983d74e722fccb31eb02ca56255850c4f41c) ) - ROM_CONTINUE( 0x1000, 0x0800 ) - ROM_LOAD( "pcb2gfx3.bin", 0x0800, 0x0800, CRC(089c922b) SHA1(f1b81999f63677d4cd58cd547353170e348a1423) ) - ROM_CONTINUE( 0x1800, 0x0800 ) - ROM_LOAD( "pcb2gfx2.bin", 0x2000, 0x0800, CRC(51bf58ee) SHA1(3546ff03c76a6422b0515bd5c695674bfb032089) ) - ROM_CONTINUE( 0x3000, 0x0800 ) - ROM_LOAD( "pcb2gfx4.bin", 0x2800, 0x0800, CRC(908fd0dc) SHA1(ac278bd82730e92ff312793244340748b93fa9bb) ) - ROM_CONTINUE( 0x3800, 0x0800 ) - - ROM_REGION( 0x0040, REGION_PROMS, 0 ) - ROM_LOAD( "gmgalax2.clr", 0x0000, 0x0020, CRC(499f4440) SHA1(66d6463a145087041934bdab8bfa6c3db6375317) ) - ROM_LOAD( "l06_prom.bin", 0x0020, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) -ROM_END - -ROM_START( pisces ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "p1.bin", 0x0000, 0x0800, CRC(40c5b0e4) SHA1(6c18e6f4719eb0d7eb13b778d7ea58e4b87ac35c) ) - ROM_LOAD( "p2.bin", 0x0800, 0x0800, CRC(055f9762) SHA1(9d821874dd48a80651adc58a2f7fe5d2b3ed67bc) ) - ROM_LOAD( "p3.bin", 0x1000, 0x0800, CRC(3073dd04) SHA1(b93913a988f412d565abd19dc668976585cc8066) ) - ROM_LOAD( "p4.bin", 0x1800, 0x0800, CRC(44aaf525) SHA1(667bf4c3a36169c3ddddd22b2f1f90bcc9308548) ) - ROM_LOAD( "p5.bin", 0x2000, 0x0800, CRC(fade512b) SHA1(ccef2650f1d9dc3fdde2d441774246d47febc2cc) ) - ROM_LOAD( "p6.bin", 0x2800, 0x0800, CRC(5ab2822f) SHA1(bbcac3aab943dd9b173de11ddf02ff75d16b1582) ) - - ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) -// ROM_LOAD( "pisces.1j", 0x0000, 0x1000, CRC(2dba9e0e) ) -// ROM_LOAD( "pisces.1k", 0x1000, 0x1000, CRC(cdc5aa26) ) - ROM_LOAD( "g09.bin", 0x0000, 0x0800, CRC(9503a23a) SHA1(23848de56841dd1de9ef74d5a9c981c784098175) ) - ROM_LOAD( "g11.bin", 0x0800, 0x0800, CRC(0adfc3fe) SHA1(a4da488632d9906066db45ae62747caf5ffbf2d8) ) - ROM_LOAD( "g10.bin", 0x1000, 0x0800, CRC(3e61f849) SHA1(efa0059bc843af0c3bb94f4bc0a8286ca5069179) ) - ROM_LOAD( "g12.bin", 0x1800, 0x0800, CRC(7130e9eb) SHA1(e6bb7a9b4f2fc001296e1060d0671b7a88599c8b) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "colour.bin", 0x0000, 0x0020, CRC(57a45057) SHA1(d4ec6a54f72640e5b485aa59e206c090e67ff640) ) // same as checkman.clr -ROM_END - -ROM_START( piscesb ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "pisces.a1", 0x0000, 0x0800, CRC(856b8e1f) SHA1(24d468b5f06f54c3fa1cb54ceec8a0c8e285430e) ) - ROM_LOAD( "p2.bin", 0x0800, 0x0800, CRC(055f9762) SHA1(9d821874dd48a80651adc58a2f7fe5d2b3ed67bc) ) - ROM_LOAD( "pisces.b2", 0x1000, 0x0800, CRC(5540f2e4) SHA1(b069a7e46fa2c1f732371ef056caaf8f343e11a8) ) - ROM_LOAD( "p4.bin", 0x1800, 0x0800, CRC(44aaf525) SHA1(667bf4c3a36169c3ddddd22b2f1f90bcc9308548) ) - ROM_LOAD( "p5.bin", 0x2000, 0x0800, CRC(fade512b) SHA1(ccef2650f1d9dc3fdde2d441774246d47febc2cc) ) - ROM_LOAD( "p6.bin", 0x2800, 0x0800, CRC(5ab2822f) SHA1(bbcac3aab943dd9b173de11ddf02ff75d16b1582) ) - - ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) -// ROM_LOAD( "pisces.1j", 0x0000, 0x1000, CRC(2dba9e0e) ) -// ROM_LOAD( "pisces.1k", 0x1000, 0x1000, CRC(cdc5aa26) ) - ROM_LOAD( "g09.bin", 0x0000, 0x0800, CRC(9503a23a) SHA1(23848de56841dd1de9ef74d5a9c981c784098175) ) - ROM_LOAD( "g11.bin", 0x0800, 0x0800, CRC(0adfc3fe) SHA1(a4da488632d9906066db45ae62747caf5ffbf2d8) ) - ROM_LOAD( "g10.bin", 0x1000, 0x0800, CRC(3e61f849) SHA1(efa0059bc843af0c3bb94f4bc0a8286ca5069179) ) - ROM_LOAD( "g12.bin", 0x1800, 0x0800, CRC(7130e9eb) SHA1(e6bb7a9b4f2fc001296e1060d0671b7a88599c8b) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) -// ROM_LOAD( "6331-1j.86", 0x0000, 0x0020, CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d) ) /* very close to Galaxian */ - ROM_LOAD( "colour.bin", 0x0000, 0x0020, CRC(57a45057) SHA1(d4ec6a54f72640e5b485aa59e206c090e67ff640) ) // same as checkman.clr -ROM_END - -ROM_START( omni ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "omni1.7f", 0x0000, 0x1000, CRC(a9b7acc6) SHA1(0c6319957b760fea3cfa6c29b37c25f5a89a6d77) ) - ROM_LOAD( "omni2.7j", 0x1000, 0x1000, CRC(6ade29b7) SHA1(64f1ce82c761db11d26c385299a7063f5971c99a) ) - ROM_LOAD( "omni3.7f", 0x2000, 0x1000, CRC(9e37bb24) SHA1(d90b2ff0297d87687561e1e9b29510b6c051760b) ) - - ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "omni5b.l1", 0x0000, 0x0800, CRC(9503a23a) SHA1(23848de56841dd1de9ef74d5a9c981c784098175) ) - ROM_LOAD( "omni6c.j22", 0x0800, 0x0800, CRC(0adfc3fe) SHA1(a4da488632d9906066db45ae62747caf5ffbf2d8) ) - ROM_LOAD( "omni4a.j1", 0x1000, 0x0800, CRC(3e61f849) SHA1(efa0059bc843af0c3bb94f4bc0a8286ca5069179) ) - ROM_LOAD( "omni7d.l2", 0x1800, 0x0800, CRC(7130e9eb) SHA1(e6bb7a9b4f2fc001296e1060d0671b7a88599c8b) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "colour.bin", 0x0000, 0x0020, CRC(57a45057) SHA1(d4ec6a54f72640e5b485aa59e206c090e67ff640) ) -ROM_END - -ROM_START( uniwars ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "f07_1a.bin", 0x0000, 0x0800, CRC(d975af10) SHA1(a2e2a36a75db8fd09441308b08b6ae073c68b8cf) ) - ROM_LOAD( "h07_2a.bin", 0x0800, 0x0800, CRC(b2ed14c3) SHA1(7668df11f64b8e296eedfee53437777dc53a56d5) ) - ROM_LOAD( "k07_3a.bin", 0x1000, 0x0800, CRC(945f4160) SHA1(5fbe879f51e14c4c7ae551e5b3089f8e148770a4) ) - ROM_LOAD( "m07_4a.bin", 0x1800, 0x0800, CRC(ddc80bc5) SHA1(18c3920198baf87267bc7f12db6b23b090d3577a) ) - ROM_LOAD( "d08p_5a.bin", 0x2000, 0x0800, CRC(62354351) SHA1(85bf18942f73023b8be0c3659a0dcd3dfcccfc2c) ) - ROM_LOAD( "gg6", 0x2800, 0x0800, CRC(270a3f4d) SHA1(20f5097033fca515d70fe47178cbd341a1d07443) ) - ROM_LOAD( "m08p_7a.bin", 0x3000, 0x0800, CRC(c9245346) SHA1(239bad3fe64eaab2dfc3febd06d1124103a10504) ) - ROM_LOAD( "n08p_8a.bin", 0x3800, 0x0800, CRC(797d45c7) SHA1(76fb8b45fcce3622c59c04af32cfa001ef7bf71d) ) - - ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "egg10", 0x0000, 0x0800, CRC(012941e0) SHA1(4f7ec4d95939cb7c4086bb7df43759ac504ae47c) ) - ROM_LOAD( "h01_2.bin", 0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) ) - ROM_LOAD( "egg9", 0x1000, 0x0800, CRC(fc8b58fd) SHA1(72553e2735b0dcc2dcfce9698d49566732492588) ) - ROM_LOAD( "k01_2.bin", 0x1800, 0x0800, CRC(dcc2b33b) SHA1(c3a5ac935c519400dfabb28909f7e460769d1837) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "uniwars.clr", 0x0000, 0x0020, CRC(25c79518) SHA1(e8f7e8b3d0cf1ed9d723948548f58abf0e2c6d1f) ) -ROM_END - -ROM_START( gteikoku ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "f07_1a.bin", 0x0000, 0x0800, CRC(d975af10) SHA1(a2e2a36a75db8fd09441308b08b6ae073c68b8cf) ) - ROM_LOAD( "h07_2a.bin", 0x0800, 0x0800, CRC(b2ed14c3) SHA1(7668df11f64b8e296eedfee53437777dc53a56d5) ) - ROM_LOAD( "k07_3a.bin", 0x1000, 0x0800, CRC(945f4160) SHA1(5fbe879f51e14c4c7ae551e5b3089f8e148770a4) ) - ROM_LOAD( "m07_4a.bin", 0x1800, 0x0800, CRC(ddc80bc5) SHA1(18c3920198baf87267bc7f12db6b23b090d3577a) ) - ROM_LOAD( "d08p_5a.bin", 0x2000, 0x0800, CRC(62354351) SHA1(85bf18942f73023b8be0c3659a0dcd3dfcccfc2c) ) - ROM_LOAD( "e08p_6a.bin", 0x2800, 0x0800, CRC(d915a389) SHA1(0e2ff6eec9453856a1276889946b463cfae58eba) ) - ROM_LOAD( "m08p_7a.bin", 0x3000, 0x0800, CRC(c9245346) SHA1(239bad3fe64eaab2dfc3febd06d1124103a10504) ) - ROM_LOAD( "n08p_8a.bin", 0x3800, 0x0800, CRC(797d45c7) SHA1(76fb8b45fcce3622c59c04af32cfa001ef7bf71d) ) - - ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "h01_1.bin", 0x0000, 0x0800, CRC(8313c959) SHA1(b09157c6f824d6e94647728cbb329877fcb4e502) ) - ROM_LOAD( "h01_2.bin", 0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) ) - ROM_LOAD( "k01_1.bin", 0x1000, 0x0800, CRC(c9d4537e) SHA1(65d27066ffec04b755d2f5d3f36f5ec6792e8d6c) ) - ROM_LOAD( "k01_2.bin", 0x1800, 0x0800, CRC(dcc2b33b) SHA1(c3a5ac935c519400dfabb28909f7e460769d1837) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) -ROM_END - -ROM_START( gteikokb ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "1.bin", 0x0000, 0x0800, CRC(bf00252f) SHA1(a4ec48c6b9468f52bcf8b01d1bdb908dcf81d42d) ) - ROM_LOAD( "2.bin", 0x0800, 0x0800, CRC(f712b7d5) SHA1(c269db2e9984a3fbd33888bd426c53d319cad36f) ) - ROM_LOAD( "k07_3a.bin", 0x1000, 0x0800, CRC(945f4160) SHA1(5fbe879f51e14c4c7ae551e5b3089f8e148770a4) ) - ROM_LOAD( "4.bin", 0x1800, 0x0800, CRC(808a39a8) SHA1(f3db5175d0c2d10e9e3ded400888f6541490597e) ) - ROM_LOAD( "5.bin", 0x2000, 0x0800, CRC(36fe6e67) SHA1(e54a19ad6611fefcdfcf74019a63cc6cea6cf433) ) - ROM_LOAD( "6.bin", 0x2800, 0x0800, CRC(c5ea67e8) SHA1(0157eb2ef5ab56cd00e5f4fafd618271d2d4862b) ) - ROM_LOAD( "m08p_7a.bin", 0x3000, 0x0800, CRC(c9245346) SHA1(239bad3fe64eaab2dfc3febd06d1124103a10504) ) - ROM_LOAD( "8.bin", 0x3800, 0x0800, CRC(28df3229) SHA1(fd307c6a7de4fcddce1c2f36a957a31b9a6aaa21) ) - - ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "h01_1.bin", 0x0000, 0x0800, CRC(8313c959) SHA1(b09157c6f824d6e94647728cbb329877fcb4e502) ) - ROM_LOAD( "h01_2.bin", 0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) ) - ROM_LOAD( "k01_1.bin", 0x1000, 0x0800, CRC(c9d4537e) SHA1(65d27066ffec04b755d2f5d3f36f5ec6792e8d6c) ) - ROM_LOAD( "k01_2.bin", 0x1800, 0x0800, CRC(dcc2b33b) SHA1(c3a5ac935c519400dfabb28909f7e460769d1837) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) -ROM_END - -ROM_START( gteikob2 ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "94gnog.bin", 0x0000, 0x0800, CRC(67ec3235) SHA1(f250db867257f474f693012c11008bf92f038cc7) ) - ROM_LOAD( "92gnog.bin", 0x0800, 0x0800, CRC(813c41f2) SHA1(bd92e0b53e3c8874d63f3444bca02246cd74b1c6) ) - ROM_LOAD( "k07_3a.bin", 0x1000, 0x0800, CRC(945f4160) SHA1(5fbe879f51e14c4c7ae551e5b3089f8e148770a4) ) - ROM_LOAD( "1gnog.bin", 0x1800, 0x0800, CRC(49ff9658) SHA1(3b7f3dc40b3fbc7d4abe5f5d534951c70409148c) ) - ROM_LOAD( "5.bin", 0x2000, 0x0800, CRC(36fe6e67) SHA1(e54a19ad6611fefcdfcf74019a63cc6cea6cf433) ) - ROM_LOAD( "e08p_6a.bin", 0x2800, 0x0800, CRC(d915a389) SHA1(0e2ff6eec9453856a1276889946b463cfae58eba) ) - ROM_LOAD( "m08p_7a.bin", 0x3000, 0x0800, CRC(c9245346) SHA1(239bad3fe64eaab2dfc3febd06d1124103a10504) ) - ROM_LOAD( "98gnog.bin", 0x3800, 0x0800, CRC(e9d4ad3c) SHA1(b32b96bebbf59e23b06958f6b16790e9f9f334e2) ) - - ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "h01_1.bin", 0x0000, 0x0800, CRC(8313c959) SHA1(b09157c6f824d6e94647728cbb329877fcb4e502) ) - ROM_LOAD( "h01_2.bin", 0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) ) - ROM_LOAD( "k01_1.bin", 0x1000, 0x0800, CRC(c9d4537e) SHA1(65d27066ffec04b755d2f5d3f36f5ec6792e8d6c) ) - ROM_LOAD( "k01_2.bin", 0x1800, 0x0800, CRC(dcc2b33b) SHA1(c3a5ac935c519400dfabb28909f7e460769d1837) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) -ROM_END - -ROM_START( spacbatt ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "sb1", 0x0000, 0x0800, CRC(d975af10) SHA1(a2e2a36a75db8fd09441308b08b6ae073c68b8cf) ) /* Same as f07_1a.bin above */ - ROM_LOAD( "sb2", 0x0800, 0x0800, CRC(b2ed14c3) SHA1(7668df11f64b8e296eedfee53437777dc53a56d5) ) /* Same as h07_2a.bin above */ - ROM_LOAD( "sb3", 0x1000, 0x0800, CRC(945f4160) SHA1(5fbe879f51e14c4c7ae551e5b3089f8e148770a4) ) /* Same as k07_3a.bin above */ - ROM_LOAD( "sb4", 0x1800, 0x0800, CRC(8229835c) SHA1(8cfd8f6cab6f80ca69645a184f7e841fc69f47f6) ) - ROM_LOAD( "sb5", 0x2000, 0x0800, CRC(f51ef930) SHA1(213e68571a0c7d5ba33a7170d5fa4aea898ea0b9) ) - ROM_LOAD( "sb6", 0x2800, 0x0800, CRC(d915a389) SHA1(0e2ff6eec9453856a1276889946b463cfae58eba) ) /* Same as e08p_6a.bin above */ - ROM_LOAD( "sb7", 0x3000, 0x0800, CRC(c9245346) SHA1(239bad3fe64eaab2dfc3febd06d1124103a10504) ) /* Same as m08p_7a.bin above */ - ROM_LOAD( "sb8", 0x3800, 0x0800, CRC(e59ff1ae) SHA1(fef22885cbd3273882f8c7755dd04c28e843b9ea) ) - - ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "sb12", 0x0000, 0x0800, CRC(8313c959) SHA1(b09157c6f824d6e94647728cbb329877fcb4e502) ) /* Same as h01_1.bin above */ - ROM_LOAD( "sb14", 0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) ) /* Same as h01_2.bin above */ - ROM_LOAD( "sb11", 0x1000, 0x0800, CRC(c9d4537e) SHA1(65d27066ffec04b755d2f5d3f36f5ec6792e8d6c) ) /* Same as k01_1.bin above */ - ROM_LOAD( "sb13", 0x1800, 0x0800, CRC(92454380) SHA1(f0cd67b39c760c2b5ac549b27b0a5f83fbb3a86b) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) /* MMI 6331 bp-prom, compatible with 82s123 */ -ROM_END - -ROM_START( spacbat2 ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "sb1", 0x0000, 0x0800, CRC(d975af10) SHA1(a2e2a36a75db8fd09441308b08b6ae073c68b8cf) ) /* Same as f07_1a.bin above */ - ROM_LOAD( "sb2", 0x0800, 0x0800, CRC(b2ed14c3) SHA1(7668df11f64b8e296eedfee53437777dc53a56d5) ) /* Same as h07_2a.bin above */ - ROM_LOAD( "sb.3", 0x1000, 0x0800, CRC(c25ce4c1) SHA1(d7a5d435df7868155523d2fb90f331d4b6d9eaa1) ) - ROM_LOAD( "sb4", 0x1800, 0x0800, CRC(8229835c) SHA1(8cfd8f6cab6f80ca69645a184f7e841fc69f47f6) ) - ROM_LOAD( "sb5", 0x2000, 0x0800, CRC(f51ef930) SHA1(213e68571a0c7d5ba33a7170d5fa4aea898ea0b9) ) - ROM_LOAD( "sb6", 0x2800, 0x0800, CRC(d915a389) SHA1(0e2ff6eec9453856a1276889946b463cfae58eba) ) /* Same as e08p_6a.bin above */ - ROM_LOAD( "sb7", 0x3000, 0x0800, CRC(c9245346) SHA1(239bad3fe64eaab2dfc3febd06d1124103a10504) ) /* Same as m08p_7a.bin above */ - ROM_LOAD( "sb8", 0x3800, 0x0800, CRC(e59ff1ae) SHA1(fef22885cbd3273882f8c7755dd04c28e843b9ea) ) - - ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "sb12", 0x0000, 0x0800, CRC(8313c959) SHA1(b09157c6f824d6e94647728cbb329877fcb4e502) ) /* Same as h01_1.bin above */ - ROM_LOAD( "sb14", 0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) ) /* Same as h01_2.bin above */ - ROM_LOAD( "sb11", 0x1000, 0x0800, CRC(c9d4537e) SHA1(65d27066ffec04b755d2f5d3f36f5ec6792e8d6c) ) /* Same as k01_1.bin above */ - ROM_LOAD( "k01_2.bin", 0x1800, 0x0800, CRC(dcc2b33b) SHA1(c3a5ac935c519400dfabb28909f7e460769d1837) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) -ROM_END - -ROM_START( skyraidr ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "f07_1a.bin", 0x0000, 0x0800, CRC(d975af10) SHA1(a2e2a36a75db8fd09441308b08b6ae073c68b8cf) ) - ROM_LOAD( "h07_2a.bin", 0x0800, 0x0800, CRC(b2ed14c3) SHA1(7668df11f64b8e296eedfee53437777dc53a56d5) ) - ROM_LOAD( "k07_3a.bin", 0x1000, 0x0800, CRC(945f4160) SHA1(5fbe879f51e14c4c7ae551e5b3089f8e148770a4) ) - ROM_LOAD( "sr.04", 0x1800, 0x0800, CRC(9f61d1f8) SHA1(389b0a0d1a577b302907b2ea4c119aa18a6120d9) ) - ROM_LOAD( "sr.05", 0x2000, 0x0800, CRC(4352af0a) SHA1(1b31846ea7025aaf3a79141dfa5a089b8d12d982) ) - ROM_LOAD( "sr.06", 0x2800, 0x0800, CRC(d915a389) SHA1(0e2ff6eec9453856a1276889946b463cfae58eba) ) - ROM_LOAD( "m08p_7a.bin", 0x3000, 0x0800, CRC(c9245346) SHA1(239bad3fe64eaab2dfc3febd06d1124103a10504) ) - ROM_LOAD( "n08p_8a.bin", 0x3800, 0x0800, CRC(797d45c7) SHA1(76fb8b45fcce3622c59c04af32cfa001ef7bf71d) ) - - ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "sr.10", 0x0000, 0x0800, CRC(af069cba) SHA1(12b7d0a57f43613c80afd51c417628090740aabe) ) - ROM_LOAD( "h01_2.bin", 0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) ) - ROM_LOAD( "sr.09", 0x1000, 0x0800, CRC(ff2c20d5) SHA1(48668dc4f008f44f5c15bdcc331cfe133da99cd4) ) - ROM_LOAD( "k01_2.bin", 0x1800, 0x0800, CRC(dcc2b33b) SHA1(c3a5ac935c519400dfabb28909f7e460769d1837) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "uniwars.clr", 0x0000, 0x0020, CRC(25c79518) SHA1(e8f7e8b3d0cf1ed9d723948548f58abf0e2c6d1f) ) -ROM_END - -ROM_START( batman2 ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "01.bin", 0x0000, 0x0800, CRC(150fbca5) SHA1(a5dc104169eb3225c6200e7e07102f8a9bee6861) ) - ROM_LOAD( "02.bin", 0x0800, 0x0800, CRC(b1624fd0) SHA1(ca4678cf7a8b935be2f68d6e342c1f961bf6f1a2) ) - ROM_LOAD( "03.bin", 0x1000, 0x0800, CRC(93774188) SHA1(8bdd3290db43459c56b932b582f555d89df30bd1) ) - ROM_LOAD( "04.bin", 0x1800, 0x0800, CRC(8a94ec6c) SHA1(dacadab9a05ddee2de188b368f795d74213e020d) ) - ROM_LOAD( "05.bin", 0x2000, 0x0800, CRC(a3669461) SHA1(11ea7aa9b55f5790cc2451d80d0eb84388cf47eb) ) - ROM_LOAD( "06.bin", 0x2800, 0x0800, CRC(fa1efbfe) SHA1(f7222dd21e0810d0c8c32919ebb6e0e7bbb4c68e) ) - ROM_LOAD( "07.bin", 0x3000, 0x0800, CRC(9b77debd) SHA1(1f5521bc0f701d86e61219ad3b9516aaa71a68da) ) - ROM_LOAD( "08.bin", 0x3800, 0x0800, CRC(6466177e) SHA1(fc359eadee34586576c557ff7c1dd2c8d49bdf3f) ) - - ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "09.bin", 0x0000, 0x0800, CRC(1a657b1f) SHA1(42149dafdde7d9104f0bddda2223bfc211d0154a) ) - ROM_LOAD( "11.bin", 0x0800, 0x0800, CRC(7a2b48e5) SHA1(f559799c685dd2cb9de06a356bee95b7d6ffadfc) ) - ROM_LOAD( "10.bin", 0x1000, 0x0800, CRC(9b570016) SHA1(44fd2b1caeecdc5200d63c35636f0a605943d30c) ) - ROM_LOAD( "12.bin", 0x1800, 0x0800, CRC(73956244) SHA1(e464b587b5ed636816cc9688593f5b6005cb5216) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) -ROM_END - -ROM_START( warofbug ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "warofbug.u", 0x0000, 0x0800, CRC(b8dfb7e3) SHA1(c7c675b2638869a9cd7dbd554e6131d8c71b567a) ) - ROM_LOAD( "warofbug.v", 0x0800, 0x0800, CRC(fd8854e0) SHA1(b39ab41b834f18341968dd780f0a3cd07d70c16c) ) - ROM_LOAD( "warofbug.w", 0x1000, 0x0800, CRC(4495aa14) SHA1(f1be281db1d831770efa9cc41ea87eb348e70108) ) - ROM_LOAD( "warofbug.y", 0x1800, 0x0800, CRC(c14a541f) SHA1(d32e89fd18d9e1db2e4a545186eac728c0b02255) ) - ROM_LOAD( "warofbug.z", 0x2000, 0x0800, CRC(c167fe55) SHA1(d85c4d1bd7aa5e14eb2f11dfa14979e5dbc084a8) ) - - ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "warofbug.1k", 0x0000, 0x0800, CRC(8100fa85) SHA1(06641c431cace36dec98b87555f62e72f3e53a31) ) - ROM_LOAD( "warofbug.1j", 0x0800, 0x0800, CRC(d1220ae9) SHA1(e892bc8b0b71d8b07503e474e9c30e6cab460682) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "warofbug.clr", 0x0000, 0x0020, CRC(8688e64b) SHA1(ed13414257f580b98b50c9892a14159c55e7838d) ) -ROM_END - -ROM_START( redufo ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "ru1a", 0x0000, 0x0800, CRC(5a8e4f37) SHA1(c0957ede91e2dc3f80e4912b877843aed5d15779) ) - ROM_LOAD( "ru2a", 0x0800, 0x0800, CRC(c624f52d) SHA1(119a660513ad33e35c9bdaecd588219bf8026d82) ) - ROM_LOAD( "ru3a", 0x1000, 0x0800, CRC(e1030d1c) SHA1(80640fbbfa7f84c016366b1084e7f8a7acdcd440) ) - ROM_LOAD( "ru4a", 0x1800, 0x0800, CRC(7692069e) SHA1(5130d61c857c3b85eadabcf10f3a6771c72f0f56) ) - ROM_LOAD( "ru5a", 0x2000, 0x0800, CRC(cb648ff3) SHA1(e0042251ca7f4a31b5bd9f8cca35278a1e152899) ) - ROM_LOAD( "ru6a", 0x2800, 0x0800, CRC(e1a9f58e) SHA1(4fc7489fca057156a7cf5efcb01058ce4f0db69e) ) - - ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "ruhja", 0x0000, 0x0800, CRC(8a422b0d) SHA1(b886157518f73e7115a225ba230e456179f6e18f) ) - ROM_LOAD( "rukla", 0x0800, 0x0800, CRC(1eb84cb1) SHA1(08f360802a90039c0499a1417d06b6eb5f89d67e) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) -ROM_END - -ROM_START( exodus ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "exodus1.bin", 0x0000, 0x0800, CRC(5dfe65e1) SHA1(5f1ce289b3c98a89d61d4dea952b4b8888d92ed7) ) - ROM_LOAD( "exodus2.bin", 0x0800, 0x0800, CRC(6559222f) SHA1(520497f6fb2b0c76be8419702e8af894283ebf0b) ) - ROM_LOAD( "exodus3.bin", 0x1000, 0x0800, CRC(bf7030e8) SHA1(59b0624dd91527a916ee6a27d61def82c3c14f49) ) - ROM_LOAD( "exodus4.bin", 0x1800, 0x0800, CRC(3607909e) SHA1(93d074fe4b258d496a0998acb3fc47f0a762227a) ) - ROM_LOAD( "exodus9.bin", 0x2000, 0x0800, CRC(994a90c4) SHA1(a07e3ce8f69042c45ebe00ab1d40dbb85602a7a2) ) - ROM_LOAD( "exodus10.bin", 0x2800, 0x0800, CRC(fbd11187) SHA1(a3bd49c4a79e76b08e6b343b94689159dc239458) ) - ROM_LOAD( "exodus11.bin", 0x3000, 0x0800, CRC(fd07d811) SHA1(6b968a7ce452f76a8d26fe694aa4ea6b16e8b6fa) ) - - ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "exodus5.bin", 0x0000, 0x0800, CRC(b34c7cb4) SHA1(146ed4a02d7540378f4a27a6643055216ad403f7) ) - ROM_LOAD( "exodus6.bin", 0x0800, 0x0800, CRC(50a2d447) SHA1(1f97d1096ad2a3a43a480cb1f040f4534fada3c3) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) -ROM_END - -ROM_START( streakng ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "sk1", 0x0000, 0x1000, CRC(c8866ccb) SHA1(1fc8bc643ecbfa86a50448d79b299f5a3dd586c5) ) - ROM_LOAD( "sk2", 0x1000, 0x1000, CRC(7caea29b) SHA1(5b3946ee914b1637db9046abf92d66ceaeb4fc5f) ) - ROM_LOAD( "sk3", 0x2000, 0x1000, CRC(7b4bfa76) SHA1(9223bec0c1cc39bc84670869b2a4fab0d0167c6e) ) - ROM_LOAD( "sk4", 0x3000, 0x1000, CRC(056fc921) SHA1(de8525571e5a82ddf74dd57b1a6c5bc9f2d2c0fe) ) - - ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "sk5", 0x0000, 0x1000, CRC(d27f1e0c) SHA1(c3b4ae55a93516b034a16c9f943b360b24c933d6) ) - ROM_LOAD( "sk6", 0x1000, 0x1000, CRC(a7089588) SHA1(e76242b043b1d8f060f669da3ddeee3d10122cdb) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "sk.bpr", 0x0000, 0x0020, CRC(bce79607) SHA1(49d60fde149240bcd025f721b0fbbbdbc549a42f) ) -ROM_END - -ROM_START( pacmanbl ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "blpac1b", 0x0000, 0x0800, CRC(6718df42) SHA1(ee15c3f583d381fba4878f824f83d04479a0cee5) ) - ROM_LOAD( "blpac2b", 0x0800, 0x0800, CRC(33be3648) SHA1(50175889cf37fe8a81c931e009b55d10f8d0444a) ) - ROM_LOAD( "blpac3b", 0x1000, 0x0800, CRC(f98c0ceb) SHA1(4faf8b2fb3f109d1196a9ea256328485074a31b9) ) - ROM_LOAD( "blpac4b", 0x1800, 0x0800, CRC(a9cd0082) SHA1(f44ff1ad15d5ee3096f8f44f9c605f32ae2737d9) ) - ROM_LOAD( "blpac5b", 0x2000, 0x0800, CRC(6d475afc) SHA1(4fe6bde352c7dd9572fefaae4b59640b4f4eb8ba) ) - ROM_LOAD( "blpac6b", 0x2800, 0x0800, CRC(cbe863d3) SHA1(97a2ffa6ab33e6061c664dcd1ee57c86a456782f) ) - ROM_LOAD( "blpac7b", 0x3000, 0x0800, CRC(7daef758) SHA1(4dc8ec0ea8fc04d5bffc1c1335407729309c17f0) ) - - /* note from f205v: on the PCB I have, 10b and 11b have been joined into one single 2732 EPROM labeled "pmc31" - The same goes for 9b and 12b, joined into one single 2732 EPROM labeled "pmc42" */ - ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "blpac12b", 0x0000, 0x0800, CRC(b2ed320b) SHA1(680a6fdcb65cc2d88d10bc85e0b2628f43375c5c) ) - ROM_LOAD( "blpac11b", 0x0800, 0x0800, CRC(ab88b2c4) SHA1(d0c829ea8021eae81a2b82d36c35ad8258b115e0) ) - ROM_LOAD( "blpac10b", 0x1000, 0x0800, CRC(44a45b72) SHA1(8abd0684a01d6c23ef5cf5f0765458f982316acf) ) - ROM_LOAD( "blpac9b", 0x1800, 0x0800, CRC(fa84659f) SHA1(20c212723f9062f052539190dfe3fc41577543eb) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "blpaccp", 0x0000, 0x0020, CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d) ) /* same as pisces */ -ROM_END - -ROM_START( devilfsg ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "dfish1.7f", 0x2000, 0x0800, CRC(2ab19698) SHA1(8450981d3cf3fa8abf2fb5487aa98b03a4cf03a1) ) - ROM_CONTINUE( 0x0000, 0x0800 ) - ROM_LOAD( "dfish2.7h", 0x2800, 0x0800, CRC(4e77f097) SHA1(aeaa5ff210ccbbe77114edf5dee992d2720636ae) ) - ROM_CONTINUE( 0x0800, 0x0800 ) - ROM_LOAD( "dfish3.7k", 0x3000, 0x0800, CRC(3f16a4c6) SHA1(cc30b27070a12c250cdc2f7289bae7c7a4c05c2c) ) - ROM_CONTINUE( 0x1000, 0x0800 ) - ROM_LOAD( "dfish4.7m", 0x3800, 0x0800, CRC(11fc7e59) SHA1(2c0182a75bfca085e67483b421f40b3bc9b8ef24) ) - ROM_CONTINUE( 0x1800, 0x0800 ) - - ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "dfish5.1h", 0x1000, 0x0800, CRC(ace6e31f) SHA1(23df890fdf8ef275af79e10c8e43ff3a617b28ac) ) - ROM_CONTINUE( 0x0000, 0x0800 ) - ROM_LOAD( "dfish6.1k", 0x1800, 0x0800, CRC(d7a6c4c4) SHA1(ec5f9182657edb11884ab93f868f1bb3569461ae) ) - ROM_CONTINUE( 0x0800, 0x0800 ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "82s123.6e", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) ) -ROM_END - -ROM_START( zigzag ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "zz_d1.bin", 0x0000, 0x1000, CRC(8cc08d81) SHA1(be671192ef06dc3ed6963dc39e6bdce3275300e9) ) - ROM_LOAD( "zz_d2.bin", 0x1000, 0x1000, CRC(326d8d45) SHA1(563b9fc64c34e36cfadffb107ce30d3a04d62d9c) ) - ROM_LOAD( "zz_d4.bin", 0x2000, 0x1000, CRC(a94ed92a) SHA1(d56f32fc2b3f0f7affe658b7726682c60d09bc16) ) - ROM_LOAD( "zz_d3.bin", 0x3000, 0x1000, CRC(ce5e7a00) SHA1(93c47d22698a016cb0f0b654ade9ccab0cd1c88b) ) - - ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "zz_6_h1.bin", 0x0000, 0x0800, CRC(780c162a) SHA1(b0cac68258281917bcada52ce26e0ce38721d633) ) - ROM_CONTINUE( 0x1000, 0x0800 ) - ROM_LOAD( "zz_5.bin", 0x0800, 0x0800, CRC(f3cdfec5) SHA1(798d631c72d8e6b2e372b4b3ab0c10d8365a1359) ) - ROM_CONTINUE( 0x1800, 0x0800 ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "zzbp_e9.bin", 0x0000, 0x0020, CRC(aa486dd0) SHA1(b845b52715bf6361ceee8c1ac541733963bd47af) ) -ROM_END - -ROM_START( zigzag2 ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "z1", 0x0000, 0x1000, CRC(4c28349a) SHA1(646134ce506deaee88cc2ec5a973f8fedaddb66b) ) - ROM_LOAD( "zz_d2.bin", 0x1000, 0x1000, CRC(326d8d45) SHA1(563b9fc64c34e36cfadffb107ce30d3a04d62d9c) ) - ROM_LOAD( "zz_d4.bin", 0x2000, 0x1000, CRC(a94ed92a) SHA1(d56f32fc2b3f0f7affe658b7726682c60d09bc16) ) - ROM_LOAD( "zz_d3.bin", 0x3000, 0x1000, CRC(ce5e7a00) SHA1(93c47d22698a016cb0f0b654ade9ccab0cd1c88b) ) - - ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "zz_6_h1.bin", 0x0000, 0x0800, CRC(780c162a) SHA1(b0cac68258281917bcada52ce26e0ce38721d633) ) - ROM_CONTINUE( 0x1000, 0x0800 ) - ROM_LOAD( "zz_5.bin", 0x0800, 0x0800, CRC(f3cdfec5) SHA1(798d631c72d8e6b2e372b4b3ab0c10d8365a1359) ) - ROM_CONTINUE( 0x1800, 0x0800 ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "zzbp_e9.bin", 0x0000, 0x0020, CRC(aa486dd0) SHA1(b845b52715bf6361ceee8c1ac541733963bd47af) ) -ROM_END - -ROM_START( mooncrgx ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "1", 0x0000, 0x0800, CRC(84cf420b) SHA1(82c979467c51df699337d5878340d05bee606480) ) - ROM_LOAD( "2", 0x0800, 0x0800, CRC(4c2a61a1) SHA1(a3759bd2c062f2843cd5b812529c798d5d12086c) ) - ROM_LOAD( "3", 0x1000, 0x0800, CRC(1962523a) SHA1(56ea003c3ff37c2bc33383207fccde0ba0ed781a) ) - ROM_LOAD( "4", 0x1800, 0x0800, CRC(75dca896) SHA1(017d04501d3d1305491ba843d92ebd74d47d2f9c) ) - ROM_LOAD( "5", 0x2000, 0x0800, CRC(32483039) SHA1(23baf136d5b7fc02f999dcb31b8daf68b6ffafd1) ) - ROM_LOAD( "6", 0x2800, 0x0800, CRC(43f2ab89) SHA1(f7f0802a12fd89d61f6f00044e077f34a9d3955f) ) - ROM_LOAD( "7", 0x3000, 0x0800, CRC(1e9c168c) SHA1(891dc159dfc343322c3241980a0ef76dee510ca9) ) - ROM_LOAD( "8", 0x3800, 0x0800, CRC(5e09da94) SHA1(677890912db12df6fa2cb515c198f8ac3f7187af) ) - - ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "1h_1_10.bin", 0x0000, 0x0800, CRC(528da705) SHA1(d726ee18b79774c982f88afb2a508eb5d5783193) ) - ROM_LOAD( "12.chr", 0x0800, 0x0800, CRC(5a4b17ea) SHA1(8a879dc34fdecc8a121c4a87abb981212fb05945) ) - ROM_LOAD( "9.chr", 0x1000, 0x0800, CRC(70df525c) SHA1(f771293494a2234bf80f206ecf1e88773322e503) ) - ROM_LOAD( "11.chr", 0x1800, 0x0800, CRC(e0edccbd) SHA1(0839a4c9b6e863d12253ae8e1732e80e08702228) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) -ROM_END - -ROM_START( omega ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "omega1.bin", 0x0000, 0x0800, CRC(fc2a096b) SHA1(071ff30060a1aa0a47ae6e88140b80caed00fc4e) ) - ROM_LOAD( "omega2.bin", 0x0800, 0x0800, CRC(ad100357) SHA1(7c5e82c25e65b4a390cf5607f15bf4df407f7f11) ) - ROM_LOAD( "omega3.bin", 0x1000, 0x0800, CRC(d7e3be79) SHA1(ffa228043c6c717bee8bbec16432dcfe2e348aef) ) - ROM_LOAD( "omega4.bin", 0x1800, 0x0800, CRC(42068171) SHA1(940ca30a5772940b8a437498d22c6121482b38e6) ) - ROM_LOAD( "omega5.bin", 0x2000, 0x0800, CRC(d8a93383) SHA1(5f60f127360b14206d4df638e528bf961049e37d) ) - ROM_LOAD( "omega6.bin", 0x2800, 0x0800, CRC(32a42f44) SHA1(94f458997ec279dce218a17b665fa8c46067e646) ) - - ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "omega1h.bin", 0x0000, 0x0800, CRC(527fd384) SHA1(92a384899d5acd2c689f637da16a0e2d11a9d9c6) ) - ROM_LOAD( "omega1k.bin", 0x0800, 0x0800, CRC(36de42c6) SHA1(6fd93d439e3b8eab62049f925d9e8f8deeda2ae3) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "6331-1j.86", 0x0000, 0x0020, NO_DUMP ) /* missing */ -ROM_END - ROM_START( scramblb ) ROM_REGION( 0x10000, REGION_CPU1, 0 ) ROM_LOAD( "scramble.1k", 0x0000, 0x0800, CRC(9e025c4a) SHA1(a8cc9391bdd01a5a2fe7f0c4e889b4e2495df891) ) @@ -5670,846 +2738,6 @@ ROM_START( scramb2 ) ROM_END -ROM_START( jumpbug ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "jb1", 0x0000, 0x1000, CRC(415aa1b7) SHA1(4f9edd7e9720acf085dd8910849c2f2fac5cb547) ) - ROM_LOAD( "jb2", 0x1000, 0x1000, CRC(b1c27510) SHA1(66fbe0b94b6c101cb50d7a3ff78160110415dff9) ) - ROM_LOAD( "jb3", 0x2000, 0x1000, CRC(97c24be2) SHA1(1beb9fbc3a52610b416af8b5fee156d8b6b3125a) ) - ROM_LOAD( "jb4", 0x3000, 0x1000, CRC(66751d12) SHA1(26c68cfb59596ae164ee9ae4a24ddf8dc7a923a7) ) - ROM_LOAD( "jb5", 0x8000, 0x1000, CRC(e2d66faf) SHA1(3dec0796642856359de57afb896cc668c0245b40) ) - ROM_LOAD( "jb6", 0x9000, 0x1000, CRC(49e0bdfd) SHA1(8d89d9cd7134b153264fdc49d2c68e8c14004b0d) ) - ROM_LOAD( "jb7", 0xa000, 0x0800, CRC(83d71302) SHA1(9292088d26ba29fbf8817df03461b8bb6bf27639) ) - - ROM_REGION( 0x3000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "jbl", 0x0000, 0x0800, CRC(9a091b0a) SHA1(19b88f802ee80ff8901ef99e3688f2869f1a69c5) ) - ROM_LOAD( "jbm", 0x0800, 0x0800, CRC(8a0fc082) SHA1(58b72a3161950a2fb71cdab3f30bb3abb19c7978) ) - ROM_LOAD( "jbn", 0x1000, 0x0800, CRC(155186e0) SHA1(717ddaecc52a4ef03a01fcddb520acdbfb0d722a) ) - ROM_LOAD( "jbi", 0x1800, 0x0800, CRC(7749b111) SHA1(55071ce04708bd52177644298f76ae79d23f6ac9) ) - ROM_LOAD( "jbj", 0x2000, 0x0800, CRC(06e8d7df) SHA1(d04f1503d9fde5aae92652cb9d2eb16bd6a0fe9c) ) - ROM_LOAD( "jbk", 0x2800, 0x0800, CRC(b8dbddf3) SHA1(043de444890a93459789dc99c43ef88ff66b79e4) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) -ROM_END - -ROM_START( jumpbugb ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "jb1", 0x0000, 0x1000, CRC(415aa1b7) SHA1(4f9edd7e9720acf085dd8910849c2f2fac5cb547) ) - ROM_LOAD( "jb2", 0x1000, 0x1000, CRC(b1c27510) SHA1(66fbe0b94b6c101cb50d7a3ff78160110415dff9) ) - ROM_LOAD( "jb3b", 0x2000, 0x1000, CRC(cb8b8a0f) SHA1(9e8591471dda2cb964ba2a866d4a5a3ef65d8707) ) - ROM_LOAD( "jb4", 0x3000, 0x1000, CRC(66751d12) SHA1(26c68cfb59596ae164ee9ae4a24ddf8dc7a923a7) ) - ROM_LOAD( "jb5b", 0x8000, 0x1000, CRC(7553b5e2) SHA1(6439585e713581dd36cea6324414f803d683216f) ) - ROM_LOAD( "jb6b", 0x9000, 0x1000, CRC(47be9843) SHA1(495d6fc732267bfd19a953b0b70df3f94b3c1e38) ) - ROM_LOAD( "jb7b", 0xa000, 0x0800, CRC(460aed61) SHA1(449ab1bb502f98da74c0955ce1364f8708fd3f81) ) - - ROM_REGION( 0x3000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "jbl", 0x0000, 0x0800, CRC(9a091b0a) SHA1(19b88f802ee80ff8901ef99e3688f2869f1a69c5) ) - ROM_LOAD( "jbm", 0x0800, 0x0800, CRC(8a0fc082) SHA1(58b72a3161950a2fb71cdab3f30bb3abb19c7978) ) - ROM_LOAD( "jbn", 0x1000, 0x0800, CRC(155186e0) SHA1(717ddaecc52a4ef03a01fcddb520acdbfb0d722a) ) - ROM_LOAD( "jbi", 0x1800, 0x0800, CRC(7749b111) SHA1(55071ce04708bd52177644298f76ae79d23f6ac9) ) - ROM_LOAD( "jbj", 0x2000, 0x0800, CRC(06e8d7df) SHA1(d04f1503d9fde5aae92652cb9d2eb16bd6a0fe9c) ) - ROM_LOAD( "jbk", 0x2800, 0x0800, CRC(b8dbddf3) SHA1(043de444890a93459789dc99c43ef88ff66b79e4) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) -ROM_END - -ROM_START( levers ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "g96059.a8", 0x0000, 0x1000, CRC(9550627a) SHA1(3da9a614622d5b880852fe2bb2e8e4a60afb2d34) ) - ROM_LOAD( "g96060.d8", 0x2000, 0x1000, CRC(5ac64646) SHA1(459755932a033095eff72d78d1e916932964c5cc) ) - ROM_LOAD( "g96061.e8", 0x3000, 0x1000, CRC(9db8e520) SHA1(1ff10e221e45cc4afb77571a171937f8501aa509) ) - ROM_LOAD( "g96062.h8", 0x8000, 0x1000, CRC(7c8e8b3a) SHA1(ad281f801e818ea529be8ec43096212e834f69ef) ) - ROM_LOAD( "g96063.j8", 0x9000, 0x1000, CRC(fa61e793) SHA1(7aad77f3de05a7bd3dcb0c9c97a3cccd1136f352) ) - ROM_LOAD( "g96064.l8", 0xa000, 0x1000, CRC(f797f389) SHA1(b961f0506defa9884ac47b2316884318e1e90bff) ) - - ROM_REGION( 0x3000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "g95948.n1", 0x0000, 0x0800, CRC(d8a0c692) SHA1(dd64623f4072bcb8c528b5b7b95a7bd858b79d6c) ) - /*0x0800- 0x0fff empty */ - ROM_LOAD( "g95949.s1", 0x1000, 0x0800, CRC(3660a552) SHA1(bebfd30f90da55d6d42945717b9b38d5b0c9623a) ) - ROM_LOAD( "g95946.j1", 0x1800, 0x0800, CRC(73b61b2d) SHA1(fdb75eea1778daa6f9c48243361e418044b471f8) ) - /*0x2000- 0x27ff empty */ - ROM_LOAD( "g95947.m1", 0x2800, 0x0800, CRC(72ff67e2) SHA1(dcc12f17a857271c253d06d5ac170b9d6bb6a2bd) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "g960lev.clr", 0x0000, 0x0020, CRC(01febbbe) SHA1(11b1dab7983ba29e830ccb7f14eb1a99465c9e81) ) -ROM_END - -ROM_START( azurian ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "pgm.1", 0x0000, 0x1000, CRC(17a0fca7) SHA1(0ffb80d433fbaa0631d0d982a453f9e6cccab297) ) - ROM_LOAD( "pgm.2", 0x1000, 0x1000, CRC(14659848) SHA1(bb9d9c01b074bf7ed7a1c29379bbef41728dd27a) ) - ROM_LOAD( "pgm.3", 0x2000, 0x1000, CRC(8f60fb97) SHA1(d0f4d65e568ac1a5d41e550f2f626cbf72884959) ) - - ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "gfx.1", 0x0000, 0x0800, CRC(f5afb803) SHA1(ffc8f86a35179d7715ef618004b79003e0236a93) ) - ROM_LOAD( "gfx.2", 0x0800, 0x0800, CRC(ae96e5d1) SHA1(df667fb96d7353ccf9ce0acf788371ef2221e97d) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) -ROM_END - -ROM_START( orbitron ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "orbitron.3", 0x0600, 0x0200, CRC(419f9c9b) SHA1(788a3920f4270b886b3a578f8c2df33e6314a1c3) ) - ROM_CONTINUE( 0x0400, 0x0200) - ROM_CONTINUE( 0x0200, 0x0200) - - - ROM_CONTINUE( 0x0000, 0x0200) - ROM_LOAD( "orbitron.4", 0x0e00, 0x0200, CRC(44ad56ac) SHA1(3a8339cdee50912a16ac0fb448e6659e32542c0c) ) - ROM_CONTINUE( 0x0c00, 0x0200) - ROM_CONTINUE( 0x0a00, 0x0200) - ROM_CONTINUE( 0x0800, 0x0200) - ROM_LOAD( "orbitron.1", 0x1600, 0x0200, CRC(da3f5168) SHA1(1927cc7cd3b9d15b629e09781557f4c75d684182) ) - ROM_CONTINUE( 0x1400, 0x0200) - ROM_CONTINUE( 0x1200, 0x0200) - ROM_CONTINUE( 0x1000, 0x0200) - ROM_LOAD( "orbitron.2", 0x1e00, 0x0200, CRC(a3b813fc) SHA1(7f0f22667bee897b474fb485d65a74d74a36991a) ) - ROM_CONTINUE( 0x1c00, 0x0200) - ROM_CONTINUE( 0x1a00, 0x0200) - ROM_CONTINUE( 0x1800, 0x0200) - ROM_LOAD( "orbitron.5", 0x2000, 0x0800, CRC(20cd8bb8) SHA1(a5309cb04a656c6e1e18bb19910474af8ef814a5) ) - - ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "orbitron.6", 0x0000, 0x0800, CRC(2c91b83f) SHA1(29c73b7ad0dc5a3ba739492c902ad9201eae6ef2) ) - ROM_LOAD( "orbitron.7", 0x0800, 0x0800, CRC(46f4cca4) SHA1(e5fb616b1d17b5b5167f05f7840638840deb2d13) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) -ROM_END - -ROM_START( checkman ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "cm1", 0x0000, 0x0800, CRC(e8cbdd28) SHA1(ba0b41e375b94bbfed6a2c949cc7958474c8ba6e) ) - ROM_LOAD( "cm2", 0x0800, 0x0800, CRC(b8432d4d) SHA1(d331476f1f88b7ef1426bed7442392f369e0650b) ) - ROM_LOAD( "cm3", 0x1000, 0x0800, CRC(15a97f61) SHA1(3c06c734cef1eed68b401d0d36f7ec9126986d73) ) - ROM_LOAD( "cm4", 0x1800, 0x0800, CRC(8c12ecc0) SHA1(1c2d61ef84404b6a524c453a3d339aaaadb38229) ) - ROM_LOAD( "cm5", 0x2000, 0x0800, CRC(2352cfd6) SHA1(77db5f925ee5f83c17a05a78af5191eefe70ca5a) ) - - ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* 64k for sound code */ - ROM_LOAD( "cm13", 0x0000, 0x0800, CRC(0b09a3e8) SHA1(e4e65da306e22f61790f0a68d953cc017c3ce762) ) - ROM_LOAD( "cm14", 0x0800, 0x0800, CRC(47f043be) SHA1(44d8892d93849cbc989561387c0a05baead58446) ) - - ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "cm11", 0x0000, 0x0800, CRC(8d1bcca0) SHA1(28fc7fb76180820e84d59e6836ed1f8136e8f138) ) - ROM_RELOAD( 0x0800, 0x0800 ) - ROM_LOAD( "cm9", 0x1000, 0x0800, CRC(3cd5c751) SHA1(a769fdd30752da8fb331aa0f7a0181a93f0b3378) ) - ROM_RELOAD( 0x1800, 0x0800 ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "checkman.clr", 0x0000, 0x0020, CRC(57a45057) SHA1(d4ec6a54f72640e5b485aa59e206c090e67ff640) ) -ROM_END - -ROM_START( checkmaj ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "cm_1.bin", 0x0000, 0x1000, CRC(456a118f) SHA1(7c2e8343360f446af4391012784a1ccfecae3299) ) - ROM_LOAD( "cm_2.bin", 0x1000, 0x1000, CRC(146b2c44) SHA1(80455396a9b1802fcefaec1340b76461c0601bf9) ) - ROM_LOAD( "cm_3.bin", 0x2000, 0x0800, CRC(73e1c945) SHA1(bcf2558958a30e5936f19ff53687f2316e0b822e) ) - - ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* 64k for sound code */ - ROM_LOAD( "cm_4.bin", 0x0000, 0x1000, CRC(923cffa1) SHA1(132822d20de2ad1ecc561e811ca40c5642500631) ) - - ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "cm_6.bin", 0x0000, 0x0800, CRC(476a7cc3) SHA1(3c343b0dcfb2f4cbec2f8b5854a303a1660fea22) ) - ROM_LOAD( "cm_5.bin", 0x0800, 0x0800, CRC(b3df2b5f) SHA1(519a0894d1794211659abeb6b2a2c610e6c2af25) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "checkman.clr", 0x0000, 0x0020, CRC(57a45057) SHA1(d4ec6a54f72640e5b485aa59e206c090e67ff640) ) -ROM_END - -ROM_START( dingo ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "003.e7", 0x0000, 0x1000, CRC(d088550f) SHA1(13b87995881e484825c45ab4e558ac3d90bf162a) ) - ROM_LOAD( "004.h7", 0x1000, 0x1000, CRC(a228446a) SHA1(4b7e611edd6bce308cc7b17caa068445f5438f4f) ) - ROM_LOAD( "005.j7", 0x2000, 0x0800, CRC(14d680bb) SHA1(e9d84d1a62ed5300c390a7326c16cebd0aceae3b) ) - - ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* 64k for sound code */ - ROM_LOAD( "6.7l", 0x0000, 0x1000, CRC(047092e0) SHA1(24014c999c904b4be571121b0f6808713d95add1) ) - - ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "001.h1", 0x0000, 0x0800, CRC(1ab1dd4d) SHA1(74ef2226e1f1d2583b0c7718325da193f411a97d) ) - ROM_LOAD( "002.k1", 0x0800, 0x0800, CRC(4be375ee) SHA1(7379b037887baca0f932d910f8f94f7edf39bb26) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "18s030.l6", 0x0000, 0x0020, CRC(3061d0f9) SHA1(5af85499c6219137dc57d9fba79cb5afa3548ab1) ) -ROM_END - -ROM_START( dingoe ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "unk.2b", 0x0000, 0x1000, CRC(0df7ac6d) SHA1(c1d45a7694848e66426c3510d0749c98e51571cb) ) - ROM_LOAD( "unk.2d", 0x1000, 0x1000, CRC(0881e204) SHA1(4ba59d73e04b5337cfbd68d6a708e7321cb629f1) ) - ROM_LOAD( "unk.3b", 0x2000, 0x1000, BAD_DUMP CRC(0b6aeab5) SHA1(ebfab3227dd23e3e1802b881a5662f634f86e382) ) // both halves identical (bad?) - - ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* 64k for sound code */ - ROM_LOAD( "unk.1c", 0x0000, 0x0800, CRC(8e354c38) SHA1(87608c1fa55e6fcf482f5d3bcc506a84673719cc) ) - ROM_LOAD( "unk.1d", 0x0800, 0x0800, CRC(092878d6) SHA1(8a3b25e27df5aee2023a7e1a193ab152df171ede) ) - - ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "unk.4d", 0x0000, 0x0800, CRC(76a00a56) SHA1(2a696b9ce3e148529c731231852dc104729bb916) ) - ROM_LOAD( "unk.4b", 0x0800, 0x0800, CRC(5acf57aa) SHA1(bb05be53728e7867085dad5854fcadfa687ff5d7) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "82s123n.001", 0x0000, 0x0020, CRC(02b11865) SHA1(70053db9635a9194e4372835379a82f6ea64ef83) ) /* Unknown */ -ROM_END - - -ROM_START( blkhole ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "bh1", 0x0000, 0x0800, CRC(64998819) SHA1(69fe5dfbe6cde18ef4cae62da12b5c692c2c72b9) ) - ROM_LOAD( "bh2", 0x0800, 0x0800, CRC(26f26ce4) SHA1(720ce7af05ef596fb9a109591534c74d282955e8) ) - ROM_LOAD( "bh3", 0x1000, 0x0800, CRC(3418bc45) SHA1(088bbbde66b7b5c36fa48cf14c22146e1444e67c) ) - ROM_LOAD( "bh4", 0x1800, 0x0800, CRC(735ff481) SHA1(d9b32db048a0e2a1195cd6f7326005e6622242a9) ) - ROM_LOAD( "bh5", 0x2000, 0x0800, CRC(3f657be9) SHA1(3ed1ee0bc199c1625156d2771eecd18a57a0e6ed) ) - ROM_LOAD( "bh6", 0x2800, 0x0800, CRC(a057ab35) SHA1(430261bafe20fc182e6e6659019cf42643e95d54) ) - - ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "bh7", 0x0000, 0x0800, CRC(975ba821) SHA1(c50d55f6ab81b803d67f5e18c1243ef85a1a2df1) ) - ROM_LOAD( "bh8", 0x0800, 0x0800, CRC(03d11020) SHA1(5768b573fac9aac168db2723462cca76d4d80552) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) -ROM_END - -ROM_START( mooncrst ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "mc1", 0x0000, 0x0800, CRC(7d954a7a) SHA1(a93ee403cfd7887538ad12d33f6dd6c71bea2a32) ) - ROM_LOAD( "mc2", 0x0800, 0x0800, CRC(44bb7cfa) SHA1(349c2e23a9fce73f95bb8168d369082fa129fe3d) ) - ROM_LOAD( "mc3", 0x1000, 0x0800, CRC(9c412104) SHA1(1b40054ebb1ace965a8522119bb23f09797bc5f6) ) - ROM_LOAD( "mc4", 0x1800, 0x0800, CRC(7e9b1ab5) SHA1(435f603c0c3e788a509dd144a7916a34e791ae44) ) - ROM_LOAD( "mc5.7r", 0x2000, 0x0800, CRC(16c759af) SHA1(3b48050411f65f9d3fb41ff22901e22d82bf1cf6) ) - ROM_LOAD( "mc6.8d", 0x2800, 0x0800, CRC(69bcafdb) SHA1(939c8c6ed1cd4660a3d99b8f17ed99cbd7e1352a) ) - ROM_LOAD( "mc7.8e", 0x3000, 0x0800, CRC(b50dbc46) SHA1(4fa084fd1ba5f78e7703e684c57af15ca7a844e4) ) - ROM_LOAD( "mc8", 0x3800, 0x0800, CRC(18ca312b) SHA1(39219059003b949e38305553fea2d33071062c64) ) - - ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "mcs_b", 0x0000, 0x0800, CRC(fb0f1f81) SHA1(38a6679a8b69bc1870a0e67e692131c42f9535c8) ) - ROM_LOAD( "mcs_d", 0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) ) - ROM_LOAD( "mcs_a", 0x1000, 0x0800, CRC(631ebb5a) SHA1(5bc9493afa76c55858b8c8849524cbc77dc838fc) ) - ROM_LOAD( "mcs_c", 0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */ -ROM_END - -ROM_START( mooncrsu ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "smc1f", 0x0000, 0x0800, CRC(389ca0d6) SHA1(51cf6d190a0ebf23b70c2bcf1ccaa4705e29cd09) ) - ROM_LOAD( "smc2f", 0x0800, 0x0800, CRC(410ab430) SHA1(d89abff6ac4afbf69377a1d63043d629a634aab7) ) - ROM_LOAD( "smc3f", 0x1000, 0x0800, CRC(a6b4144b) SHA1(2b27ad54d716286c0dc9476d47df182ae01bcfd7) ) - ROM_LOAD( "smc4f", 0x1800, 0x0800, CRC(4cc046fe) SHA1(465eaacd50967d768babadd09ab9cad35380f6bf) ) - ROM_LOAD( "e5", 0x2000, 0x0800, CRC(06d378a6) SHA1(99dbe9fc7f95f8fdce86eb5c32bd1ca1bea0ca3c) ) - ROM_LOAD( "bepr199", 0x2800, 0x0800, CRC(6e84a927) SHA1(82e8e825d157c3c947a3a222bca059a735169c7d) ) - ROM_LOAD( "e7", 0x3000, 0x0800, CRC(b45af1e8) SHA1(d7020774707234acdaef5c655f667d5ee9e54a13) ) - ROM_LOAD( "smc8f", 0x3800, 0x0800, CRC(f42164c5) SHA1(e0d1680f193889568edf005786e2767d4fb086f4) ) - - ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "mcs_b", 0x0000, 0x0800, CRC(fb0f1f81) SHA1(38a6679a8b69bc1870a0e67e692131c42f9535c8) ) - ROM_LOAD( "mcs_d", 0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) ) - ROM_LOAD( "mcs_a", 0x1000, 0x0800, CRC(631ebb5a) SHA1(5bc9493afa76c55858b8c8849524cbc77dc838fc) ) - ROM_LOAD( "mcs_c", 0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */ -ROM_END - -ROM_START( mooncrsa ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "mc1.7d", 0x0000, 0x0800, CRC(92a86aac) SHA1(f5818ac97d8b779e1fb29bf903f74185d24afb0d) ) - ROM_LOAD( "mc2.7e", 0x0800, 0x0800, CRC(438c2b4b) SHA1(11f56b489b5489999952e91919c5e1f622c59c36) ) - ROM_LOAD( "mc3.7j", 0x1000, 0x0800, CRC(67e3d21d) SHA1(59579d19931ef11b30fdc3912d838200bef92c81) ) - ROM_LOAD( "mc4.7p", 0x1800, 0x0800, CRC(f4db39f6) SHA1(454931f80b35608793590b3843c69ba64cbf6772) ) - ROM_LOAD( "mc5.7r", 0x2000, 0x0800, CRC(16c759af) SHA1(3b48050411f65f9d3fb41ff22901e22d82bf1cf6) ) - ROM_LOAD( "mc6.8d", 0x2800, 0x0800, CRC(69bcafdb) SHA1(939c8c6ed1cd4660a3d99b8f17ed99cbd7e1352a) ) - ROM_LOAD( "mc7.8e", 0x3000, 0x0800, CRC(b50dbc46) SHA1(4fa084fd1ba5f78e7703e684c57af15ca7a844e4) ) - ROM_LOAD( "mc8.8h", 0x3800, 0x0800, CRC(7e2b1928) SHA1(4f0de8e80c2e2ec6df8612755caf93671ea965b0) ) - - ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "mcs_b", 0x0000, 0x0800, CRC(fb0f1f81) SHA1(38a6679a8b69bc1870a0e67e692131c42f9535c8) ) - ROM_LOAD( "mcs_d", 0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) ) - ROM_LOAD( "mcs_a", 0x1000, 0x0800, CRC(631ebb5a) SHA1(5bc9493afa76c55858b8c8849524cbc77dc838fc) ) - ROM_LOAD( "mcs_c", 0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */ -ROM_END - -ROM_START( mooncrsg ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "epr194", 0x0000, 0x0800, CRC(0e5582b1) SHA1(946ad4aeb10c0b7b3f93fd24925cc9bcb49e443c) ) - ROM_LOAD( "epr195", 0x0800, 0x0800, CRC(12cb201b) SHA1(ebb01ec646b9e015cbcb93f70dfdaf448afefc12) ) - ROM_LOAD( "epr196", 0x1000, 0x0800, CRC(18255614) SHA1(b373e22d47c0f7facba13148ca9c462ec9a0d732) ) - ROM_LOAD( "epr197", 0x1800, 0x0800, CRC(05ac1466) SHA1(cbf93a8ce0925fa1c073c74f1274b190d9faefaf) ) - ROM_LOAD( "epr198", 0x2000, 0x0800, CRC(c28a2e8f) SHA1(9ff6bab1e1185597ba55cb0d6086091a1fce01a6) ) - ROM_LOAD( "epr199", 0x2800, 0x0800, CRC(5a4571de) SHA1(2a4170dee105922fc69c99b79f6f328098e81918) ) - ROM_LOAD( "epr200", 0x3000, 0x0800, CRC(b7c85bf1) SHA1(cc9f593658ea39c849d80c83ee0c2170cc29879e) ) - ROM_LOAD( "epr201", 0x3800, 0x0800, CRC(2caba07f) SHA1(8fec4904e12b4cfb6068784007278be986a3eede) ) - - ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "epr203", 0x0000, 0x0800, CRC(be26b561) SHA1(cc27de6888eaf4ee18c0d37d9bcb528dd282b838) ) - ROM_LOAD( "mcs_d", 0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) ) - ROM_LOAD( "epr202", 0x1000, 0x0800, CRC(26c7e800) SHA1(034192e5e2cbac4b66a9828f5ec2311c2c368781) ) - ROM_LOAD( "mcs_c", 0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */ -ROM_END - -ROM_START( smooncrs ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "927", 0x0000, 0x0800, CRC(55c5b994) SHA1(3451b121fa22361b2684385cf5d4455fa6963215) ) - ROM_LOAD( "928a", 0x0800, 0x0800, CRC(77ae26d3) SHA1(cbc16a024b73bedff76a6c47336d6ef098e92c53) ) - ROM_LOAD( "929", 0x1000, 0x0800, CRC(716eaa10) SHA1(780fc785e6651f19dc1a0ccf48cf9485d6562a71) ) - ROM_LOAD( "930", 0x1800, 0x0800, CRC(cea864f2) SHA1(aaaf9f8dd126dfb4a4f52f39863fee02a56a6485) ) - ROM_LOAD( "931", 0x2000, 0x0800, CRC(702c5f51) SHA1(5ba8d87c93c4810b8e7c2ad4ee376cd806e83686) ) - ROM_LOAD( "932a", 0x2800, 0x0800, CRC(e6a2039f) SHA1(f0f240dd8ac7cd2d9994cb7341b59d7a0a3eaf26) ) - ROM_LOAD( "933", 0x3000, 0x0800, CRC(73783cee) SHA1(69760e25ba22645572ec16b4f9136ee84ed0c766) ) - ROM_LOAD( "934", 0x3800, 0x0800, CRC(c1a14aa2) SHA1(99f6b01a0acd5e936d6ae61c13599db603b73191) ) - - ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "epr203", 0x0000, 0x0800, CRC(be26b561) SHA1(cc27de6888eaf4ee18c0d37d9bcb528dd282b838) ) - ROM_LOAD( "mcs_d", 0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) ) - ROM_LOAD( "epr202", 0x1000, 0x0800, CRC(26c7e800) SHA1(034192e5e2cbac4b66a9828f5ec2311c2c368781) ) - ROM_LOAD( "mcs_c", 0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */ -ROM_END - -ROM_START( mooncrsb ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "bepr194", 0x0000, 0x0800, CRC(6a23ec6d) SHA1(df2214bdde26a71db59ffd39a745052076563f65) ) - ROM_LOAD( "bepr195", 0x0800, 0x0800, CRC(ee262ff2) SHA1(4e2202023ad53109ea58304071735d2425a617f3) ) - ROM_LOAD( "f03.bin", 0x1000, 0x0800, CRC(29a2b0ab) SHA1(e9fc7161d0566e36307c45b7132e2262c0af4845) ) - ROM_LOAD( "f04.bin", 0x1800, 0x0800, CRC(4c6a5a6d) SHA1(366516f63c9b5239e703e4dfb672659049ddbf44) ) - ROM_LOAD( "e5", 0x2000, 0x0800, CRC(06d378a6) SHA1(99dbe9fc7f95f8fdce86eb5c32bd1ca1bea0ca3c) ) - ROM_LOAD( "bepr199", 0x2800, 0x0800, CRC(6e84a927) SHA1(82e8e825d157c3c947a3a222bca059a735169c7d) ) - ROM_LOAD( "e7", 0x3000, 0x0800, CRC(b45af1e8) SHA1(d7020774707234acdaef5c655f667d5ee9e54a13) ) - ROM_LOAD( "bepr201", 0x3800, 0x0800, CRC(66da55d5) SHA1(39e2f6107e77ee97860147f64b9673cd9a2ae612) ) - - ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "epr203", 0x0000, 0x0800, CRC(be26b561) SHA1(cc27de6888eaf4ee18c0d37d9bcb528dd282b838) ) - ROM_LOAD( "mcs_d", 0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) ) - ROM_LOAD( "epr202", 0x1000, 0x0800, CRC(26c7e800) SHA1(034192e5e2cbac4b66a9828f5ec2311c2c368781) ) - ROM_LOAD( "mcs_c", 0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */ -ROM_END - -ROM_START( mooncrs2 ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "f8.bin", 0x0000, 0x0800, CRC(d36003e5) SHA1(562b27f1bccce6ae29de18b93fa51c508446cda9) ) - ROM_LOAD( "bepr195", 0x0800, 0x0800, CRC(ee262ff2) SHA1(4e2202023ad53109ea58304071735d2425a617f3) ) - ROM_LOAD( "f03.bin", 0x1000, 0x0800, CRC(29a2b0ab) SHA1(e9fc7161d0566e36307c45b7132e2262c0af4845) ) - ROM_LOAD( "f04.bin", 0x1800, 0x0800, CRC(4c6a5a6d) SHA1(366516f63c9b5239e703e4dfb672659049ddbf44) ) - ROM_LOAD( "e5", 0x2000, 0x0800, CRC(06d378a6) SHA1(99dbe9fc7f95f8fdce86eb5c32bd1ca1bea0ca3c) ) - ROM_LOAD( "bepr199", 0x2800, 0x0800, CRC(6e84a927) SHA1(82e8e825d157c3c947a3a222bca059a735169c7d) ) - ROM_LOAD( "e7", 0x3000, 0x0800, CRC(b45af1e8) SHA1(d7020774707234acdaef5c655f667d5ee9e54a13) ) - ROM_LOAD( "m7.bin", 0x3800, 0x0800, CRC(957ee078) SHA1(472038dedfc01c995be889ea93d4df8bef2b874c) ) - - ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "1h_1_10.bin", 0x0000, 0x0800, CRC(528da705) SHA1(d726ee18b79774c982f88afb2a508eb5d5783193) ) - ROM_LOAD( "12.chr", 0x0800, 0x0200, CRC(5a4b17ea) SHA1(8a879dc34fdecc8a121c4a87abb981212fb05945) ) - ROM_CONTINUE( 0x0c00, 0x0200 ) /* this version of the gfx ROMs has two */ - ROM_CONTINUE( 0x0a00, 0x0200 ) /* groups of 16 sprites swapped */ - ROM_CONTINUE( 0x0e00, 0x0200 ) - ROM_LOAD( "1k_1_11.bin", 0x1000, 0x0800, CRC(4e79ff6b) SHA1(f72386a3766a7fcc7b4b8cedfa58b8d57f911f6f) ) - ROM_LOAD( "11.chr", 0x1800, 0x0200, CRC(e0edccbd) SHA1(0839a4c9b6e863d12253ae8e1732e80e08702228) ) - ROM_CONTINUE( 0x1c00, 0x0200 ) - ROM_CONTINUE( 0x1a00, 0x0200 ) - ROM_CONTINUE( 0x1e00, 0x0200 ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */ -ROM_END - -ROM_START( mooncrs3 ) /* Bootleg by Jeutel, very simular to Moon Cresta (bootleg set 2) */ - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "b1.7f", 0x0000, 0x0800, CRC(0b28cd8a) SHA1(a1aa0ec63e1dddf4263aa39f6a5fda93108b6e98) ) - ROM_CONTINUE( 0x2000, 0x0800 ) - ROM_LOAD( "b2.7h", 0x0800, 0x0800, CRC(74a6f0ca) SHA1(cc8e8193bb6bd62f6cb9ea924e4da5ddc44c4685) ) - ROM_CONTINUE( 0x2800, 0x0800 ) - ROM_LOAD( "b3.7j", 0x1000, 0x0800, CRC(eeb34cc9) SHA1(c5e7d5e1989211be949972e4281403b7b4866922) ) - ROM_CONTINUE( 0x3000, 0x0800 ) - ROM_LOAD( "b4.7k", 0x1800, 0x0800, CRC(714330e5) SHA1(c681752732c73a6c9bcc9acdcd5c978c455acba0) ) - ROM_CONTINUE( 0x3800, 0x0800 ) - - ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "o.1h", 0x0000, 0x0800, CRC(528da705) SHA1(d726ee18b79774c982f88afb2a508eb5d5783193) ) - ROM_LOAD( "q.1h", 0x0800, 0x0200, CRC(5a4b17ea) SHA1(8a879dc34fdecc8a121c4a87abb981212fb05945) ) - ROM_CONTINUE( 0x0c00, 0x0200 ) /* this version of the gfx ROMs has two */ - ROM_CONTINUE( 0x0a00, 0x0200 ) /* groups of 16 sprites swapped */ - ROM_CONTINUE( 0x0e00, 0x0200 ) - ROM_LOAD( "p.1k", 0x1000, 0x0800, CRC(4e79ff6b) SHA1(f72386a3766a7fcc7b4b8cedfa58b8d57f911f6f) ) - ROM_LOAD( "r.1k", 0x1800, 0x0200, CRC(e0edccbd) SHA1(0839a4c9b6e863d12253ae8e1732e80e08702228) ) - ROM_CONTINUE( 0x1c00, 0x0200 ) - ROM_CONTINUE( 0x1a00, 0x0200 ) - ROM_CONTINUE( 0x1e00, 0x0200 ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */ -ROM_END - - -ROM_START( mooncmw ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "60.1x", 0x0000, 0x0800, CRC(322859e6) SHA1(292dccb66c38c8de837ec3ac10928d092494958e) ) - ROM_LOAD( "61.2x", 0x0800, 0x0800, CRC(c249902d) SHA1(0015461173fb991fd99c824e0eab054c3c17d0f1) ) - ROM_LOAD( "62.3x", 0x1000, 0x0800, CRC(29a2b0ab) SHA1(e9fc7161d0566e36307c45b7132e2262c0af4845) ) - ROM_LOAD( "63.4x", 0x1800, 0x0800, CRC(4c6a5a6d) SHA1(366516f63c9b5239e703e4dfb672659049ddbf44) ) - ROM_LOAD( "64.5x", 0x2000, 0x0800, CRC(06d378a6) SHA1(99dbe9fc7f95f8fdce86eb5c32bd1ca1bea0ca3c) ) - ROM_LOAD( "65.6x", 0x2800, 0x0800, CRC(6e84a927) SHA1(82e8e825d157c3c947a3a222bca059a735169c7d) ) - ROM_LOAD( "66.7x", 0x3000, 0x0800, CRC(f23cd8ce) SHA1(a77e7eca239de6a72a8cabed6444ae8efb9e40bd) ) - ROM_LOAD( "67.8x", 0x3800, 0x0800, CRC(66da55d5) SHA1(39e2f6107e77ee97860147f64b9673cd9a2ae612) ) - - ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "68.1h", 0x0000, 0x1000, CRC(78663d86) SHA1(8648a3e60259404a05ad58b1641190e5b33a24eb) ) - ROM_LOAD( "69.1k", 0x1000, 0x1000, CRC(162c50d3) SHA1(67d9c87782cf29c443590d7ad687fbeaa6218346) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "prom-sn74s288n-71.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */ -ROM_END - -ROM_START( spcdrag ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "a.bin", 0x0000, 0x0800, CRC(38cc9839) SHA1(71c5853fc14a9c0b93e3b7660b925021680a0fe1) ) - ROM_LOAD( "b.bin", 0x0800, 0x0800, CRC(419fa8d6) SHA1(709b096d43c15cbfb98745e1f5e7c1bc921e3241) ) - ROM_LOAD( "c.bin", 0x1000, 0x0800, CRC(a1939def) SHA1(c9be93d325dde496d89e0735ec4e7abca932c0f6) ) - ROM_LOAD( "d.bin", 0x1800, 0x0800, CRC(cbcf17c5) SHA1(9aa3ca6dc30e4a19ed2bdb2be6ba90bde4cb7542) ) - ROM_LOAD( "em.bin", 0x2000, 0x0800, CRC(eb81c19c) SHA1(e5dd61704938c837b87a3155d54698482235c513) ) - ROM_LOAD( "fm.bin", 0x2800, 0x0800, CRC(757b7672) SHA1(d042e4bc17d2a8c9f1db55d57d5c235338cdb20c) ) - ROM_LOAD( "g.bin", 0x3000, 0x0800, CRC(57713b91) SHA1(ba01ed3f047ebbd0f9e6956e649bec0e8b730a45) ) - ROM_LOAD( "h.bin", 0x3800, 0x0800, CRC(159ad847) SHA1(9d46f380c868ac07964e571c54e800c683a6a679) ) - - ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "203.bin", 0x0000, 0x0800, CRC(a2e82527) SHA1(5e9236ba102728213b4651db984b3a169b4a0410) ) - ROM_LOAD( "172.bin", 0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) ) - ROM_LOAD( "202.bin", 0x1000, 0x0800, CRC(80c3ad74) SHA1(0fd2269543d123bd427f5a648a17f8bee65b20a2) ) - ROM_LOAD( "171.bin", 0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - // not present in this set - ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */ -ROM_END - -ROM_START( spcdraga ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "1.7g", 0x0000, 0x0800, CRC(38cc9839) SHA1(71c5853fc14a9c0b93e3b7660b925021680a0fe1) ) - ROM_LOAD( "2.7g", 0x0800, 0x0800, CRC(29e00ae4) SHA1(574bdfb621e084485e6621229cd569486831e4ba) ) - ROM_LOAD( "3.7g", 0x1000, 0x0800, CRC(a1939def) SHA1(c9be93d325dde496d89e0735ec4e7abca932c0f6) ) - ROM_LOAD( "4.7g", 0x1800, 0x0800, CRC(068f8830) SHA1(e12d590401878d9f2695e5c7aa38387ed9ccfb06) ) - ROM_LOAD( "5.10g", 0x2000, 0x0800, CRC(32cd9adc) SHA1(3143690712465d092d6c63f4826f220839d78958) ) - ROM_LOAD( "6.10g", 0x2800, 0x0800, CRC(50db67c5) SHA1(69ad219332ac0d9f4e328b314f7bdc34d5599393) ) - ROM_LOAD( "7.10g", 0x3000, 0x0800, CRC(22415271) SHA1(60b1ca2dc044c0863c6f38280a3bd0ff9397c869) ) - ROM_LOAD( "8.10g", 0x3800, 0x0800, CRC(159ad847) SHA1(9d46f380c868ac07964e571c54e800c683a6a679) ) - - ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "a2.7a", 0x0000, 0x0800, CRC(38b042dd) SHA1(bd452dae4cbc22a900cf783f84d1f9d8cb1218f9) ) - ROM_LOAD( "a4.7a", 0x0800, 0x0200, CRC(5a4b17ea) SHA1(8a879dc34fdecc8a121c4a87abb981212fb05945) ) - ROM_CONTINUE( 0x0c00, 0x0200 ) /* this version of the gfx ROMs has two */ - ROM_CONTINUE( 0x0a00, 0x0200 ) /* groups of 16 sprites swapped */ - ROM_CONTINUE( 0x0e00, 0x0200 ) - ROM_LOAD( "a1.9a", 0x1000, 0x0800, CRC(24441ab3) SHA1(8c9d2bd062cb2360f3dd3df2d7d212e9485f91ad) ) - ROM_LOAD( "a3.9a", 0x1800, 0x0200, CRC(e0edccbd) SHA1(0839a4c9b6e863d12253ae8e1732e80e08702228) ) - ROM_CONTINUE( 0x1c00, 0x0200 ) - ROM_CONTINUE( 0x1a00, 0x0200 ) - ROM_CONTINUE( 0x1e00, 0x0200 ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - // not present in this set - ROM_LOAD( "prom_6331.10f", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */ -ROM_END - - -ROM_START( fantazia ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "f01.bin", 0x0000, 0x0800, CRC(d3e23863) SHA1(f0a6f7491fdf8aae214f40078b29b7aecdcf2f1e) ) - ROM_LOAD( "f02.bin", 0x0800, 0x0800, CRC(63fa4149) SHA1(603ee6d4d2952cc08b3f6e98b1a2053671875e44) ) - ROM_LOAD( "f03.bin", 0x1000, 0x0800, CRC(29a2b0ab) SHA1(e9fc7161d0566e36307c45b7132e2262c0af4845) ) - ROM_LOAD( "f04.bin", 0x1800, 0x0800, CRC(4c6a5a6d) SHA1(366516f63c9b5239e703e4dfb672659049ddbf44) ) - ROM_LOAD( "f09.bin", 0x2000, 0x0800, CRC(75fd5ca1) SHA1(45f2dd33f0e437cb95d9373f86490e5432338737) ) - ROM_LOAD( "f10.bin", 0x2800, 0x0800, CRC(e4da2dd4) SHA1(7a53efd5b583f656c87b7d7a5ba7c239ced7d87b) ) - ROM_LOAD( "f11.bin", 0x3000, 0x0800, CRC(42869646) SHA1(a3640b2ace31ce99c056bc14d1d96f3404698d6a) ) - ROM_LOAD( "f12.bin", 0x3800, 0x0800, CRC(a48d7fb0) SHA1(6206036a9d85e87fb7f8a88c17bfe090fc70caf4) ) - - ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "1h_1_10.bin", 0x0000, 0x0800, CRC(528da705) SHA1(d726ee18b79774c982f88afb2a508eb5d5783193) ) - ROM_LOAD( "mcs_d", 0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) ) - ROM_LOAD( "1k_1_11.bin", 0x1000, 0x0800, CRC(4e79ff6b) SHA1(f72386a3766a7fcc7b4b8cedfa58b8d57f911f6f) ) - ROM_LOAD( "mcs_c", 0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "fantazia.clr", 0x0000, 0x0020, CRC(a84ff0af) SHA1(c300dc937c608d2d1c113ca7a53c649472c72379) ) -ROM_END - -ROM_START( eagle ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "e1", 0x0000, 0x0800, CRC(224c9526) SHA1(4c014d60d4ee80de7f60b4609269461688c181d0) ) - ROM_LOAD( "e2", 0x0800, 0x0800, CRC(cc538ebd) SHA1(4ef3c7363e2dcd9ed99779039ccc50a9f2084dbd) ) - ROM_LOAD( "f03.bin", 0x1000, 0x0800, CRC(29a2b0ab) SHA1(e9fc7161d0566e36307c45b7132e2262c0af4845) ) - ROM_LOAD( "f04.bin", 0x1800, 0x0800, CRC(4c6a5a6d) SHA1(366516f63c9b5239e703e4dfb672659049ddbf44) ) - ROM_LOAD( "e5", 0x2000, 0x0800, CRC(06d378a6) SHA1(99dbe9fc7f95f8fdce86eb5c32bd1ca1bea0ca3c) ) - ROM_LOAD( "e6", 0x2800, 0x0800, CRC(0dea20d5) SHA1(405b51d4e3b1065f78afd2297e075e977ae19196) ) - ROM_LOAD( "e7", 0x3000, 0x0800, CRC(b45af1e8) SHA1(d7020774707234acdaef5c655f667d5ee9e54a13) ) - ROM_LOAD( "e8", 0x3800, 0x0800, CRC(c437a876) SHA1(845941b873970ac62ba9bb6353bee53d0fcfa292) ) - - ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "e10", 0x0000, 0x0800, CRC(40ce58bf) SHA1(67ea99e1afe4fff3e17252b22d11d3c96a416041) ) - ROM_LOAD( "e12", 0x0800, 0x0200, CRC(628fdeed) SHA1(a798530c65e639fbf00ed3a4e8c428935bf5f38e) ) - ROM_CONTINUE( 0x0c00, 0x0200 ) /* this version of the gfx ROMs has two */ - ROM_CONTINUE( 0x0a00, 0x0200 ) /* groups of 16 sprites swapped */ - ROM_CONTINUE( 0x0e00, 0x0200 ) - ROM_LOAD( "e9", 0x1000, 0x0800, CRC(ba664099) SHA1(9509123bed02a9d47f2c056e1562b80206da5579) ) - ROM_LOAD( "e11", 0x1800, 0x0200, CRC(ee4ec5fd) SHA1(bf08b3f111f780dc8c81275e4e6247388183a8da) ) - ROM_CONTINUE( 0x1c00, 0x0200 ) - ROM_CONTINUE( 0x1a00, 0x0200 ) - ROM_CONTINUE( 0x1e00, 0x0200 ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) -ROM_END - -ROM_START( eagle2 ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "e1.7f", 0x0000, 0x0800, CRC(45aab7a3) SHA1(52ae0463f363dc0964b976faa2c0c428d85a4f12) ) - ROM_LOAD( "e2", 0x0800, 0x0800, CRC(cc538ebd) SHA1(4ef3c7363e2dcd9ed99779039ccc50a9f2084dbd) ) - ROM_LOAD( "f03.bin", 0x1000, 0x0800, CRC(29a2b0ab) SHA1(e9fc7161d0566e36307c45b7132e2262c0af4845) ) - ROM_LOAD( "f04.bin", 0x1800, 0x0800, CRC(4c6a5a6d) SHA1(366516f63c9b5239e703e4dfb672659049ddbf44) ) - ROM_LOAD( "e5", 0x2000, 0x0800, CRC(06d378a6) SHA1(99dbe9fc7f95f8fdce86eb5c32bd1ca1bea0ca3c) ) - ROM_LOAD( "e6.6", 0x2800, 0x0800, CRC(9f09f8c6) SHA1(47c600629e02357389dd78c7fcaec862e0da4ef0) ) - ROM_LOAD( "e7", 0x3000, 0x0800, CRC(b45af1e8) SHA1(d7020774707234acdaef5c655f667d5ee9e54a13) ) - ROM_LOAD( "e8", 0x3800, 0x0800, CRC(c437a876) SHA1(845941b873970ac62ba9bb6353bee53d0fcfa292) ) - - ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "e10.2", 0x0000, 0x0800, CRC(25b38ebd) SHA1(f679c2f2cb5892680fec102fafbdfeae156ce373) ) - ROM_LOAD( "e12", 0x0800, 0x0200, CRC(628fdeed) SHA1(a798530c65e639fbf00ed3a4e8c428935bf5f38e) ) - ROM_CONTINUE( 0x0c00, 0x0200 ) /* this version of the gfx ROMs has two */ - ROM_CONTINUE( 0x0a00, 0x0200 ) /* groups of 16 sprites swapped */ - ROM_CONTINUE( 0x0e00, 0x0200 ) - ROM_LOAD( "e9", 0x1000, 0x0800, CRC(ba664099) SHA1(9509123bed02a9d47f2c056e1562b80206da5579) ) - ROM_LOAD( "e11", 0x1800, 0x0200, CRC(ee4ec5fd) SHA1(bf08b3f111f780dc8c81275e4e6247388183a8da) ) - ROM_CONTINUE( 0x1c00, 0x0200 ) - ROM_CONTINUE( 0x1a00, 0x0200 ) - ROM_CONTINUE( 0x1e00, 0x0200 ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) -ROM_END - -ROM_START( eagle3 ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "e1", 0x0000, 0x0800, CRC(224c9526) SHA1(4c014d60d4ee80de7f60b4609269461688c181d0) ) - ROM_LOAD( "e2", 0x0800, 0x0800, CRC(cc538ebd) SHA1(4ef3c7363e2dcd9ed99779039ccc50a9f2084dbd) ) - ROM_LOAD( "f03.bin", 0x1000, 0x0800, CRC(29a2b0ab) SHA1(e9fc7161d0566e36307c45b7132e2262c0af4845) ) - ROM_LOAD( "f04.bin", 0x1800, 0x0800, CRC(4c6a5a6d) SHA1(366516f63c9b5239e703e4dfb672659049ddbf44) ) - ROM_LOAD( "e5", 0x2000, 0x0800, CRC(06d378a6) SHA1(99dbe9fc7f95f8fdce86eb5c32bd1ca1bea0ca3c) ) - ROM_LOAD( "e6", 0x2800, 0x0800, CRC(0dea20d5) SHA1(405b51d4e3b1065f78afd2297e075e977ae19196) ) - ROM_LOAD( "e7", 0x3000, 0x0800, CRC(b45af1e8) SHA1(d7020774707234acdaef5c655f667d5ee9e54a13) ) - ROM_LOAD( "e8", 0x3800, 0x0800, CRC(c437a876) SHA1(845941b873970ac62ba9bb6353bee53d0fcfa292) ) - - ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "e10a", 0x0000, 0x0800, CRC(e3c63d4c) SHA1(ad2b22e316da6bb819c58934d51cd4b2819b18f0) ) - ROM_LOAD( "e12", 0x0800, 0x0200, CRC(628fdeed) SHA1(a798530c65e639fbf00ed3a4e8c428935bf5f38e) ) - ROM_CONTINUE( 0x0c00, 0x0200 ) /* this version of the gfx ROMs has two */ - ROM_CONTINUE( 0x0a00, 0x0200 ) /* groups of 16 sprites swapped */ - ROM_CONTINUE( 0x0e00, 0x0200 ) - ROM_LOAD( "e9a", 0x1000, 0x0800, CRC(59429e47) SHA1(b7629c81d122fd1e4d390aa7abba44df898387d3) ) - ROM_LOAD( "e11", 0x1800, 0x0200, CRC(ee4ec5fd) SHA1(bf08b3f111f780dc8c81275e4e6247388183a8da) ) - ROM_CONTINUE( 0x1c00, 0x0200 ) - ROM_CONTINUE( 0x1a00, 0x0200 ) - ROM_CONTINUE( 0x1e00, 0x0200 ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) -ROM_END - -ROM_START( spctbird ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "tssa-7f", 0x0000, 0x0800, CRC(45aab7a3) SHA1(52ae0463f363dc0964b976faa2c0c428d85a4f12) ) - ROM_LOAD( "tssa-7h", 0x0800, 0x0800, CRC(8b328f48) SHA1(d4f549e90e0bf1f546e2c3dc5a5a16e0415e709e) ) - ROM_LOAD( "tssa-7k", 0x1000, 0x0800, CRC(29a2b0ab) SHA1(e9fc7161d0566e36307c45b7132e2262c0af4845) ) - ROM_LOAD( "tssa-7m", 0x1800, 0x0800, CRC(99c9166d) SHA1(c108d84330bc958ff2812dc807e68c246a5a5ad5) ) - ROM_LOAD( "tssa-5", 0x2000, 0x0800, CRC(797b6261) SHA1(9a60e504e2aa0201b7311485c0dd411bbe2dc70b) ) - ROM_LOAD( "tssa-6", 0x2800, 0x0800, CRC(4825692c) SHA1(41a7e305c3d93f2245fb0413398d951eab9d16c0) ) - ROM_LOAD( "tssa-7", 0x3000, 0x0800, CRC(b45af1e8) SHA1(d7020774707234acdaef5c655f667d5ee9e54a13) ) - ROM_LOAD( "tssa-8", 0x3800, 0x0800, CRC(c9b77b85) SHA1(00797f126b4cdacd9ec2df7e747aa1892933b8b8) ) - - ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "tssb-2", 0x0000, 0x0800, CRC(7d23e1f2) SHA1(6902e44ff6f805a8d589c57b236e471b7fb609f8) ) - ROM_LOAD( "tssb-4", 0x0800, 0x0200, CRC(e4977833) SHA1(85aca9bccc6c1a5a2d792a9c4a77ee1b114934c9) ) - ROM_CONTINUE( 0x0c00, 0x0200 ) - ROM_CONTINUE( 0x0a00, 0x0200 ) - ROM_CONTINUE( 0x0e00, 0x0200 ) - ROM_LOAD( "tssb-1", 0x1000, 0x0800, CRC(9b9267c3) SHA1(2bbbff7a8a2d3e4524634de5e1c5a2426612c18f) ) - ROM_LOAD( "tssb-3", 0x1800, 0x0200, CRC(5ca5e233) SHA1(2115faecd07940547d0ee09776da6fcb1a008287) ) - ROM_CONTINUE( 0x1c00, 0x0200 ) - ROM_CONTINUE( 0x1a00, 0x0200 ) - ROM_CONTINUE( 0x1e00, 0x0200 ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) -ROM_END - -ROM_START( skybase ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "skybase.9a", 0x0000, 0x1000, CRC(845b87a5) SHA1(8a249c1ec921532cb1bb85ed7fec11396634ca38) ) - ROM_LOAD( "skybase.8a", 0x1000, 0x1000, CRC(096785c2) SHA1(a0833bc1984e1f198587195e58b6fed6657922bd) ) - ROM_LOAD( "skybase.7a", 0x2000, 0x1000, CRC(d50c715b) SHA1(3d0fa15514b210bccd4aeed06540122a4f56fd7a) ) - ROM_LOAD( "skybase.6a", 0x3000, 0x1000, CRC(f57edb27) SHA1(4b5c376017700315345241fad96c00478a14fc8f) ) - ROM_LOAD( "skybase.5a", 0x4000, 0x1000, CRC(50365d95) SHA1(9b3d360c9d1df0ebf047bef1b30765ea9bb42b42) ) - ROM_LOAD( "skybase.4a", 0x5000, 0x1000, CRC(cbd6647f) SHA1(7a167c9df6b5f3346c37e5c45d0680b0b29852a6) ) - - ROM_REGION( 0x4000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "skybase.7t", 0x0000, 0x1000, CRC(9b471686) SHA1(b35831daa8ce57e498c2c4f75763a74c340cfaf0) ) - ROM_LOAD( "skybase.8t", 0x1000, 0x1000, CRC(1cf723da) SHA1(f2e41ab89413298571626d13b2b5853eb35dcb96) ) - ROM_LOAD( "skybase.10t", 0x2000, 0x1000, CRC(fe02e72c) SHA1(bf7c078e984b13dcc12d529904f1096d65e41bec) ) - ROM_LOAD( "skybase.9t", 0x3000, 0x1000, CRC(0871291f) SHA1(2e4e802316b55711bcfeb48d84bacd11afff8cb3) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "82s123.bpr", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Color prom */ -ROM_END - -ROM_START( moonqsr ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "mq1", 0x0000, 0x0800, CRC(132c13ec) SHA1(d95166b025442f184e44a70312fb3b4f6366f324) ) - ROM_LOAD( "mq2", 0x0800, 0x0800, CRC(c8eb74f1) SHA1(4efa85c40349852da47a0f725ae06873efe4ce1c) ) - ROM_LOAD( "mq3", 0x1000, 0x0800, CRC(33965a89) SHA1(92912cea76a472d9b709c664d9818844a07fcc32) ) - ROM_LOAD( "mq4", 0x1800, 0x0800, CRC(a3861d17) SHA1(d7037d93b7838ccdd9a6a1a1476571cfa869fca1) ) - ROM_LOAD( "mq5", 0x2000, 0x0800, CRC(8bcf9c67) SHA1(7af0d9308d20c52675301acf5d1a5d62358352a6) ) - ROM_LOAD( "mq6", 0x2800, 0x0800, CRC(5750cda9) SHA1(17c2bc38037833fdb8923d4a2262264386ef916b) ) - ROM_LOAD( "mq7", 0x3000, 0x0800, CRC(78d7fe5b) SHA1(4085562a0af94c65dad2a3550409727e597c0d5b) ) - ROM_LOAD( "mq8", 0x3800, 0x0800, CRC(4919eed5) SHA1(526aaedd25e0f7c525eb7c66519218ae09b0407e) ) - - ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) - - ROM_LOAD( "mqb", 0x0000, 0x0800, CRC(b55ec806) SHA1(fb52e53dfa3ae9dec162622d22de9cfdb0b5f9d6) ) - ROM_LOAD( "mqd", 0x0800, 0x0800, CRC(9e7d0e13) SHA1(18951080d307ac13344f89745f671595e26d282c) ) - ROM_LOAD( "mqa", 0x1000, 0x0800, CRC(66eee0db) SHA1(eeb08efd226e15e248999558240488ffd0e39688) ) - ROM_LOAD( "mqc", 0x1800, 0x0800, CRC(a6db5b0d) SHA1(476e197df047e991d2ea3c1fad92c799510f1647) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "vid_e6.bin", 0x0000, 0x0020, CRC(0b878b54) SHA1(3667aca564ebfef5b88d7f74fabbd16dd23183b4) ) -ROM_END - -ROM_START( moonal2 ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "ali1", 0x0000, 0x0400, CRC(0dcecab4) SHA1(493628640de1a7e3bb9914ee3459b74cedc599fd) ) - ROM_LOAD( "ali2", 0x0400, 0x0400, CRC(c6ee75a7) SHA1(36503351380f7638069637c22bd06da06da54a1c) ) - ROM_LOAD( "ali3", 0x0800, 0x0400, CRC(cd1be7e9) SHA1(684f1923090f0d53338705f6972778712e27577f) ) - ROM_LOAD( "ali4", 0x0c00, 0x0400, CRC(83b03f08) SHA1(a1fd422051aa7f17f857188b503031cce3fdc275) ) - ROM_LOAD( "ali5", 0x1000, 0x0400, CRC(6f3cf61d) SHA1(e238ed6f9c0813f0177abe9090e29562529eeef8) ) - ROM_LOAD( "ali6", 0x1400, 0x0400, CRC(e169d432) SHA1(a5189d7322a240863afee7ac0ecf68599498cb87) ) - ROM_LOAD( "ali7", 0x1800, 0x0400, CRC(41f64b73) SHA1(dff786a74575da9fbaca3ac610ad2f367983c7fc) ) - ROM_LOAD( "ali8", 0x1c00, 0x0400, CRC(f72ee876) SHA1(8e50a516f10d77652ff3692bb85adb66bc128e26) ) - ROM_LOAD( "ali9", 0x2000, 0x0400, CRC(b7fb763c) SHA1(4e7c4995f52dec2ea61424c79d79797933dad604) ) - ROM_LOAD( "ali10", 0x2400, 0x0400, CRC(b1059179) SHA1(86de04c82a7604cb57958a52d5585837481f94a5) ) - ROM_LOAD( "ali11", 0x2800, 0x0400, CRC(9e79a1c6) SHA1(2f59e3a2a81a224b163b23bd2c184385f64e1565) ) - - ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "ali13.1h", 0x0000, 0x0800, CRC(a1287bf6) SHA1(eeeaba4b9e186454a5e2f1c26e333e8fccd97af8) ) - ROM_RELOAD( 0x0800, 0x0800 ) - ROM_LOAD( "ali12.1k", 0x1000, 0x0800, CRC(528f1481) SHA1(e266a75c3109bcfa2a0394f2ed0ac136fc3158ba) ) - ROM_RELOAD( 0x1800, 0x0800 ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) -ROM_END - -ROM_START( moonal2b ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "ali1", 0x0000, 0x0400, CRC(0dcecab4) SHA1(493628640de1a7e3bb9914ee3459b74cedc599fd) ) - ROM_LOAD( "ali2", 0x0400, 0x0400, CRC(c6ee75a7) SHA1(36503351380f7638069637c22bd06da06da54a1c) ) - ROM_LOAD( "md-2", 0x0800, 0x0800, CRC(8318b187) SHA1(75bb113db1111cd2a335139fa6cb94d9522f5860) ) - ROM_LOAD( "ali5", 0x1000, 0x0400, CRC(6f3cf61d) SHA1(e238ed6f9c0813f0177abe9090e29562529eeef8) ) - ROM_LOAD( "ali6", 0x1400, 0x0400, CRC(e169d432) SHA1(a5189d7322a240863afee7ac0ecf68599498cb87) ) - ROM_LOAD( "ali7", 0x1800, 0x0400, CRC(41f64b73) SHA1(dff786a74575da9fbaca3ac610ad2f367983c7fc) ) - ROM_LOAD( "ali8", 0x1c00, 0x0400, CRC(f72ee876) SHA1(8e50a516f10d77652ff3692bb85adb66bc128e26) ) - ROM_LOAD( "ali9", 0x2000, 0x0400, CRC(b7fb763c) SHA1(4e7c4995f52dec2ea61424c79d79797933dad604) ) - ROM_LOAD( "ali10", 0x2400, 0x0400, CRC(b1059179) SHA1(86de04c82a7604cb57958a52d5585837481f94a5) ) - ROM_LOAD( "md-6", 0x2800, 0x0800, CRC(9cc973e0) SHA1(8d96448794e0869036a3fac7f7fbcad459149a98) ) - - ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "ali13.1h", 0x0000, 0x0800, CRC(a1287bf6) SHA1(eeeaba4b9e186454a5e2f1c26e333e8fccd97af8) ) - ROM_RELOAD( 0x0800, 0x0800 ) - ROM_LOAD( "ali12.1k", 0x1000, 0x0800, CRC(528f1481) SHA1(e266a75c3109bcfa2a0394f2ed0ac136fc3158ba) ) - ROM_RELOAD( 0x1800, 0x0800 ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) -ROM_END - -ROM_START( supergx ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "sg1", 0x0000, 0x0800, CRC(b83f4578) SHA1(9a5d5fc291839f7f1e0a52cca7bea29e99c13315) ) - ROM_LOAD( "sg2", 0x0800, 0x0800, CRC(d12ca054) SHA1(8eb7f6904c3c650bfa80908a5988622d5e693bd1) ) - ROM_LOAD( "sg3", 0x1000, 0x0800, CRC(53714cb1) SHA1(7dffcd3ced1c3354339bb69477f8aa4c708708db) ) - ROM_LOAD( "sg4", 0x1800, 0x0800, CRC(2f36fc69) SHA1(d310dcb0a79b03ee26b0575db9cba6d920cb9273) ) - ROM_LOAD( "sg5", 0x2000, 0x0800, CRC(1e0ed4fd) SHA1(183d8990dbff1954921f8c5b67cec09f2d380794) ) - ROM_LOAD( "sg6", 0x2800, 0x0800, BAD_DUMP CRC(4f3d97a8) SHA1(b9fcab182ab57e8374fef93f7fd314a155a8d04d) ) - - ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "sgg1", 0x0000, 0x0800, CRC(a1287bf6) SHA1(eeeaba4b9e186454a5e2f1c26e333e8fccd97af8) ) - ROM_RELOAD( 0x0800, 0x0800 ) - ROM_LOAD( "sgg2", 0x1000, 0x0800, CRC(528f1481) SHA1(e266a75c3109bcfa2a0394f2ed0ac136fc3158ba) ) - ROM_RELOAD( 0x1800, 0x0800 ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "supergx.prm", 0x0000, 0x0020, NO_DUMP ) -ROM_END - -ROM_START( mshuttle ) - ROM_REGION( 2*0x10000, REGION_CPU1, 0 ) /* 64k for code + 64k for decrypted opcodes */ - ROM_LOAD( "my05", 0x0000, 0x1000, CRC(83574af1) SHA1(d69c2a0538a49d6c72c3346ac4e3959d91da6c98) ) - ROM_LOAD( "my04", 0x1000, 0x1000, CRC(1cfae2c8) SHA1(6c7eeee70e91b8498c41525dcc60f8086cff8da7) ) - ROM_LOAD( "my03", 0x2000, 0x1000, CRC(c8b8a368) SHA1(140ba60f55285d1e9f7a262634f5ce5c3470ab71) ) - ROM_LOAD( "my02", 0x3000, 0x1000, CRC(b6aeee6e) SHA1(032af7000aebe9d34319231cdb3f2fe5de7158ba) ) - ROM_LOAD( "my01", 0x4000, 0x1000, CRC(def82adc) SHA1(2fb963299468c52d50b7460b55bf69c9659ee21d) ) - - ROM_REGION( 0x4000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "my09", 0x0000, 0x1000, CRC(3601b380) SHA1(c0b9d1801f58a16449708d514d2fd88e34af340b) ) - ROM_LOAD( "my11", 0x1000, 0x0800, CRC(b659e932) SHA1(3f63c99e81cb93c9553a5e274546525f598d50c4) ) - ROM_LOAD( "my08", 0x2000, 0x1000, CRC(992b06cd) SHA1(8645ccad8169601bbe25b9f2b17b99004c0a584f) ) - ROM_LOAD( "my10", 0x3000, 0x0800, CRC(d860e6ce) SHA1(2912d13bf69496f8f18358a36366a1f60afd0070) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "mscprom1.bin", 0x0000, 0x0020, CRC(ea0d1af0) SHA1(cb59e04c02307dfe847e3170cf0a7f62829b6094) ) - - ROM_REGION( 0x2000, REGION_SOUND1, 0 ) /* samples */ - ROM_LOAD( "my07", 0x0000, 0x1000, CRC(522a2920) SHA1(a64d821a8ff6bd6e2b0bdb1e632181e65a97363b) ) - ROM_LOAD( "my06", 0x1000, 0x1000, CRC(466415f2) SHA1(a05f8238cdcebe926a564ef6268b3cd677987fa2) ) -ROM_END - -ROM_START( mshuttlj ) - ROM_REGION( 2*0x10000, REGION_CPU1, 0 ) /* 64k for code + 64k for decrypted opcodes */ - ROM_LOAD( "mcs.5", 0x0000, 0x1000, CRC(a5a292b4) SHA1(b4e9d969c762f4114eba88051917df122fc7181f) ) - ROM_LOAD( "mcs.4", 0x1000, 0x1000, CRC(acdc0f9e) SHA1(8cd6d6566fe3f4090ccb625c3c1e5850a371826f) ) - ROM_LOAD( "mcs.3", 0x2000, 0x1000, CRC(c1e3f5d8) SHA1(d3af89d485b1ca21ac879dbe15490dcd1cd64f2a) ) - ROM_LOAD( "mcs.2", 0x3000, 0x1000, CRC(14577703) SHA1(51537982dd06ba44e95e4c7d1f7fa41ff186421d) ) - - ROM_LOAD( "mcs.1", 0x4000, 0x1000, CRC(27d46772) SHA1(848a47ba30823a55933bb55792991f0535078f0c) ) - - ROM_REGION( 0x4000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "my09", 0x0000, 0x1000, CRC(3601b380) SHA1(c0b9d1801f58a16449708d514d2fd88e34af340b) ) - ROM_LOAD( "my11", 0x1000, 0x0800, CRC(b659e932) SHA1(3f63c99e81cb93c9553a5e274546525f598d50c4) ) - ROM_LOAD( "my08", 0x2000, 0x1000, CRC(992b06cd) SHA1(8645ccad8169601bbe25b9f2b17b99004c0a584f) ) - ROM_LOAD( "my10", 0x3000, 0x0800, CRC(d860e6ce) SHA1(2912d13bf69496f8f18358a36366a1f60afd0070) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "mscprom1.bin", 0x0000, 0x0020, CRC(ea0d1af0) SHA1(cb59e04c02307dfe847e3170cf0a7f62829b6094) ) - - ROM_REGION( 0x2000, REGION_SOUND1, 0 ) /* samples */ - ROM_LOAD( "my07", 0x0000, 0x1000, CRC(522a2920) SHA1(a64d821a8ff6bd6e2b0bdb1e632181e65a97363b) ) - ROM_LOAD( "my06", 0x1000, 0x1000, CRC(466415f2) SHA1(a05f8238cdcebe926a564ef6268b3cd677987fa2) ) -ROM_END - -ROM_START( mshutlj2 ) - ROM_REGION( 2*0x10000, REGION_CPU1, 0 ) /* 64k for code + 64k for decrypted opcodes */ - ROM_LOAD( "ali5.bin", 0x0000, 0x1000, CRC(320fe630) SHA1(df4fe25989783c8851f41c9b4b63dedfa365c1e9) ) - ROM_LOAD( "mcs.4", 0x1000, 0x1000, CRC(acdc0f9e) SHA1(8cd6d6566fe3f4090ccb625c3c1e5850a371826f) ) - ROM_LOAD( "mcs.3", 0x2000, 0x1000, CRC(c1e3f5d8) SHA1(d3af89d485b1ca21ac879dbe15490dcd1cd64f2a) ) - ROM_LOAD( "ali2.bin", 0x3000, 0x1000, CRC(9ed169e1) SHA1(75a24d0fcbdfc7c4e6fa0d8c7f8b4a3bccaa4439) ) - - ROM_LOAD( "ali1.bin", 0x4000, 0x1000, CRC(7f8a52d9) SHA1(4e62f6265289bae1a46e60cdd3230e188b2aec3c) ) - - ROM_REGION( 0x4000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "my09", 0x0000, 0x1000, CRC(3601b380) SHA1(c0b9d1801f58a16449708d514d2fd88e34af340b) ) - ROM_LOAD( "my11", 0x1000, 0x0800, CRC(b659e932) SHA1(3f63c99e81cb93c9553a5e274546525f598d50c4) ) - ROM_LOAD( "my08", 0x2000, 0x1000, CRC(992b06cd) SHA1(8645ccad8169601bbe25b9f2b17b99004c0a584f) ) - ROM_LOAD( "my10", 0x3000, 0x0800, CRC(d860e6ce) SHA1(2912d13bf69496f8f18358a36366a1f60afd0070) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "mscprom1.bin", 0x0000, 0x0020, CRC(ea0d1af0) SHA1(cb59e04c02307dfe847e3170cf0a7f62829b6094) ) - - ROM_REGION( 0x2000, REGION_SOUND1, 0 ) /* samples */ - ROM_LOAD( "my07", 0x0000, 0x1000, CRC(522a2920) SHA1(a64d821a8ff6bd6e2b0bdb1e632181e65a97363b) ) - ROM_LOAD( "my06", 0x1000, 0x1000, CRC(466415f2) SHA1(a05f8238cdcebe926a564ef6268b3cd677987fa2) ) -ROM_END - -ROM_START( kingball ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "prg1.7f", 0x0000, 0x1000, CRC(6cb49046) SHA1(a0891605dff7f9ff51bc7ad85f831a749f2f61e9) ) - ROM_LOAD( "prg2.7j", 0x1000, 0x1000, CRC(c223b416) SHA1(ca2d9f6b8ef6db4f382089161f4147d9828c3554) ) - ROM_LOAD( "prg3.7l", 0x2000, 0x0800, CRC(453634c0) SHA1(0025ccd91e165692092a37541e730010e85e37f2) ) - - ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* 64k for sound code */ - ROM_LOAD( "kbe1.ic4", 0x0000, 0x0800, CRC(5be2c80a) SHA1(f719a80357bed3d66bce40569690f419740148c5) ) - ROM_LOAD( "kbe2.ic5", 0x0800, 0x0800, CRC(bb59e965) SHA1(830e0c415f051e932d76df604025e4e33118a799) ) - ROM_LOAD( "kbe3.ic6", 0x1000, 0x0800, CRC(1c94dd31) SHA1(14ab59b8eee741eb1f10ae99ddb99bf7c2dab957) ) - ROM_LOAD( "kbe2.ic7", 0x1800, 0x0800, CRC(bb59e965) SHA1(830e0c415f051e932d76df604025e4e33118a799) ) - - ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "chg1.1h", 0x0000, 0x0800, CRC(9cd550e7) SHA1(d2989e6b7a4d7b37a711ef1cfb536fe13e0c5482) ) - ROM_RELOAD( 0x0800, 0x0800 ) - ROM_LOAD( "chg2.1k", 0x1000, 0x0800, CRC(a206757d) SHA1(46b50005876b7f61ab4a118d0a4caaebce8ce3e1) ) - ROM_RELOAD( 0x1800, 0x0800 ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "kb2-1", 0x0000, 0x0020, CRC(15dd5b16) SHA1(3d2ca2b42bf508a9e5198e970abcbbedf5729164) ) -ROM_END - -ROM_START( kingbalj ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "prg1.7f", 0x0000, 0x1000, CRC(6cb49046) SHA1(a0891605dff7f9ff51bc7ad85f831a749f2f61e9) ) - ROM_LOAD( "prg2.7j", 0x1000, 0x1000, CRC(c223b416) SHA1(ca2d9f6b8ef6db4f382089161f4147d9828c3554) ) - ROM_LOAD( "prg3.7l", 0x2000, 0x0800, CRC(453634c0) SHA1(0025ccd91e165692092a37541e730010e85e37f2) ) - - ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* 64k for sound code */ - ROM_LOAD( "kbj1.ic4", 0x0000, 0x0800, CRC(ba16beb7) SHA1(8c2c91a9e941d858a49edd6c0c8a912e1135653e) ) - ROM_LOAD( "kbj2.ic5", 0x0800, 0x0800, CRC(56686a63) SHA1(8e624df57a63a556941fdbebcd886488799fad17) ) - ROM_LOAD( "kbj3.ic6", 0x1000, 0x0800, CRC(fbc570a5) SHA1(d0dbaf86396bca65e067338a3b5b60b24990b8be) ) - ROM_LOAD( "kbj2.ic7", 0x1800, 0x0800, CRC(56686a63) SHA1(8e624df57a63a556941fdbebcd886488799fad17) ) - - - ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "chg1.1h", 0x0000, 0x0800, CRC(9cd550e7) SHA1(d2989e6b7a4d7b37a711ef1cfb536fe13e0c5482) ) - ROM_RELOAD( 0x0800, 0x0800 ) - ROM_LOAD( "chg2.1k", 0x1000, 0x0800, CRC(a206757d) SHA1(46b50005876b7f61ab4a118d0a4caaebce8ce3e1) ) - ROM_RELOAD( 0x1800, 0x0800 ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "kb2-1", 0x0000, 0x0020, CRC(15dd5b16) SHA1(3d2ca2b42bf508a9e5198e970abcbbedf5729164) ) -ROM_END - -ROM_START( scorpnmc ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "p1.bin", 0x0000, 0x0800, CRC(58818d88) SHA1(d9fbfb6fff9ba1d078c3735889b8878ab0442ded) ) - ROM_LOAD( "p2.bin", 0x0800, 0x0800, CRC(8bec5f9f) SHA1(78642124edbf946140f62985bafe2dca314cb257) ) - ROM_LOAD( "p3.bin", 0x1000, 0x0800, CRC(24b7fdff) SHA1(1382199c85af3aa101b4ca01a0b096d801bc61a6) ) - ROM_LOAD( "p4.bin", 0x1800, 0x0800, CRC(9082e2f0) SHA1(8e3beebca33e73901cb8c4fa0af39a299b831d32) ) - ROM_LOAD( "p5.bin", 0x2000, 0x0800, CRC(20387fc0) SHA1(1aa2f16fb1630e65fd8aaedd21d8e4bac343678b) ) - ROM_LOAD( "p6.bin", 0x2800, 0x0800, CRC(f66c48e1) SHA1(bbfd68309d1f6b6bb3ec0879c8bde80b3f30fa02) ) - ROM_LOAD( "p7.bin", 0x3000, 0x0800, CRC(931e34c7) SHA1(8b6c1099634b5d693faab9edf5e29b3c476c7f52) ) - ROM_LOAD( "p8.bin", 0x3800, 0x0800, CRC(ab5ab61d) SHA1(eb78d7dc8d424f6ed4f7cbec02485cd769bac5c6) ) - ROM_LOAD( "p9.bin", 0x5000, 0x1000, CRC(b551b974) SHA1(c19e61dd8b6daf808ba42fa318dfd179a020d20e) ) - ROM_LOAD( "p10.bin", 0x6000, 0x0800, CRC(a7bd8d20) SHA1(c8131279de58298546c5af2c34ff18116c3a2d3b) ) - - ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "h.bin", 0x0000, 0x1000, CRC(1e5da9d6) SHA1(ca8b27e6dd40e4ca13e7e6b5f813bafca78b62f4) ) - ROM_LOAD( "k.bin", 0x1000, 0x1000, CRC(a57adb0a) SHA1(d97c7dc4a6c5efb59cc0148e2498156c682c6714) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "mmi6331.bpr", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */ -ROM_END - -ROM_START( frogg ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "p1.bin", 0x0000, 0x0800, CRC(1762b266) SHA1(2cf34dcfe00dc476b327f9d762a8d2aa268a2d25) ) - ROM_LOAD( "p2.bin", 0x0800, 0x0800, CRC(322f3916) SHA1(9236aaa260c4db4adbd92c8bba3674d07d7235a8) ) - ROM_LOAD( "p3.bin", 0x1000, 0x0800, CRC(28bd6151) SHA1(1a5bc540168fa5fef01bd7bc2cdbdb910c9a4ba4) ) - ROM_LOAD( "p4.bin", 0x1800, 0x0800, CRC(5a69ab18) SHA1(40b7bf200f87e0fb3fb54726ba79387889446052) ) - ROM_LOAD( "p5.bin", 0x2000, 0x0800, CRC(b4f17745) SHA1(2f237a667f6c95af213b787620142c1530d3cdd8) ) - ROM_LOAD( "p6.bin", 0x2800, 0x0800, CRC(34be71b5) SHA1(3088fc5817a397d0a87610d62845c7b8c4440f57) ) - ROM_LOAD( "p7.bin", 0x3000, 0x0800, CRC(de3edc8c) SHA1(634d54fb19b422b56576a196bdaf95733c52c7ee) ) - - ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "k.bin", 0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) ) - ROM_LOAD( "h.bin", 0x0800, 0x0800, CRC(658745f8) SHA1(e4e5c3e011c8a7233a36d29e10e08905873500aa) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "pr-91.6l", 0x0000, 0x0020, CRC(413703bf) SHA1(66648b2b28d3dcbda5bdb2605d1977428939dd3c) ) -ROM_END - ROM_START( 4in1 ) ROM_REGION( 0x20000, REGION_CPU1, 0 ) /* 64k for code 64k for banked code, encrypted */ /* Menu Code, Fixed at 0xc000 - 0xdfff */ @@ -7012,85 +3240,9 @@ ROM_START( porter ) ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, BAD_DUMP CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */ ROM_END -GAME( 1979, galaxian, 0, galaxian, galaxian, 0, ROT90, "Namco", "Galaxian (Namco set 1)", GAME_SUPPORTS_SAVE ) -GAME( 1979, galaxiaj, galaxian, galaxian, superg, 0, ROT90, "Namco", "Galaxian (Namco set 2)", GAME_SUPPORTS_SAVE ) -GAME( 1979, galmidw, galaxian, galaxian, galaxian, 0, ROT90, "[Namco] (Midway license)", "Galaxian (Midway)", GAME_SUPPORTS_SAVE ) -GAME( 1979, galmidwo, galaxian, galaxian, galaxian, 0, ROT90, "[Namco] (Midway license)", "Galaxian (Midway, old rev)", GAME_SUPPORTS_SAVE ) -GAME( 1979, galtaito, galaxian, galaxian, galtaito, 0, ROT90, "[Namco] (Taito license)", "Galaxian (Taito)", GAME_SUPPORTS_SAVE ) -GAME( 1979, superg, galaxian, galaxian, superg, 0, ROT90, "hack", "Super Galaxians", GAME_SUPPORTS_SAVE ) -GAME( 1979, galapx, galaxian, galaxian, superg, 0, ROT90, "hack", "Galaxian Part X", GAME_SUPPORTS_SAVE ) -GAME( 19??, moonaln, galaxian, galaxian, superg, 0, ROT90, "[Nichibutsu] (Karateco license)", "Moon Alien", GAME_SUPPORTS_SAVE ) -GAME( 1979, galap1, galaxian, galaxian, superg, 0, ROT90, "hack", "Space Invaders Galactica", GAME_SUPPORTS_SAVE ) -GAME( 1979, galap4, galaxian, galaxian, superg, 0, ROT90, "hack", "Galaxian Part 4", GAME_SUPPORTS_SAVE ) -GAME( 1979, galturbo, galaxian, galaxian, superg, 0, ROT90, "hack", "Galaxian Turbo", GAME_SUPPORTS_SAVE ) -GAME( 1979, swarm, galaxian, galaxian, swarm, 0, ROT90, "[Namco] (Sub-Electro bootleg)", "Swarm (hack of Galaxian)", GAME_SUPPORTS_SAVE ) -GAME( 1979, zerotime, galaxian, galaxian, zerotime, 0, ROT90, "Petaco S.A.", "Zero Time", GAME_SUPPORTS_SAVE ) -GAME( 1979, starfght, galaxian, galaxian, swarm, 0, ROT90, "Jeutel", "Star Fighter (bootleg of Galaxian)", GAME_SUPPORTS_SAVE ) -GAME( 1979, galaxbsf, galaxian, galaxian, galaxian, 0, ROT90, "bootleg", "Galaxian (bootleg)", GAME_SUPPORTS_SAVE ) -GAME( 19??, tst_galx, galaxian, galaxian, galaxian, 0, ROT90, "Test ROM", "Galaxian Test ROM", GAME_SUPPORTS_SAVE ) -GAME( 1981, gmgalax, 0, gmgalax, gmgalax, gmgalax, ROT90, "bootleg", "Ghostmuncher Galaxian (bootleg)", GAME_SUPPORTS_SAVE ) -GAME( 19??, pisces, 0, pisces, pisces, pisces, ROT90, "Subelectro", "Pisces", GAME_SUPPORTS_SAVE ) -GAME( 19??, piscesb, pisces, pisces, piscesb, pisces, ROT90, "bootleg", "Pisces (bootleg)", GAME_SUPPORTS_SAVE ) -GAME( 19??, omni, pisces, pisces, piscesb, pisces, ROT90, "bootleg", "Omni", GAME_SUPPORTS_SAVE ) -GAME( 1980, uniwars, 0, pisces, superg, pisces, ROT90, "Irem", "UniWar S", GAME_SUPPORTS_SAVE ) -GAME( 1980, gteikoku, uniwars, pisces, superg, pisces, ROT90, "Irem", "Gingateikoku No Gyakushu", GAME_SUPPORTS_SAVE ) -GAME( 1980, gteikokb, uniwars, pisces, gteikokb, pisces, ROT270, "bootleg", "Gingateikoku No Gyakushu (bootleg set 1)", GAME_SUPPORTS_SAVE ) -GAME( 1980, gteikob2, uniwars, gteikob2, gteikob2, gteikob2, ROT270, "bootleg", "Gingateikoku No Gyakushu (bootleg set 2)", GAME_SUPPORTS_SAVE ) -GAME( 1980, spacbatt, uniwars, pisces, spacbatt, pisces, ROT90, "bootleg", "Space Battle (bootleg set 1)", GAME_SUPPORTS_SAVE ) -GAME( 1980, spacbat2, uniwars, pisces, spacbatt, pisces, ROT90, "bootleg", "Space Battle (bootleg set 2)", GAME_SUPPORTS_SAVE ) -GAME( 1980, skyraidr, uniwars, pisces, superg, pisces, ROT90, "bootleg", "Sky Raiders", GAME_SUPPORTS_SAVE ) -GAME( 1981, batman2, phoenix, batman2, batman2, pisces, ROT270, "bootleg", "Batman Part 2", GAME_SUPPORTS_SAVE ) -GAME( 1981, warofbug, 0, galaxian, warofbug, pisces, ROT90, "Armenia", "War of the Bugs or Monsterous Manouvers in a Mushroom Maze", GAME_SUPPORTS_SAVE ) -GAME( 19??, redufo, 0, galaxian, redufo, pisces, ROT90, "bootleg", "Defend the Terra Attack on the Red UFO", GAME_SUPPORTS_SAVE ) -GAME( 19??, exodus, redufo, galaxian, exodus, pisces, ROT90, "Subelectro", "Exodus (bootleg?)", GAME_SUPPORTS_SAVE ) -GAME( 1981, streakng, 0, pacmanbl, streakng, 0, ROT90, "Shoei", "Streaking", GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE ) -GAME( 1981, pacmanbl, puckman, pacmanbl, pacmanbl, pisces, ROT270, "bootleg", "Pac-Man (Galaxian hardware)", GAME_SUPPORTS_SAVE ) -GAME( 1984, devilfsg, devilfsh, devilfsg, devilfsg, 0, ROT270, "Vision / Artic", "Devil Fish (Galaxian hardware, bootleg?)", GAME_SUPPORTS_SAVE ) -GAME( 1982, zigzag, 0, zigzag, zigzag, zigzag, ROT90, "LAX", "Zig Zag (Galaxian hardware, set 1)", GAME_SUPPORTS_SAVE ) -GAME( 1982, zigzag2, zigzag, zigzag, zigzag, zigzag, ROT90, "LAX", "Zig Zag (Galaxian hardware, set 2)", GAME_SUPPORTS_SAVE ) GAME( 1981, scramblb, scramble, scramblb, scramblb, 0, ROT90, "bootleg", "Scramble (Galaxian hardware)", GAME_SUPPORTS_SAVE ) GAME( 1981, scramb2, scramble, scramb2, scramb2, 0, ROT90, "bootleg", "Scramble (bootleg)", GAME_SUPPORTS_SAVE ) -GAME( 1981, jumpbug, 0, jumpbug, jumpbug, 0, ROT90, "Rock-ola", "Jump Bug", GAME_SUPPORTS_SAVE ) -GAME( 1981, jumpbugb, jumpbug, jumpbug, jumpbug, 0, ROT90, "bootleg", "Jump Bug (bootleg)", GAME_SUPPORTS_SAVE ) -GAME( 1983, levers, 0, jumpbug, levers, 0, ROT90, "Rock-ola", "Levers", GAME_SUPPORTS_SAVE ) -GAME( 1982, azurian, 0, azurian, azurian, azurian, ROT90, "Rait Electronics Ltd", "Azurian Attack", GAME_SUPPORTS_SAVE ) -GAME( 19??, orbitron, 0, galaxian, orbitron, pisces, ROT270, "Signatron USA", "Orbitron", GAME_SUPPORTS_SAVE ) -GAME( 1982, checkman, 0, checkman, checkman, checkman, ROT90, "Zilec-Zenitone", "Check Man", GAME_SUPPORTS_SAVE ) -GAME( 1982, checkmaj, checkman, checkmaj, checkmaj, checkmaj, ROT90, "Jaleco", "Check Man (Japan)", GAME_SUPPORTS_SAVE ) -GAME( 1983, dingo, 0, checkmaj, dingo, dingo, ROT90, "Ashby Computers and Graphics LTD. (Jaleco license)", "Dingo", GAME_SUPPORTS_SAVE ) -GAME( 1983, dingoe, 0, dingoe, dingo, dingoe, ROT90, "Ashby Computers and Graphics LTD.", "Dingo (encrypted)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) -GAME( 1981, blkhole, 0, galaxian, blkhole, 0, ROT90, "TDS", "Black Hole", GAME_SUPPORTS_SAVE ) -GAME( 1980, mooncrst, 0, mooncrst, mooncrst, mooncrst, ROT90, "Nichibutsu", "Moon Cresta (Nichibutsu)", GAME_SUPPORTS_SAVE ) -GAME( 1980, mooncrsu, mooncrst, mooncrst, mooncrst, mooncrsu, ROT90, "Nichibutsu USA", "Moon Cresta (Nichibutsu, unencrypted)", GAME_SUPPORTS_SAVE ) -GAME( 1980, mooncrsa, mooncrst, mooncrst, mooncrsa, mooncrst, ROT90, "Nichibutsu", "Moon Cresta (Nichibutsu, old rev)", GAME_SUPPORTS_SAVE ) -GAME( 1980, mooncrsg, mooncrst, mooncrst, mooncrsg, mooncrsu, ROT90, "Gremlin", "Moon Cresta (Gremlin)", GAME_SUPPORTS_SAVE ) -GAME( 1980, mooncrsb, mooncrst, mooncrst, mooncrsa, mooncrsu, ROT90, "bootleg", "Moon Cresta (bootleg set 1)", GAME_SUPPORTS_SAVE ) -GAME( 1980, mooncrs2, mooncrst, mooncrst, mooncrsa, mooncrsu, ROT90, "Nichibutsu", "Moon Cresta (bootleg set 2)", GAME_SUPPORTS_SAVE ) -GAME( 1980, mooncrs3, mooncrst, mooncrst, mooncrst, mooncrsu, ROT90, "bootleg", "Moon Cresta (bootleg set 3)", GAME_SUPPORTS_SAVE ) /* Jeutel bootleg, similar to bootleg set 2 */ -GAME( 1980, fantazia, mooncrst, mooncrst, fantazia, mooncrsu, ROT90, "Subelectro", "Fantazia (bootleg?)", GAME_SUPPORTS_SAVE ) -GAME( 1980, eagle, mooncrst, mooncrst, eagle, mooncrsu, ROT90, "Centuri", "Eagle (set 1)", GAME_SUPPORTS_SAVE ) -GAME( 1980, eagle2, mooncrst, mooncrst, eagle2, mooncrsu, ROT90, "Centuri", "Eagle (set 2)", GAME_SUPPORTS_SAVE ) -GAME( 1980, eagle3, mooncrst, mooncrst, eagle, mooncrsu, ROT90, "Centuri", "Eagle (set 3)", GAME_SUPPORTS_SAVE ) -GAME( 1981?,spctbird, mooncrst, mooncrst, eagle2, mooncrsu, ROT90, "Fortrek", "Space Thunderbird", GAME_SUPPORTS_SAVE ) -GAME( 1980?,smooncrs, mooncrst, mooncrst, smooncrs, mooncrsu, ROT90, "Gremlin", "Super Moon Cresta", GAME_SUPPORTS_SAVE ) -GAME( 198?, mooncmw, mooncrst, mooncrst, mooncrsa, mooncrsu, ROT90, "bootleg", "Moon War (Moon Cresta bootleg)", GAME_SUPPORTS_SAVE ) -// The boards were marked 'Space Dragon' although this doesn't appear in the games. -GAME( 1980, spcdrag, mooncrst, mooncrst, spcdrag, mooncrsu, ROT90, "bootleg", "Space Dragon (Moon Cresta bootleg, set 1)", GAME_SUPPORTS_SAVE ) -GAME( 1980, spcdraga, mooncrst, mooncrst, spcdrag, mooncrsu, ROT90, "bootleg", "Space Dragon (Moon Cresta bootleg, set 2)", GAME_SUPPORTS_SAVE ) -GAME( 1980, mooncrgx, mooncrst, mooncrgx, mooncrgx, mooncrgx, ROT270, "bootleg", "Moon Cresta (Galaxian hardware)", GAME_SUPPORTS_SAVE ) -GAME( 1980, moonqsr, 0, moonqsr, moonqsr, moonqsr, ROT90, "Nichibutsu", "Moon Quasar", GAME_SUPPORTS_SAVE ) -GAME( 1981, mshuttle, 0, mshuttle, mshuttle, mshuttle, ROT0, "Nichibutsu", "Moon Shuttle (US?)", GAME_SUPPORTS_SAVE ) -GAME( 1981, mshuttlj, mshuttle, mshuttle, mshuttle, cclimbrj, ROT0, "Nichibutsu", "Moon Shuttle (Japan set 1)", GAME_SUPPORTS_SAVE ) -GAME( 1981, mshutlj2, mshuttle, mshuttle, mshuttle, cclimbrj, ROT0, "Nichibutsu", "Moon Shuttle (Japan set 2)", GAME_SUPPORTS_SAVE ) -GAME( 1980, moonal2, 0, mooncrst, moonal2, 0, ROT90, "Nichibutsu", "Moon Alien Part 2", GAME_SUPPORTS_SAVE ) -GAME( 1980, moonal2b, moonal2, mooncrst, moonal2, 0, ROT90, "Nichibutsu", "Moon Alien Part 2 (older version)", GAME_SUPPORTS_SAVE ) -GAME( 1980, supergx, moonal2, galaxian, superg, 0, ROT90, "Nichibutsu", "Super GX", GAME_NOT_WORKING | GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE ) -GAME( 1982, skybase, 0, skybase, skybase, 0, ROT90, "Omori Electric Co., Ltd.", "Sky Base", GAME_SUPPORTS_SAVE ) -GAME( 19??, omega, theend, galaxian, omega, 0, ROT270, "bootleg?", "Omega", GAME_SUPPORTS_SAVE ) -GAME( 1980, kingball, 0, kingball, kingball, kingball, ROT90, "Namco", "King & Balloon (US)", GAME_SUPPORTS_SAVE ) -GAME( 1980, kingbalj, kingball, kingball, kingball, kingball, ROT90, "Namco", "King & Balloon (Japan)", GAME_SUPPORTS_SAVE ) -GAME( 19??, scorpnmc, scorpion, scorpnmc, scorpnmc, 0, ROT90, "Dorneer", "Scorpion (Moon Cresta hardware)", GAME_SUPPORTS_SAVE ) -GAME( 1981, frogg, frogger, frogg, frogg, 0, ROT90, "bootleg", "Frog (Galaxian hardware)", GAME_SUPPORTS_SAVE ) + GAME( 1981, 4in1, 0, 4in1, 4in1, 4in1, ROT90, "Armenia / Food and Fun", "4 Fun in 1", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) GAME( 1982, bagmanmc, bagman, bagmanmc, bagmanmc, 0, ROT90, "bootleg", "Bagman (Moon Cresta hardware)", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE ) GAME( 1982, dkongjrm, dkongjr, dkongjrm, dkongjrm, 0, ROT90, "bootleg", "Donkey Kong Jr. (Moon Cresta hardware)", GAME_WRONG_COLORS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) @@ -7108,9 +3260,6 @@ GAME( 1986, racknrol, 0, racknrol, racknrol, 0, ROT0, "Status (Sh GAME( 1986, hexpool, racknrol, racknrol, racknrol, 0, ROT90, "Shinkai", "Hex Pool (Shinkai)", GAME_SUPPORTS_SAVE ) GAME( 1985, hexpoola, racknrol, hexpoola, racknrol, 0, ROT90, "Senko", "Hex Pool (Senko)", GAME_SUPPORTS_SAVE ) GAME( 1985, trvchlng, 0, racknrol, trvchlng, 0, ROT90, "Joyland (Senko License)", "Trivia Challenge", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) -GAME( 1980, luctoday, 0, galaxian, luctoday, 0, ROT270, "Sigma", "Lucky Today",GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE ) -GAME( 19??, chewing, 0, galaxian, luctoday, 0, ROT90, "unknown", "Chewing Gum", GAME_SUPPORTS_SAVE ) -GAME( 1982, catacomb, 0, galaxian, catacomb, 0, ROT90, "MTM Games", "Catacomb", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE ) GAME( 1981, ckongg, 0, ckongg, ckongg, 0, ROT90, "bootleg", "Crazy Kong (bootleg on Galaxian hardware, set 1)", GAME_SUPPORTS_SAVE ) GAME( 1981, kkgalax, ckongg, kkgalax, kkgalax, 0, ROT90, "bootleg", "Crazy Kong (bootleg on Galaxian hardware, set 2)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) // set was marked as 'King Kong on Galaxian' GAME( 19??, porter, 0, mooncrst, porter, 0, ROT90, "[Nova Games Ltd.] (bootleg)", "Port Man (bootleg on Moon Cresta hardware)", GAME_IMPERFECT_GRAPHICS ) // missing GFX bank switch! diff --git a/src/mame/drivers/galdrvr.c b/src/mame/drivers/galdrvr.c new file mode 100644 index 00000000000..06279b2039e --- /dev/null +++ b/src/mame/drivers/galdrvr.c @@ -0,0 +1,4857 @@ +/************************************* + * + * Input Ports + * Galaxian-derived games + * + *************************************/ + +INPUT_PORTS_START( galaxian ) + PORT_START_TAG("IN0") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) + PORT_DIPNAME( 0x20, 0x00, DEF_STR( Cabinet ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) + PORT_DIPSETTING( 0x20, DEF_STR( Cocktail ) ) + PORT_SERVICE( 0x40, IP_ACTIVE_HIGH ) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SERVICE1 ) + + PORT_START_TAG("IN1") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_COCKTAIL + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_COCKTAIL + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coinage ) ) + PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0xc0, DEF_STR( Free_Play ) ) + + PORT_START_TAG("IN2") + PORT_DIPNAME( 0x03, 0x00, DEF_STR( Bonus_Life ) ) + PORT_DIPSETTING( 0x00, "7000" ) + PORT_DIPSETTING( 0x01, "10000" ) + PORT_DIPSETTING( 0x02, "12000" ) + PORT_DIPSETTING( 0x03, "20000" ) + PORT_DIPNAME( 0x04, 0x04, DEF_STR( Lives ) ) + PORT_DIPSETTING( 0x00, "2" ) + PORT_DIPSETTING( 0x04, "3" ) + PORT_DIPUNUSED( 0x08, 0x00 ) + PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) +INPUT_PORTS_END + + +INPUT_PORTS_START( superg ) + PORT_INCLUDE(galaxian) + + PORT_MODIFY("IN2") + PORT_DIPNAME( 0x03, 0x01, DEF_STR( Bonus_Life ) ) + PORT_DIPSETTING( 0x01, "4000" ) + PORT_DIPSETTING( 0x02, "5000" ) + PORT_DIPSETTING( 0x03, "7000" ) + PORT_DIPSETTING( 0x00, DEF_STR( None ) ) + PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) ) + PORT_DIPSETTING( 0x00, "3" ) + PORT_DIPSETTING( 0x04, "5" ) +INPUT_PORTS_END + + +static INPUT_PORTS_START( galtaito ) + PORT_INCLUDE(galaxian) + + PORT_MODIFY("IN2") + PORT_DIPNAME( 0x03, 0x01, DEF_STR( Bonus_Life ) ) + PORT_DIPSETTING( 0x00, DEF_STR( None ) ) + PORT_DIPSETTING( 0x01, "4000" ) + PORT_DIPSETTING( 0x02, "5000" ) + PORT_DIPSETTING( 0x03, "7000" ) + PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) ) + PORT_DIPSETTING( 0x00, "3" ) + PORT_DIPSETTING( 0x04, "5" ) + PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unused ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x08, DEF_STR( On ) ) +INPUT_PORTS_END + + +INPUT_PORTS_START( swarm ) + PORT_INCLUDE(galaxian) + + PORT_MODIFY("IN2") + PORT_DIPNAME( 0x03, 0x00, DEF_STR( Bonus_Life ) ) + PORT_DIPSETTING( 0x01, "10000" ) + PORT_DIPSETTING( 0x02, "20000" ) + PORT_DIPSETTING( 0x03, "40000" ) + PORT_DIPSETTING( 0x00, DEF_STR( None ) ) + PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) ) + PORT_DIPSETTING( 0x00, "3" ) + PORT_DIPSETTING( 0x04, "4" ) + PORT_DIPNAME( 0x08, 0x00, DEF_STR( Difficulty ) ) /* aliens "flying" simultaneously */ + PORT_DIPSETTING( 0x00, DEF_STR( Easy ) ) /* less aliens */ + PORT_DIPSETTING( 0x08, DEF_STR( Hard ) ) /* more aliens */ +INPUT_PORTS_END + + +INPUT_PORTS_START( zerotime ) + PORT_INCLUDE(galaxian) + + PORT_MODIFY("IN1") + PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Coinage ) ) + PORT_DIPSETTING( 0x40, "A 1C/1C 2C/2C B 1C/2C" ) + PORT_DIPSETTING( 0xc0, "A 1C/1C 2C/3C B 1C/3C" ) + PORT_DIPSETTING( 0x00, "A 1C/2C 2C/4C B 1C/4C" ) + PORT_DIPSETTING( 0x80, "A 1C/2C 2C/5C B 1C/5C" ) + + PORT_MODIFY("IN2") + PORT_DIPNAME( 0x03, 0x03, DEF_STR( Bonus_Life ) ) + PORT_DIPSETTING( 0x03, "6000" ) + PORT_DIPSETTING( 0x02, "7000" ) + PORT_DIPSETTING( 0x01, "9000" ) + PORT_DIPSETTING( 0x00, DEF_STR( None ) ) + PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) ) + PORT_DIPSETTING( 0x00, "3" ) + PORT_DIPSETTING( 0x04, "5" ) + PORT_DIPNAME( 0x08, 0x00, DEF_STR( Difficulty ) ) /* player's bullet speed */ + PORT_DIPSETTING( 0x00, DEF_STR( Easy ) ) /* gap of 6 pixels */ + PORT_DIPSETTING( 0x08, DEF_STR( Hard ) ) /* gap of 8 pixels */ +INPUT_PORTS_END + + +INPUT_PORTS_START( blkhole ) + PORT_INCLUDE(galaxian) + + PORT_MODIFY("IN0") + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) + + PORT_MODIFY("IN1") + PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coinage ) ) + PORT_DIPSETTING( 0xc0, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) ) + + PORT_MODIFY("IN2") + PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life ) ) + PORT_DIPSETTING( 0x00, "5000" ) + PORT_DIPSETTING( 0x01, "10000" ) + PORT_DIPNAME( 0x02, 0x02, DEF_STR( Cabinet ) ) + PORT_DIPSETTING( 0x02, DEF_STR( Upright ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) ) + PORT_DIPUNUSED( 0x04, 0x00 ) + PORT_DIPUNUSED( 0x08, 0x00 ) +INPUT_PORTS_END + + +INPUT_PORTS_START( orbitron ) + PORT_INCLUDE(galaxian) + + PORT_MODIFY("IN0") + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY + + PORT_MODIFY("IN1") + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL + PORT_DIPNAME( 0x60, 0x40, DEF_STR( Coinage ) ) /* Routine at 0x00e1 */ + PORT_DIPSETTING( 0x00, "A 2C/1C B 1C/3C" ) +// PORT_DIPSETTING( 0x20, "A 2C/1C B 1C/3C" ) + PORT_DIPSETTING( 0x40, "A 1C/1C B 1C/6C" ) +// PORT_DIPSETTING( 0x60, "A 1C/1C B 1C/6C" ) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL + + PORT_MODIFY("IN2") + PORT_DIPUNUSED( 0x01, 0x00 ) + PORT_DIPUNUSED( 0x02, 0x00 ) + PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) ) + PORT_DIPSETTING( 0x04, "2" ) + PORT_DIPSETTING( 0x00, "3" ) + PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) + PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) ) +INPUT_PORTS_END + + +/* These inputs are clearly wrong, they need a full test */ +INPUT_PORTS_START( luctoday ) + PORT_START_TAG("IN0") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN ) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_NAME("Add Credit to Bet") + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_NAME("Remove Credit from Bet") + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BILL1 ) + + PORT_START_TAG("IN1") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) + + PORT_START_TAG("IN2") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN ) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN ) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN ) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN ) +INPUT_PORTS_END + + +INPUT_PORTS_START( catacomb ) + PORT_INCLUDE(galaxian) + + PORT_MODIFY("IN0") + PORT_DIPUNKNOWN( 0x40, 0x00 ) + PORT_DIPUNKNOWN( 0x80, 0x00 ) + + PORT_MODIFY("IN1") + PORT_DIPUNKNOWN( 0x20, 0x00 ) + PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coin_A ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x40, DEF_STR( 1C_1C ) ) + PORT_DIPNAME( 0x80, 0x00, DEF_STR( Coin_B ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 1C_3C ) ) + PORT_DIPSETTING( 0x80, DEF_STR( 1C_5C ) ) + + PORT_MODIFY("IN2") + PORT_DIPUNKNOWN( 0x01, 0x00 ) + PORT_DIPUNKNOWN( 0x02, 0x00 ) + PORT_DIPNAME( 0x04, 0x04, DEF_STR( Lives ) ) + PORT_DIPSETTING( 0x04, "3" ) + PORT_DIPSETTING( 0x00, "5" ) + PORT_DIPUNKNOWN( 0x08, 0x00 ) +INPUT_PORTS_END + + +INPUT_PORTS_START( omega ) + PORT_INCLUDE(galaxian) + + PORT_MODIFY("IN0") + PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_UNUSED ) + + PORT_MODIFY("IN1") + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coin_A ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x40, DEF_STR( 1C_1C ) ) + PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coin_B ) ) + PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) ) + + PORT_MODIFY("IN2") + PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life ) ) + PORT_DIPSETTING( 0x00, "10000" ) + PORT_DIPSETTING( 0x01, "20000" ) + PORT_DIPUNUSED( 0x02, 0x00 ) + PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) ) + PORT_DIPSETTING( 0x00, "3" ) + PORT_DIPSETTING( 0x04, "5" ) + PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) + PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) ) +INPUT_PORTS_END + + +INPUT_PORTS_START( warofbug ) + PORT_INCLUDE(galaxian) + + PORT_MODIFY("IN0") + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY + + PORT_MODIFY("IN1") + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL + PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coinage ) ) + PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) +// PORT_DIPSETTING( 0x80, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0xc0, DEF_STR( Free_Play ) ) + + PORT_MODIFY("IN2") + PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) ) + PORT_DIPSETTING( 0x00, "1" ) + PORT_DIPSETTING( 0x01, "2" ) + PORT_DIPSETTING( 0x02, "3" ) + PORT_DIPSETTING( 0x03, "4" ) + PORT_DIPUNUSED( 0x04, 0x00 ) + PORT_DIPNAME( 0x08, 0x08, DEF_STR( Bonus_Life ) ) + PORT_DIPSETTING( 0x08, "500000" ) + PORT_DIPSETTING( 0x00, "750000" ) +INPUT_PORTS_END + + +INPUT_PORTS_START( redufo ) + PORT_INCLUDE(galaxian) + + PORT_MODIFY("IN1") + PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coinage ) ) + PORT_DIPSETTING( 0x40, "A 2C/1C B 1C/3C" ) + PORT_DIPSETTING( 0x00, "A 1C/1C B 1C/6C" ) + PORT_DIPSETTING( 0x80, "A 1C/2C B 1C/12C" ) + PORT_DIPSETTING( 0xc0, DEF_STR( Free_Play ) ) + + PORT_MODIFY("IN2") + PORT_DIPNAME( 0x03, 0x01, DEF_STR( Bonus_Life ) ) + PORT_DIPSETTING( 0x01, "4000" ) + PORT_DIPSETTING( 0x02, "5000" ) + PORT_DIPSETTING( 0x03, "7000" ) + PORT_DIPSETTING( 0x00, DEF_STR( None ) ) + PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) ) + PORT_DIPSETTING( 0x00, "3" ) + PORT_DIPSETTING( 0x04, "5" ) +INPUT_PORTS_END + + +INPUT_PORTS_START( exodus ) + PORT_INCLUDE(galaxian) + + PORT_MODIFY("IN0") + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) // Not tested due to code removed at 0x1901 and 0x191a + + PORT_MODIFY("IN1") + PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coin_B ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x40, DEF_STR( 1C_1C ) ) + PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coin_A ) ) + PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) ) + + PORT_MODIFY("IN2") + PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life ) ) + PORT_DIPSETTING( 0x00, "7000" ) + PORT_DIPSETTING( 0x01, DEF_STR( None ) ) + PORT_DIPUNUSED( 0x02, 0x00 ) // Not read due to code at 0x012b + PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) ) + PORT_DIPSETTING( 0x00, "3" ) + PORT_DIPSETTING( 0x04, "5" ) + PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) + PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) ) +INPUT_PORTS_END + + +INPUT_PORTS_START( azurian ) + PORT_START_TAG("IN0") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN1 ) + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) + + PORT_START_TAG("IN1") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(azurian_port_r, (void *)0) /* "linked" with bit 2 of IN2 */ + PORT_DIPNAME( 0x80, 0x00, DEF_STR( Lives ) ) + PORT_DIPSETTING( 0x00, "3" ) + PORT_DIPSETTING( 0x80, "5" ) + + PORT_START_TAG("IN2") + PORT_DIPNAME( 0x01, 0x00, DEF_STR( Coinage ) ) + PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) + PORT_DIPNAME( 0x02, 0x00, DEF_STR( Bonus_Life ) ) + PORT_DIPSETTING( 0x00, "5000" ) + PORT_DIPSETTING( 0x02, "7000" ) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(azurian_port_r, (void *)1) /* "linked" with bit 6 of IN1 */ + PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) + PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) ) + PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) + + PORT_START_TAG("FAKE") /* fake port to handle routine at 0x05b3 that stores value at 0x40f4 */ + PORT_DIPNAME( 0x03, 0x01, DEF_STR( Difficulty ) ) + PORT_DIPSETTING( 0x03, DEF_STR( Easy ) ) + PORT_DIPSETTING( 0x01, DEF_STR( Normal ) ) + PORT_DIPSETTING( 0x02, DEF_STR( Hard ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Very_Hard ) ) +INPUT_PORTS_END + + +INPUT_PORTS_START( pisces ) + PORT_INCLUDE(galaxian) + + PORT_MODIFY("IN0") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN2 ) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN1 ) + PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_UNUSED ) + + PORT_MODIFY("IN1") + PORT_DIPNAME( 0x40, 0x00, DEF_STR( Lives ) ) + PORT_DIPSETTING( 0x00, "3" ) + PORT_DIPSETTING( 0x40, "4" ) + PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) + PORT_DIPSETTING( 0x80, DEF_STR( Cocktail ) ) + + PORT_MODIFY("IN2") + PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life ) ) + PORT_DIPSETTING( 0x00, "10000" ) + PORT_DIPSETTING( 0x01, "20000" ) + PORT_DIPNAME( 0x02, 0x00, DEF_STR( Coinage ) ) + PORT_DIPSETTING( 0x02, "A 2C/1C B 1C/3C" ) + PORT_DIPSETTING( 0x00, "A 1C/1C B 1C/6C" ) + PORT_DIPNAME( 0x04, 0x00, DEF_STR( Difficulty ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Easy ) ) + PORT_DIPSETTING( 0x04, DEF_STR( Hard ) ) +INPUT_PORTS_END + + +INPUT_PORTS_START( piscesb ) + PORT_INCLUDE(pisces) + + PORT_MODIFY("IN2") + PORT_DIPNAME( 0x02, 0x00, DEF_STR( Coinage ) ) + PORT_DIPSETTING( 0x02, "A 2C/1C B 1C/2C 2C/5C" ) + PORT_DIPSETTING( 0x00, "A 1C/1C B 1C/5C" ) +INPUT_PORTS_END + + +INPUT_PORTS_START( gteikokb ) + PORT_INCLUDE(galaxian) + + PORT_MODIFY("IN0") + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED ) /* Not tested due to code removed at 0x00ab, 0x1b26 and 0x1c97*/ + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) /* Not tested due to code removed at 0x1901*/ + + PORT_MODIFY("IN1") + PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coin_A ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x40, DEF_STR( 1C_1C ) ) + PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coin_B ) ) + PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) ) + + PORT_MODIFY("IN2") + PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life ) ) + PORT_DIPSETTING( 0x00, "7000" ) + PORT_DIPSETTING( 0x01, DEF_STR( None ) ) + PORT_DIPUNUSED( 0x02, 0x00 ) // Not read due to code at 0x012b + PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) ) + PORT_DIPSETTING( 0x00, "3" ) + PORT_DIPSETTING( 0x04, "5" ) + PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) + PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) ) +INPUT_PORTS_END + + +INPUT_PORTS_START( gteikob2 ) + PORT_INCLUDE(gteikokb) + + PORT_MODIFY("IN2") + PORT_DIPNAME( 0x08, 0x08, DEF_STR( Cabinet ) ) + PORT_DIPSETTING( 0x08, DEF_STR( Upright ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) ) +INPUT_PORTS_END + + +INPUT_PORTS_START( spacbatt ) + PORT_INCLUDE(galaxian) + + PORT_MODIFY("IN1") + PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coinage ) ) + PORT_DIPSETTING( 0x40, "A 2C/1C B 1C/3C" ) + PORT_DIPSETTING( 0x00, "A 1C/1C B 1C/6C" ) + PORT_DIPSETTING( 0x80, "A 1C/2C B 1C/6C" ) + PORT_DIPSETTING( 0xc0, DEF_STR( Free_Play ) ) + + PORT_MODIFY("IN2") + PORT_DIPNAME( 0x03, 0x01, DEF_STR( Bonus_Life ) ) + PORT_DIPSETTING( 0x01, "4000" ) + PORT_DIPSETTING( 0x02, "5000" ) + PORT_DIPSETTING( 0x03, "7000" ) + PORT_DIPSETTING( 0x00, DEF_STR( None ) ) + PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) ) + PORT_DIPSETTING( 0x00, "3" ) + PORT_DIPSETTING( 0x04, "5" ) +INPUT_PORTS_END + + +INPUT_PORTS_START( batman2 ) + PORT_INCLUDE(galaxian) + + PORT_MODIFY("IN0") + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON2 ) + + PORT_MODIFY("IN1") + PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coin_A ) ) + PORT_DIPSETTING( 0x40, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 1C_2C ) ) + PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coin_B ) ) + PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) ) + + PORT_MODIFY("IN2") + PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life ) ) + PORT_DIPSETTING( 0x00, "30000" ) + PORT_DIPSETTING( 0x01, "50000" ) + PORT_DIPUNUSED( 0x02, 0x00 ) + PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) ) + PORT_DIPSETTING( 0x00, "3" ) + PORT_DIPSETTING( 0x04, "5" ) + PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) + PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) ) +INPUT_PORTS_END + + +INPUT_PORTS_START( streakng ) + PORT_START_TAG("IN0") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_DIPNAME( 0x20, 0x00, DEF_STR( Cabinet ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) + PORT_DIPSETTING( 0x20, DEF_STR( Cocktail ) ) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY + + PORT_START_TAG("IN1") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL + PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Bonus_Life ) ) + PORT_DIPSETTING( 0x40, "10000" ) + PORT_DIPSETTING( 0x80, "15000" ) + PORT_DIPSETTING( 0xc0, "20000" ) + PORT_DIPSETTING( 0x00, DEF_STR( None ) ) + + PORT_START_TAG("IN2") + PORT_DIPNAME( 0x03, 0x02, DEF_STR( Coinage ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0x03, DEF_STR( Free_Play ) ) + PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Lives ) ) + PORT_DIPSETTING( 0x0c, "1" ) + PORT_DIPSETTING( 0x08, "2" ) + PORT_DIPSETTING( 0x04, "3" ) + PORT_DIPSETTING( 0x00, "5" ) + PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) +INPUT_PORTS_END + + +INPUT_PORTS_START( pacmanbl ) + PORT_START_TAG("IN0") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY + + PORT_START_TAG("IN1") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL + PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coin_A ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x40, DEF_STR( 1C_1C ) ) + PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coin_B ) ) + PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) ) + + PORT_START_TAG("IN2") + PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life ) ) + PORT_DIPSETTING( 0x00, "15000" ) + PORT_DIPSETTING( 0x01, "20000" ) + PORT_DIPNAME( 0x02, 0x00, DEF_STR( Difficulty ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Easy ) ) + PORT_DIPSETTING( 0x02, DEF_STR( Hard ) ) + PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) ) + PORT_DIPSETTING( 0x00, "3" ) + PORT_DIPSETTING( 0x04, "5" ) + PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) + PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) ) + PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) +INPUT_PORTS_END + + +INPUT_PORTS_START( devilfsg ) + PORT_INCLUDE(pacmanbl) + + PORT_MODIFY("IN0") + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) + + PORT_MODIFY("IN1") + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL + + PORT_MODIFY("IN2") + PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life ) ) + PORT_DIPSETTING( 0x00, "10000" ) + PORT_DIPSETTING( 0x01, "15000" ) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) ) + PORT_DIPSETTING( 0x00, "4" ) + PORT_DIPSETTING( 0x04, "5" ) +INPUT_PORTS_END + + +INPUT_PORTS_START( zigzag ) + PORT_START_TAG("IN0") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN ) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL + + PORT_START_TAG("IN1") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL + PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coinage ) ) + PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0xc0, DEF_STR( Free_Play ) ) + + PORT_START_TAG("IN2") + PORT_DIPNAME( 0x01, 0x00, DEF_STR( Lives ) ) + PORT_DIPSETTING( 0x00, "3" ) + PORT_DIPSETTING( 0x01, "4" ) + PORT_DIPNAME( 0x02, 0x02, DEF_STR( Cabinet ) ) + PORT_DIPSETTING( 0x02, DEF_STR( Upright ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) ) + PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) ) + PORT_DIPSETTING( 0x00, "10000 60000" ) + PORT_DIPSETTING( 0x04, "20000 60000" ) + PORT_DIPSETTING( 0x08, "30000 60000" ) + PORT_DIPSETTING( 0x0c, "40000 60000" ) + PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) +INPUT_PORTS_END + + +INPUT_PORTS_START( gmgalax ) + PORT_START_TAG("IN0") + PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM(gmgalax_port_r, "GMIN0\0GLIN0") + + PORT_START_TAG("IN1") + PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM(gmgalax_port_r, "GMIN1\0GLIN1") + + PORT_START_TAG("IN2") + PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM(gmgalax_port_r, "GMIN2\0GLIN2") + + PORT_START_TAG("GMIN0") /* Ghost Muncher - IN0 */ + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_CONDITION("GAMESEL",0x01,PORTCOND_NOTEQUALS,0x01) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP) PORT_4WAY PORT_COCKTAIL PORT_CONDITION("GAMESEL",0x01,PORTCOND_NOTEQUALS,0x01) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_CONDITION("GAMESEL",0x01,PORTCOND_NOTEQUALS,0x01) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_CONDITION("GAMESEL",0x01,PORTCOND_NOTEQUALS,0x01) + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) PORT_CONDITION("GAMESEL",0x01,PORTCOND_NOTEQUALS,0x01) + PORT_DIPNAME( 0x20, 0x00, "Ghost Muncher - Cabinet" ) PORT_CONDITION("GAMESEL",0x01,PORTCOND_NOTEQUALS,0x01) + PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) + PORT_DIPSETTING( 0x20, DEF_STR( Cocktail ) ) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_CONDITION("GAMESEL",0x01,PORTCOND_NOTEQUALS,0x01) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_CONDITION("GAMESEL",0x01,PORTCOND_NOTEQUALS,0x01) + + PORT_START_TAG("GMIN1") /* Ghost Muncher - IN1 */ + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) PORT_CONDITION("GAMESEL",0x01,PORTCOND_NOTEQUALS,0x01) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) PORT_CONDITION("GAMESEL",0x01,PORTCOND_NOTEQUALS,0x01) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL PORT_CONDITION("GAMESEL",0x01,PORTCOND_NOTEQUALS,0x01) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL PORT_CONDITION("GAMESEL",0x01,PORTCOND_NOTEQUALS,0x01) + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) PORT_CONDITION("GAMESEL",0x01,PORTCOND_NOTEQUALS,0x01) + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL PORT_CONDITION("GAMESEL",0x01,PORTCOND_NOTEQUALS,0x01) + PORT_DIPNAME( 0xc0, 0x40, "Ghost Muncher - Bonus Life" ) PORT_CONDITION("GAMESEL",0x01,PORTCOND_NOTEQUALS,0x01) + PORT_DIPSETTING( 0x40, "10000" ) + PORT_DIPSETTING( 0x80, "15000" ) + PORT_DIPSETTING( 0xc0, "20000" ) + PORT_DIPSETTING( 0x00, DEF_STR( None ) ) + + PORT_START_TAG("GMIN2") /* Ghost Muncher - IN2 */ + PORT_DIPNAME( 0x03, 0x02, "Ghost Muncher - Coinage" ) PORT_CONDITION("GAMESEL",0x01,PORTCOND_NOTEQUALS,0x01) + PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0x03, DEF_STR( Free_Play ) ) + PORT_DIPNAME( 0x0c, 0x04, "Ghost Muncher - Lives" ) PORT_CONDITION("GAMESEL",0x01,PORTCOND_NOTEQUALS,0x01) + PORT_DIPSETTING( 0x0c, "1" ) + PORT_DIPSETTING( 0x08, "2" ) + PORT_DIPSETTING( 0x04, "3" ) + PORT_DIPSETTING( 0x00, "5" ) + PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) + + PORT_START_TAG("GLIN0") /* Galaxian - IN0 */ + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_CONDITION("GAMESEL",0x01,PORTCOND_EQUALS,0x01) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_CONDITION("GAMESEL",0x01,PORTCOND_EQUALS,0x01) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_CONDITION("GAMESEL",0x01,PORTCOND_EQUALS,0x01) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_CONDITION("GAMESEL",0x01,PORTCOND_EQUALS,0x01) + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_CONDITION("GAMESEL",0x01,PORTCOND_EQUALS,0x01) + PORT_DIPNAME( 0x20, 0x00, "Galaxian - Cabinet" ) PORT_CONDITION("GAMESEL",0x01,PORTCOND_EQUALS,0x01) + PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) + PORT_DIPSETTING( 0x20, DEF_STR( Cocktail ) ) + PORT_SERVICE( 0x40, IP_ACTIVE_HIGH ) PORT_CONDITION("GAMESEL",0x01,PORTCOND_EQUALS,0x01) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CONDITION("GAMESEL",0x01,PORTCOND_EQUALS,0x01) + + PORT_START_TAG("GLIN1") /* Galaxian - IN1 */ + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) PORT_CONDITION("GAMESEL",0x01,PORTCOND_EQUALS,0x01) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) PORT_CONDITION("GAMESEL",0x01,PORTCOND_EQUALS,0x01) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_COCKTAIL PORT_CONDITION("GAMESEL",0x01,PORTCOND_EQUALS,0x01) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_COCKTAIL PORT_CONDITION("GAMESEL",0x01,PORTCOND_EQUALS,0x01) + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL PORT_CONDITION("GAMESEL",0x01,PORTCOND_EQUALS,0x01) + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) PORT_CONDITION("GAMESEL",0x01,PORTCOND_EQUALS,0x01) + PORT_DIPNAME( 0xc0, 0x00, "Galaxian - Coinage" ) PORT_CONDITION("GAMESEL",0x01,PORTCOND_EQUALS,0x01) + PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0xc0, DEF_STR( Free_Play ) ) + + PORT_START_TAG("GLIN2") /* Galaxian - IN2 */ + PORT_DIPNAME( 0x03, 0x01, "Galaxian - Bonus Life" ) PORT_CONDITION("GAMESEL",0x01,PORTCOND_EQUALS,0x01) + PORT_DIPSETTING( 0x01, "4000" ) + PORT_DIPSETTING( 0x02, "5000" ) + PORT_DIPSETTING( 0x03, "7000" ) + PORT_DIPSETTING( 0x00, DEF_STR( None ) ) + PORT_DIPNAME( 0x04, 0x00, "Galaxian - Lives" ) PORT_CONDITION("GAMESEL",0x01,PORTCOND_EQUALS,0x01) + PORT_DIPSETTING( 0x00, "3" ) + PORT_DIPSETTING( 0x04, "5" ) + PORT_DIPUNUSED( 0x08, 0x00 ) + PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) + + PORT_START_TAG("GAMESEL") /* fake - game select */ + PORT_BIT( 0x01, 0x00, IPT_DIPSWITCH_NAME ) PORT_NAME("Game Select") PORT_CODE(KEYCODE_F1) PORT_TOGGLE PORT_CHANGED(gmgalax_game_changed, NULL) + PORT_DIPSETTING( 0x00, "Ghost Muncher" ) + PORT_DIPSETTING( 0x01, "Galaxian" ) +INPUT_PORTS_END + + + +/************************************* + * + * Input Ports + * Moon Cresta-derived games + * + *************************************/ + +static INPUT_PORTS_START( mooncrst ) + PORT_START_TAG("IN0") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) + PORT_DIPNAME( 0x20, 0x00, DEF_STR( Cabinet ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) + PORT_DIPSETTING( 0x20, DEF_STR( Cocktail ) ) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* "reset" on schematics */ + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) + + PORT_START_TAG("IN1") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_COCKTAIL + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_COCKTAIL + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_DIPNAME( 0x40, 0x00, DEF_STR( Bonus_Life ) ) + PORT_DIPSETTING( 0x00, "30000" ) + PORT_DIPSETTING( 0x40, "50000" ) + PORT_DIPNAME( 0x80, 0x80, DEF_STR( Language ) ) + PORT_DIPSETTING( 0x80, DEF_STR( English ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Japanese ) ) + + PORT_START_TAG("IN2") + PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coin_A ) ) + PORT_DIPSETTING( 0x03, DEF_STR( 4C_1C ) ) + PORT_DIPSETTING( 0x02, DEF_STR( 3C_1C ) ) + PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) + PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Coin_B ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0x08, DEF_STR( 1C_3C ) ) + PORT_DIPSETTING( 0x0c, DEF_STR( Free_Play ) ) + PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) +INPUT_PORTS_END + + +static INPUT_PORTS_START( mooncrsa ) + PORT_INCLUDE(mooncrst) + + PORT_MODIFY("IN2") + PORT_DIPUNUSED( 0x03, IP_ACTIVE_HIGH ) /* Not used due to code at 0x01c0 */ + PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Coinage ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0x08, DEF_STR( 1C_3C ) ) + PORT_DIPSETTING( 0x0c, DEF_STR( Free_Play ) ) +INPUT_PORTS_END + + +static INPUT_PORTS_START( mooncrsg ) + PORT_INCLUDE(mooncrst) + + PORT_MODIFY("IN1") + PORT_DIPUNUSED( 0x80, IP_ACTIVE_HIGH ) /* Always non-Japanese due to code at 0x2f77 */ +INPUT_PORTS_END + + +static INPUT_PORTS_START( fantazia ) + PORT_INCLUDE(mooncrst) + + PORT_MODIFY("IN1") + PORT_DIPUNUSED( 0x80, IP_ACTIVE_HIGH ) /* Always non-Japanese due to code at 0x2f53 */ + + PORT_MODIFY("IN2") + PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coin_B ) ) + PORT_DIPSETTING( 0x03, DEF_STR( 4C_1C ) ) + PORT_DIPSETTING( 0x02, DEF_STR( 3C_1C ) ) + PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) + PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Coin_A ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0x08, DEF_STR( 1C_3C ) ) + PORT_DIPSETTING( 0x0c, DEF_STR( Free_Play ) ) +INPUT_PORTS_END + + +static INPUT_PORTS_START( eagle2 ) + PORT_INCLUDE(mooncrst) + + PORT_MODIFY("IN2") + PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coinage ) ) + PORT_DIPSETTING( 0x03, DEF_STR( 4C_1C ) ) + PORT_DIPSETTING( 0x02, DEF_STR( 3C_1C ) ) + PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) + PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Free_Play ) ) /* Not used due to code at 0x01c0, but "Free Play" is checked */ + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) +// PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) +// PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x0c, DEF_STR( On ) ) +INPUT_PORTS_END + + +static INPUT_PORTS_START( smooncrs ) + PORT_INCLUDE(mooncrst) + + PORT_MODIFY("IN1") + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) /* Not read due to code at 0x2b1c and 0x3313 */ + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) /* Not read due to code at 0x2b1c and 0x3313 */ + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) /* Not read due to code at 0x2b1c and 0x3313 */ + PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty ) ) /* code at 0x2962 (0x2f68 in spcdrag) */ + PORT_DIPSETTING( 0x40, DEF_STR( Easy ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Hard ) ) + PORT_DIPNAME( 0x80, 0x80, "Player's Bullet Speed" ) /* code at 0x0007 (0x2f53 in spcdrag) */ + PORT_DIPSETTING( 0x00, "Slow" ) + PORT_DIPSETTING( 0x80, "Fast" ) + /* Bonus life is always '50000' due to code at 0x2f68 */ + /* Language is always non-Japanese due to code at 0x2f53 */ +INPUT_PORTS_END + + +static INPUT_PORTS_START( mooncrgx ) + PORT_INCLUDE(mooncrst) + + PORT_MODIFY("IN1") + PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coin_A ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x40, DEF_STR( 1C_1C ) ) + PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coin_B ) ) + PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) ) + + PORT_MODIFY("IN2") + PORT_DIPNAME( 0x01, 0x01, DEF_STR( Bonus_Life ) ) + PORT_DIPSETTING( 0x01, "30000" ) + PORT_DIPSETTING( 0x00, "50000" ) + PORT_DIPUNUSED( 0x02, 0x00 ) + PORT_DIPUNUSED( 0x04, 0x00 ) /* Always non-Japanese due to code removed at 0x2f4b */ + PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) + PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) ) +INPUT_PORTS_END + + +INPUT_PORTS_START( moonqsr ) + PORT_INCLUDE(mooncrst) + + PORT_MODIFY("IN1") + PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Difficulty ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Easy ) ) + PORT_DIPSETTING( 0x40, DEF_STR( Medium ) ) + PORT_DIPSETTING( 0x80, DEF_STR( Hard ) ) + PORT_DIPSETTING( 0xc0, DEF_STR( Hardest ) ) +INPUT_PORTS_END + + +INPUT_PORTS_START( moonal2 ) + PORT_INCLUDE(galaxian) + + PORT_MODIFY("IN2") + PORT_DIPNAME( 0x03, 0x00, DEF_STR( Bonus_Life ) ) + PORT_DIPSETTING( 0x01, "4000" ) + PORT_DIPSETTING( 0x02, "5000" ) + PORT_DIPSETTING( 0x03, "7000" ) + PORT_DIPSETTING( 0x00, DEF_STR( None ) ) + PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) ) + PORT_DIPSETTING( 0x00, "3" ) + PORT_DIPSETTING( 0x04, "5" ) + PORT_DIPUNUSED( 0x08, 0x00 ) +INPUT_PORTS_END + + +INPUT_PORTS_START( skybase ) + PORT_INCLUDE(mooncrst) + + PORT_MODIFY("IN0") + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED ) + + PORT_MODIFY("IN1") + PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coinage ) ) + PORT_DIPSETTING( 0x80, "1C/1C (2 to start)" ) + PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0xc0, DEF_STR( Free_Play ) ) + + PORT_MODIFY("IN2") + PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) ) + PORT_DIPSETTING( 0x00, "3" ) + PORT_DIPSETTING( 0x01, "4" ) + PORT_DIPSETTING( 0x02, "5" ) + PORT_DIPSETTING( 0x03, "Infinite (Cheat)") + PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) ) + PORT_DIPSETTING( 0x00, "10000" ) + PORT_DIPSETTING( 0x04, "15000" ) + PORT_DIPSETTING( 0x08, "20000" ) + PORT_DIPSETTING( 0x0c, DEF_STR( None ) ) + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON2 ) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL +INPUT_PORTS_END + + +INPUT_PORTS_START( jumpbug ) + PORT_START_TAG("IN0") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) + PORT_DIPNAME( 0x20, 0x00, DEF_STR( Cabinet ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) + PORT_DIPSETTING( 0x20, DEF_STR( Cocktail ) ) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY + + PORT_START_TAG("IN1") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN2 ) + PORT_DIPNAME( 0x40, 0x00, "Difficulty ?" ) + PORT_DIPSETTING( 0x00, DEF_STR( Hard ) ) + PORT_DIPSETTING( 0x40, DEF_STR( Easy ) ) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL + + PORT_START_TAG("IN2") + PORT_DIPNAME( 0x03, 0x01, DEF_STR( Lives ) ) + PORT_DIPSETTING( 0x01, "3" ) + PORT_DIPSETTING( 0x02, "4" ) + PORT_DIPSETTING( 0x03, "5" ) + PORT_DIPSETTING( 0x00, "Infinite (Cheat)") + PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Coinage ) ) + PORT_DIPSETTING( 0x04, "A 2C/1C B 2C/1C" ) + PORT_DIPSETTING( 0x08, "A 2C/1C B 1C/3C" ) + PORT_DIPSETTING( 0x00, "A 1C/1C B 1C/1C" ) + PORT_DIPSETTING( 0x0c, "A 1C/1C B 1C/6C" ) + PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) +INPUT_PORTS_END + + +INPUT_PORTS_START( levers ) + PORT_START_TAG("IN0") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1) + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN ) + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1) + + PORT_START_TAG("IN1") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN ) + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN2 ) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) + + PORT_START_TAG("IN2") + PORT_DIPUNKNOWN( 0x01, 0x01 ) /* probably unused */ + PORT_DIPUNKNOWN( 0x02, 0x02 ) /* probably unused */ + PORT_DIPNAME( 0x04, 0x00, "Leave On" ) /* used - MUST be ON */ + PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x08, 0x00, DEF_STR( Free_Play ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x08, DEF_STR( On ) ) + PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) +INPUT_PORTS_END + + +INPUT_PORTS_START( checkman ) + PORT_START_TAG("IN0") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN2 ) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN1 ) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL PORT_NAME("P2 Tiles Right") + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) + + PORT_START_TAG("IN1") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) PORT_NAME("Start 1 / P1 Tiles Left")/* also p1 tiles left */ + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) PORT_NAME("Start 2 / P1 Tiles Right")/* also p1 tiles right */ + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL PORT_NAME("P2 Tiles Left")/* p2 tiles left */ + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL + PORT_DIPNAME( 0x40, 0x00, DEF_STR( Coinage ) ) + PORT_DIPSETTING( 0x40, "A 2C/1C B 1C/3C" ) + PORT_DIPSETTING( 0x00, "A 1C/1C B 1C/6C" ) + PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) + PORT_DIPSETTING( 0x80, DEF_STR( Cocktail ) ) + + PORT_START_TAG("IN2") + PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) ) + PORT_DIPSETTING( 0x00, "3" ) + PORT_DIPSETTING( 0x01, "4" ) + PORT_DIPSETTING( 0x02, "5" ) + PORT_DIPSETTING( 0x03, "6" ) + PORT_DIPNAME( 0x04, 0x00, DEF_STR( Bonus_Life ) ) + PORT_DIPSETTING( 0x00, "100000" ) + PORT_DIPSETTING( 0x04, "200000" ) + PORT_DIPNAME( 0x08, 0x00, "Difficulty Increases At Level" ) + PORT_DIPSETTING( 0x08, "3" ) + PORT_DIPSETTING( 0x00, "5" ) + PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) +INPUT_PORTS_END + + +INPUT_PORTS_START( checkmaj ) + PORT_INCLUDE(checkman) + + PORT_MODIFY("IN0") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2) PORT_COCKTAIL PORT_NAME("P2 Tiles Right") + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) + + PORT_MODIFY("IN1") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_COCKTAIL PORT_NAME("P2 Tiles Left") + + PORT_MODIFY("IN2") + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("P1 Tiles Right") + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("P1 Tiles Left") + PORT_BIT( 0xc0, IP_ACTIVE_HIGH, IPT_UNUSED ) +INPUT_PORTS_END + + +INPUT_PORTS_START( dingo ) + PORT_START_TAG("IN0") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL /* 1st Button 1 */ + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) + + PORT_START_TAG("IN1") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL /* 2nd Button 1 */ + PORT_DIPNAME( 0x40, 0x00, DEF_STR( Cabinet ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) + PORT_DIPSETTING( 0x40, DEF_STR( Cocktail ) ) + PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coinage ) ) + PORT_DIPSETTING( 0x80, "A 1C/1C B 1C/5C" ) + PORT_DIPSETTING( 0x00, "A 2C/1C B 1C/3C" ) + + PORT_START_TAG("IN2") + PORT_DIPNAME( 0x03, 0x01, DEF_STR( Difficulty ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Easiest ) ) + PORT_DIPSETTING( 0x01, DEF_STR( Easy ) ) + PORT_DIPSETTING( 0x02, DEF_STR( Hard ) ) + PORT_DIPSETTING( 0x03, DEF_STR( Hardest ) ) + PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) ) + PORT_DIPSETTING( 0x00, "3" ) + PORT_DIPSETTING( 0x04, "4" ) + PORT_DIPNAME( 0x08, 0x00, DEF_STR( Bonus_Life ) ) + PORT_DIPSETTING( 0x00, "20000" ) + PORT_DIPSETTING( 0x08, "40000" ) + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) /* Yes, the game reads both of these */ + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) /* Check code at 0x22e1 */ +INPUT_PORTS_END + + +INPUT_PORTS_START( mshuttle ) + PORT_START_TAG("IN0") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) + + PORT_START_TAG("IN1") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL + PORT_SERVICE( 0x40, IP_ACTIVE_HIGH ) + PORT_DIPNAME( 0x80, 0x80, DEF_STR( Cabinet ) ) + PORT_DIPSETTING( 0x80, DEF_STR( Upright ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) ) + + PORT_START_TAG("IN2") + PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) ) + PORT_DIPSETTING( 0x00, "3" ) + PORT_DIPSETTING( 0x01, "4" ) + PORT_DIPSETTING( 0x02, "5" ) + PORT_DIPSETTING( 0x03, "6" ) + PORT_DIPNAME( 0x04, 0x00, DEF_STR( Bonus_Life ) ) + PORT_DIPSETTING( 0x00, "20000" ) + PORT_DIPSETTING( 0x04, "30000" ) + PORT_DIPNAME( 0x18, 0x00, DEF_STR( Coin_A ) ) + PORT_DIPSETTING( 0x18, DEF_STR( 4C_1C ) ) + PORT_DIPSETTING( 0x10, DEF_STR( 3C_1C ) ) + PORT_DIPSETTING( 0x08, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) + PORT_DIPNAME( 0x60, 0x00, DEF_STR( Coin_B ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0x40, DEF_STR( 1C_3C ) ) + PORT_DIPSETTING( 0x60, DEF_STR( 1C_4C ) ) + PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x80, DEF_STR( On ) ) +INPUT_PORTS_END + + +INPUT_PORTS_START( kingball ) + PORT_INCLUDE(galaxian) + + PORT_MODIFY("IN0") + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(kingball_muxbit_r, 0) + /* Relating to above port:Hack? - possibly multiplexed via writes to $b003 */ + //PORT_DIPNAME( 0x40, 0x40, "Speech" ) + //PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + //PORT_DIPSETTING( 0x40, DEF_STR( On ) ) + + PORT_MODIFY("IN1") + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(kingball_noise_r, 0) /* NOISE line */ + + PORT_MODIFY("IN2") + PORT_DIPNAME( 0x03, 0x00, DEF_STR( Bonus_Life ) ) + PORT_DIPSETTING( 0x00, "10000" ) + PORT_DIPSETTING( 0x01, "12000" ) + PORT_DIPSETTING( 0x02, "15000" ) + PORT_DIPSETTING( 0x03, DEF_STR( None ) ) + + PORT_START_TAG("FAKE") + PORT_SERVICE( 0x01, IP_ACTIVE_HIGH ) + PORT_DIPNAME( 0x02, 0x02, "Speech" ) + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x02, DEF_STR( On ) ) +INPUT_PORTS_END + + + +/************************************* + * + * Input Ports + * Konami games + * + *************************************/ + +INPUT_PORTS_START( frogger ) + PORT_START_TAG("IN0") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* 1P shoot2 - unused */ + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* 1P shoot1 - unused */ + 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( 0x03, 0x00, DEF_STR( Lives ) ) + PORT_DIPSETTING( 0x00, "3" ) + PORT_DIPSETTING( 0x01, "5" ) + PORT_DIPSETTING( 0x02, "7" ) + PORT_DIPSETTING( 0x03, "256 (Cheat)") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* 2P shoot2 - unused */ + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* 2P shoot1 - unused */ + 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, 0x00, DEF_STR( Coinage ) ) + PORT_DIPSETTING( 0x02, "A 2/1 B 2/1 C 2/1" ) + PORT_DIPSETTING( 0x04, "A 2/1 B 1/3 C 2/1" ) + PORT_DIPSETTING( 0x00, "A 1/1 B 1/1 C 1/1" ) + PORT_DIPSETTING( 0x06, "A 1/1 B 1/6 C 1/1" ) + 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_4WAY + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) +INPUT_PORTS_END + + +INPUT_PORTS_START( froggrmc ) + PORT_START_TAG("IN0") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SERVICE1 ) + + PORT_START_TAG("IN1") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL + PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Lives ) ) + PORT_DIPSETTING( 0xc0, "3" ) + PORT_DIPSETTING( 0x80, "5" ) + PORT_DIPSETTING( 0x40, "7" ) + PORT_DIPSETTING( 0x00, "256 (Cheat)") + + PORT_START_TAG("IN2") + PORT_DIPNAME( 0x01, 0x01, DEF_STR( Cabinet ) ) + PORT_DIPSETTING( 0x01, DEF_STR( Upright ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) ) + PORT_DIPNAME( 0x06, 0x06, DEF_STR( Coinage ) ) + PORT_DIPSETTING( 0x02, "A 2/1 B 2/1 C 2/1" ) + PORT_DIPSETTING( 0x04, "A 2/1 B 1/3 C 2/1" ) + PORT_DIPSETTING( 0x06, "A 1/1 B 1/1 C 1/1" ) + PORT_DIPSETTING( 0x00, "A 1/1 B 1/6 C 1/1" ) + PORT_BIT( 0xf8, IP_ACTIVE_HIGH, IPT_UNKNOWN ) +INPUT_PORTS_END + + +INPUT_PORTS_START( frogg ) + PORT_INCLUDE(froggrmc) + + PORT_MODIFY("IN0") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SPECIAL ) // See notes + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY + + PORT_MODIFY("IN1") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SPECIAL ) // See notes + + PORT_MODIFY("IN2") + PORT_DIPUNUSED( 0x02, 0x00 ) // not tested due to code at 0x3084 + PORT_DIPNAME( 0x04, 0x04, DEF_STR( Coinage ) ) // when "Cabinet" Dip Switch set to "Upright" + PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) // "A 1/1 B 1/6" if "Cabinet" Dip Switch set to "Cocktail" + PORT_DIPSETTING( 0x04, DEF_STR( 1C_1C ) ) // "A 2/1 B 1/3" if "Cabinet" Dip Switch set to "Cocktail" + PORT_DIPUNUSED( 0x08, 0x00 ) +INPUT_PORTS_END + + +INPUT_PORTS_START( turtles ) + PORT_START_TAG("IN0") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY 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_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( 0x03, 0x01, DEF_STR( Lives ) ) + PORT_DIPSETTING( 0x00, "3" ) + PORT_DIPSETTING( 0x01, "4" ) + PORT_DIPSETTING( 0x02, "5" ) + PORT_DIPSETTING( 0x03, "126 (Cheat)") + 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_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, 0x00, DEF_STR( Coinage ) ) + PORT_DIPSETTING( 0x00, "A 1/1 B 2/1 C 1/1" ) + PORT_DIPSETTING( 0x02, "A 1/2 B 1/1 C 1/2" ) + PORT_DIPSETTING( 0x04, "A 1/3 B 3/1 C 1/3" ) + PORT_DIPSETTING( 0x06, "A 1/4 B 4/1 C 1/4" ) + 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_4WAY + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) +INPUT_PORTS_END + + +INPUT_PORTS_START( turpin ) + PORT_INCLUDE(turtles) + + PORT_MODIFY("IN1") + PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) ) + PORT_DIPSETTING( 0x00, "3" ) + PORT_DIPSETTING( 0x01, "5" ) + PORT_DIPSETTING( 0x02, "7" ) + PORT_DIPSETTING( 0x03, "126 (Cheat)") + + PORT_MODIFY("IN2") + PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) ) + PORT_DIPSETTING( 0x06, DEF_STR( 4C_1C ) ) + PORT_DIPSETTING( 0x02, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) ) + + PORT_START_TAG("IN3") + PORT_BIT( 0xff, 0x00, IPT_UNKNOWN ) +INPUT_PORTS_END + + +INPUT_PORTS_START( amidar ) + PORT_INCLUDE(turtles) + + PORT_MODIFY("IN1") + PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) + PORT_DIPSETTING( 0x03, "3" ) + PORT_DIPSETTING( 0x02, "4" ) + PORT_DIPSETTING( 0x01, "5" ) + PORT_DIPSETTING( 0x00, "255 (Cheat)") + + PORT_MODIFY("IN2") + PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) + PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x04, 0x00, DEF_STR( Bonus_Life ) ) + PORT_DIPSETTING( 0x00, "30000 50000" ) + PORT_DIPSETTING( 0x04, "50000 50000" ) + + PORT_START_TAG("IN3") + PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) ) + PORT_DIPSETTING( 0x04, DEF_STR( 4C_1C ) ) + PORT_DIPSETTING( 0x0a, DEF_STR( 3C_1C ) ) + PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x02, DEF_STR( 3C_2C ) ) + PORT_DIPSETTING( 0x08, DEF_STR( 4C_3C ) ) + PORT_DIPSETTING( 0x0f, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x0c, DEF_STR( 3C_4C ) ) + PORT_DIPSETTING( 0x0e, DEF_STR( 2C_3C ) ) + PORT_DIPSETTING( 0x07, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0x06, DEF_STR( 2C_5C ) ) + PORT_DIPSETTING( 0x0b, DEF_STR( 1C_3C ) ) + PORT_DIPSETTING( 0x03, DEF_STR( 1C_4C ) ) + PORT_DIPSETTING( 0x0d, DEF_STR( 1C_5C ) ) + PORT_DIPSETTING( 0x05, DEF_STR( 1C_6C ) ) + PORT_DIPSETTING( 0x09, DEF_STR( 1C_7C ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) ) + PORT_DIPNAME( 0xf0, 0xf0, DEF_STR( Coin_B ) ) + PORT_DIPSETTING( 0x40, DEF_STR( 4C_1C ) ) + PORT_DIPSETTING( 0xa0, DEF_STR( 3C_1C ) ) + PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x20, DEF_STR( 3C_2C ) ) + PORT_DIPSETTING( 0x80, DEF_STR( 4C_3C ) ) + PORT_DIPSETTING( 0xf0, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0xc0, DEF_STR( 3C_4C ) ) + PORT_DIPSETTING( 0xe0, DEF_STR( 2C_3C ) ) + PORT_DIPSETTING( 0x70, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0x60, DEF_STR( 2C_5C ) ) + PORT_DIPSETTING( 0xb0, DEF_STR( 1C_3C ) ) + PORT_DIPSETTING( 0x30, DEF_STR( 1C_4C ) ) + PORT_DIPSETTING( 0xd0, DEF_STR( 1C_5C ) ) + PORT_DIPSETTING( 0x50, DEF_STR( 1C_6C ) ) + PORT_DIPSETTING( 0x90, DEF_STR( 1C_7C ) ) + PORT_DIPSETTING( 0x00, "Disable All Coins" ) +INPUT_PORTS_END + + +INPUT_PORTS_START( amidaru ) + PORT_INCLUDE(amidar) + + PORT_MODIFY("IN2") + PORT_DIPNAME( 0x04, 0x00, DEF_STR( Bonus_Life ) ) + PORT_DIPSETTING( 0x00, "30000 70000" ) + PORT_DIPSETTING( 0x04, "50000 80000" ) +INPUT_PORTS_END + + +INPUT_PORTS_START( amidaro ) + PORT_INCLUDE(amidar) + + PORT_MODIFY("IN1") + PORT_DIPNAME( 0x03, 0x01, DEF_STR( Lives ) ) + PORT_DIPSETTING( 0x03, "1" ) + PORT_DIPSETTING( 0x02, "2" ) + PORT_DIPSETTING( 0x01, "3" ) + PORT_DIPSETTING( 0x00, "4" ) + + PORT_MODIFY("IN2") + PORT_DIPNAME( 0x02, 0x00, "Level Progression" ) + PORT_DIPSETTING( 0x00, "Slow" ) + PORT_DIPSETTING( 0x02, "Fast" ) + PORT_DIPNAME( 0x04, 0x00, DEF_STR( Bonus_Life ) ) + PORT_DIPSETTING( 0x00, "30000 70000" ) + PORT_DIPSETTING( 0x04, "50000 80000" ) +INPUT_PORTS_END + + +INPUT_PORTS_START( amidars ) + PORT_INCLUDE(turtles) + + PORT_MODIFY("IN1") + PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) ) + PORT_DIPSETTING( 0x03, "2" ) + PORT_DIPSETTING( 0x02, "3" ) + PORT_DIPSETTING( 0x01, "4" ) + PORT_DIPSETTING( 0x00, "256 (Cheat)") + + PORT_MODIFY("IN2") + PORT_DIPNAME( 0x02, 0x00, DEF_STR( Coinage ) ) + PORT_DIPSETTING( 0x00, "A 1/1 B 1/6" ) + PORT_DIPSETTING( 0x02, "A 2/1 B 1/3" ) + PORT_DIPUNKNOWN( 0x04, 0x00 ) +INPUT_PORTS_END + + +INPUT_PORTS_START( theend ) + PORT_START_TAG("IN0") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) + 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 ) + + 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, "256 (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_UNKNOWN ) + 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( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED ) /* output bits */ +INPUT_PORTS_END + + +INPUT_PORTS_START( scramble ) + 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 ) + + 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_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) ) + PORT_DIPSETTING( 0x00, "A 1/1 B 2/1 C 1/1" ) + PORT_DIPSETTING( 0x02, "A 1/2 B 1/1 C 1/2" ) + PORT_DIPSETTING( 0x04, "A 1/3 B 3/1 C 1/3" ) + PORT_DIPSETTING( 0x06, "A 1/4 B 4/1 C 1/4" ) + 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_SPECIAL ) PORT_CUSTOM(scramble_protection_alt_r, (void *)0) /* protection bit */ + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM(scramble_protection_alt_r, (void *)1) /* protection bit */ +INPUT_PORTS_END + + +INPUT_PORTS_START( strfbomb ) + PORT_INCLUDE(scramble) + + PORT_MODIFY("IN2") + PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) ) + PORT_DIPSETTING( 0x00, "A 1/2 B 4/1 C 1/2" ) + PORT_DIPSETTING( 0x02, "A 1/3 B 2/1 C 1/3" ) + PORT_DIPSETTING( 0x04, "A 1/4 B 3/1 C 1/4" ) + PORT_DIPSETTING( 0x06, "A 1/5 B 1/1 C 1/5" ) +INPUT_PORTS_END + + +INPUT_PORTS_START( explorer ) + PORT_START_TAG("IN0") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_COIN2 ) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_COIN1 ) + + PORT_START_TAG("IN1") + PORT_DIPUNKNOWN( 0x01, 0x00 ) + PORT_DIPUNKNOWN( 0x02, 0x00 ) + PORT_DIPUNKNOWN( 0x04, 0x00 ) + PORT_DIPUNKNOWN( 0x08, 0x00 ) + PORT_DIPUNKNOWN( 0x10, 0x00 ) + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* pressing this disables the coins */ + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_START2 ) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_START1 ) + + PORT_START_TAG("IN2") + PORT_DIPNAME( 0x0f, 0x00, DEF_STR( Coin_A ) ) + PORT_DIPSETTING( 0x08, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x09, DEF_STR( 2C_2C ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x0a, DEF_STR( 2C_3C ) ) + PORT_DIPSETTING( 0x0b, DEF_STR( 2C_4C ) ) + PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0x0c, DEF_STR( 2C_5C ) ) + PORT_DIPSETTING( 0x0d, DEF_STR( 2C_6C ) ) + PORT_DIPSETTING( 0x02, DEF_STR( 1C_3C ) ) + PORT_DIPSETTING( 0x0e, DEF_STR( 2C_7C ) ) + PORT_DIPSETTING( 0x0f, DEF_STR( 2C_8C ) ) + PORT_DIPSETTING( 0x03, DEF_STR( 1C_4C ) ) + PORT_DIPSETTING( 0x04, DEF_STR( 1C_5C ) ) + PORT_DIPSETTING( 0x05, DEF_STR( 1C_6C ) ) + PORT_DIPSETTING( 0x06, DEF_STR( 1C_7C ) ) + PORT_DIPSETTING( 0x07, DEF_STR( 1C_8C ) ) + PORT_DIPNAME( 0xf0, 0x00, DEF_STR( Coin_B ) ) + PORT_DIPSETTING( 0x80, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x90, DEF_STR( 2C_2C ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0xa0, DEF_STR( 2C_3C ) ) + PORT_DIPSETTING( 0xb0, DEF_STR( 2C_4C ) ) + PORT_DIPSETTING( 0x10, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0xc0, DEF_STR( 2C_5C ) ) + PORT_DIPSETTING( 0xd0, DEF_STR( 2C_6C ) ) + PORT_DIPSETTING( 0x20, DEF_STR( 1C_3C ) ) + PORT_DIPSETTING( 0xe0, DEF_STR( 2C_7C ) ) + PORT_DIPSETTING( 0xf0, DEF_STR( 2C_8C ) ) + PORT_DIPSETTING( 0x30, DEF_STR( 1C_4C ) ) + PORT_DIPSETTING( 0x40, DEF_STR( 1C_5C ) ) + PORT_DIPSETTING( 0x50, DEF_STR( 1C_6C ) ) + PORT_DIPSETTING( 0x60, DEF_STR( 1C_7C ) ) + PORT_DIPSETTING( 0x70, DEF_STR( 1C_8C ) ) + + PORT_START_TAG("IN3") + PORT_DIPNAME( 0x03, 0x01, DEF_STR( Lives ) ) + PORT_DIPSETTING( 0x00, "2" ) + PORT_DIPSETTING( 0x01, "3" ) + PORT_DIPSETTING( 0x02, "4" ) + PORT_DIPSETTING( 0x03, "5" ) + PORT_DIPNAME( 0x1c, 0x00, DEF_STR( Bonus_Life ) ) + PORT_DIPSETTING( 0x04, "10000" ) + PORT_DIPSETTING( 0x0c, "15000" ) + PORT_DIPSETTING( 0x14, "20000" ) + PORT_DIPSETTING( 0x1c, "25000" ) + PORT_DIPSETTING( 0x00, "30000" ) + PORT_DIPSETTING( 0x08, "50000" ) + PORT_DIPSETTING( 0x10, "70000" ) + PORT_DIPSETTING( 0x18, "90000" ) + PORT_DIPUNKNOWN( 0x20, 0x00 ) + PORT_DIPUNKNOWN( 0x40, 0x00 ) + PORT_SERVICE( 0x80, IP_ACTIVE_HIGH ) +INPUT_PORTS_END + + +INPUT_PORTS_START( atlantis ) + 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_UNKNOWN ) /* probably 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 ) + + PORT_START_TAG("IN1") + PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) + PORT_DIPSETTING( 0x01, DEF_STR( Cocktail ) ) + PORT_DIPNAME( 0x02, 0x02, DEF_STR( Lives ) ) + PORT_DIPSETTING( 0x02, "3" ) + PORT_DIPSETTING( 0x00, "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 ) + + PORT_START_TAG("IN2") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL + PORT_DIPNAME( 0x0e, 0x00, DEF_STR( Coinage ) ) + PORT_DIPSETTING( 0x02, "A 1/3 B 2/1" ) + PORT_DIPSETTING( 0x00, "A 1/6 B 1/1" ) + PORT_DIPSETTING( 0x04, "A 1/99 B 1/99") + /* all the other combos give 99 credits */ + 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 + + +INPUT_PORTS_START( scorpion ) + 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_UNKNOWN ) + 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( 0x03, 0x03, DEF_STR( Lives ) ) + PORT_DIPSETTING( 0x03, "3") + PORT_DIPSETTING( 0x02, "4" ) + PORT_DIPSETTING( 0x01, "5" ) + PORT_DIPSETTING( 0x00, "255" ) + 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_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x04, 0x00, DEF_STR( Cabinet ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) + PORT_DIPSETTING( 0x04, DEF_STR( Cocktail ) ) + PORT_DIPNAME( 0x08, 0x08, DEF_STR( Coinage ) ) + PORT_DIPSETTING( 0x08, "A 1/1 B 1/1" ) + PORT_DIPSETTING( 0x00, "A 1/1 B 1/3" ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY + PORT_DIPNAME( 0xa0, 0xa0, DEF_STR( Difficulty ) ) + PORT_DIPSETTING( 0xa0, DEF_STR( Normal ) ) + PORT_DIPSETTING( 0x80, DEF_STR( Medium ) ) + PORT_DIPSETTING( 0x20, DEF_STR( Hard ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Very_Hard ) ) +INPUT_PORTS_END + + +INPUT_PORTS_START( scorpnmc ) + PORT_START_TAG("IN0") /* 0xa000 */ + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) // COIN2? (it ALWAYS adds 1 credit) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN1 ) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY + + PORT_START_TAG("IN1") /* 0xa800 */ + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) PORT_NAME("Start 1 / P1 Button 1") /* also P1 Button 1 */ + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) PORT_NAME("Start 2 / P1 Button 2") /* also P1 Button 2 */ + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL + PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Difficulty ) ) // Check code at 0x0118 + PORT_DIPSETTING( 0x00, DEF_STR( Easy ) ) + PORT_DIPSETTING( 0x40, DEF_STR( Normal ) ) + PORT_DIPSETTING( 0x80, DEF_STR( Hard ) ) + PORT_DIPSETTING( 0xc0, DEF_STR( Hardest ) ) + + PORT_START_TAG("IN2") /* 0xb001 */ + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Lives ) ) // Check code at 0x00eb + PORT_DIPSETTING( 0x00, "2" ) + PORT_DIPSETTING( 0x04, "3" ) + PORT_DIPSETTING( 0x08, "4" ) + PORT_DIPSETTING( 0x0c, "5" ) + PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) + + PORT_START_TAG("IN3") /* 0xb002 */ + PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) ) // Check code at 0x00fe + PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) + PORT_DIPSETTING( 0x01, DEF_STR( Cocktail ) ) + PORT_DIPNAME( 0x06, 0x02, DEF_STR( Coinage ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0x06, DEF_STR( 1C_3C ) ) + PORT_BIT( 0xf8, IP_ACTIVE_HIGH, IPT_UNUSED ) +INPUT_PORTS_END + + +INPUT_PORTS_START( sfx ) + 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_BUTTON1 ) PORT_PLAYER(1) // "Fire" left + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) // "Fire" right + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) + + PORT_START_TAG("IN1") + PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) ) + PORT_DIPSETTING( 0x02, "3" ) + PORT_DIPSETTING( 0x01, "4" ) + PORT_DIPSETTING( 0x00, "5" ) + PORT_DIPSETTING( 0x03, "Invulnerability (Cheat)") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) // "Fire" left + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) // "Fire" right + 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 ) + + PORT_START_TAG("IN2") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) + PORT_DIPNAME( 0x06, 0x06, DEF_STR( Coinage ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) ) + PORT_DIPSETTING( 0x02, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x06, 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_PLAYER(1) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* unused */ + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* unused */ +INPUT_PORTS_END + + +INPUT_PORTS_START( scobra ) + 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 ) + + 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 ) + + 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 ) +INPUT_PORTS_END + + +INPUT_PORTS_START( scobras ) + PORT_INCLUDE(scobra) + + PORT_MODIFY("IN1") + PORT_DIPNAME( 0x02, 0x00, DEF_STR( Lives ) ) + PORT_DIPSETTING( 0x00, "3" ) + PORT_DIPSETTING( 0x02, "5" ) +INPUT_PORTS_END + + +/* cocktail mode is N/A */ +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_DIPUNKNOWN( 0x80, 0x00 ) + + PORT_START_TAG("IN2") + PORT_DIPUNKNOWN( 0x01, 0x00 ) + 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_DIPUNKNOWN( 0x08, 0x00 ) + PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNKNOWN ) +INPUT_PORTS_END + + +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_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) + 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_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) +INPUT_PORTS_END + + +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_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) +INPUT_PORTS_END + + +/* cocktail mode not working due to bug in game code */ +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_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) +INPUT_PORTS_END + + + +/************************************* + * + * ROM definitions + * Galaxian-derived games + * + *************************************/ + +ROM_START( galaxian ) + ROM_REGION( 0x4000, REGION_CPU1, 0 ) + ROM_LOAD( "galmidw.u", 0x0000, 0x0800, CRC(745e2d61) SHA1(e65f74e35b1bfaccd407e168ea55678ae9b68edf) ) + ROM_LOAD( "galmidw.v", 0x0800, 0x0800, CRC(9c999a40) SHA1(02fdcd95d8511e64c0d2b007b874112d53e41045) ) + ROM_LOAD( "galmidw.w", 0x1000, 0x0800, CRC(b5894925) SHA1(0046b9ed697a34d088de1aead8bd7cbe526a2396) ) + ROM_LOAD( "galmidw.y", 0x1800, 0x0800, CRC(6b3ca10b) SHA1(18d8714e5ef52f63ba8888ecc5a25b17b3bf17d1) ) + ROM_LOAD( "7l", 0x2000, 0x0800, CRC(1b933207) SHA1(8b44b0f74420871454e27894d0f004859f9e59a9) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "1h.bin", 0x0000, 0x0800, CRC(39fb43a4) SHA1(4755609bd974976f04855d51e08ec0d62ab4bc07) ) + ROM_LOAD( "1k.bin", 0x0800, 0x0800, CRC(7e3f56a2) SHA1(a9795d8b7388f404f3b0e2c6ce15d713a4c5bafa) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) +ROM_END + +ROM_START( galaxiaj ) + ROM_REGION( 0x4000, REGION_CPU1, 0 ) + ROM_LOAD( "7f.bin", 0x0000, 0x1000, CRC(4335b1de) SHA1(e41e3d90dac738cf71377f3b476ec67b14dee27a) ) + ROM_LOAD( "7j.bin", 0x1000, 0x1000, CRC(4e6f66a1) SHA1(ee2a675ab34485c0f58c51be7630a51e27a7a8f3) ) + ROM_LOAD( "7l.bin", 0x2000, 0x0800, CRC(5341d75a) SHA1(40bc8fcc598f58c6ff944e2a4a9288463e75a09d) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "1h.bin", 0x0000, 0x0800, CRC(39fb43a4) SHA1(4755609bd974976f04855d51e08ec0d62ab4bc07) ) + ROM_LOAD( "1k.bin", 0x0800, 0x0800, CRC(7e3f56a2) SHA1(a9795d8b7388f404f3b0e2c6ce15d713a4c5bafa) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) +ROM_END + +ROM_START( galmidw ) + ROM_REGION( 0x4000, REGION_CPU1, 0 ) + ROM_LOAD( "galmidw.u", 0x0000, 0x0800, CRC(745e2d61) SHA1(e65f74e35b1bfaccd407e168ea55678ae9b68edf) ) + ROM_LOAD( "galmidw.v", 0x0800, 0x0800, CRC(9c999a40) SHA1(02fdcd95d8511e64c0d2b007b874112d53e41045) ) + ROM_LOAD( "galmidw.w", 0x1000, 0x0800, CRC(b5894925) SHA1(0046b9ed697a34d088de1aead8bd7cbe526a2396) ) + ROM_LOAD( "galmidw.y", 0x1800, 0x0800, CRC(6b3ca10b) SHA1(18d8714e5ef52f63ba8888ecc5a25b17b3bf17d1) ) + ROM_LOAD( "galmidw.z", 0x2000, 0x0800, CRC(cb24f797) SHA1(e6bb977ded0654c2c7388aad188059e1e0647908) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "galaxian.j1", 0x0000, 0x0800, CRC(84decf98) SHA1(2e565cb6057b1816a6b4541e6dfadd3c3762fa36) ) + ROM_LOAD( "galaxian.l1", 0x0800, 0x0800, CRC(c31ada9e) SHA1(237ebb48549b34ca59a13cc2706512d957413ec4) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) +ROM_END + +ROM_START( galmidwo ) + ROM_REGION( 0x4000, REGION_CPU1, 0 ) + ROM_LOAD( "galaxian.u", 0x0000, 0x0800, CRC(fac42d34) SHA1(0b96d9f1c6bf0e0b7f757dcbaeacfbfafefc54d1) ) + ROM_LOAD( "galaxian.v", 0x0800, 0x0800, CRC(f58283e3) SHA1(edc6e72516c50fd3402281d9936574d276581ce9) ) + ROM_LOAD( "galaxian.w", 0x1000, 0x0800, CRC(4c7031c0) SHA1(97f7ab0cedcd8eba1c8f6f516d84d672a2108258) ) + ROM_LOAD( "galaxian.y", 0x1800, 0x0800, CRC(96a7ac94) SHA1(c3c7a43117c8b9fd8621823c872889f8e31bf935) ) + ROM_LOAD( "7l.bin", 0x2000, 0x0800, CRC(5341d75a) SHA1(40bc8fcc598f58c6ff944e2a4a9288463e75a09d) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "galaxian.j1", 0x0000, 0x0800, CRC(84decf98) SHA1(2e565cb6057b1816a6b4541e6dfadd3c3762fa36) ) + ROM_LOAD( "galaxian.l1", 0x0800, 0x0800, CRC(c31ada9e) SHA1(237ebb48549b34ca59a13cc2706512d957413ec4) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) +ROM_END + +ROM_START( galtaito ) + ROM_REGION( 0x4000, REGION_CPU1, 0 ) + ROM_LOAD( "gl-03.8g", 0x0000, 0x0800, CRC(e8f3aa67) SHA1(a0e9576784dbe602dd9780e667f01f31defd7c00) ) /* All eprom are HN462716 eproms */ + ROM_LOAD( "gl-04.8f", 0x0800, 0x0800, CRC(f58283e3) SHA1(edc6e72516c50fd3402281d9936574d276581ce9) ) + ROM_LOAD( "gl-05.8e", 0x1000, 0x0800, CRC(4c7031c0) SHA1(97f7ab0cedcd8eba1c8f6f516d84d672a2108258) ) + ROM_LOAD( "gl-06.8d", 0x1800, 0x0800, CRC(097d92a2) SHA1(63ef86657286a4e1fae4f795e0e6b410ca2ef06b) ) + ROM_LOAD( "gl-07.8c", 0x2000, 0x0800, CRC(5341d75a) SHA1(40bc8fcc598f58c6ff944e2a4a9288463e75a09d) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "gl-01.1j", 0x0000, 0x0800, CRC(968b6016) SHA1(f13e4a8d0fdeb121d39ca76120acdc6c7e7f377c) ) + ROM_LOAD( "gl-02.1k", 0x0800, 0x0800, CRC(d14f7510) SHA1(cd09e6ee0a3890d01b2415f5b8346c42c02d15a3) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) +ROM_END + + +ROM_START( moonaln ) + ROM_REGION( 0x4000, REGION_CPU1, 0 ) + ROM_LOAD( "galx.u", 0x0000, 0x0800, CRC(79e4007d) SHA1(d55050498a670d1c022ba3caad34f8fcaccf4a30) ) // prg1.bin + ROM_LOAD( "prg2.bin", 0x0800, 0x0800, CRC(59580b30) SHA1(e659426ad8c4e5e10a7cdd07d8b4fea93f875026) ) + ROM_LOAD( "prg3.bin", 0x1000, 0x0800, CRC(b64e9d12) SHA1(3b07902ea61388f54c03d65082e78dfc0fa8d3d2) ) + ROM_LOAD( "superg.y", 0x1800, 0x0800, CRC(9463f753) SHA1(d9cb35c19aafec43d08b048bbe2337a790f6ba9d) ) // prg4.bin + ROM_LOAD( "prg5.bin", 0x2000, 0x0800, CRC(8bb78987) SHA1(5f24dba0bb31fc8bda5bf570d568472befc4d740) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "ca1.bin", 0x0000, 0x0800, CRC(074271dd) SHA1(cd6a40b493bc51c5340d7083f83c51834b95b5fe) ) + ROM_LOAD( "ca2.bin", 0x0800, 0x0800, CRC(84d90397) SHA1(93e6ded079c9721d3f9c003e378e8121584671c9) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) +ROM_END + +ROM_START( superg ) + ROM_REGION( 0x4000, REGION_CPU1, 0 ) + ROM_LOAD( "7f.bin", 0x0000, 0x1000, CRC(4335b1de) SHA1(e41e3d90dac738cf71377f3b476ec67b14dee27a) ) + ROM_LOAD( "superg.w", 0x1000, 0x0800, CRC(ddeabdae) SHA1(daa5109a32c7c9a80bdb212dc3e4e3e3c104a731) ) + ROM_LOAD( "superg.y", 0x1800, 0x0800, CRC(9463f753) SHA1(d9cb35c19aafec43d08b048bbe2337a790f6ba9d) ) + ROM_LOAD( "superg.z", 0x2000, 0x0800, CRC(e6312e35) SHA1(c4010459379d7fe00f605aaf288928b2deffb8b2) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "galmidw.1j", 0x0000, 0x0800, CRC(84decf98) SHA1(2e565cb6057b1816a6b4541e6dfadd3c3762fa36) ) + ROM_LOAD( "galmidw.1k", 0x0800, 0x0800, CRC(c31ada9e) SHA1(237ebb48549b34ca59a13cc2706512d957413ec4) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) +ROM_END + +ROM_START( galturbo ) + ROM_REGION( 0x4000, REGION_CPU1, 0 ) + ROM_LOAD( "galturbo.u", 0x0000, 0x0800, CRC(e8f3aa67) SHA1(a0e9576784dbe602dd9780e667f01f31defd7c00) ) + ROM_LOAD( "galx.v", 0x0800, 0x0800, CRC(bc16064e) SHA1(4e3220fd63c8184bf9581a89dffb6944d8fae3bb) ) + ROM_LOAD( "superg.w", 0x1000, 0x0800, CRC(ddeabdae) SHA1(daa5109a32c7c9a80bdb212dc3e4e3e3c104a731) ) + ROM_LOAD( "galturbo.y", 0x1800, 0x0800, CRC(a44f450f) SHA1(4009834afb45e9b23c7cf058bcd3378ef8601872) ) + ROM_LOAD( "galturbo.z", 0x2000, 0x0800, CRC(3247f3d4) SHA1(5754dedc2d06736629d85514b2e7c262ce27bf2d) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "galturbo.1h", 0x0000, 0x0800, CRC(a713fd1a) SHA1(abf86fe5cb7243a1a36d7ac0a868577a3360dcca) ) + ROM_LOAD( "galturbo.1k", 0x0800, 0x0800, CRC(28511790) SHA1(dec2e183a753295d033a56184c973bbc810abf55) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) +ROM_END + +ROM_START( galapx ) + ROM_REGION( 0x4000, REGION_CPU1, 0 ) + ROM_LOAD( "galx.u", 0x0000, 0x0800, CRC(79e4007d) SHA1(d55050498a670d1c022ba3caad34f8fcaccf4a30) ) + ROM_LOAD( "galx.v", 0x0800, 0x0800, CRC(bc16064e) SHA1(4e3220fd63c8184bf9581a89dffb6944d8fae3bb) ) + ROM_LOAD( "galx.w", 0x1000, 0x0800, CRC(72d2d3ee) SHA1(96e0c5824e46d7398c7e58dd6b75a9f4ead6f3f5) ) + ROM_LOAD( "galx.y", 0x1800, 0x0800, CRC(afe397f3) SHA1(283c6f3b3f07581d88f7a6e11fc36947a9d90e2e) ) + ROM_LOAD( "galx.z", 0x2000, 0x0800, CRC(778c0d3c) SHA1(6a81875abfea515d379c6212cb57f8e54573e943) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "galx.1h", 0x0000, 0x0800, CRC(e8810654) SHA1(b6924c7ad765c32714e6abd5bb56b2732edd5855) ) + ROM_LOAD( "galx.1k", 0x0800, 0x0800, CRC(cbe84a76) SHA1(c6d72fb452e8213dd40a2eb5dcca726d7cdca658) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) +ROM_END + +ROM_START( galap1 ) + ROM_REGION( 0x4000, REGION_CPU1, 0 ) + ROM_LOAD( "7f.bin", 0x0000, 0x1000, CRC(4335b1de) SHA1(e41e3d90dac738cf71377f3b476ec67b14dee27a) ) + ROM_LOAD( "galaxian.w", 0x1000, 0x0800, CRC(4c7031c0) SHA1(97f7ab0cedcd8eba1c8f6f516d84d672a2108258) ) + ROM_LOAD( "galx_1_4.rom", 0x1800, 0x0800, CRC(e71e1d9e) SHA1(32bf22b06c84d36de7c1280740b9c11e8d6a12b6) ) + ROM_LOAD( "galx_1_5.rom", 0x2000, 0x0800, CRC(6e65a3b2) SHA1(c9f20645ad2882e937245a9e90504423bb492158) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "galmidw.1j", 0x0000, 0x0800, CRC(84decf98) SHA1(2e565cb6057b1816a6b4541e6dfadd3c3762fa36) ) + ROM_LOAD( "galmidw.1k", 0x0800, 0x0800, CRC(c31ada9e) SHA1(237ebb48549b34ca59a13cc2706512d957413ec4) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) +ROM_END + +ROM_START( galap4 ) + ROM_REGION( 0x4000, REGION_CPU1, 0 ) + ROM_LOAD( "galnamco.u", 0x0000, 0x0800, CRC(acfde501) SHA1(4b72c1ffecaccadc541da2367f3ef70a2a9aed64) ) + ROM_LOAD( "galnamco.v", 0x0800, 0x0800, CRC(65cf3c77) SHA1(1c5249815816b395e1e04bf6a7dbb63e40faa0e3) ) + ROM_LOAD( "galnamco.w", 0x1000, 0x0800, CRC(9eef9ae6) SHA1(b2282e4edb8911e6aabfa936c3526f90381e1320) ) + ROM_LOAD( "galnamco.y", 0x1800, 0x0800, CRC(56a5ddd1) SHA1(1f87f647ebdffba28d5957f195448f6bce17f4d5) ) + ROM_LOAD( "galnamco.z", 0x2000, 0x0800, CRC(f4bc7262) SHA1(c4b70e474d49f45cec96f7c250bd77e01e18601a) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "galx_4c1.rom", 0x0000, 0x0800, CRC(d5e88ab4) SHA1(737a22e406fd0a97d10e93a2c91c3aa61aebbdef) ) + ROM_LOAD( "galx_4c2.rom", 0x0800, 0x0800, CRC(a57b83e4) SHA1(335d8674df1d237a4b83da00eb9aee346bc2e901) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) +ROM_END + +ROM_START( swarm ) + ROM_REGION( 0x4000, REGION_CPU1, 0 ) + ROM_LOAD( "swarm1.bin", 0x0000, 0x0800, CRC(21eba3d0) SHA1(d07f141d785c86faca8c40af034c26f2789e9346) ) + ROM_LOAD( "swarm2.bin", 0x0800, 0x0800, CRC(f3a436cd) SHA1(8d64e61b823e22f17cb79bf9e0c7b3c80c76413f) ) + ROM_LOAD( "swarm3.bin", 0x1000, 0x0800, CRC(2915e38b) SHA1(045d4cc2c363b9ba8d066f902f03b7eacbeb1f5e) ) + ROM_LOAD( "swarm4.bin", 0x1800, 0x0800, CRC(8bbbf486) SHA1(84c975562c9c359069fb70f7f416420c74d40622) ) + ROM_LOAD( "swarm5.bin", 0x2000, 0x0800, CRC(f1b1987e) SHA1(0c8b57cb156fdd1a81a5e4535464cafab737185b) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "swarma.bin", 0x0000, 0x0800, CRC(ef8657bb) SHA1(c942db83231b04041e2794a08ce779331613edcf) ) + ROM_LOAD( "swarmb.bin", 0x0800, 0x0800, CRC(60c4bd31) SHA1(a8f22f8d7a9fca2c29091888e243dfa10211e138) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) +ROM_END + +ROM_START( zerotime ) + ROM_REGION( 0x4000, REGION_CPU1, 0 ) + ROM_LOAD( "zt-p01c.016", 0x0000, 0x0800, CRC(90a2bc61) SHA1(9d23dfcf5310cf1d4aa1b473ec84279585e1a876) ) + ROM_LOAD( "zt-2.016", 0x0800, 0x0800, CRC(a433067e) SHA1(1aed1a2153c4a32a9996fc709e544f2063885599) ) + ROM_LOAD( "zt-3.016", 0x1000, 0x0800, CRC(aaf038d4) SHA1(2d070fe7c4e9b26092f0f12a9db3392f7d8a65f1) ) + ROM_LOAD( "zt-4.016", 0x1800, 0x0800, CRC(786d690a) SHA1(50c5c07941006e3b71afbf057d27daa2f2274925) ) + ROM_LOAD( "zt-5.016", 0x2000, 0x0800, CRC(af9260d7) SHA1(955e466a8989993351dc69d73ca322c1c9af7b63) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "ztc-2.016", 0x0000, 0x0800, CRC(1b13ca05) SHA1(6999068771dacc6bf6c17eb858af593a929d09af) ) + ROM_LOAD( "ztc-1.016", 0x0800, 0x0800, CRC(5cd7df03) SHA1(77873408c89546a17b1da3f64b7e96e314fadb17) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) +ROM_END + +ROM_START( starfght ) + ROM_REGION( 0x4000, REGION_CPU1, 0 ) + ROM_LOAD( "ja.1", 0x0000, 0x0400, CRC(c6ab558b) SHA1(2b707e332c57b9ec6a61220ab2b79ed5076d0628) ) + ROM_LOAD( "jb.2", 0x0400, 0x0400, CRC(34b99fed) SHA1(03d12b19c9aee75313cae6af602c93205d2fd4a8) ) + ROM_LOAD( "jc.3", 0x0800, 0x0400, CRC(30e28016) SHA1(07a621e5061d85a9559a920d76716ea4db61b674) ) + ROM_LOAD( "jd.4", 0x0c00, 0x0400, CRC(de7e7770) SHA1(b06043a1d898eb323ddabffd3d2a3b1f63df0e5e) ) + ROM_LOAD( "je.5", 0x1000, 0x0400, CRC(a916c919) SHA1(b3e264ff92687022a0f2f551d5df36db848b48eb) ) + ROM_LOAD( "jf.6", 0x1400, 0x0400, CRC(9175882b) SHA1(d9943efcb9245af7f01aecc533a699bdefc7d283) ) + ROM_LOAD( "jg.7", 0x1800, 0x0400, CRC(707c0f02) SHA1(4cfb18b8161ec6a74663b54120bdc6371ee9dbff) ) + ROM_LOAD( "jh.8", 0x1c00, 0x0400, CRC(5dd26461) SHA1(173b939287d0261ff069c277a1afd724133f4c88) ) + ROM_LOAD( "ji.9", 0x2000, 0x0400, CRC(6651fe93) SHA1(eb1d9466090ef723ae20003e5be27059f5bea57b) ) + ROM_LOAD( "jj.10", 0x2400, 0x0400, CRC(12c721b9) SHA1(1944cd5129115d245ced44da7f1eb4574561c457) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "k1.7a", 0x0000, 0x0800, CRC(977e37cf) SHA1(88ff1e4edadf5cfc83413a1fe999aecf4ba72232) ) + ROM_LOAD( "k2.9a", 0x0800, 0x0800, CRC(15e387ce) SHA1(d804b1391de5a15c336aa53c812b4a885f830191) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "mmi6331.7f", 0x0000, 0x0020, CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d) ) /* Compatible with 82s123 prom */ +ROM_END + +/* was marked 'star fighter' but doesn't appear to be the above game */ +ROM_START( galaxbsf ) + ROM_REGION( 0x4000, REGION_CPU1, 0 ) + ROM_LOAD( "1.bn", 0x0000, 0x0400, CRC(cc37b774) SHA1(5b7d9e3c896a1f5b0353732806568d4ffead3ead) ) + ROM_LOAD( "2.bn", 0x0400, 0x0400, CRC(c6d21f03) SHA1(64784915bf988fd2a3eea5f219c95c8498175018) ) + ROM_LOAD( "3.bn", 0x0800, 0x0400, CRC(30e28016) SHA1(07a621e5061d85a9559a920d76716ea4db61b674) ) + ROM_LOAD( "4.bn", 0x0c00, 0x0400, CRC(de7e7770) SHA1(b06043a1d898eb323ddabffd3d2a3b1f63df0e5e) ) + ROM_LOAD( "5.bn", 0x1000, 0x0400, CRC(a916c919) SHA1(b3e264ff92687022a0f2f551d5df36db848b48eb) ) + ROM_LOAD( "6.bn", 0x1400, 0x0400, CRC(9175882b) SHA1(d9943efcb9245af7f01aecc533a699bdefc7d283) ) + ROM_LOAD( "7.bn", 0x1800, 0x0400, CRC(1237b9da) SHA1(00e11532c599fca452a816683b361a24476b7100) ) + ROM_LOAD( "8.bn", 0x1c00, 0x0400, CRC(78c53607) SHA1(780acff57b594185eb5f4b24ae7d8b4992d96611) ) + ROM_LOAD( "9.bn", 0x2000, 0x0400, CRC(901894cc) SHA1(a189a8ab0068e9acc3be7b8e87adc1eadfd6b708) ) + ROM_LOAD( "10.bn", 0x2400, 0x0400, CRC(5876f695) SHA1(e8c0d13066cfe4a409293b9e1380513099b35330) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "11.bn", 0x0000, 0x0800, CRC(39fb43a4) SHA1(4755609bd974976f04855d51e08ec0d62ab4bc07) ) + ROM_LOAD( "12.bn", 0x0800, 0x0800, CRC(7e3f56a2) SHA1(a9795d8b7388f404f3b0e2c6ce15d713a4c5bafa) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) +ROM_END + +ROM_START( supergx ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "sg1", 0x0000, 0x0800, CRC(b83f4578) SHA1(9a5d5fc291839f7f1e0a52cca7bea29e99c13315) ) + ROM_LOAD( "sg2", 0x0800, 0x0800, CRC(d12ca054) SHA1(8eb7f6904c3c650bfa80908a5988622d5e693bd1) ) + ROM_LOAD( "sg3", 0x1000, 0x0800, CRC(53714cb1) SHA1(7dffcd3ced1c3354339bb69477f8aa4c708708db) ) + ROM_LOAD( "sg4", 0x1800, 0x0800, CRC(2f36fc69) SHA1(d310dcb0a79b03ee26b0575db9cba6d920cb9273) ) + ROM_LOAD( "sg5", 0x2000, 0x0800, CRC(1e0ed4fd) SHA1(183d8990dbff1954921f8c5b67cec09f2d380794) ) + ROM_LOAD( "sg6", 0x2800, 0x0800, BAD_DUMP CRC(4f3d97a8) SHA1(b9fcab182ab57e8374fef93f7fd314a155a8d04d) ) + + ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "sgg1", 0x0000, 0x0800, CRC(a1287bf6) SHA1(eeeaba4b9e186454a5e2f1c26e333e8fccd97af8) ) + ROM_RELOAD( 0x0800, 0x0800 ) + ROM_LOAD( "sgg2", 0x1000, 0x0800, CRC(528f1481) SHA1(e266a75c3109bcfa2a0394f2ed0ac136fc3158ba) ) + ROM_RELOAD( 0x1800, 0x0800 ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "supergx.prm", 0x0000, 0x0020, NO_DUMP ) +ROM_END + +ROM_START( tst_galx ) + ROM_REGION( 0x4000, REGION_CPU1, 0 ) + ROM_LOAD( "test.u", 0x0000, 0x0800, CRC(0614cd7f) SHA1(12440678be8a27a6c3032b6e43c45e27905ffa83) ) /* The Test ROM */ + ROM_LOAD( "galmidw.v", 0x0800, 0x0800, CRC(9c999a40) SHA1(02fdcd95d8511e64c0d2b007b874112d53e41045) ) + ROM_LOAD( "galmidw.w", 0x1000, 0x0800, CRC(b5894925) SHA1(0046b9ed697a34d088de1aead8bd7cbe526a2396) ) + ROM_LOAD( "galmidw.y", 0x1800, 0x0800, CRC(6b3ca10b) SHA1(18d8714e5ef52f63ba8888ecc5a25b17b3bf17d1) ) + + ROM_LOAD( "7l", 0x2000, 0x0800, CRC(1b933207) SHA1(8b44b0f74420871454e27894d0f004859f9e59a9) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "1h.bin", 0x0000, 0x0800, CRC(39fb43a4) SHA1(4755609bd974976f04855d51e08ec0d62ab4bc07) ) + ROM_LOAD( "1k.bin", 0x0800, 0x0800, CRC(7e3f56a2) SHA1(a9795d8b7388f404f3b0e2c6ce15d713a4c5bafa) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) +ROM_END + + +ROM_START( blkhole ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "bh1", 0x0000, 0x0800, CRC(64998819) SHA1(69fe5dfbe6cde18ef4cae62da12b5c692c2c72b9) ) + ROM_LOAD( "bh2", 0x0800, 0x0800, CRC(26f26ce4) SHA1(720ce7af05ef596fb9a109591534c74d282955e8) ) + ROM_LOAD( "bh3", 0x1000, 0x0800, CRC(3418bc45) SHA1(088bbbde66b7b5c36fa48cf14c22146e1444e67c) ) + ROM_LOAD( "bh4", 0x1800, 0x0800, CRC(735ff481) SHA1(d9b32db048a0e2a1195cd6f7326005e6622242a9) ) + ROM_LOAD( "bh5", 0x2000, 0x0800, CRC(3f657be9) SHA1(3ed1ee0bc199c1625156d2771eecd18a57a0e6ed) ) + ROM_LOAD( "bh6", 0x2800, 0x0800, CRC(a057ab35) SHA1(430261bafe20fc182e6e6659019cf42643e95d54) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "bh7", 0x0000, 0x0800, CRC(975ba821) SHA1(c50d55f6ab81b803d67f5e18c1243ef85a1a2df1) ) + ROM_LOAD( "bh8", 0x0800, 0x0800, CRC(03d11020) SHA1(5768b573fac9aac168db2723462cca76d4d80552) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) +ROM_END + +ROM_START( orbitron ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "orbitron.3", 0x0600, 0x0200, CRC(419f9c9b) SHA1(788a3920f4270b886b3a578f8c2df33e6314a1c3) ) + ROM_CONTINUE( 0x0400, 0x0200) + ROM_CONTINUE( 0x0200, 0x0200) + ROM_CONTINUE( 0x0000, 0x0200) + ROM_LOAD( "orbitron.4", 0x0e00, 0x0200, CRC(44ad56ac) SHA1(3a8339cdee50912a16ac0fb448e6659e32542c0c) ) + ROM_CONTINUE( 0x0c00, 0x0200) + ROM_CONTINUE( 0x0a00, 0x0200) + ROM_CONTINUE( 0x0800, 0x0200) + ROM_LOAD( "orbitron.1", 0x1600, 0x0200, CRC(da3f5168) SHA1(1927cc7cd3b9d15b629e09781557f4c75d684182) ) + ROM_CONTINUE( 0x1400, 0x0200) + ROM_CONTINUE( 0x1200, 0x0200) + ROM_CONTINUE( 0x1000, 0x0200) + ROM_LOAD( "orbitron.2", 0x1e00, 0x0200, CRC(a3b813fc) SHA1(7f0f22667bee897b474fb485d65a74d74a36991a) ) + ROM_CONTINUE( 0x1c00, 0x0200) + ROM_CONTINUE( 0x1a00, 0x0200) + ROM_CONTINUE( 0x1800, 0x0200) + ROM_LOAD( "orbitron.5", 0x2000, 0x0800, CRC(20cd8bb8) SHA1(a5309cb04a656c6e1e18bb19910474af8ef814a5) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "orbitron.6", 0x0000, 0x0800, CRC(2c91b83f) SHA1(29c73b7ad0dc5a3ba739492c902ad9201eae6ef2) ) + ROM_LOAD( "orbitron.7", 0x0800, 0x0800, CRC(46f4cca4) SHA1(e5fb616b1d17b5b5167f05f7840638840deb2d13) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) +ROM_END + +ROM_START( luctoday ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "ltprog1.bin", 0x0000, 0x0800, CRC(59c389b9) SHA1(1e158ced3b56db2c51e422fb4c0b8893565f1956)) + ROM_LOAD( "ltprog2.bin", 0x2000, 0x0800, CRC(ac3893b1) SHA1(f6b9cd8111b367ff7030cba52fe965959d92568f)) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "ltchar2.bin", 0x0000, 0x0800, CRC(8cd73bdc) SHA1(6174f7347d2c96f9c5074bc0da5a370c9b07461b)) + ROM_LOAD( "ltchar1.bin", 0x0800, 0x0800, CRC(b5ba9946) SHA1(7222cbe8c41ca74b214f4dd5439bf69d90f4644e)) + + ROM_REGION( 0x0020, REGION_PROMS, 0 )//This may not be the correct prom + ROM_LOAD( "74s288.ch", 0x0000, 0x0020, BAD_DUMP CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d)) +ROM_END + +ROM_START( chewing ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "1.bin", 0x0000, 0x1000, CRC(7470b347) SHA1(315d2631b50a6e469b9538318d95452e8d2e1f69) ) + ROM_LOAD( "7l.bin", 0x2000, 0x0800, CRC(78ebed36) SHA1(e80185737c8ac448901cf0e60ca50d967c323b34) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "2.bin", 0x0000, 0x0800, CRC(88c605f3) SHA1(938a9fadfa0994a1d2fc9b3266ec4ccdb5ec6d3a) ) + ROM_LOAD( "3.bin", 0x0800, 0x0800, CRC(77ac016a) SHA1(fa5b1e79603ca8d2ee7b3d0a78f12d9ffeec3fd4) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "74s288.ch", 0x0000, 0x0020, CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d) ) +ROM_END + +ROM_START( catacomb ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "catacomb.u", 0x0000, 0x0800, CRC(35cc28d2) SHA1(e1dbd75fc21ec88b8119bf9508c87d78e1d5c4f6) ) + ROM_LOAD( "catacomb.v", 0x0800, 0x0800, CRC(1d1ce133) SHA1(e22a169003a2238004bdf6c2558198216c2353b7) ) + ROM_LOAD( "catacomb.w", 0x1000, 0x0800, CRC(479bbde7) SHA1(9981662cb6351de7c1730de45f645fb0e26ea467) ) + /* no .x */ + ROM_LOAD( "catacomb.y", 0x2000, 0x0800, CRC(5e3da534) SHA1(a9b960ae96c8ef0b2d590bc58b711aad949025e2) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "cat-gfx1", 0x0000, 0x0800, CRC(e871e65c) SHA1(0b528dfab0f57153db9406798848cdedee0323a0) ) + ROM_LOAD( "cat-gfx2", 0x0800, 0x0800, CRC(b14dafaa) SHA1(592d5931a76563b3565f22ac4c0120b9a120193f) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + /* No color PROM came with the conversion - the Moon Cresta one seems more appropriate than Galaxian, + (the game is unplayable with a Galaxian PROM) but which was intended for use with the kit is unclear */ + ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, BAD_DUMP CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) +ROM_END + +ROM_START( omega ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "omega1.bin", 0x0000, 0x0800, CRC(fc2a096b) SHA1(071ff30060a1aa0a47ae6e88140b80caed00fc4e) ) + ROM_LOAD( "omega2.bin", 0x0800, 0x0800, CRC(ad100357) SHA1(7c5e82c25e65b4a390cf5607f15bf4df407f7f11) ) + ROM_LOAD( "omega3.bin", 0x1000, 0x0800, CRC(d7e3be79) SHA1(ffa228043c6c717bee8bbec16432dcfe2e348aef) ) + ROM_LOAD( "omega4.bin", 0x1800, 0x0800, CRC(42068171) SHA1(940ca30a5772940b8a437498d22c6121482b38e6) ) + ROM_LOAD( "omega5.bin", 0x2000, 0x0800, CRC(d8a93383) SHA1(5f60f127360b14206d4df638e528bf961049e37d) ) + ROM_LOAD( "omega6.bin", 0x2800, 0x0800, CRC(32a42f44) SHA1(94f458997ec279dce218a17b665fa8c46067e646) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "omega1h.bin", 0x0000, 0x0800, CRC(527fd384) SHA1(92a384899d5acd2c689f637da16a0e2d11a9d9c6) ) + ROM_LOAD( "omega1k.bin", 0x0800, 0x0800, CRC(36de42c6) SHA1(6fd93d439e3b8eab62049f925d9e8f8deeda2ae3) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "6331-1j.86", 0x0000, 0x0020, NO_DUMP ) /* missing */ +ROM_END + + +ROM_START( warofbug ) + ROM_REGION( 0x4000, REGION_CPU1, 0 ) + ROM_LOAD( "warofbug.u", 0x0000, 0x0800, CRC(b8dfb7e3) SHA1(c7c675b2638869a9cd7dbd554e6131d8c71b567a) ) + ROM_LOAD( "warofbug.v", 0x0800, 0x0800, CRC(fd8854e0) SHA1(b39ab41b834f18341968dd780f0a3cd07d70c16c) ) + ROM_LOAD( "warofbug.w", 0x1000, 0x0800, CRC(4495aa14) SHA1(f1be281db1d831770efa9cc41ea87eb348e70108) ) + ROM_LOAD( "warofbug.y", 0x1800, 0x0800, CRC(c14a541f) SHA1(d32e89fd18d9e1db2e4a545186eac728c0b02255) ) + ROM_LOAD( "warofbug.z", 0x2000, 0x0800, CRC(c167fe55) SHA1(d85c4d1bd7aa5e14eb2f11dfa14979e5dbc084a8) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "warofbug.1k", 0x0000, 0x0800, CRC(8100fa85) SHA1(06641c431cace36dec98b87555f62e72f3e53a31) ) + ROM_LOAD( "warofbug.1j", 0x0800, 0x0800, CRC(d1220ae9) SHA1(e892bc8b0b71d8b07503e474e9c30e6cab460682) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "warofbug.clr", 0x0000, 0x0020, CRC(8688e64b) SHA1(ed13414257f580b98b50c9892a14159c55e7838d) ) +ROM_END + +ROM_START( redufo ) + ROM_REGION( 0x4000, REGION_CPU1, 0 ) + ROM_LOAD( "ru1a", 0x0000, 0x0800, CRC(5a8e4f37) SHA1(c0957ede91e2dc3f80e4912b877843aed5d15779) ) + ROM_LOAD( "ru2a", 0x0800, 0x0800, CRC(c624f52d) SHA1(119a660513ad33e35c9bdaecd588219bf8026d82) ) + ROM_LOAD( "ru3a", 0x1000, 0x0800, CRC(e1030d1c) SHA1(80640fbbfa7f84c016366b1084e7f8a7acdcd440) ) + ROM_LOAD( "ru4a", 0x1800, 0x0800, CRC(7692069e) SHA1(5130d61c857c3b85eadabcf10f3a6771c72f0f56) ) + ROM_LOAD( "ru5a", 0x2000, 0x0800, CRC(cb648ff3) SHA1(e0042251ca7f4a31b5bd9f8cca35278a1e152899) ) + ROM_LOAD( "ru6a", 0x2800, 0x0800, CRC(e1a9f58e) SHA1(4fc7489fca057156a7cf5efcb01058ce4f0db69e) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "ruhja", 0x0000, 0x0800, CRC(8a422b0d) SHA1(b886157518f73e7115a225ba230e456179f6e18f) ) + ROM_LOAD( "rukla", 0x0800, 0x0800, CRC(1eb84cb1) SHA1(08f360802a90039c0499a1417d06b6eb5f89d67e) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) +ROM_END + +ROM_START( exodus ) + ROM_REGION( 0x4000, REGION_CPU1, 0 ) + ROM_LOAD( "exodus1.bin", 0x0000, 0x0800, CRC(5dfe65e1) SHA1(5f1ce289b3c98a89d61d4dea952b4b8888d92ed7) ) + ROM_LOAD( "exodus2.bin", 0x0800, 0x0800, CRC(6559222f) SHA1(520497f6fb2b0c76be8419702e8af894283ebf0b) ) + ROM_LOAD( "exodus3.bin", 0x1000, 0x0800, CRC(bf7030e8) SHA1(59b0624dd91527a916ee6a27d61def82c3c14f49) ) + ROM_LOAD( "exodus4.bin", 0x1800, 0x0800, CRC(3607909e) SHA1(93d074fe4b258d496a0998acb3fc47f0a762227a) ) + ROM_LOAD( "exodus9.bin", 0x2000, 0x0800, CRC(994a90c4) SHA1(a07e3ce8f69042c45ebe00ab1d40dbb85602a7a2) ) + ROM_LOAD( "exodus10.bin", 0x2800, 0x0800, CRC(fbd11187) SHA1(a3bd49c4a79e76b08e6b343b94689159dc239458) ) + ROM_LOAD( "exodus11.bin", 0x3000, 0x0800, CRC(fd07d811) SHA1(6b968a7ce452f76a8d26fe694aa4ea6b16e8b6fa) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "exodus5.bin", 0x0000, 0x0800, CRC(b34c7cb4) SHA1(146ed4a02d7540378f4a27a6643055216ad403f7) ) + ROM_LOAD( "exodus6.bin", 0x0800, 0x0800, CRC(50a2d447) SHA1(1f97d1096ad2a3a43a480cb1f040f4534fada3c3) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) +ROM_END + + +ROM_START( azurian ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "pgm.1", 0x0000, 0x1000, CRC(17a0fca7) SHA1(0ffb80d433fbaa0631d0d982a453f9e6cccab297) ) + ROM_LOAD( "pgm.2", 0x1000, 0x1000, CRC(14659848) SHA1(bb9d9c01b074bf7ed7a1c29379bbef41728dd27a) ) + ROM_LOAD( "pgm.3", 0x2000, 0x1000, CRC(8f60fb97) SHA1(d0f4d65e568ac1a5d41e550f2f626cbf72884959) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "gfx.1", 0x0000, 0x0800, CRC(f5afb803) SHA1(ffc8f86a35179d7715ef618004b79003e0236a93) ) + ROM_LOAD( "gfx.2", 0x0800, 0x0800, CRC(ae96e5d1) SHA1(df667fb96d7353ccf9ce0acf788371ef2221e97d) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) +ROM_END + +ROM_START( pisces ) + ROM_REGION( 0x4000, REGION_CPU1, 0 ) + ROM_LOAD( "p1.bin", 0x0000, 0x0800, CRC(40c5b0e4) SHA1(6c18e6f4719eb0d7eb13b778d7ea58e4b87ac35c) ) + ROM_LOAD( "p2.bin", 0x0800, 0x0800, CRC(055f9762) SHA1(9d821874dd48a80651adc58a2f7fe5d2b3ed67bc) ) + ROM_LOAD( "p3.bin", 0x1000, 0x0800, CRC(3073dd04) SHA1(b93913a988f412d565abd19dc668976585cc8066) ) + ROM_LOAD( "p4.bin", 0x1800, 0x0800, CRC(44aaf525) SHA1(667bf4c3a36169c3ddddd22b2f1f90bcc9308548) ) + ROM_LOAD( "p5.bin", 0x2000, 0x0800, CRC(fade512b) SHA1(ccef2650f1d9dc3fdde2d441774246d47febc2cc) ) + ROM_LOAD( "p6.bin", 0x2800, 0x0800, CRC(5ab2822f) SHA1(bbcac3aab943dd9b173de11ddf02ff75d16b1582) ) + + ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) +// ROM_LOAD( "pisces.1j", 0x0000, 0x1000, CRC(2dba9e0e) ) +// ROM_LOAD( "pisces.1k", 0x1000, 0x1000, CRC(cdc5aa26) ) + ROM_LOAD( "g09.bin", 0x0000, 0x0800, CRC(9503a23a) SHA1(23848de56841dd1de9ef74d5a9c981c784098175) ) + ROM_LOAD( "g11.bin", 0x0800, 0x0800, CRC(0adfc3fe) SHA1(a4da488632d9906066db45ae62747caf5ffbf2d8) ) + ROM_LOAD( "g10.bin", 0x1000, 0x0800, CRC(3e61f849) SHA1(efa0059bc843af0c3bb94f4bc0a8286ca5069179) ) + ROM_LOAD( "g12.bin", 0x1800, 0x0800, CRC(7130e9eb) SHA1(e6bb7a9b4f2fc001296e1060d0671b7a88599c8b) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "colour.bin", 0x0000, 0x0020, CRC(57a45057) SHA1(d4ec6a54f72640e5b485aa59e206c090e67ff640) ) // same as checkman.clr +ROM_END + +ROM_START( piscesb ) + ROM_REGION( 0x4000, REGION_CPU1, 0 ) + ROM_LOAD( "pisces.a1", 0x0000, 0x0800, CRC(856b8e1f) SHA1(24d468b5f06f54c3fa1cb54ceec8a0c8e285430e) ) + ROM_LOAD( "p2.bin", 0x0800, 0x0800, CRC(055f9762) SHA1(9d821874dd48a80651adc58a2f7fe5d2b3ed67bc) ) + ROM_LOAD( "pisces.b2", 0x1000, 0x0800, CRC(5540f2e4) SHA1(b069a7e46fa2c1f732371ef056caaf8f343e11a8) ) + ROM_LOAD( "p4.bin", 0x1800, 0x0800, CRC(44aaf525) SHA1(667bf4c3a36169c3ddddd22b2f1f90bcc9308548) ) + ROM_LOAD( "p5.bin", 0x2000, 0x0800, CRC(fade512b) SHA1(ccef2650f1d9dc3fdde2d441774246d47febc2cc) ) + ROM_LOAD( "p6.bin", 0x2800, 0x0800, CRC(5ab2822f) SHA1(bbcac3aab943dd9b173de11ddf02ff75d16b1582) ) + + ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) +// ROM_LOAD( "pisces.1j", 0x0000, 0x1000, CRC(2dba9e0e) ) +// ROM_LOAD( "pisces.1k", 0x1000, 0x1000, CRC(cdc5aa26) ) + ROM_LOAD( "g09.bin", 0x0000, 0x0800, CRC(9503a23a) SHA1(23848de56841dd1de9ef74d5a9c981c784098175) ) + ROM_LOAD( "g11.bin", 0x0800, 0x0800, CRC(0adfc3fe) SHA1(a4da488632d9906066db45ae62747caf5ffbf2d8) ) + ROM_LOAD( "g10.bin", 0x1000, 0x0800, CRC(3e61f849) SHA1(efa0059bc843af0c3bb94f4bc0a8286ca5069179) ) + ROM_LOAD( "g12.bin", 0x1800, 0x0800, CRC(7130e9eb) SHA1(e6bb7a9b4f2fc001296e1060d0671b7a88599c8b) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) +// ROM_LOAD( "6331-1j.86", 0x0000, 0x0020, CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d) ) /* very close to Galaxian */ + ROM_LOAD( "colour.bin", 0x0000, 0x0020, CRC(57a45057) SHA1(d4ec6a54f72640e5b485aa59e206c090e67ff640) ) // same as checkman.clr +ROM_END + +ROM_START( omni ) + ROM_REGION( 0x4000, REGION_CPU1, 0 ) + ROM_LOAD( "omni1.7f", 0x0000, 0x1000, CRC(a9b7acc6) SHA1(0c6319957b760fea3cfa6c29b37c25f5a89a6d77) ) + ROM_LOAD( "omni2.7j", 0x1000, 0x1000, CRC(6ade29b7) SHA1(64f1ce82c761db11d26c385299a7063f5971c99a) ) + ROM_LOAD( "omni3.7f", 0x2000, 0x1000, CRC(9e37bb24) SHA1(d90b2ff0297d87687561e1e9b29510b6c051760b) ) + + ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "omni5b.l1", 0x0000, 0x0800, CRC(9503a23a) SHA1(23848de56841dd1de9ef74d5a9c981c784098175) ) + ROM_LOAD( "omni6c.j22", 0x0800, 0x0800, CRC(0adfc3fe) SHA1(a4da488632d9906066db45ae62747caf5ffbf2d8) ) + ROM_LOAD( "omni4a.j1", 0x1000, 0x0800, CRC(3e61f849) SHA1(efa0059bc843af0c3bb94f4bc0a8286ca5069179) ) + ROM_LOAD( "omni7d.l2", 0x1800, 0x0800, CRC(7130e9eb) SHA1(e6bb7a9b4f2fc001296e1060d0671b7a88599c8b) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "colour.bin", 0x0000, 0x0020, CRC(57a45057) SHA1(d4ec6a54f72640e5b485aa59e206c090e67ff640) ) +ROM_END + +ROM_START( uniwars ) + ROM_REGION( 0x4000, REGION_CPU1, 0 ) + ROM_LOAD( "f07_1a.bin", 0x0000, 0x0800, CRC(d975af10) SHA1(a2e2a36a75db8fd09441308b08b6ae073c68b8cf) ) + ROM_LOAD( "h07_2a.bin", 0x0800, 0x0800, CRC(b2ed14c3) SHA1(7668df11f64b8e296eedfee53437777dc53a56d5) ) + ROM_LOAD( "k07_3a.bin", 0x1000, 0x0800, CRC(945f4160) SHA1(5fbe879f51e14c4c7ae551e5b3089f8e148770a4) ) + ROM_LOAD( "m07_4a.bin", 0x1800, 0x0800, CRC(ddc80bc5) SHA1(18c3920198baf87267bc7f12db6b23b090d3577a) ) + ROM_LOAD( "d08p_5a.bin", 0x2000, 0x0800, CRC(62354351) SHA1(85bf18942f73023b8be0c3659a0dcd3dfcccfc2c) ) + ROM_LOAD( "gg6", 0x2800, 0x0800, CRC(270a3f4d) SHA1(20f5097033fca515d70fe47178cbd341a1d07443) ) + ROM_LOAD( "m08p_7a.bin", 0x3000, 0x0800, CRC(c9245346) SHA1(239bad3fe64eaab2dfc3febd06d1124103a10504) ) + ROM_LOAD( "n08p_8a.bin", 0x3800, 0x0800, CRC(797d45c7) SHA1(76fb8b45fcce3622c59c04af32cfa001ef7bf71d) ) + + ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "egg10", 0x0000, 0x0800, CRC(012941e0) SHA1(4f7ec4d95939cb7c4086bb7df43759ac504ae47c) ) + ROM_LOAD( "h01_2.bin", 0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) ) + ROM_LOAD( "egg9", 0x1000, 0x0800, CRC(fc8b58fd) SHA1(72553e2735b0dcc2dcfce9698d49566732492588) ) + ROM_LOAD( "k01_2.bin", 0x1800, 0x0800, CRC(dcc2b33b) SHA1(c3a5ac935c519400dfabb28909f7e460769d1837) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "uniwars.clr", 0x0000, 0x0020, CRC(25c79518) SHA1(e8f7e8b3d0cf1ed9d723948548f58abf0e2c6d1f) ) +ROM_END + +ROM_START( gteikoku ) + ROM_REGION( 0x4000, REGION_CPU1, 0 ) + ROM_LOAD( "f07_1a.bin", 0x0000, 0x0800, CRC(d975af10) SHA1(a2e2a36a75db8fd09441308b08b6ae073c68b8cf) ) + ROM_LOAD( "h07_2a.bin", 0x0800, 0x0800, CRC(b2ed14c3) SHA1(7668df11f64b8e296eedfee53437777dc53a56d5) ) + ROM_LOAD( "k07_3a.bin", 0x1000, 0x0800, CRC(945f4160) SHA1(5fbe879f51e14c4c7ae551e5b3089f8e148770a4) ) + ROM_LOAD( "m07_4a.bin", 0x1800, 0x0800, CRC(ddc80bc5) SHA1(18c3920198baf87267bc7f12db6b23b090d3577a) ) + ROM_LOAD( "d08p_5a.bin", 0x2000, 0x0800, CRC(62354351) SHA1(85bf18942f73023b8be0c3659a0dcd3dfcccfc2c) ) + ROM_LOAD( "e08p_6a.bin", 0x2800, 0x0800, CRC(d915a389) SHA1(0e2ff6eec9453856a1276889946b463cfae58eba) ) + ROM_LOAD( "m08p_7a.bin", 0x3000, 0x0800, CRC(c9245346) SHA1(239bad3fe64eaab2dfc3febd06d1124103a10504) ) + ROM_LOAD( "n08p_8a.bin", 0x3800, 0x0800, CRC(797d45c7) SHA1(76fb8b45fcce3622c59c04af32cfa001ef7bf71d) ) + + ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "h01_1.bin", 0x0000, 0x0800, CRC(8313c959) SHA1(b09157c6f824d6e94647728cbb329877fcb4e502) ) + ROM_LOAD( "h01_2.bin", 0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) ) + ROM_LOAD( "k01_1.bin", 0x1000, 0x0800, CRC(c9d4537e) SHA1(65d27066ffec04b755d2f5d3f36f5ec6792e8d6c) ) + ROM_LOAD( "k01_2.bin", 0x1800, 0x0800, CRC(dcc2b33b) SHA1(c3a5ac935c519400dfabb28909f7e460769d1837) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) +ROM_END + +ROM_START( gteikokb ) + ROM_REGION( 0x4000, REGION_CPU1, 0 ) + ROM_LOAD( "1.bin", 0x0000, 0x0800, CRC(bf00252f) SHA1(a4ec48c6b9468f52bcf8b01d1bdb908dcf81d42d) ) + ROM_LOAD( "2.bin", 0x0800, 0x0800, CRC(f712b7d5) SHA1(c269db2e9984a3fbd33888bd426c53d319cad36f) ) + ROM_LOAD( "k07_3a.bin", 0x1000, 0x0800, CRC(945f4160) SHA1(5fbe879f51e14c4c7ae551e5b3089f8e148770a4) ) + ROM_LOAD( "4.bin", 0x1800, 0x0800, CRC(808a39a8) SHA1(f3db5175d0c2d10e9e3ded400888f6541490597e) ) + ROM_LOAD( "5.bin", 0x2000, 0x0800, CRC(36fe6e67) SHA1(e54a19ad6611fefcdfcf74019a63cc6cea6cf433) ) + ROM_LOAD( "6.bin", 0x2800, 0x0800, CRC(c5ea67e8) SHA1(0157eb2ef5ab56cd00e5f4fafd618271d2d4862b) ) + ROM_LOAD( "m08p_7a.bin", 0x3000, 0x0800, CRC(c9245346) SHA1(239bad3fe64eaab2dfc3febd06d1124103a10504) ) + ROM_LOAD( "8.bin", 0x3800, 0x0800, CRC(28df3229) SHA1(fd307c6a7de4fcddce1c2f36a957a31b9a6aaa21) ) + + ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "h01_1.bin", 0x0000, 0x0800, CRC(8313c959) SHA1(b09157c6f824d6e94647728cbb329877fcb4e502) ) + ROM_LOAD( "h01_2.bin", 0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) ) + ROM_LOAD( "k01_1.bin", 0x1000, 0x0800, CRC(c9d4537e) SHA1(65d27066ffec04b755d2f5d3f36f5ec6792e8d6c) ) + ROM_LOAD( "k01_2.bin", 0x1800, 0x0800, CRC(dcc2b33b) SHA1(c3a5ac935c519400dfabb28909f7e460769d1837) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) +ROM_END + +ROM_START( gteikob2 ) + ROM_REGION( 0x4000, REGION_CPU1, 0 ) + ROM_LOAD( "94gnog.bin", 0x0000, 0x0800, CRC(67ec3235) SHA1(f250db867257f474f693012c11008bf92f038cc7) ) + ROM_LOAD( "92gnog.bin", 0x0800, 0x0800, CRC(813c41f2) SHA1(bd92e0b53e3c8874d63f3444bca02246cd74b1c6) ) + ROM_LOAD( "k07_3a.bin", 0x1000, 0x0800, CRC(945f4160) SHA1(5fbe879f51e14c4c7ae551e5b3089f8e148770a4) ) + ROM_LOAD( "1gnog.bin", 0x1800, 0x0800, CRC(49ff9658) SHA1(3b7f3dc40b3fbc7d4abe5f5d534951c70409148c) ) + ROM_LOAD( "5.bin", 0x2000, 0x0800, CRC(36fe6e67) SHA1(e54a19ad6611fefcdfcf74019a63cc6cea6cf433) ) + ROM_LOAD( "e08p_6a.bin", 0x2800, 0x0800, CRC(d915a389) SHA1(0e2ff6eec9453856a1276889946b463cfae58eba) ) + ROM_LOAD( "m08p_7a.bin", 0x3000, 0x0800, CRC(c9245346) SHA1(239bad3fe64eaab2dfc3febd06d1124103a10504) ) + ROM_LOAD( "98gnog.bin", 0x3800, 0x0800, CRC(e9d4ad3c) SHA1(b32b96bebbf59e23b06958f6b16790e9f9f334e2) ) + + ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "h01_1.bin", 0x0000, 0x0800, CRC(8313c959) SHA1(b09157c6f824d6e94647728cbb329877fcb4e502) ) + ROM_LOAD( "h01_2.bin", 0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) ) + ROM_LOAD( "k01_1.bin", 0x1000, 0x0800, CRC(c9d4537e) SHA1(65d27066ffec04b755d2f5d3f36f5ec6792e8d6c) ) + ROM_LOAD( "k01_2.bin", 0x1800, 0x0800, CRC(dcc2b33b) SHA1(c3a5ac935c519400dfabb28909f7e460769d1837) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) +ROM_END + +ROM_START( spacbatt ) + ROM_REGION( 0x4000, REGION_CPU1, 0 ) + ROM_LOAD( "sb1", 0x0000, 0x0800, CRC(d975af10) SHA1(a2e2a36a75db8fd09441308b08b6ae073c68b8cf) ) /* Same as f07_1a.bin above */ + ROM_LOAD( "sb2", 0x0800, 0x0800, CRC(b2ed14c3) SHA1(7668df11f64b8e296eedfee53437777dc53a56d5) ) /* Same as h07_2a.bin above */ + ROM_LOAD( "sb3", 0x1000, 0x0800, CRC(945f4160) SHA1(5fbe879f51e14c4c7ae551e5b3089f8e148770a4) ) /* Same as k07_3a.bin above */ + ROM_LOAD( "sb4", 0x1800, 0x0800, CRC(8229835c) SHA1(8cfd8f6cab6f80ca69645a184f7e841fc69f47f6) ) + ROM_LOAD( "sb5", 0x2000, 0x0800, CRC(f51ef930) SHA1(213e68571a0c7d5ba33a7170d5fa4aea898ea0b9) ) + ROM_LOAD( "sb6", 0x2800, 0x0800, CRC(d915a389) SHA1(0e2ff6eec9453856a1276889946b463cfae58eba) ) /* Same as e08p_6a.bin above */ + ROM_LOAD( "sb7", 0x3000, 0x0800, CRC(c9245346) SHA1(239bad3fe64eaab2dfc3febd06d1124103a10504) ) /* Same as m08p_7a.bin above */ + ROM_LOAD( "sb8", 0x3800, 0x0800, CRC(e59ff1ae) SHA1(fef22885cbd3273882f8c7755dd04c28e843b9ea) ) + + ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "sb12", 0x0000, 0x0800, CRC(8313c959) SHA1(b09157c6f824d6e94647728cbb329877fcb4e502) ) /* Same as h01_1.bin above */ + ROM_LOAD( "sb14", 0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) ) /* Same as h01_2.bin above */ + ROM_LOAD( "sb11", 0x1000, 0x0800, CRC(c9d4537e) SHA1(65d27066ffec04b755d2f5d3f36f5ec6792e8d6c) ) /* Same as k01_1.bin above */ + ROM_LOAD( "sb13", 0x1800, 0x0800, CRC(92454380) SHA1(f0cd67b39c760c2b5ac549b27b0a5f83fbb3a86b) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) /* MMI 6331 bp-prom, compatible with 82s123 */ +ROM_END + +ROM_START( spacbat2 ) + ROM_REGION( 0x4000, REGION_CPU1, 0 ) + ROM_LOAD( "sb1", 0x0000, 0x0800, CRC(d975af10) SHA1(a2e2a36a75db8fd09441308b08b6ae073c68b8cf) ) /* Same as f07_1a.bin above */ + ROM_LOAD( "sb2", 0x0800, 0x0800, CRC(b2ed14c3) SHA1(7668df11f64b8e296eedfee53437777dc53a56d5) ) /* Same as h07_2a.bin above */ + ROM_LOAD( "sb.3", 0x1000, 0x0800, CRC(c25ce4c1) SHA1(d7a5d435df7868155523d2fb90f331d4b6d9eaa1) ) + ROM_LOAD( "sb4", 0x1800, 0x0800, CRC(8229835c) SHA1(8cfd8f6cab6f80ca69645a184f7e841fc69f47f6) ) + ROM_LOAD( "sb5", 0x2000, 0x0800, CRC(f51ef930) SHA1(213e68571a0c7d5ba33a7170d5fa4aea898ea0b9) ) + ROM_LOAD( "sb6", 0x2800, 0x0800, CRC(d915a389) SHA1(0e2ff6eec9453856a1276889946b463cfae58eba) ) /* Same as e08p_6a.bin above */ + ROM_LOAD( "sb7", 0x3000, 0x0800, CRC(c9245346) SHA1(239bad3fe64eaab2dfc3febd06d1124103a10504) ) /* Same as m08p_7a.bin above */ + ROM_LOAD( "sb8", 0x3800, 0x0800, CRC(e59ff1ae) SHA1(fef22885cbd3273882f8c7755dd04c28e843b9ea) ) + + ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "sb12", 0x0000, 0x0800, CRC(8313c959) SHA1(b09157c6f824d6e94647728cbb329877fcb4e502) ) /* Same as h01_1.bin above */ + ROM_LOAD( "sb14", 0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) ) /* Same as h01_2.bin above */ + ROM_LOAD( "sb11", 0x1000, 0x0800, CRC(c9d4537e) SHA1(65d27066ffec04b755d2f5d3f36f5ec6792e8d6c) ) /* Same as k01_1.bin above */ + ROM_LOAD( "k01_2.bin", 0x1800, 0x0800, CRC(dcc2b33b) SHA1(c3a5ac935c519400dfabb28909f7e460769d1837) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) +ROM_END + +ROM_START( skyraidr ) + ROM_REGION( 0x4000, REGION_CPU1, 0 ) + ROM_LOAD( "f07_1a.bin", 0x0000, 0x0800, CRC(d975af10) SHA1(a2e2a36a75db8fd09441308b08b6ae073c68b8cf) ) + ROM_LOAD( "h07_2a.bin", 0x0800, 0x0800, CRC(b2ed14c3) SHA1(7668df11f64b8e296eedfee53437777dc53a56d5) ) + ROM_LOAD( "k07_3a.bin", 0x1000, 0x0800, CRC(945f4160) SHA1(5fbe879f51e14c4c7ae551e5b3089f8e148770a4) ) + ROM_LOAD( "sr.04", 0x1800, 0x0800, CRC(9f61d1f8) SHA1(389b0a0d1a577b302907b2ea4c119aa18a6120d9) ) + ROM_LOAD( "sr.05", 0x2000, 0x0800, CRC(4352af0a) SHA1(1b31846ea7025aaf3a79141dfa5a089b8d12d982) ) + ROM_LOAD( "sr.06", 0x2800, 0x0800, CRC(d915a389) SHA1(0e2ff6eec9453856a1276889946b463cfae58eba) ) + ROM_LOAD( "m08p_7a.bin", 0x3000, 0x0800, CRC(c9245346) SHA1(239bad3fe64eaab2dfc3febd06d1124103a10504) ) + ROM_LOAD( "n08p_8a.bin", 0x3800, 0x0800, CRC(797d45c7) SHA1(76fb8b45fcce3622c59c04af32cfa001ef7bf71d) ) + + ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "sr.10", 0x0000, 0x0800, CRC(af069cba) SHA1(12b7d0a57f43613c80afd51c417628090740aabe) ) + ROM_LOAD( "h01_2.bin", 0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) ) + ROM_LOAD( "sr.09", 0x1000, 0x0800, CRC(ff2c20d5) SHA1(48668dc4f008f44f5c15bdcc331cfe133da99cd4) ) + ROM_LOAD( "k01_2.bin", 0x1800, 0x0800, CRC(dcc2b33b) SHA1(c3a5ac935c519400dfabb28909f7e460769d1837) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "uniwars.clr", 0x0000, 0x0020, CRC(25c79518) SHA1(e8f7e8b3d0cf1ed9d723948548f58abf0e2c6d1f) ) +ROM_END + + +ROM_START( batman2 ) + ROM_REGION( 0x4000, REGION_CPU1, 0 ) + ROM_LOAD( "01.bin", 0x0000, 0x0800, CRC(150fbca5) SHA1(a5dc104169eb3225c6200e7e07102f8a9bee6861) ) + ROM_LOAD( "02.bin", 0x0800, 0x0800, CRC(b1624fd0) SHA1(ca4678cf7a8b935be2f68d6e342c1f961bf6f1a2) ) + ROM_LOAD( "03.bin", 0x1000, 0x0800, CRC(93774188) SHA1(8bdd3290db43459c56b932b582f555d89df30bd1) ) + ROM_LOAD( "04.bin", 0x1800, 0x0800, CRC(8a94ec6c) SHA1(dacadab9a05ddee2de188b368f795d74213e020d) ) + ROM_LOAD( "05.bin", 0x2000, 0x0800, CRC(a3669461) SHA1(11ea7aa9b55f5790cc2451d80d0eb84388cf47eb) ) + ROM_LOAD( "06.bin", 0x2800, 0x0800, CRC(fa1efbfe) SHA1(f7222dd21e0810d0c8c32919ebb6e0e7bbb4c68e) ) + ROM_LOAD( "07.bin", 0x3000, 0x0800, CRC(9b77debd) SHA1(1f5521bc0f701d86e61219ad3b9516aaa71a68da) ) + ROM_LOAD( "08.bin", 0x3800, 0x0800, CRC(6466177e) SHA1(fc359eadee34586576c557ff7c1dd2c8d49bdf3f) ) + + ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "09.bin", 0x0000, 0x0800, CRC(1a657b1f) SHA1(42149dafdde7d9104f0bddda2223bfc211d0154a) ) + ROM_LOAD( "11.bin", 0x0800, 0x0800, CRC(7a2b48e5) SHA1(f559799c685dd2cb9de06a356bee95b7d6ffadfc) ) + ROM_LOAD( "10.bin", 0x1000, 0x0800, CRC(9b570016) SHA1(44fd2b1caeecdc5200d63c35636f0a605943d30c) ) + ROM_LOAD( "12.bin", 0x1800, 0x0800, CRC(73956244) SHA1(e464b587b5ed636816cc9688593f5b6005cb5216) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) +ROM_END + + +ROM_START( streakng ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "sk1", 0x0000, 0x1000, CRC(c8866ccb) SHA1(1fc8bc643ecbfa86a50448d79b299f5a3dd586c5) ) + ROM_LOAD( "sk2", 0x1000, 0x1000, CRC(7caea29b) SHA1(5b3946ee914b1637db9046abf92d66ceaeb4fc5f) ) + ROM_LOAD( "sk3", 0x2000, 0x1000, CRC(7b4bfa76) SHA1(9223bec0c1cc39bc84670869b2a4fab0d0167c6e) ) + ROM_LOAD( "sk4", 0x3000, 0x1000, CRC(056fc921) SHA1(de8525571e5a82ddf74dd57b1a6c5bc9f2d2c0fe) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "sk5", 0x0000, 0x1000, CRC(d27f1e0c) SHA1(c3b4ae55a93516b034a16c9f943b360b24c933d6) ) + + ROM_REGION( 0x1000, REGION_GFX2, ROMREGION_DISPOSE ) + ROM_LOAD( "sk6", 0x0000, 0x1000, CRC(a7089588) SHA1(e76242b043b1d8f060f669da3ddeee3d10122cdb) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "sk.bpr", 0x0000, 0x0020, CRC(bce79607) SHA1(49d60fde149240bcd025f721b0fbbbdbc549a42f) ) +ROM_END + +ROM_START( pacmanbl ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "blpac1b", 0x0000, 0x0800, CRC(6718df42) SHA1(ee15c3f583d381fba4878f824f83d04479a0cee5) ) + ROM_LOAD( "blpac2b", 0x0800, 0x0800, CRC(33be3648) SHA1(50175889cf37fe8a81c931e009b55d10f8d0444a) ) + ROM_LOAD( "blpac3b", 0x1000, 0x0800, CRC(f98c0ceb) SHA1(4faf8b2fb3f109d1196a9ea256328485074a31b9) ) + ROM_LOAD( "blpac4b", 0x1800, 0x0800, CRC(a9cd0082) SHA1(f44ff1ad15d5ee3096f8f44f9c605f32ae2737d9) ) + ROM_LOAD( "blpac5b", 0x2000, 0x0800, CRC(6d475afc) SHA1(4fe6bde352c7dd9572fefaae4b59640b4f4eb8ba) ) + ROM_LOAD( "blpac6b", 0x2800, 0x0800, CRC(cbe863d3) SHA1(97a2ffa6ab33e6061c664dcd1ee57c86a456782f) ) + ROM_LOAD( "blpac7b", 0x3000, 0x0800, CRC(7daef758) SHA1(4dc8ec0ea8fc04d5bffc1c1335407729309c17f0) ) + + /* note from f205v: on the PCB I have, 10b and 11b have been joined into one single 2732 EPROM labeled "pmc31" + The same goes for 9b and 12b, joined into one single 2732 EPROM labeled "pmc42" */ + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "blpac12b", 0x0000, 0x0800, CRC(b2ed320b) SHA1(680a6fdcb65cc2d88d10bc85e0b2628f43375c5c) ) + ROM_LOAD( "blpac11b", 0x0800, 0x0800, CRC(ab88b2c4) SHA1(d0c829ea8021eae81a2b82d36c35ad8258b115e0) ) + + ROM_REGION( 0x1000, REGION_GFX2, ROMREGION_DISPOSE ) + ROM_LOAD( "blpac10b", 0x0000, 0x0800, CRC(44a45b72) SHA1(8abd0684a01d6c23ef5cf5f0765458f982316acf) ) + ROM_LOAD( "blpac9b", 0x0800, 0x0800, CRC(fa84659f) SHA1(20c212723f9062f052539190dfe3fc41577543eb) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "blpaccp", 0x0000, 0x0020, CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d) ) /* same as pisces */ +ROM_END + + +ROM_START( devilfsg ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "dfish1.7f", 0x2000, 0x0800, CRC(2ab19698) SHA1(8450981d3cf3fa8abf2fb5487aa98b03a4cf03a1) ) + ROM_CONTINUE( 0x0000, 0x0800 ) + ROM_LOAD( "dfish2.7h", 0x2800, 0x0800, CRC(4e77f097) SHA1(aeaa5ff210ccbbe77114edf5dee992d2720636ae) ) + ROM_CONTINUE( 0x0800, 0x0800 ) + ROM_LOAD( "dfish3.7k", 0x3000, 0x0800, CRC(3f16a4c6) SHA1(cc30b27070a12c250cdc2f7289bae7c7a4c05c2c) ) + ROM_CONTINUE( 0x1000, 0x0800 ) + ROM_LOAD( "dfish4.7m", 0x3800, 0x0800, CRC(11fc7e59) SHA1(2c0182a75bfca085e67483b421f40b3bc9b8ef24) ) + ROM_CONTINUE( 0x1800, 0x0800 ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "dfish5.1h", 0x0000, 0x0800, CRC(ace6e31f) SHA1(23df890fdf8ef275af79e10c8e43ff3a617b28ac) ) + ROM_CONTINUE( 0x0000, 0x0800 ) + ROM_LOAD( "dfish6.1k", 0x0800, 0x0800, CRC(d7a6c4c4) SHA1(ec5f9182657edb11884ab93f868f1bb3569461ae) ) + ROM_CONTINUE( 0x0800, 0x0800 ) + + ROM_REGION( 0x1000, REGION_GFX2, ROMREGION_DISPOSE ) + ROM_LOAD( "dfish5.1h", 0x0000, 0x0800, CRC(ace6e31f) SHA1(23df890fdf8ef275af79e10c8e43ff3a617b28ac) ) + ROM_IGNORE( 0x0800 ) + ROM_LOAD( "dfish6.1k", 0x0800, 0x0800, CRC(d7a6c4c4) SHA1(ec5f9182657edb11884ab93f868f1bb3569461ae) ) + ROM_IGNORE( 0x0800 ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "82s123.6e", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) ) +ROM_END + + +ROM_START( zigzag ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "zz_d1.bin", 0x0000, 0x1000, CRC(8cc08d81) SHA1(be671192ef06dc3ed6963dc39e6bdce3275300e9) ) + ROM_LOAD( "zz_d2.bin", 0x1000, 0x1000, CRC(326d8d45) SHA1(563b9fc64c34e36cfadffb107ce30d3a04d62d9c) ) + ROM_LOAD( "zz_d4.bin", 0x2000, 0x1000, CRC(a94ed92a) SHA1(d56f32fc2b3f0f7affe658b7726682c60d09bc16) ) + ROM_LOAD( "zz_d3.bin", 0x3000, 0x1000, CRC(ce5e7a00) SHA1(93c47d22698a016cb0f0b654ade9ccab0cd1c88b) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "zz_6_h1.bin", 0x0000, 0x0800, CRC(780c162a) SHA1(b0cac68258281917bcada52ce26e0ce38721d633) ) + ROM_IGNORE( 0x0800 ) + ROM_LOAD( "zz_5.bin", 0x0800, 0x0800, CRC(f3cdfec5) SHA1(798d631c72d8e6b2e372b4b3ab0c10d8365a1359) ) + ROM_IGNORE( 0x0800 ) + + ROM_REGION( 0x1000, REGION_GFX2, ROMREGION_DISPOSE ) + ROM_LOAD( "zz_6_h1.bin", 0x0000, 0x0800, CRC(780c162a) SHA1(b0cac68258281917bcada52ce26e0ce38721d633) ) + ROM_CONTINUE( 0x0000, 0x0800 ) + ROM_LOAD( "zz_5.bin", 0x0800, 0x0800, CRC(f3cdfec5) SHA1(798d631c72d8e6b2e372b4b3ab0c10d8365a1359) ) + ROM_CONTINUE( 0x0800, 0x0800 ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "zzbp_e9.bin", 0x0000, 0x0020, CRC(aa486dd0) SHA1(b845b52715bf6361ceee8c1ac541733963bd47af) ) +ROM_END + +ROM_START( zigzag2 ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "z1", 0x0000, 0x1000, CRC(4c28349a) SHA1(646134ce506deaee88cc2ec5a973f8fedaddb66b) ) + ROM_LOAD( "zz_d2.bin", 0x1000, 0x1000, CRC(326d8d45) SHA1(563b9fc64c34e36cfadffb107ce30d3a04d62d9c) ) + ROM_LOAD( "zz_d4.bin", 0x2000, 0x1000, CRC(a94ed92a) SHA1(d56f32fc2b3f0f7affe658b7726682c60d09bc16) ) + ROM_LOAD( "zz_d3.bin", 0x3000, 0x1000, CRC(ce5e7a00) SHA1(93c47d22698a016cb0f0b654ade9ccab0cd1c88b) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "zz_6_h1.bin", 0x0000, 0x0800, CRC(780c162a) SHA1(b0cac68258281917bcada52ce26e0ce38721d633) ) + ROM_IGNORE( 0x0800 ) + ROM_LOAD( "zz_5.bin", 0x0800, 0x0800, CRC(f3cdfec5) SHA1(798d631c72d8e6b2e372b4b3ab0c10d8365a1359) ) + ROM_IGNORE( 0x0800 ) + + ROM_REGION( 0x1000, REGION_GFX2, ROMREGION_DISPOSE ) + ROM_LOAD( "zz_6_h1.bin", 0x0000, 0x0800, CRC(780c162a) SHA1(b0cac68258281917bcada52ce26e0ce38721d633) ) + ROM_CONTINUE( 0x0000, 0x0800 ) + ROM_LOAD( "zz_5.bin", 0x0800, 0x0800, CRC(f3cdfec5) SHA1(798d631c72d8e6b2e372b4b3ab0c10d8365a1359) ) + ROM_CONTINUE( 0x0800, 0x0800 ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "zzbp_e9.bin", 0x0000, 0x0020, CRC(aa486dd0) SHA1(b845b52715bf6361ceee8c1ac541733963bd47af) ) +ROM_END + + +ROM_START( gmgalax ) + ROM_REGION( 0x18000, REGION_CPU1, 0 ) /* 64k for code + 32k for banked code */ + ROM_LOAD( "pcb1_pm1.bin", 0x10000, 0x1000, CRC(19338c70) SHA1(cc2665b7d534d324627d12025ee099ff415d4214) ) + ROM_LOAD( "pcb1_pm2.bin", 0x11000, 0x1000, CRC(18db074d) SHA1(a70ed18f632e947493e648e6fc057dfb7a2a3322) ) + ROM_LOAD( "pcb1_pm3.bin", 0x12000, 0x1000, CRC(abb98b1d) SHA1(bb0109d353359bb192a3e6856a857c2f842838cb) ) + ROM_LOAD( "pcb1_pm4.bin", 0x13000, 0x1000, CRC(2403c78e) SHA1(52d8c8a4efcf47871485080ab217098a019e6579) ) + ROM_LOAD( "pcb1_gx1.bin", 0x14000, 0x1000, CRC(2faa9f53) SHA1(1e7010d407601c5da1adc68bc9f4742c79d57286) ) + ROM_LOAD( "pcb1_gx2.bin", 0x15000, 0x1000, CRC(121c5f16) SHA1(cb1806fa984870133fd883969838dca85f992515) ) + ROM_LOAD( "pcb1_gx3.bin", 0x16000, 0x1000, CRC(02d81a21) SHA1(39209cfb7cf142a65e157544d93803ea542a8efb) ) + + ROM_REGION( 0x4000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "pcb2gfx1.bin", 0x0000, 0x0800, CRC(7021bbc0) SHA1(52d2983d74e722fccb31eb02ca56255850c4f41c) ) + ROM_CONTINUE( 0x1000, 0x0800 ) + ROM_LOAD( "pcb2gfx3.bin", 0x0800, 0x0800, CRC(089c922b) SHA1(f1b81999f63677d4cd58cd547353170e348a1423) ) + ROM_CONTINUE( 0x1800, 0x0800 ) + ROM_LOAD( "pcb2gfx2.bin", 0x2000, 0x0800, CRC(51bf58ee) SHA1(3546ff03c76a6422b0515bd5c695674bfb032089) ) + ROM_CONTINUE( 0x3000, 0x0800 ) + ROM_LOAD( "pcb2gfx4.bin", 0x2800, 0x0800, CRC(908fd0dc) SHA1(ac278bd82730e92ff312793244340748b93fa9bb) ) + ROM_CONTINUE( 0x3800, 0x0800 ) + + ROM_REGION( 0x0040, REGION_PROMS, 0 ) + ROM_LOAD( "gmgalax2.clr", 0x0000, 0x0020, CRC(499f4440) SHA1(66d6463a145087041934bdab8bfa6c3db6375317) ) + ROM_LOAD( "l06_prom.bin", 0x0020, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) +ROM_END + + + +/************************************* + * + * ROM definitions + * Moon Cresta-derived games + * + *************************************/ + +ROM_START( mooncrst ) + ROM_REGION( 0x8000, REGION_CPU1, 0 ) + ROM_LOAD( "mc1", 0x0000, 0x0800, CRC(7d954a7a) SHA1(a93ee403cfd7887538ad12d33f6dd6c71bea2a32) ) + ROM_LOAD( "mc2", 0x0800, 0x0800, CRC(44bb7cfa) SHA1(349c2e23a9fce73f95bb8168d369082fa129fe3d) ) + ROM_LOAD( "mc3", 0x1000, 0x0800, CRC(9c412104) SHA1(1b40054ebb1ace965a8522119bb23f09797bc5f6) ) + ROM_LOAD( "mc4", 0x1800, 0x0800, CRC(7e9b1ab5) SHA1(435f603c0c3e788a509dd144a7916a34e791ae44) ) + ROM_LOAD( "mc5.7r", 0x2000, 0x0800, CRC(16c759af) SHA1(3b48050411f65f9d3fb41ff22901e22d82bf1cf6) ) + ROM_LOAD( "mc6.8d", 0x2800, 0x0800, CRC(69bcafdb) SHA1(939c8c6ed1cd4660a3d99b8f17ed99cbd7e1352a) ) + ROM_LOAD( "mc7.8e", 0x3000, 0x0800, CRC(b50dbc46) SHA1(4fa084fd1ba5f78e7703e684c57af15ca7a844e4) ) + ROM_LOAD( "mc8", 0x3800, 0x0800, CRC(18ca312b) SHA1(39219059003b949e38305553fea2d33071062c64) ) + + ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "mcs_b", 0x0000, 0x0800, CRC(fb0f1f81) SHA1(38a6679a8b69bc1870a0e67e692131c42f9535c8) ) + ROM_LOAD( "mcs_d", 0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) ) + ROM_LOAD( "mcs_a", 0x1000, 0x0800, CRC(631ebb5a) SHA1(5bc9493afa76c55858b8c8849524cbc77dc838fc) ) + ROM_LOAD( "mcs_c", 0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */ +ROM_END + +ROM_START( mooncrsu ) + ROM_REGION( 0x8000, REGION_CPU1, 0 ) + ROM_LOAD( "smc1f", 0x0000, 0x0800, CRC(389ca0d6) SHA1(51cf6d190a0ebf23b70c2bcf1ccaa4705e29cd09) ) + ROM_LOAD( "smc2f", 0x0800, 0x0800, CRC(410ab430) SHA1(d89abff6ac4afbf69377a1d63043d629a634aab7) ) + ROM_LOAD( "smc3f", 0x1000, 0x0800, CRC(a6b4144b) SHA1(2b27ad54d716286c0dc9476d47df182ae01bcfd7) ) + ROM_LOAD( "smc4f", 0x1800, 0x0800, CRC(4cc046fe) SHA1(465eaacd50967d768babadd09ab9cad35380f6bf) ) + ROM_LOAD( "e5", 0x2000, 0x0800, CRC(06d378a6) SHA1(99dbe9fc7f95f8fdce86eb5c32bd1ca1bea0ca3c) ) + ROM_LOAD( "bepr199", 0x2800, 0x0800, CRC(6e84a927) SHA1(82e8e825d157c3c947a3a222bca059a735169c7d) ) + ROM_LOAD( "e7", 0x3000, 0x0800, CRC(b45af1e8) SHA1(d7020774707234acdaef5c655f667d5ee9e54a13) ) + ROM_LOAD( "smc8f", 0x3800, 0x0800, CRC(f42164c5) SHA1(e0d1680f193889568edf005786e2767d4fb086f4) ) + + ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "mcs_b", 0x0000, 0x0800, CRC(fb0f1f81) SHA1(38a6679a8b69bc1870a0e67e692131c42f9535c8) ) + ROM_LOAD( "mcs_d", 0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) ) + ROM_LOAD( "mcs_a", 0x1000, 0x0800, CRC(631ebb5a) SHA1(5bc9493afa76c55858b8c8849524cbc77dc838fc) ) + ROM_LOAD( "mcs_c", 0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */ +ROM_END + +ROM_START( mooncrsa ) + ROM_REGION( 0x8000, REGION_CPU1, 0 ) + ROM_LOAD( "mc1.7d", 0x0000, 0x0800, CRC(92a86aac) SHA1(f5818ac97d8b779e1fb29bf903f74185d24afb0d) ) + ROM_LOAD( "mc2.7e", 0x0800, 0x0800, CRC(438c2b4b) SHA1(11f56b489b5489999952e91919c5e1f622c59c36) ) + ROM_LOAD( "mc3.7j", 0x1000, 0x0800, CRC(67e3d21d) SHA1(59579d19931ef11b30fdc3912d838200bef92c81) ) + ROM_LOAD( "mc4.7p", 0x1800, 0x0800, CRC(f4db39f6) SHA1(454931f80b35608793590b3843c69ba64cbf6772) ) + ROM_LOAD( "mc5.7r", 0x2000, 0x0800, CRC(16c759af) SHA1(3b48050411f65f9d3fb41ff22901e22d82bf1cf6) ) + ROM_LOAD( "mc6.8d", 0x2800, 0x0800, CRC(69bcafdb) SHA1(939c8c6ed1cd4660a3d99b8f17ed99cbd7e1352a) ) + ROM_LOAD( "mc7.8e", 0x3000, 0x0800, CRC(b50dbc46) SHA1(4fa084fd1ba5f78e7703e684c57af15ca7a844e4) ) + ROM_LOAD( "mc8.8h", 0x3800, 0x0800, CRC(7e2b1928) SHA1(4f0de8e80c2e2ec6df8612755caf93671ea965b0) ) + + ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "mcs_b", 0x0000, 0x0800, CRC(fb0f1f81) SHA1(38a6679a8b69bc1870a0e67e692131c42f9535c8) ) + ROM_LOAD( "mcs_d", 0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) ) + ROM_LOAD( "mcs_a", 0x1000, 0x0800, CRC(631ebb5a) SHA1(5bc9493afa76c55858b8c8849524cbc77dc838fc) ) + ROM_LOAD( "mcs_c", 0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */ +ROM_END + +ROM_START( mooncrsg ) + ROM_REGION( 0x8000, REGION_CPU1, 0 ) + ROM_LOAD( "epr194", 0x0000, 0x0800, CRC(0e5582b1) SHA1(946ad4aeb10c0b7b3f93fd24925cc9bcb49e443c) ) + ROM_LOAD( "epr195", 0x0800, 0x0800, CRC(12cb201b) SHA1(ebb01ec646b9e015cbcb93f70dfdaf448afefc12) ) + ROM_LOAD( "epr196", 0x1000, 0x0800, CRC(18255614) SHA1(b373e22d47c0f7facba13148ca9c462ec9a0d732) ) + ROM_LOAD( "epr197", 0x1800, 0x0800, CRC(05ac1466) SHA1(cbf93a8ce0925fa1c073c74f1274b190d9faefaf) ) + ROM_LOAD( "epr198", 0x2000, 0x0800, CRC(c28a2e8f) SHA1(9ff6bab1e1185597ba55cb0d6086091a1fce01a6) ) + ROM_LOAD( "epr199", 0x2800, 0x0800, CRC(5a4571de) SHA1(2a4170dee105922fc69c99b79f6f328098e81918) ) + ROM_LOAD( "epr200", 0x3000, 0x0800, CRC(b7c85bf1) SHA1(cc9f593658ea39c849d80c83ee0c2170cc29879e) ) + ROM_LOAD( "epr201", 0x3800, 0x0800, CRC(2caba07f) SHA1(8fec4904e12b4cfb6068784007278be986a3eede) ) + + ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "epr203", 0x0000, 0x0800, CRC(be26b561) SHA1(cc27de6888eaf4ee18c0d37d9bcb528dd282b838) ) + ROM_LOAD( "mcs_d", 0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) ) + ROM_LOAD( "epr202", 0x1000, 0x0800, CRC(26c7e800) SHA1(034192e5e2cbac4b66a9828f5ec2311c2c368781) ) + ROM_LOAD( "mcs_c", 0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */ +ROM_END + +ROM_START( mooncrsb ) + ROM_REGION( 0x8000, REGION_CPU1, 0 ) + ROM_LOAD( "bepr194", 0x0000, 0x0800, CRC(6a23ec6d) SHA1(df2214bdde26a71db59ffd39a745052076563f65) ) + ROM_LOAD( "bepr195", 0x0800, 0x0800, CRC(ee262ff2) SHA1(4e2202023ad53109ea58304071735d2425a617f3) ) + ROM_LOAD( "f03.bin", 0x1000, 0x0800, CRC(29a2b0ab) SHA1(e9fc7161d0566e36307c45b7132e2262c0af4845) ) + ROM_LOAD( "f04.bin", 0x1800, 0x0800, CRC(4c6a5a6d) SHA1(366516f63c9b5239e703e4dfb672659049ddbf44) ) + ROM_LOAD( "e5", 0x2000, 0x0800, CRC(06d378a6) SHA1(99dbe9fc7f95f8fdce86eb5c32bd1ca1bea0ca3c) ) + ROM_LOAD( "bepr199", 0x2800, 0x0800, CRC(6e84a927) SHA1(82e8e825d157c3c947a3a222bca059a735169c7d) ) + ROM_LOAD( "e7", 0x3000, 0x0800, CRC(b45af1e8) SHA1(d7020774707234acdaef5c655f667d5ee9e54a13) ) + ROM_LOAD( "bepr201", 0x3800, 0x0800, CRC(66da55d5) SHA1(39e2f6107e77ee97860147f64b9673cd9a2ae612) ) + + ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "epr203", 0x0000, 0x0800, CRC(be26b561) SHA1(cc27de6888eaf4ee18c0d37d9bcb528dd282b838) ) + ROM_LOAD( "mcs_d", 0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) ) + ROM_LOAD( "epr202", 0x1000, 0x0800, CRC(26c7e800) SHA1(034192e5e2cbac4b66a9828f5ec2311c2c368781) ) + ROM_LOAD( "mcs_c", 0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */ +ROM_END + +ROM_START( mooncrs2 ) + ROM_REGION( 0x8000, REGION_CPU1, 0 ) + ROM_LOAD( "f8.bin", 0x0000, 0x0800, CRC(d36003e5) SHA1(562b27f1bccce6ae29de18b93fa51c508446cda9) ) + ROM_LOAD( "bepr195", 0x0800, 0x0800, CRC(ee262ff2) SHA1(4e2202023ad53109ea58304071735d2425a617f3) ) + ROM_LOAD( "f03.bin", 0x1000, 0x0800, CRC(29a2b0ab) SHA1(e9fc7161d0566e36307c45b7132e2262c0af4845) ) + ROM_LOAD( "f04.bin", 0x1800, 0x0800, CRC(4c6a5a6d) SHA1(366516f63c9b5239e703e4dfb672659049ddbf44) ) + ROM_LOAD( "e5", 0x2000, 0x0800, CRC(06d378a6) SHA1(99dbe9fc7f95f8fdce86eb5c32bd1ca1bea0ca3c) ) + ROM_LOAD( "bepr199", 0x2800, 0x0800, CRC(6e84a927) SHA1(82e8e825d157c3c947a3a222bca059a735169c7d) ) + ROM_LOAD( "e7", 0x3000, 0x0800, CRC(b45af1e8) SHA1(d7020774707234acdaef5c655f667d5ee9e54a13) ) + ROM_LOAD( "m7.bin", 0x3800, 0x0800, CRC(957ee078) SHA1(472038dedfc01c995be889ea93d4df8bef2b874c) ) + + ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "1h_1_10.bin", 0x0000, 0x0800, CRC(528da705) SHA1(d726ee18b79774c982f88afb2a508eb5d5783193) ) + ROM_LOAD( "12.chr", 0x0800, 0x0200, CRC(5a4b17ea) SHA1(8a879dc34fdecc8a121c4a87abb981212fb05945) ) + ROM_CONTINUE( 0x0c00, 0x0200 ) /* this version of the gfx ROMs has two */ + ROM_CONTINUE( 0x0a00, 0x0200 ) /* groups of 16 sprites swapped */ + ROM_CONTINUE( 0x0e00, 0x0200 ) + ROM_LOAD( "1k_1_11.bin", 0x1000, 0x0800, CRC(4e79ff6b) SHA1(f72386a3766a7fcc7b4b8cedfa58b8d57f911f6f) ) + ROM_LOAD( "11.chr", 0x1800, 0x0200, CRC(e0edccbd) SHA1(0839a4c9b6e863d12253ae8e1732e80e08702228) ) + ROM_CONTINUE( 0x1c00, 0x0200 ) + ROM_CONTINUE( 0x1a00, 0x0200 ) + ROM_CONTINUE( 0x1e00, 0x0200 ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */ +ROM_END + +ROM_START( mooncrs3 ) /* Bootleg by Jeutel, very simular to Moon Cresta (bootleg set 2) */ + ROM_REGION( 0x8000, REGION_CPU1, 0 ) + ROM_LOAD( "b1.7f", 0x0000, 0x0800, CRC(0b28cd8a) SHA1(a1aa0ec63e1dddf4263aa39f6a5fda93108b6e98) ) + ROM_CONTINUE( 0x2000, 0x0800 ) + ROM_LOAD( "b2.7h", 0x0800, 0x0800, CRC(74a6f0ca) SHA1(cc8e8193bb6bd62f6cb9ea924e4da5ddc44c4685) ) + ROM_CONTINUE( 0x2800, 0x0800 ) + ROM_LOAD( "b3.7j", 0x1000, 0x0800, CRC(eeb34cc9) SHA1(c5e7d5e1989211be949972e4281403b7b4866922) ) + ROM_CONTINUE( 0x3000, 0x0800 ) + ROM_LOAD( "b4.7k", 0x1800, 0x0800, CRC(714330e5) SHA1(c681752732c73a6c9bcc9acdcd5c978c455acba0) ) + ROM_CONTINUE( 0x3800, 0x0800 ) + + ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "o.1h", 0x0000, 0x0800, CRC(528da705) SHA1(d726ee18b79774c982f88afb2a508eb5d5783193) ) + ROM_LOAD( "q.1h", 0x0800, 0x0200, CRC(5a4b17ea) SHA1(8a879dc34fdecc8a121c4a87abb981212fb05945) ) + ROM_CONTINUE( 0x0c00, 0x0200 ) /* this version of the gfx ROMs has two */ + ROM_CONTINUE( 0x0a00, 0x0200 ) /* groups of 16 sprites swapped */ + ROM_CONTINUE( 0x0e00, 0x0200 ) + ROM_LOAD( "p.1k", 0x1000, 0x0800, CRC(4e79ff6b) SHA1(f72386a3766a7fcc7b4b8cedfa58b8d57f911f6f) ) + ROM_LOAD( "r.1k", 0x1800, 0x0200, CRC(e0edccbd) SHA1(0839a4c9b6e863d12253ae8e1732e80e08702228) ) + ROM_CONTINUE( 0x1c00, 0x0200 ) + ROM_CONTINUE( 0x1a00, 0x0200 ) + ROM_CONTINUE( 0x1e00, 0x0200 ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */ +ROM_END + +ROM_START( fantazia ) + ROM_REGION( 0x8000, REGION_CPU1, 0 ) + ROM_LOAD( "f01.bin", 0x0000, 0x0800, CRC(d3e23863) SHA1(f0a6f7491fdf8aae214f40078b29b7aecdcf2f1e) ) + ROM_LOAD( "f02.bin", 0x0800, 0x0800, CRC(63fa4149) SHA1(603ee6d4d2952cc08b3f6e98b1a2053671875e44) ) + ROM_LOAD( "f03.bin", 0x1000, 0x0800, CRC(29a2b0ab) SHA1(e9fc7161d0566e36307c45b7132e2262c0af4845) ) + ROM_LOAD( "f04.bin", 0x1800, 0x0800, CRC(4c6a5a6d) SHA1(366516f63c9b5239e703e4dfb672659049ddbf44) ) + ROM_LOAD( "f09.bin", 0x2000, 0x0800, CRC(75fd5ca1) SHA1(45f2dd33f0e437cb95d9373f86490e5432338737) ) + ROM_LOAD( "f10.bin", 0x2800, 0x0800, CRC(e4da2dd4) SHA1(7a53efd5b583f656c87b7d7a5ba7c239ced7d87b) ) + ROM_LOAD( "f11.bin", 0x3000, 0x0800, CRC(42869646) SHA1(a3640b2ace31ce99c056bc14d1d96f3404698d6a) ) + ROM_LOAD( "f12.bin", 0x3800, 0x0800, CRC(a48d7fb0) SHA1(6206036a9d85e87fb7f8a88c17bfe090fc70caf4) ) + + ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "1h_1_10.bin", 0x0000, 0x0800, CRC(528da705) SHA1(d726ee18b79774c982f88afb2a508eb5d5783193) ) + ROM_LOAD( "mcs_d", 0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) ) + ROM_LOAD( "1k_1_11.bin", 0x1000, 0x0800, CRC(4e79ff6b) SHA1(f72386a3766a7fcc7b4b8cedfa58b8d57f911f6f) ) + ROM_LOAD( "mcs_c", 0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "fantazia.clr", 0x0000, 0x0020, CRC(a84ff0af) SHA1(c300dc937c608d2d1c113ca7a53c649472c72379) ) +ROM_END + +ROM_START( eagle ) + ROM_REGION( 0x8000, REGION_CPU1, 0 ) + ROM_LOAD( "e1", 0x0000, 0x0800, CRC(224c9526) SHA1(4c014d60d4ee80de7f60b4609269461688c181d0) ) + ROM_LOAD( "e2", 0x0800, 0x0800, CRC(cc538ebd) SHA1(4ef3c7363e2dcd9ed99779039ccc50a9f2084dbd) ) + ROM_LOAD( "f03.bin", 0x1000, 0x0800, CRC(29a2b0ab) SHA1(e9fc7161d0566e36307c45b7132e2262c0af4845) ) + ROM_LOAD( "f04.bin", 0x1800, 0x0800, CRC(4c6a5a6d) SHA1(366516f63c9b5239e703e4dfb672659049ddbf44) ) + ROM_LOAD( "e5", 0x2000, 0x0800, CRC(06d378a6) SHA1(99dbe9fc7f95f8fdce86eb5c32bd1ca1bea0ca3c) ) + ROM_LOAD( "e6", 0x2800, 0x0800, CRC(0dea20d5) SHA1(405b51d4e3b1065f78afd2297e075e977ae19196) ) + ROM_LOAD( "e7", 0x3000, 0x0800, CRC(b45af1e8) SHA1(d7020774707234acdaef5c655f667d5ee9e54a13) ) + ROM_LOAD( "e8", 0x3800, 0x0800, CRC(c437a876) SHA1(845941b873970ac62ba9bb6353bee53d0fcfa292) ) + + ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "e10", 0x0000, 0x0800, CRC(40ce58bf) SHA1(67ea99e1afe4fff3e17252b22d11d3c96a416041) ) + ROM_LOAD( "e12", 0x0800, 0x0200, CRC(628fdeed) SHA1(a798530c65e639fbf00ed3a4e8c428935bf5f38e) ) + ROM_CONTINUE( 0x0c00, 0x0200 ) /* this version of the gfx ROMs has two */ + ROM_CONTINUE( 0x0a00, 0x0200 ) /* groups of 16 sprites swapped */ + ROM_CONTINUE( 0x0e00, 0x0200 ) + ROM_LOAD( "e9", 0x1000, 0x0800, CRC(ba664099) SHA1(9509123bed02a9d47f2c056e1562b80206da5579) ) + ROM_LOAD( "e11", 0x1800, 0x0200, CRC(ee4ec5fd) SHA1(bf08b3f111f780dc8c81275e4e6247388183a8da) ) + ROM_CONTINUE( 0x1c00, 0x0200 ) + ROM_CONTINUE( 0x1a00, 0x0200 ) + ROM_CONTINUE( 0x1e00, 0x0200 ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) +ROM_END + +ROM_START( eagle2 ) + ROM_REGION( 0x8000, REGION_CPU1, 0 ) + ROM_LOAD( "e1.7f", 0x0000, 0x0800, CRC(45aab7a3) SHA1(52ae0463f363dc0964b976faa2c0c428d85a4f12) ) + ROM_LOAD( "e2", 0x0800, 0x0800, CRC(cc538ebd) SHA1(4ef3c7363e2dcd9ed99779039ccc50a9f2084dbd) ) + ROM_LOAD( "f03.bin", 0x1000, 0x0800, CRC(29a2b0ab) SHA1(e9fc7161d0566e36307c45b7132e2262c0af4845) ) + ROM_LOAD( "f04.bin", 0x1800, 0x0800, CRC(4c6a5a6d) SHA1(366516f63c9b5239e703e4dfb672659049ddbf44) ) + ROM_LOAD( "e5", 0x2000, 0x0800, CRC(06d378a6) SHA1(99dbe9fc7f95f8fdce86eb5c32bd1ca1bea0ca3c) ) + ROM_LOAD( "e6.6", 0x2800, 0x0800, CRC(9f09f8c6) SHA1(47c600629e02357389dd78c7fcaec862e0da4ef0) ) + ROM_LOAD( "e7", 0x3000, 0x0800, CRC(b45af1e8) SHA1(d7020774707234acdaef5c655f667d5ee9e54a13) ) + ROM_LOAD( "e8", 0x3800, 0x0800, CRC(c437a876) SHA1(845941b873970ac62ba9bb6353bee53d0fcfa292) ) + + ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "e10.2", 0x0000, 0x0800, CRC(25b38ebd) SHA1(f679c2f2cb5892680fec102fafbdfeae156ce373) ) + ROM_LOAD( "e12", 0x0800, 0x0200, CRC(628fdeed) SHA1(a798530c65e639fbf00ed3a4e8c428935bf5f38e) ) + ROM_CONTINUE( 0x0c00, 0x0200 ) /* this version of the gfx ROMs has two */ + ROM_CONTINUE( 0x0a00, 0x0200 ) /* groups of 16 sprites swapped */ + ROM_CONTINUE( 0x0e00, 0x0200 ) + ROM_LOAD( "e9", 0x1000, 0x0800, CRC(ba664099) SHA1(9509123bed02a9d47f2c056e1562b80206da5579) ) + ROM_LOAD( "e11", 0x1800, 0x0200, CRC(ee4ec5fd) SHA1(bf08b3f111f780dc8c81275e4e6247388183a8da) ) + ROM_CONTINUE( 0x1c00, 0x0200 ) + ROM_CONTINUE( 0x1a00, 0x0200 ) + ROM_CONTINUE( 0x1e00, 0x0200 ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) +ROM_END + +ROM_START( eagle3 ) + ROM_REGION( 0x8000, REGION_CPU1, 0 ) + ROM_LOAD( "e1", 0x0000, 0x0800, CRC(224c9526) SHA1(4c014d60d4ee80de7f60b4609269461688c181d0) ) + ROM_LOAD( "e2", 0x0800, 0x0800, CRC(cc538ebd) SHA1(4ef3c7363e2dcd9ed99779039ccc50a9f2084dbd) ) + ROM_LOAD( "f03.bin", 0x1000, 0x0800, CRC(29a2b0ab) SHA1(e9fc7161d0566e36307c45b7132e2262c0af4845) ) + ROM_LOAD( "f04.bin", 0x1800, 0x0800, CRC(4c6a5a6d) SHA1(366516f63c9b5239e703e4dfb672659049ddbf44) ) + ROM_LOAD( "e5", 0x2000, 0x0800, CRC(06d378a6) SHA1(99dbe9fc7f95f8fdce86eb5c32bd1ca1bea0ca3c) ) + ROM_LOAD( "e6", 0x2800, 0x0800, CRC(0dea20d5) SHA1(405b51d4e3b1065f78afd2297e075e977ae19196) ) + ROM_LOAD( "e7", 0x3000, 0x0800, CRC(b45af1e8) SHA1(d7020774707234acdaef5c655f667d5ee9e54a13) ) + ROM_LOAD( "e8", 0x3800, 0x0800, CRC(c437a876) SHA1(845941b873970ac62ba9bb6353bee53d0fcfa292) ) + + ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "e10a", 0x0000, 0x0800, CRC(e3c63d4c) SHA1(ad2b22e316da6bb819c58934d51cd4b2819b18f0) ) + ROM_LOAD( "e12", 0x0800, 0x0200, CRC(628fdeed) SHA1(a798530c65e639fbf00ed3a4e8c428935bf5f38e) ) + ROM_CONTINUE( 0x0c00, 0x0200 ) /* this version of the gfx ROMs has two */ + ROM_CONTINUE( 0x0a00, 0x0200 ) /* groups of 16 sprites swapped */ + ROM_CONTINUE( 0x0e00, 0x0200 ) + ROM_LOAD( "e9a", 0x1000, 0x0800, CRC(59429e47) SHA1(b7629c81d122fd1e4d390aa7abba44df898387d3) ) + ROM_LOAD( "e11", 0x1800, 0x0200, CRC(ee4ec5fd) SHA1(bf08b3f111f780dc8c81275e4e6247388183a8da) ) + ROM_CONTINUE( 0x1c00, 0x0200 ) + ROM_CONTINUE( 0x1a00, 0x0200 ) + ROM_CONTINUE( 0x1e00, 0x0200 ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) +ROM_END + +ROM_START( spctbird ) + ROM_REGION( 0x8000, REGION_CPU1, 0 ) + ROM_LOAD( "tssa-7f", 0x0000, 0x0800, CRC(45aab7a3) SHA1(52ae0463f363dc0964b976faa2c0c428d85a4f12) ) + ROM_LOAD( "tssa-7h", 0x0800, 0x0800, CRC(8b328f48) SHA1(d4f549e90e0bf1f546e2c3dc5a5a16e0415e709e) ) + ROM_LOAD( "tssa-7k", 0x1000, 0x0800, CRC(29a2b0ab) SHA1(e9fc7161d0566e36307c45b7132e2262c0af4845) ) + ROM_LOAD( "tssa-7m", 0x1800, 0x0800, CRC(99c9166d) SHA1(c108d84330bc958ff2812dc807e68c246a5a5ad5) ) + ROM_LOAD( "tssa-5", 0x2000, 0x0800, CRC(797b6261) SHA1(9a60e504e2aa0201b7311485c0dd411bbe2dc70b) ) + ROM_LOAD( "tssa-6", 0x2800, 0x0800, CRC(4825692c) SHA1(41a7e305c3d93f2245fb0413398d951eab9d16c0) ) + ROM_LOAD( "tssa-7", 0x3000, 0x0800, CRC(b45af1e8) SHA1(d7020774707234acdaef5c655f667d5ee9e54a13) ) + ROM_LOAD( "tssa-8", 0x3800, 0x0800, CRC(c9b77b85) SHA1(00797f126b4cdacd9ec2df7e747aa1892933b8b8) ) + + ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "tssb-2", 0x0000, 0x0800, CRC(7d23e1f2) SHA1(6902e44ff6f805a8d589c57b236e471b7fb609f8) ) + ROM_LOAD( "tssb-4", 0x0800, 0x0200, CRC(e4977833) SHA1(85aca9bccc6c1a5a2d792a9c4a77ee1b114934c9) ) + ROM_CONTINUE( 0x0c00, 0x0200 ) + ROM_CONTINUE( 0x0a00, 0x0200 ) + ROM_CONTINUE( 0x0e00, 0x0200 ) + ROM_LOAD( "tssb-1", 0x1000, 0x0800, CRC(9b9267c3) SHA1(2bbbff7a8a2d3e4524634de5e1c5a2426612c18f) ) + ROM_LOAD( "tssb-3", 0x1800, 0x0200, CRC(5ca5e233) SHA1(2115faecd07940547d0ee09776da6fcb1a008287) ) + ROM_CONTINUE( 0x1c00, 0x0200 ) + ROM_CONTINUE( 0x1a00, 0x0200 ) + ROM_CONTINUE( 0x1e00, 0x0200 ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) +ROM_END + +ROM_START( smooncrs ) + ROM_REGION( 0x8000, REGION_CPU1, 0 ) + ROM_LOAD( "927", 0x0000, 0x0800, CRC(55c5b994) SHA1(3451b121fa22361b2684385cf5d4455fa6963215) ) + ROM_LOAD( "928a", 0x0800, 0x0800, CRC(77ae26d3) SHA1(cbc16a024b73bedff76a6c47336d6ef098e92c53) ) + ROM_LOAD( "929", 0x1000, 0x0800, CRC(716eaa10) SHA1(780fc785e6651f19dc1a0ccf48cf9485d6562a71) ) + ROM_LOAD( "930", 0x1800, 0x0800, CRC(cea864f2) SHA1(aaaf9f8dd126dfb4a4f52f39863fee02a56a6485) ) + ROM_LOAD( "931", 0x2000, 0x0800, CRC(702c5f51) SHA1(5ba8d87c93c4810b8e7c2ad4ee376cd806e83686) ) + ROM_LOAD( "932a", 0x2800, 0x0800, CRC(e6a2039f) SHA1(f0f240dd8ac7cd2d9994cb7341b59d7a0a3eaf26) ) + ROM_LOAD( "933", 0x3000, 0x0800, CRC(73783cee) SHA1(69760e25ba22645572ec16b4f9136ee84ed0c766) ) + ROM_LOAD( "934", 0x3800, 0x0800, CRC(c1a14aa2) SHA1(99f6b01a0acd5e936d6ae61c13599db603b73191) ) + + ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "epr203", 0x0000, 0x0800, CRC(be26b561) SHA1(cc27de6888eaf4ee18c0d37d9bcb528dd282b838) ) + ROM_LOAD( "mcs_d", 0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) ) + ROM_LOAD( "epr202", 0x1000, 0x0800, CRC(26c7e800) SHA1(034192e5e2cbac4b66a9828f5ec2311c2c368781) ) + ROM_LOAD( "mcs_c", 0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */ +ROM_END + +ROM_START( mooncmw ) + ROM_REGION( 0x8000, REGION_CPU1, 0 ) + ROM_LOAD( "60.1x", 0x0000, 0x0800, CRC(322859e6) SHA1(292dccb66c38c8de837ec3ac10928d092494958e) ) + ROM_LOAD( "61.2x", 0x0800, 0x0800, CRC(c249902d) SHA1(0015461173fb991fd99c824e0eab054c3c17d0f1) ) + ROM_LOAD( "62.3x", 0x1000, 0x0800, CRC(29a2b0ab) SHA1(e9fc7161d0566e36307c45b7132e2262c0af4845) ) + ROM_LOAD( "63.4x", 0x1800, 0x0800, CRC(4c6a5a6d) SHA1(366516f63c9b5239e703e4dfb672659049ddbf44) ) + ROM_LOAD( "64.5x", 0x2000, 0x0800, CRC(06d378a6) SHA1(99dbe9fc7f95f8fdce86eb5c32bd1ca1bea0ca3c) ) + ROM_LOAD( "65.6x", 0x2800, 0x0800, CRC(6e84a927) SHA1(82e8e825d157c3c947a3a222bca059a735169c7d) ) + ROM_LOAD( "66.7x", 0x3000, 0x0800, CRC(f23cd8ce) SHA1(a77e7eca239de6a72a8cabed6444ae8efb9e40bd) ) + ROM_LOAD( "67.8x", 0x3800, 0x0800, CRC(66da55d5) SHA1(39e2f6107e77ee97860147f64b9673cd9a2ae612) ) + + ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "68.1h", 0x0000, 0x1000, CRC(78663d86) SHA1(8648a3e60259404a05ad58b1641190e5b33a24eb) ) + ROM_LOAD( "69.1k", 0x1000, 0x1000, CRC(162c50d3) SHA1(67d9c87782cf29c443590d7ad687fbeaa6218346) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "prom-sn74s288n-71.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */ +ROM_END + +ROM_START( spcdrag ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "a.bin", 0x0000, 0x0800, CRC(38cc9839) SHA1(71c5853fc14a9c0b93e3b7660b925021680a0fe1) ) + ROM_LOAD( "b.bin", 0x0800, 0x0800, CRC(419fa8d6) SHA1(709b096d43c15cbfb98745e1f5e7c1bc921e3241) ) + ROM_LOAD( "c.bin", 0x1000, 0x0800, CRC(a1939def) SHA1(c9be93d325dde496d89e0735ec4e7abca932c0f6) ) + ROM_LOAD( "d.bin", 0x1800, 0x0800, CRC(cbcf17c5) SHA1(9aa3ca6dc30e4a19ed2bdb2be6ba90bde4cb7542) ) + ROM_LOAD( "em.bin", 0x2000, 0x0800, CRC(eb81c19c) SHA1(e5dd61704938c837b87a3155d54698482235c513) ) + ROM_LOAD( "fm.bin", 0x2800, 0x0800, CRC(757b7672) SHA1(d042e4bc17d2a8c9f1db55d57d5c235338cdb20c) ) + ROM_LOAD( "g.bin", 0x3000, 0x0800, CRC(57713b91) SHA1(ba01ed3f047ebbd0f9e6956e649bec0e8b730a45) ) + ROM_LOAD( "h.bin", 0x3800, 0x0800, CRC(159ad847) SHA1(9d46f380c868ac07964e571c54e800c683a6a679) ) + + ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "203.bin", 0x0000, 0x0800, CRC(a2e82527) SHA1(5e9236ba102728213b4651db984b3a169b4a0410) ) + ROM_LOAD( "172.bin", 0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) ) + ROM_LOAD( "202.bin", 0x1000, 0x0800, CRC(80c3ad74) SHA1(0fd2269543d123bd427f5a648a17f8bee65b20a2) ) + ROM_LOAD( "171.bin", 0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + // not present in this set + ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */ +ROM_END + +ROM_START( spcdraga ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "1.7g", 0x0000, 0x0800, CRC(38cc9839) SHA1(71c5853fc14a9c0b93e3b7660b925021680a0fe1) ) + ROM_LOAD( "2.7g", 0x0800, 0x0800, CRC(29e00ae4) SHA1(574bdfb621e084485e6621229cd569486831e4ba) ) + ROM_LOAD( "3.7g", 0x1000, 0x0800, CRC(a1939def) SHA1(c9be93d325dde496d89e0735ec4e7abca932c0f6) ) + ROM_LOAD( "4.7g", 0x1800, 0x0800, CRC(068f8830) SHA1(e12d590401878d9f2695e5c7aa38387ed9ccfb06) ) + ROM_LOAD( "5.10g", 0x2000, 0x0800, CRC(32cd9adc) SHA1(3143690712465d092d6c63f4826f220839d78958) ) + ROM_LOAD( "6.10g", 0x2800, 0x0800, CRC(50db67c5) SHA1(69ad219332ac0d9f4e328b314f7bdc34d5599393) ) + ROM_LOAD( "7.10g", 0x3000, 0x0800, CRC(22415271) SHA1(60b1ca2dc044c0863c6f38280a3bd0ff9397c869) ) + ROM_LOAD( "8.10g", 0x3800, 0x0800, CRC(159ad847) SHA1(9d46f380c868ac07964e571c54e800c683a6a679) ) + + ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "a2.7a", 0x0000, 0x0800, CRC(38b042dd) SHA1(bd452dae4cbc22a900cf783f84d1f9d8cb1218f9) ) + ROM_LOAD( "a4.7a", 0x0800, 0x0800, CRC(5a4b17ea) SHA1(8a879dc34fdecc8a121c4a87abb981212fb05945) ) + ROM_LOAD( "a1.9a", 0x1000, 0x0800, CRC(24441ab3) SHA1(8c9d2bd062cb2360f3dd3df2d7d212e9485f91ad) ) + ROM_LOAD( "a3.9a", 0x1800, 0x0800, CRC(e0edccbd) SHA1(0839a4c9b6e863d12253ae8e1732e80e08702228) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + // not present in this set + ROM_LOAD( "prom_6331.10f", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */ +ROM_END + +ROM_START( mooncrgx ) + ROM_REGION( 0x8000, REGION_CPU1, 0 ) + ROM_LOAD( "1", 0x0000, 0x0800, CRC(84cf420b) SHA1(82c979467c51df699337d5878340d05bee606480) ) + ROM_LOAD( "2", 0x0800, 0x0800, CRC(4c2a61a1) SHA1(a3759bd2c062f2843cd5b812529c798d5d12086c) ) + ROM_LOAD( "3", 0x1000, 0x0800, CRC(1962523a) SHA1(56ea003c3ff37c2bc33383207fccde0ba0ed781a) ) + ROM_LOAD( "4", 0x1800, 0x0800, CRC(75dca896) SHA1(017d04501d3d1305491ba843d92ebd74d47d2f9c) ) + ROM_LOAD( "5", 0x2000, 0x0800, CRC(32483039) SHA1(23baf136d5b7fc02f999dcb31b8daf68b6ffafd1) ) + ROM_LOAD( "6", 0x2800, 0x0800, CRC(43f2ab89) SHA1(f7f0802a12fd89d61f6f00044e077f34a9d3955f) ) + ROM_LOAD( "7", 0x3000, 0x0800, CRC(1e9c168c) SHA1(891dc159dfc343322c3241980a0ef76dee510ca9) ) + ROM_LOAD( "8", 0x3800, 0x0800, CRC(5e09da94) SHA1(677890912db12df6fa2cb515c198f8ac3f7187af) ) + + ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "1h_1_10.bin", 0x0000, 0x0800, CRC(528da705) SHA1(d726ee18b79774c982f88afb2a508eb5d5783193) ) + ROM_LOAD( "12.chr", 0x0800, 0x0800, CRC(5a4b17ea) SHA1(8a879dc34fdecc8a121c4a87abb981212fb05945) ) + ROM_LOAD( "9.chr", 0x1000, 0x0800, CRC(70df525c) SHA1(f771293494a2234bf80f206ecf1e88773322e503) ) + ROM_LOAD( "11.chr", 0x1800, 0x0800, CRC(e0edccbd) SHA1(0839a4c9b6e863d12253ae8e1732e80e08702228) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) +ROM_END + +ROM_START( moonqsr ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "mq1", 0x0000, 0x0800, CRC(132c13ec) SHA1(d95166b025442f184e44a70312fb3b4f6366f324) ) + ROM_LOAD( "mq2", 0x0800, 0x0800, CRC(c8eb74f1) SHA1(4efa85c40349852da47a0f725ae06873efe4ce1c) ) + ROM_LOAD( "mq3", 0x1000, 0x0800, CRC(33965a89) SHA1(92912cea76a472d9b709c664d9818844a07fcc32) ) + ROM_LOAD( "mq4", 0x1800, 0x0800, CRC(a3861d17) SHA1(d7037d93b7838ccdd9a6a1a1476571cfa869fca1) ) + ROM_LOAD( "mq5", 0x2000, 0x0800, CRC(8bcf9c67) SHA1(7af0d9308d20c52675301acf5d1a5d62358352a6) ) + ROM_LOAD( "mq6", 0x2800, 0x0800, CRC(5750cda9) SHA1(17c2bc38037833fdb8923d4a2262264386ef916b) ) + ROM_LOAD( "mq7", 0x3000, 0x0800, CRC(78d7fe5b) SHA1(4085562a0af94c65dad2a3550409727e597c0d5b) ) + ROM_LOAD( "mq8", 0x3800, 0x0800, CRC(4919eed5) SHA1(526aaedd25e0f7c525eb7c66519218ae09b0407e) ) + + ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "mqb", 0x0000, 0x0800, CRC(b55ec806) SHA1(fb52e53dfa3ae9dec162622d22de9cfdb0b5f9d6) ) + ROM_LOAD( "mqd", 0x0800, 0x0800, CRC(9e7d0e13) SHA1(18951080d307ac13344f89745f671595e26d282c) ) + ROM_LOAD( "mqa", 0x1000, 0x0800, CRC(66eee0db) SHA1(eeb08efd226e15e248999558240488ffd0e39688) ) + ROM_LOAD( "mqc", 0x1800, 0x0800, CRC(a6db5b0d) SHA1(476e197df047e991d2ea3c1fad92c799510f1647) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "vid_e6.bin", 0x0000, 0x0020, CRC(0b878b54) SHA1(3667aca564ebfef5b88d7f74fabbd16dd23183b4) ) +ROM_END + +ROM_START( moonal2 ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "ali1", 0x0000, 0x0400, CRC(0dcecab4) SHA1(493628640de1a7e3bb9914ee3459b74cedc599fd) ) + ROM_LOAD( "ali2", 0x0400, 0x0400, CRC(c6ee75a7) SHA1(36503351380f7638069637c22bd06da06da54a1c) ) + ROM_LOAD( "ali3", 0x0800, 0x0400, CRC(cd1be7e9) SHA1(684f1923090f0d53338705f6972778712e27577f) ) + ROM_LOAD( "ali4", 0x0c00, 0x0400, CRC(83b03f08) SHA1(a1fd422051aa7f17f857188b503031cce3fdc275) ) + ROM_LOAD( "ali5", 0x1000, 0x0400, CRC(6f3cf61d) SHA1(e238ed6f9c0813f0177abe9090e29562529eeef8) ) + ROM_LOAD( "ali6", 0x1400, 0x0400, CRC(e169d432) SHA1(a5189d7322a240863afee7ac0ecf68599498cb87) ) + ROM_LOAD( "ali7", 0x1800, 0x0400, CRC(41f64b73) SHA1(dff786a74575da9fbaca3ac610ad2f367983c7fc) ) + ROM_LOAD( "ali8", 0x1c00, 0x0400, CRC(f72ee876) SHA1(8e50a516f10d77652ff3692bb85adb66bc128e26) ) + ROM_LOAD( "ali9", 0x2000, 0x0400, CRC(b7fb763c) SHA1(4e7c4995f52dec2ea61424c79d79797933dad604) ) + ROM_LOAD( "ali10", 0x2400, 0x0400, CRC(b1059179) SHA1(86de04c82a7604cb57958a52d5585837481f94a5) ) + ROM_LOAD( "ali11", 0x2800, 0x0400, CRC(9e79a1c6) SHA1(2f59e3a2a81a224b163b23bd2c184385f64e1565) ) + + ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "ali13.1h", 0x0000, 0x0800, CRC(a1287bf6) SHA1(eeeaba4b9e186454a5e2f1c26e333e8fccd97af8) ) + ROM_RELOAD( 0x0800, 0x0800 ) + ROM_LOAD( "ali12.1k", 0x1000, 0x0800, CRC(528f1481) SHA1(e266a75c3109bcfa2a0394f2ed0ac136fc3158ba) ) + ROM_RELOAD( 0x1800, 0x0800 ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) +ROM_END + +ROM_START( moonal2b ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "ali1", 0x0000, 0x0400, CRC(0dcecab4) SHA1(493628640de1a7e3bb9914ee3459b74cedc599fd) ) + ROM_LOAD( "ali2", 0x0400, 0x0400, CRC(c6ee75a7) SHA1(36503351380f7638069637c22bd06da06da54a1c) ) + ROM_LOAD( "md-2", 0x0800, 0x0800, CRC(8318b187) SHA1(75bb113db1111cd2a335139fa6cb94d9522f5860) ) + ROM_LOAD( "ali5", 0x1000, 0x0400, CRC(6f3cf61d) SHA1(e238ed6f9c0813f0177abe9090e29562529eeef8) ) + ROM_LOAD( "ali6", 0x1400, 0x0400, CRC(e169d432) SHA1(a5189d7322a240863afee7ac0ecf68599498cb87) ) + ROM_LOAD( "ali7", 0x1800, 0x0400, CRC(41f64b73) SHA1(dff786a74575da9fbaca3ac610ad2f367983c7fc) ) + ROM_LOAD( "ali8", 0x1c00, 0x0400, CRC(f72ee876) SHA1(8e50a516f10d77652ff3692bb85adb66bc128e26) ) + ROM_LOAD( "ali9", 0x2000, 0x0400, CRC(b7fb763c) SHA1(4e7c4995f52dec2ea61424c79d79797933dad604) ) + ROM_LOAD( "ali10", 0x2400, 0x0400, CRC(b1059179) SHA1(86de04c82a7604cb57958a52d5585837481f94a5) ) + ROM_LOAD( "md-6", 0x2800, 0x0800, CRC(9cc973e0) SHA1(8d96448794e0869036a3fac7f7fbcad459149a98) ) + + ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "ali13.1h", 0x0000, 0x0800, CRC(a1287bf6) SHA1(eeeaba4b9e186454a5e2f1c26e333e8fccd97af8) ) + ROM_RELOAD( 0x0800, 0x0800 ) + ROM_LOAD( "ali12.1k", 0x1000, 0x0800, CRC(528f1481) SHA1(e266a75c3109bcfa2a0394f2ed0ac136fc3158ba) ) + ROM_RELOAD( 0x1800, 0x0800 ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) +ROM_END + + +ROM_START( skybase ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "skybase.9a", 0x0000, 0x1000, CRC(845b87a5) SHA1(8a249c1ec921532cb1bb85ed7fec11396634ca38) ) + ROM_LOAD( "skybase.8a", 0x1000, 0x1000, CRC(096785c2) SHA1(a0833bc1984e1f198587195e58b6fed6657922bd) ) + ROM_LOAD( "skybase.7a", 0x2000, 0x1000, CRC(d50c715b) SHA1(3d0fa15514b210bccd4aeed06540122a4f56fd7a) ) + ROM_LOAD( "skybase.6a", 0x3000, 0x1000, CRC(f57edb27) SHA1(4b5c376017700315345241fad96c00478a14fc8f) ) + ROM_LOAD( "skybase.5a", 0x4000, 0x1000, CRC(50365d95) SHA1(9b3d360c9d1df0ebf047bef1b30765ea9bb42b42) ) + ROM_LOAD( "skybase.4a", 0x5000, 0x1000, CRC(cbd6647f) SHA1(7a167c9df6b5f3346c37e5c45d0680b0b29852a6) ) + + ROM_REGION( 0x4000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "skybase.7t", 0x0000, 0x1000, CRC(9b471686) SHA1(b35831daa8ce57e498c2c4f75763a74c340cfaf0) ) + ROM_LOAD( "skybase.8t", 0x1000, 0x1000, CRC(1cf723da) SHA1(f2e41ab89413298571626d13b2b5853eb35dcb96) ) + ROM_LOAD( "skybase.10t", 0x2000, 0x1000, CRC(fe02e72c) SHA1(bf7c078e984b13dcc12d529904f1096d65e41bec) ) + ROM_LOAD( "skybase.9t", 0x3000, 0x1000, CRC(0871291f) SHA1(2e4e802316b55711bcfeb48d84bacd11afff8cb3) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "82s123.bpr", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Color prom */ +ROM_END + + +ROM_START( jumpbug ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "jb1", 0x0000, 0x1000, CRC(415aa1b7) SHA1(4f9edd7e9720acf085dd8910849c2f2fac5cb547) ) + ROM_LOAD( "jb2", 0x1000, 0x1000, CRC(b1c27510) SHA1(66fbe0b94b6c101cb50d7a3ff78160110415dff9) ) + ROM_LOAD( "jb3", 0x2000, 0x1000, CRC(97c24be2) SHA1(1beb9fbc3a52610b416af8b5fee156d8b6b3125a) ) + ROM_LOAD( "jb4", 0x3000, 0x1000, CRC(66751d12) SHA1(26c68cfb59596ae164ee9ae4a24ddf8dc7a923a7) ) + ROM_LOAD( "jb5", 0x8000, 0x1000, CRC(e2d66faf) SHA1(3dec0796642856359de57afb896cc668c0245b40) ) + ROM_LOAD( "jb6", 0x9000, 0x1000, CRC(49e0bdfd) SHA1(8d89d9cd7134b153264fdc49d2c68e8c14004b0d) ) + ROM_LOAD( "jb7", 0xa000, 0x0800, CRC(83d71302) SHA1(9292088d26ba29fbf8817df03461b8bb6bf27639) ) + + ROM_REGION( 0x3000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "jbl", 0x0000, 0x0800, CRC(9a091b0a) SHA1(19b88f802ee80ff8901ef99e3688f2869f1a69c5) ) + ROM_LOAD( "jbm", 0x0800, 0x0800, CRC(8a0fc082) SHA1(58b72a3161950a2fb71cdab3f30bb3abb19c7978) ) + ROM_LOAD( "jbn", 0x1000, 0x0800, CRC(155186e0) SHA1(717ddaecc52a4ef03a01fcddb520acdbfb0d722a) ) + ROM_LOAD( "jbi", 0x1800, 0x0800, CRC(7749b111) SHA1(55071ce04708bd52177644298f76ae79d23f6ac9) ) + ROM_LOAD( "jbj", 0x2000, 0x0800, CRC(06e8d7df) SHA1(d04f1503d9fde5aae92652cb9d2eb16bd6a0fe9c) ) + ROM_LOAD( "jbk", 0x2800, 0x0800, CRC(b8dbddf3) SHA1(043de444890a93459789dc99c43ef88ff66b79e4) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) +ROM_END + +ROM_START( jumpbugb ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "jb1", 0x0000, 0x1000, CRC(415aa1b7) SHA1(4f9edd7e9720acf085dd8910849c2f2fac5cb547) ) + ROM_LOAD( "jb2", 0x1000, 0x1000, CRC(b1c27510) SHA1(66fbe0b94b6c101cb50d7a3ff78160110415dff9) ) + ROM_LOAD( "jb3b", 0x2000, 0x1000, CRC(cb8b8a0f) SHA1(9e8591471dda2cb964ba2a866d4a5a3ef65d8707) ) + ROM_LOAD( "jb4", 0x3000, 0x1000, CRC(66751d12) SHA1(26c68cfb59596ae164ee9ae4a24ddf8dc7a923a7) ) + ROM_LOAD( "jb5b", 0x8000, 0x1000, CRC(7553b5e2) SHA1(6439585e713581dd36cea6324414f803d683216f) ) + ROM_LOAD( "jb6b", 0x9000, 0x1000, CRC(47be9843) SHA1(495d6fc732267bfd19a953b0b70df3f94b3c1e38) ) + ROM_LOAD( "jb7b", 0xa000, 0x0800, CRC(460aed61) SHA1(449ab1bb502f98da74c0955ce1364f8708fd3f81) ) + + ROM_REGION( 0x3000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "jbl", 0x0000, 0x0800, CRC(9a091b0a) SHA1(19b88f802ee80ff8901ef99e3688f2869f1a69c5) ) + ROM_LOAD( "jbm", 0x0800, 0x0800, CRC(8a0fc082) SHA1(58b72a3161950a2fb71cdab3f30bb3abb19c7978) ) + ROM_LOAD( "jbn", 0x1000, 0x0800, CRC(155186e0) SHA1(717ddaecc52a4ef03a01fcddb520acdbfb0d722a) ) + ROM_LOAD( "jbi", 0x1800, 0x0800, CRC(7749b111) SHA1(55071ce04708bd52177644298f76ae79d23f6ac9) ) + ROM_LOAD( "jbj", 0x2000, 0x0800, CRC(06e8d7df) SHA1(d04f1503d9fde5aae92652cb9d2eb16bd6a0fe9c) ) + ROM_LOAD( "jbk", 0x2800, 0x0800, CRC(b8dbddf3) SHA1(043de444890a93459789dc99c43ef88ff66b79e4) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) +ROM_END + +ROM_START( levers ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "g96059.a8", 0x0000, 0x1000, CRC(9550627a) SHA1(3da9a614622d5b880852fe2bb2e8e4a60afb2d34) ) + ROM_LOAD( "g96060.d8", 0x2000, 0x1000, CRC(5ac64646) SHA1(459755932a033095eff72d78d1e916932964c5cc) ) + ROM_LOAD( "g96061.e8", 0x3000, 0x1000, CRC(9db8e520) SHA1(1ff10e221e45cc4afb77571a171937f8501aa509) ) + ROM_LOAD( "g96062.h8", 0x8000, 0x1000, CRC(7c8e8b3a) SHA1(ad281f801e818ea529be8ec43096212e834f69ef) ) + ROM_LOAD( "g96063.j8", 0x9000, 0x1000, CRC(fa61e793) SHA1(7aad77f3de05a7bd3dcb0c9c97a3cccd1136f352) ) + ROM_LOAD( "g96064.l8", 0xa000, 0x1000, CRC(f797f389) SHA1(b961f0506defa9884ac47b2316884318e1e90bff) ) + + ROM_REGION( 0x3000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "g95948.n1", 0x0000, 0x0800, CRC(d8a0c692) SHA1(dd64623f4072bcb8c528b5b7b95a7bd858b79d6c) ) + /*0x0800- 0x0fff empty */ + ROM_LOAD( "g95949.s1", 0x1000, 0x0800, CRC(3660a552) SHA1(bebfd30f90da55d6d42945717b9b38d5b0c9623a) ) + ROM_LOAD( "g95946.j1", 0x1800, 0x0800, CRC(73b61b2d) SHA1(fdb75eea1778daa6f9c48243361e418044b471f8) ) + /*0x2000- 0x27ff empty */ + ROM_LOAD( "g95947.m1", 0x2800, 0x0800, CRC(72ff67e2) SHA1(dcc12f17a857271c253d06d5ac170b9d6bb6a2bd) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "g960lev.clr", 0x0000, 0x0020, CRC(01febbbe) SHA1(11b1dab7983ba29e830ccb7f14eb1a99465c9e81) ) +ROM_END + + +ROM_START( checkman ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "cm1", 0x0000, 0x0800, CRC(e8cbdd28) SHA1(ba0b41e375b94bbfed6a2c949cc7958474c8ba6e) ) + ROM_LOAD( "cm2", 0x0800, 0x0800, CRC(b8432d4d) SHA1(d331476f1f88b7ef1426bed7442392f369e0650b) ) + ROM_LOAD( "cm3", 0x1000, 0x0800, CRC(15a97f61) SHA1(3c06c734cef1eed68b401d0d36f7ec9126986d73) ) + ROM_LOAD( "cm4", 0x1800, 0x0800, CRC(8c12ecc0) SHA1(1c2d61ef84404b6a524c453a3d339aaaadb38229) ) + ROM_LOAD( "cm5", 0x2000, 0x0800, CRC(2352cfd6) SHA1(77db5f925ee5f83c17a05a78af5191eefe70ca5a) ) + + ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* 64k for sound code */ + ROM_LOAD( "cm13", 0x0000, 0x0800, CRC(0b09a3e8) SHA1(e4e65da306e22f61790f0a68d953cc017c3ce762) ) + ROM_LOAD( "cm14", 0x0800, 0x0800, CRC(47f043be) SHA1(44d8892d93849cbc989561387c0a05baead58446) ) + + ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "cm11", 0x0000, 0x0800, CRC(8d1bcca0) SHA1(28fc7fb76180820e84d59e6836ed1f8136e8f138) ) + ROM_RELOAD( 0x0800, 0x0800 ) + ROM_LOAD( "cm9", 0x1000, 0x0800, CRC(3cd5c751) SHA1(a769fdd30752da8fb331aa0f7a0181a93f0b3378) ) + ROM_RELOAD( 0x1800, 0x0800 ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "checkman.clr", 0x0000, 0x0020, CRC(57a45057) SHA1(d4ec6a54f72640e5b485aa59e206c090e67ff640) ) +ROM_END + +ROM_START( checkmaj ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "cm_1.bin", 0x0000, 0x1000, CRC(456a118f) SHA1(7c2e8343360f446af4391012784a1ccfecae3299) ) + ROM_LOAD( "cm_2.bin", 0x1000, 0x1000, CRC(146b2c44) SHA1(80455396a9b1802fcefaec1340b76461c0601bf9) ) + ROM_LOAD( "cm_3.bin", 0x2000, 0x0800, CRC(73e1c945) SHA1(bcf2558958a30e5936f19ff53687f2316e0b822e) ) + + ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* 64k for sound code */ + ROM_LOAD( "cm_4.bin", 0x0000, 0x1000, CRC(923cffa1) SHA1(132822d20de2ad1ecc561e811ca40c5642500631) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "cm_6.bin", 0x0000, 0x0800, CRC(476a7cc3) SHA1(3c343b0dcfb2f4cbec2f8b5854a303a1660fea22) ) + ROM_LOAD( "cm_5.bin", 0x0800, 0x0800, CRC(b3df2b5f) SHA1(519a0894d1794211659abeb6b2a2c610e6c2af25) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "checkman.clr", 0x0000, 0x0020, CRC(57a45057) SHA1(d4ec6a54f72640e5b485aa59e206c090e67ff640) ) +ROM_END + +ROM_START( dingo ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "003.e7", 0x0000, 0x1000, CRC(d088550f) SHA1(13b87995881e484825c45ab4e558ac3d90bf162a) ) + ROM_LOAD( "004.h7", 0x1000, 0x1000, CRC(a228446a) SHA1(4b7e611edd6bce308cc7b17caa068445f5438f4f) ) + ROM_LOAD( "005.j7", 0x2000, 0x0800, CRC(14d680bb) SHA1(e9d84d1a62ed5300c390a7326c16cebd0aceae3b) ) + + ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* 64k for sound code */ + ROM_LOAD( "6.7l", 0x0000, 0x1000, CRC(047092e0) SHA1(24014c999c904b4be571121b0f6808713d95add1) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "001.h1", 0x0000, 0x0800, CRC(1ab1dd4d) SHA1(74ef2226e1f1d2583b0c7718325da193f411a97d) ) + ROM_LOAD( "002.k1", 0x0800, 0x0800, CRC(4be375ee) SHA1(7379b037887baca0f932d910f8f94f7edf39bb26) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "18s030.l6", 0x0000, 0x0020, CRC(3061d0f9) SHA1(5af85499c6219137dc57d9fba79cb5afa3548ab1) ) +ROM_END + +ROM_START( dingoe ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "unk.2b", 0x0000, 0x1000, CRC(0df7ac6d) SHA1(c1d45a7694848e66426c3510d0749c98e51571cb) ) + ROM_LOAD( "unk.2d", 0x1000, 0x1000, CRC(0881e204) SHA1(4ba59d73e04b5337cfbd68d6a708e7321cb629f1) ) + ROM_LOAD( "unk.3b", 0x2000, 0x1000, BAD_DUMP CRC(0b6aeab5) SHA1(ebfab3227dd23e3e1802b881a5662f634f86e382) ) // both halves identical (bad?) + + ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* 64k for sound code */ + ROM_LOAD( "unk.1c", 0x0000, 0x0800, CRC(8e354c38) SHA1(87608c1fa55e6fcf482f5d3bcc506a84673719cc) ) + ROM_LOAD( "unk.1d", 0x0800, 0x0800, CRC(092878d6) SHA1(8a3b25e27df5aee2023a7e1a193ab152df171ede) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "unk.4d", 0x0000, 0x0800, CRC(76a00a56) SHA1(2a696b9ce3e148529c731231852dc104729bb916) ) + ROM_LOAD( "unk.4b", 0x0800, 0x0800, CRC(5acf57aa) SHA1(bb05be53728e7867085dad5854fcadfa687ff5d7) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "82s123n.001", 0x0000, 0x0020, CRC(02b11865) SHA1(70053db9635a9194e4372835379a82f6ea64ef83) ) /* Unknown */ +ROM_END + + +ROM_START( mshuttle ) + ROM_REGION( 2*0x10000, REGION_CPU1, 0 ) /* 64k for code + 64k for decrypted opcodes */ + ROM_LOAD( "my05", 0x0000, 0x1000, CRC(83574af1) SHA1(d69c2a0538a49d6c72c3346ac4e3959d91da6c98) ) + ROM_LOAD( "my04", 0x1000, 0x1000, CRC(1cfae2c8) SHA1(6c7eeee70e91b8498c41525dcc60f8086cff8da7) ) + ROM_LOAD( "my03", 0x2000, 0x1000, CRC(c8b8a368) SHA1(140ba60f55285d1e9f7a262634f5ce5c3470ab71) ) + ROM_LOAD( "my02", 0x3000, 0x1000, CRC(b6aeee6e) SHA1(032af7000aebe9d34319231cdb3f2fe5de7158ba) ) + ROM_LOAD( "my01", 0x4000, 0x1000, CRC(def82adc) SHA1(2fb963299468c52d50b7460b55bf69c9659ee21d) ) + + ROM_REGION( 0x4000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "my09", 0x0000, 0x1000, CRC(3601b380) SHA1(c0b9d1801f58a16449708d514d2fd88e34af340b) ) + ROM_LOAD( "my11", 0x1000, 0x0800, CRC(b659e932) SHA1(3f63c99e81cb93c9553a5e274546525f598d50c4) ) + ROM_LOAD( "my08", 0x2000, 0x1000, CRC(992b06cd) SHA1(8645ccad8169601bbe25b9f2b17b99004c0a584f) ) + ROM_LOAD( "my10", 0x3000, 0x0800, CRC(d860e6ce) SHA1(2912d13bf69496f8f18358a36366a1f60afd0070) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "mscprom1.bin", 0x0000, 0x0020, CRC(ea0d1af0) SHA1(cb59e04c02307dfe847e3170cf0a7f62829b6094) ) + + ROM_REGION( 0x2000, REGION_SOUND1, 0 ) /* samples */ + ROM_LOAD( "my07", 0x0000, 0x1000, CRC(522a2920) SHA1(a64d821a8ff6bd6e2b0bdb1e632181e65a97363b) ) + ROM_LOAD( "my06", 0x1000, 0x1000, CRC(466415f2) SHA1(a05f8238cdcebe926a564ef6268b3cd677987fa2) ) +ROM_END + +ROM_START( mshuttlj ) + ROM_REGION( 2*0x10000, REGION_CPU1, 0 ) /* 64k for code + 64k for decrypted opcodes */ + ROM_LOAD( "mcs.5", 0x0000, 0x1000, CRC(a5a292b4) SHA1(b4e9d969c762f4114eba88051917df122fc7181f) ) + ROM_LOAD( "mcs.4", 0x1000, 0x1000, CRC(acdc0f9e) SHA1(8cd6d6566fe3f4090ccb625c3c1e5850a371826f) ) + ROM_LOAD( "mcs.3", 0x2000, 0x1000, CRC(c1e3f5d8) SHA1(d3af89d485b1ca21ac879dbe15490dcd1cd64f2a) ) + ROM_LOAD( "mcs.2", 0x3000, 0x1000, CRC(14577703) SHA1(51537982dd06ba44e95e4c7d1f7fa41ff186421d) ) + + ROM_LOAD( "mcs.1", 0x4000, 0x1000, CRC(27d46772) SHA1(848a47ba30823a55933bb55792991f0535078f0c) ) + + ROM_REGION( 0x4000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "my09", 0x0000, 0x1000, CRC(3601b380) SHA1(c0b9d1801f58a16449708d514d2fd88e34af340b) ) + ROM_LOAD( "my11", 0x1000, 0x0800, CRC(b659e932) SHA1(3f63c99e81cb93c9553a5e274546525f598d50c4) ) + ROM_LOAD( "my08", 0x2000, 0x1000, CRC(992b06cd) SHA1(8645ccad8169601bbe25b9f2b17b99004c0a584f) ) + ROM_LOAD( "my10", 0x3000, 0x0800, CRC(d860e6ce) SHA1(2912d13bf69496f8f18358a36366a1f60afd0070) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "mscprom1.bin", 0x0000, 0x0020, CRC(ea0d1af0) SHA1(cb59e04c02307dfe847e3170cf0a7f62829b6094) ) + + ROM_REGION( 0x2000, REGION_SOUND1, 0 ) /* samples */ + ROM_LOAD( "my07", 0x0000, 0x1000, CRC(522a2920) SHA1(a64d821a8ff6bd6e2b0bdb1e632181e65a97363b) ) + ROM_LOAD( "my06", 0x1000, 0x1000, CRC(466415f2) SHA1(a05f8238cdcebe926a564ef6268b3cd677987fa2) ) +ROM_END + +ROM_START( mshutlj2 ) + ROM_REGION( 2*0x10000, REGION_CPU1, 0 ) /* 64k for code + 64k for decrypted opcodes */ + ROM_LOAD( "ali5.bin", 0x0000, 0x1000, CRC(320fe630) SHA1(df4fe25989783c8851f41c9b4b63dedfa365c1e9) ) + ROM_LOAD( "mcs.4", 0x1000, 0x1000, CRC(acdc0f9e) SHA1(8cd6d6566fe3f4090ccb625c3c1e5850a371826f) ) + ROM_LOAD( "mcs.3", 0x2000, 0x1000, CRC(c1e3f5d8) SHA1(d3af89d485b1ca21ac879dbe15490dcd1cd64f2a) ) + ROM_LOAD( "ali2.bin", 0x3000, 0x1000, CRC(9ed169e1) SHA1(75a24d0fcbdfc7c4e6fa0d8c7f8b4a3bccaa4439) ) + + ROM_LOAD( "ali1.bin", 0x4000, 0x1000, CRC(7f8a52d9) SHA1(4e62f6265289bae1a46e60cdd3230e188b2aec3c) ) + + ROM_REGION( 0x4000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "my09", 0x0000, 0x1000, CRC(3601b380) SHA1(c0b9d1801f58a16449708d514d2fd88e34af340b) ) + ROM_LOAD( "my11", 0x1000, 0x0800, CRC(b659e932) SHA1(3f63c99e81cb93c9553a5e274546525f598d50c4) ) + ROM_LOAD( "my08", 0x2000, 0x1000, CRC(992b06cd) SHA1(8645ccad8169601bbe25b9f2b17b99004c0a584f) ) + ROM_LOAD( "my10", 0x3000, 0x0800, CRC(d860e6ce) SHA1(2912d13bf69496f8f18358a36366a1f60afd0070) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "mscprom1.bin", 0x0000, 0x0020, CRC(ea0d1af0) SHA1(cb59e04c02307dfe847e3170cf0a7f62829b6094) ) + + ROM_REGION( 0x2000, REGION_SOUND1, 0 ) /* samples */ + ROM_LOAD( "my07", 0x0000, 0x1000, CRC(522a2920) SHA1(a64d821a8ff6bd6e2b0bdb1e632181e65a97363b) ) + ROM_LOAD( "my06", 0x1000, 0x1000, CRC(466415f2) SHA1(a05f8238cdcebe926a564ef6268b3cd677987fa2) ) +ROM_END + + +ROM_START( kingball ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "prg1.7f", 0x0000, 0x1000, CRC(6cb49046) SHA1(a0891605dff7f9ff51bc7ad85f831a749f2f61e9) ) + ROM_LOAD( "prg2.7j", 0x1000, 0x1000, CRC(c223b416) SHA1(ca2d9f6b8ef6db4f382089161f4147d9828c3554) ) + ROM_LOAD( "prg3.7l", 0x2000, 0x0800, CRC(453634c0) SHA1(0025ccd91e165692092a37541e730010e85e37f2) ) + + ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* 64k for sound code */ + ROM_LOAD( "kbe1.ic4", 0x0000, 0x0800, CRC(5be2c80a) SHA1(f719a80357bed3d66bce40569690f419740148c5) ) + ROM_LOAD( "kbe2.ic5", 0x0800, 0x0800, CRC(bb59e965) SHA1(830e0c415f051e932d76df604025e4e33118a799) ) + ROM_LOAD( "kbe3.ic6", 0x1000, 0x0800, CRC(1c94dd31) SHA1(14ab59b8eee741eb1f10ae99ddb99bf7c2dab957) ) + ROM_LOAD( "kbe2.ic7", 0x1800, 0x0800, CRC(bb59e965) SHA1(830e0c415f051e932d76df604025e4e33118a799) ) + + ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "chg1.1h", 0x0000, 0x0800, CRC(9cd550e7) SHA1(d2989e6b7a4d7b37a711ef1cfb536fe13e0c5482) ) + ROM_RELOAD( 0x0800, 0x0800 ) + ROM_LOAD( "chg2.1k", 0x1000, 0x0800, CRC(a206757d) SHA1(46b50005876b7f61ab4a118d0a4caaebce8ce3e1) ) + ROM_RELOAD( 0x1800, 0x0800 ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "kb2-1", 0x0000, 0x0020, CRC(15dd5b16) SHA1(3d2ca2b42bf508a9e5198e970abcbbedf5729164) ) +ROM_END + +ROM_START( kingbalj ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "prg1.7f", 0x0000, 0x1000, CRC(6cb49046) SHA1(a0891605dff7f9ff51bc7ad85f831a749f2f61e9) ) + ROM_LOAD( "prg2.7j", 0x1000, 0x1000, CRC(c223b416) SHA1(ca2d9f6b8ef6db4f382089161f4147d9828c3554) ) + ROM_LOAD( "prg3.7l", 0x2000, 0x0800, CRC(453634c0) SHA1(0025ccd91e165692092a37541e730010e85e37f2) ) + + ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* 64k for sound code */ + ROM_LOAD( "kbj1.ic4", 0x0000, 0x0800, CRC(ba16beb7) SHA1(8c2c91a9e941d858a49edd6c0c8a912e1135653e) ) + ROM_LOAD( "kbj2.ic5", 0x0800, 0x0800, CRC(56686a63) SHA1(8e624df57a63a556941fdbebcd886488799fad17) ) + ROM_LOAD( "kbj3.ic6", 0x1000, 0x0800, CRC(fbc570a5) SHA1(d0dbaf86396bca65e067338a3b5b60b24990b8be) ) + ROM_LOAD( "kbj2.ic7", 0x1800, 0x0800, CRC(56686a63) SHA1(8e624df57a63a556941fdbebcd886488799fad17) ) + + + ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "chg1.1h", 0x0000, 0x0800, CRC(9cd550e7) SHA1(d2989e6b7a4d7b37a711ef1cfb536fe13e0c5482) ) + ROM_RELOAD( 0x0800, 0x0800 ) + ROM_LOAD( "chg2.1k", 0x1000, 0x0800, CRC(a206757d) SHA1(46b50005876b7f61ab4a118d0a4caaebce8ce3e1) ) + ROM_RELOAD( 0x1800, 0x0800 ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "kb2-1", 0x0000, 0x0020, CRC(15dd5b16) SHA1(3d2ca2b42bf508a9e5198e970abcbbedf5729164) ) +ROM_END + + +/************************************* + * + * ROM definitions + * Konami games + * + *************************************/ + +ROM_START( frogger ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "frogger.26", 0x0000, 0x1000, CRC(597696d6) SHA1(e7e021776cad00f095a1ebbef407b7c0a8f5d835) ) + ROM_LOAD( "frogger.27", 0x1000, 0x1000, CRC(b6e6fcc3) SHA1(5e8692f2b0c7f4b3642b3ee6670e1c3b20029cdc) ) + ROM_LOAD( "frsm3.7", 0x2000, 0x1000, CRC(aca22ae0) SHA1(5a99060ea2506a3ac7d61ca5876ce5cb3e493565) ) + + ROM_REGION( 0x10000, REGION_CPU2, 0 ) + ROM_LOAD( "frogger.608", 0x0000, 0x0800, CRC(e8ab0256) SHA1(f090afcfacf5f13cdfa0dfda8e3feb868c6ce8bc) ) + ROM_LOAD( "frogger.609", 0x0800, 0x0800, CRC(7380a48f) SHA1(75582a94b696062cbdb66a4c5cf0bc0bb94f81ee) ) + ROM_LOAD( "frogger.610", 0x1000, 0x0800, CRC(31d7eb27) SHA1(2e1d34ae4da385fd7cac94707d25eeddf4604e1a) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "frogger.607", 0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) ) + ROM_LOAD( "frogger.606", 0x0800, 0x0800, CRC(f524ee30) SHA1(dd768967add61467baa08d5929001f157d6cd911) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "pr-91.6l", 0x0000, 0x0020, CRC(413703bf) SHA1(66648b2b28d3dcbda5bdb2605d1977428939dd3c) ) +ROM_END + +ROM_START( frogseg1 ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "frogger.26", 0x0000, 0x1000, CRC(597696d6) SHA1(e7e021776cad00f095a1ebbef407b7c0a8f5d835) ) + ROM_LOAD( "frogger.27", 0x1000, 0x1000, CRC(b6e6fcc3) SHA1(5e8692f2b0c7f4b3642b3ee6670e1c3b20029cdc) ) + ROM_LOAD( "frogger.34", 0x2000, 0x1000, CRC(ed866bab) SHA1(24e1bbde44eb5480b7a0570fa0dc1de388cb95ba) ) + + ROM_REGION( 0x10000, REGION_CPU2, 0 ) + ROM_LOAD( "frogger.608", 0x0000, 0x0800, CRC(e8ab0256) SHA1(f090afcfacf5f13cdfa0dfda8e3feb868c6ce8bc) ) + ROM_LOAD( "frogger.609", 0x0800, 0x0800, CRC(7380a48f) SHA1(75582a94b696062cbdb66a4c5cf0bc0bb94f81ee) ) + ROM_LOAD( "frogger.610", 0x1000, 0x0800, CRC(31d7eb27) SHA1(2e1d34ae4da385fd7cac94707d25eeddf4604e1a) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "frogger.607", 0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) ) + ROM_LOAD( "frogger.606", 0x0800, 0x0800, CRC(f524ee30) SHA1(dd768967add61467baa08d5929001f157d6cd911) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "pr-91.6l", 0x0000, 0x0020, CRC(413703bf) SHA1(66648b2b28d3dcbda5bdb2605d1977428939dd3c) ) +ROM_END + +ROM_START( frogseg2 ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "frogger.ic5", 0x0000, 0x1000, CRC(efab0c79) SHA1(68c99b6cdcb9396bb473739a62ffc009b4bf57d5) ) + ROM_LOAD( "frogger.ic6", 0x1000, 0x1000, CRC(aeca9c13) SHA1(cdf560adbd7f2813e86e378da7781cccf7928a44) ) + ROM_LOAD( "frogger.ic7", 0x2000, 0x1000, CRC(dd251066) SHA1(4612e1fe1ab7182a277140b1a1976cc17e0746a5) ) + ROM_LOAD( "frogger.ic8", 0x3000, 0x1000, CRC(bf293a02) SHA1(be94e9f5caa74c3de6fd95bd20928f4a9c514227) ) + + ROM_REGION( 0x10000, REGION_CPU2, 0 ) + ROM_LOAD( "frogger.608", 0x0000, 0x0800, CRC(e8ab0256) SHA1(f090afcfacf5f13cdfa0dfda8e3feb868c6ce8bc) ) + ROM_LOAD( "frogger.609", 0x0800, 0x0800, CRC(7380a48f) SHA1(75582a94b696062cbdb66a4c5cf0bc0bb94f81ee) ) + ROM_LOAD( "frogger.610", 0x1000, 0x0800, CRC(31d7eb27) SHA1(2e1d34ae4da385fd7cac94707d25eeddf4604e1a) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "frogger.607", 0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) ) + ROM_LOAD( "frogger.606", 0x0800, 0x0800, CRC(f524ee30) SHA1(dd768967add61467baa08d5929001f157d6cd911) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "pr-91.6l", 0x0000, 0x0020, CRC(413703bf) SHA1(66648b2b28d3dcbda5bdb2605d1977428939dd3c) ) +ROM_END + +ROM_START( froggrmc ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "epr-1031.15", 0x0000, 0x1000, CRC(4b7c8d11) SHA1(9200b33cac0ef5a6647c95ebd25237fa62fcdf30) ) + ROM_LOAD( "epr-1032.16", 0x1000, 0x1000, CRC(ac00b9d9) SHA1(6414d2aa2c0ccb8cb567ffde3acdb693cfd28dbb) ) + ROM_LOAD( "epr-1033.33", 0x2000, 0x1000, CRC(bc1d6fbc) SHA1(c9c040418f0bf7b7fce599592f806e7aaf448c3d) ) + ROM_LOAD( "epr-1034.34", 0x3000, 0x1000, CRC(9efe7399) SHA1(77355160169db256f45286e60ebf6a406527d346) ) + + ROM_REGION( 0x10000, REGION_CPU2, 0 ) + ROM_LOAD( "epr-1082.42", 0x0000, 0x1000, CRC(802843c2) SHA1(059b26ddf1cdc8076d160b872f9d50b97af7f316) ) + ROM_LOAD( "epr-1035.43", 0x1000, 0x0800, CRC(14e74148) SHA1(0023394e971f191c41ff20b47835f1dafb924d15) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "frogger.607", 0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) ) + ROM_LOAD( "epr-1036.1k", 0x0800, 0x0800, CRC(658745f8) SHA1(e4e5c3e011c8a7233a36d29e10e08905873500aa) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "pr-91.6l", 0x0000, 0x0020, CRC(413703bf) SHA1(66648b2b28d3dcbda5bdb2605d1977428939dd3c) ) +ROM_END + +ROM_START( froggers ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "vid_d2.bin", 0x0000, 0x0800, CRC(c103066e) SHA1(8c2d4c825e9c4180fe70b0db18a547dc3ddc3c2c) ) + ROM_LOAD( "vid_e2.bin", 0x0800, 0x0800, CRC(f08bc094) SHA1(23ad1e57f244d6b63fd9640249dcb1eeafb8206e) ) + ROM_LOAD( "vid_f2.bin", 0x1000, 0x0800, CRC(637a2ff8) SHA1(e9b9fc692ca5d8deb9cd30d9d73ad25c8d8bafe1) ) + ROM_LOAD( "vid_h2.bin", 0x1800, 0x0800, CRC(04c027a5) SHA1(193550731513c02cad464661a1ceb230819ca70f) ) + ROM_LOAD( "vid_j2.bin", 0x2000, 0x0800, CRC(fbdfbe74) SHA1(48d5d1247d09eaea2a9a29f4ed6543d0411597aa) ) + ROM_LOAD( "vid_l2.bin", 0x2800, 0x0800, CRC(8a4389e1) SHA1(b2c74afb93927dac0d8bb24e02e0b2a069f2d3c8) ) + + ROM_REGION( 0x10000, REGION_CPU2, 0 ) + ROM_LOAD( "frogger.608", 0x0000, 0x0800, CRC(e8ab0256) SHA1(f090afcfacf5f13cdfa0dfda8e3feb868c6ce8bc) ) + ROM_LOAD( "frogger.609", 0x0800, 0x0800, CRC(7380a48f) SHA1(75582a94b696062cbdb66a4c5cf0bc0bb94f81ee) ) + ROM_LOAD( "frogger.610", 0x1000, 0x0800, CRC(31d7eb27) SHA1(2e1d34ae4da385fd7cac94707d25eeddf4604e1a) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "frogger.607", 0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) ) + ROM_LOAD( "epr-1036.1k", 0x0800, 0x0800, CRC(658745f8) SHA1(e4e5c3e011c8a7233a36d29e10e08905873500aa) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "pr-91.6l", 0x0000, 0x0020, CRC(413703bf) SHA1(66648b2b28d3dcbda5bdb2605d1977428939dd3c) ) +ROM_END + +ROM_START( frogf ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "6.bin", 0x0000, 0x1000, CRC(8ff0a973) SHA1(adb1c28617d915fbcfa9190bd8589a56a8858e25) ) + ROM_LOAD( "7.bin", 0x1000, 0x1000, CRC(3087bb4b) SHA1(3fe1f68a2ad12b1cadba89d99afe574cf5342d81) ) + ROM_LOAD( "8.bin", 0x2000, 0x1000, CRC(c3869d12) SHA1(7bd95c12fc1fe1a3cfc0140b64cf76fa57aa3fb4) ) + + ROM_REGION( 0x10000, REGION_CPU2, 0 ) + ROM_LOAD( "frogger.608", 0x0000, 0x0800, CRC(e8ab0256) SHA1(f090afcfacf5f13cdfa0dfda8e3feb868c6ce8bc) ) + ROM_LOAD( "frogger.609", 0x0800, 0x0800, CRC(7380a48f) SHA1(75582a94b696062cbdb66a4c5cf0bc0bb94f81ee) ) + ROM_LOAD( "frogger.610", 0x1000, 0x0800, CRC(31d7eb27) SHA1(2e1d34ae4da385fd7cac94707d25eeddf4604e1a) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "frogger.607", 0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) ) + ROM_LOAD( "epr-1036.1k", 0x0800, 0x0800, CRC(658745f8) SHA1(e4e5c3e011c8a7233a36d29e10e08905873500aa) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "pr-91.6l", 0x0000, 0x0020, CRC(413703bf) SHA1(66648b2b28d3dcbda5bdb2605d1977428939dd3c) ) +ROM_END + +ROM_START( frogg ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "p1.bin", 0x0000, 0x0800, CRC(1762b266) SHA1(2cf34dcfe00dc476b327f9d762a8d2aa268a2d25) ) + ROM_LOAD( "p2.bin", 0x0800, 0x0800, CRC(322f3916) SHA1(9236aaa260c4db4adbd92c8bba3674d07d7235a8) ) + ROM_LOAD( "p3.bin", 0x1000, 0x0800, CRC(28bd6151) SHA1(1a5bc540168fa5fef01bd7bc2cdbdb910c9a4ba4) ) + ROM_LOAD( "p4.bin", 0x1800, 0x0800, CRC(5a69ab18) SHA1(40b7bf200f87e0fb3fb54726ba79387889446052) ) + ROM_LOAD( "p5.bin", 0x2000, 0x0800, CRC(b4f17745) SHA1(2f237a667f6c95af213b787620142c1530d3cdd8) ) + ROM_LOAD( "p6.bin", 0x2800, 0x0800, CRC(34be71b5) SHA1(3088fc5817a397d0a87610d62845c7b8c4440f57) ) + ROM_LOAD( "p7.bin", 0x3000, 0x0800, CRC(de3edc8c) SHA1(634d54fb19b422b56576a196bdaf95733c52c7ee) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "k.bin", 0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) ) + ROM_LOAD( "h.bin", 0x0800, 0x0800, CRC(658745f8) SHA1(e4e5c3e011c8a7233a36d29e10e08905873500aa) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "pr-91.6l", 0x0000, 0x0020, CRC(413703bf) SHA1(66648b2b28d3dcbda5bdb2605d1977428939dd3c) ) +ROM_END + + +ROM_START( turtles ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "turt_vid.2c", 0x0000, 0x1000, CRC(ec5e61fb) SHA1(3ca89800fda7a7e61f54d71d5302908be2706def) ) + ROM_LOAD( "turt_vid.2e", 0x1000, 0x1000, CRC(fd10821e) SHA1(af74602bf2454eb8f3b9bb5c425e2476feeecd69) ) + ROM_LOAD( "turt_vid.2f", 0x2000, 0x1000, CRC(ddcfc5fa) SHA1(2af9383e5a289c2d7fbe6cf5e5b1519c352afbab) ) + ROM_LOAD( "turt_vid.2h", 0x3000, 0x1000, CRC(9e71696c) SHA1(3dcdf5dc601c875fc9d8b9a46e3ef588e7478e0d) ) + ROM_LOAD( "turt_vid.2j", 0x4000, 0x1000, CRC(fcd49fef) SHA1(bb1e91b2e6d4b5a861bf37907ef6b198328d8d83) ) + + ROM_REGION( 0x10000, REGION_CPU2, 0 ) + ROM_LOAD( "turt_snd.5c", 0x0000, 0x1000, CRC(f0c30f9a) SHA1(5621f336e9be8acf986a34bbb8855ed5d45c28ef) ) + ROM_LOAD( "turt_snd.5d", 0x1000, 0x1000, CRC(af5fc43c) SHA1(8a49c55feba094b07380615cf0b6f0878c25a260) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "turt_vid.5h", 0x0000, 0x0800, CRC(e5999d52) SHA1(bc3f52cf6c6e19dfd2dacd1e8c9128f437e995fc) ) + ROM_LOAD( "turt_vid.5f", 0x0800, 0x0800, CRC(c3ffd655) SHA1(dee51d77be262a2944488e381541c10a2b6e5d83) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "turtles.clr", 0x0000, 0x0020, CRC(f3ef02dd) SHA1(09fd795170d7d30f101d579f57553da5ff3800ab) ) +ROM_END + +ROM_START( turpin ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "m1", 0x0000, 0x1000, CRC(89177473) SHA1(0717b1e7308ffe527edfc578ec4353809e7d9eea) ) + ROM_LOAD( "m2", 0x1000, 0x1000, CRC(4c6ca5c6) SHA1(dd4ca7adaa523a8e775cdfaa99bb3cc25da32c08) ) + ROM_LOAD( "m3", 0x2000, 0x1000, CRC(62291652) SHA1(82965d3e9608afde4ff06cba1d7a4b11cd904c11) ) + ROM_LOAD( "turt_vid.2h", 0x3000, 0x1000, CRC(9e71696c) SHA1(3dcdf5dc601c875fc9d8b9a46e3ef588e7478e0d) ) + ROM_LOAD( "m5", 0x4000, 0x1000, CRC(7d2600f2) SHA1(1a9bdf63b50419c6e0d9c401c3dcf29d5b459fa6) ) + + ROM_REGION( 0x10000, REGION_CPU2, 0 ) + ROM_LOAD( "turt_snd.5c", 0x0000, 0x1000, CRC(f0c30f9a) SHA1(5621f336e9be8acf986a34bbb8855ed5d45c28ef) ) + ROM_LOAD( "turt_snd.5d", 0x1000, 0x1000, CRC(af5fc43c) SHA1(8a49c55feba094b07380615cf0b6f0878c25a260) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "turt_vid.5h", 0x0000, 0x0800, CRC(e5999d52) SHA1(bc3f52cf6c6e19dfd2dacd1e8c9128f437e995fc) ) + ROM_LOAD( "turt_vid.5f", 0x0800, 0x0800, CRC(c3ffd655) SHA1(dee51d77be262a2944488e381541c10a2b6e5d83) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "turtles.clr", 0x0000, 0x0020, CRC(f3ef02dd) SHA1(09fd795170d7d30f101d579f57553da5ff3800ab) ) +ROM_END + +ROM_START( 600 ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "600_vid.2c", 0x0000, 0x1000, CRC(8ee090ae) SHA1(3d491313da6cccd6dbc15774569be0555fe2f73a) ) + ROM_LOAD( "600_vid.2e", 0x1000, 0x1000, CRC(45bfaff2) SHA1(ba4f7aa499f4993ec2191b8832b5604fd41964bc) ) + ROM_LOAD( "600_vid.2f", 0x2000, 0x1000, CRC(9f4c8ed7) SHA1(2564dae82019097227351a7ddc9c5156ca00297a) ) + ROM_LOAD( "600_vid.2h", 0x3000, 0x1000, CRC(a92ef056) SHA1(c319d41a3345b84670fe9110f78332c1cfe1e163) ) + ROM_LOAD( "600_vid.2j", 0x4000, 0x1000, CRC(6dadd72d) SHA1(5602b5ebb2c287f72a5ce873b4e3dfd19b8412a0) ) + + ROM_REGION( 0x10000, REGION_CPU2, 0 ) + ROM_LOAD( "600_snd.5c", 0x0000, 0x1000, CRC(1773c68e) SHA1(cc4aa3a98e85bc6300f8c1ee1a0448071d7c6dfa) ) + ROM_LOAD( "600_snd.5d", 0x1000, 0x1000, CRC(a311b998) SHA1(39af321b8c3f211ed6d083a2aba4fbc8af11c9e8) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "600_vid.5h", 0x0000, 0x0800, CRC(006c3d56) SHA1(0c773e0e84d0bf45be5a5a7cfff960c1ca2f0320) ) + ROM_LOAD( "600_vid.5f", 0x0800, 0x0800, CRC(7dbc0426) SHA1(29eeb3cdb5a3bcf7115d8099e4d04cf76216b003) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "turtles.clr", 0x0000, 0x0020, CRC(f3ef02dd) SHA1(09fd795170d7d30f101d579f57553da5ff3800ab) ) +ROM_END + + +ROM_START( amidar ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "amidar.2c", 0x0000, 0x1000, CRC(c294bf27) SHA1(399325bf1559e8cdbddf7cfbf0dc739f9ed72ef0) ) + ROM_LOAD( "amidar.2e", 0x1000, 0x1000, CRC(e6e96826) SHA1(e9c4f8c594640424b456505e676352a98b758c03) ) + ROM_LOAD( "amidar.2f", 0x2000, 0x1000, CRC(3656be6f) SHA1(9d652f66bedcf17a6453c0e0ead30bfd7ea0bd0a) ) + ROM_LOAD( "amidar.2h", 0x3000, 0x1000, CRC(1be170bd) SHA1(c047bc393b297c0d47668a5f6f4870e3fac937ef) ) + + ROM_REGION( 0x10000, REGION_CPU2, 0 ) + ROM_LOAD( "amidar.5c", 0x0000, 0x1000, CRC(c4b66ae4) SHA1(9d09dbde4019f7be3abe0815b0e06d542c01c255) ) + ROM_LOAD( "amidar.5d", 0x1000, 0x1000, CRC(806785af) SHA1(c8c85e3a6a204feccd7859b4527bd649e96134b4) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "amidar.5f", 0x0000, 0x0800, CRC(5e51e84d) SHA1(dfe84db7e2b1a45a1d484fcf37291f536bc5324c) ) + ROM_LOAD( "amidar.5h", 0x0800, 0x0800, CRC(2f7f1c30) SHA1(83c330eca20dfcc6a4099001943b9ed7a7c3db5b) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "amidar.clr", 0x0000, 0x0020, CRC(f940dcc3) SHA1(1015e56f37c244a850a8f4bf0e36668f047fd46d) ) +ROM_END + +ROM_START( amidaru ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "amidarus.2c", 0x0000, 0x1000, CRC(951e0792) SHA1(3a68b829c9ffb465bd6582c9ea566e0e947c6c19) ) + ROM_LOAD( "amidarus.2e", 0x1000, 0x1000, CRC(a1a3a136) SHA1(330ec857fdf4c1b28e2560a5f63a2432f87f9b2f) ) + ROM_LOAD( "amidarus.2f", 0x2000, 0x1000, CRC(a5121bf5) SHA1(fe15b91724758ede43dd332327919f164772c592) ) + ROM_LOAD( "amidarus.2h", 0x3000, 0x1000, CRC(051d1c7f) SHA1(3cfa0f728a5c27da0a3fe2579ad226129ccde232) ) + ROM_LOAD( "amidarus.2j", 0x4000, 0x1000, CRC(351f00d5) SHA1(6659357f40f888b21be00826246200fd3a8a88ce) ) + + ROM_REGION( 0x10000, REGION_CPU2, 0 ) + ROM_LOAD( "amidarus.5c", 0x0000, 0x1000, CRC(8ca7b750) SHA1(4f4c2915503b85abe141d717fd254ee10c9da99e) ) + ROM_LOAD( "amidarus.5d", 0x1000, 0x1000, CRC(9b5bdc0a) SHA1(84d953618c8bf510d23b42232a856ac55f1baff5) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "amidarus.5f", 0x0000, 0x0800, CRC(2cfe5ede) SHA1(0d86a78008ac8653c17fff5be5ebdf1f0a9d31eb) ) + ROM_LOAD( "amidarus.5h", 0x0800, 0x0800, CRC(57c4fd0d) SHA1(8764deec9fbff4220d61df621b12fc36c3702601) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "amidar.clr", 0x0000, 0x0020, CRC(f940dcc3) SHA1(1015e56f37c244a850a8f4bf0e36668f047fd46d) ) +ROM_END + +ROM_START( amidaro ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "107.2cd", 0x0000, 0x1000, CRC(c52536be) SHA1(3f64578214d2d9f0e4e7ee87e09b0aac33a73098) ) + ROM_LOAD( "108.2fg", 0x1000, 0x1000, CRC(38538b98) SHA1(12b2a0c09926d006781bee5d450bc0c391cc1fb5) ) + ROM_LOAD( "109.2fg", 0x2000, 0x1000, CRC(69907f0f) SHA1(f1d19a76ffc41ee8c5c574f10108cfdfe525b732) ) + ROM_LOAD( "110.2h", 0x3000, 0x1000, CRC(ba149a93) SHA1(9ef1d27f0780612be0ea2be94c3a2c781a4924c8) ) + ROM_LOAD( "111.2j", 0x4000, 0x1000, CRC(20d01c2e) SHA1(e09437ff440f04036d5ec74b355e97bbbbfefb95) ) + + ROM_REGION( 0x10000, REGION_CPU2, 0 ) + ROM_LOAD( "amidarus.5c", 0x0000, 0x1000, CRC(8ca7b750) SHA1(4f4c2915503b85abe141d717fd254ee10c9da99e) ) + ROM_LOAD( "amidarus.5d", 0x1000, 0x1000, CRC(9b5bdc0a) SHA1(84d953618c8bf510d23b42232a856ac55f1baff5) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "amidarus.5f", 0x0000, 0x0800, CRC(2cfe5ede) SHA1(0d86a78008ac8653c17fff5be5ebdf1f0a9d31eb) ) + ROM_LOAD( "113.5h", 0x0800, 0x0800, CRC(bcdce168) SHA1(e593d03c460ef4607e3ba25019d9f01d4a717dd9) ) /* The letter 'S' is slightly different */ + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "amidar.clr", 0x0000, 0x0020, CRC(f940dcc3) SHA1(1015e56f37c244a850a8f4bf0e36668f047fd46d) ) +ROM_END + +ROM_START( amidarb ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "ami2gor.2c", 0x0000, 0x1000, CRC(9ad2dcd2) SHA1(43ceb93d891c1ebf55e7c26de13e3db8e1d26f6d) ) + ROM_LOAD( "2.2f", 0x1000, 0x1000, CRC(66282ff5) SHA1(986778278eb339768d190460680e7aa698812488) ) + ROM_LOAD( "3.2j", 0x2000, 0x1000, CRC(b0860e31) SHA1(8fb92b0e71c826a509a8f712553de0f4a636286f) ) + ROM_LOAD( "4.2m", 0x3000, 0x1000, CRC(4a4086c9) SHA1(6f309b67dc68e06e6eb1d3ee2ae75afe253a4ce3) ) + + ROM_REGION( 0x10000, REGION_CPU2, 0 ) + ROM_LOAD( "8.11d", 0x0000, 0x1000, CRC(8ca7b750) SHA1(4f4c2915503b85abe141d717fd254ee10c9da99e) ) + ROM_LOAD( "9.9d", 0x1000, 0x1000, CRC(9b5bdc0a) SHA1(84d953618c8bf510d23b42232a856ac55f1baff5) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "5.5f", 0x0000, 0x0800, CRC(2082ad0a) SHA1(c6014d9575e92adf09b0961c2158a779ebe940c4) ) + ROM_LOAD( "6.5h", 0x0800, 0x0800, CRC(3029f94f) SHA1(3b432b42e79f8b0a7d65e197f373a04e3c92ff20) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "n82s123n.6e", 0x0000, 0x0020, CRC(01004d3f) SHA1(e53cbc54ea96e846481a67bbcccf6b1726e70f9c) ) +ROM_END + +ROM_START( amigo ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "2732.a1", 0x0000, 0x1000, CRC(930dc856) SHA1(7022f1f26830baccdc8b8f0b10fb1d1ccb080f22) ) + ROM_LOAD( "2732.a2", 0x1000, 0x1000, CRC(66282ff5) SHA1(986778278eb339768d190460680e7aa698812488) ) + ROM_LOAD( "2732.a3", 0x2000, 0x1000, CRC(e9d3dc76) SHA1(627c6068c65985175388aec43ac2a4248b004c97) ) + ROM_LOAD( "2732.a4", 0x3000, 0x1000, CRC(4a4086c9) SHA1(6f309b67dc68e06e6eb1d3ee2ae75afe253a4ce3) ) + + ROM_REGION( 0x10000, REGION_CPU2, 0 ) + ROM_LOAD( "amidarus.5c", 0x0000, 0x1000, CRC(8ca7b750) SHA1(4f4c2915503b85abe141d717fd254ee10c9da99e) ) + ROM_LOAD( "amidarus.5d", 0x1000, 0x1000, CRC(9b5bdc0a) SHA1(84d953618c8bf510d23b42232a856ac55f1baff5) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "2716.a6", 0x0000, 0x0800, CRC(2082ad0a) SHA1(c6014d9575e92adf09b0961c2158a779ebe940c4) ) + ROM_LOAD( "2716.a5", 0x0800, 0x0800, CRC(3029f94f) SHA1(3b432b42e79f8b0a7d65e197f373a04e3c92ff20) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "amidar.clr", 0x0000, 0x0020, CRC(f940dcc3) SHA1(1015e56f37c244a850a8f4bf0e36668f047fd46d) ) +ROM_END + +ROM_START( amidars ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "am2d", 0x0000, 0x0800, CRC(24b79547) SHA1(eca735c6a35561a9a6ba8a20dca1e1c78ed073fc) ) + ROM_LOAD( "am2e", 0x0800, 0x0800, CRC(4c64161e) SHA1(5b2e49ff915295617671b13f15b566046a5dbc15) ) + ROM_LOAD( "am2f", 0x1000, 0x0800, CRC(b3987a72) SHA1(1d72e9ae3005029628c6f9beb6ca65afcb1f7893) ) + ROM_LOAD( "am2h", 0x1800, 0x0800, CRC(29873461) SHA1(7d0ee9a82f02163b4cc6a7097e88ae34e96ebf58) ) + ROM_LOAD( "am2j", 0x2000, 0x0800, CRC(0fdd54d8) SHA1(c32fdc8e292d91159e6c80c7033abea6404a4f2c) ) + ROM_LOAD( "am2l", 0x2800, 0x0800, CRC(5382f7ed) SHA1(425ec2c2caf404fc8ab13ee38d6567413022e1a1) ) + ROM_LOAD( "am2m", 0x3000, 0x0800, CRC(1d7109e9) SHA1(e0d24475547bbe5a94b45be6abefb84ad84d2534) ) + ROM_LOAD( "am2p", 0x3800, 0x0800, CRC(c9163ac6) SHA1(46d757180426b71c827d14a35824a248f2c787b6) ) + + ROM_REGION( 0x10000, REGION_CPU2, 0 ) + ROM_LOAD( "amidarus.5c", 0x0000, 0x1000, CRC(8ca7b750) SHA1(4f4c2915503b85abe141d717fd254ee10c9da99e) ) + ROM_LOAD( "amidarus.5d", 0x1000, 0x1000, CRC(9b5bdc0a) SHA1(84d953618c8bf510d23b42232a856ac55f1baff5) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "2716.a6", 0x0000, 0x0800, CRC(2082ad0a) SHA1(c6014d9575e92adf09b0961c2158a779ebe940c4) ) /* Same graphics ROMs as Amigo */ + ROM_LOAD( "2716.a5", 0x0800, 0x0800, CRC(3029f94f) SHA1(3b432b42e79f8b0a7d65e197f373a04e3c92ff20) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "amidar.clr", 0x0000, 0x0020, CRC(f940dcc3) SHA1(1015e56f37c244a850a8f4bf0e36668f047fd46d) ) +ROM_END + + +ROM_START( theend ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "ic13_1t.bin", 0x0000, 0x0800, CRC(93e555ba) SHA1(f684927cecabfbd7544f7549a6152c0a6a436019) ) + ROM_LOAD( "ic14_2t.bin", 0x0800, 0x0800, CRC(2de7ad27) SHA1(caf369fde632652a0a5fb11d3605f0d2386d297a) ) + ROM_LOAD( "ic15_3t.bin", 0x1000, 0x0800, CRC(035f750b) SHA1(5f70518e5dbfca0ba12ba4dc4f357ce8e6b27bc8) ) + ROM_LOAD( "ic16_4t.bin", 0x1800, 0x0800, CRC(61286b5c) SHA1(14464aa5284aecc9c6046e464ab3d13da89d8dda) ) + ROM_LOAD( "ic17_5t.bin", 0x2000, 0x0800, CRC(434a8f68) SHA1(3c8c099c7865997d475c096f1b1c93d88ab21543) ) + ROM_LOAD( "ic18_6t.bin", 0x2800, 0x0800, CRC(dc4cc786) SHA1(3311361a1eb29715aa41d61fbb3563014bd9eeb1) ) + + ROM_REGION( 0x10000, REGION_CPU2, 0 ) + ROM_LOAD( "ic56_1.bin", 0x0000, 0x0800, CRC(7a141f29) SHA1(ca483943971c8fc7f5775a8a7cc6ddd331d48170) ) + ROM_LOAD( "ic55_2.bin", 0x0800, 0x0800, CRC(218497c1) SHA1(3e080621f2e83909a6f304a2d960a080bccbbdc2) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "ic30_2c.bin", 0x0000, 0x0800, CRC(68ccf7bf) SHA1(a8ea784a2660f855757ae0b30cb2a33ab6f2cd59) ) + ROM_LOAD( "ic31_1c.bin", 0x0800, 0x0800, CRC(4a48c999) SHA1(f1abcbfc3146a18dc3ff865e3ba278377a42a875) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "6331-1j.86", 0x0000, 0x0020, CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d) ) +ROM_END + +ROM_START( theends ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "ic13", 0x0000, 0x0800, CRC(90e5ab14) SHA1(b926801ab1cc1e2787a76ced6c7cffd6fce753d4) ) + ROM_LOAD( "ic14", 0x0800, 0x0800, CRC(950f0a07) SHA1(bde9f3c6cf060dc6f5b7652287b94e04bed7bcf7) ) + ROM_LOAD( "ic15", 0x1000, 0x0800, CRC(6786bcf5) SHA1(7556d3dc51d6a112b6357b8a36df05fd1a4d1cc9) ) + ROM_LOAD( "ic16", 0x1800, 0x0800, CRC(380a0017) SHA1(3354eb328a32537f722fe8a0949ddcab6cf21eb8) ) + ROM_LOAD( "ic17", 0x2000, 0x0800, CRC(af067b7f) SHA1(855c6ddf29fbfea004c7143fe29064abf53801ad) ) + ROM_LOAD( "ic18", 0x2800, 0x0800, CRC(a0411b93) SHA1(d644968758a1b73d13e09b24d24bfec82276e8f4) ) + + ROM_REGION( 0x10000, REGION_CPU2, 0 ) + ROM_LOAD( "ic56", 0x0000, 0x0800, CRC(3b2c2f70) SHA1(bcccdacacfc9a3b5f1412dfba6bb0046d283bccc) ) + ROM_LOAD( "ic55", 0x0800, 0x0800, CRC(e0429e50) SHA1(27678fc3172cbca3ae1eae96e9d8a62561d5ce40) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "ic30", 0x0000, 0x0800, CRC(527fd384) SHA1(92a384899d5acd2c689f637da16a0e2d11a9d9c6) ) + ROM_LOAD( "ic31", 0x0800, 0x0800, CRC(af6d09b6) SHA1(f3ad51dc88aa58fd39195ead978b039e0b0b585c) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "6331-1j.86", 0x0000, 0x0020, CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d) ) +ROM_END + + +ROM_START( scramble ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "s1.2d", 0x0000, 0x0800, CRC(ea35ccaa) SHA1(1dcb375987fe21e0483c27d485c405de53848d61) ) + ROM_LOAD( "s2.2e", 0x0800, 0x0800, CRC(e7bba1b3) SHA1(240877576045fddcc9ff01d97dc78139454ac4f1) ) + ROM_LOAD( "s3.2f", 0x1000, 0x0800, CRC(12d7fc3e) SHA1(a84d191c7be8700f630a83ddad798be9e83b5d55) ) + ROM_LOAD( "s4.2h", 0x1800, 0x0800, CRC(b59360eb) SHA1(5d155808c19dcf2e14aa8e29c0ee41a6d3d3c43a) ) + ROM_LOAD( "s5.2j", 0x2000, 0x0800, CRC(4919a91c) SHA1(9cb5861c61e4783e5fbaa3869d51195f127b1129) ) + ROM_LOAD( "s6.2l", 0x2800, 0x0800, CRC(26a4547b) SHA1(67c0fa81729370631647b5d78bb5a61433facd7f) ) + ROM_LOAD( "s7.2m", 0x3000, 0x0800, CRC(0bb49470) SHA1(05a6fe3010c2136284ca76352dac147797c79778) ) + ROM_LOAD( "s8.2p", 0x3800, 0x0800, CRC(6a5740e5) SHA1(e3b09141cee26857d626412e9d1a0e759469b97a) ) + + ROM_REGION( 0x10000, REGION_CPU2, 0 ) + ROM_LOAD( "ot1.5c", 0x0000, 0x0800, CRC(bcd297f0) SHA1(8ed78487d76fd0a917ab7b258937a46e2cd9800c) ) + ROM_LOAD( "ot2.5d", 0x0800, 0x0800, CRC(de7912da) SHA1(8558b4eff5d7e63029b325edef9914feda5834c3) ) + ROM_LOAD( "ot3.5e", 0x1000, 0x0800, CRC(ba2fa933) SHA1(1f976d8595706730e29f93027e7ab4620075c078) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "c2.5f", 0x0000, 0x0800, CRC(4708845b) SHA1(a8b1ad19a95a9d35050a2ab7194cc96fc5afcdc9) ) + ROM_LOAD( "c1.5h", 0x0800, 0x0800, CRC(11fd2887) SHA1(69844e48bb4d372cac7ae83c953df573c7ecbb7f) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "c01s.6e", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) ) +ROM_END + +ROM_START( scrambls ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "2d", 0x0000, 0x0800, CRC(b89207a1) SHA1(5422df979e82bcc73df49f50515fe76c126c037b) ) + ROM_LOAD( "2e", 0x0800, 0x0800, CRC(e9b4b9eb) SHA1(a8ee9ddfadf5e9accedfaf81da757a88a2e55a0a) ) + ROM_LOAD( "2f", 0x1000, 0x0800, CRC(a1f14f4c) SHA1(3eae2b3e4596505a8afb5c5cfb108e823c2c4319) ) + ROM_LOAD( "2h", 0x1800, 0x0800, CRC(591bc0d9) SHA1(170f9e92f0a3bee04407be27210b4fa825367688) ) + ROM_LOAD( "2j", 0x2000, 0x0800, CRC(22f11b6b) SHA1(e426ef6a7444a39a34d59799973b07d11b89f372) ) + ROM_LOAD( "2l", 0x2800, 0x0800, CRC(705ffe49) SHA1(174df3f281068c767344f751daace646360e26d6) ) + ROM_LOAD( "2m", 0x3000, 0x0800, CRC(ea26c35c) SHA1(a2f3380982d93a022f46756f974fd16c4cd617de) ) + ROM_LOAD( "2p", 0x3800, 0x0800, CRC(94d8f5e3) SHA1(f3a9c4d1d91836476fcad87ea0d243dde7171e0a) ) + + ROM_REGION( 0x10000, REGION_CPU2, 0 ) + ROM_LOAD( "ot1.5c", 0x0000, 0x0800, CRC(bcd297f0) SHA1(8ed78487d76fd0a917ab7b258937a46e2cd9800c) ) + ROM_LOAD( "ot2.5d", 0x0800, 0x0800, CRC(de7912da) SHA1(8558b4eff5d7e63029b325edef9914feda5834c3) ) + ROM_LOAD( "ot3.5e", 0x1000, 0x0800, CRC(ba2fa933) SHA1(1f976d8595706730e29f93027e7ab4620075c078) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "5f", 0x0000, 0x0800, CRC(5f30311a) SHA1(d64134089bebd995b3a1a089411e180c8c29f32d) ) + ROM_LOAD( "5h", 0x0800, 0x0800, CRC(516e029e) SHA1(81b44eb1ce43cebde87f0a41ade2e7eb291af78d) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "c01s.6e", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) ) +ROM_END + +ROM_START( strfbomb ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "1.2c", 0x0000, 0x0800, CRC(b102aaa0) SHA1(00560da7a2ded6afcdc1d46e12cc3c795654639a) ) + ROM_LOAD( "2.2e", 0x0800, 0x0800, CRC(d4155703) SHA1(defd37df55536890456c29812340e0d6b4292b78) ) + ROM_LOAD( "3.2f", 0x1000, 0x0800, CRC(a9568c89) SHA1(0d8e6b3af92e4933814700d54acfd43407f3ede1) ) + ROM_LOAD( "4.2h", 0x1800, 0x0800, CRC(663b6c35) SHA1(354fb2e92f4376b20aee412ed361d59b8a2c01e1) ) + ROM_LOAD( "5.2j", 0x2000, 0x0800, CRC(4919a91c) SHA1(9cb5861c61e4783e5fbaa3869d51195f127b1129) ) + ROM_LOAD( "6.2l", 0x2800, 0x0800, CRC(4ec66ae3) SHA1(a74827e161212e9b2eddd980321507a377f1e30b) ) + ROM_LOAD( "7.2m", 0x3000, 0x0800, CRC(0feb0192) SHA1(45a44bde3bf1483abf95fe1d1d5066bfcb1736df) ) + ROM_LOAD( "8.2p", 0x3800, 0x0800, CRC(280a6142) SHA1(f17625b91eaaffa36a433be32e4e80651d94b3b9) ) + + ROM_REGION( 0x10000, REGION_CPU2, 0 ) + ROM_LOAD( "ot1.5c", 0x0000, 0x0800, CRC(bcd297f0) SHA1(8ed78487d76fd0a917ab7b258937a46e2cd9800c) ) + ROM_LOAD( "ot2.5d", 0x0800, 0x0800, CRC(de7912da) SHA1(8558b4eff5d7e63029b325edef9914feda5834c3) ) + ROM_LOAD( "ot3.5e", 0x1000, 0x0800, CRC(ba2fa933) SHA1(1f976d8595706730e29f93027e7ab4620075c078) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "9.5f", 0x0000, 0x0800, CRC(3abeff25) SHA1(ff6de0596c849ec877fb759c1ab9c7a8ffe2edac) ) + ROM_LOAD( "10.5h", 0x0800, 0x0800, CRC(79ecacbe) SHA1(285cb3ee0ff8d596877bb571ea8479566ab36eb9) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "c01s.6e", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) ) +ROM_END + +ROM_START( explorer ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "10l.bin", 0x0000, 0x1000, CRC(d5adf626) SHA1(f362322f780c13cee73697f9158a8ca8aa943a2e) ) + ROM_LOAD( "9l.bin", 0x1000, 0x1000, CRC(48e32788) SHA1(7a98848d2ed8ba5b2da28c014226109af7cc9287) ) + ROM_LOAD( "8l.bin", 0x2000, 0x1000, CRC(c0dbdbde) SHA1(eac7444246bdf80f97962031bf900ce09b28c8b5) ) + ROM_LOAD( "7l.bin", 0x3000, 0x1000, CRC(9b30d227) SHA1(22764e0a2a5ce7abe862e42c84abaaf25949575f) ) + + ROM_REGION( 0x10000, REGION_CPU2, 0 ) + ROM_LOAD( "3f.bin", 0x0000, 0x1000, CRC(9faf18cf) SHA1(1b6c65472d639753cc39031750f85efe1d31ae5e) ) + ROM_LOAD( "4b.bin", 0x1000, 0x0800, CRC(e910b5c3) SHA1(228e8d36dd1ac8a00a396df74b80aa6616997028) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "c2.5f", 0x0000, 0x0800, CRC(4708845b) SHA1(a8b1ad19a95a9d35050a2ab7194cc96fc5afcdc9) ) + ROM_LOAD( "c1.5h", 0x0800, 0x0800, CRC(11fd2887) SHA1(69844e48bb4d372cac7ae83c953df573c7ecbb7f) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "c01s.6e", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) ) +ROM_END + + +ROM_START( atlantis ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "2c", 0x0000, 0x0800, CRC(0e485b9a) SHA1(976f1d6f4552fbee134359a776b5688588824cbb) ) + ROM_LOAD( "2e", 0x0800, 0x0800, CRC(c1640513) SHA1(a0dfb34f401330b16e9e4d66ec4b49d120499606) ) + ROM_LOAD( "2f", 0x1000, 0x0800, CRC(eec265ee) SHA1(29b6cf6b93220414eb58cddeba591dc8813c4935) ) + ROM_LOAD( "2h", 0x1800, 0x0800, CRC(a5d2e442) SHA1(e535d1a501ebd861ad62da70b87215fb7c23de1d) ) + ROM_LOAD( "2j", 0x2000, 0x0800, CRC(45f7cf34) SHA1(d1e0e0be6dec377b684625bdfdc5a3a8af847492) ) + ROM_LOAD( "2l", 0x2800, 0x0800, CRC(f335b96b) SHA1(17daa6d9bc916081f3c6cbdfe5b4960177dc7c9b) ) + + ROM_REGION( 0x10000, REGION_CPU2, 0 ) + ROM_LOAD( "ot1.5c", 0x0000, 0x0800, CRC(bcd297f0) SHA1(8ed78487d76fd0a917ab7b258937a46e2cd9800c) ) + ROM_LOAD( "ot2.5d", 0x0800, 0x0800, CRC(de7912da) SHA1(8558b4eff5d7e63029b325edef9914feda5834c3) ) + ROM_LOAD( "ot3.5e", 0x1000, 0x0800, CRC(ba2fa933) SHA1(1f976d8595706730e29f93027e7ab4620075c078) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "5f", 0x0000, 0x0800, CRC(57f9c6b9) SHA1(ad0d09a6611998d093d676a9c9fe9e32b10f643e) ) + ROM_LOAD( "5h", 0x0800, 0x0800, CRC(e989f325) SHA1(947aee915779687deae040aeef9e9aee680aaebf) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "c01s.6e", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) ) +ROM_END + +ROM_START( atlants2 ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "rom1", 0x0000, 0x0800, CRC(ad348089) SHA1(3548b94192c451c0126e7aaecefa7137ae074cd3) ) + ROM_LOAD( "rom2", 0x0800, 0x0800, CRC(caa705d1) SHA1(b4aefbea21fa9608e1dae2a09ae0d31270eb8c78) ) + ROM_LOAD( "rom3", 0x1000, 0x0800, CRC(e420641d) SHA1(103e7590f5acbac6991d665495f933c3a68da1c8) ) + ROM_LOAD( "rom4", 0x1800, 0x0800, CRC(04792d90) SHA1(cb477e4b8e4538def01c10b0348f8f8e3a2a9500) ) + ROM_LOAD( "2j", 0x2000, 0x0800, CRC(45f7cf34) SHA1(d1e0e0be6dec377b684625bdfdc5a3a8af847492) ) + ROM_LOAD( "rom6", 0x2800, 0x0800, CRC(b297bd4b) SHA1(0c48da41d9cf2a3456df5b1e8bf27fa641bc643b) ) + ROM_LOAD( "rom7", 0x3000, 0x0800, CRC(a50bf8d5) SHA1(5bca98e1c0838d27ec66bf4b906877977b212b6d) ) + ROM_LOAD( "rom8", 0x3800, 0x0800, CRC(d2c5c984) SHA1(a9432f9aff8a2f5ca1d347443efc008a177d8ae0) ) + + ROM_REGION( 0x10000, REGION_CPU2, 0 ) + ROM_LOAD( "ot1.5c", 0x0000, 0x0800, CRC(bcd297f0) SHA1(8ed78487d76fd0a917ab7b258937a46e2cd9800c) ) + ROM_LOAD( "ot2.5d", 0x0800, 0x0800, CRC(de7912da) SHA1(8558b4eff5d7e63029b325edef9914feda5834c3) ) + ROM_LOAD( "ot3.5e", 0x1000, 0x0800, CRC(ba2fa933) SHA1(1f976d8595706730e29f93027e7ab4620075c078) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "rom9", 0x0000, 0x0800, CRC(55cd5acd) SHA1(b3e2ce71d4e48255d44cd451ee015a7234a108c8) ) + ROM_LOAD( "rom10", 0x0800, 0x0800, CRC(72e773b8) SHA1(6ce178df3bd6a4177c68761572a13a56d222c48f) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "c01s.6e", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) ) +ROM_END + + +ROM_START( scorpion ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "1.2d", 0x0000, 0x1000, CRC(ba1219b4) SHA1(33c7843dba44152a8bc3223ea0c30b13609b80ba) ) + ROM_LOAD( "2.2f", 0x1000, 0x1000, CRC(c3909ab6) SHA1(0bec902ae4291fa0530f4c89ad45cc7aab888b7a) ) + ROM_LOAD( "3.2g", 0x2000, 0x1000, CRC(43261352) SHA1(49468cbed7e0286b260eef297bd5fad0ab9fd45b) ) + ROM_LOAD( "4.2h", 0x3000, 0x1000, CRC(aba2276a) SHA1(42b0378f06d2bdb4faaaa95274a6c0f965716877) ) + ROM_LOAD( "5.2k", 0x6000, 0x0800, CRC(952f78f2) SHA1(9562037b104fc1852c2d2650209a77ffce2cb90e) ) + ROM_CONTINUE( 0x5800, 0x0800 ) + + ROM_REGION( 0x10000, REGION_CPU2, 0 ) + ROM_LOAD( "32_a4.7c", 0x0000, 0x1000, CRC(361b8a36) SHA1(550ac5f721aaa9fea5f6d63ba590d6b367525c23) ) + ROM_LOAD( "32_a5.7d", 0x1000, 0x1000, CRC(addecdd4) SHA1(ba28f1d9c7c6b5e8ecef56a4b3f64be13fc10d43) ) + + ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "32_f5.5f", 0x0000, 0x1000, CRC(1e5da9d6) SHA1(ca8b27e6dd40e4ca13e7e6b5f813bafca78b62f4) ) + ROM_LOAD( "32_h5.5h", 0x1000, 0x1000, CRC(a57adb0a) SHA1(d97c7dc4a6c5efb59cc0148e2498156c682c6714) ) + + ROM_REGION( 0x3000, REGION_SOUND1, 0 ) /* Samples? / Speech? */ + ROM_LOAD( "32_a3.6e", 0x0000, 0x1000, CRC(279ae6f9) SHA1(a93b1d68c9f4b6ad62fdb8816285e61bd3b4b884) ) + ROM_LOAD( "32_a2.6d", 0x1000, 0x1000, CRC(90352dd4) SHA1(62c261a2f2fbd8eff31d5c72cf532d5e43d86dd3) ) + ROM_LOAD( "32_a1.6c", 0x2000, 0x1000, CRC(3bf2452d) SHA1(7a163e0ef108dd40d3beab5e9805886e45be744b) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "prom.6e", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) ) +ROM_END + +ROM_START( scrpiona ) + /* this dump is bad (at least one rom) */ + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "scor_d2.bin", 0x0000, 0x1000, BAD_DUMP CRC(c5b9daeb) SHA1(faf7a22013dd5f063eb8f506f3722cfd5522539a) ) + ROM_LOAD( "scor_e2.bin", 0x1000, 0x1000, BAD_DUMP CRC(82308d05) SHA1(26bc7c8b3ea0020fd1b93f6aaa29d82d04ae64b2) ) + ROM_LOAD( "scor_g2.bin", 0x2000, 0x1000, BAD_DUMP CRC(756b09cd) SHA1(9aec34e063fe8c0d1392db09daea2875d06eec46) ) + ROM_LOAD( "scor_h2.bin", 0x3000, 0x1000, BAD_DUMP CRC(a0457b93) SHA1(5ed32e117a97660dae001bd97fcb3f31e0debb24) ) + ROM_LOAD( "scor_k2.bin", 0x5800, 0x0800, BAD_DUMP CRC(42ec34d8) SHA1(b358d10a96490f325420b992e8e03bb3884e415a) ) + ROM_LOAD( "scor_l2.bin", 0x6000, 0x0800, BAD_DUMP CRC(6623da33) SHA1(99110005d00c80d674bde5d21608f50b85ee488c) ) + + ROM_REGION( 0x10000, REGION_CPU2, 0 ) + ROM_LOAD( "32_a4.7c", 0x0000, 0x1000, CRC(361b8a36) SHA1(550ac5f721aaa9fea5f6d63ba590d6b367525c23) ) + ROM_LOAD( "32_a5.7d", 0x1000, 0x1000, CRC(addecdd4) SHA1(ba28f1d9c7c6b5e8ecef56a4b3f64be13fc10d43) ) + + ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "scor_f5.bin", 0x0000, 0x1000, CRC(60180a38) SHA1(518c1267523139aa4e27860012a722b67fe25b6d) ) + ROM_LOAD( "32_h5.5h", 0x1000, 0x1000, CRC(a57adb0a) SHA1(d97c7dc4a6c5efb59cc0148e2498156c682c6714) ) + + ROM_REGION( 0x3000, REGION_SOUND1, 0 ) /* Samples? / Speech? */ + ROM_LOAD( "scor_a3.bin", 0x0000, 0x1000, CRC(04abf178) SHA1(2e7f231413d9ec461ca21840f31d1d6b8b17c4d5) ) + ROM_LOAD( "scor_a2.bin", 0x1000, 0x1000, CRC(452d6354) SHA1(3d5397fddcc17b4d03b9cdc53a6439f159d1bfcc) ) + ROM_LOAD( "32_a1.6c", 0x2000, 0x1000, CRC(3bf2452d) SHA1(7a163e0ef108dd40d3beab5e9805886e45be744b) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "prom.6e", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) ) +ROM_END + +ROM_START( scrpionb ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "ic109.2d", 0x0000, 0x1000, CRC(f54688c9) SHA1(2881d5238733353b9c277a2829d157688a87601b) ) + ROM_LOAD( "ic110.2e", 0x1000, 0x1000, CRC(91aaaa12) SHA1(2a5e5eb5aeec5637ee4675930f67158a969e0d5d) ) + ROM_LOAD( "ic111.2g", 0x2000, 0x1000, CRC(4c3720da) SHA1(5b2758c8a91f9463bf98abf2b52af946c5e90cf0) ) + ROM_LOAD( "ic112.2h", 0x3000, 0x1000, CRC(53e2a983) SHA1(cfe272055a92793de76dd1cff617b13281815485) ) + ROM_LOAD( "ic113.2k", 0x6000, 0x0800, CRC(e4ad299a) SHA1(712cab86eadeba9e859f7bae98eb289f00d2e217) ) + ROM_CONTINUE( 0x5800, 0x0800 ) + + ROM_REGION( 0x10000, REGION_CPU2, 0 ) + ROM_LOAD( "32_a4.7c", 0x0000, 0x1000, CRC(361b8a36) SHA1(550ac5f721aaa9fea5f6d63ba590d6b367525c23) ) // missing in this dump + ROM_LOAD( "ic13.7d", 0x1000, 0x1000, CRC(addecdd4) SHA1(ba28f1d9c7c6b5e8ecef56a4b3f64be13fc10d43) ) + + ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "ic72.5f", 0x0000, 0x1000, CRC(1e5da9d6) SHA1(ca8b27e6dd40e4ca13e7e6b5f813bafca78b62f4) ) + ROM_LOAD( "ic73.5h", 0x1000, 0x1000, CRC(a57adb0a) SHA1(d97c7dc4a6c5efb59cc0148e2498156c682c6714) ) + + ROM_REGION( 0x3000, REGION_SOUND1, 0 ) /* Samples? / Speech? */ + ROM_LOAD( "ic25.6e", 0x0000, 0x1000, CRC(04abf178) SHA1(2e7f231413d9ec461ca21840f31d1d6b8b17c4d5) ) + ROM_LOAD( "ic24.6d", 0x1000, 0x1000, CRC(90352dd4) SHA1(62c261a2f2fbd8eff31d5c72cf532d5e43d86dd3) ) + ROM_LOAD( "ic23.6c", 0x2000, 0x1000, CRC(3bf2452d) SHA1(7a163e0ef108dd40d3beab5e9805886e45be744b) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "prom.6e", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) ) +ROM_END + +ROM_START( scorpnmc ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "p1.bin", 0x0000, 0x0800, CRC(58818d88) SHA1(d9fbfb6fff9ba1d078c3735889b8878ab0442ded) ) + ROM_LOAD( "p2.bin", 0x0800, 0x0800, CRC(8bec5f9f) SHA1(78642124edbf946140f62985bafe2dca314cb257) ) + ROM_LOAD( "p3.bin", 0x1000, 0x0800, CRC(24b7fdff) SHA1(1382199c85af3aa101b4ca01a0b096d801bc61a6) ) + ROM_LOAD( "p4.bin", 0x1800, 0x0800, CRC(9082e2f0) SHA1(8e3beebca33e73901cb8c4fa0af39a299b831d32) ) + ROM_LOAD( "p5.bin", 0x2000, 0x0800, CRC(20387fc0) SHA1(1aa2f16fb1630e65fd8aaedd21d8e4bac343678b) ) + ROM_LOAD( "p6.bin", 0x2800, 0x0800, CRC(f66c48e1) SHA1(bbfd68309d1f6b6bb3ec0879c8bde80b3f30fa02) ) + ROM_LOAD( "p7.bin", 0x3000, 0x0800, CRC(931e34c7) SHA1(8b6c1099634b5d693faab9edf5e29b3c476c7f52) ) + ROM_LOAD( "p8.bin", 0x3800, 0x0800, CRC(ab5ab61d) SHA1(eb78d7dc8d424f6ed4f7cbec02485cd769bac5c6) ) + ROM_LOAD( "p9.bin", 0x5000, 0x1000, CRC(b551b974) SHA1(c19e61dd8b6daf808ba42fa318dfd179a020d20e) ) + ROM_LOAD( "p10.bin", 0x6000, 0x0800, CRC(a7bd8d20) SHA1(c8131279de58298546c5af2c34ff18116c3a2d3b) ) + + ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "h.bin", 0x0000, 0x1000, CRC(1e5da9d6) SHA1(ca8b27e6dd40e4ca13e7e6b5f813bafca78b62f4) ) + ROM_LOAD( "k.bin", 0x1000, 0x1000, CRC(a57adb0a) SHA1(d97c7dc4a6c5efb59cc0148e2498156c682c6714) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "mmi6331.bpr", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */ +ROM_END + + +ROM_START( sfx ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "sfx_b-0.1j", 0x0000, 0x1000, CRC(e5bc6952) SHA1(7bfb772418d738d3c49fd59c0bfc04590945977a) ) + ROM_CONTINUE( 0xe000, 0x1000 ) + ROM_LOAD( "1.1c", 0x1000, 0x1000, CRC(1b3c48e7) SHA1(2f245aaf9b4bb5d949aae18ee89a0be639e7b2df) ) + ROM_LOAD( "22.1d", 0x2000, 0x1000, CRC(ed44950d) SHA1(f8c54ff89ac461171df951d703d5571be1b8da38) ) + ROM_LOAD( "23.1e", 0x3000, 0x1000, CRC(f44a3ca0) SHA1(3917ea960329a06d3d0c447cb6a4ba710fb7ca92) ) + ROM_LOAD( "27.1a", 0x7000, 0x1000, CRC(ed86839f) SHA1(a0d8c941a6e01058eab66d5da9b49b6b5695b981) ) + ROM_LOAD( "24.1g", 0xc000, 0x1000, CRC(e6d7dc74) SHA1(c1e6d9598fb837775ee6550fea3cd4910572615e) ) + ROM_LOAD( "5.1h", 0xd000, 0x1000, CRC(d1e8d390) SHA1(f8fe9f69e6500fbcf25f8151c1070d9a1a20a38c) ) + + ROM_REGION( 0x10000, REGION_CPU2, 0 ) + ROM_LOAD( "5.5j", 0x0000, 0x1000, CRC(59028fb6) SHA1(94105b5b03c81a948a409f7ea20312bb9c79c150) ) + ROM_LOAD( "6.6j", 0x1000, 0x1000, CRC(5427670f) SHA1(ffc3f7186d0319f0fd7ed25eb97bb0db7bc107c6) ) + + ROM_REGION( 0x10000, REGION_CPU3, 0 ) + ROM_LOAD( "1.1j", 0x0000, 0x1000, CRC(2f172c58) SHA1(4706d55fcfad4d5a87d96a0a0187f59997ef9720) ) + ROM_LOAD( "2.2j", 0x1000, 0x1000, CRC(a6ad2f6b) SHA1(14d1a93e507c349b14a1b26408cce23f089fa33c) ) + ROM_LOAD( "3.3j", 0x2000, 0x1000, CRC(fa1274fa) SHA1(e98cb602b265b209eaa4a9b3972e47c869ff863b) ) + ROM_LOAD( "4.4j", 0x3000, 0x1000, CRC(1cd33f3a) SHA1(cf9248fd6cb56ec81d354afe032a2dea810e834b) ) + ROM_LOAD( "10.3h", 0x4000, 0x1000, CRC(b833a15b) SHA1(0d21aaa0ca5ccba89118b205a6b3b36b15663c47) ) + ROM_LOAD( "11.4h", 0x5000, 0x1000, CRC(cbd76ec2) SHA1(9434350ee93ca71efe78018b69913386353306ff) ) + + ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "28.5a", 0x0000, 0x1000, CRC(d73a8252) SHA1(59d14f41f1a806f98ee33596b84fe5aefe606944) ) + ROM_LOAD( "29.5c", 0x1000, 0x1000, CRC(1401ccf2) SHA1(5762eafd9f402330e1d4ac677f46595087716c47) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "6331.9g", 0x0000, 0x0020, CRC(ca1d9ccd) SHA1(27124759a06497c1bc1a64b6d3faa6ba924a8447) ) +ROM_END + +ROM_START( skelagon ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + /* first half of 36.bin is missing */ + ROM_LOAD( "31.bin", 0x1000, 0x1000, CRC(ae6f8647) SHA1(801e88b91c204f2797e5ce45390ea6eec27a3f54) ) + ROM_LOAD( "32.bin", 0x2000, 0x1000, CRC(a28c5838) SHA1(0a37de7986c494d1522ce76635dd1fa6d03f05c7) ) + ROM_LOAD( "33.bin", 0x3000, 0x1000, CRC(32f7e99c) SHA1(2718063a77eeeb8067a9cad7ff3d9e0266b61566) ) + ROM_LOAD( "37.bin", 0x7000, 0x1000, CRC(47f68a31) SHA1(6e15024f67c88a733ede8702d2a80ddb1892b27e) ) + ROM_LOAD( "24.bin", 0xc000, 0x1000, CRC(e6d7dc74) SHA1(c1e6d9598fb837775ee6550fea3cd4910572615e) ) + ROM_LOAD( "35.bin", 0xd000, 0x1000, CRC(5b2a0158) SHA1(66d2fb05a8daaa86bb547b4860d5bf27b4359326) ) + ROM_LOAD( "36.bin", 0xe000, 0x1000, BAD_DUMP CRC(f53ead29) SHA1(f8957b0c0558acc005f418adbfeb66d1d562c9ac) ) + + ROM_REGION( 0x10000, REGION_CPU2, 0 ) + ROM_LOAD( "5.5j", 0x0000, 0x1000, CRC(59028fb6) SHA1(94105b5b03c81a948a409f7ea20312bb9c79c150) ) + ROM_LOAD( "6.6j", 0x1000, 0x1000, CRC(5427670f) SHA1(ffc3f7186d0319f0fd7ed25eb97bb0db7bc107c6) ) + + ROM_REGION( 0x10000, REGION_CPU3, 0 ) + ROM_LOAD( "1.1j", 0x0000, 0x1000, CRC(2f172c58) SHA1(4706d55fcfad4d5a87d96a0a0187f59997ef9720) ) + ROM_LOAD( "2.2j", 0x1000, 0x1000, CRC(a6ad2f6b) SHA1(14d1a93e507c349b14a1b26408cce23f089fa33c) ) + ROM_LOAD( "3.3j", 0x2000, 0x1000, CRC(fa1274fa) SHA1(e98cb602b265b209eaa4a9b3972e47c869ff863b) ) + ROM_LOAD( "4.4j", 0x3000, 0x1000, CRC(1cd33f3a) SHA1(cf9248fd6cb56ec81d354afe032a2dea810e834b) ) + ROM_LOAD( "10.bin", 0x4000, 0x1000, CRC(2c719de2) SHA1(0953e96f8be1cbab3f4a8e166457c74e986a87b1) ) + ROM_LOAD( "8.bin", 0x5000, 0x1000, CRC(350379dd) SHA1(e979251b11d6702170dd60ffd28fc15ea737588b) ) + + ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "38.bin", 0x0000, 0x1000, CRC(2fffa8b1) SHA1(6a6032f55b9fe1da209e4ed4423042efec773d4d) ) + ROM_LOAD( "39.bin", 0x1000, 0x1000, CRC(a854b5de) SHA1(dd038f20ee366d439f09f0c82fd6432101b3781a) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "6331.9g", 0x0000, 0x0020, CRC(ca1d9ccd) SHA1(27124759a06497c1bc1a64b6d3faa6ba924a8447) ) +ROM_END + +/* +Monster Zero + +CPU: Z80 (x3) +Sound: AY-3-8910 (x2) +Other: 8255 (x3) +RAM: 2114 (x2), 2114 (x2), TMM2016P, TMM314A (x4), MPB8216 (x2), MPB8216 (x2), 2114 (x2), TMM314A (x2), D2125A (x5) +PAL: 16R8C (protected x2) +PROM: 82S123 +X1: 1431818 +X2: 16000 +*/ + +ROM_START( monsterz ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "b-1e.a1", 0x0000, 0x1000, CRC(97886542) SHA1(01f4f9bd55f9eae28162cbb22a26f7cda22cd3f3) ) + ROM_LOAD( "b-2e.c1", 0x1000, 0x1000, CRC(184ffcb4) SHA1(829d6ca13773aba7c3a81e122171befbe3666110) ) + ROM_LOAD( "b-3e.d1", 0x2000, 0x1000, CRC(b7b10ac7) SHA1(51d544d4db456df756a95d7f1853fffed9259647) ) + ROM_LOAD( "b-4e.e1", 0x3000, 0x1000, CRC(fb02c736) SHA1(24466116dd07b856b1afff62b8312c67ff466b95) ) + ROM_LOAD( "b-5e.g1", 0xc000, 0x1000, CRC(b2788ab9) SHA1(eb1a6b41f4c7a243481bfccf2b068ce1bc292366) ) + ROM_LOAD( "b-6e.h1", 0xd000, 0x1000, CRC(77d7aa8d) SHA1(62aaf582ba55f7b21f6cf13b4fb6c2c54bb729f5) ) + + ROM_REGION( 0x10000, REGION_CPU2, 0 ) + ROM_LOAD( "a-1e.k1", 0x0000, 0x1000, CRC(b88ba44e) SHA1(85c141fb411d541b1e20412f5fefd18395f635ae) ) + ROM_LOAD( "a-2.k2", 0x1000, 0x1000, CRC(8913c94e) SHA1(6c4fe065217a234d45761f8ad4d2c4e7078a0abd) ) + ROM_LOAD( "a-3e.k3", 0x2000, 0x1000, CRC(a8fa5095) SHA1(5cabe5497a79a0c43e78a84ae87c824af60a2a3f) ) + ROM_LOAD( "a-4.k4", 0x3000, 0x1000, CRC(93f81317) SHA1(167708be94cb9a47290067a20bc5ff6f018b93b6) ) + + ROM_REGION( 0x10000, REGION_CPU3, 0 ) + ROM_LOAD( "a-5e.k5", 0x0000, 0x1000, CRC(b5bcdb4e) SHA1(db0965e5636e0f4e9cd4f4a7d808c413ecf733db) ) + ROM_LOAD( "a-6.k6", 0x1000, 0x1000, CRC(24832b2e) SHA1(2a67888e86ce1a3182303e841513ba2a07977359) ) + ROM_LOAD( "a-7e.k7", 0x2000, 0x1000, CRC(20ebea81) SHA1(473c688365b256d8593663ff95768f4a5bb1289d) ) + // 0x3000 empty ? + ROM_LOAD( "a-8.k8", 0x4000, 0x1000, CRC(b833a15b) SHA1(0d21aaa0ca5ccba89118b205a6b3b36b15663c47) ) + ROM_LOAD( "a-9.k9", 0x5000, 0x1000, CRC(cbd76ec2) SHA1(9434350ee93ca71efe78018b69913386353306ff) ) + + ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "b-7e.a5", 0x0000, 0x1000, CRC(ddd4158d) SHA1(9701e2d8a0226455dfbed650e58bb4be05918fe8) ) + ROM_LOAD( "b-8e.c5", 0x1000, 0x1000, CRC(b1331b4c) SHA1(fa1af406ecd6919b4846aea68d3edb70106f9273) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "prom.g9", 0x0000, 0x0020, CRC(b7ea00d7) SHA1(f658c6ac8123ae1e6b68ae513cc02c4d9d2b4e47) ) +ROM_END + + +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( 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( 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( 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( 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 + + + +/************************************* + * + * Game drivers + * Galaxian-derived games + * + *************************************/ + +/* basic galaxian hardware */ +GAME( 1979, galaxian, 0, galaxian, galaxian, galaxian, ROT90, "Namco", "Galaxian (Namco set 1)", GAME_SUPPORTS_SAVE ) +GAME( 1979, galaxiaj, galaxian, galaxian, superg, galaxian, ROT90, "Namco", "Galaxian (Namco set 2)", GAME_SUPPORTS_SAVE ) +GAME( 1979, galmidw, galaxian, galaxian, galaxian, galaxian, ROT90, "[Namco] (Midway license)", "Galaxian (Midway set 1)", GAME_SUPPORTS_SAVE ) +GAME( 1979, galmidwo, galaxian, galaxian, galaxian, galaxian, ROT90, "[Namco] (Midway license)", "Galaxian (Midway set 2)", GAME_SUPPORTS_SAVE ) +GAME( 1979, galtaito, galaxian, galaxian, galtaito, galaxian, ROT90, "[Namco] (Taito license)", "Galaxian (Taito)", GAME_SUPPORTS_SAVE ) + +/* straight Galaxian ripoffs on basic galaxian hardware */ +GAME( 1979, moonaln, galaxian, galaxian, superg, galaxian, ROT90, "[Nichibutsu] (Karateco license)", "Moon Alien", GAME_SUPPORTS_SAVE ) +GAME( 1979, superg, galaxian, galaxian, superg, galaxian, ROT90, "hack", "Super Galaxians (galaxiaj hack)", GAME_SUPPORTS_SAVE ) +GAME( 1979, galturbo, galaxian, galaxian, superg, galaxian, ROT90, "hack", "Galaxian Turbo (superg hack)", GAME_SUPPORTS_SAVE ) +GAME( 1979, galapx, galaxian, galaxian, superg, galaxian, ROT90, "hack", "Galaxian Part X (moonaln hack)", GAME_SUPPORTS_SAVE ) +GAME( 1979, galap1, galaxian, galaxian, superg, galaxian, ROT90, "hack", "Space Invaders Galactica (galaxiaj hack)", GAME_SUPPORTS_SAVE ) +GAME( 1979, galap4, galaxian, galaxian, superg, galaxian, ROT90, "G.G.I", "Galaxian Part 4 (hack)", GAME_SUPPORTS_SAVE ) +GAME( 1979, swarm, galaxian, galaxian, swarm, galaxian, ROT90, "Subelectro", "Swarm (bootleg?)", GAME_SUPPORTS_SAVE ) +GAME( 1979, zerotime, galaxian, galaxian, zerotime, galaxian, ROT90, "Petaco S.A.", "Zero Time", GAME_SUPPORTS_SAVE ) +GAME( 1979, starfght, galaxian, galaxian, swarm, galaxian, ROT90, "Jeutel", "Star Fighter", GAME_SUPPORTS_SAVE ) +GAME( 1979, galaxbsf, galaxian, galaxian, galaxian, galaxian, ROT90, "bootleg", "Galaxian (bootleg)", GAME_SUPPORTS_SAVE ) +GAME( 1980, supergx, galaxian, galaxian, superg, galaxian, ROT90, "Nichibutsu", "Super GX", GAME_NOT_WORKING | GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE ) +GAME( 19??, tst_galx, galaxian, galaxian, galaxian, galaxian, ROT90, "Test ROM", "Galaxian Test ROM", GAME_SUPPORTS_SAVE ) + +/* other games on basic galaxian hardware */ +GAME( 1981, blkhole, 0, galaxian, blkhole, galaxian, ROT90, "TDS", "Black Hole", GAME_SUPPORTS_SAVE ) +GAME( 19??, orbitron, 0, galaxian, orbitron, galaxian, ROT270, "Signatron USA", "Orbitron", GAME_SUPPORTS_SAVE ) +GAME( 1980, luctoday, 0, galaxian, luctoday, galaxian, ROT270, "Sigma", "Lucky Today",GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE ) +GAME( 19??, chewing, luctoday, galaxian, luctoday, galaxian, ROT90, "unknown", "Chewing Gum", GAME_SUPPORTS_SAVE ) +GAME( 1982, catacomb, 0, galaxian, catacomb, galaxian, ROT90, "MTM Games", "Catacomb", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE ) +GAME( 19??, omega, theend, galaxian, omega, galaxian, ROT270, "bootleg?", "Omega", GAME_SUPPORTS_SAVE ) + +/* these games require the coin lockout mechanism to be disabled */ +GAME( 1981, warofbug, 0, galaxian, warofbug, nolock, ROT90, "Armenia", "War of the Bugs or Monsterous Manouvers in a Mushroom Maze", GAME_SUPPORTS_SAVE ) +GAME( 19??, redufo, 0, galaxian, redufo, nolock, ROT90, "bootleg", "Defend the Terra Attack on the Red UFO", GAME_SUPPORTS_SAVE ) +GAME( 19??, exodus, redufo, galaxian, exodus, nolock, ROT90, "Subelectro", "Exodus (bootleg?)", GAME_SUPPORTS_SAVE ) + +/* different bullet color */ +GAME( 1982, azurian, 0, galaxian, azurian, azurian, ROT90, "Rait Electronics Ltd", "Azurian Attack", GAME_SUPPORTS_SAVE ) + +/* extra characters controlled via bank at $6002 */ +GAME( 19??, pisces, 0, galaxian, pisces, pisces, ROT90, "Subelectro", "Pisces", GAME_SUPPORTS_SAVE ) +GAME( 19??, piscesb, pisces, galaxian, piscesb, pisces, ROT90, "bootleg", "Pisces (bootleg)", GAME_SUPPORTS_SAVE ) +GAME( 19??, omni, pisces, galaxian, piscesb, pisces, ROT90, "bootleg", "Omni", GAME_SUPPORTS_SAVE ) +GAME( 1980, uniwars, 0, galaxian, superg, pisces, ROT90, "Irem", "UniWar S", GAME_SUPPORTS_SAVE ) +GAME( 1980, gteikoku, uniwars, galaxian, superg, pisces, ROT90, "Irem", "Gingateikoku No Gyakushu", GAME_SUPPORTS_SAVE ) +GAME( 1980, gteikokb, uniwars, galaxian, gteikokb, pisces, ROT270, "bootleg", "Gingateikoku No Gyakushu (bootleg set 1)", GAME_SUPPORTS_SAVE ) +GAME( 1980, gteikob2, uniwars, galaxian, gteikob2, pisces, ROT90, "bootleg", "Gingateikoku No Gyakushu (bootleg set 2)", GAME_SUPPORTS_SAVE ) +GAME( 1980, spacbatt, uniwars, galaxian, spacbatt, pisces, ROT90, "bootleg", "Space Battle (bootleg set 1)", GAME_SUPPORTS_SAVE ) +GAME( 1980, spacbat2, uniwars, galaxian, spacbatt, pisces, ROT90, "bootleg", "Space Battle (bootleg set 2)", GAME_SUPPORTS_SAVE ) +GAME( 1980, skyraidr, uniwars, galaxian, superg, pisces, ROT90, "bootleg", "Sky Raiders", GAME_SUPPORTS_SAVE ) + +/* similar to pisces, but with different video banking characteristics */ +GAME( 1981, batman2, phoenix, galaxian, batman2, batman2, ROT270, "bootleg", "Batman Part 2", GAME_SUPPORTS_SAVE ) + +/* separate tile/sprite ROMs */ +GAME( 1981, streakng, 0, pacmanbl, streakng, galaxian, ROT90, "Shoei", "Streaking", GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE ) +GAME( 1981, pacmanbl, puckman, pacmanbl, pacmanbl, nolock, ROT270, "bootleg", "Pac-Man (Galaxian hardware)", GAME_SUPPORTS_SAVE ) + +/* separate tile/sprite ROMs, plus INT instead of NMI */ +GAME( 1984, devilfsg, devilfsh, pacmanbl, devilfsg, devilfsg, ROT270, "Vision / Artic", "Devil Fish (Galaxian hardware, bootleg?)", GAME_SUPPORTS_SAVE ) + +/* sound hardware replaced with AY8910 */ +GAME( 1982, zigzag, 0, zigzag, zigzag, zigzag, ROT90, "LAX", "Zig Zag (Galaxian hardware, set 1)", GAME_SUPPORTS_SAVE ) +GAME( 1982, zigzag2, zigzag, zigzag, zigzag, zigzag, ROT90, "LAX", "Zig Zag (Galaxian hardware, set 2)", GAME_SUPPORTS_SAVE ) + +/* multi-game select via external switch */ +GAME( 1981, gmgalax, 0, gmgalax, gmgalax, gmgalax, ROT90, "bootleg", "Ghostmuncher Galaxian (bootleg)", GAME_SUPPORTS_SAVE ) + + + +/************************************* + * + * Game drivers + * Moon Cresta-derived games + * + *************************************/ + +/* based on Galaxian, but with altered address map for more ROM */ +GAME( 1980, mooncrst, 0, mooncrst, mooncrst, mooncrst, ROT90, "Nichibutsu", "Moon Cresta (Nichibutsu)", GAME_SUPPORTS_SAVE ) +GAME( 1980, mooncrsu, mooncrst, mooncrst, mooncrst, mooncrsu, ROT90, "Nichibutsu USA", "Moon Cresta (Nichibutsu, unencrypted)", GAME_SUPPORTS_SAVE ) +GAME( 1980, mooncrsa, mooncrst, mooncrst, mooncrsa, mooncrst, ROT90, "Nichibutsu", "Moon Cresta (Nichibutsu, old rev)", GAME_SUPPORTS_SAVE ) +GAME( 1980, mooncrsg, mooncrst, mooncrst, mooncrsg, mooncrsu, ROT90, "Gremlin", "Moon Cresta (Gremlin)", GAME_SUPPORTS_SAVE ) + +/* straight Moon Cresta ripoffs on basic mooncrst hardware */ +GAME( 1980, mooncrsb, mooncrst, mooncrst, mooncrsa, mooncrsu, ROT90, "bootleg", "Moon Cresta (bootleg set 1)", GAME_SUPPORTS_SAVE ) +GAME( 1980, mooncrs2, mooncrst, mooncrst, mooncrsa, mooncrsu, ROT90, "Nichibutsu", "Moon Cresta (bootleg set 2)", GAME_SUPPORTS_SAVE ) +GAME( 1980, mooncrs3, mooncrst, mooncrst, mooncrst, mooncrsu, ROT90, "bootleg", "Moon Cresta (bootleg set 3)", GAME_SUPPORTS_SAVE ) /* Jeutel bootleg, similar to bootleg set 2 */ +GAME( 1980, fantazia, mooncrst, mooncrst, fantazia, mooncrsu, ROT90, "Subelectro", "Fantazia (bootleg?)", GAME_SUPPORTS_SAVE ) +GAME( 1980, eagle, mooncrst, mooncrst, mooncrsa, mooncrsu, ROT90, "Centuri", "Eagle (set 1)", GAME_SUPPORTS_SAVE ) +GAME( 1980, eagle2, mooncrst, mooncrst, eagle2, mooncrsu, ROT90, "Centuri", "Eagle (set 2)", GAME_SUPPORTS_SAVE ) +GAME( 1980, eagle3, mooncrst, mooncrst, mooncrsa, mooncrsu, ROT90, "Centuri", "Eagle (set 3)", GAME_SUPPORTS_SAVE ) +GAME( 1981?,spctbird, mooncrst, mooncrst, eagle2, mooncrsu, ROT90, "Fortrek", "Space Thunderbird", GAME_SUPPORTS_SAVE ) +GAME( 1980?,smooncrs, mooncrst, mooncrst, smooncrs, mooncrsu, ROT90, "Gremlin", "Super Moon Cresta", GAME_SUPPORTS_SAVE ) +GAME( 198?, mooncmw, mooncrst, mooncrst, mooncrsa, mooncrsu, ROT90, "bootleg", "Moon War (Moon Cresta bootleg)", GAME_SUPPORTS_SAVE ) +// The boards were marked 'Space Dragon' although this doesn't appear in the games. +GAME( 1980, spcdrag, mooncrst, mooncrst, smooncrs, mooncrsu, ROT90, "bootleg", "Space Dragon (Moon Cresta bootleg, set 1)", GAME_SUPPORTS_SAVE ) +GAME( 1980, spcdraga, mooncrst, mooncrst, smooncrs, mooncrsu, ROT90, "bootleg", "Space Dragon (Moon Cresta bootleg, set 2)", GAME_SUPPORTS_SAVE ) +GAME( 1980, mooncrgx, mooncrst, galaxian, mooncrgx, mooncrgx, ROT270, "bootleg", "Moon Cresta (Galaxian hardware)", GAME_SUPPORTS_SAVE ) +GAME( 1980, moonqsr, 0, mooncrst, moonqsr, moonqsr, ROT90, "Nichibutsu", "Moon Quasar", GAME_SUPPORTS_SAVE ) +GAME( 1980, moonal2, galaxian, mooncrst, moonal2, galaxian, ROT90, "Nichibutsu", "Moon Alien Part 2", GAME_SUPPORTS_SAVE ) +GAME( 1980, moonal2b, galaxian, mooncrst, moonal2, galaxian, ROT90, "Nichibutsu", "Moon Alien Part 2 (older version)", GAME_SUPPORTS_SAVE ) + +/* other games on basic mooncrst hardware */ +GAME( 1982, skybase, 0, mooncrst, skybase, skybase, ROT90, "Omori Electric Co., Ltd.", "Sky Base", GAME_SUPPORTS_SAVE ) + +/* extra ROMs, protection, and sound hardware replaced with AY8910 */ +GAME( 1981, jumpbug, 0, jumpbug, jumpbug, jumpbug, ROT90, "Rock-ola", "Jump Bug", GAME_SUPPORTS_SAVE ) +GAME( 1981, jumpbugb, jumpbug, jumpbug, jumpbug, jumpbug, ROT90, "bootleg", "Jump Bug (bootleg)", GAME_SUPPORTS_SAVE ) +GAME( 1983, levers, 0, jumpbug, levers, jumpbug, ROT90, "Rock-ola", "Levers", GAME_SUPPORTS_SAVE ) + +/* 2nd CPU driving AY8910 for sound */ +GAME( 1982, checkman, 0, checkman, checkman, checkman, ROT90, "Zilec-Zenitone", "Check Man", GAME_SUPPORTS_SAVE ) +GAME( 1982, checkmaj, checkman, checkmaj, checkmaj, checkmaj, ROT90, "Jaleco", "Check Man (Japan)", GAME_SUPPORTS_SAVE ) +GAME( 1983, dingo, 0, checkmaj, dingo, dingo, ROT90, "Ashby Computers and Graphics LTD. (Jaleco license)", "Dingo", GAME_SUPPORTS_SAVE ) +GAME( 1983, dingoe, dingo, checkman, dingo, dingoe, ROT90, "Ashby Computers and Graphics LTD.", "Dingo (encrypted)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) + +/* Crazy Climber sound plus AY8910 instead of galaxian sound, plus INT instead of NMI */ +GAME( 1981, mshuttle, 0, mshuttle, mshuttle, mshuttle, ROT0, "Nichibutsu", "Moon Shuttle (US?)", GAME_SUPPORTS_SAVE ) +GAME( 1981, mshuttlj, mshuttle, mshuttle, mshuttle, mshuttlj, ROT0, "Nichibutsu", "Moon Shuttle (Japan)", GAME_SUPPORTS_SAVE ) +GAME( 1981, mshutlj2, mshuttle, mshuttle, mshuttle, mshuttlj, ROT0, "Nichibutsu", "Moon Shuttle (Japan set 2)", GAME_SUPPORTS_SAVE ) + +/* 2nd CPU driving DAC for sound */ +GAME( 1980, kingball, 0, kingball, kingball, kingball, ROT90, "Namco", "King & Balloon (US)", GAME_SUPPORTS_SAVE ) +GAME( 1980, kingbalj, kingball, kingball, kingball, kingball, ROT90, "Namco", "King & Balloon (Japan)", GAME_SUPPORTS_SAVE ) + + + +/************************************* + * + * Game drivers + * Konami games + * + *************************************/ + +/* Frogger based hardware: 2nd Z80, AY-8910A, 2 8255 PPI for I/O, custom background */ +GAME( 1981, frogger, 0, frogger, frogger, frogger, ROT90, "Konami", "Frogger", GAME_SUPPORTS_SAVE ) +GAME( 1981, frogseg1, frogger, frogger, frogger, frogger, ROT90, "[Konami] (Sega license)", "Frogger (Sega set 1)", GAME_SUPPORTS_SAVE ) +GAME( 1981, frogseg2, frogger, frogger, frogger, frogger, ROT90, "[Konami] (Sega license)", "Frogger (Sega set 2)", GAME_SUPPORTS_SAVE ) +GAME( 1981, froggrmc, frogger, froggrmc, froggrmc, froggrmc, ROT90, "[Konami] (Sega license)", "Frogger (Moon Cresta hardware)", GAME_SUPPORTS_SAVE ) +GAME( 1981, froggers, frogger, froggers, frogger, froggers, ROT90, "bootleg", "Frog", GAME_SUPPORTS_SAVE ) +GAME( 1981, frogf, frogger, frogf, frogger, froggers, ROT90, "Falcon", "Frog (Falcon bootleg)", GAME_SUPPORTS_SAVE ) +GAME( 1981, frogg, frogger, galaxian, frogg, frogg, ROT90, "bootleg", "Frog (Galaxian hardware)", GAME_SUPPORTS_SAVE ) + + +/* Turtles based hardware */ +GAME( 1981, turtles, 0, turtles, turtles, turtles, ROT90, "[Konami] (Stern license)", "Turtles", GAME_SUPPORTS_SAVE ) +GAME( 1981, turpin, turtles, turtles, turpin, turtles, ROT90, "[Konami] (Sega license)", "Turpin", GAME_SUPPORTS_SAVE ) +GAME( 1981, 600, turtles, turtles, turtles, turtles, ROT90, "Konami", "600", GAME_SUPPORTS_SAVE ) + +GAME( 1981, amidar, 0, turtles, amidar, turtles, ROT90, "Konami", "Amidar", GAME_SUPPORTS_SAVE ) +GAME( 1982, amidaru, amidar, turtles, amidaru, turtles, ROT90, "Konami (Stern license)", "Amidar (Stern)", GAME_SUPPORTS_SAVE ) +GAME( 1982, amidaro, amidar, turtles, amidaro, turtles, ROT90, "Konami (Olympia license)", "Amidar (Olympia)", GAME_SUPPORTS_SAVE ) +GAME( 1982, amidarb, amidar, turtles, amidaru, turtles, ROT90, "bootleg", "Amidar (Bootleg)", GAME_SUPPORTS_SAVE ) /* Simular to Amigo bootleg */ +GAME( 1982, amigo, amidar, turtles, amidaru, turtles, ROT90, "bootleg", "Amigo", GAME_SUPPORTS_SAVE ) +GAME( 1982, amidars, amidar, theend, amidars, scramble, ROT90, "Konami", "Amidar (Scramble hardware)", GAME_SUPPORTS_SAVE ) + + +/* The End/Scramble based hardware */ +GAME( 1980, theend, 0, theend, theend, theend, ROT90, "Konami", "The End", GAME_SUPPORTS_SAVE ) +GAME( 1980, theends, theend, theend, theend, theend, ROT90, "[Konami] (Stern license)", "The End (Stern)", GAME_SUPPORTS_SAVE ) + +GAME( 1981, scramble, 0, theend, scramble, scramble, ROT90, "Konami", "Scramble", GAME_SUPPORTS_SAVE ) +GAME( 1981, scrambls, scramble, theend, scramble, scramble, ROT90, "[Konami] (Stern license)", "Scramble (Stern)", GAME_SUPPORTS_SAVE ) +GAME( 1981, strfbomb, scramble, theend, strfbomb, scramble, ROT90, "Omni", "Strafe Bomb", GAME_SUPPORTS_SAVE ) +GAME( 1981, explorer, scramble, explorer, explorer, explorer, ROT90, "bootleg", "Explorer", GAME_SUPPORTS_SAVE ) + +GAME( 1981, atlantis, 0, theend, atlantis, atlantis, ROT90, "Comsoft", "Battle of Atlantis (set 1)", GAME_SUPPORTS_SAVE ) +GAME( 1981, atlants2, atlantis, theend, atlantis, atlantis, ROT90, "Comsoft", "Battle of Atlantis (set 2)", GAME_SUPPORTS_SAVE ) + +/* Scorpion hardware; based on Scramble but with a 3rd AY-8910 and a speech chip */ +GAME( 1982, scorpion, 0, scorpion, scorpion, scorpion, ROT90, "Zaccaria", "Scorpion (set 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE) +GAME( 1982, scrpiona, scorpion, scorpion, scorpion, scorpion, ROT90, "Zaccaria", "Scorpion (set 2)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE) +GAME( 1982, scrpionb, scorpion, scorpion, scorpion, scorpion, ROT90, "Zaccaria", "Scorpion (set 3)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE) +GAME( 19??, scorpnmc, scorpion, mooncrst, scorpnmc, scorpnmc, ROT90, "Dorneer", "Scorpion (Moon Cresta hardware)", GAME_SUPPORTS_SAVE ) + +/* SF-X hardware; based on Scramble with extra Z80 and 8255 driving a DAC-based sample player */ +GAME( 1983, sfx, 0, sfx, sfx, sfx, ORIENTATION_FLIP_X, "Nichibutsu", "SF-X", GAME_SUPPORTS_SAVE ) +GAME( 1983, skelagon, sfx, sfx, sfx, sfx, ORIENTATION_FLIP_X, "Nichibutsu USA", "Skelagon", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE) +GAME( 198?, monsterz, 0, sfx, sfx, sfx, ORIENTATION_FLIP_X, "Nihon", "Monster Zero", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) + + +/* scobra */ +GAME( 1981, scobra, 0, scobra, scobra, scobra, ROT90, "Konami", "Super Cobra", GAME_SUPPORTS_SAVE ) +GAME( 1981, scobras, scobra, scobra, scobras, scobra, ROT90, "[Konami] (Stern license)", "Super Cobra (Stern)", GAME_SUPPORTS_SAVE ) +GAME( 1981, scobrase, scobra, scobra, scobras, scobra, ROT90, "[Konami] (Sega license)", "Super Cobra (Sega)", GAME_SUPPORTS_SAVE ) +GAME( 1981, scobrab, scobra, scobra, scobras, scobra, ROT90, "bootleg", "Super Cobra (bootleg)", GAME_SUPPORTS_SAVE ) + +GAME( 1982, losttomb, 0, scobra, losttomb, losttomb, ROT90, "Stern", "Lost Tomb (easy)", GAME_SUPPORTS_SAVE ) +GAME( 1982, losttmbh, losttomb, scobra, losttomb, losttomb, ROT90, "Stern", "Lost Tomb (hard)", GAME_SUPPORTS_SAVE ) + +GAME( 1981, armorcar, 0, scobra, armorcar, scobra, ROT90, "Stern", "Armored Car (set 1)", GAME_SUPPORTS_SAVE ) +GAME( 1981, armorca2, armorcar, scobra, armorcar, scobra, ROT90, "Stern", "Armored Car (set 2)", GAME_SUPPORTS_SAVE ) + +GAME( 1982, tazmania, 0, scobra, tazmania, scobra, ROT90, "Stern", "Tazz-Mania (set 1)", GAME_SUPPORTS_SAVE ) + +GAME( 1982, anteater, 0, scobra, anteater, anteater, ROT90, "[Stern] (Tago license)", "Anteater", GAME_SUPPORTS_SAVE ) + + + + +/* currently in galaxold.c and should be moved here */ +//GAME( 1981, 4in1, 0, 4in1, 4in1, 4in1, ROT90, "Armenia / Food and Fun", "4 Fun in 1", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) +//GAME( 1982, bagmanmc, bagman, bagmanmc, bagmanmc, galaxian, ROT90, "bootleg", "Bagman (Moon Cresta hardware)", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE ) +//GAME( 1982, dkongjrm, dkongjr, dkongjrm, dkongjrm, galaxian, ROT90, "bootleg", "Donkey Kong Jr. (Moon Cresta hardware)", GAME_WRONG_COLORS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) +//GAME( 1981, rockclim, 0, rockclim, rockclim, galaxian, ROT180, "Taito", "Rock Climber", GAME_SUPPORTS_SAVE ) +//GAME( 1983, ozon1, 0, ozon1, ozon1, galaxian, ROT90, "Proma", "Ozon I", GAME_SUPPORTS_SAVE ) +//GAME( 1983, ladybugg, ladybug, galaxian/*batman2*/, ladybugg, ladybugg, ROT270, "bootleg", "Ladybug (bootleg on Galaxian hardware)", GAME_SUPPORTS_SAVE ) +//GAME( 1980, vpool, hustler, mooncrst, vpool, galaxian, ROT90, "bootleg", "Video Pool (bootleg on Moon Cresta hardware)", GAME_SUPPORTS_SAVE ) +//GAME( 1984, drivfrcg, drivfrcp, drivfrcg, drivfrcg, galaxian, ROT90, "Shinkai Inc. (Magic Eletronics USA licence)", "Driving Force (Galaxian conversion)", GAME_SUPPORTS_SAVE ) +//GAME( 1985, drivfrcb, drivfrcp, drivfrcg, drivfrcg, galaxian, ROT90, "bootleg", "Driving Force (Galaxian conversion bootleg)", GAME_SUPPORTS_SAVE ) +//GAME( 1983, bongo, 0, bongo, bongo, galaxian, ROT90, "Jetsoft", "Bongo", GAME_SUPPORTS_SAVE ) +//GAME( 1983, hunchbkg, hunchbak, hunchbkg, hunchbkg, galaxian, ROT90, "Century Electronics", "Hunchback (Galaxian hardware)", GAME_SUPPORTS_SAVE ) +//GAME( 1983, harem, 0, harem, harem, galaxian, ROT90, "I.G.R.", "Harem", GAME_NO_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) +//GAME( 1982, tazzmang, tazmania, tazzmang, tazzmang, galaxian, ROT90, "bootleg", "Tazz-Mania (Galaxian Hardware)", GAME_SUPPORTS_SAVE ) +//GAME( 1986, racknrol, 0, racknrol, racknrol, galaxian, ROT0, "Status (Shinkai License)", "Rack + Roll", GAME_SUPPORTS_SAVE ) +//GAME( 1986, hexpool, racknrol, racknrol, racknrol, galaxian, ROT90, "Shinkai", "Hex Pool (Shinkai)", GAME_SUPPORTS_SAVE ) +//GAME( 1985, hexpoola, racknrol, hexpoola, racknrol, galaxian, ROT90, "Senko", "Hex Pool (Senko)", GAME_SUPPORTS_SAVE ) +//GAME( 1985, trvchlng, 0, racknrol, trvchlng, galaxian, ROT90, "Joyland (Senko License)", "Trivia Challenge", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) +//GAME( 1981, ckongg, 0, ckongg , ckongg, galaxian, ROT90, "bootleg", "Crazy Kong (galaxian)", GAME_SUPPORTS_SAVE ) +//GAME( 1981, kkgalax, ckongg, ckongg , ckongg, galaxian, ROT90, "bootleg", "Crazy Kong (bootleg on Galaxian hardware, set 2)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) // set was marked as 'King Kong on Galaxian' +//GAME( 19??, porter, 0, mooncrst, porter, mooncrst, ROT90, "[Nova Games Ltd.] (bootleg)", "Port Man (bootleg on Moon Cresta hardware)", GAME_IMPERFECT_GRAPHICS ) // missing GFX bank switch! + +/* currently in scramble.c and should be moved here */ +//GAME( 1982, triplep, 0, theend /*triplep*/, triplep, scramble_ppi, ROT90, "KKI", "Triple Punch", GAME_SUPPORTS_SAVE ) +//GAME( 1982, knockout, triplep, theend /*triplep*/, triplep, scramble_ppi, ROT90, "KKK", "Knock Out!!", GAME_SUPPORTS_SAVE ) +//GAME( 1981, mariner, 0, theend /*mariner*/, scramble, mariner, ROT90, "Amenip", "Mariner", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE) +//GAME( 1981, 800fath, mariner, theend /*mariner*/, scramble, mariner, ROT90, "Amenip (US Billiards Inc. license)", "800 Fathoms", GAME_SUPPORTS_SAVE ) +//GAME( 1981, ckongs, ckong, theend /*ckongs*/, ckongs, ckongs, ROT90, "bootleg", "Crazy Kong (Scramble hardware)", GAME_SUPPORTS_SAVE ) +//GAME( 1981, mars, 0, theend /*mars*/, mars, mars, ROT90, "Artic", "Mars", GAME_SUPPORTS_SAVE ) +//GAME( 1982, devilfsh, 0, theend /*devilfsh*/, devilfsh, devilfsh, ROT90, "Artic", "Devil Fish", GAME_SUPPORTS_SAVE ) +//GAME( 1983, newsin7, 0, theend /*newsin7*/, newsin7, mars, ROT90, "ATW USA, Inc.", "New Sinbad 7", GAME_SUPPORTS_SAVE ) +//GAME( 1984, mrkougar, 0, theend /*mrkougar*/, mrkougar, mrkougar, ROT90, "ATW", "Mr. Kougar", GAME_SUPPORTS_SAVE ) +//GAME( 1983, mrkougr2, mrkougar, theend /*mrkougar*/, mrkougar, mrkougar, ROT90, "ATW", "Mr. Kougar (earlier)", GAME_SUPPORTS_SAVE ) +//GAME( 1983, mrkougb, mrkougar, theend /*mrkougb*/, mrkougar, mrkougb, ROT90, "bootleg", "Mr. Kougar (bootleg)", GAME_SUPPORTS_SAVE ) +//GAME( 1983, mrkougb2, mrkougar, theend /*mrkougb*/, mrkougar, mrkougb, ROT90, "bootleg", "Mr. Kougar (bootleg Set 2)", GAME_SUPPORTS_SAVE ) +//GAME( 1982, hotshock, 0, theend /*hotshock*/, hotshock, hotshock, ROT90, "E.G. Felaco", "Hot Shocker", GAME_SUPPORTS_SAVE ) +//GAME( 1982, conquer, 0, theend /*hotshock*/, hotshock, 0, ROT90, "", "Conquer", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE) +//GAME( 1983, hunchbks, hunchbak, theend /*hunchbks*/, hunchbks, scramble_ppi, ROT90, "Century Electronics", "Hunchback (Scramble hardware)", GAME_SUPPORTS_SAVE ) +//GAME( 1984, hncholms, huncholy, theend /*hncholms*/, hncholms, scramble_ppi, ROT90, "Century Electronics", "Hunchback Olympic (Scramble hardware)", GAME_SUPPORTS_SAVE ) +//GAME( 1983, cavelon, 0, theend /*cavelon*/, cavelon, cavelon, ROT90, "Jetsoft", "Cavelon", GAME_SUPPORTS_SAVE ) +//GAME( 198?, mimonscr, mimonkey, theend /*mimonscr*/, mimonscr, mimonscr, ROT90, "bootleg", "Mighty Monkey (bootleg on Scramble hardware)", GAME_SUPPORTS_SAVE ) +//GAME( 1983, ad2083, 0, theend /*ad2083*/, ad2083, ad2083, ROT90, "Midcoin", "A. D. 2083", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE) +//GAME( 1981, turpins, turtles, turtles, turpins, 0, ROT90, "[Sega] (bootleg)", "Turpin (bootleg on Scramble hardware)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) // haven't hooked up the sound CPU yet + +/* currently in scobra.c and should be moved here */ +//GAME( 1981, stratgyx, 0, scobra/*stratgyx*/, stratgyx, stratgyx, ROT0, "Konami", "Strategy X", GAME_SUPPORTS_SAVE ) +//GAME( 1981, stratgys, stratgyx, scobra/*stratgyx*/, stratgyx, stratgyx, ROT0, "[Konami] (Stern license)", "Strategy X (Stern)", GAME_SUPPORTS_SAVE ) +//GAME( 1981, moonwar, 0, scobra/*moonwar*/, moonwar, moonwar, ROT90, "Stern", "Moonwar", GAME_SUPPORTS_SAVE ) +//GAME( 1981, moonwara, moonwar, scobra/*moonwar*/, moonwara, moonwar, ROT90, "Stern", "Moonwar (older)", GAME_SUPPORTS_SAVE ) +//GAME( 1984, spdcoin, 0, scobra, spdcoin, scramble_ppi, ROT90, "Stern", "Speed Coin (prototype)", GAME_SUPPORTS_SAVE ) +//GAME( 1982, darkplnt, 0, scobra/*darkplnt*/, darkplnt, darkplnt, ROT180, "Stern", "Dark Planet", GAME_SUPPORTS_SAVE ) +//GAME( 1982, tazmani2, tazmania, scobra/*type2*/, tazmania, tazmani2, ROT90, "Stern", "Tazz-Mania (set 2)", GAME_SUPPORTS_SAVE ) +//GAME( 1982, calipso, 0, scobra/*calipso*/, calipso, scobra, ROT90, "[Stern] (Tago license)", "Calipso", GAME_SUPPORTS_SAVE ) +//GAME( 1983, anteatg, anteater, scobra/*anteatg*/, anteatg, scramble_ppi, ROT90, "TV-Tuning (F.E.G. license)", "Ameisenbaer (German)", GAME_SUPPORTS_SAVE ) +//GAME( 1983, anteatgb, anteater, scobra/*anteatgb*/, anteatgb, scramble_ppi, ROT90, "Free Enterprise Games", "The Anteater (UK)", GAME_SUPPORTS_SAVE ) +//GAME( 1982, rescue, 0, scobra/*rescue*/, rescue, rescue, ROT90, "Stern", "Rescue", GAME_SUPPORTS_SAVE ) +//GAME( 1982, aponow, rescue, scobra/*rescue*/, rescue, rescue, ROT90, "bootleg", "Apocaljpse Now", GAME_SUPPORTS_SAVE ) +//GAME( 1983, minefld, 0, scobra/*minefld*/, minefld, minefld, ROT90, "Stern", "Minefield", GAME_SUPPORTS_SAVE ) +//GAME( 198?, superbon, 0, scobra, superbon, superbon, ROT90, "bootleg", "Super Bond", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE ) +//GAME( 1981, hustler, 0, scobra/*hustler*/, hustler, hustler, ROT90, "Konami", "Video Hustler", GAME_SUPPORTS_SAVE ) +//GAME( 1981, billiard, hustler, scobra/*hustler*/, hustler, billiard, ROT90, "bootleg", "The Billiards", GAME_SUPPORTS_SAVE ) +//GAME( 1981, hustlerb, hustler, scobra/*hustlerb*/, hustler, scramble_ppi, ROT90, "bootleg", "Video Hustler (bootleg)", GAME_SUPPORTS_SAVE ) +//GAME( 198?, mimonkey, 0, scobra/*mimonkey*/, mimonkey, mimonkey, ROT90, "Universal Video Games", "Mighty Monkey", GAME_SUPPORTS_SAVE ) +//GAME( 198?, mimonsco, mimonkey, scobra/*mimonkey*/, mimonsco, mimonsco, ROT90, "bootleg", "Mighty Monkey (bootleg on Super Cobra hardware)", GAME_SUPPORTS_SAVE ) + +/* currently in dambustr.c and should be moved here */ +//GAME( 1981, dambustr, 0, dambustr, dambustr, dambustr, ROT90, "South West Research", "Dambusters (US)", 0 ) +//GAME( 1981, dambust, dambustr, dambustr, dambustr, dambustr, ROT90, "South West Research", "Dambusters (UK)", 0 ) + +/* misc stuff that should eventually be moved here */ +//GAME( 1981, scramblb, scramble, scramblb, scramblb, galaxian, ROT90, "bootleg", "Scramble (Galaxian hardware)", GAME_SUPPORTS_SAVE ) +//GAME( 1981, scramb2, scramble, scramb2, scramb2, 0, ROT90, "bootleg", "Scramble (bootleg)", GAME_SUPPORTS_SAVE ) diff --git a/src/mame/drivers/scobra.c b/src/mame/drivers/scobra.c index 1fda1d57b4e..9c404e34951 100644 --- a/src/mame/drivers/scobra.c +++ b/src/mame/drivers/scobra.c @@ -350,7 +350,7 @@ static ADDRESS_MAP_START( anteatg_writemem, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x2621, 0x2621) AM_WRITE(galaxold_nmi_enable_w) AM_RANGE(0x2624, 0x2624) AM_WRITE(galaxold_stars_enable_w) AM_RANGE(0x2647, 0x2647) AM_WRITE(galaxold_flip_screen_y_w) - AM_RANGE(0x2653, 0x2653) AM_WRITE(scramble_background_enable_w) + AM_RANGE(0x2653, 0x2653) AM_WRITE(scrambold_background_enable_w) AM_RANGE(0x2702, 0x2702) AM_WRITE(galaxold_coin_counter_w) AM_RANGE(0x2736, 0x2736) AM_WRITE(galaxold_flip_screen_x_w) AM_RANGE(0x4600, 0x4fff) AM_WRITE(SMH_ROM) @@ -388,7 +388,7 @@ static ADDRESS_MAP_START( anteatgb_writemem, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x1171, 0x1171) AM_WRITE(galaxold_nmi_enable_w) AM_RANGE(0x1174, 0x1174) AM_WRITE(galaxold_stars_enable_w) AM_RANGE(0x1177, 0x1177) AM_WRITE(galaxold_flip_screen_y_w) - AM_RANGE(0x1173, 0x1173) AM_WRITE(scramble_background_enable_w) + AM_RANGE(0x1173, 0x1173) AM_WRITE(scrambold_background_enable_w) AM_RANGE(0x1172, 0x1172) AM_WRITE(galaxold_coin_counter_w) AM_RANGE(0x1176, 0x1176) AM_WRITE(galaxold_flip_screen_x_w) AM_RANGE(0x4600, 0x4fff) AM_WRITE(SMH_ROM) @@ -1404,9 +1404,9 @@ static MACHINE_DRIVER_START( type1 ) 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) + MDRV_PALETTE_INIT(scrambold) + MDRV_VIDEO_START(scrambold) + MDRV_VIDEO_UPDATE(galaxold) /* sound hardware */ MDRV_SPEAKER_STANDARD_MONO("mono") @@ -1428,7 +1428,7 @@ static MACHINE_DRIVER_START( armorcar ) /* video hardware */ MDRV_PALETTE_LENGTH(32+64+2) /* 32 for characters, 64 for stars, 2 for bullets */ - MDRV_PALETTE_INIT(galaxian) + MDRV_PALETTE_INIT(galaxold) MDRV_VIDEO_START(theend) MACHINE_DRIVER_END @@ -1561,9 +1561,9 @@ static MACHINE_DRIVER_START( hustler ) 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) + MDRV_PALETTE_INIT(galaxold) + MDRV_VIDEO_START(scrambold) + MDRV_VIDEO_UPDATE(galaxold) /* sound hardware */ MDRV_SPEAKER_STANDARD_MONO("mono") @@ -2221,29 +2221,19 @@ ROM_START( mimonsco ) 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 ) diff --git a/src/mame/drivers/scramble.c b/src/mame/drivers/scramble.c index 4c7ebfbdc6f..139206fc17d 100644 --- a/src/mame/drivers/scramble.c +++ b/src/mame/drivers/scramble.c @@ -33,50 +33,6 @@ Notes: #include "galaxold.h" -//cpu #0 (PC=00003F6C): warning - op-code execute on mapped I/O -extern int monsterz_count; -static READ8_HANDLER( monsterz_prot_r ) -{ - int pc = activecpu_get_pc(); - if(pc != 0xc5e0 && pc != 0xC604 && pc != 0xc62c) - printf("%X\n",pc); - - if( !(monsterz_count % 0x200) ) - { - - UINT8 ret = memory_region(REGION_CPU1)[0x19 - monsterz_count / 0x200]; - - printf("count = %X\n",monsterz_count ); - - ret ^= memory_region(REGION_CPU1)[0x100 + monsterz_count / 2]; - monsterz_count++; - return ret; - } - else - { - UINT8 ret; - - if(monsterz_count & 0x100) - // missing data? - ret = 0;//memory_region(REGION_CPU1)[0xc000 + monsterz_count2+ (monsterz_count / 0x200) * 0x100 + (monsterz_count % 0x200)]; - else - ret = memory_region(REGION_CPU1)[0x100 + (monsterz_count / 0x200) * 0x100 + (monsterz_count % 0x200)]; - - printf("count = %X\n",monsterz_count); - - monsterz_count++; - - if(monsterz_count == 0x200*9) - { - UINT8 *ROM = memory_region(REGION_CPU1); - memcpy(&ROM[0x3800],&ROM[0xc01f],0x800); - monsterz_count = 0; - } - - return ret; - } -} - static ADDRESS_MAP_START( scramble_readmem, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x3fff) AM_READ(SMH_ROM) @@ -379,100 +335,6 @@ static ADDRESS_MAP_START( hunchbks_writemem, ADDRESS_SPACE_PROGRAM, 8 ) ADDRESS_MAP_END -static ADDRESS_MAP_START( sfx_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_READ(SMH_ROM) - AM_RANGE(0x4000, 0x4bff) AM_READ(SMH_RAM) - AM_RANGE(0x4c00, 0x4fff) AM_READ(galaxold_videoram_r) /* mirror */ - AM_RANGE(0x5000, 0x50ff) AM_READ(SMH_RAM) - AM_RANGE(0x7000, 0x7fff) AM_READ(SMH_ROM) - AM_RANGE(0x8100, 0x8103) AM_READ(ppi8255_0_r) - AM_RANGE(0x8200, 0x8203) AM_READ(ppi8255_1_r) - AM_RANGE(0xc000, 0xefff) AM_READ(SMH_ROM) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( sfx_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x4000, 0x47ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x4800, 0x4bff) AM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram) - AM_RANGE(0x4c00, 0x4fff) AM_WRITE(galaxold_videoram_w) /* mirror address */ - AM_RANGE(0x5000, 0x503f) AM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) - AM_RANGE(0x5040, 0x505f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) - AM_RANGE(0x5060, 0x507f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_bulletsram) AM_SIZE(&galaxold_bulletsram_size) - AM_RANGE(0x5080, 0x50ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x6800, 0x6800) AM_WRITE(scramble_background_red_w) - AM_RANGE(0x6801, 0x6801) AM_WRITE(galaxold_nmi_enable_w) - AM_RANGE(0x6802, 0x6802) AM_WRITE(galaxold_coin_counter_w) - AM_RANGE(0x6803, 0x6803) AM_WRITE(scramble_background_blue_w) - AM_RANGE(0x6804, 0x6804) AM_WRITE(galaxold_stars_enable_w) - AM_RANGE(0x6805, 0x6805) AM_WRITE(scramble_background_green_w) - AM_RANGE(0x6806, 0x6806) AM_WRITE(galaxold_flip_screen_x_w) - AM_RANGE(0x6807, 0x6807) AM_WRITE(galaxold_flip_screen_y_w) - AM_RANGE(0x7000, 0x7fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x8100, 0x8103) AM_WRITE(ppi8255_0_w) - AM_RANGE(0x8200, 0x8203) AM_WRITE(ppi8255_1_w) - AM_RANGE(0xc000, 0xefff) AM_WRITE(SMH_ROM) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( sfx_sample_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x5fff) AM_READ(SMH_ROM) - AM_RANGE(0x8000, 0x83ff) AM_READ(SMH_RAM) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( sfx_sample_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x5fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x8000, 0x83ff) AM_WRITE(SMH_RAM) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( sfx_sample_readport, ADDRESS_SPACE_IO, 8 ) - ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0x04, 0x07) AM_READ(ppi8255_2_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( sfx_sample_writeport, ADDRESS_SPACE_IO, 8 ) - ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0x04, 0x07) AM_WRITE(ppi8255_2_w) - AM_RANGE(0x10, 0x10) AM_WRITE(DAC_0_signed_data_w) -ADDRESS_MAP_END - - -static READ8_HANDLER( monsterz_sound_status_r ) -{ - return 0x80; -} - -static ADDRESS_MAP_START( monsterz_map, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x37ff) AM_ROM - AM_RANGE(0x3800, 0x3fff) AM_RAM - AM_RANGE(0x4000, 0x47ff) AM_RAM - AM_RANGE(0x4800, 0x4bff) AM_READWRITE(galaxold_videoram_r, galaxold_videoram_w) AM_BASE(&galaxold_videoram) - AM_RANGE(0x4c00, 0x4fff) AM_READWRITE(galaxold_videoram_r, galaxold_videoram_w) /* mirror address */ - AM_RANGE(0x5000, 0x503f) AM_RAM AM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) - AM_RANGE(0x5040, 0x505f) AM_RAM AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) - AM_RANGE(0x5060, 0x507f) AM_RAM AM_BASE(&galaxold_bulletsram) AM_SIZE(&galaxold_bulletsram_size) - AM_RANGE(0x7000, 0x7000) AM_READ(watchdog_reset_r) - AM_RANGE(0x8100, 0x8103) AM_READWRITE(ppi8255_0_r, ppi8255_0_w) - AM_RANGE(0x8200, 0x8203) AM_READWRITE(ppi8255_1_r, ppi8255_1_w) - AM_RANGE(0x6800, 0x6800) AM_WRITE(scramble_background_red_w) - AM_RANGE(0x6801, 0x6801) AM_WRITE(galaxold_nmi_enable_w) - AM_RANGE(0x6802, 0x6802) AM_WRITE(galaxold_coin_counter_w) - AM_RANGE(0x6803, 0x6803) AM_WRITE(scramble_background_blue_w) - AM_RANGE(0x6804, 0x6804) AM_WRITE(galaxold_stars_enable_w) - AM_RANGE(0x6805, 0x6805) AM_WRITE(scramble_background_green_w) - AM_RANGE(0x6806, 0x6806) AM_WRITE(galaxold_flip_screen_x_w) - AM_RANGE(0x6807, 0x6807) AM_WRITE(galaxold_flip_screen_y_w) - AM_RANGE(0xc000, 0xd7ff) AM_ROM - AM_RANGE(0xd800, 0xd800) AM_READ(monsterz_prot_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( monsterz_sound_io_map, ADDRESS_SPACE_IO, 8 ) - AM_RANGE(0x04, 0x04) AM_READ(monsterz_sound_status_r) - AM_RANGE(0x10, 0x10) AM_WRITE(AY8910_control_port_0_w) - AM_RANGE(0x20, 0x20) AM_READWRITE(AY8910_read_port_0_r, AY8910_write_port_0_w) - AM_RANGE(0x40, 0x40) AM_WRITE(AY8910_control_port_1_w) - AM_RANGE(0x80, 0x80) AM_READWRITE(AY8910_read_port_1_r, AY8910_write_port_1_w) -ADDRESS_MAP_END - - static ADDRESS_MAP_START( mimonscr_readmem, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x3fff) AM_READ(SMH_ROM) AM_RANGE(0x4000, 0x43ff) AM_READ(galaxold_videoram_r) /* mirror address?, probably not */ @@ -551,10 +413,10 @@ static ADDRESS_MAP_START( ad2083_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x6800, 0x6800) AM_WRITE(galaxold_coin_counter_2_w) AM_RANGE(0x6801, 0x6801) AM_WRITE(galaxold_nmi_enable_w) AM_RANGE(0x6802, 0x6802) AM_WRITE(galaxold_coin_counter_0_w) - AM_RANGE(0x6803, 0x6803) AM_WRITE(scramble_background_blue_w) + AM_RANGE(0x6803, 0x6803) AM_WRITE(scrambold_background_blue_w) AM_RANGE(0x6805, 0x6805) AM_WRITE(galaxold_coin_counter_1_w) - AM_RANGE(0x6806, 0x6806) AM_WRITE(scramble_background_red_w) - AM_RANGE(0x6807, 0x6807) AM_WRITE(scramble_background_green_w) + AM_RANGE(0x6806, 0x6806) AM_WRITE(scrambold_background_red_w) + AM_RANGE(0x6807, 0x6807) AM_WRITE(scrambold_background_green_w) AM_RANGE(0x8000, 0x8000) AM_WRITE(soundlatch_w) AM_RANGE(0x9000, 0x9000) AM_WRITE(hotshock_sh_irqtrigger_w) AM_RANGE(0x7000, 0x7000) AM_READ(watchdog_reset_r) @@ -2009,9 +1871,9 @@ static MACHINE_DRIVER_START( scramble ) MDRV_GFXDECODE(scramble) MDRV_PALETTE_LENGTH(32+64+2+1) /* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */ - MDRV_PALETTE_INIT(scramble) - MDRV_VIDEO_START(scramble) - MDRV_VIDEO_UPDATE(galaxian) + MDRV_PALETTE_INIT(scrambold) + MDRV_VIDEO_START(scrambold) + MDRV_VIDEO_UPDATE(galaxold) /* sound hardware */ MDRV_SPEAKER_STANDARD_MONO("mono") @@ -2080,86 +1942,11 @@ static MACHINE_DRIVER_START( theend ) /* video hardware */ MDRV_PALETTE_LENGTH(32+64+2+0) /* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */ - MDRV_PALETTE_INIT(galaxian) + MDRV_PALETTE_INIT(galaxold) MDRV_VIDEO_START(theend) MACHINE_DRIVER_END -static ADDRESS_MAP_START( frogger_sound_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x1fff) AM_READ(SMH_ROM) - AM_RANGE(0x4000, 0x43ff) AM_READ(SMH_RAM) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( frogger_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x1fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x4000, 0x43ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x6000, 0x6fff) AM_WRITE(frogger_filter_w) -ADDRESS_MAP_END - - -static ADDRESS_MAP_START( frogger_sound_readport, ADDRESS_SPACE_IO, 8 ) - ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0x40, 0x40) AM_READ(AY8910_read_port_0_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( frogger_sound_writeport, ADDRESS_SPACE_IO, 8 ) - ADDRESS_MAP_GLOBAL_MASK(0xff) - 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 const struct AY8910interface frogger_ay8910_interface = -{ - soundlatch_r, - frogger_portB_r -}; - - -static MACHINE_DRIVER_START( froggers ) - - /* basic machine hardware */ - MDRV_IMPORT_FROM(scramble) - MDRV_CPU_MODIFY("audio") - MDRV_CPU_PROGRAM_MAP(frogger_sound_readmem,frogger_sound_writemem) - MDRV_CPU_IO_MAP(frogger_sound_readport,frogger_sound_writeport) - - /* video hardware */ - MDRV_PALETTE_INIT(frogger) - MDRV_VIDEO_START(froggers) - - /* sound hardware */ - MDRV_SOUND_MODIFY("8910.1") - MDRV_SOUND_CONFIG(frogger_ay8910_interface) - MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.33) - - MDRV_SOUND_REMOVE("8910.2") -MACHINE_DRIVER_END - - -static MACHINE_DRIVER_START( frogf ) - - /* basic machine hardware */ - MDRV_IMPORT_FROM(scramble) - - MDRV_CPU_MODIFY("main") - MDRV_CPU_PROGRAM_MAP(frogf_map,0) - - MDRV_CPU_MODIFY("audio") - MDRV_CPU_PROGRAM_MAP(frogger_sound_readmem,frogger_sound_writemem) - MDRV_CPU_IO_MAP(frogger_sound_readport,frogger_sound_writeport) - - /* video hardware */ - MDRV_PALETTE_INIT(frogger) - MDRV_VIDEO_START(froggers) - - /* sound hardware */ - MDRV_SOUND_MODIFY("8910.1") - MDRV_SOUND_CONFIG(frogger_ay8910_interface) - MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.33) - - MDRV_SOUND_REMOVE("8910.2") -MACHINE_DRIVER_END - static MACHINE_DRIVER_START( mars ) /* basic machine hardware */ @@ -2169,7 +1956,7 @@ static MACHINE_DRIVER_START( mars ) /* video hardware */ MDRV_PALETTE_LENGTH(32+64+2+0) /* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */ - MDRV_PALETTE_INIT(galaxian) + MDRV_PALETTE_INIT(galaxold) MACHINE_DRIVER_END static MACHINE_DRIVER_START( devilfsh ) @@ -2182,7 +1969,7 @@ static MACHINE_DRIVER_START( devilfsh ) /* video hardware */ MDRV_GFXDECODE(devilfsh) MDRV_PALETTE_LENGTH(32+64+2+0) /* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */ - MDRV_PALETTE_INIT(galaxian) + MDRV_PALETTE_INIT(galaxold) MACHINE_DRIVER_END static MACHINE_DRIVER_START( newsin7 ) @@ -2195,7 +1982,7 @@ static MACHINE_DRIVER_START( newsin7 ) /* video hardware */ MDRV_GFXDECODE(newsin7) MDRV_PALETTE_LENGTH(32+64+2+0) /* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */ - MDRV_PALETTE_INIT(galaxian) + MDRV_PALETTE_INIT(galaxold) MDRV_VIDEO_START(newsin7) MACHINE_DRIVER_END @@ -2209,7 +1996,7 @@ static MACHINE_DRIVER_START( mrkougar ) /* video hardware */ MDRV_GFXDECODE(mrkougar) MDRV_PALETTE_LENGTH(32+64+2+0) /* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */ - MDRV_PALETTE_INIT(galaxian) + MDRV_PALETTE_INIT(galaxold) MACHINE_DRIVER_END static MACHINE_DRIVER_START( mrkougb ) @@ -2221,7 +2008,7 @@ static MACHINE_DRIVER_START( mrkougb ) /* video hardware */ MDRV_PALETTE_LENGTH(32+64+2+0) /* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */ - MDRV_PALETTE_INIT(galaxian) + MDRV_PALETTE_INIT(galaxold) MACHINE_DRIVER_END static MACHINE_DRIVER_START( ckongs ) @@ -2233,7 +2020,7 @@ static MACHINE_DRIVER_START( ckongs ) /* video hardware */ MDRV_PALETTE_LENGTH(32+64+2+0) /* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */ - MDRV_PALETTE_INIT(galaxian) + MDRV_PALETTE_INIT(galaxold) MDRV_VIDEO_START(ckongs) MACHINE_DRIVER_END @@ -2247,11 +2034,11 @@ static MACHINE_DRIVER_START( hotshock ) MDRV_CPU_MODIFY("audio") MDRV_CPU_IO_MAP(hotshock_sound_readport,hotshock_sound_writeport) - MDRV_MACHINE_RESET(galaxian) + MDRV_MACHINE_RESET(galaxold) /* video hardware */ MDRV_PALETTE_LENGTH(32+64+2+0) /* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */ - MDRV_PALETTE_INIT(galaxian) + MDRV_PALETTE_INIT(galaxold) MDRV_VIDEO_START(pisces) MDRV_SOUND_MODIFY("8910.1") @@ -2269,89 +2056,15 @@ static MACHINE_DRIVER_START( cavelon ) /* video hardware */ MDRV_PALETTE_LENGTH(32+64+2+0) /* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */ - MDRV_PALETTE_INIT(galaxian) + MDRV_PALETTE_INIT(galaxold) MDRV_VIDEO_START(ckongs) MACHINE_DRIVER_END -static MACHINE_DRIVER_START( sfx ) - - /* basic machine hardware */ - MDRV_IMPORT_FROM(scramble) - MDRV_CPU_MODIFY("main") - MDRV_CPU_PROGRAM_MAP(sfx_readmem,sfx_writemem) - - MDRV_CPU_ADD(Z80, 14318000/8) /* 1.78975 MHz */ - /* audio CPU */ - MDRV_CPU_PROGRAM_MAP(sfx_sample_readmem,sfx_sample_writemem) - MDRV_CPU_IO_MAP(sfx_sample_readport,sfx_sample_writeport) - - MDRV_MACHINE_RESET(sfx) - - /* video hardware */ - MDRV_SCREEN_MODIFY("main") - MDRV_SCREEN_VISIBLE_AREA(2*8, 30*8-1, 2*8, 30*8-1) - MDRV_PALETTE_LENGTH(32+64+2+8) /* 32 for characters, 64 for stars, 2 for bullets, 8 for background */ - MDRV_GFXDECODE(sfx) - MDRV_PALETTE_INIT(turtles) - MDRV_VIDEO_START(sfx) - - /* sound hardware */ - MDRV_SOUND_MODIFY("8910.1") - MDRV_SOUND_CONFIG(sfx_ay8910_interface_1) - MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.16) - - MDRV_SOUND_MODIFY("8910.2") - MDRV_SOUND_CONFIG(scramble_ay8910_interface_2) - MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.16) - - MDRV_SOUND_ADD(DAC, 0) - MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) -MACHINE_DRIVER_END - -static MACHINE_DRIVER_START( monsterz ) - - /* basic machine hardware */ - MDRV_IMPORT_FROM(scramble) - MDRV_CPU_MODIFY("main") - MDRV_CPU_PROGRAM_MAP(monsterz_map,0) - MDRV_CPU_PERIODIC_INT(irq0_line_hold,16*4) //? - - MDRV_CPU_MODIFY("audio") - MDRV_CPU_IO_MAP(monsterz_sound_io_map,0) - - MDRV_CPU_ADD(Z80, 14318000/8) /* 1.78975 MHz */ - /* audio CPU */ - MDRV_CPU_PROGRAM_MAP(sfx_sample_readmem,sfx_sample_writemem) - MDRV_CPU_IO_MAP(sfx_sample_readport,sfx_sample_writeport) - - MDRV_MACHINE_RESET(monsterz) - - /* video hardware */ - MDRV_SCREEN_MODIFY("main") - MDRV_SCREEN_VISIBLE_AREA(2*8, 30*8-1, 2*8, 30*8-1) - MDRV_PALETTE_LENGTH(32+64+2+8) /* 32 for characters, 64 for stars, 2 for bullets, 8 for background */ - MDRV_GFXDECODE(sfx) - MDRV_PALETTE_INIT(turtles) - MDRV_VIDEO_START(sfx) - - /* sound hardware */ - MDRV_SOUND_MODIFY("8910.1") - MDRV_SOUND_CONFIG(sfx_ay8910_interface_1) - MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.16) - - MDRV_SOUND_MODIFY("8910.2") - MDRV_SOUND_CONFIG(scramble_ay8910_interface_2) - MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.16) - - MDRV_SOUND_ADD(DAC, 0) - MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) -MACHINE_DRIVER_END - static MACHINE_DRIVER_START( mimonscr ) /* basic machine hardware */ @@ -2376,7 +2089,7 @@ static MACHINE_DRIVER_START( triplep ) /* video hardware */ MDRV_PALETTE_LENGTH(32+64+2+0) /* 32 for characters, 64 for stars, 2 for bullets */ - MDRV_PALETTE_INIT(galaxian) + MDRV_PALETTE_INIT(galaxold) /* sound hardware */ MDRV_SOUND_MODIFY("8910.1") @@ -2414,7 +2127,7 @@ static MACHINE_DRIVER_START( hunchbks ) /* video hardware */ MDRV_PALETTE_LENGTH(32+64+2+0) /* 32 for characters, 64 for stars, 2 for bullets */ - MDRV_PALETTE_INIT(galaxian) + MDRV_PALETTE_INIT(galaxold) MACHINE_DRIVER_END static MACHINE_DRIVER_START( hncholms ) @@ -2455,7 +2168,7 @@ static MACHINE_DRIVER_START( ad2083 ) MDRV_CPU_ADD(Z80, 18432000/6) /* 3.072 MHz */ MDRV_CPU_PROGRAM_MAP(ad2083_map,0) - MDRV_MACHINE_RESET(galaxian) + MDRV_MACHINE_RESET(galaxold) /* video hardware */ MDRV_SCREEN_ADD("main", RASTER) @@ -2470,7 +2183,7 @@ static MACHINE_DRIVER_START( ad2083 ) MDRV_PALETTE_INIT(turtles) MDRV_VIDEO_START(ad2083) - MDRV_VIDEO_UPDATE(galaxian) + MDRV_VIDEO_UPDATE(galaxold) /* sound hardware */ @@ -2671,72 +2384,6 @@ ROM_START( theends ) ROM_LOAD( "6331-1j.86", 0x0000, 0x0020, CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d) ) ROM_END -ROM_START( froggers ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "vid_d2.bin", 0x0000, 0x0800, CRC(c103066e) SHA1(8c2d4c825e9c4180fe70b0db18a547dc3ddc3c2c) ) - ROM_LOAD( "vid_e2.bin", 0x0800, 0x0800, CRC(f08bc094) SHA1(23ad1e57f244d6b63fd9640249dcb1eeafb8206e) ) - ROM_LOAD( "vid_f2.bin", 0x1000, 0x0800, CRC(637a2ff8) SHA1(e9b9fc692ca5d8deb9cd30d9d73ad25c8d8bafe1) ) - ROM_LOAD( "vid_h2.bin", 0x1800, 0x0800, CRC(04c027a5) SHA1(193550731513c02cad464661a1ceb230819ca70f) ) - ROM_LOAD( "vid_j2.bin", 0x2000, 0x0800, CRC(fbdfbe74) SHA1(48d5d1247d09eaea2a9a29f4ed6543d0411597aa) ) - ROM_LOAD( "vid_l2.bin", 0x2800, 0x0800, CRC(8a4389e1) SHA1(b2c74afb93927dac0d8bb24e02e0b2a069f2d3c8) ) - - ROM_REGION( 0x10000, REGION_CPU2, 0 ) - ROM_LOAD( "frogger.608", 0x0000, 0x0800, CRC(e8ab0256) SHA1(f090afcfacf5f13cdfa0dfda8e3feb868c6ce8bc) ) - ROM_LOAD( "frogger.609", 0x0800, 0x0800, CRC(7380a48f) SHA1(75582a94b696062cbdb66a4c5cf0bc0bb94f81ee) ) - ROM_LOAD( "frogger.610", 0x1000, 0x0800, CRC(31d7eb27) SHA1(2e1d34ae4da385fd7cac94707d25eeddf4604e1a) ) - - ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "frogger.607", 0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) ) - ROM_LOAD( "epr-1036.1k", 0x0800, 0x0800, CRC(658745f8) SHA1(e4e5c3e011c8a7233a36d29e10e08905873500aa) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "pr-91.6l", 0x0000, 0x0020, CRC(413703bf) SHA1(66648b2b28d3dcbda5bdb2605d1977428939dd3c) ) -ROM_END - - - -ROM_START( frogf ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "6.bin", 0x0000, 0x1000, CRC(8ff0a973) SHA1(adb1c28617d915fbcfa9190bd8589a56a8858e25) ) - ROM_LOAD( "7.bin", 0x1000, 0x1000, CRC(3087bb4b) SHA1(3fe1f68a2ad12b1cadba89d99afe574cf5342d81) ) - ROM_LOAD( "8.bin", 0x2000, 0x1000, CRC(c3869d12) SHA1(7bd95c12fc1fe1a3cfc0140b64cf76fa57aa3fb4) ) - - ROM_REGION( 0x10000, REGION_CPU2, 0 ) - ROM_LOAD( "frogger.608", 0x0000, 0x0800, CRC(e8ab0256) SHA1(f090afcfacf5f13cdfa0dfda8e3feb868c6ce8bc) ) - ROM_LOAD( "frogger.609", 0x0800, 0x0800, CRC(7380a48f) SHA1(75582a94b696062cbdb66a4c5cf0bc0bb94f81ee) ) - ROM_LOAD( "frogger.610", 0x1000, 0x0800, CRC(31d7eb27) SHA1(2e1d34ae4da385fd7cac94707d25eeddf4604e1a) ) - - ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "frogger.607", 0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) ) - ROM_LOAD( "epr-1036.1k", 0x0800, 0x0800, CRC(658745f8) SHA1(e4e5c3e011c8a7233a36d29e10e08905873500aa) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "pr-91.6l", 0x0000, 0x0020, CRC(413703bf) SHA1(66648b2b28d3dcbda5bdb2605d1977428939dd3c) ) -ROM_END - -ROM_START( amidars ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "am2d", 0x0000, 0x0800, CRC(24b79547) SHA1(eca735c6a35561a9a6ba8a20dca1e1c78ed073fc) ) - ROM_LOAD( "am2e", 0x0800, 0x0800, CRC(4c64161e) SHA1(5b2e49ff915295617671b13f15b566046a5dbc15) ) - ROM_LOAD( "am2f", 0x1000, 0x0800, CRC(b3987a72) SHA1(1d72e9ae3005029628c6f9beb6ca65afcb1f7893) ) - ROM_LOAD( "am2h", 0x1800, 0x0800, CRC(29873461) SHA1(7d0ee9a82f02163b4cc6a7097e88ae34e96ebf58) ) - ROM_LOAD( "am2j", 0x2000, 0x0800, CRC(0fdd54d8) SHA1(c32fdc8e292d91159e6c80c7033abea6404a4f2c) ) - ROM_LOAD( "am2l", 0x2800, 0x0800, CRC(5382f7ed) SHA1(425ec2c2caf404fc8ab13ee38d6567413022e1a1) ) - ROM_LOAD( "am2m", 0x3000, 0x0800, CRC(1d7109e9) SHA1(e0d24475547bbe5a94b45be6abefb84ad84d2534) ) - ROM_LOAD( "am2p", 0x3800, 0x0800, CRC(c9163ac6) SHA1(46d757180426b71c827d14a35824a248f2c787b6) ) - - ROM_REGION( 0x10000, REGION_CPU2, 0 ) - ROM_LOAD( "amidarus.5c", 0x0000, 0x1000, CRC(8ca7b750) SHA1(4f4c2915503b85abe141d717fd254ee10c9da99e) ) - ROM_LOAD( "amidarus.5d", 0x1000, 0x1000, CRC(9b5bdc0a) SHA1(84d953618c8bf510d23b42232a856ac55f1baff5) ) - - ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "2716.a6", 0x0000, 0x0800, CRC(2082ad0a) SHA1(c6014d9575e92adf09b0961c2158a779ebe940c4) ) /* Same graphics ROMs as Amigo */ - ROM_LOAD( "2716.a5", 0x0800, 0x0800, CRC(3029f94f) SHA1(3b432b42e79f8b0a7d65e197f373a04e3c92ff20) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "amidar.clr", 0x0000, 0x0020, CRC(f940dcc3) SHA1(1015e56f37c244a850a8f4bf0e36668f047fd46d) ) -ROM_END - ROM_START( triplep ) ROM_REGION( 0x10000, REGION_CPU1, 0 ) ROM_LOAD( "triplep.2g", 0x0000, 0x1000, CRC(c583a93d) SHA1(2bd4a02f945d64ef3ff814d0b8cbf32380d3f790) ) @@ -3098,37 +2745,6 @@ ROM_START( cavelon ) ROM_LOAD( "cavelon.clr", 0x0000, 0x0020, CRC(d133356b) SHA1(58db4013a9ad77107f0d462c96363d7c38d86fa2) ) ROM_END -ROM_START( sfx ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "sfx_b-0.1j", 0x0000, 0x1000, CRC(e5bc6952) SHA1(7bfb772418d738d3c49fd59c0bfc04590945977a) ) - ROM_CONTINUE( 0xe000, 0x1000 ) - ROM_LOAD( "1.1c", 0x1000, 0x1000, CRC(1b3c48e7) SHA1(2f245aaf9b4bb5d949aae18ee89a0be639e7b2df) ) - ROM_LOAD( "22.1d", 0x2000, 0x1000, CRC(ed44950d) SHA1(f8c54ff89ac461171df951d703d5571be1b8da38) ) - ROM_LOAD( "23.1e", 0x3000, 0x1000, CRC(f44a3ca0) SHA1(3917ea960329a06d3d0c447cb6a4ba710fb7ca92) ) - ROM_LOAD( "27.1a", 0x7000, 0x1000, CRC(ed86839f) SHA1(a0d8c941a6e01058eab66d5da9b49b6b5695b981) ) - ROM_LOAD( "24.1g", 0xc000, 0x1000, CRC(e6d7dc74) SHA1(c1e6d9598fb837775ee6550fea3cd4910572615e) ) - ROM_LOAD( "5.1h", 0xd000, 0x1000, CRC(d1e8d390) SHA1(f8fe9f69e6500fbcf25f8151c1070d9a1a20a38c) ) - - ROM_REGION( 0x10000, REGION_CPU2, 0 ) - ROM_LOAD( "5.5j", 0x0000, 0x1000, CRC(59028fb6) SHA1(94105b5b03c81a948a409f7ea20312bb9c79c150) ) - ROM_LOAD( "6.6j", 0x1000, 0x1000, CRC(5427670f) SHA1(ffc3f7186d0319f0fd7ed25eb97bb0db7bc107c6) ) - - ROM_REGION( 0x10000, REGION_CPU3, 0 ) /* 64k for the sample CPU */ - ROM_LOAD( "1.1j", 0x0000, 0x1000, CRC(2f172c58) SHA1(4706d55fcfad4d5a87d96a0a0187f59997ef9720) ) - ROM_LOAD( "2.2j", 0x1000, 0x1000, CRC(a6ad2f6b) SHA1(14d1a93e507c349b14a1b26408cce23f089fa33c) ) - ROM_LOAD( "3.3j", 0x2000, 0x1000, CRC(fa1274fa) SHA1(e98cb602b265b209eaa4a9b3972e47c869ff863b) ) - ROM_LOAD( "4.4j", 0x3000, 0x1000, CRC(1cd33f3a) SHA1(cf9248fd6cb56ec81d354afe032a2dea810e834b) ) - ROM_LOAD( "10.3h", 0x4000, 0x1000, CRC(b833a15b) SHA1(0d21aaa0ca5ccba89118b205a6b3b36b15663c47) ) - ROM_LOAD( "11.4h", 0x5000, 0x1000, CRC(cbd76ec2) SHA1(9434350ee93ca71efe78018b69913386353306ff) ) - - ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "28.5a", 0x0000, 0x1000, CRC(d73a8252) SHA1(59d14f41f1a806f98ee33596b84fe5aefe606944) ) - ROM_LOAD( "29.5c", 0x1000, 0x1000, CRC(1401ccf2) SHA1(5762eafd9f402330e1d4ac677f46595087716c47) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "6331.9g", 0x0000, 0x0020, CRC(ca1d9ccd) SHA1(27124759a06497c1bc1a64b6d3faa6ba924a8447) ) -ROM_END - ROM_START( skelagon ) ROM_REGION( 0x10000, REGION_CPU1, 0 ) /* first half of 36.bin is missing */ @@ -3160,50 +2776,6 @@ ROM_START( skelagon ) ROM_LOAD( "6331.9g", 0x0000, 0x0020, CRC(ca1d9ccd) SHA1(27124759a06497c1bc1a64b6d3faa6ba924a8447) ) ROM_END -/* -Monster Zero - -CPU: Z80 (x3) -Sound: AY-3-8910 (x2) -Other: 8255 (x3) -RAM: 2114 (x2), 2114 (x2), TMM2016P, TMM314A (x4), MPB8216 (x2), MPB8216 (x2), 2114 (x2), TMM314A (x2), D2125A (x5) -PAL: 16R8C (protected x2) -PROM: 82S123 -X1: 1431818 -X2: 16000 -*/ - -ROM_START( monsterz ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "b-1e.a1", 0x0000, 0x1000, CRC(97886542) SHA1(01f4f9bd55f9eae28162cbb22a26f7cda22cd3f3) ) - ROM_LOAD( "b-2e.c1", 0x1000, 0x1000, CRC(184ffcb4) SHA1(829d6ca13773aba7c3a81e122171befbe3666110) ) - ROM_LOAD( "b-3e.d1", 0x2000, 0x1000, CRC(b7b10ac7) SHA1(51d544d4db456df756a95d7f1853fffed9259647) ) - ROM_LOAD( "b-4e.e1", 0x3000, 0x1000, CRC(fb02c736) SHA1(24466116dd07b856b1afff62b8312c67ff466b95) ) - ROM_LOAD( "b-5e.g1", 0xc000, 0x1000, CRC(b2788ab9) SHA1(eb1a6b41f4c7a243481bfccf2b068ce1bc292366) ) - ROM_LOAD( "b-6e.h1", 0xd000, 0x1000, CRC(77d7aa8d) SHA1(62aaf582ba55f7b21f6cf13b4fb6c2c54bb729f5) ) - - ROM_REGION( 0x10000, REGION_CPU2, 0 ) - ROM_LOAD( "a-1e.k1", 0x0000, 0x1000, CRC(b88ba44e) SHA1(85c141fb411d541b1e20412f5fefd18395f635ae) ) - ROM_LOAD( "a-2.k2", 0x1000, 0x1000, CRC(8913c94e) SHA1(6c4fe065217a234d45761f8ad4d2c4e7078a0abd) ) - ROM_LOAD( "a-3e.k3", 0x2000, 0x1000, CRC(a8fa5095) SHA1(5cabe5497a79a0c43e78a84ae87c824af60a2a3f) ) - ROM_LOAD( "a-4.k4", 0x3000, 0x1000, CRC(93f81317) SHA1(167708be94cb9a47290067a20bc5ff6f018b93b6) ) - - ROM_REGION( 0x10000, REGION_CPU3, 0 ) /* 64k for the sample CPU */ - ROM_LOAD( "a-5e.k5", 0x0000, 0x1000, CRC(b5bcdb4e) SHA1(db0965e5636e0f4e9cd4f4a7d808c413ecf733db) ) - ROM_LOAD( "a-6.k6", 0x1000, 0x1000, CRC(24832b2e) SHA1(2a67888e86ce1a3182303e841513ba2a07977359) ) - ROM_LOAD( "a-7e.k7", 0x2000, 0x1000, CRC(20ebea81) SHA1(473c688365b256d8593663ff95768f4a5bb1289d) ) - // 0x3000 empty ? - ROM_LOAD( "a-8.k8", 0x4000, 0x1000, CRC(b833a15b) SHA1(0d21aaa0ca5ccba89118b205a6b3b36b15663c47) ) - ROM_LOAD( "a-9.k9", 0x5000, 0x1000, CRC(cbd76ec2) SHA1(9434350ee93ca71efe78018b69913386353306ff) ) - - ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "b-7e.a5", 0x0000, 0x1000, CRC(ddd4158d) SHA1(9701e2d8a0226455dfbed650e58bb4be05918fe8) ) - ROM_LOAD( "b-8e.c5", 0x1000, 0x1000, CRC(b1331b4c) SHA1(fa1af406ecd6919b4846aea68d3edb70106f9273) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "prom.g9", 0x0000, 0x0020, CRC(b7ea00d7) SHA1(f658c6ac8123ae1e6b68ae513cc02c4d9d2b4e47) ) -ROM_END - ROM_START( mimonscr ) ROM_REGION( 0x10000, REGION_CPU1, 0 ) ROM_LOAD( "mm1", 0x0000, 0x1000, CRC(0399a0c4) SHA1(8314124f9b535ce531663625d19cd3a76782ed3b) ) @@ -3355,17 +2927,6 @@ ROM_START( turpins ) ROM_LOAD( "turtles.clr", 0x0000, 0x0020, CRC(f3ef02dd) SHA1(09fd795170d7d30f101d579f57553da5ff3800ab) ) ROM_END -GAME( 1981, scramble, 0, fscramble,scramble, scramble, ROT90, "Konami", "Scramble", GAME_SUPPORTS_SAVE ) -GAME( 1981, scrambls, scramble, fscramble,scramble, scrambls, ROT90, "[Konami] (Stern license)", "Scramble (Stern)", GAME_SUPPORTS_SAVE ) -GAME( 1981, explorer, scramble, explorer, explorer, 0, ROT90, "bootleg", "Explorer", GAME_SUPPORTS_SAVE ) -GAME( 1981, strfbomb, scramble, scramble, strfbomb, scramble, ROT90, "Omni", "Strafe Bomb", GAME_SUPPORTS_SAVE ) -GAME( 1981, atlantis, 0, scramble, atlantis, atlantis, ROT90, "Comsoft", "Battle of Atlantis (set 1)", GAME_SUPPORTS_SAVE ) -GAME( 1981, atlants2, atlantis, scramble, atlantis, atlantis, ROT90, "Comsoft", "Battle of Atlantis (set 2)", GAME_SUPPORTS_SAVE ) -GAME( 1980, theend, 0, theend, theend, theend, ROT90, "Konami", "The End", GAME_SUPPORTS_SAVE ) -GAME( 1980, theends, theend, theend, theend, theend, ROT90, "[Konami] (Stern license)", "The End (Stern)", GAME_SUPPORTS_SAVE ) -GAME( 1981, froggers, frogger, froggers, froggers, froggers, ROT90, "bootleg", "Frog", GAME_SUPPORTS_SAVE ) -GAME( 1981, frogf, frogger, frogf, froggers, froggers, ROT90, "Falcon", "Frogger (Falcon bootleg)", GAME_SUPPORTS_SAVE ) -GAME( 1982, amidars, amidar, scramble, amidars, atlantis, ROT90, "Konami", "Amidar (Scramble hardware)", GAME_SUPPORTS_SAVE ) GAME( 1982, triplep, 0, triplep, triplep, scramble_ppi, ROT90, "KKI", "Triple Punch", GAME_SUPPORTS_SAVE ) GAME( 1982, knockout, triplep, triplep, triplep, scramble_ppi, ROT90, "KKK", "Knock Out!!", GAME_SUPPORTS_SAVE ) GAME( 1981, mariner, 0, mariner, scramble, mariner, ROT90, "Amenip", "Mariner", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE) @@ -3383,12 +2944,6 @@ GAME( 1982, conquer, 0, hotshock, hotshock, 0, ROT90, "511, HBLANK starts at 130 and ends at 250 */ +/* we normalize this here so that we count 0->383 with HBLANK */ +/* from 264-383 */ +#define GALAXIAN_HTOTAL (384*GALAXIAN_XSCALE) +#define GALAXIAN_HBEND (0*GALAXIAN_XSCALE) +//#define GALAXIAN_H0START (6*GALAXIAN_XSCALE) +//#define GALAXIAN_HBSTART (264*GALAXIAN_XSCALE) +#define GALAXIAN_H0START (0*GALAXIAN_XSCALE) +#define GALAXIAN_HBSTART (256*GALAXIAN_XSCALE) + +#define GALAXIAN_VTOTAL (264) +#define GALAXIAN_VBEND (16) +#define GALAXIAN_VBSTART (224+16) + + +/*----------- defined in video/galaxian.c -----------*/ + +extern UINT8 galaxian_frogger_adjust; +extern UINT8 galaxian_sfx_tilemap; + +PALETTE_INIT( galaxian ); + +VIDEO_START( galaxian ); +VIDEO_UPDATE( galaxian ); + +WRITE8_HANDLER( galaxian_videoram_w ); +WRITE8_HANDLER( galaxian_objram_w ); + +WRITE8_HANDLER( galaxian_flip_screen_x_w ); +WRITE8_HANDLER( galaxian_flip_screen_y_w ); +WRITE8_HANDLER( galaxian_flip_screen_xy_w ); + +WRITE8_HANDLER( galaxian_stars_enable_w ); +WRITE8_HANDLER( scramble_background_enable_w ); +WRITE8_HANDLER( scramble_background_red_w ); +WRITE8_HANDLER( scramble_background_green_w ); +WRITE8_HANDLER( scramble_background_blue_w ); + +WRITE8_HANDLER( galaxian_gfxbank_w ); + +TIMER_CALLBACK( galaxian_stars_blink_timer ); + +/* video extension callbacks */ +typedef void (*galaxian_extend_tile_info_func)(UINT16 *code, UINT8 *color, UINT8 attrib, UINT8 x); +typedef void (*galaxian_extend_sprite_info_func)(const UINT8 *base, UINT8 *sx, UINT8 *sy, UINT8 *flipx, UINT8 *flipy, UINT16 *code, UINT8 *color); +typedef void (*galaxian_draw_bullet_func)(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int offs, int x, int y); +typedef void (*galaxian_draw_background_func)(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect); + +extern galaxian_extend_tile_info_func galaxian_extend_tile_info_ptr; +extern galaxian_extend_sprite_info_func galaxian_extend_sprite_info_ptr; +extern galaxian_draw_bullet_func galaxian_draw_bullet_ptr; +extern galaxian_draw_background_func galaxian_draw_background_ptr; + +/* special purpose background rendering */ +void galaxian_draw_background(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect); +void frogger_draw_background(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect); +void amidar_draw_background(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect); +void turtles_draw_background(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect); +void scramble_draw_background(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect); +void jumpbug_draw_background(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect); + +/* special purpose bullet rendering */ +void galaxian_draw_bullet(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int offs, int x, int y); +void mshuttle_draw_bullet(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int offs, int x, int y); +void scramble_draw_bullet(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int offs, int x, int y); +void theend_draw_bullet(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int offs, int x, int y); + +/* generic extensions */ +void upper_extend_tile_info(UINT16 *code, UINT8 *color, UINT8 attrib, UINT8 x); +void upper_extend_sprite_info(const UINT8 *base, UINT8 *sx, UINT8 *sy, UINT8 *flipx, UINT8 *flipy, UINT16 *code, UINT8 *color); + +/* Frogger extensions */ +void frogger_extend_tile_info(UINT16 *code, UINT8 *color, UINT8 attrib, UINT8 x); +void frogger_extend_sprite_info(const UINT8 *base, UINT8 *sx, UINT8 *sy, UINT8 *flipx, UINT8 *flipy, UINT16 *code, UINT8 *color); + +/* Ghostmuncher Galaxian extensions */ +void gmgalax_extend_tile_info(UINT16 *code, UINT8 *color, UINT8 attrib, UINT8 x); +void gmgalax_extend_sprite_info(const UINT8 *base, UINT8 *sx, UINT8 *sy, UINT8 *flipx, UINT8 *flipy, UINT16 *code, UINT8 *color); + +/* Pisces extensions */ +void pisces_extend_tile_info(UINT16 *code, UINT8 *color, UINT8 attrib, UINT8 x); +void pisces_extend_sprite_info(const UINT8 *base, UINT8 *sx, UINT8 *sy, UINT8 *flipx, UINT8 *flipy, UINT16 *code, UINT8 *color); + +/* Batman Part 2 extensions */ +void batman2_extend_tile_info(UINT16 *code, UINT8 *color, UINT8 attrib, UINT8 x); +void batman2_extend_sprite_info(const UINT8 *base, UINT8 *sx, UINT8 *sy, UINT8 *flipx, UINT8 *flipy, UINT16 *code, UINT8 *color); + +/* Moon Cresta extensions */ +void mooncrst_extend_tile_info(UINT16 *code, UINT8 *color, UINT8 attrib, UINT8 x); +void mooncrst_extend_sprite_info(const UINT8 *base, UINT8 *sx, UINT8 *sy, UINT8 *flipx, UINT8 *flipy, UINT16 *code, UINT8 *color); + +/* Moon Quasar extensions */ +void moonqsr_extend_tile_info(UINT16 *code, UINT8 *color, UINT8 attrib, UINT8 x); +void moonqsr_extend_sprite_info(const UINT8 *base, UINT8 *sx, UINT8 *sy, UINT8 *flipx, UINT8 *flipy, UINT16 *code, UINT8 *color); + +/* Moon Shuttle extensions */ +void mshuttle_extend_tile_info(UINT16 *code, UINT8 *color, UINT8 attrib, UINT8 x); +void mshuttle_extend_sprite_info(const UINT8 *base, UINT8 *sx, UINT8 *sy, UINT8 *flipx, UINT8 *flipy, UINT16 *code, UINT8 *color); + +/* Jumpbug extensions */ +void jumpbug_extend_tile_info(UINT16 *code, UINT8 *color, UINT8 attrib, UINT8 x); +void jumpbug_extend_sprite_info(const UINT8 *base, UINT8 *sx, UINT8 *sy, UINT8 *flipx, UINT8 *flipy, UINT16 *code, UINT8 *color); + + + +/*----------- defined in audio/galaxian.c -----------*/ + +extern const struct Samplesinterface galaxian_custom_interface; +WRITE8_HANDLER( galaxian_sound_w ); +WRITE8_HANDLER( galaxian_pitch_w ); +WRITE8_HANDLER( galaxian_vol_w ); +WRITE8_HANDLER( galaxian_noise_enable_w ); +WRITE8_HANDLER( galaxian_background_enable_w ); +WRITE8_HANDLER( galaxian_shoot_enable_w ); +WRITE8_HANDLER( galaxian_lfo_freq_w ); diff --git a/src/mame/includes/galaxold.h b/src/mame/includes/galaxold.h index f3b0d796580..85909802e9c 100644 --- a/src/mame/includes/galaxold.h +++ b/src/mame/includes/galaxold.h @@ -26,17 +26,16 @@ extern size_t galaxold_spriteram_size; extern size_t galaxold_spriteram2_size; extern size_t galaxold_bulletsram_size; -PALETTE_INIT( galaxian ); -PALETTE_INIT( scramble ); -PALETTE_INIT( turtles ); +PALETTE_INIT( galaxold ); +PALETTE_INIT( scrambold ); PALETTE_INIT( moonwar ); PALETTE_INIT( darkplnt ); PALETTE_INIT( rescue ); PALETTE_INIT( minefld ); PALETTE_INIT( stratgyx ); PALETTE_INIT( mariner ); -PALETTE_INIT( frogger ); PALETTE_INIT( rockclim ); +PALETTE_INIT( turtles ); WRITE8_HANDLER( galaxold_videoram_w ); READ8_HANDLER( galaxold_videoram_r ); @@ -48,28 +47,26 @@ READ8_HANDLER( rockclim_videoram_r ); WRITE8_HANDLER( galaxold_attributesram_w ); WRITE8_HANDLER( galaxold_stars_enable_w ); -WRITE8_HANDLER( scramble_background_enable_w ); -WRITE8_HANDLER( scramble_background_red_w ); -WRITE8_HANDLER( scramble_background_green_w ); -WRITE8_HANDLER( scramble_background_blue_w ); +WRITE8_HANDLER( scrambold_background_enable_w ); +WRITE8_HANDLER( scrambold_background_red_w ); +WRITE8_HANDLER( scrambold_background_green_w ); +WRITE8_HANDLER( scrambold_background_blue_w ); WRITE8_HANDLER( hotshock_flip_screen_w ); WRITE8_HANDLER( darkplnt_bullet_color_w ); WRITE8_HANDLER( racknrol_tiles_bank_w ); VIDEO_START( galaxold_plain ); -VIDEO_START( galaxian ); -VIDEO_START( gmgalax ); +VIDEO_START( galaxold ); VIDEO_START( mooncrst ); VIDEO_START( mooncrgx ); VIDEO_START( moonqsr ); VIDEO_START( mshuttle ); VIDEO_START( pisces ); -VIDEO_START( gteikob2 ); VIDEO_START( batman2 ); VIDEO_START( jumpbug ); VIDEO_START( azurian ); VIDEO_START( dkongjrm ); -VIDEO_START( scramble ); +VIDEO_START( scrambold ); VIDEO_START( theend ); VIDEO_START( darkplnt ); VIDEO_START( rescue ); @@ -91,7 +88,7 @@ VIDEO_START( scorpion ); VIDEO_START( racknrol ); VIDEO_START( ad2083 ); -VIDEO_UPDATE( galaxian ); +VIDEO_UPDATE( galaxold ); WRITE8_HANDLER( galaxold_gfxbank_w ); WRITE8_HANDLER( galaxold_flip_screen_x_w ); @@ -113,7 +110,6 @@ DRIVER_INIT( mooncrst ); DRIVER_INIT( mooncrgx ); DRIVER_INIT( moonqsr ); DRIVER_INIT( checkman ); -DRIVER_INIT( gteikob2 ); DRIVER_INIT( azurian ); DRIVER_INIT( 4in1 ); DRIVER_INIT( ladybugg ); @@ -121,7 +117,7 @@ DRIVER_INIT( gmgalax ); WRITE8_HANDLER( galaxold_nmi_enable_w ); -MACHINE_RESET( galaxian ); +MACHINE_RESET( galaxold ); MACHINE_RESET( devilfsg ); WRITE8_HANDLER( galaxold_coin_lockout_w ); diff --git a/src/mame/machine/cclimber.c b/src/mame/machine/cclimber.c index 24fce0fb794..224a8ce8b6a 100644 --- a/src/mame/machine/cclimber.c +++ b/src/mame/machine/cclimber.c @@ -50,7 +50,7 @@ DRIVER_INIT( cclimber ) cclimber_decode(convtable); } -DRIVER_INIT( cclimbrj ) +void cclimbrj_decode(void) { static const UINT8 convtable[8][16] = { @@ -67,7 +67,12 @@ DRIVER_INIT( cclimbrj ) cclimber_decode(convtable); } -DRIVER_INIT( mshuttle ) +DRIVER_INIT( cclimbrj ) +{ + cclimbrj_decode(); +} + +void mshuttle_decode(void) { static const UINT8 convtable[8][16] = { diff --git a/src/mame/machine/galaxold.c b/src/mame/machine/galaxold.c index d74f19da7ad..4a9ab4f4394 100644 --- a/src/mame/machine/galaxold.c +++ b/src/mame/machine/galaxold.c @@ -89,7 +89,7 @@ static void machine_reset_common(running_machine *machine, int line) timer_adjust_oneshot(int_timer, video_screen_get_time_until_pos(machine->primary_screen, 0, 0), 0); } -MACHINE_RESET( galaxian ) +MACHINE_RESET( galaxold ) { machine_reset_common(machine, INPUT_LINE_NMI); } @@ -100,7 +100,6 @@ MACHINE_RESET( devilfsg ) } - WRITE8_HANDLER( galaxold_coin_lockout_w ) { coin_lockout_global_w(~data & 1); @@ -129,24 +128,6 @@ WRITE8_HANDLER( galaxold_leds_w ) } -READ8_HANDLER( jumpbug_protection_r ) -{ - switch (offset) - { - case 0x0114: return 0x4f; - case 0x0118: return 0xd3; - case 0x0214: return 0xcf; - case 0x0235: return 0x02; - case 0x0311: return 0x00; /* not checked */ - default: - logerror("Unknown protection read. Offset: %04X PC=%04X\n",0xb000+offset,activecpu_get_pc()); - } - - return 0; -} - - - static READ8_HANDLER( checkmaj_protection_r ) { switch (activecpu_get_pc()) @@ -492,14 +473,6 @@ Pin layout is such that links can replace the PAL if encryption is not used. } } -DRIVER_INIT( gteikob2 ) -{ - DRIVER_INIT_CALL(pisces); - - memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0x7006, 0x7006, 0, 0, gteikob2_flip_screen_x_w); - memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0x7007, 0x7007, 0, 0, gteikob2_flip_screen_y_w); -} - DRIVER_INIT( azurian ) { DRIVER_INIT_CALL(pisces); diff --git a/src/mame/machine/scramble.c b/src/mame/machine/scramble.c index 1f88afe391b..b6c2ecf5061 100644 --- a/src/mame/machine/scramble.c +++ b/src/mame/machine/scramble.c @@ -20,7 +20,7 @@ static UINT8 security_2B_counter; MACHINE_RESET( scramble ) { - MACHINE_RESET_CALL(galaxian); + MACHINE_RESET_CALL(galaxold); if (cpu_gettotalcpu() > 1) { @@ -61,7 +61,7 @@ MACHINE_RESET( explorer ) UINT8 *RAM = memory_region(REGION_CPU1); RAM[0x47ff] = 0; /* If not set, it doesn't reset after the 1st time */ - MACHINE_RESET_CALL(galaxian); + MACHINE_RESET_CALL(galaxold); } static READ8_HANDLER( scrambls_input_port_2_r ) @@ -333,14 +333,14 @@ DRIVER_INIT( scobra ) { DRIVER_INIT_CALL(scramble_ppi); - memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0xa803, 0xa803, 0, 0, scramble_background_enable_w); + memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0xa803, 0xa803, 0, 0, scrambold_background_enable_w); } DRIVER_INIT( atlantis ) { DRIVER_INIT_CALL(scramble_ppi); - memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0x6803, 0x6803, 0, 0, scramble_background_enable_w); + memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0x6803, 0x6803, 0, 0, scrambold_background_enable_w); } DRIVER_INIT( scramble ) @@ -371,9 +371,9 @@ DRIVER_INIT( stratgyx ) { DRIVER_INIT_CALL(scramble_ppi); - memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0xb000, 0xb000, 0, 0, scramble_background_green_w); - memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0xb002, 0xb002, 0, 0, scramble_background_blue_w); - memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0xb00a, 0xb00a, 0, 0, scramble_background_red_w); + memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0xb000, 0xb000, 0, 0, scrambold_background_green_w); + memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0xb002, 0xb002, 0, 0, scrambold_background_blue_w); + memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0xb00a, 0xb00a, 0, 0, scrambold_background_red_w); ppi8255_set_portCread(0, stratgyx_input_port_2_r); ppi8255_set_portCread(1, stratgyx_input_port_3_r); @@ -383,7 +383,7 @@ DRIVER_INIT( tazmani2 ) { DRIVER_INIT_CALL(scramble_ppi); - memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0xb002, 0xb002, 0, 0, scramble_background_enable_w); + memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0xb002, 0xb002, 0, 0, scrambold_background_enable_w); } DRIVER_INIT( amidar ) @@ -576,21 +576,21 @@ DRIVER_INIT( mimonkey ) DRIVER_INIT_CALL(scramble_ppi); - memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0xa804, 0xa804, 0, 0, scramble_background_enable_w); + memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0xa804, 0xa804, 0, 0, scrambold_background_enable_w); } DRIVER_INIT( mimonsco ) { DRIVER_INIT_CALL(scramble_ppi); - memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0xa804, 0xa804, 0, 0, scramble_background_enable_w); + memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0xa804, 0xa804, 0, 0, scrambold_background_enable_w); } DRIVER_INIT( mimonscr ) { DRIVER_INIT_CALL(scramble_ppi); - memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0x6804, 0x6804, 0, 0, scramble_background_enable_w); + memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0x6804, 0x6804, 0, 0, scrambold_background_enable_w); } diff --git a/src/mame/mame.mak b/src/mame/mame.mak index 6acca6af241..2123931ae9e 100644 --- a/src/mame/mame.mak +++ b/src/mame/mame.mak @@ -818,7 +818,6 @@ $(MAMEOBJ)/konami.a: \ $(DRIVERS)/88games.o $(VIDEO)/88games.o \ $(DRIVERS)/ajax.o $(MACHINE)/ajax.o $(VIDEO)/ajax.o \ $(DRIVERS)/aliens.o $(VIDEO)/aliens.o \ - $(DRIVERS)/amidar.o \ $(DRIVERS)/asterix.o $(VIDEO)/asterix.o \ $(DRIVERS)/battlnts.o $(VIDEO)/battlnts.o \ $(DRIVERS)/bishi.o $(VIDEO)/bishi.o \ @@ -838,7 +837,6 @@ $(MAMEOBJ)/konami.a: \ $(DRIVERS)/finalizr.o $(VIDEO)/finalizr.o \ $(DRIVERS)/firebeat.o \ $(DRIVERS)/flkatck.o $(VIDEO)/flkatck.o \ - $(DRIVERS)/frogger.o \ $(DRIVERS)/gberet.o $(VIDEO)/gberet.o \ $(DRIVERS)/gbusters.o $(VIDEO)/gbusters.o \ $(DRIVERS)/gijoe.o $(VIDEO)/gijoe.o \ @@ -961,7 +959,8 @@ $(MAMEOBJ)/namco.a: \ $(DRIVERS)/baraduke.o $(VIDEO)/baraduke.o \ $(DRIVERS)/dambustr.o \ $(DRIVERS)/galaga.o $(AUDIO)/galaga.o $(VIDEO)/galaga.o \ - $(DRIVERS)/galaxold.o $(MACHINE)/galaxold.o $(AUDIO)/galaxian.o $(VIDEO)/galaxold.o \ + $(DRIVERS)/galaxian.o $(AUDIO)/galaxian.o $(VIDEO)/galaxian.o \ + $(DRIVERS)/galaxold.o $(MACHINE)/galaxold.o $(VIDEO)/galaxold.o \ $(DRIVERS)/gaplus.o $(MACHINE)/gaplus.o $(VIDEO)/gaplus.o \ $(DRIVERS)/mappy.o $(VIDEO)/mappy.o \ $(DRIVERS)/namcofl.o $(VIDEO)/namcofl.o \ @@ -1741,5 +1740,6 @@ $(DRIVERS)/zac2650.o: $(LAYOUT)/tinv2650.lh # misc dependencies #------------------------------------------------- -$(DRIVERS)/neogeo.o: $(MAMESRC)/drivers/neodrvr.c +$(DRIVERS)/galaxian.o: $(MAMESRC)/drivers/galdrvr.c $(DRIVERS)/mpu4.o: $(MAMESRC)/drivers/mpu4drvr.c +$(DRIVERS)/neogeo.o: $(MAMESRC)/drivers/neodrvr.c diff --git a/src/mame/video/galaxian.c b/src/mame/video/galaxian.c new file mode 100644 index 00000000000..1e2fd68d214 --- /dev/null +++ b/src/mame/video/galaxian.c @@ -0,0 +1,1369 @@ +/*************************************************************************** + + Galaxian-derived video hardware + +**************************************************************************** + + Video timing: + + The master clock is an 18.432MHz crystal. It is divided by 3 by + a pair of J/K flip-flops to 6.144MHz. This 6MHz signal is used to + drive most of the video logic. Note that due to the way the + divide-by-3 circuit is implemented, the duty cycle of the 6MHz + signal is 66% (i.e., it is high for 2 18MHz clocks and low for 1). + This is important for accurate stars rendering. + + + Horizontal timing: + + H counts from 010000000 (128) to 111111111 (511), giving 384 + total H clocks per scanline + + However, the top bit is inverted to become 256H, so when reading + the schematics it's really counting from: + 110000000 -> 111111111 (blanking period) + and then from: + 000000000 -> 011111111 (main portion of screen = 256 pixels) + + HBLANK is a flip-flop clocked by 2H: + * It is held clear when 256H = 0 (main portion of screen) + * The D input is connected to !(64H & 32H & 16H & 8H) + * It is clocked to 1 when H=130 + * It is clocked to 0 when H=250 + * This gives 264 total non-blanked pixels: + 6 additional pixels on the left (H=250..255) + 256 main area pixels (H=256..511) + 2 additional pixels on the right (H=128..129) + + HSYNC is a flip-flop clocked by 16H: + * It is held clear when 256H = 0 (main portion of screen) + * The D input is connected to !(!64H & 32H) + * HSYNC is the /Q output + * It is clocked to 1 when H=176 + * It is clocked to 0 when H=208 + + + Vertical timing: + + V counts from 011111000 (248) to 111111111 (511), giving 264 + total V clocks per frame + + IMPORTANT: the V sync chain is clocked by HSYNC. This means + that for the first 48 H clocks of the blanking period, the + V counter is one behind. This is important to take into account + for sprite and missile positioning. + + VBLANK is a flip-flop clocked by 16V: + * The D input is connected to !(128V & 64V & 32V) + * It is clocked to 1 when V=496 + * It is clocked to 0 when V=272 + * This gives 224 total non-blanked pixels + + VSYNC is set to !256V: + * It is set to 1 when V=248 + * It is cleared to 0 when V=256 + + + Sprites and missiles: + + During the HBLANK period, sprites and missiles are processed. + Sprites are rendered into the line buffer, which was cleared + during the visible portion of the previous scanline. + + It takes 8 H clocks to set up a sprite, and 16 to render it + to the line buffer. The setup clocks are overlapped with the + rendering clocks. In theory this would result in enough time + to render 128/16 = 8 sprites. However, the setup does not + begin until after HBLANK, so there is only enough time to + render the first 7 1/2 entries. + + Interleaved with the setup for sprites is setup for the + shell and missile rendering. Shells and missiles are rendered + realtime during the visible portion of the frame, and are + effectively color-ORed directly into the final RGB output. + During the HBLANK setup period, each shell/missile entry is + compared against the current V position; if an exact match + is found, the H position is loaded into a dedicated 8-bit + counter. The counter clocks each pixel during the active video + period; when it reaches $FC it enables the output until it + hits zero, at which point it shuts itself off. Because there + is only one counter for shells and one for missiles, only one + shell and one missile can be specified per scanline. The last + matching entry found will always win. + + The difference between shell and missile is that shells + populate the first 7 entries and are rendered as white, + whereas missiles populate the final entry and are rendered + as yellow. + + Here is the detailed sequence of events for sprite and + missile/shell rendering during the first 24 H clocks of + HBLANK: + + H=080: HPOSI=objram[40], /VPL latches V+objram[40] + H=081: HPOSI=objram[40] + H=082: HPOSI=objram[41], /OBJ DATA L latches picture number, H/V flip + H=083: HPOSI=objram[41] + H=084: HPOSI=objram[42], /COL L latches low 3 bits as color + H=085: HPOSI=objram[42] + H=086: HPOSI=objram[43] + H=087: HPOSI=objram[43], /CNTR LD latches X position + + H=088: HPOSI=objram[40], /VPL latches V+objram[40] + H=089: HPOSI=objram[40] + H=08A: HPOSI=objram[61] + H=08B: HPOSI=objram[61], MSLD is latched if Y position matches shell + H=08C: HPOSI=objram[42] + H=08D: HPOSI=objram[42] + H=08E: HPOSI=objram[63] + H=08F: HPOSI=objram[63], /SLD fires to latch down shell counter value + H=090: HPOSI=objram[44], /VPL latches V+objram[44] + H=091: HPOSI=objram[44] + H=092: HPOSI=objram[45], /OBJ DATA L latches picture number, H/V flip + H=093: HPOSI=objram[45] + H=094: HPOSI=objram[46], /COL L latches low 3 bits as color + H=095: HPOSI=objram[46] + H=096: HPOSI=objram[47] + H=097: HPOSI=objram[47], /CNTR LD latches X position + + + From this, you can see the object RAM layout looks like: + + objram[40] = vertical position of sprite 0 + objram[41] = picture number and H/V flip of sprite 0 + objram[42] = color of sprite 0 + objram[43] = horizontal position of sprite 0 + + objram[61] = vertical position of shell 0 + objram[63] = horizontal count until shell 0 starts rendering + + A vertical match for a sprite is true if ((V + vpos) & 0xf0) == 0xf0. + A vertical match for a shell/missile is if ((V + vpos) & 0xff) == 0xff. + + Overall, the process for sprites and missiles during HBLANK looks + like this: + + H=080: begin setup sprite 0 + H=082: begin HBLANK + H=088: begin render sprite 0; begin setup shell 0 + H=090: begin setup sprite 1 + H=098: begin render sprite 1; begin setup shell 1 + H=0A0: begin setup sprite 2 + H=0A8: begin render sprite 2; begin setup shell 2 + H=0B0: VSYNC increments V counter; subsequent sprites match V+1 + H=0B0: begin setup sprite 3 + H=0B8: begin render sprite 3; begin setup shell 3 + H=0C0: begin setup sprite 4 + H=0C8: begin render sprite 4; begin setup shell 4 + H=0D0: begin setup sprite 5 + H=0D8: begin render sprite 5; begin setup shell 5 + H=0E0: begin setup sprite 6 + H=0E8: begin render sprite 6; begin setup shell 6 + H=0F0: begin setup sprite 7 + H=0F8: begin render sprite 7; begin setup missile + H=0FA: end HBLANK + H=100: finish render sprite 7 (only 1/2 way through) + + + + /VPL: H=xxxxxx000 -> latches sum of V+HPOSI for vertical positioning + /COL L: H=xxxxxx100 -> latches HPOSI into color register (low 3 bits) + /LD: H=xxxxxx111 -> shift register load from ROM + /CNTR CLR: H=0xxxx0111 -> resets line buffer counter to 0 +/OBJ DATA L: H=1xxxx0010 -> latches HPOSI into picture number latch + /CNTR LD: H=1xxxx0111 -> latches HPOSI into line buffer counter (sprite X position) + /SLD: H=1xxxx1111 -> latches down counter until shell (except when /MLD) + /MLD: H=1x1111111 -> latches down counter until missile + + + +VRAM addresses: + addr video + VRA7 = A9 SUM7 + VRA8 = A8 SUM6 + VRA6 = A7 SUM5 + VRA5 = A6 SUM4 + VRA4 = A5 SUM3 + VRA3 = A4 128HB + VRA0 = A3 64HB + VRA1 = A2 32HB + VRA2 = A1 16HB + VRA9 = A0 8HB + +OBJRAM addresses: + addr 256H=0 256H=1 + RA4 = A0 4H 2H + RA7 = A1 8HB 4H + RA1 = A2 16HB 16HB + RA0 = A3 32HB 32HB + RA5 = A4 64HB 64HB + RA6 = A5 128HB (2H & 8HB) + RA3 = A6 256H 256H + RA2 = A7 0 0 + +H=80: 00,00,01,01,02,02,03,03 00,00,21,21,02,02,23,23 +H=90: 04,04,05,05,06,06,07,07 04,04,25,25,06,06,27,27 +H=A0: 08,08,09,09,0A,0A,0B,0B 08,08,29,29,0A,0A,2B,2B +H=B0: 0C,0C,0D,0D,0E,0E,0F,0F 0C,0C,2D,2D,0E,0E,2F,2F + + + +***************************************************************************/ + +#include "driver.h" +#include "video/resnet.h" +#include "includes/galaxian.h" + + + + +/************************************* + * + * Constants + * + *************************************/ + +#define STAR_RNG_PERIOD ((1 << 17) - 1) +#define RGB_MAXIMUM 224 + + + +/************************************* + * + * Global variables + * + *************************************/ + +/* rendering callbacks */ +galaxian_draw_bullet_func galaxian_draw_bullet_ptr; +galaxian_draw_background_func galaxian_draw_background_ptr; + +/* tile/sprite modification callbacks */ +galaxian_extend_tile_info_func galaxian_extend_tile_info_ptr; +galaxian_extend_sprite_info_func galaxian_extend_sprite_info_ptr; + +/* global tweaks */ +UINT8 galaxian_frogger_adjust; +UINT8 galaxian_sfx_tilemap; + + + +/************************************* + * + * Local variables + * + *************************************/ + +static tilemap *bg_tilemap; + +static UINT8 flipscreen_x; +static UINT8 flipscreen_y; + +static UINT8 background_enable; +static UINT8 background_red; +static UINT8 background_green; +static UINT8 background_blue; + +static UINT32 star_rng_origin; +static UINT32 star_rng_origin_frame; +static rgb_t star_color[64]; +static UINT8 *stars; +static UINT8 stars_enabled; +static UINT8 stars_blink_state; + +static rgb_t bullet_color[8]; + +static UINT8 gfxbank[5]; + + + +/************************************* + * + * Function prototypes + * + *************************************/ + +static void state_save_register(void); +static TILE_GET_INFO( bg_get_tile_info ); + +static void sprites_draw(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, const UINT8 *spritebase); + +static void stars_init(void); +static void stars_update_origin(running_machine *machine); +static void stars_draw_row(bitmap_t *bitmap, int maxx, int y, UINT32 star_offs, UINT8 starmask); + +static void bullets_draw(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, const UINT8 *base); + + + +/************************************* + * + * Palette setup + * + *************************************/ + +PALETTE_INIT( galaxian ) +{ + static const int rgb_resistances[3] = { 1000, 470, 220 }; + double rweights[3], gweights[3], bweights[2]; + int i, minval, midval, maxval; + UINT8 starmap[4]; + + /* + Sprite/tilemap colors are mapped through a color PROM as follows: + + bit 7 -- 220 ohm resistor -- BLUE + -- 470 ohm resistor -- BLUE + -- 220 ohm resistor -- GREEN + -- 470 ohm resistor -- GREEN + -- 1 kohm resistor -- GREEN + -- 220 ohm resistor -- RED + -- 470 ohm resistor -- RED + bit 0 -- 1 kohm resistor -- RED + + In parallel with these resistors are a pair of 150 ohm and 100 ohm + resistors on each R,G,B component that are connected to the star + generator. + + And in parallel with the whole mess are a set of 100 ohm resistors + on each R,G,B component that are enabled when a shell/missile is + enabled. + + When computing weights, we use RGB_MAXIMUM as the maximum to give + headroom for stars and shells/missiles. This is not fully accurate, + but if we included all possible sources in parallel, the brightness + of the main game would be very low to allow for all the oversaturation + of the stars and shells/missiles. + */ + compute_resistor_weights(0, RGB_MAXIMUM, -1.0, + 3, &rgb_resistances[0], rweights, 470, 0, + 3, &rgb_resistances[0], gweights, 470, 0, + 2, &rgb_resistances[1], bweights, 470, 0); + + /* decode the palette first */ + for (i = 0; i < memory_region_length(REGION_PROMS); i++) + { + UINT8 bit0, bit1, bit2, r, g, b; + + /* red component */ + bit0 = BIT(color_prom[i],0); + bit1 = BIT(color_prom[i],1); + bit2 = BIT(color_prom[i],2); + r = combine_3_weights(rweights, bit0, bit1, bit2); + + /* green component */ + bit0 = BIT(color_prom[i],3); + bit1 = BIT(color_prom[i],4); + bit2 = BIT(color_prom[i],5); + g = combine_3_weights(gweights, bit0, bit1, bit2); + + /* blue component */ + bit0 = BIT(color_prom[i],6); + bit1 = BIT(color_prom[i],7); + b = combine_2_weights(bweights, bit0, bit1); + + palette_set_color(machine, i, MAKE_RGB(r,g,b)); + } + + /* + The maximum sprite/tilemap resistance is ~130 Ohms with all RGB + outputs enabled (1/(1/1000 + 1/470 + 1/220)). Since we normalized + to RGB_MAXIMUM, this maps RGB_MAXIMUM -> 130 Ohms. + + The stars are at 150 Ohms for the LSB, and 100 Ohms for the MSB. + This means the 3 potential values are: + + 150 Ohms -> RGB_MAXIMUM * 130 / 150 + 100 Ohms -> RGB_MAXIMUM * 130 / 100 + 60 Ohms -> RGB_MAXIMUM * 130 / 60 + + Since we can't saturate that high, we instead approximate this + by compressing the values proportionally into the 194->255 range. + */ + minval = RGB_MAXIMUM * 130 / 150; + midval = RGB_MAXIMUM * 130 / 100; + maxval = RGB_MAXIMUM * 130 / 60; + + /* compute the values for each of 4 possible star values */ + starmap[0] = 0; + starmap[1] = minval; + starmap[2] = minval + (255 - minval) * (midval - minval) / (maxval - minval); + starmap[3] = 255; + + /* generate the colors for the stars */ + for (i = 0; i < 64; i++) + { + UINT8 bit0, bit1, r, g, b; + + /* bit 5 = red @ 150 Ohm, bit 4 = red @ 100 Ohm */ + bit0 = BIT(i,5); + bit1 = BIT(i,4); + r = starmap[(bit1 << 1) | bit0]; + + /* bit 3 = green @ 150 Ohm, bit 2 = green @ 100 Ohm */ + bit0 = BIT(i,3); + bit1 = BIT(i,2); + g = starmap[(bit1 << 1) | bit0]; + + /* bit 1 = blue @ 150 Ohm, bit 0 = blue @ 100 Ohm */ + bit0 = BIT(i,1); + bit1 = BIT(i,0); + b = starmap[(bit1 << 1) | bit0]; + + /* set the RGB color */ + star_color[i] = MAKE_RGB(r, g, b); + } + + /* default bullet colors are white for the first 7, and yellow for the last one */ + for (i = 0; i < 7; i++) + bullet_color[i] = MAKE_RGB(0xff,0xff,0xff); + bullet_color[7] = MAKE_RGB(0xff,0xff,0x00); +} + + + +/************************************* + * + * Common video init + * + *************************************/ + +VIDEO_START( galaxian ) +{ + /* create a tilemap for the background */ + if (!galaxian_sfx_tilemap) + { + /* normal galaxian hardware is row-based and individually scrolling columns */ + bg_tilemap = tilemap_create(bg_get_tile_info, tilemap_scan_rows, GALAXIAN_XSCALE*8,8, 32,32); + tilemap_set_scroll_cols(bg_tilemap, 32); + tilemap_set_scrolldx(bg_tilemap, 0, -GALAXIAN_XSCALE * 128); + tilemap_set_scrolldy(bg_tilemap, 0, 8); + } + else + { + /* sfx hardware is column-based and individually scrolling rows */ + bg_tilemap = tilemap_create(bg_get_tile_info, tilemap_scan_cols, GALAXIAN_XSCALE*8,8, 32,32); + tilemap_set_scroll_rows(bg_tilemap, 32); + tilemap_set_scrolldx(bg_tilemap, 0, -GALAXIAN_XSCALE * 128); + tilemap_set_scrolldy(bg_tilemap, 0, 8); + } + tilemap_set_transparent_pen(bg_tilemap, 0); + + /* initialize globals */ + flipscreen_x = 0; + flipscreen_y = 0; + background_enable = 0; + background_blue = 0; + background_red = 0; + background_green = 0; + + /* initialize stars */ + stars_init(); + + /* register for save states */ + state_save_register(); +} + + +static void state_save_register(void) +{ + state_save_register_global(flipscreen_x); + state_save_register_global(flipscreen_y); + state_save_register_global(background_enable); + state_save_register_global(background_red); + state_save_register_global(background_green); + state_save_register_global(background_blue); + + state_save_register_global_array(gfxbank); + + state_save_register_global(stars_enabled); + state_save_register_global(star_rng_origin); + state_save_register_global(star_rng_origin_frame); + state_save_register_global(stars_blink_state); +} + + + +/************************************* + * + * Common video update + * + *************************************/ + +VIDEO_UPDATE( galaxian ) +{ + /* draw the background layer (including stars) */ + (*galaxian_draw_background_ptr)(screen->machine, bitmap, cliprect); + + /* draw the tilemap characters over top */ + tilemap_draw(bitmap, cliprect, bg_tilemap, 0, 0); + + /* render the sprites next */ + sprites_draw(screen->machine, bitmap, cliprect, &spriteram[0x40]); + + /* if we have bullets to draw, render them following */ + if (galaxian_draw_bullet_ptr != NULL) + bullets_draw(screen->machine, bitmap, cliprect, &spriteram[0x60]); + + return 0; +} + + + +/************************************* + * + * Background tilemap + * + *************************************/ + +static TILE_GET_INFO( bg_get_tile_info ) +{ + UINT8 x = tile_index & 0x1f; + + UINT16 code = videoram[tile_index]; + UINT8 attrib = spriteram[x*2+1]; + UINT8 color = attrib & 7; + + if (galaxian_extend_tile_info_ptr != NULL) + (*galaxian_extend_tile_info_ptr)(&code, &color, attrib, x); + + SET_TILE_INFO(0, code, color, 0); +} + + +WRITE8_HANDLER( galaxian_videoram_w ) +{ + /* update any video up to the current scanline */ + video_screen_update_now(machine->primary_screen); + + /* store the data and mark the corresponding tile dirty */ + videoram[offset] = data; + tilemap_mark_tile_dirty(bg_tilemap, offset); +} + + +WRITE8_HANDLER( galaxian_objram_w ) +{ + /* update any video up to the current scanline */ + video_screen_update_now(machine->primary_screen); + + /* store the data */ + spriteram[offset] = data; + + /* the first $40 bytes affect the tilemap */ + if (offset < 0x40) + { + /* even entries control the scroll position */ + if ((offset & 0x01) == 0) + { + /* Frogger: top and bottom 4 bits swapped entering the adder */ + if (galaxian_frogger_adjust) + data = (data >> 4) | (data << 4); + if (!galaxian_sfx_tilemap) + tilemap_set_scrolly(bg_tilemap, offset >> 1, data); + else + tilemap_set_scrollx(bg_tilemap, offset >> 1, GALAXIAN_XSCALE*data); + } + + /* odd entries control the color base for the row */ + else + { + for (offset >>= 1; offset < 0x0400; offset += 32) + tilemap_mark_tile_dirty(bg_tilemap, offset); + } + } +} + + + +/************************************* + * + * Sprite rendering + * + *************************************/ + +static void sprites_draw(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, const UINT8 *spritebase) +{ + rectangle clip = *cliprect; + int sprnum; + + /* sprites are hard-clipped at H=16 and H=256, regardless of flipping */ + /* because we normalize the H counter to 0, this effectively clips between */ + /* 8 and 248 */ + clip.min_x = MAX(clip.min_x, (16-8)*GALAXIAN_XSCALE); + clip.max_x = MIN(clip.max_x, (256-8)*GALAXIAN_XSCALE - 1); + + /* The line buffer is only written if it contains a '0' currently; */ + /* it is cleared during the visible area, and populated during HBLANK */ + /* To simulate this, we render backwards so that lower numbered sprites */ + /* have priority over higher numbered sprites. */ + for (sprnum = 7; sprnum >= 0; sprnum--) + { + const UINT8 *base = &spritebase[sprnum * 4]; + /* Frogger: top and bottom 4 bits swapped entering the adder */ + UINT8 base0 = galaxian_frogger_adjust ? ((base[0] >> 4) | (base[0] << 4)) : base[0]; + /* the first three sprites match against y-1 */ + UINT8 sy = 240 - (base0 - (sprnum < 3)); + UINT16 code = base[1] & 0x3f; + UINT8 flipx = base[1] & 0x40; + UINT8 flipy = base[1] & 0x80; + UINT8 color = base[2] & 7; + UINT8 sx = base[3]; + + /* extend the sprite information */ + if (galaxian_extend_sprite_info_ptr != NULL) + (*galaxian_extend_sprite_info_ptr)(base, &sx, &sy, &flipx, &flipy, &code, &color); + + /* apply flipscreen in X direction */ + if (flipscreen_x) + { + sx = 240 - sx; + flipx = !flipx; + } + + /* apply flipscreen in Y direction */ + if (flipscreen_y) + { + sy = 240 - sy; + flipy = !flipy; + } + + /* draw */ + drawgfx(bitmap, machine->gfx[1], + code, color, + flipx, flipy, + GALAXIAN_H0START + GALAXIAN_XSCALE * sx, sy, + &clip, + TRANSPARENCY_PEN, 0); + } +} + + + +/************************************* + * + * Bullets rendering + * + *************************************/ + +static void bullets_draw(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, const UINT8 *base) +{ + int y; + + /* iterate over scanlines */ + for (y = cliprect->min_y; y <= cliprect->max_y; y++) + { + UINT8 shell = 0xff, missile = 0xff; + UINT8 effy; + int which; + + /* the first 3 entries match Y-1 */ + effy = flipscreen_y ? ((y - 1) ^ 255) : (y - 1); + for (which = 0; which < 3; which++) + if ((UINT8)(base[which*4+1] + effy) == 0xff) + shell = which; + + /* remaining entries match Y */ + effy = flipscreen_y ? (y ^ 255) : y; + for (which = 3; which < 8; which++) + if ((UINT8)(base[which*4+1] + effy) == 0xff) + { + if (which != 7) + shell = which; + else + missile = which; + } + + /* draw the shell */ + if (shell != 0xff) + (*galaxian_draw_bullet_ptr)(machine, bitmap, cliprect, shell, 255 - base[shell*4+3], y); + if (missile != 0xff) + (*galaxian_draw_bullet_ptr)(machine, bitmap, cliprect, missile, 255 - base[missile*4+3], y); + } +} + + + +/************************************* + * + * Screen orientation + * + *************************************/ + +WRITE8_HANDLER( galaxian_flip_screen_x_w ) +{ + if (flipscreen_x != (data & 0x01)) + { + video_screen_update_now(machine->primary_screen); + + /* when the direction changes, we count a different number of clocks */ + /* per frame, so we need to reset the origin of the stars to the current */ + /* frame before we flip */ + stars_update_origin(machine); + + flipscreen_x = data & 0x01; + tilemap_set_flip(bg_tilemap, (flipscreen_x ? TILEMAP_FLIPX : 0) | (flipscreen_y ? TILEMAP_FLIPY : 0)); + } +} + +WRITE8_HANDLER( galaxian_flip_screen_y_w ) +{ + if (flipscreen_y != (data & 0x01)) + { + video_screen_update_now(machine->primary_screen); + flipscreen_y = data & 0x01; + tilemap_set_flip(bg_tilemap, (flipscreen_x ? TILEMAP_FLIPX : 0) | (flipscreen_y ? TILEMAP_FLIPY : 0)); + } +} + +WRITE8_HANDLER( galaxian_flip_screen_xy_w ) +{ + galaxian_flip_screen_x_w(machine, offset, data); + galaxian_flip_screen_y_w(machine, offset, data); +} + + + +/************************************* + * + * Background controls + * + *************************************/ + +WRITE8_HANDLER( galaxian_stars_enable_w ) +{ + if ((stars_enabled ^ data) & 0x01) + video_screen_update_now(machine->primary_screen); + if (!stars_enabled && (data & 0x01)) + { + /* on the rising edge of this, the CLR on the shift registers is released */ + /* this resets the "origin" of this frame to 0 minus the number of clocks */ + /* we have counted so far */ + star_rng_origin = STAR_RNG_PERIOD - (video_screen_get_vpos(machine->primary_screen) * 512 + video_screen_get_hpos(machine->primary_screen)); + star_rng_origin_frame = video_screen_get_frame_number(machine->primary_screen); + } + stars_enabled = data & 0x01; +} + + +WRITE8_HANDLER( scramble_background_enable_w ) +{ + video_screen_update_now(machine->primary_screen); + background_enable = data & 0x01; +} + + +WRITE8_HANDLER( scramble_background_red_w ) +{ + video_screen_update_now(machine->primary_screen); + background_red = data & 0x01; +} + + +WRITE8_HANDLER( scramble_background_green_w ) +{ + video_screen_update_now(machine->primary_screen); + background_green = data & 0x01; +} + + +WRITE8_HANDLER( scramble_background_blue_w ) +{ + video_screen_update_now(machine->primary_screen); + background_blue = data & 0x01; +} + + + +/************************************* + * + * Graphics banking + * + *************************************/ + +WRITE8_HANDLER( galaxian_gfxbank_w ) +{ + if (gfxbank[offset] != data) + { + video_screen_update_now(machine->primary_screen); + gfxbank[offset] = data; + tilemap_mark_all_tiles_dirty(bg_tilemap); + } +} + + + +/************************************* + * + * Star initialization + * + *************************************/ + +static void stars_init(void) +{ + UINT32 shiftreg; + int i; + + /* reset the blink and enabled states */ + stars_enabled = FALSE; + stars_blink_state = 0; + + /* precalculate the RNG */ + stars = auto_malloc(STAR_RNG_PERIOD); + shiftreg = 0; + for (i = 0; i < STAR_RNG_PERIOD; i++) + { + /* stars are enabled if the upper 8 bits are 1 and the low bit is 0 */ + int enabled = ((shiftreg & 0x1fe01) == 0x1fe00); + + /* color comes from the 6 bits below the top 8 bits */ + int color = (~shiftreg & 0x1f8) >> 3; + + /* store the color value in the low 6 bits and the enable in the upper bit */ + stars[i] = color | (enabled << 7); + + /* the LFSR is fed based on the XOR of bit 12 and the inverse of bit 0 */ + shiftreg = (shiftreg >> 1) | ((((shiftreg >> 12) ^ ~shiftreg) & 1) << 16); + } +} + + + +/************************************* + * + * Adjust the origin of stars + * + *************************************/ + +static void stars_update_origin(running_machine *machine) +{ + int curframe = video_screen_get_frame_number(machine->primary_screen); + + /* only update on a different frame */ + if (curframe != star_rng_origin_frame) + { + /* The RNG period is 2^17-1; each frame, the shift register is clocked */ + /* 512*256 = 2^17 times. This means that we clock one extra time each */ + /* frame. However, if we are NOT flipped, there is a pair of D flip-flops */ + /* at 6B which delay the count so that we count 512*256-2 = 2^17-2 times. */ + /* In this case, we only one time less than the period each frame. Both */ + /* of these off-by-one countings produce the horizontal star scrolling. */ + int per_frame_delta = flipscreen_x ? 1 : -1; + int total_delta = per_frame_delta * (curframe - star_rng_origin_frame); + + /* we can't just use % here because mod of a negative number is undefined */ + while (total_delta < 0) + total_delta += STAR_RNG_PERIOD; + + /* now that everything is positive, do the mod */ + star_rng_origin = (star_rng_origin + total_delta) % STAR_RNG_PERIOD; + star_rng_origin_frame = curframe; + } +} + + + +/************************************* + * + * Star blinking + * + *************************************/ + +TIMER_CALLBACK( galaxian_stars_blink_timer ) +{ + stars_blink_state++; +} + + + +/************************************* + * + * Draw a row of stars + * + *************************************/ + +static void stars_draw_row(bitmap_t *bitmap, int maxx, int y, UINT32 star_offs, UINT8 starmask) +{ + int x; + + /* ensure our star offset is valid */ + star_offs %= STAR_RNG_PERIOD; + + /* iterate over the specified number of 6MHz pixels */ + for (x = 0; x < maxx; x++) + { + /* stars are suppressed unless V1 ^ H8 == 1 */ + int enable_star = (y ^ (x >> 3)) & 1; + UINT8 star; + + /* + The RNG clock is the master clock (18MHz) ANDed with the pixel clock (6MHz). + The divide-by-3 circuit that produces the pixel clock generates a square wave + with a 2/3 duty cycle, so the result of the AND generates a clock like this: + _ _ _ _ _ _ _ _ + MASTER: _| |_| |_| |_| |_| |_| |_| |_| | + _______ _______ ______ + PIXEL: _| |___| |___| + _ _ _ _ _ _ + RNG: _| |_| |_____| |_| |_____| |_| | + + Thus for each pixel, there are 3 master clocks and 2 RNG clocks, and the RNG + is clocked asymmetrically. To simulate this, we expand the horizontal screen + size by 3 and handle the first RNG clock with one pixel and the second RNG + clock with two pixels. + */ + + /* first RNG clock: one pixel */ + star = stars[star_offs++]; + if (star_offs >= STAR_RNG_PERIOD) + star_offs = 0; + if (enable_star && (star & 0x80) != 0 && (star & starmask) != 0) + *BITMAP_ADDR32(bitmap, y, GALAXIAN_XSCALE*x + 0) = star_color[star & 0x3f]; + + /* second RNG clock: two pixels */ + star = stars[star_offs++]; + if (star_offs >= STAR_RNG_PERIOD) + star_offs = 0; + if (enable_star && (star & 0x80) != 0 && (star & starmask) != 0) + { + *BITMAP_ADDR32(bitmap, y, GALAXIAN_XSCALE*x + 1) = star_color[star & 0x3f]; + *BITMAP_ADDR32(bitmap, y, GALAXIAN_XSCALE*x + 2) = star_color[star & 0x3f]; + } + } +} + + + +/************************************* + * + * Background rendering + * + *************************************/ + +static int flip_and_clip(rectangle *draw, int xstart, int xend, const rectangle *cliprect) +{ + *draw = *cliprect; + if (!flipscreen_x) + { + draw->min_x = xstart * GALAXIAN_XSCALE; + draw->max_x = xend * GALAXIAN_XSCALE + (GALAXIAN_XSCALE - 1); + } + else + { + draw->min_x = (xend ^ 255) * GALAXIAN_XSCALE; + draw->max_x = (xstart ^ 255) * GALAXIAN_XSCALE + (GALAXIAN_XSCALE - 1); + } + sect_rect(draw, cliprect); + return (draw->min_x <= draw->max_x); +} + + +void galaxian_draw_background(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect) +{ + /* erase the background to black first */ + fillbitmap(bitmap, RGB_BLACK, cliprect); + + /* update the star origin to the current frame */ + stars_update_origin(machine); + + /* render stars if enabled */ + if (stars_enabled) + { + int y; + + /* iterate over scanlines */ + for (y = cliprect->min_y; y <= cliprect->max_y; y++) + { + UINT32 star_offs = star_rng_origin + y * 512; + stars_draw_row(bitmap, 256, y, star_offs, 0xff); + } + } +} + + +void frogger_draw_background(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect) +{ + rectangle draw; + + /* color split point verified on real machine */ + /* hmmm, according to schematics it is at 128+8; which is right? */ + draw = *cliprect; + draw.max_x = MIN(draw.max_x, (128+8) * GALAXIAN_XSCALE - 1); + if (draw.min_x <= draw.max_x) + fillbitmap(bitmap, MAKE_RGB(0,0,0x47), &draw); + + draw = *cliprect; + draw.min_x = MAX(draw.min_x, (128+8) * GALAXIAN_XSCALE); + if (draw.min_x <= draw.max_x) + fillbitmap(bitmap, RGB_BLACK, &draw); +} + + +void amidar_draw_background(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect) +{ + const UINT8 *prom = memory_region(REGION_USER1); + rectangle draw; + int x; + + for (x = 0; x < 32; x++) + if (flip_and_clip(&draw, x * 8, x * 8 + 7, cliprect)) + { + /* + The background PROM is connected the following way: + + bit 0 = 0 enables the blue gun if BCB is asserted + bit 1 = 0 enables the red gun if BCR is asserted and + the green gun if BCG is asserted + bits 2-7 are unconnected + + The background color generator is connected this way: + + RED - 270 ohm resistor + GREEN - 560 ohm resistor + BLUE - 470 ohm resistor + */ + UINT8 red = ((~prom[x] & 0x02) && background_red) ? 0x7c : 0x00; + UINT8 green = ((~prom[x] & 0x02) && background_green) ? 0x3c : 0x00; + UINT8 blue = ((~prom[x] & 0x01) && background_blue) ? 0x47 : 0x00; + fillbitmap(bitmap, MAKE_RGB(red, green, blue), &draw); + } +} + + +void turtles_draw_background(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect) +{ + /* + The background color generator is connected this way: + + RED - 390 ohm resistor + GREEN - 470 ohm resistor + BLUE - 390 ohm resistor + */ + fillbitmap(bitmap, MAKE_RGB(background_red * 0x55, background_green * 0x47, background_blue * 0x55), cliprect); +} + + +void scramble_draw_background(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect) +{ + /* blue background - 390 ohm resistor */ + fillbitmap(bitmap, background_enable ? MAKE_RGB(0,0,0x56) : RGB_BLACK, cliprect); + + /* update the star origin to the current frame */ + stars_update_origin(machine); + + /* render stars if enabled */ + if (stars_enabled) + { + int blink_state = stars_blink_state & 3; + int y; + + /* iterate over scanlines */ + for (y = cliprect->min_y; y <= cliprect->max_y; y++) + { + /* blink state 2 suppressed stars when 2V == 0 */ + if (blink_state != 2 || (y & 2) != 0) + { + /* blink states 0 and 1 suppress stars when certain bits of the color == 0 */ + static const UINT8 colormask_table[4] = { 0x20, 0x08, 0xff, 0xff }; + stars_draw_row(bitmap, 256, y, y * 512, colormask_table[blink_state]); + } + } + } +} + + +void jumpbug_draw_background(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect) +{ + /* blue background - 390 ohm resistor */ + fillbitmap(bitmap, background_enable ? MAKE_RGB(0,0,0x56) : RGB_BLACK, cliprect); + + /* update the star origin to the current frame */ + stars_update_origin(machine); + + /* render stars if enabled -- same as scramble but nothing in the status area */ + if (stars_enabled) + { + int blink_state = stars_blink_state & 3; + int y; + + /* iterate over scanlines */ + for (y = cliprect->min_y; y <= cliprect->max_y; y++) + { + /* blink state 2 suppressed stars when 2V == 0 */ + if (blink_state != 2 || (y & 2) != 0) + { + /* blink states 0 and 1 suppress stars when certain bits of the color == 0 */ + static const UINT8 colormask_table[4] = { 0x20, 0x08, 0xff, 0xff }; + stars_draw_row(bitmap, 240, y, y * 512, colormask_table[blink_state]); + } + } + } +} + + + +/************************************* + * + * Bullet rendering + * + *************************************/ + +INLINE void galaxian_draw_pixel(bitmap_t *bitmap, const rectangle *cliprect, int y, int x, rgb_t color) +{ + if (y >= cliprect->min_y && y <= cliprect->max_y) + { + x *= GALAXIAN_XSCALE; + x += GALAXIAN_H0START; + if (x >= cliprect->min_x && x <= cliprect->max_x) + *BITMAP_ADDR32(bitmap, y, x) = color; + + x++; + if (x >= cliprect->min_x && x <= cliprect->max_x) + *BITMAP_ADDR32(bitmap, y, x) = color; + + x++; + if (x >= cliprect->min_x && x <= cliprect->max_x) + *BITMAP_ADDR32(bitmap, y, x) = color; + } +} + + +void galaxian_draw_bullet(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int offs, int x, int y) +{ + /* + Both "shells" and "missiles" begin displaying when the horizontal counter + reaches $FC, and they stop displaying when it reaches $00, resulting in + 4-pixel-long shots. The first 7 entries are called "shells" and render as + white; the final entry is called a "missile" and renders as yellow. + */ + x -= 4; + galaxian_draw_pixel(bitmap, cliprect, y, x++, bullet_color[offs]); + galaxian_draw_pixel(bitmap, cliprect, y, x++, bullet_color[offs]); + galaxian_draw_pixel(bitmap, cliprect, y, x++, bullet_color[offs]); + galaxian_draw_pixel(bitmap, cliprect, y, x++, bullet_color[offs]); +} + + +void mshuttle_draw_bullet(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int offs, int x, int y) +{ + /* verified by schematics: + * both "W" and "Y" bullets are 4 pixels long + * "W" bullets are enabled when H6 == 0, and are always purple + * "Y" bullets are enabled when H6 == 1, and vary in color based on H4,H3,H2 + */ + static const rgb_t colors[8] = + { + MAKE_RGB(0xff,0xff,0xff), + MAKE_RGB(0xff,0xff,0x00), + MAKE_RGB(0x00,0xff,0xff), + MAKE_RGB(0x00,0xff,0x00), + MAKE_RGB(0xff,0x00,0xff), + MAKE_RGB(0xff,0x00,0x00), + MAKE_RGB(0x00,0x00,0xff), + MAKE_RGB(0x00,0x00,0x00) + }; + --x; + galaxian_draw_pixel(bitmap, cliprect, y, x, ((x & 0x40) == 0) ? colors[(x >> 2) & 7] : MAKE_RGB(0xff,0x00,0xff)); + --x; + galaxian_draw_pixel(bitmap, cliprect, y, x, ((x & 0x40) == 0) ? colors[(x >> 2) & 7] : MAKE_RGB(0xff,0x00,0xff)); + --x; + galaxian_draw_pixel(bitmap, cliprect, y, x, ((x & 0x40) == 0) ? colors[(x >> 2) & 7] : MAKE_RGB(0xff,0x00,0xff)); + --x; + galaxian_draw_pixel(bitmap, cliprect, y, x, ((x & 0x40) == 0) ? colors[(x >> 2) & 7] : MAKE_RGB(0xff,0x00,0xff)); +} + + +void scramble_draw_bullet(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int offs, int x, int y) +{ + /* + Scramble only has "shells", which begin displaying when the counter + reaches $FA, and stop displaying one pixel clock layer. All shells are + rendered as yellow. + */ + x -= 6; + galaxian_draw_pixel(bitmap, cliprect, y, x, MAKE_RGB(0xff,0xff,0x00)); +} + + +void theend_draw_bullet(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int offs, int x, int y) +{ + /* Same as galaxian except blue/green are swapped */ + x -= 4; + galaxian_draw_pixel(bitmap, cliprect, y, x++, MAKE_RGB(RGB_RED(bullet_color[offs]), RGB_BLUE(bullet_color[offs]), RGB_GREEN(bullet_color[offs]))); + galaxian_draw_pixel(bitmap, cliprect, y, x++, MAKE_RGB(RGB_RED(bullet_color[offs]), RGB_BLUE(bullet_color[offs]), RGB_GREEN(bullet_color[offs]))); + galaxian_draw_pixel(bitmap, cliprect, y, x++, MAKE_RGB(RGB_RED(bullet_color[offs]), RGB_BLUE(bullet_color[offs]), RGB_GREEN(bullet_color[offs]))); + galaxian_draw_pixel(bitmap, cliprect, y, x++, MAKE_RGB(RGB_RED(bullet_color[offs]), RGB_BLUE(bullet_color[offs]), RGB_GREEN(bullet_color[offs]))); +} + + + +/************************************* + * + * Generic extensions + * + *************************************/ + +void upper_extend_tile_info(UINT16 *code, UINT8 *color, UINT8 attrib, UINT8 x) +{ + /* tiles are in the upper half of a larger ROM */ + *code += 0x100; +} + + +void upper_extend_sprite_info(const UINT8 *base, UINT8 *sx, UINT8 *sy, UINT8 *flipx, UINT8 *flipy, UINT16 *code, UINT8 *color) +{ + /* sprites are in the upper half of a larger ROM */ + *code += 0x40; +} + + + +/************************************* + * + * Frogger extensions + * + *************************************/ + +void frogger_extend_tile_info(UINT16 *code, UINT8 *color, UINT8 attrib, UINT8 x) +{ + *color = ((*color >> 1) & 0x03) | ((*color << 2) & 0x04); +} + +void frogger_extend_sprite_info(const UINT8 *base, UINT8 *sx, UINT8 *sy, UINT8 *flipx, UINT8 *flipy, UINT16 *code, UINT8 *color) +{ + *color = ((*color >> 1) & 0x03) | ((*color << 2) & 0x04); +} + + + +/************************************* + * + * Ghostmuncher Galaxian extensions + * + *************************************/ + +void gmgalax_extend_tile_info(UINT16 *code, UINT8 *color, UINT8 attrib, UINT8 x) +{ + *code |= gfxbank[0] << 9; +// *color |= gfxbank[0] << 3; +} + +void gmgalax_extend_sprite_info(const UINT8 *base, UINT8 *sx, UINT8 *sy, UINT8 *flipx, UINT8 *flipy, UINT16 *code, UINT8 *color) +{ + *code |= (gfxbank[0] << 7) | 0x40; + *color |= gfxbank[0] << 3; +} + + + +/************************************* + * + * Pisces extensions + * + *************************************/ + +void pisces_extend_tile_info(UINT16 *code, UINT8 *color, UINT8 attrib, UINT8 x) +{ + *code |= gfxbank[0] << 8; +} + +void pisces_extend_sprite_info(const UINT8 *base, UINT8 *sx, UINT8 *sy, UINT8 *flipx, UINT8 *flipy, UINT16 *code, UINT8 *color) +{ + *code |= gfxbank[0] << 6; +} + + + +/************************************* + * + * Batman Part 2 extensions + * + *************************************/ + +void batman2_extend_tile_info(UINT16 *code, UINT8 *color, UINT8 attrib, UINT8 x) +{ + if (*code & 0x80) + *code |= gfxbank[0] << 8; +} + + + +/************************************* + * + * Moon Cresta extensions + * + *************************************/ + +void mooncrst_extend_tile_info(UINT16 *code, UINT8 *color, UINT8 attrib, UINT8 x) +{ + if (gfxbank[2] && (*code & 0xc0) == 0x80) + *code = (*code & 0x3f) | (gfxbank[0] << 6) | (gfxbank[1] << 7) | 0x0100; +} + +void mooncrst_extend_sprite_info(const UINT8 *base, UINT8 *sx, UINT8 *sy, UINT8 *flipx, UINT8 *flipy, UINT16 *code, UINT8 *color) +{ + if (gfxbank[2] && (*code & 0x30) == 0x20) + *code = (*code & 0x0f) | (gfxbank[1] << 4) | (gfxbank[0] << 5) | 0x40; +} + + + +/************************************* + * + * Moon Quasar extensions + * + *************************************/ + +void moonqsr_extend_tile_info(UINT16 *code, UINT8 *color, UINT8 attrib, UINT8 x) +{ + *code |= (attrib & 0x20) << 3; +} + +void moonqsr_extend_sprite_info(const UINT8 *base, UINT8 *sx, UINT8 *sy, UINT8 *flipx, UINT8 *flipy, UINT16 *code, UINT8 *color) +{ + *code |= (base[2] & 0x20) << 1; +} + + + +/************************************* + * + * Moon Shuttle extensions + * + *************************************/ + +void mshuttle_extend_tile_info(UINT16 *code, UINT8 *color, UINT8 attrib, UINT8 x) +{ + *code |= (attrib & 0x30) << 4; +} + +void mshuttle_extend_sprite_info(const UINT8 *base, UINT8 *sx, UINT8 *sy, UINT8 *flipx, UINT8 *flipy, UINT16 *code, UINT8 *color) +{ + *code |= (base[2] & 0x30) << 2; +} + + + +/************************************* + * + * Jumpbug extensions + * + *************************************/ + +void jumpbug_extend_tile_info(UINT16 *code, UINT8 *color, UINT8 attrib, UINT8 x) +{ + if ((*code & 0xc0) == 0x80 && (gfxbank[2] & 0x01)) + *code += 128 + (( gfxbank[0] & 0x01) << 6) + + (( gfxbank[1] & 0x01) << 7) + + ((~gfxbank[4] & 0x01) << 8); +} + +void jumpbug_extend_sprite_info(const UINT8 *base, UINT8 *sx, UINT8 *sy, UINT8 *flipx, UINT8 *flipy, UINT16 *code, UINT8 *color) +{ + if ((*code & 0x30) == 0x20 && (gfxbank[2] & 0x01) != 0) + { + *code += 32 + (( gfxbank[0] & 0x01) << 4) + + (( gfxbank[1] & 0x01) << 5) + + ((~gfxbank[4] & 0x01) << 6); + } +} diff --git a/src/mame/video/galaxold.c b/src/mame/video/galaxold.c index 8c1f51e863a..d0e08f676f9 100644 --- a/src/mame/video/galaxold.c +++ b/src/mame/video/galaxold.c @@ -51,40 +51,25 @@ static UINT8 color_mask; static tilemap *dambustr_tilemap2; static UINT8 *dambustr_videoram2; static void (*modify_charcode)(UINT16 *code,UINT8 x); /* function to call to do character banking */ -static void gmgalax_modify_charcode(UINT16 *code,UINT8 x); static void mooncrst_modify_charcode(UINT16 *code,UINT8 x); -static void mooncrgx_modify_charcode(UINT16 *code,UINT8 x); -static void moonqsr_modify_charcode(UINT16 *code,UINT8 x); -static void mshuttle_modify_charcode(UINT16 *code,UINT8 x); static void pisces_modify_charcode(UINT16 *code,UINT8 x); static void mimonkey_modify_charcode(UINT16 *code,UINT8 x); -static void batman2_modify_charcode(UINT16 *code,UINT8 x); static void mariner_modify_charcode(UINT16 *code,UINT8 x); -static void jumpbug_modify_charcode(UINT16 *code,UINT8 x); static void dambustr_modify_charcode(UINT16 *code,UINT8 x); static void (*modify_spritecode)(UINT8 *spriteram,int*,int*,int*,int); /* function to call to do sprite banking */ -static void gmgalax_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs); -static void mooncrst_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs); -static void mooncrgx_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs); -static void moonqsr_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs); static void mshuttle_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs); static void calipso_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs); -static void pisces_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs); static void mimonkey_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs); static void batman2_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs); -static void jumpbug_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs); static void dkongjrm_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs); static void ad2083_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs); static void dambustr_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs); static void (*modify_color)(UINT8 *color); /* function to call to do modify how the color codes map to the PROM */ -static void frogger_modify_color(UINT8 *color); -static void gmgalax_modify_color(UINT8 *color); static void drivfrcg_modify_color(UINT8 *color); static void (*modify_ypos)(UINT8*); /* function to call to do modify how vertical positioning bits are connected */ -static void frogger_modify_ypos(UINT8 *sy); static TIMER_CALLBACK( stars_blink_callback ); static TIMER_CALLBACK( stars_scroll_callback ); @@ -112,7 +97,6 @@ static void noop_draw_stars(running_machine *machine, bitmap_t *bitmap, cons static void scramble_draw_stars(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect); static void rescue_draw_stars(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect); static void mariner_draw_stars(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect); -static void jumpbug_draw_stars(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect); static void start_stars_blink_timer(double ra, double rb, double c); static void start_stars_scroll_timer(running_machine *machine); @@ -120,9 +104,7 @@ static void start_stars_scroll_timer(running_machine *machine); static UINT8 darkplnt_bullet_color; static void (*draw_bullets)(bitmap_t *,int,int,int,const rectangle *); /* function to call to draw a bullet */ static void galaxold_draw_bullets(bitmap_t *bitmap, int offs, int x, int y, const rectangle *cliprect); -static void gteikob2_draw_bullets(bitmap_t *bitmap, int offs, int x, int y, const rectangle *cliprect); static void scramble_draw_bullets(bitmap_t *bitmap, int offs, int x, int y, const rectangle *cliprect); -static void theend_draw_bullets(bitmap_t *bitmap, int offs, int x, int y, const rectangle *cliprect); static void darkplnt_draw_bullets(bitmap_t *bitmap, int offs, int x, int y, const rectangle *cliprect); static void dambustr_draw_bullets(bitmap_t *bitmap, int offs, int x, int y, const rectangle *cliprect); @@ -134,7 +116,6 @@ static void galaxold_draw_background(bitmap_t *bitmap, const rectangle *cliprect static void scramble_draw_background(bitmap_t *bitmap, const rectangle *cliprect); static void turtles_draw_background(bitmap_t *bitmap, const rectangle *cliprect); static void mariner_draw_background(bitmap_t *bitmap, const rectangle *cliprect); -static void frogger_draw_background(bitmap_t *bitmap, const rectangle *cliprect); static void stratgyx_draw_background(bitmap_t *bitmap, const rectangle *cliprect); static void minefld_draw_background(bitmap_t *bitmap, const rectangle *cliprect); static void rescue_draw_background(bitmap_t *bitmap, const rectangle *cliprect); @@ -183,7 +164,7 @@ static bitmap_t *dambustr_tmpbitmap; The RGB outputs have a 470 ohm pull-down each. ***************************************************************************/ -PALETTE_INIT( galaxian ) +PALETTE_INIT( galaxold ) { int i; @@ -222,9 +203,9 @@ PALETTE_INIT( galaxian ) palette_set_color(machine,BULLETS_COLOR_BASE+1,MAKE_RGB(0xef,0xef,0xef)); } -PALETTE_INIT( scramble ) +PALETTE_INIT( scrambold ) { - PALETTE_INIT_CALL(galaxian); + PALETTE_INIT_CALL(galaxold); /* blue background - 390 ohm resistor */ @@ -233,43 +214,19 @@ PALETTE_INIT( scramble ) PALETTE_INIT( moonwar ) { - PALETTE_INIT_CALL(scramble); + PALETTE_INIT_CALL(scrambold); /* wire mod to connect the bullet blue output to the 220 ohm resistor */ palette_set_color(machine,BULLETS_COLOR_BASE+0,MAKE_RGB(0xef,0xef,0x97)); } -PALETTE_INIT( turtles ) -{ - int i; - - - PALETTE_INIT_CALL(galaxian); - - - /* The background color generator is connected this way: - - RED - 390 ohm resistor - GREEN - 470 ohm resistor - BLUE - 390 ohm resistor */ - - for (i = 0; i < 8; i++) - { - int r = BIT(i,0) * 0x55; - int g = BIT(i,1) * 0x47; - int b = BIT(i,2) * 0x55; - - palette_set_color_rgb(machine,BACKGROUND_COLOR_BASE+i,r,g,b); - } -} - PALETTE_INIT( stratgyx ) { int i; - PALETTE_INIT_CALL(galaxian); + PALETTE_INIT_CALL(galaxold); /* The background color generator is connected this way: @@ -288,15 +245,6 @@ PALETTE_INIT( stratgyx ) } } -PALETTE_INIT( frogger ) -{ - PALETTE_INIT_CALL(galaxian); - - - /* blue background - 470 ohm resistor */ - palette_set_color(machine,BACKGROUND_COLOR_BASE,MAKE_RGB(0,0,0x47)); -} - PALETTE_INIT( rockclim ) { int i; @@ -384,7 +332,7 @@ PALETTE_INIT( minefld ) int i; - PALETTE_INIT_CALL(galaxian); + PALETTE_INIT_CALL(galaxold); /* set up background colors */ @@ -415,7 +363,7 @@ PALETTE_INIT( rescue ) int i; - PALETTE_INIT_CALL(galaxian); + PALETTE_INIT_CALL(galaxold); /* set up background colors */ @@ -436,7 +384,7 @@ PALETTE_INIT( mariner ) int i; - PALETTE_INIT_CALL(galaxian); + PALETTE_INIT_CALL(galaxold); /* set up background colors */ @@ -465,7 +413,7 @@ PALETTE_INIT( dambustr ) { int i; - PALETTE_INIT_CALL(galaxian); + PALETTE_INIT_CALL(galaxold); /* @@ -487,6 +435,30 @@ PALETTE_INIT( dambustr ) } +PALETTE_INIT( turtles ) +{ + int i; + + + PALETTE_INIT_CALL(galaxold); + + + /* The background color generator is connected this way: + + RED - 390 ohm resistor + GREEN - 470 ohm resistor + BLUE - 390 ohm resistor */ + + for (i = 0; i < 8; i++) + { + int r = BIT(i,0) * 0x55; + int g = BIT(i,1) * 0x47; + int b = BIT(i,2) * 0x55; + + palette_set_color_rgb(machine,BACKGROUND_COLOR_BASE+i,r,g,b); + } +} + /*************************************************************************** @@ -557,7 +529,7 @@ VIDEO_START( galaxold_plain ) tilemap_set_scroll = tilemap_set_scrolly; } -VIDEO_START( galaxian ) +VIDEO_START( galaxold ) { VIDEO_START_CALL(galaxold_plain); @@ -566,72 +538,7 @@ VIDEO_START( galaxian ) draw_bullets = galaxold_draw_bullets; } -VIDEO_START( gmgalax ) -{ - VIDEO_START_CALL(galaxian); - - modify_charcode = gmgalax_modify_charcode; - modify_spritecode = gmgalax_modify_spritecode; - modify_color = gmgalax_modify_color; -} - -VIDEO_START( mooncrst ) -{ - VIDEO_START_CALL(galaxian); - - modify_charcode = mooncrst_modify_charcode; - modify_spritecode = mooncrst_modify_spritecode; -} - -VIDEO_START( mooncrgx ) -{ - VIDEO_START_CALL(galaxian); - - modify_charcode = mooncrgx_modify_charcode; - modify_spritecode = mooncrgx_modify_spritecode; -} - -VIDEO_START( moonqsr ) -{ - VIDEO_START_CALL(galaxian); - - modify_charcode = moonqsr_modify_charcode; - modify_spritecode = moonqsr_modify_spritecode; -} - -VIDEO_START( mshuttle ) -{ - VIDEO_START_CALL(galaxian); - - modify_charcode = mshuttle_modify_charcode; - modify_spritecode = mshuttle_modify_spritecode; -} - -VIDEO_START( pisces ) -{ - VIDEO_START_CALL(galaxian); - - modify_charcode = pisces_modify_charcode; - modify_spritecode = pisces_modify_spritecode; -} - -VIDEO_START( gteikob2 ) -{ - VIDEO_START_CALL(pisces); - - draw_bullets = gteikob2_draw_bullets; -} - -VIDEO_START( batman2 ) -{ - VIDEO_START_CALL(galaxian); - - modify_charcode = batman2_modify_charcode; - modify_spritecode = batman2_modify_spritecode; - -} - -VIDEO_START( scramble ) +VIDEO_START( scrambold ) { VIDEO_START_CALL(galaxold_plain); @@ -647,34 +554,6 @@ VIDEO_START( scramble ) draw_background = scramble_draw_background; } -VIDEO_START( sfx ) -{ - video_start_common(machine,tilemap_scan_cols); - - tilemap_set_scroll_rows(bg_tilemap, 32); - tilemap_set_scroll = tilemap_set_scrollx; - - draw_stars = scramble_draw_stars; - - draw_bullets = scramble_draw_bullets; - - draw_background = turtles_draw_background; -} - -VIDEO_START( turtles ) -{ - VIDEO_START_CALL(galaxold_plain); - - draw_background = turtles_draw_background; -} - -VIDEO_START( theend ) -{ - VIDEO_START_CALL(galaxian); - - draw_bullets = theend_draw_bullets; -} - VIDEO_START( darkplnt ) { VIDEO_START_CALL(galaxold_plain); @@ -685,7 +564,7 @@ VIDEO_START( darkplnt ) VIDEO_START( rescue ) { - VIDEO_START_CALL(scramble); + VIDEO_START_CALL(scrambold); draw_stars = rescue_draw_stars; @@ -694,7 +573,7 @@ VIDEO_START( rescue ) VIDEO_START( minefld ) { - VIDEO_START_CALL(scramble); + VIDEO_START_CALL(scrambold); draw_stars = rescue_draw_stars; @@ -710,7 +589,7 @@ VIDEO_START( stratgyx ) VIDEO_START( ckongs ) { - VIDEO_START_CALL(scramble); + VIDEO_START_CALL(scrambold); modify_spritecode = mshuttle_modify_spritecode; } @@ -739,42 +618,9 @@ VIDEO_START( mariner ) modify_charcode = mariner_modify_charcode; } -VIDEO_START( froggers ) -{ - VIDEO_START_CALL(galaxold_plain); - - draw_background = frogger_draw_background; - modify_color = frogger_modify_color; -} - -VIDEO_START( frogger ) -{ - VIDEO_START_CALL(froggers); - - modify_ypos = frogger_modify_ypos; -} - -VIDEO_START( jumpbug ) -{ - VIDEO_START_CALL(scramble); - - draw_stars = jumpbug_draw_stars; - - modify_charcode = jumpbug_modify_charcode; - modify_spritecode = jumpbug_modify_spritecode; -} - -VIDEO_START( azurian ) -{ - VIDEO_START_CALL(galaxold_plain); - - draw_stars = galaxold_draw_stars; - draw_bullets = scramble_draw_bullets; /* Shots are yellow like in Scramble */ -} - VIDEO_START( mimonkey ) { - VIDEO_START_CALL(scramble); + VIDEO_START_CALL(scrambold); modify_charcode = mimonkey_modify_charcode; modify_spritecode = mimonkey_modify_spritecode; @@ -792,7 +638,7 @@ VIDEO_START( dkongjrm ) VIDEO_START( newsin7 ) { - VIDEO_START_CALL(scramble); + VIDEO_START_CALL(scrambold); spritevisiblearea = &_spritevisibleareaflipx; spritevisibleareaflipx = &_spritevisiblearea; @@ -800,11 +646,81 @@ VIDEO_START( newsin7 ) VIDEO_START( scorpion ) { - VIDEO_START_CALL(scramble); + VIDEO_START_CALL(scrambold); modify_spritecode = batman2_modify_spritecode; } +static void pisces_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs) +{ + *code |= (gfxbank[0] << 6); +} + +VIDEO_START( pisces ) +{ + VIDEO_START_CALL(galaxold); + + modify_charcode = pisces_modify_charcode; + modify_spritecode = pisces_modify_spritecode; +} + +static void theend_draw_bullets(bitmap_t *bitmap, int offs, int x, int y, const rectangle *cliprect) +{ + int i; + + + /* same as Galaxian, but all bullets are yellow */ + for (i = 0; i < 4; i++) + { + x--; + + if ((x >= cliprect->min_x) && (x <= cliprect->max_x) && (y >= cliprect->min_y) && (y <= cliprect->max_y)) + *BITMAP_ADDR16(bitmap, y, x) = BULLETS_COLOR_BASE; + } +} + +VIDEO_START( theend ) +{ + VIDEO_START_CALL(galaxold); + + draw_bullets = theend_draw_bullets; +} + +static void mooncrst_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs) +{ + if (gfxbank[2] && ((*code & 0x30) == 0x20)) + { + *code = (*code & 0x0f) | (gfxbank[0] << 4) | (gfxbank[1] << 5) | 0x40; + } +} + +VIDEO_START( mooncrst ) +{ + VIDEO_START_CALL(galaxold); + + modify_charcode = mooncrst_modify_charcode; + modify_spritecode = mooncrst_modify_spritecode; +} + +static void batman2_modify_charcode(UINT16 *code,UINT8 x) +{ + if (*code & 0x80) + { + *code |= (gfxbank[0] << 8); + } +} + +VIDEO_START( batman2 ) +{ + VIDEO_START_CALL(galaxold); + + modify_charcode = batman2_modify_charcode; + modify_spritecode = batman2_modify_spritecode; + +} + + + static void rockclim_draw_background(bitmap_t *bitmap, const rectangle *cliprect) { tilemap_draw(bitmap,cliprect,rockclim_tilemap, 0,0); @@ -817,7 +733,7 @@ static void rockclim_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int VIDEO_START( rockclim ) { - VIDEO_START_CALL(galaxian); + VIDEO_START_CALL(galaxold); rockclim_tilemap = tilemap_create(rockclim_get_tile_info,tilemap_scan_rows,8,8,64,32); draw_background = rockclim_draw_background; modify_charcode = mooncrst_modify_charcode; @@ -1003,7 +919,7 @@ static TILE_GET_INFO( dambustr_get_tile_info2 ) VIDEO_START( dambustr ) { - VIDEO_START_CALL(galaxian); + VIDEO_START_CALL(galaxold); dambustr_bg_split_line = 0; dambustr_bg_color_1 = 0; @@ -1107,22 +1023,22 @@ WRITE8_HANDLER( hotshock_flip_screen_w ) } -WRITE8_HANDLER( scramble_background_enable_w ) +WRITE8_HANDLER( scrambold_background_enable_w ) { background_enable = data & 0x01; } -WRITE8_HANDLER( scramble_background_red_w ) +WRITE8_HANDLER( scrambold_background_red_w ) { background_red = data & 0x01; } -WRITE8_HANDLER( scramble_background_green_w ) +WRITE8_HANDLER( scrambold_background_green_w ) { background_green = data & 0x01; } -WRITE8_HANDLER( scramble_background_blue_w ) +WRITE8_HANDLER( scrambold_background_blue_w ) { background_blue = data & 0x01; } @@ -1200,11 +1116,6 @@ WRITE8_HANDLER( dambustr_bg_color_w ) /* character banking functions */ -static void gmgalax_modify_charcode(UINT16 *code,UINT8 x) -{ - *code |= (gfxbank[0] << 9); -} - static void mooncrst_modify_charcode(UINT16 *code,UINT8 x) { if (gfxbank[2] && ((*code & 0xc0) == 0x80)) @@ -1213,24 +1124,6 @@ static void mooncrst_modify_charcode(UINT16 *code,UINT8 x) } } -static void mooncrgx_modify_charcode(UINT16 *code,UINT8 x) -{ - if (gfxbank[2] && ((*code & 0xc0) == 0x80)) - { - *code = (*code & 0x3f) | (gfxbank[1] << 6) | (gfxbank[0] << 7) | 0x0100; - } -} - -static void moonqsr_modify_charcode(UINT16 *code,UINT8 x) -{ - *code |= ((galaxold_attributesram[(x << 1) | 1] & 0x20) << 3); -} - -static void mshuttle_modify_charcode(UINT16 *code,UINT8 x) -{ - *code |= ((galaxold_attributesram[(x << 1) | 1] & 0x30) << 4); -} - static void pisces_modify_charcode(UINT16 *code,UINT8 x) { *code |= (gfxbank[0] << 8); @@ -1241,14 +1134,6 @@ static void mimonkey_modify_charcode(UINT16 *code,UINT8 x) *code |= (gfxbank[0] << 8) | (gfxbank[2] << 9); } -static void batman2_modify_charcode(UINT16 *code,UINT8 x) -{ - if (*code & 0x80) - { - *code |= (gfxbank[0] << 8); - } -} - static void mariner_modify_charcode(UINT16 *code,UINT8 x) { UINT8 *prom; @@ -1261,18 +1146,6 @@ static void mariner_modify_charcode(UINT16 *code,UINT8 x) *code |= ((prom[x] & 0x01) << 8); } -static void jumpbug_modify_charcode(UINT16 *code,UINT8 x) -{ - if (((*code & 0xc0) == 0x80) && - (gfxbank[2] & 0x01)) - { - *code += 128 + (( gfxbank[0] & 0x01) << 6) + - (( gfxbank[1] & 0x01) << 7) + - ((~gfxbank[4] & 0x01) << 8); - } -} - - static void dambustr_modify_charcode(UINT16 *code,UINT8 x) { if (dambustr_char_bank == 0) { // text mode @@ -1290,32 +1163,6 @@ static void dambustr_modify_charcode(UINT16 *code,UINT8 x) /* sprite banking functions */ -static void gmgalax_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs) -{ - *code |= (gfxbank[0] << 7) | 0x40; -} - -static void mooncrst_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs) -{ - if (gfxbank[2] && ((*code & 0x30) == 0x20)) - { - *code = (*code & 0x0f) | (gfxbank[0] << 4) | (gfxbank[1] << 5) | 0x40; - } -} - -static void mooncrgx_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs) -{ - if (gfxbank[2] && ((*code & 0x30) == 0x20)) - { - *code = (*code & 0x0f) | (gfxbank[1] << 4) | (gfxbank[0] << 5) | 0x40; - } -} - -static void moonqsr_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs) -{ - *code |= ((spriteram[offs + 2] & 0x20) << 1); -} - static void mshuttle_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs) { *code |= ((spriteram[offs + 2] & 0x30) << 2); @@ -1329,11 +1176,6 @@ static void calipso_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy = 0; } -static void pisces_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs) -{ - *code |= (gfxbank[0] << 6); -} - static void mimonkey_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs) { *code |= (gfxbank[0] << 6) | (gfxbank[2] << 7); @@ -1345,17 +1187,6 @@ static void batman2_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *code |= 0x40; } -static void jumpbug_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs) -{ - if (((*code & 0x30) == 0x20) && - (gfxbank[2] & 0x01) != 0) - { - *code += 32 + (( gfxbank[0] & 0x01) << 4) + - (( gfxbank[1] & 0x01) << 5) + - ((~gfxbank[4] & 0x01) << 6); - } -} - static void dkongjrm_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs) { /* No x flip */ @@ -1378,16 +1209,6 @@ static void dambustr_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int /* color PROM mapping functions */ -static void frogger_modify_color(UINT8 *color) -{ - *color = ((*color >> 1) & 0x03) | ((*color << 2) & 0x04); -} - -static void gmgalax_modify_color(UINT8 *color) -{ - *color |= (gfxbank[0] << 3); -} - static void drivfrcg_modify_color(UINT8 *color) { *color = ((*color & 0x40) >> 3) | (*color & 7); @@ -1395,11 +1216,6 @@ static void drivfrcg_modify_color(UINT8 *color) /* y position mapping functions */ -static void frogger_modify_ypos(UINT8 *sy) -{ - *sy = (*sy << 4) | (*sy >> 4); -} - /* bullet drawing functions */ @@ -1425,11 +1241,6 @@ static void galaxold_draw_bullets(bitmap_t *bitmap, int offs, int x, int y, cons } } -static void gteikob2_draw_bullets(bitmap_t *bitmap, int offs, int x, int y, const rectangle *cliprect) -{ - galaxold_draw_bullets(bitmap, offs, 260 - x, y, cliprect); -} - static void scramble_draw_bullets(bitmap_t *bitmap, int offs, int x, int y, const rectangle *cliprect) { if (flipscreen_x) x++; @@ -1451,21 +1262,6 @@ static void darkplnt_draw_bullets(bitmap_t *bitmap, int offs, int x, int y, cons *BITMAP_ADDR16(bitmap, y, x) = 32 + darkplnt_bullet_color; } -static void theend_draw_bullets(bitmap_t *bitmap, int offs, int x, int y, const rectangle *cliprect) -{ - int i; - - - /* same as Galaxian, but all bullets are yellow */ - for (i = 0; i < 4; i++) - { - x--; - - if ((x >= cliprect->min_x) && (x <= cliprect->max_x) && (y >= cliprect->min_y) && (y <= cliprect->max_y)) - *BITMAP_ADDR16(bitmap, y, x) = BULLETS_COLOR_BASE; - } -} - static void dambustr_draw_bullets(bitmap_t *bitmap, int offs, int x, int y, const rectangle *cliprect) { int i, color; @@ -1517,21 +1313,6 @@ static void turtles_draw_background(bitmap_t *bitmap, const rectangle *cliprect) fillbitmap(bitmap,BACKGROUND_COLOR_BASE + color,cliprect); } -static void frogger_draw_background(bitmap_t *bitmap, const rectangle *cliprect) -{ - /* color split point verified on real machine */ - if (flipscreen_x) - { - plot_box(bitmap, 0, 0, 128, 256, 0); - plot_box(bitmap, 128, 0, 128, 256, BACKGROUND_COLOR_BASE); - } - else - { - plot_box(bitmap, 0, 0, 128, 256, BACKGROUND_COLOR_BASE); - plot_box(bitmap, 128, 0, 128, 256, 0); - } -} - static void stratgyx_draw_background(bitmap_t *bitmap, const rectangle *cliprect) { UINT8 x; @@ -1929,58 +1710,6 @@ static void mariner_draw_stars(running_machine *machine, bitmap_t *bitmap, const } } -static void jumpbug_draw_stars(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect) -{ - int offs; - - - if (!timer_adjusted) - { - start_stars_blink_timer(100000, 10000, 0.00001); - start_stars_scroll_timer(machine); - timer_adjusted = 1; - } - - - for (offs = 0;offs < STAR_COUNT;offs++) - { - int x,y; - - - x = stars[offs].x >> 1; - y = stars[offs].y; - - /* determine when to skip plotting */ - if ((y & 0x01) ^ ((x >> 3) & 0x01)) - { - switch (stars_blink_state & 0x03) - { - case 0: - if (!(stars[offs].color & 0x01)) continue; - break; - case 1: - if (!(stars[offs].color & 0x04)) continue; - break; - case 2: - if (!(stars[offs].y & 0x02)) continue; - break; - case 3: - /* always plot */ - break; - } - - x = ((stars[offs].x + stars_scrollpos) & 0x01ff) >> 1; - y = ( stars[offs].y + ((stars_scrollpos + stars[offs].x) >> 9)) & 0xff; - - /* no stars in the status area */ - if (x >= 240) continue; - - plot_star(bitmap, x, y, stars[offs].color, cliprect); - } - } -} - - static TIMER_CALLBACK( stars_blink_callback ) { stars_blink_state++; @@ -2122,7 +1851,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, UINT8 *spri } -VIDEO_UPDATE( galaxian ) +VIDEO_UPDATE( galaxold ) { draw_background(bitmap, cliprect);