Энтузиаст закачал Snake в BIOS старой видеокарты S3
Теперь классическая змейка запускается при каждой загрузке системы
Энтузиаст ретро-вычислений взялся за модификацию BIOS видеокарты S3 ViRGE DX — туда попала полноценная версия Snake, той самой игры, в которую все когда-то играли на кнопочных телефонах. Теперь при каждой загрузке компьютера можно нажать кнопку и поиграть в змейку прямо на экране инициализации видеокарты.
Автор проекта Bits und Bolts использовал Snake 512 — минималистичную реализацию игры, уложенную всего в 512 байт и написанную на x86 ассемблере. Код был изначально создан для загрузочного сектора дискеты (boot sector), поэтому он не требует операционной системы и идеально подошёл для встраивания в VBIOS.
Как это работает
Прежде чем заняться самой змейкой, Bits und Bolts потратил время на добавление динамического экрана-заставки, выводящей текущую частоту GPU при включении. Это заняло первую половину видео-документации проекта.
Сам процесс внедрения Snake 512 потребовал серьёзных манипуляций. Нельзя было просто скопировать код с GitHub и вставить в BIOS — пришлось привлечь Claude Code, чтобы конвертировать ассемблерный код в шестнадцатеричный формат, пригодный для инъекции в VBIOS.
Затем Bits und Bolts открыл BIOS-образ S3 ViRGE в Ghidra (фреймворке обратного инжиниринга, разработанном NSA и выложенном в открытый доступ) и нашёл свободное место в файле, прямо после экрана-заставки. Код вставили, указали правильные ссылки, чтобы он срабатывал в нужном месте загрузки, и пересчитали контрольную сумму.
Использование
При загрузке компьютера модифицированная видеокарта показывает заставку с текущей частотой GPU, а затем предлагает:
- Нажать N — поиграть в Snake
- Нажать Esc — пропустить и начать обычную загрузку
Если ничего не нажать, компьютер продолжит загружаться автоматически через несколько секунд.
Есть ограничение: USB-клавиатуры не поддерживаются (нужна обычная PS/2), и звука в игре нет. Но основная функция работает идеально.
Финальная шлифовка
После того как всё заработало, Bits und Bolts занялся кастомизацией — менял цвета игры прямо в Ghidra. Энтузиаст нашёл участки кода, где задавались цвета границ, фона, головы и тела змейки, и переопределил их на другие значения из VGA-палитры.
В конце видео, когда всё работало как надо, Bits und Bolts заметил с иронией: «Кто сказал, что ViRGE не может играть в игры?» S3 ViRGE DX когда-то была неудачной видеокартой, известной медленной работой и чёрными пикселями, отображающимися как тёмно-серые. Это новое применение видеокарты выглядит намного забавнее.
Читать ещё

На Newegg раздают комбо AMD Ryzen 9 9850X3D + RX 9070 XT за $978

Конкуренция Steam Controller — не от Microsoft и Sony, а от инди-производителей

Huawei выпустила SSD объёмом 122 ТБ со своей упаковкой NAND


Обсуждение