English Amiga Board


Go Back   English Amiga Board > Support > support.Hardware

 
 
Thread Tools
Old 05 November 2021, 01:05   #1
StompinSteve
Village idiot
 
StompinSteve's Avatar
 
Join Date: Jun 2021
Location: Switzerland
Posts: 267
Question Analogue joysticks for Amiga

Hello,

I am looking for an analogue joystick for my Amiga 1200 and I am very confused. I have been reading up but still don't fully understand how analogue joysticks work on the Amiga.
I am not asking about games that have support. There are lists for that. I'm purely talking hardware for real Amigas.

My question:
does the Amiga natively support analogue joysticks and if yes, can you name a model/type (because I can only find sticks with 9 pins and microswitches indicating they are digital).
or:
does it always require an "Amiga to 15pin PC joystick adapter" and a PC compatible analogue joystick (one with two pot-meters and 2 buttons).

Last edited by StompinSteve; 05 November 2021 at 02:07.
StompinSteve is offline  
Old 05 November 2021, 03:39   #2
jasonsbeer
Registered User
 
jasonsbeer's Avatar
 
Join Date: May 2020
Location: Iowa, USA
Posts: 150
Quote:
Originally Posted by StompinSteve View Post
does the Amiga natively support analogue joysticks
Yes

Quote:
Originally Posted by StompinSteve View Post
can you name a model/type
No

Quote:
Originally Posted by StompinSteve View Post
does it always require an "Amiga to 15pin PC joystick adapter" and a PC compatible analogue joystick (one with two pot-meters and 2 buttons).
That would probably work fine.

Reference X-Y Proportional Joystick here: http://amigadev.elowar.com/read/ADCD.../node017D.html
jasonsbeer is offline  
Old 05 November 2021, 06:58   #3
DisasterIncarna
Registered User
 
DisasterIncarna's Avatar
 
Join Date: Oct 2021
Location: England
Posts: 1,170
they do or did exist, somewhere.

https://www.epanorama.net/documents/...taristick.html

this mentions analogue types did exist for 9pin atari ports, the site mentions analogue standards for the c64 at least, not sure about amiga, tho youd expect it to be the same as the c64.

Here's someones vid of an old 9pin analogue joystick, [ Show youtube player ] no idea about modern day equivalents.

Last edited by DisasterIncarna; 05 November 2021 at 07:05.
DisasterIncarna is offline  
Old 05 November 2021, 09:53   #4
StompinSteve
Village idiot
 
StompinSteve's Avatar
 
Join Date: Jun 2021
Location: Switzerland
Posts: 267
Ok thank for clearing that up guys. I ordered the adapter from Amiga Kit and a brandnew "old-stock" Gravis Analog PC stick from eBay.

Good times are coming :-)
StompinSteve is offline  
Old 05 November 2021, 09:59   #5
Daedalus
Registered User
 
Daedalus's Avatar
 
Join Date: Jun 2009
Location: Dublin, then Glasgow
Posts: 6,334
I do remember that there was at least one joystick for the Amiga that was available in both digital and analogue versions, maybe more? The Konix Speed King appears to fit the bill anyway. I never saw one in the flesh though - I always just used a 15-pin PC joystick with an adaptor. In theory, up to 5 buttons can be read by the Amiga - the developer documents list 3 but but the stick I used had 4 buttons so I made sure it was hooked up (even if nothing other than my own software could read it).

The Amiga controller port is very close in implementation to the original Atari port, where two analogue inputs were provided to use paddle controllers. It's these inputs that the Amiga uses to read analogue joysticks, which are basically the same thing as two paddles - one for left/right, one for forwards/backwards.

In essence, PC analogue joysticks are more or less the same as Amiga ones, but the Amiga analogue inputs are designed for a higher value of variable resistor, so the range of raw values the software sees isn't very large with a PC joystick. Games will generally have a calibration function to even out this effect, but for finer control, adding a small capacitor across the relevant pins helps this.
Daedalus is online now  
Old 27 November 2021, 21:52   #6
StompinSteve
Village idiot
 
StompinSteve's Avatar
 
Join Date: Jun 2021
Location: Switzerland
Posts: 267
Hello guys,

I recieved the Gravis Analog Stick in the mail. It is brand new (new old stock).
I hooked it up via the AmigaKit adapter and it works. Kind of...
I use AnaCal from AmiNet to calibrate the stick. This seems to work fine.

