[net.micro.pc] PCjr extended modes - help needed

jim@randvax.ARPA (Jim Gillogly) (03/06/84)

-------
After talking to IBM in Boca Raton, I've found a way around my problems
using the PCjr extended video modes.  The short answer is this: modes 9 and A
use 32K memory instead of 16K, and the second 16K springs into being below
the normal video buffer, which is in high memory.  So stay away from all
32K when you go into these modes.

That's fine in assembler, since you have full control over memory allocation.
It's interesting to note that neither DOS nor DEBUG is aware of the mode,
and both will get stepped on by the video memory.  However, according to
the guy in Boca, you can move the buffer around with the video interrupt
(10H), function 5 and maybe keep out of the way if you're clever.

I figured out an easy way to do it in Lattice C, where the video memory
steps on the stack:  allocate a stack that's greater than 16K (I'm using
20,000 bytes), then as your last act in main() allocate a dummy array
that's 16K long that you never use; since that's ripped off the top of
the stack (i.e. high memory), the video memory's attempt to trash your
stack is thwarted.  Then go into the new modes, do your work, and GET OUT
AGAIN before you exit.

	Jim