Changes

Jump to: navigation, search

Analog Joysticks

1,394 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= [maybe 0 ohm???], 3Fh=Right= [maybe 1xx Kohm???]138K ohm) 6809h ADC1 Analogue Joystick 1, Y-Axis (00h=Up = [maybe 0 ohm???], 3Fh=Down = [maybe 1xx Kohm???]138K ohm) 680Ah ADC2 --unknown: MIGHT be Analogue Joystick 2, X-Axis (or Y-Axis00h=Left=0 ohm, or whatever3Fh=Right=138K ohm) 680Bh ADC3 --unknown: MIGHT be Analogue Joystick 2, Y-Axis (or X-Axis00h=Up =0 ohm, or whatever3Fh=Down =138K ohm) 680Ch ADC4 --unknown: MIGHT be unused (maybe Unused, wired to GND or VCC+5V (twice the maximum of 2.5V) (returns 3Fh) 680Dh ADC5 --unknown: MIGHT be unused (maybe Unused, wired to GND or VCC(equivalent to 0 ohm) (returns 00h) 680Eh ADC6 --unknown: MIGHT be unused (maybe Unused, wired to GND or VCC+5V (twice the maximum of 2.5V) (returns 3Fh) 680Fh ADC7 --unknown: MIGHT be unused (maybe Unused, wired to GND or VCC(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 ==
Every PC analog joystick can Analogue joysticks confirmed to be used compatible with the CPC Plus+:* [[Amstrad Analogue Joystick AJ-5]]* [[Sinclair SPJ-1|Amstrad's Sinclair SPJ-1]]
== CPC+ Games with Analog Joystick Support ==Arnold 5 Diagnostic cart test results -
[[Tennis Cup 2 ( Cartridge )]] allows player 2 {| class="wikitable"|-! Manufacturer !! Model !! Fire Common !! Resistor !! Centre X !! Centre Y !! X Axis min !! X Axis max !! Y Axis min !! Y Axis max !! Ref !! Notes|-| Quickshot || QS-6219 || Pin 4 || TBC || &1a-&27 || &1c-2b || &00-&0f || &2c-&33 || &00-&12 || &31-&35 || dthrone || Ranges correspond to use analog port.x and y axis adjust sliders|}
'''MacDeath comment :'''== Analog PC Joysticks ==
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'''I tested it with a Trust Predator Lite PC analog joystick CPC+ software. Many other people reported it won't work - though it's quite possibly that they simply made some fundamental mistakes (4 button, like trying to use "digital" 15pin socketjoysticks as "analog" joystick, or that they didn't even had proper CPC+ software for testing).
* ''Seems to actually work a little.'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.
* ''Yet I found out that it was impossible to go to directions Down 'Reversed Supply Voltages''' - Compared with PC Gameports, the +5V and Right GND are connected vice-versa in the CPC+. This is no problem for the potentiometers (yet Up both PC and Left workedCPC+ use Pin1 as pot-common). However, Posible cause it is a problem if the joystick contains '''additional electronics''' (auto-fire circuits, electrolyte capacitors, circuits inside of failure are : ''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+.
*''this PC analog joystick 'Resistor Values''' - In PCs, the A/D conversion is of a slightly more recent generation done by software timings, meaning the PCs could handle joysticks with different potentiometer types (yet still using 15pin pluganything from 10 kiloohm to many megaohm should work) and . The CPC+ does the standard in PC may have changed 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 needed their own drivers 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 work on old windows PCADC=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).
*''4 button joystick, while Amstrad would support only 2 button (yet 2 analogue joystick as impliyed in connector pin-out).''== CPC+ Software with Analog Joystick Support ==
* ''incompatibility between PC analogue joysticks and the actually unreleased Amstrad GX4000/[[FutureOS]] - (Plus analogue joystick standard.''version)  ''Tests have to be done with an older * [[Tennis Cup 2 button PC analog joystick, and further researchs on the matter.'' ''As while CPC era Joystick were less subject to exotic settings, more modern era joystick often had to feature their own drivers on PC (Win95+ eraCartridge ) as manufacturers often included more buttons or Autofires, having to rely on non standards Pin]] -out setting.'' ''The same case appears when you try allows to use a Sega Genesis/Megadrive controller on a CPC, Analog Joystick (as those have more buttons than the mundane Atari standards.'' ''Yet if you manage to find an old 2 button PC analog Joystickdigital joystick replacement in two-player mode, and actually own a GX4000/Plus with selectable in options menu - 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]]
903
edits