A hobbyist has hacked the VBIOS of an early‑2000s S3 ViRGE DX graphics card to embed a 512‑byte x86 assembly version of Snake, turning the boot splash into an interactive Easter egg while preserving normal system startup.
Announcement
A longtime retro‑PC hobbyist, operating under the moniker Bits und Bolts, has successfully modified the VBIOS of an S3 ViRGE DX graphics card to run a playable version of the classic Snake game at power‑on. The injection, dubbed Snake 512, occupies exactly 512 bytes—the size of a traditional floppy boot sector—and executes in real‑mode x86 before the operating system loads. The modification coexists with a dynamic text splash that reports the GPU’s clock frequency, and the system continues to boot normally after the game is dismissed.

Technical specs
- Target hardware: S3 ViRGE DX, a 1990s PCI graphics core built on a 0.35 µm process, supporting 2D acceleration and limited 3D via the Glide API.
- VBIOS size: 256 KB, with a small unused region after the original splash routine.
- Game payload: Snake 512, written in pure x86 16‑bit assembly, compiled to a 512‑byte flat binary that fits within a standard boot sector. The code relies only on BIOS interrupt 0x10 for video services and does not require any OS services.
- Injection method:
- The original VBIOS was opened in the open‑source reverse‑engineering suite Ghidra (https://github.com/NationalSecurityAgency/ghidra).
- An empty block after the splash routine was identified; the 512‑byte Snake binary was pasted there.
- A small jump instruction was added to the end of the splash routine, redirecting execution to the Snake code when the user presses N.
- The BIOS checksum was recomputed using the standard 8‑bit additive algorithm to satisfy the card’s integrity check.
- User interaction: During boot the splash offers two options—press N to launch Snake, or Esc to skip. If no key is pressed within a 5‑second window, the BIOS proceeds to normal boot.
- Limitations:
- USB keyboards are not recognized because the VBIOS runs before the USB stack is initialized; a PS/2 keyboard is required.
- No audio output; the game relies solely on VGA text mode.
- Color customization: The hobbyist edited the hard‑coded VGA palette entries in the binary (e.g., border = 0x14, snake head = 0x0A) using Ghidra’s hex editor, allowing a personal colour scheme without expanding the payload.

Market implications
While the modification itself does not affect commercial GPU supply chains, it highlights a few broader points for the semiconductor ecosystem:
- Legacy BIOS flexibility – Even decades‑old firmware retains enough programmable space to host non‑trivial code. This underscores the value of open‑source tooling (Ghidra, binutils) for extending the life of legacy hardware, a niche but growing market among collectors and industrial users who rely on proven, long‑term‑available silicon.
- Firmware security awareness – The ease with which a 512‑byte payload was injected demonstrates the low barrier to BIOS tampering. Manufacturers continue to harden modern UEFI firmware with signed images and secure boot, but older legacy BIOSes remain vulnerable. The community’s interest in such hacks may push vendors to provide better documentation and update mechanisms for legacy products.
- Niche demand for retro‑compatible peripherals – The requirement for a PS/2 keyboard reveals a small but persistent demand for legacy I/O. Companies that still produce PS/2‑to‑USB adapters or maintain stock of old keyboards can benefit from the hobbyist market.
- Educational value – Projects like Snake 512 serve as practical teaching tools for low‑level programming, firmware analysis, and reverse engineering. Academic programs and bootcamps can leverage the publicly available source (https://github.com/BitsUndBolts/snake512) to illustrate real‑world constraints of size‑limited code.
Overall, the Snake‑in‑VBIOS hack is a reminder that even mature, seemingly static hardware can be repurposed with a few hundred bytes of clever assembly. It also reinforces the importance of maintaining robust tooling and documentation for firmware development, both for preserving vintage platforms and for informing security practices in modern silicon.
Image credits: Featured image, Getty Images, YouTube thumbnail

Comments
Please log in or register to join the discussion