MediaWiki:Sitenotice:
2024-03-02: The wiki ran out of disk space, so things were not working. This has been resolved by adding another 5GB of quota ;-) Thanks to Tim Lindner for reporting the issues.
2020-05-17: If a page gives you an error about some revision not being found, just EDIT the page and the old page should appear in the editor. If it does, just SAVE that and the page should be restored. OS-9 Al (talk) 12:22, 17 May 2020 (CDT)
High-Resolution Joystick Interface
WELCOME |
---|
Looking for CoCo help? If you are trying to do something with your old Color Computer, read this quick reference. Want to contribute to this wiki? Be sure to read this first. This CoCo wiki project was started on October 29, 2004. --OS-9 Al |
See Recent Changes. | About this site. | Join the E-Mail List or Facebook Group. | Contact me with updates/questions.
This page was last updated on 12/25/2012. Total Pages: 744. Total Files: 994.
Home / Hardware - High-Resolution Joystick Interface
The High Resolution Joystick Adapter
The normal joystick for the Coco is a simple potentiometer. That means it is a variable resistor with one end at 5v DC, the other at ground, and measurements taken from a variable tap. The measurements are made with the Coco ADC/DAC but this device is a 6 bit unit and can only resolve 64 distinct values.
Unfortunately, this method does not have sufficient resolution to handle even the PMODE graphics screens much less the Coco3 HSCREEN modes. Therefore Tandy and several other companies created a high resolution joystick adapter. These adapters use timed RC (resistance/capacitance) circuits instead of a potentiometer. The two most popular were the Tandy and CocoMax units. The circuits were slightly different but it was possible to adapt the Tandy unit by adding a switch so that either type could be selected at will; see diagram.
There was virtually no software written other than the RAT, CocoMaxIII, and Max10 which used the highres adapter under Basic. OS-9 had built-in support for the adapter, but again the Coco community did not write programs requiring the unit.
I present here a simple Basic program to demonstrate how the adapter can be used in either the Tandy or CocoMax modes. Most of the work is done by an assembly language routine, one for each mode. This is not the only way to write useful code, it is just an example to get you started on your own projects. Keep in mind that the timed circuit values change when the Coco CPU clock changes. It may be difficult to get the full resolution at fast clock speeds.
Joystick.zip demo Basic program and 2 asm source code files in EDTASM format binary files included plus Tandy/CocoMax circuit (joystick.gif)