Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!samsung!uunet!saxony!dgil From: dgil@pa.reuter.COM (Dave Gillett) Newsgroups: comp.sys.ibm.pc.misc Subject: Re: CGA Memory Locations Message-ID: <393@saxony.pa.reuter.COM> Date: 6 Sep 90 21:21:34 GMT References: <29496@nigel.ee.udel.edu> Organization: Reuter:file Inc (A Reuter Company) Palo Alto, CA Lines: 24 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