summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Aaron Giles <aaron@aarongiles.com>2008-02-19 09:09:02 +0000
committer Aaron Giles <aaron@aarongiles.com>2008-02-19 09:09:02 +0000
commit64c7a0c4bdd41ffa043620af250836ab1085b70b (patch)
tree7c7af0c2ca7892cf8fa73395b9a1142f1150d68e
parent3accee936b5ca4b4ef419e30f0c7eb138d1891f2 (diff)
From RansAckeR:
Reviewed the following drivers: alpha68k.c actfancr.c aeroboto.c aerofgt.c aliens.c ambush.c amidar.c amspdwy.c angelkds.c appoooh.c arabian.c argus.c arkanoid.c Improved some DIP switches. Added some DIP locations. Replaced IPT_COINx with IPT_SERVICE1 where appropiate. Simplified some control definitions.
-rw-r--r--src/mame/drivers/actfancr.c32
-rw-r--r--src/mame/drivers/aeroboto.c26
-rw-r--r--src/mame/drivers/aerofgt.c210
-rw-r--r--src/mame/drivers/aliens.c20
-rw-r--r--src/mame/drivers/alpha68k.c243
-rw-r--r--src/mame/drivers/ambush.c12
-rw-r--r--src/mame/drivers/amidar.c90
-rw-r--r--src/mame/drivers/amspdwy.c30
-rw-r--r--src/mame/drivers/angelkds.c54
-rw-r--r--src/mame/drivers/appoooh.c79
-rw-r--r--src/mame/drivers/arabian.c28
-rw-r--r--src/mame/drivers/argus.c290
-rw-r--r--src/mame/drivers/arkanoid.c115
13 files changed, 480 insertions, 749 deletions
diff --git a/src/mame/drivers/actfancr.c b/src/mame/drivers/actfancr.c
index fe1a6cd5e0f..a3028958246 100644
--- a/src/mame/drivers/actfancr.c
+++ b/src/mame/drivers/actfancr.c
@@ -205,9 +205,7 @@ static INPUT_PORTS_START( actfancr )
PORT_DIPSETTING( 0x04, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW1:5") /* Listed as "Unused" in the manual */
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPUNUSED_DIPLOC( 0x10, 0x10, "SW1:5" ) /* Listed as "Unused" */
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:6")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x20, DEF_STR( On ) )
@@ -229,18 +227,12 @@ static INPUT_PORTS_START( actfancr )
PORT_DIPSETTING( 0x0c, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x08, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:5") /* Listed as "Unused" in the manual */
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPUNUSED_DIPLOC( 0x10, 0x10, "SW2:5" ) /* Listed as "Unused" */
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:6")
PORT_DIPSETTING( 0x20, "800000" )
PORT_DIPSETTING( 0x00, DEF_STR( None ) )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:7") /* Listed as "Unused" in the manual */
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:1") /* Listed as "Unused" in the manual */
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW2:7" ) /* Listed as "Unused" */
+ PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW2:8" ) /* Listed as "Unused" */
INPUT_PORTS_END
static INPUT_PORTS_START( triothep )
@@ -285,9 +277,7 @@ static INPUT_PORTS_START( triothep )
PORT_DIPSETTING( 0x04, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW1:5") /* Listed as "Unused" in the manual */
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPUNUSED_DIPLOC( 0x10, 0x10, "SW1:5" ) /* Listed as "Unused" */
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:6")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x20, DEF_STR( On ) )
@@ -312,15 +302,9 @@ static INPUT_PORTS_START( triothep )
PORT_DIPNAME( 0x10, 0x10, "Bonus Lives" ) PORT_DIPLOCATION("SW2:5")
PORT_DIPSETTING( 0x00, "2" )
PORT_DIPSETTING( 0x10, "3" )
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:6") /* Listed as "Unused" in the manual */
- PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:7") /* Listed as "Unused" in the manual */
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:8") /* Listed as "Unused" in the manual */
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPUNUSED_DIPLOC( 0x20, 0x20, "SW2:6" ) /* Listed as "Unused" */
+ PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW2:7" ) /* Listed as "Unused" */
+ PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW2:8" ) /* Listed as "Unused" */
INPUT_PORTS_END
/******************************************************************************/
diff --git a/src/mame/drivers/aeroboto.c b/src/mame/drivers/aeroboto.c
index d907438bbea..4cfc2bd4cf3 100644
--- a/src/mame/drivers/aeroboto.c
+++ b/src/mame/drivers/aeroboto.c
@@ -160,9 +160,7 @@ static INPUT_PORTS_START( formatz )
PORT_DIPSETTING( 0x08, "40000" )
PORT_DIPSETTING( 0x04, "70000" )
PORT_DIPSETTING( 0x00, "100000" )
- PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW1:5") /* Listed as "Unused" in the manual */
- PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x10, DEF_STR( On ) )
+ PORT_DIPUNUSED_DIPLOC( 0x10, 0x00, "SW1:5" ) /* Listed as "Unused" */
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:6")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x20, DEF_STR( On ) )
@@ -172,7 +170,7 @@ static INPUT_PORTS_START( formatz )
/* The last dip switch is directly connected to the video hardware and
flips the screen. The program instead sees the coin input, which must
stay low for exactly 2 frames to be consistently recognized. */
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2)
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) PORT_DIPLOCATION("SW1:8") /* "Screen Inversion" */
PORT_START_TAG("DSW2")
PORT_DIPNAME( 0x07, 0x00, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW2:1,2,3")
@@ -185,19 +183,13 @@ static INPUT_PORTS_START( formatz )
PORT_DIPSETTING( 0x04, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x06, DEF_STR( 1C_4C ) )
PORT_DIPNAME( 0x18, 0x08, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:4,5")
- PORT_DIPSETTING( 0x00, "0(Easy)" )
- PORT_DIPSETTING( 0x08, "1(Medium)" )
- PORT_DIPSETTING( 0x10, "2(Hard)" )
- PORT_DIPSETTING( 0x18, "3(Hardest)" )
- PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:6") /* Listed as "Unused" in the manual */
- PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x20, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:7") /* Listed as "Unused" in the manual */
- PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x40, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:8") /* Listed as "Unused" in the manual */
- PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x80, DEF_STR( On ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Easy ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( Normal ) )
+ PORT_DIPSETTING( 0x10, DEF_STR( Medium ) )
+ PORT_DIPSETTING( 0x18, DEF_STR( Hard ) )
+ PORT_DIPUNUSED_DIPLOC( 0x20, 0x00, "SW2:6" ) /* Listed as "Unused" */
+ PORT_DIPUNUSED_DIPLOC( 0x40, 0x00, "SW2:7" ) /* Listed as "Unused" */
+ PORT_DIPUNUSED_DIPLOC( 0x80, 0x00, "SW2:8" ) /* Listed as "Unused" */
INPUT_PORTS_END
diff --git a/src/mame/drivers/aerofgt.c b/src/mame/drivers/aerofgt.c
index 4884e89113e..f743dcc0334 100644
--- a/src/mame/drivers/aerofgt.c
+++ b/src/mame/drivers/aerofgt.c
@@ -552,7 +552,7 @@ static INPUT_PORTS_START( pspikes )
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_COIN3 )
+ PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START_TAG("IN1")
@@ -566,26 +566,18 @@ static INPUT_PORTS_START( pspikes )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START_TAG("DSW")
- PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2")
+ PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2")
PORT_DIPSETTING( 0x0001, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x0002, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x0003, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x0000, DEF_STR( 1C_2C ) )
- PORT_DIPNAME( 0x000c, 0x000c, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:3,4")
+ PORT_DIPNAME( 0x000c, 0x000c, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:3,4")
PORT_DIPSETTING( 0x0004, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x0008, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x000c, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x0000, DEF_STR( 1C_2C ) )
- /* The following two select country in the Chinese version (ROMs not available)
- Based on Super Volley '91 PCB Infos, the settings are:
- China |off|off|
- Taiwan |on |off|
- HongKong |off|on | */
- PORT_DIPNAME( 0x0030, 0x0030, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:5,6")
- PORT_DIPSETTING( 0x0030, "Off - Off" )
- PORT_DIPSETTING( 0x0020, "Off - On" )
- PORT_DIPSETTING( 0x0010, "On - Off" )
- PORT_DIPSETTING( 0x0000, "On - On" )
+ PORT_DIPUNUSED_DIPLOC( 0x0010, 0x0010, "SW1:5" ) /* Listed as "Unused" */
+ PORT_DIPUNUSED_DIPLOC( 0x0020, 0x0020, "SW1:6" ) /* Listed as "Unused" */
PORT_DIPNAME( 0x0040, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:7")
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
@@ -608,11 +600,11 @@ static INPUT_PORTS_START( pspikes )
PORT_DIPSETTING( 0x2000, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Hard ) )
/* When the players continue, only half of the time in SW2:7 is added */
- PORT_DIPNAME( 0x4000, 0x4000, "2 Players Time per Credit" ) PORT_DIPLOCATION("SW2:7")
+ PORT_DIPNAME( 0x4000, 0x4000, "2 Players Time Per Credit" ) PORT_DIPLOCATION("SW2:7")
PORT_DIPSETTING( 0x4000, "3 min" )
PORT_DIPSETTING( 0x0000, "2 min" )
/* The next one is reported as 'Must be off' in Super Volley '91 PCB Infos */
- PORT_DIPNAME( 0x8000, 0x8000, "Debug" ) PORT_DIPLOCATION("SW2:8")
+ PORT_DIPNAME( 0x8000, 0x8000, "Debug" ) PORT_DIPLOCATION("SW2:8")
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
INPUT_PORTS_END
@@ -633,7 +625,7 @@ static INPUT_PORTS_START( pspikesb )
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_COIN3 )
+ PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START_TAG("IN1")
@@ -647,53 +639,58 @@ static INPUT_PORTS_START( pspikesb )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START_TAG("DSW")
- PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Coin_A ) )
+ /* Dips bank 1 */
+ PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2")
PORT_DIPSETTING( 0x0001, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x0002, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x0003, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x0000, DEF_STR( 1C_2C ) )
- PORT_DIPNAME( 0x000c, 0x000c, DEF_STR( Coin_B ) )
+ PORT_DIPNAME( 0x000c, 0x000c, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:3,4")
PORT_DIPSETTING( 0x0004, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x0008, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x000c, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x0000, DEF_STR( 1C_2C ) )
- /* the following two select country in the Chinese version (ROMs not available) */
- PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0010, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0040, 0x0000, DEF_STR( Demo_Sounds ) )
+ PORT_DIPUNUSED_DIPLOC( 0x0010, 0x0010, "SW1:5" )
+ PORT_DIPUNUSED_DIPLOC( 0x0020, 0x0020, "SW1:6" )
+ PORT_DIPNAME( 0x0040, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:7")
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unused ) )
- PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Unused ) )
- PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0600, 0x0600, "1 Player Starting Score" )
+ PORT_DIPUNUSED_DIPLOC( 0x0080, 0x0080, "SW1:8" )
+ /* Dips bank 2 */
+ PORT_DIPUNUSED_DIPLOC( 0x0100, 0x0100, "SW2:1" )
+ PORT_DIPNAME( 0x0600, 0x0600, "1 Player Starting Score" ) PORT_DIPLOCATION("SW2:2,3")
PORT_DIPSETTING( 0x0600, "12-12" )
PORT_DIPSETTING( 0x0400, "11-11" )
PORT_DIPSETTING( 0x0200, "11-12" )
PORT_DIPSETTING( 0x0000, "10-12" )
- PORT_DIPNAME( 0x1800, 0x1800, "2 Players Starting Score" )
+ PORT_DIPNAME( 0x1800, 0x1800, "2 Players Starting Score" ) PORT_DIPLOCATION("SW2:4,5")
PORT_DIPSETTING( 0x1800, "9-9" )
PORT_DIPSETTING( 0x1000, "7-7" )
PORT_DIPSETTING( 0x0800, "5-5" )
PORT_DIPSETTING( 0x0000, "0-0" )
- PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Difficulty ) )
+ PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:6")
PORT_DIPSETTING( 0x2000, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Hard ) )
- PORT_DIPNAME( 0x4000, 0x4000, "2 Players Time per Credit" )
+ PORT_DIPNAME( 0x4000, 0x4000, "2 Players Time Per Credit" ) PORT_DIPLOCATION("SW2:7")
PORT_DIPSETTING( 0x4000, "3 min" )
PORT_DIPSETTING( 0x0000, "2 min" )
- PORT_DIPNAME( 0x8000, 0x8000, "Debug" )
+ PORT_DIPNAME( 0x8000, 0x8000, "Debug" ) PORT_DIPLOCATION("SW2:8")
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
INPUT_PORTS_END
+static INPUT_PORTS_START( pspikesc )
+ PORT_INCLUDE( pspikes )
+
+ PORT_MODIFY("DSW")
+ PORT_DIPNAME( 0x0030, 0x0030, "Country" ) PORT_DIPLOCATION("SW1:5,6")
+ PORT_DIPSETTING( 0x0030, "China" )
+ PORT_DIPSETTING( 0x0020, "Taiwan" )
+ PORT_DIPSETTING( 0x0010, "Hong-Kong" )
+ PORT_DIPSETTING( 0x0000, "China" )
+INPUT_PORTS_END
+
+
static INPUT_PORTS_START( karatblz )
PORT_START_TAG("IN0")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
@@ -752,7 +749,7 @@ static INPUT_PORTS_START( karatblz )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(4)
PORT_START_TAG("DSW")
- PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:1,2,3") /* It affects Coin 1, 2, 3 and 4 */
+ PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:1,2,3") /* It affects Coin 1, 2, 3 and 4 */
PORT_DIPSETTING( 0x0004, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x0005, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x0006, DEF_STR( 2C_1C ) )
@@ -761,13 +758,13 @@ static INPUT_PORTS_START( karatblz )
PORT_DIPSETTING( 0x0002, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x0001, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x0000, DEF_STR( 1C_6C ) )
- PORT_DIPNAME( 0x0008, 0x0008, "2 Coins to Start, 1 to Continue" ) PORT_DIPLOCATION("SW1:4")
- PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:5")
+ PORT_DIPNAME( 0x0008, 0x0008, "Continue Coin" ) PORT_DIPLOCATION("SW1:4")
+ PORT_DIPSETTING( 0x0008, "Start 1 Coin/Continue 1 Coin" )
+ PORT_DIPSETTING( 0x0000, "Start 2 Coin/Continue 1 Coin" )
+ PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:5")
PORT_DIPSETTING( 0x0000, "1" )
PORT_DIPSETTING( 0x0010, "2" )
- PORT_DIPNAME( 0x0060, 0x0060, DEF_STR( Cabinet ) ) /* Game Type */ PORT_DIPLOCATION("SW1:6,7")
+ PORT_DIPNAME( 0x0060, 0x0060, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:6,7") /* Game Type */
PORT_DIPSETTING( 0x0060, "2 Players" ) /* 1 Unit / 2 Players */
PORT_DIPSETTING( 0x0040, "3 Players" ) /* 1 Unit / 3 Players */
PORT_DIPSETTING( 0x0020, "4 Players" ) /* 1 Unit / 4 Players */
@@ -782,13 +779,13 @@ static INPUT_PORTS_START( karatblz )
/* According to Turbo Force manual, here DSW2 starts */
PORT_SERVICE_DIPLOC( 0x0100, IP_ACTIVE_LOW, "SW2:1" )
/* Default is DEF_STR( Hard ) */
- PORT_DIPNAME( 0x0600, 0x0200, "Number of Enemies" ) PORT_DIPLOCATION("SW2:2,3")
+ PORT_DIPNAME( 0x0600, 0x0200, "Number of Enemies" ) PORT_DIPLOCATION("SW2:2,3")
PORT_DIPSETTING( 0x0400, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x0600, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x0200, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
/* Default is DEF_STR( Hard ) */
- PORT_DIPNAME( 0x1800, 0x0800, "Strength of Enemies" ) PORT_DIPLOCATION("SW2:4,5")
+ PORT_DIPNAME( 0x1800, 0x0800, "Strength of Enemies" ) PORT_DIPLOCATION("SW2:4,5")
PORT_DIPSETTING( 0x1000, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x1800, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x0800, DEF_STR( Hard ) )
@@ -797,10 +794,10 @@ static INPUT_PORTS_START( karatblz )
PORT_DIPNAME( 0x2000, 0x2000, "Freeze" ) PORT_DIPLOCATION("SW2:6")
PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x4000, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:7")
+ PORT_DIPNAME( 0x4000, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:7")
PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:8")
+ PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:8")
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
INPUT_PORTS_END
@@ -878,44 +875,35 @@ static INPUT_PORTS_START( spinlbrk )
PORT_DIPSETTING( 0x0000, "1-1C 1-2 HPs" )
/* According to Spinal Breakers manual, here DSW2 starts */
/* Default in US manual is DEF_STR( Hardest ) */
- PORT_DIPNAME( 0x0300, 0x0000, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:1,2")
+ PORT_DIPNAME( 0x0300, 0x0000, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x0300, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x0200, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x0100, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
- PORT_DIPNAME( 0x0400, 0x0400, "Coin Slot" ) PORT_DIPLOCATION("SW2:3")
- PORT_DIPSETTING( 0x0000, "Same" )
- PORT_DIPSETTING( 0x0400, "Individual" )
- PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:4")
+ PORT_DIPNAME( 0x0400, 0x0400, "Credits For Extra Hitpoints" )PORT_DIPLOCATION("SW2:3")
+ PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0400, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:4")
PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x1000, 0x1000, "Lever Type" ) PORT_DIPLOCATION("SW2:5")
+ PORT_DIPNAME( 0x1000, 0x1000, "Lever Type" ) PORT_DIPLOCATION("SW2:5")
PORT_DIPSETTING( 0x1000, "Digital" )
- PORT_DIPSETTING( 0x0000, "Analog" ) /* This setting causes lever error??? */
+ PORT_DIPSETTING( 0x0000, "Analog" ) /* This setting causes lever error??? */
PORT_SERVICE_DIPLOC( 0x2000, IP_ACTIVE_LOW, "SW2:6" )
- PORT_DIPNAME( 0x4000, 0x4000, "Health Pack" ) PORT_DIPLOCATION("SW2:7")
+ PORT_DIPNAME( 0x4000, 0x4000, "Health Pack" ) PORT_DIPLOCATION("SW2:7")
PORT_DIPSETTING( 0x4000, "32 Hitpoints" )
PORT_DIPSETTING( 0x0000, "40 Hitpoints" )
/* Default in US manual is "5 points" */
- PORT_DIPNAME( 0x8000, 0x0000, "Life Restoration" ) PORT_DIPLOCATION("SW2:8")
+ PORT_DIPNAME( 0x8000, 0x0000, "Life Restoration" ) PORT_DIPLOCATION("SW2:8")
PORT_DIPSETTING( 0x8000, "10 Points" )
PORT_DIPSETTING( 0x0000, "5 Points" )
INPUT_PORTS_END
-static INPUT_PORTS_START( spinlbrj )
- PORT_INCLUDE(spinlbrk)
-
- PORT_MODIFY("DSW")
- PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:7")
- PORT_DIPSETTING( 0x0400, "Unlimited" )
- PORT_DIPSETTING( 0x0000, "6 Times" )
-INPUT_PORTS_END
-
static INPUT_PORTS_START( spinlbru )
PORT_INCLUDE(spinlbrk)
PORT_MODIFY("DSW")
- PORT_DIPNAME( 0x4000, 0x4000, "Health Pack" ) PORT_DIPLOCATION("SW2:7")
+ PORT_DIPNAME( 0x4000, 0x4000, "Health Pack" ) PORT_DIPLOCATION("SW2:7")
PORT_DIPSETTING( 0x4000, "20 Hitpoints" )
PORT_DIPSETTING( 0x0000, "32 Hitpoints" )
INPUT_PORTS_END
@@ -929,14 +917,14 @@ static INPUT_PORTS_START( turbofrc )
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN ) //COIN1 in service
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_SERVICE ) /* "TEST" */
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_TILT )
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_COIN4 )
+ PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_COIN3 )
PORT_START_TAG("IN1")
@@ -959,24 +947,24 @@ static INPUT_PORTS_START( turbofrc )
PORT_DIPSETTING( 0x0002, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x0001, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x0000, DEF_STR( 1C_6C ) )
- PORT_DIPNAME( 0x0008, 0x0008, "2 Coins to Start, 1 to Continue" ) PORT_DIPLOCATION("SW1:4")
- PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0010, 0x0000, "Coin Slot" ) PORT_DIPLOCATION("SW1:5")
+ PORT_DIPNAME( 0x0008, 0x0008, "Continue Coin" ) PORT_DIPLOCATION("SW1:4")
+ PORT_DIPSETTING( 0x0008, "Start 1 Coin/Continue 1 Coin" )
+ PORT_DIPSETTING( 0x0000, "Start 2 Coin/Continue 1 Coin" )
+ PORT_DIPNAME( 0x0010, 0x0000, "Coin Slot" ) PORT_DIPLOCATION("SW1:5")
PORT_DIPSETTING( 0x0010, "Same" )
PORT_DIPSETTING( 0x0000, "Individual" )
- PORT_DIPNAME( 0x0020, 0x0000, "Play Mode" ) PORT_DIPLOCATION("SW1:6")
+ PORT_DIPNAME( 0x0020, 0x0000, "Play Mode" ) PORT_DIPLOCATION("SW1:6")
PORT_DIPSETTING( 0x0020, "2 Players" )
PORT_DIPSETTING( 0x0000, "3 Players" )
- PORT_DIPNAME( 0x0040, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:7")
+ PORT_DIPNAME( 0x0040, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:7")
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_SERVICE_DIPLOC( 0x0080, IP_ACTIVE_LOW, "SW1:8" )
/* According to Turbo Force manual, here DSW2 starts */
- PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:1")
+ PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0e00, 0x0800, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:2,3,4")
+ PORT_DIPNAME( 0x0e00, 0x0800, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:2,3,4")
PORT_DIPSETTING( 0x0e00, "1 (Easiest)")
PORT_DIPSETTING( 0x0c00, "2" )
PORT_DIPSETTING( 0x0a00, "3" )
@@ -988,16 +976,12 @@ static INPUT_PORTS_START( turbofrc )
PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:5")
PORT_DIPSETTING( 0x0000, "2" )
PORT_DIPSETTING( 0x1000, "3" )
- PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:6")
+ PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:6")
PORT_DIPSETTING( 0x2000, "200000" )
PORT_DIPSETTING( 0x0000, "300000" )
/* The following 2 are listed in Turbo Force manual as N.C. (aka No Connection) and "Should be kept on OFF" */
- PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:7")
- PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:8")
- PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPUNUSED_DIPLOC( 0x4000, 0x4000, "SW2:7" ) /* Listed as "Unused" */
+ PORT_DIPUNUSED_DIPLOC( 0x8000, 0x8000, "SW2:8" ) /* Listed as "Unused" */
PORT_START_TAG("IN2")
@@ -1027,7 +1011,7 @@ static INPUT_PORTS_START( aerofgtb )
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_COIN3 )
+ PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START_TAG("IN1")
@@ -1041,10 +1025,12 @@ static INPUT_PORTS_START( aerofgtb )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START_TAG("DSW1")
- PORT_DIPNAME( 0x0001, 0x0001, "Coin Slot" )
+ /* Dips bank 1 */
+ /* "Free Play mode: Have SW1:1-8 ON." */
+ PORT_DIPNAME( 0x0001, 0x0001, "Coin Slot" ) PORT_DIPLOCATION("SW1:1")
PORT_DIPSETTING( 0x0001, "Same" )
PORT_DIPSETTING( 0x0000, "Individual" )
- PORT_DIPNAME( 0x000e, 0x000e, DEF_STR( Coin_A ) )
+ PORT_DIPNAME( 0x000e, 0x000e, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:2,3,4")
PORT_DIPSETTING( 0x000a, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x000c, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x000e, DEF_STR( 1C_1C ) )
@@ -1053,7 +1039,7 @@ static INPUT_PORTS_START( aerofgtb )
PORT_DIPSETTING( 0x0004, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0x0002, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x0000, DEF_STR( 1C_6C ) )
- PORT_DIPNAME( 0x0070, 0x0070, DEF_STR( Coin_B ) )
+ PORT_DIPNAME( 0x0070, 0x0070, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:5,6,7")
PORT_DIPSETTING( 0x0050, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x0060, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x0070, DEF_STR( 1C_1C ) )
@@ -1062,32 +1048,35 @@ static INPUT_PORTS_START( aerofgtb )
PORT_DIPSETTING( 0x0020, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0x0010, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x0000, DEF_STR( 1C_6C ) )
- PORT_DIPNAME( 0x0080, 0x0080, "2 Coins to Start, 1 to Continue" )
- PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Flip_Screen ) )
+ PORT_DIPNAME( 0x0080, 0x0080, "Continue Coin" ) PORT_DIPLOCATION("SW1:8") /* "When ON SW1:2-7 are disabled." */
+ PORT_DIPSETTING( 0x0080, "Start 1 Coin/Continue 1 Coin" )
+ PORT_DIPSETTING( 0x0000, "Start 2 Coin/Continue 1 Coin" )
+
+ /* Dips bank 2 */
+ PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0200, 0x0000, DEF_STR( Demo_Sounds ) )
+ PORT_DIPNAME( 0x0200, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Difficulty ) )
+ PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPSETTING( 0x0800, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x0c00, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x0400, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
- PORT_DIPNAME( 0x3000, 0x3000, DEF_STR( Lives ) )
+ PORT_DIPNAME( 0x3000, 0x3000, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:5,6")
PORT_DIPSETTING( 0x2000, "1" )
PORT_DIPSETTING( 0x1000, "2" )
PORT_DIPSETTING( 0x3000, "3" )
PORT_DIPSETTING( 0x0000, "4" )
- PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Bonus_Life ) )
+ PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:7")
PORT_DIPSETTING( 0x4000, "200000" )
PORT_DIPSETTING( 0x0000, "300000" )
PORT_SERVICE( 0x8000, IP_ACTIVE_LOW )
+ /* Dips bank 3 (not documented) */
PORT_START_TAG("DSW2")
- PORT_DIPNAME( 0x0001, 0x0000, "Country" )
+ PORT_DIPNAME( 0x0001, 0x0000, "Country" ) PORT_DIPLOCATION("SW3:1")
PORT_DIPSETTING( 0x0000, DEF_STR( Japan ) )
PORT_DIPSETTING( 0x0001, "Taiwan" )
/* TODO: there are others in the table at 11910 */
@@ -1122,10 +1111,11 @@ static INPUT_PORTS_START( aerofgt )
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_COIN3 )
+ PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START_TAG("DSW1")
+ /* "Free Play mode: Have SW1:1-8 ON." */
PORT_DIPNAME( 0x0001, 0x0001, "Coin Slot" ) PORT_DIPLOCATION("SW1:1")
PORT_DIPSETTING( 0x0001, "Same" )
PORT_DIPSETTING( 0x0000, "Individual" )
@@ -1147,18 +1137,18 @@ static INPUT_PORTS_START( aerofgt )
PORT_DIPSETTING( 0x0020, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0x0010, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x0000, DEF_STR( 1C_6C ) )
- PORT_DIPNAME( 0x0080, 0x0080, "2 Coins to Start, 1 to Continue" ) PORT_DIPLOCATION("SW1:8")
- PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0080, 0x0080, "Continue Coin" ) PORT_DIPLOCATION("SW1:8") /* "When ON, SW1:2-7 are disabled." */
+ PORT_DIPSETTING( 0x0080, "Start 1 Coin/Continue 1 Coin" )
+ PORT_DIPSETTING( 0x0000, "Start 2 Coin/Continue 1 Coin" )
PORT_START_TAG("DSW2")
- PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:1")
+ PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0002, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
+ PORT_DIPNAME( 0x0002, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x000c, 0x000c, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:3,4")
+ PORT_DIPNAME( 0x000c, 0x000c, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPSETTING( 0x0008, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x000c, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x0004, DEF_STR( Hard ) )
@@ -1168,7 +1158,7 @@ static INPUT_PORTS_START( aerofgt )
PORT_DIPSETTING( 0x0010, "2" )
PORT_DIPSETTING( 0x0030, "3" )
PORT_DIPSETTING( 0x0000, "4" )
- PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:7")
+ PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:7")
PORT_DIPSETTING( 0x0040, "200000" )
PORT_DIPSETTING( 0x0000, "300000" )
PORT_SERVICE_DIPLOC( 0x0080, IP_ACTIVE_LOW, "SW2:8" )
@@ -1177,7 +1167,7 @@ static INPUT_PORTS_START( aerofgt )
PORT_START_TAG("DSW3")
PORT_DIPNAME( 0x000f, 0x0000, "Country" )
PORT_DIPSETTING( 0x0000, "Any" )
- PORT_DIPSETTING( 0x000f, DEF_STR( USA ) )
+ PORT_DIPSETTING( 0x000f, "USA/Canada" )
PORT_DIPSETTING( 0x000e, "Korea" )
PORT_DIPSETTING( 0x000d, "Hong Kong" )
PORT_DIPSETTING( 0x000b, "Taiwan" )
@@ -2472,15 +2462,15 @@ ROM_START( wbbc97 )
ROM_END
-GAME( 1990, spinlbrk, 0, spinlbrk, spinlbrk, 0, ROT0, "V-System Co.", "Spinal Breakers (World)", GAME_NO_COCKTAIL )
-GAME( 1990, spinlbru, spinlbrk, spinlbrk, spinlbru, 0, ROT0, "V-System Co.", "Spinal Breakers (US)", GAME_NO_COCKTAIL )
-GAME( 1990, spinlbrj, spinlbrk, spinlbrk, spinlbrj, 0, ROT0, "V-System Co.", "Spinal Breakers (Japan)", GAME_NO_COCKTAIL )
+GAME( 1990, spinlbrk, 0, spinlbrk, spinlbrk, 0, ROT0, "V-System Co.", "Spinal Breakers (World)", GAME_NO_COCKTAIL )
+GAME( 1990, spinlbru, spinlbrk, spinlbrk, spinlbru, 0, ROT0, "V-System Co.", "Spinal Breakers (US)", GAME_NO_COCKTAIL )
+GAME( 1990, spinlbrj, spinlbrk, spinlbrk, spinlbrk, 0, ROT0, "V-System Co.", "Spinal Breakers (Japan)", GAME_NO_COCKTAIL )
GAME( 1991, pspikes, 0, pspikes, pspikes, 0, ROT0, "Video System Co.", "Power Spikes (World)", GAME_NO_COCKTAIL )
GAME( 1991, pspikesk, pspikes, pspikes, pspikes, 0, ROT0, "Video System Co.", "Power Spikes (Korea)", GAME_NO_COCKTAIL )
GAME( 1991, svolly91, pspikes, pspikes, pspikes, 0, ROT0, "Video System Co.", "Super Volley '91 (Japan)", GAME_NO_COCKTAIL )
GAME( 1991, pspikesb, pspikes, pspikesb, pspikesb, 0, ROT0, "bootleg", "Power Spikes (bootleg)", GAME_NO_COCKTAIL )
-GAME( 1991, pallavol, pspikes, pallavol, pspikes, 0, ROT0, "bootleg", "Pallavolo (Italian Power Spikes bootleg)", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_NO_COCKTAIL )
-GAME( 1991, pspikesc, pspikes, pspikesc, pspikes, 0, ROT0, "bootleg", "Power Spikes (China)", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND )
+GAME( 1991, pallavol, pspikes, pallavol, pspikes, 0, ROT0, "bootleg", "Pallavolo (Italian Power Spikes bootleg)", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_NO_COCKTAIL )
+GAME( 1991, pspikesc, pspikes, pspikesc, pspikesc, 0, ROT0, "bootleg", "Power Spikes (China)", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND )
GAME( 1991, karatblz, 0, karatblz, karatblz, 0, ROT0, "Video System Co.", "Karate Blazers (World?)", GAME_NO_COCKTAIL )
GAME( 1991, karatblu, karatblz, karatblz, karatblz, 0, ROT0, "Video System Co.", "Karate Blazers (US)", GAME_NO_COCKTAIL )
GAME( 1991, karatblj, karatblz, karatblz, karatblz, 0, ROT0, "Video System Co.", "Karate Blazers (Japan)", GAME_NO_COCKTAIL )
diff --git a/src/mame/drivers/aliens.c b/src/mame/drivers/aliens.c
index 9e21c8955b7..039cebf3c4b 100644
--- a/src/mame/drivers/aliens.c
+++ b/src/mame/drivers/aliens.c
@@ -178,15 +178,9 @@ static INPUT_PORTS_START( aliens )
PORT_DIPSETTING( 0x02, "2" )
PORT_DIPSETTING( 0x01, "3" )
PORT_DIPSETTING( 0x00, "5" )
- PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:3") /* Listed as "Unused" in the manual */
- PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:4") /* Listed as "Unused" in the manual */
- PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:5") /* Listed as "Unused" in the manual */
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPUNUSED_DIPLOC( 0x0004, 0x0004, "SW2:3" ) /* Listed as "Unused" */
+ PORT_DIPUNUSED_DIPLOC( 0x0008, 0x0008, "SW2:4" ) /* Listed as "Unused" */
+ PORT_DIPUNUSED_DIPLOC( 0x0010, 0x0010, "SW2:5" ) /* Listed as "Unused" */
PORT_DIPNAME( 0x60, 0x40, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:6,7")
PORT_DIPSETTING( 0x60, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x40, DEF_STR( Normal ) )
@@ -200,13 +194,9 @@ static INPUT_PORTS_START( aliens )
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW3:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW3:2") /* Listed as "Unused" in the manual */
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPUNUSED_DIPLOC( 0x02, 0x02, "SW3:2" ) /* Listed as "Unused" */
PORT_SERVICE_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW3:3" )
- PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW3:4") /* Listed as "Unused" in the manual */
- PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPUNUSED_DIPLOC( 0x08, 0x08, "SW3:4" ) /* Listed as "Unused" */
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN3 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
diff --git a/src/mame/drivers/alpha68k.c b/src/mame/drivers/alpha68k.c
index 9e92d60175e..d454a5d2ddc 100644
--- a/src/mame/drivers/alpha68k.c
+++ b/src/mame/drivers/alpha68k.c
@@ -94,7 +94,7 @@ Stephh's additional notes (based on the games M68000 code and some tests) :
8) 'gangwarb'
- - When "Coin Slots" Dip Switch is set to "Common", COIN2 only adds ONE credit
+ - When "Coin Slots" Dip Switch is set to "1", COIN2 only adds ONE credit
and this has nothing to do with the microcontroller stuff.
- There is no Dip Switch to determine if you are allowed to continue a game
or not, so you ALWAYS have the possibility to continue a game.
@@ -171,6 +171,15 @@ note: CLUT and color remap PROMs missing
[The Next Space]
- fixed color and sprite glitches, added sound, filled DIP settings
+
+DIP locations verified from manuals for:
+- tnexspce
+- btlfield
+- gangwarb
+- skyadvnt
+- goldmedl
+- kyros
+
***************************************************************************/
#include "driver.h"
@@ -970,7 +979,7 @@ ADDRESS_MAP_END
PORT_BIT( 0x8000, active, start )
#define ALPHA68K_COINAGE_BITS_0TO2 \
- PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coinage ) ) \
+ PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW2:4,5,6") \
PORT_DIPSETTING( 0x07, "A 1C/1C B 1C/1C" ) \
PORT_DIPSETTING( 0x06, "A 1C/2C B 2C/1C" ) \
PORT_DIPSETTING( 0x05, "A 1C/3C B 3C/1C" ) \
@@ -981,7 +990,7 @@ ADDRESS_MAP_END
PORT_DIPSETTING( 0x00, "A 3C/2C B 8C/1C" ) \
#define ALPHA68K_COINAGE_BITS_1TO3 \
- PORT_DIPNAME( 0x0e, 0x0e, DEF_STR( Coinage ) ) \
+ PORT_DIPNAME( 0x0e, 0x0e, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:4,5,6") \
PORT_DIPSETTING( 0x0e, "A 1C/1C B 1C/1C" ) \
PORT_DIPSETTING( 0x06, "A 1C/2C B 2C/1C" ) \
PORT_DIPSETTING( 0x0a, "A 1C/3C B 3C/1C" ) \
@@ -992,7 +1001,7 @@ ADDRESS_MAP_END
PORT_DIPSETTING( 0x00, "A 3C/2C B 8C/1C" )
#define ALPHA68K_COINAGE_BITS_2TO4 \
- PORT_DIPNAME( 0x1c, 0x1c, DEF_STR( Coinage ) ) \
+ PORT_DIPNAME( 0x1c, 0x1c, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW2:2,3,4") \
PORT_DIPSETTING( 0x1c, "A 1C/1C B 1C/1C" ) \
PORT_DIPSETTING( 0x18, "A 1C/2C B 2C/1C" ) \
PORT_DIPSETTING( 0x14, "A 1C/3C B 3C/1C" ) \
@@ -1039,19 +1048,28 @@ static INPUT_PORTS_START( kyros )
ALPHA68K_PLAYER_INPUT_SWAP_LR_MSB( 2, IPT_UNKNOWN, IPT_START2, IP_ACTIVE_HIGH )
PORT_START_TAG("IN1") /* dipswitches */
- PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) )
+ PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- ALPHA68K_COINAGE_BITS_1TO3
- PORT_DIPNAME( 0x30, 0x00, DEF_STR( Lives ) )
+ //ALPHA68K_COINAGE_BITS_1TO3
+ PORT_DIPNAME( 0x0e, 0x0e, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:2,3,4")
+ PORT_DIPSETTING( 0x0e, "A 1C/1C B 1C/1C" )
+ PORT_DIPSETTING( 0x06, "A 1C/2C B 2C/1C" )
+ PORT_DIPSETTING( 0x0a, "A 1C/3C B 3C/1C" )
+ PORT_DIPSETTING( 0x02, "A 1C/4C B 4C/1C" )
+ PORT_DIPSETTING( 0x0c, "A 1C/5C B 5C/1C" )
+ PORT_DIPSETTING( 0x04, "A 1C/6C B 6C/1C" )
+ PORT_DIPSETTING( 0x08, "A 2C/3C B 7C/1C" )
+ PORT_DIPSETTING( 0x00, "A 3C/2C B 8C/1C" )
+ PORT_DIPNAME( 0x30, 0x00, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:5,6")
PORT_DIPSETTING( 0x00, "3" )
PORT_DIPSETTING( 0x10, "4" )
PORT_DIPSETTING( 0x20, "5" )
PORT_DIPSETTING( 0x30, "6" )
- PORT_DIPNAME( 0x40, 0x00, DEF_STR( Difficulty ) )
+ PORT_DIPNAME( 0x40, 0x00, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:7")
PORT_DIPSETTING( 0x00, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x40, DEF_STR( Hard ) )
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Cabinet ) )
+ PORT_DIPNAME( 0x80, 0x80, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:8")
PORT_DIPSETTING( 0x80, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
@@ -1239,30 +1257,28 @@ static INPUT_PORTS_START( btlfield )
PORT_SERVICE_NO_TOGGLE(0x02, IP_ACTIVE_LOW)
/* 2 physical sets of _6_ dip switches */
- PORT_DIPNAME( 0x04, 0x04, DEF_STR( Flip_Screen ) )
+ PORT_DIPNAME( 0x04, 0x04, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:1")
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x18, 0x18, DEF_STR( Difficulty ) )
+ PORT_DIPNAME( 0x18, 0x18, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:2,3")
PORT_DIPSETTING( 0x00, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x18, DEF_STR( Normal ) )
// PORT_DIPSETTING( 0x08, DEF_STR( Normal ) )
- PORT_DIPSETTING( 0x10, DEF_STR( Hard ) ) // "Difficult"
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Language ) )
+ PORT_DIPSETTING( 0x10, DEF_STR( Hard ) ) // "Difficult"
+ PORT_DIPNAME( 0x20, 0x20, DEF_STR( Language ) ) PORT_DIPLOCATION("SW1:4") /* Listed as "Unused". */
PORT_DIPSETTING( 0x00, DEF_STR( English ) )
PORT_DIPSETTING( 0x20, DEF_STR( Japanese ) )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unused ) ) // See notes
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, "Invulnerability (Cheat)")
+ PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW1:5" ) /* Listed as "Unused", see notes. */
+ PORT_DIPNAME( 0x80, 0x80, "Invulnerability (Cheat)") PORT_DIPLOCATION("SW1:6")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_START_TAG("IN4") /* A 6 way dip switch */
ALPHA68K_COINAGE_BITS_0TO2
- PORT_DIPNAME( 0x08, 0x00, DEF_STR( Demo_Sounds ) )
+ PORT_DIPNAME( 0x08, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:3")
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
+ PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x30, "3" )
PORT_DIPSETTING( 0x20, "4" )
PORT_DIPSETTING( 0x10, "5" )
@@ -1290,26 +1306,24 @@ static INPUT_PORTS_START( btlfildb )
PORT_SERVICE_NO_TOGGLE(0x02, IP_ACTIVE_LOW)
/* 2 physical sets of _6_ dip switches */
- PORT_DIPNAME( 0x04, 0x04, DEF_STR( Flip_Screen ) )
+ PORT_DIPNAME( 0x04, 0x04, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:1")
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x18, 0x18, DEF_STR( Difficulty ) )
+ PORT_DIPNAME( 0x18, 0x18, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:2,3")
PORT_DIPSETTING( 0x00, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x18, DEF_STR( Normal ) )
// PORT_DIPSETTING( 0x08, DEF_STR( Normal ) )
- PORT_DIPSETTING( 0x10, DEF_STR( Hard ) ) // "Difficult"
- PORT_DIPNAME( 0x20, 0x00, DEF_STR( Language ) )
+ PORT_DIPSETTING( 0x10, DEF_STR( Hard ) ) // "Difficult"
+ PORT_DIPNAME( 0x20, 0x20, DEF_STR( Language ) ) PORT_DIPLOCATION("SW1:4") /* Listed as "Unused". */
PORT_DIPSETTING( 0x00, DEF_STR( English ) )
PORT_DIPSETTING( 0x20, DEF_STR( Japanese ) )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unused ) ) // See notes
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, "Invulnerability (Cheat)")
+ PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW1:5" ) /* Listed as "Unused", see notes. */
+ PORT_DIPNAME( 0x80, 0x80, "Invulnerability (Cheat)") PORT_DIPLOCATION("SW1:6")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_START_TAG("IN4") /* A 6 way dip switch */
- PORT_DIPNAME( 0x07, 0x00, DEF_STR( Coinage ) )
+ PORT_DIPNAME( 0x07, 0x00, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW2:4,5,6")
PORT_DIPSETTING( 0x00, "A 1C/1C B 1C/1C" )
PORT_DIPSETTING( 0x01, "A 1C/2C B 2C/1C" )
PORT_DIPSETTING( 0x02, "A 1C/3C B 3C/1C" )
@@ -1318,15 +1332,11 @@ static INPUT_PORTS_START( btlfildb )
PORT_DIPSETTING( 0x05, "A 1C/6C B 6C/1C" )
PORT_DIPSETTING( 0x06, "A 2C/3C B 7C/1C" )
PORT_DIPSETTING( 0x07, "A 3C/2C B 8C/1C" )
- PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
+ PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:3")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x08, DEF_STR( On ) )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPUNKNOWN_DIPLOC( 0x10, 0x10, "SW1:2" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x20, 0x20, "SW1:1" )
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START_TAG("IN5") /* player 1 12-way rotary control - converted in controls_r() */
@@ -1415,31 +1425,30 @@ static INPUT_PORTS_START( goldmedl )
PORT_SERVICE_NO_TOGGLE(0x02, IP_ACTIVE_LOW)
/* 2 physical sets of _6_ dip switches */
- PORT_DIPNAME( 0x04, 0x00, "Event Select" )
+ PORT_DIPNAME( 0x04, 0x00, "Event Select" ) PORT_DIPLOCATION("SW1:1")
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- 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_START3 )
- PORT_DIPNAME( 0x20, 0x20, "Speed For 100M Dash" )
- PORT_DIPSETTING( 0x00, "10 Beats" ) /* 10 Beats for Max Speed */
- PORT_DIPSETTING( 0x20, "14 Beats" ) /* 14 Beats for Max Speed */
- PORT_DIPNAME( 0x40, 0x40, "Watch Computer Play" )
- PORT_DIPSETTING( 0x00, DEF_STR( No ) )
- PORT_DIPSETTING( 0x40, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x80, 0x80, "Maximum Players" )
- PORT_DIPSETTING( 0x00, "2" )
- PORT_DIPSETTING( 0x80, "4" )
+ PORT_DIPNAME( 0x88, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:2,6")
+ PORT_DIPSETTING( 0x00, "Upright 2 Players" )
+ PORT_DIPSETTING( 0x80, "Upright 4 Players" )
+ PORT_DIPSETTING( 0x88, DEF_STR( Cocktail ) )
+ //PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) ) /* Not documented. */
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START3 ) PORT_DIPLOCATION("SW1:3") /* Listed as "Always OFF". */
+ PORT_DIPNAME( 0x20, 0x20, "Speed For 100M Dash" ) PORT_DIPLOCATION("SW1:4")
+ PORT_DIPSETTING( 0x00, "10 Beats For Max Speed" )
+ PORT_DIPSETTING( 0x20, "14 Beats For Max Speed" )
+ PORT_DIPNAME( 0x40, 0x40, "Computer Demonstration" )PORT_DIPLOCATION("SW1:5")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x40, DEF_STR( On ) )
PORT_START_TAG("IN4") /* A 6 way dip switch */
- PORT_DIPNAME( 0x03, 0x02, DEF_STR( Difficulty ) )
+ PORT_DIPNAME( 0x03, 0x02, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:5,6")
PORT_DIPSETTING( 0x03, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x02, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x01, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Very_Hard ) )
ALPHA68K_COINAGE_BITS_2TO4
- PORT_DIPNAME( 0x20, 0x00, DEF_STR( Demo_Sounds ) )
+ PORT_DIPNAME( 0x20, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -1465,32 +1474,28 @@ static INPUT_PORTS_START( skyadvnt )
PORT_SERVICE_NO_TOGGLE(0x02, IP_ACTIVE_LOW)
/* 2 physical sets of _6_ dip switches */
- PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) )
+ PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x08, "2" )
PORT_DIPSETTING( 0x0c, "3" )
PORT_DIPSETTING( 0x04, "4" )
PORT_DIPSETTING( 0x00, "5" )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unused ) ) // See notes
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x60, 0x60, DEF_STR( Difficulty ) ) // See notes
+ PORT_DIPUNUSED_DIPLOC( 0x10, 0x10, "SW1:3" ) /* Listed as "Unused" */
+ PORT_DIPNAME( 0x60, 0x60, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:4,5") // See notes
PORT_DIPSETTING( 0x40, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x60, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x20, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Demo_Sounds ) )
+ PORT_DIPNAME( 0x80, 0x80, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:6")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
PORT_START_TAG("IN4") /* A 6 way dip switch */
- PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unused ) )
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPUNUSED_DIPLOC( 0x01, 0x01, "SW1:6" ) /* Listed as "Unused" */
ALPHA68K_COINAGE_BITS_1TO3
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Flip_Screen ) )
+ PORT_DIPNAME( 0x10, 0x10, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:2")
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x20, "Freeze" )
+ PORT_DIPNAME( 0x20, 0x20, "Freeze" ) PORT_DIPLOCATION("SW1:1")
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -1511,39 +1516,37 @@ static INPUT_PORTS_START( skyadvnu )
PORT_SERVICE_NO_TOGGLE(0x02, IP_ACTIVE_LOW)
/* 2 physical sets of _6_ dip switches */
- PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) )
+ PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x08, "2" )
PORT_DIPSETTING( 0x0c, "3" )
PORT_DIPSETTING( 0x04, "4" )
PORT_DIPSETTING( 0x00, "5" )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unused ) ) // See notes
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x60, 0x60, DEF_STR( Difficulty ) ) // See notes
+ PORT_DIPUNUSED_DIPLOC( 0x10, 0x10, "SW1:3" ) /* Listed as "Unused" */
+ PORT_DIPNAME( 0x60, 0x60, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:4,5") // See notes
PORT_DIPSETTING( 0x40, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x60, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x20, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Demo_Sounds ) )
+ PORT_DIPNAME( 0x80, 0x80, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:6")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
PORT_START_TAG("IN4") /* A 6 way dip switch */
- PORT_DIPNAME( 0x01, 0x00, "Price to Continue" )
+ PORT_DIPNAME( 0x01, 0x00, "Price to Continue" ) PORT_DIPLOCATION("SW1:6")
PORT_DIPSETTING( 0x01, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x00, "Same as Start" )
- PORT_DIPNAME( 0x02, 0x02, DEF_STR( Allow_Continue ) )
+ PORT_DIPNAME( 0x02, 0x02, DEF_STR( Allow_Continue ) )PORT_DIPLOCATION("SW1:5")
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
PORT_DIPSETTING( 0x02, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coinage ) )
+ PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:3,4")
PORT_DIPSETTING( 0x04, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Flip_Screen ) )
+ PORT_DIPNAME( 0x10, 0x10, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:2")
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x20, "Freeze" )
+ PORT_DIPNAME( 0x20, 0x20, "Freeze" ) PORT_DIPLOCATION("SW1:1")
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -1563,39 +1566,39 @@ static INPUT_PORTS_START( gangwars )
PORT_SERVICE_NO_TOGGLE(0x02, IP_ACTIVE_LOW)
/* 2 physical sets of _6_ dip switches */
- PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) )
+ PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x08, "2" )
PORT_DIPSETTING( 0x0c, "3" )
PORT_DIPSETTING( 0x04, "4" )
PORT_DIPSETTING( 0x00, "5" )
- PORT_DIPNAME( 0x10, 0x00, "Timer Speed" ) // Check code at 0x01923a
- PORT_DIPSETTING( 0x00, DEF_STR( Normal ) ) // 1 second = 0x01ff
- PORT_DIPSETTING( 0x10, "Fast" ) // 1 second = 0x013f
- PORT_DIPNAME( 0x60, 0x60, DEF_STR( Difficulty ) )
+ PORT_DIPNAME( 0x10, 0x00, "Timer Speed" ) PORT_DIPLOCATION("SW2:3") // Check code at 0x01923a
+ PORT_DIPSETTING( 0x00, "Slow" ) // 1 second = 0x01ff
+ PORT_DIPSETTING( 0x10, DEF_STR( Normal ) ) // 1 second = 0x013f
+ PORT_DIPNAME( 0x60, 0x60, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:4,5")
PORT_DIPSETTING( 0x40, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x60, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x20, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Demo_Sounds ) )
+ PORT_DIPNAME( 0x80, 0x80, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:6")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
PORT_START_TAG("IN4") /* A 6 way dip switch */
- PORT_DIPNAME( 0x01, 0x00, "Price to Continue" )
+ PORT_DIPNAME( 0x01, 0x00, "Price to Continue" ) PORT_DIPLOCATION("SW1:6")
PORT_DIPSETTING( 0x01, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x00, "Same as Start" )
- PORT_DIPNAME( 0x02, 0x02, DEF_STR( Allow_Continue ) )
+ PORT_DIPNAME( 0x02, 0x02, DEF_STR( Allow_Continue ) )PORT_DIPLOCATION("SW1:5")
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
PORT_DIPSETTING( 0x02, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coinage ) )
+ PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:3,4")
PORT_DIPSETTING( 0x04, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Flip_Screen ) )
+ PORT_DIPNAME( 0x10, 0x10, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:2")
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x20, "Freeze" )
+ PORT_DIPNAME( 0x20, 0x20, "Freeze" ) PORT_DIPLOCATION("SW1:1")
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -1616,29 +1619,27 @@ static INPUT_PORTS_START( gangwarb )
PORT_SERVICE_NO_TOGGLE(0x02, IP_ACTIVE_LOW)
/* 2 physical sets of _6_ dip switches */
- 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( Lives ) )
+ PORT_DIPUNUSED_DIPLOC( 0x04, 0x04, "SW2:1" ) /* Listed as "Unused" */
+ PORT_DIPNAME( 0x08, 0x08, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x08, "3" )
PORT_DIPSETTING( 0x00, "4" )
- PORT_DIPNAME( 0x10, 0x00, "Timer Speed" ) // Check code at 0x01923a
- PORT_DIPSETTING( 0x00, DEF_STR( Normal ) ) // 1 second = 0x01ff
- PORT_DIPSETTING( 0x10, "Fast" ) // 1 second = 0x013f
- PORT_DIPNAME( 0x60, 0x60, DEF_STR( Difficulty ) )
+ PORT_DIPNAME( 0x10, 0x10, "Timer Speed" ) PORT_DIPLOCATION("SW2:3") // Check code at 0x01923a
+ PORT_DIPSETTING( 0x00, "Slow" ) // 1 second = 0x01ff
+ PORT_DIPSETTING( 0x10, DEF_STR( Normal ) ) // 1 second = 0x013f
+ PORT_DIPNAME( 0x60, 0x60, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:4,5")
PORT_DIPSETTING( 0x40, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x60, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x20, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Demo_Sounds ) )
+ PORT_DIPNAME( 0x80, 0x80, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:6")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
PORT_START_TAG("IN4") /* A 6 way dip switch */
- PORT_DIPNAME( 0x01, 0x00, "Coin Slots" )
- PORT_DIPSETTING( 0x00, "Common" )
- PORT_DIPSETTING( 0x01, "Individual" )
- PORT_DIPNAME( 0x0e, 0x0e, DEF_STR( Coinage ) )
+ PORT_DIPNAME( 0x01, 0x00, "Coin Slots" ) PORT_DIPLOCATION("SW1:6")
+ PORT_DIPSETTING( 0x00, "1" )
+ PORT_DIPSETTING( 0x01, "2" )
+ PORT_DIPNAME( 0x0e, 0x0e, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:3,4,5")
PORT_DIPSETTING( 0x00, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x02, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x04, DEF_STR( 2C_1C ) )
@@ -1647,10 +1648,10 @@ static INPUT_PORTS_START( gangwarb )
PORT_DIPSETTING( 0x0a, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x08, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0x06, DEF_STR( 1C_5C ) )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Flip_Screen ) )
+ PORT_DIPNAME( 0x10, 0x10, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:2")
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x20, "Freeze" )
+ PORT_DIPNAME( 0x20, 0x20, "Freeze" ) PORT_DIPLOCATION("SW1:1")
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -1742,50 +1743,50 @@ static INPUT_PORTS_START( tnexspce )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START_TAG("IN3")
- PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )
+ PORT_START_TAG("DSW1")
+ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unused ) )
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x04, 0x04, "Bonus Life Occurence" )
- PORT_DIPSETTING( 0x04, "1st and 2nd only" )
- PORT_DIPSETTING( 0x00, "1st, 2nd, then every 2nd" )
- PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unused ) )
- PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coinage ) )
+ PORT_DIPUNUSED_DIPLOC( 0x02, 0x02, "SW1:2" ) /* Listed as "Unused" */
+ PORT_DIPNAME( 0x04, 0x04, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:3")
+ PORT_DIPSETTING( 0x04, "2nd Extend" )
+ PORT_DIPSETTING( 0x00, "Every Extend" )
+ PORT_DIPUNUSED_DIPLOC( 0x08, 0x08, "SW1:4" ) /* Listed as "Unused" */
+ PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:5,6")
PORT_DIPSETTING( 0x30, "A 1C/1C B 1C/2C" )
PORT_DIPSETTING( 0x20, "A 2C/1C B 1C/3C" )
PORT_DIPSETTING( 0x10, "A 3C/1C B 1C/5C" )
PORT_DIPSETTING( 0x00, "A 4C/1C B 1C/6C" )
- PORT_DIPNAME( 0xc0, 0x80, DEF_STR( Lives ) )
+ PORT_DIPNAME( 0xc0, 0x80, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:7,8")
PORT_DIPSETTING( 0xc0, "2" )
PORT_DIPSETTING( 0x80, "3" )
PORT_DIPSETTING( 0x40, "4" )
PORT_DIPSETTING( 0x00, "5" )
- PORT_START_TAG("IN4")
- PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
+ PORT_START_TAG("DSW2")
+ PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x02, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x03, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x01, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
- PORT_DIPNAME( 0x0c, 0x0c, "Game Mode" )
- PORT_DIPSETTING( 0x08, "Demo Sounds Off" )
- PORT_DIPSETTING( 0x0c, "Demo Sounds On" )
- PORT_DIPSETTING( 0x04, "Infinite Lives (Cheat)")
+ PORT_DIPNAME( 0x04, 0x04, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:3") PORT_CONDITION("DSW2",0x08,PORTCOND_EQUALS,0x08)
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( On ) )
+ PORT_DIPNAME( 0x04, 0x04, "Game Mode" ) PORT_DIPLOCATION("SW2:3") PORT_CONDITION("DSW2",0x08,PORTCOND_EQUALS,0x00)
PORT_DIPSETTING( 0x00, "Freeze" )
- PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) )
+ PORT_DIPSETTING( 0x04, "Infinite Lives (Cheat)")
+ PORT_DIPNAME( 0x08, 0x08, "SW2:3 Demo Sound/Game Mode" )PORT_DIPLOCATION("SW2:4")
+ PORT_DIPSETTING( 0x08, DEF_STR( Demo_Sounds ) )
+ PORT_DIPSETTING( 0x00, "Game Mode" )
+ PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:5,6")
PORT_DIPSETTING( 0x30, "100000 200000" )
PORT_DIPSETTING( 0x20, "150000 300000" )
PORT_DIPSETTING( 0x10, "300000 500000" )
PORT_DIPSETTING( 0x00, DEF_STR( None ) )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Allow_Continue ) )
+ PORT_DIPNAME( 0x40, 0x40, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:7")
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
PORT_DIPSETTING( 0x40, DEF_STR( Yes ) )
- PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
+ PORT_SERVICE_DIPLOC( 0x80, IP_ACTIVE_LOW, "SW2:8" )
INPUT_PORTS_END
/******************************************************************************/
diff --git a/src/mame/drivers/ambush.c b/src/mame/drivers/ambush.c
index 6f175e0a621..2506f33e059 100644
--- a/src/mame/drivers/ambush.c
+++ b/src/mame/drivers/ambush.c
@@ -112,13 +112,13 @@ static INPUT_PORTS_START( ambush )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
- PORT_START_TAG("DSW")
- PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
+ PORT_START_TAG("DSW1")
+ PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:1,2")
PORT_DIPSETTING( 0x00, "3" )
PORT_DIPSETTING( 0x01, "4" )
PORT_DIPSETTING( 0x02, "5" )
PORT_DIPSETTING( 0x03, "6" )
- PORT_DIPNAME( 0x1c, 0x00, DEF_STR( Coinage ) )
+ PORT_DIPNAME( 0x1c, 0x00, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:3,4,5")
PORT_DIPSETTING( 0x14, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
@@ -127,13 +127,13 @@ static INPUT_PORTS_START( ambush )
PORT_DIPSETTING( 0x08, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0x1c, "Service Mode/Free Play" )
- PORT_DIPNAME( 0x20, 0x00, DEF_STR( Difficulty ) )
+ PORT_DIPNAME( 0x20, 0x00, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:6")
PORT_DIPSETTING( 0x00, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x20, DEF_STR( Hard ) )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Bonus_Life ) )
+ PORT_DIPNAME( 0x40, 0x40, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:7")
PORT_DIPSETTING( 0x40, "80000" )
PORT_DIPSETTING( 0x00, "120000" )
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Cabinet ) )
+ PORT_DIPNAME( 0x80, 0x80, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:8")
PORT_DIPSETTING( 0x80, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
INPUT_PORTS_END
diff --git a/src/mame/drivers/amidar.c b/src/mame/drivers/amidar.c
index f285942ce4b..8874fc967a1 100644
--- a/src/mame/drivers/amidar.c
+++ b/src/mame/drivers/amidar.c
@@ -140,7 +140,7 @@ ADDRESS_MAP_END
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_COIN3 )\
+ 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\
@@ -204,7 +204,6 @@ static INPUT_PORTS_START( amidar )
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 ) )
@@ -212,7 +211,7 @@ static INPUT_PORTS_START( amidar )
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_DIPSETTING( 0x04, "Every 50000" )
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) )
@@ -230,74 +229,32 @@ static INPUT_PORTS_START( amidar )
INPUT_PORTS_END
/* absolutely identical to amidar, the only difference is the BONUS dip switch */
-/* Cannot find a port 'replace' macro, which would be all that's needed here */
-/* So instead, I'll use the old definition system */
static INPUT_PORTS_START( amidaru )
-AMIDAR_IN0
-
-AMIDAR_IN1
+ PORT_INCLUDE( amidar )
- 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_MODIFY("IN2")
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Bonus_Life ) )
PORT_DIPSETTING( 0x00, "30000 70000" )
PORT_DIPSETTING( 0x04, "50000 80000" )
- 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
static INPUT_PORTS_START( amidaro )
-AMIDAR_IN0
+ PORT_INCLUDE( amidar )
- PORT_START_TAG("IN1")
+ 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_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 )
- PORT_START_TAG("IN2")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
+ 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" )
- 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
/* similar to Amidar, dip switches are different and port 3, which in Amidar */
@@ -306,7 +263,7 @@ 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_COIN3 )
+ 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
@@ -349,46 +306,21 @@ INPUT_PORTS_END
/* same as Turtles, but dip switches are different. */
static INPUT_PORTS_START( turpin )
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_COIN3 )
- 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_INCLUDE( turtles )
- PORT_START_TAG("IN1")
+ 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_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 )
- PORT_START_TAG("IN2")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
+ 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_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 ) )
INPUT_PORTS_END
diff --git a/src/mame/drivers/amspdwy.c b/src/mame/drivers/amspdwy.c
index 13ada3e400d..11f31be95b5 100644
--- a/src/mame/drivers/amspdwy.c
+++ b/src/mame/drivers/amspdwy.c
@@ -151,41 +151,41 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( amspdwy )
PORT_START_TAG("DSW1")
- PORT_DIPNAME( 0x01, 0x00, "Character Test" )
+ PORT_DIPNAME( 0x01, 0x00, "Character Test" ) PORT_DIPLOCATION("SW1:8")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
- PORT_DIPNAME( 0x02, 0x00, "Show Arrows" )
+ PORT_DIPNAME( 0x02, 0x00, "Show Arrows" ) PORT_DIPLOCATION("SW1:7")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x02, DEF_STR( On ) )
- PORT_DIPNAME( 0x04, 0x04, DEF_STR( Demo_Sounds ) )
+ PORT_DIPNAME( 0x04, 0x04, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:6")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x04, DEF_STR( On ) )
- PORT_SERVICE( 0x08, IP_ACTIVE_HIGH )
- PORT_DIPNAME( 0x10, 0x00, "Steering Test" )
+ PORT_SERVICE_DIPLOC( 0x08, IP_ACTIVE_HIGH, "SW1:5" )
+ PORT_DIPNAME( 0x10, 0x00, "Steering Test" ) PORT_DIPLOCATION("SW1:4")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x10, DEF_STR( On ) )
- PORT_DIPUNUSED( 0x20, IP_ACTIVE_HIGH )
- PORT_DIPUNUSED( 0x40, IP_ACTIVE_HIGH )
- PORT_DIPUNUSED( 0x80, IP_ACTIVE_HIGH )
+ PORT_DIPUNUSED_DIPLOC( 0x20, 0x00, "SW1:3" ) /* Listed as "Unused" */
+ PORT_DIPUNUSED_DIPLOC( 0x40, 0x00, "SW1:2" ) /* Listed as "Unused" */
+ PORT_DIPUNUSED_DIPLOC( 0x80, 0x00, "SW1:1" ) /* Listed as "Unused" */
PORT_START_TAG("DSW2")
- PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coinage ) )
+ PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW2:7,8")
PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C ) )
// PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) )
- PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Difficulty ) )
+ PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:5,6")
PORT_DIPSETTING( 0x00, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x04, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x08, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x0c, DEF_STR( Hardest ) )
- PORT_DIPNAME( 0x30, 0x00, "Time" ) /* code at 0x1770 */
+ PORT_DIPNAME( 0x30, 0x00, "Time To Qualify" ) PORT_DIPLOCATION("SW2:3,4") /* code at 0x1770 */
PORT_DIPSETTING( 0x30, "20 sec" )
PORT_DIPSETTING( 0x20, "30 sec" )
PORT_DIPSETTING( 0x10, "45 sec" )
PORT_DIPSETTING( 0x00, "60 sec" )
- PORT_DIPUNUSED( 0x40, IP_ACTIVE_HIGH )
- PORT_DIPUNUSED( 0x80, IP_ACTIVE_HIGH )
+ PORT_DIPUNUSED_DIPLOC( 0x40, 0x00, "SW2:2" ) /* Listed as "Unused" */
+ PORT_DIPUNUSED_DIPLOC( 0x80, 0x00, "SW2:1" ) /* Listed as "Unused" */
PORT_START_TAG("IN2") // Player 1 Wheel + Coins
PORT_BIT( 0x1f, IP_ACTIVE_HIGH, IPT_SPECIAL ) // wheel
@@ -215,10 +215,10 @@ static INPUT_PORTS_START( amspdwya )
PORT_INCLUDE(amspdwy)
PORT_MODIFY("DSW2")
- PORT_DIPNAME( 0x10, 0x00, "Time" ) /* code at 0x2696 */
+ PORT_DIPNAME( 0x10, 0x00, "Time To Qualify" ) PORT_DIPLOCATION("SW2:4") /* code at 0x2696 */
PORT_DIPSETTING( 0x10, "45 sec" )
PORT_DIPSETTING( 0x00, "60 sec" )
- PORT_DIPUNUSED( 0x20, IP_ACTIVE_HIGH )
+ PORT_DIPUNUSED_DIPLOC( 0x20, 0x00, "SW2:3" ) /* Listed as "Unused" */
INPUT_PORTS_END
diff --git a/src/mame/drivers/angelkds.c b/src/mame/drivers/angelkds.c
index 2b3c875f1f8..ee6b6439ac8 100644
--- a/src/mame/drivers/angelkds.c
+++ b/src/mame/drivers/angelkds.c
@@ -289,16 +289,6 @@ ADDRESS_MAP_END
/* Input Ports */
-/* Here is the way to access to the different parts of the "test mode" :
-
- - sound : set "Coin A" Dip Switch to "Free Play" and "Coin B" Dip Switch to "Free Play"
- - paddle : set "Coin A" Dip Switch to "3C_1C" and "Coin B" Dip Switch to "Free Play"
-
-If use different settings, you'll only see a black screen.
-
-I haven't found how to exit the tests. The only way seems to reset the game.
-*/
-
#define ANGELDSK_PLAYERS_INPUT( player ) \
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP ) PORT_PLAYER(player) PORT_8WAY \
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN ) PORT_PLAYER(player) PORT_8WAY \
@@ -321,8 +311,14 @@ I haven't found how to exit the tests. The only way seems to reset the game.
static INPUT_PORTS_START( angelkds )
+ /*
+ Free Play: Set SW1:1-8 ON (A:Free Play & B:Free Play).
+ Sound Test: Set SW1:1-8 ON (A:Free Play & B:Free Play), hold test switch and reboot.
+ Joystick Test: Set SW1:1-7 ON & SW1:8 OFF (A:Free Play & B:3C_1C), hold test switch and reboot.
+ Joystick Test Coin_A & Coin_B seem to be switched, only works when setting A to 3C_1C and B to Free Play.
+ */
PORT_START_TAG("I40") /* inport $40 */
- PORT_DIPNAME( 0xf0, 0xf0, DEF_STR( Coin_A ) )
+ PORT_DIPNAME( 0xf0, 0xf0, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2,3,4")
PORT_DIPSETTING( 0x70, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x80, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x90, DEF_STR( 2C_1C ) )
@@ -338,9 +334,9 @@ static INPUT_PORTS_START( angelkds )
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0xb0, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0xa0, DEF_STR( 1C_6C ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) ) // needed to enter "test mode" (see above)
+ PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
- PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_B ) )
+ PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:5,6,7,8")
PORT_DIPSETTING( 0x07, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x08, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x09, DEF_STR( 2C_1C ) )
@@ -359,23 +355,23 @@ static INPUT_PORTS_START( angelkds )
PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
PORT_START_TAG("I41") /* inport $41 */
- PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
+ PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x01, DEF_STR( Cocktail ) )
- PORT_DIPNAME( 0x02, 0x00, "Hi Score" )
- PORT_DIPSETTING( 0x00, "3 Characters" )
- PORT_DIPSETTING( 0x02, "10 Characters" )
- PORT_DIPNAME( 0x0c, 0x08, DEF_STR( Bonus_Life ) )
+ PORT_DIPNAME( 0x02, 0x00, "High Score Characters" ) PORT_DIPLOCATION("SW2:2")
+ PORT_DIPSETTING( 0x00, "3" )
+ PORT_DIPSETTING( 0x02, "10" )
+ PORT_DIPNAME( 0x0c, 0x08, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPSETTING( 0x0c, "20k, 50k, 100k, 200k and 500k" )
PORT_DIPSETTING( 0x08, "50k, 100k, 200k and 500k" )
PORT_DIPSETTING( 0x04, "100k, 200k and 500k" )
PORT_DIPSETTING( 0x00, DEF_STR( None ) )
- PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
+ PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:5,6")
PORT_DIPSETTING( 0x30, "3" )
PORT_DIPSETTING( 0x20, "4" )
PORT_DIPSETTING( 0x10, "5" )
PORT_DIPSETTING( 0x00, "99 (Cheat)" )
- PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) /* Stored at 0xc023 */
+ PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:7,8") /* Stored at 0xc023 */
PORT_DIPSETTING( 0xc0, DEF_STR( Very_Easy ) )
PORT_DIPSETTING( 0x40, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x80, DEF_STR( Hard ) )
@@ -428,7 +424,7 @@ INPUT_PORTS_END
static INPUT_PORTS_START( spcpostn )
PORT_START_TAG("I40") /* inport $40 */
- PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) )
+ PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2,3,4")
PORT_DIPSETTING( 0x02, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x05, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x08, DEF_STR( 2C_1C ) )
@@ -445,7 +441,7 @@ static INPUT_PORTS_START( spcpostn )
PORT_DIPSETTING( 0x0a, 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_DIPNAME( 0xf0, 0xf0, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:5,6,7,8")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x20, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x50, DEF_STR( 3C_1C ) )
@@ -464,28 +460,26 @@ static INPUT_PORTS_START( spcpostn )
PORT_DIPSETTING( 0x90, DEF_STR( 1C_7C ) )
PORT_START_TAG("I41") /* inport $41 */
- PORT_DIPNAME( 0x01, 0x01, DEF_STR(Allow_Continue ) )
+ PORT_DIPNAME( 0x01, 0x01, DEF_STR(Allow_Continue ) ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x01, DEF_STR( No ) )
PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x02, 0x02, "Obstruction Car" )
+ PORT_DIPNAME( 0x02, 0x02, "Obstruction Car" ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hard ) )
- PORT_DIPNAME( 0x0c, 0x08, "Time Limit" )
+ PORT_DIPNAME( 0x0c, 0x08, "Time Limit" ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPSETTING( 0x00, "1:10" )
PORT_DIPSETTING( 0x04, "1:20" )
PORT_DIPSETTING( 0x08, "1:30" )
PORT_DIPSETTING( 0x0c, "1:40" )
- PORT_DIPNAME( 0x30, 0x20, "Power Down" )
+ PORT_DIPNAME( 0x30, 0x20, "Power Down" ) PORT_DIPLOCATION("SW2:5,6")
PORT_DIPSETTING( 0x30, "Slow" )
PORT_DIPSETTING( 0x20, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x10, "Fast" )
PORT_DIPSETTING( 0x00, "Fastest" )
- PORT_DIPNAME( 0x40, 0x00, DEF_STR( Demo_Sounds ) )
+ PORT_DIPNAME( 0x40, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:7")
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) )
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW2:8" ) /* Listed as "Unused" */
PORT_START_TAG("I42") /* inport $42 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
diff --git a/src/mame/drivers/appoooh.c b/src/mame/drivers/appoooh.c
index 84abe7cad6c..927e2b55c8f 100644
--- a/src/mame/drivers/appoooh.c
+++ b/src/mame/drivers/appoooh.c
@@ -155,8 +155,8 @@ static INPUT_PORTS_START( appoooh )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN3 )
PORT_BIT( 0xf8, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* probably unused */
- PORT_START_TAG("DSW")
- PORT_DIPNAME( 0x07, 0x00, DEF_STR( Coin_A ) )
+ PORT_START_TAG("DSW1")
+ PORT_DIPNAME( 0x07, 0x00, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2,3")
PORT_DIPSETTING( 0x03, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x02, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) )
@@ -165,18 +165,18 @@ static INPUT_PORTS_START( appoooh )
PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x05, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x06, DEF_STR( 1C_4C ) )
- PORT_DIPNAME( 0x18, 0x00, DEF_STR( Coin_B ) )
+ PORT_DIPNAME( 0x18, 0x00, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:4,5")
PORT_DIPSETTING( 0x18, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) )
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Demo_Sounds ) )
+ PORT_DIPNAME( 0x20, 0x20, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:6")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x20, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Cabinet ) )
+ PORT_DIPNAME( 0x40, 0x40, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:7")
PORT_DIPSETTING( 0x40, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
- PORT_DIPNAME( 0x80, 0x00, DEF_STR( Difficulty ) )
+ PORT_DIPNAME( 0x80, 0x00, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:8")
PORT_DIPSETTING( 0x00, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x80, DEF_STR( Hard ) )
INPUT_PORTS_END
@@ -281,10 +281,10 @@ PROMs : (x1, near EPR-7543.12B, labelled PR7571)
DIPSW : 8 position (x1)
DIPSW Info:
- 1 2 3 4 5 6 7 8
+ 1 2 3 4 5 6 7 8
-----------------------------------------------------------------------------------
Coin1
- 1Coin 1Credit OFF OFF OFF
+ 1Coin 1Credit OFF OFF OFF
2Coin 1Credit ON OFF OFF
3Coin 1Credit OFF ON OFF
4Coin 1Credit ON ON OFF
@@ -300,14 +300,14 @@ Coin2
3Coin 1Credit ON ON
-----------------------------------------------------------------------------------
Demo Sound
- Off OFF
- On ON
+ Off OFF
+ On ON
-----------------------------------------------------------------------------------
-Not Used OFF
+Not Used OFF
-----------------------------------------------------------------------------------
Language
- Japanese OFF
- English ON
+ Japanese OFF
+ English ON
-----------------------------------------------------------------------------------
@@ -386,52 +386,11 @@ PR7573.7G 82s129 06F1h / identical contents
*/
static INPUT_PORTS_START( robowres )
- PORT_START_TAG("IN0")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY
- PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY
- PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY
- PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
- PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN1 )
- PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_COIN2 )
- PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON2 )
-
- PORT_START_TAG("IN1")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
- PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
- PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
- PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
- PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START1 )
- PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_START2 )
- PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL
+ PORT_INCLUDE( appoooh )
- PORT_START_TAG("IN2")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON3 )
- PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_COCKTAIL
- PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN3 )
- PORT_BIT( 0xf8, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* probably unused */
-
- PORT_START_TAG("DSW")
- PORT_DIPNAME( 0x07, 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_DIPSETTING( 0x07, DEF_STR( 2C_3C ) )
- PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x05, DEF_STR( 1C_3C ) )
- PORT_DIPSETTING( 0x06, DEF_STR( 1C_4C ) )
- PORT_DIPNAME( 0x18, 0x00, DEF_STR( Coin_B ) )
- PORT_DIPSETTING( 0x18, DEF_STR( 3C_1C ) )
- PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) )
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Demo_Sounds ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x20, DEF_STR( On ) )
- PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Language ) )
+ PORT_MODIFY("DSW1")
+ PORT_DIPUNUSED_DIPLOC(0x40,0x40, "SW1:7" ) /* Listed as "Unused" */
+ PORT_DIPNAME( 0x80, 0x80, DEF_STR( Language ) ) PORT_DIPLOCATION("SW1:8")
PORT_DIPSETTING( 0x00, DEF_STR( Japanese ) )
PORT_DIPSETTING( 0x80, DEF_STR( English ) )
INPUT_PORTS_END
@@ -615,6 +574,6 @@ static DRIVER_INIT(robowrb){
}
-GAME( 1984, appoooh, 0, appoooh, appoooh, 0, ROT0, "[Sanritsu] Sega", "Appoooh", 0 )
-GAME( 1986, robowres, 0, robowres, robowres, robowres, ROT0, "Sega", "Robo Wres 2001", 0 )
+GAME( 1984, appoooh, 0, appoooh, appoooh, 0, ROT0, "[Sanritsu] Sega", "Appoooh", 0 )
+GAME( 1986, robowres, 0, robowres, robowres, robowres, ROT0, "Sega", "Robo Wres 2001", 0 )
GAME( 1986, robowrb, robowres, robowres, robowres, robowrb, ROT0, "bootleg", "Robo Wres 2001 (bootleg)", 0 )
diff --git a/src/mame/drivers/arabian.c b/src/mame/drivers/arabian.c
index 9ec114cc682..080e9a8bb62 100644
--- a/src/mame/drivers/arabian.c
+++ b/src/mame/drivers/arabian.c
@@ -249,19 +249,19 @@ static INPUT_PORTS_START( arabian )
PORT_BIT( 0xf8, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_START_TAG("DSW1")
- PORT_DIPNAME( 0x01, 0x00, DEF_STR( Lives )) PORT_DIPLOCATION("SW1:1")
+ PORT_DIPNAME( 0x01, 0x00, DEF_STR( Lives )) PORT_DIPLOCATION("SW1:!1")
PORT_DIPSETTING( 0x00, "3" )
PORT_DIPSETTING( 0x01, "5" )
- PORT_DIPNAME( 0x02, 0x02, DEF_STR( Cabinet )) PORT_DIPLOCATION("SW1:2")
+ PORT_DIPNAME( 0x02, 0x02, DEF_STR( Cabinet )) PORT_DIPLOCATION("SW1:!2")
PORT_DIPSETTING( 0x02, DEF_STR( Upright ))
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ))
- PORT_DIPNAME( 0x04, 0x04, DEF_STR( Flip_Screen )) PORT_DIPLOCATION("SW1:3")
+ PORT_DIPNAME( 0x04, 0x04, DEF_STR( Flip_Screen )) PORT_DIPLOCATION("SW1:!3")
PORT_DIPSETTING( 0x04, DEF_STR( Off ))
PORT_DIPSETTING( 0x00, DEF_STR( On ))
- PORT_DIPNAME( 0x08, 0x00, "Carry Bowls to Next Life" ) PORT_DIPLOCATION("SW1:4")
- PORT_DIPSETTING( 0x08, DEF_STR( No ))
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ))
- PORT_DIPNAME( 0xf0, 0x00, DEF_STR( Coinage )) PORT_DIPLOCATION("SW1:5,6,7,8")
+ PORT_DIPNAME( 0x08, 0x00, DEF_STR( Difficulty )) PORT_DIPLOCATION("SW1:!4") /* Carry Bowls to Next Life */
+ PORT_DIPSETTING( 0x00, DEF_STR( Easy ))
+ PORT_DIPSETTING( 0x08, DEF_STR( Hard ))
+ PORT_DIPNAME( 0xf0, 0x00, DEF_STR( Coinage )) PORT_DIPLOCATION("SW1:!5,!6,!7,!8")
PORT_DIPSETTING( 0x10, "A 2/1 B 2/1" )
PORT_DIPSETTING( 0x20, "A 2/1 B 1/3" )
PORT_DIPSETTING( 0x00, "A 1/1 B 1/1" )
@@ -310,16 +310,16 @@ static INPUT_PORTS_START( arabian )
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* IN19 */
PORT_START_TAG("COM5")
- PORT_DIPNAME( 0x01, 0x00, "Coin Chutes" ) PORT_DIPLOCATION("SW2:1")
+ PORT_DIPNAME( 0x01, 0x01, "Coin Counters" ) PORT_DIPLOCATION("SW2:!1")
PORT_DIPSETTING( 0x01, "1" )
PORT_DIPSETTING( 0x00, "2" )
- PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds )) PORT_DIPLOCATION("SW2:2")
+ PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds )) PORT_DIPLOCATION("SW2:!2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ))
PORT_DIPSETTING( 0x00, DEF_STR( On ))
- PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Bonus_Life )) PORT_DIPLOCATION("SW2:3,4")
- PORT_DIPSETTING( 0x04, "20000" )
- PORT_DIPSETTING( 0x08, "40000" )
- PORT_DIPSETTING( 0x0c, "20000 50000 +100K" )
+ PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life )) PORT_DIPLOCATION("SW2:!3,!4")
+ PORT_DIPSETTING( 0x04, "20K" )
+ PORT_DIPSETTING( 0x08, "40K" )
+ PORT_DIPSETTING( 0x0c, "20K, 50K, 100K, Every 100K" )
PORT_DIPSETTING( 0x00, DEF_STR( None ) )
INPUT_PORTS_END
@@ -436,5 +436,5 @@ static DRIVER_INIT( arabian )
*
*************************************/
-GAME( 1983, arabian, 0, arabian, arabian, arabian, ROT270, "Sun Electronics", "Arabian", 0 )
+GAME( 1983, arabian, 0, arabian, arabian, arabian, ROT270, "Sun Electronics", "Arabian", 0 )
GAME( 1983, arabiana, arabian, arabian, arabian, arabian, ROT270, "[Sun Electronics] (Atari license)", "Arabian (Atari)", 0 )
diff --git a/src/mame/drivers/argus.c b/src/mame/drivers/argus.c
index f2ef454155a..b1c341917f1 100644
--- a/src/mame/drivers/argus.c
+++ b/src/mame/drivers/argus.c
@@ -65,6 +65,10 @@ System specs :
Note :
=======
- To enter test mode, press coin 2 key at start in Argus and Valtric.
+ - DIP locations verified for:
+ butasan
+ argus
+ valtric
Known issues :
@@ -485,82 +489,69 @@ ADDRESS_MAP_END
***************************************************************************/
-#define ARGUS_IN0\
- PORT_START_TAG("IN0")\
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )\
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )\
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )\
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )\
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )\
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )\
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )\
+static INPUT_PORTS_START( argus )
+ /* System control */
+ PORT_START_TAG("IN0")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ //PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE1 )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
-#define ARGUS_IN1 \
- PORT_START_TAG("IN1") \
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY\
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY\
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY\
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY\
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )\
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )\
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )\
+ /* Player 1 control */
+ PORT_START_TAG("IN1")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-#define ARGUS_IN2\
- PORT_START_TAG("IN2")\
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL\
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL\
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL\
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL\
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL\
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL\
+ /* Player 2 control */
+ PORT_START_TAG("IN2")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )\
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-#define ARGUS_DSW1\
- PORT_START_TAG("DSW1")\
- PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )\
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )\
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )\
- PORT_DIPNAME( 0x06, 0x06, DEF_STR( Difficulty ) )\
- PORT_DIPSETTING( 0x04, DEF_STR( Easy ) )\
- PORT_DIPSETTING( 0x06, DEF_STR( Medium ) )\
- PORT_DIPSETTING( 0x02, DEF_STR( Hard ) )\
- PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )\
- PORT_DIPNAME( 0x08, 0x08, DEF_STR( Free_Play ) )\
- PORT_DIPSETTING( 0x08, DEF_STR( Off ) )\
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )\
- PORT_DIPNAME( 0x10, 0x00, DEF_STR( Cabinet) )\
- PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )\
- PORT_DIPSETTING( 0x10, DEF_STR( Cocktail ) )\
- PORT_DIPNAME( 0x20, 0x00, DEF_STR( Demo_Sounds ) )\
- PORT_DIPSETTING( 0x20, DEF_STR( Off ) )\
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )\
- PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Lives ) )\
- PORT_DIPSETTING( 0x80, "2" )\
- PORT_DIPSETTING( 0xc0, "3" )\
- PORT_DIPSETTING( 0x40, "4" )\
- PORT_DIPSETTING( 0x00, "5" )
-
-
-static INPUT_PORTS_START( argus )
- ARGUS_IN0 /* System control */
-
- ARGUS_IN1 /* Player 1 control */
-
- ARGUS_IN2 /* Player 2 control */
-
- ARGUS_DSW1
-
- PORT_START_TAG("DSW2")
- PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unused ) )
+ PORT_START_TAG("DSW1")
+ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:8")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unused ) )
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
+ PORT_DIPNAME( 0x06, 0x06, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:6,7")
+ PORT_DIPSETTING( 0x04, DEF_STR( Easy ) )
+ PORT_DIPSETTING( 0x06, DEF_STR( Medium ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( Hard ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
+ PORT_DIPNAME( 0x08, 0x08, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("SW1:5")
+ PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x10, 0x00, DEF_STR( Cabinet) ) PORT_DIPLOCATION("SW1:4")
+ PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
+ PORT_DIPSETTING( 0x10, DEF_STR( Cocktail ) )
+ PORT_DIPNAME( 0x20, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:3")
+ PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x1c, 0x1c, DEF_STR( Coin_B ) )
+ PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:1,2")
+ PORT_DIPSETTING( 0x80, "2" )
+ PORT_DIPSETTING( 0xc0, "3" )
+ PORT_DIPSETTING( 0x40, "4" )
+ PORT_DIPSETTING( 0x00, "5" )
+
+ PORT_START_TAG("DSW2")
+ PORT_DIPUNUSED_DIPLOC( 0x01, 0x01, "SW2:8" ) /* Listed as "Unused" */
+ PORT_DIPUNUSED_DIPLOC( 0x02, 0x02, "SW2:7" ) /* Listed as "Unused" */
+ PORT_DIPNAME( 0x1c, 0x1c, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW2:4,5,6")
PORT_DIPSETTING( 0x00, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x04, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x08, DEF_STR( 3C_1C ) )
@@ -569,7 +560,7 @@ static INPUT_PORTS_START( argus )
PORT_DIPSETTING( 0x18, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x14, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x10, DEF_STR( 1C_4C ) )
- PORT_DIPNAME( 0xe0, 0xe0, DEF_STR( Coin_A) )
+ PORT_DIPNAME( 0xe0, 0xe0, DEF_STR( Coin_A) ) PORT_DIPLOCATION("SW2:1,2,3")
PORT_DIPSETTING( 0x00, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x20, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x40, DEF_STR( 3C_1C ) )
@@ -581,23 +572,13 @@ static INPUT_PORTS_START( argus )
INPUT_PORTS_END
static INPUT_PORTS_START( valtric )
+ PORT_INCLUDE( argus )
- ARGUS_IN0
-
- ARGUS_IN1
-
- ARGUS_IN2
-
- ARGUS_DSW1
-
- PORT_START_TAG("DSW2")
- PORT_DIPNAME( 0x01, 0x01, "Invulnerability (Cheat")
+ PORT_MODIFY("DSW2")
+ PORT_DIPNAME( 0x01, 0x01, "Invulnerability (Cheat") PORT_DIPLOCATION("SW2:8")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unused ) )
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x1c, 0x1c, DEF_STR( Coin_A ) )
+ PORT_DIPNAME( 0x1c, 0x1c, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW2:4,5,6")
PORT_DIPSETTING( 0x00, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x04, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x08, DEF_STR( 3C_1C ) )
@@ -606,7 +587,7 @@ static INPUT_PORTS_START( valtric )
PORT_DIPSETTING( 0x18, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x14, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x10, DEF_STR( 1C_4C ) )
- PORT_DIPNAME( 0xe0, 0xe0, DEF_STR( Coin_B ) )
+ PORT_DIPNAME( 0xe0, 0xe0, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW2:1,2,3")
PORT_DIPSETTING( 0x00, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x20, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x40, DEF_STR( 3C_1C ) )
@@ -618,138 +599,65 @@ static INPUT_PORTS_START( valtric )
INPUT_PORTS_END
static INPUT_PORTS_START( butasan )
- PORT_START_TAG("IN0")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_SERVICE( 0x20, IP_ACTIVE_LOW )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
+ PORT_INCLUDE( valtric )
- ARGUS_IN1
-
- ARGUS_IN2
+ PORT_MODIFY("IN0")
+ PORT_SERVICE( 0x20, IP_ACTIVE_LOW )
- PORT_START_TAG("DSW1")
- PORT_DIPNAME( 0x01, 0x01, DEF_STR( Free_Play ) )
+ PORT_MODIFY("DSW1")
+ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("SW1:8")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x02, 0x02, "Invulnerability (Cheat)")
+ PORT_DIPNAME( 0x02, 0x02, "Invulnerability (Cheat)") PORT_DIPLOCATION("SW1:7")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) )
+ PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:5,6")
PORT_DIPSETTING( 0x0c, "3" )
PORT_DIPSETTING( 0x08, "4" )
PORT_DIPSETTING( 0x04, "5" )
PORT_DIPSETTING( 0x00, "6" )
- PORT_DIPNAME( 0x30, 0x30, DEF_STR( Difficulty ) )
- PORT_DIPSETTING( 0x30, "Rank 1 (Medium)" )
+ PORT_DIPNAME( 0x30, 0x30, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:3,4")
+ PORT_DIPSETTING( 0x30, "Rank 1" )
PORT_DIPSETTING( 0x20, "Rank 2" )
PORT_DIPSETTING( 0x10, "Rank 3" )
PORT_DIPSETTING( 0x00, "Rank 4" )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unused ) )
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) )
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW1:2" ) /* Listed as "Unused" */
+ PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW1:1" ) /* Listed as "Unused" */
PORT_START_TAG("DSW2")
- PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )
+ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:8")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unused ) )
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x1c, 0x1c, DEF_STR( Coin_A ) )
- PORT_DIPSETTING( 0x00, DEF_STR( 5C_1C ) )
- PORT_DIPSETTING( 0x04, DEF_STR( 4C_1C ) )
- PORT_DIPSETTING( 0x08, DEF_STR( 3C_1C ) )
- PORT_DIPSETTING( 0x0c, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x1c, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x18, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x14, DEF_STR( 1C_3C ) )
- PORT_DIPSETTING( 0x10, DEF_STR( 1C_4C ) )
- PORT_DIPNAME( 0xe0, 0xe0, DEF_STR( Coin_B ) )
- PORT_DIPSETTING( 0x00, DEF_STR( 5C_1C ) )
- PORT_DIPSETTING( 0x20, DEF_STR( 4C_1C ) )
- PORT_DIPSETTING( 0x40, DEF_STR( 3C_1C ) )
- PORT_DIPSETTING( 0x60, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0xe0, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0xc0, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0xa0, DEF_STR( 1C_3C ) )
- PORT_DIPSETTING( 0x80, DEF_STR( 1C_4C ) )
INPUT_PORTS_END
static INPUT_PORTS_START( bombsa )
+ PORT_INCLUDE( argus )
- PORT_START_TAG("IN0")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_MODIFY("IN0")
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE1 )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
-
- ARGUS_IN1
- ARGUS_IN2
-
- PORT_START_TAG("DSW1")
- PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
-
- PORT_START_TAG("DSW2")
- PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_MODIFY("DSW1")
+ PORT_DIPUNKNOWN_DIPLOC( 0x01, 0x01, "SW1:8" ) // Coin_B
+ PORT_DIPUNKNOWN_DIPLOC( 0x02, 0x02, "SW1:7" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x04, 0x04, "SW1:6" ) // Coin_B
+ PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x08, "SW1:5" ) // Coin_B
+ PORT_DIPUNKNOWN_DIPLOC( 0x10, 0x10, "SW1:4" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x20, 0x20, "SW1:3" )
+ PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2")
+ PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x40, "2 Coins 1 Credit/4 Coins 3 Credits" )
+ PORT_DIPSETTING( 0x80, DEF_STR( 3C_1C ) )
+ PORT_DIPSETTING( 0xc0, DEF_STR( 1C_4C ) )
+
+ PORT_MODIFY("DSW2")
+ PORT_DIPUNKNOWN_DIPLOC( 0x01, 0x01, "SW2:8" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x02, 0x02, "SW2:7" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x04, 0x04, "SW2:6" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x08, "SW2:5" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x10, 0x10, "SW2:4" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x20, 0x20, "SW2:3" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x40, 0x40, "SW2:2" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x80, 0x80, "SW2:1" )
INPUT_PORTS_END
/***************************************************************************
diff --git a/src/mame/drivers/arkanoid.c b/src/mame/drivers/arkanoid.c
index f28fd396edb..8722ada92cc 100644
--- a/src/mame/drivers/arkanoid.c
+++ b/src/mame/drivers/arkanoid.c
@@ -460,6 +460,12 @@ Stephh's notes on 'tetrsark' (based on the game Z80 code and some tests) :
- Known bugs :
* Coins "buttons" don't work - we need to use fake BUTTON2 for each player
+***************************************************************************
+
+DIP locations verified for:
+ - arknoidj
+ - arkanoid
+
***************************************************************************/
#include "driver.h"
@@ -521,53 +527,46 @@ ADDRESS_MAP_END
/* Input Ports */
-#define ARKNOI_IN0\
- PORT_START_TAG("IN0")\
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )\
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )\
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )\
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_TILT )\
- PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN1 )\
- PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN2 )\
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SPECIAL ) /* input from the 68705, some bootlegs need it to be 1 */\
+static INPUT_PORTS_START( arkanoid )
+ PORT_START_TAG("IN0")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_TILT )
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN1 )
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN2 )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SPECIAL ) /* input from the 68705, some bootlegs need it to be 1 */
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* input from the 68705 */
-#define ARKNOI_IN1\
- PORT_START_TAG("IN1")\
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 )\
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )\
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL\
+ PORT_START_TAG("IN1")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
PORT_BIT( 0xf8, IP_ACTIVE_LOW, IPT_UNKNOWN )
-#define ARKNOI_SPINNERS\
- PORT_START_TAG("IN2") /* Spinner Player 1 */\
- PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(30) PORT_KEYDELTA(15)\
- PORT_START_TAG("IN3") /* Spinner Player 2 */\
+ PORT_START_TAG("IN2") /* Spinner Player 1 */
+ PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(30) PORT_KEYDELTA(15)
+ PORT_START_TAG("IN3") /* Spinner Player 2 */
PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(30) PORT_KEYDELTA(15) PORT_COCKTAIL
-static INPUT_PORTS_START( arkanoid )
- ARKNOI_IN0
- ARKNOI_IN1
- ARKNOI_SPINNERS
-
PORT_START_TAG("DSW")
- PORT_DIPNAME( 0x01, 0x00, DEF_STR( Allow_Continue ) )
+ PORT_DIPNAME( 0x01, 0x00, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW1:8")
PORT_DIPSETTING( 0x01, DEF_STR( No ) )
PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
+ PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:7")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
- PORT_DIPNAME( 0x08, 0x08, DEF_STR( Difficulty ) )
+ PORT_SERVICE_DIPLOC(0x04, IP_ACTIVE_LOW, "SW1:6" )
+ PORT_DIPNAME( 0x08, 0x08, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:5")
PORT_DIPSETTING( 0x08, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hard ) )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Bonus_Life ) )
+ PORT_DIPNAME( 0x10, 0x10, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:4")
PORT_DIPSETTING( 0x10, "20K 60K 60K+" )
PORT_DIPSETTING( 0x00, "20K" )
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Lives ) ) /* Table at 0x9a28 */
+ PORT_DIPNAME( 0x20, 0x20, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:3") /* Table at 0x9a28 */
PORT_DIPSETTING( 0x20, "3" )
PORT_DIPSETTING( 0x00, "5" )
- PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coinage ) ) /* Table at 0x0328 */
+ PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:1,2") /* Table at 0x0328 */
PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
@@ -576,31 +575,13 @@ INPUT_PORTS_END
/* Different coinage and additionnal "Cabinet" Dip Switch */
static INPUT_PORTS_START( arknoidj )
- ARKNOI_IN0
- ARKNOI_IN1
- ARKNOI_SPINNERS
+ PORT_INCLUDE( arkanoid )
- PORT_START_TAG("DSW")
- PORT_DIPNAME( 0x01, 0x00, DEF_STR( Allow_Continue ) )
- PORT_DIPSETTING( 0x01, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
- PORT_DIPNAME( 0x08, 0x08, DEF_STR( Difficulty ) )
- PORT_DIPSETTING( 0x08, DEF_STR( Easy ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Hard ) )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Bonus_Life ) )
- PORT_DIPSETTING( 0x10, "20K 60K 60K+" )
- PORT_DIPSETTING( 0x00, "20K" )
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Lives ) ) /* Table at 0x9a28 */
- PORT_DIPSETTING( 0x20, "3" )
- PORT_DIPSETTING( 0x00, "5" )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coinage ) ) /* table at 0x0320 */
+ PORT_MODIFY("DSW")
+ PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:2") /* table at 0x0320 */
PORT_DIPSETTING( 0x40, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x00, DEF_STR( 1C_2C ) )
- PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) )
+ PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:1")
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x80, DEF_STR( Cocktail ) )
INPUT_PORTS_END
@@ -609,10 +590,10 @@ static INPUT_PORTS_START( ark1ball )
PORT_INCLUDE(arknoidj)
PORT_MODIFY("DSW")
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Bonus_Life ) ) /* "ld a,$60" at 0x93bd and "ld a,$60" at 0x9c7f and 0x9c9b */
+ PORT_DIPNAME( 0x10, 0x10, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:4") /* "ld a,$60" at 0x93bd and "ld a,$60" at 0x9c7f and 0x9c9b */
PORT_DIPSETTING( 0x10, "60K 100K 60K+" )
PORT_DIPSETTING( 0x00, "60K" )
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Lives ) ) /* Table at 0x9a28 */
+ PORT_DIPNAME( 0x20, 0x20, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:3") /* Table at 0x9a28 */
PORT_DIPSETTING( 0x20, "1" )
PORT_DIPSETTING( 0x00, "2" )
INPUT_PORTS_END
@@ -621,7 +602,7 @@ static INPUT_PORTS_START( arkangc )
PORT_INCLUDE(arknoidj)
PORT_MODIFY("DSW")
- PORT_DIPNAME( 0x01, 0x01, "Ball Speed" ) /* Speed at 0xc462 (code at 0x18aa) - Also affects level 2 (code at 0x7b82) */
+ PORT_DIPNAME( 0x01, 0x01, "Ball Speed" ) PORT_DIPLOCATION("SW1:8") /* Speed at 0xc462 (code at 0x18aa) - Also affects level 2 (code at 0x7b82) */
PORT_DIPSETTING( 0x01, DEF_STR( Normal ) ) /* 0xc462 = 0x06 - Normal level 2 */
PORT_DIPSETTING( 0x00, "Faster" ) /* 0xc462 = 0x08 - Level 2 same as level 30 */
INPUT_PORTS_END
@@ -630,7 +611,7 @@ static INPUT_PORTS_START( arkangc2 )
PORT_INCLUDE(arknoidj)
PORT_MODIFY("DSW")
- PORT_DIPNAME( 0x01, 0x01, "Ball Speed" ) /* Speed at 0xc462 (code at 0x18aa) - Also affects level 2 (code at 0x7b82) */
+ PORT_DIPNAME( 0x01, 0x01, "Ball Speed" ) PORT_DIPLOCATION("SW1:8") /* Speed at 0xc462 (code at 0x18aa) - Also affects level 2 (code at 0x7b82) */
PORT_DIPSETTING( 0x01, "Slower" ) /* 0xc462 = 0x04 - Normal level 2 */
PORT_DIPSETTING( 0x00, DEF_STR ( Normal ) ) /* 0xc462 = 0x06 - Level 2 same as level 30 */
INPUT_PORTS_END
@@ -639,32 +620,32 @@ static INPUT_PORTS_START( arkgcbl )
PORT_INCLUDE(arknoidj)
PORT_MODIFY("DSW")
- PORT_DIPNAME( 0x01, 0x00, "Round Select" ) /* Check code at 0x7bc2 - Speed at 0xc462 (code at 0x18aa) */
+ PORT_DIPNAME( 0x01, 0x00, "Round Select" ) PORT_DIPLOCATION("SW1:8") /* Check code at 0x7bc2 - Speed at 0xc462 (code at 0x18aa) */
PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) /* 0xc462 = 0x06 */
PORT_DIPSETTING( 0x00, DEF_STR( On ) ) /* 0xc462 = 0x06 */
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Bonus_Life ) ) /* "ld a,$60" at 0x93bd and "ld a,$20" at 0x9c7f and 0x9c9b */
+ PORT_DIPNAME( 0x10, 0x10, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:4") /* "ld a,$60" at 0x93bd and "ld a,$20" at 0x9c7f and 0x9c9b */
PORT_DIPSETTING( 0x10, "60K 100K 60K+" ) /* But "20K 60K 60K+" when continue */
PORT_DIPSETTING( 0x00, "60K" ) /* But "20K" when continue */
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Lives ) )
+ PORT_DIPNAME( 0x20, 0x20, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:3")
PORT_DIPSETTING( 0x00, "2" )
PORT_DIPSETTING( 0x20, "3" )
- PORT_DIPUNUSED( 0x40, IP_ACTIVE_LOW ) /* Always 2C_1C - check code at 0x7d5e */
+ PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW1:2" ) /* Always 2C_1C - check code at 0x7d5e */
INPUT_PORTS_END
static INPUT_PORTS_START( paddle2 )
PORT_INCLUDE(arknoidj)
PORT_MODIFY("DSW")
- PORT_DIPNAME( 0x01, 0x00, "Round Select" ) /* Check code at 0x7bc2 - Speed at 0xc462 (code at 0x18aa) */
+ PORT_DIPNAME( 0x01, 0x00, "Round Select" ) PORT_DIPLOCATION("SW1:8") /* Check code at 0x7bc2 - Speed at 0xc462 (code at 0x18aa) */
PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) /* 0xc462 = 0x06 */
PORT_DIPSETTING( 0x00, DEF_STR( On ) ) /* 0xc462 = 0x06 */
- PORT_DIPNAME( 0x04, 0x04, "Controls ?" ) /* Check code at 0x96a1 and read notes */
+ PORT_DIPNAME( 0x04, 0x04, "Controls ?" ) PORT_DIPLOCATION("SW1:6") /* Check code at 0x96a1 and read notes */
PORT_DIPSETTING( 0x04, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x00, DEF_STR( Alternate ) )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Bonus_Life ) ) /* "ld a,$60" at 0x93bd and "ld a,$20" at 0x9c7f and 0x9c9b */
+ PORT_DIPNAME( 0x10, 0x10, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:4") /* "ld a,$60" at 0x93bd and "ld a,$20" at 0x9c7f and 0x9c9b */
PORT_DIPSETTING( 0x10, "60K 100K 60K+" ) /* But "20K 60K 60K+" when continue */
PORT_DIPSETTING( 0x00, "60K" ) /* But "20K" when continue */
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Lives ) ) /* Table at 0x9a28 */
+ PORT_DIPNAME( 0x20, 0x20, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:3") /* Table at 0x9a28 */
PORT_DIPSETTING( 0x00, "2" )
PORT_DIPSETTING( 0x20, "3" )
INPUT_PORTS_END
@@ -673,13 +654,13 @@ static INPUT_PORTS_START( arktayt2 )
PORT_INCLUDE(arknoidj)
PORT_MODIFY("DSW")
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Bonus_Life ) ) /* "ld a,$60" at 0x93bd and "ld a,$60" at 0x9c7f and 0x9c9b */
+ PORT_DIPNAME( 0x10, 0x10, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:4") /* "ld a,$60" at 0x93bd and "ld a,$60" at 0x9c7f and 0x9c9b */
PORT_DIPSETTING( 0x10, "60K 100K 60K+" )
PORT_DIPSETTING( 0x00, "60K" )
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Lives ) ) /* Table at 0x9a28 */
+ PORT_DIPNAME( 0x20, 0x20, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:3") /* Table at 0x9a28 */
PORT_DIPSETTING( 0x20, "2" )
PORT_DIPSETTING( 0x00, "3" )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coinage ) ) /* Table at 0x0320 */
+ PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:2") /* Table at 0x0320 */
PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x40, DEF_STR( 1C_1C ) )
INPUT_PORTS_END