Digital Joysticks

From CPCWiki - THE Amstrad CPC encyclopedia!
Revision as of 10:45, 4 February 2010 by Nocash (Talk | contribs) (Using the Keyboard as Joystick Replacement)

Jump to: navigation, search

Technical

The CPC joystick port is (more or less) based on the Atari-standard, for details on the pin-outs (and differences between Amstrad CPC and normal Atari/Commodore ports), see:

At software side, the joystick port is part of the keyboard matrix, accessed via the general purpose I/O port in the PSG chip, which is itself accessed indirectly via the 8255 chip.

Official Amstrad Joysticks

Jy2.jpg

Amstrad's two-button joysticks. The quality isn't spectacular, so most CPC users tended to use third-party sticks, with only 1-button, but better quality. The JY-2 version contains a connector for a second joystick (equivalent to a built-in Y-cable).

Official CPC+/GX4000 Joypads

Gx4000.jpg

The CPC+ and GX4000 were shipped with one or two digital joypads included. Technically, they work same as normal joysticks. But, they have two buttons. And, the GX4000 doesn't have a keyboard which could be used instead of a second fire button. In result, some CPC+/GX4000 games may rely on 2-button hardware, making them incompatible with regular 1-button joysticks.

Compatible Standard Joysticks

Joystick Competition PRO 5000 box front.jpg

All Atari-compatible digital joysticks with Single Fire Button and Four Direction switches should be usually working with the CPC. For example, classic Competition Pro joysticks.

Incompatible Standard Joysticks

  • Joysticks that do require 5V/GND supply (eg. for built-in auto-fire circuits) won't work on the CPC.
  • Joysticks with 2-3 buttons may also be problematic (in the Atari standard, 2nd/3rd button are wired between POT0/POT1 and 5V).
  • And, in lack of the POT inputs, any kind of analog devices (like Atari paddles) won't work on the CPC.
  • Newer joysticks with PC-style 15pin or USB connector obviously won't fit to the CPCs 9pin port (unless one eliminates the electronics inside of those joysticks, and re-wires their botton/dirction switches directly to the CPCs joystick port).

Y-Cable

The original CPC models have only one joystick port, but can be used with 2 joysticks when using a Y-cable:

The CPC+/GX4000 have two digital joystick ports (which work equivalent to the Y-cable).

Other hardware that can be connected to the CPC joystick port

The CPCs digital joystick port is occasionally also misused to connect other hardware, known examples are: Some Lightguns: (Gunstick, West Phaser). Amstrad's Lightpen (Amstrad LP-1 light pen). And, various mouse interfaces (AMX Mouse, Atari-ST mouse adapter, Dk'tronics Mouse Interface, CPC-Mousepack 2.0, GEOS mouse).

On the original CPCs, the direction/button inputs can be reprogrammed as outputs (via PSG/PPI config). However, this will NOT work on the CPC+/GX4000's dual joystick ports - which include diodes (like normal joystick Y-cables).

Joystick Related stuff... Sega Controllers...

Using the Keyboard as Joystick Replacement

Most games (should) also support keyboard controls for users who don't own joysticks. Most commonly used keys are:

  • Cursor keys & SPACE - This is not good for CPC 464 and 664 (which have uncomfortably arranged cursor keys) (only the 6128 and CPC+ do have modern cursor keys; as do emulators with PC keyboards)
  • Q,A,O,P,SPACE - This is a good solution, and it's sorts of standard (used by many games)

Best would be to implement both of the above solutions. Q-A-O-P is of course for english QWERTY keyboards, on french AZERTY it'd be A-Q-O-P (either way, the bits in the keyboard matrix are the same).

Other game controller inputs

The CPC+/GX4000 additionaly have an 15pin Analog Joystick Port, and a 6pin Lightgun socket (AUX).