From 1eb52a7e17bca37519d1b7195e3e53af85db1b52 Mon Sep 17 00:00:00 2001 From: Scott Stone Date: Sat, 18 Dec 2010 02:41:14 +0000 Subject: [PATCH] Fixed up Maze Invaders inputs, adding notes (Fixed MT#4144). Fixed up Dip Locations to match open/closed states shown in service modes for the centiped.c driver. [Tafoid] --- src/mame/drivers/centiped.c | 180 +++++++++++++++++++----------------- 1 file changed, 94 insertions(+), 86 deletions(-) diff --git a/src/mame/drivers/centiped.c b/src/mame/drivers/centiped.c index 59b0728e71f..db9b560e774 100644 --- a/src/mame/drivers/centiped.c +++ b/src/mame/drivers/centiped.c @@ -416,6 +416,19 @@ The Two Bit Score "Dux" hack was circulated and common enough for inclusion Off On On For every 5 coins, add 1 coin ------------------------------------------ +Maze Invaders: + +- The controls are somewhat like Food Fight in the way that they need to be +'calibrated' as you play or before you start by pushing a couple seconds in +each direction to assign the boundries. + +- The second button makes an audible tone while playing the game but does +not appear to be used in any capacity in the game. The prototype cabinet +(looks like it was made from a Tempest cabinet shell) shows 2 buttons, +so it is mapped. + +http://www.atarigames.com/safestuff/mazeinvaders.html + ***************************************************************************/ #include "emu.h" @@ -898,43 +911,43 @@ static INPUT_PORTS_START( centiped ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_START("DSW1") - PORT_DIPNAME( 0x03, 0x00, DEF_STR( Language ) ) PORT_DIPLOCATION("N9:1,2") + PORT_DIPNAME( 0x03, 0x00, DEF_STR( Language ) ) PORT_DIPLOCATION("N9:!1,!2") PORT_DIPSETTING( 0x00, DEF_STR( English ) ) PORT_DIPSETTING( 0x01, DEF_STR( German ) ) PORT_DIPSETTING( 0x02, DEF_STR( French ) ) PORT_DIPSETTING( 0x03, DEF_STR( Spanish ) ) - PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Lives ) ) PORT_DIPLOCATION("N9:3,4") + PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Lives ) ) PORT_DIPLOCATION("N9:!3,!4") PORT_DIPSETTING( 0x00, "2" ) PORT_DIPSETTING( 0x04, "3" ) PORT_DIPSETTING( 0x08, "4" ) PORT_DIPSETTING( 0x0c, "5" ) - PORT_DIPNAME( 0x30, 0x10, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("N9:5,6") + PORT_DIPNAME( 0x30, 0x10, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("N9:!5,!6") PORT_DIPSETTING( 0x00, "10000" ) PORT_DIPSETTING( 0x10, "12000" ) PORT_DIPSETTING( 0x20, "15000" ) PORT_DIPSETTING( 0x30, "20000" ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("N9:7") + PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("N9:!7") PORT_DIPSETTING( 0x40, DEF_STR( Easy ) ) PORT_DIPSETTING( 0x00, DEF_STR( Hard ) ) - PORT_DIPNAME( 0x80, 0x00, "Credit Minimum" ) PORT_DIPLOCATION("N9:8") + PORT_DIPNAME( 0x80, 0x00, "Credit Minimum" ) PORT_DIPLOCATION("N9:!8") PORT_DIPSETTING( 0x00, "1" ) PORT_DIPSETTING( 0x80, "2" ) PORT_START("DSW2") - PORT_DIPNAME( 0x03, 0x02, DEF_STR( Coinage ) ) PORT_DIPLOCATION("N8:1,2") + PORT_DIPNAME( 0x03, 0x02, DEF_STR( Coinage ) ) PORT_DIPLOCATION("N8:!1,!2") PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) ) - PORT_DIPNAME( 0x0c, 0x00, "Right Coin" ) PORT_DIPLOCATION("N8:3,4") + PORT_DIPNAME( 0x0c, 0x00, "Right Coin" ) PORT_DIPLOCATION("N8:!3,!4") PORT_DIPSETTING( 0x00, "*1" ) PORT_DIPSETTING( 0x04, "*4" ) PORT_DIPSETTING( 0x08, "*5" ) PORT_DIPSETTING( 0x0c, "*6" ) - PORT_DIPNAME( 0x10, 0x00, "Left Coin" ) PORT_DIPLOCATION("N8:5") + PORT_DIPNAME( 0x10, 0x00, "Left Coin" ) PORT_DIPLOCATION("N8:!5") PORT_DIPSETTING( 0x00, "*1" ) PORT_DIPSETTING( 0x10, "*2" ) - PORT_DIPNAME( 0xe0, 0x00, "Bonus Coins" ) PORT_DIPLOCATION("N8:6,7,8") + PORT_DIPNAME( 0xe0, 0x00, "Bonus Coins" ) PORT_DIPLOCATION("N8:!6,!7,!8") PORT_DIPSETTING( 0x00, DEF_STR( None ) ) PORT_DIPSETTING( 0x20, "3 credits/2 coins" ) PORT_DIPSETTING( 0x40, "5 credits/4 coins" ) @@ -959,7 +972,7 @@ static INPUT_PORTS_START( caterplr ) PORT_INCLUDE( centiped ) PORT_MODIFY("DSW1") - PORT_DIPNAME( 0x03, 0x00, DEF_STR( Language ) ) PORT_DIPLOCATION("N9:1,2") + PORT_DIPNAME( 0x03, 0x00, DEF_STR( Language ) ) PORT_DIPLOCATION("N9:!1,!2") PORT_DIPSETTING( 0x00, DEF_STR( English ) ) PORT_DIPSETTING( 0x01, DEF_STR( German ) ) PORT_DIPSETTING( 0x02, DEF_STR( French ) ) @@ -981,35 +994,35 @@ static INPUT_PORTS_START( centtime ) PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_MODIFY("DSW1") - PORT_DIPNAME( 0x03, 0x00, DEF_STR( Language ) ) PORT_DIPLOCATION("SW1:1,2") + PORT_DIPNAME( 0x03, 0x00, DEF_STR( Language ) ) PORT_DIPLOCATION("SW1:!1,!2") PORT_DIPSETTING( 0x00, DEF_STR( English ) ) PORT_DIPSETTING( 0x01, DEF_STR( German ) ) PORT_DIPSETTING( 0x02, DEF_STR( French ) ) PORT_DIPSETTING( 0x03, DEF_STR( Spanish ) ) - PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:3,4") + PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:!3,!4") PORT_DIPSETTING( 0x00, "2" ) PORT_DIPSETTING( 0x04, "3" ) PORT_DIPSETTING( 0x08, "4" ) PORT_DIPSETTING( 0x0c, "5" ) - PORT_DIPNAME( 0x30, 0x10, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:5,6") + PORT_DIPNAME( 0x30, 0x10, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:!5,!6") PORT_DIPSETTING( 0x00, "10000" ) PORT_DIPSETTING( 0x10, "12000" ) PORT_DIPSETTING( 0x20, "15000" ) PORT_DIPSETTING( 0x30, "20000" ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:7") + PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:!7") PORT_DIPSETTING( 0x40, DEF_STR( Easy ) ) PORT_DIPSETTING( 0x00, DEF_STR( Hard ) ) - PORT_DIPNAME( 0x80, 0x00, "Credit Minimum" ) PORT_DIPLOCATION("SW1:8") + PORT_DIPNAME( 0x80, 0x00, "Credit Minimum" ) PORT_DIPLOCATION("SW1:!8") PORT_DIPSETTING( 0x00, "1" ) PORT_DIPSETTING( 0x80, "2" ) PORT_MODIFY("DSW2") - PORT_DIPNAME( 0x03, 0x02, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW2:1,2") + PORT_DIPNAME( 0x03, 0x02, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW2:!1,!2") PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) ) - PORT_DIPNAME( 0x1c, 0x00, DEF_STR( Game_Time ) ) PORT_DIPLOCATION("SW2:3,4,5") + PORT_DIPNAME( 0x1c, 0x00, DEF_STR( Game_Time ) ) PORT_DIPLOCATION("SW2:!3,!4,!5") PORT_DIPSETTING( 0x00, "Untimed" ) PORT_DIPSETTING( 0x04, "1 Minute" ) PORT_DIPSETTING( 0x08, "2 Minutes" ) @@ -1018,7 +1031,7 @@ static INPUT_PORTS_START( centtime ) PORT_DIPSETTING( 0x14, "5 Minutes" ) PORT_DIPSETTING( 0x18, "6 Minutes" ) PORT_DIPSETTING( 0x1c, "7 Minutes" ) - PORT_DIPNAME( 0xe0, 0x00, "Bonus Coins" ) PORT_DIPLOCATION("SW2:6,7,8") + PORT_DIPNAME( 0xe0, 0x00, "Bonus Coins" ) PORT_DIPLOCATION("SW2:!6,!7,!8") PORT_DIPSETTING( 0x00, DEF_STR( None ) ) PORT_DIPSETTING( 0x20, "3 credits/2 coins" ) PORT_DIPSETTING( 0x40, "5 credits/4 coins" ) @@ -1045,47 +1058,47 @@ static INPUT_PORTS_START( magworm ) PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_MODIFY("DSW1") - PORT_DIPNAME( 0x03, 0x02, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:1,2") + PORT_DIPNAME( 0x03, 0x02, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:!1,!2") PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) ) - PORT_DIPNAME( 0x0c, 0x00, "Right Coin" ) PORT_DIPLOCATION("SW1:3,4") + PORT_DIPNAME( 0x0c, 0x00, "Right Coin" ) PORT_DIPLOCATION("SW1:!3,!4") PORT_DIPSETTING( 0x00, "*3" ) PORT_DIPSETTING( 0x04, "*7" ) PORT_DIPSETTING( 0x08, "*1/2" ) PORT_DIPSETTING( 0x0c, "*6" ) - PORT_DIPNAME( 0x30, 0x00, DEF_STR( Language ) ) PORT_DIPLOCATION("SW1:5,6") + PORT_DIPNAME( 0x30, 0x00, DEF_STR( Language ) ) PORT_DIPLOCATION("SW1:!5,!6") PORT_DIPSETTING( 0x00, DEF_STR( English ) ) PORT_DIPSETTING( 0x10, DEF_STR( German ) ) PORT_DIPSETTING( 0x20, DEF_STR( French ) ) PORT_DIPSETTING( 0x30, DEF_STR( Spanish ) ) - PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:7,8") + PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:!7,!8") PORT_DIPSETTING( 0x00, "2" ) PORT_DIPSETTING( 0x40, "3" ) PORT_DIPSETTING( 0x80, "4" ) PORT_DIPSETTING( 0xc0, "5" ) PORT_MODIFY("DSW2") - PORT_DIPNAME( 0x01, 0x00, "Left Coin" ) PORT_DIPLOCATION("SW2:1") + PORT_DIPNAME( 0x01, 0x00, "Left Coin" ) PORT_DIPLOCATION("SW2:!1") PORT_DIPSETTING( 0x00, "*1" ) PORT_DIPSETTING( 0x01, "*2" ) - PORT_DIPNAME( 0x0e, 0x00, "Bonus Coins" ) PORT_DIPLOCATION("SW2:2,3,4") + PORT_DIPNAME( 0x0e, 0x00, "Bonus Coins" ) PORT_DIPLOCATION("SW2:!2,!3,!4") PORT_DIPSETTING( 0x00, DEF_STR( None ) ) PORT_DIPSETTING( 0x02, "3 credits/2 coins" ) PORT_DIPSETTING( 0x04, "5 credits/4 coins" ) PORT_DIPSETTING( 0x06, "6 credits/4 coins" ) PORT_DIPSETTING( 0x08, "6 credits/5 coins" ) PORT_DIPSETTING( 0x0a, "4 credits/3 coins" ) - PORT_DIPNAME( 0x30, 0x10, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:5,6") + PORT_DIPNAME( 0x30, 0x10, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:!5,!6") PORT_DIPSETTING( 0x00, "10000" ) PORT_DIPSETTING( 0x10, "12000" ) PORT_DIPSETTING( 0x20, "15000" ) PORT_DIPSETTING( 0x30, "20000" ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:7") + PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:!7") PORT_DIPSETTING( 0x40, DEF_STR( Easy ) ) PORT_DIPSETTING( 0x00, DEF_STR( Hard ) ) - PORT_DIPNAME( 0x80, 0x00, "Credit Minimum" ) PORT_DIPLOCATION("SW2:8") + PORT_DIPNAME( 0x80, 0x00, "Credit Minimum" ) PORT_DIPLOCATION("SW2:!8") PORT_DIPSETTING( 0x00, "1" ) PORT_DIPSETTING( 0x80, "2" ) INPUT_PORTS_END @@ -1093,12 +1106,12 @@ INPUT_PORTS_END static INPUT_PORTS_START( milliped ) PORT_START("IN0") /* $2000 */ /* see port 6 for x trackball */ - PORT_DIPNAME(0x03, 0x00, DEF_STR( Language ) ) PORT_DIPLOCATION("P8:1,2") + PORT_DIPNAME(0x03, 0x00, DEF_STR( Language ) ) PORT_DIPLOCATION("P8:!1,!2") PORT_DIPSETTING( 0x00, DEF_STR( English ) ) PORT_DIPSETTING( 0x01, DEF_STR( German ) ) PORT_DIPSETTING( 0x02, DEF_STR( French ) ) PORT_DIPSETTING( 0x03, DEF_STR( Spanish ) ) - PORT_DIPNAME(0x0c, 0x04, "Bonus" ) PORT_DIPLOCATION("P8:3,4") + PORT_DIPNAME(0x0c, 0x04, "Bonus" ) PORT_DIPLOCATION("P8:!3,!4") PORT_DIPSETTING( 0x00, "0" ) PORT_DIPSETTING( 0x04, "0 1x" ) PORT_DIPSETTING( 0x08, "0 1x 2x" ) @@ -1106,22 +1119,22 @@ static INPUT_PORTS_START( milliped ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_VBLANK ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* trackball sign bit */ + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* trackball sign bit */ PORT_START("IN1") /* $2001 */ /* see port 7 for y trackball */ /* these bits are unused */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_DIPNAME(0x04, 0x00, "Credit Minimum" ) PORT_DIPLOCATION("P8:7") + PORT_DIPNAME(0x04, 0x00, "Credit Minimum" ) PORT_DIPLOCATION("P8:!7") PORT_DIPSETTING( 0x00, "1" ) PORT_DIPSETTING( 0x04, "2" ) - PORT_DIPNAME(0x08, 0x00, "Coin Counters" ) PORT_DIPLOCATION("P8:8") + PORT_DIPNAME(0x08, 0x00, "Coin Counters" ) PORT_DIPLOCATION("P8:!8") PORT_DIPSETTING( 0x00, "1" ) PORT_DIPSETTING( 0x08, "2" ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* trackball sign bit */ + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* trackball sign bit */ PORT_START("IN2") /* $2010 */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY @@ -1147,44 +1160,44 @@ static INPUT_PORTS_START( milliped ) PORT_SERVICE( 0x80, IP_ACTIVE_LOW ) PORT_START("DSW1") /* $0408 */ - PORT_DIPNAME(0x01, 0x00, "Millipede Head" ) PORT_DIPLOCATION("D5:1") + PORT_DIPNAME(0x01, 0x00, "Millipede Head" ) PORT_DIPLOCATION("D5:!1") PORT_DIPSETTING( 0x00, DEF_STR( Easy ) ) PORT_DIPSETTING( 0x01, DEF_STR( Hard ) ) - PORT_DIPNAME(0x02, 0x00, "Beetle" ) PORT_DIPLOCATION("D5:2") + PORT_DIPNAME(0x02, 0x00, "Beetle" ) PORT_DIPLOCATION("D5:!2") PORT_DIPSETTING( 0x00, DEF_STR( Easy ) ) PORT_DIPSETTING( 0x02, DEF_STR( Hard ) ) - PORT_DIPNAME(0x0c, 0x04, DEF_STR( Lives ) ) PORT_DIPLOCATION("D5:3,4") + PORT_DIPNAME(0x0c, 0x04, DEF_STR( Lives ) ) PORT_DIPLOCATION("D5:!3,!4") PORT_DIPSETTING( 0x00, "2" ) PORT_DIPSETTING( 0x04, "3" ) PORT_DIPSETTING( 0x08, "4" ) PORT_DIPSETTING( 0x0c, "5" ) - PORT_DIPNAME(0x30, 0x10, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("D5:5,6") + PORT_DIPNAME(0x30, 0x10, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("D5:!5,!6") PORT_DIPSETTING( 0x00, "12000" ) PORT_DIPSETTING( 0x10, "15000" ) PORT_DIPSETTING( 0x20, "20000" ) PORT_DIPSETTING( 0x30, DEF_STR( None ) ) - PORT_DIPNAME(0x40, 0x00, "Spider" ) PORT_DIPLOCATION("D5:7") + PORT_DIPNAME(0x40, 0x00, "Spider" ) PORT_DIPLOCATION("D5:!7") PORT_DIPSETTING( 0x00, DEF_STR( Easy ) ) PORT_DIPSETTING( 0x40, DEF_STR( Hard ) ) - PORT_DIPNAME(0x80, 0x00, "Starting Score Select" ) PORT_DIPLOCATION("D5:8") + PORT_DIPNAME(0x80, 0x00, "Starting Score Select" ) PORT_DIPLOCATION("D5:!8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW2") /* $0808 */ - PORT_DIPNAME(0x03, 0x02, DEF_STR( Coinage ) ) PORT_DIPLOCATION("B5:1,2") + PORT_DIPNAME(0x03, 0x02, DEF_STR( Coinage ) ) PORT_DIPLOCATION("B5:!1,!2") PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) ) - PORT_DIPNAME(0x0c, 0x00, "Right Coin" ) PORT_DIPLOCATION("B5:3,4") + PORT_DIPNAME(0x0c, 0x00, "Right Coin" ) PORT_DIPLOCATION("B5:!3,!4") PORT_DIPSETTING( 0x00, "*1" ) PORT_DIPSETTING( 0x04, "*4" ) PORT_DIPSETTING( 0x08, "*5" ) PORT_DIPSETTING( 0x0c, "*6" ) - PORT_DIPNAME(0x10, 0x00, "Left Coin" ) PORT_DIPLOCATION("B5:5") + PORT_DIPNAME(0x10, 0x00, "Left Coin" ) PORT_DIPLOCATION("B5:!5") PORT_DIPSETTING( 0x00, "*1" ) PORT_DIPSETTING( 0x10, "*2" ) - PORT_DIPNAME(0xe0, 0x00, "Bonus Coins" ) PORT_DIPLOCATION("B5:6,7,8") + PORT_DIPNAME(0xe0, 0x00, "Bonus Coins" ) PORT_DIPLOCATION("B5:!6,!7,!8") PORT_DIPSETTING( 0x00, DEF_STR( None ) ) PORT_DIPSETTING( 0x20, "3 credits/2 coins" ) PORT_DIPSETTING( 0x40, "5 credits/4 coins" ) @@ -1210,7 +1223,7 @@ INPUT_PORTS_END static INPUT_PORTS_START( warlords ) PORT_START("IN0") PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_DIPNAME( 0x10, 0x00, "Diag Step" ) /* Not referenced */ + PORT_DIPNAME( 0x10, 0x00, "Diag Step" ) /* Not referenced */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x10, DEF_STR( On ) ) PORT_SERVICE( 0x20, IP_ACTIVE_LOW ) @@ -1230,35 +1243,38 @@ static INPUT_PORTS_START( warlords ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_START("DSW1") - PORT_DIPNAME( 0x03, 0x00, DEF_STR( Language ) ) PORT_DIPLOCATION("J2:1,2") + PORT_DIPNAME( 0x03, 0x00, DEF_STR( Language ) ) PORT_DIPLOCATION("J2:1,2") PORT_DIPSETTING( 0x00, DEF_STR( English ) ) PORT_DIPSETTING( 0x01, DEF_STR( French ) ) PORT_DIPSETTING( 0x02, DEF_STR( Spanish ) ) PORT_DIPSETTING( 0x03, DEF_STR( German ) ) - PORT_DIPNAME( 0x04, 0x00, "Music" ) PORT_DIPLOCATION("J2:3") + PORT_DIPNAME( 0x04, 0x00, "Music" ) PORT_DIPLOCATION("J2:3") PORT_DIPSETTING( 0x00, "End of game" ) PORT_DIPSETTING( 0x04, "High score only" ) - PORT_BIT( 0xC8, IP_ACTIVE_HIGH, IPT_UNUSED ) PORT_DIPLOCATION("J2:4,7,8") - PORT_DIPNAME( 0x30, 0x00, "Credits" ) PORT_DIPLOCATION("J2:5,6") + PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x00, "J2:4" ) + PORT_DIPNAME( 0x30, 0x00, "Credits" ) PORT_DIPLOCATION("J2:5,6") PORT_DIPSETTING( 0x00, "1p/2p = 1 credit" ) PORT_DIPSETTING( 0x10, "1p = 1, 2p = 2" ) PORT_DIPSETTING( 0x20, "1p/2p = 2 credits" ) + PORT_DIPUNKNOWN_DIPLOC( 0x40, 0x00, "J2:7" ) + PORT_DIPUNKNOWN_DIPLOC( 0x80, 0x00, "J2:8" ) + PORT_START("DSW2") - PORT_DIPNAME( 0x03, 0x02, DEF_STR( Coinage ) ) PORT_DIPLOCATION("M2:1,2") + PORT_DIPNAME( 0x03, 0x02, DEF_STR( Coinage ) ) PORT_DIPLOCATION("M2:1,2") PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) ) - PORT_DIPNAME( 0x0c, 0x00, "Right Coin" ) PORT_DIPLOCATION("M2:3,4") + PORT_DIPNAME( 0x0c, 0x00, "Right Coin" ) PORT_DIPLOCATION("M2:3,4") PORT_DIPSETTING( 0x00, "*1" ) PORT_DIPSETTING( 0x04, "*4" ) PORT_DIPSETTING( 0x08, "*5" ) PORT_DIPSETTING( 0x0c, "*6" ) - PORT_DIPNAME( 0x10, 0x00, "Left Coin" ) PORT_DIPLOCATION("M2:5") + PORT_DIPNAME( 0x10, 0x00, "Left Coin" ) PORT_DIPLOCATION("M2:5") PORT_DIPSETTING( 0x00, "*1" ) PORT_DIPSETTING( 0x10, "*2" ) - PORT_DIPNAME( 0xe0, 0x00, "Bonus Coins" ) PORT_DIPLOCATION("M2:6,7,8") + PORT_DIPNAME( 0xe0, 0x00, "Bonus Coins" ) PORT_DIPLOCATION("M2:6,7,8") PORT_DIPSETTING( 0x00, DEF_STR( None ) ) PORT_DIPSETTING( 0x20, "3 credits/2 coins" ) PORT_DIPSETTING( 0x40, "5 credits/4 coins" ) @@ -1282,24 +1298,16 @@ INPUT_PORTS_END static INPUT_PORTS_START( mazeinv ) PORT_START("IN0") - PORT_DIPNAME( 0x03, 0x00, DEF_STR( Language ) ) + PORT_DIPNAME( 0x03, 0x00, DEF_STR( Language ) ) PORT_DIPLOCATION("SW0:!1,!2") PORT_DIPSETTING( 0x00, DEF_STR( English ) ) PORT_DIPSETTING( 0x01, DEF_STR( German ) ) PORT_DIPSETTING( 0x02, DEF_STR( French ) ) PORT_DIPSETTING( 0x03, DEF_STR( Spanish ) ) - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x04, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x08, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x10, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x20, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x00, "Minimum credits" ) + PORT_DIPUNKNOWN_DIPLOC( 0x04, 0x00, "SW0:!3" ) + PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x00, "SW0:!4" ) + PORT_DIPUNKNOWN_DIPLOC( 0x10, 0x00, "SW0:!5" ) + PORT_DIPUNKNOWN_DIPLOC( 0x20, 0x00, "SW0:!6" ) + PORT_DIPNAME( 0x40, 0x00, "Minimum credits" ) PORT_DIPLOCATION("SW0:!7") PORT_DIPSETTING( 0x00, "1" ) PORT_DIPSETTING( 0x40, "2" ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_VBLANK ) @@ -1308,62 +1316,62 @@ static INPUT_PORTS_START( mazeinv ) PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("IN2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Reacts in test mode */ + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON4 ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_START("IN3") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Reacts in test mode */ + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Reacts in test mode */ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Does something, activates a second analog range in test mode */ + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_SERVICE( 0x80, IP_ACTIVE_LOW ) PORT_START("DSW1") - PORT_DIPNAME( 0x03, 0x00, "Doors for bonus" ) + PORT_DIPNAME( 0x03, 0x00, "Doors for bonus" ) PORT_DIPLOCATION("SW1:!1,!2") PORT_DIPSETTING( 0x00, "10" ) PORT_DIPSETTING( 0x01, "12" ) PORT_DIPSETTING( 0x02, "14" ) PORT_DIPSETTING( 0x03, "16" ) - PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Lives ) ) + PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:!3,!4") PORT_DIPSETTING( 0x00, "2" ) PORT_DIPSETTING( 0x04, "3" ) PORT_DIPSETTING( 0x08, "4" ) PORT_DIPSETTING( 0x0c, "5" ) - PORT_DIPNAME( 0x30, 0x00, "Extra life at" ) + PORT_DIPNAME( 0x30, 0x00, "Extra life at" ) PORT_DIPLOCATION("SW1:!5,!6") PORT_DIPSETTING( 0x00, "20000" ) PORT_DIPSETTING( 0x10, "25000" ) PORT_DIPSETTING( 0x20, "30000" ) PORT_DIPSETTING( 0x30, "Never" ) - PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Difficulty ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Easier ) ) + PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:!7,!8") + PORT_DIPSETTING( 0x00, DEF_STR( Easiest ) ) PORT_DIPSETTING( 0x40, DEF_STR( Easy ) ) PORT_DIPSETTING( 0x80, DEF_STR( Hard ) ) PORT_DIPSETTING( 0xc0, DEF_STR( Harder ) ) PORT_START("DSW2") - PORT_DIPNAME( 0x03, 0x02, DEF_STR( Coinage ) ) + PORT_DIPNAME( 0x03, 0x02, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW2:!1,!2") PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) ) - PORT_DIPNAME( 0x0c, 0x00, "Right Coin" ) + PORT_DIPNAME( 0x0c, 0x00, "Coin 2" ) PORT_DIPLOCATION("SW2:!3,!4") PORT_DIPSETTING( 0x00, "*1" ) PORT_DIPSETTING( 0x04, "*4" ) PORT_DIPSETTING( 0x08, "*5" ) PORT_DIPSETTING( 0x0c, "*6" ) - PORT_DIPNAME( 0x10, 0x00, "Left Coin" ) + PORT_DIPNAME( 0x10, 0x00, "Coin 3" ) PORT_DIPLOCATION("SW2:!5") PORT_DIPSETTING( 0x00, "*1" ) PORT_DIPSETTING( 0x10, "*2" ) - PORT_DIPNAME( 0xe0, 0x00, "Bonus Coins" ) + PORT_DIPNAME( 0xe0, 0x00, "Bonus Coins" ) PORT_DIPLOCATION("SW2:!6,!7,!8") PORT_DIPSETTING( 0x00, DEF_STR( None ) ) PORT_DIPSETTING( 0x20, "3 credits/2 coins" ) PORT_DIPSETTING( 0x40, "5 credits/4 coins" )