summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Aaron Giles <aaron@aarongiles.com>2008-07-24 06:08:15 +0000
committer Aaron Giles <aaron@aarongiles.com>2008-07-24 06:08:15 +0000
commit81b9e03d60888b052b20b3431782769d60ea3bae (patch)
tree9e0aba766466248d8608f9b9f1bfd189ea6df25d
parent0a83b5f8e08966f341ec2d6fc3675f92d6359575 (diff)
From: Fabio Priuli [mailto:doge.fabio@gmail.com]
Sent: Wed 7/23/2008 8:15 AM To: submit@mamedev.org Subject: more input patches Hi, with the attached diff I started drivers with C. Added all the missing tags, made more extensive use of PORT_INCLUDE where possible and added AM_READ_PORT where suitable. I also added dip locations for: cabal, canyon, cbuster, cclimber, swimmer and guzzler. Patch for cave.c is separated in case fix for bug 1681 has been submitted and accepted (changing maybe the driver) Regards Fabio
-rw-r--r--src/mame/drivers/cabal.c218
-rw-r--r--src/mame/drivers/calorie.c32
-rw-r--r--src/mame/drivers/canyon.c46
-rw-r--r--src/mame/drivers/cardline.c12
-rw-r--r--src/mame/drivers/carjmbre.c12
-rw-r--r--src/mame/drivers/carrera.c12
-rw-r--r--src/mame/drivers/cave.c456
-rw-r--r--src/mame/drivers/cball.c30
-rw-r--r--src/mame/drivers/cbasebal.c12
-rw-r--r--src/mame/drivers/cbuster.c134
-rw-r--r--src/mame/drivers/cchasm.c4
-rw-r--r--src/mame/drivers/cclimber.c463
-rw-r--r--src/mame/drivers/centiped.c487
13 files changed, 886 insertions, 1032 deletions
diff --git a/src/mame/drivers/cabal.c b/src/mame/drivers/cabal.c
index f95ce4ad0fa..67e6ce1219c 100644
--- a/src/mame/drivers/cabal.c
+++ b/src/mame/drivers/cabal.c
@@ -38,6 +38,10 @@ VRAM (Sprites)
COLORRAM (Colors)
0xe0000 - 0xe07ff (1024 colors, ----BBBBGGGGRRRR)
+
+2008-07
+Dip locations verified with Fabtek manual for the trackball version
+
******************************************************************/
#include "driver.h"
@@ -84,7 +88,7 @@ static int last[4];
static WRITE16_HANDLER( track_reset_w )
{
int i;
- static const char *track_names[] = { "IN2", "IN3", "IN4", "IN5" };
+ static const char *track_names[] = { "IN0", "IN1", "IN2", "IN3" };
for (i = 0; i < 4; i++)
last[i] = input_port_read(machine, track_names[i]);
@@ -95,10 +99,10 @@ static READ16_HANDLER( track_r )
switch (offset)
{
default:
- case 0: return (( input_port_read(machine, "IN2") - last[0]) & 0x00ff) | (((input_port_read(machine, "IN4") - last[2]) & 0x00ff) << 8); /* X lo */
- case 1: return (((input_port_read(machine, "IN2") - last[0]) & 0xff00) >> 8) | (( input_port_read(machine, "IN4") - last[2]) & 0xff00); /* X hi */
- case 2: return (( input_port_read(machine, "IN3") - last[1]) & 0x00ff) | (((input_port_read(machine, "IN5") - last[3]) & 0x00ff) << 8); /* Y lo */
- case 3: return (((input_port_read(machine, "IN3") - last[1]) & 0xff00) >> 8) | (( input_port_read(machine, "IN5") - last[3]) & 0xff00); /* Y hi */
+ case 0: return (( input_port_read(machine, "IN0") - last[0]) & 0x00ff) | (((input_port_read(machine, "IN2") - last[2]) & 0x00ff) << 8); /* X lo */
+ case 1: return (((input_port_read(machine, "IN0") - last[0]) & 0xff00) >> 8) | (( input_port_read(machine, "IN2") - last[2]) & 0xff00); /* X hi */
+ case 2: return (( input_port_read(machine, "IN1") - last[1]) & 0x00ff) | (((input_port_read(machine, "IN3") - last[3]) & 0x00ff) << 8); /* Y lo */
+ case 3: return (((input_port_read(machine, "IN1") - last[1]) & 0xff00) >> 8) | (( input_port_read(machine, "IN3") - last[3]) & 0xff00); /* Y hi */
}
}
@@ -126,9 +130,9 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x60000, 0x607ff) AM_RAM_WRITE(cabal_text_videoram16_w) AM_BASE(&colorram16)
AM_RANGE(0x80000, 0x801ff) AM_RAM_WRITE(cabal_background_videoram16_w) AM_BASE(&videoram16) AM_SIZE(&videoram_size)
AM_RANGE(0x80200, 0x803ff) AM_RAM_WRITE(SMH_RAM)
- AM_RANGE(0xa0000, 0xa0001) AM_READ(input_port_0_word_r)
+ AM_RANGE(0xa0000, 0xa0001) AM_READ_PORT("DSW")
AM_RANGE(0xa0008, 0xa000f) AM_READ(track_r)
- AM_RANGE(0xa0010, 0xa0011) AM_READ(input_port_1_word_r)
+ AM_RANGE(0xa0010, 0xa0011) AM_READ_PORT("INPUTS")
AM_RANGE(0xc0000, 0xc0001) AM_WRITE(track_reset_w)
AM_RANGE(0xc0040, 0xc0041) AM_WRITE(SMH_NOP) /* ??? */
AM_RANGE(0xc0080, 0xc0081) AM_WRITE(cabal_flipscreen_w)
@@ -145,9 +149,9 @@ static ADDRESS_MAP_START( cabalbl_main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x60000, 0x607ff) AM_RAM_WRITE(cabal_text_videoram16_w) AM_BASE(&colorram16)
AM_RANGE(0x80000, 0x801ff) AM_RAM_WRITE(cabal_background_videoram16_w) AM_BASE(&videoram16) AM_SIZE(&videoram_size)
AM_RANGE(0x80200, 0x803ff) AM_RAM
- AM_RANGE(0xa0000, 0xa0001) AM_READ(input_port_0_word_r)
- AM_RANGE(0xa0008, 0xa0009) AM_READ(input_port_1_word_r)
- AM_RANGE(0xa0010, 0xa0011) AM_READ(input_port_2_word_r)
+ AM_RANGE(0xa0000, 0xa0001) AM_READ_PORT("DSW")
+ AM_RANGE(0xa0008, 0xa0009) AM_READ_PORT("JOY")
+ AM_RANGE(0xa0010, 0xa0011) AM_READ_PORT("INPUTS")
AM_RANGE(0xc0040, 0xc0041) AM_WRITE(SMH_NOP) /* ??? */
AM_RANGE(0xc0080, 0xc0081) AM_WRITE(cabal_flipscreen_w)
AM_RANGE(0xe0000, 0xe07ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
@@ -188,7 +192,7 @@ static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x4009, 0x4009) AM_READWRITE(YM2151_status_port_0_r, YM2151_data_port_0_w)
AM_RANGE(0x4010, 0x4011) AM_READ(seibu_soundlatch_r)
AM_RANGE(0x4012, 0x4012) AM_READ(seibu_main_data_pending_r)
- AM_RANGE(0x4013, 0x4013) AM_READ(input_port_2_r)
+ AM_RANGE(0x4013, 0x4013) AM_READ_PORT("COIN")
AM_RANGE(0x4018, 0x4019) AM_WRITE(seibu_main_data_w)
AM_RANGE(0x401a, 0x401a) AM_WRITE(seibu_adpcm_ctl_1_w)
AM_RANGE(0x401b, 0x401b) AM_WRITE(seibu_coin_w)
@@ -203,7 +207,7 @@ static ADDRESS_MAP_START( cabalbl_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x4000, 0x4000) AM_WRITE(soundlatch3_w)
AM_RANGE(0x4002, 0x4002) AM_WRITE(soundlatch4_w)
AM_RANGE(0x4004, 0x4004) AM_WRITE(cabalbl_coin_w)
- AM_RANGE(0x4006, 0x4006) AM_READ(input_port_3_r)
+ AM_RANGE(0x4006, 0x4006) AM_READ_PORT("COIN")
AM_RANGE(0x4008, 0x4008) AM_READ(cabalbl_snd2_r)
AM_RANGE(0x400a, 0x400a) AM_READ(cabalbl_snd1_r)
AM_RANGE(0x400c, 0x400c) AM_WRITE(soundlatch2_w)
@@ -255,74 +259,76 @@ ADDRESS_MAP_END
/***************************************************************************/
-#define CABALDSW\
- PORT_START_TAG("DSW")\
-/* Coin Mode 1 doesn't seem quite right, all 'fractional' coinage values seem to be 4C_1C, but it could be me */\
- PORT_DIPNAME( 0x000f, 0x000f, DEF_STR( Coinage ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_NOTEQUALS,0x00)\
- PORT_DIPSETTING( 0x000a, DEF_STR( 6C_1C ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_NOTEQUALS,0x00)\
- PORT_DIPSETTING( 0x000b, DEF_STR( 5C_1C ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_NOTEQUALS,0x00)\
- PORT_DIPSETTING( 0x000c, DEF_STR( 4C_1C ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_NOTEQUALS,0x00)\
- PORT_DIPSETTING( 0x000d, DEF_STR( 3C_1C ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_NOTEQUALS,0x00)\
- PORT_DIPSETTING( 0x0001, DEF_STR( 8C_3C ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_NOTEQUALS,0x00)\
- PORT_DIPSETTING( 0x000e, DEF_STR( 2C_1C ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_NOTEQUALS,0x00)\
- PORT_DIPSETTING( 0x0002, DEF_STR( 5C_3C ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_NOTEQUALS,0x00)\
- PORT_DIPSETTING( 0x0003, DEF_STR( 3C_2C ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_NOTEQUALS,0x00)\
- PORT_DIPSETTING( 0x000f, DEF_STR( 1C_1C ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_NOTEQUALS,0x00)\
- PORT_DIPSETTING( 0x0004, DEF_STR( 2C_3C ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_NOTEQUALS,0x00)\
- PORT_DIPSETTING( 0x0009, DEF_STR( 1C_2C ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_NOTEQUALS,0x00)\
- PORT_DIPSETTING( 0x0008, DEF_STR( 1C_3C ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_NOTEQUALS,0x00)\
- PORT_DIPSETTING( 0x0007, DEF_STR( 1C_4C ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_NOTEQUALS,0x00)\
- PORT_DIPSETTING( 0x0006, DEF_STR( 1C_5C ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_NOTEQUALS,0x00)\
- PORT_DIPSETTING( 0x0005, DEF_STR( 1C_6C ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_NOTEQUALS,0x00)\
- PORT_DIPSETTING( 0x0000, DEF_STR( Free_Play ) )PORT_CONDITION("DSW",0x0010,PORTCOND_NOTEQUALS,0x00)\
- PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Coin_A )) PORT_CONDITION("DSW",0x0010,PORTCOND_EQUALS,0x00)\
- PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_EQUALS,0x00)\
- PORT_DIPSETTING( 0x0001, DEF_STR( 3C_1C ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_EQUALS,0x00)\
- PORT_DIPSETTING( 0x0002, DEF_STR( 2C_1C ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_EQUALS,0x00)\
- PORT_DIPSETTING( 0x0003, DEF_STR( 1C_1C ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_EQUALS,0x00)\
- PORT_DIPNAME( 0x000c, 0x000c, DEF_STR( Coin_B )) PORT_CONDITION("DSW",0x0010,PORTCOND_EQUALS,0x00)\
- PORT_DIPSETTING( 0x000c, DEF_STR( 1C_2C ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_EQUALS,0x00)\
- PORT_DIPSETTING( 0x0008, DEF_STR( 1C_3C ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_EQUALS,0x00)\
- PORT_DIPSETTING( 0x0004, DEF_STR( 1C_5C ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_EQUALS,0x00)\
- PORT_DIPSETTING( 0x0000, DEF_STR( 1C_6C ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_EQUALS,0x00)\
- PORT_DIPNAME( 0x0010, 0x0010, "Coin Mode" )\
- PORT_DIPSETTING( 0x0010, "Mode 1" )\
- PORT_DIPSETTING( 0x0000, "Mode 2" )\
- PORT_DIPNAME( 0x0020, 0x0020, "Invert Buttons" )\
- PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )\
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )\
- PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Flip_Screen ) )\
- PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )\
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )\
- PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Trackball ) )\
- PORT_DIPSETTING( 0x0080, "Small" )\
- PORT_DIPSETTING( 0x0000, "Large" )\
- PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Lives ) )\
- PORT_DIPSETTING( 0x0200, "2" )\
- PORT_DIPSETTING( 0x0300, "3" )\
- PORT_DIPSETTING( 0x0100, "5" )\
- PORT_DIPSETTING( 0x0000, "121 (Cheat)")\
- PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Bonus_Life ) )\
- PORT_DIPSETTING( 0x0c00, "20k 50k" )\
- PORT_DIPSETTING( 0x0800, "30k 100k" )\
- PORT_DIPSETTING( 0x0400, "50k 150k" )\
- PORT_DIPSETTING( 0x0000, "70K" )\
- PORT_DIPNAME( 0x3000, 0x2000, DEF_STR( Difficulty ) )\
- PORT_DIPSETTING( 0x3000, DEF_STR( Easy ) )\
- PORT_DIPSETTING( 0x2000, DEF_STR( Normal ) )\
- PORT_DIPSETTING( 0x1000, DEF_STR( Hard ) )\
- PORT_DIPSETTING( 0x0000, DEF_STR( Very_Hard ) )\
- PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )\
- PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )\
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )\
- PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Demo_Sounds ) )\
- PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )\
+static INPUT_PORTS_START( common )
+ PORT_START_TAG("DSW")
+ PORT_DIPNAME( 0x000f, 0x000f, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:1,2,3,4") PORT_CONDITION("DSW", 0x0010, PORTCOND_NOTEQUALS, 0x00)
+ PORT_DIPSETTING( 0x000a, DEF_STR( 6C_1C ) )
+ PORT_DIPSETTING( 0x000b, DEF_STR( 5C_1C ) )
+ PORT_DIPSETTING( 0x000c, DEF_STR( 4C_1C ) )
+ PORT_DIPSETTING( 0x000d, DEF_STR( 3C_1C ) )
+ PORT_DIPSETTING( 0x0001, DEF_STR( 8C_3C ) )
+ PORT_DIPSETTING( 0x000e, DEF_STR( 2C_1C ) )
+ PORT_DIPSETTING( 0x0002, DEF_STR( 5C_3C ) )
+ PORT_DIPSETTING( 0x0003, DEF_STR( 3C_2C ) )
+ PORT_DIPSETTING( 0x000f, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x0004, DEF_STR( 2C_3C ) )
+ PORT_DIPSETTING( 0x0009, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0x0008, DEF_STR( 1C_3C ) )
+ PORT_DIPSETTING( 0x0007, DEF_STR( 1C_4C ) )
+ PORT_DIPSETTING( 0x0006, DEF_STR( 1C_5C ) )
+ PORT_DIPSETTING( 0x0005, DEF_STR( 1C_6C ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( Free_Play ) )
+ PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Coin_A )) PORT_DIPLOCATION("SW1:1,2") PORT_CONDITION("DSW", 0x0010, PORTCOND_EQUALS, 0x00)
+ PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) )
+ PORT_DIPSETTING( 0x0001, DEF_STR( 3C_1C ) )
+ PORT_DIPSETTING( 0x0002, DEF_STR( 2C_1C ) )
+ PORT_DIPSETTING( 0x0003, DEF_STR( 1C_1C ) )
+ PORT_DIPNAME( 0x000c, 0x000c, DEF_STR( Coin_B )) PORT_DIPLOCATION("SW1:3,4") PORT_CONDITION("DSW", 0x0010, PORTCOND_EQUALS, 0x00)
+ PORT_DIPSETTING( 0x000c, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0x0008, DEF_STR( 1C_3C ) )
+ PORT_DIPSETTING( 0x0004, DEF_STR( 1C_5C ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( 1C_6C ) )
+ PORT_DIPNAME( 0x0010, 0x0010, "Coin Mode" ) PORT_DIPLOCATION("SW1:5")
+ PORT_DIPSETTING( 0x0010, "Mode 1" )
+ PORT_DIPSETTING( 0x0000, "Mode 2" )
+ PORT_DIPNAME( 0x0020, 0x0020, "Invert Buttons" ) PORT_DIPLOCATION("SW1:6")
+ PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:7")
+ PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Trackball ) ) PORT_DIPLOCATION("SW1:8")
+ PORT_DIPSETTING( 0x0080, "Small" )
+ PORT_DIPSETTING( 0x0000, "Large" )
+ PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
+ PORT_DIPSETTING( 0x0200, "2" )
+ PORT_DIPSETTING( 0x0300, "3" )
+ PORT_DIPSETTING( 0x0100, "5" )
+ PORT_DIPSETTING( 0x0000, "121 (Cheat)")
+ PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:3,4")
+ PORT_DIPSETTING( 0x0c00, "20k 50k" )
+ PORT_DIPSETTING( 0x0800, "30k 100k" )
+ PORT_DIPSETTING( 0x0400, "50k 150k" )
+ PORT_DIPSETTING( 0x0000, "70K" )
+ PORT_DIPNAME( 0x3000, 0x2000, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:5,6")
+ PORT_DIPSETTING( 0x3000, DEF_STR( Easy ) )
+ PORT_DIPSETTING( 0x2000, DEF_STR( Normal ) )
+ PORT_DIPSETTING( 0x1000, DEF_STR( Hard ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( Very_Hard ) )
+ PORT_DIPUNKNOWN_DIPLOC( 0x4000, 0x4000, "SW2:7" ) /* Left blank in the manual */
+ PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:8")
+ PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x8000, DEF_STR( On ) )
+ PORT_START_TAG("COIN")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_IMPULSE(4) /* read through sound cpu */
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_IMPULSE(4) /* read through sound cpu */
+INPUT_PORTS_END
+
static INPUT_PORTS_START( cabalt )
- CABALDSW
+ PORT_INCLUDE( common )
- PORT_START_TAG("IN0")
+ PORT_START_TAG("INPUTS")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
@@ -333,27 +339,26 @@ static INPUT_PORTS_START( cabalt )
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START1 )
- PORT_START_TAG("IN1")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_IMPULSE(4) /* read through sound cpu */
- PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_IMPULSE(4) /* read through sound cpu */
-
- PORT_START_TAG("IN2")
+ PORT_START_TAG("IN0")
PORT_BIT( 0x0fff, 0x0000, IPT_TRACKBALL_X ) PORT_SENSITIVITY(100) PORT_KEYDELTA(30) PORT_PLAYER(1)
- PORT_START_TAG("IN3")
+ PORT_START_TAG("IN1")
PORT_BIT( 0x0fff, 0x0000, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(100) PORT_KEYDELTA(30) PORT_REVERSE PORT_PLAYER(1)
- PORT_START_TAG("IN4")
+ PORT_START_TAG("IN2")
PORT_BIT( 0x0fff, 0x0000, IPT_TRACKBALL_X ) PORT_SENSITIVITY(100) PORT_KEYDELTA(30) PORT_PLAYER(2)
- PORT_START_TAG("IN5")
+ PORT_START_TAG("IN3")
PORT_BIT( 0x0fff, 0x0000, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(100) PORT_KEYDELTA(30) PORT_PLAYER(2)
INPUT_PORTS_END
static INPUT_PORTS_START( cabalj )
- CABALDSW
+ PORT_INCLUDE( common )
+
+ PORT_MODIFY("COIN")
+ PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNKNOWN )
/* Since the Trackball version was produced first, and it doesn't use
the third button, Pin 24 of the JAMMA connector ('JAMMA button 3')
@@ -361,7 +366,7 @@ static INPUT_PORTS_START( cabalj )
manufacturer had to use pin 15 which is usually the test / service
button
*/
- PORT_START_TAG("IN0")
+ PORT_START_TAG("INPUTS")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
@@ -372,20 +377,15 @@ static INPUT_PORTS_START( cabalj )
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START1 )
- PORT_START_TAG("IN1")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_IMPULSE(4) /* read through sound cpu */
- PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_IMPULSE(4) /* read through sound cpu */
- PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
/* The joystick version has a PCB marked "Joystick sub" containing a 74ls245. It plugs in the
sockets of the two D4701AC */
- PORT_START_TAG("IN2")
+ PORT_START_TAG("IN0")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START_TAG("IN3")
+ PORT_START_TAG("IN1")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START_TAG("IN4")
+ PORT_START_TAG("IN2")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
@@ -395,25 +395,14 @@ static INPUT_PORTS_START( cabalj )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
- PORT_START_TAG("IN5")
+ PORT_START_TAG("IN3")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
INPUT_PORTS_END
static INPUT_PORTS_START( cabalbl )
- CABALDSW
-
- PORT_START_TAG("IN0")
- PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
+ PORT_INCLUDE( common )
- PORT_START_TAG("IN1")
+ PORT_START_TAG("INPUTS")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
@@ -425,9 +414,16 @@ static INPUT_PORTS_START( cabalbl )
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START1 )
- PORT_START_TAG("IN2")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_IMPULSE(4) /* read through sound cpu */
- PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_IMPULSE(4) /* read through sound cpu */
+ PORT_START_TAG("JOY")
+ PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
+ PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
+ PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
+ PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
INPUT_PORTS_END
static const gfx_layout text_layout =
diff --git a/src/mame/drivers/calorie.c b/src/mame/drivers/calorie.c
index e74f42f0950..e7187231026 100644
--- a/src/mame/drivers/calorie.c
+++ b/src/mame/drivers/calorie.c
@@ -208,11 +208,11 @@ static ADDRESS_MAP_START( calorie_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xd800, 0xdbff) AM_RAM AM_BASE(&calorie_sprites)
AM_RANGE(0xdc00, 0xdcff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_BASE(&paletteram)
AM_RANGE(0xde00, 0xde00) AM_WRITE(calorie_bg_w)
- AM_RANGE(0xf000, 0xf000) AM_READ(input_port_0_r)
- AM_RANGE(0xf001, 0xf001) AM_READ(input_port_1_r)
- AM_RANGE(0xf002, 0xf002) AM_READ(input_port_2_r)
- AM_RANGE(0xf004, 0xf004) AM_READ(input_port_3_r) AM_WRITE(calorie_flipscreen_w)
- AM_RANGE(0xf005, 0xf005) AM_READ(input_port_4_r)
+ AM_RANGE(0xf000, 0xf000) AM_READ_PORT("P1")
+ AM_RANGE(0xf001, 0xf001) AM_READ_PORT("P2")
+ AM_RANGE(0xf002, 0xf002) AM_READ_PORT("SYSTEM")
+ AM_RANGE(0xf004, 0xf004) AM_READ_PORT("DSW1") AM_WRITE(calorie_flipscreen_w)
+ AM_RANGE(0xf005, 0xf005) AM_READ_PORT("DSW2")
AM_RANGE(0xf800, 0xf800) AM_WRITE(soundlatch_w)
ADDRESS_MAP_END
@@ -234,27 +234,27 @@ static ADDRESS_MAP_START( calorie_sound_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_END
static INPUT_PORTS_START( calorie )
- PORT_START
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(1) PORT_4WAY
- PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1) PORT_4WAY
- PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1) PORT_4WAY
+ PORT_START_TAG("P1")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(1) PORT_4WAY
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1) PORT_4WAY
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1) PORT_4WAY
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1) PORT_4WAY
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1)
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1)
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_START
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL PORT_4WAY
- PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL PORT_4WAY
- PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL PORT_4WAY
+ PORT_START_TAG("P2")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL PORT_4WAY
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL PORT_4WAY
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL PORT_4WAY
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL PORT_4WAY
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_START
+ PORT_START_TAG("SYSTEM")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN1 )
@@ -264,7 +264,7 @@ static INPUT_PORTS_START( calorie )
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_START
+ PORT_START_TAG("DSW1")
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2")
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) )
@@ -287,7 +287,7 @@ static INPUT_PORTS_START( calorie )
PORT_DIPSETTING( 0x40, "4" )
PORT_DIPSETTING( 0x80, "5" )
- PORT_START
+ PORT_START_TAG("DSW2")
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x00, DEF_STR( None ) )
PORT_DIPSETTING( 0x01, "20,000 Only" )
diff --git a/src/mame/drivers/canyon.c b/src/mame/drivers/canyon.c
index 6f6f7de800c..c0a112dd7c4 100644
--- a/src/mame/drivers/canyon.c
+++ b/src/mame/drivers/canyon.c
@@ -29,6 +29,10 @@
If you have any questions about how this driver works, don't hesitate to
ask. - Mike Balfour (mab22@po.cwru.edu)
+
+
+ 2008-07
+ Dip locations verified with manual.
***************************************************************************/
@@ -129,38 +133,40 @@ ADDRESS_MAP_END
*************************************/
static INPUT_PORTS_START( canyon )
- PORT_START_TAG("DSW") /* DSW */
- PORT_DIPNAME( 0x03, 0x00, DEF_STR( Language ) )
+ PORT_START_TAG("DSW")
+ PORT_DIPNAME( 0x03, 0x00, DEF_STR( Language ) ) PORT_DIPLOCATION("SW:1,2")
PORT_DIPSETTING( 0x00, DEF_STR( English ) )
PORT_DIPSETTING( 0x01, DEF_STR( Spanish ) )
PORT_DIPSETTING( 0x02, DEF_STR( French ) )
PORT_DIPSETTING( 0x03, DEF_STR( German ) )
- PORT_DIPNAME( 0x30, 0x00, "Misses Per Play" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x04, 0x04, "SW:3" ) /* Manual says these are unused */
+ PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x08, "SW:4" ) /* Manual says these are unused */
+ PORT_DIPNAME( 0x30, 0x00, "Misses Per Play" ) PORT_DIPLOCATION("SW:5,6")
PORT_DIPSETTING( 0x00, "3" )
PORT_DIPSETTING( 0x10, "4" )
PORT_DIPSETTING( 0x20, "5" )
PORT_DIPSETTING( 0x30, "6" )
- PORT_DIPNAME( 0xC0, 0x80, DEF_STR( Coinage ))
- PORT_DIPSETTING( 0xC0, DEF_STR( 2C_1C ))
- PORT_DIPSETTING( 0x80, DEF_STR( 1C_1C ))
- PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ))
+ PORT_DIPNAME( 0xc0, 0x80, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW:7,8")
+ PORT_DIPSETTING( 0xc0, DEF_STR( 2C_1C ) )
+ PORT_DIPSETTING( 0x80, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
- PORT_START_TAG("IN1") /* IN1 */
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_UNUSED )
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_UNUSED )
- PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2)
-
- PORT_START_TAG("IN2") /* IN2 */
- PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
- PORT_BIT ( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
- PORT_BIT ( 0x04, IP_ACTIVE_HIGH, IPT_START1 )
- PORT_BIT ( 0x08, IP_ACTIVE_HIGH, IPT_START2 )
+ PORT_START_TAG("IN1")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1)
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2)
+
+ PORT_START_TAG("IN2")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 )
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START2 )
PORT_SERVICE( 0x10, IP_ACTIVE_HIGH )
- PORT_BIT ( 0x20, IP_ACTIVE_LOW, IPT_VBLANK )
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_VBLANK )
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON7 ) PORT_NAME("Hiscore Reset") PORT_CODE(KEYCODE_H)
- PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_TILT ) /* SLAM */
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_TILT ) /* SLAM */
PORT_START_TAG("MOTOR1")
PORT_ADJUSTER( 20, "Motor 1 RPM" )
diff --git a/src/mame/drivers/cardline.c b/src/mame/drivers/cardline.c
index 439e8a8888d..69263a51d08 100644
--- a/src/mame/drivers/cardline.c
+++ b/src/mame/drivers/cardline.c
@@ -100,9 +100,9 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( mem_data, ADDRESS_SPACE_DATA, 8 )
AM_RANGE(0x0000, 0x1fff) AM_RAM
- AM_RANGE(0x2003, 0x2003) AM_READ(input_port_0_r)
- AM_RANGE(0x2005, 0x2005) AM_READ(input_port_1_r)
- AM_RANGE(0x2006, 0x2006) AM_READ(input_port_2_r)
+ AM_RANGE(0x2003, 0x2003) AM_READ_PORT("IN0")
+ AM_RANGE(0x2005, 0x2005) AM_READ_PORT("IN1")
+ AM_RANGE(0x2006, 0x2006) AM_READ_PORT("DSW")
AM_RANGE(0x2007, 0x2007) AM_WRITE(lamps_w)
AM_RANGE(0x2008, 0x2008) AM_NOP
AM_RANGE(0x2080, 0x213f) AM_NOP
@@ -120,7 +120,7 @@ static ADDRESS_MAP_START( mem_io, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_END
static INPUT_PORTS_START( cardline )
- PORT_START
+ PORT_START_TAG("IN0")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Collect")
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Card 1 / Double-Up")
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Card 2")
@@ -130,7 +130,7 @@ static INPUT_PORTS_START( cardline )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Bet")
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start")
- PORT_START
+ PORT_START_TAG("IN1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("?")
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Bookkeeping Info") PORT_CODE(KEYCODE_F1)
@@ -140,7 +140,7 @@ static INPUT_PORTS_START( cardline )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_ENTER) PORT_NAME("Payout")
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("?")
- PORT_START
+ PORT_START_TAG("DSW")
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
diff --git a/src/mame/drivers/carjmbre.c b/src/mame/drivers/carjmbre.c
index 1a7affe9118..f783c00cc2d 100644
--- a/src/mame/drivers/carjmbre.c
+++ b/src/mame/drivers/carjmbre.c
@@ -57,9 +57,9 @@ static ADDRESS_MAP_START( carjmbre_readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8000, 0x87ff) AM_READ(SMH_RAM)
AM_RANGE(0x8800, 0x8800) AM_READ(SMH_NOP) //?? possibly watchdog
AM_RANGE(0x9000, 0x97ff) AM_READ(SMH_RAM)
- AM_RANGE(0xa000, 0xa000) AM_READ(input_port_0_r)
- AM_RANGE(0xa800, 0xa800) AM_READ(input_port_1_r)
- AM_RANGE(0xb800, 0xb800) AM_READ(input_port_2_r)
+ AM_RANGE(0xa000, 0xa000) AM_READ_PORT("P1")
+ AM_RANGE(0xa800, 0xa800) AM_READ_PORT("P2")
+ AM_RANGE(0xb800, 0xb800) AM_READ_PORT("DSW")
ADDRESS_MAP_END
static ADDRESS_MAP_START( carjmbre_writemem, ADDRESS_SPACE_PROGRAM, 8 )
@@ -109,7 +109,7 @@ static ADDRESS_MAP_START( carjmbre_sound_writeport, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_END
static INPUT_PORTS_START( carjmbre )
- PORT_START_TAG("IN0")
+ PORT_START_TAG("P1")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) //coin error if held high for 1s
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) //or if many coins inserted quickly
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE1 )
@@ -119,7 +119,7 @@ static INPUT_PORTS_START( carjmbre )
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY
- PORT_START_TAG("IN1")
+ PORT_START_TAG("P2")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START1 )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START2 )
@@ -129,7 +129,7 @@ static INPUT_PORTS_START( carjmbre )
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
- PORT_START_TAG("IN2")
+ PORT_START_TAG("DSW")
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coin_A ) )
PORT_DIPSETTING( 0x02, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
diff --git a/src/mame/drivers/carrera.c b/src/mame/drivers/carrera.c
index fb37f4eb818..148a1f3c715 100644
--- a/src/mame/drivers/carrera.c
+++ b/src/mame/drivers/carrera.c
@@ -65,12 +65,12 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( readport, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READ(input_port_0_r)
- AM_RANGE(0x01, 0x01) AM_READ(input_port_1_r)
- AM_RANGE(0x02, 0x02) AM_READ(input_port_2_r)
- AM_RANGE(0x03, 0x03) AM_READ(input_port_3_r)
- AM_RANGE(0x04, 0x04) AM_READ(input_port_4_r)
- AM_RANGE(0x05, 0x05) AM_READ(input_port_5_r)
+ AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0")
+ AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1")
+ AM_RANGE(0x02, 0x02) AM_READ_PORT("IN2")
+ AM_RANGE(0x03, 0x03) AM_READ_PORT("IN3")
+ AM_RANGE(0x04, 0x04) AM_READ_PORT("IN4")
+ AM_RANGE(0x05, 0x05) AM_READ_PORT("IN5")
ADDRESS_MAP_END
static ADDRESS_MAP_START( writeport, ADDRESS_SPACE_IO, 8 )
diff --git a/src/mame/drivers/cave.c b/src/mame/drivers/cave.c
index e5751cb7be5..e3ccf402846 100644
--- a/src/mame/drivers/cave.c
+++ b/src/mame/drivers/cave.c
@@ -311,11 +311,6 @@ static const UINT8 *cave_default_eeprom;
static int cave_default_eeprom_length;
static int cave_region_byte;
-static READ16_HANDLER( gaia_dsw_r )
-{
- return input_port_read(machine, "DSW1") | (input_port_read(machine, "DSW2") << 8);
-}
-
static WRITE16_HANDLER( cave_eeprom_msb_w )
{
if (data & ~0xfe00)
@@ -498,8 +493,8 @@ static ADDRESS_MAP_START( dfeveron_readmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x800000, 0x800007) AM_READ(cave_irq_cause_r ) // IRQ Cause
/**/AM_RANGE(0x900000, 0x900005) AM_READ(SMH_RAM ) // Layer 0 Control
/**/AM_RANGE(0xa00000, 0xa00005) AM_READ(SMH_RAM ) // Layer 1 Control
- AM_RANGE(0xb00000, 0xb00001) AM_READ(input_port_0_word_r ) // Inputs
- AM_RANGE(0xb00002, 0xb00003) AM_READ(input_port_1_word_r ) // Inputs + EEPROM
+ AM_RANGE(0xb00000, 0xb00001) AM_READ_PORT("IN0") // Inputs
+ AM_RANGE(0xb00002, 0xb00003) AM_READ_PORT("IN1") // Inputs + EEPROM
ADDRESS_MAP_END
static ADDRESS_MAP_START( dfeveron_writemem, ADDRESS_SPACE_PROGRAM, 16 )
@@ -537,8 +532,8 @@ static ADDRESS_MAP_START( ddonpach_readmem, ADDRESS_SPACE_PROGRAM, 16 )
/**/AM_RANGE(0xa00000, 0xa00005) AM_READ(SMH_RAM ) // Layer 1 Control
/**/AM_RANGE(0xb00000, 0xb00005) AM_READ(SMH_RAM ) // Layer 2 Control
/**/AM_RANGE(0xc00000, 0xc0ffff) AM_READ(SMH_RAM ) // Palette
- AM_RANGE(0xd00000, 0xd00001) AM_READ(input_port_0_word_r ) // Inputs
- AM_RANGE(0xd00002, 0xd00003) AM_READ(input_port_1_word_r ) // Inputs + EEPROM
+ AM_RANGE(0xd00000, 0xd00001) AM_READ_PORT("IN0") // Inputs
+ AM_RANGE(0xd00002, 0xd00003) AM_READ_PORT("IN1") // Inputs + EEPROM
ADDRESS_MAP_END
static ADDRESS_MAP_START( ddonpach_writemem, ADDRESS_SPACE_PROGRAM, 16 )
@@ -603,8 +598,8 @@ static ADDRESS_MAP_START( donpachi_readmem, ADDRESS_SPACE_PROGRAM, 16 )
/**/AM_RANGE(0xa08000, 0xa08fff) AM_READ(SMH_RAM ) // Palette
AM_RANGE(0xb00000, 0xb00001) AM_READ(OKIM6295_status_0_lsb_r ) // M6295
AM_RANGE(0xb00010, 0xb00011) AM_READ(OKIM6295_status_1_lsb_r ) //
- AM_RANGE(0xc00000, 0xc00001) AM_READ(input_port_0_word_r ) // Inputs
- AM_RANGE(0xc00002, 0xc00003) AM_READ(input_port_1_word_r ) // Inputs + EEPROM
+ AM_RANGE(0xc00000, 0xc00001) AM_READ_PORT("IN0") // Inputs
+ AM_RANGE(0xc00002, 0xc00003) AM_READ_PORT("IN1") // Inputs + EEPROM
ADDRESS_MAP_END
static ADDRESS_MAP_START( donpachi_writemem, ADDRESS_SPACE_PROGRAM, 16 )
@@ -645,8 +640,8 @@ static ADDRESS_MAP_START( esprade_readmem, ADDRESS_SPACE_PROGRAM, 16 )
/**/AM_RANGE(0xa00000, 0xa00005) AM_READ(SMH_RAM ) // Layer 1 Control
/**/AM_RANGE(0xb00000, 0xb00005) AM_READ(SMH_RAM ) // Layer 2 Control
/**/AM_RANGE(0xc00000, 0xc0ffff) AM_READ(SMH_RAM ) // Palette
- AM_RANGE(0xd00000, 0xd00001) AM_READ(input_port_0_word_r ) // Inputs
- AM_RANGE(0xd00002, 0xd00003) AM_READ(input_port_1_word_r ) // Inputs + EEPROM
+ AM_RANGE(0xd00000, 0xd00001) AM_READ_PORT("IN0") // Inputs
+ AM_RANGE(0xd00002, 0xd00003) AM_READ_PORT("IN1") // Inputs + EEPROM
ADDRESS_MAP_END
static ADDRESS_MAP_START( esprade_writemem, ADDRESS_SPACE_PROGRAM, 16 )
@@ -688,9 +683,9 @@ static ADDRESS_MAP_START( gaia_readmem, ADDRESS_SPACE_PROGRAM, 16 )
/**/AM_RANGE(0xa00000, 0xa00005) AM_READ(SMH_RAM ) // Layer 1 Control
/**/AM_RANGE(0xb00000, 0xb00005) AM_READ(SMH_RAM ) // Layer 2 Control
AM_RANGE(0xc00000, 0xc0ffff) AM_READ(SMH_RAM ) // Palette
- AM_RANGE(0xd00010, 0xd00011) AM_READ(input_port_0_word_r ) // Inputs
- AM_RANGE(0xd00012, 0xd00013) AM_READ(input_port_1_word_r ) // Inputs
- AM_RANGE(0xd00014, 0xd00015) AM_READ(gaia_dsw_r ) // Dips
+ AM_RANGE(0xd00010, 0xd00011) AM_READ_PORT("IN0") // Inputs
+ AM_RANGE(0xd00012, 0xd00013) AM_READ_PORT("IN1") // Inputs
+ AM_RANGE(0xd00014, 0xd00015) AM_READ_PORT("DSW") // Dips
ADDRESS_MAP_END
static ADDRESS_MAP_START( gaia_writemem, ADDRESS_SPACE_PROGRAM, 16 )
@@ -733,8 +728,8 @@ static ADDRESS_MAP_START( guwange_readmem, ADDRESS_SPACE_PROGRAM, 16 )
/**/AM_RANGE(0xa00000, 0xa00005) AM_READ(SMH_RAM ) // Layer 1 Control
/**/AM_RANGE(0xb00000, 0xb00005) AM_READ(SMH_RAM ) // Layer 2 Control
/**/AM_RANGE(0xc00000, 0xc0ffff) AM_READ(SMH_RAM ) // Palette
- AM_RANGE(0xd00010, 0xd00011) AM_READ(input_port_0_word_r ) // Inputs
- AM_RANGE(0xd00012, 0xd00013) AM_READ(input_port_1_word_r ) // Inputs + EEPROM
+ AM_RANGE(0xd00010, 0xd00011) AM_READ_PORT("IN0") // Inputs
+ AM_RANGE(0xd00012, 0xd00013) AM_READ_PORT("IN1") // Inputs + EEPROM
ADDRESS_MAP_END
static ADDRESS_MAP_START( guwange_writemem, ADDRESS_SPACE_PROGRAM, 16 )
@@ -773,8 +768,8 @@ static ADDRESS_MAP_START( hotdogst_readmem, ADDRESS_SPACE_PROGRAM, 16 )
/**/AM_RANGE(0xb00000, 0xb00005) AM_READ(SMH_RAM ) // Layer 0 Control
/**/AM_RANGE(0xb80000, 0xb80005) AM_READ(SMH_RAM ) // Layer 1 Control
/**/AM_RANGE(0xc00000, 0xc00005) AM_READ(SMH_RAM ) // Layer 2 Control
- AM_RANGE(0xc80000, 0xc80001) AM_READ(input_port_0_word_r ) // Inputs
- AM_RANGE(0xc80002, 0xc80003) AM_READ(input_port_1_word_r ) // Inputs + EEPROM
+ AM_RANGE(0xc80000, 0xc80001) AM_READ_PORT("IN0") // Inputs
+ AM_RANGE(0xc80002, 0xc80003) AM_READ_PORT("IN1") // Inputs + EEPROM
/**/AM_RANGE(0xf00000, 0xf07fff) AM_READ(SMH_RAM ) // Sprites
/**/AM_RANGE(0xf08000, 0xf0ffff) AM_READ(SMH_RAM ) // Sprites?
ADDRESS_MAP_END
@@ -867,14 +862,14 @@ static CUSTOM_INPUT( korokoro_hopper_r )
static ADDRESS_MAP_START( korokoro_readmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_READ( SMH_ROM ) // ROM
-// AM_RANGE(0x100000, 0x107fff) AM_READ( SMH_RAM ) // Layer 0
-// AM_RANGE(0x140000, 0x140005) AM_READ( SMH_RAM ) // Layer 0 Control
-// AM_RANGE(0x180000, 0x187fff) AM_READ( SMH_RAM ) // Sprites
+// AM_RANGE(0x100000, 0x107fff) AM_READ( SMH_RAM ) // Layer 0
+// AM_RANGE(0x140000, 0x140005) AM_READ( SMH_RAM ) // Layer 0 Control
+// AM_RANGE(0x180000, 0x187fff) AM_READ( SMH_RAM ) // Sprites
AM_RANGE(0x1c0000, 0x1c0007) AM_READ( cave_irq_cause_r ) // IRQ Cause
-// AM_RANGE(0x200000, 0x207fff) AM_READ( SMH_RAM ) // Palette
-// AM_RANGE(0x240000, 0x240003) AM_READ( cave_sound_r ) // YMZ280
- AM_RANGE(0x280000, 0x280001) AM_READ( input_port_0_word_r ) // Inputs + ???
- AM_RANGE(0x280002, 0x280003) AM_READ( input_port_1_word_r ) // Inputs + EEPROM
+// AM_RANGE(0x200000, 0x207fff) AM_READ( SMH_RAM ) // Palette
+// AM_RANGE(0x240000, 0x240003) AM_READ( cave_sound_r ) // YMZ280
+ AM_RANGE(0x280000, 0x280001) AM_READ_PORT("IN0") // Inputs + ???
+ AM_RANGE(0x280002, 0x280003) AM_READ_PORT("IN1") // Inputs + EEPROM
AM_RANGE(0x300000, 0x30ffff) AM_READ( SMH_RAM ) // RAM
ADDRESS_MAP_END
@@ -908,10 +903,10 @@ static ADDRESS_MAP_START( mazinger_readmem, ADDRESS_SPACE_PROGRAM, 16 )
/**/AM_RANGE(0x504000, 0x507fff) AM_READ(SMH_RAM ) // Layer 0
/**/AM_RANGE(0x600000, 0x600005) AM_READ(SMH_RAM ) // Layer 1 Control
/**/AM_RANGE(0x700000, 0x700005) AM_READ(SMH_RAM ) // Layer 0 Control
- AM_RANGE(0x800000, 0x800001) AM_READ(input_port_0_word_r ) // Inputs
- AM_RANGE(0x800002, 0x800003) AM_READ(input_port_1_word_r ) // Inputs + EEPROM
+ AM_RANGE(0x800000, 0x800001) AM_READ_PORT("IN0") // Inputs
+ AM_RANGE(0x800002, 0x800003) AM_READ_PORT("IN1") // Inputs + EEPROM
/**/AM_RANGE(0xc08000, 0xc0ffff) AM_READ(SMH_RAM ) // Palette
- AM_RANGE(0xd00000, 0xd7ffff) AM_READ(SMH_BANK1 ) // ROM
+ AM_RANGE(0xd00000, 0xd7ffff) AM_READ(SMH_BANK1 ) // ROM
ADDRESS_MAP_END
static ADDRESS_MAP_START( mazinger_writemem, ADDRESS_SPACE_PROGRAM, 16 )
@@ -941,7 +936,7 @@ static ADDRESS_MAP_START( metmqstr_readmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x100000, 0x17ffff) AM_READ(SMH_ROM ) // ROM
AM_RANGE(0x200000, 0x27ffff) AM_READ(SMH_ROM ) // ROM
AM_RANGE(0x408000, 0x408fff) AM_READ(SMH_RAM ) // Palette
- AM_RANGE(0x600000, 0x600001) AM_READ(watchdog_reset16_r ) // Watchdog?
+ AM_RANGE(0x600000, 0x600001) AM_READ(watchdog_reset16_r ) // Watchdog?
AM_RANGE(0x880000, 0x887fff) AM_READ(SMH_RAM ) // Layer 2
AM_RANGE(0x888000, 0x88ffff) AM_READ(SMH_RAM ) //
AM_RANGE(0x900000, 0x907fff) AM_READ(SMH_RAM ) // Layer 1
@@ -954,8 +949,8 @@ static ADDRESS_MAP_START( metmqstr_readmem, ADDRESS_SPACE_PROGRAM, 16 )
/**/AM_RANGE(0xb00000, 0xb00005) AM_READ(SMH_RAM ) // Layer 0 Control
/**/AM_RANGE(0xb80000, 0xb80005) AM_READ(SMH_RAM ) // Layer 1 Control
/**/AM_RANGE(0xc00000, 0xc00005) AM_READ(SMH_RAM ) // Layer 2 Control
- AM_RANGE(0xc80000, 0xc80001) AM_READ(input_port_0_word_r ) // Inputs
- AM_RANGE(0xc80002, 0xc80003) AM_READ(input_port_1_word_r ) // Inputs + EEPROM
+ AM_RANGE(0xc80000, 0xc80001) AM_READ_PORT("IN0") // Inputs
+ AM_RANGE(0xc80002, 0xc80003) AM_READ_PORT("IN1") // Inputs + EEPROM
AM_RANGE(0xf00000, 0xf07fff) AM_READ(SMH_RAM ) // Sprites
AM_RANGE(0xf08000, 0xf0ffff) AM_READ(SMH_RAM ) // RAM
ADDRESS_MAP_END
@@ -1016,9 +1011,9 @@ static WRITE16_HANDLER( pwrinst2_vctrl_3_w ) { vctrl_w(cave_vctrl_3, offset, dat
static ADDRESS_MAP_START( pwrinst2_readmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x1fffff) AM_READ(SMH_ROM ) // ROM
AM_RANGE(0x400000, 0x40ffff) AM_READ(SMH_RAM ) // RAM
- AM_RANGE(0x500000, 0x500001) AM_READ(input_port_0_word_r ) // Inputs
- AM_RANGE(0x500002, 0x500003) AM_READ(input_port_1_word_r ) //
- AM_RANGE(0x600000, 0x6fffff) AM_READ(SMH_ROM ) AM_REGION(REGION_USER1, 0) // extra data ROM space
+ AM_RANGE(0x500000, 0x500001) AM_READ_PORT("IN0") // Inputs
+ AM_RANGE(0x500002, 0x500003) AM_READ_PORT("IN1") //
+ AM_RANGE(0x600000, 0x6fffff) AM_READ(SMH_ROM) AM_REGION(REGION_USER1, 0) // extra data ROM space
AM_RANGE(0x800000, 0x807fff) AM_READ(SMH_RAM ) // Layer 2
AM_RANGE(0x880000, 0x887fff) AM_READ(SMH_RAM ) // Layer 0
AM_RANGE(0x900000, 0x907fff) AM_READ(SMH_RAM ) // Layer 1
@@ -1094,7 +1089,7 @@ static ADDRESS_MAP_START( sailormn_readmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x508000, 0x50ffff) AM_READ(SMH_RAM ) // Sprites?
AM_RANGE(0x510000, 0x510001) AM_READ(SMH_RAM ) // (agallet)
AM_RANGE(0x600000, 0x600001) AM_READ(sailormn_input0_r ) // Inputs + Watchdog!
- AM_RANGE(0x600002, 0x600003) AM_READ(input_port_1_word_r ) // Inputs + EEPROM
+ AM_RANGE(0x600002, 0x600003) AM_READ_PORT("IN1") // Inputs + EEPROM
AM_RANGE(0x800000, 0x887fff) AM_READ(SMH_RAM ) // Layer 0
AM_RANGE(0x880000, 0x887fff) AM_READ(SMH_RAM ) // Layer 1
AM_RANGE(0x900000, 0x907fff) AM_READ(SMH_RAM ) // Layer 2
@@ -1146,8 +1141,8 @@ static ADDRESS_MAP_START( uopoko_readmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x600000, 0x600007) AM_READ(cave_irq_cause_r ) // IRQ Cause
/**/AM_RANGE(0x700000, 0x700005) AM_READ(SMH_RAM ) // Layer 0 Control
/**/AM_RANGE(0x800000, 0x80ffff) AM_READ(SMH_RAM ) // Palette
- AM_RANGE(0x900000, 0x900001) AM_READ(input_port_0_word_r ) // Inputs
- AM_RANGE(0x900002, 0x900003) AM_READ(input_port_1_word_r ) // Inputs + EEPROM
+ AM_RANGE(0x900000, 0x900001) AM_READ_PORT("IN0") // Inputs
+ AM_RANGE(0x900002, 0x900003) AM_READ_PORT("IN1") // Inputs + EEPROM
ADDRESS_MAP_END
static ADDRESS_MAP_START( uopoko_writemem, ADDRESS_SPACE_PROGRAM, 16 )
@@ -1477,40 +1472,40 @@ ADDRESS_MAP_END
/* Most games use this */
static INPUT_PORTS_START( cave )
PORT_START_TAG("IN0") // IN0 - Player 1
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
- PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
- PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
- PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
- PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
- PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(6)
- PORT_SERVICE_NO_TOGGLE(0x0200, IP_ACTIVE_LOW )
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN ) // sw? exit service mode
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN ) // sw? enter & exit service mode
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
+ PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
+ PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
+ PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
+ PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 )
+ PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(6)
+ PORT_SERVICE_NO_TOGGLE( 0x0200, IP_ACTIVE_LOW )
+ PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN ) // sw? exit service mode
+ PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN ) // sw? enter & exit service mode
+ PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START_TAG("IN1") // IN1 - Player 2
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
- PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
- PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
- PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
- PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
- PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
- PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START2 )
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(6)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_SERVICE1)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
+ PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
+ PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
+ PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
+ PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START2 )
+ PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(6)
+ PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_SERVICE1 )
+ PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL)
+ PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
INPUT_PORTS_END
/* Gaia Crusaders, no EEPROM. Has DIPS */
@@ -1518,110 +1513,105 @@ static INPUT_PORTS_START( gaia )
PORT_INCLUDE( cave )
PORT_MODIFY("IN0") // IN0 - Player 1 + 2
- PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1)
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2)
+ PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1)
+ PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
+ PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
+ PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
+ PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
+ PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
+ PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
+ PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
+ PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2)
PORT_MODIFY("IN1") // IN1 - Coins
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(6)
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(6)
- PORT_SERVICE_NO_TOGGLE(0x0004, IP_ACTIVE_LOW )
- PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_SERVICE1 )
- PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_START2 )
- PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START_TAG("DSW1") // Dips bank 1
- 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( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:2")
- PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x02, DEF_STR( On ) )
- PORT_DIPNAME( 0x04, 0x00, DEF_STR( Language ) ) PORT_DIPLOCATION("SW1:3")
- PORT_DIPSETTING( 0x00, DEF_STR( English ) )
- PORT_DIPSETTING( 0x04, DEF_STR( Japanese ) )
- PORT_DIPNAME( 0x38, 0x38, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:4,5,6")
- PORT_DIPSETTING( 0x08, DEF_STR( 4C_1C ) )
- PORT_DIPSETTING( 0x10, DEF_STR( 3C_1C ) )
- PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x00, "2 Coins/1 Credit (1 to continue)" )
- PORT_DIPSETTING( 0x38, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x18, DEF_STR( 2C_3C ) )
- PORT_DIPSETTING( 0x30, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x28, DEF_STR( 1C_3C ) )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("SW1:7")
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW1:8")
- PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x80, DEF_STR( On ) )
-
- PORT_START_TAG("DSW2") // Dips bank 2
- PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
- PORT_DIPSETTING( 0x01, "1" )
- PORT_DIPSETTING( 0x00, "2" )
- PORT_DIPSETTING( 0x03, "3" )
- PORT_DIPSETTING( 0x02, "4" )
- PORT_DIPNAME( 0x04, 0x04, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:3")
- PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x04, "150k/300k" ) PORT_CONDITION("DSW2",0xe0,PORTCOND_EQUALS,0xc0)
- PORT_DIPSETTING( 0x04, "150k/350k" ) PORT_CONDITION("DSW2",0xe0,PORTCOND_EQUALS,0xa0)
- PORT_DIPSETTING( 0x04, "150k/350k" ) PORT_CONDITION("DSW2",0xe0,PORTCOND_EQUALS,0xe0)
- PORT_DIPSETTING( 0x04, "150k/400k" ) PORT_CONDITION("DSW2",0xe0,PORTCOND_EQUALS,0x60)
- PORT_DIPSETTING( 0x04, "150k/400k" ) PORT_CONDITION("DSW2",0xe0,PORTCOND_EQUALS,0x80)
- PORT_DIPSETTING( 0x04, "150k/400k" ) PORT_CONDITION("DSW2",0xe0,PORTCOND_EQUALS,0x20)
- PORT_DIPSETTING( 0x04, "200k/500k" ) PORT_CONDITION("DSW2",0xe0,PORTCOND_EQUALS,0x40)
- PORT_DIPSETTING( 0x04, "200k/500k" ) PORT_CONDITION("DSW2",0xe0,PORTCOND_EQUALS,0x00)
- PORT_DIPNAME( 0x18, 0x18, "Damage" ) PORT_DIPLOCATION("SW2:4,5")
- PORT_DIPSETTING( 0x18, "+0" )
- PORT_DIPSETTING( 0x10, "+1" )
- PORT_DIPSETTING( 0x08, "+2" )
- PORT_DIPSETTING( 0x00, "+3" )
- PORT_DIPNAME( 0xe0, 0xe0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:6,7,8")
- PORT_DIPSETTING( 0xc0, DEF_STR( Very_Easy ) )
- PORT_DIPSETTING( 0xa0, DEF_STR( Easy ) )
- PORT_DIPSETTING( 0xe0, DEF_STR( Medium ) )
- PORT_DIPSETTING( 0x60, "Medium Hard" )
- PORT_DIPSETTING( 0x80, "Hard 1" )
- PORT_DIPSETTING( 0x20, "Hard 2" )
- PORT_DIPSETTING( 0x40, DEF_STR( Very_Hard ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(6)
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(6)
+ PORT_SERVICE_NO_TOGGLE( 0x0004, IP_ACTIVE_LOW )
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_SERVICE1 )
+ PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_START1 )
+ PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_START2 )
+ PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
+
+ PORT_START_TAG("DSW")
+ PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:1")
+ PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:2")
+ PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0002, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0004, 0x0000, DEF_STR( Language ) ) PORT_DIPLOCATION("SW1:3")
+ PORT_DIPSETTING( 0x0000, DEF_STR( English ) )
+ PORT_DIPSETTING( 0x0004, DEF_STR( Japanese ) )
+ PORT_DIPNAME( 0x0038, 0x0038, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:4,5,6")
+ PORT_DIPSETTING( 0x0008, DEF_STR( 4C_1C ) )
+ PORT_DIPSETTING( 0x0010, DEF_STR( 3C_1C ) )
+ PORT_DIPSETTING( 0x0020, DEF_STR( 2C_1C ) )
+ PORT_DIPSETTING( 0x0000, "2 Coins/1 Credit (1 to continue)" )
+ PORT_DIPSETTING( 0x0038, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x0018, DEF_STR( 2C_3C ) )
+ PORT_DIPSETTING( 0x0030, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0x0028, DEF_STR( 1C_3C ) )
+ PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("SW1:7")
+ PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW1:8")
+ PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0080, DEF_STR( On ) )
+
+ PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
+ PORT_DIPSETTING( 0x0100, "1" )
+ PORT_DIPSETTING( 0x0000, "2" )
+ PORT_DIPSETTING( 0x0300, "3" )
+ PORT_DIPSETTING( 0x0200, "4" )
+ PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:3")
+ PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0400, "150k/300k" ) PORT_CONDITION("DSW", 0xe000, PORTCOND_EQUALS, 0xc000)
+ PORT_DIPSETTING( 0x0400, "150k/350k" ) PORT_CONDITION("DSW", 0xe000, PORTCOND_EQUALS, 0xa000)
+ PORT_DIPSETTING( 0x0400, "150k/350k" ) PORT_CONDITION("DSW", 0xe000, PORTCOND_EQUALS, 0xe000)
+ PORT_DIPSETTING( 0x0400, "150k/400k" ) PORT_CONDITION("DSW", 0xe000, PORTCOND_EQUALS, 0x6000)
+ PORT_DIPSETTING( 0x0400, "150k/400k" ) PORT_CONDITION("DSW", 0xe000, PORTCOND_EQUALS, 0x8000)
+ PORT_DIPSETTING( 0x0400, "150k/400k" ) PORT_CONDITION("DSW", 0xe000, PORTCOND_EQUALS, 0x2000)
+ PORT_DIPSETTING( 0x0400, "200k/500k" ) PORT_CONDITION("DSW", 0xe000, PORTCOND_EQUALS, 0x4000)
+ PORT_DIPSETTING( 0x0400, "200k/500k" ) PORT_CONDITION("DSW", 0xe000, PORTCOND_EQUALS, 0x0000)
+ PORT_DIPNAME( 0x1800, 0x1800, "Damage" ) PORT_DIPLOCATION("SW2:4,5")
+ PORT_DIPSETTING( 0x1800, "+0" )
+ PORT_DIPSETTING( 0x1000, "+1" )
+ PORT_DIPSETTING( 0x0800, "+2" )
+ PORT_DIPSETTING( 0x0000, "+3" )
+ PORT_DIPNAME( 0xe000, 0xe000, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:6,7,8")
+ PORT_DIPSETTING( 0xc000, DEF_STR( Very_Easy ) )
+ PORT_DIPSETTING( 0xa000, DEF_STR( Easy ) )
+ PORT_DIPSETTING( 0xe000, DEF_STR( Medium ) )
+ PORT_DIPSETTING( 0x6000, "Medium Hard" )
+ PORT_DIPSETTING( 0x8000, "Hard 1" )
+ PORT_DIPSETTING( 0x2000, "Hard 2" )
+ PORT_DIPSETTING( 0x4000, DEF_STR( Very_Hard ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
INPUT_PORTS_END
static INPUT_PORTS_START( theroes )
PORT_INCLUDE( gaia )
- PORT_MODIFY("DSW1")
- PORT_DIPNAME( 0x04, 0x00, DEF_STR( Language ) ) PORT_DIPLOCATION("SW1:3")
- PORT_DIPSETTING( 0x00, DEF_STR( English ) )
- PORT_DIPSETTING( 0x04, "Chinese" )
-
- PORT_MODIFY("DSW2")
- PORT_DIPNAME( 0x04, 0x04, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:3")
- PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x04, "150k/300k" ) PORT_CONDITION("DSW2",0xc0,PORTCOND_EQUALS,0x80)
- PORT_DIPSETTING( 0x04, "150k/350k" ) PORT_CONDITION("DSW2",0xc0,PORTCOND_EQUALS,0xc0)
- PORT_DIPSETTING( 0x04, "150k/400k" ) PORT_CONDITION("DSW2",0xc0,PORTCOND_EQUALS,0x40)
- PORT_DIPSETTING( 0x04, "200k/500k" ) PORT_CONDITION("DSW2",0xc0,PORTCOND_EQUALS,0x00)
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:6")
- PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:7,8")
- PORT_DIPSETTING( 0x80, DEF_STR( Very_Easy ) )
- PORT_DIPSETTING( 0xc0, DEF_STR( Medium ) )
- PORT_DIPSETTING( 0x40, "Medium Hard" )
- PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
+ PORT_MODIFY("DSW")
+ PORT_DIPNAME( 0x0004, 0x0000, DEF_STR( Language ) ) PORT_DIPLOCATION("SW1:3")
+ PORT_DIPSETTING( 0x0000, DEF_STR( English ) )
+ PORT_DIPSETTING( 0x0004, "Chinese" )
+ PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:3")
+ PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0400, "150k/300k" ) PORT_CONDITION("DSW", 0xc000, PORTCOND_EQUALS, 0x8000)
+ PORT_DIPSETTING( 0x0400, "150k/350k" ) PORT_CONDITION("DSW", 0xc000, PORTCOND_EQUALS, 0xc000)
+ PORT_DIPSETTING( 0x0400, "150k/400k" ) PORT_CONDITION("DSW", 0xc000, PORTCOND_EQUALS, 0x4000)
+ PORT_DIPSETTING( 0x0400, "200k/500k" ) PORT_CONDITION("DSW", 0xc000, PORTCOND_EQUALS, 0x0000)
+ PORT_DIPUNKNOWN_DIPLOC( 0x2000, 0x2000, "SW2:6" )
+ PORT_DIPNAME( 0xc000, 0xc000, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:7,8")
+ PORT_DIPSETTING( 0x8000, DEF_STR( Very_Easy ) )
+ PORT_DIPSETTING( 0xc000, DEF_STR( Medium ) )
+ PORT_DIPSETTING( 0x4000, "Medium Hard" )
+ PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
INPUT_PORTS_END
/* Mazinger Z (has region stored in Eeprom) */
@@ -1653,88 +1643,88 @@ static INPUT_PORTS_START( metmqstr )
PORT_INCLUDE( cave )
PORT_MODIFY("IN0") // IN0 - Player 1
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1)
+ PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1)
PORT_MODIFY("IN1") // IN1 - Player 2
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2)
+ PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2)
INPUT_PORTS_END
/* Different layout */
static INPUT_PORTS_START( guwange )
PORT_START_TAG("IN0") // IN0 - Player 1 & 2
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
- PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
- PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
- PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
- PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
- PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START2 )
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_START1 )
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
+ PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
+ PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
+ PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
+ PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
+ PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START2 )
+ PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
+ PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
+ PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
+ PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
+ PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
+ PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
+ PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
PORT_START_TAG("IN1") // IN1 - Coins
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(6)
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(6)
- PORT_SERVICE_NO_TOGGLE(0x0004, IP_ACTIVE_LOW )
- PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_SERVICE1 )
- PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL)
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(6)
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(6)
+ PORT_SERVICE_NO_TOGGLE( 0x0004, IP_ACTIVE_LOW )
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_SERVICE1 )
+ PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL)
+ PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
INPUT_PORTS_END
static INPUT_PORTS_START( korokoro )
PORT_START_TAG("IN0") // IN0
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(10) // bit 0x0010 of leds (coin)
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(10) // bit 0x0020 of leds (does coin sound)
- PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_IMPULSE(10) // bit 0x0080 of leds
- PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_BUTTON1 ) // round button (choose)
- PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON2 ) // square button (select in service mode / medal out in game)
- 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( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_SERVICE2) // service medal out?
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(10) // bit 0x0010 of leds (coin)
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(10) // bit 0x0020 of leds (does coin sound)
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_IMPULSE(10) // bit 0x0080 of leds
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_BUTTON1 ) // round button (choose)
+ PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON2 ) // square button (select in service mode / medal out in game)
+ 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( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_SERVICE2 ) // service medal out?
PORT_SERVICE( 0x2000, IP_ACTIVE_LOW )
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_SERVICE1) // service coin
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_SPECIAL) PORT_CUSTOM(korokoro_hopper_r, NULL) // motor / hopper status ???
+ PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_SERVICE1 ) // service coin
+ PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM(korokoro_hopper_r, NULL) // motor / hopper status ???
PORT_START_TAG("IN1") // IN1
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
- 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( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ 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( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL)
+ PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
INPUT_PORTS_END
diff --git a/src/mame/drivers/cball.c b/src/mame/drivers/cball.c
index 0445edd7bbc..53067660a2d 100644
--- a/src/mame/drivers/cball.c
+++ b/src/mame/drivers/cball.c
@@ -101,13 +101,13 @@ static ADDRESS_MAP_START( cpu_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x03ff) AM_READ(cball_wram_r) AM_MASK(0x7f)
AM_RANGE(0x0400, 0x07ff) AM_READ(SMH_RAM)
- AM_RANGE(0x1001, 0x1001) AM_READ(input_port_0_r)
- AM_RANGE(0x1003, 0x1003) AM_READ(input_port_1_r)
- AM_RANGE(0x1020, 0x1020) AM_READ(input_port_2_r)
- AM_RANGE(0x1040, 0x1040) AM_READ(input_port_3_r)
- AM_RANGE(0x1060, 0x1060) AM_READ(input_port_4_r)
+ AM_RANGE(0x1001, 0x1001) AM_READ_PORT("1001")
+ AM_RANGE(0x1003, 0x1003) AM_READ_PORT("1003")
+ AM_RANGE(0x1020, 0x1020) AM_READ_PORT("1020")
+ AM_RANGE(0x1040, 0x1040) AM_READ_PORT("1040")
+ AM_RANGE(0x1060, 0x1060) AM_READ_PORT("1060")
AM_RANGE(0x2000, 0x2001) AM_NOP
- AM_RANGE(0x2800, 0x2800) AM_READ(input_port_5_r)
+ AM_RANGE(0x2800, 0x2800) AM_READ_PORT("2800")
AM_RANGE(0x0000, 0x03ff) AM_WRITE(cball_wram_w) AM_MASK(0x7f)
AM_RANGE(0x0400, 0x07ff) AM_WRITE(cball_vram_w) AM_BASE(&cball_video_ram)
@@ -124,36 +124,34 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( cball )
-
- PORT_START /* 1001 */
- PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coinage ))
+ PORT_START_TAG("1001")
+ PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x00, "2 Coins each" )
PORT_DIPSETTING( 0xc0, "1 Coin each" )
PORT_DIPSETTING( 0x80, "1 Coin 1 Game" )
PORT_DIPSETTING( 0x40, "1 Coin 2 Games" )
- PORT_START /* 1003 */
- PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Lives ))
+ PORT_START_TAG("1003")
+ PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Lives ) )
PORT_DIPSETTING( 0xc0, "3" )
PORT_DIPSETTING( 0x80, "5" )
PORT_DIPSETTING( 0x40, "7" )
PORT_DIPSETTING( 0x00, "9" )
- PORT_START /* 1020 */
+ PORT_START_TAG("1020")
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
- PORT_START /* 1040 */
+ PORT_START_TAG("1040")
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_START /* 1060 */
+ PORT_START_TAG("1060")
PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
- PORT_START /* 2800 */
+ PORT_START_TAG("2800")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON2 )
-
INPUT_PORTS_END
diff --git a/src/mame/drivers/cbasebal.c b/src/mame/drivers/cbasebal.c
index 834f323b22e..52d43861341 100644
--- a/src/mame/drivers/cbasebal.c
+++ b/src/mame/drivers/cbasebal.c
@@ -149,16 +149,16 @@ static ADDRESS_MAP_START( cbasebal_portmap, ADDRESS_SPACE_IO, 8 )
AM_RANGE(0x07, 0x07) AM_WRITE(YM2413_data_port_0_w)
AM_RANGE(0x08, 0x09) AM_WRITE(cbasebal_scrollx_w)
AM_RANGE(0x0a, 0x0b) AM_WRITE(cbasebal_scrolly_w)
- AM_RANGE(0x10, 0x10) AM_READ(input_port_0_r)
- AM_RANGE(0x11, 0x11) AM_READ(input_port_1_r)
- AM_RANGE(0x12, 0x12) AM_READ(input_port_2_r)
+ AM_RANGE(0x10, 0x10) AM_READ_PORT("P1")
+ AM_RANGE(0x11, 0x11) AM_READ_PORT("P2")
+ AM_RANGE(0x12, 0x12) AM_READ_PORT("SYSTEM")
AM_RANGE(0x13, 0x13) AM_WRITE(cbasebal_gfxctrl_w)
AM_RANGE(0x14, 0x14) AM_WRITE(cbasebal_coinctrl_w)
ADDRESS_MAP_END
static INPUT_PORTS_START( cbasebal )
- PORT_START
+ PORT_START_TAG("P1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON3 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 )
@@ -168,7 +168,7 @@ static INPUT_PORTS_START( cbasebal )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
- PORT_START /* IN2 */
+ PORT_START_TAG("P2")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
@@ -178,7 +178,7 @@ static INPUT_PORTS_START( cbasebal )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
- PORT_START /* IN0 */
+ PORT_START_TAG("SYSTEM")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 )
diff --git a/src/mame/drivers/cbuster.c b/src/mame/drivers/cbuster.c
index 565f493017a..76bc917cd10 100644
--- a/src/mame/drivers/cbuster.c
+++ b/src/mame/drivers/cbuster.c
@@ -11,6 +11,9 @@
Emulation by Bryan McPhail, mish@tendril.co.uk
+ 2008-07
+ Dip locations and settings verified with manual (JPN version)
+
***************************************************************************/
#include "driver.h"
@@ -88,10 +91,10 @@ static READ16_HANDLER( twocrude_control_r )
switch (offset<<1)
{
case 0: /* Player 1 & Player 2 joysticks & fire buttons */
- return (input_port_read(machine, "P1") + (input_port_read(machine, "P2") << 8));
+ return input_port_read(machine, "P1_P2");
case 2: /* Dip Switches */
- return (input_port_read(machine, "DSW1") + (input_port_read(machine, "DSW2") << 8));
+ return input_port_read(machine, "DSW");
case 4: /* Protection */
logerror("%04x : protection control read at 30c000 %d\n",activecpu_get_pc(),offset);
@@ -201,25 +204,23 @@ ADDRESS_MAP_END
/******************************************************************************/
static INPUT_PORTS_START( twocrude )
- PORT_START_TAG("P1") /* Player 1 controls */
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) 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_BUTTON3 )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
-
- PORT_START_TAG("P2") /* Player 2 controls */
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
+ PORT_START_TAG("P1_P2")
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
+ PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 )
+ PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 )
+ PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 )
+ PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 )
+ PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
+ PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
+ PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
+ PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
+ PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
+ PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
+ PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
+ PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START2 )
PORT_START_TAG("COINS") /* Credits */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
@@ -231,55 +232,48 @@ static INPUT_PORTS_START( twocrude )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START_TAG("DSW1") /* Dip switch bank 1 */
- PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coin_A ) )
- PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
- PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x07, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x06, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x05, DEF_STR( 1C_3C ) )
- PORT_DIPSETTING( 0x04, DEF_STR( 1C_4C ) )
- PORT_DIPSETTING( 0x03, DEF_STR( 1C_5C ) )
- PORT_DIPSETTING( 0x02, DEF_STR( 1C_6C ) )
- PORT_DIPNAME( 0x38, 0x38, DEF_STR( Coin_B ) )
- PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
- PORT_DIPSETTING( 0x08, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x38, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x30, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x28, DEF_STR( 1C_3C ) )
- PORT_DIPSETTING( 0x20, DEF_STR( 1C_4C ) )
- PORT_DIPSETTING( 0x18, DEF_STR( 1C_5C ) )
- PORT_DIPSETTING( 0x10, DEF_STR( 1C_6C ) )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Flip_Screen ) )
- 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_START_TAG("DSW2") /* Dip switch bank 2 */
- PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )
- PORT_DIPSETTING( 0x00, "1" )
- PORT_DIPSETTING( 0x01, "2" )
- PORT_DIPSETTING( 0x03, "3" )
- PORT_DIPSETTING( 0x02, "4" )
- PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Difficulty ) )
- PORT_DIPSETTING( 0x0c, DEF_STR( Normal ) )
- PORT_DIPSETTING( 0x08, DEF_STR( Easy ) )
- PORT_DIPSETTING( 0x04, DEF_STR( Hard ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unused ) )
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unused ) )
- PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Allow_Continue ) )
- PORT_DIPSETTING( 0x00, DEF_STR( No ) )
- PORT_DIPSETTING( 0x40, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) )
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_START_TAG("DSW")
+ PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2,3")
+ PORT_DIPSETTING( 0x0000, DEF_STR( 3C_1C ) )
+ PORT_DIPSETTING( 0x0001, DEF_STR( 2C_1C ) )
+ PORT_DIPSETTING( 0x0007, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x0006, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0x0005, DEF_STR( 1C_3C ) )
+ PORT_DIPSETTING( 0x0004, DEF_STR( 1C_4C ) )
+ PORT_DIPSETTING( 0x0003, DEF_STR( 1C_5C ) )
+ PORT_DIPSETTING( 0x0002, DEF_STR( 1C_6C ) )
+ PORT_DIPNAME( 0x0038, 0x0038, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:4,5,6")
+ PORT_DIPSETTING( 0x0000, DEF_STR( 3C_1C ) )
+ PORT_DIPSETTING( 0x0008, DEF_STR( 2C_1C ) )
+ PORT_DIPSETTING( 0x0038, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x0030, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0x0028, DEF_STR( 1C_3C ) )
+ PORT_DIPSETTING( 0x0020, DEF_STR( 1C_4C ) )
+ PORT_DIPSETTING( 0x0018, DEF_STR( 1C_5C ) )
+ PORT_DIPSETTING( 0x0010, DEF_STR( 1C_6C ) )
+ PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:7")
+ PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPUNUSED_DIPLOC( 0x0080, 0x0080, "SW1:8" ) /* Manual says OFF "Don't Change" */
+
+ PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
+ PORT_DIPSETTING( 0x0100, "1" )
+ PORT_DIPSETTING( 0x0000, "2" )
+ PORT_DIPSETTING( 0x0300, "3" )
+ PORT_DIPSETTING( 0x0200, "4" )
+ PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:3,4")
+ PORT_DIPSETTING( 0x0c00, DEF_STR( Normal ) )
+ PORT_DIPSETTING( 0x0800, DEF_STR( Easy ) )
+ PORT_DIPSETTING( 0x0400, DEF_STR( Hard ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
+ PORT_DIPUNUSED_DIPLOC( 0x1000, 0x1000, "SW2:5" ) /* Manual says OFF "Don't Change" */
+ PORT_DIPUNUSED_DIPLOC( 0x2000, 0x2000, "SW2:6" ) /* Manual says OFF "Don't Change" */
+ PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:7")
+ PORT_DIPSETTING( 0x0000, DEF_STR( No ) )
+ PORT_DIPSETTING( 0x4000, DEF_STR( Yes ) )
+ PORT_DIPNAME( 0x8000, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:8")
+ PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
INPUT_PORTS_END
/******************************************************************************/
diff --git a/src/mame/drivers/cchasm.c b/src/mame/drivers/cchasm.c
index c044ed342c7..9832379269e 100644
--- a/src/mame/drivers/cchasm.c
+++ b/src/mame/drivers/cchasm.c
@@ -33,7 +33,7 @@ static ADDRESS_MAP_START( memmap, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x00ffff) AM_ROM
AM_RANGE(0x040000, 0x04000f) AM_READWRITE(ptm6840_0_lsb_r,ptm6840_0_lsb_w)
AM_RANGE(0x050000, 0x050001) AM_WRITE(cchasm_refresh_control_w)
- AM_RANGE(0x060000, 0x060001) AM_READWRITE(input_port_0_word_r,cchasm_led_w)
+ AM_RANGE(0x060000, 0x060001) AM_READ_PORT("DSW") AM_WRITE(cchasm_led_w)
AM_RANGE(0x070000, 0x070001) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0xf80000, 0xf800ff) AM_READWRITE(cchasm_io_r,cchasm_io_w)
AM_RANGE(0xffb000, 0xffffff) AM_RAM AM_BASE(&cchasm_ram)
@@ -116,7 +116,7 @@ static INPUT_PORTS_START( cchasm )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN3 )
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Test 1") PORT_CODE(KEYCODE_F1)
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Test 1") PORT_CODE(KEYCODE_F1)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) /* Test 2, not used in cchasm */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Test 3, not used in cchasm */
INPUT_PORTS_END
diff --git a/src/mame/drivers/cclimber.c b/src/mame/drivers/cclimber.c
index efe69cbf8d5..f3b3243c12e 100644
--- a/src/mame/drivers/cclimber.c
+++ b/src/mame/drivers/cclimber.c
@@ -186,6 +186,11 @@ TODO:
[5f2c2a78] h4 bottom board bad dump / [1d9e3325] (8307-A)
[ce3afe26] j4 bottom board
+----
+
+2008-07
+Dip location verified from manual for: cclimber, guzzler, swimmer
+
***************************************************************************/
#include "driver.h"
@@ -276,13 +281,13 @@ static ADDRESS_MAP_START( cclimber_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x98dc, 0x98df) AM_RAM AM_BASE(&cclimber_bigsprite_control)
AM_RANGE(0x9800, 0x9bff) AM_RAM /* not used, but initialized */
AM_RANGE(0x9c00, 0x9fff) AM_RAM_WRITE(cclimber_colorram_w) AM_BASE(&cclimber_colorram)
- AM_RANGE(0xa000, 0xa000) AM_READWRITE(input_port_0_r, interrupt_enable_w)
+ AM_RANGE(0xa000, 0xa000) AM_READ_PORT("P1") AM_WRITE(interrupt_enable_w)
AM_RANGE(0xa001, 0xa002) AM_WRITE(SMH_RAM) AM_BASE(&cclimber_flip_screen)
AM_RANGE(0xa003, 0xa003) AM_WRITE(interrupt_enable_w) //used by Crazy Kong Bootleg with alt levels and speed up
AM_RANGE(0xa004, 0xa004) AM_WRITE(cclimber_sample_trigger_w)
- AM_RANGE(0xa800, 0xa800) AM_READWRITE(input_port_1_r, cclimber_sample_rate_w)
- AM_RANGE(0xb000, 0xb000) AM_READWRITE(input_port_2_r, cclimber_sample_volume_w)
- AM_RANGE(0xb800, 0xb800) AM_READ(input_port_3_r)
+ AM_RANGE(0xa800, 0xa800) AM_READ_PORT("P2") AM_WRITE(cclimber_sample_rate_w)
+ AM_RANGE(0xb000, 0xb000) AM_READ_PORT("DSW") AM_WRITE(cclimber_sample_volume_w)
+ AM_RANGE(0xb800, 0xb800) AM_READ_PORT("SYSTEM")
ADDRESS_MAP_END
static ADDRESS_MAP_START( cannonb_map, ADDRESS_SPACE_PROGRAM, 8 )
@@ -291,7 +296,7 @@ static ADDRESS_MAP_START( cannonb_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x6000, 0x6bff) AM_RAM
AM_RANGE(0x8000, 0x83ff) AM_RAM
AM_RANGE(0x8800, 0x88ff) AM_READWRITE(SMH_NOP, SMH_RAM) AM_BASE(&cclimber_bigsprite_videoram) /* must not return what's written (game will reset after coin insert if it returns 0xff)*/
-//AM_RANGE(0x8900, 0x8bff) AM_WRITE(SMH_RAM) /* not used, but initialized */
+// AM_RANGE(0x8900, 0x8bff) AM_WRITE(SMH_RAM) /* not used, but initialized */
AM_RANGE(0x9000, 0x93ff) AM_MIRROR(0x0400) AM_RAM AM_BASE(&cclimber_videoram)
/* 9800-9bff and 9c00-9fff share the same RAM, interleaved */
/* (9800-981f for scroll, 9c20-9c3f for color RAM, and so on) */
@@ -300,12 +305,12 @@ static ADDRESS_MAP_START( cannonb_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x98dc, 0x98df) AM_RAM AM_BASE(&cclimber_bigsprite_control)
AM_RANGE(0x9800, 0x9bff) AM_RAM /* not used, but initialized */
AM_RANGE(0x9c00, 0x9fff) AM_RAM_WRITE(cclimber_colorram_w) AM_BASE(&cclimber_colorram)
- AM_RANGE(0xa000, 0xa000) AM_READWRITE(input_port_0_r, interrupt_enable_w)
+ AM_RANGE(0xa000, 0xa000) AM_READ_PORT("P1") AM_WRITE(interrupt_enable_w)
AM_RANGE(0xa001, 0xa002) AM_WRITE(cannonb_flip_screen_w) AM_BASE(&cclimber_flip_screen)
AM_RANGE(0xa004, 0xa004) AM_WRITE(cclimber_sample_trigger_w)
- AM_RANGE(0xa800, 0xa800) AM_READWRITE(input_port_1_r, cclimber_sample_rate_w)
- AM_RANGE(0xb000, 0xb000) AM_READWRITE(input_port_2_r, cclimber_sample_volume_w)
- AM_RANGE(0xb800, 0xb800) AM_READ(input_port_3_r)
+ AM_RANGE(0xa800, 0xa800) AM_READ_PORT("P2") AM_WRITE(cclimber_sample_rate_w)
+ AM_RANGE(0xb000, 0xb000) AM_READ_PORT("DSW") AM_WRITE(cclimber_sample_volume_w)
+ AM_RANGE(0xb800, 0xb800) AM_READ_PORT("SYSTEM")
ADDRESS_MAP_END
static ADDRESS_MAP_START( swimmer_map, ADDRESS_SPACE_PROGRAM, 8 )
@@ -317,14 +322,14 @@ static ADDRESS_MAP_START( swimmer_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x9880, 0x989f) AM_WRITE(SMH_RAM) AM_BASE(&cclimber_spriteram)
AM_RANGE(0x98fc, 0x98ff) AM_WRITE(SMH_RAM) AM_BASE(&cclimber_bigsprite_control)
AM_RANGE(0x9c00, 0x9fff) AM_RAM_WRITE(cclimber_colorram_w) AM_BASE(&cclimber_colorram)
- AM_RANGE(0xa000, 0xa000) AM_READWRITE(input_port_0_r, interrupt_enable_w)
+ AM_RANGE(0xa000, 0xa000) AM_READ_PORT("P2") AM_WRITE(interrupt_enable_w)
AM_RANGE(0xa001, 0xa002) AM_WRITE(SMH_RAM) AM_BASE(&cclimber_flip_screen)
AM_RANGE(0xa003, 0xa003) AM_WRITE(SMH_RAM) AM_BASE(&swimmer_side_background_enabled)
AM_RANGE(0xa004, 0xa004) AM_WRITE(SMH_RAM) AM_BASE(&swimmer_palettebank)
- AM_RANGE(0xa800, 0xa800) AM_READWRITE(input_port_1_r, swimmer_sh_soundlatch_w)
- AM_RANGE(0xb000, 0xb000) AM_READ(input_port_2_r)
- AM_RANGE(0xb800, 0xb800) AM_READWRITE(input_port_3_r, SMH_RAM) AM_BASE(&swimmer_background_color)
- AM_RANGE(0xb880, 0xb880) AM_READ(input_port_4_r)
+ AM_RANGE(0xa800, 0xa800) AM_READ_PORT("P1") AM_WRITE(swimmer_sh_soundlatch_w)
+ AM_RANGE(0xb000, 0xb000) AM_READ_PORT("DSW1")
+ AM_RANGE(0xb800, 0xb800) AM_READ_PORT("DSW2") AM_WRITE(SMH_RAM) AM_BASE(&swimmer_background_color)
+ AM_RANGE(0xb880, 0xb880) AM_READ_PORT("SYSTEM")
AM_RANGE(0xc000, 0xc7ff) AM_RAM /* ??? used by Guzzler */
AM_RANGE(0xe000, 0xffff) AM_ROM /* Guzzler only */
ADDRESS_MAP_END
@@ -343,12 +348,12 @@ static ADDRESS_MAP_START( yamato_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x98dc, 0x98df) AM_RAM AM_BASE(&cclimber_bigsprite_control)
AM_RANGE(0x9800, 0x9bff) AM_RAM /* not used, but initialized */
AM_RANGE(0x9c00, 0x9fff) AM_RAM_WRITE(cclimber_colorram_w) AM_BASE(&cclimber_colorram)
- AM_RANGE(0xa000, 0xa000) AM_READWRITE(input_port_0_r, interrupt_enable_w)
+ AM_RANGE(0xa000, 0xa000) AM_READ_PORT("P1") AM_WRITE(interrupt_enable_w)
AM_RANGE(0xa001, 0xa002) AM_WRITE(SMH_RAM) AM_BASE(&cclimber_flip_screen)
- AM_RANGE(0xa800, 0xa800) AM_READ(input_port_1_r)
- AM_RANGE(0xb000, 0xb000) AM_READ(input_port_2_r)
- AM_RANGE(0xb800, 0xb800) AM_READ(input_port_3_r)
- AM_RANGE(0xba00, 0xba00) AM_READ(input_port_4_r) /* IN3 (maybe a mirror of b800) */
+ AM_RANGE(0xa800, 0xa800) AM_READ_PORT("P2")
+ AM_RANGE(0xb000, 0xb000) AM_READ_PORT("DSW")
+ AM_RANGE(0xb800, 0xb800) AM_READ_PORT("COIN")
+ AM_RANGE(0xba00, 0xba00) AM_READ_PORT("START") /* maybe a mirror of b800 */
ADDRESS_MAP_END
static ADDRESS_MAP_START( toprollr_map, ADDRESS_SPACE_PROGRAM, 8 )
@@ -362,13 +367,13 @@ static ADDRESS_MAP_START( toprollr_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x9880, 0x995f) AM_RAM AM_BASE(&cclimber_spriteram)
AM_RANGE(0x99dc, 0x99df) AM_RAM AM_BASE(&cclimber_bigsprite_control)
AM_RANGE(0x9c00, 0x9fff) AM_RAM AM_BASE(&cclimber_colorram)
- AM_RANGE(0xa000, 0xa000) AM_WRITE(interrupt_enable_w) AM_READ(input_port_0_r)
+ AM_RANGE(0xa000, 0xa000) AM_READ_PORT("P1") AM_WRITE(interrupt_enable_w)
AM_RANGE(0xa001, 0xa002) AM_WRITE(SMH_RAM) AM_BASE(&cclimber_flip_screen)
AM_RANGE(0xa004, 0xa004) AM_WRITE(cclimber_sample_trigger_w)
AM_RANGE(0xa005, 0xa006) AM_WRITE(toprollr_rombank_w)
- AM_RANGE(0xa800, 0xa800) AM_READWRITE(input_port_1_r, cclimber_sample_rate_w)
- AM_RANGE(0xb000, 0xb000) AM_READWRITE(input_port_2_r, cclimber_sample_volume_w)
- AM_RANGE(0xb800, 0xb800) AM_READ(input_port_3_r)
+ AM_RANGE(0xa800, 0xa800) AM_READ_PORT("P2") AM_WRITE(cclimber_sample_rate_w)
+ AM_RANGE(0xb000, 0xb000) AM_READ_PORT("DSW") AM_WRITE(cclimber_sample_volume_w)
+ AM_RANGE(0xb800, 0xb800) AM_READ_PORT("SYSTEM")
AM_RANGE(0xc000, 0xffff) AM_ROM
ADDRESS_MAP_END
@@ -419,137 +424,79 @@ static ADDRESS_MAP_START( yamato_audio_portmap, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_END
-
-#define CCIN0\
- PORT_START_TAG("IN0")\
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_UP ) PORT_8WAY\
- PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_DOWN ) PORT_8WAY\
- PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_LEFT ) PORT_8WAY\
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_RIGHT ) PORT_8WAY\
- PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_UP ) PORT_8WAY\
- PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_DOWN ) PORT_8WAY\
- PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_LEFT ) PORT_8WAY\
+static INPUT_PORTS_START( cclimber )
+ PORT_START_TAG("P1")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_UP ) PORT_8WAY
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_DOWN ) PORT_8WAY
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_LEFT ) PORT_8WAY
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_RIGHT ) PORT_8WAY
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_UP ) PORT_8WAY
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_DOWN ) PORT_8WAY
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_LEFT ) PORT_8WAY
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_RIGHT ) PORT_8WAY
-#define CCIN1\
- PORT_START_TAG("IN1")\
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_UP ) PORT_8WAY PORT_COCKTAIL\
- PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_DOWN ) PORT_8WAY PORT_COCKTAIL\
- PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_LEFT ) PORT_8WAY PORT_COCKTAIL\
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_RIGHT ) PORT_8WAY PORT_COCKTAIL\
- PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_UP ) PORT_8WAY PORT_COCKTAIL\
- PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_DOWN ) PORT_8WAY PORT_COCKTAIL\
- PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_LEFT ) PORT_8WAY PORT_COCKTAIL\
+ PORT_START_TAG("P2")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_UP ) PORT_8WAY PORT_COCKTAIL
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_DOWN ) PORT_8WAY PORT_COCKTAIL
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_LEFT ) PORT_8WAY PORT_COCKTAIL
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_RIGHT ) PORT_8WAY PORT_COCKTAIL
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_UP ) PORT_8WAY PORT_COCKTAIL
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_DOWN ) PORT_8WAY PORT_COCKTAIL
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_LEFT ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_RIGHT ) PORT_8WAY PORT_COCKTAIL
-#define CCIN2\
- PORT_START_TAG("IN2")\
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )\
- PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )\
- PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 )\
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START2 )\
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Cabinet ) )\
- PORT_DIPSETTING( 0x10, DEF_STR( Upright ) )\
- PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )\
- PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_UNUSED )
-
-static INPUT_PORTS_START( cclimber )
- CCIN0
- CCIN1
-
PORT_START_TAG("DSW")
- PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
+ PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW:!1,!2")
PORT_DIPSETTING( 0x00, "3" )
PORT_DIPSETTING( 0x01, "4" )
PORT_DIPSETTING( 0x02, "5" )
PORT_DIPSETTING( 0x03, "6" )
- PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) ) // Look code at 0x03c4 : 0x8076 is never tested !
- PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x04, DEF_STR( On ) )
- PORT_DIPNAME( 0x08, 0x00, "Rack Test (Cheat)" ) PORT_CODE(KEYCODE_F1)
+ PORT_DIPUNKNOWN_DIPLOC( 0x04, 0x00, "SW:!3" ) // Look code at 0x03c4 : 0x8076 is never tested !
+ PORT_DIPNAME( 0x08, 0x00, "Rack Test (Cheat)" ) PORT_CODE(KEYCODE_F1) PORT_DIPLOCATION("SW:!4")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x08, DEF_STR( On ) )
- PORT_DIPNAME( 0x30, 0x00, DEF_STR( Coin_A ) )
+ PORT_DIPNAME( 0x30, 0x00, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW:!5,!6")
PORT_DIPSETTING( 0x30, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x20, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
- PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coin_B ) ) // Also "Bonus Life" due to code at 0x03d4
- PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) // Bonus life : 30000 points
- PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) ) // Bonus life : 50000 points
- PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) ) // Bonus life : 30000 points
- PORT_DIPSETTING( 0xc0, DEF_STR( Free_Play ) ) // Bonus life : 50000 points
-
- CCIN2
+ PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW:!7,!8") // Also "Bonus Life" due to code at 0x03d4
+ PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) // Bonus life : 30000 points
+ PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) ) // Bonus life : 50000 points
+ PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) ) // Bonus life : 30000 points
+ PORT_DIPSETTING( 0xc0, DEF_STR( Free_Play ) ) // Bonus life : 50000 points
+
+ PORT_START_TAG("SYSTEM")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 )
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START2 )
+ PORT_DIPNAME( 0x10, 0x10, DEF_STR( Cabinet ) )
+ PORT_DIPSETTING( 0x10, DEF_STR( Upright ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
+ PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_UNUSED )
INPUT_PORTS_END
/* Same as 'cclimber' but correct "Bonus Life" Dip Switch */
static INPUT_PORTS_START( cclimbrj )
- CCIN0
- CCIN1
+ PORT_INCLUDE( cclimber )
- PORT_START_TAG("DSW")
- PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
- PORT_DIPSETTING( 0x00, "3" )
- PORT_DIPSETTING( 0x01, "4" )
- PORT_DIPSETTING( 0x02, "5" )
- PORT_DIPSETTING( 0x03, "6" )
- PORT_DIPNAME( 0x04, 0x00, DEF_STR( Bonus_Life ) )
+ PORT_MODIFY("DSW")
+ PORT_DIPNAME( 0x04, 0x00, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW:!3")
PORT_DIPSETTING( 0x00, "30000" )
PORT_DIPSETTING( 0x04, "50000" )
- PORT_DIPNAME( 0x08, 0x00, "Rack Test (Cheat)" ) PORT_CODE(KEYCODE_F1)
- PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x08, DEF_STR( On ) )
- PORT_DIPNAME( 0x30, 0x00, DEF_STR( Coin_A ) )
- PORT_DIPSETTING( 0x30, DEF_STR( 4C_1C ) )
- PORT_DIPSETTING( 0x20, DEF_STR( 3C_1C ) )
- PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
- PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coin_B ) )
- PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) )
- PORT_DIPSETTING( 0xc0, DEF_STR( Free_Play ) )
-
- CCIN2
INPUT_PORTS_END
-#define CKONGIN0\
- PORT_START_TAG("IN0")\
- PORT_BIT( 0x07, IP_ACTIVE_HIGH, IPT_UNUSED )\
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 )\
- PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY\
- PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY\
- PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY\
- PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY
-
-#define CKONGIN1\
- PORT_START_TAG("IN1")\
- PORT_BIT( 0x07, IP_ACTIVE_HIGH, IPT_UNUSED )\
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL\
- PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL\
- PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL\
- PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL\
- PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
-
-#define CKONGIN2\
- PORT_START_TAG("IN2")\
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )\
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )\
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START1 )\
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 )\
- PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
-
-static INPUT_PORTS_START( cannonb )
- PORT_START_TAG("IN0")
+static INPUT_PORTS_START( ckong )
+ PORT_START_TAG("P1")
PORT_BIT( 0x07, IP_ACTIVE_HIGH, IPT_UNUSED )
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 )
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY
- PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY
- PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY
- PORT_START_TAG("IN1")
+ PORT_START_TAG("P2")
PORT_BIT( 0x07, IP_ACTIVE_HIGH, IPT_UNUSED )
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
@@ -558,36 +505,6 @@ static INPUT_PORTS_START( cannonb )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
PORT_START_TAG("DSW")
- PORT_DIPNAME( 0x03, 0x03, "Display" )
- PORT_DIPSETTING( 0x03, "Scores and Progession Bars" )
- PORT_DIPSETTING( 0x01, "Scores only" )
- PORT_DIPSETTING( 0x02, "Progession Bars only" )
- PORT_DIPSETTING( 0x00, DEF_STR( None ) )
- PORT_DIPNAME( 0x04, 0x04, DEF_STR( Cabinet ) )
- PORT_DIPSETTING( 0x04, DEF_STR( Upright ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
- PORT_DIPNAME( 0x18, 0x00, DEF_STR( Lives ) )
- PORT_DIPSETTING( 0x00, "3" )
- PORT_DIPSETTING( 0x08, "4" )
- PORT_DIPSETTING( 0x10, "5" )
- PORT_DIPSETTING( 0x18, "6" )
- PORT_DIPUNUSED( 0x20, IP_ACTIVE_LOW )
- PORT_DIPUNUSED( 0x40, IP_ACTIVE_LOW )
- PORT_DIPUNUSED( 0x80, IP_ACTIVE_LOW )
-
- PORT_START_TAG("IN2")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME( "Start" )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 ) PORT_NAME( "Select" )
- PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
-INPUT_PORTS_END
-
-static INPUT_PORTS_START( ckong )
- CKONGIN0
- CKONGIN1
-
- PORT_START_TAG("DSW")
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x00, "3" )
PORT_DIPSETTING( 0x01, "4" )
@@ -611,49 +528,68 @@ static INPUT_PORTS_START( ckong )
PORT_DIPSETTING( 0x80, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
- CKONGIN2
+ PORT_START_TAG("SYSTEM")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START1 )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 )
+ PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
INPUT_PORTS_END
/* Similar to normal Crazy Kong except for the lives per game */
static INPUT_PORTS_START( ckongb )
- CKONGIN0
- CKONGIN1
+ PORT_INCLUDE( ckong )
- PORT_START_TAG("DSW")
+ PORT_MODIFY("DSW")
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x00, "1" )
PORT_DIPSETTING( 0x01, "2" )
PORT_DIPSETTING( 0x02, "3" )
PORT_DIPSETTING( 0x03, "4" )
- PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) )
- PORT_DIPSETTING( 0x00, "7000" )
- PORT_DIPSETTING( 0x04, "10000" )
- PORT_DIPSETTING( 0x08, "15000" )
- PORT_DIPSETTING( 0x0c, "20000" )
- PORT_DIPNAME( 0x70, 0x00, DEF_STR( Coinage ) )
- PORT_DIPSETTING( 0x70, DEF_STR( 5C_1C ) )
- PORT_DIPSETTING( 0x50, DEF_STR( 4C_1C ) )
- PORT_DIPSETTING( 0x30, DEF_STR( 3C_1C ) )
- PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x40, DEF_STR( 1C_3C ) )
- PORT_DIPSETTING( 0x60, DEF_STR( 1C_4C ) )
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Cabinet ) )
- PORT_DIPSETTING( 0x80, DEF_STR( Upright ) )
+INPUT_PORTS_END
+
+static INPUT_PORTS_START( cannonb )
+ PORT_INCLUDE( ckong )
+
+ PORT_MODIFY("P1")
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY
+
+ PORT_MODIFY("P2")
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
+
+ PORT_MODIFY("DSW")
+ PORT_DIPNAME( 0x03, 0x03, "Display" )
+ PORT_DIPSETTING( 0x03, "Scores and Progession Bars" )
+ PORT_DIPSETTING( 0x01, "Scores only" )
+ PORT_DIPSETTING( 0x02, "Progession Bars only" )
+ PORT_DIPSETTING( 0x00, DEF_STR( None ) )
+ PORT_DIPNAME( 0x04, 0x04, DEF_STR( Cabinet ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
+ PORT_DIPNAME( 0x18, 0x00, DEF_STR( Lives ) )
+ PORT_DIPSETTING( 0x00, "3" )
+ PORT_DIPSETTING( 0x08, "4" )
+ PORT_DIPSETTING( 0x10, "5" )
+ PORT_DIPSETTING( 0x18, "6" )
+ PORT_DIPUNUSED( 0x20, IP_ACTIVE_LOW )
+ PORT_DIPUNUSED( 0x40, IP_ACTIVE_LOW )
+ PORT_DIPUNUSED( 0x80, IP_ACTIVE_LOW )
- CKONGIN2
+ PORT_MODIFY("SYSTEM")
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME( "Start" )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 ) PORT_NAME( "Select" )
INPUT_PORTS_END
static INPUT_PORTS_START( rpatrol )
- PORT_START_TAG("IN0")
+ PORT_START_TAG("P1") /* P2 controls but we use cclimber tags */
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
PORT_BIT( 0x3e, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_COCKTAIL
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_COCKTAIL
- PORT_START_TAG("IN1")
+ PORT_START_TAG("P2") /* P1 controls but we use cclimber tags */
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 )
PORT_BIT( 0x3e, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY
@@ -683,7 +619,7 @@ static INPUT_PORTS_START( rpatrol )
PORT_DIPSETTING( 0x00, "Retry on Error" )
PORT_DIPSETTING( 0x80, "Stop on Error" )
- PORT_START_TAG("IN2")
+ PORT_START_TAG("SYSTEM")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 )
@@ -691,111 +627,80 @@ static INPUT_PORTS_START( rpatrol )
PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
INPUT_PORTS_END
-#define SWIMIN0\
- PORT_START_TAG("IN0")\
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL\
- PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL\
- PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL\
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL\
- PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL\
+static INPUT_PORTS_START( swimmer )
+ PORT_START_TAG("P1")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_UNUSED )
-#define SWIMIN1\
- PORT_START_TAG("IN1")\
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY\
- PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY\
- PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY\
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY\
- PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )\
+ PORT_START_TAG("P2")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_UNUSED )
-#define SWIMDSW1\
- PORT_START_TAG("DSW1")\
- PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )\
- PORT_DIPSETTING( 0x00, "3" )\
- PORT_DIPSETTING( 0x01, "4" )\
- PORT_DIPSETTING( 0x02, "5" )\
- PORT_DIPSETTING( 0x03, "Infinite (Cheat)")\
- PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) )\
- PORT_DIPSETTING( 0x00, "10000" )\
- PORT_DIPSETTING( 0x04, "20000" )\
- PORT_DIPSETTING( 0x08, "30000" )\
- PORT_DIPSETTING( 0x0c, DEF_STR( None ) )\
- PORT_DIPNAME( 0x30, 0x00, DEF_STR( Coin_A ) )\
- PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )\
- PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )\
- PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )\
- PORT_DIPSETTING( 0x30, DEF_STR( 1C_3C ) )\
- PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coin_B ) )\
- PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )\
- PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) )\
- PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) )\
+ PORT_START_TAG("DSW1")
+ PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW A:!1,!2")
+ PORT_DIPSETTING( 0x00, "3" )
+ PORT_DIPSETTING( 0x01, "4" )
+ PORT_DIPSETTING( 0x02, "5" )
+ PORT_DIPSETTING( 0x03, "Infinite (Cheat)")
+ PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW A:!3,!4")
+ PORT_DIPSETTING( 0x00, "10000" )
+ PORT_DIPSETTING( 0x04, "20000" )
+ PORT_DIPSETTING( 0x08, "30000" )
+ PORT_DIPSETTING( 0x0c, DEF_STR( None ) )
+ PORT_DIPNAME( 0x30, 0x00, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW A:!5,!6")
+ PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0x30, DEF_STR( 1C_3C ) )
+ PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW A:!7,!8")
+ PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_6C ) )
-#define SWIMIN4\
- PORT_START_TAG("IN4")\
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )\
- PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )\
- PORT_BIT( 0xfc, IP_ACTIVE_HIGH, IPT_UNUSED )
-
-static INPUT_PORTS_START( swimmer )
- SWIMIN0
- SWIMIN1
- SWIMDSW1
-
- PORT_START_TAG("IN3") /* DSW2 */
+ PORT_START_TAG("DSW2")
PORT_BIT( 0x03, IP_ACTIVE_HIGH, IPT_UNUSED )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 )
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START2 )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Cabinet ) )
+ PORT_DIPNAME( 0x10, 0x10, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW B:!1")
PORT_DIPSETTING( 0x10, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Demo_Sounds ) )
+ PORT_DIPNAME( 0x20, 0x20, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW B:!2")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x20, DEF_STR( On ) )
- PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Difficulty ) )
+ PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW B:!3,!4")
PORT_DIPSETTING( 0x00, DEF_STR( Easy ) ) // labeled this way for similarities with 'swimmerb'
PORT_DIPSETTING( 0x40, DEF_STR( Hard ) ) // labeled this way for similarities with 'swimmerb'
PORT_DIPSETTING( 0x80, DEF_STR( Harder ) )
PORT_DIPSETTING( 0xc0, DEF_STR( Hardest ) )
- SWIMIN4
+ PORT_START_TAG("SYSTEM")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
+ PORT_BIT( 0xfc, IP_ACTIVE_HIGH, IPT_UNUSED )
INPUT_PORTS_END
/* Same as 'swimmer' but different "Difficulty" Dip Switch */
static INPUT_PORTS_START( swimmerb )
- SWIMIN0
- SWIMIN1
- SWIMDSW1
+ PORT_INCLUDE( swimmer )
- PORT_START_TAG("IN3") /* DSW2 */
- PORT_BIT( 0x03, IP_ACTIVE_HIGH, IPT_UNUSED )
- PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START2 )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Cabinet ) )
- PORT_DIPSETTING( 0x10, DEF_STR( Upright ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Demo_Sounds ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x20, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty ) )
+ PORT_MODIFY("DSW2")
+ PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW B:!3")
PORT_DIPSETTING( 0x00, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x40, DEF_STR( Hard ) )
- PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED )
-
- SWIMIN4
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) // SW B:!4
INPUT_PORTS_END
static INPUT_PORTS_START( guzzler )
- PORT_START_TAG("IN0")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
- PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
- PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
- PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
- PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_UNUSED )
-
- PORT_START_TAG("IN1")
+ PORT_START_TAG("P1")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY
@@ -803,43 +708,51 @@ static INPUT_PORTS_START( guzzler )
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_UNUSED )
- PORT_START_TAG("DSW0")
- PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
+ PORT_START_TAG("P2")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
+ PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_UNUSED )
+
+ PORT_START_TAG("DSW1")
+ PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW A:!1,!2")
PORT_DIPSETTING( 0x00, "3" )
PORT_DIPSETTING( 0x01, "4" )
PORT_DIPSETTING( 0x02, "5" )
PORT_DIPSETTING( 0x03, "Infinite (Cheat)")
- PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) )
+ PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW A:!3,!4")
PORT_DIPSETTING( 0x04, "20K, every 50K" )
PORT_DIPSETTING( 0x00, "30K, every 100K" )
PORT_DIPSETTING( 0x08, "30K only" )
PORT_DIPSETTING( 0x0c, DEF_STR( None ) )
- PORT_DIPNAME( 0x30, 0x00, DEF_STR( Coin_A ) )
+ PORT_DIPNAME( 0x30, 0x00, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW A:!5,!6")
PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x30, DEF_STR( 1C_3C ) )
- PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coin_B ) )
+ PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW A:!7,!8")
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_6C ) )
- PORT_START_TAG("DSW1")
+ PORT_START_TAG("DSW2")
PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_UNUSED )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Cabinet ) )
+ PORT_DIPNAME( 0x10, 0x10, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW B:!1")
PORT_DIPSETTING( 0x10, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
- PORT_DIPNAME( 0x20, 0x00, "High Score Names" )
+ PORT_DIPNAME( 0x20, 0x00, "High Score Names" ) PORT_DIPLOCATION("SW B:!2")
PORT_DIPSETTING( 0x20, "3 Letters" )
PORT_DIPSETTING( 0x00, "10 Letters" )
- PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Difficulty ) )
+ PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW B:!3,!4")
PORT_DIPSETTING( 0x00, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x40, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x80, DEF_STR( Hard ) )
PORT_DIPSETTING( 0xc0, DEF_STR( Hardest ) )
- PORT_START_TAG("IN2")
+ PORT_START_TAG("SYSTEM")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_IMPULSE(2)
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_IMPULSE(2)
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 )
@@ -848,7 +761,7 @@ static INPUT_PORTS_START( guzzler )
INPUT_PORTS_END
static INPUT_PORTS_START( yamato )
- PORT_START
+ PORT_START_TAG("P1")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 )
@@ -858,7 +771,7 @@ static INPUT_PORTS_START( yamato )
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY
- PORT_START
+ PORT_START_TAG("P2")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
@@ -868,7 +781,7 @@ static INPUT_PORTS_START( yamato )
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
- PORT_START
+ PORT_START_TAG("DSW")
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x00, "3" )
PORT_DIPSETTING( 0x01, "4" )
@@ -893,7 +806,7 @@ static INPUT_PORTS_START( yamato )
PORT_DIPSETTING( 0x80, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
- PORT_START
+ PORT_START_TAG("COIN")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN2 ) /* set 1 only */
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN1 )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN )
@@ -903,7 +816,7 @@ static INPUT_PORTS_START( yamato )
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_START /* IN3 */
+ PORT_START_TAG("START")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 )
@@ -915,21 +828,21 @@ static INPUT_PORTS_START( yamato )
INPUT_PORTS_END
static INPUT_PORTS_START( toprollr )
- PORT_START
+ PORT_START_TAG("P1")
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 )
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY
- PORT_START
+ PORT_START_TAG("P2")
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
- PORT_START
+ PORT_START_TAG("DSW")
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x00, "3" )
PORT_DIPSETTING( 0x01, "4" )
@@ -954,7 +867,7 @@ static INPUT_PORTS_START( toprollr )
PORT_DIPSETTING( 0x80, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
- PORT_START
+ PORT_START_TAG("SYSTEM")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START1 )
diff --git a/src/mame/drivers/centiped.c b/src/mame/drivers/centiped.c
index 1c6070f351f..1bf11d6b096 100644
--- a/src/mame/drivers/centiped.c
+++ b/src/mame/drivers/centiped.c
@@ -859,164 +859,153 @@ ADDRESS_MAP_END
/* The input ports are identical for the real one and the bootleg one, except
that one of the languages is Italian in the bootleg one instead of Spanish */
-#define PORTS(GAMENAME, FOURTH_LANGUAGE) \
- \
-static INPUT_PORTS_START( GAMENAME ) \
- PORT_START_TAG("IN0") /* IN0 */ \
- PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* trackball data */ \
- PORT_DIPNAME( 0x10, 0x00, DEF_STR( Cabinet )) \
- PORT_DIPSETTING( 0x00, DEF_STR( Upright )) \
- PORT_DIPSETTING( 0x10, DEF_STR( Cocktail )) \
- PORT_SERVICE( 0x20, IP_ACTIVE_LOW ) \
- PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_VBLANK ) \
- PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* trackball sign bit */ \
- \
- PORT_START_TAG("IN1") /* IN1 */ \
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 ) \
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 ) \
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) \
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL \
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_TILT ) \
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) \
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 ) \
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1 ) \
- \
- PORT_START_TAG("IN2") /* IN2 */ \
- PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* trackball data */ \
- PORT_BIT( 0x70, IP_ACTIVE_HIGH, IPT_UNKNOWN ) \
- PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* trackball sign bit */ \
- \
- PORT_START_TAG("IN3") /* IN3 */ \
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL \
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL \
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL \
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL \
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY \
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY \
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY \
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY \
- \
- PORT_START_TAG("DSW1") /* IN4 */ \
- PORT_DIPNAME( 0x03, 0x00, DEF_STR( Language ) ) PORT_DIPLOCATION("N9:1,2") \
- PORT_DIPSETTING( 0x00, DEF_STR( English ) ) \
- PORT_DIPSETTING( 0x01, DEF_STR( German ) ) \
- PORT_DIPSETTING( 0x02, DEF_STR( French ) ) \
- PORT_DIPSETTING( 0x03, FOURTH_LANGUAGE ) \
- PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Lives )) PORT_DIPLOCATION("N9:3,4") \
- PORT_DIPSETTING( 0x00, "2" ) \
- PORT_DIPSETTING( 0x04, "3" ) \
- PORT_DIPSETTING( 0x08, "4" ) \
- PORT_DIPSETTING( 0x0c, "5" ) \
- PORT_DIPNAME( 0x30, 0x10, DEF_STR( Bonus_Life )) PORT_DIPLOCATION("N9:5,6")\
- PORT_DIPSETTING( 0x00, "10000" ) \
- PORT_DIPSETTING( 0x10, "12000" ) \
- PORT_DIPSETTING( 0x20, "15000" ) \
- PORT_DIPSETTING( 0x30, "20000" ) \
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty )) PORT_DIPLOCATION("N9:7") \
- PORT_DIPSETTING( 0x40, DEF_STR( Easy ) ) \
- PORT_DIPSETTING( 0x00, DEF_STR( Hard ) ) \
- PORT_DIPNAME( 0x80, 0x00, "Credit Minimum" ) PORT_DIPLOCATION("N9:8") \
- PORT_DIPSETTING( 0x00, "1" ) \
- PORT_DIPSETTING( 0x80, "2" ) \
- \
- PORT_START_TAG("DSW2") /* IN5 */ \
- PORT_DIPNAME( 0x03, 0x02, DEF_STR( Coinage )) PORT_DIPLOCATION("N8:1,2") \
- PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C )) \
- PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C )) \
- PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C )) \
- PORT_DIPSETTING( 0x00, DEF_STR( Free_Play )) \
- PORT_DIPNAME( 0x0c, 0x00, "Right Coin" ) PORT_DIPLOCATION("N8:3,4") \
- PORT_DIPSETTING( 0x00, "*1" ) \
- PORT_DIPSETTING( 0x04, "*4" ) \
- PORT_DIPSETTING( 0x08, "*5" ) \
- PORT_DIPSETTING( 0x0c, "*6" ) \
- PORT_DIPNAME( 0x10, 0x00, "Left Coin" ) PORT_DIPLOCATION("N8:5") \
- PORT_DIPSETTING( 0x00, "*1" ) \
- PORT_DIPSETTING( 0x10, "*2" ) \
- PORT_DIPNAME( 0xe0, 0x00, "Bonus Coins" ) PORT_DIPLOCATION("N8:6,7,8") \
- PORT_DIPSETTING( 0x00, DEF_STR( None ) ) \
- PORT_DIPSETTING( 0x20, "3 credits/2 coins" ) \
- PORT_DIPSETTING( 0x40, "5 credits/4 coins" ) \
- PORT_DIPSETTING( 0x60, "6 credits/4 coins" ) \
- PORT_DIPSETTING( 0x80, "6 credits/5 coins" ) \
- PORT_DIPSETTING( 0xa0, "4 credits/3 coins" ) \
- \
- PORT_START_TAG("TRACK0_X") /* IN6, fake trackball input port. */ \
- PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_REVERSE \
- \
- PORT_START_TAG("TRACK0_Y") /* IN7, fake trackball input port. */ \
- PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) \
- \
- PORT_START_TAG("TRACK1_X") /* IN8, fake trackball input port. */ \
- PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_COCKTAIL \
- \
- PORT_START_TAG("TRACK1_Y") /* IN9, fake trackball input port. */ \
- PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_REVERSE PORT_COCKTAIL \
-INPUT_PORTS_END
-
-PORTS(centiped, DEF_STR( Spanish ))
-PORTS(caterplr, DEF_STR( Italian ))
-
-
-static INPUT_PORTS_START( centtime )
- PORT_START_TAG("IN0") /* IN0 */
+static INPUT_PORTS_START( centiped )
+ PORT_START_TAG("IN0")
PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* trackball data */
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_DIPNAME( 0x10, 0x00, DEF_STR( Cabinet ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
+ PORT_DIPSETTING( 0x10, DEF_STR( Cocktail ) )
PORT_SERVICE( 0x20, IP_ACTIVE_LOW )
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_VBLANK )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* trackball sign bit */
- PORT_START_TAG("IN1") /* IN1 */
+ PORT_START_TAG("IN1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_TILT )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1 )
- PORT_START_TAG("IN2") /* IN2 */
+ PORT_START_TAG("IN2")
PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* trackball data */
PORT_BIT( 0x70, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* trackball sign bit */
- PORT_START_TAG("IN3") /* IN3 */
- PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_START_TAG("IN3")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
- PORT_START_TAG("DSW1") /* IN4 */
+ PORT_START_TAG("DSW1")
+ PORT_DIPNAME( 0x03, 0x00, DEF_STR( Language ) ) PORT_DIPLOCATION("N9:1,2")
+ PORT_DIPSETTING( 0x00, DEF_STR( English ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( German ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( French ) )
+ PORT_DIPSETTING( 0x03, DEF_STR( Spanish ) )
+ PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Lives ) ) PORT_DIPLOCATION("N9:3,4")
+ PORT_DIPSETTING( 0x00, "2" )
+ PORT_DIPSETTING( 0x04, "3" )
+ PORT_DIPSETTING( 0x08, "4" )
+ PORT_DIPSETTING( 0x0c, "5" )
+ PORT_DIPNAME( 0x30, 0x10, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("N9:5,6")
+ PORT_DIPSETTING( 0x00, "10000" )
+ PORT_DIPSETTING( 0x10, "12000" )
+ PORT_DIPSETTING( 0x20, "15000" )
+ PORT_DIPSETTING( 0x30, "20000" )
+ PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("N9:7")
+ PORT_DIPSETTING( 0x40, DEF_STR( Easy ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Hard ) )
+ PORT_DIPNAME( 0x80, 0x00, "Credit Minimum" ) PORT_DIPLOCATION("N9:8")
+ PORT_DIPSETTING( 0x00, "1" )
+ PORT_DIPSETTING( 0x80, "2" )
+
+ PORT_START_TAG("DSW2")
+ PORT_DIPNAME( 0x03, 0x02, DEF_STR( Coinage ) ) PORT_DIPLOCATION("N8:1,2")
+ PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
+ PORT_DIPNAME( 0x0c, 0x00, "Right Coin" ) PORT_DIPLOCATION("N8:3,4")
+ PORT_DIPSETTING( 0x00, "*1" )
+ PORT_DIPSETTING( 0x04, "*4" )
+ PORT_DIPSETTING( 0x08, "*5" )
+ PORT_DIPSETTING( 0x0c, "*6" )
+ PORT_DIPNAME( 0x10, 0x00, "Left Coin" ) PORT_DIPLOCATION("N8:5")
+ PORT_DIPSETTING( 0x00, "*1" )
+ PORT_DIPSETTING( 0x10, "*2" )
+ PORT_DIPNAME( 0xe0, 0x00, "Bonus Coins" ) PORT_DIPLOCATION("N8:6,7,8") \
+ PORT_DIPSETTING( 0x00, DEF_STR( None ) )
+ PORT_DIPSETTING( 0x20, "3 credits/2 coins" )
+ PORT_DIPSETTING( 0x40, "5 credits/4 coins" )
+ PORT_DIPSETTING( 0x60, "6 credits/4 coins" )
+ PORT_DIPSETTING( 0x80, "6 credits/5 coins" )
+ PORT_DIPSETTING( 0xa0, "4 credits/3 coins" )
+
+ PORT_START_TAG("TRACK0_X") /* IN6, fake trackball input port. */
+ PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_REVERSE
+
+ PORT_START_TAG("TRACK0_Y") /* IN7, fake trackball input port. */
+ PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10)
+
+ PORT_START_TAG("TRACK1_X") /* IN8, fake trackball input port. */
+ PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_COCKTAIL
+
+ PORT_START_TAG("TRACK1_Y") /* IN9, fake trackball input port. */
+ PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_REVERSE PORT_COCKTAIL
+INPUT_PORTS_END
+
+static INPUT_PORTS_START( caterplr )
+ PORT_INCLUDE( centiped )
+
+ PORT_MODIFY("DSW1")
+ PORT_DIPNAME( 0x03, 0x00, DEF_STR( Language ) ) PORT_DIPLOCATION("N9:1,2")
+ PORT_DIPSETTING( 0x00, DEF_STR( English ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( German ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( French ) )
+ PORT_DIPSETTING( 0x03, DEF_STR( Italian ) )
+INPUT_PORTS_END
+
+
+static INPUT_PORTS_START( centtime )
+ PORT_INCLUDE( centiped )
+
+ PORT_MODIFY("IN0")
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_MODIFY("IN1")
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_MODIFY("IN3")
+ PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_MODIFY("DSW1")
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Language ) ) PORT_DIPLOCATION("SW1:1,2")
PORT_DIPSETTING( 0x00, DEF_STR( English ) )
PORT_DIPSETTING( 0x01, DEF_STR( German ) )
PORT_DIPSETTING( 0x02, DEF_STR( French ) )
PORT_DIPSETTING( 0x03, DEF_STR( Spanish ) )
- PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Lives )) PORT_DIPLOCATION("SW1:3,4")
+ PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:3,4")
PORT_DIPSETTING( 0x00, "2" )
PORT_DIPSETTING( 0x04, "3" )
PORT_DIPSETTING( 0x08, "4" )
PORT_DIPSETTING( 0x0c, "5" )
- PORT_DIPNAME( 0x30, 0x10, DEF_STR( Bonus_Life )) PORT_DIPLOCATION("SW1:5,6")
+ PORT_DIPNAME( 0x30, 0x10, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:5,6")
PORT_DIPSETTING( 0x00, "10000" )
PORT_DIPSETTING( 0x10, "12000" )
PORT_DIPSETTING( 0x20, "15000" )
PORT_DIPSETTING( 0x30, "20000" )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty )) PORT_DIPLOCATION("SW1:7")
+ PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:7")
PORT_DIPSETTING( 0x40, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hard ) )
PORT_DIPNAME( 0x80, 0x00, "Credit Minimum" ) PORT_DIPLOCATION("SW1:8")
PORT_DIPSETTING( 0x00, "1" )
PORT_DIPSETTING( 0x80, "2" )
- PORT_START_TAG("DSW2") /* IN5 */
- PORT_DIPNAME( 0x03, 0x02, DEF_STR( Coinage )) PORT_DIPLOCATION("SW2:1,2")
- PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C ))
- PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ))
- PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ))
- PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ))
+ PORT_MODIFY("DSW2")
+ PORT_DIPNAME( 0x03, 0x02, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW2:1,2")
+ PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
PORT_DIPNAME( 0x1c, 0x00, DEF_STR( Game_Time ) ) PORT_DIPLOCATION("SW2:3,4,5")
PORT_DIPSETTING( 0x00, "Untimed" )
PORT_DIPSETTING( 0x04, "1 Minute" )
@@ -1034,54 +1023,30 @@ static INPUT_PORTS_START( centtime )
PORT_DIPSETTING( 0x80, "6 credits/5 coins" )
PORT_DIPSETTING( 0xa0, "4 credits/3 coins" )
- PORT_START_TAG("TRACK0_X") /* IN6, fake trackball input port. */
- PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_REVERSE
-
- PORT_START_TAG("TRACK0_Y") /* IN7, fake trackball input port. */
- PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10)
-
- PORT_START_TAG("TRACK1_X") /* IN8, place for cocktail trackball (not used) */
+ PORT_MODIFY("TRACK1_X") /* IN8, place for cocktail trackball (not used) */
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START_TAG("TRACK1_Y") /* IN9, place for cocktail trackball (not used) */
+ PORT_MODIFY("TRACK1_Y") /* IN9, place for cocktail trackball (not used) */
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
INPUT_PORTS_END
static INPUT_PORTS_START( magworm )
- PORT_START_TAG("IN0") /* IN0 */
- PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* trackball data */
- PORT_DIPNAME( 0x10, 0x00, DEF_STR( Cabinet ))
- PORT_DIPSETTING( 0x00, DEF_STR( Upright ))
- PORT_DIPSETTING( 0x10, DEF_STR( Cocktail ))
- PORT_SERVICE( 0x20, IP_ACTIVE_LOW )
- PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_VBLANK )
- PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* trackball sign bit */
+ PORT_INCLUDE( centiped )
- PORT_START_TAG("IN1") /* IN1 */
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_TILT )
+ PORT_MODIFY("IN1")
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1 )
-
- PORT_START_TAG("IN2") /* IN2 */
- PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* trackball data */
- PORT_BIT( 0x70, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* trackball sign bit */
- PORT_START_TAG("IN3") /* IN3 */
+ PORT_MODIFY("IN3")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START_TAG("DSW1") /* IN4 */
- PORT_DIPNAME( 0x03, 0x02, DEF_STR( Coinage )) PORT_DIPLOCATION("SW1:1,2")
- PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C ))
- PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ))
- PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ))
- PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ))
+ PORT_MODIFY("DSW1")
+ PORT_DIPNAME( 0x03, 0x02, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:1,2")
+ PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
PORT_DIPNAME( 0x0c, 0x00, "Right Coin" ) PORT_DIPLOCATION("SW1:3,4")
PORT_DIPSETTING( 0x00, "*3" )
PORT_DIPSETTING( 0x04, "*7" )
@@ -1092,13 +1057,13 @@ static INPUT_PORTS_START( magworm )
PORT_DIPSETTING( 0x10, DEF_STR( German ) )
PORT_DIPSETTING( 0x20, DEF_STR( French ) )
PORT_DIPSETTING( 0x30, DEF_STR( Spanish ) )
- PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Lives )) PORT_DIPLOCATION("SW1:7,8")
+ PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:7,8")
PORT_DIPSETTING( 0x00, "2" )
PORT_DIPSETTING( 0x40, "3" )
PORT_DIPSETTING( 0x80, "4" )
PORT_DIPSETTING( 0xc0, "5" )
- PORT_START_TAG("DSW2") /* IN5 */
+ PORT_MODIFY("DSW2")
PORT_DIPNAME( 0x01, 0x00, "Left Coin" ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x00, "*1" )
PORT_DIPSETTING( 0x01, "*2" )
@@ -1109,34 +1074,22 @@ static INPUT_PORTS_START( magworm )
PORT_DIPSETTING( 0x06, "6 credits/4 coins" )
PORT_DIPSETTING( 0x08, "6 credits/5 coins" )
PORT_DIPSETTING( 0x0a, "4 credits/3 coins" )
- PORT_DIPNAME( 0x30, 0x10, DEF_STR( Bonus_Life )) PORT_DIPLOCATION("SW2:5,6")
+ PORT_DIPNAME( 0x30, 0x10, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:5,6")
PORT_DIPSETTING( 0x00, "10000" )
PORT_DIPSETTING( 0x10, "12000" )
PORT_DIPSETTING( 0x20, "15000" )
PORT_DIPSETTING( 0x30, "20000" )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty )) PORT_DIPLOCATION("SW2:7")
+ PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:7")
PORT_DIPSETTING( 0x40, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hard ) )
PORT_DIPNAME( 0x80, 0x00, "Credit Minimum" ) PORT_DIPLOCATION("SW2:8")
PORT_DIPSETTING( 0x00, "1" )
PORT_DIPSETTING( 0x80, "2" )
-
- PORT_START_TAG("TRACK0_X") /* IN6, fake trackball input port. */
- PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_REVERSE
-
- PORT_START_TAG("TRACK0_Y") /* IN7, fake trackball input port. */
- PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10)
-
- PORT_START_TAG("TRACK1_X") /* IN8, fake trackball input port. */
- PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_COCKTAIL
-
- PORT_START_TAG("TRACK1_Y") /* IN9, fake trackball input port. */
- PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_REVERSE PORT_COCKTAIL
INPUT_PORTS_END
static INPUT_PORTS_START( milliped )
- PORT_START_TAG("IN0") /* IN0 $2000 */ /* see port 6 for x trackball */
+ PORT_START_TAG("IN0") /* $2000 */ /* see port 6 for x trackball */
PORT_DIPNAME(0x03, 0x00, DEF_STR( Language ) ) PORT_DIPLOCATION("P8:1,2")
PORT_DIPSETTING( 0x00, DEF_STR( English ) )
PORT_DIPSETTING( 0x01, DEF_STR( German ) )
@@ -1147,62 +1100,62 @@ static INPUT_PORTS_START( milliped )
PORT_DIPSETTING( 0x04, "0 1x" )
PORT_DIPSETTING( 0x08, "0 1x 2x" )
PORT_DIPSETTING( 0x0c, "0 1x 2x 3x" )
- PORT_BIT ( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
- PORT_BIT ( 0x20, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT ( 0x40, IP_ACTIVE_HIGH, IPT_VBLANK )
- PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* trackball sign bit */
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 )
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_VBLANK )
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* trackball sign bit */
- PORT_START_TAG("IN1") /* IN1 $2001 */ /* see port 7 for y trackball */
+ PORT_START_TAG("IN1") /* $2001 */ /* see port 7 for y trackball */
/* these bits are unused */
- PORT_BIT ( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT ( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_DIPNAME(0x04, 0x00, "Credit Minimum" ) PORT_DIPLOCATION("P8:7")
PORT_DIPSETTING( 0x00, "1" )
PORT_DIPSETTING( 0x04, "2" )
PORT_DIPNAME(0x08, 0x00, "Coin Counters" ) PORT_DIPLOCATION("P8:8")
PORT_DIPSETTING( 0x00, "1" )
PORT_DIPSETTING( 0x08, "2" )
- PORT_BIT ( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
- PORT_BIT ( 0x20, IP_ACTIVE_LOW, IPT_START2 )
- PORT_BIT ( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* trackball sign bit */
-
- PORT_START_TAG("IN2") /* IN2 $2010 */
- 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_TILT )
- PORT_BIT ( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT ( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1 )
-
- PORT_START_TAG("IN3") /* IN3 $2011 */
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* trackball sign bit */
+
+ PORT_START_TAG("IN2") /* $2010 */
+ 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_TILT )
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1 )
+
+ PORT_START_TAG("IN3") /* $2011 */
/* Note, joystick X input for player 2 are bad in software */
- 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_UNKNOWN )
- PORT_DIPNAME(0x20, 0x20, DEF_STR( Cabinet ))
- PORT_DIPSETTING( 0x20, DEF_STR( Upright ))
- PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ))
- PORT_BIT ( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ 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_UNKNOWN )
+ PORT_DIPNAME(0x20, 0x20, DEF_STR( Cabinet ) )
+ PORT_DIPSETTING( 0x20, DEF_STR( Upright ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
- PORT_START_TAG("DSW1") /* 4 */ /* DSW1 $0408 */
+ PORT_START_TAG("DSW1") /* $0408 */
PORT_DIPNAME(0x01, 0x00, "Millipede Head" ) PORT_DIPLOCATION("D5:1")
PORT_DIPSETTING( 0x00, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x01, DEF_STR( Hard ) )
PORT_DIPNAME(0x02, 0x00, "Beetle" ) PORT_DIPLOCATION("D5:2")
PORT_DIPSETTING( 0x00, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x02, DEF_STR( Hard ) )
- PORT_DIPNAME(0x0c, 0x04, DEF_STR( Lives )) PORT_DIPLOCATION("D5:3,4")
+ PORT_DIPNAME(0x0c, 0x04, DEF_STR( Lives ) ) PORT_DIPLOCATION("D5:3,4")
PORT_DIPSETTING( 0x00, "2" )
PORT_DIPSETTING( 0x04, "3" )
PORT_DIPSETTING( 0x08, "4" )
PORT_DIPSETTING( 0x0c, "5" )
- PORT_DIPNAME(0x30, 0x10, DEF_STR( Bonus_Life )) PORT_DIPLOCATION("D5:5,6")
+ PORT_DIPNAME(0x30, 0x10, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("D5:5,6")
PORT_DIPSETTING( 0x00, "12000" )
PORT_DIPSETTING( 0x10, "15000" )
PORT_DIPSETTING( 0x20, "20000" )
@@ -1211,15 +1164,15 @@ static INPUT_PORTS_START( milliped )
PORT_DIPSETTING( 0x00, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x40, DEF_STR( Hard ) )
PORT_DIPNAME(0x80, 0x00, "Starting Score Select" ) PORT_DIPLOCATION("D5:8")
- PORT_DIPSETTING( 0x80, DEF_STR( Off ))
- PORT_DIPSETTING( 0x00, DEF_STR( On ))
-
- PORT_START_TAG("DSW2") /* 5 */ /* DSW2 $0808 */
- PORT_DIPNAME(0x03, 0x02, DEF_STR( Coinage )) PORT_DIPLOCATION("B5:1,2")
- PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C ))
- PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ))
- PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ))
- PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ))
+ PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+
+ PORT_START_TAG("DSW2") /* $0808 */
+ PORT_DIPNAME(0x03, 0x02, DEF_STR( Coinage ) ) PORT_DIPLOCATION("B5:1,2")
+ PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
PORT_DIPNAME(0x0c, 0x00, "Right Coin" ) PORT_DIPLOCATION("B5:3,4")
PORT_DIPSETTING( 0x00, "*1" )
PORT_DIPSETTING( 0x04, "*4" )
@@ -1252,18 +1205,18 @@ INPUT_PORTS_END
static INPUT_PORTS_START( warlords )
- PORT_START_TAG("IN0") /* IN0 */
+ PORT_START_TAG("IN0")
PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_UNUSED )
PORT_DIPNAME( 0x10, 0x00, "Diag Step" ) /* Not referenced */
- PORT_DIPSETTING( 0x00, DEF_STR( Off ))
- PORT_DIPSETTING( 0x10, DEF_STR( On ))
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x10, DEF_STR( On ) )
PORT_SERVICE( 0x20, IP_ACTIVE_LOW )
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_VBLANK )
- PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ))
+ PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) )
PORT_DIPSETTING( 0x80, "Upright (overlay)" )
PORT_DIPSETTING( 0x00, "Cocktail (no overlay)" )
- PORT_START_TAG("IN1") /* IN1 */
+ PORT_START_TAG("IN1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3)
@@ -1273,7 +1226,7 @@ static INPUT_PORTS_START( warlords )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1 )
- PORT_START_TAG("DSW1") /* IN2 */
+ PORT_START_TAG("DSW1")
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Language ) ) PORT_DIPLOCATION("J2:1,2")
PORT_DIPSETTING( 0x00, DEF_STR( English ) )
PORT_DIPSETTING( 0x01, DEF_STR( French ) )
@@ -1288,12 +1241,12 @@ static INPUT_PORTS_START( warlords )
PORT_DIPSETTING( 0x10, "1p = 1, 2p = 2" )
PORT_DIPSETTING( 0x20, "1p/2p = 2 credits" )
- PORT_START_TAG("DSW2") /* IN3 */
- PORT_DIPNAME( 0x03, 0x02, DEF_STR( Coinage )) PORT_DIPLOCATION("M2:1,2")
- PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C ))
- PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ))
- PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ))
- PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ))
+ PORT_START_TAG("DSW2")
+ PORT_DIPNAME( 0x03, 0x02, DEF_STR( Coinage ) ) PORT_DIPLOCATION("M2:1,2")
+ PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
PORT_DIPNAME( 0x0c, 0x00, "Right Coin" ) PORT_DIPLOCATION("M2:3,4")
PORT_DIPSETTING( 0x00, "*1" )
PORT_DIPSETTING( 0x04, "*4" )
@@ -1325,33 +1278,33 @@ INPUT_PORTS_END
static INPUT_PORTS_START( mazeinv )
- PORT_START_TAG("IN0") /* IN0 */
- PORT_DIPNAME( 0x03, 0x00, DEF_STR( Language ))
- PORT_DIPSETTING( 0x00, DEF_STR( English ))
- PORT_DIPSETTING( 0x01, DEF_STR( German ))
- PORT_DIPSETTING( 0x02, DEF_STR( French ))
- PORT_DIPSETTING( 0x03, DEF_STR( Spanish ))
- PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ))
- PORT_DIPSETTING( 0x00, DEF_STR( Off ))
- PORT_DIPSETTING( 0x04, DEF_STR( On ))
- PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ))
- PORT_DIPSETTING( 0x00, DEF_STR( Off ))
- PORT_DIPSETTING( 0x08, DEF_STR( On ))
- PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ))
- PORT_DIPSETTING( 0x00, DEF_STR( Off ))
- PORT_DIPSETTING( 0x10, DEF_STR( On ))
- PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ))
- PORT_DIPSETTING( 0x00, DEF_STR( Off ))
- PORT_DIPSETTING( 0x20, DEF_STR( On ))
+ PORT_START_TAG("IN0")
+ PORT_DIPNAME( 0x03, 0x00, DEF_STR( Language ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( English ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( German ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( French ) )
+ PORT_DIPSETTING( 0x03, DEF_STR( Spanish ) )
+ PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( On ) )
+ PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( On ) )
+ PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x10, DEF_STR( On ) )
+ PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x20, DEF_STR( On ) )
PORT_DIPNAME( 0x40, 0x00, "Minimum credits" )
PORT_DIPSETTING( 0x00, "1" )
PORT_DIPSETTING( 0x40, "2" )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_VBLANK )
- PORT_START_TAG("IN1") /* IN1 */
+ PORT_START_TAG("IN1")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START_TAG("IN2") /* IN2 */
+ PORT_START_TAG("IN2")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 )
@@ -1361,7 +1314,7 @@ static INPUT_PORTS_START( mazeinv )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON4 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_START_TAG("IN3") /* IN3 */
+ PORT_START_TAG("IN3")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
@@ -1371,13 +1324,13 @@ static INPUT_PORTS_START( mazeinv )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2)
PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
- PORT_START_TAG("DSW1") /* IN4 */
+ PORT_START_TAG("DSW1")
PORT_DIPNAME( 0x03, 0x00, "Doors for bonus" )
PORT_DIPSETTING( 0x00, "10" )
PORT_DIPSETTING( 0x01, "12" )
PORT_DIPSETTING( 0x02, "14" )
PORT_DIPSETTING( 0x03, "16" )
- PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Lives ))
+ PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x00, "2" )
PORT_DIPSETTING( 0x04, "3" )
PORT_DIPSETTING( 0x08, "4" )
@@ -1387,18 +1340,18 @@ static INPUT_PORTS_START( mazeinv )
PORT_DIPSETTING( 0x10, "25000" )
PORT_DIPSETTING( 0x20, "30000" )
PORT_DIPSETTING( 0x30, "Never" )
- PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Difficulty ))
- PORT_DIPSETTING( 0x00, DEF_STR( Easier ))
- PORT_DIPSETTING( 0x40, DEF_STR( Easy ))
- PORT_DIPSETTING( 0x80, DEF_STR( Hard ))
- PORT_DIPSETTING( 0xc0, DEF_STR( Harder ))
-
- PORT_START_TAG("DSW2") /* IN5 */
- PORT_DIPNAME( 0x03, 0x02, DEF_STR( Coinage ))
- PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C ))
- PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ))
- PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ))
- PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ))
+ PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Difficulty ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Easier ) )
+ PORT_DIPSETTING( 0x40, DEF_STR( Easy ) )
+ PORT_DIPSETTING( 0x80, DEF_STR( Hard ) )
+ PORT_DIPSETTING( 0xc0, DEF_STR( Harder ) )
+
+ PORT_START_TAG("DSW2")
+ PORT_DIPNAME( 0x03, 0x02, DEF_STR( Coinage ) )
+ PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
PORT_DIPNAME( 0x0c, 0x00, "Right Coin" )
PORT_DIPSETTING( 0x00, "*1" )
PORT_DIPSETTING( 0x04, "*4" )
@@ -1408,7 +1361,7 @@ static INPUT_PORTS_START( mazeinv )
PORT_DIPSETTING( 0x00, "*1" )
PORT_DIPSETTING( 0x10, "*2" )
PORT_DIPNAME( 0xe0, 0x00, "Bonus Coins" )
- PORT_DIPSETTING( 0x00, DEF_STR( None ))
+ PORT_DIPSETTING( 0x00, DEF_STR( None ) )
PORT_DIPSETTING( 0x20, "3 credits/2 coins" )
PORT_DIPSETTING( 0x40, "5 credits/4 coins" )
PORT_DIPSETTING( 0x60, "6 credits/4 coins" )
@@ -1419,22 +1372,24 @@ static INPUT_PORTS_START( mazeinv )
PORT_BIT( 0xff, 0x7f, IPT_AD_STICK_Y ) PORT_MINMAX(0x40, 0xbf) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_REVERSE PORT_PLAYER(1)
PORT_START_TAG("STICK1")
+ PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START_TAG("STICK2")
PORT_BIT( 0xff, 0x7f, IPT_AD_STICK_X ) PORT_MINMAX(0x40, 0xbf) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_PLAYER(1)
PORT_START_TAG("STICK3")
+ PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
INPUT_PORTS_END
static INPUT_PORTS_START( bullsdrt )
- PORT_START_TAG("IN0") /* IN0 */
+ PORT_START_TAG("IN0")
PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* trackball data */
PORT_BIT( 0x30, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_VBLANK )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* trackball sign bit */
- PORT_START_TAG("IN1") /* IN1 */
+ PORT_START_TAG("IN1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 )
@@ -1444,7 +1399,7 @@ static INPUT_PORTS_START( bullsdrt )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN3 )
- PORT_START_TAG("IN2") /* IN2 */
+ PORT_START_TAG("IN2")
PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* trackball data */
PORT_BIT( 0x70, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* trackball sign bit */
@@ -1509,8 +1464,10 @@ static INPUT_PORTS_START( bullsdrt )
/* 2008-06 FP: was bullsdrt available as cocktail? If not, these can be removed */
PORT_START_TAG("TRACK1_X")
+ PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START_TAG("TRACK1_Y")
+ PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
INPUT_PORTS_END