diff options
Diffstat (limited to 'src/mame/drivers/ms32.cpp')
-rw-r--r-- | src/mame/drivers/ms32.cpp | 83 |
1 files changed, 44 insertions, 39 deletions
diff --git a/src/mame/drivers/ms32.cpp b/src/mame/drivers/ms32.cpp index 4813b5c4f7b..ed7a3a9e9e7 100644 --- a/src/mame/drivers/ms32.cpp +++ b/src/mame/drivers/ms32.cpp @@ -405,7 +405,8 @@ WRITE32_MEMBER(ms32_state::ms32_irq5_guess_w) } static ADDRESS_MAP_START( f1superb_map, AS_PROGRAM, 32, ms32_state ) - AM_RANGE(0xfd0e0000, 0xfd0e0003) AM_READ(ms32_read_inputs3) + AM_RANGE(0xfd0d0000, 0xfd0d0003) AM_READ_PORT("DSW2") // MB-93159 + AM_RANGE(0xfd0e0000, 0xfd0e0003) AM_READ(ms32_read_inputs3) AM_WRITENOP // writes 7-led seg at very least AM_RANGE(0xfce00004, 0xfce00023) AM_RAM // regs? AM_RANGE(0xfce00200, 0xfce0021f) AM_RAM // regs? @@ -1169,55 +1170,44 @@ static INPUT_PORTS_START( wpksocv2 ) INPUT_PORTS_END -static INPUT_PORTS_START( f1superb ) // Mostly wrong ! +static INPUT_PORTS_START( f1superb ) PORT_INCLUDE( ms32 ) PORT_MODIFY("INPUTS") - PORT_BIT( 0x00000001, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) - PORT_BIT( 0x00000002, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) - PORT_BIT( 0x00000004, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) - PORT_BIT( 0x00000008, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1) - PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) - PORT_BIT( 0x00000020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) - PORT_BIT( 0x00000040, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) - PORT_BIT( 0x00000080, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2) - PORT_BIT( 0x00000100, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3) - PORT_BIT( 0x00000200, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(3) - PORT_BIT( 0x00000400, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(3) - PORT_BIT( 0x00000800, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(3) - PORT_BIT( 0x00001000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(4) - PORT_BIT( 0x00002000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(4) - PORT_BIT( 0x00004000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(4) - PORT_BIT( 0x00008000, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(4) + PORT_BIT( 0x00000001, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_NAME("P1 Shift") + PORT_BIT( 0x00000002, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) PORT_NAME("P1 Brake") + PORT_BIT( 0x0000fffc, IP_ACTIVE_LOW, IPT_UNUSED ) + PORT_BIT( 0x00400000, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_MODIFY("DSW") - PORT_DIPUNKNOWN_DIPLOC( 0x00000001, 0x00000001, "SW2:8" ) - PORT_DIPUNKNOWN_DIPLOC( 0x00000002, 0x00000002, "SW2:7" ) - PORT_DIPUNKNOWN_DIPLOC( 0x00000004, 0x00000004, "SW2:6" ) - PORT_DIPUNKNOWN_DIPLOC( 0x00000008, 0x00000008, "SW2:5" ) - PORT_DIPUNKNOWN_DIPLOC( 0x00000010, 0x00000010, "SW2:4" ) - PORT_DIPUNKNOWN_DIPLOC( 0x00000020, 0x00000020, "SW2:3" ) - PORT_DIPUNKNOWN_DIPLOC( 0x00000040, 0x00000040, "SW2:2" ) - PORT_DIPUNKNOWN_DIPLOC( 0x00000080, 0x00000080, "SW2:1" ) - - PORT_DIPUNKNOWN_DIPLOC( 0x00010000, 0x00010000, "SW3:8" ) - PORT_DIPUNKNOWN_DIPLOC( 0x00020000, 0x00020000, "SW3:7" ) - PORT_DIPUNKNOWN_DIPLOC( 0x00040000, 0x00040000, "SW3:6" ) - PORT_DIPUNKNOWN_DIPLOC( 0x00080000, 0x00080000, "SW3:5" ) - PORT_DIPUNKNOWN_DIPLOC( 0x00100000, 0x00100000, "SW3:4" ) - PORT_DIPUNKNOWN_DIPLOC( 0x00200000, 0x00200000, "SW3:3" ) - PORT_DIPUNKNOWN_DIPLOC( 0x00400000, 0x00400000, "SW3:2" ) - PORT_DIPUNKNOWN_DIPLOC( 0x00800000, 0x00800000, "SW3:1" ) - - PORT_START("AN0") // Acceleration (wrong?) - PORT_BIT( 0xff, 0x00, IPT_AD_STICK_Y ) PORT_SENSITIVITY(50) PORT_KEYDELTA(15) PORT_REVERSE PORT_PLAYER(1) + PORT_DIPUNUSED_DIPLOC( 0x00000001, 0x00000001, "SW2:8" ) + PORT_DIPUNUSED_DIPLOC( 0x00000002, 0x00000002, "SW2:7" ) + PORT_DIPNAME( 0x00000004, 0x00000004, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:6") + PORT_DIPSETTING( 0x00000000, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00000004, DEF_STR( On ) ) + PORT_DIPUNUSED_DIPLOC( 0x00000008, 0x00000008, "SW2:5" ) + PORT_DIPNAME( 0x0030, 0x0030, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:4,3") + PORT_DIPSETTING( 0x0000, DEF_STR( Easy ) ) + PORT_DIPSETTING( 0x0030, DEF_STR( Normal ) ) + PORT_DIPSETTING( 0x0010, DEF_STR( Hard ) ) + PORT_DIPSETTING( 0x0020, DEF_STR( Hardest ) ) + PORT_DIPNAME( 0x00c0, 0x0000, DEF_STR( Region ) ) PORT_DIPLOCATION("SW2:2,1") + PORT_DIPSETTING( 0x0080, DEF_STR( USA ) ) + PORT_DIPSETTING( 0x0000, DEF_STR( Europe ) ) +// PORT_DIPSETTING( 0x0040, "Europe" ) + PORT_DIPSETTING( 0x00c0, DEF_STR( Japan ) ) + PORT_DIPUNUSED_DIPLOC( 0x00000100, 0x00000100, "SW1:8" ) + PORT_DIPUNUSED_DIPLOC( 0x00000200, 0x00000200, "SW1:7" ) + PORT_BIT( 0xffff0000, IP_ACTIVE_LOW, IPT_UNUSED ) + PORT_START("AN0") // Acceleration + PORT_BIT( 0xff, 0x00, IPT_PEDAL ) PORT_MINMAX(0,0xff) PORT_SENSITIVITY(50) PORT_KEYDELTA(15) PORT_PLAYER(1) PORT_START("AN1") // Steering PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(15) PORT_PLAYER(1) PORT_START("AN2?") // Shift + Brake - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) + PORT_DIPNAME( 0x80, 0x80, "Shift Brake" ) // ??? PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) @@ -1242,6 +1232,21 @@ static INPUT_PORTS_START( f1superb ) // Mostly wrong ! PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_START( "DSW2" ) + PORT_DIPNAME( 0x01, 0x00, "Communication Mode" ) PORT_DIPLOCATION("SW3:1") + PORT_DIPSETTING( 0x00, "Master" ) + PORT_DIPSETTING( 0x01, "Slave" ) + PORT_DIPNAME( 0x0e, 0x00, "Car ID" ) PORT_DIPLOCATION("SW3:2,3,4") + PORT_DIPSETTING( 0x00, "1" ) + PORT_DIPSETTING( 0x02, "2" ) + PORT_DIPSETTING( 0x04, "3" ) + PORT_DIPSETTING( 0x06, "4" ) + PORT_DIPSETTING( 0x08, "5" ) + PORT_DIPSETTING( 0x0a, "6" ) + PORT_DIPSETTING( 0x0c, "7" ) + PORT_DIPSETTING( 0x0e, "8" ) + PORT_BIT( 0xffffff00, IP_ACTIVE_LOW, IPT_UNUSED ) + INPUT_PORTS_END /********** GFX DECODE **********/ |