DOS Days

Retro Review: Tseng Labs ET4000AX Part 2

8th November 2022

In part 1 we explored this SVGA card from 1991. In part 2, I will run some base benchmarks on the card. Here's the card in question again:

 

My original 16-bit ISA ET4000 card

Because this is an ISA card I want to be certain throughout my benchmark tests that I am properly evaluating the card's best performance, i.e. no other bottlenecks from the host PC. In order to achieve this, I have installed it into my mid-range retro PC with these specs (I did a full 3-part build article on this retro PC build):

Motherboard Gigabyte GA-5AX Super 7 Rev 4.1, 512 KB L2 cache (1998)
CPU Intel Pentium MMX 200 MHz (1997)
Memory 32 MB PC133 SDRAM
Hard Disk 512 MB CompactFlash card via CF-to-IDE adapter
Floppy Drive Gotek floppy emulator w/ FlashFloppy

The above system should ensure the card runs without impedance from the rest of the system, so my results ought to be the card's "absolute best". The Gigabyte GA-5AX has BIOS settings that allow me to adjust the AT Bus (ISA bus) clock from 7.16 MHz to CLK2/6, CLK2/5, CLK2/4, CLK2/3 to the fastest CLK2/2, so I will be checking the affect on this bus overclock as well.

A Note on VESA Compatibility

I will also try to test the VESA modes. In the late 1980s video card manufacturers were pushing beyond the boundaries of IBM's VGA standard which maxed out at 640 x 480 in 256 colours. These manufacturers rarely collaborated to agree on the way in which their cards would access these 'extended' graphics modes like 800x600 and 1024x768, which left software developers having to create separate drivers for each manufacturer and card. This of course was problematic. By around 1990, VESA (the Video Electronics Standards Agency) worked to standardise screen resolutions and colour depths and got buy-in from the major manufacturers to agree upon a set of video modes they would support in this standardised way.

The ET4000AX doesn't come with built-in VESA support in the BIOS- this was only really common in cards from around 1994 onwards - but if a card supported extended VESA modes, the card manufacturer would typically provide a VESA driver on its utilities and drivers disk. These VESA modes were often referred to as VESA VBE, or "Video BIOS Extensions", since that's what they did - extend the card's video BIOS to include function calls that software could use to make use of these VESA graphics modes. A VESA (or VBE) driver, at least in DOS, was a TSR (Terminate and Stay Resident) utility that sat in memory and trapped calls to the video BIOS and converted them to be VESA-compliant so that the software would be able to work. <- Is this accurate, or did the utility simply put new BIOS functions into memory that could be called to talk to the graphics card at a given address? Let me know if you know!

I don't have the disk for my ViewTOP card specifically, but Tseng Labs had generic drivers and utilities that would usually work with all ET4000-based cards. The one provided by Tseng Labs is called TLIVESA.EXE. Another very common one that worked across multiple cards was UNIVESA, later renamed UNIVBE.

For synthetic benchmark testing, I am using these utilities:

  • VESAtest
  • Vidspeed32
  • VMax256
  • VSpeed 0.42
  • VGAfps
  • 3DBench v1.0
  • 3DBench v1.0c (for faster PCs)
  • Chris' 3D SVGA Benchmark
  • Chris' 3D SVGA Benchmark (for faster PCs)
  • PC Player 320x200 8bpp
  • PC Player 640x480 8bpp
  • Doom timedemo (for slower PCs, lowest details, smallest window)
  • Doom timedemo (for faster PCs, max details, full-screen)
  • Wolf3D timedemo

With the machine set to the fastest setting (caches-wise and the AT bus set to CLK2/4), I installed UNIVBE v4.0, which provides us with VESA 1.2 compatibility:

Here were the results:

Starting with the AT (ISA) bus to set to its default of 7.16 MHz gave these results:

Overclocking the ISA Bus

I mentioned the fact my motherboard can allow me to set the clock speed the ISA bus runs at. The options are 7.16 MHz, CLK2/4, CLK2/3 and CLK2/2. The CLK2 here refers to the speed of the PCI bus, which is 33.3 MHz, so for example a setting of CLK2/4 is 33.3 divided by 4, or 8.325 MHz.

Changing the AT (ISA) bus to CLK2/4, gave these results:

Changing the AT (ISA) bus to CLK2/3, gave these results:

Changing the AT (ISA) bus to the fastest setting of CLK2/2, gave these results:

Here's a summary of those stats:

AT Clock 3DBench 1.0 3DBench 1.0c Chris Bench (low) Chris Bench (high) PCP 320 PCP 640 Doom (low) Doom (high) Wolf3D
7.16 MHz 28.5 27.9 21.7 5.8 19.3 4.8 82 12 23.7
CLK2/4 (8.25 MHz) 31.2 30.5 27.2 7.6 19.7 5.0 91 14 27.1
CLK2/3 (11 MHz) 37.0 35.8 27.2 7.6 22.8 5.9 104 16 32.2
CLK2/2 (16 MHz) 43.4 42.0 33.6 9.0 26.3 7.1 119 19 37.2

So on average we see a 50% improvement in our graphics performance by overclocking the ISA bus to the maximum of CLK2/2. Of course, not all motherboards (especially earlier ones) have this capability, but if it's there and you are using an ISA graphics card it's well worth giving it a try. I've overclocked this ET4000 before so I know it's very stable. I had a much worse time overclocking my Trident TVGA8900 cards, where anything over the 8 MHz mark would cause the system to hang or video artifacts to appear.

 

Games Testing

In Part 3 I will switch my focus to testing this card out on some games, including Indianapolis 500: The Simulation, The Cycles: International Grand Prix Racing, F-15 Strike Eagle II, Ferrari Formula One, Their Finest Hour: Battle of Britain, and more. For comparison, I will run the same tests on cards that were competing with the Tseng Labs one around the same time period.