diff --git a/src/mame/drivers/toaplan2.c b/src/mame/drivers/toaplan2.c index f782ee215c6..24ed13858de 100644 --- a/src/mame/drivers/toaplan2.c +++ b/src/mame/drivers/toaplan2.c @@ -1612,16 +1612,19 @@ ADDRESS_MAP_END /***************************************************************************** Input Port definitions - Service input of the TOAPLAN2_SYSTEM_INPUTS is used as a Pause type input. + In most of the games, the Test switch is used as a Pause type input. If you press then release the following buttons, the following occurs: - Service & P2 start : The game will pause. - P1 start : The game will continue. - Service & P1 start & P2 start : The game will play in slow motion. + Test & P2 start : The game will pause. + P1 start : The game will continue. + Test & P1 start & P2 start : The game will play in slow motion. + + When the Invulnerability dipswitch is set, the pause and slow motion + functions are available without pressing the Test switch. *****************************************************************************/ #define TOAPLAN2_COINAGE( mask, value) \ - PORT_DIPNAME( 0x0030, 0x0000, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:5,6") \ + PORT_DIPNAME( 0x0030, 0x0000, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:!5,!6") \ PORT_DIPSETTING( 0x0030, DEF_STR( 4C_1C ) ) PORT_CONDITION("JMPR",mask,PORTCOND_EQUALS,value) \ PORT_DIPSETTING( 0x0020, DEF_STR( 3C_1C ) ) PORT_CONDITION("JMPR",mask,PORTCOND_EQUALS,value) \ PORT_DIPSETTING( 0x0010, DEF_STR( 2C_1C ) ) PORT_CONDITION("JMPR",mask,PORTCOND_EQUALS,value) \ @@ -1629,7 +1632,7 @@ ADDRESS_MAP_END PORT_DIPSETTING( 0x0000, DEF_STR( 1C_1C ) ) \ PORT_DIPSETTING( 0x0030, DEF_STR( 2C_3C ) ) PORT_CONDITION("JMPR",mask,PORTCOND_NOTEQUALS,value) \ PORT_DIPSETTING( 0x0010, DEF_STR( 1C_2C ) ) PORT_CONDITION("JMPR",mask,PORTCOND_NOTEQUALS,value) \ - PORT_DIPNAME( 0x00c0, 0x0000, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:7,8") \ + PORT_DIPNAME( 0x00c0, 0x0000, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:!7,!8") \ PORT_DIPSETTING( 0x0080, DEF_STR( 2C_1C ) ) PORT_CONDITION("JMPR",mask,PORTCOND_NOTEQUALS,value) \ PORT_DIPSETTING( 0x0000, DEF_STR( 1C_1C ) ) PORT_CONDITION("JMPR",mask,PORTCOND_NOTEQUALS,value) \ PORT_DIPSETTING( 0x00c0, DEF_STR( 2C_3C ) ) PORT_CONDITION("JMPR",mask,PORTCOND_NOTEQUALS,value) \ @@ -1667,7 +1670,7 @@ static INPUT_PORTS_START( toaplan2 ) PORT_START("SYS") PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_TILT ) - PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_UNKNOWN ) + PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_SERVICE2 ) PORT_NAME(DEF_STR(Test)) PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_START1 ) @@ -1676,14 +1679,14 @@ static INPUT_PORTS_START( toaplan2 ) PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // Unknown/Unused PORT_START("DSWA") - PORT_DIPNAME( 0x0001, 0x0000, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW1:1") + PORT_DIPNAME( 0x0001, 0x0000, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW1:!1") PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0001, DEF_STR( On ) ) - PORT_DIPNAME( 0x0002, 0x0000, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:2") + PORT_DIPNAME( 0x0002, 0x0000, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:!2") PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0002, DEF_STR( On ) ) - PORT_SERVICE_DIPLOC(0x0004, IP_ACTIVE_HIGH, "SW1:3") - PORT_DIPNAME( 0x0008, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:4") + PORT_SERVICE_DIPLOC(0x0004, IP_ACTIVE_HIGH, "SW1:!3") + PORT_DIPNAME( 0x0008, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:!4") PORT_DIPSETTING( 0x0008, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) // Coinage on bit mask 0x00f0 - see TOAPLAN2_COINAGE above @@ -1691,11 +1694,11 @@ static INPUT_PORTS_START( toaplan2 ) PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // Unknown/Unused PORT_START("DSWB") - PORT_DIPNAME( 0x0003, 0x0000, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:1,2") - PORT_DIPSETTING( 0x0003, DEF_STR( Hardest ) ) - PORT_DIPSETTING( 0x0002, DEF_STR( Hard ) ) - PORT_DIPSETTING( 0x0000, DEF_STR( Normal ) ) + PORT_DIPNAME( 0x0003, 0x0000, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:!1,!2") PORT_DIPSETTING( 0x0001, DEF_STR( Easy ) ) + PORT_DIPSETTING( 0x0000, DEF_STR( Normal ) ) + PORT_DIPSETTING( 0x0002, DEF_STR( Hard ) ) + PORT_DIPSETTING( 0x0003, DEF_STR( Very_Hard ) ) // Per-game features on bit mask 0x00fc PORT_BIT( 0x00fc, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // Modified below PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // Unknown/Unused @@ -1719,22 +1722,22 @@ static INPUT_PORTS_START( tekipaki ) PORT_MODIFY("DSWB") // Difficulty on bit mask 0x0003 - see above - PORT_DIPNAME( 0x0004, 0x0000, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:3") + PORT_DIPNAME( 0x0004, 0x0000, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:!3") PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0004, DEF_STR( On ) ) - PORT_DIPNAME( 0x0008, 0x0000, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:4") + PORT_DIPNAME( 0x0008, 0x0000, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:!4") PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0008, DEF_STR( On ) ) - PORT_DIPNAME( 0x0010, 0x0000, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:5") + PORT_DIPNAME( 0x0010, 0x0000, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:!5") PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0010, DEF_STR( On ) ) - PORT_DIPNAME( 0x0020, 0x0000, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:6") + PORT_DIPNAME( 0x0020, 0x0000, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:!6") PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0020, DEF_STR( On ) ) - PORT_DIPNAME( 0x0040, 0x0000, "Game Mode" ) PORT_DIPLOCATION("SW2:7") + PORT_DIPNAME( 0x0040, 0x0000, "Game Mode" ) PORT_DIPLOCATION("SW2:!7") PORT_DIPSETTING( 0x0040, "Stop" ) PORT_DIPSETTING( 0x0000, DEF_STR( Normal ) ) - PORT_DIPNAME( 0x0080, 0x0000, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:8") + PORT_DIPNAME( 0x0080, 0x0000, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:!8") PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0080, DEF_STR( On ) ) @@ -1764,20 +1767,20 @@ static INPUT_PORTS_START( ghox ) PORT_MODIFY("DSWB") // Difficulty on bit mask 0x0003 - see above - PORT_DIPNAME( 0x000c, 0x0000, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:3,4") + PORT_DIPNAME( 0x000c, 0x0000, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:!3,!4") PORT_DIPSETTING( 0x000c, DEF_STR( None ) ) PORT_DIPSETTING( 0x0008, "100k only" ) PORT_DIPSETTING( 0x0004, "100k and 300k" ) PORT_DIPSETTING( 0x0000, "100k and every 200k" ) - PORT_DIPNAME( 0x0030, 0x0000, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:5,6") + PORT_DIPNAME( 0x0030, 0x0000, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:!5,!6") PORT_DIPSETTING( 0x0030, "1" ) PORT_DIPSETTING( 0x0020, "2" ) PORT_DIPSETTING( 0x0000, "3" ) PORT_DIPSETTING( 0x0010, "5" ) - PORT_DIPNAME( 0x0040, 0x0000, "Invulnerability" ) PORT_DIPLOCATION("SW2:7") + PORT_DIPNAME( 0x0040, 0x0000, "Invulnerability" ) PORT_DIPLOCATION("SW2:!7") PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0040, DEF_STR( On ) ) - PORT_DIPNAME( 0x0080, 0x0000, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:8") + PORT_DIPNAME( 0x0080, 0x0000, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:!8") PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0080, DEF_STR( On ) ) @@ -1820,7 +1823,7 @@ static INPUT_PORTS_START( dogyuun ) PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(2) PORT_MODIFY("DSWA") - PORT_DIPNAME( 0x0001, 0x0000, DEF_STR( Free_Play) ) PORT_DIPLOCATION("SW1:1") + PORT_DIPNAME( 0x0001, 0x0000, DEF_STR( Free_Play) ) PORT_DIPLOCATION("SW1:!1") PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0001, DEF_STR( On ) ) // Various features on bit mask 0x000e - see above @@ -1829,20 +1832,20 @@ static INPUT_PORTS_START( dogyuun ) PORT_MODIFY("DSWB") // Difficulty on bit mask 0x0003 - see above - PORT_DIPNAME( 0x000c, 0x0000, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:3,4") + PORT_DIPNAME( 0x000c, 0x0000, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:!3,!4") PORT_DIPSETTING( 0x000c, DEF_STR( None ) ) PORT_DIPSETTING( 0x0008, "400k only" ) PORT_DIPSETTING( 0x0000, "200k only" ) PORT_DIPSETTING( 0x0004, "200k, 400k and 600k" ) - PORT_DIPNAME( 0x0030, 0x0000, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:5,6") + PORT_DIPNAME( 0x0030, 0x0000, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:!5,!6") PORT_DIPSETTING( 0x0030, "1" ) PORT_DIPSETTING( 0x0020, "2" ) PORT_DIPSETTING( 0x0000, "3" ) PORT_DIPSETTING( 0x0010, "5" ) - PORT_DIPNAME( 0x0040, 0x0000, "Invulnerability" ) PORT_DIPLOCATION("SW2:7") + PORT_DIPNAME( 0x0040, 0x0000, "Invulnerability" ) PORT_DIPLOCATION("SW2:!7") PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0040, DEF_STR( On ) ) - PORT_DIPNAME( 0x0080, 0x0000, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:8") + PORT_DIPNAME( 0x0080, 0x0000, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:!8") PORT_DIPSETTING( 0x0080, DEF_STR( No ) ) PORT_DIPSETTING( 0x0000, DEF_STR( Yes ) ) @@ -1936,7 +1939,7 @@ static INPUT_PORTS_START( kbash ) PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(2) PORT_MODIFY("DSWA") - PORT_DIPNAME( 0x0001, 0x0000, "Continue Mode" ) PORT_DIPLOCATION("SW1:1") + PORT_DIPNAME( 0x0001, 0x0000, "Continue Mode" ) PORT_DIPLOCATION("SW1:!1") PORT_DIPSETTING( 0x0000, DEF_STR( Normal ) ) PORT_DIPSETTING( 0x0001, "Discount" ) // Various features on bit mask 0x000e - see above @@ -1945,20 +1948,20 @@ static INPUT_PORTS_START( kbash ) PORT_MODIFY("DSWB") // Difficulty on bit mask 0x0003 - see above - PORT_DIPNAME( 0x000c, 0x0000, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:3,4") + PORT_DIPNAME( 0x000c, 0x0000, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:!3,!4") PORT_DIPSETTING( 0x000c, DEF_STR( None ) ) PORT_DIPSETTING( 0x0008, "200k only" ) PORT_DIPSETTING( 0x0004, "100k only" ) PORT_DIPSETTING( 0x0000, "100k and 400k" ) - PORT_DIPNAME( 0x0030, 0x0000, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:5,6") + PORT_DIPNAME( 0x0030, 0x0000, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:!5,!6") PORT_DIPSETTING( 0x0030, "1" ) PORT_DIPSETTING( 0x0000, "2" ) PORT_DIPSETTING( 0x0020, "3" ) PORT_DIPSETTING( 0x0010, "4" ) - PORT_DIPNAME( 0x0040, 0x0000, "Invulnerability" ) PORT_DIPLOCATION("SW2:7") + PORT_DIPNAME( 0x0040, 0x0000, "Invulnerability" ) PORT_DIPLOCATION("SW2:!7") PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0040, DEF_STR( On ) ) - PORT_DIPNAME( 0x0080, 0x0000, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:8") + PORT_DIPNAME( 0x0080, 0x0000, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:!8") PORT_DIPSETTING( 0x0080, DEF_STR( No ) ) PORT_DIPSETTING( 0x0000, DEF_STR( Yes ) ) @@ -2015,11 +2018,18 @@ INPUT_PORTS_END static INPUT_PORTS_START( truxton2 ) PORT_INCLUDE( toaplan2 ) + // Button 3 is shown in service mode but not used in normal gameplay. + // It functions as a suicide button only when the Invulnerability dipswitch is set. + // Fast Scrolling always functions, and is not shown as a button in service mode. PORT_MODIFY("IN1") - PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Speedup (Cheat)") + PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(1) PORT_NAME("P1 Suicide (Cheat)") + PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Fast Scrolling (Cheat)") + + PORT_MODIFY("IN2") + PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(2) PORT_NAME("P2 Suicide (Cheat)") PORT_MODIFY("DSWA") - PORT_DIPNAME( 0x0001, 0x0000, "Rapid Fire" ) PORT_DIPLOCATION("SW1:1") + PORT_DIPNAME( 0x0001, 0x0000, "Rapid Fire" ) PORT_DIPLOCATION("SW1:!1") PORT_DIPSETTING( 0x0001, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) // Various features on bit mask 0x000e - see above @@ -2028,20 +2038,20 @@ static INPUT_PORTS_START( truxton2 ) PORT_MODIFY("DSWB") // Difficulty on bit mask 0x0003 - see above - PORT_DIPNAME( 0x000c, 0x0000, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:3,4") + PORT_DIPNAME( 0x000c, 0x0000, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:!3,!4") PORT_DIPSETTING( 0x000c, "200k only" ) PORT_DIPSETTING( 0x0008, "100k only" ) PORT_DIPSETTING( 0x0004, "100k and 250k" ) PORT_DIPSETTING( 0x0000, "70k and 200k" ) - PORT_DIPNAME( 0x0030, 0x0000, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:5,6") + PORT_DIPNAME( 0x0030, 0x0000, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:!5,!6") PORT_DIPSETTING( 0x0030, "2" ) PORT_DIPSETTING( 0x0000, "3" ) PORT_DIPSETTING( 0x0020, "4" ) PORT_DIPSETTING( 0x0010, "5" ) - PORT_DIPNAME( 0x0040, 0x0000, "Invulnerability" ) PORT_DIPLOCATION("SW2:7") + PORT_DIPNAME( 0x0040, 0x0000, "Invulnerability" ) PORT_DIPLOCATION("SW2:!7") PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0040, DEF_STR( On ) ) - PORT_DIPNAME( 0x0080, 0x0000, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:8") + PORT_DIPNAME( 0x0080, 0x0000, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:!8") PORT_DIPSETTING( 0x0080, DEF_STR( No ) ) PORT_DIPSETTING( 0x0000, DEF_STR( Yes ) ) @@ -2076,20 +2086,20 @@ static INPUT_PORTS_START( pipibibs ) PORT_MODIFY("DSWB") // Difficulty on bit mask 0x0003 - see above - PORT_DIPNAME( 0x000c, 0x0000, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:3,4") + PORT_DIPNAME( 0x000c, 0x0000, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:!3,!4") PORT_DIPSETTING( 0x000c, DEF_STR( None ) ) PORT_DIPSETTING( 0x0008, "200k only" ) PORT_DIPSETTING( 0x0000, "200k and every 300k" ) PORT_DIPSETTING( 0x0004, "150k and every 200k" ) - PORT_DIPNAME( 0x0030, 0x0000, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:5,6") + PORT_DIPNAME( 0x0030, 0x0000, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:!5,!6") PORT_DIPSETTING( 0x0030, "1" ) PORT_DIPSETTING( 0x0020, "2" ) PORT_DIPSETTING( 0x0000, "3" ) PORT_DIPSETTING( 0x0010, "5" ) - PORT_DIPNAME( 0x0040, 0x0000, "Invulnerability" ) PORT_DIPLOCATION("SW2:7") + PORT_DIPNAME( 0x0040, 0x0000, "Invulnerability" ) PORT_DIPLOCATION("SW2:!7") PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0040, DEF_STR( On ) ) - PORT_DIPNAME( 0x0080, 0x0000, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:8") + PORT_DIPNAME( 0x0080, 0x0000, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:!8") PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0080, DEF_STR( On ) ) @@ -2121,7 +2131,7 @@ static INPUT_PORTS_START( pipibibsbl ) PORT_INCLUDE( pipibibs ) PORT_MODIFY("DSWA") - PORT_DIPNAME( 0x0002, 0x0000, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW1:2") // This video HW doesn't support flip screen + PORT_DIPNAME( 0x0002, 0x0000, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW1:!2") // This video HW doesn't support flip screen PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0002, DEF_STR( On ) ) // Various features on bit mask 0x000d - see above @@ -2143,6 +2153,12 @@ INPUT_PORTS_END static INPUT_PORTS_START( fixeight ) + + // The suicide buttons only work when the Invulnerability dipswitch is set. + // Unlike truxton2, they are not shown in service mode, and there seems + // to be no corresponding button for Player 3. + // The Suicide buttons are technically P1 and P2 Button 3, but we hook + // them up as IPT_OTHER so each player has the same number of buttons. PORT_START("IN1") PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(1) PORT_8WAY PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1) PORT_8WAY @@ -2150,7 +2166,7 @@ static INPUT_PORTS_START( fixeight ) PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1) PORT_8WAY PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1) - PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_UNKNOWN ) + PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("P1 Suicide (Cheat)") PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // Unknown/Unused @@ -2161,7 +2177,7 @@ static INPUT_PORTS_START( fixeight ) PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2) PORT_8WAY PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(2) - PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_UNKNOWN ) + PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("P2 Suicide (Cheat)") PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // Unknown/Unused @@ -2214,13 +2230,13 @@ static INPUT_PORTS_START( fixeightbl ) PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // Unknown/Unused PORT_MODIFY("DSWA") - PORT_DIPNAME( 0x0001, 0x0000, "Maximum Players" ) PORT_DIPLOCATION("SW1:1") + PORT_DIPNAME( 0x0001, 0x0000, "Maximum Players" ) PORT_DIPLOCATION("SW1:!1") PORT_DIPSETTING( 0x0000, "2" ) PORT_DIPSETTING( 0x0001, "3" ) - PORT_DIPNAME( 0x0002, 0x0000, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW1:2") // This video HW doesn't support flip screen + PORT_DIPNAME( 0x0002, 0x0000, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW1:!2") // This video HW doesn't support flip screen PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0002, DEF_STR( On ) ) - PORT_DIPNAME( 0x0004, 0x0004, "Shooting Style" ) PORT_DIPLOCATION("SW1:3") + PORT_DIPNAME( 0x0004, 0x0004, "Shooting Style" ) PORT_DIPLOCATION("SW1:!3") PORT_DIPSETTING( 0x0004, "Semi-Auto" ) PORT_DIPSETTING( 0x0000, "Full-Auto" ) // Various features on bit mask 0x0008 - see above @@ -2229,20 +2245,20 @@ static INPUT_PORTS_START( fixeightbl ) PORT_MODIFY("DSWB") // Difficulty on bit mask 0x0003 - see above - PORT_DIPNAME( 0x000c, 0x0000, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:3,4") + PORT_DIPNAME( 0x000c, 0x0000, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:!3,!4") PORT_DIPSETTING( 0x000c, DEF_STR( None ) ) PORT_DIPSETTING( 0x0000, "500k and every 500k" ) PORT_DIPSETTING( 0x0008, "300k only" ) PORT_DIPSETTING( 0x0004, "300k and every 300k" ) - PORT_DIPNAME( 0x0030, 0x0000, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:5,6") + PORT_DIPNAME( 0x0030, 0x0000, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:!5,!6") PORT_DIPSETTING( 0x0030, "1" ) PORT_DIPSETTING( 0x0020, "2" ) PORT_DIPSETTING( 0x0000, "3" ) PORT_DIPSETTING( 0x0010, "5" ) - PORT_DIPNAME( 0x0040, 0x0000, "Invulnerability" ) PORT_DIPLOCATION("SW2:7") + PORT_DIPNAME( 0x0040, 0x0000, "Invulnerability" ) PORT_DIPLOCATION("SW2:!7") PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0040, DEF_STR( On ) ) - PORT_DIPNAME( 0x0080, 0x0000, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:8") + PORT_DIPNAME( 0x0080, 0x0000, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:!8") PORT_DIPSETTING( 0x0080, DEF_STR( No ) ) PORT_DIPSETTING( 0x0000, DEF_STR( Yes ) ) INPUT_PORTS_END @@ -2252,7 +2268,7 @@ static INPUT_PORTS_START( grindstm ) PORT_INCLUDE( toaplan2 ) PORT_MODIFY("DSWA") - PORT_DIPNAME( 0x0001, 0x0000, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:1") + PORT_DIPNAME( 0x0001, 0x0000, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:!1") PORT_DIPSETTING( 0x0000, DEF_STR( Upright ) ) PORT_DIPSETTING( 0x0001, DEF_STR( Cocktail ) ) // Various features on bit mask 0x000e - see above @@ -2261,20 +2277,20 @@ static INPUT_PORTS_START( grindstm ) PORT_MODIFY("DSWB") // Difficulty on bit mask 0x0003 - see above - PORT_DIPNAME( 0x000c, 0x0000, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:3,4") + PORT_DIPNAME( 0x000c, 0x0000, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:!3,!4") PORT_DIPSETTING( 0x000c, DEF_STR( None ) ) PORT_DIPSETTING( 0x0008, "200k only" ) PORT_DIPSETTING( 0x0000, "300k and 800k" ) PORT_DIPSETTING( 0x0004, "300k and every 800k" ) - PORT_DIPNAME( 0x0030, 0x0000, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:5,6") + PORT_DIPNAME( 0x0030, 0x0000, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:!5,!6") PORT_DIPSETTING( 0x0030, "1" ) PORT_DIPSETTING( 0x0020, "2" ) PORT_DIPSETTING( 0x0000, "3" ) PORT_DIPSETTING( 0x0010, "5" ) - PORT_DIPNAME( 0x0040, 0x0000, "Invulnerability" ) PORT_DIPLOCATION("SW2:7") + PORT_DIPNAME( 0x0040, 0x0000, "Invulnerability" ) PORT_DIPLOCATION("SW2:!7") PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0040, DEF_STR( On ) ) - PORT_DIPNAME( 0x0080, 0x0000, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:8") + PORT_DIPNAME( 0x0080, 0x0000, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:!8") PORT_DIPSETTING( 0x0080, DEF_STR( No ) ) PORT_DIPSETTING( 0x0000, DEF_STR( Yes ) ) @@ -2347,8 +2363,17 @@ INPUT_PORTS_END static INPUT_PORTS_START( batsugun ) PORT_INCLUDE( toaplan2 ) + // Button 3 is not shown in service mode. + // When the Invulnerability dipswitch is set, P2 button 3 functions as a stage skip button. + // In the Special Version, button 3 is a full auto fire button. + PORT_MODIFY("IN1") + PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(1) + + PORT_MODIFY("IN2") + PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(2) + PORT_MODIFY("DSWA") - PORT_DIPNAME( 0x0001, 0x0000, "Continue Mode" ) PORT_DIPLOCATION("SW1:1") + PORT_DIPNAME( 0x0001, 0x0000, "Continue Mode" ) PORT_DIPLOCATION("SW1:!1") PORT_DIPSETTING( 0x0000, DEF_STR( Normal ) ) PORT_DIPSETTING( 0x0001, "Discount" ) // Various features on bit mask 0x000e - see above @@ -2357,20 +2382,20 @@ static INPUT_PORTS_START( batsugun ) PORT_MODIFY("DSWB") // Difficulty on bit mask 0x0003 - see above - PORT_DIPNAME( 0x000c, 0x0000, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:3,4") + PORT_DIPNAME( 0x000c, 0x0000, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:!3,!4") PORT_DIPSETTING( 0x000c, DEF_STR( None ) ) PORT_DIPSETTING( 0x0008, "1500k only" ) PORT_DIPSETTING( 0x0000, "1000k only" ) PORT_DIPSETTING( 0x0004, "500k and every 600k" ) - PORT_DIPNAME( 0x0030, 0x0000, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:5,6") + PORT_DIPNAME( 0x0030, 0x0000, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:!5,!6") PORT_DIPSETTING( 0x0030, "1" ) PORT_DIPSETTING( 0x0020, "2" ) PORT_DIPSETTING( 0x0000, "3" ) PORT_DIPSETTING( 0x0010, "5" ) - PORT_DIPNAME( 0x0040, 0x0000, "Invulnerability" ) PORT_DIPLOCATION("SW2:7") + PORT_DIPNAME( 0x0040, 0x0000, "Invulnerability" ) PORT_DIPLOCATION("SW2:!7") PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0040, DEF_STR( On ) ) - PORT_DIPNAME( 0x0080, 0x0000, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:8") + PORT_DIPNAME( 0x0080, 0x0000, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:!8") PORT_DIPSETTING( 0x0080, DEF_STR( No ) ) PORT_DIPSETTING( 0x0000, DEF_STR( Yes ) ) @@ -2395,17 +2420,6 @@ static INPUT_PORTS_START( batsugun ) INPUT_PORTS_END -static INPUT_PORTS_START(batsugunsp) - PORT_INCLUDE( batsugun ) - - PORT_MODIFY("IN1") - PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(1) // Full auto fire (not shown in Service Mode) - - PORT_MODIFY("IN2") - PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(2) // Full auto fire (not shown in Service Mode) -INPUT_PORTS_END - - static INPUT_PORTS_START( snowbro2 ) PORT_INCLUDE( toaplan2 ) @@ -2432,7 +2446,7 @@ static INPUT_PORTS_START( snowbro2 ) PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // Unknown/Unused PORT_MODIFY("DSWA") - PORT_DIPNAME( 0x0001, 0x0000, "Continue Mode" ) PORT_DIPLOCATION("SW1:1") + PORT_DIPNAME( 0x0001, 0x0000, "Continue Mode" ) PORT_DIPLOCATION("SW1:!1") PORT_DIPSETTING( 0x0000, DEF_STR( Normal ) ) PORT_DIPSETTING( 0x0001, "Discount" ) // Various features on bit mask 0x000e - see above @@ -2441,20 +2455,20 @@ static INPUT_PORTS_START( snowbro2 ) PORT_MODIFY("DSWB") // Difficulty on bit mask 0x0003 - see above - PORT_DIPNAME( 0x000c, 0x0000, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:3,4") + PORT_DIPNAME( 0x000c, 0x0000, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:!3,!4") PORT_DIPSETTING( 0x000c, DEF_STR( None ) ) PORT_DIPSETTING( 0x0008, "200k only" ) PORT_DIPSETTING( 0x0000, "100k only" ) PORT_DIPSETTING( 0x0004, "100k and every 500k" ) - PORT_DIPNAME( 0x0030, 0x0000, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:5,6") + PORT_DIPNAME( 0x0030, 0x0000, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:!5,!6") PORT_DIPSETTING( 0x0030, "1" ) PORT_DIPSETTING( 0x0020, "2" ) PORT_DIPSETTING( 0x0000, "3" ) PORT_DIPSETTING( 0x0010, "4" ) - PORT_DIPNAME( 0x0040, 0x0000, "Invulnerability" ) PORT_DIPLOCATION("SW2:7") + PORT_DIPNAME( 0x0040, 0x0000, "Invulnerability" ) PORT_DIPLOCATION("SW2:!7") PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0040, DEF_STR( On ) ) - PORT_DIPNAME( 0x0080, 0x0000, "Maximum Players" ) PORT_DIPLOCATION("SW2:8") + PORT_DIPNAME( 0x0080, 0x0000, "Maximum Players" ) PORT_DIPLOCATION("SW2:!8") PORT_DIPSETTING( 0x0080, "2" ) PORT_DIPSETTING( 0x0000, "4" ) @@ -2478,8 +2492,17 @@ INPUT_PORTS_END static INPUT_PORTS_START( sstriker ) PORT_INCLUDE( toaplan2 ) + // Button 3 is shown in service mode (as "Unused") but not used in normal gameplay. + // When the Invulnerability dipswitch is set and P2 is playing, + // P2 button 3 functions as a stage skip button. + PORT_MODIFY("IN1") + PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(1) + + PORT_MODIFY("IN2") + PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(2) + PORT_MODIFY("DSWA") - PORT_DIPNAME( 0x0001, 0x0000, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("SW1:1") + PORT_DIPNAME( 0x0001, 0x0000, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("SW1:!1") PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0001, DEF_STR( On ) ) // Various features on bit mask 0x000e - see above @@ -2488,20 +2511,20 @@ static INPUT_PORTS_START( sstriker ) PORT_MODIFY("DSWB") // Difficulty on bit mask 0x0003 - see above - PORT_DIPNAME( 0x000c, 0x0000, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:3,4") + PORT_DIPNAME( 0x000c, 0x0000, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:!3,!4") PORT_DIPSETTING( 0x000c, DEF_STR( None ) ) PORT_DIPSETTING( 0x0008, "200k only" ) PORT_DIPSETTING( 0x0000, "Every 300k" ) PORT_DIPSETTING( 0x0004, "200k and 500k" ) - PORT_DIPNAME( 0x0030, 0x0000, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:5,6") + PORT_DIPNAME( 0x0030, 0x0000, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:!5,!6") PORT_DIPSETTING( 0x0030, "1" ) PORT_DIPSETTING( 0x0020, "2" ) PORT_DIPSETTING( 0x0000, "3" ) PORT_DIPSETTING( 0x0010, "5" ) - PORT_DIPNAME( 0x0040, 0x0000, "Invulnerability" ) PORT_DIPLOCATION("SW2:7") + PORT_DIPNAME( 0x0040, 0x0000, "Invulnerability" ) PORT_DIPLOCATION("SW2:!7") PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0040, DEF_STR( On ) ) - PORT_DIPNAME( 0x0080, 0x0000, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:8") + PORT_DIPNAME( 0x0080, 0x0000, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:!8") PORT_DIPSETTING( 0x0080, DEF_STR( No ) ) PORT_DIPSETTING( 0x0000, DEF_STR( Yes ) ) @@ -2552,7 +2575,6 @@ static INPUT_PORTS_START( kingdmgp ) // The code and lookup tables pertaining to the jumpers are almost identical to sstriker. // However, this set apparently lacks (reachable) code to display the FBI logo, // even though the logo itself is present in the gfx ROMs. - PORT_MODIFY("JMPR") PORT_DIPNAME( 0x0001, 0x0000, DEF_STR( Unused ) ) PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) @@ -2604,7 +2626,7 @@ static INPUT_PORTS_START( bgaregga ) PORT_START("SYS") PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_SERVICE2 ) + PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_SERVICE2 ) PORT_NAME(DEF_STR(Test)) PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_START1 ) @@ -2613,11 +2635,11 @@ static INPUT_PORTS_START( bgaregga ) PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // Unknown/Unused PORT_START("DSWA") - PORT_SERVICE_DIPLOC(0x0001, IP_ACTIVE_HIGH, "SW1:1") - PORT_DIPNAME( 0x0002, 0x0000, "Credits to Start" ) PORT_DIPLOCATION("SW1:2") + PORT_SERVICE_DIPLOC(0x0001, IP_ACTIVE_HIGH, "SW1:!1") + PORT_DIPNAME( 0x0002, 0x0000, "Credits to Start" ) PORT_DIPLOCATION("SW1:!2") PORT_DIPSETTING( 0x0000, "1" ) PORT_DIPSETTING( 0x0002, "2" ) - PORT_DIPNAME( 0x001c, 0x0000, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:3,4,5") + PORT_DIPNAME( 0x001c, 0x0000, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:!3,!4,!5") PORT_DIPSETTING( 0x0018, DEF_STR( 4C_1C ) ) PORT_DIPSETTING( 0x0014, DEF_STR( 3C_1C ) ) PORT_DIPSETTING( 0x0010, DEF_STR( 2C_1C ) ) @@ -2626,7 +2648,7 @@ static INPUT_PORTS_START( bgaregga ) PORT_DIPSETTING( 0x0008, DEF_STR( 1C_3C ) ) PORT_DIPSETTING( 0x000c, DEF_STR( 1C_4C ) ) PORT_DIPSETTING( 0x001c, DEF_STR( Free_Play ) ) - PORT_DIPNAME( 0x00e0, 0x0000, DEF_STR( Coin_B ) ) PORT_CONDITION("DSWA", 0x001c, PORTCOND_NOTEQUALS, 0x001c) PORT_DIPLOCATION("SW1:6,7,8") + PORT_DIPNAME( 0x00e0, 0x0000, DEF_STR( Coin_B ) ) PORT_CONDITION("DSWA", 0x001c, PORTCOND_NOTEQUALS, 0x001c) PORT_DIPLOCATION("SW1:!6,!7,!8") PORT_DIPSETTING( 0x00c0, DEF_STR( 4C_1C ) ) PORT_CONDITION("DSWA", 0x001c, PORTCOND_NOTEQUALS, 0x001c) PORT_DIPSETTING( 0x00a0, DEF_STR( 3C_1C ) ) PORT_CONDITION("DSWA", 0x001c, PORTCOND_NOTEQUALS, 0x001c) PORT_DIPSETTING( 0x0080, DEF_STR( 2C_1C ) ) PORT_CONDITION("DSWA", 0x001c, PORTCOND_NOTEQUALS, 0x001c) @@ -2636,29 +2658,29 @@ static INPUT_PORTS_START( bgaregga ) PORT_DIPSETTING( 0x0040, DEF_STR( 1C_3C ) ) PORT_CONDITION("DSWA", 0x001c, PORTCOND_NOTEQUALS, 0x001c) PORT_DIPSETTING( 0x0060, DEF_STR( 1C_4C ) ) PORT_CONDITION("DSWA", 0x001c, PORTCOND_NOTEQUALS, 0x001c) // When Coin_A is set to Free_Play, Coin_A becomes Coin_A and Coin_B, and the following dips occur - PORT_DIPNAME( 0x0020, 0x0000, "Joystick Mode" ) PORT_CONDITION("DSWA", 0x001c, PORTCOND_EQUALS, 0x001c) PORT_DIPLOCATION("SW1:6") + PORT_DIPNAME( 0x0020, 0x0000, "Joystick Mode" ) PORT_CONDITION("DSWA", 0x001c, PORTCOND_EQUALS, 0x001c) PORT_DIPLOCATION("SW1:!6") PORT_DIPSETTING( 0x0000, "90 degrees ACW" ) PORT_CONDITION("DSWA", 0x001c, PORTCOND_EQUALS, 0x001c) PORT_DIPSETTING( 0x0020, DEF_STR( Normal ) ) PORT_CONDITION("DSWA", 0x001c, PORTCOND_EQUALS, 0x001c) - PORT_DIPNAME( 0x0040, 0x0000, "Effect" ) PORT_CONDITION("DSWA", 0x001c, PORTCOND_EQUALS, 0x001c) PORT_DIPLOCATION("SW1:7") + PORT_DIPNAME( 0x0040, 0x0000, "Effect" ) PORT_CONDITION("DSWA", 0x001c, PORTCOND_EQUALS, 0x001c) PORT_DIPLOCATION("SW1:!7") PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_CONDITION("DSWA", 0x001c, PORTCOND_EQUALS, 0x001c) PORT_DIPSETTING( 0x0040, DEF_STR( On ) ) PORT_CONDITION("DSWA", 0x001c, PORTCOND_EQUALS, 0x001c) - PORT_DIPNAME( 0x0080, 0x0000, "Music" ) PORT_CONDITION("DSWA", 0x001c, PORTCOND_EQUALS, 0x001c) PORT_DIPLOCATION("SW1:8") + PORT_DIPNAME( 0x0080, 0x0000, "Music" ) PORT_CONDITION("DSWA", 0x001c, PORTCOND_EQUALS, 0x001c) PORT_DIPLOCATION("SW1:!8") PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_CONDITION("DSWA", 0x001c, PORTCOND_EQUALS, 0x001c) PORT_DIPSETTING( 0x0080, DEF_STR( On ) ) PORT_CONDITION("DSWA", 0x001c, PORTCOND_EQUALS, 0x001c) PORT_START("DSWB") - PORT_DIPNAME( 0x0003, 0x0000, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:1,2") - PORT_DIPSETTING( 0x0003, DEF_STR( Hardest ) ) - PORT_DIPSETTING( 0x0002, DEF_STR( Hard ) ) - PORT_DIPSETTING( 0x0000, DEF_STR( Normal ) ) + PORT_DIPNAME( 0x0003, 0x0000, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:!1,!2") PORT_DIPSETTING( 0x0001, DEF_STR( Easy ) ) - PORT_DIPNAME( 0x0004, 0x0000, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:3") + PORT_DIPSETTING( 0x0000, DEF_STR( Normal ) ) + PORT_DIPSETTING( 0x0002, DEF_STR( Hard ) ) + PORT_DIPSETTING( 0x0003, DEF_STR( Very_Hard ) ) + PORT_DIPNAME( 0x0004, 0x0000, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:!3") PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0004, DEF_STR( On ) ) - PORT_DIPNAME( 0x0008, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:4") + PORT_DIPNAME( 0x0008, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:!4") PORT_DIPSETTING( 0x0008, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) - PORT_DIPNAME( 0x0070, 0x0000, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:5,6,7") + PORT_DIPNAME( 0x0070, 0x0000, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:!5,!6,!7") PORT_DIPSETTING( 0x0030, "1" ) PORT_DIPSETTING( 0x0020, "2" ) PORT_DIPSETTING( 0x0000, "3" ) @@ -2667,17 +2689,17 @@ static INPUT_PORTS_START( bgaregga ) PORT_DIPSETTING( 0x0050, "6" ) PORT_DIPSETTING( 0x0060, DEF_STR( Infinite ) ) PORT_DIPSETTING( 0x0070, "Invulnerability (Cheat)" ) - PORT_DIPNAME( 0x0080, 0x0000, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:8") + PORT_DIPNAME( 0x0080, 0x0000, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:!8") PORT_DIPSETTING( 0x0000, DEF_STR( None ) ) PORT_CONDITION("JMPR",0x0003,PORTCOND_NOTEQUALS,0x0000) // Non-Japan PORT_DIPSETTING( 0x0080, "Every 2000k" ) PORT_CONDITION("JMPR",0x0003,PORTCOND_NOTEQUALS,0x0000) // Non-Japan PORT_DIPSETTING( 0x0080, "1000k and 2000k" ) PORT_CONDITION("JMPR",0x0003,PORTCOND_EQUALS,0x0000) // Japan PORT_DIPSETTING( 0x0000, "Every 1000k" ) PORT_CONDITION("JMPR",0x0003,PORTCOND_EQUALS,0x0000) // Japan PORT_START("JMPR") - PORT_DIPNAME( 0x0008, 0x0000, "Stage Edit" ) + PORT_DIPNAME( 0x0008, 0x0000, "Stage Edit" ) PORT_DIPLOCATION("SW3:!1") PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0008, DEF_STR( On ) ) - PORT_DIPNAME( 0x0004, 0x0000, DEF_STR( Allow_Continue ) ) + PORT_DIPNAME( 0x0004, 0x0000, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW3:!2") PORT_DIPSETTING( 0x0004, DEF_STR( No ) ) PORT_DIPSETTING( 0x0000, DEF_STR( Yes ) ) PORT_DIPNAME( 0x0003, 0x0001, DEF_STR( Region ) ) @@ -2746,14 +2768,14 @@ static INPUT_PORTS_START( batrider ) PORT_BIT( 0x8080, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_START("DSW") // DSWA and DSWB - PORT_SERVICE_DIPLOC(0x0001, IP_ACTIVE_HIGH, "SW1:1") - PORT_DIPNAME( 0x0002, 0x0000, "Credits to Start" ) PORT_CONDITION("DSW", 0x001c, PORTCOND_NOTEQUALS, 0x001c) PORT_DIPLOCATION("SW1:2") + PORT_SERVICE_DIPLOC(0x0001, IP_ACTIVE_HIGH, "SW1:!1") + PORT_DIPNAME( 0x0002, 0x0000, "Credits to Start" ) PORT_CONDITION("DSW", 0x001c, PORTCOND_NOTEQUALS, 0x001c) PORT_DIPLOCATION("SW1:!2") PORT_DIPSETTING( 0x0000, "1" ) PORT_CONDITION("DSW", 0x001c, PORTCOND_NOTEQUALS, 0x001c) PORT_DIPSETTING( 0x0002, "2" ) PORT_CONDITION("DSW", 0x001c, PORTCOND_NOTEQUALS, 0x001c) - PORT_DIPNAME( 0x0002, 0x0000, "Joystick Mode" ) PORT_CONDITION("DSW", 0x001c, PORTCOND_EQUALS, 0x001c) PORT_DIPLOCATION("SW1:2") + PORT_DIPNAME( 0x0002, 0x0000, "Joystick Mode" ) PORT_CONDITION("DSW", 0x001c, PORTCOND_EQUALS, 0x001c) PORT_DIPLOCATION("SW1:!2") PORT_DIPSETTING( 0x0000, DEF_STR( Normal ) ) PORT_CONDITION("DSW", 0x001c, PORTCOND_EQUALS, 0x001c) PORT_DIPSETTING( 0x0002, "90 degrees ACW" ) PORT_CONDITION("DSW", 0x001c, PORTCOND_EQUALS, 0x001c) - PORT_DIPNAME( 0x001c, 0x0000, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:3,4,5") + PORT_DIPNAME( 0x001c, 0x0000, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:!3,!4,!5") PORT_DIPSETTING( 0x0018, DEF_STR( 4C_1C ) ) PORT_DIPSETTING( 0x0014, DEF_STR( 3C_1C ) ) PORT_DIPSETTING( 0x0010, DEF_STR( 2C_1C ) ) @@ -2762,7 +2784,7 @@ static INPUT_PORTS_START( batrider ) PORT_DIPSETTING( 0x0008, DEF_STR( 1C_3C ) ) PORT_DIPSETTING( 0x000c, DEF_STR( 1C_4C ) ) PORT_DIPSETTING( 0x001c, DEF_STR( Free_Play ) ) - PORT_DIPNAME( 0x00e0, 0x0000, DEF_STR( Coin_B ) ) PORT_CONDITION("DSW", 0x001c, PORTCOND_NOTEQUALS, 0x001c) PORT_DIPLOCATION("SW1:6,7,8") + PORT_DIPNAME( 0x00e0, 0x0000, DEF_STR( Coin_B ) ) PORT_CONDITION("DSW", 0x001c, PORTCOND_NOTEQUALS, 0x001c) PORT_DIPLOCATION("SW1:!6,!7,!8") PORT_DIPSETTING( 0x00c0, DEF_STR( 4C_1C ) ) PORT_CONDITION("DSW", 0x001c, PORTCOND_NOTEQUALS, 0x001c) PORT_DIPSETTING( 0x00a0, DEF_STR( 3C_1C ) ) PORT_CONDITION("DSW", 0x001c, PORTCOND_NOTEQUALS, 0x001c) PORT_DIPSETTING( 0x0080, DEF_STR( 2C_1C ) ) PORT_CONDITION("DSW", 0x001c, PORTCOND_NOTEQUALS, 0x001c) @@ -2772,68 +2794,68 @@ static INPUT_PORTS_START( batrider ) PORT_DIPSETTING( 0x0040, DEF_STR( 1C_3C ) ) PORT_CONDITION("DSW", 0x001c, PORTCOND_NOTEQUALS, 0x001c) PORT_DIPSETTING( 0x0060, DEF_STR( 1C_4C ) ) PORT_CONDITION("DSW", 0x001c, PORTCOND_NOTEQUALS, 0x001c) // When Coin_A is set to Free_Play, Coin_A becomes Coin_A and Coin_B, and the following dips occur - PORT_DIPNAME( 0x0020, 0x0000, "Hit Score" ) PORT_CONDITION("DSW", 0x001c, PORTCOND_EQUALS, 0x001c) PORT_DIPLOCATION("SW1:6") + PORT_DIPNAME( 0x0020, 0x0000, "Hit Score" ) PORT_CONDITION("DSW", 0x001c, PORTCOND_EQUALS, 0x001c) PORT_DIPLOCATION("SW1:!6") PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_CONDITION("DSW", 0x001c, PORTCOND_EQUALS, 0x001c) PORT_DIPSETTING( 0x0020, DEF_STR( On ) ) PORT_CONDITION("DSW", 0x001c, PORTCOND_EQUALS, 0x001c) - PORT_DIPNAME( 0x0040, 0x0000, "Sound Effect" ) PORT_CONDITION("DSW", 0x001c, PORTCOND_EQUALS, 0x001c) PORT_DIPLOCATION("SW1:7") + PORT_DIPNAME( 0x0040, 0x0000, "Sound Effect" ) PORT_CONDITION("DSW", 0x001c, PORTCOND_EQUALS, 0x001c) PORT_DIPLOCATION("SW1:!7") PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_CONDITION("DSW", 0x001c, PORTCOND_EQUALS, 0x001c) PORT_DIPSETTING( 0x0040, DEF_STR( On ) ) PORT_CONDITION("DSW", 0x001c, PORTCOND_EQUALS, 0x001c) - PORT_DIPNAME( 0x0080, 0x0000, "Music" ) PORT_CONDITION("DSW", 0x001c, PORTCOND_EQUALS, 0x001c) PORT_DIPLOCATION("SW1:8") + PORT_DIPNAME( 0x0080, 0x0000, "Music" ) PORT_CONDITION("DSW", 0x001c, PORTCOND_EQUALS, 0x001c) PORT_DIPLOCATION("SW1:!8") PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_CONDITION("DSW", 0x001c, PORTCOND_EQUALS, 0x001c) PORT_DIPSETTING( 0x0080, DEF_STR( On ) ) PORT_CONDITION("DSW", 0x001c, PORTCOND_EQUALS, 0x001c) - PORT_DIPNAME( 0x0300, 0x0000, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:1,2") - PORT_DIPSETTING( 0x0300, DEF_STR( Hardest ) ) - PORT_DIPSETTING( 0x0200, DEF_STR( Hard ) ) - PORT_DIPSETTING( 0x0000, DEF_STR( Normal ) ) + PORT_DIPNAME( 0x0300, 0x0000, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:!1,!2") PORT_DIPSETTING( 0x0100, DEF_STR( Easy ) ) - PORT_DIPNAME( 0x0c00, 0x0000, "Timer" ) PORT_DIPLOCATION("SW2:3,4") + PORT_DIPSETTING( 0x0000, DEF_STR( Normal ) ) + PORT_DIPSETTING( 0x0200, DEF_STR( Hard ) ) + PORT_DIPSETTING( 0x0300, DEF_STR( Very_Hard ) ) + PORT_DIPNAME( 0x0c00, 0x0000, "Timer" ) PORT_DIPLOCATION("SW2:!3,!4") PORT_DIPSETTING( 0x0c00, DEF_STR( Highest ) ) PORT_DIPSETTING( 0x0800, DEF_STR( High ) ) PORT_DIPSETTING( 0x0000, DEF_STR( Normal ) ) PORT_DIPSETTING( 0x0400, DEF_STR( Low ) ) - PORT_DIPNAME( 0x3000, 0x0000, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:5,6") + PORT_DIPNAME( 0x3000, 0x0000, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:!5,!6") PORT_DIPSETTING( 0x3000, "1" ) PORT_DIPSETTING( 0x2000, "2" ) PORT_DIPSETTING( 0x0000, "3" ) PORT_DIPSETTING( 0x1000, "4" ) - PORT_DIPNAME( 0xc000, 0x0000, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:7,8") + PORT_DIPNAME( 0xc000, 0x0000, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:!7,!8") PORT_DIPSETTING( 0xc000, DEF_STR( None ) ) PORT_DIPSETTING( 0x8000, "Every 2000k" ) PORT_DIPSETTING( 0x0000, "Every 1500k" ) PORT_DIPSETTING( 0x4000, "Every 1000k" ) PORT_START("SYS-DSW") // Coin/System and DSWC - PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_SERVICE1 ) // Service + PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_UNKNOWN) - PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_SERVICE2 ) // Test + PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_SERVICE2 ) PORT_NAME(DEF_STR(Test)) PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_START1 ) PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_START2 ) PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - PORT_DIPNAME( 0x0100, 0x0000, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW3:1") + PORT_DIPNAME( 0x0100, 0x0000, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW3:!1") PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0100, DEF_STR( On ) ) - PORT_DIPNAME( 0x0200, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW3:2") + PORT_DIPNAME( 0x0200, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW3:!2") PORT_DIPSETTING( 0x0200, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) - PORT_DIPNAME( 0x0400, 0x0000, "Stage Edit" ) PORT_DIPLOCATION("SW3:3") + PORT_DIPNAME( 0x0400, 0x0000, "Stage Edit" ) PORT_DIPLOCATION("SW3:!3") PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0400, DEF_STR( On ) ) - PORT_DIPNAME( 0x0800, 0x0000, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW3:4") + PORT_DIPNAME( 0x0800, 0x0000, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW3:!4") PORT_DIPSETTING( 0x0800, DEF_STR( No ) ) PORT_DIPSETTING( 0x0000, DEF_STR( Yes ) ) - PORT_DIPNAME( 0x1000, 0x0000, "Invulnerability" ) PORT_DIPLOCATION("SW3:5") + PORT_DIPNAME( 0x1000, 0x0000, "Invulnerability" ) PORT_DIPLOCATION("SW3:!5") PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x1000, DEF_STR( On ) ) // These dips are shown only when Coin_A is set to Free_Play, but they work in normal play mode too - PORT_DIPNAME( 0x2000, 0x0000, "Guest Players" ) PORT_DIPLOCATION("SW3:6") + PORT_DIPNAME( 0x2000, 0x0000, "Guest Players" ) PORT_DIPLOCATION("SW3:!6") PORT_DIPSETTING( 0x2000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) - PORT_DIPNAME( 0x4000, 0x0000, "Player Select" ) PORT_DIPLOCATION("SW3:7") + PORT_DIPNAME( 0x4000, 0x0000, "Player Select" ) PORT_DIPLOCATION("SW3:!7") PORT_DIPSETTING( 0x4000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) - PORT_DIPNAME( 0x8000, 0x0000, "Special Course" ) PORT_DIPLOCATION("SW3:8") + PORT_DIPNAME( 0x8000, 0x0000, "Special Course" ) PORT_DIPLOCATION("SW3:!8") PORT_DIPSETTING( 0x8000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) INPUT_PORTS_END @@ -2844,13 +2866,13 @@ static INPUT_PORTS_START( batriderj ) PORT_MODIFY("SYS-DSW") // Coin/System and DSWC // These dips are shown only when Coin_A is set to Free_Play, but they work in normal play mode too - PORT_DIPNAME( 0x2000, 0x0000, "Guest Players" ) PORT_DIPLOCATION("SW3:6") + PORT_DIPNAME( 0x2000, 0x0000, "Guest Players" ) PORT_DIPLOCATION("SW3:!6") PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x2000, DEF_STR( On ) ) - PORT_DIPNAME( 0x4000, 0x0000, "Player Select" ) PORT_DIPLOCATION("SW3:7") + PORT_DIPNAME( 0x4000, 0x0000, "Player Select" ) PORT_DIPLOCATION("SW3:!7") PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x4000, DEF_STR( On ) ) - PORT_DIPNAME( 0x8000, 0x0000, "Special Course" ) PORT_DIPLOCATION("SW3:8") + PORT_DIPNAME( 0x8000, 0x0000, "Special Course" ) PORT_DIPLOCATION("SW3:!8") PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x8000, DEF_STR( On ) ) INPUT_PORTS_END @@ -2875,14 +2897,14 @@ static INPUT_PORTS_START( bbakraid ) PORT_BIT( 0x8080, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_START("DSW") // DSWA and DSWB - PORT_SERVICE_DIPLOC(0x0001, IP_ACTIVE_HIGH, "SW1:1") - PORT_DIPNAME( 0x0002, 0x0000, "Credits to Start" ) PORT_CONDITION("DSW", 0x001c, PORTCOND_NOTEQUALS, 0x001c) PORT_DIPLOCATION("SW1:2") + PORT_SERVICE_DIPLOC(0x0001, IP_ACTIVE_HIGH, "SW1:!1") + PORT_DIPNAME( 0x0002, 0x0000, "Credits to Start" ) PORT_CONDITION("DSW", 0x001c, PORTCOND_NOTEQUALS, 0x001c) PORT_DIPLOCATION("SW1:!2") PORT_DIPSETTING( 0x0000, "1" ) PORT_CONDITION("DSW", 0x001c, PORTCOND_NOTEQUALS, 0x001c) PORT_DIPSETTING( 0x0002, "2" ) PORT_CONDITION("DSW", 0x001c, PORTCOND_NOTEQUALS, 0x001c) - PORT_DIPNAME( 0x0002, 0x0000, "Joystick Mode" ) PORT_CONDITION("DSW", 0x001c, PORTCOND_EQUALS, 0x001c) PORT_DIPLOCATION("SW1:2") + PORT_DIPNAME( 0x0002, 0x0000, "Joystick Mode" ) PORT_CONDITION("DSW", 0x001c, PORTCOND_EQUALS, 0x001c) PORT_DIPLOCATION("SW1:!2") PORT_DIPSETTING( 0x0000, DEF_STR( Normal ) ) PORT_CONDITION("DSW", 0x001c, PORTCOND_EQUALS, 0x001c) PORT_DIPSETTING( 0x0002, "90 degrees ACW" ) PORT_CONDITION("DSW", 0x001c, PORTCOND_EQUALS, 0x001c) - PORT_DIPNAME( 0x001c, 0x0000, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:3,4,5") + PORT_DIPNAME( 0x001c, 0x0000, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:!3,!4,!5") PORT_DIPSETTING( 0x0018, DEF_STR( 4C_1C ) ) PORT_DIPSETTING( 0x0014, DEF_STR( 3C_1C ) ) PORT_DIPSETTING( 0x0010, DEF_STR( 2C_1C ) ) @@ -2891,7 +2913,7 @@ static INPUT_PORTS_START( bbakraid ) PORT_DIPSETTING( 0x0008, DEF_STR( 1C_3C ) ) PORT_DIPSETTING( 0x000c, DEF_STR( 1C_4C ) ) PORT_DIPSETTING( 0x001c, DEF_STR( Free_Play ) ) - PORT_DIPNAME( 0x00e0, 0x0000, DEF_STR( Coin_B ) ) PORT_CONDITION("DSW", 0x001c, PORTCOND_NOTEQUALS, 0x001c) PORT_DIPLOCATION("SW1:6,7,8") + PORT_DIPNAME( 0x00e0, 0x0000, DEF_STR( Coin_B ) ) PORT_CONDITION("DSW", 0x001c, PORTCOND_NOTEQUALS, 0x001c) PORT_DIPLOCATION("SW1:!6,!7,!8") PORT_DIPSETTING( 0x00c0, DEF_STR( 4C_1C ) ) PORT_CONDITION("DSW", 0x001c, PORTCOND_NOTEQUALS, 0x001c) PORT_DIPSETTING( 0x00a0, DEF_STR( 3C_1C ) ) PORT_CONDITION("DSW", 0x001c, PORTCOND_NOTEQUALS, 0x001c) PORT_DIPSETTING( 0x0080, DEF_STR( 2C_1C ) ) PORT_CONDITION("DSW", 0x001c, PORTCOND_NOTEQUALS, 0x001c) @@ -2901,67 +2923,67 @@ static INPUT_PORTS_START( bbakraid ) PORT_DIPSETTING( 0x0040, DEF_STR( 1C_3C ) ) PORT_CONDITION("DSW", 0x001c, PORTCOND_NOTEQUALS, 0x001c) PORT_DIPSETTING( 0x0060, DEF_STR( 1C_4C ) ) PORT_CONDITION("DSW", 0x001c, PORTCOND_NOTEQUALS, 0x001c) // When Coin_A is set to Free_Play, Coin_A becomes Coin_A and Coin_B, and the following dips occur - PORT_DIPNAME( 0x0020, 0x0000, "Hit Score" ) PORT_CONDITION("DSW", 0x001c, PORTCOND_EQUALS, 0x001c) PORT_DIPLOCATION("SW1:6") + PORT_DIPNAME( 0x0020, 0x0000, "Hit Score" ) PORT_CONDITION("DSW", 0x001c, PORTCOND_EQUALS, 0x001c) PORT_DIPLOCATION("SW1:!6") PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_CONDITION("DSW", 0x001c, PORTCOND_EQUALS, 0x001c) PORT_DIPSETTING( 0x0020, DEF_STR( On ) ) PORT_CONDITION("DSW", 0x001c, PORTCOND_EQUALS, 0x001c) - PORT_DIPNAME( 0x0040, 0x0000, "Sound Effect" ) PORT_CONDITION("DSW", 0x001c, PORTCOND_EQUALS, 0x001c) PORT_DIPLOCATION("SW1:7") + PORT_DIPNAME( 0x0040, 0x0000, "Sound Effect" ) PORT_CONDITION("DSW", 0x001c, PORTCOND_EQUALS, 0x001c) PORT_DIPLOCATION("SW1:!7") PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_CONDITION("DSW", 0x001c, PORTCOND_EQUALS, 0x001c) PORT_DIPSETTING( 0x0040, DEF_STR( On ) ) PORT_CONDITION("DSW", 0x001c, PORTCOND_EQUALS, 0x001c) - PORT_DIPNAME( 0x0080, 0x0000, "Music" ) PORT_CONDITION("DSW", 0x001c, PORTCOND_EQUALS, 0x001c) PORT_DIPLOCATION("SW1:8") + PORT_DIPNAME( 0x0080, 0x0000, "Music" ) PORT_CONDITION("DSW", 0x001c, PORTCOND_EQUALS, 0x001c) PORT_DIPLOCATION("SW1:!8") PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_CONDITION("DSW", 0x001c, PORTCOND_EQUALS, 0x001c) PORT_DIPSETTING( 0x0080, DEF_STR( On ) ) PORT_CONDITION("DSW", 0x001c, PORTCOND_EQUALS, 0x001c) - PORT_DIPNAME( 0x0300, 0x0000, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:1,2") - PORT_DIPSETTING( 0x0300, DEF_STR( Hardest ) ) - PORT_DIPSETTING( 0x0200, DEF_STR( Hard ) ) - PORT_DIPSETTING( 0x0000, DEF_STR( Normal ) ) + PORT_DIPNAME( 0x0300, 0x0000, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:!1,!2") PORT_DIPSETTING( 0x0100, DEF_STR( Easy ) ) - PORT_DIPNAME( 0x0c00, 0x0000, "Timer" ) PORT_DIPLOCATION("SW2:3,4") + PORT_DIPSETTING( 0x0000, DEF_STR( Normal ) ) + PORT_DIPSETTING( 0x0200, DEF_STR( Hard ) ) + PORT_DIPSETTING( 0x0300, DEF_STR( Very_Hard ) ) + PORT_DIPNAME( 0x0c00, 0x0000, "Timer" ) PORT_DIPLOCATION("SW2:!3,!4") PORT_DIPSETTING( 0x0c00, DEF_STR( Highest ) ) PORT_DIPSETTING( 0x0800, DEF_STR( High ) ) PORT_DIPSETTING( 0x0000, DEF_STR( Normal ) ) PORT_DIPSETTING( 0x0400, DEF_STR( Low ) ) - PORT_DIPNAME( 0x3000, 0x0000, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:5,6") + PORT_DIPNAME( 0x3000, 0x0000, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:!5,!6") PORT_DIPSETTING( 0x3000, "1" ) PORT_DIPSETTING( 0x2000, "2" ) PORT_DIPSETTING( 0x0000, "3" ) PORT_DIPSETTING( 0x1000, "4" ) - PORT_DIPNAME( 0xc000, 0x0000, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:7,8") + PORT_DIPNAME( 0xc000, 0x0000, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:!7,!8") PORT_DIPSETTING( 0xc000, DEF_STR( None ) ) PORT_DIPSETTING( 0x8000, "Every 4000k" ) PORT_DIPSETTING( 0x4000, "Every 3000k" ) PORT_DIPSETTING( 0x0000, "Every 2000k" ) PORT_START("SYS-DSW") // Coin/System and DSW-3 - PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_SERVICE1 ) // Service + PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_UNKNOWN) - PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_SERVICE2 ) // Test + PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_SERVICE2 ) PORT_NAME(DEF_STR(Test)) PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_START1 ) PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_START2 ) PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_UNKNOWN) - PORT_DIPNAME( 0x0100, 0x0000, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW3:1") + PORT_DIPNAME( 0x0100, 0x0000, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW3:!1") PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0100, DEF_STR( On ) ) - PORT_DIPNAME( 0x0200, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW3:2") + PORT_DIPNAME( 0x0200, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW3:!2") PORT_DIPSETTING( 0x0200, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) - PORT_DIPNAME( 0x0400, 0x0000, "Stage Edit" ) PORT_DIPLOCATION("SW3:3") + PORT_DIPNAME( 0x0400, 0x0000, "Stage Edit" ) PORT_DIPLOCATION("SW3:!3") PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0400, DEF_STR( On ) ) - PORT_DIPNAME( 0x0800, 0x0000, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW3:4") + PORT_DIPNAME( 0x0800, 0x0000, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW3:!4") PORT_DIPSETTING( 0x0800, DEF_STR( No ) ) PORT_DIPSETTING( 0x0000, DEF_STR( Yes ) ) - PORT_DIPNAME( 0x1000, 0x0000, "Invulnerability" ) PORT_DIPLOCATION("SW3:5") + PORT_DIPNAME( 0x1000, 0x0000, "Invulnerability" ) PORT_DIPLOCATION("SW3:!5") PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x1000, DEF_STR( On ) ) - PORT_DIPNAME( 0x2000, 0x0000, "Save Scores" ) PORT_DIPLOCATION("SW3:6") + PORT_DIPNAME( 0x2000, 0x0000, "Save Scores" ) PORT_DIPLOCATION("SW3:!6") PORT_DIPSETTING( 0x2000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) - PORT_DIPNAME( 0x4000, 0x0000, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW3:7") + PORT_DIPNAME( 0x4000, 0x0000, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW3:!7") PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x4000, DEF_STR( On ) ) - PORT_DIPNAME( 0x8000, 0x0000, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW3:8") + PORT_DIPNAME( 0x8000, 0x0000, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW3:!8") PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x8000, DEF_STR( On ) ) @@ -5212,7 +5234,7 @@ GAME( 1993, vfive, grindstm, vfive, vfive, vfive, ROT270, "Toapla GAME( 1993, batsugun, 0, batsugun, batsugun, dogyuun, ROT270, "Toaplan", "Batsugun", GAME_SUPPORTS_SAVE ) GAME( 1993, batsuguna, batsugun, batsugun, batsugun, dogyuun, ROT270, "Toaplan", "Batsugun (older set)", GAME_SUPPORTS_SAVE ) -GAME( 1993, batsugunsp, batsugun, batsugun, batsugunsp, dogyuun, ROT270, "Toaplan", "Batsugun - Special Version", GAME_SUPPORTS_SAVE ) +GAME( 1993, batsugunsp, batsugun, batsugun, batsugun, dogyuun, ROT270, "Toaplan", "Batsugun - Special Version", GAME_SUPPORTS_SAVE ) GAME( 1994, snowbro2, 0, snowbro2, snowbro2, 0, ROT0, "Hanafram", "Snow Bros. 2 - With New Elves / Otenki Paradise", GAME_SUPPORTS_SAVE ) diff --git a/src/mame/drivers/twincobr.c b/src/mame/drivers/twincobr.c index 2b544b3bc32..f35e9129153 100644 --- a/src/mame/drivers/twincobr.c +++ b/src/mame/drivers/twincobr.c @@ -27,7 +27,7 @@ Supported games: GulfWar II (Game play very similar to Twin cobra) -Difference between Twin Cobra and Kyukyoko Tiger: +Difference between Twin Cobra and Kyukyoku Tiger: T.C. supports two simultaneous players. K.T. supports two players, but only one at a time. for this reason, it also supports Table Top cabinets. @@ -44,7 +44,7 @@ Difference between Twin Cobra and Kyukyoko Tiger: After dying, and your new hero appears, if you do not travel more than your helicopter length forward, you are penalised and moved back further when your next hero appears. - K.T. Due to this difference in continue sequence, Kyukyoko Tiger is MUCH + K.T. Due to this difference in continue sequence, Kyukyoku Tiger is MUCH harder, challenging, and nearly impossible to complete ! diff --git a/src/mame/drivers/wardner.c b/src/mame/drivers/wardner.c index e5140ad1334..999e6df5c46 100644 --- a/src/mame/drivers/wardner.c +++ b/src/mame/drivers/wardner.c @@ -9,17 +9,17 @@ Supported games: Toaplan Board Number: TP-009 Taito Game Number: B25 - Wardners Forest (World) + Wardner (World) Pyros (USA) - Wardna no Mori (Japan) + Wardner no Mori (Japan) Notes: - Basically the same video and machine hardware as Flying shark, + Basically the same video and machine hardware as Flying Shark, except for the Main CPU which is a Z80 here. See twincobr.c machine and video drivers to complete the hardware setup. To enter the "test mode", press START1 when the grid is displayed. - Press F1 (initially P1 button 3) on startup to skip some video RAM tests + Press F1 (actually P1 button 3) on startup to skip some video RAM tests (code at 0x6d25 in 'wardner', 0x6d2f in 'wardnerj' or 0x6d2c in 'pyros'). **************************** Memory & I/O Maps ***************************** @@ -28,8 +28,8 @@ Z80:(0) Main CPU 7000-7fff Main RAM 8000-ffff Level and scenery ROMS. This is banked with the following 8000-8fff Sprite RAM -a000-adff Pallette RAM -ae00-afff Spare unused, but tested Pallette RAM +a000-adff Palette RAM +ae00-afff Spare unused, but tested Palette RAM c000-c7ff Sound RAM - shared with C000-C7FF in Z80(1) RAM in: @@ -303,7 +303,7 @@ static INPUT_PORTS_START( wardner_generic ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_TILT ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) /* "TEST" in "test mode" - no effect outside */ + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE2 ) PORT_NAME(DEF_STR(Test)) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START1 ) @@ -317,6 +317,7 @@ static INPUT_PORTS_START( wardner ) PORT_MODIFY("P1") PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Skip Video RAM Tests") PORT_CODE(KEYCODE_F1) + /* technically player 1 button 3 - not used in gameplay */ /* code at 0x6d25 ('wardner'), 0x6d2f ('wardnerj') or 0x6d2c ('pyros') */ INPUT_PORTS_END diff --git a/src/mame/includes/toaplipt.h b/src/mame/includes/toaplipt.h index 6b39bc3ac5c..cba000d2ffa 100644 --- a/src/mame/includes/toaplipt.h +++ b/src/mame/includes/toaplipt.h @@ -10,25 +10,25 @@ /* with location */ #define TOAPLAN_DSWA_BITS_2_TO_3_LOC(DIPBANK) \ - PORT_SERVICE_DIPLOC( 0x04, IP_ACTIVE_HIGH, #DIPBANK":3" ) \ - PORT_DIPNAME( 0x08, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION(#DIPBANK":4") \ + PORT_SERVICE_DIPLOC( 0x04, IP_ACTIVE_HIGH, #DIPBANK":!3" ) \ + PORT_DIPNAME( 0x08, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION(#DIPBANK":!4") \ PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) \ PORT_DIPSETTING( 0x00, DEF_STR( On ) ) #define TOAPLAN_DSWA_BITS_1_TO_3_LOC(DIPBANK) \ - PORT_DIPNAME( 0x02, 0x00, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION(#DIPBANK":2") \ + PORT_DIPNAME( 0x02, 0x00, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION(#DIPBANK":!2") \ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) \ PORT_DIPSETTING( 0x02, DEF_STR( On ) ) \ TOAPLAN_DSWA_BITS_2_TO_3_LOC(DIPBANK) #define TOAPLAN_MACHINE_COCKTAIL_LOC(DIPBANK) \ - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Cabinet ) ) PORT_DIPLOCATION(#DIPBANK":1") \ + PORT_DIPNAME( 0x01, 0x01, DEF_STR( Cabinet ) ) PORT_DIPLOCATION(#DIPBANK":!1") \ PORT_DIPSETTING( 0x01, DEF_STR( Upright ) ) \ PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) ) \ TOAPLAN_DSWA_BITS_1_TO_3_LOC(DIPBANK) #define TOAPLAN_MACHINE_NO_COCKTAIL_LOC(DIPBANK) \ - PORT_DIPUNUSED_DIPLOC( 0x01, IP_ACTIVE_HIGH, #DIPBANK":1" ) \ + PORT_DIPUNUSED_DIPLOC( 0x01, IP_ACTIVE_HIGH, #DIPBANK":!1" ) \ TOAPLAN_DSWA_BITS_1_TO_3_LOC(DIPBANK) @@ -60,79 +60,43 @@ /* with location */ #define TOAPLAN_COINAGE_JAPAN_OLD_COIN_A_LOC(DIPBANK) \ - PORT_DIPNAME( 0x30, 0x00, DEF_STR( Coin_A ) ) PORT_DIPLOCATION(#DIPBANK":5,6") \ + PORT_DIPNAME( 0x30, 0x00, DEF_STR( Coin_A ) ) PORT_DIPLOCATION(#DIPBANK":!5,!6") \ PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) ) \ PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) \ PORT_DIPSETTING( 0x30, DEF_STR( 2C_3C ) ) \ PORT_DIPSETTING( 0x10, DEF_STR( 1C_2C ) ) #define TOAPLAN_COINAGE_JAPAN_OLD_COIN_B_LOC(DIPBANK) \ - PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coin_B ) ) PORT_DIPLOCATION(#DIPBANK":7,8") \ + PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coin_B ) ) PORT_DIPLOCATION(#DIPBANK":!7,!8") \ PORT_DIPSETTING( 0x80, DEF_STR( 2C_1C ) ) \ PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) \ PORT_DIPSETTING( 0xc0, DEF_STR( 2C_3C ) ) \ PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) ) -#define TOAPLAN_COINAGE_JAPAN_NEW_COIN_A_LOC(DIPBANK) \ - PORT_DIPNAME( 0x30, 0x00, DEF_STR( Coin_A ) ) PORT_DIPLOCATION(#DIPBANK":5,6") \ - PORT_DIPSETTING( 0x30, DEF_STR( 3C_1C ) ) \ - PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) ) \ - PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) \ - PORT_DIPSETTING( 0x10, DEF_STR( 1C_2C ) ) - -#define TOAPLAN_COINAGE_JAPAN_NEW_COIN_B_LOC(DIPBANK) \ - PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coin_B ) ) PORT_DIPLOCATION(#DIPBANK":7,8") \ - PORT_DIPSETTING( 0xc0, DEF_STR( 3C_1C ) ) \ - PORT_DIPSETTING( 0x80, DEF_STR( 2C_1C ) ) \ - PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) \ - PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) ) - #define TOAPLAN_COINAGE_WORLD_COIN_A_LOC(DIPBANK) \ - PORT_DIPNAME( 0x30, 0x00, DEF_STR( Coin_A ) ) PORT_DIPLOCATION(#DIPBANK":5,6") \ + PORT_DIPNAME( 0x30, 0x00, DEF_STR( Coin_A ) ) PORT_DIPLOCATION(#DIPBANK":!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 ) ) #define TOAPLAN_COINAGE_WORLD_COIN_B_LOC(DIPBANK) \ - PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coin_B ) ) PORT_DIPLOCATION(#DIPBANK":7,8") \ + PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coin_B ) ) PORT_DIPLOCATION(#DIPBANK":!7,!8") \ PORT_DIPSETTING( 0x00, DEF_STR( 1C_2C ) ) \ PORT_DIPSETTING( 0x40, DEF_STR( 1C_3C ) ) \ PORT_DIPSETTING( 0x80, DEF_STR( 1C_4C ) ) \ PORT_DIPSETTING( 0xc0, DEF_STR( 1C_6C ) ) -#define TOAPLAN_COINAGE_US_COIN_START_LOC(DIPBANK) \ - PORT_DIPNAME( 0x30, 0x00, DEF_STR( Coinage ) ) PORT_DIPLOCATION(#DIPBANK":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 ) ) - -#define TOAPLAN_COINAGE_US_COIN_CONT_LOC(DIPBANK) \ - PORT_DIPNAME( 0xc0, 0x00, "Price to Continue" ) PORT_DIPLOCATION(#DIPBANK":7,8") \ - PORT_DIPSETTING( 0xc0, DEF_STR( 3C_1C ) ) \ - PORT_DIPSETTING( 0x80, DEF_STR( 2C_1C ) ) \ - PORT_DIPSETTING( 0x40, DEF_STR( 1C_1C ) ) \ - PORT_DIPSETTING( 0x00, "Same as Start" ) - #define TOAPLAN_COINAGE_JAPAN_OLD_LOC(DIPBANK) \ TOAPLAN_COINAGE_JAPAN_OLD_COIN_A_LOC(DIPBANK) \ TOAPLAN_COINAGE_JAPAN_OLD_COIN_B_LOC(DIPBANK) -#define TOAPLAN_COINAGE_JAPAN_NEW_LOC(DIPBANK) \ - TOAPLAN_COINAGE_JAPAN_NEW_COIN_A_LOC(DIPBANK) \ - TOAPLAN_COINAGE_JAPAN_NEW_COIN_B_LOC(DIPBANK) - #define TOAPLAN_COINAGE_WORLD_LOC(DIPBANK) \ TOAPLAN_COINAGE_WORLD_COIN_A_LOC(DIPBANK) \ TOAPLAN_COINAGE_WORLD_COIN_B_LOC(DIPBANK) -#define TOAPLAN_COINAGE_US_LOC(DIPBANK) \ - TOAPLAN_COINAGE_US_COIN_START_LOC(DIPBANK) \ - TOAPLAN_COINAGE_US_COIN_CONT_LOC(DIPBANK) - #define TOAPLAN_COINAGE_DUAL_LOC(DIP, MASK, WORLD, DIPBANK) \ - PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) ) PORT_DIPLOCATION(#DIPBANK":5,6") \ + PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) ) PORT_DIPLOCATION(#DIPBANK":!5,!6") \ PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) ) PORT_CONDITION(#DIP,MASK,PORTCOND_EQUALS,WORLD) \ PORT_DIPSETTING( 0x10, DEF_STR( 3C_1C ) ) PORT_CONDITION(#DIP,MASK,PORTCOND_EQUALS,WORLD) \ PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) ) PORT_CONDITION(#DIP,MASK,PORTCOND_NOTEQUALS,WORLD) \ @@ -141,7 +105,7 @@ PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) ) PORT_CONDITION(#DIP,MASK,PORTCOND_EQUALS,WORLD) \ PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) ) PORT_CONDITION(#DIP,MASK,PORTCOND_NOTEQUALS,WORLD) \ PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) ) PORT_CONDITION(#DIP,MASK,PORTCOND_NOTEQUALS,WORLD) \ - PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) ) PORT_DIPLOCATION(#DIPBANK":7,8") \ + PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) ) PORT_DIPLOCATION(#DIPBANK":!7,!8") \ PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) ) PORT_CONDITION(#DIP,MASK,PORTCOND_NOTEQUALS,WORLD) \ PORT_DIPSETTING( 0xc0, DEF_STR( 1C_1C ) ) PORT_CONDITION(#DIP,MASK,PORTCOND_NOTEQUALS,WORLD) \ PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) ) PORT_CONDITION(#DIP,MASK,PORTCOND_NOTEQUALS,WORLD) \ @@ -166,20 +130,6 @@ PORT_DIPSETTING( 0xc0, DEF_STR( 2C_3C ) ) \ PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) ) -#define TOAPLAN_COINAGE_JAPAN_NEW_COIN_A \ - PORT_DIPNAME( 0x30, 0x00, DEF_STR( Coin_A ) ) \ - PORT_DIPSETTING( 0x30, DEF_STR( 3C_1C ) ) \ - PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) ) \ - PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) \ - PORT_DIPSETTING( 0x10, DEF_STR( 1C_2C ) ) - -#define TOAPLAN_COINAGE_JAPAN_NEW_COIN_B \ - PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coin_B ) ) \ - PORT_DIPSETTING( 0xc0, DEF_STR( 3C_1C ) ) \ - PORT_DIPSETTING( 0x80, DEF_STR( 2C_1C ) ) \ - PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) \ - PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) ) - #define TOAPLAN_COINAGE_WORLD_COIN_A \ PORT_DIPNAME( 0x30, 0x00, DEF_STR( Coin_A ) ) \ PORT_DIPSETTING( 0x30, DEF_STR( 4C_1C ) ) \ @@ -194,36 +144,14 @@ PORT_DIPSETTING( 0x80, DEF_STR( 1C_4C ) ) \ PORT_DIPSETTING( 0xc0, DEF_STR( 1C_6C ) ) -#define TOAPLAN_COINAGE_US_COIN_START \ - PORT_DIPNAME( 0x30, 0x00, DEF_STR( Coinage ) ) \ - 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 ) ) - -#define TOAPLAN_COINAGE_US_COIN_CONT \ - PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Continue_Price ) ) \ - PORT_DIPSETTING( 0xc0, DEF_STR( 3C_1C ) ) \ - PORT_DIPSETTING( 0x80, DEF_STR( 2C_1C ) ) \ - PORT_DIPSETTING( 0x40, DEF_STR( 1C_1C ) ) \ - PORT_DIPSETTING( 0x00, "Same as Start" ) - #define TOAPLAN_COINAGE_JAPAN_OLD \ TOAPLAN_COINAGE_JAPAN_OLD_COIN_A \ TOAPLAN_COINAGE_JAPAN_OLD_COIN_B -#define TOAPLAN_COINAGE_JAPAN_NEW \ - TOAPLAN_COINAGE_JAPAN_NEW_COIN_A \ - TOAPLAN_COINAGE_JAPAN_NEW_COIN_B - #define TOAPLAN_COINAGE_WORLD \ TOAPLAN_COINAGE_WORLD_COIN_A \ TOAPLAN_COINAGE_WORLD_COIN_B -#define TOAPLAN_COINAGE_US \ - TOAPLAN_COINAGE_US_COIN_START \ - TOAPLAN_COINAGE_US_COIN_CONT - #define TOAPLAN_COINAGE_DUAL(DIP, MASK, WORLD) \ PORT_DIPNAME( 0x30, 0x00, DEF_STR( Coin_A ) ) \ PORT_DIPSETTING( 0x30, DEF_STR( 4C_1C ) ) PORT_CONDITION(#DIP,MASK,PORTCOND_EQUALS,WORLD) \ @@ -249,7 +177,7 @@ /* with location */ #define TOAPLAN_DIFFICULTY_LOC(DIPBANK) \ - PORT_DIPNAME( 0x03, 0x00, DEF_STR( Difficulty ) ) PORT_DIPLOCATION(#DIPBANK":1,2") \ + PORT_DIPNAME( 0x03, 0x00, DEF_STR( Difficulty ) ) PORT_DIPLOCATION(#DIPBANK":!1,!2") \ PORT_DIPSETTING( 0x01, DEF_STR( Easy ) ) \ PORT_DIPSETTING( 0x00, DEF_STR( Medium ) ) \ PORT_DIPSETTING( 0x02, DEF_STR( Hard ) ) \ @@ -345,6 +273,6 @@ PORT_DIPSETTING( MASK & ~STATE, DEF_STR( On ) ) #else #define TOAPLAN_TEST_SWITCH(MASK, STATE) \ - PORT_BIT( MASK, MASK & STATE, IPT_SPECIAL ) PORT_NAME("Test Switch") PORT_CODE(KEYCODE_F1) + PORT_BIT( MASK, MASK & STATE, IPT_OTHER ) PORT_NAME("Test Switch") PORT_CODE(KEYCODE_F1) #endif