Article View: comp.sys.ibm.pc.hardware
Article #19891Re: PC graphics programming
From: David Charlap
Date: Mon, 11 Jan 1993 21:48
Date: Mon, 11 Jan 1993 21:48
51 lines
2986 bytes
2986 bytes
In article <VAITKUS.93Jan7122736@ceres.lexmark.com> vaitkus@lexmark.com (Keith Vaitkus) writes: >I need info on: > >Register/assembly level controls for graphics cards. >How to write device drivers for cards. >The practical differences btw one resolution and another. >The practical differences btw one card or chip-set and another. > >I have no interest in CGA and EGA. So I want to focus on VGA and higher >resolutions, ie XGA, SVGA, etc. You should learn about CGA and EGA. They both do things that all other modes do, and in a simpler way. For instance, it's easier to learn 4-plane pixel maps on an EGA than on an super VGA, where you also have to know about memory banks and other overflow registers, etc. I assume you already know assembly-language in general. Otherwise, you're not going to be able to write much in the way of device drivers. C can only get you so far on a device level. As for differences between modes and chipsets, there are tons. For CGA/EGA/VGA modes, everything is standard, but for sVGA, everything is manufacturer dependant. It becomes critical to know the manufacturer of the board, and you'll need separate procedures for each card. For 8514, XGA, and S3 boards, there's a world of difference. These three are co-processor based. You'll be accessing another microprocessor when you use them, instead of setting values into memory somewhere, like other boards do. >Thanks in advance, and please note that I am looking for _PC_ specific >information and not general graphics algorithms. There are tons of books on the subject. For VGA, it's rather simple, and most people will tell you to use the BIOS for everything but actually drawing pixels. And that isn't very hard. For sVGA, its also not that hard. Note, that if you're running your PC in protected mode (like under OS/2 or Unix), you can't access the BIOS, leaving you to directly mess with I/O ports. There is plenty of documentation on them for IBM-standard modes, but sVGA has much less. Some vendors (like ATI) try to keep all their register-level documentation under lock-and-key, making it difficult (if not impossible) to do anything with them without the BIOS. -- |) David Charlap | .signature confiscated by FBI due to /|_ dic5340@hertz.njit.edu | an ongoing investigation into the ((|,) | source of these .signature virusses ~|~
Technical Details
Message-ID:
<1993Jan11.214830.378@njitgw.njit.edu>Path:
arc1-ca.pugleaf.net!sparky!uunet!zaphod.mps.ohio-state.edu!howland.reston.ans.net!paladin.american.edu!gatech!concert!rutgers!njitgw.njit.edu!hertz.njit.edu!dic5340References:
<VAITKUS.93Jan7122736@ceres.lexmark.com>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!zaphod.mps.ohio-state.edu!howland.reston.ans.net!paladin.american.edu!gatech!concert!rutgers!njitgw.njit.edu!hertz.njit.edu!dic5340 From: dic5340@hertz.njit.edu (David Charlap) Newsgroups: comp.sys.ibm.pc.hardware Subject: Re: PC graphics programming Message-ID: <1993Jan11.214830.378@njitgw.njit.edu> Date: 11 Jan 93 21:48:30 GMT References: <VAITKUS.93Jan7122736@ceres.lexmark.com> Sender: news@njit.edu Organization: New Jersey Institute of Technology, Newark, N.J. Lines: 51 Nntp-Posting-Host: hertz.njit.edu