[Coco] Coco3 backwards compatibility

Robert Gault robert.gault at worldnet.att.net
Tue Oct 24 23:28:10 EDT 2006

As was just discussed on a coco3.com forum, there are some PMODE Coco 
games that don't run on the Coco3. Normally this is caused by the game 
writing into the GIME I/O area but there is another problem site.

The bytes from $FFF2-$FFFF are interrupt vectors which point to low RAM 
on the Coco1 or 2. On the Coco3 these bytes point to a secondary vector 
table at $FEEE-$FEFF.

One Diecom game copied data from $4000-$7BEF to $C400-$FEFF. The game 
assumed a Coco1 or 2 was in use and first set the all RAM mode. It then 
flipped back to RAM/ROM to load a second .bin file. This causes a Coco3 
to crash because the secondary interrupt table gets trashed.

The game was made to run on a Coco3 by limiting the data transfer to an 
upper value of $FEED; protecting the secondary interrupt vectors.

More information about the Coco mailing list