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);