Changes
/* Relevant locations in Keyboard Matrix */
== Technical ==
* [[Connector:Digital joystick|CPC Joystick Port Pin-Outs]]
== Is this true? Official Amstrad Joysticks ==Some modification occured, especially for the PLUS range as Amstrad aimed the console market (GX4000) and used a politic of "Exclusive Hardware" like all console manufacturers of the time.
== Joystick Related stuff... Sega Controllers... ==
* [[Digital Joystick Related]]
== Developing programs that use joystick == In the CPC world it is more common that a game supports both digital joystick and keyboard for those users who don't own joysticks. There are some common keyboard configurations used: * '''Cursor keys & SPACE''' ** This configuration is often used and is great for the CPC6128 and Plus and playing using emulators. ** This is '''not good''' for CPC 464 and 664 (which have uncomfortably arranged cursor keys) * '''Q,A,O,P,SPACE''' - (Q up, A down, O left, P right, SPACE fire) ** This is a good solution, and it's a sort of standard (used by many games). ** Note: On french keyboards it'd be A,Q,O,P - anyways, the "UP" key is always Row8.Bit3, no matter if it's locally called "Q" (english QWERTY keyboard), or "A" (french AZERTY keyboard). Best would be to support joysticks, plus the above two keyboard mappings. Best to support them all at once (without needing the user select which one to use). In addition, it is also nice if the keys could be redefined but that is not necessary. == Relevant locations in Keyboard Matrix == {|{{Prettytable|width: 700px; font-size: 2em;}}|''Direction''||''Joystick 1''||''Joystick 2''||''Cursor,Space''||''Q,A,O,P,Space''|-|Up ||Row9.Bit0 ||Row6.Bit0 (6) ||Row0.Bit0 ||Row8.Bit3 (Q)|-|Down ||Row9.Bit1 ||Row6.Bit1 (5) ||Row0.Bit2 ||Row8.Bit5 (A)|-|Left ||Row9.Bit2 ||Row6.Bit2 (R) ||Row1.Bit0 ||Row4.Bit2 (O)|-|Right ||Row9.Bit3 ||Row6.Bit3 (T) ||Row0.Bit1 ||Row3.Bit3 (P)|-|Fire1 ||Row9.Bit4 ||Row6.Bit4 (G) ||Row5.Bit7 ||Row5.Bit7 (Space)|-|Fire2 (*) ||Row9.Bit5 ||Row6.Bit5 (F) ||(wherever) ||(wherever)|-|Fire3 (**) ||Row9.Bit6 ||Row6.Bit6 (B) ||(wherever) ||(wherever)|-|}(*) Most CPC joysticks only support 1 fire button. When using Fire2 or Fire3, also provide an alternate key on the keyboard. (**) Fire3 is only supported on CPC hardware, not on Amstrad Plus and GX4000 hardware. == Other game controller inputs == The CPC+/GX4000 additionaly have an [[CategoryAnalog Joysticks|15pin Analog Joystick]] Port, and a [[Connector:HardwareAux socket (CPC Plus only)|6pin Lightgun socket]](AUX). == 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]], [[Loriciel Phaser (West Phaser)|West Phaser]]).Amstrad's Lightpen ([[Amstrad LP-1 light pen]]).A rather crappy 8bit printer port extension ([[CPCI 8bit Printer Mod]]).And, various mouse interfaces ([[AMX Mouse]], [[Atari-ST mouse adapter]], [[dk'tronics Mouse Interface|Dk'tronics Mouse Interface]], [[CPC-Mousepack 2.0]], [[GEOS mouse|GEOS mouse]]).Plus exotic things like the [[Ambug|Ambug Robot]] and [[Codemasters CD]]. 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). [[Category:PeripheralsInput Device]][[Category:StubPeripherals]]