mirror of
https://github.com/holub/mame
synced 2025-10-04 16:34:53 +03:00
model2.cpp: some inputs fixes and updates (nw)
This commit is contained in:
parent
0b5cbc4712
commit
d3d36bf055
@ -629,8 +629,8 @@ READ8_MEMBER(model2_state::model2_crx_in_r)
|
||||
PORT_DIPSETTING( 0x60, "6" ) // 3rd gear
|
||||
PORT_DIPSETTING( 0x70, "7" )*/
|
||||
|
||||
/* Used specifically by Sega Rally, others might be different */
|
||||
CUSTOM_INPUT_MEMBER(model2_state::srallyc_gearbox_r)
|
||||
/* Used by Sega Rally and Daytona USA, others might be different */
|
||||
CUSTOM_INPUT_MEMBER(model2_state::daytona_gearbox_r)
|
||||
{
|
||||
uint8_t res = m_gears.read_safe(0);
|
||||
int i;
|
||||
@ -1729,14 +1729,14 @@ ADDRESS_MAP_END
|
||||
|
||||
static INPUT_PORTS_START( model2 )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_COIN1)
|
||||
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_COIN2)
|
||||
PORT_SERVICE_NO_TOGGLE(0x04, IP_ACTIVE_LOW)
|
||||
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_SERVICE1)
|
||||
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_START1)
|
||||
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_START2)
|
||||
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_SERVICE) PORT_NAME("1P Push Switch") PORT_CODE(KEYCODE_7)
|
||||
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_SERVICE) PORT_NAME("2P Push Switch") PORT_CODE(KEYCODE_8)
|
||||
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_SERVICE_NO_TOGGLE(0x04, IP_ACTIVE_LOW )
|
||||
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("1P Push Switch") PORT_CODE(KEYCODE_7)
|
||||
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("2P Push Switch") PORT_CODE(KEYCODE_8)
|
||||
|
||||
PORT_START("IN1")
|
||||
MODEL2_PLAYER_INPUTS(1, BUTTON1, BUTTON2, BUTTON3, BUTTON4)
|
||||
@ -1747,134 +1747,147 @@ INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( desert )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_COIN1)
|
||||
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_COIN2)
|
||||
PORT_SERVICE_NO_TOGGLE(0x04, IP_ACTIVE_LOW)
|
||||
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_SERVICE1)
|
||||
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_START1)
|
||||
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_BUTTON4) PORT_PLAYER(1) // VR 1 (Blue)
|
||||
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_BUTTON5) PORT_PLAYER(1) // VR 2 (Green)
|
||||
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_BUTTON6) PORT_PLAYER(1) // VR 3 (Red)
|
||||
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_SERVICE_NO_TOGGLE(0x04, IP_ACTIVE_LOW )
|
||||
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1) PORT_NAME("VR1 (Blue)")
|
||||
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(1) PORT_NAME("VR2 (Green)")
|
||||
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(1) PORT_NAME("VR3 (Red)")
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON3) PORT_PLAYER(1) // shift
|
||||
PORT_BIT(0x0e, IP_ACTIVE_LOW, IPT_UNUSED)
|
||||
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_PLAYER(1) // machine gun
|
||||
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_BUTTON2) PORT_PLAYER(1) // cannon
|
||||
PORT_BIT(0xc0, IP_ACTIVE_LOW, IPT_UNUSED)
|
||||
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) PORT_TOGGLE PORT_NAME("P1 Shift")
|
||||
PORT_BIT(0x0e, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_NAME("P1 Machine Gun")
|
||||
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) PORT_NAME("P1 Cannon")
|
||||
PORT_BIT(0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN2")
|
||||
MODEL2_PLAYER_INPUTS(2, BUTTON1, BUTTON2, BUTTON3, BUTTON4)
|
||||
PORT_BIT(0xff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("STEER")
|
||||
PORT_BIT(0xff, 0x80, IPT_PADDLE) PORT_SENSITIVITY(30) PORT_KEYDELTA(10) PORT_PLAYER(1)
|
||||
PORT_BIT(0xff, 0x80, IPT_PADDLE ) PORT_SENSITIVITY(30) PORT_KEYDELTA(10) PORT_PLAYER(1)
|
||||
|
||||
PORT_START("ACCEL")
|
||||
PORT_BIT(0xff, 0x00, IPT_PEDAL) PORT_SENSITIVITY(30) PORT_KEYDELTA(10) PORT_PLAYER(1)
|
||||
PORT_BIT(0xff, 0x00, IPT_PEDAL ) PORT_SENSITIVITY(60) PORT_KEYDELTA(20) PORT_PLAYER(1)
|
||||
|
||||
PORT_START("BRAKE")
|
||||
PORT_BIT(0xff, 0x00, IPT_PEDAL2) PORT_SENSITIVITY(30) PORT_KEYDELTA(10) PORT_PLAYER(1)
|
||||
PORT_BIT(0xff, 0x00, IPT_AD_STICK_Y ) PORT_SENSITIVITY(60) PORT_KEYDELTA(20) PORT_PLAYER(1)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( vcop )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_COIN1)
|
||||
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_COIN2)
|
||||
PORT_SERVICE_NO_TOGGLE(0x04, IP_ACTIVE_LOW)
|
||||
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_SERVICE1)
|
||||
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_START1)
|
||||
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_START2)
|
||||
PORT_BIT(0xc0, IP_ACTIVE_LOW, IPT_UNUSED)
|
||||
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_SERVICE_NO_TOGGLE(0x04, IP_ACTIVE_LOW )
|
||||
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT(0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_PLAYER(1) PORT_NAME("P1 Trigger")
|
||||
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_PLAYER(2) PORT_NAME("P2 Trigger")
|
||||
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_NAME("P1 Trigger")
|
||||
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_NAME("P2 Trigger")
|
||||
PORT_BIT(0xfc, IP_ACTIVE_LOW, IPT_UNUSED)
|
||||
|
||||
PORT_START("IN2")
|
||||
PORT_BIT(0xff, IP_ACTIVE_LOW, IPT_UNUSED) // <- one bit here enables "debug mode"
|
||||
PORT_BIT(0xff, IP_ACTIVE_LOW, IPT_UNUSED ) // <- one bit here enables "debug mode"
|
||||
|
||||
PORT_START("P1_X")
|
||||
PORT_BIT(0x3ff, 0x200, IPT_LIGHTGUN_X) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_MINMAX( 0, 0x3ff ) PORT_SENSITIVITY( 50 ) PORT_KEYDELTA( 15 ) PORT_PLAYER(1)
|
||||
PORT_BIT(0x3ff, 0x200, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_MINMAX( 0, 0x3ff ) PORT_SENSITIVITY( 50 ) PORT_KEYDELTA( 15 ) PORT_PLAYER(1)
|
||||
|
||||
PORT_START("P1_Y")
|
||||
PORT_BIT(0x3ff, 0x200, IPT_LIGHTGUN_Y) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_MINMAX( 0, 0x3ff ) PORT_SENSITIVITY( 50 ) PORT_KEYDELTA( 15 ) PORT_PLAYER(1)
|
||||
PORT_BIT(0x3ff, 0x200, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_MINMAX( 0, 0x3ff ) PORT_SENSITIVITY( 50 ) PORT_KEYDELTA( 15 ) PORT_PLAYER(1)
|
||||
|
||||
PORT_START("P2_X")
|
||||
PORT_BIT(0x3ff, 0x200, IPT_LIGHTGUN_X) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_MINMAX( 0, 0x3ff ) PORT_SENSITIVITY( 50 ) PORT_KEYDELTA( 15 ) PORT_PLAYER(2)
|
||||
PORT_BIT(0x3ff, 0x200, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_MINMAX( 0, 0x3ff ) PORT_SENSITIVITY( 50 ) PORT_KEYDELTA( 15 ) PORT_PLAYER(2)
|
||||
|
||||
PORT_START("P2_Y")
|
||||
PORT_BIT(0x3ff, 0x200, IPT_LIGHTGUN_Y) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_MINMAX( 0, 0x3ff ) PORT_SENSITIVITY( 50 ) PORT_KEYDELTA( 15 ) PORT_PLAYER(2)
|
||||
PORT_BIT(0x3ff, 0x200, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_MINMAX( 0, 0x3ff ) PORT_SENSITIVITY( 50 ) PORT_KEYDELTA( 15 ) PORT_PLAYER(2)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( daytona )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_COIN1)
|
||||
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_COIN2)
|
||||
PORT_SERVICE_NO_TOGGLE(0x04, IP_ACTIVE_LOW)
|
||||
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_SERVICE1)
|
||||
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_START1)
|
||||
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_BUTTON4) PORT_PLAYER(1) // VR 1 (Red)
|
||||
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_BUTTON5) PORT_PLAYER(1) // VR 2 (Blue)
|
||||
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_BUTTON6) PORT_PLAYER(1) // VR 3 (Yellow)
|
||||
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_SERVICE_NO_TOGGLE(0x04, IP_ACTIVE_LOW )
|
||||
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(1) PORT_NAME("VR 1 (Red)")
|
||||
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_PLAYER(1) PORT_NAME("VR 2 (Blue)")
|
||||
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_PLAYER(1) PORT_NAME("VR 3 (Yellow)")
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON7) PORT_PLAYER(1) // VR 4 (Green)
|
||||
PORT_BIT(0x0e, IP_ACTIVE_LOW, IPT_UNUSED)
|
||||
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_PLAYER(1) // shift 3
|
||||
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_BUTTON2) PORT_PLAYER(1) // shift 4
|
||||
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT) PORT_PLAYER(1)
|
||||
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT) PORT_PLAYER(1)
|
||||
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_PLAYER(1) PORT_NAME("VR 4 (Green)")
|
||||
PORT_BIT(0x0e, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT(0x70, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, model2_state,daytona_gearbox_r, nullptr)
|
||||
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN2")
|
||||
MODEL2_PLAYER_INPUTS(2, BUTTON1, BUTTON2, BUTTON3, BUTTON4)
|
||||
PORT_BIT(0xff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("STEER")
|
||||
PORT_BIT(0xff, 0x80, IPT_PADDLE) PORT_SENSITIVITY(30) PORT_KEYDELTA(10) PORT_PLAYER(1)
|
||||
PORT_BIT(0xff, 0x80, IPT_PADDLE ) PORT_SENSITIVITY(30) PORT_KEYDELTA(10) PORT_PLAYER(1)
|
||||
|
||||
PORT_START("ACCEL")
|
||||
PORT_BIT(0xff, 0x00, IPT_PEDAL) PORT_SENSITIVITY(30) PORT_KEYDELTA(10) PORT_PLAYER(1)
|
||||
PORT_BIT(0xff, 0x00, IPT_PEDAL ) PORT_SENSITIVITY(30) PORT_KEYDELTA(10) PORT_PLAYER(1)
|
||||
|
||||
PORT_START("BRAKE")
|
||||
PORT_BIT(0xff, 0x00, IPT_PEDAL2) PORT_SENSITIVITY(30) PORT_KEYDELTA(10) PORT_PLAYER(1)
|
||||
PORT_BIT(0xff, 0x00, IPT_PEDAL2 ) PORT_SENSITIVITY(30) PORT_KEYDELTA(10) PORT_PLAYER(1)
|
||||
|
||||
PORT_START("GEARS") // fake to handle gear bits
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_PLAYER(1) PORT_NAME("GEAR N")
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_BUTTON2) PORT_PLAYER(1) PORT_NAME("GEAR 1")
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_BUTTON3) PORT_PLAYER(1) PORT_NAME("GEAR 2")
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_BUTTON4) PORT_PLAYER(1) PORT_NAME("GEAR 3")
|
||||
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_BUTTON5) PORT_PLAYER(1) PORT_NAME("GEAR 4")
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
static INPUT_PORTS_START( manxtt )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_COIN1)
|
||||
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_COIN2)
|
||||
PORT_SERVICE_NO_TOGGLE(0x04, IP_ACTIVE_LOW)
|
||||
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_SERVICE1)
|
||||
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_UNUSED)
|
||||
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_UNUSED)
|
||||
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_START1) PORT_NAME("P1 Start / VR")
|
||||
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_UNUSED)
|
||||
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_SERVICE_NO_TOGGLE(0x04, IP_ACTIVE_LOW )
|
||||
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("P1 Start / VR")
|
||||
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT(0xff, IP_ACTIVE_LOW, IPT_UNKNOWN)
|
||||
PORT_BIT(0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("IN2")
|
||||
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_BUTTON1) // shift up in Manx TT, Punch in Motoraid
|
||||
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_BUTTON2) // shift down in Manx TT, Kick in Motoraid
|
||||
PORT_BIT(0xcf, IP_ACTIVE_LOW, IPT_UNKNOWN)
|
||||
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Shift Up")
|
||||
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Shift Down")
|
||||
PORT_BIT(0xcf, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("IN3")
|
||||
PORT_BIT(0xff, IP_ACTIVE_LOW, IPT_UNKNOWN)
|
||||
PORT_BIT(0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("IN4")
|
||||
PORT_BIT(0xff, IP_ACTIVE_LOW, IPT_UNKNOWN)
|
||||
PORT_BIT(0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("ANA0") // throttle
|
||||
PORT_BIT(0xff, 0x00, IPT_PEDAL) PORT_SENSITIVITY(30) PORT_KEYDELTA(10) PORT_PLAYER(1)
|
||||
PORT_BIT(0xff, 0x00, IPT_PEDAL ) PORT_SENSITIVITY(30) PORT_KEYDELTA(10) PORT_PLAYER(1)
|
||||
|
||||
PORT_START("ANA1") // brake
|
||||
PORT_BIT(0xff, 0x00, IPT_PEDAL2) PORT_SENSITIVITY(30) PORT_KEYDELTA(10) PORT_PLAYER(1)
|
||||
PORT_BIT(0xff, 0x00, IPT_PEDAL2 ) PORT_SENSITIVITY(30) PORT_KEYDELTA(10) PORT_PLAYER(1)
|
||||
|
||||
PORT_START("ANA2") // bank
|
||||
PORT_BIT(0xff, 0x80, IPT_PADDLE) PORT_SENSITIVITY(30) PORT_KEYDELTA(10) PORT_PLAYER(1) PORT_REVERSE
|
||||
PORT_BIT(0xff, 0x80, IPT_PADDLE ) PORT_SENSITIVITY(30) PORT_KEYDELTA(10) PORT_PLAYER(1) PORT_REVERSE
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( motoraid )
|
||||
PORT_INCLUDE( manxtt )
|
||||
|
||||
PORT_MODIFY("IN2")
|
||||
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("P1 Punch")
|
||||
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("P1 Kick")
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
static INPUT_PORTS_START( srallyc )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_COIN1)
|
||||
@ -1889,7 +1902,7 @@ static INPUT_PORTS_START( srallyc )
|
||||
PORT_BIT(0xff, IP_ACTIVE_LOW, IPT_UNKNOWN)
|
||||
|
||||
PORT_START("IN2")
|
||||
PORT_BIT(0x70, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM_MEMBER(DEVICE_SELF, model2_state,srallyc_gearbox_r, nullptr)
|
||||
PORT_BIT(0x70, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM_MEMBER(DEVICE_SELF, model2_state,daytona_gearbox_r, nullptr)
|
||||
PORT_BIT(0x8f, IP_ACTIVE_LOW, IPT_UNKNOWN)
|
||||
|
||||
PORT_START("GEARS") // fake to handle gear bits
|
||||
@ -2029,6 +2042,25 @@ static INPUT_PORTS_START( dynabb )
|
||||
PORT_BIT(0xff, 0x00, IPT_PEDAL2) PORT_SENSITIVITY(100) PORT_KEYDELTA(50) PORT_PLAYER(2) PORT_NAME("P2 Bat Swing")
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( vstriker )
|
||||
PORT_INCLUDE(model2)
|
||||
|
||||
// oddly enough service mode returns standard 1-2-3 layout but actual ingame is 2-3-1
|
||||
// also bit 3 repeats bit 2 functionality.
|
||||
PORT_MODIFY("IN1")
|
||||
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("P1 Long Pass") PORT_PLAYER(1)
|
||||
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("P1 Shoot") PORT_PLAYER(1)
|
||||
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("P1 Short Pass") PORT_PLAYER(1)
|
||||
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_MODIFY("IN2")
|
||||
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("P2 Long Pass") PORT_PLAYER(2)
|
||||
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("P2 Shoot") PORT_PLAYER(2)
|
||||
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("P2 Short Pass") PORT_PLAYER(2)
|
||||
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(model2_state::model2_interrupt)
|
||||
{
|
||||
int scanline = param;
|
||||
@ -6127,39 +6159,39 @@ GAME( 1995, skytargt, 0, model2a, skytargt, model2a_state, 0,
|
||||
GAME( 1996, doaa, doa, model2a_0229, model2, model2a_state, doa, ROT0, "Sega", "Dead or Alive (Model 2A, Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1997, zeroguna, zerogun, model2a_5881, model2, model2a_state, zerogun, ROT0, "Psikyo", "Zero Gunner (Export, Model 2A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1997, zerogunaj, zerogun, model2a_5881, model2, model2a_state, zerogun, ROT0, "Psikyo", "Zero Gunner (Japan, Model 2A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1997, motoraid, 0, manxtt, manxtt, model2a_state, 0, ROT0, "Sega", "Motor Raid - Twin", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1997, motoraiddx,motoraid,manxtt, manxtt, model2a_state, 0, ROT0, "Sega", "Motor Raid - Twin/DX", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1997, motoraid, 0, manxtt, motoraid, model2a_state, 0, ROT0, "Sega", "Motor Raid - Twin", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1997, motoraiddx,motoraid,manxtt, motoraid, model2a_state, 0, ROT0, "Sega", "Motor Raid - Twin/DX", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1998, dynamcop, 0, model2a_5881, model2, model2a_state, genprot, ROT0, "Sega", "Dynamite Cop (Export, Model 2A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1998, dyndeka2, dynamcop,model2a_5881, model2, model2a_state, genprot, ROT0, "Sega", "Dynamite Deka 2 (Japan, Model 2A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1998, pltkidsa, pltkids, model2a_5881, model2, model2a_state, pltkids, ROT0, "Psikyo", "Pilot Kids (Model 2A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
|
||||
// Model 2B-CRX (SHARC, SCSP sound board)
|
||||
GAME( 1994, rchase2, 0, rchase2, rchase2, model2b_state, rchase2, ROT0, "Sega", "Rail Chase 2 (Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1994, vstriker, 0, model2b, model2, model2b_state, 0, ROT0, "Sega", "Virtua Striker (Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1994, vstrikero, vstriker, model2b, model2, model2b_state, 0, ROT0, "Sega", "Virtua Striker", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1995, fvipers, 0, model2b, model2, model2b_state, 0, ROT0, "Sega", "Fighting Vipers (Revision D)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1995, fvipersb, fvipers, model2b, model2, model2b_state, 0, ROT0, "Sega", "Fighting Vipers (Revision B)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1995, gunblade, 0, model2b, model2, model2b_state, 0, ROT0, "Sega", "Gunblade NY (Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1995, indy500, 0, indy500, srallyc, model2b_state, 0, ROT0, "Sega", "INDY 500 Twin (Revision A, Newer)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1995, indy500d, indy500, indy500, srallyc, model2b_state, 0, ROT0, "Sega", "INDY 500 Deluxe (Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1995, indy500to, indy500, indy500, srallyc, model2b_state, 0, ROT0, "Sega", "INDY 500 Twin (Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1995, von, 0, model2b, model2, model2b_state, 0, ROT0, "Sega", "Cyber Troopers Virtual-On (USA, Revision B)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1995, vonj, von, model2b, model2, model2b_state, 0, ROT0, "Sega", "Cyber Troopers Virtual-On (Japan, Revision B)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1996, schamp, 0, model2b, model2, model2b_state, 0, ROT0, "Sega", "Sonic Championship (USA)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1996, sfight, schamp, model2b, model2, model2b_state, 0, ROT0, "Sega", "Sonic the Fighters (Japan)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1996, lastbrnx, 0, model2b, model2, model2b_state, 0, ROT0, "Sega", "Last Bronx (Export, Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1996, lastbrnxu, lastbrnx, model2b, model2, model2b_state, 0, ROT0, "Sega", "Last Bronx (USA, Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1996, lastbrnxj, lastbrnx, model2b, model2, model2b_state, 0, ROT0, "Sega", "Last Bronx (Japan, Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1996, doa, 0, model2b_0229, model2, model2b_state, doa, ROT0, "Sega", "Dead or Alive (Model 2B, Revision B)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1996, sgt24h, 0, indy500, srallyc, model2b_state, sgt24h, ROT0, "Jaleco", "Super GT 24h", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1996, dynabb, 0, model2b, dynabb, model2b_state, 0, ROT0, "Sega", "Dynamite Baseball", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1997, dynabb97, 0, model2b, dynabb, model2b_state, 0, ROT0, "Sega", "Dynamite Baseball 97 (Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1997, overrevb, overrev, indy500, srallyc, model2b_state, 0, ROT0, "Jaleco", "Over Rev (Model 2B, Revision B)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1997, zerogun, 0, model2b_5881, model2, model2b_state, zerogun, ROT0, "Psikyo", "Zero Gunner (Export, Model 2B)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1997, zerogunj, zerogun, model2b_5881, model2, model2b_state, zerogun, ROT0, "Psikyo", "Zero Gunner (Japan, Model 2B)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1998, dynamcopb, dynamcop, model2b_5881, model2, model2b_state, genprot, ROT0, "Sega", "Dynamite Cop (Export, Model 2B)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1998, dyndeka2b, dynamcop, model2b_5881, model2, model2b_state, genprot, ROT0, "Sega", "Dynamite Deka 2 (Japan, Model 2B)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1998, pltkids, 0, model2b_5881, model2, model2b_state, pltkids, ROT0, "Psikyo", "Pilot Kids (Model 2B, Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1994, rchase2, 0, rchase2, rchase2, model2b_state, rchase2, ROT0, "Sega", "Rail Chase 2 (Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1994, vstriker, 0, model2b, vstriker, model2b_state, 0, ROT0, "Sega", "Virtua Striker (Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1994, vstrikero, vstriker, model2b, vstriker, model2b_state, 0, ROT0, "Sega", "Virtua Striker", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1995, fvipers, 0, model2b, model2, model2b_state, 0, ROT0, "Sega", "Fighting Vipers (Revision D)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1995, fvipersb, fvipers, model2b, model2, model2b_state, 0, ROT0, "Sega", "Fighting Vipers (Revision B)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1995, gunblade, 0, model2b, model2, model2b_state, 0, ROT0, "Sega", "Gunblade NY (Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1995, indy500, 0, indy500, srallyc, model2b_state, 0, ROT0, "Sega", "INDY 500 Twin (Revision A, Newer)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1995, indy500d, indy500, indy500, srallyc, model2b_state, 0, ROT0, "Sega", "INDY 500 Deluxe (Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1995, indy500to, indy500, indy500, srallyc, model2b_state, 0, ROT0, "Sega", "INDY 500 Twin (Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1995, von, 0, model2b, model2, model2b_state, 0, ROT0, "Sega", "Cyber Troopers Virtual-On (USA, Revision B)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1995, vonj, von, model2b, model2, model2b_state, 0, ROT0, "Sega", "Cyber Troopers Virtual-On (Japan, Revision B)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1996, schamp, 0, model2b, model2, model2b_state, 0, ROT0, "Sega", "Sonic Championship (USA)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1996, sfight, schamp, model2b, model2, model2b_state, 0, ROT0, "Sega", "Sonic the Fighters (Japan)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1996, lastbrnx, 0, model2b, model2, model2b_state, 0, ROT0, "Sega", "Last Bronx (Export, Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1996, lastbrnxu, lastbrnx, model2b, model2, model2b_state, 0, ROT0, "Sega", "Last Bronx (USA, Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1996, lastbrnxj, lastbrnx, model2b, model2, model2b_state, 0, ROT0, "Sega", "Last Bronx (Japan, Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1996, doa, 0, model2b_0229, model2, model2b_state, doa, ROT0, "Sega", "Dead or Alive (Model 2B, Revision B)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1996, sgt24h, 0, indy500, srallyc, model2b_state, sgt24h, ROT0, "Jaleco", "Super GT 24h", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1996, dynabb, 0, model2b, dynabb, model2b_state, 0, ROT0, "Sega", "Dynamite Baseball", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1997, dynabb97, 0, model2b, dynabb, model2b_state, 0, ROT0, "Sega", "Dynamite Baseball 97 (Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1997, overrevb, overrev, indy500, srallyc, model2b_state, 0, ROT0, "Jaleco", "Over Rev (Model 2B, Revision B)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1997, zerogun, 0, model2b_5881, model2, model2b_state, zerogun, ROT0, "Psikyo", "Zero Gunner (Export, Model 2B)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1997, zerogunj, zerogun, model2b_5881, model2, model2b_state, zerogun, ROT0, "Psikyo", "Zero Gunner (Japan, Model 2B)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1998, dynamcopb, dynamcop, model2b_5881, model2, model2b_state, genprot, ROT0, "Sega", "Dynamite Cop (Export, Model 2B)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1998, dyndeka2b, dynamcop, model2b_5881, model2, model2b_state, genprot, ROT0, "Sega", "Dynamite Deka 2 (Japan, Model 2B)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1998, pltkids, 0, model2b_5881, model2, model2b_state, pltkids, ROT0, "Psikyo", "Pilot Kids (Model 2B, Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
|
||||
// Model 2C-CRX (TGPx4, SCSP sound board)
|
||||
GAME( 1996, skisuprg, 0, model2c, model2, model2c_state, 0, ROT0, "Sega", "Sega Ski Super G", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS|MACHINE_UNEMULATED_PROTECTION )
|
||||
|
@ -144,7 +144,7 @@ public:
|
||||
uint8_t m_lightgun_mux;
|
||||
|
||||
DECLARE_READ8_MEMBER(model2_crx_in_r);
|
||||
DECLARE_CUSTOM_INPUT_MEMBER(srallyc_gearbox_r);
|
||||
DECLARE_CUSTOM_INPUT_MEMBER(daytona_gearbox_r);
|
||||
DECLARE_CUSTOM_INPUT_MEMBER(rchase2_devices_r);
|
||||
DECLARE_READ32_MEMBER(timers_r);
|
||||
DECLARE_WRITE32_MEMBER(timers_w);
|
||||
|
@ -804,7 +804,7 @@ void model2_renderer::model2_3d_render(triangle *tri, const rectangle &cliprect)
|
||||
// TODO: this seems to be more accurate but it breaks in some cases
|
||||
//rectangle vp(tri->viewport[0] - 8, tri->viewport[2] - tri->viewport[0], tri->viewport[1] - 90, tri->viewport[3] - tri->viewport[1]);
|
||||
vp &= cliprect;
|
||||
|
||||
|
||||
extra.state = &m_state;
|
||||
extra.lumabase = ((tri->texheader[1] & 0xFF) << 7) + ((tri->luma >> 5) ^ 0x7);
|
||||
extra.colorbase = (tri->texheader[3] >> 6) & 0x3FF;
|
||||
|
Loading…
Reference in New Issue
Block a user