[Coco] Questions about the Coco3 GIME Timer
robert.gault at worldnet.att.net
Tue Feb 13 10:27:30 EST 2007
I've been involved with testing the operation of the Coco3 timer. The
results are unexpected and seem to contradict previously available
information. I would appreciate interested readers attempting to confirm
or disprove the following information.
Don't respond if you just think something is one way, have read
something is one way, or quote the service manual. Respond only with
test results based on software or test equipment measurements.
I've always thought that by default the timer was turned off, and
required a value sent to $FF94 to start. That is not the results of my
My tests indicate that the timer cannot be turned off (although
interrupts from it can be blocked), the default value is $FFFF (based on
the 32K ROM code), and - since it is always on - it is sufficient to
just send a value to $FF95 to change the timed interval.
What I have not determined is when the new 12-bit value becomes
effective if only $FF95 is changed. Is the change immediate or does it
take place on the next count down.
The answers to these questions become important if the timer is used
to measure a single interval. It will be important to know whether the
timer can be loaded with a 16-bit register or whether two 8-bit loads
are required, $FF95 then $FF94.
When the timer is used to synchronize a program to a specific
frequency, these questions are academic. A very large number of count
downs will occur and if the first is not the same length as all the
rest, it would hardly matter.
Since exact knowledge of the timer operation is needed both for Coco
emulators or any Coco4 designs, these questions are significant if
arcane. Useful feedback will be appreciated.
More information about the Coco