Changes

Analog Joysticks

861 bytes added, 00:27, 15 June 2018
/* Analog PC Joysticks */
* [[Connector:Analogue joystick (CPC Plus only)|Analog Joystick Port Pin-Outs]]
 
For info on reading the analog inputs, see [[Arnold V Specs Revised]] (though still unknown which of the eight ADC0..ADC7 inputs are mapped to the four X1,Y1,X2,Y2 pins...?)
The buttons are accessed same ways as for Digital Joysticks (ie. as part of the keyboard matrix).
The analog inputs are read from memory mapped ASIC registers:
6808h ADC0 Analogue Joystick 1, X-Axis (00h=Left=0 ohm, 3Fh=Right=180K 138K ohm) 6809h ADC1 Analogue Joystick 1, Y-Axis (00h=Up =0 ohm, 3Fh=Down =180K 138K ohm) 680Ah ADC2 Analogue Joystick 2, X-Axis (00h=Left=0 ohm, 3Fh=Right=180K 138K ohm) 680Bh ADC3 Analogue Joystick 2, Y-Axis (00h=Up =0 ohm, 3Fh=Down =180K 138K ohm)
680Ch ADC4 Unused, wired to +5V (twice the maximum of 2.5V) (returns 3Fh)
680Dh ADC5 Unused, wired to GND (equivalent to 0 ohm) (returns 00h)
680Fh ADC7 Unused, wired to GND (equivalent to 0 ohm) (returns 00h)
To read that registers: Unlock the ASIC, and then map its register to memory at 4000h..7FFFh.
 
Values measured by Octoate:
ADC input at 00h..01h = 0 Ohm (left/up)
ADC input at 1Fh..20h = 50 kOhm (center) (that is, the center of ADC values, not of the resistor values)
ADC input at 3Eh..3Fh = 138 kOhm (right/down)
== Analog CPC+ Joysticks ==
Currently, Analogue joysticks confirmed to be compatible with the only known CPC+ compatible analogue joystick is the :* [[Amstrad Analogue Joystick AJ-5]]* [[Sinclair SPJ-1|Amstrad's Sinclair SPJ-1.]]
* The SPJArnold 5 Diagnostic cart test results -1 (Sinclair Professional Joystick) was produced to accompany Amstrad's unsuccessful Sinclair PC200 (an old PC with 8086 processor). The SPJ-1 was a fully-fledged analogue joystick, with potentiometers used to measure input (rather than switches as in its digital precessors). It was probably a rebadged PC-standard device. The SPJ-1 was, like its host machine, a flop, and today appears to be exceptionally rare.
<gallery>{| class="wikitable"Image:Joystick SPJ|-1 with Box.jpg! Manufacturer !! Model !! Fire Common !! Resistor !! Centre X !! Centre Y !! X Axis min !! X Axis max !! Y Axis min !! Y Axis max !! Ref !! Notes|Joystick and Box-Image:Joystick SPJ| Quickshot || QS-1 Booklet.jpg6219 |Booklet| Pin 4 || TBC || &1a-&27 || &1c-2b || &00-&0f || &2c-&33 || &00-&12 || &31-&35 || dthrone || Ranges correspond to x and y axis adjust sliders</gallery>|}
== CPC+ Games with Analog Joystick Support PC Joysticks ==
[[Tennis Cup 2 Analog PC Joysticks have a very similar 15pin connector. But with some differences, which cause compatibility problems. Statistically, many people reported the analog PC joysticks '''do work''' with analog CPC+ software. Many other people reported it won't work - though it's quite possibly that they simply made some fundamental mistakes ( Cartridge )]] allows player 2 like trying to use "digital" 15pin joysticks as "analog port" joystick, or that they didn't even had proper CPC+ software for testing).
* '''MacDeath comment :Button Common Pin'''- In PCs, the button-common-pin can be at Pin4 or Pin5, on the CPC+ it must be Pin4 (or Pin12 for 3rd-4th button; if any). If necessary, rewire that pins.
* ''I tested it 'Reversed Supply Voltages''' - Compared with a Trust Predator Lite PC analog Gameports, the +5V and GND are connected vice-versa in the CPC+. This is no problem for the potentiometers (both PC and CPC+ use Pin1 as pot-common). However, it is a problem if the joystick contains '''additional electronics''' (4 buttonauto-fire circuits, 15pin socketelectrolyte capacitors, circuits inside of ''digital'' joysticks/gamepads that do emulate analog signals, etc.)These won't work (and may get damaged by the reversed voltages). If necessary, remove any such electronics before connected the joystick to the CPC+.
* ''Seems 'Resistor Values''' - In PCs, the A/D conversion is done by software timings, meaning the PCs could handle joysticks with different potentiometer types (anything from 10 kiloohm to actually many megaohm should work a little).The CPC+ does the A/D conversion by hardware, this requires less CPU load, but it also means that it requires fixed potentiometer types (circa '''138k'''Ω).** Analog PC joysticks are reportedly most commonly using '''100k''', '''120k''', or '''150k'''Ω pots. These types should be more or less compatible with the CPC+ (100K/120K won't reach the ADC=3Fh max value, for example, resolution might be only ADC=00h..30h. And 150K would be clipped to ADC=3Fh for anything above 138kΩ).** To handle those different pot types, CPC+ software should include calibration options.** There are also some PC joysticks with incompatible pot types like '''300k'''Ω - these won't work (since values above 138k will be clipped).
''Yet I found out that it was impossible to go to directions Down and Right (yet Up and Left worked), Posible cause of failure are : ''== CPC+ Software with Analog Joystick Support ==
*''this PC analog joystick is of a slightly more recent generation [[FutureOS]] - (yet still using 15pin plugPlus version) and the standard in PC may have changed (Analog joysticks needed their own drivers to work on old windows PC).'' *''4 button joystick, while Amstrad would support only [[Tennis Cup 2 button (yet 2 analogue joystick as impliyed in connector pinCartridge )]] -out).'' * ''incompatibility between PC analogue joysticks and the actually unreleased Amstrad GX4000/Plus analogue joystick standard.''  ''Tests have allows to be done with an older 2 button PC analog joystick, and further researchs on the matter.'' ''As while CPC era use Analog Joystick were less subject to exotic settings, more modern era joystick often had to feature their own drivers on PC (Win95+ era) as manufacturers often included more buttons or Autofiresdigital joystick replacement in two-player mode, having to rely on non standards Pinselectable in options menu -out setting.'' ''The same case appears when you try to use a Sega Genesis/Megadrive controller on a CPC, as those have more buttons than the mundane Atari standards.'' ''Yet if you manage to find an old 2 button PC analog Joystick, and actually own a GX4000/Plus with the Tennis Cup 2 Cartridgegame merely emulates digital inputs, itdoesn's worth giving it a try for the fun of it.''t actually support analog input) Also if you manage * RP11 Arnold V diagnostic ROM cartridge - allows to get your hands on such Joystick actually working well on GX4000/Plus, tell us. == CPC+ Software with Analog Joystick Support ==display the eight ADC inputs in numeric form
*[[FutureOS]] (Plus version)
[[Category:HardwareCPC Plus]][[Category:PeripheralsFutureOS]][[Category:CPC PlusGames Programming]][[Category:StubInput Device]][[Category:Peripherals]]
907
edits