[Coco] 86-87 GIME chip detect challenge

John Kowalski sockmaster at gmail.com
Sat Dec 7 11:35:37 EST 2013


Hi Robert & Nick,

It actually works out quite well and depending what you set the timer
to the difference between both GIME versions is pretty significant.
Some of my demos/programs did this to check which GIME was there (it
could also tell you if it's running on an emulator if the emulator's
timing is not entirely faithful to a real CoCo3.)

Say you set the timer counter to "1", and the timer's clock source to
63usec (hsync).
On the '86 GIME, the timer will trigger after 3 scan lines.
On the '87 GIME, the timer will trigger after 2 scan lines.

You could either just count in a loop and see how long it takes for
one trigger, or you could count how many times a trigger has happened
within one frame of video - which should work out to something like 87
for '86 GIME, and 131 for '87 GIME, ironically enough.   For
simplicity you could just check for <110 = '86 GIME,  >110 = '87 GIME

Robert Gault wrote:
>Based on the information given by John Kowalski
>http://users.axess.com/twilight/sock/gime.html
>the GIME timers work slightly differently for the '86 vs '87 chips. I can't
>verify this but presumably you could store a number in the $FF94-$FF95 timer,
>count cycles, and determine which chip is present.
>
>Problem is that John reports the difference as nnn+2 verse nnn+1 which would be
>a very small difference making the precision iffy.
>
>Robert

>Nick Marentes wrote:
>> Later down the track with my new CoCo3 game, I'll have a need to be able to
>> detect which of the 2 versions of GIME chip is in the CoCo3, '86 or '87.
>>
>> Here's a challenge for someone to come up with a simple, compact way to
>> detect for this without user intervention.
>>
>> Can anyone help?
>>
>> Nick

-- 
John Kowalski / Sock Master
http://users.aei.ca/twilight/sock



More information about the Coco mailing list