mirror of
https://github.com/holub/mame
synced 2025-04-24 09:20:02 +03:00
model2.cpp: Input port rationalization (nw)
This commit is contained in:
parent
d8754465c2
commit
03752f33a3
@ -380,6 +380,24 @@ MACHINE_START_MEMBER(model2_state,model2)
|
||||
{
|
||||
m_copro_fifoin_data = make_unique_clear<uint32_t[]>(COPRO_FIFOIN_SIZE);
|
||||
m_copro_fifoout_data = make_unique_clear<uint32_t[]>(COPRO_FIFOOUT_SIZE);
|
||||
|
||||
m_port_1c00004 = 1;
|
||||
m_port_1c00006 = 2;
|
||||
m_port_1c00010 = 0;
|
||||
m_port_1c00012 = 1;
|
||||
m_port_1c00014 = 2;
|
||||
}
|
||||
|
||||
MACHINE_START_MEMBER(model2_state,srallyc)
|
||||
{
|
||||
m_copro_fifoin_data = make_unique_clear<uint32_t[]>(COPRO_FIFOIN_SIZE);
|
||||
m_copro_fifoout_data = make_unique_clear<uint32_t[]>(COPRO_FIFOOUT_SIZE);
|
||||
|
||||
m_port_1c00004 = 2;
|
||||
m_port_1c00006 = 3;
|
||||
m_port_1c00010 = 0;
|
||||
m_port_1c00012 = 1;
|
||||
m_port_1c00014 = 4;
|
||||
}
|
||||
|
||||
MACHINE_RESET_MEMBER(model2_state,model2_common)
|
||||
@ -526,30 +544,54 @@ WRITE32_MEMBER(model2_state::videoctl_w)
|
||||
COMBINE_DATA(&m_videocontrol);
|
||||
}
|
||||
|
||||
CUSTOM_INPUT_MEMBER(model2_state::_1c00000_r)
|
||||
READ8_MEMBER(model2_state::model2_crx_in_r)
|
||||
{
|
||||
uint32_t ret = m_in0->read();
|
||||
uint8_t input = 0xff;
|
||||
|
||||
if(m_ctrlmode == 0)
|
||||
switch (offset)
|
||||
{
|
||||
return ret;
|
||||
case 0x01:
|
||||
input = m_in[0]->read();
|
||||
if (m_ctrlmode != 0)
|
||||
input = (input & ~0x0030) | 0x00d0 | (m_eeprom->do_read() << 5);
|
||||
break;
|
||||
case 0x02:
|
||||
input = m_in[m_port_1c00004]->read();
|
||||
break;
|
||||
case 0x03:
|
||||
input = m_in[m_port_1c00006]->read();
|
||||
break;
|
||||
case 0x06:
|
||||
// 2A-CRX only?
|
||||
input = (m_screen->vblank() << 3) | 0xf7;
|
||||
break;
|
||||
case 0x08:
|
||||
input = m_in[m_port_1c00010]->read();
|
||||
break;
|
||||
case 0x09:
|
||||
input = m_in[m_port_1c00012]->read();
|
||||
break;
|
||||
case 0x0a:
|
||||
input = m_in[m_port_1c00014]->read();
|
||||
break;
|
||||
case 0x0c:
|
||||
case 0x0d:
|
||||
input = hotd_lightgun_r(space, offset - 0x0c);
|
||||
break;
|
||||
case 0x0e:
|
||||
// these must be high
|
||||
input &= ~0x1a;
|
||||
break;
|
||||
case 0x0f:
|
||||
if (m_analog_channel < 4)
|
||||
{
|
||||
input = m_analog_ports[m_analog_channel].read_safe(0);
|
||||
++m_analog_channel;
|
||||
}
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
ret &= ~0x0030;
|
||||
return ret | 0x00d0 | (m_eeprom->do_read() << 5);
|
||||
}
|
||||
}
|
||||
|
||||
CUSTOM_INPUT_MEMBER(model2_state::_1c0001c_r)
|
||||
{
|
||||
uint32_t iptval = 0x00ff;
|
||||
if(m_analog_channel < 4)
|
||||
{
|
||||
iptval = m_analog_ports[m_analog_channel].read_safe(0);
|
||||
++m_analog_channel;
|
||||
}
|
||||
return iptval;
|
||||
return input;
|
||||
}
|
||||
|
||||
/* PORT_DIPSETTING( 0x00, "0" ) // 0: neutral
|
||||
@ -652,7 +694,7 @@ CUSTOM_INPUT_MEMBER(model2_state::srallyc_gearbox_r)
|
||||
|
||||
CUSTOM_INPUT_MEMBER(model2_state::rchase2_devices_r)
|
||||
{
|
||||
return 0xffff;
|
||||
return 0xff;
|
||||
}
|
||||
|
||||
WRITE32_MEMBER(model2_state::rchase2_devices_w)
|
||||
@ -1116,9 +1158,9 @@ WRITE32_MEMBER(model2_state::geo_w)
|
||||
/*****************************************************************************/
|
||||
|
||||
|
||||
READ32_MEMBER(model2_state::hotd_lightgun_r)
|
||||
READ8_MEMBER(model2_state::hotd_lightgun_r)
|
||||
{
|
||||
uint16_t res = 0xffff;
|
||||
uint8_t res = 0xff;
|
||||
|
||||
if(m_lightgun_mux < 8)
|
||||
res = (m_lightgun_ports[m_lightgun_mux >> 1].read_safe(0) >> ((m_lightgun_mux & 1)*8)) & 0xff;
|
||||
@ -1126,7 +1168,7 @@ READ32_MEMBER(model2_state::hotd_lightgun_r)
|
||||
{
|
||||
uint16_t p1x,p1y,p2x,p2y;
|
||||
|
||||
res = 0xfffc;
|
||||
res = 0xfc;
|
||||
|
||||
p1x = m_lightgun_ports[1].read_safe(0);
|
||||
p1y = m_lightgun_ports[0].read_safe(0);
|
||||
@ -1142,7 +1184,10 @@ READ32_MEMBER(model2_state::hotd_lightgun_r)
|
||||
}
|
||||
|
||||
/* upper bits are presumably related to lightgun latches */
|
||||
return 0x000c0000 | res;
|
||||
if (offset == 1)
|
||||
return 0x0c;
|
||||
else
|
||||
return res;
|
||||
}
|
||||
|
||||
WRITE32_MEMBER(model2_state::hotd_lightgun_w)
|
||||
@ -1547,6 +1592,22 @@ READ32_MEMBER(model2_state::model2o_fifoctrl_r)
|
||||
return 0xffffffff;
|
||||
}
|
||||
|
||||
READ8_MEMBER(model2_state::model2o_in_r)
|
||||
{
|
||||
// TODO: original model 2 actually uses a separate board for inputs, which transmits them to dual-port RAM
|
||||
switch (offset)
|
||||
{
|
||||
case 0x00: return m_steer.read_safe(0xff);
|
||||
case 0x01: return m_accel.read_safe(0xff);
|
||||
case 0x02: return m_brake.read_safe(0xff);
|
||||
case 0x08: return m_in[0]->read();
|
||||
case 0x09: return m_in[1]->read();
|
||||
case 0x0a: return m_in[2]->read();
|
||||
case 0x0f: return (m_screen->vblank() << 3) | 0xf7;
|
||||
default: return 0xff;
|
||||
}
|
||||
}
|
||||
|
||||
/* original Model 2 overrides */
|
||||
static ADDRESS_MAP_START( model2o_mem, AS_PROGRAM, 32, model2_state )
|
||||
AM_RANGE(0x00200000, 0x0021ffff) AM_RAM
|
||||
@ -1565,14 +1626,10 @@ static ADDRESS_MAP_START( model2o_mem, AS_PROGRAM, 32, model2_state )
|
||||
AM_RANGE(0x12400000, 0x125fffff) AM_RAM_WRITE(model2o_tex_w1) AM_MIRROR(0x200000) AM_SHARE("textureram1") // texture RAM 1
|
||||
AM_RANGE(0x12800000, 0x1281ffff) AM_RAM_WRITE(model2o_luma_w) AM_SHARE("lumaram") // polygon "luma" RAM
|
||||
|
||||
AM_RANGE(0x01c00000, 0x01c00003) AM_READ_PORT("1c00000")
|
||||
AM_RANGE(0x01c00004, 0x01c00007) AM_READ_PORT("1c00004")
|
||||
AM_RANGE(0x01c00010, 0x01c00013) AM_READ_PORT("1c00010")
|
||||
AM_RANGE(0x01c00014, 0x01c00017) AM_READ_PORT("1c00014")
|
||||
AM_RANGE(0x01c0001c, 0x01c0001f) AM_READ_PORT("1c0001c")
|
||||
AM_RANGE(0x01c00040, 0x01c00043) AM_READ(daytona_unk_r )
|
||||
AM_RANGE(0x01c00100, 0x01c0010f) AM_READ8(virtuacop_lightgun_r,0x00ff00ff)
|
||||
AM_RANGE(0x01c00110, 0x01c00113) AM_READ8(virtuacop_lightgun_offscreen_r,0x00ff00ff)
|
||||
AM_RANGE(0x01c00000, 0x01c0001f) AM_READ8(model2o_in_r, 0x00ff00ff)
|
||||
AM_RANGE(0x01c00040, 0x01c00043) AM_READ(daytona_unk_r)
|
||||
AM_RANGE(0x01c00100, 0x01c0010f) AM_READ8(virtuacop_lightgun_r, 0x00ff00ff)
|
||||
AM_RANGE(0x01c00110, 0x01c00113) AM_READ8(virtuacop_lightgun_offscreen_r, 0x00ff00ff)
|
||||
AM_RANGE(0x01c00200, 0x01c002ff) AM_RAM AM_SHARE("backup2")
|
||||
AM_RANGE(0x01c80000, 0x01c80003) AM_READWRITE(model2_serial_r, model2_serial_w)
|
||||
|
||||
@ -1605,14 +1662,12 @@ static ADDRESS_MAP_START( model2a_crx_mem, AS_PROGRAM, 32, model2_state )
|
||||
AM_RANGE(0x12400000, 0x125fffff) AM_RAM_WRITE(model2o_tex_w1) AM_MIRROR(0x200000) AM_SHARE("textureram1") // texture RAM 1
|
||||
AM_RANGE(0x12800000, 0x1281ffff) AM_RAM_WRITE(model2o_luma_w) AM_SHARE("lumaram") // polygon "luma" RAM
|
||||
|
||||
AM_RANGE(0x01c00000, 0x01c00003) AM_READ_PORT("1c00000") AM_WRITE(ctrl0_w )
|
||||
AM_RANGE(0x01c00004, 0x01c00007) AM_READ_PORT("1c00004")
|
||||
AM_RANGE(0x01c00008, 0x01c0000f) AM_READNOP AM_WRITENOP
|
||||
AM_RANGE(0x01c0000c, 0x01c0000f) AM_READ_PORT("1c0000c")
|
||||
AM_RANGE(0x01c00010, 0x01c00013) AM_READ_PORT("1c00010") AM_WRITENOP
|
||||
AM_RANGE(0x01c00014, 0x01c00017) AM_READ_PORT("1c00014") AM_WRITE(hotd_lightgun_w)
|
||||
AM_RANGE(0x01c00018, 0x01c0001b) AM_READ(hotd_lightgun_r)
|
||||
AM_RANGE(0x01c0001c, 0x01c0001f) AM_READ_PORT("1c0001c") AM_WRITE(analog_2b_w )
|
||||
AM_RANGE(0x01c00000, 0x01c0001f) AM_READ8(model2_crx_in_r, 0x00ff00ff)
|
||||
AM_RANGE(0x01c00000, 0x01c00003) AM_WRITE(ctrl0_w)
|
||||
AM_RANGE(0x01c00008, 0x01c0000f) AM_WRITENOP
|
||||
AM_RANGE(0x01c00010, 0x01c00013) AM_WRITENOP
|
||||
AM_RANGE(0x01c00014, 0x01c00017) AM_WRITE(hotd_lightgun_w)
|
||||
AM_RANGE(0x01c0001c, 0x01c0001f) AM_WRITE(analog_2b_w)
|
||||
AM_RANGE(0x01c00040, 0x01c00043) AM_WRITENOP
|
||||
AM_RANGE(0x01c80000, 0x01c80003) AM_READWRITE(model2_serial_r, model2_serial_w)
|
||||
|
||||
@ -1645,15 +1700,11 @@ static ADDRESS_MAP_START( model2b_crx_mem, AS_PROGRAM, 32, model2_state )
|
||||
AM_RANGE(0x11400000, 0x1140ffff) AM_RAM AM_SHARE("lumaram") // polygon "luma" RAM (2b/2c)
|
||||
AM_RANGE(0x12800000, 0x1281ffff) AM_RAM AM_SHARE("lumaram") // polygon "luma" RAM
|
||||
|
||||
|
||||
AM_RANGE(0x01c00000, 0x01c00003) AM_READ_PORT("1c00000") AM_WRITE(ctrl0_w )
|
||||
AM_RANGE(0x01c00004, 0x01c00007) AM_READ_PORT("1c00004")
|
||||
AM_RANGE(0x01c00008, 0x01c0000b) AM_READNOP AM_WRITENOP
|
||||
AM_RANGE(0x01c0000c, 0x01c0000f) AM_READNOP
|
||||
AM_RANGE(0x01c00010, 0x01c00013) AM_READ_PORT("1c00010")
|
||||
AM_RANGE(0x01c00014, 0x01c00017) AM_READ_PORT("1c00014") AM_WRITE(hotd_lightgun_w)
|
||||
AM_RANGE(0x01c00018, 0x01c0001b) AM_READ(hotd_lightgun_r)
|
||||
AM_RANGE(0x01c0001c, 0x01c0001f) AM_READ_PORT("1c0001c") AM_WRITE(analog_2b_w )
|
||||
AM_RANGE(0x01c00000, 0x01c0001f) AM_READ8(model2_crx_in_r, 0x00ff00ff)
|
||||
AM_RANGE(0x01c00000, 0x01c00003) AM_WRITE(ctrl0_w)
|
||||
AM_RANGE(0x01c00008, 0x01c0000b) AM_WRITENOP
|
||||
AM_RANGE(0x01c00014, 0x01c00017) AM_WRITE(hotd_lightgun_w)
|
||||
AM_RANGE(0x01c0001c, 0x01c0001f) AM_WRITE(analog_2b_w)
|
||||
AM_RANGE(0x01c00040, 0x01c00043) AM_WRITENOP
|
||||
AM_RANGE(0x01c80000, 0x01c80003) AM_READWRITE(model2_serial_r, model2_serial_w)
|
||||
|
||||
@ -1677,12 +1728,10 @@ static ADDRESS_MAP_START( model2c_crx_mem, AS_PROGRAM, 32, model2_state )
|
||||
AM_RANGE(0x11200000, 0x113fffff) AM_RAM AM_SHARE("textureram1") // texture RAM 1 (2b/2c)
|
||||
AM_RANGE(0x11400000, 0x1140ffff) AM_RAM AM_SHARE("lumaram") // polygon "luma" RAM (2b/2c)
|
||||
|
||||
AM_RANGE(0x01c00000, 0x01c00003) AM_READ_PORT("1c00000") AM_WRITE(ctrl0_w )
|
||||
AM_RANGE(0x01c00004, 0x01c00007) AM_READ_PORT("1c00004")
|
||||
AM_RANGE(0x01c00010, 0x01c00013) AM_READ_PORT("1c00010")
|
||||
AM_RANGE(0x01c00014, 0x01c00017) AM_READ_PORT("1c00014") AM_WRITE(hotd_lightgun_w)
|
||||
AM_RANGE(0x01c00018, 0x01c0001b) AM_READ(hotd_lightgun_r)
|
||||
AM_RANGE(0x01c0001c, 0x01c0001f) AM_READ_PORT("1c0001c") AM_WRITE(analog_2b_w )
|
||||
AM_RANGE(0x01c00000, 0x01c0001f) AM_READ8(model2_crx_in_r, 0x00ff00ff)
|
||||
AM_RANGE(0x01c00000, 0x01c00003) AM_WRITE(ctrl0_w)
|
||||
AM_RANGE(0x01c00014, 0x01c00017) AM_WRITE(hotd_lightgun_w)
|
||||
AM_RANGE(0x01c0001c, 0x01c0001f) AM_WRITE(analog_2b_w)
|
||||
AM_RANGE(0x01c80000, 0x01c80003) AM_READWRITE(model2_serial_r, model2_serial_w )
|
||||
|
||||
AM_IMPORT_FROM(model2_base_mem)
|
||||
@ -1691,521 +1740,306 @@ ADDRESS_MAP_END
|
||||
/* Input definitions */
|
||||
|
||||
#define MODEL2_PLAYER_INPUTS(_n_, _b1_, _b2_, _b3_, _b4_) \
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_##_b1_ ) PORT_PLAYER(_n_) \
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_##_b2_ ) PORT_PLAYER(_n_) \
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_##_b3_ ) PORT_PLAYER(_n_) \
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_##_b4_ ) PORT_PLAYER(_n_) \
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(_n_) \
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(_n_) \
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(_n_) \
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(_n_)
|
||||
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_##_b1_ ) PORT_PLAYER(_n_) \
|
||||
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_##_b2_ ) PORT_PLAYER(_n_) \
|
||||
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_##_b3_ ) PORT_PLAYER(_n_) \
|
||||
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_##_b4_ ) PORT_PLAYER(_n_) \
|
||||
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(_n_) \
|
||||
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(_n_) \
|
||||
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT) PORT_PLAYER(_n_) \
|
||||
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(_n_)
|
||||
|
||||
static INPUT_PORTS_START( model2 )
|
||||
PORT_START("1c00000")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, model2_state,_1c00000_r, nullptr)
|
||||
|
||||
PORT_START("1c00004")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, driver_device,custom_port_read, "IN1")
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, driver_device,custom_port_read, "IN2")
|
||||
|
||||
PORT_START("1c0000c")
|
||||
PORT_BIT( 0xfffffff7, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen")
|
||||
|
||||
PORT_START("1c00010")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, driver_device,custom_port_read, "IN0")
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, driver_device,custom_port_read, "IN1")
|
||||
|
||||
PORT_START("1c00014")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, driver_device,custom_port_read, "IN2")
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("1c0001c")
|
||||
PORT_BIT( 0x0000001a, IP_ACTIVE_HIGH, IPT_SPECIAL ) // these must be high
|
||||
PORT_BIT( 0x0000ffe5, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, model2_state,_1c0001c_r, nullptr)
|
||||
|
||||
PORT_START("IN0")
|
||||
PORT_BIT(0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT(0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x0004, IP_ACTIVE_LOW )
|
||||
PORT_BIT(0x0008, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT(0x0010, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT(0x0020, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT(0x0040, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("1P Push Switch") PORT_CODE(KEYCODE_7)
|
||||
PORT_BIT(0x0080, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("2P Push Switch") PORT_CODE(KEYCODE_8)
|
||||
PORT_BIT(0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
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)
|
||||
PORT_BIT(0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("IN2")
|
||||
MODEL2_PLAYER_INPUTS(2, BUTTON1, BUTTON2, BUTTON3, BUTTON4)
|
||||
PORT_BIT(0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( desert )
|
||||
PORT_START("1c00000")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, driver_device,custom_port_read, "STEER")
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, driver_device,custom_port_read, "ACCEL")
|
||||
|
||||
PORT_START("1c00004")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, driver_device,custom_port_read, "BRAKE")
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("1c00010")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, driver_device,custom_port_read, "IN0")
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, driver_device,custom_port_read, "IN1")
|
||||
|
||||
PORT_START("1c00014")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, driver_device,custom_port_read, "IN2")
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("1c0001c")
|
||||
PORT_BIT( 0xfff7ffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00080000, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen")
|
||||
|
||||
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) // 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_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) // 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_START("IN2")
|
||||
MODEL2_PLAYER_INPUTS(2, BUTTON1, BUTTON2, BUTTON3, BUTTON4)
|
||||
|
||||
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)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( vcop )
|
||||
PORT_START("1c00000")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("1c00004")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("1c00010")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, driver_device,custom_port_read, "IN0")
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, driver_device,custom_port_read, "IN1")
|
||||
|
||||
PORT_START("1c00014")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, driver_device,custom_port_read, "IN2")
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("1c0001c")
|
||||
PORT_BIT( 0xfff7ffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00080000, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen")
|
||||
|
||||
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( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_NAME("P1 Trigger")
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_NAME("P2 Trigger")
|
||||
PORT_BIT( 0xfffc, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
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( 0xffff, 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("1c00000")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, driver_device,custom_port_read, "STEER")
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, driver_device,custom_port_read, "ACCEL")
|
||||
|
||||
PORT_START("1c00004")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, driver_device,custom_port_read, "BRAKE")
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("1c00010")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, driver_device,custom_port_read, "IN0")
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, driver_device,custom_port_read, "IN1")
|
||||
|
||||
PORT_START("1c00014")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, driver_device,custom_port_read, "IN2")
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("1c0001c")
|
||||
PORT_BIT( 0xfff7ffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00080000, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen")
|
||||
|
||||
|
||||
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_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_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_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_START("IN2")
|
||||
MODEL2_PLAYER_INPUTS(2, BUTTON1, BUTTON2, BUTTON3, BUTTON4)
|
||||
|
||||
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)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
static INPUT_PORTS_START( manxtt )
|
||||
PORT_START("1c00000")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, model2_state,_1c00000_r, nullptr)
|
||||
|
||||
PORT_START("1c00004")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, driver_device,custom_port_read, "IN2")
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, driver_device,custom_port_read, "IN3")
|
||||
|
||||
PORT_START("1c0000c")
|
||||
PORT_BIT( 0xffffffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("1c00010")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, driver_device,custom_port_read, "IN0")
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, driver_device,custom_port_read, "IN1")
|
||||
|
||||
PORT_START("1c00014")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, driver_device,custom_port_read, "IN4")
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("1c0001c")
|
||||
PORT_BIT( 0x0000001a, IP_ACTIVE_HIGH, IPT_SPECIAL ) // these must be high
|
||||
PORT_BIT( 0x0000ffe5, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, model2_state,_1c0001c_r, nullptr)
|
||||
|
||||
PORT_START("IN0")
|
||||
PORT_BIT(0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT(0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x0004, IP_ACTIVE_LOW )
|
||||
PORT_BIT(0x0008, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT(0x0010, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT(0x0020, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT(0x0040, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("P1 Start / VR")
|
||||
PORT_BIT(0x0080, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT(0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
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(0x00, IP_ACTIVE_LOW, IPT_UNKNOWN)
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT(0xffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT(0xff, IP_ACTIVE_LOW, IPT_UNKNOWN)
|
||||
|
||||
PORT_START("IN2")
|
||||
PORT_BIT(0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) // shift up in Manx TT, Punch in Motoraid
|
||||
PORT_BIT(0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) // shift down in Manx TT, Kick in Motoraid
|
||||
PORT_BIT(0xffcf, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
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_START("IN3")
|
||||
PORT_BIT(0xffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT(0xff, IP_ACTIVE_LOW, IPT_UNKNOWN)
|
||||
|
||||
PORT_START("IN4")
|
||||
PORT_BIT(0xffff, 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( srallyc )
|
||||
PORT_START("1c00000")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, model2_state,_1c00000_r, nullptr)
|
||||
|
||||
PORT_START("1c00004")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, driver_device,custom_port_read, "IN2")
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, driver_device,custom_port_read, "IN3")
|
||||
|
||||
PORT_START("1c0000c")
|
||||
PORT_BIT( 0xffffffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("1c00010")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, driver_device,custom_port_read, "IN0")
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, driver_device,custom_port_read, "IN1")
|
||||
|
||||
PORT_START("1c00014")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, driver_device,custom_port_read, "IN4")
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("1c0001c")
|
||||
PORT_BIT( 0x0000001a, IP_ACTIVE_HIGH, IPT_SPECIAL ) // these must be high
|
||||
PORT_BIT( 0x0000ffe5, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, model2_state,_1c0001c_r, nullptr)
|
||||
|
||||
PORT_START("IN0")
|
||||
PORT_BIT(0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT(0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x0004, IP_ACTIVE_LOW )
|
||||
PORT_BIT(0x0008, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT(0x0020, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(1) PORT_NAME("VR") // VR
|
||||
PORT_BIT(0x0040, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT(0x0090, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT(0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
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(0x20, IP_ACTIVE_LOW, IPT_BUTTON6) PORT_PLAYER(1) PORT_NAME("VR") // VR
|
||||
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_START1)
|
||||
PORT_BIT(0x90, IP_ACTIVE_LOW, IPT_UNUSED)
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT(0xffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT(0xff, IP_ACTIVE_LOW, IPT_UNKNOWN)
|
||||
|
||||
PORT_START("IN2")
|
||||
PORT_BIT(0x0070, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, model2_state,srallyc_gearbox_r, nullptr)
|
||||
PORT_BIT(0x008f, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT(0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT(0x70, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM_MEMBER(DEVICE_SELF, model2_state,srallyc_gearbox_r, nullptr)
|
||||
PORT_BIT(0x8f, IP_ACTIVE_LOW, IPT_UNKNOWN)
|
||||
|
||||
PORT_START("GEARS") // fake to handle gear bits
|
||||
PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_NAME("GEAR N")
|
||||
PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1) PORT_NAME("GEAR 1")
|
||||
PORT_BIT(0x0004, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(1) PORT_NAME("GEAR 2")
|
||||
PORT_BIT(0x0008, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_PLAYER(1) PORT_NAME("GEAR 3")
|
||||
PORT_BIT(0x0010, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_PLAYER(1) PORT_NAME("GEAR 4")
|
||||
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")
|
||||
|
||||
PORT_START("IN3")
|
||||
//PORT_BIT(0x00ff, 0x00, IPT_AD_STICK_Y ) PORT_SENSITIVITY(30) PORT_KEYDELTA(10) PORT_PLAYER(1) PORT_REVERSE PORT_NAME("Handle (Drive)")
|
||||
PORT_BIT(0xffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
//PORT_BIT(0xff, 0x00, IPT_AD_STICK_Y) PORT_SENSITIVITY(30) PORT_KEYDELTA(10) PORT_PLAYER(1) PORT_REVERSE PORT_NAME("Handle (Drive)")
|
||||
PORT_BIT(0xff, IP_ACTIVE_LOW, IPT_UNKNOWN)
|
||||
|
||||
PORT_START("IN4")
|
||||
PORT_BIT(0xffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT(0xff, IP_ACTIVE_LOW, IPT_UNKNOWN)
|
||||
|
||||
|
||||
PORT_START("ANA0") // 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("ANA1") // 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("ANA2") // 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)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( vcop2 )
|
||||
PORT_START("1c00000")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, model2_state,_1c00000_r, nullptr)
|
||||
|
||||
PORT_START("1c00004")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, driver_device,custom_port_read, "IN1")
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, driver_device,custom_port_read, "IN3")
|
||||
|
||||
PORT_START("1c0000c")
|
||||
PORT_BIT( 0xffffffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("1c00010")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, driver_device,custom_port_read, "IN0")
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, driver_device,custom_port_read, "IN2")
|
||||
|
||||
PORT_START("1c00014")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, driver_device,custom_port_read, "IN4")
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("1c0001c")
|
||||
PORT_BIT( 0x0000001a, IP_ACTIVE_HIGH, IPT_SPECIAL ) // these must be high
|
||||
PORT_BIT( 0x0000ffe5, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, model2_state,_1c0001c_r, nullptr)
|
||||
|
||||
PORT_START("IN0")
|
||||
PORT_BIT(0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT(0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x0004, IP_ACTIVE_LOW )
|
||||
PORT_BIT(0x0008, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT(0x0010, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT(0x0020, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT(0x00c0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT(0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
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( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_NAME("P1 Trigger")
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_NAME("P2 Trigger")
|
||||
PORT_BIT( 0xfffc, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
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(0xffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT(0xff, IP_ACTIVE_LOW, IPT_UNKNOWN)
|
||||
|
||||
PORT_START("IN3")
|
||||
PORT_BIT(0xffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT(0xff, IP_ACTIVE_LOW, IPT_UNKNOWN)
|
||||
|
||||
PORT_START("IN4")
|
||||
PORT_BIT(0xffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT(0xff, IP_ACTIVE_LOW, IPT_UNKNOWN)
|
||||
|
||||
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( bel )
|
||||
PORT_START("1c00000")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, model2_state,_1c00000_r, nullptr)
|
||||
|
||||
PORT_START("1c00004")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, driver_device,custom_port_read, "IN1")
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, driver_device,custom_port_read, "IN2")
|
||||
|
||||
PORT_START("1c00010")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, driver_device,custom_port_read, "IN0")
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, driver_device,custom_port_read, "IN1")
|
||||
|
||||
PORT_START("1c00014")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, driver_device,custom_port_read, "IN2")
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("1c0001c")
|
||||
PORT_BIT( 0x0000001a, IP_ACTIVE_HIGH, IPT_SPECIAL ) // these must be high
|
||||
PORT_BIT( 0x0000ffe5, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, model2_state,_1c0001c_r, nullptr)
|
||||
|
||||
PORT_START("IN0")
|
||||
PORT_BIT(0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT(0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT(0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x0008, IP_ACTIVE_LOW )
|
||||
PORT_BIT(0x0010, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT(0x0020, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT(0x0040, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("1P Push Switch") PORT_CODE(KEYCODE_7)
|
||||
PORT_BIT(0x0080, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("2P Push Switch") PORT_CODE(KEYCODE_8)
|
||||
PORT_BIT(0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_COIN1)
|
||||
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_COIN2)
|
||||
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_SERVICE1)
|
||||
PORT_SERVICE_NO_TOGGLE(0x08, IP_ACTIVE_LOW)
|
||||
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)
|
||||
PORT_BIT(0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("IN2")
|
||||
MODEL2_PLAYER_INPUTS(2, BUTTON1, BUTTON2, BUTTON3, BUTTON4)
|
||||
PORT_BIT(0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( rchase2 )
|
||||
PORT_INCLUDE( model2 )
|
||||
PORT_INCLUDE(model2)
|
||||
|
||||
PORT_MODIFY("IN1")
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) // 1p shot
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) // 2p shot
|
||||
PORT_BIT( 0xfffc, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_PLAYER(1) // 1p shot
|
||||
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_PLAYER(2) // 2p shot
|
||||
PORT_BIT(0xfc, IP_ACTIVE_LOW, IPT_UNKNOWN)
|
||||
|
||||
PORT_MODIFY("IN2")
|
||||
PORT_BIT( 0xffff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, model2_state,rchase2_devices_r, nullptr)
|
||||
PORT_BIT(0xff, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM_MEMBER(DEVICE_SELF, model2_state,rchase2_devices_r, nullptr)
|
||||
|
||||
/* FIXME: don't know yet if min max values are really correct, we'll see ... */
|
||||
PORT_START("ANA0")
|
||||
PORT_BIT( 0x00ff, 0x0000, IPT_AD_STICK_X ) PORT_MINMAX(0x80,0x7f) PORT_SENSITIVITY(30) PORT_KEYDELTA(20) PORT_PLAYER(2)
|
||||
PORT_BIT(0xff, 0x00, IPT_AD_STICK_X) PORT_MINMAX(0x80,0x7f) PORT_SENSITIVITY(30) PORT_KEYDELTA(20) PORT_PLAYER(2)
|
||||
|
||||
PORT_START("ANA1")
|
||||
PORT_BIT( 0x00ff, 0x0000, IPT_AD_STICK_X ) PORT_MINMAX(0x80,0x7f) PORT_SENSITIVITY(30) PORT_KEYDELTA(20) PORT_PLAYER(1)
|
||||
PORT_BIT(0xff, 0x00, IPT_AD_STICK_X) PORT_MINMAX(0x80,0x7f) PORT_SENSITIVITY(30) PORT_KEYDELTA(20) PORT_PLAYER(1)
|
||||
|
||||
PORT_START("ANA2")
|
||||
PORT_BIT( 0x00ff, 0x0000, IPT_AD_STICK_Y ) PORT_MINMAX(0x00,0xff) PORT_SENSITIVITY(30) PORT_KEYDELTA(20) PORT_PLAYER(2)
|
||||
PORT_BIT(0xff, 0x00, IPT_AD_STICK_Y) PORT_MINMAX(0x00,0xff) PORT_SENSITIVITY(30) PORT_KEYDELTA(20) PORT_PLAYER(2)
|
||||
|
||||
PORT_START("ANA3")
|
||||
PORT_BIT( 0x00ff, 0x0000, IPT_AD_STICK_Y ) PORT_MINMAX(0x00,0xff) PORT_SENSITIVITY(30) PORT_KEYDELTA(20) PORT_PLAYER(1)
|
||||
PORT_BIT(0xff, 0x00, IPT_AD_STICK_Y) PORT_MINMAX(0x00,0xff) PORT_SENSITIVITY(30) PORT_KEYDELTA(20) PORT_PLAYER(1)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( skytargt )
|
||||
PORT_START("1c00000")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, model2_state,_1c00000_r, nullptr)
|
||||
|
||||
PORT_START("1c00004")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, driver_device,custom_port_read, "IN1")
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, driver_device,custom_port_read, "IN2")
|
||||
|
||||
PORT_START("1c0000c")
|
||||
PORT_BIT( 0xfffffff7, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen")
|
||||
|
||||
PORT_START("1c00010")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, driver_device,custom_port_read, "IN0")
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, driver_device,custom_port_read, "IN1")
|
||||
|
||||
PORT_START("1c00014")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, driver_device,custom_port_read, "IN2")
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("1c0001c")
|
||||
PORT_BIT( 0x0000001a, IP_ACTIVE_HIGH, IPT_SPECIAL ) // these must be high
|
||||
PORT_BIT( 0x0000ffe5, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, model2_state,_1c0001c_r, nullptr)
|
||||
|
||||
PORT_START("IN0")
|
||||
PORT_BIT(0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT(0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x0004, IP_ACTIVE_LOW )
|
||||
PORT_BIT(0x0008, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT(0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT(0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT(0x0040, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT(0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT(0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
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_UNKNOWN)
|
||||
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_UNKNOWN)
|
||||
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_START1)
|
||||
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_UNKNOWN)
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT(0x000f, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("P1 Machine Gun")
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("P1 Missile")
|
||||
PORT_BIT(0x00c0, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT(0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT(0x0f, IP_ACTIVE_LOW, IPT_UNKNOWN)
|
||||
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_NAME("P1 Machine Gun")
|
||||
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_BUTTON2) PORT_NAME("P1 Missile")
|
||||
PORT_BIT(0xc0, IP_ACTIVE_LOW, IPT_UNKNOWN)
|
||||
|
||||
PORT_START("IN2")
|
||||
MODEL2_PLAYER_INPUTS(2, BUTTON1, BUTTON2, BUTTON3, BUTTON4)
|
||||
PORT_BIT(0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
@ -2533,7 +2367,11 @@ static MACHINE_CONFIG_START( model2a )
|
||||
MCFG_M2COMM_ADD("m2comm")
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( manxttdx, model2a ) /* Includes a Model 1 Sound board for additional sounds - Deluxe version only */
|
||||
static MACHINE_CONFIG_DERIVED( manxtt, model2a )
|
||||
MCFG_MACHINE_START_OVERRIDE(model2_state,srallyc)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( manxttdx, manxtt ) /* Includes a Model 1 Sound board for additional sounds - Deluxe version only */
|
||||
MCFG_SEGAM1AUDIO_ADD("m1audio")
|
||||
MCFG_SEGAM1AUDIO_RXD_HANDLER(DEVWRITELINE("uart", i8251_device, write_rxd))
|
||||
|
||||
@ -2558,6 +2396,7 @@ static MACHINE_CONFIG_DERIVED( model2a_0229, model2a )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( srallyc, model2a )
|
||||
MCFG_MACHINE_START_OVERRIDE(model2_state,srallyc)
|
||||
MCFG_FRAGMENT_ADD(sj25_0207_01)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
@ -2634,6 +2473,10 @@ static MACHINE_CONFIG_DERIVED( model2b_0229, model2b )
|
||||
// MCFG_SET_5838_READ_CALLBACK(model2_state, crypt_read_callback)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( indy500, model2b )
|
||||
MCFG_MACHINE_START_OVERRIDE(model2_state,srallyc)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( rchase2_iocpu_map, AS_PROGRAM, 8, model2_state )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
||||
@ -2727,6 +2570,10 @@ static MACHINE_CONFIG_DERIVED( model2c_5881, model2c )
|
||||
MCFG_SET_READ_CALLBACK(model2_state, crypt_read_callback)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( overrev2c, model2c )
|
||||
MCFG_MACHINE_START_OVERRIDE(model2_state,srallyc)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
/* ROM definitions */
|
||||
|
||||
@ -6289,7 +6136,7 @@ GAME( 1994, vcopa, vcop, model2o, vcop, model2_state, 0, ROT0,
|
||||
|
||||
// Model 2A-CRX (TGPs, SCSP sound board)
|
||||
GAME( 1995, manxtt, 0, manxttdx, manxtt, model2_state, 0, ROT0, "Sega", "Manx TT Superbike - DX (Revision D)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1995, manxttc, 0, model2a, manxtt, model2_state, 0, ROT0, "Sega", "Manx TT Superbike - Twin (Revision C)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1995, manxttc, 0, manxtt, manxtt, model2_state, 0, ROT0, "Sega", "Manx TT Superbike - Twin (Revision C)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1995, srallyc, 0, srallyc, srallyc, model2_state, srallyc, ROT0, "Sega", "Sega Rally Championship - Twin/DX (Revision C)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1995, srallycb, srallyc, srallyc, srallyc, model2_state, srallyc, ROT0, "Sega", "Sega Rally Championship - Twin/DX (Revision B)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1995, srallycdx, srallyc, srallyc, srallyc, model2_state, srallyc, ROT0, "Sega", "Sega Rally Championship - DX (Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
@ -6303,8 +6150,8 @@ GAME( 1995, skytargt, 0, model2a, skytargt, model2_state, 0,
|
||||
GAME( 1996, doaa, doa, model2a_0229, model2, model2_state, doa, ROT0, "Sega", "Dead or Alive (Model 2A, Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1997, zeroguna, zerogun, model2a_5881, model2, model2_state, zerogun, ROT0, "Psikyo", "Zero Gunner (Export, Model 2A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1997, zerogunaj, zerogun, model2a_5881, model2, model2_state, zerogun, ROT0, "Psikyo", "Zero Gunner (Japan, Model 2A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1997, motoraid, 0, model2a, manxtt, model2_state, 0, ROT0, "Sega", "Motor Raid - Twin", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1997, motoraiddx,motoraid, model2a, manxtt, model2_state, 0, ROT0, "Sega", "Motor Raid - Twin/DX", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1997, motoraid, 0, manxtt, manxtt, model2_state, 0, ROT0, "Sega", "Motor Raid - Twin", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1997, motoraiddx,motoraid, manxtt, manxtt, model2_state, 0, ROT0, "Sega", "Motor Raid - Twin/DX", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1998, dynamcop, 0, model2a_5881, model2, model2_state, genprot, ROT0, "Sega", "Dynamite Cop (Export, Model 2A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1998, dyndeka2, dynamcop, model2a_5881, model2, model2_state, genprot, ROT0, "Sega", "Dynamite Deka 2 (Japan, Model 2A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1998, pltkidsa, pltkids, model2a_5881, model2, model2_state, pltkids, ROT0, "Psikyo", "Pilot Kids (Model 2A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
@ -6315,21 +6162,21 @@ GAME( 1994, vstrikero, vstriker, model2b, model2, model2_state, 0,
|
||||
GAME( 1995, fvipers, 0, model2b, model2, model2_state, 0, ROT0, "Sega", "Fighting Vipers (Revision D)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1995, fvipersb, fvipers, model2b, model2, model2_state, 0, ROT0, "Sega", "Fighting Vipers (Revision B)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1995, gunblade, 0, model2b, model2, model2_state, 0, ROT0, "Sega", "Gunblade NY (Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1995, indy500, 0, model2b, srallyc, model2_state, 0, ROT0, "Sega", "INDY 500 Twin (Revision A, Newer)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1995, indy500d, indy500, model2b, srallyc, model2_state, 0, ROT0, "Sega", "INDY 500 Deluxe (Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1995, indy500to, indy500, model2b, srallyc, model2_state, 0, ROT0, "Sega", "INDY 500 Twin (Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1995, indy500, 0, indy500, srallyc, model2_state, 0, ROT0, "Sega", "INDY 500 Twin (Revision A, Newer)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1995, indy500d, indy500, indy500, srallyc, model2_state, 0, ROT0, "Sega", "INDY 500 Deluxe (Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1995, indy500to, indy500, indy500, srallyc, model2_state, 0, ROT0, "Sega", "INDY 500 Twin (Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1996, schamp, 0, model2b, model2, model2_state, 0, ROT0, "Sega", "Sonic Championship (USA)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1996, sfight, schamp, model2b, model2, model2_state, 0, ROT0, "Sega", "Sonic the Fighters (Japan)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1996, lastbrnx, 0, model2b, model2, model2_state, 0, ROT0, "Sega", "Last Bronx (Export, Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1996, lastbrnxu, lastbrnx, model2b, model2, model2_state, 0, ROT0, "Sega", "Last Bronx (USA, Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1996, lastbrnxj, lastbrnx, model2b, model2, model2_state, 0, ROT0, "Sega", "Last Bronx (Japan, Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1996, doa, 0, model2b_0229, model2, model2_state, doa, ROT0, "Sega", "Dead or Alive (Model 2B, Revision B)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1996, sgt24h, 0, model2b, srallyc, model2_state, sgt24h, ROT0, "Jaleco", "Super GT 24h", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1996, sgt24h, 0, indy500, srallyc, model2_state, sgt24h, ROT0, "Jaleco", "Super GT 24h", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1996, von, 0, model2b, model2, model2_state, 0, ROT0, "Sega", "Cyber Troopers Virtual-On (USA, Revision B)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1996, vonj, von, model2b, model2, model2_state, 0, ROT0, "Sega", "Cyber Troopers Virtual-On (Japan, Revision B)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1996, dynabb, 0, model2b, model2, model2_state, 0, ROT0, "Sega", "Dynamite Baseball", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1997, dynabb97, 0, model2b, model2, model2_state, 0, ROT0, "Sega", "Dynamite Baseball 97 (Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1997, overrevb, overrev, model2b, srallyc, model2_state, 0, ROT0, "Jaleco", "Over Rev (Model 2B, Revision B)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1997, overrevb, overrev, indy500, srallyc, model2_state, 0, ROT0, "Jaleco", "Over Rev (Model 2B, Revision B)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1997, zerogun, 0, model2b_5881, model2, model2_state, zerogun, ROT0, "Psikyo", "Zero Gunner (Export, Model 2B)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1997, zerogunj, zerogun, model2b_5881, model2, model2_state, zerogun, ROT0, "Psikyo", "Zero Gunner (Japan, Model 2B)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1998, dynamcopb, dynamcop, model2b_5881, model2, model2_state, genprot, ROT0, "Sega", "Dynamite Cop (Export, Model 2B)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
@ -6343,8 +6190,8 @@ GAME( 1996, stcc, 0, stcc, model2, model2_state, 0,
|
||||
GAME( 1996, stccb, stcc, stcc, model2, model2_state, 0, ROT0, "Sega", "Sega Touring Car Championship (Revision B)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1996, stcca, stcc, stcc, model2, model2_state, 0, ROT0, "Sega", "Sega Touring Car Championship (Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1996, waverunr, 0, model2c, model2, model2_state, 0, ROT0, "Sega", "Wave Runner (Japan, Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1997, hotd, 0, model2c, model2, model2_state, 0, ROT0, "Sega", "The House of the Dead", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1997, overrev, 0, model2c, srallyc, model2_state, 0, ROT0, "Jaleco", "Over Rev (Model 2C, Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1997, hotd, 0, model2c, vcop2, model2_state, 0, ROT0, "Sega", "The House of the Dead", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1997, overrev, 0, overrev2c, srallyc, model2_state, 0, ROT0, "Jaleco", "Over Rev (Model 2C, Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1997, rascot2, 0, model2c, model2, model2_state, 0, ROT0, "Sega", "Royal Ascot II", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1997, segawski, 0, model2c, model2, model2_state, 0, ROT0, "Sega", "Sega Water Ski (Japan, Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1997, topskatr, 0, model2c, model2, model2_state, 0, ROT0, "Sega", "Top Skater (Export, Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
|
@ -50,9 +50,12 @@ public:
|
||||
m_scsp(*this, "scsp"),
|
||||
m_cryptdevice(*this, "315_5881"),
|
||||
m_0229crypt(*this, "317_0229"),
|
||||
m_in0(*this, "IN0"),
|
||||
m_in(*this, "IN%u", 0),
|
||||
m_steer(*this, "STEER"),
|
||||
m_accel(*this, "ACCEL"),
|
||||
m_brake(*this, "BRAKE"),
|
||||
m_gears(*this, "GEARS"),
|
||||
m_analog_ports(*this, {"ANA0", "ANA1", "ANA2", "ANA3"}),
|
||||
m_analog_ports(*this, "ANA%u", 0),
|
||||
m_lightgun_ports(*this, {"P1_Y", "P1_X", "P2_Y", "P2_X"})
|
||||
{ }
|
||||
|
||||
@ -86,11 +89,20 @@ public:
|
||||
optional_device<sega_315_5881_crypt_device> m_cryptdevice;
|
||||
optional_device<sega_315_5838_comp_device> m_0229crypt;
|
||||
|
||||
required_ioport m_in0;
|
||||
optional_ioport_array<5> m_in;
|
||||
optional_ioport m_steer;
|
||||
optional_ioport m_accel;
|
||||
optional_ioport m_brake;
|
||||
optional_ioport m_gears;
|
||||
optional_ioport_array<4> m_analog_ports;
|
||||
optional_ioport_array<4> m_lightgun_ports;
|
||||
|
||||
int m_port_1c00004;
|
||||
int m_port_1c00006;
|
||||
int m_port_1c00010;
|
||||
int m_port_1c00012;
|
||||
int m_port_1c00014;
|
||||
|
||||
uint32_t m_intreq;
|
||||
uint32_t m_intena;
|
||||
uint32_t m_coproctl;
|
||||
@ -134,8 +146,7 @@ public:
|
||||
uint8_t m_gearsel;
|
||||
uint8_t m_lightgun_mux;
|
||||
|
||||
DECLARE_CUSTOM_INPUT_MEMBER(_1c00000_r);
|
||||
DECLARE_CUSTOM_INPUT_MEMBER(_1c0001c_r);
|
||||
DECLARE_READ8_MEMBER(model2_crx_in_r);
|
||||
DECLARE_CUSTOM_INPUT_MEMBER(srallyc_gearbox_r);
|
||||
DECLARE_CUSTOM_INPUT_MEMBER(rchase2_devices_r);
|
||||
DECLARE_READ32_MEMBER(timers_r);
|
||||
@ -146,6 +157,7 @@ public:
|
||||
DECLARE_WRITE32_MEMBER(analog_2b_w);
|
||||
DECLARE_READ32_MEMBER(fifoctl_r);
|
||||
DECLARE_READ32_MEMBER(model2o_fifoctrl_r);
|
||||
DECLARE_READ8_MEMBER(model2o_in_r);
|
||||
DECLARE_READ32_MEMBER(videoctl_r);
|
||||
DECLARE_WRITE32_MEMBER(videoctl_w);
|
||||
DECLARE_WRITE32_MEMBER(rchase2_devices_w);
|
||||
@ -163,7 +175,7 @@ public:
|
||||
DECLARE_WRITE32_MEMBER(geo_prg_w);
|
||||
DECLARE_READ32_MEMBER(geo_r);
|
||||
DECLARE_WRITE32_MEMBER(geo_w);
|
||||
DECLARE_READ32_MEMBER(hotd_lightgun_r);
|
||||
DECLARE_READ8_MEMBER(hotd_lightgun_r);
|
||||
DECLARE_WRITE32_MEMBER(hotd_lightgun_w);
|
||||
DECLARE_READ32_MEMBER(daytona_unk_r);
|
||||
DECLARE_READ32_MEMBER(model2_irq_r);
|
||||
@ -209,6 +221,7 @@ public:
|
||||
DECLARE_DRIVER_INIT(zerogun);
|
||||
DECLARE_DRIVER_INIT(sgt24h);
|
||||
DECLARE_MACHINE_START(model2);
|
||||
DECLARE_MACHINE_START(srallyc);
|
||||
DECLARE_MACHINE_RESET(model2o);
|
||||
DECLARE_VIDEO_START(model2);
|
||||
DECLARE_MACHINE_RESET(model2);
|
||||
|
Loading…
Reference in New Issue
Block a user