Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!decwrl!shelby!eos!ptolemy!goedel.arc.nasa.gov From: raymond@goedel.arc.nasa.gov (Eric A. Raymond) Newsgroups: comp.os.msdos.programmer Subject: Format of VGA memory Message-ID: <8227@ptolemy.arc.nasa.gov> Date: 26 Sep 90 00:07:42 GMT Sender: usenet@ptolemy.arc.nasa.gov Followup-To: comp.sys.ibm.pc.programmer Organization: NASA Ames Research Center Lines: 22 Actually it's the MCGA 640x480x2 mode which is also implemented on the VGA in which I'm interested. Basically, I would like to know how this memory is arranged so that I may manipulate it directly. I'm pretty sure its base adderess is B800:0000. There seems to be some odd echoing of bits going on. That is, there are two bits for each pixel, one in each byte of a word, so when I draw a pixel at 0,0, the WORD at B800:0000 changes to 80 80 (or is this just an artifact of my debugger). FYI, I'm implementing some low level routines to scroll and invert regions on the screen. I have some routines implemented by Turbo C's getimage and putimage routines, but they are sloooooow. --- Eric A. Raymond (raymond@ptolemy.arc.nasa.gov) G7 C7 G7 G#7 G7 G+13 C7 GM7 Am7 Bm7 Bd7 Am7 C7 Do13 G7 C7 G7 D+13: Elmore James -- Eric A. Raymond (raymond@ptolemy.arc.nasa.gov) G7 C7 G7 G#7 G7 G+13 C7 GM7 Am7 Bm7 Bd7 Am7 C7 Do13 G7 C7 G7 D+13: Elmore James