Texture Mappers (1995-1999)
Fixed T&L, Early Shaders (2000-2002)
Shader Model 2.0/3.0 (2003-2007)
Unified Shaders (2008+)
Featureset determines where a card will go, not its year of introduction
Unknown Tseng Labs ET4000AX-based 1MB VGA card - 1991
Now this is what we call old. Alright, it's not 8-bit ISA, but it's still ISA! As you can see, it is past the stage where the blitter, display rasteriser and RAMDAC where separate chips though in this case, the RAMDAC is still separate (the chip MUSIC MU9C870-80DC is a triple 8 bit digital to analog converter and employed as the card's RAMDAC).
Tseng were very late at integrating the RAMDAC into the video processor, not managing it until the ET6000 in around 1994. In the years between the ET4000 and ET6000, both ATI and S3 had stolen a lot of marketshare with their single chip display solutions, ATI's Mach 64 (contrary to some inaccurate publications, Mach 32 did not have an integrated RAMDAC, this was provided by the "ATI 68875", ATI's Mach 64 gained it later in its lifecycle) and S3's Trio. The Trio in particular integrated the VGA core, clock generator and RAMDAC, these three formerly discrete components gave the Trio its name.
The card's RAM size determined how large a display could be used. As 1 pixel is a certain bit depth (at 16 bit, for example, each pixel is two bytes) then the bit depth or number of colours on the display was reduced as the resolution increased. 1MB is just enough for 640x480 in 24 bit colour or 800x600 in 16 bit or even a whopping 1024x768 in 8 bit colour (256 colours!). Few monitors would permit 1024x768 in that day and 800x600 was considered too large to be usable by all but the hardcore.
The card features Micron Technology 256kx4 DRAMs, meaning that they're logically 256 kilobits wide and four bits deep. 256 kilobits is 32 kilobytes and four rows of 32 kilobytes gives us 128 kilobytes per chip. With eight chips, this gives us 1024 kilobytes, one megabyte. Today, chips of 128Mx16 (256MB/chip) are not at all uncommon.
I'll let submitter David Young take you on a trip down memory lane.
This example was quite happy with the AT bus being overclocked as high as 12Mhz; nothing else I saw pre-VLB ran Commander Keen and Riven (I think it must have been Riven; I remember Myst, but that seems to have been Mac), as smoothly as my mighty 6Mb/s video RAM! The downsite was having to periodically press the BIOS chips back into their sockets as they crept out with hot/cold cycles over a couple of months of daily use. The blanking plate has a custom kink added near the bottom, and cases varied a bit more back then, and one of the locking nuts is missing too, unscrewed with the VGA cable; this used to happen a lot, but doesn't now; though I've not noticed a change to the socket design.
The ET4000 series gained much of their performance from a ferociously fast host interface since GDI/GUI acceleration was not a feature of PC video cards back then, so the system had to write the display bitmap over the bus to the video card's framebuffer. An ET4000AX was therefore measurably twice as fast as competing VGA from Trident or Oak and still comparable to the great 64 bit monsters of the late 1990s such as the Trio64 or ATI Mach 64. Believe it or believe it not, the ET4000AX is still supported in WindowsXP, since the drivers for the PCI version were compatible with the older ISA models.
Read more at Wikipedia about the Tseng Labs ET4000 series.
Core: GDI acceleration, BLIT, etc.
RAM: 32 bit, asynchronous EDO/FPM (70ns), ~56MB/s
Chips and Technologies CT65555 - ????
The CT65555 was the display controller for the first ever laptop I had, a Compaq Armada 1700. It had 2 MB of dedicated video memory, driving an 800x600 passive matrix display. The rest of the laptop was a 233 MHz Pentium II, with 32 MB hard-soldered to the motherboard and a SODIMM slot accepting only EDO memory (EDO SODIMMs were hard to find), which I placed 128 MB in. The laptop eventually ended up running a very early Hatserver with a 5 GB hard disk, under Windows2000 and Apache 1.3.
The CT65555 was a member of a great number of C&T chips which were largely cross-compatible. There were three tiers of 65xxx hardware, the lowest tier was composed of the ct65520, ct65525, ct65530, ct65535, ct65540, ct65545, ct65546 and ct65548, which were primarily just video generators for VGA, and only the CT6554x series were capable of a "true colour" 24 bit display. Prior, they were only capable of 256 colours, the standard VGA.
The CT64300 and 64200 had lower numbers, but were significantly more powerful, being able to accelerate Windows WinG ("WinGine architecture").
The HiQV architecture (for "High Quality Video") was implemented in the ct65550, ct65554, ct65555, ct68554, ct69000 and ct69030 parts. Many of these were dualhead designs, able to display on two displays simultaneously, although only the 68xxx and 69xxx series could do independent displays and maintain full acceleration. These were "proper" 2D accelerators intended for Windows 95 and used fast EDO memory.
Core: GDI acceleration
RAM: 32 bit, asynchronous EDO (?ns), ?MB/s
Diamond Viper VLB (Weitek P9000/5186) - 1992
Of the three large square chips on this card, two of them are display controllers. On the left is the Weitek P9000 GDI accelerator and on the right is a Weitek 5186, a rather generic video adapter used for DOS mode displays where the GDI accelerator was useless. These early Viper cards all shared the same story: They were wonderful in Windows but poorly compatible and quite slow in DOS. The Weitek 5186 had limited VBE support and a very slow host interface. Compare this with the Tseng ET4000 above which had a very fast host interface.
Vipers weren't what you wanted for playing games but they were very quick in Windows with their VLB P9000 processor having an extremely (for the time) fast interface and high performance graphics modes. As you can see, both video chips have their own VRAM (this is, after all, two video cards on one card). The 5186 seems to be using 1 MB of 80 ns FPM, probably 16 bits wide, while the P9000 is using the vertical chips, usually 2 MB at 32 bits wide.
The last big chip is the Brooktree Bt845, a simple 8 bit RAMDAC. The chip with the sticker on is the BIOS and the numerous small Motorola logic chips are bus transcievers, simple glue logic.
In the Pentium days, when DOS performance had become less important (and the PCI bus was more than fast enough to handle DOS mode), Diamond would release the Viper PCI, a P9100 alone, with no DOS mode video component, such was the ease of making a VLB device work on PCI, only the electrical characteristics of the interface had changed between the P9100 and P9000.
Submitter Bryan McIntosh notes that the RAMDAC may be now faulty but was well aware of the dichotomy of the card:
It's a card from a Zeos 486 DX2-66 that was
purchased in 1993 as part of a completely loaded system. This card
was an absolute monster for its time, and even a few years afterward
too. It had the Weitek P9000 chipset that was amazingly fast in
Windows and SVGA games, but it was a bit of a dog in VGA DOS games due
to the much slower Weitek 5186 chip it used for low-res
modes. In high res modes, though, this thing flew; it finished a
Windows test suite in PC Computing magazine faster than any other
competitor at the time (June 1993 issue), and even Wing Commander IV's
benchmarking program recognized it as a high-end video card in 1996.
This particular specimen is on its last legs; in VGA modes it has
distorted colours, and it sometimes locks the system hard requiring a
full power down to restart.
Core: GDI Acceleration
RAM: 32 bit, asynchronous EDO/FPM (80ns), ~40MB/s
Core: Framebuffer interface
RAM: 16 bit, asynchronous EDO/FPM (80ns), ~20MB/s
ATI Mach64 - 1994
In the middle of the 1990s, the PC video chipset market was undergoing a very violent shakeout. Established companies such as Oak Technologies, Cirrus Logic and Tseng Labs were seeing their market share eroded by the new "accelerators" which could offload video tasks like moving windows around and rendering the pointer.
ATI's Mach 32 and Mach 64 were, with S3's Trio, at the forefront of the revolution. Games such as Doom, Myst and Riven were demanding greater and greater video speeds to put all those pixels on the display quickly enough but the price of the expensive Tseng ET4000 was prohibitive to many, enabling the low cost highly integrated S3 Trio64 to become the de-facto standard.
The Mach 64, as seen here, was the second revision 210888GX model which featured video overlay support and bilinear resampling, the original 210888 was quite rare. The "888" in the name is indicative of the internal precision of the part, it able to fully process channels at 8 bit precision all the way through the video pipeline.
An analysis of this card shows it uses 8 RAM chips and has a 64 bit bus (from the name), hence each chip is 8 bits wide. The chips themselves are labelled V53C104HK45, making them 45 ns asynchronous memory. The density isn't readily available but a good guess is that they're 2 Mbit each, giving this card a total of 2 MB and the ability to be upgraded to 4 MB using the empty chip holders. It could also be 1 MB onboard and a further 1 MB able to be added.
Oddly for a Mach 64, this doesn't use ATI's own RAMDAC, instead using an STG1702J, a much smaller and cheaper part. This identifies it as a made-to-order OEM component, especially given the sticker on the BIOS chip doesn't identify it as any of ATI's own products, just as "VLB Mach64". It's possibly a version of the Graphics Xpression but this cannot be certain.
The connector just behind the ISA connector is a VESA Local Bus, a very strange bus which was an extension of the 486 CPU's own bus. Hence VLB cards could only be used with 486s and were temperamental, most boards could only handle two VLB cards (and were happiest with one), hardly any could handle 3...but almost all of them came with 3 slots! Control and interrupt was handled by ISA, the VLB was entirely for memory access. It was a really hacky solution, and the other option was IBM's Micro-Channel Architecture (MCA). MCA was a fast 32 bit bus which ran at a theoretical peak of about 40 MB/s, but limited by a brain-damaged automatic configuration system, where the BIOS needed to be already aware of every MCA card it would ever be asked to deal with, the cards could not configure themselves. IBM also patented key aspects of MCA and aggressively prevented its adoption by legally preventing unlicensed products, requiring cheap cards such as serial or parallel ports to be priced out of the market - The fee was "per system shipped with MCA" and quite substantial. This nailed MCA's coffin tightly shut, as not everyone wanted to pay off IBM. Eventually a consortium led by Compaq produced an extension to ISA, which doubled both its clock and its width, increasing its peak bandwidth to 33 MB/s which was good enough for the time, and saw widespread adoption from about 1990 to the first few years of the 21st century. Compaq et. al. (the "Gang of Nine") fairly licensed EISA under FRAND terms. Had the Gang not come together, it's very likely that PCs would have adopted the NuBus standard from MIT, standardised as IEEE-1196.
Higher clocked 486s were almost guaranteed to run into problems with VLB, VLB was not happy with a 40 MHz bus speed and hardly anything would work with a 50 MHz bus. 25 and 33 MHz was happiest for VLB cards and even then, 33 MHz required a good quality motherboard from the likes of Soyo or DFI if one intended to use more than the single VLB card.
As VLB was simply an address and data bus it was using ISA for control, interrupt and signalling. This made it quite simple to adapt VLB chips to work with PCI, which ATI soon did.
Another notable feature (and seen in many more cards until the DirectX 7 revolution) was the VESA Feature Connector, a 25 pin connector composed of two rows of 13 pins. It's at the upper right of the card as seen here and, on cards for PCI and AGP, usually at the upper left. Many of the cards below also have these feaure connectors. This is a bidirectional link offering direct access to the video card's RAM and the framebuffer. These were used for MPEG cards or video capture cards (e.g. TV tuners) and the link speed was often very high, topping out at 160 MB/s, far faster than even PCI.
The 26 pin variety offered a dedicated 40 MB/s data pathway, enough for a 640x480 display at full colour and full framerate. The 80 pin version (seen partly fitted on the SiS Trio64 on this page) was the fast 160 MB/s version, but saw little use.
Core: GDI acceleration
RAM: 64 bit, asynchronous EDO/FPM (45ns), ~176MB/s
Thanks to Ars AV forum member SubPar
S3 Trio64V+ (S3 765) 2MB - 1994(?)
As can be immediately seen, the second megabyte of memory is not like the first. It's in PLCC holders. That's because the card, when I got it, was populated with only 1MB and I wanted to use 1024x768, which couldn't be done in 1MB at a decent colour depth. A broken motherboard with an onboard ATI Mach64 had 1MB of RAM onboard and the PLCC DIP packages looked similar...so I removed them and put them into the Trio64. To my absolute amazement (I was still relatively inexperienced then, that being back in 1999), it worked perfectly!
The Trio (original) was S3's first fully integrated part, combining the GDI accelerator, RAMDAC and clocking/display timing onto the same chip: Hence the name. This made the Trio both faster and cheaper than competitors from ATI and Oak and Tseng, ATI would counter with their Mach 32, but that was still a year away. The Trio was nothing more than a revamp of the earlier S3 Vision 868 (which was in turn a revision of the Vision 864) which bundled both the display timings generator (clock generator) and RAMDAC onto the same die.
The Trio64 established the pinout that S3 would retain with the ViRGE and its renamed 'successor', Trio3D. The Trio64 2D accelerator core would also remain unchanged for ViRGE, they shared driver compatibility (of course using a Trio64 driver on a ViRGE disabled 3D...not that that was a bad thing) as well as hardware compatibility.
At the time, ATI believed that the RAMDAC was better off-die, citing that S3's performance was limited by silicon space being used for the RAMDAC which could be being used for performance. Commentators noted that ATI's comments would be more convincing were their cards faster than S3s.
The Trio64V+ served well enough (it was in my first entirely self-built PC) before being replaced by an ATI Rage Pro 8MB. It is automatically installed in Windows 98 and up.
The Trio series, culminating in this part, were cheap, very strongly performing and so became extremely well supported. The V+ was updated once to the V2. The V+ could perform horizontal linear resampling (for, for example, overlays) but not vertical. The V2 added full bilinear scaling. It was the 2D engine used in the ViRGE, about the only highlight of the ViRGE.
Due to the Trio64 series' widespread support and performance, both VMWare and VirtualPC have featured the S3 Trio64 as their emulated video adapter, hence even WindowsXP and Vista have drivers for it!
Core: Full GDI, WinG, BLIT, overlay and resize
RAM: 64 bit, asynchronous EDO (50ns), ~120MB/s