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?

1 Answer 1

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.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .