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:
© 2012 - Nathan Osman - [About]