summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame
diff options
context:
space:
mode:
author Aaron Giles <aaron@aarongiles.com>2008-08-28 08:53:17 +0000
committer Aaron Giles <aaron@aarongiles.com>2008-08-28 08:53:17 +0000
commitb554d33448605bdae37423c39d8a6c4f7821fee2 (patch)
tree129bee1d1c755ce7433f93dba10b85a600f83e83 /src/mame
parentf8f967838707a269a1302b378d7a92c4e580391c (diff)
From: Fabio Priuli [mailto:doge.fabio@gmail.com]
Subject: few more patches Hi, enclosed please find a few patches: TV_1.diff -> TV_4.diff: clean up of input ports for drivers starting with T,U,V eeprom.diff: some remaining eeprom_bit_r made CUSTOM_PORT stv_fix.diff: a small missing bit in my previous stv fix for bug 650. this patch assumes the previous has been applied and removes duplication of button 4 also from batmanfr (somehow I think I sent an outdated version of stv.diff previously) That's all folks Regards, Fabio
Diffstat (limited to 'src/mame')
-rw-r--r--src/mame/drivers/asterix.c6
-rw-r--r--src/mame/drivers/gijoe.c6
-rw-r--r--src/mame/drivers/moo.c8
-rw-r--r--src/mame/drivers/mystwarr.c88
-rw-r--r--src/mame/drivers/rungun.c4
-rw-r--r--src/mame/drivers/stv.c3
-rw-r--r--src/mame/drivers/tagteam.c91
-rw-r--r--src/mame/drivers/tail2nos.c8
-rw-r--r--src/mame/drivers/taito_l.c65
-rw-r--r--src/mame/drivers/taitojc.c163
-rw-r--r--src/mame/drivers/taitosj.c26
-rw-r--r--src/mame/drivers/tank8.c198
-rw-r--r--src/mame/drivers/tankbust.c12
-rw-r--r--src/mame/drivers/taotaido.c46
-rw-r--r--src/mame/drivers/targeth.c76
-rw-r--r--src/mame/drivers/tattack.c13
-rw-r--r--src/mame/drivers/taxidrvr.c18
-rw-r--r--src/mame/drivers/tbowl.c124
-rw-r--r--src/mame/drivers/tecmo.c106
-rw-r--r--src/mame/drivers/tecmo16.c26
-rw-r--r--src/mame/drivers/tecmosys.c75
-rw-r--r--src/mame/drivers/tehkanwc.c14
-rw-r--r--src/mame/drivers/terracre.c36
-rw-r--r--src/mame/drivers/tetrisp2.c229
-rw-r--r--src/mame/drivers/thayers.c4
-rw-r--r--src/mame/drivers/thepit.c8
-rw-r--r--src/mame/drivers/thoop2.c64
-rw-r--r--src/mame/drivers/thunderj.c14
-rw-r--r--src/mame/drivers/thunderx.c42
-rw-r--r--src/mame/drivers/tiamc1.c39
-rw-r--r--src/mame/drivers/tigeroad.c18
-rw-r--r--src/mame/drivers/timelimt.c18
-rw-r--r--src/mame/drivers/tmaster.c124
-rw-r--r--src/mame/drivers/tmnt.c196
-rw-r--r--src/mame/drivers/toaplan2.c42
-rw-r--r--src/mame/drivers/toki.c24
-rw-r--r--src/mame/drivers/toobin.c6
-rw-r--r--src/mame/drivers/topshoot.c12
-rw-r--r--src/mame/drivers/tp84.c40
-rw-r--r--src/mame/drivers/trackfld.c90
-rw-r--r--src/mame/drivers/trucocl.c2
-rw-r--r--src/mame/drivers/trvmadns.c2
-rw-r--r--src/mame/drivers/tsamurai.c202
-rw-r--r--src/mame/drivers/ttchamp.c8
-rw-r--r--src/mame/drivers/tubep.c76
-rw-r--r--src/mame/drivers/tumbleb.c1717
-rw-r--r--src/mame/drivers/tumblep.c169
-rw-r--r--src/mame/drivers/twincobr.c62
-rw-r--r--src/mame/drivers/ultraman.c21
-rw-r--r--src/mame/drivers/ultrsprt.c44
-rw-r--r--src/mame/drivers/undrfire.c164
-rw-r--r--src/mame/drivers/unico.c316
-rw-r--r--src/mame/drivers/usgames.c174
-rw-r--r--src/mame/drivers/vamphalf.c66
-rw-r--r--src/mame/drivers/vaportra.c159
-rw-r--r--src/mame/drivers/vastar.c16
-rw-r--r--src/mame/drivers/vball.c176
-rw-r--r--src/mame/drivers/vegaeo.c2
-rw-r--r--src/mame/drivers/vendetta.c10
-rw-r--r--src/mame/drivers/vertigo.c2
-rw-r--r--src/mame/drivers/vicdual.c208
-rw-r--r--src/mame/drivers/victory.c12
-rw-r--r--src/mame/drivers/vigilant.c32
-rw-r--r--src/mame/drivers/vulgus.c20
-rw-r--r--src/mame/drivers/zr107.c6
65 files changed, 2796 insertions, 3052 deletions
diff --git a/src/mame/drivers/asterix.c b/src/mame/drivers/asterix.c
index cb5885ac370..e47b7123fe7 100644
--- a/src/mame/drivers/asterix.c
+++ b/src/mame/drivers/asterix.c
@@ -67,7 +67,7 @@ static READ16_HANDLER( control1_r )
/* bit 8 is EEPROM data */
/* bit 9 is EEPROM ready */
/* bit 10 is service button */
- res = (eeprom_read_bit()<<8) | input_port_read(machine, "IN1");
+ res = input_port_read(machine, "IN1");
if (init_eeprom_count)
{
@@ -240,8 +240,8 @@ static INPUT_PORTS_START( asterix )
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START2 )
- PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_UNUSED ) // EEPROM data
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNUSED ) // EEPROM ready (always 1)
+ PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL) // EEPROM data
+ PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNUSED ) // EEPROM ready (always 1)
PORT_SERVICE_NO_TOGGLE(0x0400, IP_ACTIVE_LOW )
PORT_BIT( 0xf800, IP_ACTIVE_HIGH, IPT_UNKNOWN )
INPUT_PORTS_END
diff --git a/src/mame/drivers/gijoe.c b/src/mame/drivers/gijoe.c
index 464925ea09d..4eeb468cbdd 100644
--- a/src/mame/drivers/gijoe.c
+++ b/src/mame/drivers/gijoe.c
@@ -96,7 +96,7 @@ static READ16_HANDLER( control1_r )
/* bit 8 is EEPROM data */
/* bit 9 is EEPROM ready */
/* bit 11 is service button */
- res = (eeprom_read_bit()<<8) | input_port_read(machine, "START");
+ res = input_port_read(machine, "START");
if (init_eeprom_count)
{
@@ -274,8 +274,8 @@ static INPUT_PORTS_START( gijoe )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_START3 )
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_START4 )
- PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_SPECIAL ) // EEPROM data
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_SPECIAL ) // EEPROM ready (always 1)
+ PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL) // EEPROM data
+ PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_SPECIAL ) // EEPROM ready (always 1)
PORT_SERVICE_NO_TOGGLE( 0x0800, IP_ACTIVE_LOW )
PORT_START("SYSTEM")
diff --git a/src/mame/drivers/moo.c b/src/mame/drivers/moo.c
index 8d26410065e..06511dd245c 100644
--- a/src/mame/drivers/moo.c
+++ b/src/mame/drivers/moo.c
@@ -97,7 +97,7 @@ static READ16_HANDLER( control1_r )
/* bit 1 is EEPROM ready */
/* bit 3 is service button */
/* bits 4-7 are DIP switches */
- res = eeprom_read_bit() | input_port_read(machine, "IN1");
+ res = input_port_read(machine, "IN1");
if (init_eeprom_count)
{
@@ -480,13 +480,13 @@ static INPUT_PORTS_START( moo )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE4 )
PORT_START("IN1")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* EEPROM data */
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL) /* EEPROM data */
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SPECIAL ) /* EEPROM ready (always 1) */
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_SERVICE_NO_TOGGLE(0x08, IP_ACTIVE_LOW)
PORT_DIPNAME( 0x10, 0x00, "Sound Output")
- PORT_DIPSETTING( 0x10, DEF_STR( Mono ))
- PORT_DIPSETTING( 0x00, DEF_STR( Stereo ))
+ PORT_DIPSETTING( 0x10, DEF_STR( Mono ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Stereo ) )
PORT_DIPNAME( 0x20, 0x20, "Coin Mechanism")
PORT_DIPSETTING( 0x20, "Common")
PORT_DIPSETTING( 0x00, "Independent")
diff --git a/src/mame/drivers/mystwarr.c b/src/mame/drivers/mystwarr.c
index 8dcfa7e4382..447bbdfa6a6 100644
--- a/src/mame/drivers/mystwarr.c
+++ b/src/mame/drivers/mystwarr.c
@@ -119,7 +119,7 @@ static READ16_HANDLER( mweeprom_r )
{
if (ACCESSING_BITS_0_7)
{
- int res = input_port_read(machine, "IN1") | eeprom_read_bit();
+ int res = input_port_read(machine, "IN1");
if (init_eeprom_count)
{
@@ -139,7 +139,7 @@ static READ16_HANDLER( vseeprom_r )
{
if (ACCESSING_BITS_0_7)
{
- int res = input_port_read(machine, "IN1") | eeprom_read_bit();
+ int res = input_port_read(machine, "IN1");
if (init_eeprom_count)
{
@@ -173,7 +173,7 @@ static READ16_HANDLER( dddeeprom_r )
{
if (ACCESSING_BITS_8_15)
{
- return (input_port_read(machine, "IN1") | eeprom_read_bit())<<8;
+ return input_port_read(machine, "IN1") << 8;
}
return input_port_read(machine, "P2");
@@ -1101,19 +1101,19 @@ static INPUT_PORTS_START( mystwarr )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("IN1")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* EEPROM data */
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL) /* EEPROM data */
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SPECIAL ) /* EEPROM ready (always 1) */
PORT_SERVICE_NO_TOGGLE( 0x04, IP_ACTIVE_LOW )
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* game loops if this is set */
- PORT_DIPNAME( 0x10, 0x00, "Sound Output")
- PORT_DIPSETTING( 0x10, DEF_STR( Mono ))
- PORT_DIPSETTING( 0x00, DEF_STR( Stereo ))
- PORT_DIPNAME( 0x20, 0x20, "Coin Mechanism")
- PORT_DIPSETTING( 0x20, "Common")
- PORT_DIPSETTING( 0x00, "Independant")
- PORT_DIPNAME( 0x40, 0x40, "Number of Players")
- PORT_DIPSETTING( 0x00, "4")
- PORT_DIPSETTING( 0x40, "2")
+ PORT_DIPNAME( 0x10, 0x00, "Sound Output" )
+ PORT_DIPSETTING( 0x10, DEF_STR( Mono ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Stereo ) )
+ PORT_DIPNAME( 0x20, 0x20, "Coin Mechanism" )
+ PORT_DIPSETTING( 0x20, "Common" )
+ PORT_DIPSETTING( 0x00, "Independant" )
+ PORT_DIPNAME( 0x40, 0x40, "Number of Players" )
+ PORT_DIPSETTING( 0x00, "4" )
+ PORT_DIPSETTING( 0x40, "2" )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("P1")
@@ -1169,22 +1169,22 @@ static INPUT_PORTS_START( metamrph )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("IN1")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* EEPROM data */
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL) /* EEPROM data */
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SPECIAL ) /* EEPROM ready (always 1) */
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL )
PORT_SERVICE_NO_TOGGLE( 0x08, IP_ACTIVE_LOW )
- PORT_DIPNAME( 0x10, 0x00, "Sound Output")
- PORT_DIPSETTING( 0x10, DEF_STR( Mono ))
- PORT_DIPSETTING( 0x00, DEF_STR( Stereo ))
- PORT_DIPNAME( 0x20, 0x20, "Coin Mechanism")
- PORT_DIPSETTING( 0x20, "Common")
- PORT_DIPSETTING( 0x00, "Independant")
- PORT_DIPNAME( 0x40, 0x40, "Number of Players")
- PORT_DIPSETTING( 0x00, "4")
- PORT_DIPSETTING( 0x40, "2")
- PORT_DIPNAME( 0x80, 0x80, "Continuous Energy Increment")
- PORT_DIPSETTING( 0x80, DEF_STR( No ))
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ))
+ PORT_DIPNAME( 0x10, 0x00, "Sound Output" )
+ PORT_DIPSETTING( 0x10, DEF_STR( Mono ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Stereo ) )
+ PORT_DIPNAME( 0x20, 0x20, "Coin Mechanism" )
+ PORT_DIPSETTING( 0x20, "Common" )
+ PORT_DIPSETTING( 0x00, "Independant" )
+ PORT_DIPNAME( 0x40, 0x40, "Number of Players" )
+ PORT_DIPSETTING( 0x00, "4" )
+ PORT_DIPSETTING( 0x40, "2" )
+ PORT_DIPNAME( 0x80, 0x80, "Continuous Energy Increment" )
+ PORT_DIPSETTING( 0x80, DEF_STR( No ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
PORT_START("P1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
@@ -1239,22 +1239,22 @@ static INPUT_PORTS_START( viostorm )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("IN1")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* EEPROM data */
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL) /* EEPROM data */
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SPECIAL ) /* EEPROM ready (always 1) */
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL )
PORT_SERVICE_NO_TOGGLE( 0x08, IP_ACTIVE_LOW )
- PORT_DIPNAME( 0x10, 0x00, "Sound Output")
- PORT_DIPSETTING( 0x10, DEF_STR( Mono ))
- PORT_DIPSETTING( 0x00, DEF_STR( Stereo ))
+ PORT_DIPNAME( 0x10, 0x00, "Sound Output" )
+ PORT_DIPSETTING( 0x10, DEF_STR( Mono ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Stereo ) )
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Flip_Screen ) )
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x40, "Coin Mechanism")
- PORT_DIPSETTING( 0x40, "Common")
- PORT_DIPSETTING( 0x00, "Independant")
- PORT_DIPNAME( 0x80, 0x80, "Number of Players")
- PORT_DIPSETTING( 0x00, "3")
- PORT_DIPSETTING( 0x80, "2")
+ PORT_DIPNAME( 0x40, 0x40, "Coin Mechanism" )
+ PORT_DIPSETTING( 0x40, "Common" )
+ PORT_DIPSETTING( 0x00, "Independant" )
+ PORT_DIPNAME( 0x80, 0x80, "Number of Players" )
+ PORT_DIPSETTING( 0x00, "3" )
+ PORT_DIPSETTING( 0x80, "2" )
PORT_START("P1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
@@ -1309,13 +1309,13 @@ static INPUT_PORTS_START( dadandrn )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("IN1")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* EEPROM data */
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL) /* EEPROM data */
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SPECIAL ) /* EEPROM ready (always 1) */
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL )
PORT_SERVICE_NO_TOGGLE( 0x08, IP_ACTIVE_LOW )
- PORT_DIPNAME( 0x10, 0x00, "Sound Output")
- PORT_DIPSETTING( 0x10, DEF_STR( Mono ))
- PORT_DIPSETTING( 0x00, DEF_STR( Stereo ))
+ PORT_DIPNAME( 0x10, 0x00, "Sound Output" )
+ PORT_DIPSETTING( 0x10, DEF_STR( Mono ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Stereo ) )
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Flip_Screen ) )
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@@ -1375,13 +1375,13 @@ static INPUT_PORTS_START( martchmp )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("IN1")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* EEPROM data */
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL) /* EEPROM data */
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SPECIAL ) /* EEPROM ready (always 1) */
PORT_SERVICE_NO_TOGGLE( 0x04, IP_ACTIVE_LOW )
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* game loops if this is set */
- PORT_DIPNAME( 0x10, 0x00, "Sound Output")
- PORT_DIPSETTING( 0x10, DEF_STR( Mono ))
- PORT_DIPSETTING( 0x00, DEF_STR( Stereo ))
+ PORT_DIPNAME( 0x10, 0x00, "Sound Output" )
+ PORT_DIPSETTING( 0x10, DEF_STR( Mono ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Stereo ) )
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Flip_Screen ) )
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
diff --git a/src/mame/drivers/rungun.c b/src/mame/drivers/rungun.c
index 36c060a60c5..a6b7c9d26d4 100644
--- a/src/mame/drivers/rungun.c
+++ b/src/mame/drivers/rungun.c
@@ -124,7 +124,7 @@ static READ16_HANDLER( rng_sysregs_r )
case 0x06/2:
if (ACCESSING_BITS_0_7)
{
- data = input_port_read(machine, "DSW") | eeprom_read_bit();
+ data = input_port_read(machine, "DSW");
if (init_eeprom_count)
{
@@ -390,7 +390,7 @@ static INPUT_PORTS_START( rng )
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("DSW")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* EEPROM data */
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL) /* EEPROM data */
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SPECIAL ) /* EEPROM ready (always 1) */
PORT_SERVICE_NO_TOGGLE( 0x08, IP_ACTIVE_LOW )
PORT_DIPNAME( 0x10, 0x00, "Monitors" )
diff --git a/src/mame/drivers/stv.c b/src/mame/drivers/stv.c
index 77bc4a3cc14..6aac74da842 100644
--- a/src/mame/drivers/stv.c
+++ b/src/mame/drivers/stv.c
@@ -2209,6 +2209,9 @@ static INPUT_PORTS_START( batmanfr )
PORT_MODIFY("P2")
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2)
+
+ PORT_MODIFY("EXTRA")
+ PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
INPUT_PORTS_END
/* Same as the regular one, but with an additional & optional mahjong panel */
diff --git a/src/mame/drivers/tagteam.c b/src/mame/drivers/tagteam.c
index d31fb4d08b8..1a90a0fcd0c 100644
--- a/src/mame/drivers/tagteam.c
+++ b/src/mame/drivers/tagteam.c
@@ -53,11 +53,11 @@ static WRITE8_HANDLER( sound_command_w )
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x07ff) AM_RAM
- AM_RANGE(0x2000, 0x2000) AM_READWRITE(input_port_1_r, tagteam_flipscreen_w)
- AM_RANGE(0x2001, 0x2001) AM_READWRITE(input_port_0_r, tagteam_control_w)
- AM_RANGE(0x2002, 0x2002) AM_READWRITE(input_port_2_r, sound_command_w)
- AM_RANGE(0x2003, 0x2003) AM_READ(input_port_3_r) /* DSW1 */
-// AM_RANGE(0x2003, 0x2003) AM_WRITE(SMH_NOP) /* Appears to increment when you're out of the ring */
+ AM_RANGE(0x2000, 0x2000) AM_READ_PORT("P2") AM_WRITE(tagteam_flipscreen_w)
+ AM_RANGE(0x2001, 0x2001) AM_READ_PORT("P1") AM_WRITE(tagteam_control_w)
+ AM_RANGE(0x2002, 0x2002) AM_READ_PORT("DSW1") AM_WRITE(sound_command_w)
+ AM_RANGE(0x2003, 0x2003) AM_READ_PORT("DSW2")
+// AM_RANGE(0x2003, 0x2003) AM_WRITE(SMH_NOP) /* Appears to increment when you're out of the ring */
AM_RANGE(0x4000, 0x43ff) AM_READWRITE(tagteam_mirrorvideoram_r, tagteam_mirrorvideoram_w)
AM_RANGE(0x4400, 0x47ff) AM_READWRITE(tagteam_mirrorcolorram_r, tagteam_mirrorcolorram_w)
AM_RANGE(0x4800, 0x4fff) AM_READ(SMH_RAM)
@@ -84,7 +84,7 @@ static INTERRUPT_GEN( tagteam_interrupt )
static int coin;
int port;
- port = input_port_read(machine, "IN0") & 0xc0;
+ port = input_port_read(machine, "P1") & 0xc0;
if (port != 0xc0) /* Coin */
{
@@ -97,28 +97,26 @@ static INTERRUPT_GEN( tagteam_interrupt )
else coin = 0;
}
-#define TAGTEAM_PLAYERS\
- PORT_START("IN0")\
- 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_UP ) PORT_8WAY\
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) 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_COIN1 )\
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN2 )\
- PORT_START("IN1")\
- 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_UP ) PORT_8WAY PORT_COCKTAIL\
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL\
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL\
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL\
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 )\
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
-
static INPUT_PORTS_START( bigprowr )
- TAGTEAM_PLAYERS
+ PORT_START("P1")
+ 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_UP ) PORT_8WAY
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) 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_COIN1 )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN2 )
+
+ PORT_START("P2")
+ 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_UP ) PORT_8WAY PORT_COCKTAIL
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
PORT_START("DSW1")
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) )
@@ -170,46 +168,23 @@ INPUT_PORTS_END
/* Same as 'bigprowr', but additional "Coin Mode" Dip Switch */
static INPUT_PORTS_START( tagteam )
- TAGTEAM_PLAYERS
- PORT_START("DSW1")
+ PORT_INCLUDE( bigprowr )
+
+ PORT_MODIFY("DSW1")
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) )
PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x01, DEF_STR( 1C_3C ) )PORT_CONDITION("DSW2",0xe0,PORTCOND_NOTEQUALS,0x80) //Mode 1
- PORT_DIPSETTING( 0x01, DEF_STR( 1C_6C ) )PORT_CONDITION("DSW2",0xe0,PORTCOND_EQUALS,0x80) //Mode 2
+ PORT_DIPSETTING( 0x01, DEF_STR( 1C_3C ) ) PORT_CONDITION("DSW2", 0xe0, PORTCOND_NOTEQUALS, 0x80) //Mode 1
+ PORT_DIPSETTING( 0x01, DEF_STR( 1C_6C ) ) PORT_CONDITION("DSW2", 0xe0, PORTCOND_EQUALS, 0x80) //Mode 2
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_B ) )
PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x04, DEF_STR( 1C_3C ) )PORT_CONDITION("DSW2",0xe0,PORTCOND_NOTEQUALS,0x80) //Mode 1
- PORT_DIPSETTING( 0x04, DEF_STR( 1C_6C ) )PORT_CONDITION("DSW2",0xe0,PORTCOND_EQUALS,0x80) //Mode 2
- PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unused ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x10, DEF_STR( On ) )
- PORT_DIPNAME( 0x60, 0x00, DEF_STR( Cabinet ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) // "Upright, Single Controls"
- PORT_DIPSETTING( 0x40, "Upright, Dual Controls" )
-// PORT_DIPSETTING( 0x20, "Cocktail, Single Controls" ) // IMPOSSIBLE !
- PORT_DIPSETTING( 0x60, DEF_STR( Cocktail ) ) // "Cocktail, Dual Controls"
- PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_VBLANK )
+ PORT_DIPSETTING( 0x04, DEF_STR( 1C_3C ) ) PORT_CONDITION("DSW2", 0xe0, PORTCOND_NOTEQUALS, 0x80) //Mode 1
+ PORT_DIPSETTING( 0x04, DEF_STR( 1C_6C ) ) PORT_CONDITION("DSW2", 0xe0, PORTCOND_EQUALS, 0x80) //Mode 2
- PORT_START("DSW2")
- PORT_DIPNAME( 0x01, 0x01, DEF_STR( Difficulty ) )
- PORT_DIPSETTING( 0x01, DEF_STR( Normal ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Hard ) )
- PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x04, DEF_STR( On ) )
- PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unused ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x08, DEF_STR( On ) )
- PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unused ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x10, DEF_STR( On ) )
+ PORT_MODIFY("DSW2")
PORT_DIPNAME( 0xe0, 0x00, "Coin Mode" ) // Check code at 0xff5c
PORT_DIPSETTING( 0x00, "Mode 1" )
PORT_DIPSETTING( 0x80, "Mode 2" )
diff --git a/src/mame/drivers/tail2nos.c b/src/mame/drivers/tail2nos.c
index 846a4125f6c..dd863cd02b3 100644
--- a/src/mame/drivers/tail2nos.c
+++ b/src/mame/drivers/tail2nos.c
@@ -79,8 +79,8 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xffc300, 0xffcfff) AM_RAM
AM_RANGE(0xffd000, 0xffdfff) AM_RAM_WRITE(tail2nos_bgvideoram_w) AM_BASE(&tail2nos_bgvideoram)
AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
- AM_RANGE(0xfff000, 0xfff001) AM_READWRITE(input_port_0_word_r, tail2nos_gfxbank_w)
- AM_RANGE(0xfff004, 0xfff005) AM_READ(input_port_1_word_r)
+ AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("INPUTS") AM_WRITE(tail2nos_gfxbank_w)
+ AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("DSW")
AM_RANGE(0xfff008, 0xfff009) AM_WRITE(sound_command_w)
ADDRESS_MAP_END
@@ -135,7 +135,7 @@ static INPUT_PORTS_START( tail2nos )
PORT_DIPSETTING( 0x000d, "5 Coins/6 Credits" )
PORT_DIPSETTING( 0x000e, DEF_STR( 4C_5C ) )
PORT_DIPSETTING( 0x000a, DEF_STR( 2C_3C ) )
-// PORT_DIPSETTING( 0x000f, DEF_STR( 2C_3C ) )
+// PORT_DIPSETTING( 0x000f, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x0001, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x0002, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x0003, DEF_STR( 1C_4C ) )
@@ -152,7 +152,7 @@ static INPUT_PORTS_START( tail2nos )
PORT_DIPSETTING( 0x00d0, "5 Coins/6 Credits" )
PORT_DIPSETTING( 0x00e0, DEF_STR( 4C_5C ) )
PORT_DIPSETTING( 0x00a0, DEF_STR( 2C_3C ) )
-// PORT_DIPSETTING( 0x00f0, DEF_STR( 2C_3C ) )
+// PORT_DIPSETTING( 0x00f0, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x0010, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x0020, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x0030, DEF_STR( 1C_4C ) )
diff --git a/src/mame/drivers/taito_l.c b/src/mame/drivers/taito_l.c
index 861aa1dfbd5..6c41e644c3b 100644
--- a/src/mame/drivers/taito_l.c
+++ b/src/mame/drivers/taito_l.c
@@ -1140,37 +1140,10 @@ static INPUT_PORTS_START( fhawk )
INPUT_PORTS_END
static INPUT_PORTS_START( fhawkj )
- PORT_START("DSWA")
- TAITO_MACHINE_COCKTAIL
- TAITO_COINAGE_JAPAN_OLD
-
- PORT_START("DSWB")
- TAITO_DIFFICULTY
- PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unused ) ) // all in manual
- PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unused ) )
- PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
- PORT_DIPSETTING( 0x30, "3" )
- PORT_DIPSETTING( 0x20, "4" )
- PORT_DIPSETTING( 0x10, "5" )
- PORT_DIPSETTING( 0x00, "6" )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unused ) )
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) )
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
-
- PORT_START("IN0")
- TAITO_JOY_UDLR_2_BUTTONS( 1 )
-
- PORT_START("IN1")
- TAITO_JOY_UDLR_2_BUTTONS( 2 )
+ PORT_INCLUDE( fhawk )
- TAITO_L_SYSTEM_INPUT( IP_ACTIVE_LOW, 4 )
+ PORT_MODIFY("DSWA")
+ TAITO_COINAGE_JAPAN_OLD
INPUT_PORTS_END
static INPUT_PORTS_START( raimais )
@@ -1208,36 +1181,10 @@ static INPUT_PORTS_START( raimais )
INPUT_PORTS_END
static INPUT_PORTS_START( raimaisj )
- PORT_START("DSWA")
- TAITO_MACHINE_COCKTAIL
- TAITO_COINAGE_JAPAN_OLD
+ PORT_INCLUDE( raimais )
- PORT_START("DSWB")
- TAITO_DIFFICULTY
- PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )
- PORT_DIPSETTING( 0x08, "80k and 160k" )
- PORT_DIPSETTING( 0x0c, "80k only" )
- PORT_DIPSETTING( 0x04, "160k only" )
- PORT_DIPSETTING( 0x00, DEF_STR( None ) )
- PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
- PORT_DIPSETTING( 0x30, "3" )
- PORT_DIPSETTING( 0x20, "4" )
- PORT_DIPSETTING( 0x10, "5" )
- PORT_DIPSETTING( 0x00, "6" )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x00, DEF_STR( Allow_Continue ) )
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
-
- PORT_START("IN0")
- TAITO_JOY_UDLR_2_BUTTONS( 1 )
-
- PORT_START("IN1")
- TAITO_JOY_UDLR_2_BUTTONS( 2 )
-
- TAITO_L_SYSTEM_INPUT( IP_ACTIVE_HIGH, 1 )
+ PORT_MODIFY("DSWA")
+ TAITO_COINAGE_JAPAN_OLD
INPUT_PORTS_END
static INPUT_PORTS_START( champwr )
diff --git a/src/mame/drivers/taitojc.c b/src/mame/drivers/taitojc.c
index ba770b426e5..818b992882c 100644
--- a/src/mame/drivers/taitojc.c
+++ b/src/mame/drivers/taitojc.c
@@ -428,9 +428,7 @@ static READ32_HANDLER ( jc_control_r )
{
if (ACCESSING_BITS_24_31)
{
- UINT32 data = eeprom_read_bit() & 1;
- data |= input_port_read(machine, "COINS") & 0xfe;
- r |= data << 24;
+ r |= input_port_read(machine, "COINS") << 24;
}
return r;
}
@@ -1086,63 +1084,65 @@ ADDRESS_MAP_END
#ifdef UNUSED_DEFINITION
static INPUT_PORTS_START( taitojc )
PORT_START("COINS")
- PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_COIN4)
- PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_COIN3)
- PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_COIN2)
- PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_COIN1)
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_SERVICE1 )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN4 )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN3 )
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 )
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SERVICE1 )
//PORT_SERVICE(0x02, 0x00)
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL)
PORT_START("START")
- PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_START4)
- PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_START3)
- PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_START2)
- PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_START1)
- PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_SERVICE3)
- PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_SERVICE2)
- PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_UNUSED)
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_TILT)
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START4 )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START3 )
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE3 )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE2 )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
PORT_START("UNUSED")
- PORT_BIT(0xff, IP_ACTIVE_LOW, IPT_UNUSED)
+ PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("BUTTONS")
- PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_BUTTON1)
- PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_BUTTON2)
- PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_BUTTON3)
- PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_BUTTON4)
- PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_BUTTON5)
- PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_BUTTON6)
- PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_BUTTON7)
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON8)
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 )
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON4 )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON5 )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON6 )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON7 )
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON8 )
INPUT_PORTS_END
#endif
static INPUT_PORTS_START( dendeg )
PORT_START("COINS")
- PORT_BIT(0xe0, IP_ACTIVE_LOW, IPT_UNUSED)
- PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_COIN1)
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_SERVICE1 )
+ PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 )
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SERVICE1 )
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL)
PORT_START("START")
- PORT_BIT(0xe0, IP_ACTIVE_LOW, IPT_UNUSED)
- PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_START1)
- PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_UNUSED)
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_TILT)
+ PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
PORT_START("UNUSED")
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON7) // Horn
- PORT_BIT(0xfe, IP_ACTIVE_LOW, IPT_UNUSED)
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON7 ) // Horn
+ PORT_BIT( 0xfe, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("BUTTONS")
- PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_UNUSED)
- PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_BUTTON6) // Mascon 5
- PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_BUTTON4) // Mascon 3
- PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_BUTTON2) // Mascon 1
- PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_UNUSED)
- PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_BUTTON5) // Mascon 4
- PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_BUTTON3) // Mascon 2
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON1) // Mascon 0
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON6 ) // Mascon 5
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON4 ) // Mascon 3
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) // Mascon 1
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) // Mascon 4
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON3 ) // Mascon 2
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) // Mascon 0
PORT_START("ANALOG1") // Brake
PORT_BIT( 0xff, 0x00, IPT_PEDAL ) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(35) PORT_KEYDELTA(5)
@@ -1150,22 +1150,23 @@ INPUT_PORTS_END
static INPUT_PORTS_START( landgear )
PORT_START("COINS")
- PORT_BIT(0xe0, IP_ACTIVE_LOW, IPT_UNUSED)
- PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_COIN1)
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_SERVICE1 )
+ PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 )
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SERVICE1 )
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL)
PORT_START("START")
- PORT_BIT(0xe0, IP_ACTIVE_LOW, IPT_UNUSED)
- PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_START1)
- PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_UNUSED)
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_TILT)
+ PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
PORT_START("UNUSED")
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON1) // View button
- PORT_BIT(0xfe, IP_ACTIVE_LOW, IPT_UNUSED)
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) // View button
+ PORT_BIT( 0xfe, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("BUTTONS")
- PORT_BIT(0xff, IP_ACTIVE_LOW, IPT_UNUSED)
+ PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("ANALOG1") // Lever X
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_MINMAX(0xff, 0x00) PORT_SENSITIVITY(35) PORT_KEYDELTA(5)
@@ -1179,26 +1180,27 @@ INPUT_PORTS_END
static INPUT_PORTS_START( sidebs )
PORT_START("COINS")
- PORT_BIT(0xe0, IP_ACTIVE_LOW, IPT_UNUSED)
- PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_COIN1)
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_SERVICE1 )
+ PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 )
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SERVICE1 )
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL)
PORT_START("START")
- PORT_BIT(0xe0, IP_ACTIVE_LOW, IPT_UNUSED)
- PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_START1)
- PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_SERVICE3)
- PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_SERVICE2)
- PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_UNUSED)
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_TILT)
+ PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE3 )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE2 )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
PORT_START("UNUSED")
- PORT_BIT(0xfe, IP_ACTIVE_LOW, IPT_UNUSED)
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON1) // View button
+ PORT_BIT( 0xfe, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) // View button
PORT_START("BUTTONS")
- PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_BUTTON2) // Shift down
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON3) // Shift up
- PORT_BIT(0xfc, IP_ACTIVE_LOW, IPT_UNUSED)
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) // Shift down
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON3 ) // Shift up
+ PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("ANALOG1") // Steering
PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(35) PORT_KEYDELTA(5)
@@ -1213,26 +1215,27 @@ INPUT_PORTS_END
// TODO
static INPUT_PORTS_START( dangcurv )
PORT_START("COINS")
- PORT_BIT(0xe0, IP_ACTIVE_LOW, IPT_UNUSED)
- PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_COIN1)
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_SERVICE1 )
+ PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 )
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SERVICE1 )
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL)
PORT_START("START")
- PORT_BIT(0xe0, IP_ACTIVE_LOW, IPT_UNUSED)
- PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_START1)
- PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_SERVICE3)
- PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_SERVICE2)
- PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_UNUSED)
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_TILT)
+ PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE3 )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE2 )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
PORT_START("UNUSED")
- PORT_BIT(0xfe, IP_ACTIVE_LOW, IPT_UNUSED)
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON1) // View button
+ PORT_BIT( 0xfe, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) // View button
PORT_START("BUTTONS")
- PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_BUTTON2) // Shift down
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON3) // Shift up
- PORT_BIT(0xfc, IP_ACTIVE_LOW, IPT_UNUSED)
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) // Shift down
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON3 ) // Shift up
+ PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("ANALOG1") // Steering
PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(35) PORT_KEYDELTA(5)
diff --git a/src/mame/drivers/taitosj.c b/src/mame/drivers/taitosj.c
index 18e62e80334..0b986b447fc 100644
--- a/src/mame/drivers/taitosj.c
+++ b/src/mame/drivers/taitosj.c
@@ -491,7 +491,7 @@ static INPUT_PORTS_START( spaceskr )
PORT_START("IN4")
PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(input_port_4_f0_r, 0) // from sound CPU
+ PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(input_port_4_f0_r, NULL) // from sound CPU
PORT_START("DSW1")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
@@ -573,7 +573,7 @@ static INPUT_PORTS_START( spacecr )
PORT_START("IN4")
PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(input_port_4_f0_r, 0) // from sound CPU
+ PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(input_port_4_f0_r, NULL) // from sound CPU
PORT_START("DSW1")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
@@ -657,7 +657,7 @@ static INPUT_PORTS_START( junglek )
PORT_START("IN4")
PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(input_port_4_f0_r, 0) // from sound CPU
+ PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(input_port_4_f0_r, NULL) // from sound CPU
PORT_START("DSW1")
PORT_DIPNAME( 0x03, 0x03, "Finish Bonus" )
@@ -721,7 +721,7 @@ static INPUT_PORTS_START( piratpet )
PORT_START("IN4")
PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(input_port_4_f0_r, 0) // from sound CPU
+ PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(input_port_4_f0_r, NULL) // from sound CPU
PORT_START("DSW1")
PORT_DIPNAME( 0x03, 0x03, "Finish Bonus" )
@@ -806,7 +806,7 @@ static INPUT_PORTS_START( alpine )
PORT_START("IN4")
PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(input_port_4_f0_r, 0) // from sound CPU
+ PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(input_port_4_f0_r, NULL) // from sound CPU
PORT_START("DSW1")
PORT_DIPNAME( 0x03, 0x03, "Jump Bonus" )
@@ -891,7 +891,7 @@ static INPUT_PORTS_START( alpinea )
PORT_START("IN4")
PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(input_port_4_f0_r, 0) // from sound CPU
+ PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(input_port_4_f0_r, NULL) // from sound CPU
PORT_START("DSW1")
PORT_DIPNAME( 0x03, 0x03, "Jump Bonus" )
@@ -969,7 +969,7 @@ static INPUT_PORTS_START( timetunl )
PORT_START("IN4")
PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(input_port_4_f0_r, 0) // from sound CPU
+ PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(input_port_4_f0_r, NULL) // from sound CPU
PORT_START("DSW1")
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) )
@@ -1169,7 +1169,7 @@ static INPUT_PORTS_START( elevator )
PORT_START("IN4")
PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(input_port_4_f0_r, 0) // from sound CPU
+ PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(input_port_4_f0_r, NULL) // from sound CPU
PORT_START("DSW1")
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Bonus_Life ) )
@@ -1252,7 +1252,7 @@ static INPUT_PORTS_START( tinstar )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_RIGHT ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP ) PORT_8WAY PORT_COCKTAIL
- PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(input_port_4_f0_r, 0) // from sound CPU
+ PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(input_port_4_f0_r, NULL) // from sound CPU
PORT_START("DSW1")
PORT_DIPNAME( 0x03, 0x03, "Bonus Life?" )
@@ -1335,7 +1335,7 @@ static INPUT_PORTS_START( waterski )
PORT_START("IN4")
PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(input_port_4_f0_r, 0) // from sound CPU
+ PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(input_port_4_f0_r, NULL) // from sound CPU
PORT_START("DSW1")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
@@ -1424,7 +1424,7 @@ static INPUT_PORTS_START( bioatack )
PORT_START("IN4")
PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(input_port_4_f0_r, 0) // from sound CPU
+ PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(input_port_4_f0_r, NULL) // from sound CPU
PORT_START("DSW1") /* d50a */
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Bonus_Life ) )
@@ -1491,7 +1491,7 @@ static INPUT_PORTS_START( sfposeid )
PORT_START("IN4")
PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(input_port_4_f0_r, 0) // from sound CPU
+ PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(input_port_4_f0_r, NULL) // from sound CPU
PORT_START("DSW1")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
@@ -1559,7 +1559,7 @@ static INPUT_PORTS_START( hwrace )
PORT_START("IN4")
PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(input_port_4_f0_r, 0) // from sound CPU
+ PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(input_port_4_f0_r, NULL) // from sound CPU
PORT_START("DSW1")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
diff --git a/src/mame/drivers/tank8.c b/src/mame/drivers/tank8.c
index 34c75ff6db4..afc6abd0482 100644
--- a/src/mame/drivers/tank8.c
+++ b/src/mame/drivers/tank8.c
@@ -99,18 +99,18 @@ static ADDRESS_MAP_START( tank8_cpu_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x1c00, 0x1c00) AM_READ(tank8_collision_r)
- AM_RANGE(0x1c01, 0x1c01) AM_READ(input_port_0_r)
- AM_RANGE(0x1c02, 0x1c02) AM_READ(input_port_1_r)
- AM_RANGE(0x1c03, 0x1c03) AM_READ(input_port_2_r)
- AM_RANGE(0x1c04, 0x1c04) AM_READ(input_port_3_r)
- AM_RANGE(0x1c05, 0x1c05) AM_READ(input_port_4_r)
- AM_RANGE(0x1c06, 0x1c06) AM_READ(input_port_5_r)
- AM_RANGE(0x1c07, 0x1c07) AM_READ(input_port_6_r)
- AM_RANGE(0x1c08, 0x1c08) AM_READ(input_port_7_r)
- AM_RANGE(0x1c09, 0x1c09) AM_READ(input_port_8_r)
- AM_RANGE(0x1c0a, 0x1c0a) AM_READ(input_port_9_r)
- AM_RANGE(0x1c0b, 0x1c0b) AM_READ(input_port_10_r)
- AM_RANGE(0x1c0f, 0x1c0f) AM_READ(input_port_11_r)
+ AM_RANGE(0x1c01, 0x1c01) AM_READ_PORT("P1")
+ AM_RANGE(0x1c02, 0x1c02) AM_READ_PORT("P2")
+ AM_RANGE(0x1c03, 0x1c03) AM_READ_PORT("P3")
+ AM_RANGE(0x1c04, 0x1c04) AM_READ_PORT("P4")
+ AM_RANGE(0x1c05, 0x1c05) AM_READ_PORT("P5")
+ AM_RANGE(0x1c06, 0x1c06) AM_READ_PORT("P6")
+ AM_RANGE(0x1c07, 0x1c07) AM_READ_PORT("P7")
+ AM_RANGE(0x1c08, 0x1c08) AM_READ_PORT("P8")
+ AM_RANGE(0x1c09, 0x1c09) AM_READ_PORT("DSW1")
+ AM_RANGE(0x1c0a, 0x1c0a) AM_READ_PORT("DSW2")
+ AM_RANGE(0x1c0b, 0x1c0b) AM_READ_PORT("RC")
+ AM_RANGE(0x1c0f, 0x1c0f) AM_READ_PORT("VBLANK")
AM_RANGE(0x1800, 0x1bff) AM_WRITE(tank8_video_ram_w) AM_BASE(&tank8_video_ram)
AM_RANGE(0x1c00, 0x1c0f) AM_WRITE(SMH_RAM) AM_BASE(&tank8_pos_h_ram)
@@ -131,89 +131,88 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( tank8 )
- PORT_START("P1") // 0
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP ) PORT_2WAY PORT_PLAYER(1)
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN ) PORT_2WAY PORT_PLAYER(1)
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP ) PORT_2WAY PORT_PLAYER(1)
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN ) PORT_2WAY PORT_PLAYER(1)
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
-
- PORT_START("P2") // 1
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP ) PORT_2WAY PORT_PLAYER(2)
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN ) PORT_2WAY PORT_PLAYER(2)
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP ) PORT_2WAY PORT_PLAYER(2)
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN ) PORT_2WAY PORT_PLAYER(2)
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
-
- PORT_START("P3") // 2
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN3 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP ) PORT_2WAY PORT_PLAYER(3)
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN ) PORT_2WAY PORT_PLAYER(3)
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP ) PORT_2WAY PORT_PLAYER(3)
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN ) PORT_2WAY PORT_PLAYER(3)
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3)
-
- PORT_START("P4") // 3
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN4 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP ) PORT_2WAY PORT_PLAYER(4)
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN ) PORT_2WAY PORT_PLAYER(4)
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP ) PORT_2WAY PORT_PLAYER(4)
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN ) PORT_2WAY PORT_PLAYER(4)
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(4)
-
- PORT_START("P5") // 4
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN5 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP ) PORT_2WAY PORT_PLAYER(5)
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN ) PORT_2WAY PORT_PLAYER(5)
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP ) PORT_2WAY PORT_PLAYER(5)
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN ) PORT_2WAY PORT_PLAYER(5)
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(5)
-
- PORT_START("P6") // 5
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN6 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP ) PORT_2WAY PORT_PLAYER(6)
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN ) PORT_2WAY PORT_PLAYER(6)
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP ) PORT_2WAY PORT_PLAYER(6)
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN ) PORT_2WAY PORT_PLAYER(6)
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(6)
-
- PORT_START("P7") // 6
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN7 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP ) PORT_2WAY PORT_PLAYER(7)
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN ) PORT_2WAY PORT_PLAYER(7)
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP ) PORT_2WAY PORT_PLAYER(7)
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN ) PORT_2WAY PORT_PLAYER(7)
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(7)
-
- PORT_START("P8") // 7
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN8 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP ) PORT_2WAY PORT_PLAYER(8)
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN ) PORT_2WAY PORT_PLAYER(8)
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP ) PORT_2WAY PORT_PLAYER(8)
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN ) PORT_2WAY PORT_PLAYER(8)
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(8)
+ PORT_START("P1")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP ) PORT_2WAY PORT_PLAYER(1)
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN ) PORT_2WAY PORT_PLAYER(1)
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP ) PORT_2WAY PORT_PLAYER(1)
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN ) PORT_2WAY PORT_PLAYER(1)
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
+
+ PORT_START("P2")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN2 )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP ) PORT_2WAY PORT_PLAYER(2)
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN ) PORT_2WAY PORT_PLAYER(2)
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP ) PORT_2WAY PORT_PLAYER(2)
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN ) PORT_2WAY PORT_PLAYER(2)
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
+
+ PORT_START("P3")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN3 )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP ) PORT_2WAY PORT_PLAYER(3)
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN ) PORT_2WAY PORT_PLAYER(3)
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP ) PORT_2WAY PORT_PLAYER(3)
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN ) PORT_2WAY PORT_PLAYER(3)
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3)
+
+ PORT_START("P4")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN4 )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP ) PORT_2WAY PORT_PLAYER(4)
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN ) PORT_2WAY PORT_PLAYER(4)
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP ) PORT_2WAY PORT_PLAYER(4)
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN ) PORT_2WAY PORT_PLAYER(4)
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(4)
+
+ PORT_START("P5")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN5 )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP ) PORT_2WAY PORT_PLAYER(5)
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN ) PORT_2WAY PORT_PLAYER(5)
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP ) PORT_2WAY PORT_PLAYER(5)
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN ) PORT_2WAY PORT_PLAYER(5)
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(5)
+
+ PORT_START("P6")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN6 )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP ) PORT_2WAY PORT_PLAYER(6)
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN ) PORT_2WAY PORT_PLAYER(6)
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP ) PORT_2WAY PORT_PLAYER(6)
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN ) PORT_2WAY PORT_PLAYER(6)
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(6)
+
+ PORT_START("P7")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN7 )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP ) PORT_2WAY PORT_PLAYER(7)
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN ) PORT_2WAY PORT_PLAYER(7)
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP ) PORT_2WAY PORT_PLAYER(7)
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN ) PORT_2WAY PORT_PLAYER(7)
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(7)
+
+ PORT_START("P8")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN8 )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP ) PORT_2WAY PORT_PLAYER(8)
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN ) PORT_2WAY PORT_PLAYER(8)
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP ) PORT_2WAY PORT_PLAYER(8)
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN ) PORT_2WAY PORT_PLAYER(8)
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(8)
/* play time is 4351 + N * 640 frames */
-
- PORT_START("DSW1") // 8
+ PORT_START("DSW1")
PORT_DIPNAME( 0x0f, 0x08, "Play Time" )
PORT_DIPSETTING( 0x0f, "73 seconds" )
PORT_DIPSETTING( 0x0e, "83 seconds" )
@@ -233,10 +232,10 @@ static INPUT_PORTS_START( tank8 )
PORT_DIPSETTING( 0x00, "233 seconds" )
PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START("DSW2") // 9
+ PORT_START("DSW2")
PORT_DIPNAME( 0x01, 0x01, "Remote" )
- PORT_DIPSETTING( 0x01, DEF_STR( Off ))
- PORT_DIPSETTING( 0x00, DEF_STR( On ))
+ PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME( "Team" )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME( "Remote Start" )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME( "Remote Team" )
@@ -245,7 +244,7 @@ static INPUT_PORTS_START( tank8 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START("RC") // 10
+ PORT_START("RC")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME( "RC 1" )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME( "RC 2" )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME( "RC 3" )
@@ -255,12 +254,11 @@ static INPUT_PORTS_START( tank8 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME( "RC 7" )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME( "RC 8" )
- PORT_START("VBLANK") // 11
+ PORT_START("VBLANK")
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_VBLANK )
- PORT_START("CRASH") // 12
+ PORT_START("CRASH")
PORT_ADJUSTER( 50, "Crash, Explosion Volume" )
-
INPUT_PORTS_END
diff --git a/src/mame/drivers/tankbust.c b/src/mame/drivers/tankbust.c
index e5d996d911a..9b3c105fd99 100644
--- a/src/mame/drivers/tankbust.c
+++ b/src/mame/drivers/tankbust.c
@@ -200,9 +200,9 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xd000, 0xd7ff) AM_READWRITE(tankbust_txtram_r, tankbust_txtram_w) AM_BASE(&tankbust_txtram)
AM_RANGE(0xd800, 0xd8ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
AM_RANGE(0xe000, 0xe007) AM_READWRITE(debug_output_area_r, tankbust_e0xx_w)
- AM_RANGE(0xe800, 0xe800) AM_READWRITE(input_port_0_r, tankbust_yscroll_w)
- AM_RANGE(0xe801, 0xe801) AM_READ(input_port_1_r)
- AM_RANGE(0xe802, 0xe802) AM_READ(input_port_2_r)
+ AM_RANGE(0xe800, 0xe800) AM_READ_PORT("INPUTS") AM_WRITE(tankbust_yscroll_w)
+ AM_RANGE(0xe801, 0xe801) AM_READ_PORT("SYSTEM")
+ AM_RANGE(0xe802, 0xe802) AM_READ_PORT("DSW")
AM_RANGE(0xe801, 0xe802) AM_WRITE(tankbust_xscroll_w)
AM_RANGE(0xe803, 0xe803) AM_READWRITE(some_changing_input, tankbust_soundlatch_w) /*unknown. Game expects this to change so this is not player input */
AM_RANGE(0xe804, 0xe804) AM_WRITE(SMH_NOP) /* watchdog ? ; written in long-lasting loops */
@@ -233,7 +233,7 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( tankbust )
- PORT_START("INPUTS") /* IN0 */
+ PORT_START("INPUTS")
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_RIGHT ) PORT_8WAY
@@ -243,7 +243,7 @@ static INPUT_PORTS_START( tankbust )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START("SYSTEM") /* IN1 */
+ PORT_START("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 )
@@ -253,7 +253,7 @@ static INPUT_PORTS_START( tankbust )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START("DSW") /* DSW */
+ PORT_START("DSW")
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
PORT_DIPSETTING( 0x03, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x02, DEF_STR( Hard ) )
diff --git a/src/mame/drivers/taotaido.c b/src/mame/drivers/taotaido.c
index 0413d3d9269..d6305351846 100644
--- a/src/mame/drivers/taotaido.c
+++ b/src/mame/drivers/taotaido.c
@@ -102,26 +102,26 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x800000, 0x803fff) AM_RAM_WRITE(taotaido_bgvideoram_w) AM_BASE(&taotaido_bgram) // bg ram?
AM_RANGE(0xa00000, 0xa01fff) AM_RAM AM_BASE(&taotaido_spriteram) // sprite ram
AM_RANGE(0xc00000, 0xc0ffff) AM_RAM AM_BASE(&taotaido_spriteram2) // sprite tile lookup ram
- AM_RANGE(0xfe0000, 0xfeffff) AM_RAM // main ram
+ AM_RANGE(0xfe0000, 0xfeffff) AM_RAM // main ram
AM_RANGE(0xffc000, 0xffcfff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16) // palette ram
AM_RANGE(0xffe000, 0xffe3ff) AM_RAM AM_BASE(&taotaido_scrollram) // rowscroll / rowselect / scroll ram
- AM_RANGE(0xffff80, 0xffff81) AM_READ(input_port_0_word_r) // player 1 inputs
- AM_RANGE(0xffff82, 0xffff83) AM_READ(input_port_1_word_r) // player 2 inputs
- AM_RANGE(0xffff84, 0xffff85) AM_READ(input_port_2_word_r) // system inputs
- AM_RANGE(0xffff86, 0xffff87) AM_READ(input_port_3_word_r) // DSWA
- AM_RANGE(0xffff88, 0xffff89) AM_READ(input_port_4_word_r) // DSWB
- AM_RANGE(0xffff8a, 0xffff8b) AM_READ(input_port_5_word_r) // DSWC
- AM_RANGE(0xffff8c, 0xffff8d) AM_READ(SMH_RAM) // unknown
- AM_RANGE(0xffff8e, 0xffff8f) AM_READ(input_port_6_word_r) // jumpers
+ AM_RANGE(0xffff80, 0xffff81) AM_READ_PORT("P1")
+ AM_RANGE(0xffff82, 0xffff83) AM_READ_PORT("P2")
+ AM_RANGE(0xffff84, 0xffff85) AM_READ_PORT("SYSTEM")
+ AM_RANGE(0xffff86, 0xffff87) AM_READ_PORT("DSW1")
+ AM_RANGE(0xffff88, 0xffff89) AM_READ_PORT("DSW2")
+ AM_RANGE(0xffff8a, 0xffff8b) AM_READ_PORT("DSW3")
+ AM_RANGE(0xffff8c, 0xffff8d) AM_READ(SMH_RAM) // unknown
+ AM_RANGE(0xffff8e, 0xffff8f) AM_READ_PORT("JP")
#if TAOTAIDO_SHOW_ALL_INPUTS
- AM_RANGE(0xffffa0, 0xffffa1) AM_READ(input_port_7_word_r) // player 3 inputs (unused)
- AM_RANGE(0xffffa2, 0xffffa3) AM_READ(input_port_8_word_r) // player 4 inputs (unused)
+ AM_RANGE(0xffffa0, 0xffffa1) AM_READ_PORT("P3") // unused
+ AM_RANGE(0xffffa2, 0xffffa3) AM_READ_PORT("P4") // unused
#endif
AM_RANGE(0xffff00, 0xffff0f) AM_WRITE(taotaido_tileregs_w)
AM_RANGE(0xffff10, 0xffff11) AM_WRITE(SMH_NOP) // unknown
AM_RANGE(0xffff20, 0xffff21) AM_WRITE(SMH_NOP) // unknown - flip screen related
AM_RANGE(0xffff40, 0xffff47) AM_WRITE(taotaido_sprite_character_bank_select_w)
- AM_RANGE(0xffffc0, 0xffffc1) AM_WRITE(sound_command_w) // seems right
+ AM_RANGE(0xffffc0, 0xffffc1) AM_WRITE(sound_command_w) // seems right
AM_RANGE(0xffffe0, 0xffffe1) AM_READ(pending_command_r) // guess - seems to be needed for all the sounds to work
ADDRESS_MAP_END
@@ -159,7 +159,7 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( taotaido )
- PORT_START("IN0") /* Player 1 controls (0xffff81.b) */
+ PORT_START("P1") /* 0xffff81.b */
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)
@@ -173,7 +173,7 @@ static INPUT_PORTS_START( taotaido )
#endif
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START("IN1") /* Player 2 controls (0xffff83.b) */
+ PORT_START("P2") /* 0xffff83.b */
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)
@@ -187,7 +187,7 @@ static INPUT_PORTS_START( taotaido )
#endif
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START("IN2") /* System inputs (0xffff85.b) */
+ PORT_START("SYSTEM") /* 0xffff85.b */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) // see notes
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START1 )
@@ -201,7 +201,7 @@ static INPUT_PORTS_START( taotaido )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE1 ) // see notes - SERVICE in "test mode"
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) // VBLANK ? The game freezes when ON
- PORT_START("DSW0") /* DSW A (0xffff87.b -> !0xfe2f6c.w or !0xfe30d0) */
+ PORT_START("DSW1") /* 0xffff87.b -> !0xfe2f6c.w or !0xfe30d0 */
PORT_DIPNAME( 0x01, 0x01, "Coin Slot" )
PORT_DIPSETTING( 0x01, "Same" )
PORT_DIPSETTING( 0x00, "Individual" )
@@ -221,7 +221,7 @@ static INPUT_PORTS_START( taotaido )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_START("DSW1") /* DSW B (0xffff89.b -> !0xfe73c2.w or !0xfe751c.w) */
+ PORT_START("DSW2") /* 0xffff89.b -> !0xfe73c2.w or !0xfe751c.w */
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) ) // check code at 0x0963e2 or 0x845e2
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@@ -238,7 +238,7 @@ static INPUT_PORTS_START( taotaido )
PORT_DIPUNUSED( 0x40, IP_ACTIVE_LOW )
PORT_DIPUNUSED( 0x80, IP_ACTIVE_LOW )
- PORT_START("DSW2") /* DSW C (0xffff8b.b -> !0xfe2f94.w or !0xfe30f8.w) */
+ PORT_START("DSW3") /* 0xffff8b.b -> !0xfe2f94.w or !0xfe30f8.w */
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) // doesn't seem to be demo sounds
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
@@ -252,7 +252,7 @@ static INPUT_PORTS_START( taotaido )
PORT_DIPUNUSED( 0x40, IP_ACTIVE_LOW )
PORT_DIPUNUSED( 0x80, IP_ACTIVE_LOW )
- PORT_START("JP0") /* Jumpers (0xffff8f.b) */
+ PORT_START("JP") /* Jumpers (0xffff8f.b) */
PORT_DIPNAME( 0x0f, 0x08, "Country" )
PORT_DIPSETTING( 0x00, "US" ) // also (c) Mc O'River Inc
PORT_DIPSETTING( 0x01, DEF_STR( Japan ) )
@@ -267,7 +267,7 @@ static INPUT_PORTS_START( taotaido )
#if TAOTAIDO_SHOW_ALL_INPUTS
/* These inputs are only to fit the test mode - leftover from another game ? */
- PORT_START("IN3") /* Player 3 inputs (0xffffa1.b) */
+ PORT_START("P3") /* 0xffffa1.b */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(3)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(3)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(3)
@@ -277,7 +277,7 @@ static INPUT_PORTS_START( taotaido )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(3)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START("IN4") /* Player 4 inputs (0xffffa3.b) */
+ PORT_START("P4") /* 0xffffa3.b */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(4)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(4)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(4)
@@ -292,10 +292,10 @@ INPUT_PORTS_END
static INPUT_PORTS_START( taotaida )
PORT_INCLUDE(taotaido)
- PORT_MODIFY("IN0")
+ PORT_MODIFY("P1")
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
- PORT_MODIFY("IN1")
+ PORT_MODIFY("P2")
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
INPUT_PORTS_END
diff --git a/src/mame/drivers/targeth.c b/src/mame/drivers/targeth.c
index a15bcd3ea59..f18d0c2c03a 100644
--- a/src/mame/drivers/targeth.c
+++ b/src/mame/drivers/targeth.c
@@ -72,18 +72,18 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM_WRITE(targeth_vram_w) AM_BASE(&targeth_videoram) /* Video RAM */
AM_RANGE(0x108000, 0x108007) AM_WRITE(SMH_RAM) AM_BASE(&targeth_vregs) /* Video Registers */
- AM_RANGE(0x108000, 0x108001) AM_READ(input_port_0_word_r) /* Gun 1P X */
- AM_RANGE(0x108002, 0x108003) AM_READ(input_port_1_word_r) /* Gun 1P Y */
- AM_RANGE(0x108004, 0x108005) AM_READ(input_port_2_word_r) /* Gun 2P X */
- AM_RANGE(0x108006, 0x108007) AM_READ(input_port_3_word_r) /* Gun 2P Y */
+ AM_RANGE(0x108000, 0x108001) AM_READ_PORT("GUNX1")
+ AM_RANGE(0x108002, 0x108003) AM_READ_PORT("GUNY1")
+ AM_RANGE(0x108004, 0x108005) AM_READ_PORT("GUNX2")
+ AM_RANGE(0x108006, 0x108007) AM_READ_PORT("GUNY2")
AM_RANGE(0x108000, 0x108007) AM_WRITE(SMH_RAM) AM_BASE(&targeth_vregs) /* Video Registers */
AM_RANGE(0x10800c, 0x10800d) AM_WRITE(SMH_NOP) /* CLR Video INT */
AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16) /* Palette */
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_BASE(&targeth_spriteram) /* Sprite RAM */
- AM_RANGE(0x700000, 0x700001) AM_READ(input_port_4_word_r) /* DIPSW #2 */
- AM_RANGE(0x700002, 0x700003) AM_READ(input_port_5_word_r) /* DIPSW #1 */
- AM_RANGE(0x700006, 0x700007) AM_READ(input_port_6_word_r) /* Coins, Start & Fire buttons */
- AM_RANGE(0x700008, 0x700009) AM_READ(input_port_7_word_r) /* Service & Guns Reload? */
+ AM_RANGE(0x700000, 0x700001) AM_READ_PORT("DSW2")
+ AM_RANGE(0x700002, 0x700003) AM_READ_PORT("DSW1")
+ AM_RANGE(0x700006, 0x700007) AM_READ_PORT("SYSTEM") /* Coins, Start & Fire buttons */
+ AM_RANGE(0x700008, 0x700009) AM_READ_PORT("SERVICE") /* Service & Guns Reload? */
AM_RANGE(0x70000a, 0x70001b) AM_WRITE(SMH_NOP) /* ??? Guns reload related? */
AM_RANGE(0x70000c, 0x70000d) AM_WRITE(OKIM6295_bankswitch_w) /* OKI6295 bankswitch */
AM_RANGE(0x70000e, 0x70000f) AM_READWRITE(okim6295_status_0_lsb_r, okim6295_data_0_lsb_w) /* OKI6295 status register */
@@ -92,46 +92,23 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
ADDRESS_MAP_END
static INPUT_PORTS_START( targeth )
- PORT_START("GUNX1") /* Gun 1 X */
+ PORT_START("GUNX1")
PORT_BIT( 0x01ff, 200, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.05, -0.028, 0) PORT_MINMAX( 0, 400 + 4) PORT_SENSITIVITY(100) PORT_KEYDELTA(20) PORT_PLAYER(1)
PORT_BIT( 0xfe00, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_START("GUNY1") /* Gun 1 Y */
+ PORT_START("GUNY1")
PORT_BIT( 0x01ff, 128, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1.041, -0.011, 0) PORT_MINMAX(4,255) PORT_SENSITIVITY(100) PORT_KEYDELTA(20) PORT_PLAYER(1)
PORT_BIT( 0xfe00, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_START("GUNX2") /* Gun 2 X */
+ PORT_START("GUNX2")
PORT_BIT( 0x01ff, 400 + 4, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.05, -0.028, 0) PORT_MINMAX( 0, 400 + 4) PORT_SENSITIVITY(100) PORT_KEYDELTA(20) PORT_PLAYER(2)
PORT_BIT( 0xfe00, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_START("GUNY2") /* Gun 2 Y */
+ PORT_START("GUNY2")
PORT_BIT( 0x01ff, 255, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1.041, -0.011, 0) PORT_MINMAX(4,255) PORT_SENSITIVITY(100) PORT_KEYDELTA(20) PORT_PLAYER(2)
PORT_BIT( 0xfe00, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_START("DSW2") /* DSW #2 */
- PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
- PORT_DIPSETTING( 0x01, DEF_STR( Easy ) )
- PORT_DIPSETTING( 0x03, DEF_STR( Normal ) )
- PORT_DIPSETTING( 0x02, DEF_STR( Hard ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
- PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Demo_Sounds ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x20, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x40, "Gun alarm" ) /* This doesn't work. What's supposed to do? */
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
-
- PORT_START("DSW1") /* DSW #1 */
+ PORT_START("DSW1")
PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coin_A ) )
PORT_DIPSETTING( 0x02, DEF_STR( 6C_1C ) )
PORT_DIPSETTING( 0x03, DEF_STR( 5C_1C ) )
@@ -155,9 +132,32 @@ static INPUT_PORTS_START( targeth )
PORT_DIPSETTING( 0x00, "Start 2C/Continue 1C" )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Free_Play ) )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
+
+ PORT_START("DSW2")
+ PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( Easy ) )
+ PORT_DIPSETTING( 0x03, DEF_STR( Normal ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( Hard ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
+ PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x20, 0x20, DEF_STR( Demo_Sounds ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x20, DEF_STR( On ) )
+ PORT_DIPNAME( 0x40, 0x40, "Gun alarm" ) /* This doesn't work. What's supposed to do? */
+ PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_START("SYSTEM") /* Button 1, COINSW & STARTSW */
+ PORT_START("SYSTEM")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@@ -167,7 +167,7 @@ static INPUT_PORTS_START( targeth )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
- PORT_START("SERVICE") /* Service & Button 2 */
+ PORT_START("SERVICE")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* this MUST be low or the game doesn't boot */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) /* Reload 1P? */
diff --git a/src/mame/drivers/tattack.c b/src/mame/drivers/tattack.c
index a1c7e86ec52..d5b1d135fe7 100644
--- a/src/mame/drivers/tattack.c
+++ b/src/mame/drivers/tattack.c
@@ -54,13 +54,13 @@ static VIDEO_START( tattack )
static ADDRESS_MAP_START( mem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0fff) AM_ROM
-// AM_RANGE(0x4000, 0x4000) AM_READNOP $315
+// AM_RANGE(0x4000, 0x4000) AM_READNOP $315
AM_RANGE(0x5000, 0x53ff) AM_RAM AM_BASE(&videoram)
- AM_RANGE(0x7000, 0x73ff) AM_RAM AM_BASE(&colorram) //color map ? something else .. only bits 1-3 are used
- AM_RANGE(0x6000, 0x6000) AM_READ(input_port_2_r)
- AM_RANGE(0xa000, 0xa000) AM_READ(input_port_1_r) //dsw ? something else ?
- AM_RANGE(0xc000, 0xc000) AM_READ(input_port_0_r) AM_WRITENOP
- AM_RANGE(0xc001, 0xc002) AM_WRITENOP //bit 7 = strobe ($302)
+ AM_RANGE(0x7000, 0x73ff) AM_RAM AM_BASE(&colorram) // color map ? something else .. only bits 1-3 are used
+ AM_RANGE(0x6000, 0x6000) AM_READ_PORT("DSW2")
+ AM_RANGE(0xa000, 0xa000) AM_READ_PORT("DSW1") // dsw ? something else ?
+ AM_RANGE(0xc000, 0xc000) AM_READ_PORT("INPUTS") AM_WRITENOP
+ AM_RANGE(0xc001, 0xc002) AM_WRITENOP // bit 7 = strobe ($302)
AM_RANGE(0xc005, 0xc007) AM_WRITENOP
AM_RANGE(0xe000, 0xe3ff) AM_RAM
ADDRESS_MAP_END
@@ -137,7 +137,6 @@ static INPUT_PORTS_START( tattack )
PORT_DIPNAME( 0x80, 0x00, "DSW2 8" )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
-
INPUT_PORTS_END
diff --git a/src/mame/drivers/taxidrvr.c b/src/mame/drivers/taxidrvr.c
index c6c433bf256..2e5c19c1b4e 100644
--- a/src/mame/drivers/taxidrvr.c
+++ b/src/mame/drivers/taxidrvr.c
@@ -61,7 +61,7 @@ static READ8_HANDLER( p1b_r )
static READ8_HANDLER( p1c_r )
{
- return (s2 << 7) | (s4 << 6) | ((input_port_read(machine, "IN2") & 1) << 4);
+ return (s2 << 7) | (s4 << 6) | ((input_port_read(machine, "SERVCOIN") & 1) << 4);
}
static WRITE8_HANDLER( p1a_w )
@@ -167,11 +167,11 @@ static ADDRESS_MAP_START( cpu2_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x6000, 0x67ff) AM_RAM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xa000, 0xa003) AM_DEVREADWRITE(PPI8255, "ppi8255_1", ppi8255_r, ppi8255_w)
- AM_RANGE(0xe000, 0xe000) AM_READ(input_port_0_r)
- AM_RANGE(0xe001, 0xe001) AM_READ(input_port_1_r)
- AM_RANGE(0xe002, 0xe002) AM_READ(input_port_2_r)
- AM_RANGE(0xe003, 0xe003) AM_READ(input_port_3_r)
- AM_RANGE(0xe004, 0xe004) AM_READ(input_port_4_r)
+ AM_RANGE(0xe000, 0xe000) AM_READ_PORT("DSW0")
+ AM_RANGE(0xe001, 0xe001) AM_READ_PORT("DSW1")
+ AM_RANGE(0xe002, 0xe002) AM_READ_PORT("DSW2")
+ AM_RANGE(0xe003, 0xe003) AM_READ_PORT("P1")
+ AM_RANGE(0xe004, 0xe004) AM_READ_PORT("P2")
ADDRESS_MAP_END
static ADDRESS_MAP_START( cpu3_map, ADDRESS_SPACE_PROGRAM, 8 )
@@ -276,7 +276,7 @@ static INPUT_PORTS_START( taxidrvr )
PORT_DIPSETTING( 0x80, "20/15" )
PORT_DIPSETTING( 0xc0, "10/10" )
- PORT_START("IN0")
+ PORT_START("P1")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON2 )
@@ -286,7 +286,7 @@ static INPUT_PORTS_START( taxidrvr )
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY
- PORT_START("IN1")
+ PORT_START("P2")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN2 )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL
@@ -296,7 +296,7 @@ static INPUT_PORTS_START( taxidrvr )
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
- PORT_START("IN2")
+ PORT_START("SERVCOIN")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 ) /* handled by p1c_r() */
INPUT_PORTS_END
diff --git a/src/mame/drivers/tbowl.c b/src/mame/drivers/tbowl.c
index e26ba01c5d4..45f3f22a914 100644
--- a/src/mame/drivers/tbowl.c
+++ b/src/mame/drivers/tbowl.c
@@ -112,19 +112,19 @@ static ADDRESS_MAP_START( 6206B_map, ADDRESS_SPACE_PROGRAM, 8 )
// AM_RANGE(0xf000, 0xf000) AM_WRITE(unknown_write) * written during start-up, not again */
AM_RANGE(0xf000, 0xf7ff) AM_READWRITE(SMH_BANK1, SMH_ROM)
AM_RANGE(0xf800, 0xfbff) AM_READWRITE(shared_r, shared_w) AM_BASE(&shared_ram) /* check */
- AM_RANGE(0xfc00, 0xfc00) AM_READWRITE(input_port_0_r, tbowlb_bankswitch_w) /* Player 1 inputs */
- AM_RANGE(0xfc01, 0xfc01) AM_READ(input_port_1_r) /* Player 2 inputs */
+ AM_RANGE(0xfc00, 0xfc00) AM_READ_PORT("P1") AM_WRITE(tbowlb_bankswitch_w)
+ AM_RANGE(0xfc01, 0xfc01) AM_READ_PORT("P2")
// AM_RANGE(0xfc01, 0xfc01) AM_WRITE(unknown_write) /* written during start-up, not again */
- AM_RANGE(0xfc02, 0xfc02) AM_READ(input_port_2_r) /* Player 3 inputs */
+ AM_RANGE(0xfc02, 0xfc02) AM_READ_PORT("P3")
// AM_RANGE(0xfc02, 0xfc02) AM_WRITE(unknown_write) /* written during start-up, not again */
- AM_RANGE(0xfc03, 0xfc03) AM_READWRITE(input_port_3_r, tbowl_coin_counter_w) /* Player 4 inputs */
+ AM_RANGE(0xfc03, 0xfc03) AM_READ_PORT("P4") AM_WRITE(tbowl_coin_counter_w)
// AM_RANGE(0xfc05, 0xfc05) AM_WRITE(unknown_write) /* no idea */
// AM_RANGE(0xfc06, 0xfc06) AM_READ(dummy_r) /* Read During NMI */
- AM_RANGE(0xfc07, 0xfc07) AM_READ(input_port_4_r) /* System inputs */
- AM_RANGE(0xfc08, 0xfc08) AM_READ(input_port_5_r) /* DSW1 */
+ AM_RANGE(0xfc07, 0xfc07) AM_READ_PORT("SYSTEM")
+ AM_RANGE(0xfc08, 0xfc08) AM_READ_PORT("DSW1")
// AM_RANGE(0xfc08, 0xfc08) AM_WRITE(unknown_write) /* hardly used .. */
- AM_RANGE(0xfc09, 0xfc09) AM_READ(input_port_6_r) /* DSW2 */
- AM_RANGE(0xfc0a, 0xfc0a) AM_READ(input_port_7_r) /* DSW3 */
+ AM_RANGE(0xfc09, 0xfc09) AM_READ_PORT("DSW2")
+ AM_RANGE(0xfc0a, 0xfc0a) AM_READ_PORT("DSW3")
// AM_RANGE(0xfc0a, 0xfc0a) AM_WRITE(unknown_write) /* hardly used .. */
AM_RANGE(0xfc0d, 0xfc0d) AM_WRITE(tbowl_sound_command_w) /* not sure, used quite a bit */
AM_RANGE(0xfc10, 0xfc10) AM_WRITE(tbowl_bg2xscroll_lo)
@@ -269,19 +269,19 @@ bits 0 and 1 ? I'll try to have another look when the sprites stuff is finished.
static INPUT_PORTS_START( tbowl )
- PORT_START("P1") /* player 1 inputs (0xfc00) */
+ PORT_START("P1") /* 0xfc00 */
TBOWL_PLAYER_INPUT(1)
- PORT_START("P2") /* player 2 inputs (0xfc01) */
+ PORT_START("P2") /* 0xfc01 */
TBOWL_PLAYER_INPUT(2)
- PORT_START("P3") /* player 3 inputs (0xfc02) */
+ PORT_START("P3") /* 0xfc02 */
TBOWL_PLAYER_INPUT(3)
- PORT_START("P4") /* player 4 inputs (0xfc03) */
+ PORT_START("P4") /* 0xfc03 */
TBOWL_PLAYER_INPUT(4)
- PORT_START("SYSTEM") /* system inputs (0xfc07 -> 0x80f9) */
+ PORT_START("SYSTEM") /* 0xfc07 -> 0x80f9 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 )
@@ -291,7 +291,7 @@ static INPUT_PORTS_START( tbowl )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START("DSW1") /* DSW1 (0xfc08 -> 0xffb4) */
+ PORT_START("DSW1") /* 0xfc08 -> 0xffb4 */
PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coinage ) )
PORT_DIPSETTING ( 0x00, DEF_STR( 8C_1C ) )
PORT_DIPSETTING ( 0x01, DEF_STR( 7C_1C ) )
@@ -335,7 +335,7 @@ static INPUT_PORTS_START( tbowl )
PORT_DIPSETTING ( 0xf0, "0:25" )
// PORT_DIPSETTING ( 0xf8, "1:00" )
- PORT_START("DSW2") /* DSW2 (0xfc09 -> 0xffb5) */
+ PORT_START("DSW2") /* 0xfc09 -> 0xffb5 */
PORT_DIPNAME( 0x03, 0x03, "Difficulty (unused ?)" ) // To be checked again
PORT_DIPSETTING ( 0x00, "0x00" )
PORT_DIPSETTING ( 0x01, "0x01" )
@@ -358,7 +358,7 @@ static INPUT_PORTS_START( tbowl )
PORT_DIPSETTING ( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING ( 0x80, DEF_STR( On ) )
- PORT_START("DSW3") /* DSW3 (0xfc0a -> 0xffb6) */
+ PORT_START("DSW3") /* 0xfc0a -> 0xffb6 */
PORT_DIPNAME( 0x03, 0x03, "Time (Quarter)" )
PORT_DIPSETTING ( 0x00, "8:00" )
PORT_DIPSETTING ( 0x01, "5:00" )
@@ -375,96 +375,9 @@ INPUT_PORTS_END
/* same as 'tbowl', but different "Quarter Time" Dip Switch
("3:00" and "4:00" are inverted) */
static INPUT_PORTS_START( tbowlj )
- PORT_START("P1") /* player 1 inputs (0xfc00) */
- TBOWL_PLAYER_INPUT(1)
-
- PORT_START("P2") /* player 2 inputs (0xfc01) */
- TBOWL_PLAYER_INPUT(2)
-
- PORT_START("P3") /* player 3 inputs (0xfc02) */
- TBOWL_PLAYER_INPUT(3)
-
- PORT_START("P4") /* player 4 inputs (0xfc03) */
- TBOWL_PLAYER_INPUT(4)
-
- PORT_START("SYSTEM") /* system inputs (0xfc07 -> 0x80f9) */
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN4 )
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Service (General)") PORT_CODE(KEYCODE_F1)
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("DSW1") /* DSW1 (0xfc08 -> 0xffb4) */
- PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coinage ) )
- PORT_DIPSETTING ( 0x00, DEF_STR( 8C_1C ) )
- PORT_DIPSETTING ( 0x01, DEF_STR( 7C_1C ) )
- PORT_DIPSETTING ( 0x02, DEF_STR( 6C_1C ) )
- PORT_DIPSETTING ( 0x03, DEF_STR( 5C_1C ) )
- PORT_DIPSETTING ( 0x04, DEF_STR( 4C_1C ) )
- PORT_DIPSETTING ( 0x05, DEF_STR( 3C_1C ) )
- PORT_DIPSETTING ( 0x06, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING ( 0x07, DEF_STR( 1C_1C ) )
- PORT_DIPNAME( 0xf8, 0xb8, "Time (Players)" )
- PORT_DIPSETTING ( 0x00, "7:00" )
- PORT_DIPSETTING ( 0x08, "6:00" )
- PORT_DIPSETTING ( 0x10, "5:00" )
- PORT_DIPSETTING ( 0x18, "4:30" )
- PORT_DIPSETTING ( 0x20, "3:40" )
- PORT_DIPSETTING ( 0x28, "3:20" )
- PORT_DIPSETTING ( 0x30, "3:00" )
- PORT_DIPSETTING ( 0x38, "2:50" )
- PORT_DIPSETTING ( 0x40, "2:40" )
- PORT_DIPSETTING ( 0x48, "2:30" )
- PORT_DIPSETTING ( 0x50, "2:20" )
- PORT_DIPSETTING ( 0x58, "2:10" )
- PORT_DIPSETTING ( 0x60, "2:00" )
- PORT_DIPSETTING ( 0x68, "1:55" )
- PORT_DIPSETTING ( 0x70, "1:50" )
- PORT_DIPSETTING ( 0x78, "1:45" )
- PORT_DIPSETTING ( 0x80, "1:40" )
- PORT_DIPSETTING ( 0x88, "1:35" )
- PORT_DIPSETTING ( 0x90, "1:25" )
- PORT_DIPSETTING ( 0x98, "1:20" )
- PORT_DIPSETTING ( 0xa0, "1:15" )
- PORT_DIPSETTING ( 0xa8, "1:10" )
- PORT_DIPSETTING ( 0xb0, "1:05" )
- PORT_DIPSETTING ( 0xb8, "1:00" )
- PORT_DIPSETTING ( 0xc0, "0:55" )
- PORT_DIPSETTING ( 0xc8, "0:50" )
- PORT_DIPSETTING ( 0xd0, "0:45" )
- PORT_DIPSETTING ( 0xd8, "0:40" )
- PORT_DIPSETTING ( 0xe0, "0:35" )
- PORT_DIPSETTING ( 0xe8, "0:30" )
- PORT_DIPSETTING ( 0xf0, "0:25" )
-// PORT_DIPSETTING ( 0xf8, "1:00" )
+ PORT_INCLUDE( tbowl )
- PORT_START("DSW2") /* DSW2 (0xfc09 -> 0xffb5) */
- PORT_DIPNAME( 0x03, 0x03, "Difficulty (unused ?)" ) // To be checked again
- PORT_DIPSETTING ( 0x00, "0x00" )
- PORT_DIPSETTING ( 0x01, "0x01" )
- PORT_DIPSETTING ( 0x02, "0x02" )
- PORT_DIPSETTING ( 0x03, "0x03" )
- PORT_DIPNAME( 0x0c, 0x0c, "Extra Time (Players)" ) // For multiple "credits"
- PORT_DIPSETTING ( 0x00, "0:30" )
- PORT_DIPSETTING ( 0x04, "0:20" )
- PORT_DIPSETTING ( 0x08, "0:10" )
- PORT_DIPSETTING ( 0x0c, DEF_STR( None ) )
- PORT_DIPNAME( 0x30, 0x30, "Timer Speed" )
- PORT_DIPSETTING ( 0x00, "56/60" )
- PORT_DIPSETTING ( 0x10, "51/60" )
- PORT_DIPSETTING ( 0x30, "47/60" )
- PORT_DIPSETTING ( 0x20, "42/60" )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Demo_Sounds ) ) // Check code at 0x0393
- PORT_DIPSETTING ( 0x00, DEF_STR( Off ) )
- PORT_DIPSETTING ( 0x40, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, "Hi-Score Reset" ) // Only if P1 buttons 1 and 2 are pressed during P.O.S.T. !
- PORT_DIPSETTING ( 0x00, DEF_STR( Off ) )
- PORT_DIPSETTING ( 0x80, DEF_STR( On ) )
-
- PORT_START("DSW3") /* DSW3 (0xfc0a -> 0xffb6) */
+ PORT_MODIFY("DSW3")
PORT_DIPNAME( 0x03, 0x03, "Time (Quarter)" )
PORT_DIPSETTING ( 0x00, "8:00" )
PORT_DIPSETTING ( 0x01, "5:00" )
@@ -475,7 +388,6 @@ static INPUT_PORTS_START( tbowlj )
PORT_DIPSETTING ( 0x04, "0x04 = 0x5402" )
PORT_DIPSETTING ( 0x08, "0x08 = 0x54f0" )
PORT_DIPSETTING ( 0x0c, "0x0c = 0x54de" )
- PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
INPUT_PORTS_END
diff --git a/src/mame/drivers/tecmo.c b/src/mame/drivers/tecmo.c
index 76df1e1a77a..df4b9dfe6d1 100644
--- a/src/mame/drivers/tecmo.c
+++ b/src/mame/drivers/tecmo.c
@@ -122,17 +122,17 @@ static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xbfff) AM_READ(SMH_ROM)
AM_RANGE(0xc000, 0xefff) AM_READ(SMH_RAM)
AM_RANGE(0xf000, 0xf7ff) AM_READ(SMH_BANK1)
- AM_RANGE(0xf800, 0xf800) AM_READ(input_port_0_r)
- AM_RANGE(0xf801, 0xf801) AM_READ(input_port_1_r)
- AM_RANGE(0xf802, 0xf802) AM_READ(input_port_2_r)
- AM_RANGE(0xf803, 0xf803) AM_READ(input_port_3_r)
- AM_RANGE(0xf804, 0xf804) AM_READ(input_port_4_r)
- AM_RANGE(0xf805, 0xf805) AM_READ(input_port_5_r)
- AM_RANGE(0xf806, 0xf806) AM_READ(input_port_6_r)
- AM_RANGE(0xf807, 0xf807) AM_READ(input_port_7_r)
- AM_RANGE(0xf808, 0xf808) AM_READ(input_port_8_r)
- AM_RANGE(0xf809, 0xf809) AM_READ(input_port_9_r)
- AM_RANGE(0xf80f, 0xf80f) AM_READ(input_port_10_r)
+ AM_RANGE(0xf800, 0xf800) AM_READ_PORT("JOY1")
+ AM_RANGE(0xf801, 0xf801) AM_READ_PORT("BUTTONS1")
+ AM_RANGE(0xf802, 0xf802) AM_READ_PORT("JOY2")
+ AM_RANGE(0xf803, 0xf803) AM_READ_PORT("BUTTONS2")
+ AM_RANGE(0xf804, 0xf804) AM_READ_PORT("SYS_0")
+ AM_RANGE(0xf805, 0xf805) AM_READ_PORT("SYS_1")
+ AM_RANGE(0xf806, 0xf806) AM_READ_PORT("DSWA_0")
+ AM_RANGE(0xf807, 0xf807) AM_READ_PORT("DSWA_1")
+ AM_RANGE(0xf808, 0xf808) AM_READ_PORT("DSWB_0")
+ AM_RANGE(0xf809, 0xf809) AM_READ_PORT("DSWB_1")
+ AM_RANGE(0xf80f, 0xf80f) AM_READ_PORT("SYS_2")
ADDRESS_MAP_END
static ADDRESS_MAP_START( rygar_writemem, ADDRESS_SPACE_PROGRAM, 8 )
@@ -226,40 +226,43 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( rygar )
- PORT_START("JOY1") /* IN0 bits 0-3 */
+ PORT_START("JOY1")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY
- PORT_START("BUTTONS1") /* IN1 bits 0-3 */
+ PORT_START("BUTTONS1")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE1 )
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_START("JOY2") /* IN2 bits 0-3 */
+ PORT_START("JOY2")
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_DOWN ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
- PORT_START("BUTTONS2") /* IN3 bits 0-3 */
+ PORT_START("BUTTONS2")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_START("SYS_0") /* IN4 bits 0-3 */
+ PORT_START("SYS_0")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START2 )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START1 )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN2 )
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_COIN1 )
- PORT_START("SYS_1") /* unused? */
+ PORT_START("SYS_1") /* unused? */
PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_START("DSWA_0") /* DSWA bit 0-3 */
+ PORT_START("SYS_2") /* unused? */
+ PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+
+ PORT_START("DSWA_0")
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coin_A ) )
PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
@@ -271,7 +274,7 @@ static INPUT_PORTS_START( rygar )
PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x0C, DEF_STR( 1C_3C ) )
- PORT_START("DSWA_1") /* DSWA bit 4-7 */
+ PORT_START("DSWA_1")
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x03, "2" )
PORT_DIPSETTING( 0x00, "3" )
@@ -284,7 +287,7 @@ static INPUT_PORTS_START( rygar )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x08, DEF_STR( On ) )
- PORT_START("DSWB_0") /* DSWB bit 0-3 */
+ PORT_START("DSWB_0")
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Bonus_Life ) )
PORT_DIPSETTING( 0x00, "50000 200000 500000" )
PORT_DIPSETTING( 0x01, "100000 300000 600000" )
@@ -297,7 +300,7 @@ static INPUT_PORTS_START( rygar )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x08, DEF_STR( On ) )
- PORT_START("DSWB_1") /* DSWB bit 4-7 */
+ PORT_START("DSWB_1")
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Difficulty ) )
PORT_DIPSETTING( 0x00, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x01, DEF_STR( Normal ) )
@@ -309,46 +312,46 @@ static INPUT_PORTS_START( rygar )
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Allow_Continue ) )
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
PORT_DIPSETTING( 0x08, DEF_STR( Yes ) )
-
- PORT_START("UNK") /* unused? */
- PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_UNKNOWN )
INPUT_PORTS_END
static INPUT_PORTS_START( gemini )
- PORT_START("JOY1") /* IN0 bits 0-3 */
+ PORT_START("JOY1")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY
- PORT_START("BUTTONS1") /* IN1 bits 0-3 */
+ PORT_START("BUTTONS1")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_START("JOY2") /* IN2 bits 0-3 */
+ PORT_START("JOY2")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
- PORT_START("BUTTONS2") /* IN3 bits 0-3 */
+ PORT_START("BUTTONS2")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_START("SYS_0") /* unused? */
+ PORT_START("SYS_0") /* unused? */
PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_START("SYS_1") /* IN4 bits 0-3 */
+ PORT_START("SYS_1")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN1 )
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_COIN2 )
- PORT_START("DSWA_0") /* DSWA bit 0-3 */
+ PORT_START("SYS_2") /* unused? */
+ PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+
+ PORT_START("DSWA_0")
PORT_DIPNAME( 0x07, 0x00, DEF_STR( Coin_A ) )
PORT_DIPSETTING( 0x06, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
@@ -362,7 +365,7 @@ static INPUT_PORTS_START( gemini )
PORT_DIPSETTING( 0x00, "Round 6" )
PORT_DIPSETTING( 0x08, "Round 7" )
- PORT_START("DSWA_1") /* DSWA bit 4-7 */
+ PORT_START("DSWA_1")
PORT_DIPNAME( 0x07, 0x00, DEF_STR( Coin_B ) )
PORT_DIPSETTING( 0x06, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
@@ -376,7 +379,7 @@ static INPUT_PORTS_START( gemini )
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
PORT_DIPSETTING( 0x08, DEF_STR( Yes ) )
- PORT_START("DSWB_0") /* DSWB bit 0-3 */
+ PORT_START("DSWB_0")
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x03, "2" )
PORT_DIPSETTING( 0x00, "3" )
@@ -388,7 +391,7 @@ static INPUT_PORTS_START( gemini )
PORT_DIPSETTING( 0x08, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x0c, DEF_STR( Hardest ) )
- PORT_START("DSWB_1") /* DSWB bit 4-7 */
+ PORT_START("DSWB_1")
PORT_DIPNAME( 0x07, 0x00, DEF_STR( Bonus_Life ) )
PORT_DIPSETTING( 0x00, "50000 200000" )
PORT_DIPSETTING( 0x01, "50000 300000" )
@@ -401,43 +404,46 @@ static INPUT_PORTS_START( gemini )
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Demo_Sounds ) )
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
-
- PORT_START("UNK") /* unused? */
- PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_UNKNOWN )
INPUT_PORTS_END
static INPUT_PORTS_START( silkworm )
- PORT_START("JOY1") /* IN0 bits 0-3 */
+ PORT_START("JOY1")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY
- PORT_START("BUTTONS1") /* IN0 bits 4-7 */
+ PORT_START("BUTTONS1")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON3 )
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* unused? */
- PORT_START("JOY2") /* IN1 bits 0-3 */
+ PORT_START("JOY2")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
- PORT_START("BUTTONS2") /* IN1 bits 4-7 */
+ PORT_START("BUTTONS2")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(2)
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2)
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(2)
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* unused? */
- PORT_START("SYS_0") /* unused? */
+ PORT_START("SYS_0") /* unused? */
PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_START("SYS_1") /* unused? */
+ PORT_START("SYS_1") /* unused? */
PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_START("DSWA_0") /* DSWA bit 0-3 */
+ PORT_START("SYS_2")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN1 )
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_COIN2 )
+
+ PORT_START("DSWA_0")
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coin_A ) )
PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
@@ -449,7 +455,7 @@ static INPUT_PORTS_START( silkworm )
PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x0C, DEF_STR( 1C_3C ) )
- PORT_START("DSWA_1") /* DSWA bit 4-7 */
+ PORT_START("DSWA_1")
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x03, "2" )
PORT_DIPSETTING( 0x00, "3" )
@@ -462,7 +468,7 @@ static INPUT_PORTS_START( silkworm )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x08, DEF_STR( On ) )
- PORT_START("DSWB_0") /* DSWB bit 0-3 */
+ PORT_START("DSWB_0")
PORT_DIPNAME( 0x07, 0x00, DEF_STR( Bonus_Life ) )
PORT_DIPSETTING( 0x00, "50000 200000 500000" )
PORT_DIPSETTING( 0x01, "100000 300000 800000" )
@@ -476,7 +482,7 @@ static INPUT_PORTS_START( silkworm )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x08, DEF_STR( On ) )
- PORT_START("DSWB_1") /* DSWB bit 4-7 */
+ PORT_START("DSWB_1")
PORT_DIPNAME( 0x07, 0x00, DEF_STR( Difficulty ) )
PORT_DIPSETTING( 0x00, "0" )
PORT_DIPSETTING( 0x01, "1" )
@@ -488,12 +494,6 @@ static INPUT_PORTS_START( silkworm )
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Allow_Continue ) )
PORT_DIPSETTING( 0x08, DEF_STR( No ) )
PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
-
- PORT_START("UNK") /* COIN */
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
- PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
- PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN1 )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_COIN2 )
INPUT_PORTS_END
diff --git a/src/mame/drivers/tecmo16.c b/src/mame/drivers/tecmo16.c
index fe4f1a9eeee..10f8462af93 100644
--- a/src/mame/drivers/tecmo16.c
+++ b/src/mame/drivers/tecmo16.c
@@ -79,9 +79,9 @@ static ADDRESS_MAP_START( fstarfrc_readmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x122000, 0x127fff) AM_READ(SMH_RAM)
AM_RANGE(0x130000, 0x130fff) AM_READ(SMH_RAM)
AM_RANGE(0x140000, 0x141fff) AM_READ(SMH_RAM)
- AM_RANGE(0x150030, 0x150031) AM_READ(input_port_1_word_r)
- AM_RANGE(0x150040, 0x150041) AM_READ(input_port_0_word_r)
- AM_RANGE(0x150050, 0x150051) AM_READ(input_port_2_word_r)
+ AM_RANGE(0x150030, 0x150031) AM_READ_PORT("DSW2")
+ AM_RANGE(0x150040, 0x150041) AM_READ_PORT("DSW1")
+ AM_RANGE(0x150050, 0x150051) AM_READ_PORT("P1_P2")
ADDRESS_MAP_END
static ADDRESS_MAP_START( fstarfrc_writemem, ADDRESS_SPACE_PROGRAM, 16 )
@@ -116,10 +116,10 @@ static ADDRESS_MAP_START( ginkun_readmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x124000, 0x124fff) AM_READ(SMH_RAM)
AM_RANGE(0x130000, 0x130fff) AM_READ(SMH_RAM)
AM_RANGE(0x140000, 0x141fff) AM_READ(SMH_RAM)
- AM_RANGE(0x150020, 0x150021) AM_READ(input_port_3_word_r)
- AM_RANGE(0x150030, 0x150031) AM_READ(input_port_1_word_r)
- AM_RANGE(0x150040, 0x150041) AM_READ(input_port_0_word_r)
- AM_RANGE(0x150050, 0x150051) AM_READ(input_port_2_word_r)
+ AM_RANGE(0x150020, 0x150021) AM_READ_PORT("EXTRA")
+ AM_RANGE(0x150030, 0x150031) AM_READ_PORT("DSW2")
+ AM_RANGE(0x150040, 0x150041) AM_READ_PORT("DSW1")
+ AM_RANGE(0x150050, 0x150051) AM_READ_PORT("P1_P2")
ADDRESS_MAP_END
static ADDRESS_MAP_START( ginkun_writemem, ADDRESS_SPACE_PROGRAM, 16 )
@@ -168,7 +168,7 @@ ADDRESS_MAP_END
/******************************************************************************/
static INPUT_PORTS_START( fstarfrc )
- PORT_START("DSW1") /* DIP SW 1 */
+ PORT_START("DSW1")
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2")
PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) )
@@ -192,7 +192,7 @@ static INPUT_PORTS_START( fstarfrc )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_START("DSW2") /* DIP SW 2 */
+ PORT_START("DSW2")
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x00, "2" )
PORT_DIPSETTING( 0x03, "3" )
@@ -234,7 +234,7 @@ static INPUT_PORTS_START( fstarfrc )
INPUT_PORTS_END
static INPUT_PORTS_START( ginkun )
- PORT_START("DSW1") /* DIP SW 1 */
+ PORT_START("DSW1")
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:8,7")
PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) )
@@ -258,7 +258,7 @@ static INPUT_PORTS_START( ginkun )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_START("DSW2") /* DIP SW 2 */
+ PORT_START("DSW2")
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:8,7")
PORT_DIPSETTING( 0x00, "2" )
PORT_DIPSETTING( 0x03, "3" )
@@ -305,7 +305,7 @@ static INPUT_PORTS_START( ginkun )
INPUT_PORTS_END
static INPUT_PORTS_START( riot )
- PORT_START("DSW1") /* DIP SW 1 */
+ PORT_START("DSW1")
PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2,3")
PORT_DIPSETTING( 0x00, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x01, DEF_STR( 4C_1C ) )
@@ -331,7 +331,7 @@ static INPUT_PORTS_START( riot )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_START("DSW2") /* DIP SW 2 */
+ PORT_START("DSW2")
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x03, "1" )
PORT_DIPSETTING( 0x02, "2" )
diff --git a/src/mame/drivers/tecmosys.c b/src/mame/drivers/tecmosys.c
index 79234ac3583..ed18f27234b 100644
--- a/src/mame/drivers/tecmosys.c
+++ b/src/mame/drivers/tecmosys.c
@@ -380,10 +380,10 @@ static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x980000, 0x9807ff) AM_READ(SMH_RAM) // bg pal
AM_RANGE(0x980800, 0x980fff) AM_READ(SMH_RAM) // fix pal
AM_RANGE(0xb80000, 0xb80001) AM_READ(prot_status_r)
- AM_RANGE(0xd00000, 0xd00001) AM_READ(input_port_0_word_r)
- AM_RANGE(0xd00002, 0xd00003) AM_READ(input_port_1_word_r)
+ AM_RANGE(0xd00000, 0xd00001) AM_READ_PORT("P1")
+ AM_RANGE(0xd00002, 0xd00003) AM_READ_PORT("P2")
AM_RANGE(0xd80000, 0xd80001) AM_READ(eeprom_r)
- AM_RANGE(0xf00000, 0xf00001) AM_READ( sound_r )
+ AM_RANGE(0xf00000, 0xf00001) AM_READ(sound_r)
AM_RANGE(0xf80000, 0xf80001) AM_READ(prot_data_r)
ADDRESS_MAP_END
@@ -464,42 +464,42 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( deroon )
PORT_START("P1")
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY 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_BIT( 0x0200, IP_ACTIVE_LOW, IPT_SERVICE )
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY 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_BIT( 0x0200, IP_ACTIVE_LOW, IPT_SERVICE )
+ PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1)
+ PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("P2")
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
- PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
- PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY 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_UNUSED )
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_SERVICE1 )
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY 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_UNUSED )
+ PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_SERVICE1 )
+ PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2)
+ PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNUSED )
INPUT_PORTS_END
static const gfx_layout gfxlayout =
@@ -1140,4 +1140,3 @@ static DRIVER_INIT( tkdensha )
GAME( 1995, deroon, 0, deroon, deroon, deroon, ROT0, "Tecmo", "Deroon DeroDero", 0 )
GAME( 1996, tkdensho, 0, deroon, deroon, tkdensho, ROT0, "Tecmo", "Touki Denshou -Angel Eyes- (VER. 960614)", 0 )
GAME( 1996, tkdensha, tkdensho, deroon, deroon, tkdensha, ROT0, "Tecmo", "Touki Denshou -Angel Eyes- (VER. 960427)", 0 )
-
diff --git a/src/mame/drivers/tehkanwc.c b/src/mame/drivers/tehkanwc.c
index 293d3c6549c..e06df430cb1 100644
--- a/src/mame/drivers/tehkanwc.c
+++ b/src/mame/drivers/tehkanwc.c
@@ -247,17 +247,17 @@ static ADDRESS_MAP_START( main_mem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xec00, 0xec01) AM_RAM_WRITE(tehkanwc_scroll_x_w)
AM_RANGE(0xec02, 0xec02) AM_RAM_WRITE(tehkanwc_scroll_y_w)
AM_RANGE(0xf800, 0xf801) AM_READWRITE(tehkanwc_track_0_r, tehkanwc_track_0_reset_w) /* track 0 x/y */
- AM_RANGE(0xf802, 0xf802) AM_READWRITE(input_port_9_r, gridiron_led0_w) /* Coin & Start */
- AM_RANGE(0xf803, 0xf803) AM_READ_PORT("P1BUT") /* joy0 - button */
- AM_RANGE(0xf806, 0xf806) AM_READ_PORT("SYSTEM") /* Start */
+ AM_RANGE(0xf802, 0xf802) AM_READ_PORT("SYSTEM") AM_WRITE(gridiron_led0_w)
+ AM_RANGE(0xf803, 0xf803) AM_READ_PORT("P1BUT")
+ AM_RANGE(0xf806, 0xf806) AM_READ_PORT("SYSTEM")
AM_RANGE(0xf810, 0xf811) AM_READWRITE(tehkanwc_track_1_r, tehkanwc_track_1_reset_w) /* track 1 x/y */
AM_RANGE(0xf812, 0xf812) AM_WRITE(gridiron_led1_w)
- AM_RANGE(0xf813, 0xf813) AM_READ_PORT("P2BUT") /* joy1 - button */
+ AM_RANGE(0xf813, 0xf813) AM_READ_PORT("P2BUT")
AM_RANGE(0xf820, 0xf820) AM_READWRITE(soundlatch2_r, sound_command_w) /* answer from the sound CPU */
- AM_RANGE(0xf840, 0xf840) AM_READ_PORT("DSW1") AM_WRITE(sub_cpu_halt_w) /* DSW1 */
- AM_RANGE(0xf850, 0xf850) AM_READ_PORT("DSW2") AM_WRITE(SMH_NOP) /* DSW2, ?? writes 0x00 or 0xff */
+ AM_RANGE(0xf840, 0xf840) AM_READ_PORT("DSW1") AM_WRITE(sub_cpu_halt_w)
+ AM_RANGE(0xf850, 0xf850) AM_READ_PORT("DSW2") AM_WRITE(SMH_NOP) /* ?? writes 0x00 or 0xff */
AM_RANGE(0xf860, 0xf860) AM_READWRITE(watchdog_reset_r, tehkanwc_flipscreen_x_w)
- AM_RANGE(0xf870, 0xf870) AM_READ_PORT("DSW3") AM_WRITE(tehkanwc_flipscreen_y_w) /* DSW3 */
+ AM_RANGE(0xf870, 0xf870) AM_READ_PORT("DSW3") AM_WRITE(tehkanwc_flipscreen_y_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START( sub_mem, ADDRESS_SPACE_PROGRAM, 8 )
diff --git a/src/mame/drivers/terracre.c b/src/mame/drivers/terracre.c
index cba2aa94c20..ddc530c8275 100644
--- a/src/mame/drivers/terracre.c
+++ b/src/mame/drivers/terracre.c
@@ -146,7 +146,7 @@ static const UINT16 mHoreKidProtData[] =
static READ16_HANDLER( horekid_IN2_r )
{
- int data = input_port_read(machine, "IN1");
+ int data = input_port_read(machine, "IN2");
if (!(data & 0x40)) // FAKE button 3 for "Debug Mode"
{
@@ -211,10 +211,10 @@ static ADDRESS_MAP_START( terracre_readmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x020000, 0x0201ff) AM_READ(SMH_RAM)
AM_RANGE(0x020200, 0x021fff) AM_READ(SMH_RAM)
AM_RANGE(0x023000, 0x023fff) AM_READ(SMH_RAM)
- AM_RANGE(0x024000, 0x024001) AM_READ(input_port_0_word_r)
- AM_RANGE(0x024002, 0x024003) AM_READ(input_port_1_word_r)
- AM_RANGE(0x024004, 0x024005) AM_READ(input_port_2_word_r)
- AM_RANGE(0x024006, 0x024007) AM_READ(input_port_3_word_r)
+ AM_RANGE(0x024000, 0x024001) AM_READ_PORT("P1")
+ AM_RANGE(0x024002, 0x024003) AM_READ_PORT("P2")
+ AM_RANGE(0x024004, 0x024005) AM_READ_PORT("SYSTEM")
+ AM_RANGE(0x024006, 0x024007) AM_READ_PORT("DSW")
ADDRESS_MAP_END
static ADDRESS_MAP_START( terracre_writemem, ADDRESS_SPACE_PROGRAM, 16 )
@@ -233,10 +233,10 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( amazon_readmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x01ffff) AM_READ(SMH_ROM)
AM_RANGE(0x040000, 0x040fff) AM_READ(SMH_RAM)
- AM_RANGE(0x044000, 0x044001) AM_READ(input_port_0_word_r)
- AM_RANGE(0x044002, 0x044003) AM_READ(input_port_1_word_r)
- AM_RANGE(0x044004, 0x044005) AM_READ(input_port_2_word_r)
- AM_RANGE(0x044006, 0x044007) AM_READ(input_port_3_word_r)
+ AM_RANGE(0x044000, 0x044001) AM_READ_PORT("IN0")
+ AM_RANGE(0x044002, 0x044003) AM_READ_PORT("IN1")
+ AM_RANGE(0x044004, 0x044005) AM_READ_PORT("IN2")
+ AM_RANGE(0x044006, 0x044007) AM_READ_PORT("IN3")
AM_RANGE(0x070000, 0x070001) AM_READ(amazon_protection_r)
ADDRESS_MAP_END
@@ -287,7 +287,7 @@ static ADDRESS_MAP_START( sound_writeport_2203, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_END
static INPUT_PORTS_START( terracre )
- PORT_START("IN0")
+ PORT_START("P1")
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
@@ -297,7 +297,7 @@ static INPUT_PORTS_START( terracre )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START("IN1")
+ PORT_START("P2")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
@@ -307,7 +307,7 @@ static INPUT_PORTS_START( terracre )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START("IN2")
+ PORT_START("SYSTEM")
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_COIN1 )
@@ -391,7 +391,7 @@ static INPUT_PORTS_START( amazon )
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START("DSW")
+ PORT_START("IN3")
PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x0003, "3" )
PORT_DIPSETTING( 0x0002, "4" )
@@ -435,7 +435,7 @@ static INPUT_PORTS_START( amazon )
INPUT_PORTS_END
static INPUT_PORTS_START( horekid )
- PORT_START("DSW")
+ PORT_START("IN0")
PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x0003, "3" )
PORT_DIPSETTING( 0x0002, "4" )
@@ -477,17 +477,17 @@ static INPUT_PORTS_START( horekid )
// PORT_DIPSETTING( 0x4000, DEF_STR( Off ) ) // duplicated setting
// PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) // duplicated setting
- PORT_START("IN0")
+ PORT_START("IN1")
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_SERVICE1 )
- PORT_SERVICE_NO_TOGGLE(0x2000, IP_ACTIVE_LOW)
+ PORT_SERVICE_NO_TOGGLE( 0x2000, IP_ACTIVE_LOW)
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START("IN1")
+ PORT_START("IN2")
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)
@@ -497,7 +497,7 @@ static INPUT_PORTS_START( horekid )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME ("P2 Buttons 1+2 (Debug Cheat)") // fake button for "Debug Mode" (see read handler)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START("IN2")
+ PORT_START("IN3")
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)
diff --git a/src/mame/drivers/tetrisp2.c b/src/mame/drivers/tetrisp2.c
index 6b6112612ba..a131b9e172a 100644
--- a/src/mame/drivers/tetrisp2.c
+++ b/src/mame/drivers/tetrisp2.c
@@ -337,9 +337,9 @@ static WRITE16_HANDLER( rocknms_main2sub_w )
rocknms_main2sub = (data ^ 0xffff);
}
-static READ16_HANDLER( rocknms_port_0_r )
+static CUSTOM_INPUT( rocknms_main2sub_status_r )
{
- return ((input_port_read(machine, "PLAYERS") & 0xfffc ) | (rocknms_sub2main & 0x0003));
+ return rocknms_sub2main & 0x0003;
}
static WRITE16_HANDLER( rocknms_sub2main_w )
@@ -601,7 +601,7 @@ static ADDRESS_MAP_START( rocknms_main_readmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xa40002, 0xa40003) AM_READ(tetrisp2_sound_r ) // Sound
AM_RANGE(0xa44000, 0xa44001) AM_READ(rockn_adpcmbank_r ) // Sound Bank
AM_RANGE(0xbe0000, 0xbe0001) AM_READ(SMH_NOP ) // INT-level1 dummy read
- AM_RANGE(0xbe0002, 0xbe0003) AM_READ(rocknms_port_0_r ) // Inputs
+ AM_RANGE(0xbe0002, 0xbe0003) AM_READ_PORT("PLAYERS")
AM_RANGE(0xbe0004, 0xbe0005) AM_READ_PORT("SYSTEM") // Inputs
AM_RANGE(0xbe0008, 0xbe0009) AM_READ_PORT("DSW") // Inputs
AM_RANGE(0xbe000a, 0xbe000b) AM_READ(watchdog_reset16_r) // Watchdog
@@ -700,40 +700,40 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( tetrisp2 )
PORT_START("PLAYERS") /*$be0002.w*/
- 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_UNUSED )
- 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_UNUSED )
+ 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_UNUSED )
+ 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_UNUSED )
PORT_START("SYSTEM") /*$be0004.w*/
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_START2 )
- PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_SERVICE1 )
- PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_SPECIAL ) /* ?*/
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_SPECIAL ) /* ?*/
- 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_UNKNOWN )
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_START1 )
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_START2 )
+ PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_SERVICE1 )
+ PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_COIN1 )
+ PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_COIN2 )
+ PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_SPECIAL ) /* ?*/
+ PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_SPECIAL ) /* ?*/
+ 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_START("DSW") //$be0008.w
PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2,3")
@@ -835,22 +835,22 @@ static INPUT_PORTS_START( nndmseal )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("COINS") // be0004.w
- 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( 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_SERVICE2 ) // (keep pressed during boot for test mode)
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_SERVICE1 )
- PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_COIN1 )
- 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_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( 0x0040, IP_ACTIVE_LOW, IPT_COIN1 )
+ 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_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("DSW") // be0008.w
PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Unknown ) )
@@ -906,8 +906,8 @@ static INPUT_PORTS_START( nndmseal )
PORT_SERVICE( 0x8000, IP_ACTIVE_LOW )
PORT_START("PRINT") // be0006.w
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Print 1?") // Press both to print (and alternate with ok too).
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_START2 ) PORT_NAME("Print 2?") // Hold them for some seconds to bring up a "caution" message.
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Print 1?") // Press both to print (and alternate with ok too).
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_START2 ) PORT_NAME("Print 2?") // Hold them for some seconds to bring up a "caution" message.
PORT_BIT( 0x0004, IP_ACTIVE_HIGH,IPT_SPECIAL ) // ?
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
@@ -933,40 +933,40 @@ INPUT_PORTS_END
static INPUT_PORTS_START( rockn )
PORT_START("PLAYERS") //$be0002.w
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
- PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
- PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1)
- PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
- PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
- 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_UNKNOWN )
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
+ PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1)
+ PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1)
+ PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
+ PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
+ 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_START("SYSTEM") //$be0004.w
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_SERVICE_NO_TOGGLE( 0x0010, IP_ACTIVE_LOW)
- PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_SERVICE1 )
- PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_COIN2 )
- 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_UNKNOWN )
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_START1 )
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_SERVICE_NO_TOGGLE( 0x0010, IP_ACTIVE_LOW )
+ PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_SERVICE1 )
+ PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_COIN1 )
+ PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_COIN2 )
+ 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_START("DSW") //$be0008.w
PORT_DIPNAME( 0x0001, 0x0001, "DIPSW 1-1") // All these used to be marked 'Cheat', can't think why.
@@ -1023,40 +1023,39 @@ INPUT_PORTS_END
static INPUT_PORTS_START( rocknms )
PORT_START("PLAYERS") // IN0 - $be0002.w
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_SPECIAL ) // MAIN -> SUB Communication
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_SPECIAL ) // MAIN -> SUB Communication
- PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
- PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
- PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1)
- PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
- PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
- PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2)
- PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(2)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
+ PORT_BIT( 0x0003, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(rocknms_main2sub_status_r, NULL) // MAIN -> SUB Communication
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
+ PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1)
+ PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1)
+ PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
+ PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
+ PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
+ PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
+ PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2)
+ PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(2)
+ PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
+ PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
PORT_START("SYSTEM") // IN1 - $be0004.w
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_START2 )
- PORT_SERVICE_NO_TOGGLE( 0x0010, IP_ACTIVE_LOW)
- PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_SERVICE1 )
- PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_COIN2 )
- 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_UNKNOWN )
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_START1 )
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_START2 )
+ PORT_SERVICE_NO_TOGGLE( 0x0010, IP_ACTIVE_LOW )
+ PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_SERVICE1 )
+ PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_COIN1 )
+ PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_COIN2 )
+ 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_START("DSW") //$be0008.w
PORT_DIPNAME( 0x0001, 0x0001, "DIPSW 1-1") // All these used to be marked 'Cheat', can't think why.
diff --git a/src/mame/drivers/thayers.c b/src/mame/drivers/thayers.c
index 41af9e9d4b1..7aa8bd1121b 100644
--- a/src/mame/drivers/thayers.c
+++ b/src/mame/drivers/thayers.c
@@ -650,8 +650,8 @@ static INPUT_PORTS_START( thayers )
PORT_START("COIN")
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(laserdisc_enter_r, 0 )
- PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(laserdisc_ready_r, 0 )
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(laserdisc_enter_r, NULL)
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(laserdisc_ready_r, NULL)
PORT_START("R0")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME( "2" ) PORT_CODE( KEYCODE_F2 )
diff --git a/src/mame/drivers/thepit.c b/src/mame/drivers/thepit.c
index d37a5608cf8..2e893369215 100644
--- a/src/mame/drivers/thepit.c
+++ b/src/mame/drivers/thepit.c
@@ -172,8 +172,8 @@ static ADDRESS_MAP_START( thepit_main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x9840, 0x985f) AM_RAM AM_BASE(&thepit_spriteram) AM_SIZE(&thepit_spriteram_size)
AM_RANGE(0x9860, 0x98ff) AM_RAM
AM_RANGE(0xa000, 0xa000) AM_READWRITE(thepit_input_port_0_r, SMH_NOP) // Not hooked up according to the schematics
- AM_RANGE(0xa800, 0xa800) AM_READ(input_port_1_r)
- AM_RANGE(0xb000, 0xb000) AM_READWRITE(input_port_2_r, interrupt_enable_w)
+ AM_RANGE(0xa800, 0xa800) AM_READ_PORT("IN1")
+ AM_RANGE(0xb000, 0xb000) AM_READ_PORT("DSW") AM_WRITE(interrupt_enable_w)
AM_RANGE(0xb001, 0xb001) AM_WRITE(SMH_NOP) // Unused, but initialized
AM_RANGE(0xb002, 0xb002) AM_WRITE(SMH_NOP) // coin_lockout_w
AM_RANGE(0xb003, 0xb003) AM_WRITE(thepit_sound_enable_w)
@@ -193,8 +193,8 @@ static ADDRESS_MAP_START( intrepid_main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x9840, 0x985f) AM_RAM AM_BASE(&thepit_spriteram) AM_SIZE(&thepit_spriteram_size)
AM_RANGE(0x9860, 0x98ff) AM_RAM
AM_RANGE(0xa000, 0xa000) AM_READ(thepit_input_port_0_r)
- AM_RANGE(0xa800, 0xa800) AM_READ(input_port_1_r)
- AM_RANGE(0xb000, 0xb000) AM_READWRITE(input_port_2_r, interrupt_enable_w)
+ AM_RANGE(0xa800, 0xa800) AM_READ_PORT("IN1")
+ AM_RANGE(0xb000, 0xb000) AM_READ_PORT("DSW") AM_WRITE(interrupt_enable_w)
AM_RANGE(0xb001, 0xb001) AM_WRITE(SMH_NOP) // Unused, but initialized
AM_RANGE(0xb002, 0xb002) AM_WRITE(SMH_NOP) // coin_lockout_w
AM_RANGE(0xb003, 0xb003) AM_WRITE(thepit_sound_enable_w)
diff --git a/src/mame/drivers/thoop2.c b/src/mame/drivers/thoop2.c
index 14f78ace12a..cf116fc8d02 100644
--- a/src/mame/drivers/thoop2.c
+++ b/src/mame/drivers/thoop2.c
@@ -59,11 +59,11 @@ static ADDRESS_MAP_START( thoop2_readmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x100000, 0x101fff) AM_READ(SMH_RAM) /* Video RAM */
AM_RANGE(0x200000, 0x2007ff) AM_READ(SMH_RAM) /* Palette */
AM_RANGE(0x440000, 0x440fff) AM_READ(SMH_RAM) /* Sprite RAM */
- AM_RANGE(0x700000, 0x700001) AM_READ(input_port_0_word_r)/* DIPSW #2 */
- AM_RANGE(0x700002, 0x700003) AM_READ(input_port_1_word_r)/* DIPSW #1 */
- AM_RANGE(0x700004, 0x700005) AM_READ(input_port_2_word_r)/* INPUT #1 */
- AM_RANGE(0x700006, 0x700007) AM_READ(input_port_3_word_r)/* INPUT #2 */
- AM_RANGE(0x700008, 0x700009) AM_READ(input_port_4_word_r)/* INPUT #3 */
+ AM_RANGE(0x700000, 0x700001) AM_READ_PORT("DSW2")
+ AM_RANGE(0x700002, 0x700003) AM_READ_PORT("DSW1")
+ AM_RANGE(0x700004, 0x700005) AM_READ_PORT("P1")
+ AM_RANGE(0x700006, 0x700007) AM_READ_PORT("P2")
+ AM_RANGE(0x700008, 0x700009) AM_READ_PORT("SYSTEM")
AM_RANGE(0x70000e, 0x70000f) AM_READ(okim6295_status_0_lsb_r)/* OKI6295 status register */
AM_RANGE(0xfe0000, 0xfeffff) AM_READ(SMH_RAM) /* Work RAM (partially shared with DS5002FP) */
ADDRESS_MAP_END
@@ -111,31 +111,7 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( thoop2 )
-
- PORT_START("DSW2") /* DSW #2 */
- PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
- PORT_DIPSETTING( 0x03, DEF_STR( Normal ) )
- PORT_DIPSETTING( 0x02, DEF_STR( Easy ) )
- PORT_DIPSETTING( 0x01, DEF_STR( Hard ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
- PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x18, 0x18, DEF_STR( Lives ) )
- PORT_DIPSETTING( 0x18, "2" )
- PORT_DIPSETTING( 0x10, "3" )
- PORT_DIPSETTING( 0x08, "4" )
- PORT_DIPSETTING( 0x00, "1" )
- 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( Unknown ) )
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
-
-
- PORT_START("DSW1") /* DSW #1 */
+ PORT_START("DSW1")
PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coin_B ) )
PORT_DIPSETTING( 0x02, DEF_STR( 6C_1C ) )
PORT_DIPSETTING( 0x03, DEF_STR( 5C_1C ) )
@@ -161,7 +137,29 @@ static INPUT_PORTS_START( thoop2 )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_START("P1") /* 1P INPUTS & COINSW */
+ PORT_START("DSW2")
+ PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
+ PORT_DIPSETTING( 0x03, DEF_STR( Normal ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( Easy ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( Hard ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
+ PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x18, 0x18, DEF_STR( Lives ) )
+ PORT_DIPSETTING( 0x18, "2" )
+ PORT_DIPSETTING( 0x10, "3" )
+ PORT_DIPSETTING( 0x08, "4" )
+ PORT_DIPSETTING( 0x00, "1" )
+ 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( Unknown ) )
+ PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
+
+ PORT_START("P1")
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_RIGHT ) PORT_8WAY PORT_PLAYER(1)
@@ -171,7 +169,7 @@ static INPUT_PORTS_START( thoop2 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_START("P2") /* 2P INPUTS & STARTSW */
+ PORT_START("P2")
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_RIGHT ) PORT_8WAY PORT_PLAYER(2)
@@ -181,7 +179,7 @@ static INPUT_PORTS_START( thoop2 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
- PORT_START("SYSTEM") /* INPUTS, TEST & SERVICE */
+ PORT_START("SYSTEM")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE2 ) /* test button */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
diff --git a/src/mame/drivers/thunderj.c b/src/mame/drivers/thunderj.c
index 9abb5c043f9..2c16d924d34 100644
--- a/src/mame/drivers/thunderj.c
+++ b/src/mame/drivers/thunderj.c
@@ -189,8 +189,8 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x0e0000, 0x0e0fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE(&atarigen_eeprom) AM_SIZE(&atarigen_eeprom_size)
AM_RANGE(0x160000, 0x16ffff) AM_READWRITE(shared_ram_r, SMH_BANK1) AM_BASE(&shared_ram)
AM_RANGE(0x1f0000, 0x1fffff) AM_WRITE(atarigen_eeprom_enable_w)
- AM_RANGE(0x260000, 0x26000f) AM_READ(input_port_0_word_r)
- AM_RANGE(0x260010, 0x260011) AM_READ(input_port_1_word_r)
+ AM_RANGE(0x260000, 0x26000f) AM_READ_PORT("260000")
+ AM_RANGE(0x260010, 0x260011) AM_READ_PORT("260010")
AM_RANGE(0x260012, 0x260013) AM_READ(special_port2_r)
AM_RANGE(0x260030, 0x260031) AM_READ(atarigen_sound_r)
AM_RANGE(0x2e0000, 0x2e0001) AM_WRITE(watchdog_reset16_w)
@@ -221,8 +221,8 @@ static ADDRESS_MAP_START( extra_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x060000, 0x07ffff) AM_ROM
AM_RANGE(0x160000, 0x16ffff) AM_READWRITE(shared_ram_r, SMH_BANK1)
- AM_RANGE(0x260000, 0x26000f) AM_READ(input_port_0_word_r)
- AM_RANGE(0x260010, 0x260011) AM_READ(input_port_1_word_r)
+ AM_RANGE(0x260000, 0x26000f) AM_READ_PORT("260000")
+ AM_RANGE(0x260010, 0x260011) AM_READ_PORT("260010")
AM_RANGE(0x260012, 0x260013) AM_READ(special_port2_r)
AM_RANGE(0x260030, 0x260031) AM_READ(atarigen_sound_r)
AM_RANGE(0x360000, 0x360001) AM_WRITE(atarigen_video_int_ack_w)
@@ -240,10 +240,10 @@ ADDRESS_MAP_END
*************************************/
static INPUT_PORTS_START( thunderj )
- PORT_START("260000") /* 260000 */
+ PORT_START("260000")
PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START("260010") /* 260010 */
+ PORT_START("260010")
PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
@@ -253,7 +253,7 @@ static INPUT_PORTS_START( thunderj )
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
- PORT_START("260012") /* 260012 */
+ PORT_START("260012")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_VBLANK )
PORT_SERVICE( 0x0002, IP_ACTIVE_LOW )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNUSED ) /* Input buffer full (@260030) */
diff --git a/src/mame/drivers/thunderx.c b/src/mame/drivers/thunderx.c
index 1da48135c35..0bb84d2aeb4 100644
--- a/src/mame/drivers/thunderx.c
+++ b/src/mame/drivers/thunderx.c
@@ -371,12 +371,12 @@ static WRITE8_HANDLER( scontra_snd_bankswitch_w )
/***************************************************************************/
static ADDRESS_MAP_START( scontra_readmem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x1f90, 0x1f90) AM_READ(input_port_0_r) /* coin */
- AM_RANGE(0x1f91, 0x1f91) AM_READ(input_port_1_r) /* p1 */
- AM_RANGE(0x1f92, 0x1f92) AM_READ(input_port_2_r) /* p2 */
- AM_RANGE(0x1f93, 0x1f93) AM_READ(input_port_5_r) /* Dip 3 */
- AM_RANGE(0x1f94, 0x1f94) AM_READ(input_port_3_r) /* Dip 1 */
- AM_RANGE(0x1f95, 0x1f95) AM_READ(input_port_4_r) /* Dip 2 */
+ AM_RANGE(0x1f90, 0x1f90) AM_READ_PORT("SYSTEM")
+ AM_RANGE(0x1f91, 0x1f91) AM_READ_PORT("P1")
+ AM_RANGE(0x1f92, 0x1f92) AM_READ_PORT("P2")
+ AM_RANGE(0x1f93, 0x1f93) AM_READ_PORT("DSW3")
+ AM_RANGE(0x1f94, 0x1f94) AM_READ_PORT("DSW1")
+ AM_RANGE(0x1f95, 0x1f95) AM_READ_PORT("DSW2")
AM_RANGE(0x0000, 0x3fff) AM_READ(K052109_051960_r)
AM_RANGE(0x4000, 0x57ff) AM_READ(SMH_RAM)
@@ -386,12 +386,12 @@ static ADDRESS_MAP_START( scontra_readmem, ADDRESS_SPACE_PROGRAM, 8 )
ADDRESS_MAP_END
static ADDRESS_MAP_START( thunderx_readmem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x1f90, 0x1f90) AM_READ(input_port_0_r) /* coin */
- AM_RANGE(0x1f91, 0x1f91) AM_READ(input_port_1_r) /* p1 */
- AM_RANGE(0x1f92, 0x1f92) AM_READ(input_port_2_r) /* p2 */
- AM_RANGE(0x1f93, 0x1f93) AM_READ(input_port_5_r) /* Dip 3 */
- AM_RANGE(0x1f94, 0x1f94) AM_READ(input_port_3_r) /* Dip 1 */
- AM_RANGE(0x1f95, 0x1f95) AM_READ(input_port_4_r) /* Dip 2 */
+ AM_RANGE(0x1f90, 0x1f90) AM_READ_PORT("SYSTEM")
+ AM_RANGE(0x1f91, 0x1f91) AM_READ_PORT("P1")
+ AM_RANGE(0x1f92, 0x1f92) AM_READ_PORT("P2")
+ AM_RANGE(0x1f93, 0x1f93) AM_READ_PORT("DSW3")
+ AM_RANGE(0x1f94, 0x1f94) AM_READ_PORT("DSW1")
+ AM_RANGE(0x1f95, 0x1f95) AM_READ_PORT("DSW2")
AM_RANGE(0x1f98, 0x1f98) AM_READ(thunderx_1f98_r) /* registers */
AM_RANGE(0x0000, 0x3fff) AM_READ(K052109_051960_r)
@@ -465,7 +465,7 @@ ADDRESS_MAP_END
***************************************************************************/
static INPUT_PORTS_START( scontra )
- PORT_START("SYSTEM") /* COINSW */
+ PORT_START("SYSTEM")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
@@ -475,7 +475,7 @@ static INPUT_PORTS_START( scontra )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START("P1") /* PLAYER 1 INPUTS */
+ PORT_START("P1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
@@ -485,7 +485,7 @@ static INPUT_PORTS_START( scontra )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START("P2") /* PLAYER 2 INPUTS */
+ PORT_START("P2")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
@@ -495,7 +495,7 @@ static INPUT_PORTS_START( scontra )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START("DSW1") /* DSW #1 */
+ PORT_START("DSW1")
PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) )
PORT_DIPSETTING( 0x02, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x05, DEF_STR( 3C_1C ) )
@@ -531,7 +531,7 @@ static INPUT_PORTS_START( scontra )
PORT_DIPSETTING( 0x90, DEF_STR( 1C_7C ) )
// PORT_DIPSETTING( 0x00, "Invalid" )
- PORT_START("DSW2") /* DSW #2 */
+ PORT_START("DSW2")
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x03, "2" )
PORT_DIPSETTING( 0x02, "3" )
@@ -554,7 +554,7 @@ static INPUT_PORTS_START( scontra )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_START("DSW3") /* DSW #3 */
+ PORT_START("DSW3")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@@ -569,7 +569,7 @@ static INPUT_PORTS_START( scontra )
INPUT_PORTS_END
static INPUT_PORTS_START( thunderx )
- PORT_START("SYSTEM") /* IN0 */
+ PORT_START("SYSTEM")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
@@ -579,7 +579,7 @@ static INPUT_PORTS_START( thunderx )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START("P1") /* PLAYER 1 INPUTS */
+ PORT_START("P1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
@@ -589,7 +589,7 @@ static INPUT_PORTS_START( thunderx )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START("P2") /* PLAYER 2 INPUTS */
+ PORT_START("P2")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
diff --git a/src/mame/drivers/tiamc1.c b/src/mame/drivers/tiamc1.c
index 5d16971b675..f1ad3c99448 100644
--- a/src/mame/drivers/tiamc1.c
+++ b/src/mame/drivers/tiamc1.c
@@ -7,6 +7,7 @@
Games supported:
* Konek-Gorbunok
+ * S.O.S.
Other games known to exist on this hardware (interchangeable by the ROM swap):
* Avtogonki
@@ -203,40 +204,40 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( tiamc1_readport, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0xd0, 0xd0) AM_READ(input_port_0_r)
- AM_RANGE(0xd1, 0xd1) AM_READ(input_port_1_r)
- AM_RANGE(0xd2, 0xd2) AM_READ(input_port_2_r)
+ AM_RANGE(0xd0, 0xd0) AM_READ_PORT("IN0")
+ AM_RANGE(0xd1, 0xd1) AM_READ_PORT("IN1")
+ AM_RANGE(0xd2, 0xd2) AM_READ_PORT("IN2")
ADDRESS_MAP_END
static INPUT_PORTS_START( tiamc1 )
PORT_START("IN0")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED ) /* Player 0 JOYSTICK_RIGHT */
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED ) /* Player 0 JOYSTICK_RIGHT */
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
- PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) /* Player 2 JOYSTICK_RIGHT */
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) /* Player 3 JOYSTICK_RIGHT */
- PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) /* Player 0 JOYSTICK_LEFT */
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) /* Player 2 JOYSTICK_RIGHT */
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) /* Player 3 JOYSTICK_RIGHT */
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) /* Player 0 JOYSTICK_LEFT */
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
- PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED ) /* Player 2 JOYSTICK_LEFT */
- PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) /* Player 3 JOYSTICK_LEFT */
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED ) /* Player 2 JOYSTICK_LEFT */
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) /* Player 3 JOYSTICK_LEFT */
PORT_START("IN1")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED ) /* Player 0 JOYSTICK_UP */
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED ) /* Player 0 JOYSTICK_UP */
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
- PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) /* Player 2 JOYSTICK_UP */
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) /* Player 3 JOYSTICK_UP */
- PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) /* Player 0 JOYSTICK_DOWN */
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) /* Player 2 JOYSTICK_UP */
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) /* Player 3 JOYSTICK_UP */
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) /* Player 0 JOYSTICK_DOWN */
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
- PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED ) /* Player 2 JOYSTICK_DOWN */
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED ) /* Player 2 JOYSTICK_DOWN */
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SERVICE )
PORT_START("IN2")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SPECIAL ) /* OUT:coin lockout */
- PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* OUT:game counter */
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* RAZR ??? */
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SPECIAL ) /* OUT:coin lockout */
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* OUT:game counter */
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* RAZR ??? */
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN1 )
- PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Player 1 Kick")
- PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Player 1 Jump")
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1) // Kick
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1) // Jump
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_VBLANK )
INPUT_PORTS_END
diff --git a/src/mame/drivers/tigeroad.c b/src/mame/drivers/tigeroad.c
index 90d2f9d8b56..28ef217761d 100644
--- a/src/mame/drivers/tigeroad.c
+++ b/src/mame/drivers/tigeroad.c
@@ -176,10 +176,10 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0xfe0800, 0xfe0cff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
AM_RANGE(0xfe0d00, 0xfe1807) AM_RAM /* still part of OBJ RAM */
- AM_RANGE(0xfe4000, 0xfe4001) AM_READWRITE(input_port_0_word_r, tigeroad_videoctrl_w) /* char bank, coin counters, + ? */
- AM_RANGE(0xfe4002, 0xfe4003) AM_READ(input_port_1_word_r)
+ AM_RANGE(0xfe4000, 0xfe4001) AM_READ_PORT("P1_P2") AM_WRITE(tigeroad_videoctrl_w) /* char bank, coin counters, + ? */
+ AM_RANGE(0xfe4002, 0xfe4003) AM_READ_PORT("SYSTEM")
/* AM_RANGE(0xfe4002, 0xfe4003) AM_WRITE(tigeroad_soundcmd_w) added by init_tigeroad() */
- AM_RANGE(0xfe4004, 0xfe4005) AM_READ(input_port_2_word_r)
+ AM_RANGE(0xfe4004, 0xfe4005) AM_READ_PORT("DSW")
AM_RANGE(0xfec000, 0xfec7ff) AM_RAM_WRITE(tigeroad_videoram_w) AM_BASE(&videoram16)
AM_RANGE(0xfe8000, 0xfe8003) AM_WRITE(tigeroad_scroll_w)
AM_RANGE(0xfe800e, 0xfe800f) AM_WRITE(SMH_RAM) /* fe800e = watchdog or IRQ acknowledge */
@@ -215,7 +215,7 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( tigeroad )
- PORT_START("P1_P2") /* IN0 */
+ PORT_START("P1_P2")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
@@ -244,7 +244,7 @@ static INPUT_PORTS_START( tigeroad )
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_START("DSW") /* dipswitch */
+ PORT_START("DSW")
PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coin_B ) )
PORT_DIPSETTING( 0x0000, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x0001, DEF_STR( 3C_1C ) )
@@ -291,7 +291,7 @@ static INPUT_PORTS_START( tigeroad )
INPUT_PORTS_END
static INPUT_PORTS_START( toramich )
- PORT_START("P1_P2") /* IN0 */
+ PORT_START("P1_P2")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
@@ -320,7 +320,7 @@ static INPUT_PORTS_START( toramich )
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_START("DSW") /* dipswitch */
+ PORT_START("DSW")
PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coin_B ) )
PORT_DIPSETTING( 0x0000, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x0001, DEF_STR( 3C_1C ) )
@@ -368,7 +368,7 @@ static INPUT_PORTS_START( toramich )
INPUT_PORTS_END
static INPUT_PORTS_START( f1dream )
- PORT_START("P1_P2") /* IN0 */
+ PORT_START("P1_P2")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
@@ -397,7 +397,7 @@ static INPUT_PORTS_START( f1dream )
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_START("DSW") /* dipswitch */
+ PORT_START("DSW")
PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coin_B ) )
PORT_DIPSETTING( 0x0000, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x0001, DEF_STR( 3C_1C ) )
diff --git a/src/mame/drivers/timelimt.c b/src/mame/drivers/timelimt.c
index 3a0147222a7..20cafcec2d7 100644
--- a/src/mame/drivers/timelimt.c
+++ b/src/mame/drivers/timelimt.c
@@ -59,9 +59,9 @@ static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8800, 0x8bff) AM_READ(SMH_RAM) /* video ram */
AM_RANGE(0x9000, 0x97ff) AM_READ(SMH_RAM) /* background ram */
AM_RANGE(0x9800, 0x98ff) AM_READ(SMH_RAM) /* sprite ram */
- AM_RANGE(0xa000, 0xa000) AM_READ(input_port_0_r)/* input port */
- AM_RANGE(0xa800, 0xa800) AM_READ(input_port_1_r)/* input port */
- AM_RANGE(0xb000, 0xb000) AM_READ(input_port_2_r)/* DSW */
+ AM_RANGE(0xa000, 0xa000) AM_READ_PORT("INPUTS")
+ AM_RANGE(0xa800, 0xa800) AM_READ_PORT("SYSTEM")
+ AM_RANGE(0xb000, 0xb000) AM_READ_PORT("DSW")
AM_RANGE(0xb800, 0xb800) AM_READ(SMH_NOP) /* NMI ack? */
ADDRESS_MAP_END
@@ -114,7 +114,7 @@ ADDRESS_MAP_END
/***************************************************************************/
static INPUT_PORTS_START( timelimt )
- PORT_START("IN0")
+ PORT_START("INPUTS")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY
@@ -124,7 +124,7 @@ static INPUT_PORTS_START( timelimt )
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* probably unused */
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* probably unused */
- PORT_START("IN1")
+ PORT_START("SYSTEM")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 )
@@ -134,7 +134,7 @@ static INPUT_PORTS_START( timelimt )
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* probably unused */
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* probably unused */
- PORT_START("DSW1")
+ PORT_START("DSW")
PORT_DIPNAME( 0x07, 0x01, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x01, DEF_STR( 1C_1C ) )
@@ -159,7 +159,7 @@ static INPUT_PORTS_START( timelimt )
INPUT_PORTS_END
static INPUT_PORTS_START( progress )
- PORT_START("IN0")
+ PORT_START("INPUTS")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
@@ -169,7 +169,7 @@ static INPUT_PORTS_START( progress )
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* probably unused */
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON3 )
- PORT_START("IN1")
+ PORT_START("SYSTEM")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 )
@@ -179,7 +179,7 @@ static INPUT_PORTS_START( progress )
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* probably unused */
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* probably unused */
- PORT_START("DSW1")
+ PORT_START("DSW")
PORT_DIPNAME( 0x07, 0x01, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x01, DEF_STR( 1C_1C ) )
diff --git a/src/mame/drivers/tmaster.c b/src/mame/drivers/tmaster.c
index 56d01d5445b..7780087862d 100644
--- a/src/mame/drivers/tmaster.c
+++ b/src/mame/drivers/tmaster.c
@@ -622,16 +622,16 @@ static ADDRESS_MAP_START( galgames_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE( 0xc00000, 0xc00001 ) AM_WRITE( galgames_palette_offset_w )
AM_RANGE( 0xc00002, 0xc00003 ) AM_WRITE( galgames_palette_data_w )
- AM_RANGE( 0xd00000, 0xd00001 ) AM_READ ( input_port_0_word_r ) // trackball p1 x
+ AM_RANGE( 0xd00000, 0xd00001 ) AM_READ_PORT("TRACKBALL_1_X")
AM_RANGE( 0xd00000, 0xd00001 ) AM_WRITE( SMH_NOP )
- AM_RANGE( 0xd00002, 0xd00003 ) AM_READ ( input_port_1_word_r ) // trackball p1 y
- AM_RANGE( 0xd00004, 0xd00005 ) AM_READ ( input_port_2_word_r ) // trackball p2 x
- AM_RANGE( 0xd00006, 0xd00007 ) AM_READ ( input_port_3_word_r ) // trackball p2 y
- AM_RANGE( 0xd00008, 0xd00009 ) AM_READ ( input_port_4_word_r )
- AM_RANGE( 0xd0000a, 0xd0000b ) AM_READ ( input_port_5_word_r )
- AM_RANGE( 0xd0000c, 0xd0000d ) AM_READWRITE( input_port_6_word_r, SMH_NOP )
-
- AM_RANGE( 0xd0000e, 0xd0000f ) AM_WRITE ( galgames_cart_sel_w )
+ AM_RANGE( 0xd00002, 0xd00003 ) AM_READ_PORT("TRACKBALL_1_Y")
+ AM_RANGE( 0xd00004, 0xd00005 ) AM_READ_PORT("TRACKBALL_2_X")
+ AM_RANGE( 0xd00006, 0xd00007 ) AM_READ_PORT("TRACKBALL_2_Y")
+ AM_RANGE( 0xd00008, 0xd00009 ) AM_READ_PORT("P1")
+ AM_RANGE( 0xd0000a, 0xd0000b ) AM_READ_PORT("P2")
+ AM_RANGE( 0xd0000c, 0xd0000d ) AM_READ_PORT("SYSTEM") AM_WRITENOP
+
+ AM_RANGE( 0xd0000e, 0xd0000f ) AM_WRITE( galgames_cart_sel_w )
AM_RANGE( 0xd00010, 0xd00011 ) AM_READWRITE( galgames_eeprom_r, galgames_eeprom_w )
AM_RANGE( 0xd00012, 0xd00013 ) AM_READWRITE( galgames_cart_data_r, galgames_cart_data_w )
AM_RANGE( 0xd00014, 0xd00015 ) AM_READWRITE( galgames_cart_clock_r, galgames_cart_clock_w )
@@ -645,63 +645,51 @@ ADDRESS_MAP_END
***************************************************************************/
static INPUT_PORTS_START( tm )
- PORT_INCLUDE(microtouch)
-
- PORT_START("COIN") // IN3
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN5 ) // "M. Coin 1 Input"
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN6 ) // "M. Coin 2 Input"
- PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BILL1 ) PORT_IMPULSE(2) // "DBV Input"
- PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN ) // service coin?
- PORT_SERVICE_NO_TOGGLE( 0x0020, IP_ACTIVE_LOW )
- PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_SERVICE1 ) // "Calibrate"
- 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_HIGH, IPT_SPECIAL )
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_COIN1 ) // "E. Coin 1" (ECA?) tmaster defaults to e. coin,
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_COIN2 ) // "E. Coin 2" (ECA?) rather than m. coin
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_COIN3 ) // "E. Coin 3" (ECA?) so they're coin1-coin4
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_COIN4 ) // "E. Coin 4" (ECA?)
+ PORT_INCLUDE( microtouch )
+
+ PORT_START("COIN")
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN5 ) // "M. Coin 1 Input"
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN6 ) // "M. Coin 2 Input"
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BILL1 ) PORT_IMPULSE(2) // "DBV Input"
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN ) // service coin?
+ PORT_SERVICE_NO_TOGGLE( 0x0020, IP_ACTIVE_LOW )
+ PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_SERVICE1 ) // "Calibrate"
+ 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_HIGH, IPT_SPECIAL )
+ PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_COIN1 ) // "E. Coin 1" (ECA?) tmaster defaults to e. coin,
+ PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_COIN2 ) // "E. Coin 2" (ECA?) rather than m. coin
+ PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_COIN3 ) // "E. Coin 3" (ECA?) so they're coin1-coin4
+ PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_COIN4 ) // "E. Coin 4" (ECA?)
INPUT_PORTS_END
static INPUT_PORTS_START( tmaster )
- PORT_INCLUDE(microtouch)
-
- PORT_START("COIN") // IN3
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) // "M. Coin 1 Input"
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) // "M. Coin 2 Input"
- PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BILL1 ) PORT_IMPULSE(2) // "DBV Input"
- PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_SERVICE_NO_TOGGLE( 0x0020, IP_ACTIVE_LOW )
- PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_SERVICE1 ) // "Calibrate"
- 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_HIGH, IPT_SPECIAL )
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_COIN3 ) // "E. Coin 1" (ECA mech) The rest of the tm games
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_COIN4 ) // "E. Coin 2" (ECA mech) Default to m. coin
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_COIN5 ) // "E. Coin 3" (ECA mech) So these are coin3-coin6
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_COIN6 ) // "E. Coin 4" (ECA mech)
+ PORT_INCLUDE( microtouch )
+
+ PORT_START("COIN")
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) // "M. Coin 1 Input"
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) // "M. Coin 2 Input"
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BILL1 ) PORT_IMPULSE(2) // "DBV Input"
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_SERVICE_NO_TOGGLE( 0x0020, IP_ACTIVE_LOW )
+ PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_SERVICE1 ) // "Calibrate"
+ 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_HIGH, IPT_SPECIAL )
+ PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_COIN3 ) // "E. Coin 1" (ECA mech) The rest of the tm games
+ PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_COIN4 ) // "E. Coin 2" (ECA mech) Default to m. coin
+ PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_COIN5 ) // "E. Coin 3" (ECA mech) So these are coin3-coin6
+ PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_COIN6 ) // "E. Coin 4" (ECA mech)
INPUT_PORTS_END
static INPUT_PORTS_START( galgames )
- PORT_START("TRACKBALL_1_X")
- PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_X ) PORT_SENSITIVITY(25) PORT_KEYDELTA(5) PORT_PLAYER(1) PORT_RESET
-
- PORT_START("TRACKBALL_1_Y")
- PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(25) PORT_KEYDELTA(5) PORT_PLAYER(1) PORT_RESET
-
- PORT_START("TRACKBALL_2_X")
- PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_X ) PORT_SENSITIVITY(25) PORT_KEYDELTA(5) PORT_PLAYER(2) PORT_RESET
-
- PORT_START("TRACKBALL_2_Y")
- PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(25) PORT_KEYDELTA(5) PORT_PLAYER(2) PORT_RESET
-
- PORT_START("IN4")
+ PORT_START("P1")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
@@ -712,7 +700,7 @@ static INPUT_PORTS_START( galgames )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START("IN5")
+ PORT_START("P2")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
@@ -723,7 +711,7 @@ static INPUT_PORTS_START( galgames )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START("IN6")
+ PORT_START("SYSTEM")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) // CS 1 (coin)
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) // CS 2 (coin)
PORT_SERVICE_NO_TOGGLE( 0x0004, IP_ACTIVE_LOW ) // System Check
@@ -733,6 +721,18 @@ static INPUT_PORTS_START( galgames )
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
+
+ PORT_START("TRACKBALL_1_X")
+ PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_X ) PORT_SENSITIVITY(25) PORT_KEYDELTA(5) PORT_PLAYER(1) PORT_RESET
+
+ PORT_START("TRACKBALL_1_Y")
+ PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(25) PORT_KEYDELTA(5) PORT_PLAYER(1) PORT_RESET
+
+ PORT_START("TRACKBALL_2_X")
+ PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_X ) PORT_SENSITIVITY(25) PORT_KEYDELTA(5) PORT_PLAYER(2) PORT_RESET
+
+ PORT_START("TRACKBALL_2_Y")
+ PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(25) PORT_KEYDELTA(5) PORT_PLAYER(2) PORT_RESET
INPUT_PORTS_END
diff --git a/src/mame/drivers/tmnt.c b/src/mame/drivers/tmnt.c
index e7f690bb099..a1ffa3bb515 100644
--- a/src/mame/drivers/tmnt.c
+++ b/src/mame/drivers/tmnt.c
@@ -501,16 +501,6 @@ static READ16_HANDLER( blswhstl_coin_r )
return res ^ toggle;
}
-static READ16_HANDLER( blswhstl_eeprom_r )
-{
- int res;
-
- /* bit 0 is EEPROM data */
- /* bit 1 is EEPROM ready */
- res = eeprom_read_bit() | input_port_read(machine, "EEPROM");
- return res;
-}
-
static READ16_HANDLER( ssriders_eeprom_r )
{
int res;
@@ -520,7 +510,7 @@ static READ16_HANDLER( ssriders_eeprom_r )
/* bit 1 is EEPROM ready */
/* bit 2 is VBLANK (???) */
/* bit 7 is service button */
- res = eeprom_read_bit() | input_port_read(machine, "EEPROM");
+ res = input_port_read(machine, "EEPROM");
if (init_eeprom_count)
{
init_eeprom_count--;
@@ -539,7 +529,7 @@ static READ16_HANDLER( sunsetbl_eeprom_r )
/* bit 1 is EEPROM ready */
/* bit 2 is VBLANK (???) */
/* bit 3 is service button */
- res = eeprom_read_bit() | input_port_read(machine, "EEPROM");
+ res = input_port_read(machine, "EEPROM");
if (init_eeprom_count)
{
init_eeprom_count--;
@@ -616,7 +606,7 @@ static READ16_HANDLER( thndrx2_eeprom_r )
/* bit 1 is EEPROM ready */
/* bit 3 is VBLANK (???) */
/* bit 7 is service button */
- res = (eeprom_read_bit() << 8) | input_port_read(machine, "P2/EEPROM");
+ res = input_port_read(machine, "P2/EEPROM");
toggle ^= 0x0800;
return (res ^ toggle);
}
@@ -659,13 +649,6 @@ static READ16_HANDLER( prmrsocr_IN0_r )
return res;
}
-static READ16_HANDLER( prmrsocr_eeprom_r )
-{
- /* bit 8 is EEPROM data */
- /* bit 9 is EEPROM ready */
- return (eeprom_read_bit() << 8) | input_port_read(machine, "P2/EEPROM");
-}
-
static WRITE16_HANDLER( prmrsocr_eeprom_w )
{
if (ACCESSING_BITS_0_7)
@@ -838,7 +821,7 @@ static ADDRESS_MAP_START( blswhstl_main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x700000, 0x700001) AM_READ_PORT("P1")
AM_RANGE(0x700002, 0x700003) AM_READ_PORT("P2")
AM_RANGE(0x700004, 0x700005) AM_READ(blswhstl_coin_r)
- AM_RANGE(0x700006, 0x700007) AM_READ(blswhstl_eeprom_r)
+ AM_RANGE(0x700006, 0x700007) AM_READ_PORT("EEPROM")
AM_RANGE(0x700200, 0x700201) AM_WRITE(blswhstl_eeprom_w)
AM_RANGE(0x700300, 0x700301) AM_WRITE(blswhstl_700300_w)
AM_RANGE(0x700400, 0x700401) AM_WRITE(watchdog_reset16_w)
@@ -883,7 +866,7 @@ static ADDRESS_MAP_START( prmrsocr_main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x118000, 0x11801f) AM_WRITE(SMH_RAM) AM_BASE(&K053936_0_ctrl)
AM_RANGE(0x11c000, 0x11c01f) AM_WRITE(K053251_msb_w)
AM_RANGE(0x120000, 0x120001) AM_READ(prmrsocr_IN0_r)
- AM_RANGE(0x120002, 0x120003) AM_READ(prmrsocr_eeprom_r)
+ AM_RANGE(0x120002, 0x120003) AM_READ_PORT("P2/EEPROM")
AM_RANGE(0x12100c, 0x12100f) AM_WRITE(prmrsocr_sound_cmd_w)
AM_RANGE(0x121014, 0x121015) AM_READ(prmrsocr_sound_r)
AM_RANGE(0x122000, 0x122001) AM_WRITE(prmrsocr_eeprom_w) /* EEPROM + video control */
@@ -1337,7 +1320,7 @@ ADDRESS_MAP_END
PORT_BIT( 0x8000, IP_ACTIVE_LOW, start )
static INPUT_PORTS_START( cuebrick )
- PORT_START("COINS") /* COINS */
+ PORT_START("COINS")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -1347,13 +1330,13 @@ static INPUT_PORTS_START( cuebrick )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START("P1") /* PLAYER 1 */
+ PORT_START("P1")
KONAMI_PLAYERS_INPUT_LSB( 1, IPT_BUTTON3, IPT_UNUSED )
- PORT_START("P2") /* PLAYER 2 */
+ PORT_START("P2")
KONAMI_PLAYERS_INPUT_LSB( 2, IPT_BUTTON3, IPT_UNUSED )
- PORT_START("DSW1") /* DSW1 */
+ PORT_START("DSW1")
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x03, "2" )
PORT_DIPSETTING( 0x02, "3" )
@@ -1374,7 +1357,7 @@ static INPUT_PORTS_START( cuebrick )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_START("DSW2") /* DSW2 */
+ PORT_START("DSW2")
PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) )
PORT_DIPSETTING( 0x02, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x05, DEF_STR( 3C_1C ) )
@@ -1410,7 +1393,7 @@ static INPUT_PORTS_START( cuebrick )
PORT_DIPSETTING( 0x90, DEF_STR( 1C_7C ) )
// PORT_DIPSETTING( 0x00, "Invalid" )
- PORT_START("DSW3") /* DSW3 */
+ PORT_START("DSW3")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@@ -1422,7 +1405,7 @@ static INPUT_PORTS_START( cuebrick )
INPUT_PORTS_END
static INPUT_PORTS_START( mia )
- PORT_START("COINS") /* COINS */
+ PORT_START("COINS")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -1432,13 +1415,13 @@ static INPUT_PORTS_START( mia )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START("P1") /* PLAYER 1 */
+ PORT_START("P1")
KONAMI_PLAYERS_INPUT_LSB( 1, IPT_BUTTON3, IPT_UNUSED )
- PORT_START("P2") /* PLAYER 2 */
+ PORT_START("P2")
KONAMI_PLAYERS_INPUT_LSB( 2, IPT_BUTTON3, IPT_UNUSED )
- PORT_START("DSW1") /* DSW1 */
+ PORT_START("DSW1")
PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) )
PORT_DIPSETTING( 0x02, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x05, DEF_STR( 3C_1C ) )
@@ -1474,7 +1457,7 @@ static INPUT_PORTS_START( mia )
PORT_DIPSETTING( 0x90, DEF_STR( 1C_7C ) )
// PORT_DIPSETTING( 0x00, "Invalid" )
- PORT_START("DSW2") /* DSW2 */
+ PORT_START("DSW2")
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x03, "2" )
PORT_DIPSETTING( 0x02, "3" )
@@ -1495,7 +1478,7 @@ static INPUT_PORTS_START( mia )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_START("DSW3") /* DSW3 */
+ PORT_START("DSW3")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@@ -1507,7 +1490,7 @@ static INPUT_PORTS_START( mia )
INPUT_PORTS_END
static INPUT_PORTS_START( tmnt )
- PORT_START("COINS") /* COINS */
+ PORT_START("COINS")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 )
@@ -1517,16 +1500,16 @@ static INPUT_PORTS_START( tmnt )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE3 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE4 )
- PORT_START("P1") /* PLAYER 1 */
+ PORT_START("P1")
KONAMI_PLAYERS_INPUT_LSB( 1, IPT_UNKNOWN, IPT_UNKNOWN )
- PORT_START("P2") /* PLAYER 2 */
+ PORT_START("P2")
KONAMI_PLAYERS_INPUT_LSB( 2, IPT_UNKNOWN, IPT_UNKNOWN )
- PORT_START("P3") /* PLAYER 3 */
+ PORT_START("P3")
KONAMI_PLAYERS_INPUT_LSB( 3, IPT_UNKNOWN, IPT_UNKNOWN )
- PORT_START("DSW1") /* DSW1 */
+ PORT_START("DSW1")
PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x00, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x02, DEF_STR( 4C_1C ) )
@@ -1545,7 +1528,7 @@ static INPUT_PORTS_START( tmnt )
PORT_DIPSETTING( 0x0a, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x09, DEF_STR( 1C_7C ) )
- PORT_START("DSW2") /* DSW2 */
+ PORT_START("DSW2")
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x03, "1" )
PORT_DIPSETTING( 0x02, "2" )
@@ -1569,10 +1552,10 @@ static INPUT_PORTS_START( tmnt )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_START("P4") /* PLAYER 4 */
+ PORT_START("P4")
KONAMI_PLAYERS_INPUT_LSB( 4, IPT_UNKNOWN, IPT_UNKNOWN )
- PORT_START("DSW3") /* DSW3 */
+ PORT_START("DSW3")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@@ -1587,7 +1570,7 @@ static INPUT_PORTS_START( tmnt )
INPUT_PORTS_END
static INPUT_PORTS_START( tmnt2p )
- PORT_START("COINS") /* COINS */
+ PORT_START("COINS")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@@ -1597,16 +1580,16 @@ static INPUT_PORTS_START( tmnt2p )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START("P1") /* PLAYER 1 */
+ PORT_START("P1")
KONAMI_PLAYERS_INPUT_LSB( 1, IPT_UNKNOWN, IPT_START1 )
- PORT_START("P2") /* PLAYER 2 */
+ PORT_START("P2")
KONAMI_PLAYERS_INPUT_LSB( 2, IPT_UNKNOWN, IPT_START2 )
- PORT_START("P3") /* PLAYER 3 */
+ PORT_START("P3")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START("DSW1") /* DSW1 */
+ PORT_START("DSW1")
PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) )
PORT_DIPSETTING( 0x02, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x05, DEF_STR( 3C_1C ) )
@@ -1642,7 +1625,7 @@ static INPUT_PORTS_START( tmnt2p )
PORT_DIPSETTING( 0x90, DEF_STR( 1C_7C ) )
// PORT_DIPSETTING( 0x00, "Invalid" )
- PORT_START("DSW2") /* DSW2 */
+ PORT_START("DSW2")
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x03, "1" )
PORT_DIPSETTING( 0x02, "2" )
@@ -1666,10 +1649,10 @@ static INPUT_PORTS_START( tmnt2p )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_START("P4") /* PLAYER 4 */
+ PORT_START("P4")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START("DSW3") /* DSW3 */
+ PORT_START("DSW3")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@@ -1684,7 +1667,7 @@ static INPUT_PORTS_START( tmnt2p )
INPUT_PORTS_END
static INPUT_PORTS_START( punkshot )
- PORT_START("DSW1/DSW2") /* DSW1/DSW2 */
+ PORT_START("DSW1/DSW2")
PORT_DIPNAME( 0x000f, 0x000f, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x0002, DEF_STR( 4C_1C ) )
@@ -1736,7 +1719,7 @@ static INPUT_PORTS_START( punkshot )
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_START("COINS/DSW3") /* COIN/DSW3 */
+ PORT_START("COINS/DSW3")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_COIN3 )
@@ -1760,17 +1743,17 @@ static INPUT_PORTS_START( punkshot )
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_START("P1/P2") /* IN0/IN1 */
+ PORT_START("P1/P2")
KONAMI_PLAYERS_INPUT_LSB( 1, IPT_UNKNOWN, IPT_UNKNOWN )
KONAMI_PLAYERS_INPUT_MSB( 2, IPT_UNKNOWN, IPT_UNKNOWN )
- PORT_START("P3/P4") /* IN2/IN3 */
+ PORT_START("P3/P4")
KONAMI_PLAYERS_INPUT_LSB( 3, IPT_UNKNOWN, IPT_UNKNOWN )
KONAMI_PLAYERS_INPUT_MSB( 4, IPT_UNKNOWN, IPT_UNKNOWN )
INPUT_PORTS_END
static INPUT_PORTS_START( punksht2 )
- PORT_START("DSW1/DSW2") /* DSW1/DSW2 */
+ PORT_START("DSW1/DSW2")
PORT_DIPNAME( 0x000f, 0x000f, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x0002, DEF_STR( 4C_1C ) )
@@ -1822,7 +1805,7 @@ static INPUT_PORTS_START( punksht2 )
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_START("COINS/DSW3") /* COIN/DSW3 */
+ PORT_START("COINS/DSW3")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
@@ -1846,11 +1829,11 @@ static INPUT_PORTS_START( punksht2 )
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_START("P1/P2") /* IN0/IN1 */
+ PORT_START("P1/P2")
KONAMI_PLAYERS_INPUT_LSB( 1, IPT_UNKNOWN, IPT_UNKNOWN )
KONAMI_PLAYERS_INPUT_MSB( 2, IPT_UNKNOWN, IPT_UNKNOWN )
- PORT_START("P3/P4") /* IN2/IN3 */
+ PORT_START("P3/P4")
PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNUSED )
INPUT_PORTS_END
@@ -1871,7 +1854,7 @@ static INPUT_PORTS_START( lgtnfght )
PORT_START("P2")
KONAMI_PLAYERS_INPUT_LSB( 2, IPT_BUTTON3, IPT_UNKNOWN )
- PORT_START("DSW1") /* DSW1 */
+ PORT_START("DSW1")
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x03, "2" )
PORT_DIPSETTING( 0x02, "3" )
@@ -1894,7 +1877,7 @@ static INPUT_PORTS_START( lgtnfght )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_START("DSW2") /* DSW2 */
+ PORT_START("DSW2")
PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) )
PORT_DIPSETTING( 0x02, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x05, DEF_STR( 3C_1C ) )
@@ -1930,7 +1913,7 @@ static INPUT_PORTS_START( lgtnfght )
PORT_DIPSETTING( 0x90, DEF_STR( 1C_7C ) )
// PORT_DIPSETTING( 0x00, "Invalid" )
- PORT_START("DSW3") /* DSW3 */
+ PORT_START("DSW3")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@@ -1945,13 +1928,13 @@ static INPUT_PORTS_START( lgtnfght )
INPUT_PORTS_END
static INPUT_PORTS_START( blswhstl )
- PORT_START("P1") /* IN0 */
+ PORT_START("P1")
KONAMI_PLAYERS_INPUT_LSB( 1, IPT_UNKNOWN, IPT_UNKNOWN )
- PORT_START("P2") /* IN1 */
+ PORT_START("P2")
KONAMI_PLAYERS_INPUT_LSB( 2, IPT_UNKNOWN, IPT_UNKNOWN )
- PORT_START("COINS") /* COIN */
+ PORT_START("COINS")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
@@ -1961,18 +1944,18 @@ static INPUT_PORTS_START( blswhstl )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* VBLANK? OBJMPX? */
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START("EEPROM") /* EEPROM */
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* EEPROM data */
+ PORT_START("EEPROM")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL) /* EEPROM data */
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SPECIAL ) /* EEPROM status? - always 1 */
PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNKNOWN )
INPUT_PORTS_END
static INPUT_PORTS_START( glfgreat )
- PORT_START("P1/P2") /* IN0 */
+ PORT_START("P1/P2")
KONAMI_PLAYERS_INPUT_LSB( 1, IPT_BUTTON3, IPT_BUTTON4 ) PORT_PLAYER(1)
KONAMI_PLAYERS_INPUT_MSB( 2, IPT_BUTTON3, IPT_BUTTON4 ) PORT_PLAYER(2)
- PORT_START("P3/P4") /* IN1 */
+ PORT_START("P3/P4")
KONAMI_PLAYERS_INPUT_LSB( 3, IPT_BUTTON3, IPT_BUTTON4 ) PORT_PLAYER(3)
KONAMI_PLAYERS_INPUT_MSB( 4, IPT_BUTTON3, IPT_BUTTON4 ) PORT_PLAYER(4)
@@ -2062,13 +2045,13 @@ static INPUT_PORTS_START( glfgreat )
INPUT_PORTS_END
static INPUT_PORTS_START( ssriders )
- PORT_START("P1") /* IN0 */
+ PORT_START("P1")
KONAMI_PLAYERS_INPUT_LSB( 1, IPT_UNKNOWN, IPT_START1 )
- PORT_START("P2") /* IN1 */
+ PORT_START("P2")
KONAMI_PLAYERS_INPUT_LSB( 2, IPT_UNKNOWN, IPT_START2 )
- PORT_START("COINS") /* COIN */
+ PORT_START("COINS")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@@ -2078,8 +2061,8 @@ static INPUT_PORTS_START( ssriders )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START("EEPROM") /* EEPROM and service */
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* EEPROM data */
+ PORT_START("EEPROM")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL) /* EEPROM data */
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SPECIAL ) /* EEPROM status? - always 1 */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* ?? TMNT2: OBJMPX */
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK ) /* ?? TMNT2: NVBLK */
@@ -2087,21 +2070,21 @@ static INPUT_PORTS_START( ssriders )
PORT_BIT( 0x60, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* unused? */
PORT_SERVICE_NO_TOGGLE( 0x80, IP_ACTIVE_LOW )
- PORT_START("P3") /* IN2 */
+ PORT_START("P3")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START("P4") /* IN3 */
+ PORT_START("P4")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
INPUT_PORTS_END
static INPUT_PORTS_START( ssridr4p )
- PORT_START("P1") /* IN0 */
+ PORT_START("P1")
KONAMI_PLAYERS_INPUT_LSB( 1, IPT_UNKNOWN, IPT_UNKNOWN )
- PORT_START("P2") /* IN1 */
+ PORT_START("P2")
KONAMI_PLAYERS_INPUT_LSB( 2, IPT_UNKNOWN, IPT_UNKNOWN )
- PORT_START("COINS") /* COIN */
+ PORT_START("COINS")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 )
@@ -2111,8 +2094,8 @@ static INPUT_PORTS_START( ssridr4p )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE3 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE4 )
- PORT_START("EEPROM") /* EEPROM and service */
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* EEPROM data */
+ PORT_START("EEPROM")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL) /* EEPROM data */
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SPECIAL ) /* EEPROM status? - always 1 */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* ?? TMNT2: OBJMPX */
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK ) /* ?? TMNT2: NVBLK */
@@ -2120,23 +2103,23 @@ static INPUT_PORTS_START( ssridr4p )
PORT_BIT( 0x60, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* unused? */
PORT_SERVICE_NO_TOGGLE( 0x80, IP_ACTIVE_LOW )
- PORT_START("P3") /* IN2 */
+ PORT_START("P3")
KONAMI_PLAYERS_INPUT_LSB( 3, IPT_UNKNOWN, IPT_UNKNOWN )
- PORT_START("P4") /* IN3 */
+ PORT_START("P4")
KONAMI_PLAYERS_INPUT_LSB( 4, IPT_UNKNOWN, IPT_UNKNOWN )
INPUT_PORTS_END
/* Same as 'ssridr4p', but additional Start button for each player.
COIN3, COIN4, SERVICE3 and SERVICE4 only have an effect in the "test mode". */
static INPUT_PORTS_START( ssrid4ps )
- PORT_START("P1") /* IN0 */
+ PORT_START("P1")
KONAMI_PLAYERS_INPUT_LSB( 1, IPT_UNKNOWN, IPT_START1 )
- PORT_START("P2") /* IN1 */
+ PORT_START("P2")
KONAMI_PLAYERS_INPUT_LSB( 2, IPT_UNKNOWN, IPT_START2 )
- PORT_START("COINS") /* COIN */
+ PORT_START("COINS")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 )
@@ -2146,8 +2129,8 @@ static INPUT_PORTS_START( ssrid4ps )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE3 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE4 )
- PORT_START("EEPROM") /* EEPROM and service */
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* EEPROM data */
+ PORT_START("EEPROM")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL) /* EEPROM data */
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SPECIAL ) /* EEPROM status? - always 1 */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* ?? TMNT2: OBJMPX */
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK ) /* ?? TMNT2: NVBLK */
@@ -2155,22 +2138,22 @@ static INPUT_PORTS_START( ssrid4ps )
PORT_BIT( 0x60, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* unused? */
PORT_SERVICE_NO_TOGGLE( 0x80, IP_ACTIVE_LOW )
- PORT_START("P3") /* IN2 */
+ PORT_START("P3")
KONAMI_PLAYERS_INPUT_LSB( 3, IPT_UNKNOWN, IPT_START3 )
- PORT_START("P4") /* IN3 */
+ PORT_START("P4")
KONAMI_PLAYERS_INPUT_LSB( 4, IPT_UNKNOWN, IPT_START4 )
INPUT_PORTS_END
/* Version for the bootleg, which has the service switch a little different */
static INPUT_PORTS_START( sunsetbl )
- PORT_START("P1") /* IN0 */
+ PORT_START("P1")
KONAMI_PLAYERS_INPUT_LSB( 1, IPT_UNKNOWN, IPT_START1 )
- PORT_START("P2") /* IN1 */
+ PORT_START("P2")
KONAMI_PLAYERS_INPUT_LSB( 2, IPT_UNKNOWN, IPT_START2 )
- PORT_START("COINS") /* COIN */
+ PORT_START("COINS")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 )
@@ -2180,8 +2163,8 @@ static INPUT_PORTS_START( sunsetbl )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE3 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE4 )
- PORT_START("EEPROM") /* EEPROM and service */
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* EEPROM data */
+ PORT_START("EEPROM")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL) /* EEPROM data */
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SPECIAL ) /* EEPROM status? - always 1 */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_SERVICE_NO_TOGGLE( 0x08, IP_ACTIVE_LOW )
@@ -2189,15 +2172,15 @@ static INPUT_PORTS_START( sunsetbl )
PORT_BIT( 0x60, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* unused? */
PORT_SERVICE_NO_TOGGLE( 0x80, IP_ACTIVE_LOW )
- PORT_START("P3") /* IN2 */
+ PORT_START("P3")
KONAMI_PLAYERS_INPUT_LSB( 3, IPT_UNKNOWN, IPT_START3 )
- PORT_START("P4") /* IN3 */
+ PORT_START("P4")
KONAMI_PLAYERS_INPUT_LSB( 4, IPT_UNKNOWN, IPT_START4 )
INPUT_PORTS_END
static INPUT_PORTS_START( qgakumon )
- PORT_START("P1") /* IN0 */
+ PORT_START("P1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) // Joystick control : Left
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1) // Joystick control : Right
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) // Joystick control : Up
@@ -2207,7 +2190,7 @@ static INPUT_PORTS_START( qgakumon )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
- PORT_START("P2") /* IN1 */
+ PORT_START("P2")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) // Joystick control : Left
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2) // Joystick control : Right
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) // Joystick control : Up
@@ -2217,7 +2200,7 @@ static INPUT_PORTS_START( qgakumon )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
- PORT_START("COINS") /* COIN */
+ PORT_START("COINS")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@@ -2227,8 +2210,8 @@ static INPUT_PORTS_START( qgakumon )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START("EEPROM") /* EEPROM and service */
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* EEPROM data */
+ PORT_START("EEPROM")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL) /* EEPROM data */
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SPECIAL ) /* EEPROM status? - always 1 */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* ?? TMNT2: OBJMPX */
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK ) /* ?? TMNT2: NVBLK (needs to be ACTIVE_HIGH to avoid problems) */
@@ -2236,10 +2219,10 @@ static INPUT_PORTS_START( qgakumon )
PORT_BIT( 0x60, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* unused? */
PORT_SERVICE_NO_TOGGLE( 0x80, IP_ACTIVE_LOW )
- PORT_START("P3") /* IN2 */
+ PORT_START("P3")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START("P4") /* IN3 */
+ PORT_START("P4")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
INPUT_PORTS_END
@@ -2255,9 +2238,9 @@ static INPUT_PORTS_START( thndrx2 )
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START("P2/EEPROM") /* EEPROM and service */
+ PORT_START("P2/EEPROM")
KONAMI_PLAYERS_INPUT_LSB( 2, IPT_UNKNOWN, IPT_START2 )
- PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* EEPROM data */
+ PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL) /* EEPROM data */
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_SPECIAL ) /* EEPROM status? - always 1 */
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* VBLK?? */
@@ -2289,7 +2272,7 @@ static INPUT_PORTS_START( prmrsocr )
PORT_START("P2/EEPROM")
KONAMI_PLAYERS_INPUT_LSB( 2, IPT_UNKNOWN, IPT_START2 )
- PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* EEPROM data */
+ PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL) /* EEPROM data */
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_SPECIAL ) /* EEPROM status? - always 1 */
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
@@ -4229,4 +4212,3 @@ GAME( 1991, thndrx2a, thndrx2, thndrx2, thndrx2, gfx, ROT0, "Konami", "
GAME( 1993, prmrsocr, 0, prmrsocr, prmrsocr, glfgreat, ROT0, "Konami", "Premier Soccer (ver EAB)", 0 )
GAME( 1993, prmrsocj, prmrsocr, prmrsocr, prmrsocr, glfgreat, ROT0, "Konami", "Premier Soccer (ver JAB)", 0 )
-
diff --git a/src/mame/drivers/toaplan2.c b/src/mame/drivers/toaplan2.c
index 515a5ecd12d..be39441e43b 100644
--- a/src/mame/drivers/toaplan2.c
+++ b/src/mame/drivers/toaplan2.c
@@ -744,7 +744,7 @@ static WRITE16_HANDLER( toaplan2_hd647180_cpu_w )
}
}
-static READ16_HANDLER( c2map_port_6_r )
+static CUSTOM_INPUT( c2map_r )
{
/* For Teki Paki hardware */
/* bit 4 high signifies secondary CPU is ready */
@@ -755,9 +755,8 @@ static READ16_HANDLER( c2map_port_6_r )
case CPU_2_HD647180: mcu_data = 0xff; break; /* Teki Paki */
default: mcu_data = 0x00; break;
}
- if (mcu_data == 0xff) mcu_data = 0x10;
- else mcu_data = 0x00;
- return ( mcu_data | input_port_read(machine, "JMPR") );
+
+ return (mcu_data == 0xff) ? 0x01 : 0x00;
}
static READ16_HANDLER( pipibibi_z80_status_r )
@@ -994,9 +993,9 @@ static WRITE16_HANDLER( fixeight_sec_cpu_w )
/* from/to nvram to store the settings (a 93C45 EEPROM) */
memory_install_readwrite16_handler(machine, 0, ADDRESS_SPACE_PROGRAM, 0x28f002, 0x28fbff, 0, 0, SMH_BANK2, SMH_BANK2);
memory_set_bankptr(2, fixeight_sec_cpu_mem);
- memory_install_readwrite16_handler(machine, 0, ADDRESS_SPACE_PROGRAM, 0x28f004, 0x28f005, 0, 0, input_port_5_word_r, SMH_NOP); /* Dip Switch A - Wrong !!! */
- memory_install_readwrite16_handler(machine, 0, ADDRESS_SPACE_PROGRAM, 0x28f006, 0x28f007, 0, 0, input_port_6_word_r, SMH_NOP); /* Dip Switch B - Wrong !!! */
- memory_install_readwrite16_handler(machine, 0, ADDRESS_SPACE_PROGRAM, 0x28f008, 0x28f009, 0, 0, input_port_7_word_r, SMH_NOP); /* Territory Jumper block - Wrong !!! */
+ memory_install_readwrite16_handler(machine, 0, ADDRESS_SPACE_PROGRAM, 0x28f004, 0x28f005, 0, 0, input_port_read_handler16(machine->portconfig, "DSWA"), SMH_NOP); /* Dip Switch A - Wrong !!! */
+ memory_install_readwrite16_handler(machine, 0, ADDRESS_SPACE_PROGRAM, 0x28f006, 0x28f007, 0, 0, input_port_read_handler16(machine->portconfig, "DSWB"), SMH_NOP); /* Dip Switch B - Wrong !!! */
+ memory_install_readwrite16_handler(machine, 0, ADDRESS_SPACE_PROGRAM, 0x28f008, 0x28f009, 0, 0, input_port_read_handler16(machine->portconfig, "JMPR"), SMH_NOP); /* Territory Jumper block - Wrong !!! */
mcu_data = data;
}
@@ -1397,7 +1396,7 @@ static ADDRESS_MAP_START( tekipaki_68k_mem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x180000, 0x180001) AM_READ_PORT("DSWA")
AM_RANGE(0x180010, 0x180011) AM_READ_PORT("DSWB")
AM_RANGE(0x180020, 0x180021) AM_READ_PORT("SYS")
- AM_RANGE(0x180030, 0x180031) AM_READ(c2map_port_6_r) /* CPU 2 busy and Territory Jumper block */
+ AM_RANGE(0x180030, 0x180031) AM_READ_PORT("JMPR") /* CPU 2 busy and Territory Jumper block */
AM_RANGE(0x180040, 0x180041) AM_WRITE(toaplan2_coin_word_w) /* Coin count/lock */
AM_RANGE(0x180050, 0x180051) AM_READ_PORT("IN1")
AM_RANGE(0x180060, 0x180061) AM_READ_PORT("IN2")
@@ -2181,7 +2180,7 @@ INPUT_PORTS_END
static INPUT_PORTS_START( tekipaki )
- PORT_INCLUDE(toaplan2)
+ PORT_INCLUDE( toaplan2 )
PORT_MODIFY("DSWA")
/* Various features on bit mask 0x000f - see above */
@@ -2221,11 +2220,12 @@ static INPUT_PORTS_START( tekipaki )
PORT_DIPSETTING( 0x0008, "Hong Kong (Honest Trading Co.)" )
PORT_DIPSETTING( 0x0005, "Taiwan" )
PORT_DIPSETTING( 0x0006, "Taiwan (Spacy Co. Ltd)" )
+ PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(c2map_r, NULL)
INPUT_PORTS_END
static INPUT_PORTS_START( ghox )
- PORT_INCLUDE(toaplan2)
+ PORT_INCLUDE( toaplan2 )
PORT_MODIFY("DSWA")
/* Various features on bit mask 0x000f - see above */
@@ -2281,7 +2281,7 @@ INPUT_PORTS_END
static INPUT_PORTS_START( dogyuun )
- PORT_INCLUDE(toaplan2)
+ PORT_INCLUDE( toaplan2 )
PORT_MODIFY("IN1")
PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(1)
@@ -2338,7 +2338,7 @@ INPUT_PORTS_END
static INPUT_PORTS_START( kbash )
- PORT_INCLUDE(toaplan2)
+ PORT_INCLUDE( toaplan2 )
PORT_MODIFY("IN1")
PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(1)
@@ -2402,7 +2402,7 @@ INPUT_PORTS_END
static INPUT_PORTS_START( truxton2 )
- PORT_INCLUDE(toaplan2)
+ PORT_INCLUDE( toaplan2 )
PORT_MODIFY("IN1")
PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_PLAYER(1)
@@ -2450,7 +2450,7 @@ INPUT_PORTS_END
static INPUT_PORTS_START( pipibibs )
- PORT_INCLUDE(toaplan2)
+ PORT_INCLUDE( toaplan2 )
PORT_MODIFY("DSWA")
/* Various features on bit mask 0x000f - see above */
@@ -2496,7 +2496,7 @@ static INPUT_PORTS_START( whoopee )
PORT_INCLUDE(pipibibs)
PORT_MODIFY("JMPR")
- PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* bit 0x10 sound ready */
+ PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(c2map_r, NULL) /* bit 0x10 sound ready */
INPUT_PORTS_END
@@ -2527,7 +2527,7 @@ INPUT_PORTS_END
static INPUT_PORTS_START( fixeight )
- PORT_INCLUDE(toaplan2)
+ PORT_INCLUDE( toaplan2 )
PORT_START("IN3")
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(3) PORT_8WAY
@@ -2615,7 +2615,7 @@ INPUT_PORTS_END
static INPUT_PORTS_START( grindstm )
- PORT_INCLUDE(toaplan2)
+ PORT_INCLUDE( toaplan2 )
PORT_MODIFY("DSWA")
PORT_DIPNAME( 0x0001, 0x0000, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:1")
@@ -2677,7 +2677,7 @@ INPUT_PORTS_END
static INPUT_PORTS_START( batsugun )
- PORT_INCLUDE(toaplan2)
+ PORT_INCLUDE( toaplan2 )
PORT_MODIFY("DSWA")
PORT_DIPNAME( 0x0001, 0x0000, "Continue Mode" ) PORT_DIPLOCATION("SW1:1")
@@ -2729,7 +2729,7 @@ INPUT_PORTS_END
static INPUT_PORTS_START( snowbro2 )
- PORT_INCLUDE(toaplan2)
+ PORT_INCLUDE( toaplan2 )
PORT_START("IN3")
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(3) PORT_8WAY
@@ -2797,7 +2797,7 @@ INPUT_PORTS_END
static INPUT_PORTS_START( sstriker )
- PORT_INCLUDE(toaplan2)
+ PORT_INCLUDE( toaplan2 )
PORT_MODIFY("DSWA")
PORT_DIPNAME( 0x0001, 0x0000, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("SW1:1")
@@ -2850,7 +2850,7 @@ INPUT_PORTS_END
static INPUT_PORTS_START( kingdmgp )
- PORT_INCLUDE(toaplan2)
+ PORT_INCLUDE( toaplan2 )
PORT_MODIFY("DSWA")
PORT_DIPNAME( 0x0001, 0x0000, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("SW1:1")
diff --git a/src/mame/drivers/toki.c b/src/mame/drivers/toki.c
index df8c2ba8832..1f91d3cde9a 100644
--- a/src/mame/drivers/toki.c
+++ b/src/mame/drivers/toki.c
@@ -115,9 +115,9 @@ static ADDRESS_MAP_START( toki_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x06f800, 0x06ffff) AM_RAM_WRITE(toki_foreground_videoram16_w) AM_BASE(&videoram16)
AM_RANGE(0x080000, 0x08000d) AM_READWRITE(seibu_main_word_r, seibu_main_word_w)
AM_RANGE(0x0a0000, 0x0a005f) AM_WRITE(toki_control_w) AM_BASE(&toki_scrollram16)
- AM_RANGE(0x0c0000, 0x0c0001) AM_READ(input_port_1_word_r)
- AM_RANGE(0x0c0002, 0x0c0003) AM_READ(input_port_2_word_r)
- AM_RANGE(0x0c0004, 0x0c0005) AM_READ(input_port_3_word_r)
+ AM_RANGE(0x0c0000, 0x0c0001) AM_READ_PORT("DSW")
+ AM_RANGE(0x0c0002, 0x0c0003) AM_READ_PORT("INPUTS")
+ AM_RANGE(0x0c0004, 0x0c0005) AM_READ_PORT("SYSTEM")
ADDRESS_MAP_END
/* In the bootleg, sound and sprites are remapped to 0x70000 */
@@ -135,9 +135,9 @@ static ADDRESS_MAP_START( tokib_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x072000, 0x072001) AM_READ(watchdog_reset16_r) /* probably */
AM_RANGE(0x075000, 0x075001) AM_WRITE(tokib_soundcommand16_w)
AM_RANGE(0x075004, 0x07500b) AM_WRITE(SMH_RAM) AM_BASE(&toki_scrollram16)
- AM_RANGE(0x0c0000, 0x0c0001) AM_READ(input_port_0_word_r)
- AM_RANGE(0x0c0002, 0x0c0003) AM_READ(input_port_1_word_r)
- AM_RANGE(0x0c0004, 0x0c0005) AM_READ(input_port_2_word_r)
+ AM_RANGE(0x0c0000, 0x0c0001) AM_READ_PORT("DSW")
+ AM_RANGE(0x0c0002, 0x0c0003) AM_READ_PORT("INPUTS")
+ AM_RANGE(0x0c0004, 0x0c0005) AM_READ_PORT("SYSTEM")
AM_RANGE(0x0c000e, 0x0c000f) AM_READ(pip16_r) /* sound related, if we return 0 the code writes */
/* the sound command quickly followed by 0 and the */
/* sound CPU often misses the command. */
@@ -164,7 +164,7 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( toki )
SEIBU_COIN_INPUTS /* coin inputs read through sound cpu */
- PORT_START("DSW0")
+ PORT_START("DSW")
PORT_DIPNAME( 0x001f, 0x001f, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:1,2,3,4,5")
PORT_DIPSETTING( 0x0015, DEF_STR( 6C_1C ) )
PORT_DIPSETTING( 0x0017, DEF_STR( 5C_1C ) )
@@ -217,7 +217,7 @@ static INPUT_PORTS_START( toki )
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x8000, DEF_STR( On ) )
- PORT_START("IN1")
+ PORT_START("INPUTS")
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
@@ -235,7 +235,7 @@ static INPUT_PORTS_START( toki )
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START("IN2")
+ PORT_START("SYSTEM")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
@@ -247,7 +247,7 @@ static INPUT_PORTS_START( toki )
INPUT_PORTS_END
static INPUT_PORTS_START( tokib )
- PORT_START("DSW0")
+ PORT_START("DSW")
PORT_DIPNAME( 0x001f, 0x001f, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x0015, DEF_STR( 6C_1C ) )
PORT_DIPSETTING( 0x0017, DEF_STR( 5C_1C ) )
@@ -300,7 +300,7 @@ static INPUT_PORTS_START( tokib )
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x8000, DEF_STR( On ) )
- PORT_START("IN0")
+ PORT_START("INPUTS")
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
@@ -318,7 +318,7 @@ static INPUT_PORTS_START( tokib )
PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_START("IN1")
+ PORT_START("SYSTEM")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
diff --git a/src/mame/drivers/toobin.c b/src/mame/drivers/toobin.c
index dad86cf68fa..c693ad83538 100644
--- a/src/mame/drivers/toobin.c
+++ b/src/mame/drivers/toobin.c
@@ -119,7 +119,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xff8500, 0xff8501) AM_WRITE(atarigen_eeprom_enable_w)
AM_RANGE(0xff8600, 0xff8601) AM_WRITE(toobin_xscroll_w) AM_BASE(&atarigen_xscroll)
AM_RANGE(0xff8700, 0xff8701) AM_WRITE(toobin_yscroll_w) AM_BASE(&atarigen_yscroll)
- AM_RANGE(0xff8800, 0xff8801) AM_READ(input_port_0_word_r)
+ AM_RANGE(0xff8800, 0xff8801) AM_READ_PORT("FF8800")
AM_RANGE(0xff9000, 0xff9001) AM_READ(special_port1_r)
AM_RANGE(0xff9800, 0xff9801) AM_READ(atarigen_sound_r)
AM_RANGE(0xffa000, 0xffafff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE(&atarigen_eeprom) AM_SIZE(&atarigen_eeprom_size)
@@ -135,7 +135,7 @@ ADDRESS_MAP_END
*************************************/
static INPUT_PORTS_START( toobin )
- PORT_START("FF8800") /* ff8800 */
+ PORT_START("FF8800")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("P2 R Paddle Forward") PORT_CODE(KEYCODE_L) PORT_PLAYER(2)
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("P2 L Paddle Forward") PORT_CODE(KEYCODE_J) PORT_PLAYER(2)
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("P2 L Paddle Backward") PORT_CODE(KEYCODE_U) PORT_PLAYER(2)
@@ -148,7 +148,7 @@ static INPUT_PORTS_START( toobin )
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("P2 Throw") PORT_CODE(KEYCODE_RCONTROL) PORT_PLAYER(2)
PORT_BIT( 0xfc00, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START("FF9000") /* ff9000 */
+ PORT_START("FF9000")
PORT_BIT( 0x03ff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNUSED )
diff --git a/src/mame/drivers/topshoot.c b/src/mame/drivers/topshoot.c
index 8e241b94995..1dedf6af20a 100644
--- a/src/mame/drivers/topshoot.c
+++ b/src/mame/drivers/topshoot.c
@@ -191,13 +191,13 @@ INPUT_PORTS_END
static ADDRESS_MAP_START( topshoot_readmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_READ(SMH_ROM) /* Cartridge Program Rom */
-// AM_RANGE(0x200000, 0x20007f) AM_READ(SMH_RAM)
-// AM_RANGE(0x200040, 0x200041) AM_READ(input_port_0_word_r) // ??
-// AM_RANGE(0x200050, 0x200051) AM_READ(input_port_0_word_r) // ??
+// AM_RANGE(0x200000, 0x20007f) AM_READ(SMH_RAM)
+// AM_RANGE(0x200040, 0x200041) AM_READ_PORT("IN0") // ??
+// AM_RANGE(0x200050, 0x200051) AM_READ_PORT("IN0") // ??
AM_RANGE(0x202000, 0x2023ff) AM_READ(SMH_RAM)
- AM_RANGE(0x400004, 0x400005) AM_READ(input_port_0_word_r) // ??
- AM_RANGE(0xa10000, 0xa1001f) AM_READ(input_port_0_word_r)
- AM_RANGE(0xa11100, 0xa11101) AM_READ(input_port_0_word_r) // ??
+ AM_RANGE(0x400004, 0x400005) AM_READ_PORT("IN0") // ??
+ AM_RANGE(0xa10000, 0xa1001f) AM_READ_PORT("IN0")
+ AM_RANGE(0xa11100, 0xa11101) AM_READ_PORT("IN0") // ??
AM_RANGE(0xa00000, 0xa0ffff) AM_READ(genesis_68k_to_z80_r)
diff --git a/src/mame/drivers/tp84.c b/src/mame/drivers/tp84.c
index 98a1cf38523..1e4d141999a 100644
--- a/src/mame/drivers/tp84.c
+++ b/src/mame/drivers/tp84.c
@@ -135,11 +135,11 @@ static WRITE8_HANDLER( tp84_sh_irqtrigger_w )
static ADDRESS_MAP_START( tp84_cpu1_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x2000, 0x2000) AM_WRITE(watchdog_reset_w)
- AM_RANGE(0x2800, 0x2800) AM_READWRITE(input_port_0_r, SMH_RAM) AM_BASE(&tp84_palette_bank)
- AM_RANGE(0x2820, 0x2820) AM_READ(input_port_1_r)
- AM_RANGE(0x2840, 0x2840) AM_READ(input_port_2_r)
- AM_RANGE(0x2860, 0x2860) AM_READ(input_port_3_r)
- AM_RANGE(0x3000, 0x3000) AM_READWRITE(input_port_4_r, SMH_RAM)
+ AM_RANGE(0x2800, 0x2800) AM_READ_PORT("SYSTEM") AM_WRITEONLY AM_BASE(&tp84_palette_bank)
+ AM_RANGE(0x2820, 0x2820) AM_READ_PORT("P1")
+ AM_RANGE(0x2840, 0x2840) AM_READ_PORT("P2")
+ AM_RANGE(0x2860, 0x2860) AM_READ_PORT("DSW1")
+ AM_RANGE(0x3000, 0x3000) AM_READ_PORT("DSW2") AM_WRITEONLY
AM_RANGE(0x3004, 0x3004) AM_WRITE(SMH_RAM) AM_BASE(&tp84_flipscreen_x)
AM_RANGE(0x3005, 0x3005) AM_WRITE(SMH_RAM) AM_BASE(&tp84_flipscreen_y)
AM_RANGE(0x3800, 0x3800) AM_WRITE(tp84_sh_irqtrigger_w)
@@ -161,11 +161,11 @@ static ADDRESS_MAP_START( tp84b_cpu1_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0c00, 0x0fff) AM_RAM AM_BASE(&tp84_fg_colorram)
AM_RANGE(0x1000, 0x17ff) AM_RAM AM_SHARE(1)
AM_RANGE(0x1800, 0x1800) AM_WRITE(watchdog_reset_w)
- AM_RANGE(0x1a00, 0x1a00) AM_READWRITE(input_port_0_r, SMH_RAM) AM_BASE(&tp84_palette_bank)
- AM_RANGE(0x1a20, 0x1a20) AM_READ(input_port_1_r)
- AM_RANGE(0x1a40, 0x1a40) AM_READ(input_port_2_r)
- AM_RANGE(0x1a60, 0x1a60) AM_READ(input_port_3_r)
- AM_RANGE(0x1c00, 0x1c00) AM_READWRITE(input_port_4_r, SMH_NOP)
+ AM_RANGE(0x1a00, 0x1a00) AM_READ_PORT("SYSTEM") AM_WRITEONLY AM_BASE(&tp84_palette_bank)
+ AM_RANGE(0x1a20, 0x1a20) AM_READ_PORT("P1")
+ AM_RANGE(0x1a40, 0x1a40) AM_READ_PORT("P2")
+ AM_RANGE(0x1a60, 0x1a60) AM_READ_PORT("DSW1")
+ AM_RANGE(0x1c00, 0x1c00) AM_READ_PORT("DSW2") AM_WRITENOP
AM_RANGE(0x1c04, 0x1c04) AM_WRITE(SMH_RAM) AM_BASE(&tp84_flipscreen_x)
AM_RANGE(0x1c05, 0x1c05) AM_WRITE(SMH_RAM) AM_BASE(&tp84_flipscreen_y)
AM_RANGE(0x1e00, 0x1e00) AM_WRITE(tp84_sh_irqtrigger_w)
@@ -202,7 +202,7 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( tp84 )
- PORT_START("SYSTEM") /* IN0 */
+ PORT_START("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 )
@@ -212,7 +212,7 @@ static INPUT_PORTS_START( tp84 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START("P1") /* IN1 */
+ PORT_START("P1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
@@ -222,7 +222,7 @@ static INPUT_PORTS_START( tp84 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START("P2") /* IN2 */
+ PORT_START("P2")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
@@ -232,7 +232,7 @@ static INPUT_PORTS_START( tp84 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START("DSW1") /* DSW0 */
+ PORT_START("DSW1")
PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) )
PORT_DIPSETTING( 0x02, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x05, DEF_STR( 3C_1C ) )
@@ -268,7 +268,7 @@ static INPUT_PORTS_START( tp84 )
PORT_DIPSETTING( 0x90, DEF_STR( 1C_7C ) )
PORT_DIPSETTING( 0x00, "Invalid" )
- PORT_START("DSW2") /* DSW1 */
+ PORT_START("DSW2")
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x03, "2" )
PORT_DIPSETTING( 0x02, "3" )
@@ -293,7 +293,7 @@ static INPUT_PORTS_START( tp84 )
INPUT_PORTS_END
static INPUT_PORTS_START( tp84a )
- PORT_START("SYSTEM") /* IN0 */
+ PORT_START("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 )
@@ -303,7 +303,7 @@ static INPUT_PORTS_START( tp84a )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START("P1") /* IN1 */
+ PORT_START("P1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
@@ -313,7 +313,7 @@ static INPUT_PORTS_START( tp84a )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START("P2") /* IN2 */
+ PORT_START("P2")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
@@ -323,7 +323,7 @@ static INPUT_PORTS_START( tp84a )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START("DSW1") /* DSW0 */
+ PORT_START("DSW1")
PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) )
PORT_DIPSETTING( 0x02, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x05, DEF_STR( 3C_1C ) )
@@ -359,7 +359,7 @@ static INPUT_PORTS_START( tp84a )
PORT_DIPSETTING( 0x90, DEF_STR( 1C_7C ) )
PORT_DIPSETTING( 0x00, "Invalid" )
- PORT_START("DSW2") /* DSW1 */
+ PORT_START("DSW2")
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x03, "3" )
PORT_DIPSETTING( 0x02, "4" )
diff --git a/src/mame/drivers/trackfld.c b/src/mame/drivers/trackfld.c
index 124a6ab8d1c..f5e5768fdc0 100644
--- a/src/mame/drivers/trackfld.c
+++ b/src/mame/drivers/trackfld.c
@@ -116,11 +116,11 @@ static WRITE8_HANDLER( questions_bank_w )
static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x1200, 0x1200) AM_READ(input_port_4_r) /* DIP 2 */
- AM_RANGE(0x1280, 0x1280) AM_READ(input_port_0_r) /* IO Coin */
- AM_RANGE(0x1281, 0x1281) AM_READ(input_port_1_r) /* P1 IO */
- AM_RANGE(0x1282, 0x1282) AM_READ(input_port_2_r) /* P2 IO */
- AM_RANGE(0x1283, 0x1283) AM_READ(input_port_3_r) /* DIP 1 */
+ AM_RANGE(0x1200, 0x1200) AM_READ_PORT("DSW2")
+ AM_RANGE(0x1280, 0x1280) AM_READ_PORT("SYSTEM")
+ AM_RANGE(0x1281, 0x1281) AM_READ_PORT("IN0")
+ AM_RANGE(0x1282, 0x1282) AM_READ_PORT("IN1")
+ AM_RANGE(0x1283, 0x1283) AM_READ_PORT("DSW1")
AM_RANGE(0x1800, 0x1fff) AM_READ(SMH_RAM)
AM_RANGE(0x2800, 0x3fff) AM_READ(SMH_RAM)
AM_RANGE(0x6000, 0xffff) AM_READ(SMH_ROM)
@@ -152,11 +152,11 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( reaktor_readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM)
/* all usual addresses +0x8000 */
- AM_RANGE(0x9200, 0x9200) AM_READ(input_port_4_r) /* DIP 2 */
- AM_RANGE(0x9280, 0x9280) AM_READ(input_port_0_r) /* IO Coin */
- AM_RANGE(0x9281, 0x9281) AM_READ(input_port_1_r) /* P1 IO */
- AM_RANGE(0x9282, 0x9282) AM_READ(input_port_2_r) /* P2 IO */
- AM_RANGE(0x9283, 0x9283) AM_READ(input_port_3_r) /* DIP 1 */
+ AM_RANGE(0x9200, 0x9200) AM_READ_PORT("DSW2")
+ AM_RANGE(0x9280, 0x9280) AM_READ_PORT("SYSTEM")
+ AM_RANGE(0x9281, 0x9281) AM_READ_PORT("IN0")
+ AM_RANGE(0x9282, 0x9282) AM_READ_PORT("IN1")
+ AM_RANGE(0x9283, 0x9283) AM_READ_PORT("DSW1")
AM_RANGE(0x9800, 0x9fff) AM_READ(SMH_RAM)
AM_RANGE(0xa800, 0xbfff) AM_READ(SMH_RAM)
ADDRESS_MAP_END
@@ -197,11 +197,11 @@ static ADDRESS_MAP_START( reaktor_writeport, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_END
static ADDRESS_MAP_START( mastkin_readmem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x1200, 0x1200) AM_READ(input_port_4_r) /* DIP 2 */
- AM_RANGE(0x1280, 0x1280) AM_READ(input_port_0_r) /* IO Coin */
- AM_RANGE(0x1281, 0x1281) AM_READ(input_port_1_r) /* P1 IO */
-// AM_RANGE(0x1282, 0x1282) AM_READ(input_port_2_r) /* unused */
- AM_RANGE(0x1283, 0x1283) AM_READ(input_port_3_r) /* DIP 1 */
+ AM_RANGE(0x1200, 0x1200) AM_READ_PORT("DSW2")
+ AM_RANGE(0x1280, 0x1280) AM_READ_PORT("SYSTEM")
+ AM_RANGE(0x1281, 0x1281) AM_READ_PORT("IN0")
+// AM_RANGE(0x1282, 0x1282) AM_READ_PORT("IN1") /* unused */
+ AM_RANGE(0x1283, 0x1283) AM_READ_PORT("DSW1")
AM_RANGE(0x1800, 0x1fff) AM_READ(SMH_RAM)
AM_RANGE(0x2800, 0x3fff) AM_READ(SMH_RAM)
AM_RANGE(0x6000, 0xffff) AM_READ(SMH_ROM)
@@ -235,11 +235,11 @@ static ADDRESS_MAP_START( wizzquiz_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x1083, 0x1084) AM_WRITE(coin_w)
AM_RANGE(0x1087, 0x1087) AM_WRITE(interrupt_enable_w)
AM_RANGE(0x1100, 0x1100) AM_WRITE(soundlatch_w)
- AM_RANGE(0x1200, 0x1200) AM_READ(input_port_4_r) /* DIP 2 */
- AM_RANGE(0x1280, 0x1280) AM_READ(input_port_0_r) /* IO Coin */
- AM_RANGE(0x1281, 0x1281) AM_READ(input_port_1_r) /* P1 IO */
- AM_RANGE(0x1282, 0x1282) AM_READ(input_port_2_r) /* P2 IO */
- AM_RANGE(0x1283, 0x1283) AM_READ(input_port_3_r) /* DIP 1 */
+ AM_RANGE(0x1200, 0x1200) AM_READ_PORT("DSW2")
+ AM_RANGE(0x1280, 0x1280) AM_READ_PORT("SYSTEM")
+ AM_RANGE(0x1281, 0x1281) AM_READ_PORT("IN0")
+ AM_RANGE(0x1282, 0x1282) AM_READ_PORT("IN1")
+ AM_RANGE(0x1283, 0x1283) AM_READ_PORT("DSW1")
AM_RANGE(0x1800, 0x183f) AM_RAM AM_BASE(&spriteram_2)
AM_RANGE(0x1840, 0x185f) AM_RAM AM_BASE(&trackfld_scroll)
AM_RANGE(0x1860, 0x1bff) AM_RAM
@@ -308,7 +308,7 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( trackfld )
- PORT_START("IN0")
+ PORT_START("SYSTEM")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
@@ -318,7 +318,7 @@ static INPUT_PORTS_START( trackfld )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START("IN1")
+ PORT_START("IN0")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
@@ -328,7 +328,7 @@ static INPUT_PORTS_START( trackfld )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START("IN2")
+ PORT_START("IN1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(3) //PORT_COCKTAIL
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(3) //PORT_COCKTAIL
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3) //PORT_COCKTAIL
@@ -338,7 +338,7 @@ static INPUT_PORTS_START( trackfld )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(4) //PORT_COCKTAIL
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START("DSW0")
+ PORT_START("DSW1")
PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) )
PORT_DIPSETTING( 0x02, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x05, DEF_STR( 3C_1C ) )
@@ -376,7 +376,7 @@ static INPUT_PORTS_START( trackfld )
/* 0x00 disables Coin 2. It still accepts coins and makes the sound, but
it doesn't give you any credit */
- PORT_START("DSW1")
+ PORT_START("DSW2")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x01, "1" )
PORT_DIPSETTING( 0x00, "2" )
@@ -385,7 +385,7 @@ static INPUT_PORTS_START( trackfld )
PORT_DIPSETTING( 0x00, "Game Continues" )
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Cabinet ) )
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
- PORT_DIPSETTING( 0x04, DEF_STR( Cocktail ))
+ PORT_DIPSETTING( 0x04, DEF_STR( Cocktail ) )
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Bonus_Life ) )
PORT_DIPSETTING( 0x08, DEF_STR( None ) )
PORT_DIPSETTING( 0x00, "100000" )
@@ -403,7 +403,7 @@ static INPUT_PORTS_START( trackfld )
INPUT_PORTS_END
static INPUT_PORTS_START( atlantol )
- PORT_START("IN0")
+ PORT_START("SYSTEM")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
@@ -413,7 +413,7 @@ static INPUT_PORTS_START( atlantol )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START("IN1")
+ PORT_START("IN0")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_PLAYER(1)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_PLAYER(1)
@@ -423,7 +423,7 @@ static INPUT_PORTS_START( atlantol )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_PLAYER(2)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START("IN2")
+ PORT_START("IN1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_PLAYER(3) //PORT_COCKTAIL
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3) //PORT_COCKTAIL
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_PLAYER(3) //PORT_COCKTAIL
@@ -433,7 +433,7 @@ static INPUT_PORTS_START( atlantol )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_PLAYER(4) //PORT_COCKTAIL
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START("DSW0")
+ PORT_START("DSW1")
PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) )
PORT_DIPSETTING( 0x02, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x05, DEF_STR( 3C_1C ) )
@@ -471,7 +471,7 @@ static INPUT_PORTS_START( atlantol )
/* 0x00 disables Coin 2. It still accepts coins and makes the sound, but
it doesn't give you any credit */
- PORT_START("DSW1")
+ PORT_START("DSW2")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x01, "1" )
PORT_DIPSETTING( 0x00, "2" )
@@ -498,7 +498,7 @@ static INPUT_PORTS_START( atlantol )
INPUT_PORTS_END
static INPUT_PORTS_START( mastkin )
- PORT_START("IN0")
+ PORT_START("SYSTEM")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@@ -508,7 +508,7 @@ static INPUT_PORTS_START( mastkin )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START("IN1")
+ PORT_START("IN0")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )
@@ -518,7 +518,7 @@ static INPUT_PORTS_START( mastkin )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START("DSW0")
+ PORT_START("DSW1")
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Allow_Continue ) )
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@@ -539,7 +539,7 @@ static INPUT_PORTS_START( mastkin )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) // Stored at 0x284e but not read back
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) // Cocktail Mode, not used
- PORT_START("DSW1")
+ PORT_START("DSW2")
PORT_DIPNAME( 0x0f, 0x00, DEF_STR( Coin_B ) )
PORT_DIPSETTING( 0x0a, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x09, DEF_STR( 3C_1C ) )
@@ -577,7 +577,7 @@ static INPUT_PORTS_START( mastkin )
INPUT_PORTS_END
static INPUT_PORTS_START( wizzquiz )
- PORT_START("IN0")
+ PORT_START("SYSTEM")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
@@ -587,7 +587,7 @@ static INPUT_PORTS_START( wizzquiz )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START("IN1")
+ PORT_START("IN0")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) PORT_NAME("P2 - C")
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) PORT_NAME("P2 - B")
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_NAME("P2 - A")
@@ -597,7 +597,7 @@ static INPUT_PORTS_START( wizzquiz )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_NAME("P1 - A")
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START("IN2")
+ PORT_START("IN1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 )
@@ -607,7 +607,7 @@ static INPUT_PORTS_START( wizzquiz )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START("DSW0")
+ PORT_START("DSW1")
PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) )
PORT_DIPSETTING( 0x02, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x05, DEF_STR( 3C_1C ) )
@@ -643,7 +643,7 @@ static INPUT_PORTS_START( wizzquiz )
PORT_DIPSETTING( 0x90, DEF_STR( 1C_7C ) )
PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) ) // must set both Free Play
- PORT_START("DSW1")
+ PORT_START("DSW2")
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x03, "3" )
PORT_DIPSETTING( 0x02, "4" )
@@ -670,7 +670,7 @@ static INPUT_PORTS_START( wizzquiz )
INPUT_PORTS_END
static INPUT_PORTS_START( reaktor )
- PORT_START("IN0")
+ PORT_START("SYSTEM")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
@@ -680,7 +680,7 @@ static INPUT_PORTS_START( reaktor )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START("IN1")
+ PORT_START("IN0")
/* controls seem to be shared by both players */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
@@ -691,7 +691,7 @@ static INPUT_PORTS_START( reaktor )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) // probably unused
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) // probably unused
- PORT_START("IN2")
+ PORT_START("IN1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) // probably unused
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) // probably unused
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // probably unused
@@ -701,7 +701,7 @@ static INPUT_PORTS_START( reaktor )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) // probably unused
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) // probably unused
- PORT_START("DSW0")
+ PORT_START("DSW1")
PORT_DIPNAME( 0x01, 0x01, "Pricing" )
PORT_DIPSETTING( 0x01, "10p / 25c per play" )
PORT_DIPSETTING( 0x00, "20p / 50c per play" )
@@ -726,7 +726,7 @@ static INPUT_PORTS_START( reaktor )
PORT_DIPSETTING( 0x80, "20000" )
PORT_DIPSETTING( 0x00, "30000" )
- PORT_START("DSW1")
+ PORT_START("DSW2")
PORT_DIPNAME( 0x01, 0x01, "Game Orientation" )
PORT_DIPSETTING( 0x01, "For Vertical Monitor" )
PORT_DIPSETTING( 0x00, "For Horizontal Monitor" )
diff --git a/src/mame/drivers/trucocl.c b/src/mame/drivers/trucocl.c
index b2f1c12083a..877bc0af544 100644
--- a/src/mame/drivers/trucocl.c
+++ b/src/mame/drivers/trucocl.c
@@ -91,7 +91,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x4400, 0x47ff) AM_RAM_WRITE(trucocl_colorram_w) AM_BASE(&colorram)
AM_RANGE(0x4c00, 0x4fff) AM_RAM
AM_RANGE(0x5000, 0x5000) AM_WRITE(irq_enable_w)
- AM_RANGE(0x5000, 0x503f) AM_READ(input_port_0_r) /* IN0 */
+ AM_RANGE(0x5000, 0x503f) AM_READ_PORT("IN0")
AM_RANGE(0x5080, 0x5080) AM_WRITE(audio_dac_w)
AM_RANGE(0x50c0, 0x50c0) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x8000, 0xffff) AM_ROM
diff --git a/src/mame/drivers/trvmadns.c b/src/mame/drivers/trvmadns.c
index 9b1da186820..0f22c1a1f8b 100644
--- a/src/mame/drivers/trvmadns.c
+++ b/src/mame/drivers/trvmadns.c
@@ -212,7 +212,7 @@ static ADDRESS_MAP_START( io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(ay8910_control_port_0_w)
AM_RANGE(0x01, 0x01) AM_WRITE(ay8910_write_port_0_w)
- AM_RANGE(0x02, 0x02) AM_READ(input_port_0_r)
+ AM_RANGE(0x02, 0x02) AM_READ_PORT("IN0")
AM_RANGE(0x80, 0x80) AM_WRITE(trvmadns_banking_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/tsamurai.c b/src/mame/drivers/tsamurai.c
index aa69f83db7d..b41f1cb4716 100644
--- a/src/mame/drivers/tsamurai.c
+++ b/src/mame/drivers/tsamurai.c
@@ -145,11 +145,11 @@ static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xe800, 0xefff) AM_READ(SMH_RAM)
AM_RANGE(0xf000, 0xf3ff) AM_READ(SMH_RAM)
- AM_RANGE(0xf800, 0xf800) AM_READ(input_port_0_r)
- AM_RANGE(0xf801, 0xf801) AM_READ(input_port_1_r)
- AM_RANGE(0xf802, 0xf802) AM_READ(input_port_2_r)
- AM_RANGE(0xf804, 0xf804) AM_READ(input_port_3_r)
- AM_RANGE(0xf805, 0xf805) AM_READ(input_port_4_r)
+ AM_RANGE(0xf800, 0xf800) AM_READ_PORT("P1")
+ AM_RANGE(0xf801, 0xf801) AM_READ_PORT("P2")
+ AM_RANGE(0xf802, 0xf802) AM_READ_PORT("SYSTEM")
+ AM_RANGE(0xf804, 0xf804) AM_READ_PORT("DSW1")
+ AM_RANGE(0xf805, 0xf805) AM_READ_PORT("DSW2")
ADDRESS_MAP_END
static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
@@ -191,11 +191,11 @@ static ADDRESS_MAP_START( readmem_m660, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xe800, 0xefff) AM_READ(SMH_RAM)
AM_RANGE(0xf000, 0xf3ff) AM_READ(SMH_RAM)
- AM_RANGE(0xf800, 0xf800) AM_READ(input_port_0_r)
- AM_RANGE(0xf801, 0xf801) AM_READ(input_port_1_r)
- AM_RANGE(0xf802, 0xf802) AM_READ(input_port_2_r)
- AM_RANGE(0xf804, 0xf804) AM_READ(input_port_3_r)
- AM_RANGE(0xf805, 0xf805) AM_READ(input_port_4_r)
+ AM_RANGE(0xf800, 0xf800) AM_READ_PORT("P1")
+ AM_RANGE(0xf801, 0xf801) AM_READ_PORT("P2")
+ AM_RANGE(0xf802, 0xf802) AM_READ_PORT("SYSTEM")
+ AM_RANGE(0xf804, 0xf804) AM_READ_PORT("DSW1")
+ AM_RANGE(0xf805, 0xf805) AM_READ_PORT("DSW2")
ADDRESS_MAP_END
static ADDRESS_MAP_START( writemem_m660, ADDRESS_SPACE_PROGRAM, 8 )
@@ -395,11 +395,11 @@ static ADDRESS_MAP_START( readmem_vsgongf, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xa100, 0xa100) AM_READ(vsgongf_a100_r) /* protection */
AM_RANGE(0xc000, 0xc7ff) AM_READ(SMH_RAM) /* work ram */
AM_RANGE(0xe000, 0xe7ff) AM_READ(SMH_RAM)
- AM_RANGE(0xf800, 0xf800) AM_READ(input_port_0_r) /* joy1 */
- AM_RANGE(0xf801, 0xf801) AM_READ(input_port_1_r) /* joy2 */
- AM_RANGE(0xf802, 0xf802) AM_READ(input_port_2_r) /* coin */
- AM_RANGE(0xf804, 0xf804) AM_READ(input_port_3_r) /* dsw1 */
- AM_RANGE(0xf805, 0xf805) AM_READ(input_port_4_r) /* dsw2 */
+ AM_RANGE(0xf800, 0xf800) AM_READ_PORT("P1")
+ AM_RANGE(0xf801, 0xf801) AM_READ_PORT("P2")
+ AM_RANGE(0xf802, 0xf802) AM_READ_PORT("SYSTEM")
+ AM_RANGE(0xf804, 0xf804) AM_READ_PORT("DSW1")
+ AM_RANGE(0xf805, 0xf805) AM_READ_PORT("DSW2")
AM_RANGE(0xfc00, 0xffff) AM_READ(SMH_RAM)
ADDRESS_MAP_END
@@ -437,72 +437,63 @@ ADDRESS_MAP_END
/*******************************************************************************/
-#define TS_IN0\
- PORT_START("IN0")\
- 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\
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY\
- PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )\
- PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 )\
- PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )\
+static INPUT_PORTS_START( tsamurai )
+ PORT_START("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
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 )
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
-#define TS_IN1\
- PORT_START("IN1")\
- 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( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL\
- PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )\
+ PORT_START("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( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
-#define TS_IN2\
- PORT_START("IN2")\
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )\
- PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )\
- PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE1 )\
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED )\
- PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_START1 )\
- PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START2 )\
- PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )\
+ PORT_START("SYSTEM")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE1 )
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_START1 )
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START2 )
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
-#define TS_DSW1\
- PORT_START("DSW1")\
- PORT_DIPNAME( 0x07, 0x00, DEF_STR( Coin_A ) )\
- PORT_DIPSETTING( 0x07, DEF_STR( 6C_1C ) )\
- PORT_DIPSETTING( 0x06, DEF_STR( 3C_1C ) )\
- PORT_DIPSETTING( 0x04, DEF_STR( 2C_1C ) )\
- PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )\
- PORT_DIPSETTING( 0x05, DEF_STR( 2C_3C ) )\
- PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) )\
- PORT_DIPSETTING( 0x02, DEF_STR( 1C_3C ) )\
- PORT_DIPSETTING( 0x03, DEF_STR( 1C_6C ) )\
- PORT_DIPNAME( 0x38, 0x00, DEF_STR( Coin_B ) )\
- PORT_DIPSETTING( 0x38, DEF_STR( 6C_1C ) )\
- PORT_DIPSETTING( 0x30, DEF_STR( 3C_1C ) )\
- PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) )\
- PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )\
- PORT_DIPSETTING( 0x28, DEF_STR( 2C_3C ) )\
- PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) )\
- PORT_DIPSETTING( 0x10, DEF_STR( 1C_3C ) )\
- PORT_DIPSETTING( 0x18, DEF_STR( 1C_6C ) )\
- PORT_DIPNAME( 0x40, 0x00, "Freeze" )\
- PORT_DIPSETTING( 0x00, DEF_STR( Off ) )\
- PORT_DIPSETTING( 0x40, DEF_STR( On ) )\
- PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) )\
- PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )\
+ PORT_START("DSW1")
+ PORT_DIPNAME( 0x07, 0x00, DEF_STR( Coin_A ) )
+ PORT_DIPSETTING( 0x07, DEF_STR( 6C_1C ) )
+ PORT_DIPSETTING( 0x06, DEF_STR( 3C_1C ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( 2C_1C ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x05, DEF_STR( 2C_3C ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( 1C_3C ) )
+ PORT_DIPSETTING( 0x03, DEF_STR( 1C_6C ) )
+ PORT_DIPNAME( 0x38, 0x00, DEF_STR( Coin_B ) )
+ PORT_DIPSETTING( 0x38, DEF_STR( 6C_1C ) )
+ PORT_DIPSETTING( 0x30, DEF_STR( 3C_1C ) )
+ PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x28, DEF_STR( 2C_3C ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0x10, DEF_STR( 1C_3C ) )
+ PORT_DIPSETTING( 0x18, DEF_STR( 1C_6C ) )
+ PORT_DIPNAME( 0x40, 0x00, "Freeze" )
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x40, DEF_STR( On ) )
+ PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x80, DEF_STR( Cocktail ) )
-static INPUT_PORTS_START( tsamurai )
-TS_IN0
-TS_IN1
-TS_IN2
-TS_DSW1
-
PORT_START("DSW2")
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x00, "3" )
@@ -528,12 +519,9 @@ TS_DSW1
INPUT_PORTS_END
static INPUT_PORTS_START( nunchaku )
-TS_IN0
-TS_IN1
-TS_IN2
-TS_DSW1
+ PORT_INCLUDE( tsamurai )
- PORT_START("DSW2")
+ PORT_MODIFY("DSW2")
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x00, "3" )
PORT_DIPSETTING( 0x01, "5" )
@@ -558,12 +546,9 @@ TS_DSW1
INPUT_PORTS_END
static INPUT_PORTS_START( vsgongf )
-TS_IN0
-TS_IN1
-TS_IN2
-TS_DSW1
+ PORT_INCLUDE( tsamurai )
- PORT_START("DSW2")
+ PORT_MODIFY("DSW2")
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
@@ -590,32 +575,30 @@ TS_DSW1
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
INPUT_PORTS_END
-#define YAMINS\
- PORT_START("IN0")\
- 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_BUTTON2 )\
- PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 )\
- PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )\
- PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )\
- PORT_START("IN1")\
- 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_BUTTON2 ) PORT_COCKTAIL\
- PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL\
- PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )\
+static INPUT_PORTS_START( yamagchi )
+ PORT_INCLUDE( tsamurai )
+
+ PORT_MODIFY("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_BUTTON2 )
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 )
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
-static INPUT_PORTS_START( yamagchi )
- YAMINS
- TS_IN2
- TS_DSW1
+ PORT_MODIFY("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_BUTTON2 ) PORT_COCKTAIL
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_START("DSW2")
+ PORT_MODIFY("DSW2")
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x00, "3" )
PORT_DIPSETTING( 0x01, "5" )
@@ -641,10 +624,9 @@ static INPUT_PORTS_START( yamagchi )
INPUT_PORTS_END
static INPUT_PORTS_START( m660 )
- YAMINS
- TS_IN2
+ PORT_INCLUDE( yamagchi )
- PORT_START("DSW1")
+ PORT_MODIFY("DSW1")
PORT_DIPNAME( 0x07, 0x00, DEF_STR( Coin_A ) )
PORT_DIPSETTING( 0x04, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x03, DEF_STR( 4C_1C ) )
@@ -670,7 +652,7 @@ static INPUT_PORTS_START( m660 )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
- PORT_START("DSW2")
+ PORT_MODIFY("DSW2")
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x00, "3" )
PORT_DIPSETTING( 0x01, "4" )
diff --git a/src/mame/drivers/ttchamp.c b/src/mame/drivers/ttchamp.c
index e34cc502565..390eb9c3701 100644
--- a/src/mame/drivers/ttchamp.c
+++ b/src/mame/drivers/ttchamp.c
@@ -129,8 +129,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( ttchamp_io, ADDRESS_SPACE_IO, 16 )
AM_RANGE(0x0000, 0x0001) AM_WRITE(SMH_NOP)
- AM_RANGE(0x0002, 0x0003) AM_READ(input_port_0_word_r)
- AM_RANGE(0x0004, 0x0005) AM_READ(input_port_1_word_r)
+ AM_RANGE(0x0002, 0x0003) AM_READ_PORT("SYSTEM")
+ AM_RANGE(0x0004, 0x0005) AM_READ_PORT("P1_P2")
// AM_RANGE(0x0018, 0x0019) AM_READ(peno_rand2)
// AM_RANGE(0x001e, 0x001f) AM_READ(peno_rand2)
@@ -149,7 +149,7 @@ ADDRESS_MAP_END
static INPUT_PORTS_START(ttchamp)
- PORT_START("SYSTEM") /* 8bit */
+ PORT_START("SYSTEM")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) )
@@ -195,7 +195,7 @@ static INPUT_PORTS_START(ttchamp)
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_START("P1_P2") /* 8bit */
+ PORT_START("P1_P2")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1) PORT_8WAY
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1) PORT_8WAY
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1) PORT_8WAY
diff --git a/src/mame/drivers/tubep.c b/src/mame/drivers/tubep.c
index 7d642583b4f..06f8cabbc3a 100644
--- a/src/mame/drivers/tubep.c
+++ b/src/mame/drivers/tubep.c
@@ -180,13 +180,13 @@ static WRITE8_HANDLER( tubep_soundlatch_w )
static ADDRESS_MAP_START( tubep_main_portmap, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x80, 0x80) AM_READ(input_port_3_r)
- AM_RANGE(0x90, 0x90) AM_READ(input_port_4_r)
- AM_RANGE(0xa0, 0xa0) AM_READ(input_port_5_r)
+ AM_RANGE(0x80, 0x80) AM_READ_PORT("DSW1")
+ AM_RANGE(0x90, 0x90) AM_READ_PORT("DSW2")
+ AM_RANGE(0xa0, 0xa0) AM_READ_PORT("DSW3")
- AM_RANGE(0xb0, 0xb0) AM_READ(input_port_2_r)
- AM_RANGE(0xc0, 0xc0) AM_READ(input_port_1_r)
- AM_RANGE(0xd0, 0xd0) AM_READ(input_port_0_r)
+ AM_RANGE(0xb0, 0xb0) AM_READ_PORT("SYSTEM")
+ AM_RANGE(0xc0, 0xc0) AM_READ_PORT("P2")
+ AM_RANGE(0xd0, 0xd0) AM_READ_PORT("P1")
AM_RANGE(0x80, 0x80) AM_WRITE(main_cpu_irq_line_clear_w)
AM_RANGE(0xb0, 0xb7) AM_WRITE(tubep_LS259_w)
@@ -422,12 +422,12 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( rjammer_main_portmap, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READ(input_port_2_r) /* a bug in game code (during attract mode) */
- AM_RANGE(0x80, 0x80) AM_READ(input_port_2_r)
- AM_RANGE(0x90, 0x90) AM_READ(input_port_3_r)
- AM_RANGE(0xa0, 0xa0) AM_READ(input_port_4_r)
- AM_RANGE(0xb0, 0xb0) AM_READ(input_port_0_r)
- AM_RANGE(0xc0, 0xc0) AM_READ(input_port_1_r)
+ AM_RANGE(0x00, 0x00) AM_READ_PORT("DSW2") /* a bug in game code (during attract mode) */
+ AM_RANGE(0x80, 0x80) AM_READ_PORT("DSW2")
+ AM_RANGE(0x90, 0x90) AM_READ_PORT("DSW1")
+ AM_RANGE(0xa0, 0xa0) AM_READ_PORT("SYSTEM")
+ AM_RANGE(0xb0, 0xb0) AM_READ_PORT("P1")
+ AM_RANGE(0xc0, 0xc0) AM_READ_PORT("P2")
AM_RANGE(0xd0, 0xd7) AM_WRITE(rjammer_LS259_w)
AM_RANGE(0xe0, 0xe0) AM_WRITE(main_cpu_irq_line_clear_w) /* clear IRQ interrupt */
@@ -683,7 +683,7 @@ static INPUT_PORTS_START( tubep )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START("Coin_Start")
+ PORT_START("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 )
@@ -795,24 +795,13 @@ static INPUT_PORTS_START( rjammer )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_COCKTAIL
- PORT_START("DSW2")
- PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:6")
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x02, 0x02, "Bonus Time" ) PORT_DIPLOCATION("SW2:5")
- PORT_DIPSETTING( 0x02, "100" )
- PORT_DIPSETTING( 0x00, "200" )
- PORT_DIPNAME( 0x0c, 0x0c, "Clear Men" ) PORT_DIPLOCATION("SW2:4,3")
- PORT_DIPSETTING( 0x0c, "20" )
- PORT_DIPSETTING( 0x08, "30" )
- PORT_DIPSETTING( 0x04, "40" )
- PORT_DIPSETTING( 0x00, "50" )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:2")
- PORT_DIPSETTING( 0x10, DEF_STR( Easy ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Hard ) )
- PORT_DIPNAME( 0x20, 0x20, "Time" ) PORT_DIPLOCATION("SW2:1")
- PORT_DIPSETTING( 0x20, "40" )
- PORT_DIPSETTING( 0x00, "50" )
+ PORT_START("SYSTEM")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
+ PORT_SERVICE( 0x08, IP_ACTIVE_LOW )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -836,13 +825,24 @@ static INPUT_PORTS_START( rjammer )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START("Coins_Service")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
- PORT_SERVICE( 0x08, IP_ACTIVE_LOW )
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_START("DSW2")
+ PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:6")
+ PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02, 0x02, "Bonus Time" ) PORT_DIPLOCATION("SW2:5")
+ PORT_DIPSETTING( 0x02, "100" )
+ PORT_DIPSETTING( 0x00, "200" )
+ PORT_DIPNAME( 0x0c, 0x0c, "Clear Men" ) PORT_DIPLOCATION("SW2:4,3")
+ PORT_DIPSETTING( 0x0c, "20" )
+ PORT_DIPSETTING( 0x08, "30" )
+ PORT_DIPSETTING( 0x04, "40" )
+ PORT_DIPSETTING( 0x00, "50" )
+ PORT_DIPNAME( 0x10, 0x10, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:2")
+ PORT_DIPSETTING( 0x10, DEF_STR( Easy ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Hard ) )
+ PORT_DIPNAME( 0x20, 0x20, "Time" ) PORT_DIPLOCATION("SW2:1")
+ PORT_DIPSETTING( 0x20, "40" )
+ PORT_DIPSETTING( 0x00, "50" )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
INPUT_PORTS_END
diff --git a/src/mame/drivers/tumbleb.c b/src/mame/drivers/tumbleb.c
index 6afeb9b5607..e68ef0af2f5 100644
--- a/src/mame/drivers/tumbleb.c
+++ b/src/mame/drivers/tumbleb.c
@@ -400,11 +400,11 @@ static READ16_HANDLER( tumblepopb_controls_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));
- case 2: /* Dips */
- return (input_port_read(machine, "DSW1") | (input_port_read(machine, "DSW2") << 8));
- case 8: /* Credits */
+ case 0:
+ return input_port_read(machine, "PLAYERS");
+ case 2:
+ return input_port_read(machine, "DSW");
+ case 8:
return input_port_read(machine, "SYSTEM");
case 10: /* ? */
case 12:
@@ -930,168 +930,162 @@ ADDRESS_MAP_END
/******************************************************************************/
static INPUT_PORTS_START( tumblepb )
- PORT_START("P1") /* Player 1 controls */
- 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)
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* button 3 - unused */
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
-
- PORT_START("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_UNKNOWN ) /* button 3 - unused */
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
-
- PORT_START("SYSTEM") /* Credits */
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK )
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("DSW1") /* Dip switch bank 1 */
- PORT_DIPNAME( 0xe0, 0xe0, DEF_STR( Coin_A ) )
- PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
- PORT_DIPSETTING( 0x80, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0xe0, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x60, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0xa0, DEF_STR( 1C_3C ) )
- PORT_DIPSETTING( 0x20, DEF_STR( 1C_4C ) )
- PORT_DIPSETTING( 0xc0, DEF_STR( 1C_5C ) )
- PORT_DIPSETTING( 0x40, DEF_STR( 1C_6C ) )
- PORT_DIPNAME( 0x1c, 0x1c, DEF_STR( Coin_B ) )
- PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
- PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x1c, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x0c, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x14, DEF_STR( 1C_3C ) )
- PORT_DIPSETTING( 0x04, DEF_STR( 1C_4C ) )
- PORT_DIPSETTING( 0x18, DEF_STR( 1C_5C ) )
- PORT_DIPSETTING( 0x08, DEF_STR( 1C_6C ) )
- PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x01, 0x01, "2 Coins to Start, 1 to Continue" )
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
-
- PORT_START("DSW2") /* Dip switch bank 2 */
- PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Lives ) )
- PORT_DIPSETTING( 0x80, "1" )
- PORT_DIPSETTING( 0x00, "2" )
- PORT_DIPSETTING( 0xc0, "3" )
- PORT_DIPSETTING( 0x40, "4" )
- PORT_DIPNAME( 0x30, 0x30, DEF_STR( Difficulty ) )
- PORT_DIPSETTING( 0x10, DEF_STR( Easy ) )
- PORT_DIPSETTING( 0x30, DEF_STR( Normal ) )
- PORT_DIPSETTING( 0x20, DEF_STR( Hard ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
+ PORT_START("PLAYERS")
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY 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_UNKNOWN ) /* button 3 - unused */
+ 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_UNKNOWN ) /* button 3 - unused */
+ PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START2 )
+
+ PORT_START("SYSTEM")
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 )
+ PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_VBLANK )
+ 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_START("DSW")
+ PORT_DIPNAME( 0x00e0, 0x00e0, DEF_STR( Coin_A ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( 3C_1C ) )
+ PORT_DIPSETTING( 0x0080, DEF_STR( 2C_1C ) )
+ PORT_DIPSETTING( 0x00e0, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x0060, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0x00a0, DEF_STR( 1C_3C ) )
+ PORT_DIPSETTING( 0x0020, DEF_STR( 1C_4C ) )
+ PORT_DIPSETTING( 0x00c0, DEF_STR( 1C_5C ) )
+ PORT_DIPSETTING( 0x0040, DEF_STR( 1C_6C ) )
+ PORT_DIPNAME( 0x001c, 0x001c, DEF_STR( Coin_B ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( 3C_1C ) )
+ PORT_DIPSETTING( 0x0010, DEF_STR( 2C_1C ) )
+ PORT_DIPSETTING( 0x001c, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x000c, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0x0014, DEF_STR( 1C_3C ) )
+ PORT_DIPSETTING( 0x0004, DEF_STR( 1C_4C ) )
+ PORT_DIPSETTING( 0x0018, DEF_STR( 1C_5C ) )
+ PORT_DIPSETTING( 0x0008, DEF_STR( 1C_6C ) )
+ PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Flip_Screen ) )
+ PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0001, 0x0001, "2 Coins to Start, 1 to Continue" )
+ PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+
+ PORT_DIPNAME( 0xc000, 0xc000, DEF_STR( Lives ) )
+ PORT_DIPSETTING( 0x8000, "1" )
+ PORT_DIPSETTING( 0x0000, "2" )
+ PORT_DIPSETTING( 0xc000, "3" )
+ PORT_DIPSETTING( 0x4000, "4" )
+ PORT_DIPNAME( 0x3000, 0x3000, DEF_STR( Difficulty ) )
+ PORT_DIPSETTING( 0x1000, DEF_STR( Easy ) )
+ PORT_DIPSETTING( 0x3000, DEF_STR( Normal ) )
+ PORT_DIPSETTING( 0x2000, DEF_STR( Hard ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
#if TUMBLEP_HACK
- PORT_DIPNAME( 0x08, 0x08, "Remove Monsters" )
+ PORT_DIPNAME( 0x0800, 0x0800, "Remove Monsters" )
#else
- PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unused ) ) // See notes
+ PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unused ) ) // See notes
#endif
- PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
#if TUMBLEP_HACK
- PORT_DIPNAME( 0x04, 0x04, "Edit Levels" )
+ PORT_DIPNAME( 0x0400, 0x0400, "Edit Levels" )
#else
- PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unused ) ) // See notes
+ PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unused ) ) // See notes
#endif
- PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x02, 0x02, DEF_STR( Allow_Continue ) )
- PORT_DIPSETTING( 0x00, DEF_STR( No ) )
- PORT_DIPSETTING( 0x02, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) )
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Allow_Continue ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( No ) )
+ PORT_DIPSETTING( 0x0200, DEF_STR( Yes ) )
+ PORT_DIPNAME( 0x0100, 0x0000, DEF_STR( Demo_Sounds ) )
+ PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
INPUT_PORTS_END
static INPUT_PORTS_START( metlsavr )
- PORT_START("P1") /* Player 1 controls */
- 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)
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
-
- PORT_START("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("SYSTEM") /* Credits */
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK ) // to be confirmed
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("DSW1") /* Dip switch bank 1 */
- PORT_DIPUNUSED_DIPLOC( 0x01, IP_ACTIVE_LOW, "SW1:8" )
- PORT_DIPUNUSED_DIPLOC( 0x02, IP_ACTIVE_LOW, "SW1:7" )
- PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:6,5")
- PORT_DIPSETTING( 0x00, "2" )
- PORT_DIPSETTING( 0x0c, "3" )
- PORT_DIPSETTING( 0x08, "4" )
- PORT_DIPSETTING( 0x04, "5" )
- PORT_DIPNAME( 0x70, 0x70, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:4,3,2")
- PORT_DIPSETTING( 0x00, DEF_STR( 5C_1C ) )
- PORT_DIPSETTING( 0x10, DEF_STR( 4C_1C ) )
- PORT_DIPSETTING( 0x20, DEF_STR( 3C_1C ) )
- PORT_DIPSETTING( 0x30, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x70, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x60, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x50, DEF_STR( 1C_3C ) )
- PORT_DIPSETTING( 0x40, DEF_STR( 1C_5C ) )
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:1")
- PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x80, DEF_STR( On ) )
-
- PORT_START("DSW2") /* Dip switch bank 2 */
- PORT_SERVICE_DIPLOC( 0x01, IP_ACTIVE_LOW, "SW2:8" )
- PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:7") // See notes
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:6") // See notes
- PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x08, 0x08, DEF_STR( Language ) ) PORT_DIPLOCATION("SW2:5")
- PORT_DIPSETTING( 0x08, DEF_STR( English ) )
- PORT_DIPSETTING( 0x00, "Korean" )
- PORT_DIPNAME( 0x30, 0x30, "Life Meter" ) PORT_DIPLOCATION("SW2:4,3")
- PORT_DIPSETTING( 0x00, "66%" )
- PORT_DIPSETTING( 0x30, "100%" )
- PORT_DIPSETTING( 0x20, "133%" )
- PORT_DIPSETTING( 0x10, "166%" )
- PORT_DIPNAME( 0xc0, 0xc0, "Time" ) PORT_DIPLOCATION("SW2:2,1")
- PORT_DIPSETTING( 0x40, "30 Seconds" )
- PORT_DIPSETTING( 0x80, "40 Seconds" )
- PORT_DIPSETTING( 0xc0, "60 Seconds" )
- PORT_DIPSETTING( 0x00, "80 Seconds" )
+ PORT_START("PLAYERS")
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY 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_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("SYSTEM")
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_VBLANK ) // to be confirmed
+ 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_START("DSW")
+ PORT_DIPUNUSED_DIPLOC( 0x0001, IP_ACTIVE_LOW, "SW1:8" )
+ PORT_DIPUNUSED_DIPLOC( 0x0002, IP_ACTIVE_LOW, "SW1:7" )
+ PORT_DIPNAME( 0x000c, 0x000c, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:6,5")
+ PORT_DIPSETTING( 0x0000, "2" )
+ PORT_DIPSETTING( 0x000c, "3" )
+ PORT_DIPSETTING( 0x0008, "4" )
+ PORT_DIPSETTING( 0x0004, "5" )
+ PORT_DIPNAME( 0x0070, 0x0070, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:4,3,2")
+ PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) )
+ PORT_DIPSETTING( 0x0010, DEF_STR( 4C_1C ) )
+ PORT_DIPSETTING( 0x0020, DEF_STR( 3C_1C ) )
+ PORT_DIPSETTING( 0x0030, DEF_STR( 2C_1C ) )
+ PORT_DIPSETTING( 0x0070, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x0060, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0x0050, DEF_STR( 1C_3C ) )
+ PORT_DIPSETTING( 0x0040, DEF_STR( 1C_5C ) )
+ PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:1")
+ PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0080, DEF_STR( On ) )
+
+ PORT_SERVICE_DIPLOC( 0x0100, IP_ACTIVE_LOW, "SW2:8" )
+ PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:7") // See notes
+ PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:6") // See notes
+ PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Language ) ) PORT_DIPLOCATION("SW2:5")
+ PORT_DIPSETTING( 0x0800, DEF_STR( English ) )
+ PORT_DIPSETTING( 0x0000, "Korean" )
+ PORT_DIPNAME( 0x3000, 0x3000, "Life Meter" ) PORT_DIPLOCATION("SW2:4,3")
+ PORT_DIPSETTING( 0x0000, "66%" )
+ PORT_DIPSETTING( 0x3000, "100%" )
+ PORT_DIPSETTING( 0x2000, "133%" )
+ PORT_DIPSETTING( 0x1000, "166%" )
+ PORT_DIPNAME( 0xc000, 0xc000, "Time" ) PORT_DIPLOCATION("SW2:2,1")
+ PORT_DIPSETTING( 0x4000, "30 Seconds" )
+ PORT_DIPSETTING( 0x8000, "40 Seconds" )
+ PORT_DIPSETTING( 0xc000, "60 Seconds" )
+ PORT_DIPSETTING( 0x0000, "80 Seconds" )
INPUT_PORTS_END
static INPUT_PORTS_START( suprtrio )
@@ -1143,759 +1137,730 @@ static INPUT_PORTS_START( suprtrio )
INPUT_PORTS_END
static INPUT_PORTS_START( fncywld )
- PORT_START("P1") /* Player 1 controls */
- 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)
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
-
- PORT_START("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("SYSTEM") /* Credits */
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK )
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("DSW1") /* Dip switch bank 1 */
- PORT_DIPNAME( 0xe0, 0xe0, DEF_STR( Coinage ) )
- PORT_DIPSETTING( 0x20, DEF_STR( 4C_1C ) )
- PORT_DIPSETTING( 0x40, DEF_STR( 3C_1C ) )
- PORT_DIPSETTING( 0x60, DEF_STR( 2C_1C ) )
-// PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) // duplicated setting
- PORT_DIPSETTING( 0xe0, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0xc0, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0xa0, DEF_STR( 1C_3C ) )
- PORT_DIPSETTING( 0x80, DEF_STR( 1C_4C ) )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Allow_Continue ) )
- PORT_DIPSETTING( 0x00, DEF_STR( No ) )
- PORT_DIPSETTING( 0x10, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x08, 0x00, DEF_STR( Demo_Sounds ) )
- PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x04, 0x04, DEF_STR( Language ) ) // only seems to the title screen
- PORT_DIPSETTING( 0x04, DEF_STR( English ) )
- PORT_DIPSETTING( 0x00, "Korean" )
- PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x01, 0x01, "2 Coins to Start, 1 to Continue" )
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
-
- PORT_START("DSW2") /* Dip switch bank 2 */
- PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Lives ) )
- PORT_DIPSETTING( 0x80, "1" )
- PORT_DIPSETTING( 0x00, "2" )
- PORT_DIPSETTING( 0xc0, "3" )
- PORT_DIPSETTING( 0x40, "4" )
- PORT_DIPNAME( 0x30, 0x30, DEF_STR( Difficulty ) ) // to be confirmed
- PORT_DIPSETTING( 0x30, DEF_STR( Easy ) )
- PORT_DIPSETTING( 0x20, DEF_STR( Normal ) )
- PORT_DIPSETTING( 0x10, DEF_STR( Hard ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
+ PORT_START("PLAYERS")
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY 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_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("SYSTEM")
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 )
+ PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_VBLANK )
+ 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_START("DSW")
+ PORT_DIPNAME( 0x00e0, 0x00e0, DEF_STR( Coinage ) )
+ PORT_DIPSETTING( 0x0020, DEF_STR( 4C_1C ) )
+ PORT_DIPSETTING( 0x0040, DEF_STR( 3C_1C ) )
+ PORT_DIPSETTING( 0x0060, DEF_STR( 2C_1C ) )
+// PORT_DIPSETTING( 0x0000, DEF_STR( 2C_1C ) ) // duplicated setting
+ PORT_DIPSETTING( 0x00e0, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x00c0, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0x00a0, DEF_STR( 1C_3C ) )
+ PORT_DIPSETTING( 0x0080, DEF_STR( 1C_4C ) )
+ PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Allow_Continue ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( No ) )
+ PORT_DIPSETTING( 0x0010, DEF_STR( Yes ) )
+ PORT_DIPNAME( 0x0008, 0x0000, DEF_STR( Demo_Sounds ) )
+ PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Language ) ) // only seems to the title screen
+ PORT_DIPSETTING( 0x0004, DEF_STR( English ) )
+ PORT_DIPSETTING( 0x0000, "Korean" )
+ PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Flip_Screen ) )
+ PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0001, 0x0001, "2 Coins to Start, 1 to Continue" )
+ PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+
+ PORT_DIPNAME( 0xc000, 0xc000, DEF_STR( Lives ) )
+ PORT_DIPSETTING( 0x8000, "1" )
+ PORT_DIPSETTING( 0x0000, "2" )
+ PORT_DIPSETTING( 0xc000, "3" )
+ PORT_DIPSETTING( 0x4000, "4" )
+ PORT_DIPNAME( 0x3000, 0x3000, DEF_STR( Difficulty ) ) // to be confirmed
+ PORT_DIPSETTING( 0x3000, DEF_STR( Easy ) )
+ PORT_DIPSETTING( 0x2000, DEF_STR( Normal ) )
+ PORT_DIPSETTING( 0x1000, DEF_STR( Hard ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
#if FNCYWLD_HACK
- PORT_DIPNAME( 0x08, 0x08, "Remove Monsters" )
+ PORT_DIPNAME( 0x0800, 0x0800, "Remove Monsters" )
#else
- PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unused ) ) // See notes
+ PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unused ) ) // See notes
#endif
- PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
#if FNCYWLD_HACK
- PORT_DIPNAME( 0x04, 0x04, "Edit Levels" )
+ PORT_DIPNAME( 0x0400, 0x0400, "Edit Levels" )
#else
- PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unused ) ) // See notes
+ PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unused ) ) // See notes
#endif
- PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unused ) )
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x01, 0x01, "Freeze" )
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unused ) )
+ PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0100, 0x0100, "Freeze" )
+ PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
INPUT_PORTS_END
static INPUT_PORTS_START( htchctch )
- PORT_START("P1") /* Player 1 controls */
- 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)
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* button 3 - unused */
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
-
- PORT_START("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_UNKNOWN ) /* button 3 - unused */
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
-
- PORT_START("SYSTEM") /* Credits */
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK ) // to be confirmed
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("DSW1") /* Dip switch bank 1 */
- PORT_DIPUNUSED_DIPLOC( 0x01, IP_ACTIVE_LOW, "SW1:8" )
- PORT_DIPUNUSED_DIPLOC( 0x02, IP_ACTIVE_LOW, "SW1:7" )
- PORT_DIPUNUSED_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW1:6" )
- PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SW1:5" )
- PORT_DIPUNUSED_DIPLOC( 0x10, IP_ACTIVE_LOW, "SW1:4" )
- PORT_DIPUNUSED_DIPLOC( 0x20, IP_ACTIVE_LOW, "SW1:3" )
- PORT_DIPUNUSED_DIPLOC( 0x40, IP_ACTIVE_LOW, "SW1:2" )
- PORT_DIPUNUSED_DIPLOC( 0x80, IP_ACTIVE_LOW, "SW1:1" )
-
- PORT_START("DSW2") /* Dip switch bank 2 */
- PORT_SERVICE_DIPLOC( 0x01, IP_ACTIVE_LOW, "SW2:8" )
- PORT_DIPNAME( 0x06, 0x06, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:7,6")
- PORT_DIPSETTING( 0x00, DEF_STR( Easy ) )
- PORT_DIPSETTING( 0x06, DEF_STR( Normal ) )
- PORT_DIPSETTING( 0x02, DEF_STR( Hard ) )
- PORT_DIPSETTING( 0x04, DEF_STR( Very_Hard ) )
- PORT_DIPNAME( 0x38, 0x38, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW2:5,4,3")
- PORT_DIPSETTING( 0x00, DEF_STR( 5C_1C ) )
- PORT_DIPSETTING( 0x20, DEF_STR( 4C_1C ) )
- PORT_DIPSETTING( 0x10, DEF_STR( 3C_1C ) )
- PORT_DIPSETTING( 0x30, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x38, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x28, DEF_STR( 2C_3C ) )
- PORT_DIPSETTING( 0x18, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x08, DEF_STR( 1C_3C ) )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:2") // See notes
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:1")
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_START("PLAYERS")
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY 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_UNKNOWN ) /* button 3 - unused */
+ 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_UNKNOWN ) /* button 3 - unused */
+ PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START2 )
+
+ PORT_START("SYSTEM")
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_VBLANK ) // to be confirmed
+ 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_START("DSW")
+ PORT_DIPUNUSED_DIPLOC( 0x0001, IP_ACTIVE_LOW, "SW1:8" )
+ PORT_DIPUNUSED_DIPLOC( 0x0002, IP_ACTIVE_LOW, "SW1:7" )
+ PORT_DIPUNUSED_DIPLOC( 0x0004, IP_ACTIVE_LOW, "SW1:6" )
+ PORT_DIPUNUSED_DIPLOC( 0x0008, IP_ACTIVE_LOW, "SW1:5" )
+ PORT_DIPUNUSED_DIPLOC( 0x0010, IP_ACTIVE_LOW, "SW1:4" )
+ PORT_DIPUNUSED_DIPLOC( 0x0020, IP_ACTIVE_LOW, "SW1:3" )
+ PORT_DIPUNUSED_DIPLOC( 0x0040, IP_ACTIVE_LOW, "SW1:2" )
+ PORT_DIPUNUSED_DIPLOC( 0x0080, IP_ACTIVE_LOW, "SW1:1" )
+
+ PORT_SERVICE_DIPLOC( 0x0100, IP_ACTIVE_LOW, "SW2:8" )
+ PORT_DIPNAME( 0x0600, 0x0600, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:7,6")
+ PORT_DIPSETTING( 0x0000, DEF_STR( Easy ) )
+ PORT_DIPSETTING( 0x0600, DEF_STR( Normal ) )
+ PORT_DIPSETTING( 0x0200, DEF_STR( Hard ) )
+ PORT_DIPSETTING( 0x0400, DEF_STR( Very_Hard ) )
+ PORT_DIPNAME( 0x3800, 0x3800, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW2:5,4,3")
+ PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) )
+ PORT_DIPSETTING( 0x2000, DEF_STR( 4C_1C ) )
+ PORT_DIPSETTING( 0x1000, DEF_STR( 3C_1C ) )
+ PORT_DIPSETTING( 0x3000, DEF_STR( 2C_1C ) )
+ PORT_DIPSETTING( 0x3800, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x2800, DEF_STR( 2C_3C ) )
+ PORT_DIPSETTING( 0x1800, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0x0800, DEF_STR( 1C_3C ) )
+ PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:2") // See notes
+ PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x8000, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:1")
+ PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
INPUT_PORTS_END
static INPUT_PORTS_START( cookbib )
- PORT_START("P1") /* Player 1 controls */
- 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)
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* button 3 - unused */
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
-
- PORT_START("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_UNKNOWN ) /* button 3 - unused */
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
-
- PORT_START("SYSTEM") /* Credits */
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK ) // to be confirmed
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("DSW1") /* Dip switch bank 1 */
- PORT_DIPUNUSED_DIPLOC( 0x01, IP_ACTIVE_LOW, "SW1:8" )
- PORT_DIPUNUSED_DIPLOC( 0x02, IP_ACTIVE_LOW, "SW1:7" )
- PORT_DIPUNUSED_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW1:6" )
- PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SW1:5" )
- PORT_DIPUNUSED_DIPLOC( 0x10, IP_ACTIVE_LOW, "SW1:4" )
- PORT_DIPUNUSED_DIPLOC( 0x20, IP_ACTIVE_LOW, "SW1:3" )
- PORT_DIPUNUSED_DIPLOC( 0x40, IP_ACTIVE_LOW, "SW1:2" )
- PORT_DIPUNUSED_DIPLOC( 0x80, IP_ACTIVE_LOW, "SW1:1" )
-
- PORT_START("DSW2") /* Dip switch bank 2 */
- PORT_SERVICE_DIPLOC( 0x01, IP_ACTIVE_LOW, "SW2:8" )
- PORT_DIPNAME( 0x06, 0x06, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:7,6")
- PORT_DIPSETTING( 0x00, DEF_STR( Easy ) )
- PORT_DIPSETTING( 0x06, DEF_STR( Normal ) )
- PORT_DIPSETTING( 0x02, DEF_STR( Hard ) )
- PORT_DIPSETTING( 0x04, DEF_STR( Very_Hard ) )
- PORT_DIPNAME( 0x38, 0x38, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW2:5,4,3")
- PORT_DIPSETTING( 0x00, DEF_STR( 5C_1C ) )
- PORT_DIPSETTING( 0x20, DEF_STR( 4C_1C ) )
- PORT_DIPSETTING( 0x10, DEF_STR( 3C_1C ) )
- PORT_DIPSETTING( 0x30, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x38, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x28, DEF_STR( 2C_3C ) )
- PORT_DIPSETTING( 0x18, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x08, DEF_STR( 1C_3C ) )
- PORT_DIPNAME( 0x40, 0x40, "Winning Rounds (VS Mode)" ) PORT_DIPLOCATION("SW2:2")
- PORT_DIPSETTING( 0x00, "1" )
- PORT_DIPSETTING( 0x40, "2" )
- PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:1")
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_START("PLAYERS")
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY 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_UNKNOWN ) /* button 3 - unused */
+ 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_UNKNOWN ) /* button 3 - unused */
+ PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START2 )
+
+ PORT_START("SYSTEM")
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_VBLANK ) // to be confirmed
+ 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_START("DSW")
+ PORT_DIPUNUSED_DIPLOC( 0x0001, IP_ACTIVE_LOW, "SW1:8" )
+ PORT_DIPUNUSED_DIPLOC( 0x0002, IP_ACTIVE_LOW, "SW1:7" )
+ PORT_DIPUNUSED_DIPLOC( 0x0004, IP_ACTIVE_LOW, "SW1:6" )
+ PORT_DIPUNUSED_DIPLOC( 0x0008, IP_ACTIVE_LOW, "SW1:5" )
+ PORT_DIPUNUSED_DIPLOC( 0x0010, IP_ACTIVE_LOW, "SW1:4" )
+ PORT_DIPUNUSED_DIPLOC( 0x0020, IP_ACTIVE_LOW, "SW1:3" )
+ PORT_DIPUNUSED_DIPLOC( 0x0040, IP_ACTIVE_LOW, "SW1:2" )
+ PORT_DIPUNUSED_DIPLOC( 0x0080, IP_ACTIVE_LOW, "SW1:1" )
+
+ PORT_SERVICE_DIPLOC( 0x0100, IP_ACTIVE_LOW, "SW2:8" )
+ PORT_DIPNAME( 0x0600, 0x0600, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:7,6")
+ PORT_DIPSETTING( 0x0000, DEF_STR( Easy ) )
+ PORT_DIPSETTING( 0x0600, DEF_STR( Normal ) )
+ PORT_DIPSETTING( 0x0200, DEF_STR( Hard ) )
+ PORT_DIPSETTING( 0x0400, DEF_STR( Very_Hard ) )
+ PORT_DIPNAME( 0x3800, 0x3800, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW2:5,4,3")
+ PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) )
+ PORT_DIPSETTING( 0x2000, DEF_STR( 4C_1C ) )
+ PORT_DIPSETTING( 0x1000, DEF_STR( 3C_1C ) )
+ PORT_DIPSETTING( 0x3000, DEF_STR( 2C_1C ) )
+ PORT_DIPSETTING( 0x3800, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x2800, DEF_STR( 2C_3C ) )
+ PORT_DIPSETTING( 0x1800, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0x0800, DEF_STR( 1C_3C ) )
+ PORT_DIPNAME( 0x4000, 0x4000, "Winning Rounds (VS Mode)" ) PORT_DIPLOCATION("SW2:2")
+ PORT_DIPSETTING( 0x0000, "1" )
+ PORT_DIPSETTING( 0x4000, "2" )
+ PORT_DIPNAME( 0x8000, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:1")
+ PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
INPUT_PORTS_END
static INPUT_PORTS_START( chokchok )
- PORT_START("P1") /* Player 1 controls */
- 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)
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* button 3 - unused */
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
-
- PORT_START("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_UNKNOWN ) /* button 3 - unused */
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
-
- PORT_START("SYSTEM") /* Credits */
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK ) // to be confirmed
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("DSW1") /* Dip switch bank 1 */
- PORT_DIPNAME( 0x01, 0x01, "Winning Rounds" ) PORT_DIPLOCATION("SW1:8")
- PORT_DIPSETTING( 0x00, "2" )
- PORT_DIPSETTING( 0x01, "3" )
- PORT_DIPNAME( 0x06, 0x06, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:7,6")
- PORT_DIPSETTING( 0x06, "0" )
- PORT_DIPSETTING( 0x02, "1" )
- PORT_DIPSETTING( 0x04, "2" )
- PORT_DIPSETTING( 0x00, "3" )
- PORT_DIPNAME( 0x18, 0x18, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:5,4")
- PORT_DIPSETTING( 0x18, "0" )
- PORT_DIPSETTING( 0x08, "1" )
- PORT_DIPSETTING( 0x10, "2" )
- PORT_DIPSETTING( 0x00, "3" )
- PORT_DIPNAME( 0x20, 0x20, "Time" ) PORT_DIPLOCATION("SW1:3")
- PORT_DIPSETTING( 0x20, "60 Seconds" )
- PORT_DIPSETTING( 0x00, "90 Seconds" )
- PORT_DIPNAME( 0xc0, 0xc0, "Starting Balls" ) PORT_DIPLOCATION("SW1:1,2")
- PORT_DIPSETTING( 0x00, "3" )
- PORT_DIPSETTING( 0xc0, "4" )
- PORT_DIPSETTING( 0x40, "5" )
- PORT_DIPSETTING( 0x80, "6" )
-
- PORT_START("DSW2") /* Dip switch bank 2 */
- PORT_SERVICE_DIPLOC( 0x01, IP_ACTIVE_LOW, "SW2:8" )
- PORT_DIPNAME( 0x06, 0x06, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:7,6")
- PORT_DIPSETTING( 0x00, DEF_STR( Easy ) )
- PORT_DIPSETTING( 0x06, DEF_STR( Normal ) )
- PORT_DIPSETTING( 0x02, DEF_STR( Hard ) )
- PORT_DIPSETTING( 0x04, DEF_STR( Very_Hard ) )
- PORT_DIPNAME( 0x38, 0x38, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW2:5,4,3")
- PORT_DIPSETTING( 0x00, DEF_STR( 5C_1C ) )
- PORT_DIPSETTING( 0x20, DEF_STR( 4C_1C ) )
- PORT_DIPSETTING( 0x10, DEF_STR( 3C_1C ) )
- PORT_DIPSETTING( 0x30, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x38, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x28, DEF_STR( 2C_3C ) )
- PORT_DIPSETTING( 0x18, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x08, DEF_STR( 1C_3C ) )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:2")
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:1")
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_START("PLAYERS")
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY 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_UNKNOWN ) /* button 3 - unused */
+ 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_UNKNOWN ) /* button 3 - unused */
+ PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START2 )
+
+ PORT_START("SYSTEM")
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_VBLANK ) // to be confirmed
+ 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_START("DSW")
+ PORT_DIPNAME( 0x0001, 0x0001, "Winning Rounds" ) PORT_DIPLOCATION("SW1:8")
+ PORT_DIPSETTING( 0x0000, "2" )
+ PORT_DIPSETTING( 0x0001, "3" )
+ PORT_DIPNAME( 0x0006, 0x0006, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:7,6")
+ PORT_DIPSETTING( 0x0006, "0" )
+ PORT_DIPSETTING( 0x0002, "1" )
+ PORT_DIPSETTING( 0x0004, "2" )
+ PORT_DIPSETTING( 0x0000, "3" )
+ PORT_DIPNAME( 0x0018, 0x0018, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:5,4")
+ PORT_DIPSETTING( 0x0018, "0" )
+ PORT_DIPSETTING( 0x0008, "1" )
+ PORT_DIPSETTING( 0x0010, "2" )
+ PORT_DIPSETTING( 0x0000, "3" )
+ PORT_DIPNAME( 0x0020, 0x0020, "Time" ) PORT_DIPLOCATION("SW1:3")
+ PORT_DIPSETTING( 0x0020, "60 Seconds" )
+ PORT_DIPSETTING( 0x0000, "90 Seconds" )
+ PORT_DIPNAME( 0x00c0, 0x00c0, "Starting Balls" ) PORT_DIPLOCATION("SW1:1,2")
+ PORT_DIPSETTING( 0x0000, "3" )
+ PORT_DIPSETTING( 0x00c0, "4" )
+ PORT_DIPSETTING( 0x0040, "5" )
+ PORT_DIPSETTING( 0x0080, "6" )
+
+ PORT_SERVICE_DIPLOC( 0x0100, IP_ACTIVE_LOW, "SW2:8" )
+ PORT_DIPNAME( 0x0600, 0x0600, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:7,6")
+ PORT_DIPSETTING( 0x0000, DEF_STR( Easy ) )
+ PORT_DIPSETTING( 0x0600, DEF_STR( Normal ) )
+ PORT_DIPSETTING( 0x0200, DEF_STR( Hard ) )
+ PORT_DIPSETTING( 0x0400, DEF_STR( Very_Hard ) )
+ PORT_DIPNAME( 0x3800, 0x3800, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW2:5,4,3")
+ PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) )
+ PORT_DIPSETTING( 0x2000, DEF_STR( 4C_1C ) )
+ PORT_DIPSETTING( 0x1000, DEF_STR( 3C_1C ) )
+ PORT_DIPSETTING( 0x3000, DEF_STR( 2C_1C ) )
+ PORT_DIPSETTING( 0x3800, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x2800, DEF_STR( 2C_3C ) )
+ PORT_DIPSETTING( 0x1800, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0x0800, DEF_STR( 1C_3C ) )
+ PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:2")
+ PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x8000, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:1")
+ PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
INPUT_PORTS_END
static INPUT_PORTS_START( wlstar )
- PORT_START("P1") /* Player 1 controls */
- 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)
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
-
- PORT_START("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("SYSTEM") /* Credits */
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK ) // to be confirmed
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("DSW1") /* Dip switch bank 1 */
- PORT_DIPUNUSED_DIPLOC( 0x01, IP_ACTIVE_LOW, "SW1:8" )
- PORT_DIPUNUSED_DIPLOC( 0x02, IP_ACTIVE_LOW, "SW1:7" )
- PORT_DIPUNUSED_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW1:6" )
- PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SW1:5" )
- PORT_DIPNAME( 0x10, 0x10, "2 Players Game" ) PORT_DIPLOCATION("SW1:4")
- PORT_DIPSETTING( 0x00, "1 Credit" )
- PORT_DIPSETTING( 0x10, "2 Credits" )
- PORT_DIPUNUSED_DIPLOC( 0x20, IP_ACTIVE_LOW, "SW1:3" ) // See notes
- PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:2,1")
- PORT_DIPSETTING( 0x00, DEF_STR( Easy ) )
- PORT_DIPSETTING( 0xc0, DEF_STR( Normal ) )
- PORT_DIPSETTING( 0x40, DEF_STR( Hard ) )
- PORT_DIPSETTING( 0x80, DEF_STR( Hardest ) )
-
- PORT_START("DSW2") /* Dip switch bank 2 */
- PORT_DIPNAME( 0x01, 0x01, "Last Inning" ) PORT_DIPLOCATION("SW2:8") // See notes
- PORT_DIPSETTING( 0x00, "9" )
- PORT_DIPSETTING( 0x01, "12" )
- PORT_DIPNAME( 0x02, 0x02, "VS CPU Game Ends" ) PORT_DIPLOCATION("SW2:7") // See notes
- PORT_DIPSETTING( 0x02, "+10" )
- PORT_DIPSETTING( 0x00, "+7" )
- PORT_DIPNAME( 0x04, 0x04, "VS Game" ) PORT_DIPLOCATION("SW2:6")
- PORT_DIPSETTING( 0x00, "1 Credit / 2 Innings" )
- PORT_DIPSETTING( 0x04, "1 Credit / 3 Innings" )
- PORT_DIPNAME( 0x08, 0x08, "Full 2 Players Game" ) PORT_DIPLOCATION("SW2:5")
- PORT_DIPSETTING( 0x00, "4 Credits" )
- PORT_DIPSETTING( 0x08, "6 Credits" )
- PORT_DIPNAME( 0x70, 0x70, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW2:4,3,2")
- PORT_DIPSETTING( 0x00, DEF_STR( 5C_1C ) )
- PORT_DIPSETTING( 0x40, DEF_STR( 4C_1C ) )
- PORT_DIPSETTING( 0x20, DEF_STR( 3C_1C ) )
- PORT_DIPSETTING( 0x60, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x70, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x50, DEF_STR( 2C_3C ) )
- PORT_DIPSETTING( 0x30, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x10, DEF_STR( 1C_3C ) )
- PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:1")
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_START("PLAYERS")
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY 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_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("SYSTEM")
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_VBLANK ) // to be confirmed
+ 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_START("DSW")
+ PORT_DIPUNUSED_DIPLOC( 0x0001, IP_ACTIVE_LOW, "SW1:8" )
+ PORT_DIPUNUSED_DIPLOC( 0x0002, IP_ACTIVE_LOW, "SW1:7" )
+ PORT_DIPUNUSED_DIPLOC( 0x0004, IP_ACTIVE_LOW, "SW1:6" )
+ PORT_DIPUNUSED_DIPLOC( 0x0008, IP_ACTIVE_LOW, "SW1:5" )
+ PORT_DIPNAME( 0x0010, 0x0010, "2 Players Game" ) PORT_DIPLOCATION("SW1:4")
+ PORT_DIPSETTING( 0x0000, "1 Credit" )
+ PORT_DIPSETTING( 0x0010, "2 Credits" )
+ PORT_DIPUNUSED_DIPLOC( 0x0020, IP_ACTIVE_LOW, "SW1:3" ) // See notes
+ PORT_DIPNAME( 0x00c0, 0x00c0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:2,1")
+ PORT_DIPSETTING( 0x0000, DEF_STR( Easy ) )
+ PORT_DIPSETTING( 0x00c0, DEF_STR( Normal ) )
+ PORT_DIPSETTING( 0x0040, DEF_STR( Hard ) )
+ PORT_DIPSETTING( 0x0080, DEF_STR( Hardest ) )
+
+ PORT_DIPNAME( 0x0100, 0x0100, "Last Inning" ) PORT_DIPLOCATION("SW2:8") // See notes
+ PORT_DIPSETTING( 0x0000, "9" )
+ PORT_DIPSETTING( 0x0100, "12" )
+ PORT_DIPNAME( 0x0200, 0x0200, "VS CPU Game Ends" ) PORT_DIPLOCATION("SW2:7") // See notes
+ PORT_DIPSETTING( 0x0200, "+10" )
+ PORT_DIPSETTING( 0x0000, "+7" )
+ PORT_DIPNAME( 0x0400, 0x0400, "VS Game" ) PORT_DIPLOCATION("SW2:6")
+ PORT_DIPSETTING( 0x0000, "1 Credit / 2 Innings" )
+ PORT_DIPSETTING( 0x0400, "1 Credit / 3 Innings" )
+ PORT_DIPNAME( 0x0800, 0x0800, "Full 2 Players Game" ) PORT_DIPLOCATION("SW2:5")
+ PORT_DIPSETTING( 0x0000, "4 Credits" )
+ PORT_DIPSETTING( 0x0800, "6 Credits" )
+ PORT_DIPNAME( 0x7000, 0x7000, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW2:4,3,2")
+ PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) )
+ PORT_DIPSETTING( 0x4000, DEF_STR( 4C_1C ) )
+ PORT_DIPSETTING( 0x2000, DEF_STR( 3C_1C ) )
+ PORT_DIPSETTING( 0x6000, DEF_STR( 2C_1C ) )
+ PORT_DIPSETTING( 0x7000, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x5000, DEF_STR( 2C_3C ) )
+ PORT_DIPSETTING( 0x3000, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0x1000, DEF_STR( 1C_3C ) )
+ PORT_DIPNAME( 0x8000, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:1")
+ PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
INPUT_PORTS_END
static INPUT_PORTS_START( wondl96 )
- PORT_START("P1") /* Player 1 controls */
- 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)
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
-
- PORT_START("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("SYSTEM") /* Credits */
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // must be high to avoid endless loops
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK ) // to be confirmed
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("DSW1") /* Dip switch bank 1 */
- PORT_DIPNAME( 0x01, 0x01, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("SW2:8")
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x0e, 0x0e, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:7,6,5") // See notes
- PORT_DIPSETTING( 0x0e, "0" )
- PORT_DIPSETTING( 0x06, "1" )
- PORT_DIPSETTING( 0x0a, "2" )
- PORT_DIPSETTING( 0x02, "3" )
- PORT_DIPSETTING( 0x0c, "4" )
- PORT_DIPSETTING( 0x04, "5" )
- PORT_DIPSETTING( 0x08, "6" )
- PORT_DIPSETTING( 0x00, "7" )
- PORT_DIPNAME( 0x10, 0x10, "Field Color" ) PORT_DIPLOCATION("SW1:4") // See notes
- PORT_DIPSETTING( 0x10, "Blue" )
- PORT_DIPSETTING( 0x00, "Green" )
- PORT_DIPNAME( 0x20, 0x20, "VS CPU Game Ends" ) PORT_DIPLOCATION("SW1:3") // See notes
- PORT_DIPSETTING( 0x20, "+10" )
- PORT_DIPSETTING( 0x00, "+7" )
- PORT_DIPNAME( 0x40, 0x40, "VS Game" ) PORT_DIPLOCATION("SW1:2")
- PORT_DIPSETTING( 0x00, "1 Credit / 2 Innings" )
- PORT_DIPSETTING( 0x40, "1 Credit / 3 Innings" )
- PORT_DIPNAME( 0x80, 0x00, "Full 2 Players Game" ) PORT_DIPLOCATION("SW1:1")
- PORT_DIPSETTING( 0x80, "4 Credits" )
- PORT_DIPSETTING( 0x00, "6 Credits" )
-
- PORT_START("DSW2") /* Dip switch bank 2 */
- PORT_DIPUNUSED_DIPLOC( 0x01, IP_ACTIVE_LOW, "SW2:8" )
- PORT_DIPNAME( 0x0e, 0x0e, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:7,6,5")
- PORT_DIPSETTING( 0x04, "Level 1" )
- PORT_DIPSETTING( 0x08, "Level 2" )
- PORT_DIPSETTING( 0x00, "Level 3" )
- PORT_DIPSETTING( 0x0e, "Level 4" )
- PORT_DIPSETTING( 0x06, "Level 5" )
- PORT_DIPSETTING( 0x0a, "Level 6" )
- PORT_DIPSETTING( 0x02, "Level 7" )
- PORT_DIPSETTING( 0x0c, "Level 8" )
- PORT_DIPNAME( 0x70, 0x70, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW2:4,3,2")
- PORT_DIPSETTING( 0x00, DEF_STR( 5C_1C ) )
- PORT_DIPSETTING( 0x40, DEF_STR( 4C_1C ) )
- PORT_DIPSETTING( 0x20, DEF_STR( 3C_1C ) )
- PORT_DIPSETTING( 0x60, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x70, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x50, DEF_STR( 2C_3C ) )
- PORT_DIPSETTING( 0x30, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x10, DEF_STR( 1C_3C ) )
- PORT_DIPUNUSED_DIPLOC( 0x80, IP_ACTIVE_LOW, "SW2:1" ) // See notes
+ PORT_START("PLAYERS")
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY 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_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("SYSTEM")
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
+ PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // must be high to avoid endless loops
+ PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_VBLANK ) // to be confirmed
+ 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_START("DSW")
+ PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("SW2:8")
+ PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x000e, 0x000e, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:7,6,5") // See notes
+ PORT_DIPSETTING( 0x000e, "0" )
+ PORT_DIPSETTING( 0x0006, "1" )
+ PORT_DIPSETTING( 0x000a, "2" )
+ PORT_DIPSETTING( 0x0002, "3" )
+ PORT_DIPSETTING( 0x000c, "4" )
+ PORT_DIPSETTING( 0x0004, "5" )
+ PORT_DIPSETTING( 0x0008, "6" )
+ PORT_DIPSETTING( 0x0000, "7" )
+ PORT_DIPNAME( 0x0010, 0x0010, "Field Color" ) PORT_DIPLOCATION("SW1:4") // See notes
+ PORT_DIPSETTING( 0x0010, "Blue" )
+ PORT_DIPSETTING( 0x0000, "Green" )
+ PORT_DIPNAME( 0x0020, 0x0020, "VS CPU Game Ends" ) PORT_DIPLOCATION("SW1:3") // See notes
+ PORT_DIPSETTING( 0x0020, "+10" )
+ PORT_DIPSETTING( 0x0000, "+7" )
+ PORT_DIPNAME( 0x0040, 0x0040, "VS Game" ) PORT_DIPLOCATION("SW1:2")
+ PORT_DIPSETTING( 0x0000, "1 Credit / 2 Innings" )
+ PORT_DIPSETTING( 0x0040, "1 Credit / 3 Innings" )
+ PORT_DIPNAME( 0x0080, 0x0000, "Full 2 Players Game" ) PORT_DIPLOCATION("SW1:1")
+ PORT_DIPSETTING( 0x0080, "4 Credits" )
+ PORT_DIPSETTING( 0x0000, "6 Credits" )
+
+ PORT_DIPUNUSED_DIPLOC( 0x0100, IP_ACTIVE_LOW, "SW2:8" )
+ PORT_DIPNAME( 0x0e00, 0x0e00, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:7,6,5")
+ PORT_DIPSETTING( 0x0400, "Level 1" )
+ PORT_DIPSETTING( 0x0800, "Level 2" )
+ PORT_DIPSETTING( 0x0000, "Level 3" )
+ PORT_DIPSETTING( 0x0e00, "Level 4" )
+ PORT_DIPSETTING( 0x0600, "Level 5" )
+ PORT_DIPSETTING( 0x0a00, "Level 6" )
+ PORT_DIPSETTING( 0x0200, "Level 7" )
+ PORT_DIPSETTING( 0x0c00, "Level 8" )
+ PORT_DIPNAME( 0x7000, 0x7000, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW2:4,3,2")
+ PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) )
+ PORT_DIPSETTING( 0x4000, DEF_STR( 4C_1C ) )
+ PORT_DIPSETTING( 0x2000, DEF_STR( 3C_1C ) )
+ PORT_DIPSETTING( 0x6000, DEF_STR( 2C_1C ) )
+ PORT_DIPSETTING( 0x7000, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x5000, DEF_STR( 2C_3C ) )
+ PORT_DIPSETTING( 0x3000, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0x1000, DEF_STR( 1C_3C ) )
+ PORT_DIPUNUSED_DIPLOC( 0x8000, IP_ACTIVE_LOW, "SW2:1" ) // See notes
INPUT_PORTS_END
static INPUT_PORTS_START( sdfight )
- PORT_START("P1") /* Player 1 controls */
- 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)
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
-
- PORT_START("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("SYSTEM") /* Credits */
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK ) // to be confirmed
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("DSW1") /* Dip switch bank 1 */
- PORT_SERVICE_DIPLOC( 0x01, IP_ACTIVE_LOW, "SW1:8" ) /* These dips were done from the Test mode screens */
- PORT_DIPNAME( 0x0e, 0x0e, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:7,6,5")
- PORT_DIPSETTING( 0x04, "Level 1" )
- PORT_DIPSETTING( 0x08, "Level 2" )
- PORT_DIPSETTING( 0x00, "Level 3" )
- PORT_DIPSETTING( 0x0e, "Level 4" )
- PORT_DIPSETTING( 0x06, "Level 5" )
- PORT_DIPSETTING( 0x0a, "Level 6" )
- PORT_DIPSETTING( 0x02, "Level 7" )
- PORT_DIPSETTING( 0x0c, "Level 8" )
- PORT_DIPNAME( 0x70, 0x70, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:4,3,2")
- PORT_DIPSETTING( 0x00, DEF_STR( 5C_1C ) )
- PORT_DIPSETTING( 0x40, DEF_STR( 4C_1C ) )
- PORT_DIPSETTING( 0x20, DEF_STR( 3C_1C ) )
- PORT_DIPSETTING( 0x60, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x70, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x50, DEF_STR( 2C_3C ) )
- PORT_DIPSETTING( 0x30, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x10, DEF_STR( 1C_3C ) )
- PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:1")
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
-
- PORT_START("DSW2") /* Dip switch bank 2 */
- PORT_DIPNAME( 0x01, 0x01, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("SW2:8") /* Only Free Play shows in Test Mode */
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:7")
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:6")
- PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x08, 0x08, "Rounds to Win" ) PORT_DIPLOCATION("SW2:5") /* Does not show up in Test Mode screen */
- PORT_DIPSETTING( 0x08, "2 Rounds" )
- PORT_DIPSETTING( 0x00, "3 Rounds" )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:4")
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:3")
- PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0xc0, 0xc0, "Time" ) PORT_DIPLOCATION("SW2:2,1") /* Does not show up in Test Mode screen */
- PORT_DIPSETTING( 0x40, "30" )
- PORT_DIPSETTING( 0x80, "50" )
- PORT_DIPSETTING( 0xc0, "70" )
- PORT_DIPSETTING( 0x00, "90" )
+ PORT_START("PLAYERS")
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY 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_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("SYSTEM")
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_VBLANK ) // to be confirmed
+ 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_START("DSW")
+ PORT_SERVICE_DIPLOC( 0x0001, IP_ACTIVE_LOW, "SW1:8" ) /* These dips were done from the Test mode screens */
+ PORT_DIPNAME( 0x000e, 0x000e, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:7,6,5")
+ PORT_DIPSETTING( 0x0004, "Level 1" )
+ PORT_DIPSETTING( 0x0008, "Level 2" )
+ PORT_DIPSETTING( 0x0000, "Level 3" )
+ PORT_DIPSETTING( 0x000e, "Level 4" )
+ PORT_DIPSETTING( 0x0006, "Level 5" )
+ PORT_DIPSETTING( 0x000a, "Level 6" )
+ PORT_DIPSETTING( 0x0002, "Level 7" )
+ PORT_DIPSETTING( 0x000c, "Level 8" )
+ PORT_DIPNAME( 0x0070, 0x0070, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:4,3,2")
+ PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) )
+ PORT_DIPSETTING( 0x0040, DEF_STR( 4C_1C ) )
+ PORT_DIPSETTING( 0x0020, DEF_STR( 3C_1C ) )
+ PORT_DIPSETTING( 0x0060, DEF_STR( 2C_1C ) )
+ PORT_DIPSETTING( 0x0070, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x0050, DEF_STR( 2C_3C ) )
+ PORT_DIPSETTING( 0x0030, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0x0010, DEF_STR( 1C_3C ) )
+ PORT_DIPNAME( 0x0080, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:1")
+ PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+
+ PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("SW2:8") /* Only Free Play shows in Test Mode */
+ PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:7")
+ PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:6")
+ PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0800, 0x0800, "Rounds to Win" ) PORT_DIPLOCATION("SW2:5") /* Does not show up in Test Mode screen */
+ PORT_DIPSETTING( 0x0800, "2 Rounds" )
+ PORT_DIPSETTING( 0x0000, "3 Rounds" )
+ PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:4")
+ PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:3")
+ PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0xc000, 0xc000, "Time" ) PORT_DIPLOCATION("SW2:2,1") /* Does not show up in Test Mode screen */
+ PORT_DIPSETTING( 0x4000, "30" )
+ PORT_DIPSETTING( 0x8000, "50" )
+ PORT_DIPSETTING( 0xc000, "70" )
+ PORT_DIPSETTING( 0x0000, "90" )
INPUT_PORTS_END
static INPUT_PORTS_START( bcstory )
- PORT_START("P1") /* Player 1 controls */
- 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)
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
-
- PORT_START("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("SYSTEM") /* Credits */
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK ) // to be confirmed
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("DSW1") /* Dip switch bank 1 */
- PORT_SERVICE_DIPLOC( 0x01, IP_ACTIVE_LOW, "SW1:8" )
- PORT_DIPNAME( 0x0e, 0x0e, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:7,6,5")
- PORT_DIPSETTING( 0x04, "Level 1" )
- PORT_DIPSETTING( 0x08, "Level 2" )
- PORT_DIPSETTING( 0x00, "Level 3" )
- PORT_DIPSETTING( 0x0e, "Level 4" )
- PORT_DIPSETTING( 0x06, "Level 5" )
- PORT_DIPSETTING( 0x0a, "Level 6" )
- PORT_DIPSETTING( 0x02, "Level 7" )
- PORT_DIPSETTING( 0x0c, "Level 8" )
- PORT_DIPNAME( 0x70, 0x70, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:4,3,2")
- PORT_DIPSETTING( 0x00, DEF_STR( 5C_1C ) )
- PORT_DIPSETTING( 0x40, DEF_STR( 4C_1C ) )
- PORT_DIPSETTING( 0x20, DEF_STR( 3C_1C ) )
- PORT_DIPSETTING( 0x60, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x70, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x50, DEF_STR( 2C_3C ) )
- PORT_DIPSETTING( 0x30, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x10, DEF_STR( 1C_3C ) )
- PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:1")
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
-
- PORT_START("DSW2") /* Dip switch bank 2 */
- PORT_DIPNAME( 0x01, 0x01, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("SW2:8")
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPUNUSED_DIPLOC( 0x02, IP_ACTIVE_LOW, "SW2:7" ) // See notes
- PORT_DIPUNUSED_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW2:6" ) // See notes
- PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SW2:5" )
- PORT_DIPUNUSED_DIPLOC( 0x10, IP_ACTIVE_LOW, "SW2:4" )
- PORT_DIPNAME( 0x20, 0x00, "Event Selection" ) PORT_DIPLOCATION("SW2:3") // See notes
- PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x40, "Control Type" ) PORT_DIPLOCATION("SW2:2") // See notes
- PORT_DIPSETTING( 0x40, "Joystick + Buttons" )
- PORT_DIPSETTING( 0x00, "Buttons Only" )
- PORT_DIPNAME( 0x80, 0x80, "Debug Mode" ) PORT_DIPLOCATION("SW2:1") // See notes
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_START("PLAYERS")
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY 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_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("SYSTEM")
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_VBLANK ) // to be confirmed
+ 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_START("DSW")
+ PORT_SERVICE_DIPLOC( 0x0001, IP_ACTIVE_LOW, "SW1:8" )
+ PORT_DIPNAME( 0x000e, 0x000e, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:7,6,5")
+ PORT_DIPSETTING( 0x0004, "Level 1" )
+ PORT_DIPSETTING( 0x0008, "Level 2" )
+ PORT_DIPSETTING( 0x0000, "Level 3" )
+ PORT_DIPSETTING( 0x000e, "Level 4" )
+ PORT_DIPSETTING( 0x0006, "Level 5" )
+ PORT_DIPSETTING( 0x000a, "Level 6" )
+ PORT_DIPSETTING( 0x0002, "Level 7" )
+ PORT_DIPSETTING( 0x000c, "Level 8" )
+ PORT_DIPNAME( 0x0070, 0x0070, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:4,3,2")
+ PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) )
+ PORT_DIPSETTING( 0x0040, DEF_STR( 4C_1C ) )
+ PORT_DIPSETTING( 0x0020, DEF_STR( 3C_1C ) )
+ PORT_DIPSETTING( 0x0060, DEF_STR( 2C_1C ) )
+ PORT_DIPSETTING( 0x0070, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x0050, DEF_STR( 2C_3C ) )
+ PORT_DIPSETTING( 0x0030, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0x0010, DEF_STR( 1C_3C ) )
+ PORT_DIPNAME( 0x0080, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:1")
+ PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+
+ PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("SW2:8")
+ PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPUNUSED_DIPLOC( 0x0200, IP_ACTIVE_LOW, "SW2:7" ) // See notes
+ PORT_DIPUNUSED_DIPLOC( 0x0400, IP_ACTIVE_LOW, "SW2:6" ) // See notes
+ PORT_DIPUNUSED_DIPLOC( 0x0800, IP_ACTIVE_LOW, "SW2:5" )
+ PORT_DIPUNUSED_DIPLOC( 0x1000, IP_ACTIVE_LOW, "SW2:4" )
+ PORT_DIPNAME( 0x2000, 0x0000, "Event Selection" ) PORT_DIPLOCATION("SW2:3") // See notes
+ PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x4000, 0x4000, "Control Type" ) PORT_DIPLOCATION("SW2:2") // See notes
+ PORT_DIPSETTING( 0x4000, "Joystick + Buttons" )
+ PORT_DIPSETTING( 0x0000, "Buttons Only" )
+ PORT_DIPNAME( 0x8000, 0x8000, "Debug Mode" ) PORT_DIPLOCATION("SW2:1") // See notes
+ PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
INPUT_PORTS_END
static INPUT_PORTS_START( semibase )
- PORT_START("P1") /* Player 1 controls */
- 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)
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
-
- PORT_START("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("SYSTEM") /* Credits */
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 ) // See notes
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN4 ) // See notes
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("DSW1") /* Dip switch bank 1 */
- PORT_SERVICE_DIPLOC( 0x01, IP_ACTIVE_LOW, "SW1:8" )
- PORT_DIPNAME( 0x0e, 0x0e, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:7,6,5")
- PORT_DIPSETTING( 0x04, "Level 1" )
- PORT_DIPSETTING( 0x08, "Level 2" )
- PORT_DIPSETTING( 0x00, "Level 3" )
- PORT_DIPSETTING( 0x0e, "Level 4" )
- PORT_DIPSETTING( 0x06, "Level 5" )
- PORT_DIPSETTING( 0x0a, "Level 6" )
- PORT_DIPSETTING( 0x02, "Level 7" )
- PORT_DIPSETTING( 0x0c, "Level 8" )
- PORT_DIPNAME( 0x70, 0x70, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:4,3,2")
- PORT_DIPSETTING( 0x00, DEF_STR( 5C_1C ) )
- PORT_DIPSETTING( 0x40, DEF_STR( 4C_1C ) )
- PORT_DIPSETTING( 0x20, DEF_STR( 3C_1C ) )
- PORT_DIPSETTING( 0x60, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x70, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x50, DEF_STR( 2C_3C ) )
- PORT_DIPSETTING( 0x30, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x10, DEF_STR( 1C_3C ) )
- PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:1")
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
-
- PORT_START("DSW2") /* Dip switch bank 2 */
- PORT_DIPNAME( 0x01, 0x01, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("SW2:8")
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPUNUSED_DIPLOC( 0x02, IP_ACTIVE_LOW, "SW2:7" ) // See notes
- PORT_DIPUNUSED_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW2:6" ) // See notes
- PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SW2:5" )
- PORT_DIPUNUSED_DIPLOC( 0x10, IP_ACTIVE_LOW, "SW2:4" ) // See notes
- PORT_DIPNAME( 0x20, 0x20, "VS CPU Game Ends" ) PORT_DIPLOCATION("SW2:3") // See notes
- PORT_DIPSETTING( 0x20, "+10" )
- PORT_DIPSETTING( 0x00, "+7" )
- PORT_DIPNAME( 0x40, 0x40, "VS Game" ) PORT_DIPLOCATION("SW2:2") // See notes
- PORT_DIPSETTING( 0x40, "1 Credit / 2 Innings" )
- PORT_DIPSETTING( 0x00, "1 Credit / 3 Innings" )
- PORT_DIPNAME( 0x80, 0x80, "Full 2 Players Game" ) PORT_DIPLOCATION("SW2:1") // See notes
- PORT_DIPSETTING( 0x00, "4 Credits" )
- PORT_DIPSETTING( 0x80, "6 Credits" )
+ PORT_START("PLAYERS")
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY 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_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("SYSTEM")
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_COIN3 ) // See notes
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_COIN4 ) // See notes
+ 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_START("DSW")
+ PORT_SERVICE_DIPLOC( 0x0001, IP_ACTIVE_LOW, "SW1:8" )
+ PORT_DIPNAME( 0x000e, 0x000e, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:7,6,5")
+ PORT_DIPSETTING( 0x0004, "Level 1" )
+ PORT_DIPSETTING( 0x0008, "Level 2" )
+ PORT_DIPSETTING( 0x0000, "Level 3" )
+ PORT_DIPSETTING( 0x000e, "Level 4" )
+ PORT_DIPSETTING( 0x0006, "Level 5" )
+ PORT_DIPSETTING( 0x000a, "Level 6" )
+ PORT_DIPSETTING( 0x0002, "Level 7" )
+ PORT_DIPSETTING( 0x000c, "Level 8" )
+ PORT_DIPNAME( 0x0070, 0x0070, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:4,3,2")
+ PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) )
+ PORT_DIPSETTING( 0x0040, DEF_STR( 4C_1C ) )
+ PORT_DIPSETTING( 0x0020, DEF_STR( 3C_1C ) )
+ PORT_DIPSETTING( 0x0060, DEF_STR( 2C_1C ) )
+ PORT_DIPSETTING( 0x0070, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x0050, DEF_STR( 2C_3C ) )
+ PORT_DIPSETTING( 0x0030, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0x0010, DEF_STR( 1C_3C ) )
+ PORT_DIPNAME( 0x0080, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:1")
+ PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+
+ PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("SW2:8")
+ PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPUNUSED_DIPLOC( 0x0200, IP_ACTIVE_LOW, "SW2:7" ) // See notes
+ PORT_DIPUNUSED_DIPLOC( 0x0400, IP_ACTIVE_LOW, "SW2:6" ) // See notes
+ PORT_DIPUNUSED_DIPLOC( 0x0800, IP_ACTIVE_LOW, "SW2:5" )
+ PORT_DIPUNUSED_DIPLOC( 0x1000, IP_ACTIVE_LOW, "SW2:4" ) // See notes
+ PORT_DIPNAME( 0x2000, 0x2000, "VS CPU Game Ends" ) PORT_DIPLOCATION("SW2:3") // See notes
+ PORT_DIPSETTING( 0x2000, "+10" )
+ PORT_DIPSETTING( 0x0000, "+7" )
+ PORT_DIPNAME( 0x4000, 0x4000, "VS Game" ) PORT_DIPLOCATION("SW2:2") // See notes
+ PORT_DIPSETTING( 0x4000, "1 Credit / 2 Innings" )
+ PORT_DIPSETTING( 0x0000, "1 Credit / 3 Innings" )
+ PORT_DIPNAME( 0x8000, 0x8000, "Full 2 Players Game" ) PORT_DIPLOCATION("SW2:1") // See notes
+ PORT_DIPSETTING( 0x0000, "4 Credits" )
+ PORT_DIPSETTING( 0x8000, "6 Credits" )
INPUT_PORTS_END
static INPUT_PORTS_START( dquizgo )
- PORT_START("P1") /* Player 1 controls */
- 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)
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
-
- PORT_START("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("SYSTEM") /* Credits */
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK ) // to be confirmed
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("DSW1") /* Dip switch bank 1 */
- PORT_SERVICE_DIPLOC( 0x01, IP_ACTIVE_LOW, "SW1:8" )
- PORT_DIPNAME( 0x0e, 0x0e, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:7,6,5")
- PORT_DIPSETTING( 0x04, "Level 1" )
- PORT_DIPSETTING( 0x08, "Level 2" )
- PORT_DIPSETTING( 0x00, "Level 3" )
- PORT_DIPSETTING( 0x0e, "Level 4" )
- PORT_DIPSETTING( 0x06, "Level 5" )
- PORT_DIPSETTING( 0x0a, "Level 6" )
- PORT_DIPSETTING( 0x02, "Level 7" )
- PORT_DIPSETTING( 0x0c, "Level 8" )
- PORT_DIPNAME( 0x70, 0x70, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:4,3,2")
-// PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
-// PORT_DIPSETTING( 0x20, DEF_STR( 3C_1C ) )
- PORT_DIPSETTING( 0x40, DEF_STR( 3C_1C ) )
- PORT_DIPSETTING( 0x60, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x70, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x50, DEF_STR( 2C_3C ) )
- PORT_DIPSETTING( 0x30, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x10, DEF_STR( 1C_3C ) )
- PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:1")
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
-
- PORT_START("DSW2") /* Dip switch bank 2 */
- PORT_DIPNAME( 0x01, 0x01, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("SW2:8") // See notes
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPUNUSED_DIPLOC( 0x02, IP_ACTIVE_LOW, "SW2:7" )
- PORT_DIPUNUSED_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW2:6" )
- PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SW2:5" )
- PORT_DIPUNUSED_DIPLOC( 0x10, IP_ACTIVE_LOW, "SW2:4" )
- PORT_DIPUNUSED_DIPLOC( 0x20, IP_ACTIVE_LOW, "SW2:3" )
- PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:2,1") // See notes
- PORT_DIPSETTING( 0x00, "2" )
- PORT_DIPSETTING( 0xc0, "3" )
- PORT_DIPSETTING( 0x40, "4" )
- PORT_DIPSETTING( 0x80, "5" )
+ PORT_START("PLAYERS")
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY 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_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("SYSTEM")
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_VBLANK ) // to be confirmed
+ 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_START("DSW")
+ PORT_SERVICE_DIPLOC( 0x0001, IP_ACTIVE_LOW, "SW1:8" )
+ PORT_DIPNAME( 0x000e, 0x000e, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:7,6,5")
+ PORT_DIPSETTING( 0x0004, "Level 1" )
+ PORT_DIPSETTING( 0x0008, "Level 2" )
+ PORT_DIPSETTING( 0x0000, "Level 3" )
+ PORT_DIPSETTING( 0x000e, "Level 4" )
+ PORT_DIPSETTING( 0x0006, "Level 5" )
+ PORT_DIPSETTING( 0x000a, "Level 6" )
+ PORT_DIPSETTING( 0x0002, "Level 7" )
+ PORT_DIPSETTING( 0x000c, "Level 8" )
+ PORT_DIPNAME( 0x0070, 0x0070, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:4,3,2")
+// PORT_DIPSETTING( 0x0000, DEF_STR( 3C_1C ) )
+// PORT_DIPSETTING( 0x0020, DEF_STR( 3C_1C ) )
+ PORT_DIPSETTING( 0x0040, DEF_STR( 3C_1C ) )
+ PORT_DIPSETTING( 0x0060, DEF_STR( 2C_1C ) )
+ PORT_DIPSETTING( 0x0070, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x0050, DEF_STR( 2C_3C ) )
+ PORT_DIPSETTING( 0x0030, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0x0010, DEF_STR( 1C_3C ) )
+ PORT_DIPNAME( 0x0080, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:1")
+ PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+
+ PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("SW2:8") // See notes
+ PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPUNUSED_DIPLOC( 0x0200, IP_ACTIVE_LOW, "SW2:7" )
+ PORT_DIPUNUSED_DIPLOC( 0x0400, IP_ACTIVE_LOW, "SW2:6" )
+ PORT_DIPUNUSED_DIPLOC( 0x0800, IP_ACTIVE_LOW, "SW2:5" )
+ PORT_DIPUNUSED_DIPLOC( 0x1000, IP_ACTIVE_LOW, "SW2:4" )
+ PORT_DIPUNUSED_DIPLOC( 0x2000, IP_ACTIVE_LOW, "SW2:3" )
+ PORT_DIPNAME( 0xc000, 0xc000, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:2,1") // See notes
+ PORT_DIPSETTING( 0x0000, "2" )
+ PORT_DIPSETTING( 0xc000, "3" )
+ PORT_DIPSETTING( 0x4000, "4" )
+ PORT_DIPSETTING( 0x8000, "5" )
INPUT_PORTS_END
static INPUT_PORTS_START( jumppop )
- PORT_START("PLAYERS") /* Controls */
+ PORT_START("PLAYERS")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
@@ -1913,14 +1878,14 @@ static INPUT_PORTS_START( jumppop )
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START("SYSTEM") /* Coins / Start Buttons */
+ PORT_START("SYSTEM")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0xfff0, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START("DSW") /* Dip switches */
+ PORT_START("DSW")
PORT_SERVICE_DIPLOC( 0x0001, IP_ACTIVE_LOW, "SWA:1" )
PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SWA:2")
PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
diff --git a/src/mame/drivers/tumblep.c b/src/mame/drivers/tumblep.c
index fb51d261858..b0067a0d530 100644
--- a/src/mame/drivers/tumblep.c
+++ b/src/mame/drivers/tumblep.c
@@ -89,11 +89,11 @@ static READ16_HANDLER( tumblepop_controls_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));
- case 2: /* Dips */
- return (input_port_read(machine, "DSW1") + (input_port_read(machine, "DSW2") << 8));
- case 8: /* Credits */
+ case 0:
+ return input_port_read(machine, "PLAYERS");
+ case 2:
+ return input_port_read(machine, "DSW");
+ case 8:
return input_port_read(machine, "SYSTEM");
case 10: /* ? */
case 12:
@@ -155,93 +155,90 @@ ADDRESS_MAP_END
/******************************************************************************/
static INPUT_PORTS_START( tumblep )
- PORT_START("P1") /* Player 1 controls */
- 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)
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* button 3 - unused */
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
-
- PORT_START("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_UNKNOWN ) /* button 3 - unused */
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
-
- PORT_START("SYSTEM") /* Credits */
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK )
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("DSW1") /* Dip switch bank 1 */
- PORT_DIPNAME( 0xe0, 0xe0, DEF_STR( Coin_A ) )
- PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
- PORT_DIPSETTING( 0x80, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0xe0, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x60, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0xa0, DEF_STR( 1C_3C ) )
- PORT_DIPSETTING( 0x20, DEF_STR( 1C_4C ) )
- PORT_DIPSETTING( 0xc0, DEF_STR( 1C_5C ) )
- PORT_DIPSETTING( 0x40, DEF_STR( 1C_6C ) )
- PORT_DIPNAME( 0x1c, 0x1c, DEF_STR( Coin_B ) )
- PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
- PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x1c, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x0c, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x14, DEF_STR( 1C_3C ) )
- PORT_DIPSETTING( 0x04, DEF_STR( 1C_4C ) )
- PORT_DIPSETTING( 0x18, DEF_STR( 1C_5C ) )
- PORT_DIPSETTING( 0x08, DEF_STR( 1C_6C ) )
- PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x01, 0x01, "2 Coins to Start, 1 to Continue" )
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
-
- PORT_START("DSW2") /* Dip switch bank 2 */
- PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Lives ) )
- PORT_DIPSETTING( 0x80, "1" )
- PORT_DIPSETTING( 0x00, "2" )
- PORT_DIPSETTING( 0xc0, "3" )
- PORT_DIPSETTING( 0x40, "4" )
- PORT_DIPNAME( 0x30, 0x30, DEF_STR( Difficulty ) )
- PORT_DIPSETTING( 0x10, DEF_STR( Easy ) )
- PORT_DIPSETTING( 0x30, DEF_STR( Normal ) )
- PORT_DIPSETTING( 0x20, DEF_STR( Hard ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
+ PORT_START("PLAYERS")
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY 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_UNKNOWN ) /* button 3 - unused */
+ 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_UNKNOWN ) /* button 3 - unused */
+ PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START2 )
+
+ PORT_START("SYSTEM")
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 )
+ PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_VBLANK )
+ 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_START("DSW")
+ PORT_DIPNAME( 0x00e0, 0x00e0, DEF_STR( Coin_A ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( 3C_1C ) )
+ PORT_DIPSETTING( 0x0080, DEF_STR( 2C_1C ) )
+ PORT_DIPSETTING( 0x00e0, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x0060, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0x00a0, DEF_STR( 1C_3C ) )
+ PORT_DIPSETTING( 0x0020, DEF_STR( 1C_4C ) )
+ PORT_DIPSETTING( 0x00c0, DEF_STR( 1C_5C ) )
+ PORT_DIPSETTING( 0x0040, DEF_STR( 1C_6C ) )
+ PORT_DIPNAME( 0x001c, 0x001c, DEF_STR( Coin_B ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( 3C_1C ) )
+ PORT_DIPSETTING( 0x0010, DEF_STR( 2C_1C ) )
+ PORT_DIPSETTING( 0x001c, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x000c, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0x0014, DEF_STR( 1C_3C ) )
+ PORT_DIPSETTING( 0x0004, DEF_STR( 1C_4C ) )
+ PORT_DIPSETTING( 0x0018, DEF_STR( 1C_5C ) )
+ PORT_DIPSETTING( 0x0008, DEF_STR( 1C_6C ) )
+ PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Flip_Screen ) )
+ PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0001, 0x0001, "2 Coins to Start, 1 to Continue" )
+ PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+
+ PORT_DIPNAME( 0xc000, 0xc000, DEF_STR( Lives ) )
+ PORT_DIPSETTING( 0x8000, "1" )
+ PORT_DIPSETTING( 0x0000, "2" )
+ PORT_DIPSETTING( 0xc000, "3" )
+ PORT_DIPSETTING( 0x4000, "4" )
+ PORT_DIPNAME( 0x3000, 0x3000, DEF_STR( Difficulty ) )
+ PORT_DIPSETTING( 0x1000, DEF_STR( Easy ) )
+ PORT_DIPSETTING( 0x3000, DEF_STR( Normal ) )
+ PORT_DIPSETTING( 0x2000, DEF_STR( Hard ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
#if TUMBLEP_HACK
- PORT_DIPNAME( 0x08, 0x08, "Remove Monsters" )
+ PORT_DIPNAME( 0x0800, 0x0800, "Remove Monsters" )
#else
- PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unused ) ) // See notes
+ PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unused ) ) // See notes
#endif
- PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
#if TUMBLEP_HACK
- PORT_DIPNAME( 0x04, 0x04, "Edit Levels" )
+ PORT_DIPNAME( 0x0400, 0x0400, "Edit Levels" )
#else
- PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unused ) ) // See notes
+ PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unused ) ) // See notes
#endif
- PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x02, 0x02, DEF_STR( Allow_Continue ) )
- PORT_DIPSETTING( 0x00, DEF_STR( No ) )
- PORT_DIPSETTING( 0x02, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) )
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Allow_Continue ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( No ) )
+ PORT_DIPSETTING( 0x0200, DEF_STR( Yes ) )
+ PORT_DIPNAME( 0x0100, 0x0000, DEF_STR( Demo_Sounds ) )
+ PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
INPUT_PORTS_END
/******************************************************************************/
diff --git a/src/mame/drivers/twincobr.c b/src/mame/drivers/twincobr.c
index d769de93ebb..92dfe42a8a8 100644
--- a/src/mame/drivers/twincobr.c
+++ b/src/mame/drivers/twincobr.c
@@ -213,11 +213,11 @@ static ADDRESS_MAP_START( main_program_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x074000, 0x074003) AM_WRITE(twincobr_fgscroll_w) /* fg layer scroll */
AM_RANGE(0x074004, 0x074005) AM_WRITE(twincobr_fgoffs_w) /* offset in fg video RAM */
AM_RANGE(0x076000, 0x076003) AM_WRITE(twincobr_exscroll_w) /* Spare layer scroll */
- AM_RANGE(0x078000, 0x078001) AM_READ(input_port_3_word_r) /* Flying Shark - DSW A */
- AM_RANGE(0x078002, 0x078003) AM_READ(input_port_4_word_r) /* Flying Shark - DSW B */
- AM_RANGE(0x078004, 0x078005) AM_READ(input_port_1_word_r) /* Player 1 inputs */
- AM_RANGE(0x078006, 0x078007) AM_READ(input_port_2_word_r) /* Player 2 inputs */
- AM_RANGE(0x078008, 0x078009) AM_READ(input_port_0_word_r) /* V-Blank & FShark Coin/Start */
+ AM_RANGE(0x078000, 0x078001) AM_READ_PORT("DSWA")
+ AM_RANGE(0x078002, 0x078003) AM_READ_PORT("DSWB")
+ AM_RANGE(0x078004, 0x078005) AM_READ_PORT("P1")
+ AM_RANGE(0x078006, 0x078007) AM_READ_PORT("P2")
+ AM_RANGE(0x078008, 0x078009) AM_READ_PORT("VBLANK") /* V-Blank & FShark Coin/Start */
AM_RANGE(0x07800a, 0x07800b) AM_WRITE(fshark_coin_dsp_w) /* Flying Shark DSP Comms & coin stuff */
AM_RANGE(0x07800c, 0x07800d) AM_WRITE(twincobr_control_w) /* Twin Cobra DSP Comms & system control */
AM_RANGE(0x07a000, 0x07afff) AM_READWRITE(twincobr_sharedram_r, twincobr_sharedram_w) /* 16-bit on 68000 side, 8-bit on Z80 side */
@@ -238,10 +238,10 @@ static ADDRESS_MAP_START( sound_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READWRITE(ym3812_status_port_0_r, ym3812_control_port_0_w)
AM_RANGE(0x01, 0x01) AM_WRITE(ym3812_write_port_0_w)
- AM_RANGE(0x10, 0x10) AM_READ(input_port_5_r) /* Twin Cobra - Coin/Start */
+ AM_RANGE(0x10, 0x10) AM_READ_PORT("SYSTEM") /* Twin Cobra - Coin/Start */
AM_RANGE(0x20, 0x20) AM_WRITE(twincobr_coin_w) /* Twin Cobra coin count-lockout */
- AM_RANGE(0x40, 0x40) AM_READ(input_port_3_r) /* Twin Cobra - DSW A */
- AM_RANGE(0x50, 0x50) AM_READ(input_port_4_r) /* Twin Cobra - DSW B */
+ AM_RANGE(0x40, 0x40) AM_READ_PORT("DSWA")
+ AM_RANGE(0x50, 0x50) AM_READ_PORT("DSWB")
ADDRESS_MAP_END
@@ -279,7 +279,6 @@ ADDRESS_MAP_END
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
#define TOAPLAN_JAPAN_DSW_A \
- PORT_START("DSWA") /* DSW A */ \
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Cabinet ) ) \
PORT_DIPSETTING( 0x01, DEF_STR( Upright ) ) \
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) ) \
@@ -304,12 +303,10 @@ ADDRESS_MAP_END
PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) )
#define TWINCOBR_VBLANK_INPUT( active_level ) \
- PORT_START("VBLANK") \
PORT_BIT( 0x7f, active_level, IPT_UNKNOWN ) \
PORT_BIT( 0x80, active_level, IPT_VBLANK )
#define TWINCOBR_SYSTEM_INPUTS \
- PORT_START("SYSTEM") \
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN3 ) \
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_TILT ) \
PORT_DIPNAME( 0x04, 0x00, "Cross Hatch Pattern" ) \
@@ -322,7 +319,6 @@ ADDRESS_MAP_END
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
#define TWINCOBR_DSW_B /* not KTIGER */ \
- PORT_START("DSWB") /* DSW B */ \
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Difficulty ) ) \
PORT_DIPSETTING( 0x01, DEF_STR( Easy ) ) \
PORT_DIPSETTING( 0x00, DEF_STR( Normal ) ) \
@@ -346,7 +342,6 @@ ADDRESS_MAP_END
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
#define FSHARK_SYSTEM_INPUTS /* V-Blank is also here */ \
- PORT_START("SYSTEM") \
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN3 ) \
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_TILT ) /* tilt causes freeze */ \
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) /* reset button */ \
@@ -357,7 +352,6 @@ ADDRESS_MAP_END
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_VBLANK )
#define FSHARK_DSW_B \
- PORT_START("DSWB") /* DSW B */ \
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Difficulty ) ) \
PORT_DIPSETTING( 0x01, DEF_STR( Easy ) ) \
PORT_DIPSETTING( 0x00, DEF_STR( Normal ) ) \
@@ -384,6 +378,7 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( twincobr )
+ PORT_START("VBLANK")
TWINCOBR_VBLANK_INPUT( IP_ACTIVE_HIGH )
PORT_START("P1")
@@ -392,7 +387,7 @@ static INPUT_PORTS_START( twincobr )
PORT_START("P2")
TOAPLAN_PLAYER_INPUT( 2 )
- PORT_START("DSWA") /* DSW A */
+ PORT_START("DSWA")
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
@@ -416,12 +411,15 @@ static INPUT_PORTS_START( twincobr )
PORT_DIPSETTING( 0x80, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_6C ) )
+ PORT_START("DSWB")
TWINCOBR_DSW_B
+ PORT_START("SYSTEM")
TWINCOBR_SYSTEM_INPUTS
INPUT_PORTS_END
static INPUT_PORTS_START( twincobu )
+ PORT_START("VBLANK")
TWINCOBR_VBLANK_INPUT( IP_ACTIVE_HIGH )
PORT_START("P1")
@@ -430,7 +428,7 @@ static INPUT_PORTS_START( twincobu )
PORT_START("P2")
TOAPLAN_PLAYER_INPUT( 2 )
- PORT_START("DSWA") /* DSW A */
+ PORT_START("DSWA")
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
@@ -454,12 +452,15 @@ static INPUT_PORTS_START( twincobu )
PORT_DIPSETTING( 0xc0, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) )
+ PORT_START("DSWB")
TWINCOBR_DSW_B
+ PORT_START("SYSTEM")
TWINCOBR_SYSTEM_INPUTS
INPUT_PORTS_END
static INPUT_PORTS_START( ktiger )
+ PORT_START("VBLANK")
TWINCOBR_VBLANK_INPUT( IP_ACTIVE_HIGH )
PORT_START("P1")
@@ -468,9 +469,10 @@ static INPUT_PORTS_START( ktiger )
PORT_START("P2")
TOAPLAN_PLAYER_INPUT( 2 )
+ PORT_START("DSWA")
TOAPLAN_JAPAN_DSW_A
- PORT_START("DSWB") /* DSW B */
+ PORT_START("DSWB")
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Difficulty ) )
PORT_DIPSETTING( 0x01, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x00, DEF_STR( Normal ) )
@@ -493,10 +495,12 @@ static INPUT_PORTS_START( ktiger )
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
PORT_DIPSETTING( 0x80, DEF_STR( Yes ) )
+ PORT_START("SYSTEM")
TWINCOBR_SYSTEM_INPUTS
INPUT_PORTS_END
static INPUT_PORTS_START( fshark )
+ PORT_START("VBLANK")
FSHARK_SYSTEM_INPUTS
PORT_START("P1")
@@ -505,7 +509,7 @@ static INPUT_PORTS_START( fshark )
PORT_START("P2")
TOAPLAN_PLAYER_INPUT( 2 )
- PORT_START("DSWA") /* DSW A */
+ PORT_START("DSWA")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Cabinet ) )
PORT_DIPSETTING( 0x01, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
@@ -529,10 +533,15 @@ static INPUT_PORTS_START( fshark )
PORT_DIPSETTING( 0x80, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_6C ) )
+ PORT_START("DSWB")
FSHARK_DSW_B
+
+ PORT_START("SYSTEM")
+ PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
INPUT_PORTS_END
static INPUT_PORTS_START( skyshark )
+ PORT_START("VBLANK")
FSHARK_SYSTEM_INPUTS
PORT_START("P1")
@@ -541,7 +550,7 @@ static INPUT_PORTS_START( skyshark )
PORT_START("P2")
TOAPLAN_PLAYER_INPUT( 2 )
- PORT_START("DSWA") /* DSW A */
+ PORT_START("DSWA")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Cabinet ) )
PORT_DIPSETTING( 0x01, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
@@ -565,10 +574,15 @@ static INPUT_PORTS_START( skyshark )
PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
/* PORT_DIPSETTING( 0xc0, DEF_STR( 1C_2C ) ) Same as previous */
+ PORT_START("DSWB")
FSHARK_DSW_B
+
+ PORT_START("SYSTEM")
+ PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
INPUT_PORTS_END
static INPUT_PORTS_START( hishouza )
+ PORT_START("VBLANK")
FSHARK_SYSTEM_INPUTS
PORT_START("P1")
@@ -577,12 +591,18 @@ static INPUT_PORTS_START( hishouza )
PORT_START("P2")
TOAPLAN_PLAYER_INPUT( 2 )
+ PORT_START("DSWA")
TOAPLAN_JAPAN_DSW_A
+ PORT_START("DSWB")
FSHARK_DSW_B
+
+ PORT_START("SYSTEM")
+ PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
INPUT_PORTS_END
static INPUT_PORTS_START( gulfwar2 )
+ PORT_START("VBLANK")
TWINCOBR_VBLANK_INPUT( IP_ACTIVE_LOW )
PORT_START("P1")
@@ -591,7 +611,7 @@ static INPUT_PORTS_START( gulfwar2 )
PORT_START("P2")
TOAPLAN_PLAYER_INPUT( 2 )
- PORT_START("DSWA") /* DSW A */
+ PORT_START("DSWA")
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
@@ -615,8 +635,10 @@ static INPUT_PORTS_START( gulfwar2 )
PORT_DIPSETTING( 0x80, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_6C ) )
+ PORT_START("DSWB")
TWINCOBR_DSW_B
+ PORT_START("SYSTEM")
TWINCOBR_SYSTEM_INPUTS
INPUT_PORTS_END
diff --git a/src/mame/drivers/ultraman.c b/src/mame/drivers/ultraman.c
index 78755a2d9a3..5e0c00f26a1 100644
--- a/src/mame/drivers/ultraman.c
+++ b/src/mame/drivers/ultraman.c
@@ -113,11 +113,11 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080000, 0x08ffff) AM_RAM
AM_RANGE(0x180000, 0x183fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)/* Palette */
- AM_RANGE(0x1c0000, 0x1c0001) AM_READ(input_port_0_word_r) /* Coins + Service */
- AM_RANGE(0x1c0002, 0x1c0003) AM_READ(input_port_1_word_r) /* 1P controls */
- AM_RANGE(0x1c0004, 0x1c0005) AM_READ(input_port_2_word_r) /* 2P controls */
- AM_RANGE(0x1c0006, 0x1c0007) AM_READ(input_port_3_word_r) /* DIPSW #1 */
- AM_RANGE(0x1c0008, 0x1c0009) AM_READ(input_port_4_word_r) /* DIPSW #2 */
+ AM_RANGE(0x1c0000, 0x1c0001) AM_READ_PORT("SYSTEM")
+ AM_RANGE(0x1c0002, 0x1c0003) AM_READ_PORT("P1")
+ AM_RANGE(0x1c0004, 0x1c0005) AM_READ_PORT("P2")
+ AM_RANGE(0x1c0006, 0x1c0007) AM_READ_PORT("DSW1")
+ AM_RANGE(0x1c0008, 0x1c0009) AM_READ_PORT("DSW2")
AM_RANGE(0x1c0018, 0x1c0019) AM_WRITE(ultraman_gfxctrl_w) /* counters + gfx ctrl */
AM_RANGE(0x1c0020, 0x1c0021) AM_WRITE(sound_cmd_w)
AM_RANGE(0x1c0028, 0x1c0029) AM_WRITE(sound_irq_trigger_w)
@@ -149,17 +149,16 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( ultraman )
-
- PORT_START("IN0") /* Coins + Service */
+ PORT_START("SYSTEM")
PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_SERVICE_NO_TOGGLE(0x10, IP_ACTIVE_LOW)
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN3 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_START("IN1")
+ PORT_START("P1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
@@ -167,9 +166,9 @@ static INPUT_PORTS_START( ultraman )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
- PORT_START("IN2")
+ PORT_START("P2")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START2 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
diff --git a/src/mame/drivers/ultrsprt.c b/src/mame/drivers/ultrsprt.c
index 5a8b9133dac..f4b5299e187 100644
--- a/src/mame/drivers/ultrsprt.c
+++ b/src/mame/drivers/ultrsprt.c
@@ -52,7 +52,7 @@ static READ32_HANDLER( eeprom_r )
UINT32 r = 0;
if (ACCESSING_BITS_24_31)
- r |= (((eeprom_read_bit()) << 1) | (input_port_read(machine, "SERVICE") << 3)) << 24;
+ r |= input_port_read(machine, "SERVICE");
return r;
}
@@ -67,14 +67,10 @@ static WRITE32_HANDLER( eeprom_w )
}
}
-static READ32_HANDLER( control1_r )
+static CUSTOM_INPUT( analog_ctrl_r )
{
- return (input_port_read(machine, "P1") << 28) | ((input_port_read(machine, "STICKX1") & 0xfff) << 16) | (input_port_read(machine, "STICKY1") & 0xfff);
-}
-
-static READ32_HANDLER( control2_r )
-{
- return (input_port_read(machine, "P2") << 28) | ((input_port_read(machine, "STICKX2") & 0xfff) << 16) | (input_port_read(machine, "STICKY2") & 0xfff);
+ const char *tag = param;
+ return input_port_read(field->port->machine, tag) & 0xfff;
}
static WRITE32_HANDLER( int_ack_w )
@@ -104,8 +100,8 @@ static MACHINE_START( ultrsprt )
static ADDRESS_MAP_START( ultrsprt_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x00000000, 0x0007ffff) AM_RAM AM_BASE(&vram)
AM_RANGE(0x70000000, 0x70000003) AM_READWRITE(eeprom_r, eeprom_w)
- AM_RANGE(0x70000020, 0x70000023) AM_READ(control1_r)
- AM_RANGE(0x70000040, 0x70000043) AM_READ(control2_r)
+ AM_RANGE(0x70000020, 0x70000023) AM_READ_PORT("P1")
+ AM_RANGE(0x70000040, 0x70000043) AM_READ_PORT("P2")
AM_RANGE(0x70000080, 0x70000087) AM_WRITE(K056800_host_w)
AM_RANGE(0x70000088, 0x7000008f) AM_READ(K056800_host_r)
AM_RANGE(0x700000e0, 0x700000e3) AM_WRITE(int_ack_w)
@@ -179,9 +175,22 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( ultrsprt )
PORT_START("P1")
- PORT_BIT( 0x4, IP_ACTIVE_HIGH, IPT_COIN1 )
- PORT_BIT( 0x2, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x1, IP_ACTIVE_HIGH, IPT_START1 )
+ PORT_BIT( 0x00000fff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(analog_ctrl_r, "STICKY1")
+ PORT_BIT( 0x0fff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(analog_ctrl_r, "STICKX1")
+ PORT_BIT( 0x40000000, IP_ACTIVE_HIGH, IPT_COIN1 )
+ PORT_BIT( 0x20000000, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1)
+ PORT_BIT( 0x10000000, IP_ACTIVE_HIGH, IPT_START1 )
+
+ PORT_START("P2")
+ PORT_BIT( 0x00000fff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(analog_ctrl_r, "STICKY2")
+ PORT_BIT( 0x0fff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(analog_ctrl_r, "STICKX2")
+ PORT_BIT( 0x40000000, IP_ACTIVE_HIGH, IPT_SERVICE1 )
+ PORT_BIT( 0x20000000, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2)
+ PORT_BIT( 0x10000000, IP_ACTIVE_HIGH, IPT_START2 )
+
+ PORT_START("SERVICE")
+ PORT_BIT( 0x02000000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL)
+ PORT_SERVICE_NO_TOGGLE( 0x08000000, IP_ACTIVE_LOW )
PORT_START("STICKX1")
PORT_BIT( 0xfff, 0x800, IPT_AD_STICK_X ) PORT_MINMAX(0x000,0xfff) PORT_SENSITIVITY(70) PORT_KEYDELTA(10) PORT_PLAYER(1)
@@ -189,20 +198,11 @@ static INPUT_PORTS_START( ultrsprt )
PORT_START("STICKY1")
PORT_BIT( 0xfff, 0x800, IPT_AD_STICK_Y ) PORT_MINMAX(0x000,0xfff) PORT_SENSITIVITY(70) PORT_KEYDELTA(10) PORT_REVERSE PORT_PLAYER(1)
- PORT_START("P2")
- PORT_BIT( 0x4, IP_ACTIVE_HIGH, IPT_SERVICE1 )
- PORT_BIT( 0x2, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2)
- PORT_BIT( 0x1, IP_ACTIVE_HIGH, IPT_START2 )
-
PORT_START("STICKX2")
PORT_BIT( 0xfff, 0x800, IPT_AD_STICK_X ) PORT_MINMAX(0x000,0xfff) PORT_SENSITIVITY(70) PORT_KEYDELTA(10) PORT_PLAYER(2)
PORT_START("STICKY2")
PORT_BIT( 0xfff, 0x800, IPT_AD_STICK_Y ) PORT_MINMAX(0x000,0xfff) PORT_SENSITIVITY(70) PORT_KEYDELTA(10) PORT_REVERSE PORT_PLAYER(2)
-
- PORT_START("SERVICE")
- PORT_SERVICE_NO_TOGGLE( 0x1, IP_ACTIVE_LOW )
-
INPUT_PORTS_END
static void eeprom_handler(mame_file *file, int read_or_write)
diff --git a/src/mame/drivers/undrfire.c b/src/mame/drivers/undrfire.c
index c759743885c..077de8b4d31 100644
--- a/src/mame/drivers/undrfire.c
+++ b/src/mame/drivers/undrfire.c
@@ -285,19 +285,23 @@ static NVRAM_HANDLER( undrfire )
GAME INPUTS
**********************************************************/
+static CUSTOM_INPUT(frame_counter_r)
+{
+ return frame_counter;
+}
+
static READ32_HANDLER( undrfire_input_r )
{
switch (offset)
{
case 0x00:
{
- return (input_port_read(machine, "IN0") << 16) | input_port_read(machine, "IN1") |
- (eeprom_read_bit() << 7) | frame_counter;
+ return input_port_read(machine, "INPUTS");
}
case 0x01:
{
- return input_port_read(machine, "IN2") | (coin_word << 16);
+ return input_port_read(machine, "SYSTEM") | (coin_word << 16);
}
}
@@ -539,43 +543,42 @@ ADDRESS_MAP_END
***********************************************************/
static INPUT_PORTS_START( undrfire )
- PORT_START("IN0")
- 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_HIGH, IPT_BUTTON3 ) PORT_PLAYER(1) /* ? where is freeze input */
- 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_BUTTON1 ) PORT_PLAYER(2)
- PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
- 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_START("IN1")
- PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* Frame counter */
- 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_HIGH, IPT_SPECIAL ) /* reserved for EEROM */
- 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_START1 )
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_START2 )
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("IN2")
+ PORT_START("INPUTS")
+ PORT_BIT( 0x00000001, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(frame_counter_r, NULL) /* Frame counter */
+ PORT_BIT( 0x00000002, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x00000004, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x00000008, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x00000020, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x00000040, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x00000080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL) /* reserved for EEROM */
+ PORT_BIT( 0x00000100, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x00000200, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x00000400, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x00000800, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x00001000, IP_ACTIVE_LOW, IPT_START1 )
+ PORT_BIT( 0x00002000, IP_ACTIVE_LOW, IPT_START2 )
+ PORT_BIT( 0x00004000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x00008000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+
+ PORT_BIT( 0x00010000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x00020000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x00040000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x00080000, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(1) /* ? where is freeze input */
+ PORT_BIT( 0x00100000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
+ PORT_BIT( 0x00200000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
+ PORT_BIT( 0x00400000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
+ PORT_BIT( 0x00800000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
+ PORT_BIT( 0x01000000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x02000000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x04000000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x08000000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x10000000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x20000000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x40000000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x80000000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+
+ PORT_START("SYSTEM")
PORT_SERVICE_NO_TOGGLE(0x01, IP_ACTIVE_LOW)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
@@ -587,16 +590,16 @@ static INPUT_PORTS_START( undrfire )
/* Gun inputs (real range is 0-0xffff: we use standard 0-255 and shift later) */
- PORT_START("GUNX1") /* IN 3, P1X */
+ PORT_START("GUNX1")
PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, -1.0, 0.0, 0) PORT_SENSITIVITY(20) PORT_KEYDELTA(25) PORT_REVERSE PORT_PLAYER(1)
- PORT_START("GUNY1") /* IN 4, P1Y */
+ PORT_START("GUNY1")
PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_SENSITIVITY(20) PORT_KEYDELTA(25) PORT_PLAYER(1)
- PORT_START("GUNX2") /* IN 5, P2X */
+ PORT_START("GUNX2")
PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, -1.0, 0.0, 0) PORT_SENSITIVITY(20) PORT_KEYDELTA(25) PORT_REVERSE PORT_PLAYER(2)
- PORT_START("GUNY2") /* IN 6, P2Y */
+ PORT_START("GUNY2")
PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_SENSITIVITY(20) PORT_KEYDELTA(25) PORT_PLAYER(2)
PORT_START("FAKE")
@@ -608,43 +611,42 @@ INPUT_PORTS_END
static INPUT_PORTS_START( cbombers )
- PORT_START("IN0")
- 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_HIGH, IPT_BUTTON5 ) /* ? where is freeze input */
- 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_BUTTON4 ) PORT_NAME("Gear Shift") PORT_TOGGLE
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nitro")
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Accelerator")
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Brake")
- 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("IN1")
- PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* Frame counter */
- 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_HIGH, IPT_SPECIAL ) /* reserved for EEROM */
- 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_START1 )
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_START2 )
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("IN2")
+ PORT_START("INPUTS")
+ PORT_BIT( 0x00000001, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(frame_counter_r, NULL) /* Frame counter */
+ PORT_BIT( 0x00000002, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x00000004, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x00000008, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x00000020, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x00000040, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x00000080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL) /* reserved for EEROM */
+ PORT_BIT( 0x00000100, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x00000200, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x00000400, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x00000800, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x00001000, IP_ACTIVE_LOW, IPT_START1 )
+ PORT_BIT( 0x00002000, IP_ACTIVE_LOW, IPT_START2 )
+ PORT_BIT( 0x00004000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x00008000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+
+ PORT_BIT( 0x00010000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x00020000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x00040000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x00080000, IP_ACTIVE_HIGH, IPT_BUTTON5 ) /* ? where is freeze input */
+ PORT_BIT( 0x00100000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x00200000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x00400000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x00800000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x01000000, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Gear Shift") PORT_TOGGLE
+ PORT_BIT( 0x02000000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nitro")
+ PORT_BIT( 0x04000000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Accelerator")
+ PORT_BIT( 0x08000000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Brake")
+ PORT_BIT( 0x10000000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x20000000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x40000000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x80000000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+
+ PORT_START("SYSTEM")
PORT_SERVICE_NO_TOGGLE(0x01, IP_ACTIVE_LOW)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
diff --git a/src/mame/drivers/unico.c b/src/mame/drivers/unico.c
index 9c7fd05fa02..931b8232b9c 100644
--- a/src/mame/drivers/unico.c
+++ b/src/mame/drivers/unico.c
@@ -64,10 +64,10 @@ static WRITE16_HANDLER( burglarx_sound_bank_w )
static ADDRESS_MAP_START( readmem_burglarx, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_READ(SMH_ROM ) // ROM
AM_RANGE(0xff0000, 0xffffff) AM_READ(SMH_RAM ) // RAM
- AM_RANGE(0x800000, 0x800001) AM_READ(input_port_0_word_r ) // P1 + P2
- AM_RANGE(0x800018, 0x800019) AM_READ(input_port_1_word_r ) // Buttons
- AM_RANGE(0x80001a, 0x80001b) AM_READ(input_port_2_word_r ) // DSW
- AM_RANGE(0x80001c, 0x80001d) AM_READ(input_port_3_word_r ) // DSW
+ AM_RANGE(0x800000, 0x800001) AM_READ_PORT("INPUTS")
+ AM_RANGE(0x800018, 0x800019) AM_READ_PORT("SYSTEM")
+ AM_RANGE(0x80001a, 0x80001b) AM_READ_PORT("DSW1")
+ AM_RANGE(0x80001c, 0x80001d) AM_READ_PORT("DSW2")
AM_RANGE(0x800188, 0x800189) AM_READ(okim6295_status_0_lsb_r ) // Sound
AM_RANGE(0x80018c, 0x80018d) AM_READ(YM3812_status_port_0_msb_r ) //
/**/AM_RANGE(0x904000, 0x907fff) AM_READ(SMH_RAM ) // Layers
@@ -169,9 +169,9 @@ static READ16_HANDLER( unico_guny_1_msb_r )
static ADDRESS_MAP_START( readmem_zeropnt, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_READ(SMH_ROM ) // ROM
AM_RANGE(0xef0000, 0xefffff) AM_READ(SMH_RAM ) // RAM
- AM_RANGE(0x800018, 0x800019) AM_READ(input_port_0_word_r ) // Buttons
- AM_RANGE(0x80001a, 0x80001b) AM_READ(input_port_1_word_r ) // DSW
- AM_RANGE(0x80001c, 0x80001d) AM_READ(input_port_2_word_r ) // DSW
+ AM_RANGE(0x800018, 0x800019) AM_READ_PORT("INPUTS")
+ AM_RANGE(0x80001a, 0x80001b) AM_READ_PORT("DSW1")
+ AM_RANGE(0x80001c, 0x80001d) AM_READ_PORT("DSW2")
AM_RANGE(0x800170, 0x800171) AM_READ(unico_guny_0_msb_r ) // Light Guns
AM_RANGE(0x800174, 0x800175) AM_READ(unico_gunx_0_msb_r ) //
AM_RANGE(0x800178, 0x800179) AM_READ(unico_guny_1_msb_r ) //
@@ -214,11 +214,6 @@ ADDRESS_MAP_END
Zero Point 2
***************************************************************************/
-static READ32_HANDLER( zeropnt2_coins_r ) { return (input_port_read(machine, "IN0") << 16) | 0xffff; }
-static READ32_HANDLER( zeropnt2_dsw1_r ) { return (input_port_read(machine, "DSW1") << 16) | 0xffff; }
-static READ32_HANDLER( zeropnt2_dsw2_r ) { return (input_port_read(machine, "DSW2") << 16) | 0xffff; }
-static READ32_HANDLER( zeropnt2_buttons_r ) { return ((input_port_read(machine, "IN7") | ((eeprom_read_bit() & 0x01) << 7)) << 16) | 0xffff; }
-
static READ32_HANDLER( zeropnt2_gunx_0_msb_r ) { return (unico_gunx_0_msb_r(machine,0,0xffff)-0x0800) << 16; }
static READ32_HANDLER( zeropnt2_guny_0_msb_r ) { return (unico_guny_0_msb_r(machine,0,0xffff)+0x0800) << 16; }
static READ32_HANDLER( zeropnt2_gunx_1_msb_r ) { return (unico_gunx_1_msb_r(machine,0,0xffff)-0x0800) << 16; }
@@ -274,7 +269,7 @@ static WRITE32_HANDLER( zeropnt2_eeprom_w )
static ADDRESS_MAP_START( readmem_zeropnt2, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x000000, 0x1fffff) AM_READ(SMH_ROM ) // ROM
- AM_RANGE(0x800018, 0x80001b) AM_READ(zeropnt2_coins_r ) // Coins
+ AM_RANGE(0x800018, 0x80001b) AM_READ_PORT("SYSTEM")
AM_RANGE(0x800024, 0x800027) AM_READ(zeropnt2_oki0_r ) // Sound
AM_RANGE(0x80002c, 0x80002f) AM_READ(zeropnt2_ym2151_status_r ) //
AM_RANGE(0x800030, 0x800033) AM_READ(zeropnt2_oki1_r ) //
@@ -282,9 +277,9 @@ static ADDRESS_MAP_START( readmem_zeropnt2, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x800144, 0x800147) AM_READ(zeropnt2_gunx_0_msb_r ) //
AM_RANGE(0x800148, 0x80014b) AM_READ(zeropnt2_guny_1_msb_r ) //
AM_RANGE(0x80014c, 0x80014f) AM_READ(zeropnt2_gunx_1_msb_r ) //
- AM_RANGE(0x800150, 0x800153) AM_READ(zeropnt2_dsw1_r ) // DSW
- AM_RANGE(0x800154, 0x800157) AM_READ(zeropnt2_dsw2_r ) // DSW
- AM_RANGE(0x80015c, 0x80015f) AM_READ(zeropnt2_buttons_r ) // Buttons
+ AM_RANGE(0x800150, 0x800153) AM_READ_PORT("DSW1")
+ AM_RANGE(0x800154, 0x800157) AM_READ_PORT("DSW2")
+ AM_RANGE(0x80015c, 0x80015f) AM_READ_PORT("BUTTONS")
/**/AM_RANGE(0x904000, 0x907fff) AM_READ(SMH_RAM ) // Layers
/**/AM_RANGE(0x908000, 0x90bfff) AM_READ(SMH_RAM ) //
/**/AM_RANGE(0x90c000, 0x90ffff) AM_READ(SMH_RAM ) //
@@ -328,39 +323,38 @@ ADDRESS_MAP_END
***************************************************************************/
static INPUT_PORTS_START( burglarx )
-
- PORT_START("IN0") //$800000.w
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
- PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
- PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) 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_UNKNOWN )
-
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) 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_UNKNOWN )
-
- PORT_START("IN1") //$800019.b
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 )
- PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_SERVICE2 )
- 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( 0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("DSW1") //$80001a.b
- PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_START("INPUTS") /* $800000.w */
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) 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_UNKNOWN )
+
+ PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
+ PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
+ PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
+ PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) 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_UNKNOWN )
+
+ PORT_START("SYSTEM") /* $800019.b */
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 )
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_SERVICE2 )
+ 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( 0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
+
+ PORT_START("DSW1") /* $80001a.b */
+ PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_SERVICE( 0x0100, IP_ACTIVE_LOW )
PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Free_Play ) )
PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
@@ -384,8 +378,8 @@ static INPUT_PORTS_START( burglarx )
PORT_DIPSETTING( 0xa000, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x8000, DEF_STR( 1C_4C ) )
- PORT_START("DSW2") //$80001c.b
- PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_START("DSW2") /* $80001c.b */
+ PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Bonus_Life ) )
PORT_DIPSETTING( 0x0200, DEF_STR( None ) )
PORT_DIPSETTING( 0x0300, "A" )
@@ -407,7 +401,6 @@ static INPUT_PORTS_START( burglarx )
PORT_DIPSETTING( 0xc000, "3" )
PORT_DIPSETTING( 0x4000, "4" )
PORT_DIPSETTING( 0x0000, "5" )
-
INPUT_PORTS_END
@@ -417,29 +410,28 @@ INPUT_PORTS_END
***************************************************************************/
static INPUT_PORTS_START( zeropnt )
-
- PORT_START("IN0") //$800018.w
- PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_COIN1 )
- PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_COIN2 )
- PORT_SERVICE_NO_TOGGLE( 0x0004, IP_ACTIVE_HIGH)
- PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_START1 )
- PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_START2 )
- PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_SERVICE1 )
-
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
- 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_START("DSW1") //$80001a.b
- PORT_BIT( 0x00ff, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_START("INPUTS") /* $800018.w */
+ PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_COIN1 )
+ PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_COIN2 )
+ PORT_SERVICE_NO_TOGGLE( 0x0004, IP_ACTIVE_HIGH )
+ PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_START1 )
+ PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_START2 )
+ PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_SERVICE1 )
+
+ PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
+ PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
+ 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_START("DSW1") /* $80001a.b */
+ PORT_BIT( 0x00ff, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_DIPNAME( 0x0100, 0x0000, DEF_STR( Unused ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0100, DEF_STR( On ) )
@@ -465,8 +457,8 @@ static INPUT_PORTS_START( zeropnt )
PORT_DIPSETTING( 0x4000, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x6000, DEF_STR( 1C_4C ) )
- PORT_START("DSW2") //$80001c.b
- PORT_BIT( 0x00ff, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_START("DSW2") /* $80001c.b */
+ PORT_BIT( 0x00ff, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_DIPNAME( 0x0100, 0x0000, DEF_STR( Unused ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0100, DEF_STR( On ) )
@@ -489,18 +481,17 @@ static INPUT_PORTS_START( zeropnt )
PORT_DIPSETTING( 0x8000, "4" )
PORT_DIPSETTING( 0xc000, "5" )
- PORT_START("Y0") //$800170.b
+ PORT_START("Y0") /* $800170.b */
PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_SENSITIVITY(35) PORT_KEYDELTA(15) PORT_PLAYER(2)
- PORT_START("X0") //$800174.b
+ PORT_START("X0") /* $800174.b */
PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_SENSITIVITY(35) PORT_KEYDELTA(15) PORT_PLAYER(2)
- PORT_START("Y1") //$800178.b
+ PORT_START("Y1") /* $800178.b */
PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_SENSITIVITY(35) PORT_KEYDELTA(15) PORT_PLAYER(1)
- PORT_START("X1") //$80017c.b
+ PORT_START("X1") /* $80017c.b */
PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_SENSITIVITY(35) PORT_KEYDELTA(15) PORT_PLAYER(1)
-
INPUT_PORTS_END
@@ -510,91 +501,95 @@ INPUT_PORTS_END
***************************************************************************/
static INPUT_PORTS_START( zeropnt2 )
- PORT_START("IN0") //$800019.b
- PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_COIN1 )
- PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_COIN2 )
- PORT_SERVICE_NO_TOGGLE( 0x0004, IP_ACTIVE_HIGH)
- PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_START1 )
- PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_START2 )
- PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_SERVICE1 )
- PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_UNKNOWN )
-
- PORT_START("DSW1") //$80001a.b
- PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Free_Play ) )
- PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0200, 0x0200, "? Coins To Continue ?" )
- PORT_DIPSETTING( 0x0000, "1" )
- PORT_DIPSETTING( 0x0200, "2" )
- PORT_DIPNAME( 0x0c00, 0x0c00, "Gun Reloading" )
- PORT_DIPSETTING( 0x0800, DEF_STR(No) )
- PORT_DIPSETTING( 0x0400, DEF_STR(Yes) )
- PORT_DIPSETTING( 0x0c00, "Factory Setting" )
-// PORT_DIPSETTING( 0x0000, "unused?" )
- PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Language ) )
- PORT_DIPSETTING( 0x1000, DEF_STR( English ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( Japanese ) )
- PORT_DIPNAME( 0xe000, 0xe000, DEF_STR( Coinage ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) )
- PORT_DIPSETTING( 0x2000, DEF_STR( 4C_1C ) )
- PORT_DIPSETTING( 0x4000, DEF_STR( 3C_1C ) )
- PORT_DIPSETTING( 0x6000, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0xe000, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0xc000, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0xa000, DEF_STR( 1C_3C ) )
- PORT_DIPSETTING( 0x8000, DEF_STR( 1C_4C ) )
-
- PORT_START("DSW2") //$80001c.b
- PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_DIPNAME( 0x0100, 0x0100, "Korean Language" )
- PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0200, 0x0000, DEF_STR( Demo_Sounds ) )
- PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x1c00, 0x1c00, DEF_STR( Lives ) )
- PORT_DIPSETTING( 0x1000, "2" )
- PORT_DIPSETTING( 0x0c00, "3" )
- PORT_DIPSETTING( 0x1c00, "4" )
- PORT_DIPSETTING( 0x1800, "5" )
- PORT_DIPSETTING( 0x1400, "6" )
-// PORT_DIPSETTING( 0x0800, "4" )
-// PORT_DIPSETTING( 0x0400, "4" )
-// PORT_DIPSETTING( 0x0000, "4" )
- PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0xc000, 0xc000, DEF_STR( Difficulty ) )
- PORT_DIPSETTING( 0x8000, DEF_STR( Easy ) )
- PORT_DIPSETTING( 0xc000, DEF_STR( Normal ) )
- PORT_DIPSETTING( 0x4000, DEF_STR( Harder ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
-
- PORT_START("Y0") //$800140.b
+ PORT_START("SYSTEM") /* $800019.b */
+ PORT_BIT( 0x0000ffff, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x00010000, IP_ACTIVE_HIGH, IPT_COIN1 )
+ PORT_BIT( 0x00020000, IP_ACTIVE_HIGH, IPT_COIN2 )
+ PORT_SERVICE_NO_TOGGLE( 0x00040000, IP_ACTIVE_HIGH )
+ PORT_BIT( 0x00080000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x00100000, IP_ACTIVE_HIGH, IPT_START1 )
+ PORT_BIT( 0x00200000, IP_ACTIVE_HIGH, IPT_START2 )
+ PORT_BIT( 0x00400000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x00800000, IP_ACTIVE_HIGH, IPT_SERVICE1 )
+ PORT_BIT( 0xff000000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+
+ PORT_START("DSW1") /* $80001a.b */
+ PORT_BIT( 0x0000ffff, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x00ff0000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_DIPNAME( 0x01000000, 0x01000000, DEF_STR( Free_Play ) )
+ PORT_DIPSETTING( 0x01000000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02000000, 0x02000000, "? Coins To Continue ?" )
+ PORT_DIPSETTING( 0x00000000, "1" )
+ PORT_DIPSETTING( 0x02000000, "2" )
+ PORT_DIPNAME( 0x0c000000, 0x0c000000, "Gun Reloading" )
+ PORT_DIPSETTING( 0x08000000, DEF_STR(No) )
+ PORT_DIPSETTING( 0x04000000, DEF_STR(Yes) )
+ PORT_DIPSETTING( 0x0c000000, "Factory Setting" )
+// PORT_DIPSETTING( 0x00000000, "unused?" )
+ PORT_DIPNAME( 0x10000000, 0x10000000, DEF_STR( Language ) )
+ PORT_DIPSETTING( 0x10000000, DEF_STR( English ) )
+ PORT_DIPSETTING( 0x00000000, DEF_STR( Japanese ) )
+ PORT_DIPNAME( 0xe0000000, 0xe0000000, DEF_STR( Coinage ) )
+ PORT_DIPSETTING( 0x00000000, DEF_STR( 5C_1C ) )
+ PORT_DIPSETTING( 0x20000000, DEF_STR( 4C_1C ) )
+ PORT_DIPSETTING( 0x40000000, DEF_STR( 3C_1C ) )
+ PORT_DIPSETTING( 0x60000000, DEF_STR( 2C_1C ) )
+ PORT_DIPSETTING( 0xe0000000, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0xc0000000, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0xa0000000, DEF_STR( 1C_3C ) )
+ PORT_DIPSETTING( 0x80000000, DEF_STR( 1C_4C ) )
+
+ PORT_START("DSW2") /* $80001c.b */
+ PORT_BIT( 0x0000ffff, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x00ff0000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_DIPNAME( 0x01000000, 0x01000000, "Korean Language" )
+ PORT_DIPSETTING( 0x01000000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02000000, 0x00000000, DEF_STR( Demo_Sounds ) )
+ PORT_DIPSETTING( 0x02000000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x1c000000, 0x1c000000, DEF_STR( Lives ) )
+ PORT_DIPSETTING( 0x10000000, "2" )
+ PORT_DIPSETTING( 0x0c000000, "3" )
+ PORT_DIPSETTING( 0x1c000000, "4" )
+ PORT_DIPSETTING( 0x18000000, "5" )
+ PORT_DIPSETTING( 0x14000000, "6" )
+// PORT_DIPSETTING( 0x08000000, "4" )
+// PORT_DIPSETTING( 0x04000000, "4" )
+// PORT_DIPSETTING( 0x00000000, "4" )
+ PORT_DIPNAME( 0x20000000, 0x20000000, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x20000000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
+ PORT_DIPNAME( 0xc0000000, 0xc0000000, DEF_STR( Difficulty ) )
+ PORT_DIPSETTING( 0x80000000, DEF_STR( Easy ) )
+ PORT_DIPSETTING( 0xc0000000, DEF_STR( Normal ) )
+ PORT_DIPSETTING( 0x40000000, DEF_STR( Harder ) )
+ PORT_DIPSETTING( 0x00000000, DEF_STR( Hardest ) )
+
+ PORT_START("BUTTONS") /* $80015c.b */
+ PORT_BIT( 0x0000ffff, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x00ff0000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x01000000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
+ PORT_BIT( 0x02000000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
+ PORT_BIT( 0x04000000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x08000000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x10000000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x20000000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x40000000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x80000000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL) // EEPROM
+
+ PORT_START("Y0") /* $800140.b */
PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_SENSITIVITY(35) PORT_KEYDELTA(15) PORT_PLAYER(2)
- PORT_START("X0") //$800144.b
+ PORT_START("X0") /* $800144.b */
PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_SENSITIVITY(35) PORT_KEYDELTA(15) PORT_PLAYER(2)
- PORT_START("Y1") //$800148.b
+ PORT_START("Y1") /* $800148.b */
PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_SENSITIVITY(35) PORT_KEYDELTA(15) PORT_PLAYER(1)
- PORT_START("X1") //$80014c.b
+ PORT_START("X1") /* $80014c.b */
PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_SENSITIVITY(35) PORT_KEYDELTA(15) PORT_PLAYER(1)
-
- PORT_START("IN7") //$80015c.b
- PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
- 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_HIGH, IPT_SPECIAL ) // EEPROM
INPUT_PORTS_END
@@ -1135,4 +1130,3 @@ GAME( 1997, burglarx, 0, burglarx, burglarx, 0, ROT0, "Unico", "Burglar X"
GAME( 1998, zeropnt, 0, zeropnt, zeropnt, 0, ROT0, "Unico", "Zero Point (set 1)", 0 )
GAME( 1998, zeropnta, zeropnt, zeropnt, zeropnt, 0, ROT0, "Unico", "Zero Point (set 2)", 0 )
GAME( 1999, zeropnt2, 0, zeropnt2, zeropnt2, 0, ROT0, "Unico", "Zero Point 2", 0 )
-
diff --git a/src/mame/drivers/usgames.c b/src/mame/drivers/usgames.c
index e2197357703..4cc427651bb 100644
--- a/src/mame/drivers/usgames.c
+++ b/src/mame/drivers/usgames.c
@@ -70,15 +70,15 @@ static WRITE8_HANDLER( lamps2_w )
static ADDRESS_MAP_START( usgames_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x1fff) AM_RAM AM_BASE(&generic_nvram) AM_SIZE(&generic_nvram_size)
- AM_RANGE(0x2000, 0x2000) AM_READ(input_port_1_r)
- AM_RANGE(0x2010, 0x2010) AM_READ(input_port_0_r)
+ AM_RANGE(0x2000, 0x2000) AM_READ_PORT("DSW")
+ AM_RANGE(0x2010, 0x2010) AM_READ_PORT("INPUTS")
AM_RANGE(0x2020, 0x2020) AM_WRITE(lamps1_w)
AM_RANGE(0x2030, 0x2030) AM_WRITE(lamps2_w)
AM_RANGE(0x2040, 0x2040) AM_DEVWRITE(MC6845, "crtc", mc6845_address_w)
- AM_RANGE(0x2041, 0x2041) AM_READ(input_port_2_r)
+ AM_RANGE(0x2041, 0x2041) AM_READ_PORT("UNK1")
AM_RANGE(0x2041, 0x2041) AM_DEVWRITE(MC6845, "crtc", mc6845_register_w)
AM_RANGE(0x2060, 0x2060) AM_WRITE(usgames_rombank_w)
- AM_RANGE(0x2070, 0x2070) AM_READ(input_port_3_r)
+ AM_RANGE(0x2070, 0x2070) AM_READ_PORT("UNK2")
AM_RANGE(0x2400, 0x2400) AM_WRITE(ay8910_control_port_0_w)
AM_RANGE(0x2401, 0x2401) AM_WRITE(ay8910_write_port_0_w)
AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE(usgames_charram_w) AM_BASE(&usgames_charram)
@@ -92,100 +92,42 @@ static ADDRESS_MAP_START( usg185_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x1fff) AM_RAM AM_BASE(&generic_nvram) AM_SIZE(&generic_nvram_size)
AM_RANGE(0x2000, 0x2000) AM_WRITE(ay8910_control_port_0_w)
AM_RANGE(0x2001, 0x2001) AM_WRITE(ay8910_write_port_0_w)
- AM_RANGE(0x2400, 0x2400) AM_READ(input_port_1_r)
- AM_RANGE(0x2410, 0x2410) AM_READ(input_port_0_r)
+ AM_RANGE(0x2400, 0x2400) AM_READ_PORT("DSW")
+ AM_RANGE(0x2410, 0x2410) AM_READ_PORT("INPUTS")
AM_RANGE(0x2420, 0x2420) AM_WRITE(lamps1_w)
AM_RANGE(0x2430, 0x2430) AM_WRITE(lamps2_w)
AM_RANGE(0x2440, 0x2440) AM_DEVWRITE(MC6845, "crtc", mc6845_address_w)
- AM_RANGE(0x2441, 0x2441) AM_READ(input_port_2_r)
+ AM_RANGE(0x2441, 0x2441) AM_READ_PORT("UNK1")
AM_RANGE(0x2441, 0x2441) AM_DEVWRITE(MC6845, "crtc", mc6845_register_w)
AM_RANGE(0x2460, 0x2460) AM_WRITE(usgames_rombank_w)
- AM_RANGE(0x2470, 0x2470) AM_READ(input_port_3_r)
+ AM_RANGE(0x2470, 0x2470) AM_READ_PORT("UNK2")
AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE(usgames_charram_w) AM_BASE(&usgames_charram)
AM_RANGE(0x3000, 0x3fff) AM_RAM_WRITE(usgames_videoram_w) AM_BASE(&usgames_videoram)
AM_RANGE(0x4000, 0x7fff) AM_READWRITE(SMH_BANK1, SMH_ROM)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-#define USGIN0\
- PORT_START("IN0")\
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Button 1") PORT_CODE(KEYCODE_Z)\
- PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Button 2") PORT_CODE(KEYCODE_X)\
- PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Button 3") PORT_CODE(KEYCODE_C)\
- PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Button 4") PORT_CODE(KEYCODE_V)\
- PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Button 5") PORT_CODE(KEYCODE_B)\
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )\
- PORT_DIPSETTING( 0x20, DEF_STR( Off ) )\
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )\
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 )\
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )\
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )\
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
-#define USGIN2 \
- PORT_START("IN2")\
- PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )\
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )\
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )\
- PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )\
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )\
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )\
- PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )\
- PORT_DIPSETTING( 0x04, DEF_STR( Off ) )\
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )\
- PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )\
- PORT_DIPSETTING( 0x08, DEF_STR( Off ) )\
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )\
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )\
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )\
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )\
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )\
- PORT_DIPSETTING( 0x20, DEF_STR( Off ) )\
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )\
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )\
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )\
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )\
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )\
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )\
+static INPUT_PORTS_START( usg32 )
+ PORT_START("INPUTS")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Button 1") PORT_CODE(KEYCODE_Z)
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Button 2") PORT_CODE(KEYCODE_X)
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Button 3") PORT_CODE(KEYCODE_C)
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Button 4") PORT_CODE(KEYCODE_V)
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Button 5") PORT_CODE(KEYCODE_B)
+ PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
-
-#define USGIN3\
- PORT_START("IN3")\
- PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )\
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )\
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )\
- PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )\
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )\
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )\
- PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )\
- PORT_DIPSETTING( 0x04, DEF_STR( Off ) )\
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )\
- PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )\
- PORT_DIPSETTING( 0x08, DEF_STR( Off ) )\
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )\
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )\
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )\
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )\
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )\
- PORT_DIPSETTING( 0x20, DEF_STR( Off ) )\
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )\
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )\
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )\
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )\
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )\
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )\
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 )
+ PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
-
-static INPUT_PORTS_START( usg32 )
-
- USGIN0
-
PORT_START("DSW")
- PORT_DIPNAME( 0x01, 0x01, "Service Keyboard Attached?" ) //Not actually a DIP, when keyboard is plugged in, this goes low
+ PORT_DIPNAME( 0x01, 0x01, "Service Keyboard Attached?" ) // Not actually a DIP, when keyboard is plugged in, this goes low
PORT_DIPSETTING( 0x01, DEF_STR( No ) )
PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- PORT_SERVICE_NO_TOGGLE(0x02, IP_ACTIVE_HIGH)
+ PORT_SERVICE_NO_TOGGLE( 0x02, IP_ACTIVE_HIGH )
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@@ -201,41 +143,67 @@ static INPUT_PORTS_START( usg32 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SPECIAL ) // +12 Volts?
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_VBLANK )
-
- USGIN2
-
- USGIN3
-INPUT_PORTS_END
-
-
-static INPUT_PORTS_START( usg83 ) //From here, the hardware was slightly upgraded, but not too different.
-
- USGIN0
-
- PORT_START("DSW")
- PORT_DIPNAME( 0x01, 0x01, "Service Keyboard Attached?" ) //Not actually a DIP, when keyboard is plugged in, this goes low
- PORT_DIPSETTING( 0x01, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- PORT_SERVICE_NO_TOGGLE(0x02, IP_ACTIVE_HIGH)
- PORT_DIPNAME( 0x04, 0x04, "Test_Switch" )
+ PORT_START("UNK1")
+ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x10, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
+ PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SPECIAL ) // +12 Volts?
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_VBLANK )
+ PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- USGIN2
+ PORT_START("UNK2")
+ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+INPUT_PORTS_END
- USGIN3
+/* From here, the hardware was slightly upgraded, but not too different. */
+static INPUT_PORTS_START( usg83 )
+ PORT_INCLUDE( usg32 )
+ PORT_MODIFY("DSW")
+ PORT_DIPNAME( 0x04, 0x04, "Test_Switch" )
+ PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
INPUT_PORTS_END
diff --git a/src/mame/drivers/vamphalf.c b/src/mame/drivers/vamphalf.c
index 17186dc1ed9..9b5d49d5787 100644
--- a/src/mame/drivers/vamphalf.c
+++ b/src/mame/drivers/vamphalf.c
@@ -200,16 +200,6 @@ F94B
semicom_prot_idx = 8;
}
-static READ32_HANDLER( finalgdr_input0_r )
-{
- return input_port_read(machine, "P1_P2") << 16;
-}
-
-static READ32_HANDLER( finalgdr_input1_r )
-{
- return input_port_read(machine, "SYSTEM") << 16;
-}
-
static WRITE32_HANDLER( finalgdr_oki_bank_w )
{
okim6295_set_bank_base(0, 0x40000 * ((data & 0x300) >> 8));
@@ -318,9 +308,9 @@ static ADDRESS_MAP_START( finalgdr_io, ADDRESS_SPACE_IO, 32 )
AM_RANGE(0x2c00, 0x2dff) AM_READWRITE(finalgdr_backupram_r, finalgdr_backupram_w)
AM_RANGE(0x3000, 0x3003) AM_WRITE(ym2151_register32_w)
AM_RANGE(0x3004, 0x3007) AM_READWRITE(ym2151_status32_r, ym2151_data32_w)
- AM_RANGE(0x3800, 0x3803) AM_READ(finalgdr_input0_r)
+ AM_RANGE(0x3800, 0x3803) AM_READ_PORT("P1_P2")
AM_RANGE(0x3400, 0x3403) AM_READWRITE(oki32_r, oki32_w)
- AM_RANGE(0x3c00, 0x3c03) AM_READ(finalgdr_input1_r)
+ AM_RANGE(0x3c00, 0x3c03) AM_READ_PORT("SYSTEM")
AM_RANGE(0x4400, 0x4403) AM_READ(eeprom32_r)
AM_RANGE(0x6000, 0x6003) AM_READNOP //?
AM_RANGE(0x6000, 0x6003) AM_WRITE(finalgdr_eeprom_w)
@@ -436,17 +426,17 @@ static VIDEO_UPDATE( common )
static INPUT_PORTS_START( common )
PORT_START("P1_P2")
- 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( 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_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( 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)
@@ -466,19 +456,33 @@ static INPUT_PORTS_START( common )
INPUT_PORTS_END
static INPUT_PORTS_START( finalgdr )
- PORT_INCLUDE( common )
-
- PORT_MODIFY("P1_P2")
- PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START2 )
-
- PORT_MODIFY("SYSTEM")
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
- 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( 0x0040, IP_ACTIVE_LOW, IPT_SERVICE1 )
- PORT_SERVICE_NO_TOGGLE( 0x0080, IP_ACTIVE_LOW )
+ PORT_START("P1_P2")
+ PORT_BIT( 0x00010000, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
+ PORT_BIT( 0x00020000, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
+ PORT_BIT( 0x00040000, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
+ PORT_BIT( 0x00080000, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
+ PORT_BIT( 0x00100000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
+ PORT_BIT( 0x00200000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
+ PORT_BIT( 0x00400000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
+ PORT_BIT( 0x00800000, IP_ACTIVE_LOW, IPT_START1 )
+ PORT_BIT( 0x01000000, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
+ PORT_BIT( 0x02000000, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
+ PORT_BIT( 0x04000000, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
+ PORT_BIT( 0x08000000, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
+ PORT_BIT( 0x10000000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
+ PORT_BIT( 0x20000000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
+ PORT_BIT( 0x40000000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
+ PORT_BIT( 0x80000000, IP_ACTIVE_LOW, IPT_START2 )
+
+ PORT_START("SYSTEM")
+ PORT_BIT( 0x00010000, IP_ACTIVE_LOW, IPT_COIN1 )
+ PORT_BIT( 0x00020000, IP_ACTIVE_LOW, IPT_COIN2 )
+ PORT_BIT( 0x00040000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x00080000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x00100000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x00200000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x00400000, IP_ACTIVE_LOW, IPT_SERVICE1 )
+ PORT_SERVICE_NO_TOGGLE( 0x00800000, IP_ACTIVE_LOW )
INPUT_PORTS_END
diff --git a/src/mame/drivers/vaportra.c b/src/mame/drivers/vaportra.c
index 75c759e4167..95ca83dd3ec 100644
--- a/src/mame/drivers/vaportra.c
+++ b/src/mame/drivers/vaportra.c
@@ -36,12 +36,12 @@ static READ16_HANDLER( vaportra_control_r )
{
switch (offset<<1)
{
- case 4: /* Dip Switches */
- return (input_port_read(machine, "DSW2") + (input_port_read(machine, "DSW1") << 8));
- case 2: /* Credits */
+ case 4:
+ return input_port_read(machine, "DSW");
+ case 2:
return input_port_read(machine, "COINS");
- case 0: /* Player 1 & Player 2 joysticks & fire buttons */
- return (input_port_read(machine, "P1") + (input_port_read(machine, "P2") << 8));
+ case 0:
+ return input_port_read(machine, "PLAYERS");
}
logerror("Unknown control read at %d\n",offset);
@@ -117,82 +117,79 @@ ADDRESS_MAP_END
/******************************************************************************/
static INPUT_PORTS_START( vaportra )
- PORT_START("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_UNUSED )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
-
- PORT_START("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_UNUSED )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
-
- PORT_START("COINS") /* Credits */
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK )
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("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_SERVICE( 0x80, IP_ACTIVE_LOW )
-
- PORT_START("DSW2") /* Dip switch bank 2 */
- PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )
- PORT_DIPSETTING( 0x00, "2" )
- PORT_DIPSETTING( 0x03, "3" )
- PORT_DIPSETTING( 0x02, "4" )
- PORT_DIPSETTING( 0x01, "5" )
- PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Difficulty ) )
- PORT_DIPSETTING( 0x08, DEF_STR( Easy ) )
- PORT_DIPSETTING( 0x0c, DEF_STR( Normal ) )
- PORT_DIPSETTING( 0x04, DEF_STR( Hard ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
- PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) )
- PORT_DIPSETTING( 0x20, "150k, 300k and 600k" )
- PORT_DIPSETTING( 0x30, "200k and 600k" )
- PORT_DIPSETTING( 0x10, "300k only" )
- PORT_DIPSETTING( 0x00, DEF_STR( None ) )
- 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("PLAYERS")
+ 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_UNUSED )
+ 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_UNUSED )
+ PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START2 )
+
+ PORT_START("COINS")
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_COIN3 )
+ PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_VBLANK )
+ 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_START("DSW")
+ PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Lives ) )
+ PORT_DIPSETTING( 0x0000, "2" )
+ PORT_DIPSETTING( 0x0003, "3" )
+ PORT_DIPSETTING( 0x0002, "4" )
+ PORT_DIPSETTING( 0x0001, "5" )
+ PORT_DIPNAME( 0x000c, 0x000c, DEF_STR( Difficulty ) )
+ PORT_DIPSETTING( 0x0008, DEF_STR( Easy ) )
+ PORT_DIPSETTING( 0x000c, DEF_STR( Normal ) )
+ PORT_DIPSETTING( 0x0004, DEF_STR( Hard ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
+ PORT_DIPNAME( 0x0030, 0x0030, DEF_STR( Bonus_Life ) )
+ PORT_DIPSETTING( 0x0020, "150k, 300k and 600k" )
+ PORT_DIPSETTING( 0x0030, "200k and 600k" )
+ PORT_DIPSETTING( 0x0010, "300k only" )
+ PORT_DIPSETTING( 0x0000, DEF_STR( None ) )
+ PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Allow_Continue ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( No ) )
+ PORT_DIPSETTING( 0x0040, DEF_STR( Yes ) )
+ PORT_DIPNAME( 0x0080, 0x0000, DEF_STR( Demo_Sounds ) )
+ PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+
+ PORT_DIPNAME( 0x0700, 0x0700, DEF_STR( Coin_A ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( 3C_1C ) )
+ PORT_DIPSETTING( 0x0100, DEF_STR( 2C_1C ) )
+ PORT_DIPSETTING( 0x0700, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x0600, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0x0500, DEF_STR( 1C_3C ) )
+ PORT_DIPSETTING( 0x0400, DEF_STR( 1C_4C ) )
+ PORT_DIPSETTING( 0x0300, DEF_STR( 1C_5C ) )
+ PORT_DIPSETTING( 0x0200, DEF_STR( 1C_6C ) )
+ PORT_DIPNAME( 0x3800, 0x3800, DEF_STR( Coin_B ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( 3C_1C ) )
+ PORT_DIPSETTING( 0x0800, DEF_STR( 2C_1C ) )
+ PORT_DIPSETTING( 0x3800, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x3000, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0x2800, DEF_STR( 1C_3C ) )
+ PORT_DIPSETTING( 0x2000, DEF_STR( 1C_4C ) )
+ PORT_DIPSETTING( 0x1800, DEF_STR( 1C_5C ) )
+ PORT_DIPSETTING( 0x1000, DEF_STR( 1C_6C ) )
+ PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Flip_Screen ) )
+ PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_SERVICE( 0x8000, IP_ACTIVE_LOW )
INPUT_PORTS_END
/******************************************************************************/
diff --git a/src/mame/drivers/vastar.c b/src/mame/drivers/vastar.c
index 607670e4293..9a63c05b365 100644
--- a/src/mame/drivers/vastar.c
+++ b/src/mame/drivers/vastar.c
@@ -145,9 +145,9 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( cpu2_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x4000, 0x40ff) AM_READWRITE(vastar_sharedram_r, vastar_sharedram_w)
- AM_RANGE(0x8000, 0x8000) AM_READ(input_port_1_r)
- AM_RANGE(0x8040, 0x8040) AM_READ(input_port_0_r)
- AM_RANGE(0x8080, 0x8080) AM_READ(input_port_2_r)
+ AM_RANGE(0x8000, 0x8000) AM_READ_PORT("P2")
+ AM_RANGE(0x8040, 0x8040) AM_READ_PORT("P1")
+ AM_RANGE(0x8080, 0x8080) AM_READ_PORT("SYSTEM")
ADDRESS_MAP_END
static ADDRESS_MAP_START( cpu2_port_map, ADDRESS_SPACE_IO, 8 )
@@ -159,7 +159,7 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( vastar )
- PORT_START("IN0")
+ PORT_START("P1")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY
@@ -169,7 +169,7 @@ static INPUT_PORTS_START( vastar )
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_START("IN1")
+ PORT_START("P2")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
@@ -179,7 +179,7 @@ static INPUT_PORTS_START( vastar )
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_START("IN2")
+ PORT_START("SYSTEM")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN3 )
@@ -189,7 +189,7 @@ static INPUT_PORTS_START( vastar )
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_START("DSW0")
+ PORT_START("DSW1")
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x03, "3" )
PORT_DIPSETTING( 0x02, "4" )
@@ -214,7 +214,7 @@ static INPUT_PORTS_START( vastar )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_START("DSW1")
+ PORT_START("DSW2")
PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coin_A ) )
PORT_DIPSETTING( 0x02, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x01, DEF_STR( 3C_2C ) )
diff --git a/src/mame/drivers/vball.c b/src/mame/drivers/vball.c
index 30be15d77d9..620d0cdf365 100644
--- a/src/mame/drivers/vball.c
+++ b/src/mame/drivers/vball.c
@@ -168,24 +168,24 @@ static WRITE8_HANDLER( vb_scrollx_hi_w )
static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0fff) AM_READ(SMH_RAM)
- AM_RANGE(0x1000, 0x1000) AM_READ(input_port_0_r)
- AM_RANGE(0x1001, 0x1001) AM_READ(input_port_1_r)
- AM_RANGE(0x1002, 0x1002) AM_READ(input_port_2_r)
- AM_RANGE(0x1003, 0x1003) AM_READ(input_port_3_r)
- AM_RANGE(0x1004, 0x1004) AM_READ(input_port_4_r)
- AM_RANGE(0x1005, 0x1005) AM_READ(input_port_5_r)
- AM_RANGE(0x1006, 0x1006) AM_READ(input_port_6_r)
+ AM_RANGE(0x1000, 0x1000) AM_READ_PORT("P1")
+ AM_RANGE(0x1001, 0x1001) AM_READ_PORT("P2")
+ AM_RANGE(0x1002, 0x1002) AM_READ_PORT("SYSTEM")
+ AM_RANGE(0x1003, 0x1003) AM_READ_PORT("DSW1")
+ AM_RANGE(0x1004, 0x1004) AM_READ_PORT("DSW2")
+ AM_RANGE(0x1005, 0x1005) AM_READ_PORT("P3")
+ AM_RANGE(0x1006, 0x1006) AM_READ_PORT("P4")
AM_RANGE(0x4000, 0x7fff) AM_READ(SMH_BANK1)
AM_RANGE(0x8000, 0xffff) AM_READ(SMH_ROM)
ADDRESS_MAP_END
static ADDRESS_MAP_START( vball2pj_readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0fff) AM_READ(SMH_RAM)
- AM_RANGE(0x1000, 0x1000) AM_READ(input_port_0_r)
- AM_RANGE(0x1001, 0x1001) AM_READ(input_port_1_r)
- AM_RANGE(0x1002, 0x1002) AM_READ(input_port_2_r)
- AM_RANGE(0x1003, 0x1003) AM_READ(input_port_3_r)
- AM_RANGE(0x1004, 0x1004) AM_READ(input_port_4_r)
+ AM_RANGE(0x1000, 0x1000) AM_READ_PORT("P1")
+ AM_RANGE(0x1001, 0x1001) AM_READ_PORT("P2")
+ AM_RANGE(0x1002, 0x1002) AM_READ_PORT("SYSTEM")
+ AM_RANGE(0x1003, 0x1003) AM_READ_PORT("DSW1")
+ AM_RANGE(0x1004, 0x1004) AM_READ_PORT("DSW2")
AM_RANGE(0x1005, 0x1005) AM_READ(SMH_RAM) //Strange, that these are read!
AM_RANGE(0x1006, 0x1006) AM_READ(SMH_RAM) //Strange, that these are read!
AM_RANGE(0x4000, 0x7fff) AM_READ(SMH_BANK1)
@@ -230,93 +230,95 @@ static ADDRESS_MAP_START( sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x9800, 0x9803) AM_WRITE(okim6295_data_0_w)
ADDRESS_MAP_END
-#define COMMON_PORTS_BEFORE \
- PORT_START("P1") \
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1) \
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1) \
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1) \
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1) \
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) \
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) \
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) \
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) \
- PORT_START("P2") \
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2) \
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) \
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) \
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) 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_UNKNOWN ) \
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 ) \
- PORT_START("SYSTEM") \
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) \
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) \
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) \
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK ) \
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED ) \
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED ) \
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) \
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) \
-
-#define COMMON_PORTS_COINS \
- PORT_START("DSW2") \
- PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coin_A )) \
- PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C )) \
- PORT_DIPSETTING( 0x01, DEF_STR( 3C_1C )) \
- PORT_DIPSETTING( 0x02, 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_DIPNAME( 0x38, 0x38, DEF_STR( Coin_B )) \
- PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C )) \
- PORT_DIPSETTING( 0x08, DEF_STR( 3C_1C )) \
- PORT_DIPSETTING( 0x10, 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_DIPNAME( 0x40, 0x00, DEF_STR( Flip_Screen )) \
- PORT_DIPSETTING( 0x00, DEF_STR( Off )) \
- PORT_DIPSETTING( 0x40, DEF_STR( On )) \
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Demo_Sounds )) \
- PORT_DIPSETTING( 0x00, DEF_STR( Off )) \
- PORT_DIPSETTING( 0x80, DEF_STR( On )) \
-
-static INPUT_PORTS_START (vball)
- COMMON_PORTS_BEFORE
+
+static INPUT_PORTS_START( common )
+ PORT_START("P1")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
+
+ PORT_START("P2")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) 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_UNKNOWN )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
+
+ PORT_START("SYSTEM")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_START("DSW2")
+ PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coin_A ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( 3C_1C ) )
+ PORT_DIPSETTING( 0x02, 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_DIPNAME( 0x38, 0x38, DEF_STR( Coin_B ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( 3C_1C ) )
+ PORT_DIPSETTING( 0x10, 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_DIPNAME( 0x40, 0x00, DEF_STR( Flip_Screen ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x40, DEF_STR( On ) )
+ PORT_DIPNAME( 0x80, 0x80, DEF_STR( Demo_Sounds ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x80, DEF_STR( On ) )
+INPUT_PORTS_END
+
+static INPUT_PORTS_START( vball )
+ PORT_INCLUDE( common )
+
/* The dipswitch instructions in naz's dump (vball) don't quite sync here) */
/* Looks like the pins from the dips to the board were mixed up a little. */
PORT_START("DSW1")
- PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ))
+ PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
// I've adjusted these to what I think is correct from gameplay testing - SJE - 03/28/03
- PORT_DIPSETTING( 0x02, DEF_STR( Easy ))
- PORT_DIPSETTING( 0x03, DEF_STR( Medium ))
- PORT_DIPSETTING( 0x01, DEF_STR( Hard ))
- PORT_DIPSETTING( 0x00, DEF_STR( Very_Hard ))
+ PORT_DIPSETTING( 0x02, DEF_STR( Easy ) )
+ PORT_DIPSETTING( 0x03, DEF_STR( Medium ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( Hard ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Very_Hard ) )
PORT_DIPNAME( 0x0c, 0x00, "Single Player Game Time")
PORT_DIPSETTING( 0x00, "1:15")
PORT_DIPSETTING( 0x04, "1:30")
PORT_DIPSETTING( 0x0c, "1:45")
PORT_DIPSETTING( 0x08, "2:00")
PORT_DIPNAME( 0x30, 0x00, "Start Buttons (4-player)")
- PORT_DIPSETTING( 0x00, DEF_STR( Normal ))
+ PORT_DIPSETTING( 0x00, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x20, "Button A")
PORT_DIPSETTING( 0x10, "Button B")
- PORT_DIPSETTING( 0x30, DEF_STR( Normal ))
+ PORT_DIPSETTING( 0x30, DEF_STR( Normal ) )
PORT_DIPNAME( 0x40, 0x40, "PL 1&4 (4-player)")
- PORT_DIPSETTING( 0x40, DEF_STR( Normal ))
+ PORT_DIPSETTING( 0x40, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x00, "Rot 90")
PORT_DIPNAME( 0x80, 0x00, "Player Mode")
PORT_DIPSETTING( 0x80, "2")
PORT_DIPSETTING( 0x00, "4")
- COMMON_PORTS_COINS
-
PORT_START("P3")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(3)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(3)
@@ -339,7 +341,7 @@ static INPUT_PORTS_START (vball)
INPUT_PORTS_END
static INPUT_PORTS_START (vball2pj)
- COMMON_PORTS_BEFORE
+ PORT_INCLUDE( common )
/* The 2-player roms have the game-time in the difficulty spot, and
I've assumed vice-versa. (VS the instructions scanned in Naz's dump) */
@@ -350,14 +352,12 @@ static INPUT_PORTS_START (vball2pj)
PORT_DIPSETTING( 0x01, "1:45")
PORT_DIPSETTING( 0x03, "2:00")
PORT_DIPSETTING( 0x02, "2:15")
- PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Difficulty ))
+ PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Difficulty ) )
// This ordering is assumed. Someone has to play it a lot and find out.
- PORT_DIPSETTING( 0x04, DEF_STR( Easy ))
- PORT_DIPSETTING( 0x00, DEF_STR( Medium ))
- PORT_DIPSETTING( 0x08, DEF_STR( Hard ))
- PORT_DIPSETTING( 0x0c, DEF_STR( Very_Hard ))
-
- COMMON_PORTS_COINS
+ PORT_DIPSETTING( 0x04, DEF_STR( Easy ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Medium ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( Hard ) )
+ PORT_DIPSETTING( 0x0c, DEF_STR( Very_Hard ) )
INPUT_PORTS_END
diff --git a/src/mame/drivers/vegaeo.c b/src/mame/drivers/vegaeo.c
index 4918c990583..ba0400f0a65 100644
--- a/src/mame/drivers/vegaeo.c
+++ b/src/mame/drivers/vegaeo.c
@@ -102,7 +102,7 @@ static INPUT_PORTS_START( crazywar )
PORT_BIT( 0x00000008, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_SERVICE_NO_TOGGLE( 0x00000020, IP_ACTIVE_LOW )
- PORT_BIT( 0x00000040, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM(eolith_speedup_getvblank, 0)
+ PORT_BIT( 0x00000040, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM(eolith_speedup_getvblank, NULL)
PORT_BIT( 0x00000080, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0xffffff00, IP_ACTIVE_LOW, IPT_UNUSED )
diff --git a/src/mame/drivers/vendetta.c b/src/mame/drivers/vendetta.c
index 59632273dca..9471cd2cab1 100644
--- a/src/mame/drivers/vendetta.c
+++ b/src/mame/drivers/vendetta.c
@@ -144,13 +144,11 @@ static NVRAM_HANDLER( vendetta )
static READ8_HANDLER( vendetta_eeprom_r )
{
- int res;
-
- res = eeprom_read_bit();
+ int res = 0;
res |= 0x02; //konami_eeprom_ack() << 5; /* add the ack */
- res |= input_port_read(machine, "EEPROM") & 0x0c; /* test switch */
+ res |= input_port_read(machine, "EEPROM") & 0x0d; /* test switch */
if (init_eeprom_count)
{
@@ -394,7 +392,7 @@ static INPUT_PORTS_START( vendet4p )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("EEPROM")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* EEPROM data */
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CUSTOM(eeprom_bit_r, NULL) /* EEPROM data */
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* EEPROM ready */
PORT_SERVICE_NO_TOGGLE(0x04, IP_ACTIVE_LOW)
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK ) /* not really vblank, object related. Its timed, otherwise sprites flicker */
@@ -473,7 +471,7 @@ static INPUT_PORTS_START( esckids )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("EEPROM")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* EEPROM data */
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CUSTOM(eeprom_bit_r, NULL) /* EEPROM data */
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* EEPROM ready */
PORT_SERVICE_NO_TOGGLE(0x04, IP_ACTIVE_LOW)
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK ) /* not really vblank, object related. Its timed, otherwise sprites flicker */
diff --git a/src/mame/drivers/vertigo.c b/src/mame/drivers/vertigo.c
index 499f9a37a2e..96768bd0158 100644
--- a/src/mame/drivers/vertigo.c
+++ b/src/mame/drivers/vertigo.c
@@ -33,7 +33,7 @@ static ADDRESS_MAP_START( vertigo_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x004000, 0x00400f) AM_READ(vertigo_io_convert) AM_MIRROR(0x001000)
AM_RANGE(0x004010, 0x00401f) AM_READ(vertigo_io_adc) AM_MIRROR(0x001000)
AM_RANGE(0x004020, 0x00402f) AM_READ(vertigo_coin_r) AM_MIRROR(0x001000)
- AM_RANGE(0x004030, 0x00403f) AM_READ(input_port_3_word_r) AM_MIRROR(0x001000)
+ AM_RANGE(0x004030, 0x00403f) AM_READ_PORT("GIO") AM_MIRROR(0x001000)
AM_RANGE(0x004040, 0x00404f) AM_READ(vertigo_sio_r) AM_MIRROR(0x001000)
AM_RANGE(0x004050, 0x00405f) AM_RAM_WRITE(vertigo_audio_w) AM_MIRROR(0x001000)
AM_RANGE(0x004060, 0x00406f) AM_WRITE(vertigo_motor_w) AM_MIRROR(0x001000)
diff --git a/src/mame/drivers/vicdual.c b/src/mame/drivers/vicdual.c
index 48958da5e9b..9dd6dc6dd78 100644
--- a/src/mame/drivers/vicdual.c
+++ b/src/mame/drivers/vicdual.c
@@ -313,9 +313,9 @@ static INPUT_PORTS_START( depthch )
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
PORT_START("IN1")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_64v, 0)
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_64v, NULL)
PORT_BIT( 0x7e, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, 0)
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
PORT_COIN
INPUT_PORTS_END
@@ -395,7 +395,7 @@ static INPUT_PORTS_START( safari )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 )
PORT_START("IN1")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_64v, 0)
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_64v, NULL)
PORT_BIT( 0x0e, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) )
@@ -403,7 +403,7 @@ static INPUT_PORTS_START( safari )
PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
- PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, 0)
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
PORT_COIN
INPUT_PORTS_END
@@ -485,9 +485,9 @@ static INPUT_PORTS_START( frogs )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 )
PORT_START("IN1")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_64v, 0)
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_64v, NULL)
PORT_BIT( 0x7e, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
- PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, 0)
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
PORT_COIN
@@ -613,9 +613,9 @@ static INPUT_PORTS_START( headon )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY
PORT_START("IN1")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_64v, 0)
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_64v, NULL)
PORT_BIT( 0x7e, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
- PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, 0)
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
PORT_CABINET_COLOR_OR_BW
@@ -641,12 +641,12 @@ static INPUT_PORTS_START( supcrash )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY
PORT_START("IN1")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, 0)
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, NULL)
PORT_DIPNAME( 0x04, 0x04, "Rom Test" )
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_BIT( 0x7a, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
- PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, 0)
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
PORT_CABINET_COLOR_OR_BW
@@ -688,9 +688,9 @@ static INPUT_PORTS_START( sspaceat )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_START("IN2")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, 0)
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, NULL)
PORT_BIT( 0x7e, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, 0)
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
PORT_CABINET_COLOR_OR_BW
@@ -827,12 +827,12 @@ static INPUT_PORTS_START( headon2 )
PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
PORT_START("IN2")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, 0)
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, NULL)
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Demo_Sounds ) )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x02, DEF_STR( On ) )
PORT_BIT( 0x7c, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
- PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, 0)
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
PORT_COIN
INPUT_PORTS_END
@@ -860,12 +860,12 @@ static INPUT_PORTS_START( car2 )
PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* probably unused */
PORT_START("IN2")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, 0)
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, NULL)
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Demo_Sounds ) )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x02, DEF_STR( On ) )
PORT_BIT( 0x7c, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
- PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, 0)
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
PORT_COIN
INPUT_PORTS_END
@@ -902,9 +902,9 @@ static INPUT_PORTS_START( digger )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_START("IN2")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, 0)
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, NULL)
PORT_BIT( 0x7e, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
- PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, 0)
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
PORT_COIN
INPUT_PORTS_END
@@ -1062,10 +1062,10 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( invho2_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0x7f)
- AM_RANGE(0x00, 0x00) AM_MIRROR(0x7c) AM_READ(input_port_0_r)
- AM_RANGE(0x01, 0x01) AM_MIRROR(0x7c) AM_READ(input_port_1_r)
- AM_RANGE(0x02, 0x02) AM_MIRROR(0x7c) AM_READ(input_port_2_r)
- AM_RANGE(0x03, 0x03) AM_MIRROR(0x7c) AM_READ(input_port_3_r)
+ AM_RANGE(0x00, 0x00) AM_MIRROR(0x7c) AM_READ_PORT("IN0")
+ AM_RANGE(0x01, 0x01) AM_MIRROR(0x7c) AM_READ_PORT("IN1")
+ AM_RANGE(0x02, 0x02) AM_MIRROR(0x7c) AM_READ_PORT("IN2")
+ AM_RANGE(0x03, 0x03) AM_MIRROR(0x7c) AM_READ_PORT("IN3")
/* no decoder, just logic gates, so in theory the
game can write to multiple locations at once */
@@ -1076,10 +1076,10 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( invds_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0x7f)
- AM_RANGE(0x00, 0x00) AM_MIRROR(0x7c) AM_READ(input_port_0_r)
- AM_RANGE(0x01, 0x01) AM_MIRROR(0x7c) AM_READ(input_port_1_r)
- AM_RANGE(0x02, 0x02) AM_MIRROR(0x7c) AM_READ(input_port_2_r)
- AM_RANGE(0x03, 0x03) AM_MIRROR(0x7c) AM_READ(input_port_3_r)
+ AM_RANGE(0x00, 0x00) AM_MIRROR(0x7c) AM_READ_PORT("IN0")
+ AM_RANGE(0x01, 0x01) AM_MIRROR(0x7c) AM_READ_PORT("IN1")
+ AM_RANGE(0x02, 0x02) AM_MIRROR(0x7c) AM_READ_PORT("IN2")
+ AM_RANGE(0x03, 0x03) AM_MIRROR(0x7c) AM_READ_PORT("IN3")
/* no decoder, just logic gates, so in theory the
game can write to multiple locations at once */
@@ -1090,10 +1090,10 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sspacaho_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0x7f)
- AM_RANGE(0x00, 0x00) AM_MIRROR(0x7c) AM_READ(input_port_0_r)
- AM_RANGE(0x01, 0x01) AM_MIRROR(0x7c) AM_READ(input_port_1_r)
- AM_RANGE(0x02, 0x02) AM_MIRROR(0x7c) AM_READ(input_port_2_r)
- AM_RANGE(0x03, 0x03) AM_MIRROR(0x7c) AM_READ(input_port_3_r)
+ AM_RANGE(0x00, 0x00) AM_MIRROR(0x7c) AM_READ_PORT("IN0")
+ AM_RANGE(0x01, 0x01) AM_MIRROR(0x7c) AM_READ_PORT("IN1")
+ AM_RANGE(0x02, 0x02) AM_MIRROR(0x7c) AM_READ_PORT("IN2")
+ AM_RANGE(0x03, 0x03) AM_MIRROR(0x7c) AM_READ_PORT("IN3")
/* no decoder, just logic gates, so in theory the
game can write to multiple locations at once */
@@ -1104,10 +1104,10 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( tranqgun_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xf)
- AM_RANGE(0x00, 0x00) AM_MIRROR(0x0c) AM_READ(input_port_0_r)
- AM_RANGE(0x01, 0x01) AM_MIRROR(0x0c) AM_READ(input_port_1_r)
- AM_RANGE(0x02, 0x02) AM_MIRROR(0x0c) AM_READ(input_port_2_r)
- AM_RANGE(0x03, 0x03) AM_MIRROR(0x0c) AM_READ(input_port_3_r)
+ AM_RANGE(0x00, 0x00) AM_MIRROR(0x0c) AM_READ_PORT("IN0")
+ AM_RANGE(0x01, 0x01) AM_MIRROR(0x0c) AM_READ_PORT("IN1")
+ AM_RANGE(0x02, 0x02) AM_MIRROR(0x0c) AM_READ_PORT("IN2")
+ AM_RANGE(0x03, 0x03) AM_MIRROR(0x0c) AM_READ_PORT("IN3")
/* no decoder, just logic gates, so in theory the
game can write to multiple locations at once */
@@ -1118,10 +1118,10 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( spacetrk_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0x7f)
- AM_RANGE(0x00, 0x00) AM_MIRROR(0x7c) AM_READ(input_port_0_r)
- AM_RANGE(0x01, 0x01) AM_MIRROR(0x7c) AM_READ(input_port_1_r)
- AM_RANGE(0x02, 0x02) AM_MIRROR(0x7c) AM_READ(input_port_2_r)
- AM_RANGE(0x03, 0x03) AM_MIRROR(0x7c) AM_READ(input_port_3_r)
+ AM_RANGE(0x00, 0x00) AM_MIRROR(0x7c) AM_READ_PORT("IN0")
+ AM_RANGE(0x01, 0x01) AM_MIRROR(0x7c) AM_READ_PORT("IN1")
+ AM_RANGE(0x02, 0x02) AM_MIRROR(0x7c) AM_READ_PORT("IN2")
+ AM_RANGE(0x03, 0x03) AM_MIRROR(0x7c) AM_READ_PORT("IN3")
/* no decoder, just logic gates, so in theory the
game can write to multiple locations at once */
@@ -1132,10 +1132,10 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( carnival_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0x7f)
- AM_RANGE(0x00, 0x00) AM_MIRROR(0x7c) AM_READ(input_port_0_r)
- AM_RANGE(0x01, 0x01) AM_MIRROR(0x7c) AM_READ(input_port_1_r)
- AM_RANGE(0x02, 0x02) AM_MIRROR(0x7c) AM_READ(input_port_2_r)
- AM_RANGE(0x03, 0x03) AM_MIRROR(0x7c) AM_READ(input_port_3_r)
+ AM_RANGE(0x00, 0x00) AM_MIRROR(0x7c) AM_READ_PORT("IN0")
+ AM_RANGE(0x01, 0x01) AM_MIRROR(0x7c) AM_READ_PORT("IN1")
+ AM_RANGE(0x02, 0x02) AM_MIRROR(0x7c) AM_READ_PORT("IN2")
+ AM_RANGE(0x03, 0x03) AM_MIRROR(0x7c) AM_READ_PORT("IN3")
/* no decoder, just logic gates, so in theory the
game can write to multiple locations at once */
@@ -1146,10 +1146,10 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( brdrline_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xf)
- AM_RANGE(0x00, 0x00) AM_MIRROR(0x0c) AM_READ(input_port_0_r)
- AM_RANGE(0x01, 0x01) AM_MIRROR(0x0c) AM_READ(input_port_1_r)
- AM_RANGE(0x02, 0x02) AM_MIRROR(0x0c) AM_READ(input_port_2_r)
- AM_RANGE(0x03, 0x03) AM_MIRROR(0x0c) AM_READ(input_port_3_r)
+ AM_RANGE(0x00, 0x00) AM_MIRROR(0x0c) AM_READ_PORT("IN0")
+ AM_RANGE(0x01, 0x01) AM_MIRROR(0x0c) AM_READ_PORT("IN1")
+ AM_RANGE(0x02, 0x02) AM_MIRROR(0x0c) AM_READ_PORT("IN2")
+ AM_RANGE(0x03, 0x03) AM_MIRROR(0x0c) AM_READ_PORT("IN3")
/* no decoder, just logic gates, so in theory the
game can write to multiple locations at once */
@@ -1160,10 +1160,10 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( pulsar_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0x7f)
- AM_RANGE(0x00, 0x00) AM_MIRROR(0x7c) AM_READ(input_port_0_r)
- AM_RANGE(0x01, 0x01) AM_MIRROR(0x7c) AM_READ(input_port_1_r)
- AM_RANGE(0x02, 0x02) AM_MIRROR(0x7c) AM_READ(input_port_2_r)
- AM_RANGE(0x03, 0x03) AM_MIRROR(0x7c) AM_READ(input_port_3_r)
+ AM_RANGE(0x00, 0x00) AM_MIRROR(0x7c) AM_READ_PORT("IN0")
+ AM_RANGE(0x01, 0x01) AM_MIRROR(0x7c) AM_READ_PORT("IN1")
+ AM_RANGE(0x02, 0x02) AM_MIRROR(0x7c) AM_READ_PORT("IN2")
+ AM_RANGE(0x03, 0x03) AM_MIRROR(0x7c) AM_READ_PORT("IN3")
/* no decoder, just logic gates, so in theory the
game can write to multiple locations at once */
@@ -1174,10 +1174,10 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( heiankyo_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xf)
- AM_RANGE(0x00, 0x00) AM_MIRROR(0x0c) AM_READ(input_port_0_r)
- AM_RANGE(0x01, 0x01) AM_MIRROR(0x0c) AM_READ(input_port_1_r)
- AM_RANGE(0x02, 0x02) AM_MIRROR(0x0c) AM_READ(input_port_2_r)
- AM_RANGE(0x03, 0x03) AM_MIRROR(0x0c) AM_READ(input_port_3_r)
+ AM_RANGE(0x00, 0x00) AM_MIRROR(0x0c) AM_READ_PORT("IN0")
+ AM_RANGE(0x01, 0x01) AM_MIRROR(0x0c) AM_READ_PORT("IN1")
+ AM_RANGE(0x02, 0x02) AM_MIRROR(0x0c) AM_READ_PORT("IN2")
+ AM_RANGE(0x03, 0x03) AM_MIRROR(0x0c) AM_READ_PORT("IN3")
/* no decoder, just logic gates, so in theory the
game can write to multiple locations at once */
@@ -1188,10 +1188,10 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( alphaho_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0x7f)
- AM_RANGE(0x00, 0x00) AM_MIRROR(0x7c) AM_READ(input_port_0_r)
- AM_RANGE(0x01, 0x01) AM_MIRROR(0x7c) AM_READ(input_port_1_r)
- AM_RANGE(0x02, 0x02) AM_MIRROR(0x7c) AM_READ(input_port_2_r)
- AM_RANGE(0x03, 0x03) AM_MIRROR(0x7c) AM_READ(input_port_3_r)
+ AM_RANGE(0x00, 0x00) AM_MIRROR(0x7c) AM_READ_PORT("IN0")
+ AM_RANGE(0x01, 0x01) AM_MIRROR(0x7c) AM_READ_PORT("IN1")
+ AM_RANGE(0x02, 0x02) AM_MIRROR(0x7c) AM_READ_PORT("IN2")
+ AM_RANGE(0x03, 0x03) AM_MIRROR(0x7c) AM_READ_PORT("IN3")
/* no decoder, just logic gates, so in theory the
game can write to multiple locations at once */
@@ -1219,7 +1219,7 @@ static INPUT_PORTS_START( invho2 )
PORT_DIPNAME( 0x04, 0x00, "Head On Lives (2/2)" )
PORT_DIPSETTING( 0x04, "+0" )
PORT_DIPSETTING( 0x00, "+1" )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_composite_blank_comp, 0)
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_composite_blank_comp, NULL)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -1230,7 +1230,7 @@ static INPUT_PORTS_START( invho2 )
PORT_DIPNAME( 0x04, 0x00, "Invinco Lives" )
PORT_DIPSETTING( 0x00, "5" )
PORT_DIPSETTING( 0x04, "6" )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, 0)
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, NULL)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 )
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) /* probably unused */
@@ -1244,7 +1244,7 @@ static INPUT_PORTS_START( invho2 )
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, 0)
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Game Select") PORT_TOGGLE
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -1273,7 +1273,7 @@ static INPUT_PORTS_START( invds )
PORT_DIPNAME( 0x04, 0x00, "Invinco Lives (2/2)" )
PORT_DIPSETTING( 0x00, "+0" )
PORT_DIPSETTING( 0x04, "+2" )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_composite_blank_comp, 0)
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_composite_blank_comp, NULL)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_2WAY
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_2WAY
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -1284,7 +1284,7 @@ static INPUT_PORTS_START( invds )
PORT_DIPNAME( 0x04, 0x00, "Deep Scan Lives (1/2)" )
PORT_DIPSETTING( 0x00, "+0" )
PORT_DIPSETTING( 0x04, "+1" )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, 0)
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, NULL)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -1296,7 +1296,7 @@ static INPUT_PORTS_START( invds )
PORT_DIPNAME( 0x04, 0x00, "Deep Scan Lives (2/2)" )
PORT_DIPSETTING( 0x04, "+0" )
PORT_DIPSETTING( 0x00, "+2" )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, 0)
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Game Select") PORT_TOGGLE
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -1325,7 +1325,7 @@ static INPUT_PORTS_START( sspacaho )
PORT_DIPNAME( 0x04, 0x00, "S.A. Lives (2/2)" )
PORT_DIPSETTING( 0x00, "+0" )
PORT_DIPSETTING( 0x04, "+2" )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_composite_blank_comp, 0)
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_composite_blank_comp, NULL)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -1336,7 +1336,7 @@ static INPUT_PORTS_START( sspacaho )
PORT_DIPNAME( 0x04, 0x00, "S.A. Bonus Life" )
PORT_DIPSETTING( 0x00, "10000" )
PORT_DIPSETTING( 0x04, "15000" )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, 0)
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, NULL)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 )
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -1347,7 +1347,7 @@ static INPUT_PORTS_START( sspacaho )
PORT_DIPNAME( 0x04, 0x00, "S.A. Bonus Life For Final UFO" )
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, 0)
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Game Select") PORT_TOGGLE
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -1376,7 +1376,7 @@ static INPUT_PORTS_START( tranqgun )
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_vblank_comp, 0)
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_vblank_comp, NULL)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -1387,7 +1387,7 @@ static INPUT_PORTS_START( tranqgun )
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, 0)
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, NULL)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 )
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -1398,7 +1398,7 @@ static INPUT_PORTS_START( tranqgun )
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, 0)
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -1427,7 +1427,7 @@ static INPUT_PORTS_START( spacetrk )
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) ) /* unknown, but used */
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_composite_blank_comp, 0)
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_composite_blank_comp, NULL)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -1438,7 +1438,7 @@ static INPUT_PORTS_START( spacetrk )
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Bonus_Life ) )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x04, DEF_STR( On ) )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, 0)
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, NULL)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 )
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -1449,7 +1449,7 @@ static INPUT_PORTS_START( spacetrk )
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, 0)
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -1478,7 +1478,7 @@ static INPUT_PORTS_START( sptrekct )
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) ) /* unknown, but used */
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_composite_blank_comp, 0)
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_composite_blank_comp, NULL)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -1489,7 +1489,7 @@ static INPUT_PORTS_START( sptrekct )
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Bonus_Life ) )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x04, DEF_STR( On ) )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, 0)
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, NULL)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 )
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -1500,7 +1500,7 @@ static INPUT_PORTS_START( sptrekct )
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, 0)
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -1531,7 +1531,7 @@ static INPUT_PORTS_START( carnival )
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_composite_blank_comp, 0)
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_composite_blank_comp, NULL)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_2WAY
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_2WAY
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -1542,7 +1542,7 @@ static INPUT_PORTS_START( carnival )
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, 0)
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, NULL)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 )
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -1553,7 +1553,7 @@ static INPUT_PORTS_START( carnival )
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, 0)
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -1584,7 +1584,7 @@ static INPUT_PORTS_START( carnvckt )
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_composite_blank_comp, 0)
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_composite_blank_comp, NULL)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_2WAY
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_2WAY
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -1595,7 +1595,7 @@ static INPUT_PORTS_START( carnvckt )
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, 0)
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, NULL)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 )
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -1606,7 +1606,7 @@ static INPUT_PORTS_START( carnvckt )
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, 0)
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -1640,7 +1640,7 @@ static INPUT_PORTS_START( brdrline )
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x04, "3" )
PORT_DIPSETTING( 0x00, "4" )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_vblank_comp, 0)
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_vblank_comp, NULL)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -1662,7 +1662,7 @@ static INPUT_PORTS_START( brdrline )
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, 0)
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -1691,7 +1691,7 @@ static INPUT_PORTS_START( pulsar )
PORT_DIPNAME( 0x04, 0x04, "Lives (2/2)" )
PORT_DIPSETTING( 0x04, "+0" )
PORT_DIPSETTING( 0x00, "+1" )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_composite_blank_comp, 0)
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_composite_blank_comp, NULL)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -1702,7 +1702,7 @@ static INPUT_PORTS_START( pulsar )
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, 0)
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, NULL)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 )
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -1713,7 +1713,7 @@ static INPUT_PORTS_START( pulsar )
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, 0)
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -1742,7 +1742,7 @@ static INPUT_PORTS_START( heiankyo )
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) /* bonus life? */
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_composite_blank_comp, 0)
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_composite_blank_comp, NULL)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -1753,7 +1753,7 @@ static INPUT_PORTS_START( heiankyo )
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) /* bonus life? */
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, 0)
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, NULL)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* has to be 0, protection? */
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) /* probably unused */
@@ -1764,7 +1764,7 @@ static INPUT_PORTS_START( heiankyo )
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x00, "3" )
PORT_DIPSETTING( 0x04, "5" )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, 0)
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -1793,7 +1793,7 @@ static INPUT_PORTS_START( alphaho )
PORT_DIPNAME( 0x04, 0x00, "Alpha Fighter Lives (2/2)" )
PORT_DIPSETTING( 0x00, "+0" )
PORT_DIPSETTING( 0x04, "+2" )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_composite_blank_comp, 0)
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_composite_blank_comp, NULL)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
@@ -1802,7 +1802,7 @@ static INPUT_PORTS_START( alphaho )
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, 0)
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, NULL)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 )
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
@@ -1813,7 +1813,7 @@ static INPUT_PORTS_START( alphaho )
PORT_DIPNAME( 0x04, 0x00, "Alpha Fighter Unknown" ) // related to soccer frequency (code at 0x4950)
PORT_DIPSETTING( 0x00, DEF_STR ( Off ) )
PORT_DIPSETTING( 0x04, DEF_STR ( On ) )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, 0)
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Game Select") PORT_TOGGLE
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
@@ -2005,10 +2005,10 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( samurai_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0x7f)
- AM_RANGE(0x00, 0x00) AM_MIRROR(0x7c) AM_READ(input_port_0_r)
- AM_RANGE(0x01, 0x01) AM_MIRROR(0x7c) AM_READ(input_port_1_r)
- AM_RANGE(0x02, 0x02) AM_MIRROR(0x7c) AM_READ(input_port_2_r)
- AM_RANGE(0x03, 0x03) AM_MIRROR(0x7c) AM_READ(input_port_3_r)
+ AM_RANGE(0x00, 0x00) AM_MIRROR(0x7c) AM_READ_PORT("IN0")
+ AM_RANGE(0x01, 0x01) AM_MIRROR(0x7c) AM_READ_PORT("IN1")
+ AM_RANGE(0x02, 0x02) AM_MIRROR(0x7c) AM_READ_PORT("IN2")
+ AM_RANGE(0x03, 0x03) AM_MIRROR(0x7c) AM_READ_PORT("IN3")
/* no decoder, just logic gates, so in theory the
game can write to multiple locations at once */
@@ -2036,7 +2036,7 @@ static INPUT_PORTS_START( samurai )
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) ) /* unknown, but used */
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_composite_blank_comp, 0)
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_composite_blank_comp, NULL)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -2047,7 +2047,7 @@ static INPUT_PORTS_START( samurai )
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, 0)
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, NULL)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 )
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -2058,7 +2058,7 @@ static INPUT_PORTS_START( samurai )
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, 0)
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -2141,7 +2141,7 @@ static INPUT_PORTS_START( nsub )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
PORT_START("IN1")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_composite_blank_comp, 0)
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_composite_blank_comp, NULL)
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@@ -2160,7 +2160,7 @@ static INPUT_PORTS_START( nsub )
PORT_DIPNAME(0x40, 0x40, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, 0)
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
PORT_COIN
INPUT_PORTS_END
@@ -2257,9 +2257,9 @@ static INPUT_PORTS_START( invinco )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_START("IN2")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_composite_blank_comp, 0)
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_composite_blank_comp, NULL)
PORT_BIT( 0x7e, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
- PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, 0)
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
PORT_COIN
INPUT_PORTS_END
diff --git a/src/mame/drivers/victory.c b/src/mame/drivers/victory.c
index 18646bf27a8..b9e661a2128 100644
--- a/src/mame/drivers/victory.c
+++ b/src/mame/drivers/victory.c
@@ -138,12 +138,12 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( main_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_MIRROR(0x03) AM_READ(input_port_0_r)
- AM_RANGE(0x04, 0x04) AM_MIRROR(0x03) AM_READ(input_port_1_r)
- AM_RANGE(0x08, 0x08) AM_READ(input_port_2_r)
- AM_RANGE(0x0a, 0x0a) AM_READ(input_port_3_r)
- AM_RANGE(0x0c, 0x0c) AM_READ(input_port_4_r)
- AM_RANGE(0x0e, 0x0e) AM_READ(input_port_5_r)
+ AM_RANGE(0x00, 0x00) AM_MIRROR(0x03) AM_READ_PORT("SW2")
+ AM_RANGE(0x04, 0x04) AM_MIRROR(0x03) AM_READ_PORT("SW1")
+ AM_RANGE(0x08, 0x08) AM_READ_PORT("DIAL")
+ AM_RANGE(0x0a, 0x0a) AM_READ_PORT("COIN")
+ AM_RANGE(0x0c, 0x0c) AM_READ_PORT("BUTTONS")
+ AM_RANGE(0x0e, 0x0e) AM_READ_PORT("UNUSED")
AM_RANGE(0x10, 0x10) AM_MIRROR(0x03) AM_WRITE(lamp_control_w)
AM_RANGE(0x14, 0xff) AM_NOP
ADDRESS_MAP_END
diff --git a/src/mame/drivers/vigilant.c b/src/mame/drivers/vigilant.c
index 550878c28e6..ce2711df6a3 100644
--- a/src/mame/drivers/vigilant.c
+++ b/src/mame/drivers/vigilant.c
@@ -82,11 +82,11 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( vigilant_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READWRITE(input_port_0_r, m72_sound_command_byte_w) /* SD */
- AM_RANGE(0x01, 0x01) AM_READWRITE(input_port_1_r, vigilant_out2_w) /* OUT2 */
- 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_READWRITE(input_port_4_r, vigilant_bank_select_w) /* PBANK */
+ AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0") AM_WRITE(m72_sound_command_byte_w) /* SD */
+ AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1") AM_WRITE(vigilant_out2_w) /* OUT2 */
+ AM_RANGE(0x02, 0x02) AM_READ_PORT("IN2")
+ AM_RANGE(0x03, 0x03) AM_READ_PORT("DSW1")
+ AM_RANGE(0x04, 0x04) AM_READ_PORT("DSW2") AM_WRITE(vigilant_bank_select_w) /* PBANK */
AM_RANGE(0x80, 0x81) AM_WRITE(vigilant_horiz_scroll_w) /* HSPL, HSPH */
AM_RANGE(0x82, 0x83) AM_WRITE(vigilant_rear_horiz_scroll_w) /* RHSPL, RHSPH */
AM_RANGE(0x84, 0x84) AM_WRITE(vigilant_rear_color_w) /* RCOD */
@@ -103,11 +103,11 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( kikcubic_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READWRITE(input_port_3_r, kikcubic_coin_w) /* also flip screen, and...? */
- AM_RANGE(0x01, 0x01) AM_READ(input_port_4_r)
- AM_RANGE(0x02, 0x02) AM_READ(input_port_0_r)
- AM_RANGE(0x03, 0x03) AM_READ(input_port_1_r)
- AM_RANGE(0x04, 0x04) AM_READWRITE(input_port_2_r, vigilant_bank_select_w)
+ AM_RANGE(0x00, 0x00) AM_READ_PORT("DSW1") AM_WRITE(kikcubic_coin_w) /* also flip screen, and...? */
+ AM_RANGE(0x01, 0x01) AM_READ_PORT("DSW2")
+ AM_RANGE(0x02, 0x02) AM_READ_PORT("IN0")
+ AM_RANGE(0x03, 0x03) AM_READ_PORT("IN1")
+ AM_RANGE(0x04, 0x04) AM_READ_PORT("IN2") AM_WRITE(vigilant_bank_select_w)
AM_RANGE(0x06, 0x06) AM_WRITE(m72_sound_command_byte_w)
// AM_RANGE(0x07, 0x07) AM_WRITE(SMH_NOP) /* ?? */
ADDRESS_MAP_END
@@ -169,7 +169,7 @@ static INPUT_PORTS_START( vigilant )
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL
- PORT_START("DSW0")
+ PORT_START("DSW1")
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x02, "2" )
PORT_DIPSETTING( 0x03, "3" )
@@ -200,7 +200,7 @@ static INPUT_PORTS_START( vigilant )
PORT_DIPSETTING( 0x50, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
- PORT_START("DSW1")
+ PORT_START("DSW2")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@@ -260,7 +260,7 @@ static INPUT_PORTS_START( kikcubic )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
- PORT_START("DSW0")
+ PORT_START("DSW1")
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
PORT_DIPSETTING( 0x02, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x03, DEF_STR( Medium ) )
@@ -290,7 +290,7 @@ static INPUT_PORTS_START( kikcubic )
// PORT_DIPSETTING( 0x80, "Undefined" )
// PORT_DIPSETTING( 0x90, "Undefined" )
- PORT_START("DSW1")
+ PORT_START("DSW2")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@@ -343,7 +343,7 @@ static INPUT_PORTS_START( buccanrs )
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
- PORT_START("DSW0")
+ PORT_START("DSW1")
PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) )
PORT_DIPSETTING( 0x04, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x07, DEF_STR( 3C_1C ) )
@@ -371,7 +371,7 @@ static INPUT_PORTS_START( buccanrs )
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0xb0, DEF_STR( 1C_5C ) )
- PORT_START("DSW1")
+ PORT_START("DSW2")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
diff --git a/src/mame/drivers/vulgus.c b/src/mame/drivers/vulgus.c
index 5446621a218..82d28f6e2f5 100644
--- a/src/mame/drivers/vulgus.c
+++ b/src/mame/drivers/vulgus.c
@@ -69,11 +69,11 @@ static INTERRUPT_GEN( vulgus_interrupt )
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x9fff) AM_ROM
- AM_RANGE(0xc000, 0xc000) AM_READ(input_port_0_r)
- AM_RANGE(0xc001, 0xc001) AM_READ(input_port_1_r)
- AM_RANGE(0xc002, 0xc002) AM_READ(input_port_2_r)
- AM_RANGE(0xc003, 0xc003) AM_READ(input_port_3_r)
- AM_RANGE(0xc004, 0xc004) AM_READ(input_port_4_r)
+ AM_RANGE(0xc000, 0xc000) AM_READ_PORT("SYSTEM")
+ AM_RANGE(0xc001, 0xc001) AM_READ_PORT("P1")
+ AM_RANGE(0xc002, 0xc002) AM_READ_PORT("P2")
+ AM_RANGE(0xc003, 0xc003) AM_READ_PORT("DSW1")
+ AM_RANGE(0xc004, 0xc004) AM_READ_PORT("DSW2")
AM_RANGE(0xc800, 0xc800) AM_WRITE(soundlatch_w)
AM_RANGE(0xc802, 0xc803) AM_RAM AM_BASE(&vulgus_scroll_low)
AM_RANGE(0xc804, 0xc804) AM_WRITE(vulgus_c804_w)
@@ -98,7 +98,7 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( vulgus )
- PORT_START("SYSTEM") /* IN0 */
+ PORT_START("SYSTEM")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
@@ -108,7 +108,7 @@ static INPUT_PORTS_START( vulgus )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_START("P1") /* IN1 */
+ PORT_START("P1")
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
@@ -118,7 +118,7 @@ static INPUT_PORTS_START( vulgus )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START("P2") /* IN2 */
+ PORT_START("P2")
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
@@ -128,7 +128,7 @@ static INPUT_PORTS_START( vulgus )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START("DSW1") /* DSW0 */
+ PORT_START("DSW1")
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x01, "1" )
PORT_DIPSETTING( 0x02, "2" )
@@ -155,7 +155,7 @@ static INPUT_PORTS_START( vulgus )
PORT_DIPSETTING( 0xa0, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
- PORT_START("DSW2") /* DSW1 */
+ PORT_START("DSW2")
/* Not sure about difficulty
Code perform a read and (& 0x03). NDMix */
PORT_DIPNAME( 0x03, 0x03, "Difficulty?" )
diff --git a/src/mame/drivers/zr107.c b/src/mame/drivers/zr107.c
index bac2d3dca46..1abfd1d5d30 100644
--- a/src/mame/drivers/zr107.c
+++ b/src/mame/drivers/zr107.c
@@ -598,7 +598,7 @@ static INPUT_PORTS_START( midnrun )
PORT_START("IN2")
PORT_BIT( 0x7f, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(adcdo_r, 0)
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(adcdo_r, NULL)
PORT_START("IN3")
PORT_SERVICE_NO_TOGGLE( 0x80, IP_ACTIVE_LOW )
@@ -642,7 +642,7 @@ static INPUT_PORTS_START( windheat )
PORT_START("IN2")
PORT_BIT( 0x7f, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(adcdo_r, 0)
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(adcdo_r, NULL)
PORT_START("IN3")
PORT_SERVICE_NO_TOGGLE( 0x80, IP_ACTIVE_LOW )
@@ -686,7 +686,7 @@ static INPUT_PORTS_START( jetwave )
PORT_START("IN2")
PORT_BIT( 0x7f, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(adcdo_r, 0)
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(adcdo_r, NULL)
PORT_START("IN3")
PORT_SERVICE_NO_TOGGLE( 0x80, IP_ACTIVE_LOW )