summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Aaron Giles <aaron@aarongiles.com>2008-07-24 04:51:24 +0000
committer Aaron Giles <aaron@aarongiles.com>2008-07-24 04:51:24 +0000
commitce7838d0b55c55508852adf40c06b15cc049810d (patch)
treed71a2e5d678e001b38d30a4a10d01dbbfcfa118a
parent96a01c9d296f7bdf23870a3276502f905b6a382d (diff)
From: Fabio Priuli [mailto:doge.fabio@gmail.com]
Subject: a last bunch of patches Hi, attached please find a last block of diffs which completely removes every explicit use of input_port_read_indexed from src/mame/ (it remains in the various input_port_N_r, but I'll move to those later :) ) and fixes a small input bug Namely: nbmj_fix.diff: fixes bug MT 479. livegal turns out to use in a slightly different way the nichibutsu mahjong panel and inputs in test mode confirms that my change is correct ;) patch01.diff -> patch03.diff: convert to use tagged inputs and handlers the remaining drivers (U to Z and a few others) taito.diff: converts taitoic.c handlers to use tags (this required some more re-tagging in a few taito drivers, which I overlooked previously) namcos22.diff: converts namcos22 read handlers to use tags. I have been very carefully about where each read handler is used (and adopted read_safe where necessary), so there shall be no problem with this (despite the complexity of the driver) mediagx.diff: finally, I re-submit this patch about mediagx.c. Much more work would be needed to correctly map inputs for this driver, but I fear is still a bit beyond my current skills. However, from inspection through the debugger and from error.log, you can notice that the variable parallel_latched (used to read inputs) takes values 0,...,23 so this diff does no harm to the driver and allows to remove also the last occurrence of input_port_read_indexed! As usual, I tested as much as I could the changes and I expect no regressions is introduced Regards, Fabio Priuli
-rw-r--r--src/mame/drivers/asuka.c4
-rw-r--r--src/mame/drivers/itech32.c63
-rw-r--r--src/mame/drivers/mediagx.c26
-rw-r--r--src/mame/drivers/namcos22.c168
-rw-r--r--src/mame/drivers/nbmj8688.c12
-rw-r--r--src/mame/drivers/othunder.c7
-rw-r--r--src/mame/drivers/slapshot.c30
-rw-r--r--src/mame/drivers/snk.c283
-rw-r--r--src/mame/drivers/taito_b.c72
-rw-r--r--src/mame/drivers/taito_h.c3
-rw-r--r--src/mame/drivers/taitoair.c6
-rw-r--r--src/mame/drivers/thief.c34
-rw-r--r--src/mame/drivers/ultratnk.c9
-rw-r--r--src/mame/drivers/ultrsprt.c20
-rw-r--r--src/mame/drivers/undrfire.c24
-rw-r--r--src/mame/drivers/vamphalf.c51
-rw-r--r--src/mame/drivers/vaportra.c18
-rw-r--r--src/mame/drivers/vegaeo.c9
-rw-r--r--src/mame/drivers/vegas.c100
-rw-r--r--src/mame/drivers/vendetta.c122
-rw-r--r--src/mame/drivers/vertigo.c7
-rw-r--r--src/mame/drivers/vicdual.c62
-rw-r--r--src/mame/drivers/videopin.c40
-rw-r--r--src/mame/drivers/vindictr.c6
-rw-r--r--src/mame/drivers/vmetal.c28
-rw-r--r--src/mame/drivers/vsnes.c995
-rw-r--r--src/mame/drivers/warpwarp.c116
-rw-r--r--src/mame/drivers/wecleman.c58
-rw-r--r--src/mame/drivers/welltris.c60
-rw-r--r--src/mame/drivers/wgp.c6
-rw-r--r--src/mame/drivers/wheelfir.c20
-rw-r--r--src/mame/drivers/wink.c48
-rw-r--r--src/mame/drivers/wiping.c46
-rw-r--r--src/mame/drivers/witch.c267
-rw-r--r--src/mame/drivers/wolfpack.c15
-rw-r--r--src/mame/drivers/wwfsstar.c28
-rw-r--r--src/mame/drivers/wwfwfest.c32
-rw-r--r--src/mame/drivers/xain.c16
-rw-r--r--src/mame/drivers/xexex.c16
-rw-r--r--src/mame/drivers/xmen.c59
-rw-r--r--src/mame/drivers/xorworld.c12
-rw-r--r--src/mame/drivers/xtheball.c28
-rw-r--r--src/mame/drivers/xyonix.c22
-rw-r--r--src/mame/drivers/yumefuda.c30
-rw-r--r--src/mame/drivers/zac2650.c65
-rw-r--r--src/mame/drivers/zaccaria.c101
-rw-r--r--src/mame/drivers/zerozone.c14
-rw-r--r--src/mame/drivers/zn.c36
-rw-r--r--src/mame/drivers/zr107.c33
-rw-r--r--src/mame/machine/vertigo.c4
-rw-r--r--src/mame/machine/vsnes.c32
-rw-r--r--src/mame/machine/williams.c6
-rw-r--r--src/mame/machine/xevious.c8
-rw-r--r--src/mame/video/taitoic.c30
-rw-r--r--src/mame/video/undrfire.c2
-rw-r--r--src/mame/video/warpwarp.c2
-rw-r--r--src/mame/video/zac2650.c2
57 files changed, 1461 insertions, 1952 deletions
diff --git a/src/mame/drivers/asuka.c b/src/mame/drivers/asuka.c
index 6eae2571be1..6f33337b3f8 100644
--- a/src/mame/drivers/asuka.c
+++ b/src/mame/drivers/asuka.c
@@ -315,9 +315,9 @@ static ADDRESS_MAP_START( bonzeadv_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x080000, 0x0fffff) AM_ROM
AM_RANGE(0x10c000, 0x10ffff) AM_RAM
AM_RANGE(0x200000, 0x200007) AM_READWRITE(TC0110PCR_word_r, TC0110PCR_step1_word_w)
- AM_RANGE(0x390000, 0x390001) AM_READ(input_port_0_word_r)
+ AM_RANGE(0x390000, 0x390001) AM_READ_PORT("DSWA")
AM_RANGE(0x3a0000, 0x3a0001) AM_WRITE(asuka_spritectrl_w)
- AM_RANGE(0x3b0000, 0x3b0001) AM_READ(input_port_1_word_r)
+ AM_RANGE(0x3b0000, 0x3b0001) AM_READ_PORT("DSWB")
AM_RANGE(0x3c0000, 0x3c0001) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x3d0000, 0x3d0001) AM_READNOP
AM_RANGE(0x3e0000, 0x3e0001) AM_WRITE(taitosound_port16_lsb_w)
diff --git a/src/mame/drivers/itech32.c b/src/mame/drivers/itech32.c
index 9aca5a31cf7..8e30aaef1cb 100644
--- a/src/mame/drivers/itech32.c
+++ b/src/mame/drivers/itech32.c
@@ -351,17 +351,9 @@ static MACHINE_RESET( drivedge )
*
*************************************/
-static READ16_HANDLER( special_port3_r )
+static READ16_HANDLER( special_port_r )
{
- int result = input_port_read_indexed(machine, 3);
- if (sound_int_state) result ^= 0x08;
- return result;
-}
-
-
-static READ16_HANDLER( special_port4_r )
-{
- int result = input_port_read_indexed(machine, 4);
+ int result = input_port_read(machine, "DIPS");
if (sound_int_state) result ^= 0x08;
return result;
}
@@ -472,7 +464,7 @@ static READ32_HANDLER( trackball32_4bit_combined_r )
static READ32_HANDLER( drivedge_steering_r )
{
- int val = input_port_read_indexed(machine, 5) * 2 - 0x100;
+ int val = input_port_read(machine, "STEER") * 2 - 0x100;
if (val < 0) val = 0x100 | (-val);
return val << 16;
}
@@ -480,7 +472,7 @@ static READ32_HANDLER( drivedge_steering_r )
static READ32_HANDLER( drivedge_gas_r )
{
- int val = input_port_read_indexed(machine, 6);
+ int val = input_port_read(machine, "GAS");
return val << 16;
}
@@ -822,10 +814,10 @@ static NVRAM_HANDLER( tournament )
/*------ Time Killers memory layout ------*/
static ADDRESS_MAP_START( timekill_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x003fff) AM_RAM AM_BASE(&main_ram) AM_SIZE(&main_ram_size)
- AM_RANGE(0x040000, 0x040001) AM_READ(input_port_0_word_r)
- AM_RANGE(0x048000, 0x048001) AM_READ(input_port_1_word_r)
- AM_RANGE(0x050000, 0x050001) AM_READWRITE(input_port_2_word_r, timekill_intensity_w)
- AM_RANGE(0x058000, 0x058001) AM_READWRITE(special_port3_r, watchdog_reset16_w)
+ AM_RANGE(0x040000, 0x040001) AM_READ_PORT("P1")
+ AM_RANGE(0x048000, 0x048001) AM_READ_PORT("P2")
+ AM_RANGE(0x050000, 0x050001) AM_READ_PORT("SYSTEM") AM_WRITE(timekill_intensity_w)
+ AM_RANGE(0x058000, 0x058001) AM_READWRITE(special_port_r, watchdog_reset16_w)
AM_RANGE(0x060000, 0x060001) AM_WRITE(timekill_colora_w)
AM_RANGE(0x068000, 0x068001) AM_WRITE(timekill_colorbc_w)
AM_RANGE(0x070000, 0x070001) AM_WRITENOP /* noisy */
@@ -840,11 +832,11 @@ ADDRESS_MAP_END
/*------ BloodStorm and later games memory layout ------*/
static ADDRESS_MAP_START( bloodstm_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x00ffff) AM_RAM AM_BASE(&main_ram) AM_SIZE(&main_ram_size)
- AM_RANGE(0x080000, 0x080001) AM_READWRITE(input_port_0_word_r, int1_ack_w)
- AM_RANGE(0x100000, 0x100001) AM_READ(input_port_1_word_r)
- AM_RANGE(0x180000, 0x180001) AM_READ(input_port_2_word_r)
- AM_RANGE(0x200000, 0x200001) AM_READWRITE(input_port_3_word_r, watchdog_reset16_w)
- AM_RANGE(0x280000, 0x280001) AM_READ(special_port4_r)
+ AM_RANGE(0x080000, 0x080001) AM_READ_PORT("P1") AM_WRITE(int1_ack_w)
+ AM_RANGE(0x100000, 0x100001) AM_READ_PORT("P2")
+ AM_RANGE(0x180000, 0x180001) AM_READ_PORT("P3")
+ AM_RANGE(0x200000, 0x200001) AM_READ_PORT("P4") AM_WRITE(watchdog_reset16_w)
+ AM_RANGE(0x280000, 0x280001) AM_READ(special_port_r)
AM_RANGE(0x300000, 0x300001) AM_WRITE(bloodstm_color1_w)
AM_RANGE(0x380000, 0x380001) AM_WRITE(bloodstm_color2_w)
AM_RANGE(0x400000, 0x400001) AM_WRITE(watchdog_reset16_w)
@@ -852,7 +844,7 @@ static ADDRESS_MAP_START( bloodstm_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x500000, 0x5000ff) AM_READWRITE(bloodstm_video_r, bloodstm_video_w) AM_BASE(&itech32_video)
AM_RANGE(0x580000, 0x59ffff) AM_RAM_WRITE(bloodstm_paletteram_w) AM_BASE(&paletteram16)
AM_RANGE(0x700000, 0x700001) AM_WRITE(bloodstm_plane_w)
- AM_RANGE(0x780000, 0x780001) AM_READ(input_port_5_word_r)
+ AM_RANGE(0x780000, 0x780001) AM_READ_PORT("EXTRA")
AM_RANGE(0x800000, 0x87ffff) AM_MIRROR(0x780000) AM_ROM AM_REGION(REGION_USER1, 0) AM_BASE(&main_rom)
ADDRESS_MAP_END
@@ -906,7 +898,7 @@ AM_RANGE(0x000c00, 0x007fff) AM_MIRROR(0x40000) AM_READWRITE(test2_r, test2_w)
#endif
AM_RANGE(0x000000, 0x03ffff) AM_MIRROR(0x40000) AM_RAM AM_BASE((UINT32 **)&main_ram) AM_SIZE(&main_ram_size)
AM_RANGE(0x080000, 0x080003) AM_READ16(input_port_3_word_r, 0xffff0000)
- AM_RANGE(0x082000, 0x082003) AM_READ16(special_port4_r, 0xffff0000)
+ AM_RANGE(0x082000, 0x082003) AM_READ16(special_port_r, 0xffff0000)
AM_RANGE(0x084000, 0x084003) AM_READWRITE(sound_data32_r, sound_data32_w)
// AM_RANGE(0x086000, 0x08623f) AM_RAM -- networking -- first 0x40 bytes = our data, next 0x40*8 bytes = their data, r/w on IRQ2
AM_RANGE(0x088000, 0x088003) AM_READ(drivedge_steering_r)
@@ -946,7 +938,7 @@ static ADDRESS_MAP_START( itech020_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x100000, 0x100003) AM_READ16(input_port_1_word_r, 0xffff0000)
AM_RANGE(0x180000, 0x180003) AM_READ16(input_port_2_word_r, 0xffff0000)
AM_RANGE(0x200000, 0x200003) AM_READ16(input_port_3_word_r, 0xffff0000)
- AM_RANGE(0x280000, 0x280003) AM_READ16(special_port4_r, 0xffff0000)
+ AM_RANGE(0x280000, 0x280003) AM_READ16(special_port_r, 0xffff0000)
AM_RANGE(0x300000, 0x300003) AM_WRITE(itech020_color1_w)
AM_RANGE(0x380000, 0x380003) AM_WRITE(itech020_color2_w)
AM_RANGE(0x400000, 0x400003) AM_WRITE(watchdog_reset32_w)
@@ -1006,7 +998,7 @@ ADDRESS_MAP_END
*************************************/
static INPUT_PORTS_START( timekill )
- PORT_START /* 40000 */
+ PORT_START_TAG("P1") /* 40000 */
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
@@ -1016,7 +1008,7 @@ static INPUT_PORTS_START( timekill )
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
- PORT_START /* 48000 */
+ PORT_START_TAG("P2") /* 48000 */
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
@@ -1026,7 +1018,7 @@ static INPUT_PORTS_START( timekill )
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
- PORT_START /* 50000 */
+ PORT_START_TAG("SYSTEM") /* 50000 */
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(1)
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_START1 )
@@ -1036,7 +1028,7 @@ static INPUT_PORTS_START( timekill )
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START /* 58000 */
+ PORT_START_TAG("DIPS") /* 58000 */
PORT_SERVICE_NO_TOGGLE( 0x0001, IP_ACTIVE_LOW )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_VBLANK )
@@ -1176,7 +1168,7 @@ INPUT_PORTS_END
static INPUT_PORTS_START( drivedge )
- PORT_START /* 8C000 */
+ PORT_START_TAG("8C000") /* 8C000 */
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Gear 1") PORT_CODE(KEYCODE_Z) PORT_PLAYER(1)
@@ -1186,7 +1178,7 @@ static INPUT_PORTS_START( drivedge )
PORT_SERVICE_NO_TOGGLE( 0x0040, IP_ACTIVE_LOW )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START /* 8E000 */
+ PORT_START_TAG("8E000") /* 8E000 */
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Fan") PORT_CODE(KEYCODE_F) PORT_PLAYER(1)
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Tow Truck") PORT_CODE(KEYCODE_T) PORT_PLAYER(1)
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Horn") PORT_CODE(KEYCODE_SPACE) PORT_PLAYER(1)
@@ -1196,7 +1188,7 @@ static INPUT_PORTS_START( drivedge )
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START /* 200000 */
+ PORT_START_TAG("200000") /* 200000 */
PORT_SERVICE_NO_TOGGLE( 0x0100, IP_ACTIVE_LOW )
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_COIN3 )
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_VBLANK )
@@ -1212,16 +1204,17 @@ static INPUT_PORTS_START( drivedge )
PORT_DIPSETTING( 0x7000, "8" )
PORT_SERVICE_DIPLOC( 0x8000, IP_ACTIVE_HIGH, "SW1:1" )
- PORT_START /* 80000 */
+ PORT_START_TAG("80000") /* 80000 */
PORT_BIT( 0xff, 0x00, IPT_PEDAL ) PORT_MINMAX(0x00,0x06) PORT_SENSITIVITY(2) PORT_KEYDELTA(100) PORT_PLAYER(3)
- PORT_START /* 82000 */
+ /* here we use "DIPS" to simplify the read handlers */
+ PORT_START_TAG("DIPS") /* 82000 */
PORT_BIT( 0xff, 0x00, IPT_PEDAL ) PORT_MINMAX(0x00,0x06) PORT_SENSITIVITY(2) PORT_KEYDELTA(40) PORT_PLAYER(2)
- PORT_START /* 88000 */
+ PORT_START_TAG("STEER") /* 88000 */
PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_MINMAX(0x10,0xf0) PORT_SENSITIVITY(25) PORT_KEYDELTA(5)
- PORT_START /* 8A000 */
+ PORT_START_TAG("GAS") /* 8A000 */
PORT_BIT( 0xff, 0x00, IPT_PEDAL ) PORT_MINMAX(0x00,0x0c) PORT_SENSITIVITY(1) PORT_KEYDELTA(20) PORT_PLAYER(1)
INPUT_PORTS_END
diff --git a/src/mame/drivers/mediagx.c b/src/mame/drivers/mediagx.c
index 0101df8390c..ba05413db81 100644
--- a/src/mame/drivers/mediagx.c
+++ b/src/mame/drivers/mediagx.c
@@ -502,11 +502,11 @@ static WRITE32_HANDLER( io20_w )
static READ32_HANDLER( parallel_port_r )
{
UINT32 r = 0;
-// static const char *portnames[] = { "IN0", "IN1", "IN2", "IN3", "IN4", "IN5", "IN6", "IN7" };
+// static const char *portnames[] = { "IN0", "IN1", "IN2", "IN3", "IN4", "IN5", "IN6", "IN7", "IN8" }; // but parallel_pointer takes values 0 -> 23
if (ACCESSING_BITS_8_15)
{
- UINT8 nibble = parallel_latched;//(input_port_read(machine, portnames[parallel_pointer / 3]) >> (4 * (parallel_pointer % 3))) & 15;
+ UINT8 nibble = parallel_latched;//(input_port_read_safe(machine, portnames[parallel_pointer / 3], 0) >> (4 * (parallel_pointer % 3))) & 15;
r |= ((~nibble & 0x08) << 12) | ((nibble & 0x07) << 11);
logerror("%08X:parallel_port_r()\n", activecpu_get_pc());
/* if (controls_data == 0x18)
@@ -534,6 +534,8 @@ static READ32_HANDLER( parallel_port_r )
static WRITE32_HANDLER( parallel_port_w )
{
+ static const char *portnames[] = { "IN0", "IN1", "IN2", "IN3", "IN4", "IN5", "IN6", "IN7", "IN8" }; // but parallel_pointer takes values 0 -> 23
+
COMBINE_DATA( &parport );
if (ACCESSING_BITS_0_7)
@@ -555,7 +557,7 @@ static WRITE32_HANDLER( parallel_port_w )
logerror("%08X:", activecpu_get_pc());
- parallel_latched = (input_port_read_indexed(machine, parallel_pointer / 3) >> (4 * (parallel_pointer % 3))) & 15;
+ parallel_latched = (input_port_read_safe(machine, portnames[parallel_pointer / 3], 0) >> (4 * (parallel_pointer % 3))) & 15;
// parallel_pointer++;
// logerror("[%02X] Advance pointer to %d\n", data, parallel_pointer);
switch (data & 0xfc)
@@ -881,7 +883,7 @@ static GFXDECODE_START( CGA )
GFXDECODE_END
static INPUT_PORTS_START(mediagx)
- PORT_START
+ PORT_START_TAG("IN0")
PORT_SERVICE_NO_TOGGLE( 0x001, IP_ACTIVE_HIGH )
PORT_BIT( 0x002, IP_ACTIVE_HIGH, IPT_SERVICE1 )
PORT_BIT( 0x004, IP_ACTIVE_HIGH, IPT_SERVICE2 )
@@ -895,42 +897,42 @@ static INPUT_PORTS_START(mediagx)
PORT_BIT( 0x400, IP_ACTIVE_HIGH, IPT_START3 )
PORT_BIT( 0x800, IP_ACTIVE_HIGH, IPT_START4 )
- PORT_START
+ PORT_START_TAG("IN1")
PORT_BIT( 0x00f, IP_ACTIVE_HIGH, IPT_BUTTON1 )
PORT_BIT( 0x0f0, IP_ACTIVE_HIGH, IPT_BUTTON2 )
PORT_BIT( 0xf00, IP_ACTIVE_HIGH, IPT_BUTTON3 )
- PORT_START
+ PORT_START_TAG("IN2")
PORT_BIT( 0x00f, IP_ACTIVE_HIGH, IPT_BUTTON4 )
PORT_BIT( 0x0f0, IP_ACTIVE_HIGH, IPT_BUTTON5 )
PORT_BIT( 0xf00, IP_ACTIVE_HIGH, IPT_BUTTON6 )
- PORT_START
+ PORT_START_TAG("IN3")
PORT_BIT( 0x00f, IP_ACTIVE_HIGH, IPT_BUTTON7 )
PORT_BIT( 0x0f0, IP_ACTIVE_HIGH, IPT_BUTTON8 )
PORT_BIT( 0xf00, IP_ACTIVE_HIGH, IPT_BUTTON9 )
- PORT_START
+ PORT_START_TAG("IN4")
PORT_BIT( 0x00f, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2)
PORT_BIT( 0x0f0, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(2)
PORT_BIT( 0xf00, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(2)
- PORT_START
+ PORT_START_TAG("IN5")
PORT_BIT( 0x00f, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(3)
PORT_BIT( 0x0f0, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(3)
PORT_BIT( 0xf00, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(3)
- PORT_START
+ PORT_START_TAG("IN6")
PORT_BIT( 0x00f, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
PORT_BIT( 0x0f0, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
PORT_BIT( 0xf00, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
- PORT_START
+ PORT_START_TAG("IN7")
PORT_BIT( 0x00f, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
PORT_BIT( 0x0f0, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
PORT_BIT( 0xf00, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
- PORT_START
+ PORT_START_TAG("IN8")
PORT_BIT( 0x00f, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(3)
PORT_BIT( 0x0f0, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(3)
PORT_BIT( 0xf00, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(3)
diff --git a/src/mame/drivers/namcos22.c b/src/mame/drivers/namcos22.c
index cf02636f034..3c6eeacc9e7 100644
--- a/src/mame/drivers/namcos22.c
+++ b/src/mame/drivers/namcos22.c
@@ -1049,29 +1049,29 @@ nthbyte( const UINT32 *pSource, int offs )
/* mask,default,type,sensitivity,delta,min,max */
#define DRIVING_ANALOG_PORTS \
- PORT_START \
+ PORT_START_TAG("GAS") \
PORT_BIT( 0xff, 0x00, IPT_PEDAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) \
- PORT_START \
+ PORT_START_TAG("BRAKE") \
PORT_BIT( 0xff, 0x00, IPT_PEDAL2 ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) \
- PORT_START \
+ PORT_START_TAG("STEER") \
PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10)
/* TODO: REMOVE (THIS IS HANDLED BY "SUBCPU") */
static void
ReadAnalogDrivingPorts( running_machine *machine, UINT16 *gas, UINT16 *brake, UINT16 *steer )
{
- *gas = input_port_read_indexed(machine, 2);
- *brake = input_port_read_indexed(machine, 3);
- *steer = input_port_read_indexed(machine, 4);
+ *gas = input_port_read(machine, "GAS");
+ *brake = input_port_read(machine, "BRAKE");
+ *steer = input_port_read(machine, "STEER");
}
/* TODO: REMOVE (THIS IS HANDLED BY "SUBCPU") */
static UINT16
AnalogAsDigital( running_machine *machine )
{
- UINT16 stick = input_port_read_indexed(machine, 1);
- UINT16 gas = input_port_read_indexed(machine, 2);
- UINT16 steer = input_port_read_indexed(machine, 4);
+ UINT16 stick = input_port_read_safe(machine, "INPUTS", 0);
+ UINT16 gas = input_port_read_safe(machine, "GAS", 0);
+ UINT16 steer = input_port_read_safe(machine, "STEER", 0);
UINT16 result = 0xffff;
switch( namcos22_gametype )
@@ -1079,15 +1079,15 @@ AnalogAsDigital( running_machine *machine )
case NAMCOS22_RAVE_RACER:
case NAMCOS22_RIDGE_RACER:
case NAMCOS22_RIDGE_RACER2:
- if( gas==0xff )
+ if( gas == 0xff )
{
result ^= 0x0100; /* CHOOSE */
}
- if( steer==0x00 )
+ if( steer == 0x00 )
{
result ^= 0x0040; /* PREV */
}
- else if( steer==0xff )
+ else if( steer == 0xff )
{
result ^= 0x0080; /* NEXT */
}
@@ -1100,11 +1100,11 @@ AnalogAsDigital( running_machine *machine )
result ^= 0x0001; /* CHOOSE */
}
stick &= 3;
- if( stick==1 )
+ if( stick == 1 )
{ /* Stick Shift Up */
result ^= 0x0040; /* PREV */
}
- if( stick==2 )
+ if( stick == 2 )
{ /* Stick Shift Down */
result ^= 0x0080; /* NEXT */
}
@@ -1123,7 +1123,7 @@ HandleCoinage(running_machine *machine, int slots)
UINT16 *share16 = (UINT16 *)namcos22_shareram;
UINT32 coin_state;
- coin_state = input_port_read_indexed(machine, 1) & 0x1200;
+ coin_state = input_port_read(machine, "INPUTS") & 0x1200;
if (!(coin_state & 0x1000) && (old_coin_state & 0x1000))
{
@@ -1149,10 +1149,10 @@ HandleCoinage(running_machine *machine, int slots)
static void
HandleDrivingIO( running_machine *machine )
{
- if( nthbyte(namcos22_system_controller,0x18)!=0 )
+ if( nthbyte(namcos22_system_controller, 0x18) != 0 )
{
- UINT16 flags = input_port_read_indexed(machine, 1);
- UINT16 gas,brake,steer;
+ UINT16 flags = input_port_read(machine, "INPUTS");
+ UINT16 gas, brake, steer;
ReadAnalogDrivingPorts( machine, &gas, &brake, &steer );
HandleCoinage(machine, 2);
@@ -1205,17 +1205,17 @@ HandleDrivingIO( running_machine *machine )
static void
HandleCyberCommandoIO( running_machine *machine )
{
- if( nthbyte(namcos22_system_controller,0x18)!=0 )
+ if( nthbyte(namcos22_system_controller, 0x18) != 0 )
{
- UINT16 flags = input_port_read_indexed(machine, 1);
+ UINT16 flags = input_port_read(machine, "INPUTS");
- UINT16 volume0 = input_port_read_indexed(machine, 2)*0x10;
- UINT16 volume1 = input_port_read_indexed(machine, 3)*0x10;
- UINT16 volume2 = input_port_read_indexed(machine, 4)*0x10;
- UINT16 volume3 = input_port_read_indexed(machine, 5)*0x10;
+ UINT16 volume0 = input_port_read(machine, "STICKY1") * 0x10;
+ UINT16 volume1 = input_port_read(machine, "STICKY2") * 0x10;
+ UINT16 volume2 = input_port_read(machine, "STICKX1") * 0x10;
+ UINT16 volume3 = input_port_read(machine, "STICKX2") * 0x10;
- namcos22_shareram[0x030/4] = (flags<<16)|volume0;
- namcos22_shareram[0x034/4] = (volume1<<16)|volume2;
+ namcos22_shareram[0x030/4] = (flags<<16) | volume0;
+ namcos22_shareram[0x034/4] = (volume1<<16) | volume2;
namcos22_shareram[0x038/4] = volume3<<16;
HandleCoinage(machine, 1);
@@ -2161,7 +2161,7 @@ static WRITE32_HANDLER( namcos22_portbit_w )
static READ32_HANDLER( namcos22_dipswitch_r )
{
- return input_port_read_indexed(machine, 0)<<16;
+ return input_port_read(machine, "DSW0")<<16;
}
static READ32_HANDLER( namcos22_mcuram_r )
@@ -2231,8 +2231,8 @@ static WRITE32_HANDLER( spotram_w )
static READ32_HANDLER( namcos22_gun_r )
{
- int xpos = input_port_read_indexed(machine, 1)*640/0xff;
- int ypos = input_port_read_indexed(machine, 2)*480/0xff;
+ int xpos = input_port_read_safe(machine, "LIGHTX", 0) * 640 / 0xff;
+ int ypos = input_port_read_safe(machine, "LIGHTY", 0) * 480 / 0xff;
switch( offset )
{
case 0: /* 430000 */
@@ -2300,20 +2300,20 @@ static ADDRESS_MAP_START( namcos22s_am, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x460000, 0x463fff) AM_RAM AM_BASE(&namcos22_nvmem) AM_SIZE(&namcos22_nvmem_size)
AM_RANGE(0x700000, 0x70001f) AM_READ(namcos22_system_controller_r) AM_WRITE(namcos22_system_controller_w) AM_BASE(&namcos22_system_controller)
AM_RANGE(0x800000, 0x800003) AM_WRITE(namcos22_port800000_w) /* (C304 C399) 40380000 during SPOT test */
- AM_RANGE(0x810000, 0x81000f) AM_RAM AM_BASE(&namcos22_czattr)
- AM_RANGE(0x810200, 0x8103ff) AM_READ(namcos22_czram_r) AM_WRITE(namcos22_czram_w)
+ AM_RANGE(0x810000, 0x81000f) AM_RAM AM_BASE(&namcos22_czattr)
+ AM_RANGE(0x810200, 0x8103ff) AM_READ(namcos22_czram_r) AM_WRITE(namcos22_czram_w)
AM_RANGE(0x820000, 0x8202ff) AM_RAM /* unknown (air combat) */
AM_RANGE(0x824000, 0x8243ff) AM_READ(namcos22_gamma_r) AM_WRITE(namcos22_gamma_w) AM_BASE(&namcos22_gamma)
AM_RANGE(0x828000, 0x83ffff) AM_READ(namcos22_paletteram_r) AM_WRITE(namcos22_paletteram_w) AM_BASE(&paletteram32)
AM_RANGE(0x860000, 0x860007) AM_READ(spotram_r) AM_WRITE(spotram_w)
AM_RANGE(0x880000, 0x89dfff) AM_READ(SMH_RAM) AM_WRITE(namcos22_cgram_w) AM_BASE(&namcos22_cgram)
AM_RANGE(0x89e000, 0x89ffff) AM_READ(namcos22_textram_r) AM_WRITE(namcos22_textram_w) AM_BASE(&namcos22_textram)
- AM_RANGE(0x8a0000, 0x8a000f) AM_RAM AM_BASE(&namcos22_tilemapattr)
+ AM_RANGE(0x8a0000, 0x8a000f) AM_RAM AM_BASE(&namcos22_tilemapattr)
AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_BASE(&namcos22_vics_data)
AM_RANGE(0x940000, 0x94007f) AM_RAM AM_BASE(&namcos22_vics_control)
AM_RANGE(0x980000, 0x9affff) AM_RAM AM_BASE(&spriteram32) /* C374 */
AM_RANGE(0xa04000, 0xa0bfff) AM_READ(namcos22_mcuram_r) AM_WRITE(namcos22_mcuram_w) AM_BASE(&namcos22_shareram) /* COM RAM */
- AM_RANGE(0xc00000, 0xc1ffff) AM_READ(namcos22_dspram_r) AM_WRITE(namcos22_dspram_w) AM_BASE(&namcos22_polygonram)
+ AM_RANGE(0xc00000, 0xc1ffff) AM_READ(namcos22_dspram_r) AM_WRITE(namcos22_dspram_w) AM_BASE(&namcos22_polygonram)
AM_RANGE(0xe00000, 0xe3ffff) AM_RAM /* workram */
ADDRESS_MAP_END
@@ -2466,8 +2466,8 @@ static READ8_HANDLER( propcycle_mcu_adc_r )
{
static UINT16 ddx, ddy;
- ddx = ((input_port_read_indexed(machine, 2)^0xff)-1)<<2;
- ddy = (input_port_read_indexed(machine, 3)-1)<<2;
+ ddx = ((input_port_read(machine, "STICKX")^0xff) - 1)<<2;
+ ddy = (input_port_read(machine, "STICKY") - 1)<<2;
switch (offset)
{
@@ -2480,7 +2480,7 @@ static READ8_HANDLER( propcycle_mcu_adc_r )
// and timer A3 is configured by the MCU program to cause an interrupt each time
// it's clocked. by counting the number of interrupts in a frame, we can determine
// how fast the user is pedaling.
- if( input_port_read_indexed(machine, 1) & 0x10 )
+ if( input_port_read(machine, "JOY") & 0x10 )
{
int i;
for (i = 0; i < 16; i++)
@@ -2509,12 +2509,12 @@ static READ8_HANDLER( propcycle_mcu_adc_r )
// 0 H+L = swing, 1 H+L = edge
static READ8_HANDLER( alpineracer_mcu_adc_r )
{
- UINT16 swing = (0xff-input_port_read_indexed(machine, 2))<<2;
- UINT16 edge = (0xff-input_port_read_indexed(machine, 3))<<2;
+ UINT16 swing = (0xff - input_port_read(machine, "SWING"))<<2;
+ UINT16 edge = (0xff - input_port_read(machine, "EDGE"))<<2;
// fake out the centering a bit
- if (input_port_read_indexed(machine, 2) == 0x80) swing = 0x200;
- if (input_port_read_indexed(machine, 3) == 0x80) edge = 0x200;
+ if (input_port_read(machine, "SWING") == 0x80) swing = 0x200;
+ if (input_port_read(machine, "EDGE") == 0x80) edge = 0x200;
switch (offset)
{
@@ -2585,9 +2585,9 @@ static READ8_HANDLER( airco22_mcu_adc_r )
{
UINT16 pedal, x, y;
- pedal = input_port_read_indexed(machine, 1)<<2;
- x = input_port_read_indexed(machine, 2)<<2;
- y = input_port_read_indexed(machine, 3)<<2;
+ pedal = input_port_read(machine, "PEDAL")<<2;
+ x = input_port_read(machine, "STICKX")<<2;
+ y = input_port_read(machine, "STICKY")<<2;
switch (offset)
@@ -4280,7 +4280,7 @@ ROM_END
/*******************************************************************/
static INPUT_PORTS_START( alpiner )
- PORT_START
+ PORT_START_TAG("DSW0")
PORT_DIPNAME( 0x01, 0x01, "DIP4-1" )
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@@ -4306,7 +4306,7 @@ static INPUT_PORTS_START( alpiner )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_START_TAG( "MCUP5A" )
+ PORT_START_TAG("MCUP5A")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
@@ -4316,13 +4316,13 @@ static INPUT_PORTS_START( alpiner )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) /* R SELECTION */
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_START /* SWING */
+ PORT_START_TAG("SWING") /* SWING */
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10)
- PORT_START /* EDGE */
+ PORT_START_TAG("EDGE") /* EDGE */
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_Y ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10)
- PORT_START_TAG( "MCUP5B" )
+ PORT_START_TAG("MCUP5B")
PORT_DIPNAME( 0x01, 0x01, "DIP5-1" )
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@@ -4351,7 +4351,7 @@ INPUT_PORTS_END /* Alpine Racer */
static INPUT_PORTS_START( airco22 )
- PORT_START
+ PORT_START_TAG("DSW0")
PORT_DIPNAME( 0x01, 0x01, "DIP1" )
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@@ -4377,16 +4377,16 @@ static INPUT_PORTS_START( airco22 )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_START
+ PORT_START_TAG("PEDAL")
PORT_BIT( 0xff, 0x00, IPT_PEDAL ) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(100) PORT_KEYDELTA(4)
- PORT_START
+ PORT_START_TAG("STICKX")
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(100) PORT_KEYDELTA(4)
- PORT_START
+ PORT_START_TAG("STICKY")
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_Y ) PORT_SENSITIVITY(100) PORT_KEYDELTA(4)
- PORT_START_TAG( "MCUP5A" )
+ PORT_START_TAG("MCUP5A")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON5 )
// PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
@@ -4398,12 +4398,12 @@ static INPUT_PORTS_START( airco22 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON4 )
// PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_START_TAG( "MCUP5B" )
+ PORT_START_TAG("MCUP5B")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_BUTTON3 )
INPUT_PORTS_END /* Air Combat22 */
static INPUT_PORTS_START( cybrcycc )
- PORT_START
+ PORT_START_TAG("DSW0")
PORT_DIPNAME( 0x01, 0x01, "DIP4-1 (Test Mode)" )
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@@ -4429,7 +4429,9 @@ static INPUT_PORTS_START( cybrcycc )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_START_TAG( "MCUP5A" )
+ DRIVING_ANALOG_PORTS
+
+ PORT_START_TAG("MCUP5A")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
@@ -4439,9 +4441,7 @@ static INPUT_PORTS_START( cybrcycc )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- DRIVING_ANALOG_PORTS
-
- PORT_START_TAG( "MCUP5B" )
+ PORT_START_TAG("MCUP5B")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@@ -4453,7 +4453,7 @@ static INPUT_PORTS_START( cybrcycc )
INPUT_PORTS_END /* Cyber Cycles */
static INPUT_PORTS_START( propcycl )
- PORT_START /* DIP4 */
+ PORT_START_TAG("DSW0") /* DIP4 */
PORT_DIPNAME( 0x01, 0x01, "DIP1" )
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@@ -4479,7 +4479,7 @@ static INPUT_PORTS_START( propcycl )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_START
+ PORT_START_TAG("JOY")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
@@ -4487,13 +4487,13 @@ static INPUT_PORTS_START( propcycl )
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START1 )
- PORT_START
+ PORT_START_TAG("STICKX")
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10)
- PORT_START
+ PORT_START_TAG("STICKY")
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_Y ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10)
- PORT_START_TAG( "MCUP5A" )
+ PORT_START_TAG("MCUP5A")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
@@ -4503,7 +4503,7 @@ static INPUT_PORTS_START( propcycl )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START_TAG( "MCUP5B" )
+ PORT_START_TAG("MCUP5B")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@@ -4515,7 +4515,7 @@ static INPUT_PORTS_START( propcycl )
INPUT_PORTS_END /* Prop Cycle */
static INPUT_PORTS_START( cybrcomm )
- PORT_START
+ PORT_START_TAG("DSW0")
PORT_DIPNAME( 0x0001, 0x0001, "DIP2-1" )
PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
@@ -4565,7 +4565,7 @@ static INPUT_PORTS_START( cybrcomm )
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_START
+ PORT_START_TAG("INPUTS")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON1 ) /* SHOOT */
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON2 ) /* MISSLE */
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
@@ -4583,18 +4583,18 @@ static INPUT_PORTS_START( cybrcomm )
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START /* VOLUME1 */
+ PORT_START_TAG("STICKY1") /* VOLUME1 */
PORT_BIT( 0xff, 0x7f, IPT_AD_STICK_Y ) PORT_SENSITIVITY( 100) PORT_KEYDELTA(4) PORT_PLAYER(1) /* right joystick: vertical */
- PORT_START /* VOLUME2 */
+ PORT_START_TAG("STICKY2") /* VOLUME2 */
PORT_BIT( 0xff, 0x7f, IPT_AD_STICK_Y ) PORT_SENSITIVITY( 100) PORT_KEYDELTA(4) PORT_PLAYER(2) /* left joystick: vertical */
- PORT_START /* VOLUME3 */
+ PORT_START_TAG("STICKX1") /* VOLUME3 */
PORT_BIT( 0xff, 0x7f, IPT_AD_STICK_X ) PORT_SENSITIVITY( 100) PORT_KEYDELTA(4) PORT_PLAYER(1) /* right joystick: horizontal */
- PORT_START /* VOLUME4 */
+ PORT_START_TAG("STICKX2") /* VOLUME4 */
PORT_BIT( 0xff, 0x7f, IPT_AD_STICK_X ) PORT_SENSITIVITY( 100) PORT_KEYDELTA(4) PORT_PLAYER(2) /* left joystick: horizontal */
INPUT_PORTS_END /* Cyber Commando */
static INPUT_PORTS_START( timecris )
- PORT_START
+ PORT_START_TAG("DSW0")
PORT_DIPNAME( 0x01, 0x01, "DIP4-1" )
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@@ -4618,12 +4618,12 @@ static INPUT_PORTS_START( timecris )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
- PORT_START
+ PORT_START_TAG( "LIGHTX" )
PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.0, -0.1, 0) PORT_SENSITIVITY(50) PORT_KEYDELTA(4)
- PORT_START
+ PORT_START_TAG( "LIGHTY" )
PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1.0, -0.184, 0) PORT_SENSITIVITY(50) PORT_KEYDELTA(4)
- PORT_START_TAG( "MCUP5A" )
+ PORT_START_TAG("MCUP5A")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
@@ -4633,14 +4633,14 @@ static INPUT_PORTS_START( timecris )
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_START_TAG( "MCUP5B" )
+ PORT_START_TAG("MCUP5B")
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNKNOWN )
INPUT_PORTS_END /* Time Crisis */
/*****************************************************************************************************/
static INPUT_PORTS_START( acedrvr )
- PORT_START /* 0: DIP2 and DIP3 */
+ PORT_START_TAG("DSW0") /* 0: DIP2 and DIP3 */
PORT_DIPNAME( 0x0001, 0x0001, "DIP2-1" )
PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
@@ -4690,7 +4690,7 @@ static INPUT_PORTS_START( acedrvr )
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_START /* 1 */
+ PORT_START_TAG("INPUTS") /* 1 */
PORT_DIPNAME( 0x0003, 0x0003, "Shift" )
PORT_DIPSETTING( 0x0001, "Up" )
PORT_DIPSETTING( 0x0003, "Center" )
@@ -4714,7 +4714,7 @@ static INPUT_PORTS_START( acedrvr )
INPUT_PORTS_END /* Ace Driver */
static INPUT_PORTS_START( victlap )
- PORT_START /* 0: DIP2 and DIP3 */
+ PORT_START_TAG("DSW0") /* 0: DIP2 and DIP3 */
PORT_DIPNAME( 0x0001, 0x0001, "DIP2-1" )
PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
@@ -4764,7 +4764,7 @@ static INPUT_PORTS_START( victlap )
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_START /* 1 */
+ PORT_START_TAG("INPUTS") /* 1 */
PORT_DIPNAME( 0x0003, 0x0003, "Shift" )
PORT_DIPSETTING( 0x0001, "Up" )
PORT_DIPSETTING( 0x0003, "Center" )
@@ -4790,7 +4790,7 @@ static INPUT_PORTS_START( victlap )
INPUT_PORTS_END /* Victory Lap */
static INPUT_PORTS_START( ridgera )
- PORT_START /* 0: DIP2 and DIP3 */
+ PORT_START_TAG("DSW0") /* 0: DIP2 and DIP3 */
PORT_DIPNAME( 0x0001, 0x0001, "DIP2-1 (test mode?)" )
PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
@@ -4840,7 +4840,7 @@ static INPUT_PORTS_START( ridgera )
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_START /* 1 */
+ PORT_START_TAG("INPUTS") /* 1 */
PORT_DIPNAME( 0x000f, 0x000a, "Stick Shift" )
PORT_DIPSETTING( 0xa, "1" )
PORT_DIPSETTING( 0x9, "2" )
@@ -4865,7 +4865,7 @@ static INPUT_PORTS_START( ridgera )
INPUT_PORTS_END /* Ridge Racer */
static INPUT_PORTS_START( raveracw )
- PORT_START
+ PORT_START_TAG("DSW0")
PORT_DIPNAME( 0x0001, 0x0001, "DIP2-1 (test mode)" )
PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
@@ -4915,7 +4915,7 @@ static INPUT_PORTS_START( raveracw )
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_START /* 1 */
+ PORT_START_TAG("INPUTS") /* 1 */
PORT_DIPNAME( 0x000f, 0x000a, "Stick Shift" )
PORT_DIPSETTING( 0xa, "1" )
PORT_DIPSETTING( 0x9, "2" )
diff --git a/src/mame/drivers/nbmj8688.c b/src/mame/drivers/nbmj8688.c
index b1b9b547fed..a8f8e06649b 100644
--- a/src/mame/drivers/nbmj8688.c
+++ b/src/mame/drivers/nbmj8688.c
@@ -2269,6 +2269,18 @@ static INPUT_PORTS_START( livegal )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN1
PORT_INCLUDE( nbmjcontrols )
+
+ PORT_MODIFY("KEY0")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_FLIP_FLOP ) PORT_NAME("Side 1 P2 Start")
+
+ PORT_MODIFY("KEY4")
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Side 1 P1 Start")
+
+ PORT_MODIFY("KEY5")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_FLIP_FLOP ) PORT_PLAYER(2) PORT_NAME("Side 2 P2 Start")
+
+ PORT_MODIFY("KEY9")
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START2 ) PORT_NAME("Side 2 P1 Start")
INPUT_PORTS_END
static INPUT_PORTS_START( ojousan )
diff --git a/src/mame/drivers/othunder.c b/src/mame/drivers/othunder.c
index a8989690d2c..7b49510194d 100644
--- a/src/mame/drivers/othunder.c
+++ b/src/mame/drivers/othunder.c
@@ -414,8 +414,8 @@ static READ16_HANDLER( othunder_TC0220IOC_r )
static READ16_HANDLER( othunder_lightgun_r )
{
- static const char *const dswname[4] = { P1X_PORT_TAG, P1Y_PORT_TAG, P2X_PORT_TAG, P2Y_PORT_TAG };
- return input_port_read(machine, dswname[offset]);
+ static const char *const portname[4] = { P1X_PORT_TAG, P1Y_PORT_TAG, P2X_PORT_TAG, P2Y_PORT_TAG };
+ return input_port_read(machine, portname[offset]);
}
static WRITE16_HANDLER( othunder_lightgun_w )
@@ -537,7 +537,7 @@ static ADDRESS_MAP_START( z80_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xe201, 0xe201) AM_READWRITE(taitosound_slave_comm_r, taitosound_slave_comm_w)
AM_RANGE(0xe400, 0xe403) AM_WRITE(othunder_TC0310FAM_w) /* pan */
AM_RANGE(0xe600, 0xe600) AM_WRITE(SMH_NOP) /* ? */
- AM_RANGE(0xea00, 0xea00) AM_READ(input_port_9_r) /* rotary input */
+ AM_RANGE(0xea00, 0xea00) AM_READ_PORT(ROTARY_PORT_TAG) /* rotary input */
AM_RANGE(0xee00, 0xee00) AM_WRITE(SMH_NOP) /* ? */
AM_RANGE(0xf000, 0xf000) AM_WRITE(SMH_NOP) /* ? */
AM_RANGE(0xf200, 0xf200) AM_WRITE(sound_bankswitch_w)
@@ -592,6 +592,7 @@ static INPUT_PORTS_START( othunder )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
PORT_START_TAG("IN1") /* unused */
+ PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START_TAG("IN2")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
diff --git a/src/mame/drivers/slapshot.c b/src/mame/drivers/slapshot.c
index 408e944f836..c31a9da5c64 100644
--- a/src/mame/drivers/slapshot.c
+++ b/src/mame/drivers/slapshot.c
@@ -201,8 +201,8 @@ static READ16_HANDLER( slapshot_service_input_r )
switch (offset)
{
case 0x03:
- return ((input_port_read(machine, "IN3") & 0xef) |
- (input_port_read(machine, "IN5") & 0x10)) << 8; /* IN3 + service switch */
+ return ((input_port_read(machine, "IN1") & 0xef) |
+ (input_port_read(machine, "SERVICE") & 0x10)) << 8; /* IN3 + service switch */
default:
return TC0640FIO_r(machine,offset) << 8;
@@ -368,8 +368,9 @@ ADDRESS_MAP_END
INPUT PORTS (DIPs in nvram)
***********************************************************/
+/* Tags below are the ones expected by TC0640FIO_halfword_byteswap_r */
static INPUT_PORTS_START( slapshot )
- PORT_START_TAG("IN0")
+ PORT_START_TAG("DSWA")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@@ -379,7 +380,7 @@ static INPUT_PORTS_START( slapshot )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START_TAG("IN1")
+ PORT_START_TAG("DSWB")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_TILT )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@@ -389,7 +390,7 @@ static INPUT_PORTS_START( slapshot )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START_TAG("IN2")
+ PORT_START_TAG("IN0")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
@@ -399,7 +400,7 @@ static INPUT_PORTS_START( slapshot )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START_TAG("IN3")
+ PORT_START_TAG("IN1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@@ -409,7 +410,7 @@ static INPUT_PORTS_START( slapshot )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START_TAG("IN4")
+ PORT_START_TAG("IN2")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
@@ -419,12 +420,13 @@ static INPUT_PORTS_START( slapshot )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
- PORT_START_TAG("IN5") /* IN5, so we can OR in service switch */
+ PORT_START_TAG("SERVICE") /* IN5, so we can OR in service switch */
PORT_SERVICE_NO_TOGGLE(0x10, IP_ACTIVE_LOW)
INPUT_PORTS_END
+/* Tags below are the ones expected by TC0640FIO_halfword_byteswap_r */
static INPUT_PORTS_START( opwolf3 )
- PORT_START_TAG("IN0") /* IN0, all bogus */
+ PORT_START_TAG("DSWA") /* IN0, all bogus */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@@ -434,7 +436,7 @@ static INPUT_PORTS_START( opwolf3 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START_TAG("IN1")
+ PORT_START_TAG("DSWB")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_TILT )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@@ -444,7 +446,7 @@ static INPUT_PORTS_START( opwolf3 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN3 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN4 )
- PORT_START_TAG("IN2")
+ PORT_START_TAG("IN0")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("1 Player Start/Button3")// also button 3
@@ -454,7 +456,7 @@ static INPUT_PORTS_START( opwolf3 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 ) PORT_NAME("2 Player Start/Button3")// also button 3
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START_TAG("IN3")
+ PORT_START_TAG("IN1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@@ -464,7 +466,7 @@ static INPUT_PORTS_START( opwolf3 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START_TAG("IN4")
+ PORT_START_TAG("IN2")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@@ -474,7 +476,7 @@ static INPUT_PORTS_START( opwolf3 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START_TAG("IN5") /* IN5, so we can OR in service switch */
+ PORT_START_TAG("SERVICE") /* IN5, so we can OR in service switch */
PORT_SERVICE_NO_TOGGLE(0x10, IP_ACTIVE_LOW)
PORT_START_TAG("GUN1X") /* IN 6, P1X */
diff --git a/src/mame/drivers/snk.c b/src/mame/drivers/snk.c
index 7d6bf444514..bcfecc32b09 100644
--- a/src/mame/drivers/snk.c
+++ b/src/mame/drivers/snk.c
@@ -262,7 +262,7 @@ typedef enum {
SNK_INP0,
SNK_INP1,SNK_INP2,SNK_INP3,SNK_INP4,
SNK_INP5,SNK_INP6,SNK_INP7,SNK_INP8,
- SNK_INP9,SNK_INP10,SNK_INP11,
+ SNK_DSW1,SNK_DSW2,SNK_INP9,
SNK_ROT_PLAYER1, SNK_ROT_PLAYER2
} SNK_INPUT_PORT_TYPE;
@@ -290,11 +290,13 @@ static int snk_sound_register;
/*********************************************************************/
-static int snk_rot( running_machine *machine, int which ){
+static int snk_rot( running_machine *machine, int which )
+{
static int last_value[2] = {0, 0};
static int cp_count[2] = {0, 0};
+ static const char *ports[] = { "IN1", "IN2" };
+ int value = input_port_read(machine, ports[which]);
int bttn;
- int value = input_port_read_indexed(machine, which + 1);
/* For Guerilla War we add a 0xf0 value for 1 input read once every 8 rotations.
* 0xf0 isn't a valid direction, but avoids the "joystick error" protection
@@ -317,28 +319,30 @@ static int snk_rot( running_machine *machine, int which ){
}
static int snk_input_port_r( running_machine *machine, int which ){
- switch( snk_io[which] ){
+ switch( snk_io[which] )
+ {
case SNK_INP0:
{
- int value = input_port_read_indexed( machine,0 );
+ int value = input_port_read(machine, "IN0");
if( (snk_sound_register & 0x04) == 0 ) value &= ~snk_sound_busy_bit;
return value;
}
- case SNK_ROT_PLAYER1: return snk_rot( machine, 0 );
- case SNK_ROT_PLAYER2: return snk_rot( machine, 1 );
-
- case SNK_INP1: return input_port_read_indexed(machine, 1);
- case SNK_INP2: return input_port_read_indexed(machine, 2);
- case SNK_INP3: return input_port_read_indexed(machine, 3);
- case SNK_INP4: return input_port_read_indexed(machine, 4);
- case SNK_INP5: return input_port_read_indexed(machine, 5);
- case SNK_INP6: return input_port_read_indexed(machine, 6);
- case SNK_INP7: return input_port_read_indexed(machine, 7);
- case SNK_INP8: return input_port_read_indexed(machine, 8);
- case SNK_INP9: return input_port_read_indexed(machine, 9);
- case SNK_INP10: return input_port_read_indexed(machine, 10);
- case SNK_INP11: return input_port_read_indexed(machine, 11);
+ case SNK_ROT_PLAYER1: return snk_rot(machine, 0);
+ case SNK_ROT_PLAYER2: return snk_rot(machine, 1);
+
+ case SNK_INP1: return input_port_read(machine, "IN1");
+ case SNK_INP2: return input_port_read(machine, "IN2");
+ case SNK_INP3: return input_port_read(machine, "IN3");
+ case SNK_INP4: return input_port_read(machine, "IN4");
+ case SNK_INP5: return input_port_read(machine, "IN5");
+ case SNK_INP6: return input_port_read(machine, "IN6");
+ case SNK_INP7: return input_port_read(machine, "IN7");
+ case SNK_INP8: return input_port_read(machine, "IN8");
+ case SNK_INP9: return input_port_read(machine, "IN9");
+
+ case SNK_DSW1: return input_port_read(machine, "DSW1");
+ case SNK_DSW2: return input_port_read(machine, "DSW2");
default:
logerror("read from unmapped input port:%d\n", which );
@@ -453,23 +457,25 @@ ADDRESS_MAP_END
/********************** Tnk3, Athena, Fighting Golf ********************/
-static READ8_HANDLER( cpuA_io_r ){
- switch( offset ){
- case 0x000: return snk_input_port_r( machine,0 ); // coin input, player start
- case 0x100: return snk_input_port_r( machine,1 ); // joy1
- case 0x180: return snk_input_port_r( machine,2 ); // joy2
- case 0x200: return snk_input_port_r( machine,3 ); // joy3
- case 0x280: return snk_input_port_r( machine,4 ); // joy4
- case 0x300: return snk_input_port_r( machine,5 ); // aim1
- case 0x380: return snk_input_port_r( machine,6 ); // aim2
- case 0x400: return snk_input_port_r( machine,7 ); // aim3
- case 0x480: return snk_input_port_r( machine,8 ); // aim4
- case 0x500: return snk_input_port_r( machine,9 ); // unused by tdfever
- case 0x580: return snk_input_port_r( machine,10 ); // dsw
- case 0x600: return snk_input_port_r( machine,11 ); // dsw
- case 0x080: return snk_input_port_r( machine,12 ); // player start (types C and D in 'fsoccer')
-
- case 0x700: return(snk_cpuB_nmi_trigger_r(machine,0));
+static READ8_HANDLER( cpuA_io_r )
+{
+ switch( offset )
+ {
+ case 0x000: return snk_input_port_r(machine, 0); // coin input, player start
+ case 0x100: return snk_input_port_r(machine, 1); // joy1
+ case 0x180: return snk_input_port_r(machine, 2); // joy2
+ case 0x200: return snk_input_port_r(machine, 3); // joy3
+ case 0x280: return snk_input_port_r(machine, 4); // joy4
+ case 0x300: return snk_input_port_r(machine, 5); // aim1
+ case 0x380: return snk_input_port_r(machine, 6); // aim2
+ case 0x400: return snk_input_port_r(machine, 7); // aim3
+ case 0x480: return snk_input_port_r(machine, 8); // aim4
+ case 0x500: return snk_input_port_r(machine, 9); // unused by tdfever
+ case 0x580: return snk_input_port_r(machine, 10); // dsw
+ case 0x600: return snk_input_port_r(machine, 11); // dsw
+ case 0x080: return snk_input_port_r(machine, 12); // player start (types C and D in 'fsoccer')
+
+ case 0x700: return(snk_cpuB_nmi_trigger_r(machine, 0));
/* "Hard Flags" */
case 0xe00:
@@ -483,8 +489,10 @@ static READ8_HANDLER( cpuA_io_r ){
return io_ram[offset];
}
-static WRITE8_HANDLER( cpuA_io_w ){
- switch( offset ){
+static WRITE8_HANDLER( cpuA_io_w )
+{
+ switch( offset )
+ {
case 0x000:
break;
@@ -503,8 +511,10 @@ static WRITE8_HANDLER( cpuA_io_w ){
}
}
-static READ8_HANDLER( cpuB_io_r ){
- switch( offset ){
+static READ8_HANDLER( cpuB_io_r )
+{
+ switch( offset )
+ {
case 0x000:
case 0x700: return(snk_cpuA_nmi_trigger_r(machine, 0));
@@ -2932,7 +2942,6 @@ ROM_END
/***********************************************************************/
#define SNK_JOY1_PORT \
- PORT_START_TAG("IN1") \
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) \
@@ -2940,7 +2949,6 @@ ROM_END
PORT_BIT( 0xf0, 0x00, IPT_POSITIONAL ) PORT_POSITIONS(12) PORT_WRAPS PORT_SENSITIVITY(5) PORT_KEYDELTA(5) PORT_CODE_DEC(KEYCODE_Z) PORT_CODE_INC(KEYCODE_X) PORT_REVERSE PORT_FULL_TURN_COUNT(12) \
#define SNK_JOY2_PORT \
- PORT_START_TAG("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) \
@@ -2948,7 +2956,6 @@ ROM_END
PORT_BIT( 0xf0, 0x00, IPT_POSITIONAL ) PORT_POSITIONS(12) PORT_WRAPS PORT_SENSITIVITY(5) PORT_KEYDELTA(5) PORT_CODE_DEC(KEYCODE_N) PORT_CODE_INC(KEYCODE_M) PORT_PLAYER(2) PORT_REVERSE PORT_FULL_TURN_COUNT(12)
#define SNK_JOY1_NODIAL_PORT \
- PORT_START_TAG("IN1") \
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) \
@@ -2956,7 +2963,6 @@ ROM_END
PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNKNOWN ) \
#define SNK_JOY2_NODIAL_PORT \
- PORT_START_TAG("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) \
@@ -2964,7 +2970,6 @@ ROM_END
PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNKNOWN )
#define SNK_BUTTON_PORT \
- PORT_START_TAG("IN3") \
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) \
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) \
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) \
@@ -2997,12 +3002,19 @@ static INPUT_PORTS_START( ikari )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
+ PORT_START_TAG("IN1")
SNK_JOY1_PORT
+
+
+ PORT_START_TAG("IN2")
SNK_JOY2_PORT
+
+ PORT_START_TAG("IN3")
SNK_BUTTON_PORT
+
PORT_START_TAG("DSW1")
PORT_DIPNAME( 0x01, 0x01, "Allow killing each other" )
PORT_DIPSETTING( 0x01, DEF_STR( No ) )
@@ -3053,12 +3065,19 @@ static INPUT_PORTS_START( ikarijp )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* tilt? */
+ PORT_START_TAG("IN1")
SNK_JOY1_PORT
+
+
+ PORT_START_TAG("IN2")
SNK_JOY2_PORT
+
+ PORT_START_TAG("IN3")
SNK_BUTTON_PORT
+
PORT_START_TAG("DSW1")
PORT_DIPNAME( 0x01, 0x01, "Allow killing each other" )
PORT_DIPSETTING( 0x01, DEF_STR( No ) )
@@ -3102,18 +3121,18 @@ INPUT_PORTS_END
static INPUT_PORTS_START( ikarijpb )
PORT_INCLUDE(ikarijp)
- PORT_MODIFY("IN1") \
- 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( 0xf0, 0x00, IPT_POSITIONAL ) PORT_POSITIONS(8) PORT_WRAPS PORT_REMAP_TABLE(dial_8_gray) PORT_SENSITIVITY(5) PORT_KEYDELTA(5) PORT_CODE_DEC(KEYCODE_Z) PORT_CODE_INC(KEYCODE_X) PORT_FULL_TURN_COUNT(8) \
+ PORT_MODIFY("IN1")
+ 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( 0xf0, 0x00, IPT_POSITIONAL ) PORT_POSITIONS(8) PORT_WRAPS PORT_REMAP_TABLE(dial_8_gray) PORT_SENSITIVITY(5) PORT_KEYDELTA(5) PORT_CODE_DEC(KEYCODE_Z) PORT_CODE_INC(KEYCODE_X) PORT_FULL_TURN_COUNT(8)
- PORT_MODIFY("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) \
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2) \
+ PORT_MODIFY("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)
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
PORT_BIT( 0xf0, 0x00, IPT_POSITIONAL ) PORT_POSITIONS(8) PORT_WRAPS PORT_REMAP_TABLE(dial_8_gray) PORT_SENSITIVITY(5) PORT_KEYDELTA(5) PORT_CODE_DEC(KEYCODE_N) PORT_CODE_INC(KEYCODE_M) PORT_PLAYER(2) PORT_FULL_TURN_COUNT(8)
INPUT_PORTS_END
@@ -3129,12 +3148,19 @@ static INPUT_PORTS_START( victroad )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
+ PORT_START_TAG("IN1")
SNK_JOY1_PORT
+
+
+ PORT_START_TAG("IN2")
SNK_JOY2_PORT
+
+ PORT_START_TAG("IN3")
SNK_BUTTON_PORT
+
PORT_START_TAG("DSW1")
PORT_DIPNAME( 0x01, 0x01, "Kill friend & walk everywhere (Cheat)")
PORT_DIPSETTING( 0x01, DEF_STR( No ) )
@@ -3186,12 +3212,18 @@ static INPUT_PORTS_START( dogosokj )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
+ PORT_START_TAG("IN1")
SNK_JOY1_NODIAL_PORT
+
+ PORT_START_TAG("IN2")
SNK_JOY2_NODIAL_PORT
+
+ PORT_START_TAG("IN3")
SNK_BUTTON_PORT
+
PORT_START_TAG("DSW1")
PORT_DIPNAME( 0x01, 0x01, "Kill friend & walk everywhere (Cheat)")
PORT_DIPSETTING( 0x01, DEF_STR( No ) )
@@ -3243,12 +3275,19 @@ static INPUT_PORTS_START( gwar )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
+ PORT_START_TAG("IN1")
SNK_JOY1_PORT
+
+
+ PORT_START_TAG("IN2")
SNK_JOY2_PORT
+
+ PORT_START_TAG("IN3")
SNK_BUTTON_PORT
+
PORT_START_TAG("DSW1")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Allow_Continue ) )
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
@@ -3455,12 +3494,19 @@ static INPUT_PORTS_START( bermudat )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
+ PORT_START_TAG("IN1")
SNK_JOY1_PORT
+
+
+ PORT_START_TAG("IN2")
SNK_JOY2_PORT
+
+ PORT_START_TAG("IN3")
SNK_BUTTON_PORT
+
PORT_START_TAG("DSW1")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unused ) )
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
@@ -3499,49 +3545,18 @@ static INPUT_PORTS_START( bermudat )
PORT_DIPSETTING( 0x00, "Time attack 5 minutes" )
INPUT_PORTS_END
-#define BERMWW_COMMON\
- PORT_START_TAG("IN0")\
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* sound CPU status */\
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )\
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* tile? */\
- PORT_SERVICE_NO_TOGGLE(0x08, IP_ACTIVE_LOW)\
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 )\
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )\
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )\
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )\
- SNK_JOY1_PORT\
- SNK_JOY2_PORT\
- SNK_BUTTON_PORT\
- PORT_START_TAG("DSW1")\
- PORT_DIPNAME( 0x01, 0x00, DEF_STR( Allow_Continue ) )\
- PORT_DIPSETTING( 0x01, DEF_STR( No ) )\
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )\
- PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )\
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )\
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )\
- PORT_DIPNAME( 0x04, 0x04, "Bonus Occurrence" )\
- PORT_DIPSETTING( 0x04, "1st & every 2nd" )\
- PORT_DIPSETTING( 0x00, "1st & 2nd only" )\
- PORT_DIPNAME( 0x08, 0x08, DEF_STR( Lives ) )\
- PORT_DIPSETTING( 0x08, "3" )\
- PORT_DIPSETTING( 0x00, "5" )\
- SNK_COINAGE
+static INPUT_PORTS_START( bermudaa )
+ PORT_INCLUDE( bermudat )
+ PORT_MODIFY("IN0")
+ PORT_SERVICE_NO_TOGGLE(0x08, IP_ACTIVE_LOW)
-static INPUT_PORTS_START( bermudaa )
- BERMWW_COMMON
+ PORT_MODIFY("DSW1")
+ PORT_DIPNAME( 0x01, 0x00, DEF_STR( Allow_Continue ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( No ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- PORT_START_TAG("DSW2")
- PORT_DIPNAME( 0x03, 0x02, DEF_STR( Difficulty ) )
- PORT_DIPSETTING( 0x03, DEF_STR( Easy ) )
- PORT_DIPSETTING( 0x02, DEF_STR( Normal ) )
- PORT_DIPSETTING( 0x01, DEF_STR( Hard ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
- PORT_DIPNAME( 0x0c, 0x08, "Game Mode" )
- PORT_DIPSETTING( 0x0c, "Demo Sounds Off" )
- PORT_DIPSETTING( 0x08, "Demo Sounds On" )
- PORT_DIPSETTING( 0x00, "Freeze" )
- PORT_DIPSETTING( 0x04, "Infinite Lives (Cheat)")
+ PORT_MODIFY("DSW2")
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) )
PORT_DIPSETTING( 0x30, "25k 50k" )
PORT_DIPSETTING( 0x20, "35k 70k" )
@@ -3557,30 +3572,14 @@ INPUT_PORTS_END
/* Same as Bermudaa, but has different Bonus Life */
static INPUT_PORTS_START( worldwar )
- BERMWW_COMMON
+ PORT_INCLUDE( bermudaa )
- PORT_START_TAG("DSW2")
- PORT_DIPNAME( 0x03, 0x02, DEF_STR( Difficulty ) )
- PORT_DIPSETTING( 0x03, DEF_STR( Easy ) )
- PORT_DIPSETTING( 0x02, DEF_STR( Normal ) )
- PORT_DIPSETTING( 0x01, DEF_STR( Hard ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
- PORT_DIPNAME( 0x0c, 0x08, "Game Mode" )
- PORT_DIPSETTING( 0x0c, "Demo Sounds Off" )
- PORT_DIPSETTING( 0x08, "Demo Sounds On" )
- PORT_DIPSETTING( 0x00, "Freeze" )
- PORT_DIPSETTING( 0x04, "Infinite Lives (Cheat)")
+ PORT_MODIFY("DSW2")
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) )
PORT_DIPSETTING( 0x30, "50k 100k" )
PORT_DIPSETTING( 0x20, "80k 160k" )
PORT_DIPSETTING( 0x10, "100k 200k" )
PORT_DIPSETTING( 0x00, DEF_STR( None ) )
- 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 ) )
INPUT_PORTS_END
static INPUT_PORTS_START( psychos )
@@ -3604,8 +3603,10 @@ static INPUT_PORTS_START( psychos )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
+ PORT_START_TAG("IN2")
SNK_BUTTON_PORT
+
PORT_START_TAG("DSW1")
PORT_SERVICE( 0x01, IP_ACTIVE_LOW )
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
@@ -3725,12 +3726,18 @@ static INPUT_PORTS_START( choppera )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
+ PORT_START_TAG("IN1")
SNK_JOY1_NODIAL_PORT
+
+ PORT_START_TAG("IN2")
SNK_JOY2_NODIAL_PORT
+
+ PORT_START_TAG("IN3")
SNK_BUTTON_PORT
+
PORT_START_TAG("DSW1")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
@@ -3920,8 +3927,8 @@ static INPUT_PORTS_START( fsoccer )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* sound CPU status */
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start Game A")
- PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_START2 ) PORT_NAME("Start Game B")
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start Game A")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 ) PORT_NAME("Start Game B")
PORT_START_TAG("IN1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
@@ -3947,7 +3954,7 @@ static INPUT_PORTS_START( fsoccer )
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(3)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Start Game E")
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Start Game E")
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(3)
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(3)
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(3)
@@ -4015,15 +4022,15 @@ static INPUT_PORTS_START( fsoccer )
PORT_DIPSETTING( 0x00, "2:10" )
PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
- PORT_START_TAG("IN11")
+ PORT_START_TAG("IN9")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_START3 ) PORT_NAME("Start Game C")
- PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_START4 ) PORT_NAME("Start Game D")
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START3 ) PORT_NAME("Start Game C")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START4 ) PORT_NAME("Start Game D")
INPUT_PORTS_END
static INPUT_PORTS_START( tdfever )
@@ -4156,15 +4163,15 @@ Actual Play Times listed in manual based on Players & cabinet type:
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_START_TAG("IN11")
+ PORT_START_TAG("IN9")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_START3 ) PORT_NAME("Start Game C")
- PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_START4 ) PORT_NAME("Start Game D")
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START3 ) PORT_NAME("Start Game C")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START4 ) PORT_NAME("Start Game D")
INPUT_PORTS_END
static INPUT_PORTS_START( tdfeverj )
@@ -4297,15 +4304,15 @@ Actual Play Times listed in manual based on Players & cabinet type:
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_START_TAG("IN11")
+ PORT_START_TAG("IN9")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_START3 ) PORT_NAME("Start Game C")
- PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_START4 ) PORT_NAME("Start Game D")
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START3 ) PORT_NAME("Start Game C")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START4 ) PORT_NAME("Start Game D")
INPUT_PORTS_END
/***********************************************************************/
@@ -4318,8 +4325,8 @@ static const SNK_INPUT_PORT_TYPE athena_io[SNK_MAX_INPUT_PORTS] = {
/* c200 */ SNK_INP2, SNK_UNUSED,
/* c300 */ SNK_UNUSED, SNK_UNUSED,
/* c400 */ SNK_UNUSED, SNK_UNUSED,
- /* c500 */ SNK_INP3, SNK_UNUSED,
- /* c600 */ SNK_INP4,
+ /* c500 */ SNK_DSW1, SNK_UNUSED,
+ /* c600 */ SNK_DSW2,
/* c080 */ SNK_UNUSED
};
@@ -4329,8 +4336,8 @@ static const SNK_INPUT_PORT_TYPE ikari_io[SNK_MAX_INPUT_PORTS] = {
/* c200 */ SNK_ROT_PLAYER2, SNK_UNUSED,
/* c300 */ SNK_INP3, SNK_UNUSED,
/* c400 */ SNK_UNUSED, SNK_UNUSED,
- /* c500 */ SNK_INP4, SNK_UNUSED,
- /* c600 */ SNK_INP5,
+ /* c500 */ SNK_DSW1, SNK_UNUSED,
+ /* c600 */ SNK_DSW2,
/* c080 */ SNK_UNUSED
};
@@ -4340,8 +4347,8 @@ static const SNK_INPUT_PORT_TYPE choppera_io[SNK_MAX_INPUT_PORTS] = {
/* c200 */ SNK_INP2, SNK_UNUSED,
/* c300 */ SNK_INP3, SNK_UNUSED,
/* c400 */ SNK_UNUSED, SNK_UNUSED,
- /* c500 */ SNK_INP4, SNK_UNUSED,
- /* c600 */ SNK_INP5,
+ /* c500 */ SNK_DSW1, SNK_UNUSED,
+ /* c600 */ SNK_DSW2,
/* c080 */ SNK_UNUSED
};
@@ -4350,9 +4357,9 @@ static const SNK_INPUT_PORT_TYPE fsoccer_io[SNK_MAX_INPUT_PORTS] = {
/* c100 */ SNK_INP1, SNK_INP2, SNK_INP3, SNK_INP4, /* joy1..joy4 */
/* c300 */ SNK_INP5, SNK_INP6, SNK_INP7, SNK_INP8, /* aim1..aim4 */
/* c500 */ SNK_UNUSED,
- /* c580 */ SNK_INP9, /* DSW1 */
- /* c600 */ SNK_INP10, /* DSW2 */
- /* c080 */ SNK_INP11 /* Start games type C & D */
+ /* c580 */ SNK_DSW1, /* DSW1 */
+ /* c600 */ SNK_DSW2, /* DSW2 */
+ /* c080 */ SNK_INP9 /* Start games type C & D */
};
static const SNK_INPUT_PORT_TYPE tdfever_io[SNK_MAX_INPUT_PORTS] = {
@@ -4360,9 +4367,9 @@ static const SNK_INPUT_PORT_TYPE tdfever_io[SNK_MAX_INPUT_PORTS] = {
/* c100 */ SNK_INP1, SNK_INP2, SNK_INP3, SNK_INP4, /* joy1..joy4 */
/* c300 */ SNK_INP5, SNK_INP6, SNK_INP7, SNK_INP8, /* aim1..aim4 */
/* c500 */ SNK_UNUSED,
- /* c580 */ SNK_INP9, /* DSW1 */
- /* c600 */ SNK_INP10, /* DSW2 */
- /* c080 */ SNK_INP11 /* Start games type C & D */
+ /* c580 */ SNK_DSW1, /* DSW1 */
+ /* c600 */ SNK_DSW2, /* DSW2 */
+ /* c080 */ SNK_INP9 /* Start games type C & D */
};
static DRIVER_INIT( ikari ){
diff --git a/src/mame/drivers/taito_b.c b/src/mame/drivers/taito_b.c
index 3c62c4f46e3..e239dda4d8e 100644
--- a/src/mame/drivers/taito_b.c
+++ b/src/mame/drivers/taito_b.c
@@ -708,9 +708,9 @@ static ADDRESS_MAP_START( pbobble_readmem, ADDRESS_SPACE_PROGRAM, 16 )
TC0180VCU_MEMR( 0x400000 )
AM_RANGE(0x500000, 0x50000f) AM_READ(pbobble_input_bypass_r)
- AM_RANGE(0x500024, 0x500025) AM_READ_PORT("IN5") /* shown in service mode, game omits to read it */
+ AM_RANGE(0x500024, 0x500025) AM_READ_PORT("IN3") /* shown in service mode, game omits to read it */
AM_RANGE(0x500026, 0x500027) AM_READ(eep_latch_r) /* not read by this game */
- AM_RANGE(0x50002e, 0x50002f) AM_READ_PORT("IN6") /* shown in service mode, game omits to read it */
+ AM_RANGE(0x50002e, 0x50002f) AM_READ_PORT("IN4") /* shown in service mode, game omits to read it */
AM_RANGE(0x700000, 0x700001) AM_READ(SMH_NOP)
AM_RANGE(0x700002, 0x700003) AM_READ(taitosound_comm16_msb_r)
@@ -742,9 +742,9 @@ static ADDRESS_MAP_START( spacedx_readmem, ADDRESS_SPACE_PROGRAM, 16 )
TC0180VCU_MEMR( 0x400000 )
AM_RANGE(0x500000, 0x50000f) AM_READ(pbobble_input_bypass_r)
- AM_RANGE(0x500024, 0x500025) AM_READ_PORT("IN5")
+ AM_RANGE(0x500024, 0x500025) AM_READ_PORT("IN3")
AM_RANGE(0x500026, 0x500027) AM_READ(eep_latch_r)
- AM_RANGE(0x50002e, 0x50002f) AM_READ_PORT("IN6")
+ AM_RANGE(0x50002e, 0x50002f) AM_READ_PORT("IN4")
AM_RANGE(0x700000, 0x700001) AM_READ(SMH_NOP)
AM_RANGE(0x700002, 0x700003) AM_READ(taitosound_comm16_msb_r)
@@ -776,9 +776,9 @@ static ADDRESS_MAP_START( spacedxo_readmem, ADDRESS_SPACE_PROGRAM, 16 )
TC0180VCU_MEMR( 0x500000 )
AM_RANGE(0x200000, 0x20000f) AM_READ(TC0220IOC_halfword_r)
- AM_RANGE(0x210000, 0x210001) AM_READ_PORT("IN5")
- AM_RANGE(0x220000, 0x220001) AM_READ_PORT("IN6")
- AM_RANGE(0x230000, 0x230001) AM_READ_PORT("IN7")
+ AM_RANGE(0x210000, 0x210001) AM_READ_PORT("IN3")
+ AM_RANGE(0x220000, 0x220001) AM_READ_PORT("IN4")
+ AM_RANGE(0x230000, 0x230001) AM_READ_PORT("IN5")
AM_RANGE(0x100000, 0x100001) AM_READ(SMH_NOP)
AM_RANGE(0x100002, 0x100003) AM_READ(taitosound_comm16_msb_r)
@@ -807,9 +807,9 @@ static ADDRESS_MAP_START( qzshowby_readmem, ADDRESS_SPACE_PROGRAM, 16 )
TC0180VCU_MEMR( 0x400000 )
AM_RANGE(0x200000, 0x20000f) AM_READ(pbobble_input_bypass_r)
- AM_RANGE(0x200024, 0x200025) AM_READ_PORT("IN5") /* player 3,4 start */
+ AM_RANGE(0x200024, 0x200025) AM_READ_PORT("IN3") /* player 3,4 start */
AM_RANGE(0x200028, 0x200029) AM_READ(player_34_coin_ctrl_r)
- AM_RANGE(0x20002e, 0x20002f) AM_READ_PORT("IN6") /* player 3,4 buttons */
+ AM_RANGE(0x20002e, 0x20002f) AM_READ_PORT("IN4") /* player 3,4 buttons */
AM_RANGE(0x600000, 0x600001) AM_READ(SMH_NOP)
AM_RANGE(0x600002, 0x600003) AM_READ(taitosound_comm16_msb_r)
@@ -902,9 +902,9 @@ static ADDRESS_MAP_START( silentd_readmem, ADDRESS_SPACE_PROGRAM, 16 )
TC0180VCU_MEMR( 0x500000 )
AM_RANGE(0x200000, 0x20000f) AM_READ(TC0220IOC_halfword_r)
- AM_RANGE(0x210000, 0x210001) AM_READ_PORT("IN5")
- AM_RANGE(0x220000, 0x220001) AM_READ_PORT("IN6")
- AM_RANGE(0x230000, 0x230001) AM_READ_PORT("IN7")
+ AM_RANGE(0x210000, 0x210001) AM_READ_PORT("IN3")
+ AM_RANGE(0x220000, 0x220001) AM_READ_PORT("IN4")
+ AM_RANGE(0x230000, 0x230001) AM_READ_PORT("IN5")
// AM_RANGE(0x240000, 0x240001) AM_READ(SMH_NOP) /* read 4 times at init */
AM_RANGE(0x100000, 0x100001) AM_READ(SMH_NOP)
@@ -1657,8 +1657,9 @@ INPUT_PORTS_END
/* Helps document the input ports. */
+/* Tags below are the ones expected by TC0640FIO_r */
static INPUT_PORTS_START( pbobble ) /* Missing P3&4 controls ! */
- PORT_START_TAG("IN0")
+ PORT_START_TAG("DSWA")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /*unused in test mode*/
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /*unused in test mode*/
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /*unused in test mode*/
@@ -1668,7 +1669,7 @@ static INPUT_PORTS_START( pbobble ) /* Missing P3&4 controls ! */
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /*unused in test mode*/
PORT_SERVICE_NO_TOGGLE( 0x80, IP_ACTIVE_LOW ) /*ok*/
- PORT_START_TAG("IN1")
+ PORT_START_TAG("DSWB")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@@ -1678,7 +1679,7 @@ static INPUT_PORTS_START( pbobble ) /* Missing P3&4 controls ! */
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_IMPULSE(2) /*ok*/
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN4 ) PORT_IMPULSE(2) /*ok*/
- PORT_START_TAG("IN2")
+ PORT_START_TAG("IN0")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE2 )
@@ -1688,7 +1689,7 @@ static INPUT_PORTS_START( pbobble ) /* Missing P3&4 controls ! */
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START3 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START4 )
- PORT_START_TAG("IN3")
+ PORT_START_TAG("IN1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
@@ -1698,7 +1699,7 @@ static INPUT_PORTS_START( pbobble ) /* Missing P3&4 controls ! */
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) /*unused in test mode*/
- PORT_START_TAG("IN4")
+ PORT_START_TAG("IN2")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
@@ -1708,7 +1709,7 @@ static INPUT_PORTS_START( pbobble ) /* Missing P3&4 controls ! */
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
- PORT_START_TAG("IN5")
+ PORT_START_TAG("IN3")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(3)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(3)
@@ -1718,7 +1719,7 @@ static INPUT_PORTS_START( pbobble ) /* Missing P3&4 controls ! */
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(4)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) /*unused in test mode*/
- PORT_START_TAG("IN6")
+ PORT_START_TAG("IN4")
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)
@@ -1783,7 +1784,7 @@ static INPUT_PORTS_START( spacedxo )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
- PORT_START_TAG("IN5")
+ PORT_START_TAG("IN3")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START3 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(3)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(3)
@@ -1793,7 +1794,7 @@ static INPUT_PORTS_START( spacedxo )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(3)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(3)
- PORT_START_TAG("IN6")
+ PORT_START_TAG("IN4")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START4 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(4)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(4)
@@ -1803,7 +1804,7 @@ static INPUT_PORTS_START( spacedxo )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(4)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(4)
- PORT_START_TAG("IN7")
+ PORT_START_TAG("IN5")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_IMPULSE(2)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN4 ) PORT_IMPULSE(2)
@@ -1814,8 +1815,9 @@ static INPUT_PORTS_START( spacedxo )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
INPUT_PORTS_END
+/* Tags below are the ones expected by TC0640FIO_r */
static INPUT_PORTS_START( qzshowby )
- PORT_START_TAG("IN0")
+ PORT_START_TAG("DSWA")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /*unused in test mode*/
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /*unused in test mode*/
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /*unused in test mode*/
@@ -1825,7 +1827,7 @@ static INPUT_PORTS_START( qzshowby )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /*unused in test mode*/
PORT_SERVICE_NO_TOGGLE( 0x80, IP_ACTIVE_LOW ) /*ok*/
- PORT_START_TAG("IN1")
+ PORT_START_TAG("DSWB")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@@ -1835,7 +1837,7 @@ static INPUT_PORTS_START( qzshowby )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_IMPULSE(2) /*ok*/
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN4 ) PORT_IMPULSE(2) /*ok*/
- PORT_START_TAG("IN2") /* IN0 */ /*all OK*/
+ PORT_START_TAG("IN0") /* IN0 */ /*all OK*/
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE2 )
@@ -1845,7 +1847,7 @@ static INPUT_PORTS_START( qzshowby )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START3 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START4 )
- PORT_START_TAG("IN3") /* IN 1 */ /*all OK*/
+ PORT_START_TAG("IN1") /* IN 1 */ /*all OK*/
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* IPT_START1 in test mode */
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@@ -1855,7 +1857,7 @@ static INPUT_PORTS_START( qzshowby )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START_TAG("IN4") /* IN2 */ /*all OK*/
+ PORT_START_TAG("IN2") /* IN2 */ /*all OK*/
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1)
@@ -1865,7 +1867,7 @@ static INPUT_PORTS_START( qzshowby )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
- PORT_START_TAG("IN5")
+ PORT_START_TAG("IN3")
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* IPT_START3 in test mode */
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
@@ -1875,7 +1877,7 @@ static INPUT_PORTS_START( qzshowby )
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START_TAG("IN6")
+ PORT_START_TAG("IN4")
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3)
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(3)
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(3)
@@ -2005,7 +2007,7 @@ static INPUT_PORTS_START( silentd ) /* World Version */
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
- PORT_START_TAG("IN5")
+ PORT_START_TAG("IN3")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START3 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(3)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(3)
@@ -2015,7 +2017,7 @@ static INPUT_PORTS_START( silentd ) /* World Version */
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(3)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(3)
- PORT_START_TAG("IN6")
+ PORT_START_TAG("IN4")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START4 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(4)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(4)
@@ -2025,7 +2027,7 @@ static INPUT_PORTS_START( silentd ) /* World Version */
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(4)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(4)
- PORT_START_TAG("IN7")
+ PORT_START_TAG("IN5")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_IMPULSE(2)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_IMPULSE(2) PORT_NAME ("Coin 3 2nd input")/*not sure if this is legal under MAME*/
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN4 ) PORT_IMPULSE(2)
@@ -2091,7 +2093,7 @@ static INPUT_PORTS_START( silentdj )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
- PORT_START_TAG("IN5")
+ PORT_START_TAG("IN3")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START3 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(3)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(3)
@@ -2101,7 +2103,7 @@ static INPUT_PORTS_START( silentdj )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(3)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(3)
- PORT_START_TAG("IN6")
+ PORT_START_TAG("IN4")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START4 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(4)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(4)
@@ -2111,7 +2113,7 @@ static INPUT_PORTS_START( silentdj )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(4)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(4)
- PORT_START_TAG("IN7")
+ PORT_START_TAG("IN5")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_IMPULSE(2)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_IMPULSE(2) PORT_NAME ("Coin 3 2nd input")/*not sure if this is legal under MAME*/
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN4 ) PORT_IMPULSE(2)
diff --git a/src/mame/drivers/taito_h.c b/src/mame/drivers/taito_h.c
index d60b657cedb..4488994f9e3 100644
--- a/src/mame/drivers/taito_h.c
+++ b/src/mame/drivers/taito_h.c
@@ -412,6 +412,9 @@ static INPUT_PORTS_START( syvalion )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_START_TAG("IN2")
+ PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
+
PORT_START_TAG(P1TRACKX_PORT_TAG)
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_X ) PORT_SENSITIVITY(30) PORT_KEYDELTA(30) PORT_RESET PORT_PLAYER(1)
diff --git a/src/mame/drivers/taitoair.c b/src/mame/drivers/taitoair.c
index 965c43ab8b4..b63fa529580 100644
--- a/src/mame/drivers/taitoair.c
+++ b/src/mame/drivers/taitoair.c
@@ -467,6 +467,9 @@ static INPUT_PORTS_START( topland )
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Freeze") PORT_CODE(KEYCODE_F1)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_START_TAG("IN2")
+ PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
+
/* The range of these sticks reflects the range test mode displays.
Eventually we want standard 0-0xff input range and a scale-up later
in the stick_r routines. And fake DSW with self-centering option
@@ -529,6 +532,9 @@ static INPUT_PORTS_START( ainferno )
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Freeze") PORT_CODE(KEYCODE_F1)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_START_TAG("IN2")
+ PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
+
/* The range of these sticks reflects the range test mode displays.
Eventually we want standard 0-0xff input range and a scale-up later
in the stick_r routines. And fake DSW with self-centering option
diff --git a/src/mame/drivers/thief.c b/src/mame/drivers/thief.c
index 98dd94b9b5b..dfafdc26016 100644
--- a/src/mame/drivers/thief.c
+++ b/src/mame/drivers/thief.c
@@ -53,7 +53,7 @@ VIDEO_UPDATE( thief );
static INTERRUPT_GEN( thief_interrupt )
{
/* SLAM switch causes an NMI if it's pressed */
- if( (input_port_read_indexed(machine, 3) & 0x10) == 0 )
+ if( (input_port_read(machine, "P2") & 0x10) == 0 )
cpunum_set_input_line(machine, 0, INPUT_LINE_NMI, PULSE_LINE);
else
cpunum_set_input_line(machine, 0, 0, HOLD_LINE);
@@ -158,10 +158,10 @@ static READ8_HANDLER( thief_io_r )
{
switch( thief_input_select )
{
- case 0x01: return input_port_read_indexed(machine, 0); /* dsw#1 */
- case 0x02: return input_port_read_indexed(machine, 1); /* dsw#2 */
- case 0x04: return input_port_read_indexed(machine, 2); /* inp#1 */
- case 0x08: return input_port_read_indexed(machine, 3); /* inp#2 */
+ case 0x01: return input_port_read(machine, "DSW1");
+ case 0x02: return input_port_read(machine, "DSW2");
+ case 0x04: return input_port_read(machine, "P1");
+ case 0x08: return input_port_read(machine, "P2");
}
return 0x00;
}
@@ -219,13 +219,13 @@ ADDRESS_MAP_END
/**********************************************************/
static INPUT_PORTS_START( sharkatt )
- PORT_START /* IN0 */
+ PORT_START_TAG("DSW1") /* IN0 */
PORT_DIPNAME( 0x7f, 0x7f, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x7f, DEF_STR( 1C_1C ) ) // if any are set
PORT_SERVICE( 0x80, IP_ACTIVE_HIGH )
- PORT_START /* IN1 */
+ PORT_START_TAG("DSW2") /* IN1 */
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x00, "3" )
PORT_DIPSETTING( 0x01, "4" )
@@ -250,7 +250,7 @@ static INPUT_PORTS_START( sharkatt )
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
PORT_DIPSETTING( 0x80, DEF_STR( Yes ) )
- PORT_START /* IN2 */
+ PORT_START_TAG("P1") /* IN2 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
@@ -260,7 +260,7 @@ static INPUT_PORTS_START( sharkatt )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON2 )
- PORT_START /* IN3 */
+ PORT_START_TAG("P2") /* IN3 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
@@ -272,7 +272,7 @@ static INPUT_PORTS_START( sharkatt )
INPUT_PORTS_END
static INPUT_PORTS_START( thief )
- PORT_START
+ PORT_START_TAG("DSW1")
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
@@ -296,7 +296,7 @@ static INPUT_PORTS_START( thief )
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
PORT_DIPSETTING( 0x80, DEF_STR( Yes ) )
- PORT_START
+ PORT_START_TAG("DSW2")
PORT_DIPNAME( 0x0f, 0x00, DEF_STR( Bonus_Life ) )
PORT_DIPSETTING( 0x00|0x0c, "10K" )
PORT_DIPSETTING( 0x01|0x0c, "20K" )
@@ -319,7 +319,7 @@ static INPUT_PORTS_START( thief )
PORT_DIPSETTING( 0x80|0x60, "I/O Board Test" )
PORT_DIPSETTING( 0x80|0x70, "Reserved" )
- PORT_START
+ PORT_START_TAG("P1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
@@ -329,7 +329,7 @@ static INPUT_PORTS_START( thief )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START
+ PORT_START_TAG("P2")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
@@ -341,7 +341,7 @@ static INPUT_PORTS_START( thief )
INPUT_PORTS_END
static INPUT_PORTS_START( natodef )
- PORT_START
+ PORT_START_TAG("DSW1")
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
@@ -364,7 +364,7 @@ static INPUT_PORTS_START( natodef )
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
PORT_DIPSETTING( 0x80, DEF_STR( Yes ) )
- PORT_START
+ PORT_START_TAG("DSW2")
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Demo_Sounds ) )
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@@ -386,7 +386,7 @@ static INPUT_PORTS_START( natodef )
PORT_DIPSETTING( 0x80|0x60, "I/O Board Test" )
PORT_DIPSETTING( 0x80|0x70, "Reserved" )
- PORT_START
+ PORT_START_TAG("P1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
@@ -396,7 +396,7 @@ static INPUT_PORTS_START( natodef )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START
+ PORT_START_TAG("P2")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
diff --git a/src/mame/drivers/ultratnk.c b/src/mame/drivers/ultratnk.c
index e689e231dc4..bdc2640a45f 100644
--- a/src/mame/drivers/ultratnk.c
+++ b/src/mame/drivers/ultratnk.c
@@ -52,9 +52,9 @@ static TIMER_CALLBACK( nmi_callback )
/* NMI and watchdog are disabled during service mode */
- watchdog_enable(machine, input_port_read_indexed(machine, 0) & 0x40);
+ watchdog_enable(machine, input_port_read(machine, "IN0") & 0x40);
- if (input_port_read_indexed(machine, 0) & 0x40)
+ if (input_port_read(machine, "IN0") & 0x40)
cpunum_set_input_line(machine, 0, INPUT_LINE_NMI, PULSE_LINE);
timer_set(video_screen_get_time_until_pos(machine->primary_screen, scanline, 0), NULL, scanline, nmi_callback);
@@ -153,8 +153,8 @@ static ADDRESS_MAP_START( ultratnk_cpu_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0080, 0x00ff) AM_MIRROR(0x700) AM_READWRITE(ultratnk_wram_r, ultratnk_wram_w)
AM_RANGE(0x0800, 0x0bff) AM_MIRROR(0x400) AM_RAM_WRITE(ultratnk_video_ram_w) AM_BASE(&videoram)
- AM_RANGE(0x1000, 0x17ff) AM_READ(input_port_0_r)
- AM_RANGE(0x1800, 0x1fff) AM_READ(input_port_1_r)
+ AM_RANGE(0x1000, 0x17ff) AM_READ_PORT("IN0")
+ AM_RANGE(0x1800, 0x1fff) AM_READ_PORT("IN1")
AM_RANGE(0x2000, 0x2007) AM_MIRROR(0x718) AM_READ(ultratnk_analog_r)
AM_RANGE(0x2020, 0x2027) AM_MIRROR(0x718) AM_READ(ultratnk_coin_r)
@@ -179,7 +179,6 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( ultratnk )
-
PORT_START_TAG("IN0")
PORT_SERVICE( 0x40, IP_ACTIVE_LOW )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_VBLANK )
diff --git a/src/mame/drivers/ultrsprt.c b/src/mame/drivers/ultrsprt.c
index 6fdcd60434f..c108b2b6d02 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_indexed(machine, 6) << 3)) << 24;
+ r |= (((eeprom_read_bit()) << 1) | (input_port_read(machine, "SERVICE") << 3)) << 24;
return r;
}
@@ -69,12 +69,12 @@ static WRITE32_HANDLER( eeprom_w )
static READ32_HANDLER( control1_r )
{
- return (input_port_read_indexed(machine, 0) << 28) | ((input_port_read_indexed(machine, 1) & 0xfff) << 16) | (input_port_read_indexed(machine, 2) & 0xfff);
+ 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_indexed(machine, 3) << 28) | ((input_port_read_indexed(machine, 4) & 0xfff) << 16) | (input_port_read_indexed(machine, 5) & 0xfff);
+ return (input_port_read(machine, "P2") << 28) | ((input_port_read(machine, "STICKX2") & 0xfff) << 16) | (input_port_read(machine, "STICKY2") & 0xfff);
}
static WRITE32_HANDLER( int_ack_w )
@@ -178,29 +178,29 @@ ADDRESS_MAP_END
/*****************************************************************************/
static INPUT_PORTS_START( ultrsprt )
- PORT_START
+ PORT_START_TAG("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_START
+ PORT_START_TAG("STICKX1")
PORT_BIT( 0xfff, 0x800, IPT_AD_STICK_X ) PORT_MINMAX(0x000,0xfff) PORT_SENSITIVITY(70) PORT_KEYDELTA(10) PORT_PLAYER(1)
- PORT_START
+ PORT_START_TAG("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
+ PORT_START_TAG("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
+ PORT_START_TAG("STICKX2")
PORT_BIT( 0xfff, 0x800, IPT_AD_STICK_X ) PORT_MINMAX(0x000,0xfff) PORT_SENSITIVITY(70) PORT_KEYDELTA(10) PORT_PLAYER(2)
- PORT_START
+ PORT_START_TAG("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
+ PORT_START_TAG("SERVICE")
PORT_SERVICE_NO_TOGGLE( 0x1, IP_ACTIVE_LOW )
INPUT_PORTS_END
diff --git a/src/mame/drivers/undrfire.c b/src/mame/drivers/undrfire.c
index 278194421b4..aba8b08b053 100644
--- a/src/mame/drivers/undrfire.c
+++ b/src/mame/drivers/undrfire.c
@@ -291,13 +291,13 @@ static READ32_HANDLER( undrfire_input_r )
{
case 0x00:
{
- return (input_port_read_indexed(machine,0) << 16) | input_port_read_indexed(machine,1) |
+ return (input_port_read(machine, "IN0") << 16) | input_port_read(machine, "IN1") |
(eeprom_read_bit() << 7) | frame_counter;
}
case 0x01:
{
- return input_port_read_indexed(machine,2) | (coin_word << 16);
+ return input_port_read(machine, "IN2") | (coin_word << 16);
}
}
@@ -405,8 +405,8 @@ static READ32_HANDLER( undrfire_lightgun_r )
case 0x00: /* P1 */
{
- x = input_port_read_indexed(machine,3) << 6;
- y = input_port_read_indexed(machine,4) << 6;
+ x = input_port_read(machine, "GUNX1") << 6;
+ y = input_port_read(machine, "GUNY1") << 6;
return ((x << 24) &0xff000000) | ((x << 8) &0xff0000)
| ((y << 8) &0xff00) | ((y >> 8) &0xff) ;
@@ -414,8 +414,8 @@ static READ32_HANDLER( undrfire_lightgun_r )
case 0x01: /* P2 */
{
- x = input_port_read_indexed(machine,5) << 6;
- y = input_port_read_indexed(machine,6) << 6;
+ x = input_port_read(machine, "GUNX2") << 6;
+ y = input_port_read(machine, "GUNY2") << 6;
return ((x << 24) &0xff000000) | ((x << 8) &0xff0000)
| ((y << 8) &0xff00) | ((y >> 8) &0xff) ;
@@ -471,7 +471,7 @@ static WRITE32_HANDLER( cbombers_cpua_ctrl_w )
static READ32_HANDLER( cbombers_adc_r )
{
- return (input_port_read_indexed(machine, 3) << 24);
+ return (input_port_read(machine, "STEER") << 24);
}
static WRITE32_HANDLER( cbombers_adc_w )
@@ -587,16 +587,16 @@ static INPUT_PORTS_START( undrfire )
/* Gun inputs (real range is 0-0xffff: we use standard 0-255 and shift later) */
- PORT_START_TAG("IN3") /* IN 3, P1X */
+ PORT_START_TAG("GUNX1") /* IN 3, P1X */
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_TAG("IN4") /* IN 4, P1Y */
+ PORT_START_TAG("GUNY1") /* IN 4, P1Y */
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_TAG("IN5") /* IN 5, P2X */
+ PORT_START_TAG("GUNX2") /* IN 5, P2X */
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_TAG("IN6") /* IN 6, P2Y */
+ PORT_START_TAG("GUNY2") /* IN 6, P2Y */
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_TAG("FAKE")
@@ -654,7 +654,7 @@ static INPUT_PORTS_START( cbombers )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START_TAG("IN3") /* IN 3, steering wheel */
+ PORT_START_TAG("STEER") /* IN 3, steering wheel */
PORT_BIT( 0xff, 0x7f, IPT_AD_STICK_X ) PORT_SENSITIVITY(25) PORT_KEYDELTA(15) PORT_REVERSE PORT_PLAYER(1)
INPUT_PORTS_END
diff --git a/src/mame/drivers/vamphalf.c b/src/mame/drivers/vamphalf.c
index a9396f3177d..0b31d098985 100644
--- a/src/mame/drivers/vamphalf.c
+++ b/src/mame/drivers/vamphalf.c
@@ -202,12 +202,12 @@ F94B
static READ32_HANDLER( finalgdr_input0_r )
{
- return input_port_read_indexed(machine, 0) << 16;
+ return input_port_read(machine, "P1_P2") << 16;
}
static READ32_HANDLER( finalgdr_input1_r )
{
- return input_port_read_indexed(machine, 1) << 16;
+ return input_port_read(machine, "SYSTEM") << 16;
}
static WRITE32_HANDLER( finalgdr_oki_bank_w )
@@ -268,23 +268,23 @@ static ADDRESS_MAP_START( vamphalf_io, ADDRESS_SPACE_IO, 16 )
AM_RANGE(0x144, 0x147) AM_READWRITE(ym2151_status_r, ym2151_data_w)
AM_RANGE(0x1c0, 0x1c3) AM_READ(eeprom_r)
AM_RANGE(0x240, 0x243) AM_WRITE(flipscreen_w)
- AM_RANGE(0x600, 0x603) AM_READ(input_port_1_word_r)
- AM_RANGE(0x604, 0x607) AM_READ(input_port_0_word_r)
+ AM_RANGE(0x600, 0x603) AM_READ_PORT("SYSTEM")
+ AM_RANGE(0x604, 0x607) AM_READ_PORT("P1_P2")
AM_RANGE(0x608, 0x60b) AM_WRITE(eeprom_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START( misncrft_io, ADDRESS_SPACE_IO, 16 )
AM_RANGE(0x100, 0x103) AM_WRITE(flipscreen_w)
- AM_RANGE(0x200, 0x203) AM_READ(input_port_0_word_r)
- AM_RANGE(0x240, 0x243) AM_READ(input_port_1_word_r)
+ AM_RANGE(0x200, 0x203) AM_READ_PORT("P1_P2")
+ AM_RANGE(0x240, 0x243) AM_READ_PORT("SYSTEM")
AM_RANGE(0x3c0, 0x3c3) AM_WRITE(eeprom_w)
AM_RANGE(0x580, 0x583) AM_READ(eeprom_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( coolmini_io, ADDRESS_SPACE_IO, 16 )
AM_RANGE(0x200, 0x203) AM_WRITE(flipscreen_w)
- AM_RANGE(0x300, 0x303) AM_READ(input_port_1_word_r)
- AM_RANGE(0x304, 0x307) AM_READ(input_port_0_word_r)
+ AM_RANGE(0x300, 0x303) AM_READ_PORT("SYSTEM")
+ AM_RANGE(0x304, 0x307) AM_READ_PORT("P1_P2")
AM_RANGE(0x308, 0x30b) AM_WRITE(eeprom_w)
AM_RANGE(0x4c0, 0x4c3) AM_READWRITE(oki_r, oki_w)
AM_RANGE(0x540, 0x543) AM_WRITE(ym2151_register_w)
@@ -294,8 +294,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( suplup_io, ADDRESS_SPACE_IO, 16 )
AM_RANGE(0x020, 0x023) AM_WRITE(eeprom_w)
- AM_RANGE(0x040, 0x043) AM_READ(input_port_0_word_r)
- AM_RANGE(0x060, 0x063) AM_READ(input_port_1_word_r)
+ AM_RANGE(0x040, 0x043) AM_READ_PORT("P1_P2")
+ AM_RANGE(0x060, 0x063) AM_READ_PORT("SYSTEM")
AM_RANGE(0x080, 0x083) AM_READWRITE(oki_r, oki_w)
AM_RANGE(0x0c0, 0x0c3) AM_WRITE(ym2151_register_w)
AM_RANGE(0x0c4, 0x0c7) AM_READWRITE(ym2151_status_r, ym2151_data_w)
@@ -305,8 +305,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( wyvernwg_io, ADDRESS_SPACE_IO, 32 )
AM_RANGE(0x1800, 0x1803) AM_READWRITE(wyvernwg_prot_r, wyvernwg_prot_w)
AM_RANGE(0x2000, 0x2003) AM_WRITE(flipscreen32_w)
- AM_RANGE(0x2800, 0x2803) AM_READ(input_port_0_dword_r)
- AM_RANGE(0x3000, 0x3003) AM_READ(input_port_1_dword_r)
+ AM_RANGE(0x2800, 0x2803) AM_READ_PORT("P1_P2")
+ AM_RANGE(0x3000, 0x3003) AM_READ_PORT("SYSTEM")
AM_RANGE(0x5400, 0x5403) AM_WRITENOP // soundlatch
AM_RANGE(0x7000, 0x7003) AM_WRITE(eeprom32_w)
AM_RANGE(0x7c00, 0x7c03) AM_READ(eeprom32_r)
@@ -435,7 +435,7 @@ static VIDEO_UPDATE( common )
static INPUT_PORTS_START( common )
- PORT_START
+ PORT_START_TAG("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)
@@ -453,7 +453,7 @@ static INPUT_PORTS_START( common )
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2)
- PORT_START
+ PORT_START_TAG("SYSTEM")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_COIN2 )
@@ -466,34 +466,19 @@ static INPUT_PORTS_START( common )
INPUT_PORTS_END
static INPUT_PORTS_START( finalgdr )
- PORT_START
- 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_INCLUDE( common )
+
+ PORT_MODIFY("P1_P2")
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 )
- 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_START2 )
- PORT_START
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
+ 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( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_SERVICE_NO_TOGGLE( 0x0080, IP_ACTIVE_LOW )
- PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
INPUT_PORTS_END
diff --git a/src/mame/drivers/vaportra.c b/src/mame/drivers/vaportra.c
index 0aa3969d75d..a78dce372e5 100644
--- a/src/mame/drivers/vaportra.c
+++ b/src/mame/drivers/vaportra.c
@@ -5,7 +5,7 @@
Kuhga (Japanese version) (c) 1989 Data East Corporation
Emulation by Bryan McPhail, mish@tendril.co.uk
- added pal & prom-maps - Highwayman.
+ added pal & prom-maps - Highwayman.
***************************************************************************/
#include "driver.h"
@@ -37,11 +37,11 @@ static READ16_HANDLER( vaportra_control_r )
switch (offset<<1)
{
case 4: /* Dip Switches */
- return (input_port_read_indexed(machine, 4) + (input_port_read_indexed(machine, 3) << 8));
+ return (input_port_read(machine, "DSW2") + (input_port_read(machine, "DSW1") << 8));
case 2: /* Credits */
- return input_port_read_indexed(machine, 2);
+ return input_port_read(machine, "COINS");
case 0: /* Player 1 & Player 2 joysticks & fire buttons */
- return (input_port_read_indexed(machine, 0) + (input_port_read_indexed(machine, 1) << 8));
+ return (input_port_read(machine, "P1") + (input_port_read(machine, "P2") << 8));
}
logerror("Unknown control read at %d\n",offset);
@@ -117,7 +117,7 @@ ADDRESS_MAP_END
/******************************************************************************/
static INPUT_PORTS_START( vaportra )
- PORT_START /* Player 1 controls */
+ PORT_START_TAG("P1") /* Player 1 controls */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
@@ -127,7 +127,7 @@ static INPUT_PORTS_START( vaportra )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
- PORT_START /* Player 2 controls */
+ PORT_START_TAG("P2") /* Player 2 controls */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
@@ -137,7 +137,7 @@ static INPUT_PORTS_START( vaportra )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
- PORT_START /* Credits */
+ PORT_START_TAG("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 )
@@ -147,7 +147,7 @@ static INPUT_PORTS_START( vaportra )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START /* Dip switch bank 1 */
+ PORT_START_TAG("DSW1") /* Dip switch bank 1 */
PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coin_A ) )
PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) )
@@ -171,7 +171,7 @@ static INPUT_PORTS_START( vaportra )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
- PORT_START /* Dip switch bank 2 */
+ PORT_START_TAG("DSW2") /* Dip switch bank 2 */
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x00, "2" )
PORT_DIPSETTING( 0x03, "3" )
diff --git a/src/mame/drivers/vegaeo.c b/src/mame/drivers/vegaeo.c
index 1c0673f12a3..13ce74e1a55 100644
--- a/src/mame/drivers/vegaeo.c
+++ b/src/mame/drivers/vegaeo.c
@@ -77,8 +77,9 @@ static WRITE32_HANDLER( vega_misc_w )
static READ32_HANDLER( vegaeo_custom_read )
{
eolith_speedup_read();
- return input_port_read_indexed(machine, 0);
+ return input_port_read(machine, "SYSTEM");
}
+
static ADDRESS_MAP_START( vega_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x00000000, 0x001fffff) AM_RAM
AM_RANGE(0x80000000, 0x80013fff) AM_READWRITE(vega_vram_r, vega_vram_w)
@@ -88,13 +89,13 @@ static ADDRESS_MAP_START( vega_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0xfc600000, 0xfc600003) AM_WRITENOP // soundlatch
AM_RANGE(0xfca00000, 0xfca00003) AM_WRITE(vega_misc_w)
AM_RANGE(0xfcc00000, 0xfcc00003) AM_READ(vegaeo_custom_read)
- AM_RANGE(0xfce00000, 0xfce00003) AM_READ(input_port_1_dword_r)
+ AM_RANGE(0xfce00000, 0xfce00003) AM_READ_PORT("P1_P2")
AM_RANGE(0xfd000000, 0xfeffffff) AM_ROM AM_REGION(REGION_USER1, 0)
AM_RANGE(0xfff80000, 0xffffffff) AM_ROM AM_REGION(REGION_CPU1, 0)
ADDRESS_MAP_END
static INPUT_PORTS_START( crazywar )
- PORT_START_TAG("IN0")
+ PORT_START_TAG("SYSTEM")
PORT_BIT( 0x00000001, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x00000002, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x00000004, IP_ACTIVE_LOW, IPT_START1 )
@@ -105,7 +106,7 @@ static INPUT_PORTS_START( crazywar )
PORT_BIT( 0x00000080, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0xffffff00, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START
+ PORT_START_TAG("P1_P2")
PORT_BIT( 0x00000001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
PORT_BIT( 0x00000002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
PORT_BIT( 0x00000004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
diff --git a/src/mame/drivers/vegas.c b/src/mame/drivers/vegas.c
index 6b353522d64..73d773b065d 100644
--- a/src/mame/drivers/vegas.c
+++ b/src/mame/drivers/vegas.c
@@ -1442,9 +1442,11 @@ static READ32_HANDLER( analog_port_r )
static WRITE32_HANDLER( analog_port_w )
{
+ static const char *portnames[] = { "AN0", "AN1", "AN2", "AN3", "AN4", "AN5", "AN6", "AN7" };
+
if (data < 8 || data > 15)
logerror("%08X:Unexpected analog port select = %08X\n", activecpu_get_pc(), data);
- pending_analog_read = input_port_read_indexed(machine, 4 + (data & 7));
+ pending_analog_read = input_port_read_safe(machine, portnames[data & 7], 0);
}
@@ -1943,28 +1945,28 @@ static INPUT_PORTS_START( warfa )
PORT_DIPSETTING( 0x4000, "Medium Res 512x384" )
PORT_DIPSETTING( 0x0000, "VGA Res 640x480" )
- PORT_START
+ PORT_START_TAG("AN0")
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_PLAYER(1)
- PORT_START
+ PORT_START_TAG("AN1")
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_Y ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_PLAYER(1)
- PORT_START
+ PORT_START_TAG("AN2")
PORT_BIT( 0xff, 0x80, IPT_SPECIAL )
- PORT_START
+ PORT_START_TAG("AN3")
PORT_BIT( 0xff, 0x80, IPT_SPECIAL )
- PORT_START
+ PORT_START_TAG("AN4")
PORT_BIT( 0xff, 0x80, IPT_SPECIAL )
- PORT_START
+ PORT_START_TAG("AN5")
PORT_BIT( 0xff, 0x80, IPT_SPECIAL )
- PORT_START
+ PORT_START_TAG("AN6")
PORT_BIT( 0xff, 0x80, IPT_SPECIAL )
- PORT_START
+ PORT_START_TAG("AN7")
PORT_BIT( 0xff, 0x80, IPT_SPECIAL )
INPUT_PORTS_END
@@ -1987,28 +1989,28 @@ static INPUT_PORTS_START( roadburn )
PORT_DIPSETTING( 0x0200, "Medium Res 512x384" )
PORT_DIPSETTING( 0x0000, "VGA Res 640x480" )
- PORT_START
+ PORT_START_TAG("AN0")
PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_MINMAX(0x10, 0xf0) PORT_SENSITIVITY(25) PORT_KEYDELTA(5)
- PORT_START
+ PORT_START_TAG("AN1")
PORT_BIT( 0xff, 0x80, IPT_PEDAL ) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(25) PORT_KEYDELTA(20)
- PORT_START
+ PORT_START_TAG("AN2")
PORT_BIT( 0xff, 0x80, IPT_PEDAL ) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(25) PORT_KEYDELTA(100) PORT_PLAYER(2)
- PORT_START
+ PORT_START_TAG("AN3")
PORT_BIT( 0xff, 0x80, IPT_SPECIAL )
- PORT_START
+ PORT_START_TAG("AN4")
PORT_BIT( 0xff, 0x80, IPT_SPECIAL )
- PORT_START
+ PORT_START_TAG("AN5")
PORT_BIT( 0xff, 0x80, IPT_SPECIAL )
- PORT_START
+ PORT_START_TAG("AN6")
PORT_BIT( 0xff, 0x80, IPT_SPECIAL )
- PORT_START
+ PORT_START_TAG("AN7")
PORT_BIT( 0xff, 0x80, IPT_SPECIAL )
INPUT_PORTS_END
@@ -2083,28 +2085,28 @@ static INPUT_PORTS_START( sf2049 )
PORT_DIPSETTING( 0x0200, "Medium Res 512x384" )
PORT_DIPSETTING( 0x0300, "VGA Res 640x480" )
- PORT_START
+ PORT_START_TAG("AN0")
PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_MINMAX(0x10, 0xf0) PORT_SENSITIVITY(25) PORT_KEYDELTA(5)
- PORT_START
+ PORT_START_TAG("AN1")
PORT_BIT( 0xff, 0x80, IPT_PEDAL ) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(25) PORT_KEYDELTA(20)
- PORT_START
+ PORT_START_TAG("AN2")
PORT_BIT( 0xff, 0x80, IPT_PEDAL ) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(25) PORT_KEYDELTA(100) PORT_PLAYER(2)
- PORT_START
+ PORT_START_TAG("AN3")
PORT_BIT( 0xff, 0x80, IPT_SPECIAL )
- PORT_START
+ PORT_START_TAG("AN4")
PORT_BIT( 0xff, 0x80, IPT_SPECIAL )
- PORT_START
+ PORT_START_TAG("AN5")
PORT_BIT( 0xff, 0x80, IPT_SPECIAL )
- PORT_START
+ PORT_START_TAG("AN6")
PORT_BIT( 0xff, 0x80, IPT_SPECIAL )
- PORT_START
+ PORT_START_TAG("AN7")
PORT_BIT( 0xff, 0x80, IPT_SPECIAL )
INPUT_PORTS_END
@@ -2114,28 +2116,28 @@ static INPUT_PORTS_START( sf2049se )
PORT_MODIFY("DIPS")
- PORT_START
+ PORT_START_TAG("AN0")
PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_MINMAX(0x10, 0xf0) PORT_SENSITIVITY(25) PORT_KEYDELTA(5)
- PORT_START
+ PORT_START_TAG("AN1")
PORT_BIT( 0xff, 0x80, IPT_PEDAL ) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(25) PORT_KEYDELTA(20)
- PORT_START
+ PORT_START_TAG("AN2")
PORT_BIT( 0xff, 0x80, IPT_PEDAL ) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(25) PORT_KEYDELTA(100) PORT_PLAYER(2)
- PORT_START
+ PORT_START_TAG("AN3")
PORT_BIT( 0xff, 0x80, IPT_SPECIAL )
- PORT_START
+ PORT_START_TAG("AN4")
PORT_BIT( 0xff, 0x80, IPT_SPECIAL )
- PORT_START
+ PORT_START_TAG("AN5")
PORT_BIT( 0xff, 0x80, IPT_SPECIAL )
- PORT_START
+ PORT_START_TAG("AN6")
PORT_BIT( 0xff, 0x80, IPT_SPECIAL )
- PORT_START
+ PORT_START_TAG("AN7")
PORT_BIT( 0xff, 0x80, IPT_SPECIAL )
INPUT_PORTS_END
@@ -2145,28 +2147,28 @@ static INPUT_PORTS_START( sf2049te )
PORT_MODIFY("DIPS")
- PORT_START
+ PORT_START_TAG("AN0")
PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_MINMAX(0x10, 0xf0) PORT_SENSITIVITY(25) PORT_KEYDELTA(5)
- PORT_START
+ PORT_START_TAG("AN1")
PORT_BIT( 0xff, 0x80, IPT_PEDAL ) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(25) PORT_KEYDELTA(20)
- PORT_START
+ PORT_START_TAG("AN2")
PORT_BIT( 0xff, 0x80, IPT_PEDAL ) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(25) PORT_KEYDELTA(100) PORT_PLAYER(2)
- PORT_START
+ PORT_START_TAG("AN3")
PORT_BIT( 0xff, 0x80, IPT_SPECIAL )
- PORT_START
+ PORT_START_TAG("AN4")
PORT_BIT( 0xff, 0x80, IPT_SPECIAL )
- PORT_START
+ PORT_START_TAG("AN5")
PORT_BIT( 0xff, 0x80, IPT_SPECIAL )
- PORT_START
+ PORT_START_TAG("AN6")
PORT_BIT( 0xff, 0x80, IPT_SPECIAL )
- PORT_START
+ PORT_START_TAG("AN7")
PORT_BIT( 0xff, 0x80, IPT_SPECIAL )
INPUT_PORTS_END
@@ -2176,28 +2178,28 @@ static INPUT_PORTS_START( cartfury )
PORT_MODIFY("DIPS")
- PORT_START
+ PORT_START_TAG("AN0")
PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_MINMAX(0x10, 0xf0) PORT_SENSITIVITY(25) PORT_KEYDELTA(5)
- PORT_START
+ PORT_START_TAG("AN1")
PORT_BIT( 0xff, 0x80, IPT_PEDAL ) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(25) PORT_KEYDELTA(20)
- PORT_START
+ PORT_START_TAG("AN2")
PORT_BIT( 0xff, 0x80, IPT_PEDAL ) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(25) PORT_KEYDELTA(100) PORT_PLAYER(2)
- PORT_START
+ PORT_START_TAG("AN3")
PORT_BIT( 0xff, 0x80, IPT_SPECIAL )
- PORT_START
+ PORT_START_TAG("AN4")
PORT_BIT( 0xff, 0x80, IPT_SPECIAL )
- PORT_START
+ PORT_START_TAG("AN5")
PORT_BIT( 0xff, 0x80, IPT_SPECIAL )
- PORT_START
+ PORT_START_TAG("AN6")
PORT_BIT( 0xff, 0x80, IPT_SPECIAL )
- PORT_START
+ PORT_START_TAG("AN7")
PORT_BIT( 0xff, 0x80, IPT_SPECIAL )
INPUT_PORTS_END
diff --git a/src/mame/drivers/vendetta.c b/src/mame/drivers/vendetta.c
index fdea23a52b4..b21fa1ef748 100644
--- a/src/mame/drivers/vendetta.c
+++ b/src/mame/drivers/vendetta.c
@@ -148,9 +148,9 @@ static READ8_HANDLER( vendetta_eeprom_r )
res = eeprom_read_bit();
- res |= 0x02;//konami_eeprom_ack() << 5; /* add the ack */
+ res |= 0x02; //konami_eeprom_ack() << 5; /* add the ack */
- res |= input_port_read_indexed(machine, 3 ) & 0x0c; /* test switch */
+ res |= input_port_read(machine, "EEPROM") & 0x0c; /* test switch */
if (init_eeprom_count)
{
@@ -267,12 +267,12 @@ static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x1fff) AM_READ(SMH_BANK1 )
AM_RANGE(0x2000, 0x3fff) AM_READ(SMH_RAM)
AM_RANGE(0x5f80, 0x5f9f) AM_READ(K054000_r)
- AM_RANGE(0x5fc0, 0x5fc0) AM_READ(input_port_0_r)
- AM_RANGE(0x5fc1, 0x5fc1) AM_READ(input_port_1_r)
- AM_RANGE(0x5fc2, 0x5fc2) AM_READ(input_port_4_r)
- AM_RANGE(0x5fc3, 0x5fc3) AM_READ(input_port_5_r)
+ AM_RANGE(0x5fc0, 0x5fc0) AM_READ_PORT("P1")
+ AM_RANGE(0x5fc1, 0x5fc1) AM_READ_PORT("P2")
+ AM_RANGE(0x5fc2, 0x5fc2) AM_READ_PORT("P3")
+ AM_RANGE(0x5fc3, 0x5fc3) AM_READ_PORT("P4")
AM_RANGE(0x5fd0, 0x5fd0) AM_READ(vendetta_eeprom_r) /* vblank, service */
- AM_RANGE(0x5fd1, 0x5fd1) AM_READ(input_port_2_r)
+ AM_RANGE(0x5fd1, 0x5fd1) AM_READ_PORT("SERVICE")
AM_RANGE(0x5fe4, 0x5fe4) AM_READ(vendetta_sound_interrupt_r)
AM_RANGE(0x5fe6, 0x5fe7) AM_READ(vendetta_sound_r)
AM_RANGE(0x5fe8, 0x5fe9) AM_READ(K053246_r)
@@ -303,13 +303,13 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( esckids_readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x1fff) AM_READ(SMH_RAM) // 053248 64K SRAM
- AM_RANGE(0x3f80, 0x3f80) AM_READ(input_port_0_r) // Player 1 Control
- AM_RANGE(0x3f81, 0x3f81) AM_READ(input_port_1_r) // Player 2 Control
- AM_RANGE(0x3f82, 0x3f82) AM_READ(input_port_4_r) // Player 3 Control ??? (But not used)
- AM_RANGE(0x3f83, 0x3f83) AM_READ(input_port_5_r) // Player 4 Control ??? (But not used)
+ AM_RANGE(0x3f80, 0x3f80) AM_READ_PORT("P1")
+ AM_RANGE(0x3f81, 0x3f81) AM_READ_PORT("P2")
+ AM_RANGE(0x3f82, 0x3f82) AM_READ_PORT("P3") // ??? (But not used)
+ AM_RANGE(0x3f83, 0x3f83) AM_READ_PORT("P4") // ??? (But not used)
AM_RANGE(0x3f92, 0x3f92) AM_READ(vendetta_eeprom_r) // vblank, TEST SW on PCB
- AM_RANGE(0x3f93, 0x3f93) AM_READ(input_port_2_r) // Start, Service
- AM_RANGE(0x3fd4, 0x3fd4) AM_READ(vendetta_sound_interrupt_r) // Sound
+ AM_RANGE(0x3f93, 0x3f93) AM_READ_PORT("SERVICE")
+ AM_RANGE(0x3fd4, 0x3fd4) AM_READ(vendetta_sound_interrupt_r) // Sound
AM_RANGE(0x3fd6, 0x3fd7) AM_READ(vendetta_sound_r) // Sound
AM_RANGE(0x3fd8, 0x3fd9) AM_READ(K053246_r) // 053246 (Sprite)
/* what is the desired effect of overlapping these memory regions anyway? */
@@ -363,7 +363,7 @@ ADDRESS_MAP_END
***************************************************************************/
static INPUT_PORTS_START( vendet4p )
- PORT_START_TAG("IN0")
+ PORT_START_TAG("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)
@@ -373,7 +373,7 @@ static INPUT_PORTS_START( vendet4p )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_START_TAG("IN1")
+ PORT_START_TAG("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)
@@ -383,7 +383,7 @@ static INPUT_PORTS_START( vendet4p )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_START_TAG("IN2")
+ PORT_START_TAG("SERVICE")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@@ -393,14 +393,14 @@ static INPUT_PORTS_START( vendet4p )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START_TAG("IN3")
+ PORT_START_TAG("EEPROM")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* 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 */
PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START_TAG("IN4")
+ PORT_START_TAG("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)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(3)
@@ -410,7 +410,7 @@ static INPUT_PORTS_START( vendet4p )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN3 )
- PORT_START_TAG("IN5")
+ PORT_START_TAG("P4")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(4)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(4)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(4)
@@ -422,27 +422,9 @@ static INPUT_PORTS_START( vendet4p )
INPUT_PORTS_END
static INPUT_PORTS_START( vendetta )
- PORT_START_TAG("IN0")
- 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_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
-
- PORT_START_TAG("IN1")
- 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_COIN2 )
+ PORT_INCLUDE( vendet4p )
- PORT_START_TAG("IN2")
+ PORT_MODIFY("SERVICE")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@@ -452,16 +434,15 @@ static INPUT_PORTS_START( vendetta )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START_TAG("IN3")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* 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 */
- PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_MODIFY("P3")
+ PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_MODIFY("P4")
+ PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
INPUT_PORTS_END
static INPUT_PORTS_START( esckids )
- PORT_START_TAG("IN0") // Player 1 Control
+ PORT_START_TAG("P1") // Player 1 Control
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)
@@ -471,7 +452,7 @@ static INPUT_PORTS_START( esckids )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_START_TAG("IN1") // Player 2 Control
+ PORT_START_TAG("P2") // Player 2 Control
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)
@@ -481,7 +462,7 @@ static INPUT_PORTS_START( esckids )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_START_TAG("IN2") // Start, Service
+ PORT_START_TAG("SERVICE") // Start, Service
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@@ -491,14 +472,14 @@ static INPUT_PORTS_START( esckids )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START_TAG("IN3")
+ PORT_START_TAG("EEPROM")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* 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 */
PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START_TAG("IN4") // Player 3 Control ??? (Not used)
+ PORT_START_TAG("P3") // Player 3 Control ??? (Not used)
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)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(3)
@@ -508,7 +489,7 @@ static INPUT_PORTS_START( esckids )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN3 )
- PORT_START_TAG("IN5") // Player 4 Control ??? (Not used)
+ PORT_START_TAG("P4") // Player 4 Control ??? (Not used)
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(4)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(4)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(4)
@@ -520,42 +501,13 @@ static INPUT_PORTS_START( esckids )
INPUT_PORTS_END
static INPUT_PORTS_START( esckidsj )
- PORT_START_TAG("IN0") // Player 1 Control
- 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_COIN1 )
+ PORT_INCLUDE( esckids )
- PORT_START_TAG("IN1") // Player 2 Control
- 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_COIN2 )
+ PORT_MODIFY("P3")
+ PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START_TAG("IN2") // Start, Service
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE1 )
- 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_TAG("IN3")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* 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 */
- PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_MODIFY("P4")
+ PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
INPUT_PORTS_END
/***************************************************************************
diff --git a/src/mame/drivers/vertigo.c b/src/mame/drivers/vertigo.c
index a684a66d9bf..12596a8f7dd 100644
--- a/src/mame/drivers/vertigo.c
+++ b/src/mame/drivers/vertigo.c
@@ -67,13 +67,13 @@ ADDRESS_MAP_END
*************************************/
static INPUT_PORTS_START( vertigo )
- PORT_START_TAG("IN0")
+ PORT_START_TAG("P1X")
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10)
- PORT_START_TAG("IN1")
+ PORT_START_TAG("P1Y")
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_Y ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10)
- PORT_START_TAG("IN2")
+ PORT_START_TAG("PADDLE")
PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_CODE_DEC(KEYCODE_Y) PORT_CODE_INC(KEYCODE_X)
PORT_START_TAG("GIO")
@@ -91,7 +91,6 @@ static INPUT_PORTS_START( vertigo )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
INPUT_PORTS_END
diff --git a/src/mame/drivers/vicdual.c b/src/mame/drivers/vicdual.c
index 40e1cf44ca2..5a9445aa755 100644
--- a/src/mame/drivers/vicdual.c
+++ b/src/mame/drivers/vicdual.c
@@ -268,8 +268,8 @@ static READ8_HANDLER( depthch_io_r )
{
UINT8 ret = 0;
- if (offset & 0x01) ret = input_port_read_indexed(machine, 0);
- if (offset & 0x08) ret = input_port_read_indexed(machine, 1);
+ if (offset & 0x01) ret = input_port_read(machine, "IN0");
+ if (offset & 0x08) ret = input_port_read(machine, "IN1");
return ret;
}
@@ -305,11 +305,11 @@ static INPUT_PORTS_START( depthch )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_2WAY
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_2WAY
- PORT_DIPNAME (0x30, 0x30, DEF_STR( Coinage ) )
- PORT_DIPSETTING ( 0x00, DEF_STR( 4C_1C ) )
- PORT_DIPSETTING ( 0x10, DEF_STR( 3C_1C ) )
- PORT_DIPSETTING ( 0x20, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING ( 0x30, DEF_STR( 1C_1C ) )
+ PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coinage ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) )
+ PORT_DIPSETTING( 0x10, DEF_STR( 3C_1C ) )
+ PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) )
+ PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
PORT_START_TAG("IN1")
@@ -350,8 +350,8 @@ static READ8_HANDLER( safari_io_r )
{
UINT8 ret = 0;
- if (offset & 0x01) ret = input_port_read_indexed(machine, 0);
- if (offset & 0x08) ret = input_port_read_indexed(machine, 1);
+ if (offset & 0x01) ret = input_port_read(machine, "IN0");
+ if (offset & 0x08) ret = input_port_read(machine, "IN1");
return ret;
}
@@ -389,19 +389,19 @@ static INPUT_PORTS_START( safari )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
- PORT_BIT (0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Aim Up") PORT_CODE(KEYCODE_A)
- PORT_BIT (0x20, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Aim Down") PORT_CODE(KEYCODE_Z)
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Aim Up") PORT_CODE(KEYCODE_A)
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Aim Down") PORT_CODE(KEYCODE_Z)
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 )
PORT_START_TAG("IN1")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_64v, 0)
PORT_BIT( 0x0e, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
- PORT_DIPNAME (0x30, 0x30, DEF_STR( Coinage ) )
- PORT_DIPSETTING ( 0x00, DEF_STR( 4C_1C ) )
- PORT_DIPSETTING ( 0x10, DEF_STR( 3C_1C ) )
- PORT_DIPSETTING ( 0x20, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING ( 0x30, DEF_STR( 1C_1C ) )
+ PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coinage ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) )
+ PORT_DIPSETTING( 0x10, DEF_STR( 3C_1C ) )
+ 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)
@@ -434,8 +434,8 @@ static READ8_HANDLER( frogs_io_r )
{
UINT8 ret = 0;
- if (offset & 0x01) ret = input_port_read_indexed(machine, 0);
- if (offset & 0x08) ret = input_port_read_indexed(machine, 1);
+ if (offset & 0x01) ret = input_port_read(machine, "IN0");
+ if (offset & 0x08) ret = input_port_read(machine, "IN1");
return ret;
}
@@ -542,8 +542,8 @@ static READ8_HANDLER( headon_io_r )
{
UINT8 ret = 0;
- if (offset & 0x01) ret = input_port_read_indexed(machine, 0);
- if (offset & 0x08) ret = input_port_read_indexed(machine, 1);
+ if (offset & 0x01) ret = input_port_read(machine, "IN0");
+ if (offset & 0x08) ret = input_port_read(machine, "IN1");
return ret;
}
@@ -553,9 +553,9 @@ static READ8_HANDLER( sspaceat_io_r )
{
UINT8 ret = 0;
- if (offset & 0x01) ret = input_port_read_indexed(machine,0);
- if (offset & 0x04) ret = input_port_read_indexed(machine,1);
- if (offset & 0x08) ret = input_port_read_indexed(machine,2);
+ if (offset & 0x01) ret = input_port_read(machine, "IN0");
+ if (offset & 0x04) ret = input_port_read(machine, "IN1");
+ if (offset & 0x08) ret = input_port_read(machine, "IN2");
return ret;
}
@@ -742,10 +742,10 @@ static READ8_HANDLER( headon2_io_r )
{
UINT8 ret = 0;
- if (offset & 0x01) ret = input_port_read_indexed(machine,0);
+ if (offset & 0x01) ret = input_port_read(machine, "IN0");
if (offset & 0x02) /* schematics show this as in input port, but never read from */
- if (offset & 0x04) ret = input_port_read_indexed(machine,1);
- if (offset & 0x08) ret = input_port_read_indexed(machine,2);
+ if (offset & 0x04) ret = input_port_read(machine, "IN1");
+ if (offset & 0x08) ret = input_port_read(machine, "IN2");
if (offset & 0x12) logerror("********* Read from port %x\n", offset);
return ret;
@@ -2096,8 +2096,8 @@ static READ8_HANDLER( nsub_io_r )
{
UINT8 ret = 0;
- if (offset & 0x01) ret = input_port_read_indexed(machine, 0);
- if (offset & 0x08) ret = input_port_read_indexed(machine, 1);
+ if (offset & 0x01) ret = input_port_read(machine, "IN0");
+ if (offset & 0x08) ret = input_port_read(machine, "IN1");
return ret;
}
@@ -2191,9 +2191,9 @@ static READ8_HANDLER( invinco_io_r )
{
UINT8 ret = 0;
- if (offset & 0x01) ret = input_port_read_indexed(machine, 0);
- if (offset & 0x02) ret = input_port_read_indexed(machine, 1);
- if (offset & 0x08) ret = input_port_read_indexed(machine, 2);
+ if (offset & 0x01) ret = input_port_read(machine, "IN0");
+ if (offset & 0x02) ret = input_port_read(machine, "IN1");
+ if (offset & 0x08) ret = input_port_read(machine, "IN2");
return ret;
}
diff --git a/src/mame/drivers/videopin.c b/src/mame/drivers/videopin.c
index 3013456a1e7..60cc31470ff 100644
--- a/src/mame/drivers/videopin.c
+++ b/src/mame/drivers/videopin.c
@@ -27,7 +27,7 @@ static WRITE8_HANDLER(videopin_out2_w);
static void update_plunger(running_machine *machine)
{
- UINT8 val = input_port_read_indexed(machine, 3);
+ UINT8 val = input_port_read(machine, "IN2");
if (prev != val)
{
@@ -93,7 +93,7 @@ static READ8_HANDLER( videopin_misc_r )
// signals received. This results in the MPU displaying the
// ball being shot onto the playfield at a certain speed.
- UINT8 val = input_port_read_indexed(machine, 2);
+ UINT8 val = input_port_read(machine, "IN1");
if (plunger >= 0.000 && plunger <= 0.001)
{
@@ -200,8 +200,8 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0804, 0x0804) AM_WRITE(videopin_ball_w)
AM_RANGE(0x0805, 0x0805) AM_WRITE(videopin_out1_w)
AM_RANGE(0x0806, 0x0806) AM_WRITE(videopin_out2_w)
- AM_RANGE(0x1000, 0x1000) AM_READ(input_port_0_r)
- AM_RANGE(0x1800, 0x1800) AM_READ(input_port_1_r)
+ AM_RANGE(0x1000, 0x1000) AM_READ_PORT("IN0")
+ AM_RANGE(0x1800, 0x1800) AM_READ_PORT("DSW")
AM_RANGE(0x2000, 0x3fff) AM_ROM
AM_RANGE(0xe000, 0xffff) AM_READ(SMH_ROM) /* mirror for 6502 vectors */
ADDRESS_MAP_END
@@ -214,17 +214,17 @@ ADDRESS_MAP_END
*************************************/
static INPUT_PORTS_START( videopin )
- PORT_START /* IN0 */
- PORT_BIT ( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT ( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
+ PORT_START_TAG("IN0") /* IN0 */
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Left Flipper") PORT_CODE(KEYCODE_LCONTROL)
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Right Flipper") PORT_CODE(KEYCODE_RCONTROL)
- PORT_BIT ( 0x10, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT ( 0x20, IP_ACTIVE_LOW, IPT_TILT )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_TILT )
PORT_SERVICE( 0x40, IP_ACTIVE_LOW )
- PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START /* IN1 */
+ PORT_START_TAG("DSW") /* IN1 */
PORT_DIPNAME( 0xc0, 0x80, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0xc0, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x80, DEF_STR( 1C_1C ) )
@@ -248,17 +248,17 @@ static INPUT_PORTS_START( videopin )
PORT_DIPSETTING( 0x00, "180000 (3 balls) / 300000 (5 balls)" )
PORT_DIPSETTING( 0x01, "210000 (3 balls) / 350000 (5 balls)" )
- PORT_START /* IN2 */
- PORT_BIT ( 0x01, IP_ACTIVE_LOW, IPT_SPECIAL ) /* PLUNGER 1 */
- PORT_BIT ( 0x02, IP_ACTIVE_LOW, IPT_SPECIAL ) /* PLUNGER 2 */
- PORT_BIT ( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT ( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT ( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT ( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_START_TAG("IN1") /* IN2 */
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SPECIAL ) /* PLUNGER 1 */
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SPECIAL ) /* PLUNGER 2 */
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge") PORT_CODE(KEYCODE_SPACE)
- PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_VBLANK )
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_VBLANK )
- PORT_START
+ PORT_START_TAG("IN2")
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("Ball Shooter") PORT_CODE(KEYCODE_DOWN)
INPUT_PORTS_END
diff --git a/src/mame/drivers/vindictr.c b/src/mame/drivers/vindictr.c
index ad0b467b604..7d9eac8f0f7 100644
--- a/src/mame/drivers/vindictr.c
+++ b/src/mame/drivers/vindictr.c
@@ -64,7 +64,7 @@ static MACHINE_RESET( vindictr )
static READ16_HANDLER( port1_r )
{
- int result = input_port_read_indexed(machine, 1);
+ int result = input_port_read(machine, "260010");
if (atarigen_sound_to_cpu_ready) result ^= 0x0004;
if (atarigen_cpu_to_sound_ready) result ^= 0x0008;
result ^= 0x0010;
@@ -85,9 +85,9 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x05ffff) AM_ROM
AM_RANGE(0x0e0000, 0x0e0fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE(&atarigen_eeprom) AM_SIZE(&atarigen_eeprom_size)
AM_RANGE(0x1f0000, 0x1fffff) AM_WRITE(atarigen_eeprom_enable_w)
- AM_RANGE(0x260000, 0x26000f) AM_READ(input_port_0_word_r)
+ AM_RANGE(0x260000, 0x26000f) AM_READ_PORT("260000")
AM_RANGE(0x260010, 0x26001f) AM_READ(port1_r)
- AM_RANGE(0x260020, 0x26002f) AM_READ(input_port_2_word_r)
+ AM_RANGE(0x260020, 0x26002f) AM_READ_PORT("260020")
AM_RANGE(0x260030, 0x260031) AM_READ(atarigen_sound_r)
AM_RANGE(0x2e0000, 0x2e0001) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x360000, 0x360001) AM_WRITE(atarigen_scanline_int_ack_w)
diff --git a/src/mame/drivers/vmetal.c b/src/mame/drivers/vmetal.c
index f00906556a2..250527fe42c 100644
--- a/src/mame/drivers/vmetal.c
+++ b/src/mame/drivers/vmetal.c
@@ -143,14 +143,14 @@ static WRITE16_HANDLER( vmetal_mid2tileram_w )
}
-static READ16_HANDLER ( varia_dips_bit8_r ) { return ((input_port_read_indexed(machine, 3) & 0x80) << 0) | ((input_port_read_indexed(machine, 2) & 0x80) >> 1); }
-static READ16_HANDLER ( varia_dips_bit7_r ) { return ((input_port_read_indexed(machine, 3) & 0x40) << 1) | ((input_port_read_indexed(machine, 2) & 0x40) >> 0); }
-static READ16_HANDLER ( varia_dips_bit6_r ) { return ((input_port_read_indexed(machine, 3) & 0x20) << 2) | ((input_port_read_indexed(machine, 2) & 0x20) << 1); }
-static READ16_HANDLER ( varia_dips_bit5_r ) { return ((input_port_read_indexed(machine, 3) & 0x10) << 3) | ((input_port_read_indexed(machine, 2) & 0x10) << 2); }
-static READ16_HANDLER ( varia_dips_bit4_r ) { return ((input_port_read_indexed(machine, 3) & 0x08) << 4) | ((input_port_read_indexed(machine, 2) & 0x08) << 3); }
-static READ16_HANDLER ( varia_dips_bit3_r ) { return ((input_port_read_indexed(machine, 3) & 0x04) << 5) | ((input_port_read_indexed(machine, 2) & 0x04) << 4); }
-static READ16_HANDLER ( varia_dips_bit2_r ) { return ((input_port_read_indexed(machine, 3) & 0x02) << 6) | ((input_port_read_indexed(machine, 2) & 0x02) << 5); }
-static READ16_HANDLER ( varia_dips_bit1_r ) { return ((input_port_read_indexed(machine, 3) & 0x01) << 7) | ((input_port_read_indexed(machine, 2) & 0x01) << 6); }
+static READ16_HANDLER ( varia_dips_bit8_r ) { return ((input_port_read(machine, "DSW2") & 0x80) << 0) | ((input_port_read(machine, "DSW1") & 0x80) >> 1); }
+static READ16_HANDLER ( varia_dips_bit7_r ) { return ((input_port_read(machine, "DSW2") & 0x40) << 1) | ((input_port_read(machine, "DSW1") & 0x40) >> 0); }
+static READ16_HANDLER ( varia_dips_bit6_r ) { return ((input_port_read(machine, "DSW2") & 0x20) << 2) | ((input_port_read(machine, "DSW1") & 0x20) << 1); }
+static READ16_HANDLER ( varia_dips_bit5_r ) { return ((input_port_read(machine, "DSW2") & 0x10) << 3) | ((input_port_read(machine, "DSW1") & 0x10) << 2); }
+static READ16_HANDLER ( varia_dips_bit4_r ) { return ((input_port_read(machine, "DSW2") & 0x08) << 4) | ((input_port_read(machine, "DSW1") & 0x08) << 3); }
+static READ16_HANDLER ( varia_dips_bit3_r ) { return ((input_port_read(machine, "DSW2") & 0x04) << 5) | ((input_port_read(machine, "DSW1") & 0x04) << 4); }
+static READ16_HANDLER ( varia_dips_bit2_r ) { return ((input_port_read(machine, "DSW2") & 0x02) << 6) | ((input_port_read(machine, "DSW1") & 0x02) << 5); }
+static READ16_HANDLER ( varia_dips_bit1_r ) { return ((input_port_read(machine, "DSW2") & 0x01) << 7) | ((input_port_read(machine, "DSW1") & 0x01) << 6); }
static WRITE16_HANDLER( vmetal_control_w )
{
@@ -227,8 +227,8 @@ static ADDRESS_MAP_START( varia_program_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x178800, 0x1796ff) AM_RAM AM_BASE(&vmetal_videoregs)
AM_RANGE(0x179700, 0x179713) AM_WRITE(SMH_RAM) AM_BASE(&metro_videoregs ) // Video Registers
- AM_RANGE(0x200000, 0x200001) AM_READWRITE(input_port_0_word_r, vmetal_control_w)
- AM_RANGE(0x200002, 0x200003) AM_READ(input_port_1_word_r )
+ AM_RANGE(0x200000, 0x200001) AM_READ_PORT("P1_P2") AM_WRITE(vmetal_control_w)
+ AM_RANGE(0x200002, 0x200003) AM_READ_PORT("SYSTEM")
/* i have no idea whats meant to be going on here .. it seems to read one bit of the dips from some of them, protection ??? */
AM_RANGE(0x30fffe, 0x30ffff) AM_READ(varia_random ) // nothing?
@@ -259,7 +259,7 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( varia )
- PORT_START /* IN0 */
+ PORT_START_TAG("P1_P2") /* IN0 */
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)
@@ -277,7 +277,7 @@ static INPUT_PORTS_START( varia )
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START1 )
- PORT_START /* IN1 */
+ PORT_START_TAG("SYSTEM") /* IN1 */
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_TILT )
@@ -285,7 +285,7 @@ static INPUT_PORTS_START( varia )
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_SERVICE2 ) // 'Test'
PORT_BIT( 0xffe0, IP_ACTIVE_LOW, IPT_UNKNOWN ) // unused?
- PORT_START /* Dips 1 */
+ PORT_START_TAG("DSW1") /* Dips 1 */
PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coin_A ) )
PORT_DIPSETTING( 0x0005, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x0006, DEF_STR( 2C_1C ) )
@@ -311,7 +311,7 @@ static INPUT_PORTS_START( varia )
PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_START /* Dips 2 */
+ PORT_START_TAG("DSW2") /* Dips 2 */
PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Unknown ))
PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
diff --git a/src/mame/drivers/vsnes.c b/src/mame/drivers/vsnes.c
index 1c6f983c3e3..043500c3eec 100644
--- a/src/mame/drivers/vsnes.c
+++ b/src/mame/drivers/vsnes.c
@@ -246,259 +246,206 @@ ADDRESS_MAP_END
/******************************************************************************/
-#define VS_CONTROLS( SELECT_IN0, START_IN0, SELECT_IN1, START_IN1 ) \
- PORT_START /* IN0 */ \
- PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1) /* BUTTON A on a nes */ \
- PORT_BIT ( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1) /* BUTTON B on a nes */ \
- PORT_BIT ( 0x04, IP_ACTIVE_HIGH, SELECT_IN0 ) /* SELECT on a nes */ \
- PORT_BIT ( 0x08, IP_ACTIVE_HIGH, START_IN0 ) /* START on a nes */ \
- PORT_BIT ( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(1) \
- PORT_BIT ( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1) \
- PORT_BIT ( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1) \
- PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1) \
- \
- PORT_START /* IN1 */ \
- PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(2) /* BUTTON A on a nes */ \
- PORT_BIT ( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2) /* BUTTON B on a nes */ \
- PORT_BIT ( 0x04, IP_ACTIVE_HIGH, SELECT_IN1 ) /* SELECT on a nes */ \
- PORT_BIT ( 0x08, IP_ACTIVE_HIGH, START_IN1 ) /* START on a nes */ \
- PORT_BIT ( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(2) \
- PORT_BIT ( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2) \
- PORT_BIT ( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2) \
- PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2) \
- \
- PORT_START /* IN2 */ \
- PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED ) /* serial pin from controller */ \
- PORT_BIT ( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN ) \
- PORT_BIT ( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_IMPULSE(1) /* service credit? */ \
- PORT_BIT ( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) /* bit 0 of dsw goes here */ \
- PORT_BIT ( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) /* bit 1 of dsw goes here */ \
- PORT_BIT ( 0x20, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_IMPULSE(1) \
- PORT_BIT ( 0x40, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_IMPULSE(1) \
- PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) \
-
-#define VS_CONTROLS_REVERSE( SELECT_IN0, START_IN0, SELECT_IN1, START_IN1 ) \
- PORT_START /* IN0 */ \
- PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(2) /* BUTTON A on a nes */ \
- PORT_BIT ( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2) /* BUTTON B on a nes */ \
- PORT_BIT ( 0x04, IP_ACTIVE_HIGH, SELECT_IN0 ) /* SELECT on a nes */ \
- PORT_BIT ( 0x08, IP_ACTIVE_HIGH, START_IN0 ) /* START on a nes */ \
- PORT_BIT ( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(2) \
- PORT_BIT ( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2) \
- PORT_BIT ( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2) \
- PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2) \
- \
- PORT_START /* IN1 */ \
- PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1) /* BUTTON A on a nes */ \
- PORT_BIT ( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1) /* BUTTON B on a nes */ \
- PORT_BIT ( 0x04, IP_ACTIVE_HIGH, SELECT_IN1 ) /* SELECT on a nes */ \
- PORT_BIT ( 0x08, IP_ACTIVE_HIGH, START_IN1 ) /* START on a nes */ \
- PORT_BIT ( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(1) \
- PORT_BIT ( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1) \
- PORT_BIT ( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1) \
- PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1) \
- \
- PORT_START /* IN2 */ \
- PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED ) /* serial pin from controller */ \
- PORT_BIT ( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN ) \
- PORT_BIT ( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_IMPULSE(1) /* service credit? */ \
- PORT_BIT ( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) /* bit 0 of dsw goes here */ \
- PORT_BIT ( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) /* bit 1 of dsw goes here */ \
- PORT_BIT ( 0x20, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_IMPULSE(1) \
- PORT_BIT ( 0x40, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_IMPULSE(1) \
- PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) \
-
-#define VS_ZAPPER \
-PORT_START /* IN0 */ \
- PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED ) \
- PORT_BIT ( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED ) \
- PORT_BIT ( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) \
- PORT_BIT ( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) \
- PORT_BIT ( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) \
- PORT_BIT ( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) \
- PORT_BIT ( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED ) /* sprite hit */ \
- PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON1 ) /* gun trigger */ \
- \
- PORT_START /* IN1 */ \
- PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED ) \
- PORT_BIT ( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED ) \
- PORT_BIT ( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) \
- PORT_BIT ( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) \
- PORT_BIT ( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) \
- PORT_BIT ( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) \
- PORT_BIT ( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED ) \
- PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) \
- \
- PORT_START /* IN2 */ \
- PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED ) /* serial pin from controller */ \
- PORT_BIT ( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN ) \
- PORT_BIT ( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_IMPULSE(1) /* service credit? */ \
- PORT_BIT ( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) /* bit 0 of dsw goes here */ \
- PORT_BIT ( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) /* bit 1 of dsw goes here */ \
- PORT_BIT ( 0x20, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_IMPULSE(1) \
- PORT_BIT ( 0x40, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_IMPULSE(1) \
- PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) \
-
-#define VS_DUAL_CONTROLS_L \
- PORT_START /* IN0 */ \
- PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1) /* BUTTON A on a nes */ \
- PORT_BIT ( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1) /* BUTTON B on a nes */ \
- PORT_BIT ( 0x04, IP_ACTIVE_HIGH, IPT_START1 ) /* SELECT on a nes */ \
- PORT_BIT ( 0x08, IP_ACTIVE_HIGH, IPT_START3 ) /* START on a nes */ \
- PORT_BIT ( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(1) \
- PORT_BIT ( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1) \
- PORT_BIT ( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1) \
- PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1) \
- \
- PORT_START /* IN1 */ \
- PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(2) /* BUTTON A on a nes */ \
- PORT_BIT ( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2) /* BUTTON B on a nes */ \
- PORT_BIT ( 0x04, IP_ACTIVE_HIGH, IPT_START2 ) /* SELECT on a nes */ \
- PORT_BIT ( 0x08, IP_ACTIVE_HIGH, IPT_START4 ) /* START on a nes */ \
- PORT_BIT ( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(2) \
- PORT_BIT ( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2) \
- PORT_BIT ( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2) \
- PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2) \
- \
- PORT_START /* IN2 */ \
- PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED ) /* serial pin from controller */ \
- PORT_BIT ( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN ) \
- PORT_BIT ( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_IMPULSE(1) /* service credit? */ \
- PORT_BIT ( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) /* bit 0 of dsw goes here */ \
- PORT_BIT ( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) /* bit 1 of dsw goes here */ \
- PORT_BIT ( 0x20, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_IMPULSE(1) \
- PORT_BIT ( 0x40, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_IMPULSE(1) \
- PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) /* this bit masks irqs - dont change */ \
-
-#define VS_DUAL_CONTROLS_R \
- PORT_START /* IN3 */ \
- PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(3) /* BUTTON A on a nes */ \
- PORT_BIT ( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(3) /* BUTTON B on a nes */ \
- PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("2nd Side 1 Player Start") PORT_CODE(KEYCODE_MINUS) /* SELECT on a nes */ \
- PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("2nd Side 3 Player Start") PORT_CODE(KEYCODE_BACKSLASH) /* START on a nes */ \
- PORT_BIT ( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(3) \
- PORT_BIT ( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(3) \
- PORT_BIT ( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(3) \
- PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(3) \
- \
- PORT_START /* IN4 */ \
- PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(4) /* BUTTON A on a nes */ \
- PORT_BIT ( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(4) /* BUTTON B on a nes */ \
- PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("2nd Side 2 Player Start") PORT_CODE(KEYCODE_EQUALS) /* SELECT on a nes */ \
- PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("2nd Side 4 Player Start") PORT_CODE(KEYCODE_BACKSPACE) /* START on a nes */ \
- PORT_BIT ( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(4) \
- PORT_BIT ( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(4) \
- PORT_BIT ( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(4) \
- PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(4) \
- \
- PORT_START /* IN5 */ \
- PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED ) /* serial pin from controller */ \
- PORT_BIT ( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN ) \
- PORT_BIT ( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE2 ) PORT_IMPULSE(1) /* service credit? */ \
- PORT_BIT ( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) /* bit 0 of dsw goes here */ \
- PORT_BIT ( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) /* bit 1 of dsw goes here */ \
- PORT_BIT ( 0x20, IP_ACTIVE_HIGH, IPT_COIN3 ) PORT_IMPULSE(1) \
- PORT_BIT ( 0x40, IP_ACTIVE_HIGH, IPT_COIN4 ) PORT_IMPULSE(1) \
- PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) /* this bit masks irqs - dont change */ \
-
-#define VS_DUAL_CONTROLS_REVERSE_L \
- PORT_START /* IN0 */ \
- PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(2) /* BUTTON A on a nes */ \
- PORT_BIT ( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2) /* BUTTON B on a nes */ \
- PORT_BIT ( 0x04, IP_ACTIVE_HIGH, IPT_START1 ) /* SELECT on a nes */ \
- PORT_BIT ( 0x08, IP_ACTIVE_HIGH, IPT_START3 ) /* START on a nes */ \
- PORT_BIT ( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(2) \
- PORT_BIT ( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2) \
- PORT_BIT ( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2) \
- PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2) \
- \
- PORT_START /* IN1 */ \
- PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1) /* BUTTON A on a nes */ \
- PORT_BIT ( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1) /* BUTTON B on a nes */ \
- PORT_BIT ( 0x04, IP_ACTIVE_HIGH, IPT_START2 ) /* SELECT on a nes */ \
- PORT_BIT ( 0x08, IP_ACTIVE_HIGH, IPT_START4 ) /* START on a nes */ \
- PORT_BIT ( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(1) \
- PORT_BIT ( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1) \
- PORT_BIT ( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1) \
- PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1) \
- \
- PORT_START /* IN2 */ \
- PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED ) /* serial pin from controller */ \
- PORT_BIT ( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN ) \
- PORT_BIT ( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_IMPULSE(1) /* service credit? */ \
- PORT_BIT ( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) /* bit 0 of dsw goes here */ \
- PORT_BIT ( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) /* bit 1 of dsw goes here */ \
- PORT_BIT ( 0x20, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_IMPULSE(1) \
- PORT_BIT ( 0x40, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_IMPULSE(1) \
- PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) /* this bit masks irqs - dont change */ \
-
-#define VS_DUAL_CONTROLS_REVERSE_R \
- PORT_START /* IN3 */ \
- PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(4) /* BUTTON A on a nes */ \
- PORT_BIT ( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(4) /* BUTTON B on a nes */ \
- PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("2nd Side 1 Player Start") PORT_CODE(KEYCODE_MINUS) /* SELECT on a nes */ \
- PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("2nd Side 3 Player Start") PORT_CODE(KEYCODE_BACKSLASH) /* START on a nes */ \
- PORT_BIT ( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(4) \
- PORT_BIT ( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(4) \
- PORT_BIT ( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(4) \
- PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(4) \
- \
- PORT_START /* IN4 */ \
- PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(3) /* BUTTON A on a nes */ \
- PORT_BIT ( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(3) /* BUTTON B on a nes */ \
- PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("2nd Side 2 Player Start") PORT_CODE(KEYCODE_EQUALS) /* SELECT on a nes */ \
- PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("2nd Side 4 Player Start") PORT_CODE(KEYCODE_BACKSPACE) /* START on a nes */ \
- PORT_BIT ( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(3) \
- PORT_BIT ( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(3) \
- PORT_BIT ( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(3) \
- PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(3) \
- \
- PORT_START /* IN5 */ \
- PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED ) /* serial pin from controller */ \
- PORT_BIT ( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN ) \
- PORT_BIT ( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE2 ) PORT_IMPULSE(1) /* service credit? */ \
- PORT_BIT ( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) /* bit 0 of dsw goes here */ \
- PORT_BIT ( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) /* bit 1 of dsw goes here */ \
- PORT_BIT ( 0x20, IP_ACTIVE_HIGH, IPT_COIN3 ) PORT_IMPULSE(1) \
- PORT_BIT ( 0x40, IP_ACTIVE_HIGH, IPT_COIN4 ) PORT_IMPULSE(1) \
- PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) /* this bit masks irqs - dont change */ \
-
-#ifdef UNUSED_DEFINITION
+
static INPUT_PORTS_START( vsnes )
- VS_CONTROLS( IPT_START1, IPT_BUTTON3, IPT_START2, IPT_BUTTON3 ) PORT_PLAYER(1) PORT_PLAYER(2)
+ PORT_START_TAG("IN0") /* IN0 */
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1) /* BUTTON A on a nes */
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1) /* BUTTON B on a nes */
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 ) /* SELECT on a nes */
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* START on a nes */
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
+
+ PORT_START_TAG("IN1") /* IN1 */
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(2) /* BUTTON A on a nes */
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2) /* BUTTON B on a nes */
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START2 ) /* SELECT on a nes */
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* START on a nes */
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
+
+ PORT_START_TAG("COINS") /* IN2 */
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED ) /* serial pin from controller */
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_IMPULSE(1) /* service credit? */
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) /* bit 0 of dsw goes here */
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) /* bit 1 of dsw goes here */
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_IMPULSE(1)
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_IMPULSE(1)
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+
+ /* There is also a DSW which is defined per game, below */
+INPUT_PORTS_END
- PORT_START /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
- PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x01, DEF_STR( On ) )
- PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x02, DEF_STR( On ) )
- PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x04, DEF_STR( On ) )
- PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x08, DEF_STR( On ) )
- PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x10, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x20, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x40, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x80, DEF_STR( On ) )
+static INPUT_PORTS_START( vsnes_rev )
+ PORT_INCLUDE( vsnes )
+
+ PORT_MODIFY("IN0") /* IN0 */
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(2) /* BUTTON A on a nes */
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2) /* BUTTON B on a nes */
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
+
+ PORT_MODIFY("IN1") /* IN1 */
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1) /* BUTTON A on a nes */
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1) /* BUTTON B on a nes */
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
+INPUT_PORTS_END
+
+static INPUT_PORTS_START( vsnes_dual )
+ /* Left Side Controls */
+ PORT_START_TAG("IN0") /* IN0 */
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1) /* BUTTON A on a nes */
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1) /* BUTTON B on a nes */
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 ) /* SELECT on a nes */
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START3 ) /* START on a nes */
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
+
+ PORT_START_TAG("IN1") /* IN1 */
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(2) /* BUTTON A on a nes */
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2) /* BUTTON B on a nes */
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START2 ) /* SELECT on a nes */
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START4 ) /* START on a nes */
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
+
+ PORT_START_TAG("COINS") /* IN2 */
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED ) /* serial pin from controller */
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_IMPULSE(1) /* service credit? */
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) /* bit 0 of dsw goes here */
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) /* bit 1 of dsw goes here */
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_IMPULSE(1)
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_IMPULSE(1)
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) /* this bit masks irqs - dont change */
+
+ /* Right Side Controls */
+ PORT_START_TAG("IN2") /* IN3 */
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(3) /* BUTTON A on a nes */
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(3) /* BUTTON B on a nes */
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("2nd Side 1 Player Start") PORT_CODE(KEYCODE_MINUS) /* SELECT on a nes */
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("2nd Side 3 Player Start") PORT_CODE(KEYCODE_BACKSLASH) /* START on a nes */
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(3)
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(3)
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(3)
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(3)
+
+ PORT_START_TAG("IN3") /* IN4 */
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(4) /* BUTTON A on a nes */
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(4) /* BUTTON B on a nes */
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("2nd Side 2 Player Start") PORT_CODE(KEYCODE_EQUALS) /* SELECT on a nes */
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("2nd Side 4 Player Start") PORT_CODE(KEYCODE_BACKSPACE) /* START on a nes */
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(4)
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(4)
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(4)
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(4)
+
+ PORT_START_TAG("COINS2") /* IN5 */
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED ) /* serial pin from controller */
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE2 ) PORT_IMPULSE(1) /* service credit? */
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) /* bit 0 of dsw goes here */
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) /* bit 1 of dsw goes here */
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN3 ) PORT_IMPULSE(1)
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_COIN4 ) PORT_IMPULSE(1)
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) /* this bit masks irqs - dont change */
+
+ /* Both sides also have a DSW (#0 & #1) which are defined per game, below */
+INPUT_PORTS_END
+
+static INPUT_PORTS_START( vsnes_dual_rev )
+ PORT_INCLUDE( vsnes_dual )
+
+ PORT_MODIFY("IN0") /* IN0 */
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(2) /* BUTTON A on a nes */
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2) /* BUTTON B on a nes */
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
+
+ PORT_MODIFY("IN1") /* IN1 */
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1) /* BUTTON A on a nes */
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1) /* BUTTON B on a nes */
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
+
+ PORT_MODIFY("IN2") /* IN3 */
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(4) /* BUTTON A on a nes */
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(4) /* BUTTON B on a nes */
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(4)
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(4)
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(4)
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(4)
+
+ PORT_MODIFY("IN3") /* IN4 */
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(3) /* BUTTON A on a nes */
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(3) /* BUTTON B on a nes */
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(3)
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(3)
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(3)
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(3)
INPUT_PORTS_END
-#endif
+
+static INPUT_PORTS_START( vsnes_zapper )
+ PORT_START_TAG("IN0") /* IN0 */
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED ) /* sprite hit */
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON1 ) /* gun trigger */
+
+ PORT_START_TAG("IN1") /* IN1 */
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED )
+
+ PORT_START_TAG("COINS") /* IN2 */
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED ) /* serial pin from controller */
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_IMPULSE(1) /* service credit? */
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) /* bit 0 of dsw goes here */
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) /* bit 1 of dsw goes here */
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_IMPULSE(1)
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_IMPULSE(1)
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+
+ PORT_START_TAG("GUNX") /* IN4 - FAKE - Gun X pos */
+ PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_SENSITIVITY(70) PORT_KEYDELTA(30)
+
+ PORT_START_TAG("GUNY") /* IN5 - FAKE - Gun Y pos */
+ PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_SENSITIVITY(50) PORT_KEYDELTA(30)
+INPUT_PORTS_END
+
static INPUT_PORTS_START( topgun )
- VS_CONTROLS( IPT_START1, IPT_UNKNOWN, IPT_START2, IPT_UNKNOWN )
+ PORT_INCLUDE( vsnes )
- PORT_START /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
+ PORT_START_TAG("DSW0") /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
PORT_DIPNAME( 0x07, 0x00, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x03, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x05, DEF_STR( 4C_1C ) )
@@ -525,9 +472,9 @@ static INPUT_PORTS_START( topgun )
INPUT_PORTS_END
static INPUT_PORTS_START( platoon )
- VS_CONTROLS( IPT_START1, IPT_UNKNOWN, IPT_START2, IPT_UNKNOWN )
+ PORT_INCLUDE( vsnes )
- PORT_START /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
+ PORT_START_TAG("DSW0") /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
@@ -571,9 +518,9 @@ Lose Hole -1 -2
*/
static INPUT_PORTS_START( golf )
- VS_CONTROLS_REVERSE( IPT_START1, IPT_UNKNOWN, IPT_START2, IPT_UNKNOWN )
+ PORT_INCLUDE( vsnes_rev )
- PORT_START /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
+ PORT_START_TAG("DSW0") /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
PORT_DIPNAME( 0x07, 0x01, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x07, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x03, DEF_STR( 3C_1C ) )
@@ -601,38 +548,19 @@ INPUT_PORTS_END
/* Same as 'golf', but 4 start buttons */
static INPUT_PORTS_START( golf4s )
- VS_CONTROLS_REVERSE( IPT_START1, IPT_START3, IPT_START2, IPT_START4 )
+ PORT_INCLUDE( golf )
- PORT_START /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
- PORT_DIPNAME( 0x07, 0x01, DEF_STR( Coinage ) )
- PORT_DIPSETTING( 0x07, DEF_STR( 4C_1C ) )
- PORT_DIPSETTING( 0x03, DEF_STR( 3C_1C ) )
- PORT_DIPSETTING( 0x05, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x01, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x06, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x02, DEF_STR( 1C_3C ) )
- PORT_DIPSETTING( 0x04, DEF_STR( 1C_4C ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
- PORT_DIPNAME( 0x08, 0x00, "Hole Size" )
- PORT_DIPSETTING( 0x00, "Large" )
- PORT_DIPSETTING( 0x08, "Small" )
- PORT_DIPNAME( 0x10, 0x00, "Points per Stroke" )
- PORT_DIPSETTING( 0x00, DEF_STR( Easier ) )
- PORT_DIPSETTING( 0x10, DEF_STR( Harder ) )
- PORT_DIPNAME( 0x60, 0x00, "Starting Points" )
- PORT_DIPSETTING( 0x00, "10" )
- PORT_DIPSETTING( 0x40, "13" )
- PORT_DIPSETTING( 0x20, "16" )
- PORT_DIPSETTING( 0x60, "20" )
- PORT_DIPNAME( 0x80, 0x00, "Difficulty Vs. Computer" )
- PORT_DIPSETTING( 0x00, DEF_STR( Easy ) )
- PORT_DIPSETTING( 0x80, DEF_STR( Hard ) )
+ PORT_MODIFY("IN0")
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START3 ) /* START on a nes */
+
+ PORT_MODIFY("IN1")
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START4 ) /* START on a nes */
INPUT_PORTS_END
static INPUT_PORTS_START( vstennis )
- VS_DUAL_CONTROLS_L /* left side controls */
+ PORT_INCLUDE( vsnes_dual )
- PORT_START /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
+ PORT_START_TAG("DSW0") /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
PORT_DIPNAME( 0x03, 0x00, "Difficulty Vs. Computer" )
PORT_DIPSETTING( 0x00, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x02, DEF_STR( Normal ) )
@@ -656,9 +584,7 @@ static INPUT_PORTS_START( vstennis )
PORT_DIPSETTING( 0x00, DEF_STR( Japan ) )
PORT_DIPSETTING( 0x80, DEF_STR( USA ) )
- VS_DUAL_CONTROLS_R /* Right Side Controls */
-
- PORT_START /* DSW1 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
+ PORT_START_TAG("DSW1") /* DSW1 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
PORT_SERVICE( 0x01, IP_ACTIVE_HIGH )
PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x02, DEF_STR( 2C_1C ) )
@@ -682,9 +608,9 @@ static INPUT_PORTS_START( vstennis )
INPUT_PORTS_END
static INPUT_PORTS_START( wrecking )
- VS_DUAL_CONTROLS_L /* left side controls */
+ PORT_INCLUDE( vsnes_dual )
- PORT_START /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
+ PORT_START_TAG("DSW0") /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x00, "3" )
PORT_DIPSETTING( 0x02, "4" )
@@ -709,9 +635,7 @@ static INPUT_PORTS_START( wrecking )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
- VS_DUAL_CONTROLS_R /* right side controls */
-
- PORT_START /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
+ PORT_START_TAG("DSW1") /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
PORT_DIPNAME( 0x07, 0x01, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x07, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x03, DEF_STR( 3C_1C ) )
@@ -739,9 +663,9 @@ static INPUT_PORTS_START( wrecking )
INPUT_PORTS_END
static INPUT_PORTS_START( balonfgt )
- VS_DUAL_CONTROLS_L /* left side controls */
+ PORT_INCLUDE( vsnes_dual )
- PORT_START /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
+ PORT_START_TAG("DSW0") /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
PORT_DIPNAME( 0x07, 0x00, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x03, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x05, DEF_STR( 3C_1C ) )
@@ -765,9 +689,7 @@ static INPUT_PORTS_START( balonfgt )
PORT_DIPSETTING( 0x40, DEF_STR( On ) )
PORT_SERVICE( 0x80, IP_ACTIVE_HIGH )
- VS_DUAL_CONTROLS_R /* right side controls */
-
- PORT_START /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
+ PORT_START_TAG("DSW1") /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x00, "3" )
PORT_DIPSETTING( 0x02, "4" )
@@ -794,9 +716,9 @@ static INPUT_PORTS_START( balonfgt )
INPUT_PORTS_END
static INPUT_PORTS_START( vsmahjng )
- VS_DUAL_CONTROLS_L /* left side controls */
+ PORT_INCLUDE( vsnes_dual )
- PORT_START /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
+ PORT_START_TAG("DSW0") /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
@@ -821,9 +743,7 @@ static INPUT_PORTS_START( vsmahjng )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
- VS_DUAL_CONTROLS_R /* right side controls */
-
- PORT_START /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
+ PORT_START_TAG("DSW1") /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
PORT_SERVICE( 0x01, IP_ACTIVE_HIGH )
PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x02, DEF_STR( 2C_1C ) )
@@ -847,9 +767,9 @@ static INPUT_PORTS_START( vsmahjng )
INPUT_PORTS_END
static INPUT_PORTS_START( vsbball )
- VS_DUAL_CONTROLS_L /* left side controls */
+ PORT_INCLUDE( vsnes_dual )
- PORT_START /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
+ PORT_START_TAG("DSW0") /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
PORT_SERVICE( 0x01, IP_ACTIVE_HIGH )
PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x02, DEF_STR( 2C_1C ) )
@@ -872,9 +792,7 @@ static INPUT_PORTS_START( vsbball )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
- VS_DUAL_CONTROLS_R /* right side controls */
-
- PORT_START /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
+ PORT_START_TAG("DSW1") /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
PORT_DIPNAME( 0x03, 0x02, "Player Defense Strenght" )
PORT_DIPSETTING( 0x00, "Weak" )
PORT_DIPSETTING( 0x02, DEF_STR( Normal ) )
@@ -898,9 +816,9 @@ static INPUT_PORTS_START( vsbball )
INPUT_PORTS_END
static INPUT_PORTS_START( vsbballj )
- VS_DUAL_CONTROLS_L /* left side controls */
+ PORT_INCLUDE( vsnes_dual )
- PORT_START /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
+ PORT_START_TAG("DSW0") /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
PORT_DIPNAME( 0x03, 0x02, "Player Defense Strenght" )
PORT_DIPSETTING( 0x00, "Weak" )
PORT_DIPSETTING( 0x02, DEF_STR( Normal ) )
@@ -922,9 +840,7 @@ static INPUT_PORTS_START( vsbballj )
PORT_DIPSETTING( 0x40, "Strong" )
PORT_DIPSETTING( 0xc0, "Very Strong" )
- VS_DUAL_CONTROLS_R /* right side controls */
-
- PORT_START /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
+ PORT_START_TAG("DSW1") /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
PORT_SERVICE( 0x01, IP_ACTIVE_HIGH )
PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x02, DEF_STR( 2C_1C ) )
@@ -948,10 +864,11 @@ static INPUT_PORTS_START( vsbballj )
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
INPUT_PORTS_END
+/* iceclmrj has dual inputs reversed! */
static INPUT_PORTS_START( iceclmrj )
- VS_DUAL_CONTROLS_REVERSE_L /* left side controls */
+ PORT_INCLUDE( vsnes_dual_rev )
- PORT_START /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
+ PORT_START_TAG("DSW0") /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
PORT_DIPNAME( 0x07, 0x00, "Coinage (Left Side)" )
PORT_DIPSETTING( 0x03, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x05, DEF_STR( 3C_1C ) )
@@ -976,9 +893,7 @@ static INPUT_PORTS_START( iceclmrj )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
- VS_DUAL_CONTROLS_REVERSE_R /* right side controls */
-
- PORT_START /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
+ PORT_START_TAG("DSW1") /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
PORT_DIPNAME( 0x07, 0x00, "Coinage (Right Side)" )
PORT_DIPSETTING( 0x03, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x05, DEF_STR( 3C_1C ) )
@@ -1005,9 +920,9 @@ static INPUT_PORTS_START( iceclmrj )
INPUT_PORTS_END
static INPUT_PORTS_START( drmario )
- VS_CONTROLS_REVERSE( IPT_START1, IPT_UNKNOWN, IPT_START2, IPT_UNKNOWN )
+ PORT_INCLUDE( vsnes_rev )
- PORT_START /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
+ PORT_START_TAG("DSW0") /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
PORT_DIPNAME( 0x03, 0x00, "Drop Rate Increases After" )
PORT_DIPSETTING( 0x00, "7 Pills" )
PORT_DIPSETTING( 0x01, "8 Pills" )
@@ -1032,9 +947,9 @@ static INPUT_PORTS_START( drmario )
INPUT_PORTS_END
static INPUT_PORTS_START( rbibb )
- VS_CONTROLS_REVERSE( IPT_START1, IPT_UNKNOWN, IPT_START2, IPT_UNKNOWN )
+ PORT_INCLUDE( vsnes_rev )
- PORT_START /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
+ PORT_START_TAG("DSW0") /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x03, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x02, DEF_STR( 2C_1C ) )
@@ -1058,9 +973,9 @@ static INPUT_PORTS_START( rbibb )
INPUT_PORTS_END
static INPUT_PORTS_START( btlecity )
- VS_CONTROLS_REVERSE( IPT_START1, IPT_UNKNOWN, IPT_START2, IPT_UNKNOWN )
+ PORT_INCLUDE( vsnes_rev )
- PORT_START /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
+ PORT_START_TAG("DSW0") /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
PORT_DIPNAME( 0x01, 0x01, "Credits for 2 Players" )
PORT_DIPSETTING( 0x00, "1" )
PORT_DIPSETTING( 0x01, "2" )
@@ -1087,9 +1002,9 @@ static INPUT_PORTS_START( btlecity )
INPUT_PORTS_END
static INPUT_PORTS_START( cluclu )
- VS_CONTROLS_REVERSE( IPT_START1, IPT_UNKNOWN, IPT_START2, IPT_UNKNOWN )
+ PORT_INCLUDE( vsnes_rev )
- PORT_START /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
+ PORT_START_TAG("DSW0") /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
PORT_DIPNAME( 0x07, 0x00, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x03, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x05, DEF_STR( 3C_1C ) )
@@ -1116,9 +1031,9 @@ static INPUT_PORTS_START( cluclu )
INPUT_PORTS_END
static INPUT_PORTS_START( cstlevna )
- VS_CONTROLS( IPT_START1, IPT_UNKNOWN, IPT_START2, IPT_UNKNOWN )
+ PORT_INCLUDE( vsnes )
- PORT_START /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
+ PORT_START_TAG("DSW0") /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
PORT_DIPNAME( 0x07, 0x00, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x03, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x05, DEF_STR( 4C_1C ) )
@@ -1145,9 +1060,9 @@ static INPUT_PORTS_START( cstlevna )
INPUT_PORTS_END
static INPUT_PORTS_START( iceclimb )
- VS_CONTROLS_REVERSE( IPT_START1, IPT_UNKNOWN, IPT_START2, IPT_UNKNOWN )
+ PORT_INCLUDE( vsnes_rev )
- PORT_START /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
+ PORT_START_TAG("DSW0") /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
PORT_DIPNAME( 0x07, 0x00, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x03, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x05, DEF_STR( 3C_1C ) )
@@ -1175,66 +1090,24 @@ INPUT_PORTS_END
/* Same as 'iceclimb', but different buttons mapping and input protection */
static INPUT_PORTS_START( iceclmbj )
- PORT_START /* IN0 */
- PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(2) /* BUTTON A on a nes */
- PORT_BIT ( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2) /* BUTTON B on a nes */
- PORT_BIT ( 0x04, IP_ACTIVE_HIGH, IPT_START1 ) /* SELECT on a nes */
- PORT_BIT ( 0x08, IP_ACTIVE_LOW, IPT_SPECIAL ) // protection /* START on a nes */
- PORT_BIT ( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
- PORT_BIT ( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
- PORT_BIT ( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
- PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
-
- PORT_START /* IN1 */
- PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1) /* BUTTON A on a nes */
- PORT_BIT ( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1) /* BUTTON B on a nes */
- PORT_BIT ( 0x04, IP_ACTIVE_HIGH, IPT_START2 ) /* SELECT on a nes */
- PORT_BIT ( 0x08, IP_ACTIVE_LOW, IPT_SPECIAL ) // protection /* START on a nes */
- PORT_BIT ( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
- PORT_BIT ( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
- PORT_BIT ( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
- PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
-
- PORT_START /* IN2 */
- PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED ) /* serial pin from controller */
- PORT_BIT ( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_BIT ( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE1 ) /* service credit? */
- PORT_BIT ( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) /* bit 0 of dsw goes here */
- PORT_BIT ( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) /* bit 1 of dsw goes here */
- PORT_BIT ( 0x20, IP_ACTIVE_HIGH, IPT_COIN1 )
- PORT_BIT ( 0x40, IP_ACTIVE_HIGH, IPT_COIN2 )
- PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
-
- PORT_START /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
- PORT_DIPNAME( 0x07, 0x00, DEF_STR( Coinage ) )
- PORT_DIPSETTING( 0x03, DEF_STR( 4C_1C ) )
- PORT_DIPSETTING( 0x05, DEF_STR( 3C_1C ) )
- PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x02, DEF_STR( 1C_3C ) )
- PORT_DIPSETTING( 0x06, DEF_STR( 1C_4C ) )
- PORT_DIPSETTING( 0x07, DEF_STR( Free_Play ) )
- PORT_DIPNAME( 0x18, 0x00, DEF_STR( Lives ) )
- PORT_DIPSETTING( 0x00, "3" )
- PORT_DIPSETTING( 0x10, "4" )
- PORT_DIPSETTING( 0x08, "5" )
- PORT_DIPSETTING( 0x18, "7" )
- PORT_DIPNAME( 0x20, 0x00, DEF_STR( Difficulty ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Normal ) )
- PORT_DIPSETTING( 0x20, DEF_STR( Hard ) )
- PORT_DIPNAME( 0x40, 0x00, "Time before bear appears ?" )
- PORT_DIPSETTING( 0x00, "Long" )
- PORT_DIPSETTING( 0x40, "Short" )
- PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unused ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x80, DEF_STR( On ) )
+ PORT_INCLUDE( iceclimb )
+
+ PORT_MODIFY("IN0") /* IN0 */
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SPECIAL ) // protection /* START on a nes */
+
+ PORT_MODIFY("IN1") /* IN1 */
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SPECIAL ) // protection /* START on a nes */
+
+ PORT_MODIFY("COINS") /* IN2 */
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE1 ) /* service credit? */
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN1 )
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_COIN2 )
INPUT_PORTS_END
static INPUT_PORTS_START( excitebk )
- VS_CONTROLS( IPT_START1, IPT_UNKNOWN, IPT_START2, IPT_UNKNOWN )
+ PORT_INCLUDE( vsnes )
- PORT_START /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
+ PORT_START_TAG("DSW0") /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
PORT_DIPNAME( 0x07, 0x00, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x03, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x05, DEF_STR( 3C_1C ) )
@@ -1261,37 +1134,20 @@ static INPUT_PORTS_START( excitebk )
INPUT_PORTS_END
static INPUT_PORTS_START( jajamaru )
- PORT_START /* IN0 */
- PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(2) /* BUTTON A on a nes */
- PORT_BIT ( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2) /* BUTTON B on a nes */
- PORT_BIT ( 0x04, IP_ACTIVE_HIGH, IPT_START1 ) /* SELECT on a nes */
- PORT_BIT ( 0x08, IP_ACTIVE_HIGH, IPT_START2 ) /* START on a nes */
- PORT_BIT ( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
- PORT_BIT ( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
- PORT_BIT ( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
- PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
-
- PORT_START /* IN1 */
- PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1) /* BUTTON A on a nes */
- PORT_BIT ( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1) /* BUTTON B on a nes */
- PORT_BIT ( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* SELECT on a nes */
- PORT_BIT ( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* START on a nes */
- PORT_BIT ( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
- PORT_BIT ( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
- PORT_BIT ( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
- PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
-
- PORT_START /* IN2 */
- PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED ) /* serial pin from controller */
- PORT_BIT ( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_BIT ( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE1 ) /* service credit? */
- PORT_BIT ( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) /* bit 0 of dsw goes here */
- PORT_BIT ( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) /* bit 1 of dsw goes here */
- PORT_BIT ( 0x20, IP_ACTIVE_HIGH, IPT_COIN1 )
- PORT_BIT ( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED )
- PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
-
- PORT_START /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
+ PORT_INCLUDE( vsnes_rev )
+
+ PORT_MODIFY("IN0") /* IN0 */
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 ) /* START on a nes */
+
+ PORT_MODIFY("IN1") /* IN1 */
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* SELECT on a nes */
+
+ PORT_MODIFY("COINS") /* IN2 */
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE1 ) /* service credit? */
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN1 )
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED )
+
+ PORT_START_TAG("DSW0") /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
PORT_DIPNAME( 0x07, 0x00, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x03, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x05, DEF_STR( 3C_1C ) )
@@ -1317,9 +1173,9 @@ static INPUT_PORTS_START( jajamaru )
INPUT_PORTS_END
static INPUT_PORTS_START( machridr )
- VS_CONTROLS( IPT_START1, IPT_UNKNOWN, IPT_START2, IPT_UNKNOWN )
+ PORT_INCLUDE( vsnes )
- PORT_START /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
+ PORT_START_TAG("DSW0") /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
PORT_DIPNAME( 0x07, 0x00, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x03, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x05, DEF_STR( 3C_1C ) )
@@ -1346,37 +1202,22 @@ static INPUT_PORTS_START( machridr )
INPUT_PORTS_END
static INPUT_PORTS_START( machridj )
- PORT_START /* IN0 */
- PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1) /* BUTTON A on a nes */
- PORT_BIT ( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1) /* BUTTON B on a nes */
- PORT_BIT ( 0x04, IP_ACTIVE_HIGH, IPT_START1 ) /* SELECT on a nes */
- PORT_BIT ( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) /* START on a nes */
- PORT_BIT ( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
- PORT_BIT ( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
- PORT_BIT ( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
- PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
-
- PORT_START /* IN1 */
- PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(2) /* BUTTON A on a nes */
- PORT_BIT ( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2) /* BUTTON B on a nes */
- PORT_BIT ( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) /* SELECT on a nes */
- PORT_BIT ( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) /* START on a nes */
- PORT_BIT ( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
- PORT_BIT ( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
- PORT_BIT ( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
- PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
-
- PORT_START /* IN2 */
- PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED ) /* serial pin from controller */
- PORT_BIT ( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_BIT ( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE1 ) /* service credit? */
- PORT_BIT ( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) /* bit 0 of dsw goes here */
- PORT_BIT ( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) /* bit 1 of dsw goes here */
- PORT_BIT ( 0x20, IP_ACTIVE_HIGH, IPT_COIN1 )
- PORT_BIT ( 0x40, IP_ACTIVE_HIGH, IPT_COIN2 )
- PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
-
- PORT_START /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
+ PORT_INCLUDE( vsnes )
+
+ PORT_MODIFY("IN0") /* IN0 */
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 ) /* SELECT on a nes */
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) /* START on a nes */
+
+ PORT_MODIFY("IN1") /* IN1 */
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) /* SELECT on a nes */
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) /* START on a nes */
+
+ PORT_MODIFY("COINS") /* IN2 */
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE1 ) /* service credit? */
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN1 )
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_COIN2 )
+
+ PORT_START_TAG("DSW0") /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
PORT_DIPNAME( 0x07, 0x00, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x03, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x05, DEF_STR( 3C_1C ) )
@@ -1401,9 +1242,9 @@ static INPUT_PORTS_START( machridj )
INPUT_PORTS_END
static INPUT_PORTS_START( suprmrio )
- VS_CONTROLS( IPT_START1, IPT_UNKNOWN, IPT_START2, IPT_UNKNOWN )
+ PORT_INCLUDE( vsnes )
- PORT_START /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
+ PORT_START_TAG("DSW0") /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
PORT_DIPNAME( 0x07, 0x00, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x02, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x04, DEF_STR( 2C_1C ) )
@@ -1430,17 +1271,17 @@ static INPUT_PORTS_START( suprmrio )
INPUT_PORTS_END
static INPUT_PORTS_START( duckhunt )
- VS_ZAPPER
+ PORT_INCLUDE( vsnes_zapper )
- PORT_START /* IN3 */
+ PORT_START_TAG("DSW0") /* IN3 */
PORT_DIPNAME( 0x07, 0x00, DEF_STR( Coinage ) )
- PORT_DIPSETTING( 0X03, DEF_STR( 5C_1C ) )
+ PORT_DIPSETTING( 0x03, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x05, DEF_STR( 4C_1C ) )
- PORT_DIPSETTING( 0X01, DEF_STR( 3C_1C ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x06, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0X00, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0X02, DEF_STR( 1C_3C ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x07, DEF_STR( Free_Play ) )
PORT_DIPNAME( 0x18, 0x08, DEF_STR( Difficulty ) )
PORT_DIPSETTING( 0x00, DEF_STR( Easy ) )
@@ -1455,18 +1296,12 @@ static INPUT_PORTS_START( duckhunt )
PORT_DIPSETTING( 0x40, "50000" )
PORT_DIPSETTING( 0x80, "80000" )
PORT_DIPSETTING( 0xc0, "100000" )
-
- PORT_START /* IN4 - FAKE - Gun X pos */
- PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_SENSITIVITY(70) PORT_KEYDELTA(30)
-
- PORT_START /* IN5 - FAKE - Gun Y pos */
- PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_SENSITIVITY(50) PORT_KEYDELTA(30)
INPUT_PORTS_END
static INPUT_PORTS_START( hogalley )
- VS_ZAPPER
+ PORT_INCLUDE( vsnes_zapper )
- PORT_START /* IN3 */
+ PORT_START_TAG("DSW0") /* IN3 */
PORT_DIPNAME( 0x07, 0x00, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x03, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x05, DEF_STR( 4C_1C ) )
@@ -1489,26 +1324,20 @@ static INPUT_PORTS_START( hogalley )
PORT_DIPSETTING( 0x40, "50000" )
PORT_DIPSETTING( 0x80, "80000" )
PORT_DIPSETTING( 0xc0, "100000" )
-
- PORT_START /* IN4 - FAKE - Gun X pos */
- PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_SENSITIVITY(70) PORT_KEYDELTA(30)
-
- PORT_START /* IN5 - FAKE - Gun Y pos */
- PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_SENSITIVITY(50) PORT_KEYDELTA(30)
INPUT_PORTS_END
static INPUT_PORTS_START( vsgshoe )
- VS_ZAPPER
+ PORT_INCLUDE( vsnes_zapper )
- PORT_START /* IN3 */
+ PORT_START_TAG("DSW0") /* IN3 */
PORT_DIPNAME( 0x07, 0x00, DEF_STR( Coinage ) )
- PORT_DIPSETTING( 0X03, DEF_STR( 5C_1C ) )
+ PORT_DIPSETTING( 0x03, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x05, DEF_STR( 4C_1C ) )
- PORT_DIPSETTING( 0X01, DEF_STR( 3C_1C ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x06, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0X00, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0X02, DEF_STR( 1C_3C ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x07, DEF_STR( Free_Play ) )
PORT_DIPNAME( 0x18, 0x08, DEF_STR( Difficulty ) )
PORT_DIPSETTING( 0x00, DEF_STR( Easy ) )
@@ -1524,18 +1353,12 @@ static INPUT_PORTS_START( vsgshoe )
PORT_DIPNAME( 0x80, 0x00, "1 Bonus Man Awarded at 50k" )
PORT_DIPSETTING( 0x00, "80000" )
PORT_DIPSETTING( 0x80, "100000" )
-
- PORT_START /* IN4 - FAKE - Gun X pos */
- PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_SENSITIVITY(70) PORT_KEYDELTA(30)
-
- PORT_START /* IN5 - FAKE - Gun Y pos */
- PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_SENSITIVITY(50) PORT_KEYDELTA(30)
INPUT_PORTS_END
static INPUT_PORTS_START( vsfdf )
- VS_ZAPPER
+ PORT_INCLUDE( vsnes_zapper )
- PORT_START /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
+ PORT_START_TAG("DSW0") /* IN3 */
PORT_DIPNAME( 0x07, 0x00, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x03, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x05, DEF_STR( 4C_1C ) )
@@ -1560,18 +1383,12 @@ static INPUT_PORTS_START( vsfdf )
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
-
- PORT_START /* IN4 - FAKE - Gun X pos */
- PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_SENSITIVITY(70) PORT_KEYDELTA(30)
-
- PORT_START /* IN5 - FAKE - Gun Y pos */
- PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_SENSITIVITY(50) PORT_KEYDELTA(30)
INPUT_PORTS_END
static INPUT_PORTS_START( vstetris )
- VS_CONTROLS_REVERSE( IPT_START1, IPT_UNKNOWN, IPT_START2, IPT_UNKNOWN )
+ PORT_INCLUDE( vsnes_rev )
- PORT_START /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
+ PORT_START_TAG("DSW0") /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
@@ -1588,17 +1405,24 @@ static INPUT_PORTS_START( vstetris )
PORT_DIPSETTING( 0x10, DEF_STR( On ) )
PORT_DIPNAME( 0xe0, 0x80, "Color Palette" )
PORT_DIPSETTING( 0x80, DEF_STR( Normal ) )
- PORT_DIPSETTING( 0x00, "Wrong 1" )
+ PORT_DIPSETTING( 0x00, "Wrong 1" )
PORT_DIPSETTING( 0x40, "Wrong 2" )
PORT_DIPSETTING( 0x20, "Wrong 3" )
- PORT_DIPSETTING( 0xc0, "Wrong 4" )
+ PORT_DIPSETTING( 0xc0, "Wrong 4" )
/* 0x60,0xa0,0xe0:again "Wrong 3" */
INPUT_PORTS_END
+/* P2 Start is a different bit */
static INPUT_PORTS_START( vsskykid )
- VS_CONTROLS_REVERSE( IPT_START1, IPT_START2, IPT_UNKNOWN, IPT_UNKNOWN )
+ PORT_INCLUDE( vsnes_rev )
- PORT_START /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
+ PORT_MODIFY("IN0")
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START2 ) /* START on a nes */
+
+ PORT_MODIFY("IN1")
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* SELECT on a nes */
+
+ PORT_START_TAG("DSW0") /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
PORT_DIPNAME( 0x03, 0x01, DEF_STR( Difficulty ) )
PORT_DIPSETTING( 0x00, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x01, DEF_STR( Normal ) )
@@ -1622,9 +1446,9 @@ static INPUT_PORTS_START( vsskykid )
INPUT_PORTS_END
static INPUT_PORTS_START( vspinbal )
- VS_CONTROLS( IPT_START1, IPT_UNKNOWN, IPT_START2, IPT_UNKNOWN )
+ PORT_INCLUDE( vsnes )
- PORT_START /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
+ PORT_START_TAG("DSW0") /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
PORT_DIPNAME( 0x07, 0x01, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x07, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x03, DEF_STR( 3C_1C ) )
@@ -1652,66 +1476,24 @@ INPUT_PORTS_END
/* Same as 'vspinbal', but different buttons mapping */
static INPUT_PORTS_START( vspinblj )
- PORT_START /* IN0 */
- PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1) /* Right flipper */
- PORT_BIT ( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(2) /* Right flipper */
- PORT_BIT ( 0x04, IP_ACTIVE_HIGH, IPT_START1 ) /* SELECT on a nes */
- PORT_BIT ( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* START on a nes */
- PORT_BIT ( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
- PORT_BIT ( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
- PORT_BIT ( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
- PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
-
- PORT_START /* IN1 */
- PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1) /* Left flipper */
- PORT_BIT ( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2) /* Left flipper */
- PORT_BIT ( 0x04, IP_ACTIVE_HIGH, IPT_START2 ) /* SELECT on a nes */
- PORT_BIT ( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* START on a nes */
- PORT_BIT ( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
- PORT_BIT ( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
- PORT_BIT ( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
- PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
-
- PORT_START /* IN2 */
- PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED ) /* serial pin from controller */
- PORT_BIT ( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_BIT ( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE1 ) /* service credit? */
- PORT_BIT ( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) /* bit 0 of dsw goes here */
- PORT_BIT ( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) /* bit 1 of dsw goes here */
- PORT_BIT ( 0x20, IP_ACTIVE_HIGH, IPT_COIN1 )
- PORT_BIT ( 0x40, IP_ACTIVE_HIGH, IPT_COIN2 )
- PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
-
- PORT_START /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
- PORT_DIPNAME( 0x07, 0x01, DEF_STR( Coinage ) )
- PORT_DIPSETTING( 0x07, DEF_STR( 4C_1C ) )
- PORT_DIPSETTING( 0x03, DEF_STR( 3C_1C ) )
- PORT_DIPSETTING( 0x05, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x01, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x06, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x02, DEF_STR( 1C_3C ) )
- PORT_DIPSETTING( 0x04, DEF_STR( 1C_4C ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
- PORT_DIPNAME( 0x08, 0x00, "Side Drain Walls" )
- PORT_DIPSETTING( 0x00, DEF_STR( High ) )
- PORT_DIPSETTING( 0x08, DEF_STR( Low ) )
- PORT_DIPNAME( 0x10, 0x00, DEF_STR( Bonus_Life ) )
- PORT_DIPSETTING( 0x00, "50000" )
- PORT_DIPSETTING( 0x10, "70000" )
- PORT_DIPNAME( 0x60, 0x00, "Balls" )
- PORT_DIPSETTING( 0x60, "2" )
- PORT_DIPSETTING( 0x00, "3" )
- PORT_DIPSETTING( 0x40, "4" )
- PORT_DIPSETTING( 0x20, "5" )
- PORT_DIPNAME( 0x80, 0x00, "Ball speed" )
- PORT_DIPSETTING( 0x00, DEF_STR( Normal ) )
- PORT_DIPSETTING( 0x80, "Fast" )
+ PORT_INCLUDE( vspinbal )
+
+ PORT_MODIFY("IN0") /* IN0 */
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1) /* Right flipper */
+
+ PORT_MODIFY("IN1") /* IN1 */
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1) /* Left flipper */
+
+ PORT_START_TAG("COIN") /* IN2 */
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE1 ) /* service credit? */
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN1 )
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_COIN2 )
INPUT_PORTS_END
static INPUT_PORTS_START( goonies )
- VS_CONTROLS( IPT_START1, IPT_UNKNOWN, IPT_START2, IPT_UNKNOWN )
+ PORT_INCLUDE( vsnes )
- PORT_START /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
+ PORT_START_TAG("DSW0") /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
PORT_DIPNAME( 0x07, 0x00, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x03, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x05, DEF_STR( 4C_1C ) )
@@ -1738,9 +1520,9 @@ static INPUT_PORTS_START( goonies )
INPUT_PORTS_END
static INPUT_PORTS_START( vssoccer )
- VS_CONTROLS_REVERSE( IPT_START1, IPT_UNKNOWN, IPT_START2, IPT_UNKNOWN )
+ PORT_INCLUDE( vsnes_rev )
- PORT_START /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
+ PORT_START_TAG("DSW0") /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
PORT_DIPNAME( 0x07, 0x00, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x03, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x05, DEF_STR( 3C_1C ) )
@@ -1766,9 +1548,9 @@ static INPUT_PORTS_START( vssoccer )
INPUT_PORTS_END
static INPUT_PORTS_START( vsgradus )
- VS_CONTROLS_REVERSE( IPT_START1, IPT_UNKNOWN, IPT_START2, IPT_UNKNOWN )
+ PORT_INCLUDE( vsnes_rev )
- PORT_START /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
+ PORT_START_TAG("DSW0") /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
PORT_DIPNAME( 0x07, 0x00, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x03, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x05, DEF_STR( 4C_1C ) )
@@ -1795,9 +1577,9 @@ static INPUT_PORTS_START( vsgradus )
INPUT_PORTS_END
static INPUT_PORTS_START( vsslalom )
- VS_CONTROLS( IPT_START1, IPT_UNKNOWN, IPT_START2, IPT_UNKNOWN )
+ PORT_INCLUDE( vsnes )
- PORT_START /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
+ PORT_START_TAG("DSW0") /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
PORT_DIPNAME( 0x07, 0x00, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x03, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x05, DEF_STR( 4C_1C ) )
@@ -1824,9 +1606,9 @@ static INPUT_PORTS_START( vsslalom )
INPUT_PORTS_END
static INPUT_PORTS_START( starlstr )
- VS_DUAL_CONTROLS_L /* left side controls */
+ PORT_INCLUDE( vsnes_dual )
- PORT_START
+ PORT_START_TAG("DSW0")
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x03, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) )
@@ -1849,13 +1631,14 @@ static INPUT_PORTS_START( starlstr )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
- VS_DUAL_CONTROLS_R /* Right Side Controls */
+ PORT_START_TAG("DSW1") /* no DSW1? */
+ PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
INPUT_PORTS_END
static INPUT_PORTS_START( tkoboxng )
- VS_CONTROLS( IPT_START1, IPT_UNKNOWN, IPT_START2, IPT_UNKNOWN )
+ PORT_INCLUDE( vsnes )
- PORT_START /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
+ PORT_START_TAG("DSW0") /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x03, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x02, DEF_STR( 2C_1C ) )
@@ -1882,37 +1665,21 @@ static INPUT_PORTS_START( tkoboxng )
INPUT_PORTS_END
static INPUT_PORTS_START( bnglngby )
- PORT_START /* IN0 */
- PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(2) /* BUTTON A on a nes */
- PORT_BIT ( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2) /* BUTTON B on a nes */
- PORT_BIT ( 0x04, IP_ACTIVE_HIGH, IPT_START1 ) /* SELECT on a nes */
- PORT_BIT ( 0x08, IP_ACTIVE_LOW, IPT_SPECIAL ) // protection /* START on a nes */
- PORT_BIT ( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
- PORT_BIT ( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
- PORT_BIT ( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
- PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
-
- PORT_START /* IN1 */
- PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1) /* BUTTON A on a nes */
- PORT_BIT ( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1) /* BUTTON B on a nes */
- PORT_BIT ( 0x04, IP_ACTIVE_HIGH, IPT_START2 ) /* SELECT on a nes */
- PORT_BIT ( 0x08, IP_ACTIVE_LOW, IPT_SPECIAL ) // protection /* START on a nes */
- PORT_BIT ( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
- PORT_BIT ( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
- PORT_BIT ( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
- PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
-
- PORT_START /* IN2 */
- PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED ) /* serial pin from controller */
- PORT_BIT ( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_BIT ( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE1 ) /* service credit? */
- PORT_BIT ( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) /* bit 0 of dsw goes here */
- PORT_BIT ( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) /* bit 1 of dsw goes here */
- PORT_BIT ( 0x20, IP_ACTIVE_HIGH, IPT_COIN1 )
- PORT_BIT ( 0x40, IP_ACTIVE_HIGH, IPT_COIN2 )
- PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_SPECIAL )
-
- PORT_START /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
+ PORT_INCLUDE( vsnes_rev )
+
+ PORT_MODIFY("IN0") /* IN0 */
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SPECIAL ) // protection /* START on a nes */
+
+ PORT_MODIFY("IN1") /* IN1 */
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SPECIAL ) // protection /* START on a nes */
+
+ PORT_MODIFY("COINS") /* IN2 */
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE1 ) /* service credit? */
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN1 )
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_COIN2 )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SPECIAL )
+
+ PORT_START_TAG("DSW0") /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
PORT_DIPNAME( 0x07, 0x00, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x03, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x05, DEF_STR( 3C_1C ) )
@@ -1937,9 +1704,9 @@ static INPUT_PORTS_START( bnglngby )
INPUT_PORTS_END
static INPUT_PORTS_START( mightybj )
- VS_CONTROLS( IPT_START1, IPT_UNKNOWN, IPT_START2, IPT_UNKNOWN )
+ PORT_INCLUDE( vsnes )
- PORT_START /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
+ PORT_START_TAG("DSW0") /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
PORT_DIPNAME( 0x07, 0x00, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x07, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x03, DEF_STR( 4C_1C ) )
@@ -1966,37 +1733,17 @@ static INPUT_PORTS_START( mightybj )
INPUT_PORTS_END
static INPUT_PORTS_START( supxevs )
- PORT_START /* IN0 */
- PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1) /* BUTTON A on a nes */
- PORT_BIT ( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1) /* BUTTON B on a nes */
- PORT_BIT ( 0x04, IP_ACTIVE_HIGH, IPT_START1 ) /* SELECT on a nes */
- PORT_BIT ( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* START on a nes */
- PORT_BIT ( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
- PORT_BIT ( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
- PORT_BIT ( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
- PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
-
- PORT_START /* IN1 */
- PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(2) /* BUTTON A on a nes */
- PORT_BIT ( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2) /* BUTTON B on a nes */
- PORT_BIT ( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* SELECT on a nes */
- PORT_BIT ( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* START on a nes */
- PORT_BIT ( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
- PORT_BIT ( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
- PORT_BIT ( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
- PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
-
- PORT_START /* IN2 */
- PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED ) /* serial pin from controller */
- PORT_BIT ( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_BIT ( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE1 ) /* service credit? */
- PORT_BIT ( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) /* bit 0 of dsw goes here */
- PORT_BIT ( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) /* bit 1 of dsw goes here */
- PORT_BIT ( 0x20, IP_ACTIVE_HIGH, IPT_COIN1 )
- PORT_BIT ( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
-
- PORT_START /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
+ PORT_INCLUDE( vsnes )
+
+ PORT_MODIFY("IN1") /* IN1 */
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* SELECT on a nes */
+
+ PORT_MODIFY("COINS") /* IN2 */
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE1 ) /* service credit? */
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN1 )
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+
+ PORT_START_TAG("DSW0") /* DSW0 - bit 0 and 1 read from bit 3 and 4 on $4016, rest of the bits read on $4017 */
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
diff --git a/src/mame/drivers/warpwarp.c b/src/mame/drivers/warpwarp.c
index b290b0a068b..f51b3783252 100644
--- a/src/mame/drivers/warpwarp.c
+++ b/src/mame/drivers/warpwarp.c
@@ -144,12 +144,13 @@ static int handle_joystick;
static READ8_HANDLER( geebee_in_r )
{
int res;
+ static const char *portnames[] = { "SW0", "SW1", "DSW2", "PLACEHOLDER" }; // "IN1" & "IN2" are read separately when offset==3
offset &= 3;
- res = input_port_read_indexed(machine, offset);
+ res = input_port_read_safe(machine, portnames[offset], 0);
if (offset == 3)
{
- res = input_port_read_indexed(machine, 3 + (flip_screen_get() & 1)); // read player 2 input in cocktail mode
+ res = input_port_read(machine, (flip_screen_get() & 1) ? "IN2" : "IN1"); // read player 2 input in cocktail mode
if (handle_joystick)
{
/* map digital two-way joystick to two fixed VOLIN values */
@@ -217,13 +218,13 @@ static WRITE8_HANDLER( geebee_out7_w )
/* Read Switch Inputs */
static READ8_HANDLER( warpwarp_sw_r )
{
- return (input_port_read_indexed(machine, 0) >> (offset & 7)) & 1;
+ return (input_port_read(machine, "IN0") >> (offset & 7)) & 1;
}
/* Read Dipswitches */
static READ8_HANDLER( warpwarp_dsw1_r )
{
- return (input_port_read_indexed(machine, 1) >> (offset & 7)) & 1;
+ return (input_port_read(machine, "DSW1") >> (offset & 7)) & 1;
}
/* Read mux Controller Inputs */
@@ -231,7 +232,7 @@ static READ8_HANDLER( warpwarp_vol_r )
{
int res;
- res = input_port_read_indexed(machine, 2 + (flip_screen_get() & 1));
+ res = input_port_read(machine, (flip_screen_get() & 1) ? "VOLIN2" : "VOLIN1");
if (handle_joystick)
{
if (res & 1) return 0x0f;
@@ -372,10 +373,10 @@ static INPUT_PORTS_START( geebee )
PORT_DIPSETTING( 0x0c, DEF_STR( Free_Play ) )
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START_TAG("VOLIN")
+ PORT_START_TAG("IN1")
PORT_BIT( 0xff, 0x58, IPT_PADDLE ) PORT_MINMAX(0x10,0xa0) PORT_SENSITIVITY(30) PORT_KEYDELTA(15) PORT_CENTERDELTA(0) PORT_REVERSE
- PORT_START_TAG("VOLINC") //Cocktail
+ PORT_START_TAG("IN2") /* Cocktail */
PORT_BIT( 0xff, 0x58, IPT_PADDLE ) PORT_MINMAX(0x10,0xa0) PORT_SENSITIVITY(30) PORT_KEYDELTA(15) PORT_CENTERDELTA(0) PORT_REVERSE PORT_COCKTAIL
INPUT_PORTS_END
@@ -412,11 +413,11 @@ static INPUT_PORTS_START( navarone )
PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START_TAG("FAKE1") /* Fake input port to support digital joystick */
+ PORT_START_TAG("IN1") /* Fake input port to support digital joystick */
PORT_BIT( 0x01, 0x00, IPT_JOYSTICK_RIGHT )
PORT_BIT( 0x02, 0x00, IPT_JOYSTICK_LEFT )
- PORT_START_TAG("FAKE2") /* Fake input port to support digital joystick */
+ PORT_START_TAG("IN2") /* Fake input port to support digital joystick */
PORT_BIT( 0x01, 0x00, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL
PORT_BIT( 0x02, 0x00, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL
INPUT_PORTS_END
@@ -452,11 +453,11 @@ static INPUT_PORTS_START( kaitei )
PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START_TAG("FAKE1") /* Fake input port to support digital joystick */
+ PORT_START_TAG("IN1") /* Fake input port to support digital joystick */
PORT_BIT( 0x01, 0x00, IPT_JOYSTICK_RIGHT )
PORT_BIT( 0x02, 0x00, IPT_JOYSTICK_LEFT )
- PORT_START_TAG("FAKE") /* Fake input port to support digital joystick */
+ PORT_START_TAG("IN2") /* Fake input port to support digital joystick */
PORT_BIT( 0x01, 0x00, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL
PORT_BIT( 0x02, 0x00, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL
INPUT_PORTS_END
@@ -496,11 +497,11 @@ static INPUT_PORTS_START( kaiteik )
PORT_DIPSETTING( 0x20, DEF_STR( On ) )
PORT_BIT( 0xc0, 0x80, IPT_UNKNOWN ) // game verifies these two bits and freezes if they don't match
- PORT_START_TAG("VOLIN1")
+ PORT_START_TAG("IN1")
PORT_BIT( 0x3f, 0x00, IPT_UNKNOWN )
PORT_BIT( 0xc0, 0x80, IPT_UNKNOWN ) // game verifies these two bits and freezes if they don't match
- PORT_START_TAG("VOLIN2")
+ PORT_START_TAG("IN2")
PORT_BIT( 0x3f, 0x00, IPT_UNKNOWN )
PORT_BIT( 0xc0, 0x80, IPT_UNKNOWN ) // game verifies these two bits and freezes if they don't match
INPUT_PORTS_END
@@ -537,11 +538,11 @@ static INPUT_PORTS_START( sos )
PORT_DIPSETTING( 0x20, DEF_STR( On ) )
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START_TAG("FAKE1") /* Fake input port to support digital joystick */
+ PORT_START_TAG("IN1") /* Fake input port to support digital joystick */
PORT_BIT( 0x01, 0x00, IPT_JOYSTICK_RIGHT )
PORT_BIT( 0x02, 0x00, IPT_JOYSTICK_LEFT )
- PORT_START_TAG("FAKE2") /* Fake input port to support digital joystick */
+ PORT_START_TAG("IN2") /* Fake input port to support digital joystick */
PORT_BIT( 0x01, 0x00, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL
PORT_BIT( 0x02, 0x00, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL
INPUT_PORTS_END
@@ -591,32 +592,9 @@ static INPUT_PORTS_START( bombbee )
INPUT_PORTS_END
static INPUT_PORTS_START( cutieq )
- PORT_START_TAG("IN0")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 )
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
- PORT_SERVICE( 0x20, IP_ACTIVE_LOW )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Cabinet ) )
- PORT_DIPSETTING( 0x40, DEF_STR( Upright ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1 )
+ PORT_INCLUDE( bombbee )
- PORT_START_TAG("DSW1")
- PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coinage ) )
- PORT_DIPSETTING( 0x02, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
- PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Lives ) )
- PORT_DIPSETTING( 0x00, "3" )
- PORT_DIPSETTING( 0x04, "4" )
-// PORT_DIPSETTING( 0x08, "4" ) // duplicated setting
- PORT_DIPSETTING( 0x0c, "5" )
- PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unused ) )
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_MODIFY("DSW1")
PORT_DIPNAME( 0xe0, 0x00, DEF_STR( Bonus_Life ) )
PORT_DIPSETTING( 0x00, "50000" )
PORT_DIPSETTING( 0x20, "60000" )
@@ -626,12 +604,6 @@ static INPUT_PORTS_START( cutieq )
PORT_DIPSETTING( 0xa0, "150000" )
PORT_DIPSETTING( 0xc0, "200000" )
PORT_DIPSETTING( 0xe0, DEF_STR( None ) )
-
- PORT_START_TAG("VOLIN1") /* Mux input - player 1 controller - handled by warpwarp_vol_r */
- PORT_BIT( 0xff, 0x60, IPT_PADDLE ) PORT_MINMAX(0x14,0xac) PORT_SENSITIVITY(30) PORT_KEYDELTA(10) PORT_CENTERDELTA(0) PORT_REVERSE
-
- PORT_START_TAG("VOLIN2") /* Mux input - player 2 controller - handled by warpwarp_vol_r */
- PORT_BIT( 0xff, 0x60, IPT_PADDLE ) PORT_MINMAX(0x14,0xac) PORT_SENSITIVITY(30) PORT_KEYDELTA(10) PORT_CENTERDELTA(0) PORT_REVERSE PORT_COCKTAIL
INPUT_PORTS_END
static INPUT_PORTS_START( warpwarp )
@@ -694,60 +666,12 @@ INPUT_PORTS_END
/* has High Score Initials dip switch instead of rack test */
static INPUT_PORTS_START( warpwarr )
- PORT_START_TAG("IN0")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 )
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
- PORT_SERVICE( 0x20, IP_ACTIVE_LOW )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Cabinet ) )
- PORT_DIPSETTING( 0x40, DEF_STR( Upright ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1 )
+ PORT_INCLUDE( warpwarp )
- PORT_START_TAG("DSW1")
- PORT_DIPNAME( 0x03, 0x01, DEF_STR( Coinage ) )
- PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x01, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
- PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Lives ) )
- PORT_DIPSETTING( 0x00, "2" )
- PORT_DIPSETTING( 0x04, "3" )
- PORT_DIPSETTING( 0x08, "4" )
- PORT_DIPSETTING( 0x0c, "5" )
- /* Bonus Lives when "Lives" Dip Switch is set to "2", "3" or "4" */
- PORT_DIPNAME( 0x30, 0x00, DEF_STR( Bonus_Life ) )
- PORT_DIPSETTING( 0x00, "8000 30000" )
- PORT_DIPSETTING( 0x10, "10000 40000" )
- PORT_DIPSETTING( 0x20, "15000 60000" )
- PORT_DIPSETTING( 0x30, DEF_STR( None ) )
- /* Bonus Lives when "Lives" Dip Switch is set to "5"
- PORT_DIPNAME( 0x30, 0x00, DEF_STR( Bonus_Life ) )
- PORT_DIPSETTING( 0x00, "30000" )
- PORT_DIPSETTING( 0x10, "40000" )
- PORT_DIPSETTING( 0x20, "60000" )
- PORT_DIPSETTING( 0x30, DEF_STR( None ) )
- */
- PORT_DIPNAME( 0x40, 0x00, DEF_STR( Demo_Sounds ) )
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_MODIFY("DSW1")
PORT_DIPNAME( 0x80, 0x00, "High Score Initials" )
PORT_DIPSETTING( 0x80, DEF_STR( No ) )
PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
-
- PORT_START_TAG("VOLIN1") /* FAKE - input port to simulate an analog stick - handled by warpwarp_vol_r */
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY
- PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY
- PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY
-
- PORT_START_TAG("VOLIN2") /* FAKE - input port to simulate an analog stick - handled by warpwarp_vol_r */
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
- PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
- PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
INPUT_PORTS_END
diff --git a/src/mame/drivers/wecleman.c b/src/mame/drivers/wecleman.c
index c1222e2e34e..7da7fa4280f 100644
--- a/src/mame/drivers/wecleman.c
+++ b/src/mame/drivers/wecleman.c
@@ -407,11 +407,11 @@ static WRITE16_HANDLER( selected_ip_w )
static READ16_HANDLER( selected_ip_r )
{
switch ( (wecleman_selected_ip >> 5) & 3 )
- { // From WEC Le Mans Schems:
- case 0: return input_port_read_indexed(machine,4); // Accel - Schems: Accelevr
- case 1: return ~0; // ????? - Schems: Not Used
- case 2: return input_port_read_indexed(machine,5); // Wheel - Schems: Handlevr
- case 3: return ~0; // Table - Schems: Turnvr
+ { // From WEC Le Mans Schems:
+ case 0: return input_port_read(machine, "ACCEL"); // Accel - Schems: Accelevr
+ case 1: return ~0; // ????? - Schems: Not Used
+ case 2: return input_port_read(machine, "STEER"); // Wheel - Schems: Handlevr
+ case 3: return ~0; // Table - Schems: Turnvr
default: return ~0;
}
@@ -547,10 +547,10 @@ static ADDRESS_MAP_START( wecleman_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x140002, 0x140003) AM_WRITE(selected_ip_w) // Selects accelerator / wheel / ..
AM_RANGE(0x140004, 0x140005) AM_WRITE(irqctrl_w) // Main CPU controls the other CPUs
AM_RANGE(0x140006, 0x140007) AM_WRITE(SMH_NOP) // Watchdog reset
- AM_RANGE(0x140010, 0x140011) AM_READ(input_port_0_word_r) // Coins + brake + gear
- AM_RANGE(0x140012, 0x140013) AM_READ(input_port_1_word_r) // ??
- AM_RANGE(0x140014, 0x140015) AM_READ(input_port_2_word_r) // DSW
- AM_RANGE(0x140016, 0x140017) AM_READ(input_port_3_word_r) // DSW
+ AM_RANGE(0x140010, 0x140011) AM_READ_PORT("IN0") // Coins + brake + gear
+ AM_RANGE(0x140012, 0x140013) AM_READ_PORT("IN1") // ??
+ AM_RANGE(0x140014, 0x140015) AM_READ_PORT("DSWA") // DSW 2
+ AM_RANGE(0x140016, 0x140017) AM_READ_PORT("DSWB") // DSW 1
AM_RANGE(0x140020, 0x140021) AM_WRITE(SMH_RAM) // Paired with writes to $140003
AM_RANGE(0x140020, 0x140021) AM_READ(selected_ip_r) // Accelerator or Wheel or ..
AM_RANGE(0x140030, 0x140031) AM_WRITE(SMH_NOP) // toggles between 0 & 1 on hitting bumps and crashes (vibration?)
@@ -609,10 +609,10 @@ static ADDRESS_MAP_START( hotchase_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x140002, 0x140003) AM_WRITE(selected_ip_w) // Selects accelerator / wheel /
AM_RANGE(0x140004, 0x140005) AM_WRITE(irqctrl_w) // Main CPU controls the other CPUs
AM_RANGE(0x140006, 0x140007) AM_READ(SMH_NOP) // Watchdog reset
- AM_RANGE(0x140010, 0x140011) AM_READ(input_port_0_word_r) // Coins + brake + gear
- AM_RANGE(0x140012, 0x140013) AM_READ(input_port_1_word_r) // ?? bit 4 from sound cpu
- AM_RANGE(0x140014, 0x140015) AM_READ(input_port_2_word_r) // DSW 2
- AM_RANGE(0x140016, 0x140017) AM_READ(input_port_3_word_r) // DSW 1
+ AM_RANGE(0x140010, 0x140011) AM_READ_PORT("IN0") // Coins + brake + gear
+ AM_RANGE(0x140012, 0x140013) AM_READ_PORT("IN1") // ?? bit 4 from sound cpu
+ AM_RANGE(0x140014, 0x140015) AM_READ_PORT("DSW2") // DSW 2
+ AM_RANGE(0x140016, 0x140017) AM_READ_PORT("DSW1") // DSW 1
AM_RANGE(0x140020, 0x140021) AM_READWRITE(selected_ip_r, SMH_NOP) // Paired with writes to $140003
AM_RANGE(0x140022, 0x140023) AM_READ(SMH_NOP) // ??
AM_RANGE(0x140030, 0x140031) AM_WRITE(SMH_NOP) // signal to cabinet vibration motors?
@@ -814,24 +814,24 @@ ADDRESS_MAP_END
***************************************************************************/
static INPUT_PORTS_START( wecleman )
- PORT_START /* IN0 - Controls and Coins - $140011.b */
+ PORT_START_TAG("IN0") /* IN0 - Controls and Coins - $140011.b */
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
PORT_SERVICE_NO_TOGGLE( 0x04, IP_ACTIVE_HIGH )
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SERVICE1 )
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_START1 )
- PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("Shift") PORT_TOGGLE
- PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Brake")
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("Shift") PORT_TOGGLE
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Brake")
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED )
- PORT_START /* IN1 - Motor? - $140013.b */
+ PORT_START_TAG("IN1") /* IN1 - Motor? - $140013.b */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE2 ) // right sw
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE3 ) // left sw
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE4 ) // thermo
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) // from sound cpu ?
PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START /* IN2 - DSW A (Coinage) - $140015.b */
+ PORT_START_TAG("DSWA") /* IN2 - DSW A (Coinage) - $140015.b */
PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) )
PORT_DIPSETTING( 0x02, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x05, DEF_STR( 3C_1C ) )
@@ -866,7 +866,7 @@ static INPUT_PORTS_START( wecleman )
PORT_DIPSETTING( 0xa0, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x90, DEF_STR( 1C_7C ) )
- PORT_START /* IN3 - DSW B (options) - $140017.b */
+ PORT_START_TAG("DSWB") /* IN3 - DSW B (options) - $140017.b */
PORT_DIPNAME( 0x01, 0x01, "Speed Unit" )
PORT_DIPSETTING( 0x01, "km/h" )
PORT_DIPSETTING( 0x00, "mph" )
@@ -891,10 +891,10 @@ static INPUT_PORTS_START( wecleman )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_START /* IN4 - Accelerator - $140021.b (0) */
+ PORT_START_TAG("ACCEL") /* IN4 - Accelerator - $140021.b (0) */
PORT_BIT( 0xff, 0, IPT_PEDAL ) PORT_MINMAX(0,0x80) PORT_SENSITIVITY(30) PORT_KEYDELTA(10)
- PORT_START /* IN5 - Steering Wheel - $140021.b (2) */
+ PORT_START_TAG("STEER") /* IN5 - Steering Wheel - $140021.b (2) */
PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_SENSITIVITY(50) PORT_KEYDELTA(5)
INPUT_PORTS_END
@@ -904,24 +904,24 @@ INPUT_PORTS_END
***************************************************************************/
static INPUT_PORTS_START( hotchase )
- PORT_START /* IN0 - Controls and Coins - $140011.b */
+ PORT_START_TAG("IN0") /* IN0 - Controls and Coins - $140011.b */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_SERVICE_NO_TOGGLE( 0x04, IP_ACTIVE_LOW )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Shift") PORT_TOGGLE
- PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Brake")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Shift") PORT_TOGGLE
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Brake")
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START /* IN1 - Motor? - $140013.b */
+ PORT_START_TAG("IN1") /* IN1 - Motor? - $140013.b */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE2 ) // right sw
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE3 ) // left sw
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE4 ) // thermo
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) // from sound cpu ?
PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START /* IN2 - DSW 2 (options) - $140015.b */
+ PORT_START_TAG("DSW2") /* IN2 - DSW 2 (options) - $140015.b */
PORT_DIPNAME( 0x01, 0x01, "Speed Unit" )
PORT_DIPSETTING( 0x01, "KM" )
PORT_DIPSETTING( 0x00, "M.P.H." )
@@ -947,7 +947,7 @@ static INPUT_PORTS_START( hotchase )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_START /* IN3 - DSW 1 (Coinage) - $140017.b */
+ PORT_START_TAG("DSW1") /* IN3 - DSW 1 (Coinage) - $140017.b */
PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) )
PORT_DIPSETTING( 0x02, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x04, DEF_STR( 4C_1C ) )
@@ -982,10 +982,10 @@ static INPUT_PORTS_START( hotchase )
PORT_DIPSETTING( 0xb0, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x00, "1 Coin/99 Credits" )
- PORT_START /* IN4 - Accelerator - $140021.b (0) */
+ PORT_START_TAG("ACCEL") /* IN4 - Accelerator - $140021.b (0) */
PORT_BIT( 0xff, 0, IPT_PEDAL ) PORT_MINMAX(0,0x80) PORT_SENSITIVITY(30) PORT_KEYDELTA(10)
- PORT_START /* IN5 - Steering Wheel - $140021.b (2) */
+ PORT_START_TAG("STEER") /* IN5 - Steering Wheel - $140021.b (2) */
PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_SENSITIVITY(50) PORT_KEYDELTA(5)
INPUT_PORTS_END
diff --git a/src/mame/drivers/welltris.c b/src/mame/drivers/welltris.c
index 4179c1a4da2..c8511b76c57 100644
--- a/src/mame/drivers/welltris.c
+++ b/src/mame/drivers/welltris.c
@@ -353,7 +353,7 @@ static WRITE16_HANDLER( sound_command_w )
static READ16_HANDLER( in0_r )
{
- return input_port_read_indexed(machine, 0) | (pending_command ? 0x80 : 0);
+ return input_port_read(machine, "SYSTEM") | (pending_command ? 0x80 : 0);
}
static WRITE8_HANDLER( pending_command_clear_w )
@@ -367,23 +367,23 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x100000, 0x17ffff) AM_ROM
AM_RANGE(0x800000, 0x81ffff) AM_RAM AM_BASE(&welltris_pixelram) /* Graph_1 & 2*/
AM_RANGE(0xff8000, 0xffbfff) AM_RAM /* work */
- AM_RANGE(0xffc000, 0xffc3ff) AM_RAM_WRITE(welltris_spriteram_w) AM_BASE(&welltris_spriteram) /* Sprite */
+ AM_RANGE(0xffc000, 0xffc3ff) AM_RAM_WRITE(welltris_spriteram_w) AM_BASE(&welltris_spriteram) /* Sprite */
AM_RANGE(0xffd000, 0xffdfff) AM_RAM_WRITE(welltris_charvideoram_w) AM_BASE(&welltris_charvideoram) /* Char */
AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16) /* Palette */
- AM_RANGE(0xfff000, 0xfff001) AM_READ(input_port_1_word_r) /* Bottom Controls */
+ AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("P1") /* Bottom Controls */
AM_RANGE(0xfff000, 0xfff001) AM_WRITE(welltris_palette_bank_w)
- AM_RANGE(0xfff002, 0xfff003) AM_READ(input_port_2_word_r) /* Top Controls */
+ AM_RANGE(0xfff002, 0xfff003) AM_READ_PORT("P2") /* Top Controls */
AM_RANGE(0xfff002, 0xfff003) AM_WRITE(welltris_gfxbank_w)
- AM_RANGE(0xfff004, 0xfff005) AM_READ(input_port_3_word_r) /* Left Side Ctrls */
+ AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("P3") /* Left Side Ctrls */
AM_RANGE(0xfff004, 0xfff007) AM_WRITE(welltris_scrollreg_w)
- AM_RANGE(0xfff006, 0xfff007) AM_READ(input_port_4_word_r) /* Right Side Ctrls */
- AM_RANGE(0xfff008, 0xfff009) AM_READ(in0_r) /* Coinage, Start Buttons, pending sound command etc. */ /* Bit 5 Tested at start of irq 1 */
+ AM_RANGE(0xfff006, 0xfff007) AM_READ_PORT("P4") /* Right Side Ctrls */
+ AM_RANGE(0xfff008, 0xfff009) AM_READ(in0_r) /* Coinage, Start Buttons, pending sound command etc. */ /* Bit 5 Tested at start of irq 1 */
AM_RANGE(0xfff008, 0xfff009) AM_WRITE(sound_command_w)
- AM_RANGE(0xfff00a, 0xfff00b) AM_READ(input_port_5_word_r) /* P3+P4 Coin + Start Buttons */
- AM_RANGE(0xfff00c, 0xfff00d) AM_READ(input_port_6_word_r) /* DSW0 Coinage */
- AM_RANGE(0xfff00c, 0xfff00d) AM_WRITE(SMH_NOP) /* ?? */
- AM_RANGE(0xfff00e, 0xfff00f) AM_READ(input_port_7_word_r) /* DSW1 Game Options */
- AM_RANGE(0xfff00e, 0xfff00f) AM_WRITE(SMH_NOP) /* ?? */
+ AM_RANGE(0xfff00a, 0xfff00b) AM_READ_PORT("EXTRA") /* P3+P4 Coin + Start Buttons */
+ AM_RANGE(0xfff00c, 0xfff00d) AM_READ_PORT("DSW1") /* DSW1 Coinage */
+ AM_RANGE(0xfff00c, 0xfff00d) AM_WRITE(SMH_NOP) /* ?? */
+ AM_RANGE(0xfff00e, 0xfff00f) AM_READ_PORT("DSW2") /* DSW2 Game Options */
+ AM_RANGE(0xfff00e, 0xfff00f) AM_WRITE(SMH_NOP) /* ?? */
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 )
@@ -404,7 +404,7 @@ static ADDRESS_MAP_START( sound_port_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_END
static INPUT_PORTS_START( welltris )
- PORT_START
+ PORT_START_TAG("SYSTEM")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START1 )
@@ -414,7 +414,7 @@ static INPUT_PORTS_START( welltris )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE1 ) /* Service (adds a coin) */
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* pending sound command */
- PORT_START
+ PORT_START_TAG("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
@@ -424,7 +424,7 @@ static INPUT_PORTS_START( welltris )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START
+ PORT_START_TAG("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_LEFT ) PORT_8WAY PORT_PLAYER(2)
@@ -437,7 +437,7 @@ static INPUT_PORTS_START( welltris )
#if WELLTRIS_4P_HACK
/* These can actually be read in the test mode even if they're not used by the game without patching the code
might be useful if a real 4 player version ever turns up if it was ever produced */
- PORT_START
+ PORT_START_TAG("P3")
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)
@@ -447,7 +447,7 @@ static INPUT_PORTS_START( welltris )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START
+ PORT_START_TAG("P4")
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)
@@ -457,7 +457,7 @@ static INPUT_PORTS_START( welltris )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
#else
- PORT_START
+ PORT_START_TAG("P3")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -467,7 +467,7 @@ static INPUT_PORTS_START( welltris )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START
+ PORT_START_TAG("P4")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -478,7 +478,7 @@ static INPUT_PORTS_START( welltris )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
#endif
- PORT_START
+ PORT_START_TAG("EXTRA")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN3 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN4 )
#if WELLTRIS_4P_HACK
@@ -493,7 +493,7 @@ static INPUT_PORTS_START( welltris )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START
+ PORT_START_TAG("DSW1")
PORT_DIPNAME( 0x000f, 0x000f, DEF_STR( Coin_A ) )
PORT_DIPSETTING( 0x0006, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x0007, DEF_STR( 4C_1C ) )
@@ -529,7 +529,7 @@ static INPUT_PORTS_START( welltris )
PORT_DIPSETTING( 0x00b0, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x00a0, DEF_STR( 1C_6C ) )
- PORT_START
+ PORT_START_TAG("DSW2")
PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Difficulty ) )
PORT_DIPSETTING( 0x0002, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x0003, DEF_STR( Normal ) )
@@ -564,7 +564,7 @@ static INPUT_PORTS_START( welltris )
INPUT_PORTS_END
static INPUT_PORTS_START( quiz18k )
- PORT_START
+ PORT_START_TAG("SYSTEM")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START1 )
@@ -574,7 +574,7 @@ static INPUT_PORTS_START( quiz18k )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* pending sound command */
- PORT_START
+ PORT_START_TAG("P1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
@@ -584,7 +584,7 @@ static INPUT_PORTS_START( quiz18k )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START
+ PORT_START_TAG("P2")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
@@ -594,16 +594,16 @@ static INPUT_PORTS_START( quiz18k )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START
+ PORT_START_TAG("P3")
PORT_BIT (0xff, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START
+ PORT_START_TAG("P4")
PORT_BIT (0xff, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START
+ PORT_START_TAG("EXTRA")
PORT_BIT (0xff, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START
+ PORT_START_TAG("DSW1")
PORT_DIPNAME( 0x01, 0x01, "DIPSW 1-1" )
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@@ -629,7 +629,7 @@ static INPUT_PORTS_START( quiz18k )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_START
+ PORT_START_TAG("DSW2")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) ) /* Flip Screen Not Currently Supported */
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
diff --git a/src/mame/drivers/wgp.c b/src/mame/drivers/wgp.c
index d067237cec5..99d1b349efc 100644
--- a/src/mame/drivers/wgp.c
+++ b/src/mame/drivers/wgp.c
@@ -547,12 +547,12 @@ static WRITE16_HANDLER( rotate_port_w )
static READ16_HANDLER( wgp_adinput_r )
{
int steer = 0x40;
- int fake = input_port_read_safe(machine, FAKE_PORT_TAG,0x00);
+ int fake = input_port_read_safe(machine, FAKE_PORT_TAG, 0x00);
if (!(fake & 0x10)) /* Analogue steer (the real control method) */
{
/* Reduce span to 0x80 */
- steer = (input_port_read_safe(machine, STEER_PORT_TAG,0x00) * 0x80) / 0x100;
+ steer = (input_port_read_safe(machine, STEER_PORT_TAG, 0x00) * 0x80) / 0x100;
}
else /* Digital steer */
{
@@ -597,7 +597,7 @@ static READ16_HANDLER( wgp_adinput_r )
}
case 0x05:
- return input_port_read_safe(machine, UNKNOWN_PORT_TAG,0x00); /* unknown */
+ return input_port_read_safe(machine, UNKNOWN_PORT_TAG, 0x00); /* unknown */
}
logerror("CPU #0 PC %06x: warning - read unmapped a/d input offset %06x\n",activecpu_get_pc(),offset);
diff --git a/src/mame/drivers/wheelfir.c b/src/mame/drivers/wheelfir.c
index bea14698c24..2f61fa996e4 100644
--- a/src/mame/drivers/wheelfir.c
+++ b/src/mame/drivers/wheelfir.c
@@ -55,16 +55,12 @@ static int toggle_bit;
static READ16_HANDLER( wheelfir_rand1 )
{
-
-
-
-
- return input_port_read_indexed(machine, 0)^toggle_bit;// mame_rand(machine);
+ return input_port_read(machine, "IN0") ^ toggle_bit; // mame_rand(machine);
}
static READ16_HANDLER( wheelfir_rand2 )
{
- return input_port_read_indexed(machine, 1);// mame_rand(machine);
+ return input_port_read(machine, "IN1"); // mame_rand(machine);
}
@@ -380,8 +376,8 @@ static ADDRESS_MAP_START( wheelfir_main, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x7c0000, 0x7c0001) AM_READ(wheelfir_rand1)
AM_RANGE(0x780000, 0x780001) AM_READ(wheelfir_rand2)
- AM_RANGE(0x7e0000, 0x7e0001) AM_READ(input_port_2_word_r)
- AM_RANGE(0x7e0002, 0x7e0003) AM_READ(input_port_3_word_r)
+ AM_RANGE(0x7e0000, 0x7e0001) AM_READ_PORT("P1")
+ AM_RANGE(0x7e0002, 0x7e0003) AM_READ_PORT("P2")
AM_RANGE(0x700000, 0x70001f) AM_WRITE(wheelfir_blit_w) // blitter stuff
@@ -410,7 +406,7 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( wheelfir )
- PORT_START /* 16bit */
+ PORT_START_TAG("IN0") /* 16bit */
PORT_DIPNAME( 0x0001, 0x0001, "0" )
PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
@@ -460,7 +456,7 @@ static INPUT_PORTS_START( wheelfir )
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_START /* 16bit */
+ PORT_START_TAG("IN1") /* 16bit */
PORT_DIPNAME( 0x0001, 0x0001, "1" )
PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
@@ -510,7 +506,7 @@ static INPUT_PORTS_START( wheelfir )
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_START /* 16bit */
+ PORT_START_TAG("P1") /* 16bit */
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)
@@ -530,7 +526,7 @@ static INPUT_PORTS_START( wheelfir )
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START /* 16bit */
+ PORT_START_TAG("P2") /* 16bit */
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)
diff --git a/src/mame/drivers/wink.c b/src/mame/drivers/wink.c
index 535b370eb37..8442a51d955 100644
--- a/src/mame/drivers/wink.c
+++ b/src/mame/drivers/wink.c
@@ -45,12 +45,12 @@ static WRITE8_HANDLER( wink_coin_counter_w )
static READ8_HANDLER( analog_port_r )
{
- return input_port_read_indexed(machine, 0 /*+ 2 * player_mux*/);
+ return input_port_read(machine, /* player_mux ? "DIAL2" : */ "DIAL1");
}
static READ8_HANDLER( player_inputs_r )
{
- return input_port_read_indexed(machine, 1 /*+ 2 * player_mux*/);
+ return input_port_read(machine, /* player_mux ? "INPUTS2" : */ "INPUTS1");
}
static WRITE8_HANDLER( sound_irq_w )
@@ -103,25 +103,25 @@ either from the system-bus for loading the palet-data or from the xor-registers
for displaying the content.
so it's a palet-ram write-enable.
*/
- AM_RANGE(0x00, 0x1f) AM_RAM AM_BASE(&colorram) //?
- AM_RANGE(0x20, 0x20) AM_WRITENOP //??? seems unused..
- AM_RANGE(0x21, 0x21) AM_WRITE(player_mux_w) //??? no mux on the pcb.
+ AM_RANGE(0x00, 0x1f) AM_RAM AM_BASE(&colorram) //?
+ AM_RANGE(0x20, 0x20) AM_WRITENOP //??? seems unused..
+ AM_RANGE(0x21, 0x21) AM_WRITE(player_mux_w) //??? no mux on the pcb.
AM_RANGE(0x22, 0x22) AM_WRITE(tile_banking_w)
- AM_RANGE(0x23, 0x23) AM_WRITENOP //?
- AM_RANGE(0x24, 0x24) AM_WRITENOP //cab Knocker like in q-bert!
+ AM_RANGE(0x23, 0x23) AM_WRITENOP //?
+ AM_RANGE(0x24, 0x24) AM_WRITENOP //cab Knocker like in q-bert!
AM_RANGE(0x25, 0x27) AM_WRITE(wink_coin_counter_w)
AM_RANGE(0x40, 0x40) AM_WRITE(soundlatch_w)
AM_RANGE(0x60, 0x60) AM_WRITE(sound_irq_w)
AM_RANGE(0x80, 0x80) AM_READ(analog_port_r)
AM_RANGE(0xa0, 0xa0) AM_READ(player_inputs_r)
- AM_RANGE(0xa4, 0xa4) AM_READ(input_port_2_r) //dipswitch bank2
- AM_RANGE(0xa8, 0xa8) AM_READ(input_port_3_r) //dipswitch bank1
- AM_RANGE(0xac, 0xac) AM_WRITENOP //protection - loads video xor unit (written only once at startup)
- AM_RANGE(0xb0, 0xb0) AM_READ(input_port_4_r) //unused inputs
- AM_RANGE(0xb4, 0xb4) AM_READ(input_port_5_r) //dipswitch bank3
- AM_RANGE(0xc0, 0xdf) AM_WRITE(prot_w) //load load protection-buffer from upper address bus
- AM_RANGE(0xc3, 0xc3) AM_READNOP //watchdog?
- AM_RANGE(0xe0, 0xff) AM_READ(prot_r) //load math unit from buffer & lower address-bus
+ AM_RANGE(0xa4, 0xa4) AM_READ_PORT("DSW1") //dipswitch bank2
+ AM_RANGE(0xa8, 0xa8) AM_READ_PORT("DSW2") //dipswitch bank1
+ AM_RANGE(0xac, 0xac) AM_WRITENOP //protection - loads video xor unit (written only once at startup)
+ AM_RANGE(0xb0, 0xb0) AM_READ_PORT("DSW3") //unused inputs
+ AM_RANGE(0xb4, 0xb4) AM_READ_PORT("DSW4") //dipswitch bank3
+ AM_RANGE(0xc0, 0xdf) AM_WRITE(prot_w) //load load protection-buffer from upper address bus
+ AM_RANGE(0xc3, 0xc3) AM_READNOP //watchdog?
+ AM_RANGE(0xe0, 0xff) AM_READ(prot_r) //load math unit from buffer & lower address-bus
ADDRESS_MAP_END
static ADDRESS_MAP_START( wink_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
@@ -137,20 +137,20 @@ static ADDRESS_MAP_START( wink_sound_io, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_END
static INPUT_PORTS_START( wink )
- PORT_START
+ PORT_START_TAG("DIAL1")
PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(50) PORT_KEYDELTA(3) PORT_REVERSE
- PORT_START
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON2 ) // right curve
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) // left curve
+ PORT_START_TAG("INPUTS1")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON2 ) // right curve
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) // left curve
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN3 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON3 ) // slam
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON3 ) // slam
- PORT_START
+ PORT_START_TAG("DSW1")
PORT_DIPNAME( 0x01, 0x01, "1" )
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@@ -176,7 +176,7 @@ static INPUT_PORTS_START( wink )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_START
+ PORT_START_TAG("DSW2")
PORT_DIPNAME( 0x01, 0x01, "2" )
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@@ -202,7 +202,7 @@ static INPUT_PORTS_START( wink )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_START
+ PORT_START_TAG("DSW3")
PORT_DIPNAME( 0x01, 0x01, "3" )
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@@ -228,7 +228,7 @@ static INPUT_PORTS_START( wink )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_START
+ PORT_START_TAG("DSW4")
PORT_DIPNAME( 0x01, 0x01, "Summary" )
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
diff --git a/src/mame/drivers/wiping.c b/src/mame/drivers/wiping.c
index ccb5b6d8a7b..245cbdf27ea 100644
--- a/src/mame/drivers/wiping.c
+++ b/src/mame/drivers/wiping.c
@@ -74,11 +74,11 @@ static WRITE8_HANDLER( shared2_w )
static READ8_HANDLER( ports_r )
{
int i,res;
-
+ static const char *port[] = { "P1", "P2", "IN2", "IN3", "IN4", "IN5", "SYSTEM", "DSW" };
res = 0;
- for (i = 0;i < 8;i++)
- res |= ((input_port_read_indexed(machine, i) >> offset) & 1) << i;
+ for (i = 0; i < 8; i++)
+ res |= ((input_port_read(machine, port[i]) >> offset) & 1) << i;
return res;
}
@@ -118,7 +118,7 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( wiping )
- PORT_START /* 0 */
+ PORT_START_TAG("P1") /* 0 */
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY
@@ -126,7 +126,7 @@ static INPUT_PORTS_START( wiping )
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_UNUSED )
- PORT_START /* 1 */
+ PORT_START_TAG("P2") /* 1 */
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
@@ -134,15 +134,19 @@ static INPUT_PORTS_START( wiping )
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_UNUSED )
- PORT_START /* 2 */
+ PORT_START_TAG("IN2") /* 2 */
+ PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
- PORT_START /* 3 */
+ PORT_START_TAG("IN3") /* 3 */
+ PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
- PORT_START /* 4 */
+ PORT_START_TAG("IN4") /* 4 */
+ PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
- PORT_START /* 5 */
+ PORT_START_TAG("IN5") /* 5 */
+ PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
- PORT_START /* 6 */
+ PORT_START_TAG("SYSTEM") /* 6 */
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x05, IP_ACTIVE_LOW, IPT_COIN2 ) /* note that this changes two bits */
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START1 )
@@ -155,7 +159,7 @@ static INPUT_PORTS_START( wiping )
PORT_DIPSETTING( 0x00, "30000 70000" )
PORT_DIPSETTING( 0x80, "50000 150000" )
- PORT_START /* 7 */
+ PORT_START_TAG("DSW") /* 7 */
PORT_DIPNAME( 0x07, 0x01, DEF_STR( Coin_B ) )
PORT_DIPSETTING( 0x01, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) )
@@ -183,7 +187,7 @@ INPUT_PORTS_END
/* identical apart from bonus life */
static INPUT_PORTS_START( rugrats )
- PORT_START /* 0 */
+ PORT_START_TAG("P1") /* 0 */
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY
@@ -191,7 +195,7 @@ static INPUT_PORTS_START( rugrats )
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_UNUSED )
- PORT_START /* 1 */
+ PORT_START_TAG("P2") /* 1 */
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
@@ -199,15 +203,19 @@ static INPUT_PORTS_START( rugrats )
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_UNUSED )
- PORT_START /* 2 */
+ PORT_START_TAG("IN2") /* 2 */
+ PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
- PORT_START /* 3 */
+ PORT_START_TAG("IN3") /* 3 */
+ PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
- PORT_START /* 4 */
+ PORT_START_TAG("IN4") /* 4 */
+ PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
- PORT_START /* 5 */
+ PORT_START_TAG("IN5") /* 5 */
+ PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
- PORT_START /* 6 */
+ PORT_START_TAG("SYSTEM") /* 6 */
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x05, IP_ACTIVE_LOW, IPT_COIN2 ) /* note that this changes two bits */
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START1 )
@@ -220,7 +228,7 @@ static INPUT_PORTS_START( rugrats )
PORT_DIPSETTING( 0x00, "100000 200000" )
PORT_DIPSETTING( 0x80, "150000 300000" )
- PORT_START /* 7 */
+ PORT_START_TAG("DSW") /* 7 */
PORT_DIPNAME( 0x07, 0x01, DEF_STR( Coin_B ) )
PORT_DIPSETTING( 0x01, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) )
diff --git a/src/mame/drivers/witch.c b/src/mame/drivers/witch.c
index 8387e1f3118..0be6b187207 100644
--- a/src/mame/drivers/witch.c
+++ b/src/mame/drivers/witch.c
@@ -50,7 +50,7 @@ GFX
tileno = vram | ((cram & 0xf0) << 4),
color = cram & 0x0f
- The background is scrolled via 2 registers accessed through one of the ym2203, port A&B
+ The background is scrolled via 2 registers accessed through one of the ym2203,PORT A&B
The scrolling is set by CPU2 in its interrupt handler.
CPU1 doesn't seem to offset vram accesses for the scrolling, so it's assumed to be done
in hardware.
@@ -80,13 +80,13 @@ Sound
Mapped @0x8010-0x8016
Had to patch es8712.c to start playing on 0x8016 write and to prevent continuous looping.
- There's a test on bit1 at offset 0 (0x8010), so this may be a "read status" kind of port.
+ There's a test on bit1 at offset 0 (0x8010), so this may be a "read status" kind ofPORT.
For now reading at 8010 always reports ready.
Ports
- 0xA000-0xA00f : Various ports yet to figure out...
+ 0xA000-0xA00f : VariousPORTs yet to figure out...
- 0xA000 : unknown ; seems muxed with a002
- 0xA002 : banking?
@@ -94,7 +94,7 @@ Ports
mapped 0x0800-0x7fff?
0x0000-0x07ff ignored?
see code @ 61d
- lower bits seems to mux port A000 reads
+ lower bits seems to muxPORT A000 reads
- 0xA003 : ?
- 0xA004 : dipswitches
- 0xA005 : dipswitches
@@ -122,7 +122,7 @@ Memory
we may suppose that this memory range (0xf000-0xf0ff) is shared too.
Moreover, range 0xf100-0xf17f is checked after reset without prior initialization and
- is being reset ONLY by changing a particular port bit whose modification ends up with
+ is being reset ONLY by changing a particularPORT bit whose modification ends up with
a soft reboot. This looks like a good candidate for an NVRAM segment.
Whether CPU2 can access the NVRAM or not is still a mystery considering that it never
attempts to do so.
@@ -133,7 +133,7 @@ Memory
CPU1:
The ROM segment (0x0000-0x7fff) is banked, but the 0x0000-0x07ff region does not look
like being affected (the SEGA Master System did something similar IIRC). A particular
- bank is selected by changing the two most significant bits of port 0xa002 (swapped?).
+ bank is selected by changing the two most significant bits ofPORT 0xa002 (swapped?).
CPU2:
No banking
@@ -153,12 +153,12 @@ Interesting memory locations
d = DOUBLE UP | ON ; OFF
cccc = COIN IN1 | 1-1 ; 1-2 ; 1-3 ; 1-4 ; 1-5 ; 1-6 ; 1-7 ; 1-8 ; 1-9 ; 1-10 ; 1-15 ; 1-20 ; 1-25 ; 1-30 ; 1-40 ; 1-50
- *f182 : sttpcccc / PortA
+ *f182 : sttpcccc /PORTA
cccc = COIN IN2 | 1-1 ; 1-2 ; 1-3 ; 1-4 ; 1-5 ; 1-6 ; 1-7 ; 1-8 ; 1-9 ; 1-10 ; 2-1 ; 3-1 ; 4-1 ; 5-1 ; 6-1 ; 10-1
p = PAYOUT SWITCH | ON ; OFF
tt = TIME | 40 ; 45 ; 50 ; 55
s = DEMO SOUND | ON ; OFF
- *f183 : xxxxhllb / PortB
+ *f183 : xxxxhllb /PORTB
b = AUTO BET | ON ; OFF
ll = GAME LIMIT | 500 ; 1000 ; 5000 ; 990000
h = HOPPER ACTIVE | LOW ; HIGH
@@ -175,7 +175,7 @@ Interesting memory locations
+f192-f194 : credits (bcd)
+fd00 = cpu2 ready
- +f211 = input port cache?
+ +f211 = inputPORT cache?
CPU2 Commands :
-0xfd01 start music
@@ -186,7 +186,7 @@ Interesting memory locations
TODO :
- - Figure out the ports for the "PayOut" stuff (a006/a00c?)
+ - Figure out thePORTs for the "PayOut" stuff (a006/a00c?)
*/
#include "driver.h"
@@ -315,59 +315,59 @@ static READ8_HANDLER( gfx1_cram_r )
static READ8_HANDLER(read_a00x)
{
- switch(offset)
- {
- case 0x02: return reg_a002;
- case 0x04: return input_port_read(machine, "A004");
- case 0x05: return input_port_read(machine, "A005");
- case 0x0c: return input_port_read_indexed(machine, 0); // stats / reset
- case 0x0e: return input_port_read(machine, "A00E");// coin/reset
- }
-
+ switch(offset)
+ {
+ case 0x02: return reg_a002;
+ case 0x04: return input_port_read(machine, "A004");
+ case 0x05: return input_port_read(machine, "A005");
+ case 0x0c: return input_port_read(machine, "SERVICE"); // stats / reset
+ case 0x0e: return input_port_read(machine, "A00E"); // coin/reset
+ }
- if(offset==0x00) //muxed with A002?
- {
- switch(reg_a002&0x3f)
- {
- case 0x3b:
- return input_port_read_indexed(machine, 2);//bet10 / pay out
- case 0x3e:
- return input_port_read_indexed(machine, 3);//TODO : trace f564
- case 0x3d:
- return input_port_read_indexed(machine, 4);
- default:
- logerror("A000 read with mux=0x%02x\n",reg_a002&0x3f);
- }
- }
- return 0xff;
+ if(offset == 0x00) //muxed with A002?
+ {
+ switch(reg_a002 & 0x3f)
+ {
+ case 0x3b:
+ return input_port_read(machine, "UNK"); //bet10 / pay out
+ case 0x3e:
+ return input_port_read(machine, "INPUTS"); //TODO : trace f564
+ case 0x3d:
+ return input_port_read(machine, "A005");
+ default:
+ logerror("A000 read with mux=0x%02x\n", reg_a002 & 0x3f);
+ }
+ }
+ return 0xff;
}
static WRITE8_HANDLER(write_a00x)
{
- switch(offset)
- {
- case 0x02: //A002 bit 7&6 = bank ????
+ switch(offset)
{
- int newbank;
- reg_a002=data;
- newbank=(data>>6)&3;
- if(newbank!=bank)
- {
- UINT8 *ROM = memory_region(machine, REGION_CPU1);
- bank=newbank;
- ROM = &ROM[0x10000+0x8000 * newbank + UNBANKED_SIZE];
- memory_set_bankptr(1,ROM);
- }
- }
- break;
+ case 0x02: //A002 bit 7&6 = bank ????
+ {
+ int newbank;
+ reg_a002 = data;
+ newbank = (data>>6)&3;
+
+ if(newbank != bank)
+ {
+ UINT8 *ROM = memory_region(machine, REGION_CPU1);
+ bank = newbank;
+ ROM = &ROM[0x10000+0x8000 * newbank + UNBANKED_SIZE];
+ memory_set_bankptr(1,ROM);
+ }
+ }
+ break;
- case 0x06: // bit 1 = coin lockout/counter ?
- break;
+ case 0x06: // bit 1 = coin lockout/counter ?
+ break;
- case 0x08: //A008
- cpunum_set_input_line(machine, cpu_getactivecpu(),0,CLEAR_LINE);
- break;
- }
+ case 0x08: //A008
+ cpunum_set_input_line(machine, cpu_getactivecpu(),0,CLEAR_LINE);
+ break;
+ }
}
static READ8_HANDLER(prot_read_700x)
@@ -468,90 +468,88 @@ static ADDRESS_MAP_START( map_sub, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8009, 0x8009) AM_READWRITE(YM2203_read_port_1_r, YM2203_write_port_1_w)
AM_RANGE(0x8010, 0x8016) AM_READWRITE(read_8010, ES8712_data_0_w)
AM_RANGE(0xa000, 0xa00f) AM_READWRITE(read_a00x, write_a00x)
- AM_RANGE(0xf000, 0xf0ff) AM_RAM AM_SHARE(1)
+ AM_RANGE(0xf000, 0xf0ff) AM_RAM AM_SHARE(1)
AM_RANGE(0xf180, 0xffff) AM_RAM AM_SHARE(2)
ADDRESS_MAP_END
static INPUT_PORTS_START( witch )
- PORT_START /* DSW */
- 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_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("NVRAM Init") PORT_CODE(KEYCODE_F1)
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Stats")
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_START_TAG("SERVICE") /* DSW */
+ 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_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("NVRAM Init") PORT_CODE(KEYCODE_F1)
+ PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Stats")
+ PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_START_TAG("A00E") /* DSW */
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_NAME("Key In")
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Reset ?")
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN1 )
-
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
-
-
- PORT_START /* DSW ?*/
- PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
-
- PORT_START /* Inputs */
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Left Flipper")
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Big")
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Small")
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Take")
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Double Up")
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 ) PORT_NAME("Bet")
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Right Flipper")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_NAME("Key In")
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Reset ?")
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN1 )
+ PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+
+ PORT_START_TAG("UNK") /* DSW ?*/
+ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+
+ PORT_START_TAG("INPUTS") /* Inputs */
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Left Flipper")
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Big")
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Small")
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Take")
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Double Up")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 ) PORT_NAME("Bet")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Right Flipper")
/*
-F180 kkkbbppp ; Read on port 0xA005
+F180 kkkbbppp ; Read onPORT 0xA005
ppp = PAY OUT | 60 ; 65 ; 70 ; 75 ; 80 ; 85 ; 90 ; 95
bb = MAX BET | 20 ; 30 ; 40 ; 60
kkk = KEY IN | 1-10 ; 1-20 ; 1-40 ; 1-50 ; 1-100 ; 1-200 ; 1-250 ; 1-500
@@ -581,7 +579,7 @@ F180 kkkbbppp ; Read on port 0xA005
PORT_DIPSETTING( 0x20, "1-250" )
PORT_DIPSETTING( 0x00, "1-500" )
/*
-*f181 : ccccxxxd ; Read on port 0xA004
+*f181 : ccccxxxd ; Read onPORT 0xA004
d = DOUBLE UP | ON ; OFF
cccc = COIN IN1 | 1-1 ; 1-2 ; 1-3 ; 1-4 ; 1-5 ; 1-6 ; 1-7 ; 1-8 ; 1-9 ; 1-10 ; 1-15 ; 1-20 ; 1-25 ; 1-30 ; 1-40 ; 1-50
*/
@@ -608,7 +606,7 @@ F180 kkkbbppp ; Read on port 0xA005
PORT_DIPSETTING( 0x00, "1-50" )
/*
-*f182 : sttpcccc ; Read on Port A of YM2203 @ 0x8001
+*f182 : sttpcccc ; Read onPORT A of YM2203 @ 0x8001
cccc = COIN IN2 | 1-1 ; 1-2 ; 1-3 ; 1-4 ; 1-5 ; 1-6 ; 1-7 ; 1-8 ; 1-9 ; 1-10 ; 2-1 ; 3-1 ; 4-1 ; 5-1 ; 6-1 ; 10-1
p = PAYOUT SWITCH | ON ; OFF
tt = TIME | 40 ; 45 ; 50 ; 55
@@ -645,7 +643,7 @@ F180 kkkbbppp ; Read on port 0xA005
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
/*
-*f183 : xxxxhllb ; Read on Port B of YM2203 @ 0x8001
+*f183 : xxxxhllb ; Read onPORT B of YM2203 @ 0x8001
b = AUTO BET | ON ; OFF
ll = GAME LIMIT | 500 ; 1000 ; 5000 ; 990000
h = HOPPER ACTIVE | LOW ; HIGH
@@ -662,7 +660,6 @@ F180 kkkbbppp ; Read on port 0xA005
PORT_DIPNAME( 0x08, 0x08, "HOPPER" )
PORT_DIPSETTING( 0x08, DEF_STR(Low) )
PORT_DIPSETTING( 0x00, DEF_STR(High) )
-
INPUT_PORTS_END
static const struct ES8712interface es8712_interface =
diff --git a/src/mame/drivers/wolfpack.c b/src/mame/drivers/wolfpack.c
index beee2d604c0..302ec99244a 100644
--- a/src/mame/drivers/wolfpack.c
+++ b/src/mame/drivers/wolfpack.c
@@ -58,13 +58,13 @@ static MACHINE_RESET( wolfpack )
static READ8_HANDLER( wolfpack_input_r )
{
- UINT8 val = input_port_read_indexed(machine, 0);
+ UINT8 val = input_port_read(machine, "INPUTS");
- if (((input_port_read_indexed(machine, 2) + 0) / 2) & 1)
+ if (((input_port_read(machine, "DIAL") + 0) / 2) & 1)
{
val |= 1;
}
- if (((input_port_read_indexed(machine, 2) + 1) / 2) & 1)
+ if (((input_port_read(machine, "DIAL") + 1) / 2) & 1)
{
val |= 2;
}
@@ -162,7 +162,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x200d, 0x200d) AM_WRITE(wolfpack_attract_w)
AM_RANGE(0x200e, 0x200e) AM_WRITE(wolfpack_pt_pos_select_w)
AM_RANGE(0x200f, 0x200f) AM_WRITE(wolfpack_warning_light_w)
- AM_RANGE(0x3000, 0x3000) AM_READ(input_port_1_r)
+ AM_RANGE(0x3000, 0x3000) AM_READ_PORT("DSW")
AM_RANGE(0x3000, 0x3000) AM_WRITE(wolfpack_audamp_w)
AM_RANGE(0x3001, 0x3001) AM_WRITE(wolfpack_pt_horz_w)
AM_RANGE(0x3003, 0x3003) AM_WRITE(wolfpack_pt_pic_w)
@@ -183,8 +183,7 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( wolfpack )
-
- PORT_START
+ PORT_START_TAG("INPUTS")
PORT_BIT ( 0x03, IP_ACTIVE_HIGH, IPT_UNUSED ) /* dial connects here */
PORT_BIT ( 0x04, IP_ACTIVE_LOW, IPT_TILT )
PORT_BIT ( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
@@ -193,7 +192,7 @@ static INPUT_PORTS_START( wolfpack )
PORT_BIT ( 0x40, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_START
+ PORT_START_TAG("DSW")
PORT_DIPNAME( 0x03, 0x01, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x03, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x02, DEF_STR( 2C_1C ) )
@@ -216,7 +215,7 @@ static INPUT_PORTS_START( wolfpack )
PORT_DIPSETTING( 0x80, "16000" )
PORT_DIPSETTING( 0xc0, "20000" )
- PORT_START
+ PORT_START_TAG("DIAL")
PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(30) PORT_KEYDELTA(5)
INPUT_PORTS_END
diff --git a/src/mame/drivers/wwfsstar.c b/src/mame/drivers/wwfsstar.c
index 5ba7b56fd41..856a3290ce3 100644
--- a/src/mame/drivers/wwfsstar.c
+++ b/src/mame/drivers/wwfsstar.c
@@ -85,15 +85,15 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x100000, 0x1003ff) AM_RAM AM_BASE(&spriteram16) /* SPR Ram */
AM_RANGE(0x140000, 0x140fff) AM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
AM_RANGE(0x180000, 0x180003) AM_WRITE(wwfsstar_irqack_w)
- AM_RANGE(0x180000, 0x180001) AM_READ(input_port_3_word_r) /* DSW0 */
- AM_RANGE(0x180002, 0x180003) AM_READ(input_port_4_word_r) /* DSW1 */
- AM_RANGE(0x180004, 0x180005) AM_READ(input_port_0_word_r) /* CTRLS0 */
+ AM_RANGE(0x180000, 0x180001) AM_READ_PORT("DSW0") /* DSW0 */
+ AM_RANGE(0x180002, 0x180003) AM_READ_PORT("DSW1") /* DSW1 */
+ AM_RANGE(0x180004, 0x180005) AM_READ_PORT("P1") /* CTRLS0 */
AM_RANGE(0x180004, 0x180007) AM_WRITE(wwfsstar_scrollwrite)
- AM_RANGE(0x180006, 0x180007) AM_READ(input_port_1_word_r) /* CTRLS1 */
+ AM_RANGE(0x180006, 0x180007) AM_READ_PORT("P2") /* CTRLS1 */
AM_RANGE(0x180008, 0x180009) AM_READ(input_port_2_word_r_cust) /* MISC */
AM_RANGE(0x180008, 0x180009) AM_WRITE(wwfsstar_soundwrite)
AM_RANGE(0x18000a, 0x18000b) AM_WRITE(wwfsstar_flipscreen_w)
- AM_RANGE(0x1c0000, 0x1c3fff) AM_RAM /* Work Ram */
+ AM_RANGE(0x1c0000, 0x1c3fff) AM_RAM /* Work Ram */
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 )
@@ -191,7 +191,7 @@ static INTERRUPT_GEN( wwfsstars_interrupt )
static READ16_HANDLER( input_port_2_word_r_cust )
{
- return input_port_read_indexed(machine, 2) | vblank;
+ return input_port_read(machine, "SYSTEM") | vblank;
}
/*******************************************************************************
@@ -203,7 +203,7 @@ static READ16_HANDLER( input_port_2_word_r_cust )
*******************************************************************************/
static INPUT_PORTS_START( wwfsstar )
- PORT_START
+ PORT_START_TAG("P1")
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_UP ) PORT_PLAYER(1)
@@ -211,19 +211,19 @@ static INPUT_PORTS_START( wwfsstar )
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_UNUSED )
- PORT_BIT(0x0080, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Button A (1P VS CPU - Power Up)")
+ PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Button A (1P VS CPU - Power Up)")
- PORT_START
+ PORT_START_TAG("P2")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) 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_START3 ) PORT_NAME("Button C (1P/2P VS CPU)")
- PORT_BIT(0x0080, IP_ACTIVE_LOW, IPT_START2 ) PORT_NAME("Button B (1P VS 2P - Buy-in)")
+ PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_START3 ) PORT_NAME("Button C (1P/2P VS CPU)")
+ PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START2 ) PORT_NAME("Button B (1P VS 2P - Buy-in)")
- PORT_START
+ PORT_START_TAG("SYSTEM")
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* VBlank */
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_COIN2 )
@@ -233,7 +233,7 @@ static INPUT_PORTS_START( wwfsstar )
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START /* DSW0 */
+ PORT_START_TAG("DSW0") /* DSW0 */
PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coin_A ) )
PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x01, DEF_STR( 3C_1C ) )
@@ -259,7 +259,7 @@ static INPUT_PORTS_START( wwfsstar )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_START /* DSW1 */
+ PORT_START_TAG("DSW1") /* DSW1 */
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
PORT_DIPSETTING( 0x01, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x03, DEF_STR( Normal ) )
diff --git a/src/mame/drivers/wwfwfest.c b/src/mame/drivers/wwfwfest.c
index 47f07377727..489d0dda908 100644
--- a/src/mame/drivers/wwfwfest.c
+++ b/src/mame/drivers/wwfwfest.c
@@ -149,24 +149,24 @@ static READ16_HANDLER( wwfwfest_inputs_read )
switch (offset)
{
case 0x00:
- tmp = input_port_read_indexed(machine, 0) | input_port_read_indexed(machine, 4) << 8;
+ tmp = input_port_read(machine, "P1") | input_port_read(machine, "SYSTEM") << 8;
tmp &= 0xcfff;
- tmp |= ((input_port_read_indexed(machine, 7) & 0xc0) << 6);
+ tmp |= ((input_port_read(machine, "DSW2") & 0xc0) << 6);
break;
case 0x01:
- tmp = input_port_read_indexed(machine, 1);
+ tmp = input_port_read(machine, "P2");
tmp &= 0xc0ff;
- tmp |= ((input_port_read_indexed(machine, 7) & 0x3f)<<8);
+ tmp |= ((input_port_read(machine, "DSW2") & 0x3f)<<8);
break;
case 0x02:
- tmp = input_port_read_indexed(machine, 2);
+ tmp = input_port_read(machine, "P3");
tmp &= 0xc0ff;
- tmp |= ((input_port_read_indexed(machine, 6) & 0x3f)<<8);
+ tmp |= ((input_port_read(machine, "DSW1") & 0x3f)<<8);
break;
case 0x03:
- tmp = (input_port_read_indexed(machine, 3) | input_port_read_indexed(machine, 5) << 8) ;
+ tmp = (input_port_read(machine, "P4") | input_port_read(machine, "VBLANK") << 8) ;
tmp &= 0xfcff;
- tmp |= ((input_port_read_indexed(machine, 6) & 0xc0) << 2);
+ tmp |= ((input_port_read(machine, "DSW1") & 0xc0) << 2);
break;
}
@@ -193,7 +193,7 @@ static WRITE16_HANDLER ( wwfwfest_soundwrite )
*******************************************************************************/
static INPUT_PORTS_START( wwfwfest )
- PORT_START /* Player 1 */
+ PORT_START_TAG("P1") /* Player 1 */
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )
@@ -203,7 +203,7 @@ static INPUT_PORTS_START( wwfwfest )
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 )
- PORT_START /* Player 2 */
+ PORT_START_TAG("P2") /* Player 2 */
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
@@ -213,7 +213,7 @@ static INPUT_PORTS_START( wwfwfest )
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START2 )
- PORT_START /* Player 3 */
+ PORT_START_TAG("P3") /* Player 3 */
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(3)
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(3)
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(3)
@@ -223,7 +223,7 @@ static INPUT_PORTS_START( wwfwfest )
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START3 )
- PORT_START /* Player 4 */
+ PORT_START_TAG("P4") /* Player 4 */
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(4)
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(4)
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(4)
@@ -233,7 +233,7 @@ static INPUT_PORTS_START( wwfwfest )
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START4 )
- PORT_START /* Misc 1 */
+ PORT_START_TAG("SYSTEM") /* Misc 1 */
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
@@ -243,7 +243,7 @@ static INPUT_PORTS_START( wwfwfest )
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START /* Misc 2 */
+ PORT_START_TAG("VBLANK") /* Misc 2 */
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_VBLANK )
@@ -255,7 +255,7 @@ static INPUT_PORTS_START( wwfwfest )
/* Nb: There are actually 3 dips on the board, 2 * 8, and 1 *4 */
- PORT_START /* Dips 1 */
+ PORT_START_TAG("DSW1") /* Dips 1 */
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2")
PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) )
@@ -280,7 +280,7 @@ static INPUT_PORTS_START( wwfwfest )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
- PORT_START /* Dips 2 */
+ PORT_START_TAG("DSW2") /* Dips 2 */
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x02, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x03, DEF_STR( Normal ) )
diff --git a/src/mame/drivers/xain.c b/src/mame/drivers/xain.c
index d545edcfe33..cb2a312c1e3 100644
--- a/src/mame/drivers/xain.c
+++ b/src/mame/drivers/xain.c
@@ -245,7 +245,7 @@ static WRITE8_HANDLER( xain_68705_w )
static READ8_HANDLER( xain_input_port_4_r )
{
- return input_port_read_indexed(machine, 4) | vblank;
+ return input_port_read(machine, "VBLANK") | vblank;
}
static INTERRUPT_GEN( xain_interrupt )
@@ -274,12 +274,12 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x2800, 0x2fff) AM_WRITE(xain_bgram1_w) AM_BASE(&xain_bgram1)
AM_RANGE(0x3000, 0x37ff) AM_WRITE(xain_bgram0_w) AM_BASE(&xain_bgram0)
AM_RANGE(0x3800, 0x397f) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
- AM_RANGE(0x3a00, 0x3a00) AM_READ(input_port_0_r)
+ AM_RANGE(0x3a00, 0x3a00) AM_READ_PORT("P1")
AM_RANGE(0x3a00, 0x3a01) AM_WRITE(xain_scrollxP1_w)
- AM_RANGE(0x3a01, 0x3a01) AM_READ(input_port_1_r)
- AM_RANGE(0x3a02, 0x3a02) AM_READ(input_port_2_r)
+ AM_RANGE(0x3a01, 0x3a01) AM_READ_PORT("P2")
+ AM_RANGE(0x3a02, 0x3a02) AM_READ_PORT("DSW0")
AM_RANGE(0x3a02, 0x3a03) AM_WRITE(xain_scrollyP1_w)
- AM_RANGE(0x3a03, 0x3a03) AM_READ(input_port_3_r)
+ AM_RANGE(0x3a03, 0x3a03) AM_READ_PORT("DSW1")
AM_RANGE(0x3a04, 0x3a04) AM_READ(xain_68705_r) /* from the 68705 */
AM_RANGE(0x3a04, 0x3a05) AM_WRITE(xain_scrollxP0_w)
AM_RANGE(0x3a05, 0x3a05) AM_READ(xain_input_port_4_r)
@@ -323,7 +323,7 @@ static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 )
ADDRESS_MAP_END
static INPUT_PORTS_START( xsleena )
- PORT_START_TAG("IN0")
+ PORT_START_TAG("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
@@ -333,7 +333,7 @@ static INPUT_PORTS_START( xsleena )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
- PORT_START_TAG("IN1")
+ PORT_START_TAG("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
@@ -389,7 +389,7 @@ static INPUT_PORTS_START( xsleena )
PORT_DIPSETTING( 0x40, "6")
PORT_DIPSETTING( 0x00, "Infinite (Cheat")
- PORT_START_TAG("IN2")
+ PORT_START_TAG("VBLANK")
PORT_BIT( 0x03, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 )
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* when 0, 68705 is ready to send data */
diff --git a/src/mame/drivers/xexex.c b/src/mame/drivers/xexex.c
index fba01ef5205..a199f587e57 100644
--- a/src/mame/drivers/xexex.c
+++ b/src/mame/drivers/xexex.c
@@ -207,7 +207,7 @@ static READ16_HANDLER( control1_r )
/* bit 0 is EEPROM data */
/* bit 1 is EEPROM ready */
/* bit 3 is service button */
- res = eeprom_read_bit() | input_port_read_indexed(machine,1);
+ res = eeprom_read_bit() | input_port_read(machine, "EEPROM");
if (init_eeprom_count)
{
@@ -367,9 +367,9 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x0d6014, 0x0d6015) AM_READ(sound_status_r)
AM_RANGE(0x0d6000, 0x0d601f) AM_RAM // sound regs fall through
AM_RANGE(0x0d8000, 0x0d8007) AM_WRITE(K056832_b_word_w) // VSCCS regs
- AM_RANGE(0x0da000, 0x0da001) AM_READ(input_port_2_word_r)
- AM_RANGE(0x0da002, 0x0da003) AM_READ(input_port_3_word_r)
- AM_RANGE(0x0dc000, 0x0dc001) AM_READ(input_port_0_word_r)
+ AM_RANGE(0x0da000, 0x0da001) AM_READ_PORT("P1")
+ AM_RANGE(0x0da002, 0x0da003) AM_READ_PORT("P2")
+ AM_RANGE(0x0dc000, 0x0dc001) AM_READ_PORT("SYSTEM")
AM_RANGE(0x0dc002, 0x0dc003) AM_READ(control1_r)
AM_RANGE(0x0de000, 0x0de001) AM_READWRITE(control2_r, control2_w)
AM_RANGE(0x100000, 0x17ffff) AM_ROM
@@ -406,7 +406,7 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( xexex )
- PORT_START
+ PORT_START_TAG("SYSTEM")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@@ -416,14 +416,14 @@ static INPUT_PORTS_START( xexex )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START
+ PORT_START_TAG("EEPROM")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* 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_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_START
+ PORT_START_TAG("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)
@@ -433,7 +433,7 @@ static INPUT_PORTS_START( xexex )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
- PORT_START
+ PORT_START_TAG("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/xmen.c b/src/mame/drivers/xmen.c
index 3f9140f4117..36415a2930d 100644
--- a/src/mame/drivers/xmen.c
+++ b/src/mame/drivers/xmen.c
@@ -76,7 +76,7 @@ logerror("%06x eeprom_r\n",activecpu_get_pc());
/* bit 6 is EEPROM data */
/* bit 7 is EEPROM ready */
/* bit 14 is service button */
- res = (eeprom_read_bit() << 6) | input_port_read_indexed(machine,2);
+ res = (eeprom_read_bit() << 6) | input_port_read(machine, "EEPROM");
if (init_eeprom_count)
{
init_eeprom_count--;
@@ -93,13 +93,13 @@ logerror("%06x xmen6p_eeprom_r\n",activecpu_get_pc());
/* bit 6 is EEPROM data */
/* bit 7 is EEPROM ready */
/* bit 14 is service button */
- res = (eeprom_read_bit() << 6) | input_port_read_indexed(machine,2);
+ res = (eeprom_read_bit() << 6) | input_port_read(machine, "EEPROM");
if (init_eeprom_count)
{
init_eeprom_count--;
res &= 0xbfff;
}
- return (res&0x7fff)|xmen_current_frame;
+ return (res & 0x7fff) | xmen_current_frame;
}
@@ -182,8 +182,8 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x10804e, 0x10804f) AM_WRITE(sound_irq_w)
AM_RANGE(0x108054, 0x108055) AM_READ(sound_status_r)
AM_RANGE(0x108060, 0x10807f) AM_WRITE(K053251_lsb_w)
- AM_RANGE(0x10a000, 0x10a001) AM_READWRITE(input_port_0_word_r, watchdog_reset16_w)
- AM_RANGE(0x10a002, 0x10a003) AM_READ(input_port_1_word_r)
+ AM_RANGE(0x10a000, 0x10a001) AM_READ_PORT("P2_P4") AM_WRITE(watchdog_reset16_w)
+ AM_RANGE(0x10a002, 0x10a003) AM_READ_PORT("P1_P3")
AM_RANGE(0x10a004, 0x10a005) AM_READ(eeprom_r)
AM_RANGE(0x10a00c, 0x10a00d) AM_READ(K053246_word_r)
AM_RANGE(0x110000, 0x113fff) AM_RAM /* main RAM */
@@ -225,10 +225,10 @@ static ADDRESS_MAP_START( 6p_main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x10804e, 0x10804f) AM_WRITE(sound_irq_w)
AM_RANGE(0x108054, 0x108055) AM_READ(sound_status_r)
AM_RANGE(0x108060, 0x10807f) AM_WRITE(K053251_lsb_w)
- AM_RANGE(0x10a000, 0x10a001) AM_READWRITE(input_port_0_word_r,watchdog_reset16_w)
- AM_RANGE(0x10a002, 0x10a003) AM_READ(input_port_1_word_r)
+ AM_RANGE(0x10a000, 0x10a001) AM_READ_PORT("P2_P4") AM_WRITE(watchdog_reset16_w)
+ AM_RANGE(0x10a002, 0x10a003) AM_READ_PORT("P1_P3")
AM_RANGE(0x10a004, 0x10a005) AM_READ(xmen6p_eeprom_r)
- AM_RANGE(0x10a006, 0x10a007) AM_READ(input_port_3_word_r)
+ AM_RANGE(0x10a006, 0x10a007) AM_READ_PORT("P5_P6")
AM_RANGE(0x10a00c, 0x10a00d) AM_READ(K053246_word_r) /* sprites */
AM_RANGE(0x110000, 0x113fff) AM_RAM /* main RAM */
AM_RANGE(0x18fa00, 0x18fa01) AM_WRITE(xmen_18fa00_w)
@@ -270,7 +270,7 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( xmen )
- PORT_START /* IN1 */
+ PORT_START_TAG("P2_P4")
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)
@@ -288,7 +288,7 @@ static INPUT_PORTS_START( xmen )
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(4)
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_COIN4 )
- PORT_START /* IN0 */
+ PORT_START_TAG("P1_P3")
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)
@@ -306,7 +306,7 @@ static INPUT_PORTS_START( xmen )
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(3)
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_COIN3 )
- PORT_START /* COIN EEPROM and service */
+ PORT_START_TAG("EEPROM") /* COIN EEPROM and service */
PORT_BIT( 0x003f, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* unused? */
PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* EEPROM data */
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* EEPROM status - always 1 */
@@ -320,7 +320,7 @@ static INPUT_PORTS_START( xmen )
INPUT_PORTS_END
static INPUT_PORTS_START( xmen6p )
- PORT_START /* IN1 */
+ PORT_START_TAG("P2_P4")
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)
@@ -338,7 +338,7 @@ static INPUT_PORTS_START( xmen6p )
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(4)
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_COIN4 )
- PORT_START /* IN0 */
+ PORT_START_TAG("P1_P3")
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)
@@ -356,7 +356,7 @@ static INPUT_PORTS_START( xmen6p )
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(3)
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_COIN3 )
- PORT_START /* COIN EEPROM and service */
+ PORT_START_TAG("EEPROM") /* COIN EEPROM and service */
PORT_BIT( 0x003f, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* unused? */
PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* EEPROM data */
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* EEPROM status - always 1 */
@@ -369,8 +369,7 @@ static INPUT_PORTS_START( xmen6p )
PORT_SERVICE_NO_TOGGLE( 0x4000, IP_ACTIVE_LOW )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* screen indicator? */
- /* players 5+6 */
- PORT_START /* */
+ PORT_START_TAG("P5_P6")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(5)
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(5)
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(5)
@@ -390,7 +389,7 @@ static INPUT_PORTS_START( xmen6p )
INPUT_PORTS_END
static INPUT_PORTS_START( xmen2p )
- PORT_START /* IN1 */
+ PORT_START_TAG("P2_P4")
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)
@@ -399,18 +398,9 @@ static INPUT_PORTS_START( xmen2p )
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_COIN2 )
-/*
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(4)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(4)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(4)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(4)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(4)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(4)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(4)
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_COIN4 )
-*/
+ PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START /* IN0 */
+ PORT_START_TAG("P1_P3")
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)
@@ -419,18 +409,9 @@ static INPUT_PORTS_START( xmen2p )
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_COIN1 )
-/*
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(3)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(3)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(3)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(3)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(3)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(3)
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_COIN3 )
-*/
+ PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START /* COIN EEPROM and service */
+ PORT_START_TAG("EEPROM") /* COIN EEPROM and service */
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_SERVICE2 )
PORT_BIT( 0x003c, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* unused? */
diff --git a/src/mame/drivers/xorworld.c b/src/mame/drivers/xorworld.c
index 57747fd5806..035c056d0da 100644
--- a/src/mame/drivers/xorworld.c
+++ b/src/mame/drivers/xorworld.c
@@ -77,7 +77,7 @@ static NVRAM_HANDLER( xorworld )
/* the EEPROM is read thru bit 4 */
static READ16_HANDLER( xorworld_input_r )
{
- return input_port_read_indexed(machine, 0) | ((eeprom_read_bit() & 0x01) << 4);
+ return input_port_read(machine, "DSW") | ((eeprom_read_bit() & 0x01) << 4);
}
static WRITE16_HANDLER( eeprom_chip_select_w )
@@ -101,8 +101,8 @@ static WRITE16_HANDLER( eeprom_data_w )
static ADDRESS_MAP_START( xorworld_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x01ffff) AM_ROM
- AM_RANGE(0x200000, 0x200001) AM_READ(input_port_1_word_r)
- AM_RANGE(0x400000, 0x400001) AM_READ(input_port_2_word_r)
+ AM_RANGE(0x200000, 0x200001) AM_READ_PORT("P1")
+ AM_RANGE(0x400000, 0x400001) AM_READ_PORT("P2")
AM_RANGE(0x600000, 0x600001) AM_READ(xorworld_input_r) // DIPSW #1 + EEPROM data
AM_RANGE(0x800000, 0x800001) AM_WRITE(saa1099_write_port_0_lsb_w)
AM_RANGE(0x800002, 0x800003) AM_WRITE(saa1099_control_port_0_lsb_w)
@@ -118,7 +118,7 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( xorworld )
- PORT_START // DSW0
+ PORT_START_TAG("DSW") // DSW0
PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x01, DEF_STR( 2C_2C ) )
@@ -139,7 +139,7 @@ static INPUT_PORTS_START( xorworld )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
- PORT_START // IN0
+ PORT_START_TAG("P1") // IN0
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_RIGHT ) PORT_8WAY PORT_PLAYER(1)
@@ -149,7 +149,7 @@ static INPUT_PORTS_START( xorworld )
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_START // IN1
+ PORT_START_TAG("P2") // IN1
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_RIGHT ) PORT_8WAY PORT_PLAYER(2)
diff --git a/src/mame/drivers/xtheball.c b/src/mame/drivers/xtheball.c
index e652c522785..8b960943a39 100644
--- a/src/mame/drivers/xtheball.c
+++ b/src/mame/drivers/xtheball.c
@@ -207,7 +207,7 @@ static WRITE16_HANDLER( bit_controls_w )
static READ16_HANDLER( port0_r )
{
- int result = input_port_read_indexed(machine, 0);
+ int result = input_port_read(machine, "DSW");
result ^= ticket_dispenser_r(machine,0) >> 3;
return result;
}
@@ -242,12 +242,12 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x03040000, 0x030401ff) AM_WRITE(bit_controls_w)
AM_RANGE(0x03040080, 0x0304008f) AM_READ(port0_r)
AM_RANGE(0x03040100, 0x0304010f) AM_READ(analogx_r)
- AM_RANGE(0x03040110, 0x0304011f) AM_READ(input_port_1_word_r)
- AM_RANGE(0x03040130, 0x0304013f) AM_READ(input_port_2_word_r)
- AM_RANGE(0x03040140, 0x0304014f) AM_READ(input_port_3_word_r)
- AM_RANGE(0x03040150, 0x0304015f) AM_READ(input_port_4_word_r)
- AM_RANGE(0x03040160, 0x0304016f) AM_READ(input_port_5_word_r)
- AM_RANGE(0x03040170, 0x0304017f) AM_READ(input_port_6_word_r)
+ AM_RANGE(0x03040110, 0x0304011f) AM_READ_PORT("COIN1")
+ AM_RANGE(0x03040130, 0x0304013f) AM_READ_PORT("SERVICE2")
+ AM_RANGE(0x03040140, 0x0304014f) AM_READ_PORT("COIN3")
+ AM_RANGE(0x03040150, 0x0304015f) AM_READ_PORT("BUTTON1")
+ AM_RANGE(0x03040160, 0x0304016f) AM_READ_PORT("SERVICE")
+ AM_RANGE(0x03040170, 0x0304017f) AM_READ_PORT("SERVICE1")
AM_RANGE(0x03040180, 0x0304018f) AM_READ(analogy_watchdog_r)
AM_RANGE(0x03060000, 0x0306000f) AM_WRITE(dac_w)
AM_RANGE(0x04000000, 0x057fffff) AM_ROM AM_REGION(REGION_USER2, 0)
@@ -264,7 +264,7 @@ ADDRESS_MAP_END
*************************************/
static INPUT_PORTS_START( xtheball )
- PORT_START
+ PORT_START_TAG("DSW")
PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_DIPNAME( 0x0700, 0x0000, "Target Tickets")
PORT_DIPSETTING( 0x0000, "3" )
@@ -295,27 +295,27 @@ static INPUT_PORTS_START( xtheball )
hit F2 to enter bookkeeping mode; hit service1 (9) to exit
hold service 1 (9) and hit F2 to enter test mode; hit service2 (0) to exit
*/
- PORT_START
+ PORT_START_TAG("COIN1")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(5)
PORT_BIT( 0xfffe, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START
+ PORT_START_TAG("SERVICE2")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_SERVICE2 )
PORT_BIT( 0xfffe, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START
+ PORT_START_TAG("COIN3")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN3 )
PORT_BIT( 0xfffe, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START
+ PORT_START_TAG("BUTTON1")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON1 )
PORT_BIT( 0xfffe, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START
+ PORT_START_TAG("SERVICE")
PORT_SERVICE_NO_TOGGLE( 0x0001, IP_ACTIVE_HIGH )
PORT_BIT( 0xfffe, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START
+ PORT_START_TAG("SERVICE1")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0xfffe, IP_ACTIVE_LOW, IPT_UNUSED )
diff --git a/src/mame/drivers/xyonix.c b/src/mame/drivers/xyonix.c
index bc994fff1c0..856a28bfb8b 100644
--- a/src/mame/drivers/xyonix.c
+++ b/src/mame/drivers/xyonix.c
@@ -51,7 +51,7 @@ static void handle_coins(running_machine *machine, int coin)
if (coin & 1) // Coin 2 !
{
- tmp = (input_port_read_indexed(machine, 2) & 0xc0) >> 6;
+ tmp = (input_port_read(machine, "DSW") & 0xc0) >> 6;
coins++;
if (coins >= coinage_table[tmp][0])
{
@@ -64,7 +64,7 @@ static void handle_coins(running_machine *machine, int coin)
if (coin & 2) // Coin 1 !
{
- tmp = (input_port_read_indexed(machine, 2) & 0x30) >> 4;
+ tmp = (input_port_read(machine, "DSW") & 0x30) >> 4;
coins++;
if (coins >= coinage_table[tmp][0])
{
@@ -98,14 +98,14 @@ static READ8_HANDLER ( xyonix_io_r )
switch (e0_data)
{
case 0x81 :
- return input_port_read_indexed(machine, 0) & 0x7f;
+ return input_port_read(machine, "P1") & 0x7f;
break;
case 0x82 :
- return input_port_read_indexed(machine, 1) & 0x7f;
+ return input_port_read(machine, "P2") & 0x7f;
break;
case 0x91:
/* check coin inputs */
- coin = ((input_port_read_indexed(machine, 0) & 0x80) >> 7) | ((input_port_read_indexed(machine, 1) & 0x80) >> 6);
+ coin = ((input_port_read(machine, "P1") & 0x80) >> 7) | ((input_port_read(machine, "P2") & 0x80) >> 6);
if (coin ^ prev_coin && coin != 3)
{
if (credits < 9) handle_coins(machine, coin);
@@ -114,7 +114,7 @@ static READ8_HANDLER ( xyonix_io_r )
return credits;
break;
case 0x92:
- return ((input_port_read_indexed(machine, 0) & 0x80) >> 7) | ((input_port_read_indexed(machine, 1) & 0x80) >> 6);
+ return ((input_port_read(machine, "P1") & 0x80) >> 7) | ((input_port_read(machine, "P2") & 0x80) >> 6);
break;
case 0xe0: /* reset? */
coins = 0;
@@ -126,10 +126,10 @@ static READ8_HANDLER ( xyonix_io_r )
return 0xff;
break;
case 0xfe: /* Dip Switches 1 to 4 */
- return input_port_read_indexed(machine, 2) & 0x0f;
+ return input_port_read(machine, "DSW") & 0x0f;
break;
case 0xff: /* Dip Switches 5 to 8 */
- return input_port_read_indexed(machine, 2) >> 4;
+ return input_port_read(machine, "DSW") >> 4;
break;
}
}
@@ -167,7 +167,7 @@ ADDRESS_MAP_END
/* Inputs Ports **************************************************************/
static INPUT_PORTS_START( xyonix )
- PORT_START
+ PORT_START_TAG("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_DOWN ) PORT_8WAY PORT_PLAYER(1)
@@ -177,7 +177,7 @@ static INPUT_PORTS_START( xyonix )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) /* handled by xyonix_io_r() */
- PORT_START
+ PORT_START_TAG("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_DOWN ) PORT_8WAY PORT_PLAYER(2)
@@ -187,7 +187,7 @@ static INPUT_PORTS_START( xyonix )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN2 ) /* handled by xyonix_io_r() */
- PORT_START
+ PORT_START_TAG("DSW")
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
PORT_DIPSETTING( 0x03, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x02, DEF_STR( Normal ) )
diff --git a/src/mame/drivers/yumefuda.c b/src/mame/drivers/yumefuda.c
index a1bec9d7a3e..2832e032cd7 100644
--- a/src/mame/drivers/yumefuda.c
+++ b/src/mame/drivers/yumefuda.c
@@ -152,7 +152,7 @@ static WRITE8_HANDLER( port_c0_w )
static READ8_HANDLER( eeprom_r )
{
- return ((~eeprom_read_bit()&0x01)<<6) | (0xff&~0x40);
+ return ((~eeprom_read_bit() & 0x01)<<6) | (0xff & ~0x40);
}
static UINT8 mux_data;
@@ -161,14 +161,14 @@ static READ8_HANDLER( mux_r )
{
switch(mux_data)
{
- case 0x00: return input_port_read_indexed(machine, 0);
- case 0x01: return input_port_read_indexed(machine, 1);
- case 0x02: return input_port_read_indexed(machine, 2);
- case 0x04: return input_port_read_indexed(machine, 3);
- case 0x08: return input_port_read_indexed(machine, 4);
+ case 0x00: return input_port_read(machine, "IN0");
+ case 0x01: return input_port_read(machine, "IN1");
+ case 0x02: return input_port_read(machine, "IN2");
+ case 0x04: return input_port_read(machine, "IN3");
+ case 0x08: return input_port_read(machine, "IN4");
/* FIXME: Was this a quick hack? */
- case 0x10: return 0xff; //return input_port_read_indexed(machine, 5);
- case 0x20: return 0xff; //return input_port_read_indexed(machine, 6);
+ case 0x10: return 0xff; //return input_port_read(machine, "IN5");
+ case 0x20: return 0xff; //return input_port_read(machine, "IN6");
}
return 0xff;
}
@@ -254,7 +254,7 @@ MACHINE_DRIVER_END
/***************************************************************************************/
static INPUT_PORTS_START( yumefuda )
- PORT_START
+ PORT_START_TAG( "IN0")
PORT_DIPNAME( 0x01, 0x01, "Port 0" )
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@@ -276,7 +276,7 @@ static INPUT_PORTS_START( yumefuda )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_START
+ PORT_START_TAG( "IN1")
PORT_DIPNAME( 0x01, 0x01, "Port 1" )
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@@ -298,7 +298,7 @@ static INPUT_PORTS_START( yumefuda )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_START
+ PORT_START_TAG( "IN2")
PORT_DIPNAME( 0x01, 0x01, "Port 2" )
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@@ -316,7 +316,7 @@ static INPUT_PORTS_START( yumefuda )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON4 )
- PORT_START
+ PORT_START_TAG( "IN3")
PORT_DIPNAME( 0x01, 0x01, "Port 3" )
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@@ -338,7 +338,7 @@ static INPUT_PORTS_START( yumefuda )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_START
+ PORT_START_TAG( "IN4")
PORT_DIPNAME( 0x01, 0x01, "Port 4" )
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@@ -364,7 +364,7 @@ static INPUT_PORTS_START( yumefuda )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
/*
- PORT_START
+ PORT_START_TAG( "IN5")
PORT_DIPNAME( 0x01, 0x01, "Port 5" )
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@@ -390,7 +390,7 @@ static INPUT_PORTS_START( yumefuda )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_START
+ PORT_START_TAG( "IN6")
PORT_DIPNAME( 0x01, 0x01, "Port 6" )
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
diff --git a/src/mame/drivers/zac2650.c b/src/mame/drivers/zac2650.c
index c6da1f0c329..2f3126fadcc 100644
--- a/src/mame/drivers/zac2650.c
+++ b/src/mame/drivers/zac2650.c
@@ -29,19 +29,18 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x1c00, 0x1cff) AM_RAM
AM_RANGE(0x1d00, 0x1dff) AM_RAM
AM_RANGE(0x1e80, 0x1e80) AM_READWRITE(tinvader_port_0_r, tinvader_sound_w)
- AM_RANGE(0x1e81, 0x1e81) AM_READ(input_port_1_r)
- AM_RANGE(0x1e82, 0x1e82) AM_READ(input_port_2_r)
- AM_RANGE(0x1e85, 0x1e85) AM_READ(input_port_4_r) /* Dodgem Only */
- AM_RANGE(0x1e86, 0x1e86) AM_READWRITE(input_port_5_r, SMH_NOP) /* Dodgem Only */
+ AM_RANGE(0x1e81, 0x1e81) AM_READ_PORT("1E81")
+ AM_RANGE(0x1e82, 0x1e82) AM_READ_PORT("1E82")
+ AM_RANGE(0x1e85, 0x1e85) AM_READ_PORT("1E85") /* Dodgem Only */
+ AM_RANGE(0x1e86, 0x1e86) AM_READ_PORT("1E86") AM_WRITENOP /* Dodgem Only */
AM_RANGE(0x1f00, 0x1fff) AM_READWRITE(zac_s2636_r, SMH_RAM) AM_BASE(&zac2650_s2636_0_ram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( port_map, ADDRESS_SPACE_IO, 8 )
- AM_RANGE(S2650_SENSE_PORT, S2650_SENSE_PORT) AM_READ(input_port_3_r)
+ AM_RANGE(S2650_SENSE_PORT, S2650_SENSE_PORT) AM_READ_PORT("SENSE")
ADDRESS_MAP_END
static INPUT_PORTS_START( tinvader )
-
PORT_START_TAG("1E80")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
@@ -88,60 +87,25 @@ static INPUT_PORTS_START( tinvader )
PORT_START_TAG("SENSE")
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_VBLANK )
+ PORT_START_TAG("1E85")
+ PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_START_TAG("1E86")
+ PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
INPUT_PORTS_END
/* Almost identical, no number of bases selection */
-
static INPUT_PORTS_START( sinvader )
-
- PORT_START_TAG("1E80")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE1 )
+ PORT_INCLUDE( tinvader )
+
+ PORT_MODIFY("1E80")
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Missile-Background Collision */
- PORT_START_TAG("1E81")
+ PORT_MODIFY("1E81")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_DIPNAME( 0x02, 0x00, "Lightning Speed" ) /* Velocita Laser Inv */
- PORT_DIPSETTING( 0x00, "Slow" )
- PORT_DIPSETTING( 0x02, "Fast" )
- PORT_DIPNAME( 0x1C, 0x04, DEF_STR( Coinage ) )
- PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x04, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x0C, DEF_STR( 1C_3C ) )
- PORT_DIPSETTING( 0x10, DEF_STR( 1C_4C ) )
- PORT_DIPSETTING( 0x14, DEF_STR( 1C_5C ) )
- PORT_DIPSETTING( 0x18, DEF_STR( 1C_6C ) )
- PORT_DIPSETTING( 0x1C, DEF_STR( 1C_7C ) )
- PORT_DIPNAME( 0x20, 0x00, DEF_STR( Bonus_Life ) )
- PORT_DIPSETTING( 0x00, "1000" )
- PORT_DIPSETTING( 0x20, "1500" )
- PORT_DIPNAME( 0x40, 0x00, "Extended Play" )
- PORT_DIPSETTING( 0x00, DEF_STR( No ) )
- PORT_DIPSETTING( 0x40, DEF_STR( Yes ) )
-
- PORT_START_TAG("1E82")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
-
- PORT_START_TAG("SENSE")
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_VBLANK )
-
INPUT_PORTS_END
static INPUT_PORTS_START( dodgem )
-
PORT_START_TAG("1E80")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
@@ -220,7 +184,6 @@ static INPUT_PORTS_START( dodgem )
PORT_DIPNAME( 0x01, 0x01, "Collision Detection (Cheat)" )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
-
INPUT_PORTS_END
diff --git a/src/mame/drivers/zaccaria.c b/src/mame/drivers/zaccaria.c
index 7aaa41577d6..424139160cf 100644
--- a/src/mame/drivers/zaccaria.c
+++ b/src/mame/drivers/zaccaria.c
@@ -71,14 +71,16 @@ static WRITE8_HANDLER( zaccaria_dsw_sel_w )
break;
default:
-logerror("PC %04x: portsel = %02x\n",activecpu_get_pc(),data);
+ logerror("PC %04x: portsel = %02x\n", activecpu_get_pc(), data);
break;
}
}
static READ8_HANDLER( zaccaria_dsw_r )
{
- return input_port_read_indexed(machine, dsw);
+ static const char *dswnames[] = { "IN0", "DSW0", "DSW1" };
+
+ return input_port_read(machine, dswnames[dsw]);
}
@@ -297,7 +299,7 @@ static READ8_HANDLER( zaccaria_prot2_r )
switch (offset)
{
case 0:
- return (input_port_read_indexed(machine, 6) & 0x07) | (acs & 0x08); /* bits 4 and 5 must be 0 in Jack Rabbit */
+ return (input_port_read(machine, "COINS") & 0x07) | (acs & 0x08); /* bits 4 and 5 must be 0 in Jack Rabbit */
case 2:
return 0x10; /* Jack Rabbit */
@@ -440,7 +442,7 @@ static INPUT_PORTS_START( monymony )
PORT_DIPSETTING( 0x10, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x00, DEF_STR( 1C_7C ) )
- PORT_START_TAG("IN1")
+ PORT_START_TAG("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_UNKNOWN )
@@ -450,7 +452,7 @@ static INPUT_PORTS_START( monymony )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START_TAG("IN2")
+ PORT_START_TAG("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_UNKNOWN )
@@ -460,14 +462,14 @@ static INPUT_PORTS_START( monymony )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START_TAG("IN3")
+ PORT_START_TAG("SYSTEM")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_TILT )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
/* other bits are outputs */
- PORT_START_TAG("IN4")
+ PORT_START_TAG("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 )
@@ -476,32 +478,14 @@ static INPUT_PORTS_START( monymony )
INPUT_PORTS_END
static INPUT_PORTS_START( jackrabt )
- PORT_START_TAG("IN0")
- PORT_DIPNAME( 0x03, 0x01, DEF_STR( Lives ) )
- PORT_DIPSETTING( 0x00, "2" )
- PORT_DIPSETTING( 0x01, "3" )
- PORT_DIPSETTING( 0x02, "4" )
- PORT_DIPSETTING( 0x03, "5" )
- PORT_DIPNAME( 0x04, 0x00, "Infinite Lives (Cheat)")
- PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x04, DEF_STR( On ) )
+ PORT_INCLUDE( monymony )
+
+ PORT_MODIFY("IN0")
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x10, 0x00, DEF_STR( Cabinet ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
- PORT_DIPSETTING( 0x10, DEF_STR( Cocktail ) )
- PORT_DIPNAME( 0x20, 0x00, "Freeze" )
- PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x20, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x00, "Cross Hatch Pattern" )
- PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x40, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_START_TAG("DSW0")
+ PORT_MODIFY("DSW0")
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@@ -524,65 +508,6 @@ static INPUT_PORTS_START( jackrabt )
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_SERVICE( 0x80, IP_ACTIVE_HIGH )
-
- PORT_START_TAG("DSW1")
- PORT_DIPNAME( 0x03, 0x02, DEF_STR( Coin_A ) )
- PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x00, DEF_STR( 1C_3C ) )
- PORT_DIPNAME( 0x8c, 0x84, DEF_STR( Coin_B ) )
- PORT_DIPSETTING( 0x8c, DEF_STR( 4C_1C ) )
- PORT_DIPSETTING( 0x88, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x84, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x0c, DEF_STR( 1C_3C ) )
- PORT_DIPSETTING( 0x08, DEF_STR( 1C_4C ) )
- PORT_DIPSETTING( 0x04, DEF_STR( 1C_5C ) )
- PORT_DIPSETTING( 0x00, DEF_STR( 1C_6C ) )
- PORT_DIPNAME( 0x70, 0x50, "Coin C" )
- PORT_DIPSETTING( 0x70, DEF_STR( 4C_1C ) )
- PORT_DIPSETTING( 0x60, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x50, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x30, DEF_STR( 1C_3C ) )
- PORT_DIPSETTING( 0x20, DEF_STR( 1C_4C ) )
- PORT_DIPSETTING( 0x10, DEF_STR( 1C_5C ) )
- PORT_DIPSETTING( 0x00, DEF_STR( 1C_7C ) )
-
- PORT_START_TAG("IN1")
- 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_UNKNOWN )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START_TAG("IN2")
- 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_UNKNOWN )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START_TAG("IN3")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_TILT )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
- /* other bits are outputs */
-
- PORT_START_TAG("IN4")
- 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_SPECIAL ) /* "ACS" - from pin 13 of a PIA on the sound board */
- /* other bits come from a protection device */
INPUT_PORTS_END
diff --git a/src/mame/drivers/zerozone.c b/src/mame/drivers/zerozone.c
index 1bbaa264145..f816c827c42 100644
--- a/src/mame/drivers/zerozone.c
+++ b/src/mame/drivers/zerozone.c
@@ -41,13 +41,13 @@ static READ16_HANDLER( zerozone_input_r )
switch (offset)
{
case 0x00:
- return input_port_read_indexed(machine, 0); /* IN0 */
+ return input_port_read(machine, "SYSTEM");
case 0x01:
- return (input_port_read_indexed(machine, 1) | (input_port_read_indexed(machine, 2) << 8)); /* IN1 & IN2 */
+ return (input_port_read(machine, "P1") | (input_port_read(machine, "P2") << 8));
case 0x04:
- return (input_port_read_indexed(machine, 4) << 8);
+ return (input_port_read(machine, "DSWB") << 8);
case 0x05:
- return input_port_read_indexed(machine, 3);
+ return input_port_read(machine, "DSWA");
}
logerror("CPU #0 PC %06x: warning - read unmapped memory address %06x\n",activecpu_get_pc(),0x800000+offset);
@@ -86,7 +86,7 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( zerozone )
- PORT_START_TAG("IN0")
+ PORT_START_TAG("SYSTEM")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@@ -96,7 +96,7 @@ static INPUT_PORTS_START( zerozone )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START_TAG("IN1")
+ PORT_START_TAG("P1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_PLAYER(1)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_PLAYER(1)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_PLAYER(1)
@@ -106,7 +106,7 @@ static INPUT_PORTS_START( zerozone )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) PORT_NAME("P1 Score Line (Cheat)")
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START_TAG("IN2")
+ PORT_START_TAG("P2")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_PLAYER(2)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_PLAYER(2)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_PLAYER(2)
diff --git a/src/mame/drivers/zn.c b/src/mame/drivers/zn.c
index ccf41261a80..631e8111845 100644
--- a/src/mame/drivers/zn.c
+++ b/src/mame/drivers/zn.c
@@ -246,8 +246,8 @@ static void sio_dip_handler( int n_data )
{
if( m_b_lastclock )
{
- verboselog( 2, "read dip %02x -> %02x\n", n_data, ( ( input_port_read_indexed(Machine, 7 ) >> m_n_dip_bit ) & 1 ) * PSX_SIO_IN_DATA );
- psx_sio_input( Machine, 0, PSX_SIO_IN_DATA, ( ( input_port_read_indexed(Machine, 7 ) >> m_n_dip_bit ) & 1 ) * PSX_SIO_IN_DATA );
+ verboselog( 2, "read dip %02x -> %02x\n", n_data, ( ( input_port_read(Machine, "DSW") >> m_n_dip_bit ) & 1 ) * PSX_SIO_IN_DATA );
+ psx_sio_input( Machine, 0, PSX_SIO_IN_DATA, ( ( input_port_read(Machine, "DSW") >> m_n_dip_bit ) & 1 ) * PSX_SIO_IN_DATA );
m_n_dip_bit++;
m_n_dip_bit &= 7;
}
@@ -356,12 +356,12 @@ static ADDRESS_MAP_START( zn_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x1f801c00, 0x1f801dff) AM_READWRITE(psx_spu_r, psx_spu_w)
AM_RANGE(0x1f802020, 0x1f802033) AM_RAM /* ?? */
AM_RANGE(0x1f802040, 0x1f802043) AM_WRITENOP
- AM_RANGE(0x1fa00000, 0x1fa00003) AM_READ(input_port_0_dword_r)
- AM_RANGE(0x1fa00100, 0x1fa00103) AM_READ(input_port_1_dword_r)
- AM_RANGE(0x1fa00200, 0x1fa00203) AM_READ(input_port_2_dword_r)
- AM_RANGE(0x1fa00300, 0x1fa00303) AM_READ(input_port_3_dword_r)
- AM_RANGE(0x1fa10000, 0x1fa10003) AM_READ(input_port_4_dword_r)
- AM_RANGE(0x1fa10100, 0x1fa10103) AM_READ(input_port_5_dword_r)
+ AM_RANGE(0x1fa00000, 0x1fa00003) AM_READ_PORT("P1")
+ AM_RANGE(0x1fa00100, 0x1fa00103) AM_READ_PORT("P2")
+ AM_RANGE(0x1fa00200, 0x1fa00203) AM_READ_PORT("SERVICE")
+ AM_RANGE(0x1fa00300, 0x1fa00303) AM_READ_PORT("SYSTEM")
+ AM_RANGE(0x1fa10000, 0x1fa10003) AM_READ_PORT("EXTRA1")
+ AM_RANGE(0x1fa10100, 0x1fa10103) AM_READ_PORT("EXTRA2")
AM_RANGE(0x1fa10200, 0x1fa10203) AM_READ(boardconfig_r)
AM_RANGE(0x1fa10300, 0x1fa10303) AM_READWRITE(znsecsel_r, znsecsel_w)
AM_RANGE(0x1fa20000, 0x1fa20003) AM_WRITE(coin_w)
@@ -2731,7 +2731,7 @@ static MACHINE_DRIVER_START( coh1002ml )
MACHINE_DRIVER_END
static INPUT_PORTS_START( zn )
- PORT_START /* IN0 */
+ PORT_START_TAG("P1") /* IN0 */
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)
@@ -2741,7 +2741,7 @@ static INPUT_PORTS_START( zn )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START /* IN1 */
+ PORT_START_TAG("P2") /* IN1 */
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)
@@ -2751,35 +2751,35 @@ static INPUT_PORTS_START( zn )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START /* IN2 */
+ PORT_START_TAG("SERVICE") /* IN2 */
PORT_SERVICE_NO_TOGGLE( 0x01, IP_ACTIVE_LOW )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_TILT )
PORT_BIT( 0xf8, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START /* IN3 */
+ PORT_START_TAG("SYSTEM") /* IN3 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0xcc, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START /* IN4 */
+ PORT_START_TAG("EXTRA1") /* IN4 */
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON4 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON5 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON6 )
PORT_BIT( 0x8f, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START /* IN5 */
+ PORT_START_TAG("EXTRA2") /* IN5 */
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2)
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(2)
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(2)
PORT_BIT( 0x8f, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START /* IN6 */
+ PORT_START_TAG("UNK") /* IN6 */
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START /* IN7 */
+ PORT_START_TAG("DSW") /* IN7 */
PORT_DIPNAME( 0x01, 0x01, "Freeze" )
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@@ -4320,8 +4320,8 @@ GAME( 1999, tondemo, tps, coh1002m, zn, coh1002m, ROT0, "Tecmo", "Tondemo
GAME( 1999, glpracr3, tps, coh1002m, zn, coh1002m, ROT0, "Tecmo", "Gallop Racer 3 (JAPAN)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
GAME( 1999, flamegun, tps, coh1002m, zn, coh1002m, ROT0, "GAPS Inc.", "Flame Gunner", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
GAME( 1999, flameguj, flamegun, coh1002m, zn, coh1002m, ROT0, "GAPS Inc.", "Flame Gunner (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 2000, tblkkuzu, tps, coh1002m, zn, coh1002m, ROT0, "Tamsoft/D3 Publisher", "The Block Kuzushi (JAPAN)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 2000, 1on1gov, tps, coh1002m, zn, coh1002m, ROT0, "Tecmo", "1 on 1 Government (JAPAN)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 2000, tblkkuzu, tps, coh1002m, zn, coh1002m, ROT0, "Tamsoft/D3 Publisher", "The Block Kuzushi (JAPAN)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 2000, 1on1gov, tps, coh1002m, zn, coh1002m, ROT0, "Tecmo", "1 on 1 Government (JAPAN)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
GAME( 2000, tecmowcm, tps, coh1002m, zn, coh1002m, ROT0, "Tecmo", "Tecmo World Cup Millennium (JAPAN)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
GAME( 2001, mfjump, tps, coh1002m, zn, coh1002m, ROT0, "Tecmo", "Monster Farm Jump (JAPAN)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/zr107.c b/src/mame/drivers/zr107.c
index 7300147d899..2aac88375cc 100644
--- a/src/mame/drivers/zr107.c
+++ b/src/mame/drivers/zr107.c
@@ -306,6 +306,7 @@ static CUSTOM_INPUT( adcdo_r )
static READ8_HANDLER( sysreg_r )
{
UINT32 r = 0;
+ static const char *portnames[] = { "IN0", "IN1", "IN2", "IN3" };
switch (offset)
{
@@ -313,7 +314,7 @@ static READ8_HANDLER( sysreg_r )
case 1: /* I/O port 1 */
case 2: /* I/O port 2 */
case 3: /* System Port 0 */
- r = input_port_read_indexed(machine, offset);
+ r = input_port_read(machine, portnames[offset]);
break;
case 4: /* System Port 1 */
@@ -404,11 +405,11 @@ static double adc0838_callback(int input)
switch (input)
{
case ADC083X_CH0:
- return (double)(5 * input_port_read_indexed(Machine, 4)) / 255.0;
+ return (double)(5 * input_port_read(Machine, "ANALOG1")) / 255.0;
case ADC083X_CH1:
- return (double)(5 * input_port_read_indexed(Machine, 5)) / 255.0;
+ return (double)(5 * input_port_read(Machine, "ANALOG2")) / 255.0;
case ADC083X_CH2:
- return (double)(5 * input_port_read_indexed(Machine, 6)) / 255.0;
+ return (double)(5 * input_port_read(Machine, "ANALOG3")) / 255.0;
case ADC083X_CH3:
return 0;
case ADC083X_COM:
@@ -581,7 +582,7 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( midnrun )
- PORT_START
+ PORT_START_TAG("IN0")
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) // View switch
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) // Shift up
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 ) // Shift down
@@ -589,14 +590,14 @@ static INPUT_PORTS_START( midnrun )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Service Button") PORT_CODE(KEYCODE_8)
PORT_BIT( 0x0b, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START
+ PORT_START_TAG("IN1")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START
+ PORT_START_TAG("IN2")
PORT_BIT( 0x7f, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(adcdo_r, 0)
- PORT_START
+ PORT_START_TAG("IN3")
PORT_SERVICE_NO_TOGGLE( 0x80, IP_ACTIVE_LOW )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Service Button") PORT_CODE(KEYCODE_8)
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
@@ -625,7 +626,7 @@ static INPUT_PORTS_START( midnrun )
INPUT_PORTS_END
static INPUT_PORTS_START( windheat )
- PORT_START
+ PORT_START_TAG("IN0")
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) // View switch
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) // Shift up
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 ) // Shift down
@@ -633,14 +634,14 @@ static INPUT_PORTS_START( windheat )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Service Button") PORT_CODE(KEYCODE_8)
PORT_BIT( 0x0b, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START
+ PORT_START_TAG("IN1")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START
+ PORT_START_TAG("IN2")
PORT_BIT( 0x7f, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(adcdo_r, 0)
- PORT_START
+ PORT_START_TAG("IN3")
PORT_SERVICE_NO_TOGGLE( 0x80, IP_ACTIVE_LOW )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Service Button") PORT_CODE(KEYCODE_8)
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
@@ -669,7 +670,7 @@ static INPUT_PORTS_START( windheat )
INPUT_PORTS_END
static INPUT_PORTS_START( jetwave )
- PORT_START
+ PORT_START_TAG("IN0")
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 )
@@ -677,14 +678,14 @@ static INPUT_PORTS_START( jetwave )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Service Button") PORT_CODE(KEYCODE_8)
PORT_BIT( 0x0b, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START
+ PORT_START_TAG("IN1")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START
+ PORT_START_TAG("IN2")
PORT_BIT( 0x7f, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(adcdo_r, 0)
- PORT_START
+ PORT_START_TAG("IN3")
PORT_SERVICE_NO_TOGGLE( 0x80, IP_ACTIVE_LOW )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Service Button") PORT_CODE(KEYCODE_8)
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
diff --git a/src/mame/machine/vertigo.c b/src/mame/machine/vertigo.c
index fa36b6d9c09..b20d08270c2 100644
--- a/src/mame/machine/vertigo.c
+++ b/src/mame/machine/vertigo.c
@@ -120,10 +120,12 @@ static PIT8253_OUTPUT_CHANGED( v_irq3_w )
READ16_HANDLER( vertigo_io_convert )
{
+ static const char *adcnames[] = { "P1X", "P1Y", "PADDLE" };
+
if (offset > 2)
adc_result = 0;
else
- adc_result = input_port_read_indexed(machine, offset);
+ adc_result = input_port_read(machine, adcnames[offset]);
update_irq_encoder(INPUT_LINE_IRQ2, ASSERT_LINE);
return 0;
diff --git a/src/mame/machine/vsnes.c b/src/mame/machine/vsnes.c
index 5252a8b8b7a..2a6bddcee70 100644
--- a/src/mame/machine/vsnes.c
+++ b/src/mame/machine/vsnes.c
@@ -118,8 +118,8 @@ WRITE8_HANDLER( vsnes_in0_w )
if ( data & 1 )
{
/* load up the latches */
- input_latch[0] = input_port_read_indexed(machine, 0 );
- input_latch[1] = input_port_read_indexed(machine, 1 );
+ input_latch[0] = input_port_read(machine, "IN0");
+ input_latch[1] = input_port_read(machine, "IN1");
}
}
@@ -130,8 +130,8 @@ static READ8_HANDLER( gun_in0_r )
/* shift */
input_latch[0] >>= 1;
- ret |= input_port_read_indexed(machine, 2 ); /* merge coins, etc */
- ret |= ( input_port_read_indexed(machine, 3 ) & 3 ) << 3; /* merge 2 dipswitches */
+ ret |= input_port_read(machine, "COINS"); /* merge coins, etc */
+ ret |= ( input_port_read(machine, "DSW0") & 3 ) << 3; /* merge 2 dipswitches */
/* The gun games expect a 1 returned on every 5th read after sound_fix is reset*/
/* Info Supplied by Ben Parnell <xodnizel@home.com> of FCE Ultra fame */
@@ -156,8 +156,8 @@ READ8_HANDLER( vsnes_in0_r )
/* shift */
input_latch[0] >>= 1;
- ret |= input_port_read_indexed(machine, 2 ); /* merge coins, etc */
- ret |= ( input_port_read_indexed(machine, 3 ) & 3 ) << 3; /* merge 2 dipswitches */
+ ret |= input_port_read(machine, "COINS"); /* merge coins, etc */
+ ret |= ( input_port_read(machine, "DSW0") & 3 ) << 3; /* merge 2 dipswitches */
return ret;
@@ -168,7 +168,7 @@ READ8_HANDLER( vsnes_in1_r )
{
int ret = ( input_latch[1] ) & 1;
- ret |= input_port_read_indexed(machine, 3 ) & ~3; /* merge the rest of the dipswitches */
+ ret |= input_port_read(machine, "DSW0") & ~3; /* merge the rest of the dipswitches */
/* shift */
input_latch[1] >>= 1;
@@ -182,8 +182,8 @@ WRITE8_HANDLER( vsnes_in0_1_w )
if ( data & 1 )
{
/* load up the latches */
- input_latch[2] = input_port_read_indexed(machine, 4 );
- input_latch[3] = input_port_read_indexed(machine, 5 );
+ input_latch[2] = input_port_read(machine, "IN2");
+ input_latch[3] = input_port_read(machine, "IN3");
}
}
@@ -194,8 +194,8 @@ READ8_HANDLER( vsnes_in0_1_r )
/* shift */
input_latch[2] >>= 1;
- ret |= input_port_read_indexed(machine, 6 ); /* merge coins, etc */
- ret |= ( input_port_read_indexed(machine, 7 ) & 3 ) << 3; /* merge 2 dipswitches */
+ ret |= input_port_read(machine, "COINS2"); /* merge coins, etc */
+ ret |= ( input_port_read(machine, "DSW1") & 3 ) << 3; /* merge 2 dipswitches */
return ret;
}
@@ -203,7 +203,7 @@ READ8_HANDLER( vsnes_in1_1_r )
{
int ret = ( input_latch[3] ) & 1;
- ret |= input_port_read_indexed(machine, 7 ) & ~3; /* merge the rest of the dipswitches */
+ ret |= input_port_read(machine, "DSW1") & ~3; /* merge the rest of the dipswitches */
/* shift */
input_latch[3] >>= 1;
@@ -346,13 +346,13 @@ static WRITE8_HANDLER( gun_in0_w )
{
/* load up the latches */
- input_latch[0] = input_port_read_indexed(machine, 0 );
+ input_latch[0] = input_port_read(machine, "IN0");
/* do the gun thing */
if ( vsnes_gun_controller )
{
- int x = input_port_read_indexed(machine, 4 );
- int y = input_port_read_indexed(machine, 5 );
+ int x = input_port_read(machine, "GUNX");
+ int y = input_port_read(machine, "GUNY");
UINT32 pix, color_base;
/* get the pixel at the gun position */
@@ -369,7 +369,7 @@ static WRITE8_HANDLER( gun_in0_w )
}
}
- input_latch[1] = input_port_read_indexed(machine, 1 );
+ input_latch[1] = input_port_read(machine, "IN1");
}
if ( ( zapstore & 1 ) && ( !( data & 1 ) ) )
diff --git a/src/mame/machine/williams.c b/src/mame/machine/williams.c
index da907a0afd1..e75995d8966 100644
--- a/src/mame/machine/williams.c
+++ b/src/mame/machine/williams.c
@@ -602,7 +602,7 @@ READ8_HANDLER( williams_input_port_49way_0_5_r )
if (port_select)
return williams_49way_port_0_r(machine,0);
else
- return input_port_read_indexed(machine, 5);
+ return input_port_read(machine, "IN3");
}
@@ -851,7 +851,7 @@ WRITE8_HANDLER( blaster_bank_select_w )
static READ8_HANDLER( lottofun_input_port_0_r )
{
/* merge in the ticket dispenser status */
- return input_port_read_indexed(machine,0) | ticket_dispenser_r(machine,offset);
+ return input_port_read(machine, "IN0") | ticket_dispenser_r(machine,offset);
}
@@ -865,7 +865,7 @@ static READ8_HANDLER( lottofun_input_port_0_r )
static READ8_HANDLER( tshoot_input_port_0_3_r )
{
/* merge in the gun inputs with the standard data */
- int data = input_port_0_r(machine, offset);
+ int data = input_port_read(machine, "IN0");
int gun = (data & 0x3f) ^ ((data & 0x3f) >> 1);
return (data & 0xc0) | gun;
diff --git a/src/mame/machine/xevious.c b/src/mame/machine/xevious.c
index d1edad0e9a3..165a82aafc4 100644
--- a/src/mame/machine/xevious.c
+++ b/src/mame/machine/xevious.c
@@ -170,10 +170,10 @@ READ8_HANDLER( battles_input_port_r )
switch ( offset )
{
default:
- case 0: return ~BITSWAP8(input_port_read_indexed(machine, 0),6,7,5,4,3,2,1,0) >> 4;
- case 1: return ~input_port_read_indexed(machine, 1) & 0x0f;
- case 2: return ~input_port_read_indexed(machine, 1) >> 4;
- case 3: return ~input_port_read_indexed(machine, 0) & 0x0f;
+ case 0: return ~BITSWAP8(input_port_read(machine, "IN0"),6,7,5,4,3,2,1,0) >> 4;
+ case 1: return ~input_port_read(machine, "IN1") & 0x0f;
+ case 2: return ~input_port_read(machine, "IN1") >> 4;
+ case 3: return ~input_port_read(machine, "IN0") & 0x0f;
}
}
diff --git a/src/mame/video/taitoic.c b/src/mame/video/taitoic.c
index 36b60349129..3d664a60918 100644
--- a/src/mame/video/taitoic.c
+++ b/src/mame/video/taitoic.c
@@ -4951,22 +4951,22 @@ READ8_HANDLER( TC0220IOC_r )
switch (offset)
{
case 0x00: /* IN00-07 (DSA) */
- return input_port_read_indexed(machine, 0);
+ return input_port_read(machine, "DSWA");
case 0x01: /* IN08-15 (DSB) */
- return input_port_read_indexed(machine, 1);
+ return input_port_read(machine, "DSWB");
case 0x02: /* IN16-23 (1P) */
- return input_port_read_indexed(machine, 2);
+ return input_port_read(machine, "IN0");
case 0x03: /* IN24-31 (2P) */
- return input_port_read_indexed(machine, 3);
+ return input_port_read(machine, "IN1");
case 0x04: /* coin counters and lockout */
return TC0220IOC_regs[4];
case 0x07: /* INB0-7 (coin) */
- return input_port_read_indexed(machine, 4);
+ return input_port_read(machine, "IN2");
default:
logerror("PC %06x: warning - read TC0220IOC address %02x\n",activecpu_get_pc(),offset);
@@ -5112,22 +5112,22 @@ READ8_HANDLER( TC0510NIO_r )
switch (offset)
{
case 0x00: /* DSA */
- return input_port_read_indexed(machine, 0);
+ return input_port_read(machine, "DSWA");
case 0x01: /* DSB */
- return input_port_read_indexed(machine, 1);
+ return input_port_read(machine, "DSWB");
case 0x02: /* 1P */
- return input_port_read_indexed(machine, 2);
+ return input_port_read(machine, "IN0");
case 0x03: /* 2P */
- return input_port_read_indexed(machine, 3);
+ return input_port_read(machine, "IN1");
case 0x04: /* coin counters and lockout */
return TC0510NIO_regs[4];
case 0x07: /* coin */
- return input_port_read_indexed(machine, 4);
+ return input_port_read(machine, "IN2");
default:
logerror("PC %06x: warning - read TC0510NIO address %02x\n",activecpu_get_pc(),offset);
@@ -5195,22 +5195,22 @@ READ8_HANDLER( TC0640FIO_r )
switch (offset)
{
case 0x00: /* DSA */
- return input_port_read_indexed(machine, 0);
+ return input_port_read(machine, "DSWA");
case 0x01: /* DSB */
- return input_port_read_indexed(machine, 1);
+ return input_port_read(machine, "DSWB");
case 0x02: /* 1P */
- return input_port_read_indexed(machine, 2);
+ return input_port_read(machine, "IN0");
case 0x03: /* 2P */
- return input_port_read_indexed(machine, 3);
+ return input_port_read(machine, "IN1");
case 0x04: /* coin counters and lockout */
return TC0640FIO_regs[4];
case 0x07: /* coin */
- return input_port_read_indexed(machine, 4);
+ return input_port_read(machine, "IN2");
default:
logerror("PC %06x: warning - read TC0640FIO address %02x\n",activecpu_get_pc(),offset);
diff --git a/src/mame/video/undrfire.c b/src/mame/video/undrfire.c
index 76110f87223..34907ca8caf 100644
--- a/src/mame/video/undrfire.c
+++ b/src/mame/video/undrfire.c
@@ -485,7 +485,7 @@ VIDEO_UPDATE( undrfire )
/* See if we should draw artificial gun targets */
/* (not yet implemented...) */
- if (input_port_read_indexed(screen->machine,7) & 0x1) /* Fake DSW */
+ if (input_port_read(screen->machine, "FAKE") & 0x1) /* Fake DSW */
{
popmessage("Gunsights on");
}
diff --git a/src/mame/video/warpwarp.c b/src/mame/video/warpwarp.c
index 81b2a769fdd..36e1cd74585 100644
--- a/src/mame/video/warpwarp.c
+++ b/src/mame/video/warpwarp.c
@@ -242,7 +242,7 @@ VIDEO_UPDATE( geebee )
{
/* use an overlay only in upright mode */
if (geebee_handleoverlay)
- output_set_value("overlay", (input_port_read_indexed(screen->machine, 2) & 0x01) == 0);
+ output_set_value("overlay", (input_port_read(screen->machine, "DSW2") & 0x01) == 0);
tilemap_draw(bitmap,cliprect,bg_tilemap,0,0);
diff --git a/src/mame/video/zac2650.c b/src/mame/video/zac2650.c
index 943f282942d..dbd8dd616dd 100644
--- a/src/mame/video/zac2650.c
+++ b/src/mame/video/zac2650.c
@@ -37,7 +37,7 @@ READ8_HANDLER( zac_s2636_r )
READ8_HANDLER( tinvader_port_0_r )
{
- return input_port_read_indexed(machine, 0) - CollisionBackground;
+ return input_port_read(machine, "1E80") - CollisionBackground;
}
/*****************************************/