The Atari 2600 platform provided four types of controllers:
- Joysticks
- Paddles
- Steering Controller
- Keyboard
Let alone(at least by now ) the Keyboard controller it is possible to detect which type of controller we have connected by observing that:
- A joystick controller will never present (UP and DOWN) active at the same time, same apply to (LEFT and RIGHT) and both paddle readings will return in its maximum value
- An steering controller will surely present UP+DOWN at the same time during its operation
- A paddle controller will eventually present LEFT+RIGHT and will present a valid value for paddle readings.
With that in mind it is possible to fulfill the USB report using a more standardized form:
- Joystick: X and Y axes with button 1
- Steering Wheel: Axis X an button 1
- Paddle: Axes X and Y and buttons 1 and 2
The algorythm of detection can be something like:
- Sample Padddles
- if paddle values within valid range we have a paddle, goto step 5
- if UP+DOWN detected we have a driving controller, goto step 5
- if none of the conditions apply we have a joystick.
- handle the dada sampled
- do it all again
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.