Энтузиаст внедрил игру «Змейка» в VBIOS винтажной видеокарты S3 — развлекайтесь во время загрузки старого ПК

/ ИгрыНовости / Игры

Энтузиаст ретро-компьютеров модифицировал VBIOS старой видеокарты, чтобы встроить в него игру «Змейка». Теперь можно насладиться небольшим развлечением во время загрузки старого ПК.

Энтузиаст ретро-ПК модифицировал VBIOS винтажной видеокарты, чтобы встроить в него версию «Змейки» — игры, в которую раньше все играли на своих кнопочных телефонах. Эта небольшая порция змеиного веселья доступна каждый раз при загрузке системы, а после выхода из игры ПК продолжит загружаться в обычном режиме. Bits und Bolts выполнил эту модификацию S3 ViRGE DX, взломав VBIOS и внедрив Snake 512 — бесплатную версию игры, умещающуюся всего в 512 байт и написанную на ассемблере x86.

Прежде чем внедрить Snake 512, Bits und Bolts решил модифицировать VBIOS S3 ViRGE, добавив динамический (текстовый) экран-заставку для отображения фактической частоты GPU. Эта работа основана на предыдущих достижениях, когда ютубер внедрил графическую заставку, и эта задача занимает примерно первую половину видео.

Начиная с 10 минут 43 секунд, мы видим, как энтузиаст ретро-компьютеров внедряет Snake 512 в BIOS видеокарты. Snake 512 была разработана так, чтобы помещаться в 512 байт загрузочного сектора диска и работать в реальном режиме x86. Bits und Bolts решил, что этот не зависящий от ОС код на ассемблере отлично подходит для встраивания в VBIOS.

Отважному любителю винтажных компьютеров не удалось просто скопировать код из GitHub и вставить его в BIOS. Поэтому он обратился к Claude Code, чтобы подготовить код с комментариями из GitHub и преобразовать его в шестнадцатеричный код, пригодный для внедрения в VBIOS.

Имея готовый к вставке код, Bits und Bolts открывает VBIOS S3 ViRGE в Ghidra — среде обратного проектирования, разработанной Агентством национальной безопасности (АНБ) США. Этот инструмент теперь является бесплатным, открытым и доступен на GitHub.

Затем был найден пустой участок целевого файла, сразу после заставки, и туда был вставлен новый код. Блок кода нужно было пропатчить, чтобы он запускался после заставки, а не игнорировался при загрузке. После этого потребовалось исправить контрольную сумму.

Вот как была реализована Snake 512 в VBIOS:

Обратите внимание, что USB-клавиатуры не работают с этой реализацией Snake 512. Также в игре нет звука. Однако, когда всё заработало как надо, Bits und Bolts перешел к дальнейшей настройке — редактированию цветов игры Snake 512 (снова в Ghidra). Энтузиаст ретро-компьютеров ранее отметил участки кода, где определялись цвета для границы, фона, головы змеи, тела змеи и других элементов. Теперь они были изменены на другие значения из палитры VGA с помощью шестнадцатеричных значений для соответствующих строк и столбцов. В конце видео, когда всё работало и было раскрашено по замыслу, ютубер пошутил: «Кто сказал, что ViRGE не умеет играть в игры?»

В прошлый раз мы писали о приключениях Bits und Bolts, когда он модифицировал VBIOS S3 ViRGE DX, чтобы отключить «pedestal bit», из-за которого черный цвет на графике S3 отображался как темно-серый. Ранее мы также сообщали о порте Doom, который был выпущен в качестве полезной нагрузки Coreboot BIOS (конечно, он слишком велик, чтобы поместиться в сам BIOS).

Источник: Tomshardware.com

Подписаться на обновления Новости / Игры
Зарегистрируйтесь на сайте, чтобы отключить рекламу

ℹ️ Помощь от ИИ в комментариях

Вы можете задать вопрос нашему ИИ-помощнику прямо в комментариях к этой статье. Он постарается быстро ответить или уточнить информацию.

⚠️ ИИ может ошибаться — проверяйте важную информацию.

Топ дня 🌶️


0 комментариев

Оставить комментарий


Все комментарии - Игры