Difference between revisions of "Analog Joysticks"
(→Analog CPC+ Joysticks) |
(→Technical) |
||
Line 10: | Line 10: | ||
The analog inputs are read from memory mapped ASIC registers: | The analog inputs are read from memory mapped ASIC registers: | ||
− | 6808h ADC0 Analogue Joystick 1, X-Axis (00h=Left=0 ohm, 3Fh=Right= | + | 6808h ADC0 Analogue Joystick 1, X-Axis (00h=Left=0 ohm, 3Fh=Right=138K ohm) |
− | 6809h ADC1 Analogue Joystick 1, Y-Axis (00h=Up =0 ohm, 3Fh=Down = | + | 6809h ADC1 Analogue Joystick 1, Y-Axis (00h=Up =0 ohm, 3Fh=Down =138K ohm) |
− | 680Ah ADC2 Analogue Joystick 2, X-Axis (00h=Left=0 ohm, 3Fh=Right= | + | 680Ah ADC2 Analogue Joystick 2, X-Axis (00h=Left=0 ohm, 3Fh=Right=138K ohm) |
− | 680Bh ADC3 Analogue Joystick 2, Y-Axis (00h=Up =0 ohm, 3Fh=Down = | + | 680Bh ADC3 Analogue Joystick 2, Y-Axis (00h=Up =0 ohm, 3Fh=Down =138K ohm) |
680Ch ADC4 Unused, wired to +5V (twice the maximum of 2.5V) (returns 3Fh) | 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) | 680Dh ADC5 Unused, wired to GND (equivalent to 0 ohm) (returns 00h) | ||
Line 19: | Line 19: | ||
680Fh ADC7 Unused, wired to GND (equivalent to 0 ohm) (returns 00h) | 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. | 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 == | == Analog CPC+ Joysticks == |
Revision as of 08:29, 4 April 2010
The CPC+ and GX4000 contain an analog joystick port (additionally to the normal Digital Joystick port).
Contents
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=138K ohm) 6809h ADC1 Analogue Joystick 1, Y-Axis (00h=Up =0 ohm, 3Fh=Down =138K ohm) 680Ah ADC2 Analogue Joystick 2, X-Axis (00h=Left=0 ohm, 3Fh=Right=138K ohm) 680Bh ADC3 Analogue Joystick 2, Y-Axis (00h=Up =0 ohm, 3Fh=Down =138K 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.
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
Analogue joysticks confirmed to be compatible with the CPC+:
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, selectable in options menu - the game merely emulates digital inputs, it doesn't actually support analog input)
- RP11 Arnold V diagnostic ROM cartridge - allows to display the eight ADC inputs in numeric form
- FutureOS - homebrew operating system (Plus version)