Initially, this was to address adding the DIPs for the game, Birdie Try.

After adding these, I downloaded all manuals for the driver (couldn't find a
Boulder Dash manual) and I validated the DIPs with the manual and ensured that
the service mode (when available) matched up as well.  I also added DIP
LOCATIONS for all sets in the driver.  There were also a couple DIP items set
up in the source which did not show in the manuals I obtained - so I noted
these facts in the driver.

This .DIFF is based on 0.127u3 sources and resolves MAMETesters Bug #01897.

Tafoid
tafoid@yahoo.com
This commit is contained in:
Aaron Giles 2008-09-18 16:03:03 +00:00
parent d4cfc65c9b
commit 495d0c53ba

View File

@ -33,6 +33,10 @@ Boulderdash use the same graphics chips but are different pcbs.
Gouky's patch for Bad Dudes & YM3812 information!
Thanks to JC Alexander for fix to Robocop ending!
All games' Dip Switches (except Boulder Dash) have been verified against
Original Service Manuals and Service Mode (when available).
ToDo:
Hook up the 68705 in Midnight Resistance (bootleg)
@ -426,12 +430,12 @@ static INPUT_PORTS_START( dec1 )
INPUT_PORTS_END
#define DEC0_COIN_SETTING \
PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Coin_A ) ) \
PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2")\
PORT_DIPSETTING( 0x0000, DEF_STR( 3C_1C ) ) \
PORT_DIPSETTING( 0x0001, DEF_STR( 2C_1C ) ) \
PORT_DIPSETTING( 0x0003, DEF_STR( 1C_1C ) ) \
PORT_DIPSETTING( 0x0002, DEF_STR( 1C_2C ) ) \
PORT_DIPNAME( 0x000c, 0x000c, DEF_STR( Coin_B ) ) \
PORT_DIPNAME( 0x000c, 0x000c, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:3,4")\
PORT_DIPSETTING( 0x0000, DEF_STR( 3C_1C ) ) \
PORT_DIPSETTING( 0x0004, DEF_STR( 2C_1C ) ) \
PORT_DIPSETTING( 0x000c, DEF_STR( 1C_1C ) ) \
@ -441,48 +445,44 @@ static INPUT_PORTS_START( hbarrel )
PORT_INCLUDE( dec0 )
PORT_START("DSW")
PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Coin_A ) )
PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2")
PORT_DIPSETTING( 0x0000, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x0003, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x0002, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x0001, DEF_STR( 1C_3C ) )
PORT_DIPNAME( 0x000c, 0x000c, DEF_STR( Coin_B ) )
PORT_DIPNAME( 0x000c, 0x000c, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:3,4")
PORT_DIPSETTING( 0x0000, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x000c, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x0008, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x0004, DEF_STR( 1C_3C ) )
PORT_SERVICE( 0x0010, IP_ACTIVE_LOW )
PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Demo_Sounds ) )
PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:6")
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0020, DEF_STR( On ) )
PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Flip_Screen ) )
PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:7")
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unused ) ) // Always OFF
PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPUNUSED_DIPLOC( 0x0080, 0x0080, "SW1:8" ) // Always OFF
PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x0100, "1" )
PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x0300, "3" )
PORT_DIPSETTING( 0x0200, "5" )
PORT_DIPSETTING( 0x0100, "1" )
PORT_DIPSETTING( 0x0000, "Infinite (Cheat)")
PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Difficulty ) )
PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPSETTING( 0x0800, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x0c00, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x0400, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
PORT_DIPNAME( 0x3000, 0x3000, DEF_STR( Bonus_Life ) )
PORT_DIPNAME( 0x3000, 0x3000, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:5,6")
PORT_DIPSETTING( 0x3000, "30k 80k 160k" )
PORT_DIPSETTING( 0x1000, "50k 120k 190k" )
PORT_DIPSETTING( 0x2000, "100k 200k 300k" )
PORT_DIPSETTING( 0x2000, "50k 120k 190k" )
PORT_DIPSETTING( 0x1000, "100k 200k 300k" )
PORT_DIPSETTING( 0x0000, "150k 300k 450k" )
PORT_DIPNAME( 0x4000, 0x0000, DEF_STR( Allow_Continue ) )
PORT_DIPNAME( 0x4000, 0x0000, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:7")
PORT_DIPSETTING( 0x4000, DEF_STR( No ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Yes ) )
PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unused ) ) // Always OFF
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPUNUSED_DIPLOC( 0x8000, 0x8000, "SW1:8" ) // Always OFF
PORT_START("AN0") /* player 1 12-way rotary control - converted in controls_r() */
PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(10) PORT_CODE_DEC(KEYCODE_Z) PORT_CODE_INC(KEYCODE_X) PORT_REVERSE
@ -496,41 +496,36 @@ static INPUT_PORTS_START( birdtry )
PORT_START("DSW")
DEC0_COIN_SETTING
PORT_SERVICE( 0x0010, IP_ACTIVE_LOW )
PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Demo_Sounds ) )
PORT_SERVICE( 0x0010, IP_ACTIVE_LOW ) PORT_DIPLOCATION("SW1:5")
PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:6")
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0020, DEF_STR( On ) )
PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Flip_Screen ) )
PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:7")
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPUNUSED_DIPLOC( 0x0080, 0x0080, "SW1:8" ) // Always OFF
PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
PORT_DIPNAME( 0x0300, 0x0300, "Difficulty (Extend)" ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x0300, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x0200, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x0100, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
PORT_DIPNAME( 0x0c00, 0x0c00, "Difficulty (Course)" ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPSETTING( 0x0c00, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x0800, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x0400, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:5")
PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x2000, 0x2000, "Timer" ) PORT_DIPLOCATION("SW2:6")
PORT_DIPSETTING( 0x2000, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x0000, "Fast" )
PORT_DIPNAME( 0xc000, 0x0000, "Control Panel Type" ) PORT_DIPLOCATION("SW2:7,8")
PORT_DIPSETTING( 0xc000, "Type A - Cocktail" )
PORT_DIPSETTING( 0x8000, "Type B - Cocktail 2" )
PORT_DIPSETTING( 0x4000, DEF_STR( Unused ) )
PORT_DIPSETTING( 0x0000, "Type C - Upright" )
PORT_START("AN0") /* player 1 12-way rotary control - converted in controls_r() */
PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(10) PORT_CODE_DEC(KEYCODE_Z) PORT_CODE_INC(KEYCODE_X) PORT_REVERSE
@ -544,39 +539,31 @@ static INPUT_PORTS_START( baddudes )
PORT_START("DSW")
DEC0_COIN_SETTING
PORT_SERVICE( 0x0010, IP_ACTIVE_LOW )
PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Demo_Sounds ) )
PORT_SERVICE( 0x0010, IP_ACTIVE_LOW ) PORT_DIPLOCATION("SW1:5")
PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:6")
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0020, DEF_STR( On ) )
PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Flip_Screen ) )
PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:7")
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) ) // According to some technical sources should be "Cabinet"
PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPUNUSED_DIPLOC( 0x0080, 0x0080, "SW1:8" ) // Always OFF
PORT_DIPNAME( 0x0300, 0x0200, DEF_STR( Lives ) )
PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x0200, "5" )
PORT_DIPSETTING( 0x0300, "3" )
PORT_DIPSETTING( 0x0100, "1" )
PORT_DIPSETTING( 0x0300, "2" )
PORT_DIPSETTING( 0x0200, "3" )
PORT_DIPSETTING( 0x0000, "Infinite (Cheat)")
PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Difficulty ) )
PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPSETTING( 0x0800, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x0c00, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x0400, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Allow_Continue ) )
PORT_DIPSETTING( 0x0000, DEF_STR( No ) )
PORT_DIPSETTING( 0x1000, DEF_STR( Yes ) )
PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unused ) ) // Always OFF
PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unused ) ) // Always OFF
PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unused ) ) // Always OFF
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:5")
PORT_DIPSETTING( 0x1000, DEF_STR( No ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Yes ) )
PORT_DIPUNUSED_DIPLOC( 0x2000, 0x2000, "SW2:6" ) // Always OFF
PORT_DIPUNUSED_DIPLOC( 0x4000, 0x4000, "SW2:7" ) // Always OFF
PORT_DIPUNUSED_DIPLOC( 0x8000, 0x8000, "SW2:8" ) // Always OFF
PORT_START("AN0") /* player 1 12-way rotary control - converted in controls_r() */
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* unused */
@ -590,41 +577,37 @@ static INPUT_PORTS_START( robocop )
PORT_START("DSW")
DEC0_COIN_SETTING
PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unused ) ) // Always OFF
PORT_DIPSETTING( 0x0010, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Demo_Sounds ) )
PORT_DIPUNUSED_DIPLOC( 0x0010, 0x0010, "SW1:5" ) // Always OFF
PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:6")
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0020, DEF_STR( On ) )
PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Flip_Screen ) )
PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:7")
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0080, 0x0000, DEF_STR( Cabinet ) )
PORT_DIPNAME( 0x0080, 0x0000, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:8")
PORT_DIPSETTING( 0x0000, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x0080, DEF_STR( Cocktail ) )
PORT_DIPNAME( 0x0300, 0x0300, "Player Energy" )
PORT_DIPNAME( 0x0300, 0x0300, "Player Energy" ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x0100, DEF_STR( Low ) )
PORT_DIPSETTING( 0x0300, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x0200, DEF_STR( High ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Very_High ) )
PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Difficulty ) )
PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPSETTING( 0x0800, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x0c00, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x0400, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Allow_Continue ) )
PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:5")
PORT_DIPSETTING( 0x0000, DEF_STR( No ) )
PORT_DIPSETTING( 0x1000, DEF_STR( Yes ) )
PORT_DIPNAME( 0x2000, 0x2000, "Bonus Stage Energy" )
PORT_DIPNAME( 0x2000, 0x2000, "Bonus Stage Energy" ) PORT_DIPLOCATION("SW2:6")
PORT_DIPSETTING( 0x0000, DEF_STR( Low ) )
PORT_DIPSETTING( 0x2000, DEF_STR( High ) )
PORT_DIPNAME( 0x4000, 0x4000, "Brink Time" )
PORT_DIPSETTING( 0x4000, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x4000, DEF_STR( Normal ) ) PORT_DIPLOCATION("SW2:7") /* not mentioned in manual */
PORT_DIPSETTING( 0x0000, "Less" )
PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unused ) ) // Always OFF
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPUNUSED_DIPLOC( 0x8000, 0x8000, "SW2:8" ) // Always OFF
INPUT_PORTS_END
static INPUT_PORTS_START( hippodrm )
@ -632,40 +615,34 @@ static INPUT_PORTS_START( hippodrm )
PORT_START("DSW")
DEC0_COIN_SETTING
PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unused ) ) // Always OFF
PORT_DIPSETTING( 0x0010, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Demo_Sounds ) )
PORT_DIPUNUSED_DIPLOC( 0x0010, 0x0010, "SW1:5" ) // Always OFF
PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:6")
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0020, DEF_STR( On ) )
PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Flip_Screen ) )
PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:7")
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unused ) ) // Always OFF
PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPUNUSED_DIPLOC( 0x0080, 0x0080, "SW1:8" ) // Always OFF
PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Lives ) )
PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x0100, "1" )
PORT_DIPSETTING( 0x0300, "2" )
PORT_DIPSETTING( 0x0200, "3" )
PORT_DIPSETTING( 0x0000, "5" )
PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Difficulty ) )
PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPSETTING( 0x0800, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x0c00, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x0400, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
PORT_DIPNAME( 0x3000, 0x3000, "Player & Enemy Energy" )
PORT_DIPSETTING( 0x1000, DEF_STR( Low ) )
PORT_DIPSETTING( 0x2000, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x3000, DEF_STR( High ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Very_High ) )
PORT_DIPNAME( 0x4000, 0x4000, "Enemy Power on Continue" )
PORT_DIPSETTING( 0x4000, "3 Dots" ) // 3 Dots less
PORT_DIPSETTING( 0x0000, "2 Dots" ) // 2 Dots less
PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unused ) ) // Always OFF
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x3000, 0x3000, "Player & Enemy Energy" ) PORT_DIPLOCATION("SW2:5,6")
PORT_DIPSETTING( 0x3000, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x2000, DEF_STR( Low ) )
PORT_DIPSETTING( 0x1000, DEF_STR( Very_Low ) )
PORT_DIPSETTING( 0x0000, DEF_STR( High ) )
PORT_DIPNAME( 0x4000, 0x4000, "Enemy Power Decrease on Continue" ) PORT_DIPLOCATION("SW2:7")
PORT_DIPSETTING( 0x4000, "2 Dots" ) // 2 Dots less
PORT_DIPSETTING( 0x0000, "3 Dots" ) // 3 Dots less
PORT_DIPUNUSED_DIPLOC( 0x8000, 0x8000, "SW2:8" ) // Always OFF
PORT_START("VBLANK")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_VBLANK )
@ -677,39 +654,33 @@ static INPUT_PORTS_START( slyspy )
PORT_START("DSW")
DEC0_COIN_SETTING
PORT_SERVICE( 0x0010, IP_ACTIVE_LOW )
PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Demo_Sounds ) )
PORT_SERVICE( 0x0010, IP_ACTIVE_LOW ) PORT_DIPLOCATION("SW1:5")
PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:6")
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0020, DEF_STR( On ) )
PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Flip_Screen ) )
PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:7")
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0080, 0x0000, DEF_STR( Cabinet ) )
PORT_DIPNAME( 0x0080, 0x0000, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:8")
PORT_DIPSETTING( 0x0000, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x0080, DEF_STR( Cocktail ) )
PORT_DIPNAME( 0x0300, 0x0300, "Energy" )
PORT_DIPSETTING( 0x0200, DEF_STR( Low ) )
PORT_DIPSETTING( 0x0300, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x0100, DEF_STR( High ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Very_High ) )
PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Difficulty ) )
PORT_DIPNAME( 0x0300, 0x0300, "Energy" ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x0200, "Low - 8 bars" )
PORT_DIPSETTING( 0x0300, "Medium - 10 bars" )
PORT_DIPSETTING( 0x0100, "High - 12 bars" )
PORT_DIPSETTING( 0x0000, "Very High - 14 bars" )
PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:3,4") /* not mentioned in manual */
PORT_DIPSETTING( 0x0800, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x0c00, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x0400, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Allow_Continue ) )
PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:5")
PORT_DIPSETTING( 0x0000, DEF_STR( No ) )
PORT_DIPSETTING( 0x1000, DEF_STR( Yes ) )
PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unused ) ) // Always OFF
PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unused ) ) // Always OFF
PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unused ) ) // Always OFF
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPUNUSED_DIPLOC( 0x2000, 0x2000, "SW2:6" ) // Always OFF
PORT_DIPUNUSED_DIPLOC( 0x4000, 0x4000, "SW2:7" ) // Always OFF
PORT_DIPUNUSED_DIPLOC( 0x8000, 0x8000, "SW2:8" ) // Always OFF
INPUT_PORTS_END
static INPUT_PORTS_START( midres )
@ -717,41 +688,35 @@ static INPUT_PORTS_START( midres )
PORT_START("DSW")
DEC0_COIN_SETTING
PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unused ) ) // Always OFF
PORT_DIPSETTING( 0x0010, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Demo_Sounds ) )
PORT_DIPUNUSED_DIPLOC( 0x0010, 0x0010, "SW1:5" ) // Always OFF
PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:6")
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0020, DEF_STR( On ) )
PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Flip_Screen ) )
PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:7")
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unused ) ) // Always OFF
PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPUNUSED_DIPLOC( 0x0080, 0x0080, "SW1:8" ) // Always OFF
PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x0100, "1" )
PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x0300, "3" )
PORT_DIPSETTING( 0x0200, "5" )
PORT_DIPSETTING( 0x0200, "4" )
PORT_DIPSETTING( 0x0100, "5" )
PORT_DIPSETTING( 0x0000, "Infinite (Cheat)")
PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Difficulty ) )
PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPSETTING( 0x0800, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x0c00, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x0400, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) ) // Extra Lives?
PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:5") /* manual mentions Extra Lives - Default OFF */
PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) ) // Extra Lives?
PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:6") /* manual mentions Extra Lives - Default OFF */
PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x4000, 0x0000, DEF_STR( Allow_Continue ) )
PORT_DIPNAME( 0x4000, 0x0000, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:7")
PORT_DIPSETTING( 0x4000, DEF_STR( No ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Yes ) )
PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unused ) ) // Always OFF
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPUNUSED_DIPLOC( 0x8000, 0x8000, "SW2:8" ) // Always OFF
PORT_START("AN0") /* player 1 12-way rotary control - converted in controls_r() */
PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(10) PORT_CODE_DEC(KEYCODE_Z) PORT_CODE_INC(KEYCODE_X) PORT_REVERSE
@ -768,7 +733,7 @@ static INPUT_PORTS_START( bouldash )
PORT_START("DSW")
/* Different Coinage. Just a few combinations from manual, the rest was figured out */
PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coin_A ) )
PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2,3")
PORT_DIPSETTING( 0x0000, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x0001, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x0007, DEF_STR( 1C_1C ) )
@ -777,7 +742,7 @@ static INPUT_PORTS_START( bouldash )
PORT_DIPSETTING( 0x0004, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0x0003, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x0002, DEF_STR( 1C_6C ) )
PORT_DIPNAME( 0x0038, 0x0038, DEF_STR( Coin_B ) )
PORT_DIPNAME( 0x0038, 0x0038, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:4,5,6")
PORT_DIPSETTING( 0x0000, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x0008, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x0038, DEF_STR( 1C_1C ) )
@ -786,33 +751,31 @@ static INPUT_PORTS_START( bouldash )
PORT_DIPSETTING( 0x0020, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0x0018, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x0010, DEF_STR( 1C_6C ) )
PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Flip_Screen ) )
PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:7")
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0080, 0x0000, DEF_STR( Cabinet ) )
PORT_DIPNAME( 0x0080, 0x0000, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:8")
PORT_DIPSETTING( 0x0000, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x0080, DEF_STR( Cocktail ) )
PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Lives ) )
PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x0000, "2" )
PORT_DIPSETTING( 0x0300, "3" )
PORT_DIPSETTING( 0x0200, "4" )
PORT_DIPSETTING( 0x0100, "5" )
PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Difficulty ) )
PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPSETTING( 0x0800, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x0c00, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x0400, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unused ) ) // Always OFF
PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x2000, 0x2000, "Game Change Mode" )
PORT_DIPUNUSED_DIPLOC( 0x1000, 0x1000, "SW2:5" ) // Always OFF
PORT_DIPNAME( 0x2000, 0x2000, "Game Change Mode" ) PORT_DIPLOCATION("SW2:6")
PORT_DIPSETTING( 0x2000, "Part 1" )
PORT_DIPSETTING( 0x0000, "Part 2" )
PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Allow_Continue ) )
PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:7")
PORT_DIPSETTING( 0x0000, DEF_STR( No ) )
PORT_DIPSETTING( 0x4000, DEF_STR( Yes ) )
PORT_DIPNAME( 0x8000, 0x0000, DEF_STR( Demo_Sounds ) )
PORT_DIPNAME( 0x8000, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:8")
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
INPUT_PORTS_END