[comp.sys.ibm.pc.misc] CGA Memory Locations

boutell@freezer.it.udel.edu (Tom Boutell) (09/05/90)

Where does the CGA medium- resolution graphics screen start in memory on
PC compatibles? I'll have a glorious time figuring out the mapping of
it for myself, but if you know that information also I'd appreciate it.


(I'm working on some high- performance graphics code to go around the
speed limitations of the getimage/ putimage functions provided with
Quick C. I expect having a copy of each image at each possible bit
shift position and strncpy'ing them into place should do nicely.)

--
What do you want from the fish of the fish that you fished when you fished
for the fish that you fished? How many numchuks could Chuck chuck if Chuck
could chuck numchuks? boutell@freezer.it.udel.edu? Or 27.598234821? Or not?

dgil@pa.reuter.COM (Dave Gillett) (09/07/90)

In <29496@nigel.ee.udel.edu> boutell@freezer.it.udel.edu (Tom Boutell) writes:

>Where does the CGA medium- resolution graphics screen start in memory on
>PC compatibles? I'll have a glorious time figuring out the mapping of
>it for myself, but if you know that information also I'd appreciate it.

>(I'm working on some high- performance graphics code to go around the
>speed limitations of the getimage/ putimage functions provided with
>Quick C. I expect having a copy of each image at each possible bit
>shift position and strncpy'ing them into place should do nicely.)

It starts at the same place all of the memory on the CGA starts: B800:0000.
Note, however, that that's where the first line starts.  The second line
starts at B800:2000, the third at B800:0050, the fourth at B800:2050, and
so on.

So strncpy'ing the whole buffer is easy, but grabbing a little piec of it
is harder.  I'm also not sure what you mean by bit shift positions, unless
you know that your strncpy is allowed to blot out a few pixels to left and
right...

If you're trying to do graphics stuff on the PC, you need a copy of Wilton's
"Programmer's Guide to PC and PS/2 Video Systems", from Microsoft Press.
                                       Dave