English Amiga Board


Go Back   English Amiga Board > Support > support.Hardware

 
 
Thread Tools
Old 08 January 2020, 13:36   #1
Overmann
Registered User

Overmann's Avatar
 
Join Date: May 2014
Location: Norway
Posts: 246
Default analog joystick specs, improved support?

Lately I've been playing around with analog joystick adapters, trying to get that magical analog flightsim feel on the amiga but I find that so many games fail to offer joystick calibration. As a result the sticks don't work right. I have four old analog joysticks with 15 pin plugs and with some games none of them work right, like with Knights of the sky (which is one of my favourite flightsims on the amiga). With games that offer calibration (jetpilot) they all work perfectly!

I have two questions:
What are the non working games expecting from my joystick? Does anyone know the output of an amiga analog stick? I have a couple of CF mach sticks. Wonderful little joysticks. They output from 0 to 30 or thereabouts and center at about 15. In knights of the sky I get almost no down (take off) or right, but plenty of up (go down) and left. Fire buttons work fine obviously.

Is there anything I can do? Are there tools I can use or files I can edit outside the games to tell them what to expect from the joystick? How can I improve the compatability?

Thank you for reading
Overmann is online now  
Old 08 January 2020, 16:40   #2
Etze
A3000-Fan

Etze's Avatar
 
Join Date: Sep 2008
Location: Germany
Posts: 184
According to its manual, Knights of the sky does not require calibration. I just tried it with the adapter from amigakit and a Logitech Wingman Joystick. Worked perfectly. Did you have the joystick connected when you switched the Amiga on (I did)? Or does your joystick have those "trimmers"? Maybe they aren't centered?


Where can I find the output values?
Attached Thumbnails
Click image for larger version

Name:	joystick2.jpg
Views:	12
Size:	13.1 KB
ID:	65868  
Etze is offline  
Old 08 January 2020, 23:58   #3
Daedalus
Registered User

Daedalus's Avatar
 
Join Date: Jun 2009
Location: Dublin, then Glasgow
Posts: 4,441
What are you reading those values in? A joystick tester? The values should have a much larger deflection - in theory the pot values can range from 0 to 255, though you would be best keeping away from the upper limit in case you manage to go slightly past it and wrap around to 0... Not good in a tense flight sim moment! You don't want to have the value too low either as that reduces the resolution of the movement.

I'm sure most games of the era must have had some sort of calibration system, because analogue controllers of the time didn't really do defined values as the pots weren't used as potential dividers and so the upper limit of each axis (and therefore the centre point of each axis too) is rather arbitrary.

Additionally, the Amiga has slightly different specs for pots than a PC analogue input uses. On the Amiga, the pot should be 470K linear to give readings reasonably close to full-scale, but PC joysticks tended to use much lower values, between 100-200K typically, which will give much lower deflections on the Amiga, naturally. If I were to guess, and the value you're getting of 30 is an actual pot counter result, I'd say your stick has 100K pots in it.

Back in the day, I was a big fan of my analogue stick and fitted my towered A1200 with a 15-pin port especially for them, but had a similar problem with very low readings. I managed to improve the sensitivity and full scale deflection of the stick by adding small capacitors across the pot inputs. This had the effect of increasing the range from the pot registers, thus increasing the smoothness of the analogue control in Birds of Prey and F1GP (the two main games I used it for). If you're handy with a soldering iron, it could be worth experimenting with some small capacitors (try the 50-200nF range - from memory I used 100nF capacitors) added to your adaptor.
Daedalus is offline  
Old 09 January 2020, 00:12   #4
Overmann
Registered User

Overmann's Avatar
 
Join Date: May 2014
Location: Norway
Posts: 246
Thank you for the replies!

@Etze
Yes, I have those trimmers on all my sticks and they work as expected but they do not help matters in "Knights of the sky". I had my joystick connected when turning my amiga on. Perhaps I need to try another adapter? I'll have a look at the one AmigaKit sells.

@Daedalus
Well, those values are solely based on the readings from JetPilot. I have a joytester on my A1200 so I'll connect to that and see what it reports. I will also try to look at the adapter and see if there are points for soldering capacitors. Perhaps the adapter that Amigakit sells already has them in there?
The problem with Knights of the sky is parculiar however as only right and down is unresponsive. I'm using WHDload. I'll try to install from floppy, and I'll try more games to see. I've found that many games behave irradically though all readings from games that offer calibration show perfectly normal reading (though perhaps low), all pots are responsive and precise.
Overmann is online now  
Old 09 January 2020, 00:23   #5
Etze
A3000-Fan

