Enthusiast fixes 30-year issue with S3 graphics card — hacking the VBIOS fixes black levels by scalpelling out the Virge DX’s ‘pedestal bit’
S3 purposely set washed-out blacks in VBIOS so imagery wouldn’t be too dark for legacy NTSC TV color compatibility.
A retro hardware enthusiast has demonstrated a fix that eliminates the washed-out appearance people can have with 1990s graphics cards from S3. In a recent video, Bits und Bolts (BuB) worked on an S3 Virge DX 4MB graphics card (1985-6) to investigate and neuter the ‘pedestal bit.’ This feature of the card’s VBIOS makes the darkest blacks more like charcoal, a highly undesirable feature if used to drive a good-quality monitor.
Before we go on, here’s a refresher regarding the pedestal bit, which was a bug/feature of S3 cards such as the headlining Virge, Trio, and some early Savage family models.
In its wisdom, S3 decided to raise the black levels to a dark gray in VBIOS so imagery wouldn’t be too dark for old CRTs, particularly those that adhered to the NTSC standard. So, this raising of black to dark gray is the so-called pedestal. It was implemented in the era’s graphics cards in VBIOS, by setting full black to a higher value. As you will see later, TechTuber BuB notes the original bit was set as 3F, but the fixed version replaces that hexadecimal value with 1F at a certain point in the VBIOS code.
BuB explains that the pedestal bit is set in the BIOS when the system boots up. So, affected systems show blacks that are a bit too bright (bright black?) immediately starting from boot time.
The TechTuber breaks down this pedestal bit fix into a number of logical steps. Firstly, a debugger is used to poke around and find the address and code where the bit in question resides. Thanks to some prior experience with prior graphics cards and in some community discussions, BuB isn’t searching blind.
In the debugger, the TechTuber tracked down his first target address and checked what values were there using Windows Calculator’s hex-to-binary converter. This first shot at editing the code live in the debugger, changing the probed values to zero (black), resulted in nothing happening.
Second shot hits the target
A second shot, targeting debug at 3c4 address 1a hit the target. When the value at this address was set to zero, the background went darker immediately. To check, BuB reset it back to the old values, confirming that one of the eight bits edited was the pedestal bit. Another bit of elimination work was needed to determine which one of the eight was the actual pedestal bit, but NuB was lucky the first time.
Get Tom's Hardware's best news and in-depth reviews, straight to your inbox.
So, the tricky investigation work had been completed; now it was time to dump the VBIOS to a file, make the tweaks that had been found to work, and write it back to the hardware.
A tool called NSSI was used for the dumping. BuB then opened the freshly dumped Virge VBIOS in Hiew (HEX view, or Hacker’s view?). But when searching for the code, he found two matches in the assembly. Again, using the HEX to binary converter in Calc, he found the original pedestal bit and edited it. He modified this single hexadecimal entry from 20 to 00.
With this pedestal bit-zapping work done, the VBOIS checksum needed changing to ensure it wasn’t rejected as being corrupt. This step was demonstrated in DOS and in a friendlier Windows tool. In short, the old checksum was 77 and the new one 97 (both hex numbers).
Now the successfully edited VBIOS was flashed to a chip. BuB swapped the existing VBIOS chip with the modified one. It booted with a glorious, deep black background the first time.
Returning to the debugger, not that he needed to, BuB checked the address, which was previously 3F, and indeed it was now 1F – pedestal bit elimination confirmed. The TechTuber indicates that the same procedure should be usable across any Virge DX model. A neat solution to a 30-year-old gray problem.
Follow Tom's Hardware on Google News, or add us as a preferred source, to get our latest news, analysis, & reviews in your feeds.

Mark Tyson is a news editor at Tom's Hardware. He enjoys covering the full breadth of PC tech; from business and semiconductor design to products approaching the edge of reason.
-
vinay2070 Back in my school days, when I took my Pentium 100 PC to add more RAM (8 to 32MB), HDD etc, my Cirrus logic (5446?) VGA card had 1MB VRAM and I asked them if they could add one more MB to the empty slot and they said they could. Even today I dont know if that made much of a difference in gaming as most ran on CPU, but back then I was glad I did. It was the era of voodoo and voodoo 2 and stuff, but I didnt have the cash to afford them so that was the best I could.Reply -
JumX You need to revise that article and change it from 85 - 86 to 96 - 97 because I can guarantee you as a reseller, I did not have one two or four MB S3 video cards until at least 96.Reply -
NinoPino If 1985-6 refers to the year and not to a model number, than it is completely wrong. As already written by @JumX there is at least a decade of difference.Reply -
xjumpmanx Reply
I feel so old, I remember getting my S3 and then later on getting a 3dfx card for OG GTA game. It was so much cheaper for that S3.Admin said:A retro hardware enthusiast has demonstrated a fix that eliminates the washed-out appearance people witness when using 1990s graphics cards from S3.
Enthusiast fixes 30-year issue with S3 graphics card — hacking the VBIOS fixes black levels by scalpelling out the Virge DX’s ‘pedestal bit’ : Read more -
flynnp Absolutely love the enginuity shown here on legacy hardware. Well done!Reply
I started with a Tseng Lands board, then ATI Radeon cards. Never got the S3 at the time. -
samopa Replyflynnp said:I started with a Tseng Lands board, then ATI Radeon cards. Never got the S3 at the time.
Started with CGA here, then straight to Tseng Lab's ET3000 (bypassing EGA), then settled with Tseng Lab's ET4000.
In the VLB era, use Tseng Lab's ET4000/w32.
When PCI arrived, start by using S3 928, then S3 968 + 3dfx Voodoo 1.
In the AGP era, I started with 3dfx Voodoo Banshee, 3dfx Voodoo3 3000, and ended with 3dfx Voodoo5 5500 until the PCIE era.
In the PCIE era, jump to the green camp and start with NVidia 8800 GT, then 9800 GTX, GTX 280, GTX 480, GTX 680, GTX 980 Ti, GTX 1080 Ti, RTX 3080 Ti, and RTX 4090 for the time being.
Still waiting for RTX 6090, I guess. :blush: