nVidia RIVA 128 Series (1997-1998)
nVidia RIVA 128 (1997)
Summary
Launched | April 1997 (RIVA 128) February 1998 (RIVA 128ZX) |
VESA Support | Yes, VESA VBE 3.0 and DDC2 |
Bus Type | AGP 1x (RIVA 128), AGP 2x (RIVA 128ZX) | API Support | DirectX 5.0 and OpenGL 1.0 |
Chipset | NV3 | Found on Cards | RIVA 128 ASUS 3DexPlorer V3000 Canopus Total 3D V128 Diamond Viper V330 ELSA Victory Erazor Gainward GW-807 STB Velocity RiVA 128 Yuan VGA-300S and AGP300S RIVA 128ZX Diamond Viper V330 ELSA Victory Erazor LT-8 SD STB Velocity RIVA 128ZX ViewTop 3D Harpoon |
Core Clock | 100 MHz | ||
Memory | 4 MB of SGRAM, 128-bit interface (RIVA 128) 8 MB of SGRAM or SDRAM (RIVA 128ZX) |
||
Memory Speed | 100 MHz (1.6 GB/sec) | ||
RAMDAC | (integrated) | Competitors | 3Dfx Voodoo ATi 3D Rage Pro S3 ViRGE/GX2 PowerVR PCX2 Rendition Verite 2100 Matrox Mystique 220 |
RAMDAC Speed | 206 MHz (RIVA 128), 250 MHz (RIVA 128ZX) |
Introduction
nVidia's first graphics accelerator chip, NV1, arrived shortly before Microsoft launched DirectX 1.0. Partly because of its lack of support for this, the chip struggled in the market. With their NV3 successor reviewed here, nVidia focussed on the PC 3D games market and its widespread support for Direct3D and OpenGL - the two most popular gaming APIs. The NV3 was one of the first GPUs that incorporated both a 2D, 3D and video accelerator engine.
The 2D portion was VESA-compliant with both VBE (Video BIOS Extensions) 3.0 and DDC2 (Display Data Channel), which allowed data communications between the monitor and the graphics card. This was designed so that the graphics card could request information about the monitor attached to it, and its capabilities.
In 2D operations, RIVA 128 offered fast Windows acceleration and MPEG-2 optimisation with resolutions up to 1280 x 1024. It supported back-end hardware scaling, hardware colour space conversion, and provided a video port dedicated to MPEG-2 devices.
An advertisement for the RIVA 128
(June 1998)
The 3D portion supported most of the 3D needs of Direct3D and OpenGL at the time: perspective correction, texture filtering, lighting, alpha blending, Z-buffering, and LOD MIP mapping. 3D resolutions could go up to 800 x 600 and even 960 x 720 which compared favourably against the 3Dfx Voodoo which could only go up to 640 x 480. Both 2D and 3D sections shared the same unified memory space (storing both the frame buffer and 3D textures). As I understand it, OpenGL was supported in hardware but it could only work at 16 bpp colour depth
at the 800 x 600 resolution.
NV3 was branded "RIVA", or Realtime Interactive Video and Animation accelerator, with the following graphics card series released that employed it:
- RIVA 128 - used the first version of the NV3 chip, launched in Aug 1997. Supported the AGP 1x standard and had 4 MB SGRAM memory.
- RIVA 128ZX - faster 250 MHz RAMDAC, AGP 2x support and up to 8 MB memory, launched in Feb 1998.
For its time, performance of the RIVA 128 was excellent, with up to 5 million triangles/second and a sustained 100 million pixels/second rendering (25% more than the ATi 3D Rage Pro and twice that of the 3Dfx Voodoo) due to the fast and wide 128-bit memory interface the meant up to 1.6 GB/second bandwidth to and from video memory. 2D performance was on par with the Matrox Millennium until you got up to TrueColor colour depths, where the Millennium led the pack. Compared to the Number Nine Revolution 3D (with its "Ticket to Ride" graphics accelerator) the RIVA 128 lagged slightly behind in 2D graphics performance. The 4 MB video memory limitation had the expected knock-on effect of lower colour depths at the higher resolutions and slower vertical refresh rates - RIVA 128 could only drive the display at up to 60 Hz in the highest resolution of 1920 x 1080 with 256 colours, whereas the Number Nine card could do this at 73 Hz and in 65,536 colours.
The nVidia RIVA 128 Reference Board (Rev.B)
A 2 MB version was planned with a narrower 64-bit memory interface - thankfully this idea was abandoned.
Compatibility in DOS games also proved to be excellent (as seen on this chart - [external link]), with all graphics modes including the more obscure ones working just fine on the RIVA 128. Tests with UniVBE v6.53 running proved the most compatible.
The RIVA 128ZX arrived about 10 months after the original RIVA 128, providing support for 8 MB of video memory (also SGRAM) and a 25% faster RAMDAC. Of particular note was added support for AGP 2x which theoretically doubled the transfer speed from the processor to the video card at 533 MB/s, though until the 100 MHz front side bus would arrive this didn't provide any real improvement. For video-out, the 128ZX also added a new TV flicker filter. The 128ZX chip was made available to card manufacturers at the cost of $32 if bought in quantities of 10,000 or more.
The RIVA 128 series would be the last from nVidia to only require passive cooling (a heatsink).
Here's a comparison of the RIVA 128 range, along with some of its competitors, 3Dfx Voodoo and ATi 3D Rage Pro:
RIVA 128 | RIVA 128ZX | 3Dfx Voodoo | ATi 3D Rage Pro | |
---|---|---|---|---|
Release Date | April 1997 | February 1998 | March 1996 | March 1997 |
Chip | NV3 | NV3 | SST-1 | Rage 3 |
Bus | AGP 1x | AGP 2x | PCI | AGP 1x (later AGP 2x) |
Core Clock | 100 MHz | 100 MHz | 50 MHz | 75 MHz |
Memory Sizes | 4 MB SGRAM | 8 MB SGRAM | 4 (2 MB frame buffer + 2 MB textures) or 6 MB (2 MB frame buffer + 4 MB textures) EDO | 2, 4 or 8 MB |
Memory pipeline | 128-bit | 128-bit | 128-bit | 64-bit |
Memory Clock | 100 MHz | 100 MHz | 50 MHz | 75 - 100 MHz |
Memory Bandwidth | 1.6 GB/s | 1.6 GB/s | 400 MB/s | 600 - 800 MB/s |
RAMDAC | 200 MHz | 250 MHz | 135 MHz | 230 MHz |
# Pixel Shaders | 1 | 1 | 1 | 1 |
# Vertex Shaders | 0 | 0 | 0 | 0 |
# Texture Mapping Units (TMUs) | 1 | 1 | 1 | 1 |
# Raster Operation Pipelines (ROPs) | 1 | 1 | 1 | 1 |
Cards that Used it | ASUS 3DexPlorer V3000 (AGP-V3000) Diamond Viper V330 ELSA Victory Erazor Gainward GW-807 STB Velocity RiVA 128 |
ASUS AGPV3000ZX Chaintech Desperado Creative GBlaster RIVA 128ZX (CT6730) Diamond Viper V330 RIVA 128ZX ELSA Erazor LT-8 Gainward GW-807D PowerColor C128ZX STB Velocity RIVA 128ZX ViewTop 3D Harpoon |
Diamond Monster 3D miro HiScore 3D Gainward Dragon 1000 Orchid Righteous 3D Guillemot MaxiGamer 3D Canopus Pure3D |
ATi 3D Rage Pro |
In manufacturing the RIVA 128 chip, nVidia partnered with SGS Thomson (ST Microelectronics) as an external chip fabricator as they did not have their own chip fab plant. With the RIVA 128ZX they retained SGS Thomson but also added TSMC (Taiwan Semiconductor Manufacturing Company) as a second-source fabricator, primarily due to supply shortage issues that had plagued the original RIVA 128.
3D Jargon Busting
Alpha blending is a way of allowing one object to show through another to give the illusion of transparency.Anti-aliasing helps clean up the jagged edge at the seams between mapped textures by using transitional pixels of blended colours.
Bilinear filtering smooths textures in a scene to lessen the blocky effect.
Double buffering increases the number of frames drawn per second. As one scene is being rendered in the front buffer of the graphics card, the next scene is sent to the back buffer for processing.
Flat shading is the most basic shading technique, where a triangle is painted without reference to adjacent triangles.
MIP mapping uses several different resolutions of an object's texture as the object moves closer or further away. These textures can then be filtered together and applied to the scene to enhance the illusion of depth.
Specular lighting shows the reflection from a light source on an object's surface.
Texture mapping applies a bitmapped texture image to the objects in a scene - the bricks on a wall, for example.
Z-buffering is a method of tracking parts of objects that are not in view and should not be drawn. This is done by plotting each object's position relative to the viewer and to other objects according to its x, y, and z coordinates.
The nVidia Rage 128 series all support DirectX 5.0 and OpenGL 1.0 via Installable Client Drivers (ICDs). Drivers were made available for Windows 3.1/3.11, NT 3.51, NT 4.0, Windows 95 and later, Windows 98.
Supported Graphics Modes
The NV3 supports resolutions up to 1600 x 1200 in Hi-Color, 1920 x 1080 in 256 colours. TrueColor (16.7 million) support can be used up to 1024 x 768 resolutions. The 2D picture quality was criticised as being a little blurry.
For 3D graphics, it maxes out at 960 x 720 with a 16-bit colour depth and Z-buffer.
The table below outlines the vertical refresh rates available at each resolution:
2D Display Modes & Refresh Rates
|
3D Display Modes
|
Memory
The RIVA 128 was designed with a 128-bit memory pathway which gave it incredible throughput performance for both high-resolution 2D graphics and 3D rendering. The RIVA 128ZX bettered its older brother with its support for double the memory (8 MB instead of 4 MB), and the use of SDRAM in addition to the SGRAM offered by the 128.
Unlike the 3Dfx Voodoo, the RIVA 128 and 128ZX had a unified memory architecture where both frame buffer (for 2D and 3D) and textures (for 3D) were stored in a single large memory area which was accessed via a fast 128-bit interface if SGRAM was used. On SDRAM-based RIVA 128ZX cards, the memory interface was 64-bit.
In summary, these are the memory types and their speeds used by the RIVA 128 series:
- RIVA 128 - 4 MB of SGRAM (100 MHz)
- RIVA 128ZX - 8 MB of SGRAM or SDRAM (both 100 MHz)
All RIVA 128 cards came with the maximum 4 MB on the card, and RIVA 128ZX cards came with the maximum 8 MB on the card, so no memory upgrades were possible on the RIVA 128 series.
Ports
In addition to the standard 15-pin DSUB for analogue video output, some RIVA 128 cards also came with RCA and S-Video connectors for VIVO (Video-In, Video-Out). The ASUS 3DexPlorer-V3000 and STB Velocity 128 got these, whereas the Diamond Viper V330, ASUS AGP-V3000 , ELSA Victory Erazor-AGP-4, and others did not.
To my knowledge, RIVA 128ZX cards all came with only the standard 15-pin DSUB for SVGA output.
Switches
The nVidia RIVA 128 series are fully Plug & Play, so no hardware configuration / jumpers / DIP switches need to be set.
The Video BIOS
Since RIVA 128 and RIVA 128ZX cards were manufactured by numerous third-party hardware companies, each had their own video 64 KB BIOS, though it is likely they were mostly copies of the nVidia reference design. Most of these are shown in the table below:
RIVA 128
Card | BIOS Chip | Marking on Chip |
---|---|---|
ASUS AGP-V3000 (Revision 1.02) | ? | PV3 |
ASUS AGP-V3000 (Revision 1.05) | ? | PV3 |
Diamond Viper V330 PCI (232300002-402) | SST | ? |
Diamond Viper V330 AGP (23230003-402) | SST | v1.50 |
Diamond Viper V330 AGP (23230003-403) | SST | v.150 |
Diamond Viper V330 PCI (23230006-402) | SST | v1.50 |
Diamond Viper V330 AGP-NLX (23230010-401) | SST | v1.62 |
ELSA Victory Erazor AGP (FCC ID: KJGVICERVI) | Atmel | v1.55.00 |
miro miroMagic Premium AGP | Atmel | MGV1 (v1.51B) |
STB Velocity 128 (unknown poss.OEM ver) Rev.B | ? | O.WAY VEL 128 AGP NO/TV v1.6 |
STB Velocity 128 (Dell OEM version) Rev.B board | ? | v1.7 |
STB Velocity 128 (Retail version) Rev.C board | ? | v1.81 |
Yuan VGA-300S (Revision 2) | ? | 1.54Y |
Yuan AGP300S (Revision 2) | ? | 1.54Y |
Yuan AGP300S (Revision 2) | ? | 1.56Y |
Yuan AGP300S (Revision 2) | ? | 1.58Y |
RIVA 128ZX
Card | BIOS Chip | Marking on Chip |
---|---|---|
ELSA Victory Erazor LT-8 SD (8 MB SDRAM) | ? | VICTORY Erazor/LT-8 SD v1.58.00 |
Unknown brand Riva 128ZX (8 MB SDRAM) | AMIC | v1.72D |
Upgrades and Successors
nVidia had been working on the NV3's successor almost as soon as the RIVA 128 series was launched. The NV4 was announced just one month after the release of the RIVA 128ZX, in March 1998, with the first card based on their new chip, the RIVA TNT, hitting the shelves in Q4 of that year. At the announcement, nVidia claimed it would fix image quality issues from the NV3, and with 16 MB of video memory, performance would supposedly exceed that of the 3Dfx Voodoo 2 in SLI mode while still providing exceptional 2D performance. It would be priced at just over $200.
Reception
At its launch, the RIVA 128 went head-to-head with the 3Dfx Voodoo, which was dominating the 3D graphics accelerator market, as it provided high resolution (640 x 480) high-quality rendering and being a dedicated 3D card it was fast. The RIVA 128 was criticised for its lower 3D quality and patchy rendering, despite it being capable of higher 3D resolutions. The initial drivers made use of polygon MIP mapping instead of the better quality "per-pixel" MIP mapping technique. This meant 3D textures of a given resolution/depth would suddenly pop into view as you approached, rather than being a gradual increase in detail that per-pixel provided. Later drivers resolved these issues.
Vivoli: Well, I wouldn't say our technologies have changed. First, we realized we needed to focus on standard APIs - OpenGL and D3D. Given that the APIs have evolved, I'll admit the Riva 128 and Riva TNT are dramatically different architectures with dramatically different feature sets, but we built them both to be the most powerful graphics accelerators, given the state of current standard APIs at the time they came out.
Maximum PC: Surely you can't blame APIs for the Riva 128's visual defects?
Vivoli: No. With Riva 128, we were admittedly more focused on performance than quality, although I do believe we got a harsher rap than we should have.
Maximum PC: Since visual quality is purely subjective, right?
Vivoli: Absolutely! And there we a lot of cases where it was totally overdone. We live in the internet world, where it's really easy to blow things out of proportion. It was hip at the time to talk about poor quality on the Riva 128. I just don't think it was as big a deal as was made of it. Having said that, we did make a conscious effort with TNT to step up our visual quality, as well as the performance.” Dan Vivoli, VP of Product Marketing at nVidia. Interview by Maximum PC, April 1999
The RIVA 128 won over 40 industry awards including PC Magazine's Editors' Choice and PC Computing's Product of the Year in 1997.
nVidia sold the reference design of the RIVA 128 to all the major graphics card manufacturers at the time, including STB Systems, Diamond Multimedia, ELSA, Canopus and ASUS. Most followed this reference design pretty closely, but wrote their own drivers which meant some variations in card performance. In addition several OEMs acquired the design and had their own branded cards, including Dell, Gateway 2000, NEC, and Micron Electronics.
Game developers also embraced the RIVA 128 series. Here's a quick list of some of those that were optimised to support the RIVA 128, and which nVidia tested and certified:
- Acclaim Entertainment (Turok Dinosaur Hunter, Forsaken)
- Activision (Mech Warrior 2, I7, Battlezone, Heavy Gear)
- Psygnosis (G-Police, Formula 1 95, Formula 1 97, Shadow Master, Shipwrecked, WipeOut CL)
- Sega (Daytona, Rally D3D, Virtua Cop 2, Virtua Fighter 2, Worldwide Soccer)
- MicroProse (Falcon 4.0)
- Radical Entertainment (NHL Powerplay)
- Digital Integration (F22)
- Microsoft (Flight Simulator 98, Baseball 3D, Monster Truck Madness, Cart Precision Racing)
- Gremlin (Hard Core 4x4, Actua Soccer 2)
- Angel Studios (Ground Effect)
- Interactive Magic (iF22, Air Warrior)
- Eidos Interactive (Confirmed Kill, Cavedog, Total Annihilation, Terracide, Team Apache, Tomb Raider 2)
- LucasArts (Balance of Power, Jedi Knight, Outlaws 3D, Shadows of the Empire, X-Wing vs TIE Fighter)
- Mindscape (Lego Island)
- Rage (Incoming)
- Virgin Interactive (Sabre Ace)
- InterPlay (MDK, Starfleet Academy, VR Baseball)
- Pixel Multimedia (O Zone)
- Ubisoft (Redline Racer, Tonic Trouble, Sub Culture)
Images
The cards shown in this section illustrate the various models of card with a variety of memory and BIOS ICs.
Diamond Viper V330 AGP-NLX Rev.C (RIVA 128) (1997):
Diamond Viper V330 AGP Rev.E (RIVA 128) (1997):
Diamond Viper V330 PCI (unknown revision) (RIVA 128) (1997):
Diamond Viper V330 PCI (Rev.B) (RIVA 128) (1997):
Diamond Viper V330 AGP (Rev.A) (RIVA 128) (1997):
ASUS AGP V-3000 (Rev.1.02) (RIVA 128) (1997):
ASUS AGP V-3000 (Rev.1.05) (RIVA 128) (1997):
miro miroMagic Premium (Rev.1.05) (RIVA 128) (1997):
STB Velocity 128 AGP (Dell OEM variant Rev.B) (RIVA 128) (1997):
STB Velocity 128 AGP (Retail Rev.C) (RIVA 128) (1997):
ELSA Victory Erazor AGP (Dell OEM variant Rev.A00) (RIVA 128) (1997):
ELSA Victory Erazor LT-8 SD AGP (RIVA 128ZX) (1998):
ASUS AGP-V3000ZXTV (Rev 2.01) AGP (RIVA 128ZX) (1998):
Downloads
RIVA 128 drivers come in two forms: (1) reference drivers developed and released by nVidia themselves, and (2) manufacturer-specific drivers for their own cards. Be sure to uninstall any previous/current display drivers before installing the RIVA 128 ones - nVidia's (and third party) drivers do not play nicely over the top of other display drivers with spurious errors being shown. Revert back to the standard built-in "Standard VGA" Windows driver first, then install the RIVA 128 one.
For AGP cards, Windows NT 4.0 drivers require Service Pack 3 or greater to be installed, and Windows 95 must be up to Windows version OSR-2.1 which is Windows 95b (OSR2) upgraded with the USB update, 'USBSUPP.EXE'.
Note also that the RIVA 128 series of drivers does not allow you to disable V-Sync in the driver settings, though some games allow you to disable it in their own settings. With V-Sync enabled, benchmark results of the RIVA 128 series can often incorrectly show it performing more poorly than a 3Dfx Voodoo, but with V-Sync disabled it shows the RIVA 128 pushes ahead of the Voodoo.
The drivers for Windows 2000 and XP lack 3D support (no Direct3D or OpenGL).
I am not aware of any drivers for OS/2 that work with NV3-based cards.
According to Anandtech, the Diamond Viper V330 drivers are faster than the STB Velocity 128's for 2D acceleration, but the former seemed to have problems running with a FSB of 75, 83 or 100 MHz which the STB card did not. This was shortly after the release of the RIVA 128 though, so later driver versions may well have fixed any shortcomings.
Click on an icon in the table below to download the file.
Windows 3.1/3.11 Reference Driver For all NV3 cards (RIVA 128 and 128ZX). |
Windows 95/98 Reference Driver for AGP cards For all NV3 AGP cards. |
Windows 95/98 Reference Driver for PCI cards For all NV3 AGP cards. |
Windows NT 4.0 Reference Driver For all NV3 cards. |
ELSA Victory Erazor For the ELSA Erazor RIVA 128 card. |
ELSA Victory Erazor For the ELSA Erazor RIVA 128 card. |
Diamond Viper V300/V330 For the Diamond Viper V330 RIVA 128 card. |
Diamond Viper V330 For the Diamond Viper V330 RIVA 128 card. |
Diamond Viper V330 For the Diamond Viper V330 RIVA 128 card. |
Diamond Viper V330 For the Diamond Viper V330 RIVA 128 card without VGART. |
Diamond Viper V330 For the Diamond Viper V330 RIVA 128 card. |
Diamond Viper V330 For the Diamond Viper V330 RIVA 128 card. |
Diamond Viper V330 For the Diamond Viper V330 RIVA 128 card. |
ASUS AGP-V3000 Series RIVA 128 and 128ZX drivers for |
|
STB Velocity 128 RIVA 128 drivers for Windows 95, 98 |
Dell STB Velocity 128 RIVA 128 drivers for Windows 95, 98 |
Yuan VGA-300S / AGP300S RIVA 128 drivers for Windows 95/98, NT 3.51 and NT 4.0 |