Etze's Avatar
 
Join Date: Sep 2008
Location: Germany
Posts: 184
My adapter doesn't have capacitors. So I don't think that your adapter is your problem.
Etze is offline  
Old 09 January 2020, 01:00   #6
Overmann
Registered User

Overmann's Avatar
 
Join Date: May 2014
Location: Norway
Posts: 246
I tried it with F1gp now and the joystick appears to behave normally. The calibration reports values from 0 to 130 on the x axis and 0 to 145 on the y axis. AnaCal reports values similar to JetPilot, in the 0 to 30 range.

I'll give more games a try, and more joysticks. I'll see if I can get a better understanding of what is wrong with the games that don't work. If it's similar to the behaviour in KotS.
Overmann is online now  
Old 09 January 2020, 01:08   #7
Daedalus
Registered User

Daedalus's Avatar
 
Join Date: Jun 2009
Location: Dublin, then Glasgow
Posts: 4,441
Well, if the game doesn't offer calibration, it might be expecting some sort of average value for the center point, and if that value is close to the maximum deflection of the stick, you'll get poor responses in the down and right directions (up and left is 0, 0).

There are other testers, but I wrote one myself that gives a visual indication of the actual analogue stick readings (amongst testing lots of other controller types like CD32 and Megadrive pads). It's called ControllerTest and is available on Aminet, though it requires Workbench 2 and a 68020 so it won't work on a plain A500. The box shown when analogue is selected represents the full, theoretical range of readings. If the marker stays very close to the top left, it doesn't have a very good range and might be below the minimum expected by Knights of the Sky. Games with calibration fix that by multiplying the values up, at the expense of resolution.

Edit: I should point out too that the actual values read are dependant on timings. There's a recommended method of allowing the pot capacitor to charge for a full frame before each reading, so read the value/reset the register in immediate succession in a VBlank interrupt, but if the coders read the value at other stages, the results will be different, with lower values reported when the value is read with less than one frame of a delay. Naturally, NTSC/PAL will affect this too, with NTSC setups giving slightly lower values than PAL ones.
Daedalus is offline  
Old 10 January 2020, 14:05   #8
Overmann
Registered User

Overmann's Avatar
 
Join Date: May 2014
Location: Norway
Posts: 246
Quote:
Originally Posted by Daedalus View Post
There are other testers, but I wrote one myself that gives a visual indication of the actual analogue stick readings (amongst testing lots of other controller types like CD32 and Megadrive pads). It's called ControllerTest and is available on Aminet, though it requires Workbench 2 and a 68020 so it won't work on a plain A500. The box shown when analogue is selected represents the full, theoretical range of readings. If the marker stays very close to the top left, it doesn't have a very good range and might be below the minimum expected by Knights of the Sky. Games with calibration fix that by multiplying the values up, at the expense of resolution.
I just tried it and I only get to move around in the very top left of the box, and only just a little wiggle around. I guess I need to modify my adapter :P
Overmann is online now  
Old 10 January 2020, 14:20   #9
Daedalus
Registered User

Daedalus's Avatar
 
Join Date: Jun 2009
Location: Dublin, then Glasgow
Posts: 4,441
Perhaps... You could also swap the pots in your stick for higher resistance ones, but then it might not be read correctly on PCs (if that's an issue).

I probably should have mentioned too that the stick itself contributes to the range in its mechanical design. If it uses 100K pots, but only allows 1/4 of the range of movement of the pot, it's potentially only a 25K pot (or 25-50, 50-75 or whatever) and will be read as such by the Amiga.
Daedalus is offline  
 


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

Similar Threads
Thread Thread Starter Forum Replies Last Post
improved joystick s2325 Amiga scene 0 18 January 2011 23:47
Analog PC joystick to Amiga? Chain Hardware mods 3 20 February 2009 19:32
Which Amiga games support an analog joystick? Rixa support.Games 6 14 September 2008 05:44
Analog joystick scaling rmzalbar support.WinUAE 6 18 November 2007 00:37
Analog joystick frikilokooo MarketPlace 5 13 October 2007 13:22

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 13:54.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.
Page generated in 0.07036 seconds with 16 queries