mirror of
https://github.com/holub/mame
synced 2025-04-20 15:32:45 +03:00
seibu/goal92.cpp: DIP Switches updates (#12554)
This commit is contained in:
parent
92868a2178
commit
02868eedf5
@ -338,8 +338,9 @@ void goal92_state::sound_map(address_map &map)
|
||||
}
|
||||
|
||||
static INPUT_PORTS_START( goal92 )
|
||||
|
||||
PORT_START("DSW1")
|
||||
PORT_DIPNAME( 0x0007, 0x0007, "Coin A / Coin C" )
|
||||
PORT_DIPNAME( 0x0007, 0x0007, "Coin 1 (3)" ) PORT_DIPLOCATION("SW1:1,2,3")
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( 4C_1C ) )
|
||||
PORT_DIPSETTING( 0x0001, DEF_STR( 3C_1C ) )
|
||||
PORT_DIPSETTING( 0x0002, DEF_STR( 2C_1C ) )
|
||||
@ -348,7 +349,7 @@ static INPUT_PORTS_START( goal92 )
|
||||
PORT_DIPSETTING( 0x0005, DEF_STR( 1C_3C ) )
|
||||
PORT_DIPSETTING( 0x0003, DEF_STR( 1C_4C ) )
|
||||
PORT_DIPSETTING( 0x0004, DEF_STR( 1C_6C ) )
|
||||
PORT_DIPNAME( 0x0038, 0x0038, "Coin B / Coin D" )
|
||||
PORT_DIPNAME( 0x0038, 0x0038, "Coin 2 (4)" ) PORT_DIPLOCATION("SW1:4,5,6")
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( 4C_1C ) )
|
||||
PORT_DIPSETTING( 0x0008, DEF_STR( 3C_1C ) )
|
||||
PORT_DIPSETTING( 0x0010, DEF_STR( 2C_1C ) )
|
||||
@ -357,35 +358,60 @@ static INPUT_PORTS_START( goal92 )
|
||||
PORT_DIPSETTING( 0x0028, DEF_STR( 1C_3C ) )
|
||||
PORT_DIPSETTING( 0x0018, DEF_STR( 1C_4C ) )
|
||||
PORT_DIPSETTING( 0x0020, DEF_STR( 1C_6C ) )
|
||||
PORT_DIPNAME( 0x0040, 0x0040, "Starting Coin" )
|
||||
PORT_DIPSETTING( 0x0040, DEF_STR( Normal ) )
|
||||
PORT_DIPSETTING( 0x0000, "X 2" )
|
||||
PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
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_DIPSETTING( 0x1000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
|
||||
PORT_DIPNAME( 0x0040, 0x0040, "Starting Coin" ) PORT_DIPLOCATION("SW1:7") // x2 means at least 2 players must start which
|
||||
PORT_DIPSETTING( 0x0040, DEF_STR( Normal ) ) // is similar to Heated Barrel SW2: 3,4
|
||||
PORT_DIPSETTING( 0x0000, "x2" )
|
||||
|
||||
// NOTE: It should be the screen flip DIP, but isn't working
|
||||
PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:8")
|
||||
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 ) )
|
||||
|
||||
// Match actual playing time is correctly set with these DIP, but the on-screen counter start always from 90.
|
||||
// The countdown is slowed/speeded up according to the choosen DIP.
|
||||
PORT_DIPNAME( 0x0300, 0x0300, "Time vs Computer, 1 Player" ) PORT_DIPLOCATION("SW2:1,2")
|
||||
PORT_DIPSETTING( 0x0200, "1:30" )
|
||||
PORT_DIPSETTING( 0x0300, "2:00" )
|
||||
PORT_DIPSETTING( 0x0100, "2:30" )
|
||||
PORT_DIPSETTING( 0x0000, "3:00" )
|
||||
PORT_DIPNAME( 0x0c00, 0x0c00, "Time Player vs Player, 2 Players" ) PORT_DIPLOCATION("SW2:3,4")
|
||||
PORT_DIPSETTING( 0x0800, "2:00" )
|
||||
PORT_DIPSETTING( 0x0c00, "2:30" )
|
||||
PORT_DIPSETTING( 0x0400, "3:00" )
|
||||
PORT_DIPSETTING( 0x0000, "2:00 (duplicate)" )
|
||||
PORT_DIPNAME( 0x3000, 0x3000, "Time Player vs Player, 3 Players" ) PORT_DIPLOCATION("SW2:5,6")
|
||||
PORT_DIPSETTING( 0x2000, "2:30" )
|
||||
PORT_DIPSETTING( 0x3000, "3:00" )
|
||||
PORT_DIPSETTING( 0x1000, "3:30" )
|
||||
PORT_DIPSETTING( 0x0000, "2:30 (duplicate)" )
|
||||
PORT_DIPNAME( 0xc000, 0xc000, "Time Player vs Player, 4 Players" ) PORT_DIPLOCATION("SW2:7,8")
|
||||
PORT_DIPSETTING( 0x8000, "3:00" )
|
||||
PORT_DIPSETTING( 0xc000, "3:30" )
|
||||
PORT_DIPSETTING( 0x4000, "4:00" )
|
||||
PORT_DIPSETTING( 0x0000, "3:00 (duplicate)" )
|
||||
|
||||
PORT_START("DSW2")
|
||||
PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW3:1,2")
|
||||
PORT_DIPSETTING( 0x0003, DEF_STR( Normal ) )
|
||||
PORT_DIPSETTING( 0x0002, DEF_STR( Easy ) )
|
||||
PORT_DIPSETTING( 0x0001, DEF_STR( Hard ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( Very_Hard ) )
|
||||
PORT_DIPNAME( 0x000c, 0x000c, "Cabinet Setting" ) PORT_DIPLOCATION("SW3:3,4")
|
||||
PORT_DIPSETTING( 0x000c, "2 Players" )
|
||||
PORT_DIPSETTING( 0x0008, "4 Players & 4 Coin Slots" )
|
||||
PORT_DIPSETTING( 0x0004, "4 Players (2x 2P Linked) & 1-4 Coin Slots" )
|
||||
PORT_DIPSETTING( 0x0000, "4 Players & 1 Coin Slot" )
|
||||
PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW3:5")
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( No ) )
|
||||
PORT_DIPSETTING( 0x0010, DEF_STR( Yes ) )
|
||||
PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Service_Mode ) ) PORT_DIPLOCATION("SW3:6")
|
||||
PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
|
||||
PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW3:7") // toggling this has no effect in test mode, always shown on.
|
||||
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW3:8") // toggling this has no effect in test mode, always shown on.
|
||||
PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
|
||||
PORT_START("IN1")
|
||||
@ -431,27 +457,6 @@ static INPUT_PORTS_START( goal92 )
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START3 )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_START4 )
|
||||
PORT_BIT( 0xfc00, IP_ACTIVE_LOW, IPT_UNKNOWN ) // unused?
|
||||
|
||||
PORT_START("DSW2")
|
||||
PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Difficulty ) )
|
||||
PORT_DIPSETTING( 0x0002, DEF_STR( Easy ) )
|
||||
PORT_DIPSETTING( 0x0003, DEF_STR( Normal ) )
|
||||
PORT_DIPSETTING( 0x0001, DEF_STR( Hard ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
|
||||
PORT_DIPNAME( 0x000c, 0x0000, "Players / Coin Mode" )
|
||||
PORT_DIPSETTING( 0x0000, "4 Players / 1 Coin Slot" )
|
||||
PORT_DIPSETTING( 0x0004, "4 Players / 4 Coin Slots" )
|
||||
PORT_DIPSETTING( 0x0008, "4 Players / 2 Coin Slots" )
|
||||
PORT_DIPSETTING( 0x000c, "2 Players" )
|
||||
PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Demo_Sounds ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0010, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Service_Mode ) )
|
||||
PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0xffc0, 0xffc0, DEF_STR( Unused ) )
|
||||
PORT_DIPSETTING( 0xffc0, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
// handler called by the 2203 emulator when the internal timers cause an IRQ
|
||||
|
Loading…
Reference in New Issue
Block a user