Difference between revisions of "Analog Joysticks"

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
(Analog PC Joysticks)
(Technical)
Line 6: Line 6:
  
 
* [[Connector:Analogue joystick (CPC Plus only)|Analog Joystick Port Pin-Outs]]
 
* [[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 buttons are accessed same ways as for Digital Joysticks (ie. as part of the keyboard matrix).

Revision as of 07:46, 20 February 2010

The CPC+ and GX4000 contain an analog joystick port (additionally to the normal Digital Joystick port).

Technical

The connector is similar as PC/Soundblaster joystick ports, for details on the pin-outs (and differences between CPC and PC joysticks), see:

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 ohm)
 6809h  ADC1  Analogue Joystick 1, Y-Axis (00h=Up  =0 ohm, 3Fh=Down =180K ohm)
 680Ah  ADC2  Analogue Joystick 2, X-Axis (00h=Left=0 ohm, 3Fh=Right=180K ohm)
 680Bh  ADC3  Analogue Joystick 2, Y-Axis (00h=Up  =0 ohm, 3Fh=Down =180K 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)
 680Eh  ADC6  Unused, wired to +5V (twice the maximum of 2.5V)   (returns 3Fh)
 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.

Analog CPC+ Joysticks

Currently, the only known CPC+ compatible analogue joysticks is the Sinclar SPJ-1.

The SPJ-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.

Analog PC Joysticks

Analog PC Joysticks have a very similar 15pin connector. Theoretically, a few PC joysticks might be CPC+ compatible. However, in practice, this is rather unlikely - the potentiometers must have correct value, the button common pin must be correct, and the joystick may not contain additional electronics like auto-fire circuits, electrolyte capacitors, or digital-switch to analog-signal converters.

  • Caution - compared with PCs, the CPC+/GX4000 do output reversed polarity on the joysticks power supply pins, so any special electronics in PC joysticks may get destroyed when connecting them to a CPC Plus/GX4000.

If you want to use a PC joystick: Remove any electronics other than the potentiometers and buttons. Ensure that buttons are wired to correct common pin. And, probably you'd need to replace the potentiometers (if they aren't 180K) - however, this may be the complicated part: potentiometers in analog joysticks aren't necessarily matching standard mechanical dimensions.

CPC+ Software with Analog Joystick Support

  • Tennis Cup 2 ( Cartridge ) - allows to use Analog Joystick (as digital joystick replacement in two-player mode, see options menu)
  • RP11 diagnostics cartridge - allows to display the eight ADC inputs in numeric form
  • FutureOS - homebrew operating system (Plus version)