[Coco] OS-9 versions and Interbank Incident
Robert Gault
robert.gault at worldnet.att.net
Thu Mar 22 09:53:17 EDT 2007
Recently there was a thread on this game. A request was made about
running it with Level2 OS-9. I have been playing with this and don't
believe it is possible; here's why.
The game was written for OS-9 Level1 version 2. That version of OS-9
expects a flat memory in the 64K region. If you boot that version and
use Debug, you will find (on a coco3) that $FFA0-$FFA7 are $38-$3F,
contiguous memory. Try the same thing with Level2 on a coco3 and the MMU
blocks are not contiguous.
This is important because the game I.I. does not use system calls to
work with the graphics screens. It reserves a large amount of data space
($33C8 bytes), requests more data space with F$Mem, and essentially
"pokes" graphics information as might be done with PMODE screens. It
then directly sets the SAM graphic I/O bytes at $FF22 and $FFC0-$FFD3.
If you try this same technique with Level2, video cannot be linked to
the correct memory because the memory used by the game is not
contiguous. Neither the SAM registers nor the GIME video registers would
be able to correctly display non-contiguous blocks of graphics data.
It is possible to request contiguous blocks of memory with F$AlHRam
and F$MapBlk, which would be just what the game requires; permitting the
video registers to display the graphics. This would take a significant
rewrite of the game which may not be practical if possible.
More information about the Coco
mailing list