From 2db188898b716d8ab4e52219d8c8f0e49fa24916 Mon Sep 17 00:00:00 2001 From: hap Date: Tue, 20 Dec 2022 20:26:05 +0100 Subject: [PATCH] turbo: increase steering sensitivity --- src/mame/sega/turbo.cpp | 8 ++++---- src/mame/sega/turbo_v.cpp | 15 +++++++++++---- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/mame/sega/turbo.cpp b/src/mame/sega/turbo.cpp index db290b0cc10..95e98d432a7 100644 --- a/src/mame/sega/turbo.cpp +++ b/src/mame/sega/turbo.cpp @@ -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) diff --git a/src/mame/sega/turbo_v.cpp b/src/mame/sega/turbo_v.cpp index 3c725dd49e2..444a380a7b2 100644 --- a/src/mame/sega/turbo_v.cpp +++ b/src/mame/sega/turbo_v.cpp @@ -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; }