[Coco] Coco3 backwards compatibility
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