mirror of
https://github.com/holub/mame
synced 2025-05-22 13:48:55 +03:00
removed fake digital steeringwheel from driver + improved analog controls for chasehq and contcirc
This commit is contained in:
parent
c677360a81
commit
803bd54852
@ -637,9 +637,6 @@ Continental Circus
|
||||
Road priority incompletely understood - e.g. start barrier should
|
||||
be darkening LH edge of road as well as RH edge.
|
||||
|
||||
The 8 level accel / brake should be possible to control with
|
||||
analogue pedal. Don't think mame can do this.
|
||||
|
||||
Junk (?) stuff often written in high byte of sound word.
|
||||
|
||||
Speculative YM2610 a/b/c channel filtering as these may be
|
||||
@ -902,7 +899,6 @@ static void parse_control( running_machine &machine )
|
||||
|
||||
WRITE16_MEMBER(taitoz_state::cpua_ctrl_w)
|
||||
{
|
||||
|
||||
if ((data & 0xff00) && ((data & 0xff) == 0))
|
||||
data = data >> 8; /* for Wgp */
|
||||
|
||||
@ -1034,7 +1030,6 @@ READ16_MEMBER(taitoz_state::eep_latch_r)
|
||||
|
||||
WRITE16_MEMBER(taitoz_state::spacegun_output_bypass_w)
|
||||
{
|
||||
|
||||
switch (offset)
|
||||
{
|
||||
case 0x03:
|
||||
@ -1059,31 +1054,20 @@ WRITE16_MEMBER(taitoz_state::spacegun_output_bypass_w)
|
||||
GAME INPUTS
|
||||
**********************************************************/
|
||||
|
||||
CUSTOM_INPUT_MEMBER(taitoz_state::taitoz_pedal_r)
|
||||
{
|
||||
static const UINT8 retval[8] = { 0,1,3,2,6,7,5,4 };
|
||||
const char *tag = (const char *)param;
|
||||
return retval[ioport(tag)->read_safe(0) & 7];
|
||||
}
|
||||
|
||||
|
||||
READ8_MEMBER(taitoz_state::contcirc_input_bypass_r)
|
||||
{
|
||||
/* Bypass TC0220IOC controller for analog input */
|
||||
|
||||
UINT8 port = tc0220ioc_port_r(m_tc0220ioc, 0); /* read port number */
|
||||
int steer = 0;
|
||||
int fake = ioport("FAKE")->read();
|
||||
|
||||
if (!(fake & 0x10)) /* Analogue steer (the real control method) */
|
||||
{
|
||||
/* center around zero and reduce span to 0xc0 */
|
||||
steer = ((ioport("STEER")->read() - 0x80) * 0xc0) / 0x100;
|
||||
|
||||
}
|
||||
else /* Digital steer */
|
||||
{
|
||||
if (fake & 0x04)
|
||||
{
|
||||
steer = 0x60;
|
||||
}
|
||||
else if (fake & 0x08)
|
||||
{
|
||||
steer = 0xff9f;
|
||||
}
|
||||
}
|
||||
UINT16 steer = 0xff80 + ioport("STEER")->read_safe(0x80);
|
||||
|
||||
switch (port)
|
||||
{
|
||||
@ -1104,25 +1088,7 @@ READ8_MEMBER(taitoz_state::chasehq_input_bypass_r)
|
||||
/* Bypass TC0220IOC controller for extra inputs */
|
||||
|
||||
UINT8 port = tc0220ioc_port_r(m_tc0220ioc, 0); /* read port number */
|
||||
int steer = 0;
|
||||
int fake = ioport("FAKE")->read();
|
||||
|
||||
if (!(fake & 0x10)) /* Analogue steer (the real control method) */
|
||||
{
|
||||
/* center around zero */
|
||||
steer = ioport("STEER")->read() - 0x80;
|
||||
}
|
||||
else /* Digital steer */
|
||||
{
|
||||
if (fake & 0x04)
|
||||
{
|
||||
steer = 0xff80;
|
||||
}
|
||||
else if (fake & 0x08)
|
||||
{
|
||||
steer = 0x7f;
|
||||
}
|
||||
}
|
||||
UINT16 steer = 0xff80 + ioport("STEER")->read_safe(0x80);
|
||||
|
||||
switch (port)
|
||||
{
|
||||
@ -1209,25 +1175,7 @@ WRITE16_MEMBER(taitoz_state::bshark_stick_w)
|
||||
|
||||
READ16_MEMBER(taitoz_state::sci_steer_input_r)
|
||||
{
|
||||
int steer = 0;
|
||||
int fake = ioport("FAKE")->read();
|
||||
|
||||
if (!(fake & 0x10)) /* Analogue steer (the real control method) */
|
||||
{
|
||||
/* center around zero and reduce span to 0xc0 */
|
||||
steer = ((ioport("STEER")->read() - 0x80) * 0xc0) / 0x100;
|
||||
}
|
||||
else /* Digital steer */
|
||||
{
|
||||
if (fake & 0x04)
|
||||
{
|
||||
steer = 0xffa0;
|
||||
}
|
||||
else if (fake & 0x08)
|
||||
{
|
||||
steer = 0x5f;
|
||||
}
|
||||
}
|
||||
UINT16 steer = 0xff80 + ioport("STEER")->read_safe(0x80);
|
||||
|
||||
switch (offset)
|
||||
{
|
||||
@ -1246,7 +1194,6 @@ READ16_MEMBER(taitoz_state::sci_steer_input_r)
|
||||
|
||||
READ16_MEMBER(taitoz_state::spacegun_input_bypass_r)
|
||||
{
|
||||
|
||||
switch (offset)
|
||||
{
|
||||
case 0x03:
|
||||
@ -1299,25 +1246,7 @@ WRITE16_MEMBER(taitoz_state::spacegun_gun_output_w)
|
||||
|
||||
READ16_MEMBER(taitoz_state::dblaxle_steer_input_r)
|
||||
{
|
||||
int steer = 0;
|
||||
int fake = ioport("FAKE")->read();
|
||||
|
||||
if (!(fake & 0x10)) /* Analogue steer (the real control method) */
|
||||
{
|
||||
/* center around zero and reduce span to 0x80 */
|
||||
steer = ((ioport("STEER")->read() - 0x80) * 0x80) / 0x100;
|
||||
}
|
||||
else /* Digital steer */
|
||||
{
|
||||
if (fake & 0x04)
|
||||
{
|
||||
steer = 0xffc0;
|
||||
}
|
||||
else if (fake & 0x08)
|
||||
{
|
||||
steer = 0x3f;
|
||||
}
|
||||
}
|
||||
UINT16 steer = 0xff80 + ioport("STEER")->read_safe(0x80);
|
||||
|
||||
switch (offset)
|
||||
{
|
||||
@ -1368,7 +1297,6 @@ logerror("CPU #0 PC %06x: warning - write %04x to motor cpu %03x\n",cpu_get_pc(&
|
||||
|
||||
WRITE16_MEMBER(taitoz_state::nightstr_motor_w)
|
||||
{
|
||||
|
||||
/* Despite the informative notes at the top, the high end of the word doesn't seem to output any useful data. */
|
||||
/* I've added this so someone else can finish it. */
|
||||
switch (offset)
|
||||
@ -1422,14 +1350,12 @@ static void reset_sound_region( running_machine &machine )
|
||||
|
||||
WRITE8_MEMBER(taitoz_state::sound_bankswitch_w)
|
||||
{
|
||||
|
||||
m_banknum = data & 7;
|
||||
reset_sound_region(machine());
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(taitoz_state::taitoz_sound_w)
|
||||
{
|
||||
|
||||
if (offset == 0)
|
||||
tc0140syt_port_w(m_tc0140syt, 0, data & 0xff);
|
||||
else if (offset == 1)
|
||||
@ -1448,7 +1374,6 @@ WRITE16_MEMBER(taitoz_state::taitoz_sound_w)
|
||||
|
||||
READ16_MEMBER(taitoz_state::taitoz_sound_r)
|
||||
{
|
||||
|
||||
if (offset == 1)
|
||||
return (tc0140syt_comm_r(m_tc0140syt, 0) & 0xff);
|
||||
else
|
||||
@ -1458,7 +1383,6 @@ READ16_MEMBER(taitoz_state::taitoz_sound_r)
|
||||
#if 0
|
||||
WRITE16_MEMBER(taitoz_state::taitoz_msb_sound_w)
|
||||
{
|
||||
|
||||
if (offset == 0)
|
||||
tc0140syt_port_w(m_tc0140syt, 0, (data >> 8) & 0xff);
|
||||
else if (offset == 1)
|
||||
@ -1477,7 +1401,6 @@ WRITE16_MEMBER(taitoz_state::taitoz_msb_sound_w)
|
||||
|
||||
READ16_MEMBER(taitoz_state::taitoz_msb_sound_r)
|
||||
{
|
||||
|
||||
if (offset == 1)
|
||||
return ((tc0140syt_comm_r(m_tc0140syt, 0) & 0xff) << 8);
|
||||
else
|
||||
@ -1913,7 +1836,7 @@ ADDRESS_MAP_END
|
||||
PORT_DIPSETTING( 0x7d, "-03" ) \
|
||||
PORT_DIPSETTING( 0x7e, "-02" ) \
|
||||
PORT_DIPSETTING( 0x7f, "-01" ) \
|
||||
PORT_DIPSETTING( 0x80, "+-00" ) \
|
||||
PORT_DIPSETTING( 0x80, "+00" ) \
|
||||
PORT_DIPSETTING( 0x81, "+01" ) \
|
||||
PORT_DIPSETTING( 0x82, "+02" ) \
|
||||
PORT_DIPSETTING( 0x83, "+03" ) \
|
||||
@ -2045,31 +1968,33 @@ ADDRESS_MAP_END
|
||||
|
||||
static INPUT_PORTS_START( contcirc )
|
||||
PORT_START("DSWA")
|
||||
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW A:1")
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Upright ) )
|
||||
PORT_DIPSETTING( 0x00, "Cockpit" ) // analogue accelerator pedal
|
||||
PORT_DIPUNUSED_DIPLOC( 0x02, 0x02, "SW A:2" )
|
||||
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW A:1")
|
||||
PORT_DIPSETTING( 0x01, "Cockpit" ) // analog pedals
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) // digital pedals, no brake?, allow free steering wheel
|
||||
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Continue_Price ) ) PORT_DIPLOCATION("SW A:2")
|
||||
PORT_DIPSETTING( 0x02, "Same as Start" )
|
||||
PORT_DIPSETTING( 0x00, "Discount" )
|
||||
PORT_SERVICE_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW A:3" )
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW A:4")
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW A:4")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( On ) )
|
||||
TAITO_COINAGE_WORLD_LOC(SW A)
|
||||
|
||||
PORT_START("DSWB")
|
||||
PORT_DIPNAME( 0x03, 0x03, "Difficulty 1 (time/speed)" ) PORT_DIPLOCATION("SW B:1,2")
|
||||
PORT_DIPNAME( 0x03, 0x03, "Difficulty 1 (time/speed)" ) PORT_DIPLOCATION("SW B:1,2")
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Easy ) )
|
||||
PORT_DIPSETTING( 0x03, DEF_STR( Normal ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Hard ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
|
||||
PORT_DIPNAME( 0x0c, 0x0c, "Difficulty 2 (other cars)" ) PORT_DIPLOCATION("SW B:3,4")
|
||||
PORT_DIPNAME( 0x0c, 0x0c, "Difficulty 2 (other cars)" ) PORT_DIPLOCATION("SW B:3,4")
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Easy ) )
|
||||
PORT_DIPSETTING( 0x0c, DEF_STR( Normal ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Hard ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
|
||||
PORT_DIPNAME( 0x10, 0x10, "Steering wheel" ) PORT_DIPLOCATION("SW B:5") //not sure what effect this has
|
||||
PORT_DIPNAME( 0x10, 0x00, "Steering Wheel" ) PORT_DIPLOCATION("SW B:5") // no function in Cockpit cabinet?
|
||||
PORT_DIPSETTING( 0x10, "Free" )
|
||||
PORT_DIPSETTING( 0x00, "Locked" )
|
||||
PORT_DIPNAME( 0x20, 0x00, "Enable 3d alternate frames" ) PORT_DIPLOCATION("SW B:6")
|
||||
PORT_DIPNAME( 0x20, 0x00, "3D Effect" ) PORT_DIPLOCATION("SW B:6") // unlisted in manual
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( On ) )
|
||||
PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW B:7" )
|
||||
@ -2081,32 +2006,30 @@ static INPUT_PORTS_START( contcirc )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN2 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_COIN1 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_PLAYER(1) /* 3 for accel [7 levels] */
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1) /* main accel key */
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, taitoz_state, taitoz_pedal_r, "GAS") PORT_CONDITION("DSWA", 0x01, EQUALS, 0x01)
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Gas Switch") PORT_CONDITION("DSWA", 0x01, EQUALS, 0x00)
|
||||
|
||||
PORT_START("IN1") /* b3 not mapped: standardized on holding b4=lo gear */
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_TILT )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(1) PORT_TOGGLE /* gear shift lo/hi */
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON7 ) PORT_PLAYER(1) /* 3 for brake [7 levels] */
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON6 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1) /* main brake key */
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("Shifter") PORT_TOGGLE
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, taitoz_state, taitoz_pedal_r, "BRAKE") PORT_CONDITION("DSWA", 0x01, EQUALS, 0x01)
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Brake Switch") PORT_CONDITION("DSWA", 0x01, EQUALS, 0x00) // no function?
|
||||
|
||||
PORT_START("IN2") /* unused */
|
||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("STEER") /* "handle" i.e. steering */
|
||||
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(15) PORT_REVERSE PORT_PLAYER(1)
|
||||
PORT_START("STEER")
|
||||
PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_MINMAX(0x20,0xe0) PORT_SENSITIVITY(100) PORT_KEYDELTA(4) PORT_REVERSE PORT_NAME("Steering Wheel") PORT_CONDITION("DSWB", 0x10, EQUALS, 0x00)
|
||||
PORT_BIT( 0xffff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(2) PORT_REVERSE PORT_NAME("Steering Wheel") PORT_CONDITION("DSWB", 0x10, EQUALS, 0x10)
|
||||
|
||||
PORT_START("FAKE") /* fake allowing digital steer */
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_PLAYER(1)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_PLAYER(1)
|
||||
PORT_DIPNAME( 0x10, 0x00, "Steering type" )
|
||||
PORT_DIPSETTING( 0x10, "Digital" )
|
||||
PORT_DIPSETTING( 0x00, "Analogue" )
|
||||
PORT_START("GAS")
|
||||
PORT_BIT( 0x07, 0x00, IPT_PEDAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(1) PORT_NAME("Gas Pedal") PORT_CONDITION("DSWA", 0x01, EQUALS, 0x01)
|
||||
|
||||
PORT_START("BRAKE")
|
||||
PORT_BIT( 0x07, 0x00, IPT_PEDAL2 ) PORT_SENSITIVITY(25) PORT_KEYDELTA(1) PORT_NAME("Brake Pedal") PORT_CONDITION("DSWA", 0x01, EQUALS, 0x01)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( contcrcu )
|
||||
@ -2118,34 +2041,34 @@ INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( chasehq ) // IN3-6 perhaps used with cockpit setup? //
|
||||
PORT_START("DSWA")
|
||||
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW A:1,2") /* US Manual states DIPS 1 & 2 "MUST REMAIN OFF" */
|
||||
PORT_DIPSETTING( 0x03, "Upright / Steering Lock" )
|
||||
PORT_DIPSETTING( 0x02, "Upright / No Steering Lock" )
|
||||
PORT_DIPSETTING( 0x01, "Full Throttle Convert, Cockpit" )
|
||||
PORT_DIPSETTING( 0x00, "Full Throttle Convert, Deluxe" )
|
||||
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW A:1,2") /* US Manual states DIPS 1 & 2 "MUST REMAIN OFF" */
|
||||
PORT_DIPSETTING( 0x03, "Upright / Steering Lock" ) // digital pedals, locked steering wheel
|
||||
PORT_DIPSETTING( 0x02, "Upright / No Steering Lock" ) // digital pedals, free steering wheel
|
||||
PORT_DIPSETTING( 0x01, "Full Throttle Convert, Cockpit" ) // analog pedals, locked steering wheel
|
||||
PORT_DIPSETTING( 0x00, "Full Throttle Convert, Deluxe" ) // analog pedals, locked steering wheel, motor
|
||||
PORT_SERVICE_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW A:3" )
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW A:4")
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW A:4")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( On ) )
|
||||
TAITO_COINAGE_WORLD_LOC(SW A)
|
||||
|
||||
PORT_START("DSWB")
|
||||
TAITO_DIFFICULTY_LOC(SW B)
|
||||
PORT_DIPNAME( 0x0c, 0x0c, "Timer Setting" ) PORT_DIPLOCATION("SW B:3,4")
|
||||
PORT_DIPNAME( 0x0c, 0x0c, "Timer Setting" ) PORT_DIPLOCATION("SW B:3,4")
|
||||
PORT_DIPSETTING( 0x08, "70 Seconds" )
|
||||
PORT_DIPSETTING( 0x04, "65 Seconds" )
|
||||
PORT_DIPSETTING( 0x0c, "60 Seconds" )
|
||||
PORT_DIPSETTING( 0x00, "55 Seconds" )
|
||||
PORT_DIPNAME( 0x10, 0x10, "Turbos Stocked" ) PORT_DIPLOCATION("SW B:5")
|
||||
PORT_DIPNAME( 0x10, 0x10, "Turbos Stocked" ) PORT_DIPLOCATION("SW B:5")
|
||||
PORT_DIPSETTING( 0x10, "3" )
|
||||
PORT_DIPSETTING( 0x00, "5" )
|
||||
PORT_DIPNAME( 0x20, 0x20, "Discounted Continue Play" ) PORT_DIPLOCATION("SW B:6") /* Full coin price to start, 1 coin to continue */
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40, 0x40, "Damage Cleared at Continue" ) PORT_DIPLOCATION("SW B:7")
|
||||
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Continue_Price ) ) PORT_DIPLOCATION("SW B:6")
|
||||
PORT_DIPSETTING( 0x20, "Same as Start" )
|
||||
PORT_DIPSETTING( 0x00, "Discount" )
|
||||
PORT_DIPNAME( 0x40, 0x40, "Clear Damage on Continue" ) PORT_DIPLOCATION("SW B:7")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW B:8")
|
||||
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW B:8")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
|
||||
|
||||
@ -2155,19 +2078,17 @@ static INPUT_PORTS_START( chasehq ) // IN3-6 perhaps used with cockpit setup? //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN1 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_COIN2 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) /* brake */
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, taitoz_state, taitoz_pedal_r, "BRAKE") PORT_CONDITION("DSWA", 0x02, EQUALS, 0x00)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Brake Switch") PORT_CONDITION("DSWA", 0x02, EQUALS, 0x02)
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) /* turbo */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Turbo")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_TILT )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Calibrate") // ?
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_PLAYER(1) PORT_TOGGLE /* gear */
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) /* accel */
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("Shifter") PORT_TOGGLE
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, taitoz_state, taitoz_pedal_r, "GAS") PORT_CONDITION("DSWA", 0x02, EQUALS, 0x00)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Gas Switch") PORT_CONDITION("DSWA", 0x02, EQUALS, 0x02)
|
||||
|
||||
PORT_START("IN2") /* unused */
|
||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -2212,15 +2133,15 @@ static INPUT_PORTS_START( chasehq ) // IN3-6 perhaps used with cockpit setup? //
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("STEER") /* steering */
|
||||
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(15) PORT_PLAYER(1)
|
||||
PORT_START("STEER")
|
||||
PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_MINMAX(0x20,0xe0) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_NAME("Steering Wheel") PORT_CONDITION("DSWA", 0x03, NOTEQUALS, 0x02)
|
||||
PORT_BIT( 0xffff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(2) PORT_NAME("Steering Wheel") PORT_CONDITION("DSWA", 0x03, EQUALS, 0x02)
|
||||
|
||||
PORT_START("FAKE") /* fake allowing digital steer */
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_PLAYER(1)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_PLAYER(1)
|
||||
PORT_DIPNAME( 0x10, 0x00, "Steering type" )
|
||||
PORT_DIPSETTING( 0x10, "Digital" )
|
||||
PORT_DIPSETTING( 0x00, "Analogue" )
|
||||
PORT_START("GAS")
|
||||
PORT_BIT( 0x07, 0x00, IPT_PEDAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(1) PORT_NAME("Gas Pedal") PORT_CONDITION("DSWA", 0x02, EQUALS, 0x00)
|
||||
|
||||
PORT_START("BRAKE")
|
||||
PORT_BIT( 0x07, 0x00, IPT_PEDAL2 ) PORT_SENSITIVITY(25) PORT_KEYDELTA(1) PORT_NAME("Brake Pedal") PORT_CONDITION("DSWA", 0x02, EQUALS, 0x00)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( chasehqj )
|
||||
@ -2399,53 +2320,53 @@ INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( sci )
|
||||
PORT_START("DSWA")
|
||||
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW A:1")
|
||||
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW A:1")
|
||||
PORT_DIPSETTING( 0x01, "Cockpit" )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
|
||||
PORT_DIPUNUSED_DIPLOC( 0x02, 0x02, "SW A:2" ) /* Manual states "MUST REMAIN OFF" */
|
||||
PORT_SERVICE_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW A:3" )
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW A:4")
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW A:4")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( On ) )
|
||||
TAITO_COINAGE_WORLD_LOC(SW A)
|
||||
|
||||
PORT_START("DSWB")
|
||||
TAITO_DIFFICULTY_LOC(SW B)
|
||||
PORT_DIPNAME( 0x0c, 0x0c, "Timer Setting" ) PORT_DIPLOCATION("SW B:3,4")
|
||||
PORT_DIPNAME( 0x0c, 0x0c, "Timer Setting" ) PORT_DIPLOCATION("SW B:3,4")
|
||||
PORT_DIPSETTING( 0x08, "70 Seconds" )
|
||||
PORT_DIPSETTING( 0x04, "65 Seconds" )
|
||||
PORT_DIPSETTING( 0x0c, "60 Seconds" )
|
||||
PORT_DIPSETTING( 0x00, "55 Seconds" )
|
||||
PORT_DIPNAME( 0x10, 0x10, "Turbos Stocked" ) PORT_DIPLOCATION("SW B:5")
|
||||
PORT_DIPNAME( 0x10, 0x10, "Turbos Stocked" ) PORT_DIPLOCATION("SW B:5")
|
||||
PORT_DIPSETTING( 0x10, "3" )
|
||||
PORT_DIPSETTING( 0x00, "5" )
|
||||
PORT_DIPNAME( 0x20, 0x20, "Steering Radius" ) PORT_DIPLOCATION("SW B:6")
|
||||
PORT_DIPNAME( 0x20, 0x20, "Steering Radius" ) PORT_DIPLOCATION("SW B:6")
|
||||
PORT_DIPSETTING( 0x00, "270 Degree" )
|
||||
PORT_DIPSETTING( 0x20, "360 Degree" )
|
||||
PORT_DIPNAME( 0x40, 0x40, "Damage Cleared at Continue" ) PORT_DIPLOCATION("SW B:7")
|
||||
PORT_DIPNAME( 0x40, 0x40, "Clear Damage on Continue" ) PORT_DIPLOCATION("SW B:7")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80, 0x80, "Siren Volume" ) PORT_DIPLOCATION("SW B:8")
|
||||
PORT_DIPNAME( 0x80, 0x80, "Siren Volume" ) PORT_DIPLOCATION("SW B:8")
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Normal ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Low ) )
|
||||
|
||||
PORT_START("IN0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) /* fire */
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Gun Trigger")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) /* brake */
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Brake Switch")
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(1) /* turbo */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Turbo")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_TILT )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(1) /* "center" */
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Center")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_PLAYER(1) PORT_TOGGLE /* gear */
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) /* accel */
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("Shifter") PORT_TOGGLE
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Gas Switch")
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
@ -2453,14 +2374,7 @@ static INPUT_PORTS_START( sci )
|
||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("STEER") /* steering */
|
||||
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(15) PORT_PLAYER(1)
|
||||
|
||||
PORT_START("FAKE") /* fake allowing digital steer */
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_PLAYER(1)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_PLAYER(1)
|
||||
PORT_DIPNAME( 0x10, 0x00, "Steering type" )
|
||||
PORT_DIPSETTING( 0x10, "Digital" )
|
||||
PORT_DIPSETTING( 0x00, "Analogue" )
|
||||
PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_MINMAX(0x20,0xe0) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_NAME("Steering Wheel")
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( sciu )
|
||||
@ -2776,14 +2690,7 @@ static INPUT_PORTS_START( dblaxle )
|
||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("STEER") /* steering */
|
||||
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(40) PORT_KEYDELTA(10) PORT_PLAYER(1)
|
||||
|
||||
PORT_START("FAKE") /* fake allowing digital steer */
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_PLAYER(1)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_PLAYER(1)
|
||||
PORT_DIPNAME( 0x10, 0x00, "Steering type" )
|
||||
PORT_DIPSETTING( 0x10, "Digital" )
|
||||
PORT_DIPSETTING( 0x00, "Analogue" )
|
||||
PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_MINMAX(0x40,0xc0) PORT_SENSITIVITY(100) PORT_KEYDELTA(4) PORT_NAME("Steering Wheel")
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( pwheelsj )
|
||||
|
@ -11,7 +11,7 @@ class taitoz_state : public driver_device
|
||||
{
|
||||
public:
|
||||
taitoz_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag) ,
|
||||
: driver_device(mconfig, type, tag),
|
||||
m_spriteram(*this, "spriteram"){ }
|
||||
|
||||
/* memory pointers */
|
||||
@ -74,6 +74,7 @@ public:
|
||||
DECLARE_READ16_MEMBER(sci_spriteframe_r);
|
||||
DECLARE_WRITE16_MEMBER(sci_spriteframe_w);
|
||||
DECLARE_WRITE16_MEMBER(contcirc_out_w);
|
||||
DECLARE_CUSTOM_INPUT_MEMBER(taitoz_pedal_r);
|
||||
};
|
||||
|
||||
/*----------- defined in video/taito_z.c -----------*/
|
||||
|
Loading…
Reference in New Issue
Block a user