
Retro enthusiast injects Snake game into vintage S3 graphics card VBIOS — enjoy some serpentum fun while your old PC boots
A retro PC enthusiast has modified the VBIOS of a vintage graphics card to embed a version of Snake – the game everyone used to play on their dumb phones.
Retro enthusiast injects Snake game into vintage S3 graphics card VBIOS — enjoy some serpentum fun while your old PC boots | Tom's Hardware
Skip to main content
Unlock world-class roadmaps & trusted Bench data. See More
× Unparalleled insights. Industry analysis. Insider access. Tom's Hardware Premium equips you with world-class coverage and detailed insights into the evolving hardware landscape.
✓Full access to our trusted Bench database: Access granular performance data instantly. ✓Exclusive hardware roadmaps: Peer into the future of the hardware industry. ✓Daily news analysis: Dive deep into the biggest stories.
Subscribe to our annual plan for just $29
Stay On the Cutting Edge: Get the Tom's Hardware Newsletter Get Tom's Hardware's best news and in-depth reviews, straight to your inbox.
Contact me with news and offers from other Future brands
Receive email from us on behalf of our trusted partners or sponsors
By submitting your information you agree to the Terms & Conditions and Privacy Policy and are aged 16 or over.
You are now subscribed Your newsletter sign-up was successful
An account already exists for this email address, please log in.
Snake gaming, stock photo (Image credit: Getty Images)
Copy link
X
Share this article
0
Join the conversation
Follow us
Add us as a preferred source on Google
Newsletter
Subscribe to our newsletter
A retro PC enthusiast has modified the VBIOS of a vintage graphics card to embed a version of Snake – the game everyone used to play on their dumb phones. This tiny dose of serpentum fun is playable whenever the system is booted, and once exited, the PC will continue to boot as normal. Bits und Bolts completed this S3 ViRGE DX mod by hacking the VBIOS and injecting Snake 512, a free version of the game condensed into just 512 bytes and written in x86 assembly.
Hacking a VGA BIOS to Run Snake! - YouTube
Watch On Before the Snake 512 embed was wrangled, Bits und Bolts decided to mod the S3 ViRGE VBIOS by adding a dynamic (text) splash screen to show the actual GPU frequency. This effort is bolted on to prior work where the TechTuber injected a graphical splash screen, and the task takes up roughly the first half of the video.From 10 minutes 43 seconds in, we get to see the vintage computing enthusiast inject Snake 512 into the video card BIOS. Snake 512 was designed to fit in the 512 bytes of a disk boot sector and run in x86 real mode. Bits und Bolts thought this OS-independent assembly code was thus a great fit for wedging into a VBIOS.Latest Videos FromThe intrepid vintage computer fan couldn’t just copy the GitHub code and paste it into the BIOS. So, Claude Code was consulted to prepare the commented GitHub code and turn it into hexadecimal code suitable for injecting into a VBIOS.With this code ready to be pasted, Bits und Bolts opens up the S3 ViRGE VBIOS in Ghidra, a reverse engineering framework developed by the National Security Agency (NSA) of the United States. This tool is now free, open source, and available on GitHub.Next, an empty section of the target file was found, just after the splash screen, and the new code was pasted. The code block needed referencing / patching, so it would be triggered after the splash screen rather than just be ignored at boot. Then the checksum needed fixing.The way Snake 512 in a VBIOS was implemented was as follows:Stay On the Cutting Edge: Get the Tom's Hardware NewsletterGet Tom's Hardware's best news and in-depth reviews, straight to your inbox.Contact me with news and offers from other Future brandsReceive email from us on behalf of our trusted partners or sponsorsPower up the systemEmbedded modded image splash screen displaysPrompt offers option to play Snake (press N) or skip (Esc)The prompt also times out, so boot will continue if there is no user input.N – play Snake gameEsc – system reads and shows actual GPU clockBooting continuesPlease note that USB keyboards don’t work with this implementation of Snake 512. Also, there is no sound. However, with everything running as intended, Bits und Bolts moves on to some further customization - editing the Snake 512 game colors (in Ghidra again). The vintage computing enthusiast had previously bookmarked sections of the code where colors for the border, background, snake head, snake body, and others were defined. Now these were edited to other values from the VGA color palette using hex values for appropriate rows/columns. At the end of the video, with everything working and colored as intended, the TechTuber quips, “Who says the ViRGE can’t play games?”The last time we wrote about the escapades of Bits und Bolts was when they modded the S3 ViRGE DX VBIOS to disable the ‘pedestal bit,’ which caused S3 graphics blacks to be rendered as a dark grey. We’ve also previously reported on a Doom port that was released as a Coreboot BIOS payload (of course, it is too big to actually go in the BIOS).
Follow Tom's Hardware on Google News, or add us as a preferred source, to get our latest news, analysis, & reviews in your feeds.
TOPICS
See all comments (0)
Mark TysonNews EditorMark 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.
No comments yet
Comment from the forums
📰Originally published at tomshardware.com
Staff Writer