Start of input ports cleanup in the Toaplan drivers: [Alex Jackson, kanikani]

* Removed some unused macros from toaplipt.h
 * Fixed polarity of DIPLOCATIONs in toaplan2.c
 * Added some missing inputs
This commit is contained in:
Alex W. Jackson 2011-10-29 06:29:46 +00:00
parent e5ba70678e
commit 8947db7cdd
4 changed files with 204 additions and 253 deletions

View File

@ -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.
Test & 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 & 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 )

View File

@ -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 !

View File

@ -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

View File

@ -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