turbo: increase steering sensitivity

This commit is contained in:
hap 2022-12-20 20:26:05 +01:00
parent 15642efbe4
commit 2db188898b
2 changed files with 15 additions and 8 deletions

View File

@ -357,7 +357,7 @@ void subroc3d_state::ppi0b_w(uint8_t data)
m_lamp = BIT(data, 2);
m_flip = BIT(data, 4);
// flip also goes to 3D scope shutter
// flip also goes to 3D scope shutter (motor to rotating disc)
m_shutter = BIT(data, 4);
}
@ -719,15 +719,15 @@ static INPUT_PORTS_START( turbo )
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:2")
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x40, 0x40, "Tachometer" ) PORT_DIPLOCATION("SW3:3")
PORT_DIPNAME( 0x40, 0x00, "Tachometer" ) PORT_DIPLOCATION("SW3:3")
PORT_DIPSETTING( 0x40, "Analog (Meter)")
PORT_DIPSETTING( 0x00, "Digital (LED)")
PORT_DIPNAME( 0x80, 0x80, "Sound System" ) PORT_DIPLOCATION("SW3:4")
PORT_DIPNAME( 0x80, 0x00, "Sound System" ) PORT_DIPLOCATION("SW3:4")
PORT_DIPSETTING( 0x80, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x00, "Cockpit")
PORT_START("DIAL")
PORT_BIT( 0xff, 0, IPT_DIAL ) PORT_SENSITIVITY(10) PORT_KEYDELTA(30)
PORT_BIT( 0xff, 0, IPT_DIAL ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10)
PORT_START("PEDAL")
PORT_BIT( 0xff, 0, IPT_PEDAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(20)

View File

@ -300,6 +300,7 @@ uint32_t turbo_state::get_sprite_bits(uint8_t road)
// loop over all live levels
for (int level = 0; level < 8; level++)
{
if (sprlive & (1 << level))
{
// latch the data and advance the offset
@ -330,6 +331,7 @@ uint32_t turbo_state::get_sprite_bits(uint8_t road)
m_sprite_info.frac[level] -= 0x1000000;
}
}
}
return sprdata;
}
@ -515,6 +517,7 @@ uint32_t turbo_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap,
}
}
}
return 0;
}
@ -648,6 +651,7 @@ uint32_t subroc3d_state::get_sprite_bits(uint8_t *plb)
// loop over all live levels
for (int level = 0; level < 8; level++)
{
if (m_sprite_info.lst & (1 << level))
{
// latch the data and advance the offset
@ -677,6 +681,7 @@ uint32_t subroc3d_state::get_sprite_bits(uint8_t *plb)
m_sprite_info.frac[level] -= 0x800000;
}
}
}
return sprdata;
}
@ -760,8 +765,7 @@ uint32_t subroc3d_state::screen_update(screen_device &screen, bitmap_ind16 &bitm
mux = 0;
// CD0-3 are selected from the sprite bits and MUX0-2 (p. 141)
sprbits >>= mux & 0x07;
uint8_t cd = bitswap<4>(sprbits, 24, 16, 8, 0);
uint8_t cd = bitswap<4>(sprbits >> (mux & 0x07), 24, 16, 8, 0);
// MUX3 selects either CD0-3 or the foreground output (p. 141)
int finalbits;
@ -780,6 +784,7 @@ uint32_t subroc3d_state::screen_update(screen_device &screen, bitmap_ind16 &bitm
}
}
}
return 0;
}
@ -862,6 +867,7 @@ uint32_t buckrog_state::get_sprite_bits(uint8_t *plb)
// loop over all live levels
for (int level = 0; level < 8; level++)
{
if (m_sprite_info.lst & (1 << level))
{
// latch the data and advance the offset
@ -890,6 +896,7 @@ uint32_t buckrog_state::get_sprite_bits(uint8_t *plb)
m_sprite_info.frac[level] -= 0x800000;
}
}
}
return sprdata;
}
@ -959,8 +966,7 @@ uint32_t buckrog_state::screen_update(screen_device &screen, bitmap_ind16 &bitma
if (mux == 8) mux = 0xf;
// MUX then selects one of the sprites and selects CD0-3
sprbits >>= mux & 0x07;
uint8_t cd = bitswap<4>(sprbits, 24, 16, 8, 0);
uint8_t cd = bitswap<4>(sprbits >> (mux & 0x07), 24, 16, 8, 0);
// this info goes into an LS148 8-to-3 decoder to determine the priorities (SH 5/5)
@ -1009,5 +1015,6 @@ uint32_t buckrog_state::screen_update(screen_device &screen, bitmap_ind16 &bitma
}
}
}
return 0;
}