10

The program CoCo Max came with a cartridge. The cartridge had a mouse/joystick port.

How did the CoCo Max Analog to Digital cartridge work? Is it possible to use the device in my own software?

8

I found a lovely answer on page 54 of "Color Computer 1/2/3 Hardware Programming" by Chris Lormont.

The joystick and button values are found by reading addresses $FF60 - $FF63.

The first time an address on the Color Computer 1/2/3 is accessed (read), it sets up an A/D conversion cycle for the channel as you specify above. THEN the next read is the value converted from the previous read access. By doing a read on the next channel, you set up the A/D conversion cycle for the channel read, but read the previous channel's data. Here's another way to look at it.

If read in the following order:

  1. $FF60 Whatever channel was set up last. Initiate A2D for X Axis
  2. $FF61 Data from channel #0 (X pos). Initiate A2D for Y Axis.
  3. $FF62 Data from channel #1 (Y pos). Initiate A2D for Button 1.
  4. $FF63 Data from channel #2 (button #1). Initiate A2D for Button 2.
  5. $FF60 any Data from channel #3 (button #2). Initiate A2D for X Axis
  6. Etc.
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.