Retro PC modder makes Snake playable from an S3 ViRGE graphics card BIOS

news
Retro PC modder makes Snake playable from an S3 ViRGE graphics card BIOS

A retro PC enthusiast has managed to hide a working version of Snake inside the VBIOS of an old S3 ViRGE DX graphics card. The result is a tiny boot time game that appears before the system continues loading normally, turning a vintage graphics card into a strange but fun gaming platform.

The project was created by Bits und Bolts, who modified the card’s video BIOS and inserted Snake 512, a compact version of the classic game written in x86 assembly. Snake 512 was originally designed to fit inside just 512 bytes, which made it small enough to squeeze into the limited space available in the VBIOS.

The mod adds a playable game before the old PC finishes booting

The project started with another VBIOS tweak. Bits und Bolts first added a dynamic text splash screen that reports the graphics card’s actual GPU clock frequency. After that, the modder moved on to the more playful part of the project: injecting Snake into the BIOS.

This was not a simple copy and paste job. The Snake 512 code had to be prepared in a format that could be inserted into the VBIOS. The modder used Claude Code to help turn the commented source into hexadecimal code suitable for the job. Then the S3 ViRGE BIOS was opened in Ghidra, a reverse engineering tool originally developed by the NSA and now available as open source software.

Mod detailWhat was added
Graphics cardS3 ViRGE DX
BIOS changeSnake 512 injected into VBIOS
Extra featureDynamic GPU clock splash screen
Tool usedGhidra
Game size512 bytes
Keyboard supportUSB keyboards do not work
SoundNo sound

The modder found an empty section inside the BIOS file after the splash screen and placed the new code there. The next step was to patch the BIOS so the game code would actually run during startup instead of being ignored. The checksum also had to be fixed so the modified BIOS would still be accepted.

The final boot flow is simple. When the system powers on, the custom splash screen appears first. Then the PC asks whether you want to play Snake by pressing N or skip it by pressing Esc. The prompt also times out, so the computer will continue booting if you do nothing.

There are limits. USB keyboards do not work with this version of Snake, and the game has no sound. But for a 512 byte game running from a graphics card BIOS before the operating system loads, that is still impressive.

Bits und Bolts also customized the game’s colors. Using Ghidra again, the modder edited values for the border, background, snake head, snake body, and other visual elements through the VGA color palette.

This is not a practical upgrade, but that is what makes it fun. The S3 ViRGE is often remembered as one of the more awkward early 3D graphics cards, so making it run a game from its own BIOS is a playful twist. The modder joked that the project proves the ViRGE can play games after all.

The same creator has previously modified an S3 ViRGE DX BIOS to fix a black level issue caused by the pedestal bit, so this Snake project continues a pattern of experimenting with old graphics hardware in unusual ways.

For retro PC fans, the project is a reminder that old hardware still has room for creativity. A tiny game inside a graphics card BIOS may not be useful, but it shows how much can be done with reverse engineering, assembly code, and a little curiosity.

Discover: News

Discussion (0)

Be the first to comment.