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