summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Aaron Giles <aaron@aarongiles.com>2008-06-26 14:53:57 +0000
committer Aaron Giles <aaron@aarongiles.com>2008-06-26 14:53:57 +0000
commite0f0854166696aff95a836085af72b265a3c4ce0 (patch)
tree5395cc62f4498ef308f6231536f1e58aba8af524
parent68f3a9ab9e20b3737b18e2034f5f5b5a2b016506 (diff)
From: Steve Lilley-Hopkins [mailto:minwah1959@hotmail.com]
Subject: gtmr (kaneko16.c) update Hi, Please find attached a diff containing a small update to 'Great 100 Miles Rally', within the kaneko16 driver: * Added 360degree wheel (dial) input to GTMR, which is available when the Controller dip is set to 'Wheel', and Controls dip is set to '1P Side'. Note when Controls dip is set to 'Both Sides', 270degree wheel (paddle) input is used. I have tested this in the test screen and in-game, and it works as expected. Also note I made a small comment with regard to the GTMR2 wheel controls, which are noted to be not working - they seem to work fine for me. Any questions/problems please let me know. Cheers, Minwah
-rw-r--r--src/mame/drivers/kaneko16.c33
1 files changed, 23 insertions, 10 deletions
diff --git a/src/mame/drivers/kaneko16.c b/src/mame/drivers/kaneko16.c
index 5e224e43ca5..e9b1eabbac0 100644
--- a/src/mame/drivers/kaneko16.c
+++ b/src/mame/drivers/kaneko16.c
@@ -598,10 +598,20 @@ ADDRESS_MAP_END
static READ16_HANDLER( gtmr_wheel_r )
{
- if ( (input_port_read(machine, "DSW1") & 0x1800) == 0x10) // DSW setting
- return input_port_read(machine, "WHEEL0")<<8; // 360' Wheel
- else
- return input_port_read(machine, "WHEEL0"); // 270' Wheel
+ // check 'Controls' dip switch
+ switch (input_port_read(machine, "DSW1") & 0x1000)
+ {
+ case 0x0000: // 'Both Sides' = 270deg Wheel
+ return (input_port_read(machine, "WHEEL0"));
+ break;
+
+ case 0x1000: // '1P Side' = 360' Wheel
+ return (input_port_read(machine, "WHEEL1"));
+ break;
+ default:
+ return (0);
+ break;
+ }
}
static WRITE16_HANDLER( gtmr_oki_0_bank_w )
@@ -1339,8 +1349,11 @@ static INPUT_PORTS_START( gtmr )
PORT_DIPSETTING( 0x4000, "Flag Only" )
PORT_DIPSETTING( 0x0000, DEF_STR( None ) )
- PORT_START_TAG("WHEEL0") // IN5 - Wheel - 100015.b <- ffffe.b
- PORT_BIT ( 0x00ff, 0x0080, IPT_PADDLE ) PORT_SENSITIVITY(30) PORT_KEYDELTA(1)
+ PORT_START_TAG("WHEEL0") // IN5 - Wheel (270deg) - 100015.b <- ffffe.b
+ PORT_BIT ( 0x00ff, 0x0080, IPT_PADDLE ) PORT_SENSITIVITY(30) PORT_KEYDELTA(25)
+
+ PORT_START_TAG("WHEEL1") // IN6 - Wheel (360deg)
+ PORT_BIT ( 0x00ff, 0x0000, IPT_DIAL ) PORT_SENSITIVITY(70) PORT_KEYDELTA(25) PORT_PLAYER(1)
INPUT_PORTS_END
@@ -1403,12 +1416,12 @@ static INPUT_PORTS_START( gtmr2 )
*/
PORT_DIPNAME( 0x1800, 0x1800, DEF_STR( Controls ) ) PORT_DIPLOCATION("SW1:4,5")
PORT_DIPSETTING( 0x1800, DEF_STR( Joystick ) )
- PORT_DIPSETTING( 0x0800, "Wheel (360)" ) // Not working correctly in race
- PORT_DIPSETTING( 0x1000, "Wheel (270D)" ) // Not working correctly !
- PORT_DIPSETTING( 0x0000, "Wheel (270A)" ) // Not working correctly in race
+ PORT_DIPSETTING( 0x0800, "Wheel (360)" ) // Not working correctly in race }
+ PORT_DIPSETTING( 0x1000, "Wheel (270D)" ) // Not working correctly ! } seems to work ok to me! (minwah)
+ PORT_DIPSETTING( 0x0000, "Wheel (270A)" ) // Not working correctly in race }
PORT_DIPNAME( 0x2000, 0x2000, "Optional Mode Of Pedal Function" ) PORT_DIPLOCATION("SW1:3")
PORT_DIPSETTING( 0x2000, "Microswitch" ) // "This mode also corresponds to the two buttons used with joystick."
- PORT_DIPSETTING( 0x0000, "Potentiometer" ) // Not implemented yet
+ PORT_DIPSETTING( 0x0000, "Potentiometer" ) // Not implemented yet
PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:2")
PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )