Analog Joysticks

From CPCWiki - THE Amstrad CPC encyclopedia!
Revision as of 07:13, 20 February 2010 by Nocash (Talk | contribs) (Analog CPC+ Joysticks)

Jump to: navigation, search

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:

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

CPC+ Games with Analog Joystick Support

Tennis Cup 2 ( Cartridge ) allows player 2 to use analog port.

MacDeath comment :

I tested it with a Trust Predator Lite PC analog joystick (4 button, 15pin socket).

Seems to actually work a little.

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  :

  • this PC analog joystick is of a slightly more recent generation (yet still using 15pin plug) 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 2 button (yet 2 analogue joystick as impliyed in connector pin-out).
  • incompatibility between PC analogue joysticks and the actually unreleased Amstrad GX4000/Plus analogue joystick standard.


Tests have to be done with an older 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+ era) as manufacturers often included more buttons or Autofires, having to rely on non standards Pin-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 Cartridge, it's worth giving it a try for the fun of it.

Also if you manage to get your hands on such Joystick actually working well on GX4000/Plus, tell us.

CPC+ Software with Analog Joystick Support