Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!decwrl!sun!pitstop!sundc!seismo!uunet!tektronix!tekcrl!tekgvs!toma From: toma@tekgvs.LABS.TEK.COM (Tom Almy) Newsgroups: comp.sys.ibm.pc Subject: Re: VGA, direct memory access Keywords: How to...? Message-ID: <4715@tekgvs.LABS.TEK.COM> Date: 2 Mar 89 16:06:10 GMT References: <4479@freja.diku.dk> <953@infmx.UUCP> Reply-To: toma@tekgvs.LABS.TEK.COM (Tom Almy) Organization: Tektronix, Inc., Beaverton, OR. Lines: 29 In article <953@infmx.UUCP> kevinf@infmx.UUCP (Kevin Franden) writes: >In article <4479@freja.diku.dk>, tbea@freja.diku.dk (Thomas Edlund Andersen) writes: >> I have a VGA graphics system in my PS2/50, and wants to write some fast >> video rutines for mode E (640 * 200 * 16). Therefore I would like to let >> the CPU write directly to the memory for the screen - but I can only write >If all you are really interested in is fast screen writes, use the BIOS, >it is pretty darn fast and you won't have to worry about all that vert. retrace >crap. You don't have to worry about retrace with any graphics system except for the CGA cards made by IBM and a few CGA clones, and then only in text mode. Also, the BIOS is much slower than good assembly code. >I used the BIOS call to put a char at the cursor location (it's # escapes me >right now) and all I had to do was feed it the color,character, and video page >(you can find the current video with another call, it's easie than assuming) If you use your own routine, you can put the character at any graphic pixel location (640x200 in mode E, for instance) rather than at character locations (80x25 in mode E). Pick up a copy of "Programmer's Guide to PC & PS/2 Video Systems", by Richard Wilton, Microsoft Press, 1987. This book contains the assembly code for just about anything a mortal might want to do with EGA, VGA, or Hercules graphics. Tom Almy toma@tekgvs.labs.tek.com Standard Disclaimers Apply