Железо2 мин чтения · 23 мая 2026 г. в 13:00 (МСК)

Энтузиаст закачал Snake в BIOS старой видеокарты S3

Теперь классическая змейка запускается при каждой загрузке системы

👁 3 733 просмотров·👍 0🔥 0·💬 2
Энтузиаст закачал 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 когда-то была неудачной видеокартой, известной медленной работой и чёрными пикселями, отображающимися как тёмно-серые. Это новое применение видеокарты выглядит намного забавнее.

#retro-pc#bios-modding#s3-virge#snake-game#x86-assembly
Поделиться:TelegramВКонтактеX / Twitter

Читать ещё

Обсуждение

Войди, чтобы оставить комментарий.
Загрузка...