segahang: some games don't feature freeplay

This commit is contained in:
hap 2021-10-01 18:00:59 +02:00
parent 635a7e6c2b
commit 8cb48d6d4d
2 changed files with 11 additions and 5 deletions

View File

@ -391,7 +391,7 @@ void segahang_state::sharrier_map(address_map &map)
// SUB CPU ADDRESS MAPS
//**************************************************************************
// On Super Hang On there is a memory mapper, like the System16 one, todo: emulate it!
// On Super Hang On there is a memory mapper, like the System16 one, todo: emulate it!
void segahang_state::sub_map(address_map &map)
{
map.unmap_value_high();
@ -480,7 +480,7 @@ static INPUT_PORTS_START( hangon_generic )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("COINAGE")
SEGA_COINAGE_LOC(SWA)
SEGA_COINAGE_NO_FREE_LOC(SWA)
PORT_START("DSW")
PORT_DIPUNUSED_DIPLOC( 0x01, IP_ACTIVE_LOW, "SWB:1" )
@ -512,7 +512,7 @@ static INPUT_PORTS_START( sharrier_generic )
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("COINAGE")
SEGA_COINAGE_LOC(SWA)
SEGA_COINAGE_NO_FREE_LOC(SWA)
PORT_START("DSW")
PORT_DIPUNUSED_DIPLOC( 0x01, IP_ACTIVE_LOW, "SWB:1" )
@ -579,6 +579,9 @@ static INPUT_PORTS_START( shangupb )
PORT_MODIFY("SERVICE")
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Supercharger") PORT_CODE(KEYCODE_LSHIFT)
PORT_MODIFY("COINAGE")
SEGA_COINAGE_LOC(SWA)
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWB:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
@ -661,6 +664,9 @@ static INPUT_PORTS_START( enduror )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 )
PORT_MODIFY("COINAGE")
SEGA_COINAGE_LOC(SWA)
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SWB:1")
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )

View File

@ -121,11 +121,11 @@
#define SEGA_COINAGE_NO_FREE_LOC(DIPBANK) \
PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) ) PORT_DIPLOCATION(#DIPBANK":1,2,3,4") \
SEGA_COINAGE_A_PART_H \
PORT_DIPSETTING( 0x00, " 1 Coin/1 Credit" ) \
PORT_DIPSETTING( 0x00, "1 Coin/1 Credit" ) \
SEGA_COINAGE_A_PART_L \
PORT_DIPNAME( 0xf0, 0xf0, DEF_STR( Coin_B ) ) PORT_DIPLOCATION(#DIPBANK":5,6,7,8") \
SEGA_COINAGE_B_PART_H \
PORT_DIPSETTING( 0x00, " 1 Coin/1 Credit" ) \
PORT_DIPSETTING( 0x00, "1 Coin/1 Credit" ) \
SEGA_COINAGE_B_PART_L
// [exception 1.1] not have free play (forbid duplicated settings, hide 0x00)