diff --git a/src/mame/drivers/badlands.cpp b/src/mame/drivers/badlands.cpp index 5bbeabdf668..59bfdc7984b 100644 --- a/src/mame/drivers/badlands.cpp +++ b/src/mame/drivers/badlands.cpp @@ -421,9 +421,12 @@ ADDRESS_MAP_END static INPUT_PORTS_START( badlands ) PORT_START("FE4000") /* fe4000 */ - PORT_BIT( 0x000f, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) - PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) + PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN ) // old steering wheels + PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN ) // old gas pedals + PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN ) // freeze-step + PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN ) // freeze + PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) PORT_NAME("P1 Start / Fire") + PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) PORT_NAME("P2 Start / Fire") PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") PORT_SERVICE( 0x0080, IP_ACTIVE_LOW ) PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED ) @@ -447,8 +450,8 @@ static INPUT_PORTS_START( badlands ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* self test */ PORT_START("PEDALS") /* fake for pedals */ - PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1) - PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2) + PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_NAME("P1 Pedal") + PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_NAME("P2 Pedal") PORT_BIT( 0xfffc, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END @@ -645,11 +648,11 @@ static ADDRESS_MAP_START( bootleg_map, AS_PROGRAM, 16, badlands_state ) AM_RANGE(0x400008, 0x400009) AM_READ(badlandsb_unk_r ) AM_RANGE(0x4000fe, 0x4000ff) AM_READ(badlandsb_unk_r ) - AM_RANGE(0xfc0000, 0xfc0001) AM_READ(badlandsb_unk_r ) - - AM_RANGE(0xfe4000, 0xfe4001) AM_READ(badlandsb_unk_r ) - AM_RANGE(0xfe4004, 0xfe4005) AM_READ(badlandsb_unk_r ) - AM_RANGE(0xfe4006, 0xfe4007) AM_READ(badlandsb_unk_r ) + AM_RANGE(0xfc0000, 0xfc0001) AM_READ(badlandsb_unk_r ) // sound comms? + + AM_RANGE(0xfe4000, 0xfe4001) AM_READ_PORT("FE4000") + AM_RANGE(0xfe4004, 0xfe4005) AM_READ_PORT("P1") + AM_RANGE(0xfe4006, 0xfe4007) AM_READ_PORT("P2") AM_RANGE(0xfd0000, 0xfd1fff) AM_DEVREADWRITE8("eeprom", atari_eeprom_device, read, write, 0x00ff) @@ -665,9 +668,24 @@ static ADDRESS_MAP_START( bootleg_map, AS_PROGRAM, 16, badlands_state ) ADDRESS_MAP_END static INPUT_PORTS_START( badlandsb ) - PORT_INCLUDE( badlands ) + PORT_START("P1") + PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_PLAYER(1) + PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_PLAYER(1) + PORT_BIT( 0xfffc, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_START("P2") + PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_PLAYER(2) + PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_PLAYER(2) + PORT_BIT( 0xfffc, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_MODIFY("FE6000") + PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNUSED ) + + PORT_MODIFY("FE6002") + PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNUSED ) + PORT_MODIFY("AUDIO") /* audio port */ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) @@ -707,7 +725,7 @@ static MACHINE_CONFIG_START( badlandsb, badlands_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", M68000, XTAL_28MHz/4) /* Divisor estimated */ MCFG_CPU_PROGRAM_MAP(bootleg_map) - MCFG_CPU_VBLANK_INT_DRIVER("screen", badlands_state, vblank_int) + MCFG_CPU_VBLANK_INT_DRIVER("screen", badlands_state, irq1_line_hold) //vblank_int) // MCFG_CPU_ADD("audiocpu", Z80, XTAL_20MHz/12) /* Divisor estimated */ // MCFG_CPU_PROGRAM_MAP(bootleg_soundmap)