Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!texbell!attctc!chasm From: chasm@attctc.Dallas.TX.US (Charles Marslett) Newsgroups: comp.sys.ibm.pc Subject: Re: What are the differences between 8-bit and 16-bit VGA cards? Summary: I agree, but I don't :^) Message-ID: <10403@attctc.Dallas.TX.US> Date: 29 Nov 89 15:12:52 GMT References: <6980@portia.Stanford.EDU> <340030@hpsgpa.HP.COM> <7025@portia.Stanford.EDU> Organization: The Unix(R) Connection, Dallas, Texas Lines: 51 In article <7025@portia.Stanford.EDU>, dhinds@portia.Stanford.EDU (David Hinds) writes: <> In article <340030@hpsgpa.HP.COM>, plim@hpsgpa.HP.COM (Peter Lim) writes: <> > That doesn't sound right. As far as I know, the 16-bit access thing <> > is done totally in hardware. When a 16-bit card is plugged into an <> > AT-bus, it tells the AT bus system that it it 16-bit and the system <> > will read/write in 16-bit... <> <> For the ATI VGA Wonder card, the bus width seems to be at least partially <> under software control. There is an option in the 'VSETUP' program to enable <> or disable 16-bit ROM accesses. The card is actually supposed to work in <> either 16-bit or 8-bit slots; in the 8-bit slot, the extra pins just hang in <> . . . Aside from the <> ROM accesses, it is not obvious that any software would use 16-bit accesses <> to video memory, or what they would actually do. In the true VGA graphics <> modes, at least, almost all video memory accesses are indirect, and data is <> churned through a series of arithmetic units on the VGA controller before <> being put in video memory. These steps map a 32-bit internal VGA memory bus <> onto an external 8-bit bus, using various VGA registers to control different <> kinds of rotating, masking, and logical operations. It would not be trivial <> to redesign these units to map to a 16-bit bus. For one thing, lots of VGA <> graphics control registers would need to be 16 bits long to be useful. There <> is no obvious way to make these extensions transparant and compatible with <> existing VGA software. And certainly, all existing VGA graphics software <> uses 8-bit accesses. Actually, I agree so long as we are refering to 16-color modes. The VGA (and SuperVGA) 256-color graphics modes and the text modes cannot take advantage of the latches and internal EGA/VGA logic box, so they can run (and in the case of the text modes, are almost certainly programmed in the BIOS to run) in 16-bit mode. So standard software CAN benefit from 16-bit video memory accesses -- it just has to be in modes 0-3, 7 or 19 (though sometimes modes 4-6 benefit, the controller chip is a factor here). <> . . . Proper <> VGA software should never do direct accesses to video memory, so as far as I <> can see, a wider bus won't do anything. I would like to be wrong, though (?). Of course, someone has to access video memory directly (I've written drivers that don't, and the screen remains remarkably bland when I run them ;^). I would say that the only real benefit 16-bit video access provides shows up when you run 256-color software (especially in the high resolution modes). Text is fast enough already, and I never use the CGA modes (almost never?). But a 2:1 speedup is nice when a screen clear takes a significant fraction of a second. <> - David Hinds <> dhinds@portia.stanford.edu Charles Marslett STB Systems, Inc. <-- apply all standard disclaimers