diff options
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 |
commit | ce7838d0b55c55508852adf40c06b15cc049810d (patch) | |
tree | d71a2e5d678e001b38d30a4a10d01dbbfcfa118a | |
parent | 96a01c9d296f7bdf23870a3276502f905b6a382d (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
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; } /*****************************************/ |