diff --git a/src/mame/drivers/scyclone.cpp b/src/mame/drivers/scyclone.cpp index 7624261d5a3..0e75aa43471 100644 --- a/src/mame/drivers/scyclone.cpp +++ b/src/mame/drivers/scyclone.cpp @@ -85,7 +85,7 @@ uint32_t scyclone_state::screen_update_scyclone(screen_device &screen, bitmap_rg static ADDRESS_MAP_START( scyclone_map, AS_PROGRAM, 8, scyclone_state ) AM_RANGE(0x0000, 0x2fff) AM_ROM - AM_RANGE(0x4000, 0x5fff) AM_RAM AM_SHARE("mainram") + AM_RANGE(0x4000, 0x5fff) AM_RAM AM_SHARE("mainram") ADDRESS_MAP_END @@ -93,7 +93,7 @@ static ADDRESS_MAP_START( scyclone_iomap, AS_IO, 8, scyclone_state ) ADDRESS_MAP_GLOBAL_MASK(0xff) AM_RANGE(0x00, 0x00) AM_DEVREAD("mb14241", mb14241_device, shift_result_r) AM_DEVWRITE("mb14241", mb14241_device, shift_count_w) AM_RANGE(0x01, 0x01) AM_READ_PORT("IN0") AM_DEVWRITE("mb14241", mb14241_device, shift_data_w) - AM_RANGE(0x02, 0x02) AM_READ_PORT("DSW1") + AM_RANGE(0x02, 0x02) AM_READ_PORT("IN1") AM_RANGE(0x03, 0x03) AM_READ_PORT("DSW0") AM_WRITENOP AM_RANGE(0x04, 0x04) AM_WRITENOP AM_RANGE(0x05, 0x05) AM_WRITENOP @@ -125,12 +125,22 @@ static INPUT_PORTS_START( scyclone ) PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_TILT ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN ) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START2 ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START1 ) PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY + + PORT_START("IN1") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN ) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN ) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN ) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN ) + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN ) + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL PORT_CONDITION("DSW0",0x04,EQUALS,0x00) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_COCKTAIL PORT_CONDITION("DSW0",0x04,EQUALS,0x00) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_COCKTAIL PORT_CONDITION("DSW0",0x04,EQUALS,0x00) PORT_START("DSW0") PORT_DIPNAME( 0x03, 0x01, DEF_STR( Lives ) ) PORT_DIPLOCATION("DSW0:1,2") @@ -138,18 +148,14 @@ static INPUT_PORTS_START( scyclone ) PORT_DIPSETTING( 0x01, "3" ) PORT_DIPSETTING( 0x02, "4" ) PORT_DIPSETTING( 0x03, "5" ) - PORT_DIPUNKNOWN_DIPLOC( 0x04, 0x04, "DSW0:3" ) + PORT_DIPNAME( 0x04, 0x04, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("DSW0:3") + PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) ) + PORT_DIPSETTING( 0x04, DEF_STR( Upright ) ) PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x00, "DSW0:4" ) // seems to disable collisions PORT_DIPUNKNOWN_DIPLOC( 0x10, 0x10, "DSW0:5" ) PORT_DIPUNKNOWN_DIPLOC( 0x20, 0x20, "DSW0:6" ) PORT_DIPUNKNOWN_DIPLOC( 0x40, 0x40, "DSW0:7" ) PORT_DIPUNKNOWN_DIPLOC( 0x80, 0x80, "DSW0:8" ) - - PORT_START("DSW1") - PORT_DIPUNKNOWN_DIPLOC( 0x01, 0x01, "DSW1:1" ) - PORT_DIPUNKNOWN_DIPLOC( 0x02, 0x02, "DSW1:2" ) - PORT_DIPUNKNOWN_DIPLOC( 0x04, 0x04, "DSW1:3" ) - PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x08, "DSW1:4" ) INPUT_PORTS_END WRITE8_MEMBER(scyclone_state::scyclone_port06_w)