An enthusiast unlocked the VBIOS of an old S3 graphics card, making the black color truly deep.
Short news summary
The YouTube channel *Bits und Bolts* discovered that in the old S3 Virge DX 4 MB video card, black was displayed not as pure black but as dark gray. This was an intentional decision by the manufacturer – a “black level lift” (pedestal bit) to make images on NTSC CRT monitors look softer. The video author managed to modify the VBIOS and restore true black.
1. What happened?
- The S3 Virge DX used a “lifted” black level:
- In the BIOS the color was set to `0x3F`.
- Resetting the bit to zero made it `0x1F`, and the image looked darker.
- This was done deliberately so that dark areas wouldn’t “bleed” on old monitors.
2. How the author found the problem
1. Preparation
- The author already had experience with video cards and read community discussions.
- Opened a debugger to see register values in real time.
2. Searching for the bit
- Tracked target addresses, converting hexadecimal numbers to binary using the Windows calculator.
- Found the relevant bit at address `0x3C4`.
- Setting it to zero made the background black.
3. Determining the impact
- Restored the original value, confirming that one of eight bits controls the black level lift.
- Had to figure out which exact bit – used an exclusion method.
3. Editing the VBIOS
1. Export and modification
- Extracted the VBIOS into a file and made manual changes.
- While analyzing assembly code found two matches pointing to the required parameter.
2. Changing the entry
- Converted `0x20` to `0x00` – that was the “lift” of the black level.
- After the change recalculated the VBIOS checksum:
- Old checksum = `0x77`.
- New checksum = `0x97`.
3. Writing back
- Flashed the corrected BIOS onto the video card chip, replacing the original.
4. Result
On first boot after flashing, black truly became pure black – no dark gray tint. This confirms that the issue was not a bug but an intentional manufacturer solution to improve visual quality on CRT monitors.
Summary:
- Problem: artificial black level lift in S3 Virge DX.
- Solution: modify VBIOS, fix the bit and checksum.
- Conclusion: after flashing the image looks more natural.
Comments (0)
Share your thoughts — please be polite and stay on topic.
Log in to comment