Nvidia NV1 Diamond Edge 3D review

eNVision future

Nvidia was established in the beginning of 1993 by Jen-Hsun Huang, Chris Malachowsky, and Curtis Priem. Huang was the former director of coreware at LSI Logic in charge of SoC strategy, and also had experience designing microprocessors for AMD. Malachowsky was Nvidia's vice-president of engineering, and Priem, architect of industry's first graphics processor, became CTO making most of the big decisions behind the design. In their early years Nvidia attracted many former Silicon Graphics employees. Ground design of first chip shaped up by the end of the year. The NV1 was the first "microprocessor" to integrate GUI acceleration, wave-table synthesis, video acceleration, 3D rendering, and a precision game port into a single chip. Nvidia wanted to be high end and looked for volume 0.5 micron manufacturing partner that could give birth to a 1 million transistor ASIC. At that time leading-edge foundry capacity was scarce, but in Europe ST Micro answered positively and in November strategic alliance was formed to make and market NV products together. Nvidia would take care of expensive, high end NV1 with VRAM and 170 MHz dac, while ST would promote supposedly cheap and high volume NV1 based STG2000 core with DRAM memory and 135 MHz dac. Nvidia provided full HDL source for the ST chip, it is possible its memory capacity is limited to 2 MB. Neither variant became high volume by a long shot. NVIDIA should finish the NV architecture by the summer of 1994, in May 1995 it was exposed to the world, in July support of Sega was announced and finally in November Diamond Edge 3D started selling, barely making it to market as first consumer texture mapper.

It should have been a great team. While Nvidia continued announcing new accelerated titles, games like Daytona USA came out only with Direct Draw renderer NV did not excel in.

NVent a complete solution

The design goal was to deliver the highest value multimedia solution on a single chip, optimized for concurrent acceleration of video game systems standards and multimedia content. Since NV integrates audio with graphics I will delve into this territory a bit as well. The engine is 350 MIPS, supporting in hardware 32 channels of 16 bit 48 kHz wavetable sound with several effects. VL-Bus and 32 bit local memory bus were planned options, but all cards I've seen used PCI and 64 bit data width. All processing is indeed happening in one chip, however Ramdac of own design is external, digital audio needs additional I/O convertor and Saturn ports are serviced by one small chip as well. To perform various functions concurrently particular parts of the chip are connected via internal packet bus. Those are host interface with bus mastering, VGA and DOS audio, local memory interface, graphics and video engine, and audio engine. NV1 recieves commands from applications into frontend FIFO and aligns offsets of hardware addresses to enable PCI burst. The 3d is built for quadrilaterals rather than more standard triangles. Differences go beyond polygon shape, NV handles not only four vertices per polygon, but also five additional points of surface to define real curving. Overall quadrilateral patches were easier for CPU since setup would be done with less polygons compared to triangle based graphics. For example, sphere can be formed with only four quadrilaterals, but such shapes are scarce in games. Patch surfaces evolved rather naturally from mature blitters of previous era, adding functions for sprite scaling, rotating and curving. In the console world 3DO was first with patch surfaces that required textures to be aligned with the patch isoparms, and Sega followed with Saturn. But it turned out to be blind way into real 3d graphics. Classic texture formats cannot be mapped easily onto complex quadrilateral shapes and each surface must have it's own texture with coordinates tied with patch orientation. In autumn 1995 choice of the industry was still not clear. First triangle based consumer texture mappers from Yamaha and 3Dlabs had yet to reach the market and neither would be successful. NV1 debuted as PC industry's first self-contained multimedia subsystem. Universal chip with shared local memory and DMA access to system memory for both audio and video would bring lower cost of just born multimedia PC. Target clocks were 75 MHz for chip and 50 MHz for memory.

Diamond's eNVoy

Cheapest option limited to 2MB of DRAM was marketed by SGS-Thompson.

Audio capabilities could be expanded with external codec, however Diamond used most common full duplex A/D convertor. Edge 3D 3000 series features NV1 chip with 2 MB of VRAM on board and optional 2 MB expansion board. Those cards are quite rich with two Saturn ports (I don't have the piece leading out the ports to outer slot), line in, out, microphone jacks. It retailed for $450 while cheaper STG2000 Edge 3D cards started at $250. Despite Diamond flood the market there was little desire for Nvidia's chipset, even after game bundle was extended and even the Saturn controller was added. Light gun and mission stick are supported as well.

Diamond's Edge 3D series are by far the most famous NV1 cards, initial optimistic mass production was punished by weak sales. 17 years later I found the price to be on the rise again.

There weren't enough games for NV1 to make it attractive and despite best efforts, developers pretty much gave up on the chip for the same reason Saturn fought with: they were no good for triangle based 3d. Nvidia put their bet on quadrilaterals and hoped to become Sega's platform on PC. And after NV1 launch when everything was still looking bright Nvidia acquired Sega's endorsement along with some venture capital. But gamers were reluctant with purchase until more of interesting titles were supported, and Sega could not be bothered to port games for a card only few people bought. Deadlock typical for 3d pioneers.


Consider some results only as informative.

Big advantage of quadrilateral renderers, curved surfaces, had limited use in interactive environments since it is hard to determine exact volume of curved objects. NV was way more configurable, or dare I say programmable, then console quad renderers or upcoming PC 3d graphics solutions. Usual weak points could be eliminated by creative coding. Nvidia was willing to help with specific trigonometry, but developers saw little reward over established triangles. There is more than extra math for 3d, the versatile accelerator has a way how to direct all the various functional units at once- Unified Media Architecture. The hardware is accessible to user space programs via "channels", 16 of them. Each application that wants to draw to screen is given a 64 kB region of memory mapped drawing registers, divided into 8 identical subchannels. Each channel handles a specific area of the screen to which all coordinates and clipping supplied by the application are relative to. NV1 keeps track of offset of each window to translate coordinates accordingly. When multiple channels are drawing at the same time, the hardware will multiplex between them and handle context switches. Each window can be drawn with own command channel without much worries about what any other applications are doing with the hardware. Edge 3D 3400 surprised me with good Windows desktop performance even at 1152*864 resolution and true colors. NV1 can use DMA transfers with system memory for both textures and audio samples and promised high performance with only one megabyte frame buffer. Part of it is omission of Z-buffer, which fired back upon NV1's d3d compatibility. Integration of audio and video has its appeal, not only because at the time sound cards were still not exactly wide spread. The NV's native synchronization capability allowed precise control of relationship of the audio playback to all other on chip processed media. Audio engine can dynamically download samples for custom sounds and MIDI effects. NV hardware mixing should not bother CPU at all and even game ports should off-load more than other controllers while providing higher sampling rates. All of this behind single IRQ.

iNVidious Experience?

Even 2d sprites often suffer from distortion at high resolution.

NV has several ports featuring retro goodies with highlights of Saturn's library like Panzer Dragoon, Virtua Fighter Remix or Toshinden. Maximum resolution of native games is 640x400 and my Edge 3400 handles them at around 25 frames per second. Then there is Nascar from Papyrus using 640x480 resolution, NV's port is natively Windows 95, but performance on newer systems is not optimal. What it comes down to on this site are open API games. NV1 was not really compatible with any of my OpenGL to D3d wrappers (it is basically wrapping for another wrapper!) so it is all about Direct3d titles. Nvidia urged Microsoft to add support for quadrilaterals, but (now it is safe to say fortunately) they refused. As expected, this chip has extraordinarily hard time running d3d games. Triangles can be rendered when one side of quadrilateral has zero length, sacrificing quarter of vertex performance. The bigger problem is shading and texture mapping stages were not made for such special cases, often causing warping artifacts. Complete solution would also require pre-warped textures as it happened few times on Saturn, but PC developers were of course not going into such troubles to brighten Nvidia's day. Strangely enough, resolution affects the warping. In motor-car for example, the threshold between fine image and warping textures is somewhere between 320x240 and 512x384 resolution. The Edge 3400 barely looses any speed when resolution increases to 640x480. This raises my suspicion, could Nvidia deliberately sacrifice image quality for better performance at high resolution? Another strange behavior is refusal of Direct3d rendering at lower resolutions than 512x384 in several games. For its age maximum 3d resolution with 4 MB of memory is very high. 1024x768 just works no matter how demanding the game is, and under NVLIB even 1152x864 looks alright. Under d3d the chip can do pretty smooth Gouraud shading with specular highlights, perspective correction (obviously hard to examine), point sampled texturing including video textures. Green channel is limited to 5 bits. Just like preceding console chips NV uses forward texture mapping, reading texels continuously and looking for pixels where given texel should be mapped. Here the SUN heritage of Nvidia founders was strongly showing. This technique allows most efficient caching, sending more texels in a pack at once and avoiding extra texturing writes. And in my quick examination NV1 really does not seem to be much sensitive to texture detail. On-board memory capacity is not a factor here, NV1 can achieve 10 MPixels/s even when completely mapping from system memory. On the other hand forward texture mapping might have prevented implementation of texture filters, since it is harder to gather neighboring pixels. Additionally there are speculations that NV's flexibility allows elaborate texture compression techniques, which however no released title took advantage of. Blending functions (per primitive, vertice, or alpha channel) are working only under NVLIB. Under Direct3d real alpha blending is non-existent, no textures with alpha channel are supported.

Sometimes it is bearable

The main aim of this whole project is a comparison of different 3d chipsets and that requires open API. NV1 is at an obvious disadvantage, none of its advanced dynamic lighting or blending can be seen. Nevertheless Nvidia promoted their chip as complete DirectX accelerator, because it really uniquely handles all the parts: Direct Draw, Video, 3D, Sound, Music and Input. The image quality of course suffers mostly from lack of texture filtering and alpha blending. NV uses stipple patterns but not in all cases, causing series of transparency artifacts. Texture perspective correction is only a wish, the quadratic technique or subdivision obviously did not translate well into d3d. Textures are usually heavily warped, at least color precision looks alright. Table fog is of course unsupported, but surprisingly there is no sign of vertex fog either. Only games not dependent on hardware z-buffering are running, and Carmageddon II and SOTE take advantage of NV1 only via slower emulation layer. As always you can check out screenshots in the gallery.
The audio to me actually sounds very nice under Windows, maybe sound effects were missing clear hights but I don't have trained ear for old sound cards. Special TSR is needed to make it compatible with Sound Blaster (Pro) for DOS games.

Performance uNVeiled

Windows GUI is fast enough, but Direct Draw speed is usually too low. For comparison of 3d performance I picked Virge /VX, since it's memory and dac choice was guided by similar approach. It seems NV1 clearly wins by 50% at both average and minimal framerates, but keep in mind Virge does bilinear filtering and often real alpha blending. With image quality on par with NV1 I would estimate more equal game. On the other hand NV's specific muscles cannot shine through d3d. If any developer actually delivered game built around the technology, we might have declare first high end 3d accelerator one year earlier. Difference between 2 and 4 MB of local memory is hard to find, makes me wonder how is texture allocation managed.
Sound mixing on the chip should take its toll on graphics performance, since it needs some memory bandwidth and bus traffic. Capacity should not be an issue, NV1 DMAs all hardware buffers from system memory. There are options to cap frequency and polyphony to help cards with little local memory. As usual, I ran my tests with sound disabled, but this case demands some performance measurement as well. I tried two games utilizing the device, Hellbender and Mechwarrior 2 and tested them with and without capped sound of NV1 and with 2 and 4 megabytes of local memory. With 4 MB the sound was pretty good to me, but after removal of expansion module or when using 6MB bank the audio became incredibly noisy. Maybe a bug, maybe conflict with newer DirectX. Both average and minimal framerate dropped by small amount with sound on and tiny bit further with reduced local memory. So there is some influence, but the sound does not seem to take away from rendering speed, at least as long as powerful CPU is used.

Direction uNViable

Thanks to this device NVIDIA is among the very first 3d acceleration pioneers, plus they notably integrated complete graphics along with audio and I/O. Sega (or at least part of it) trusted Nvidia to develop good multimedia hardware for their console games to stretch their legs to PC as well. However the NV1 architecture, built for quadrilaterals instead of standard triangular polygons, was too exotic and developers hated it. Nvidia offered freely Nvlib API, but easier programming could not overcome shortcomings of quadrilaterals. The game library remained too small even if there were developers trying to support all 3d chips. Nvidia's crew was willing to reach out and assigned dedicated talented programmers to assist with conversions, but often even that was not enough help to adapt triangle based games for NV1. Direct3d driver came soon enough, wrapping triangles as quadratic surfaces for the chip. When d3d games actually started spreading, compatibility was finally exposed as minimal, missing important features like z-buffering, not to mention image quality issues. However, until then NVIDIA maintain course, developing new NV2 chip around same basics, but more powerful and with fractal image compression for even faster texturing. Meanwhile, under pressure from developers Sega eventually abandoned quads and NV architecture, despite their help in funding NV2. For the rest of the story there are only but rumors, and rather juicy ones. Sega could have change NV2 target into simplified chip for Pico without texture mapping, which could be Japanese way of giving the finger. NVIDIA was in an ugly situation, unable to pursue anyone into embracing their advantages, there were plenty of NV1 cards in stores nobody wanted and console world was lost as well. But will to adapt and close listening to developers led to needed changes. Nvidia embraced triangles and as the saying goes, third time is the charm.

continue to Riva 128 review