When I fired up Gunship2000-AGA i Noticed that the chopper was steering to the left like mad. I used the Trim screw for the X-axis to fix this so the chopper flies straight. Same happened in F15-II by the way.
In both games, the aircraft banks to the left aggressively but to the right is very slow. Same for the Y-axis. The plane/chopper pulls up quickly but dropping the nose is slow (or the other way around, can't remember exactly).

Anyway. Using AnaCal and the X and Y trim-screws, I noticed the following:
- when I move the stick to the right, the corresponding max X value is reached at full travel.
- when I move the stick to the left, the corresponding max X value is reached after only a little bit of travel. The value of X does not change the rest of the travel until it physically stops.
- when I move the stick towards me (up), the corresponding max Y value is reached at full travel.
- when I move the stick away from me (down), the corresponding max Y value is reached after only a little bit of travel. The value of Y does not change the rest of the travel until it physically stops.
I cannot solve it with the trim screws.

So this explains what I see in the games but how do I fix it? The stick is brand new so I tend to rule that out as the root-cause. Could it be the adapter?
StompinSteve is offline  
Old 27 November 2021, 22:30   #7
zipper
Registered User
 
Join Date: Mar 2004
Location: finland
Posts: 1,837
What about this? https://www.ebay.co.uk/itm/111439026977
zipper is offline  
Old 27 November 2021, 22:57   #8
Daedalus
Registered User
 
Daedalus's Avatar
 
Join Date: Jun 2009
Location: Dublin, then Glasgow
Posts: 6,334
Right, the problem is that this sort of joystick doesn't have a centre as such. You have trim screws/levers/wheels that adjust where in the motion corresponds to the centre, but that's not really the adjustment you need. It needs to be an adjustment within the game for it to work properly.

You need the values of each direction to change all the way to both ends of the mechanical movement. If the numbers stop before the stick stops moving, you'll have problems like you describe where one direction is more responsive than the other. So adjust the trim controls until you get both ends of the scale outside the mechanical range of the axis... If that makes sense? What raw values are you getting? The possible values are 0-255, though in reality it typically tops out around 220 or 230.

Once that's done, you shouldn't need the trim controls any more. You need to calibrate within the game, and all games should have some sort of system for this. The best type will record the maximum deflection in all four directions as well as the centre - this will ensure the game gets the most from the joystick, and that the maximum movement of the stick corresponds with the maximum movement in the game.

The Gunship 2000 manual says you need to press Alt+J with the joystick centred to record the centre position. I can't find a mention of it in the F-15 manual...

If you're getting any sort of analogue control at all, then the adaptor is working. The only difference another adaptor might make would be to add capacitors to the pot lines. This increases sensitivity, and might help if you can't seem to get the stick to sit fully within the range of values. But it doesn't look like either of the adaptors mentioned have these capacitors...
Daedalus is online now  
Old 28 November 2021, 02:17   #9
QuikSanz
Registered User
 
QuikSanz's Avatar
 
Join Date: May 2021
Location: Los Angeles / USA
Posts: 135
Just use the adapter with a 14 pin PC joystick that has trim wheels on it, no driver. works perfect. Small adjustment and good to go.

That software may work with a USB joystick, I need to look at that.

Chris
QuikSanz is offline  
Old 01 December 2021, 18:26   #10
StompinSteve
Village idiot
 
StompinSteve's Avatar
 
Join Date: Jun 2021
Location: Switzerland
Posts: 267
Hi,

"that has trim wheels on it"
As I wrote it has trim-screws, not wheels. But same function.
using a calibration program like AnaCal, the programs shows it has 26 positions in both X and Y (going from 0 to 25).
On the X-axis, the trim-screw can rotate 8 rotations end-to-end. So "4" rotations is "middle" for the screw.
On the Y-axis, the trim-screw can rotate 12 rotations end-to-end. So "6" rotations is "middle" for the screw.
With the screws set that way, the center-position according to AnaCal is "16 X" and "16 Y".
When I move the stick to the left, 0 is reached at full deflection.
When I move the stick to the right, 25 is reached about half travel before full deflection (much too early).
When I move the stick forward, 0 is reached at full deflection.
When I move the stick down, 25 is reached about half travel before full deflection (much too early).

I then rotate both trimscrews so that in AnaCal, those 16 and 16 eventually change to 13 and 13 (the middle of 26). The program then says "calibrabrated" and indeed, the deflection in all direction works correctly now: the max values are only shown when at max. physical deflection. So that is good.
But it does not carry over to games.

When I then start GunShip2000AGA the chopper spins left like a maniak. Alt+J does absolutely nothing. The manual does say "it was copied from the PC version and some things might not be correct" which seems to very true for the Analog Joystick calibration stuff. One can choose Analog Joystick from the Configuration menu, which of course I did, but that is all I seem to be able to do.

@ Zipper: that adapter is the same as all the others: just connecting certain pins on the 15 pin to certain pins on the 9 pin Amiga side. The adapter from Amiga Kit is housed inside the cable and therefor not a bare PCB like some others out there (like your example called "PcJoy2AMIGA V1.2" which is also sold by AmigaStore.eu).

Last edited by StompinSteve; 01 December 2021 at 18:32.
StompinSteve is offline  
Old 01 December 2021, 19:46   #11
Aardvark
Registered User
 
Join Date: Jan 2019
Location: Finland
Posts: 634
X axis = 0-44, center point = 22
Y axis = 0-40, center point = 20

Those are the values i get with Logitech Wingman, and it works great with every sim which doesn't have in-game calibration. No idea why your Gravis gives limited range, sorry.
Aardvark is offline  
Old 01 December 2021, 23:59   #12
Daedalus
Registered User
 
Daedalus's Avatar
 
Join Date: Jun 2009
Location: Dublin, then Glasgow
Posts: 6,334
Those values are far too low. As I said above, on the Amiga, the full range of values is from 0 to 255 (but realistically tops out around 220). That means a centre region should be around 100, giving you ~100 steps of movement in all four directions. And having 0 as your extreme low value means it's quite likely you're not getting the full deflection there either, unless it only hits 0 as you hit the mechanical limit of your stick and never before that point.

Even a centre of 20 or 22 is far too low IMHO. But anyway, that range of values can be dramatically improved by adding capacitors to the pot lines on the adaptor. This has the effect of producing a greater range of values, allowing PC joysticks to roughly match the response of Amiga-specific analogue controllers.

I've just checked my own setup here, and the stick I have gives centre values around 70, with full deflection around 140. Gunship 2000 works fine, though it needed slight tweaks to the trip. Setting the sensitivity to low in the control prefs helps, but I couldn't find any way of calibrating or zeroing the stick. Other flight sims like Tornado have a nicer control feel, but that also has a calibration option.
Daedalus is online now  
Old 02 December 2021, 02:24   #13
Aardvark
Registered User
 
Join Date: Jan 2019
Location: Finland
Posts: 634
How is higher range useful when a game is hard coded for 0-44 range and 22 center point?

Gunship 2000 doesn't display joystick indicator, but try Knights of the Sky (Tab shows joystick indicator, and Alt-J enables analog controls). 0-44 gives full range in the joystick position indicator and it's also mechanical max range of Logitech Wingman.

To my understanding 0-70 range would shift the in-game center point to low-right position, and the game would only use 63% of mechanical joystick range.
Aardvark is offline  
Old 02 December 2021, 09:56   #14
Daedalus
Registered User
 
Daedalus's Avatar
 
Join Date: Jun 2009
Location: Dublin, then Glasgow
Posts: 6,334
Why would a game be hard coded for a 0-44 range, when every joystick is different, and the hardware itself (and associated developer documentation) references a range of 0-255? Especially since a stick with a limited range like that doesn't match the recommended specs for analogue input.

Gunship 2000 doesn't display a joystick indicator, but hovers straight and level with my joystick centred around 70x70, and I don't normally play Knights of the Sky, but a quick test shows I can control the aircraft no problem with my stick, and it flies straight and level with my stick centred. So no, it definitely isn't hard-coded for a 0-44 range and 22 centre point.

I haven't disassembled these games to check, but I would guess that games without a calibration routine make some assumptions such as the stick being centred when they start, much like modern analogue stick controllers. From that they can take a rough guess at the range of movement - if your stick reads 22 when it starts, 0-44 is a reasonable guess at a range.
Daedalus is online now  
Old 02 December 2021, 10:27   #15
StompinSteve
Village idiot
 
StompinSteve's Avatar
 
Join Date: Jun 2021
Location: Switzerland
Posts: 267
I think it is counter-productive to compare sticks based on their max deflection values. Gravis does 0-25, Wingman 0-44, another does 0-140 and others will again have other values.
The max values the Amiga system can handle (if any stick exists that even has such high values) is 255 based on the docs. Noted.

What Calibration software (CLI or Workbench, not in-game) do you guys use? Maybe it's AnaCal that has the 0-25 limits and not the Gravis?

I'll try Knights of the Sky because I need a game that "shows me something" as F15 II and GS2000 are useless for me in this troubleshooting phase.

Last edited by StompinSteve; 02 December 2021 at 10:49.
StompinSteve is offline  
Old 02 December 2021, 10:47   #16
Daedalus
Registered User
 
Daedalus's Avatar
 
Join Date: Jun 2009
Location: Dublin, then Glasgow
Posts: 6,334
Well, as I said above, 255 is the maximum theoretical value but realistically it peaks around 220. You don't want to get too close to 255 because if it rolls over, the software will think it's pushed the opposite direction.

There's no such thing as a global calibration on the Amiga. Calibration software like AnaCal simply reads the values and lets you set the trim to an optimum level. It doesn't, and can't, set any limits for any games. Your readings are what they are.

My point about the low values is more than just having a smoother response - if a game makes assumptions about the range of sticks, it could well have limits on how far it reaches. If, for example, it doesn't allow the maximum to be below 32, having the maximum at 25 and the centre at 13 will result in always turning left and pitching down.

Last edited by Daedalus; 02 December 2021 at 11:12.
Daedalus is online now  
Old 02 December 2021, 11:14   #17
Aardvark
Registered User
 
Join Date: Jan 2019
Location: Finland
Posts: 634
Quote:
Originally Posted by Daedalus View Post
Why would a game be hard coded for a 0-44 range, when every joystick is different, and the hardware itself (and associated developer documentation) references a range of 0-255? Especially since a stick with a limited range like that doesn't match the recommended specs for analogue input.

Gunship 2000 doesn't display a joystick indicator, but hovers straight and level with my joystick centred around 70x70, and I don't normally play Knights of the Sky, but a quick test shows I can control the aircraft no problem with my stick, and it flies straight and level with my stick centred. So no, it definitely isn't hard-coded for a 0-44 range and 22 centre point.

I haven't disassembled these games to check, but I would guess that games without a calibration routine make some assumptions such as the stick being centred when they start, much like modern analogue stick controllers. From that they can take a rough guess at the range of movement - if your stick reads 22 when it starts, 0-44 is a reasonable guess at a range.
I tried WinUAE config with "input.analog_joystick_multiplier=71" and "input.analog_joystick_offset=-20", which gives 0-140 range and 70 center in AnaCal, and all Microprose sims are centered in a low-right extreme position with these values. So whatever the games are doing to determine joystick center position is not working under emulation.

0-44 and 22 are the only values that results centered position in these games in WinUAE, which is also very close to what Wingman gives me on a real hardware, so I assumed this is the standard range which these games are hard coded to use.

Going to solder a capacitor on the adapter next and see how it behaves. Thanks for the info, and apologies for my misinformation.
Aardvark is offline  
Old 02 December 2021, 12:05   #18
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,502
I don't remember any game names anymore but currently used range in WinUAE is the only one that works with all known games that support analog stick.

Larger range or different zero point is not compatible with games that don't have any calibration support (which imho is quite stupid).
Toni Wilen is online now  
Old 02 December 2021, 12:13   #19
Daedalus
Registered User
 
Daedalus's Avatar
 
Join Date: Jun 2009
Location: Dublin, then Glasgow
Posts: 6,334
That's interesting then, because my testing shows that they (or at least Gunship 2000 and Knights of the Sky) work with a higher centre value. Do they maybe have a large deadzone or something instead? Control did feel suspiciously close to digital compared to the likes of Tornado.
Daedalus is online now  
Old 02 December 2021, 12:21   #20
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,502
Perhaps some games do auto-calibrate but there was at least one game that didn't have calibration and didn't work with larger range.
Toni Wilen is online now  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Analogue pc joysticks on Amiga pubzombie support.Hardware 21 04 February 2015 04:20
HELP NEEDED! New "Amiga-daptor" project to support Analogue controllers! SunChild support.Hardware 10 03 November 2013 07:51
How to use old Amiga joysticks in PC paulo_becas Hardware mods 14 09 April 2010 17:05
Analogue joysticks in WinUAE antonvaltaz support.WinUAE 5 24 September 2009 22:42
Amiga Joysticks on PC Mojo support.Hardware 15 01 March 2006 03:53

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 14:26.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.13425 seconds with 13 queries