Как запустить Doom на беспроводных наушниках

Doom Hardware прошивка Uart наушники портирование

Проект «Doombuds» демонстрирует запуск классической игры Doom на беспроводных наушниках PineBuds Pro через их UART-интерфейс и веб-сервер. Отсутствие дисплея не помеха: видеопоток MJPEG выводится на сервер, а игра оптимизирована под ограниченную память устройства.

На протяжении многих лет хакеры и моддеры ставили себе целью портировать классический шутер от первого лица Doom практически на любое устройство, оснащенное дисплеем. Недавно, однако, программист Арин Саркисян вывел идею «Can it Run Doom?» в неожиданном направлении: на беспроводные наушники, которые совершенно не предназначены для вывода графики.

Стоит уточнить, что этот хак применим не к любой паре наушников. Проект «Doombuds» разработан специально для модели PineBuds Pro, уникальных тем, что они поддерживают полностью открытую прошивку и SDK, поддерживаемый сообществом.

Это позволило Саркисяну написать JavaScript-интерфейс, который использует контактные площадки UART наушников для отправки сильно сжатого видеопотока MJPEG на веб-сервер (через последовательный сервер). Поток данных со скоростью 2,4 МБ/с через соединение UART позволяет выдавать около 22–27 кадров в секунду в этом формате, чего более чем достаточно для процессора, который и так может обрабатывать игру не более чем на 18 кадрах в секунду.

Вписать весь Doom в современные наушники тоже оказалось непросто. Например, 4,2 МБ игровых данных не помещаются в 4 МБ флеш-памяти PineBuds. Поэтому для проекта пришлось использовать «сжатую» сборку Doom объемом 1,7 МБ, которая исключает некоторые кадры анимации и укорачивает музыкальные треки, делая игру еще более портативной.

Наушники также располагают чуть менее чем 1 МБ оперативной памяти, что потребовало написания новой версии игры, оптимизирующей множество битов, которые обычно заполняют полные 4 МБ ОЗУ в стандартной версии. «Предварительная генерация таблиц поиска, присвоение переменным статуса const, чтение const-переменных из флеш-памяти, отключение системы кэширования DOOM, удаление ненужных переменных… все это складывается», — пишет Саркисян.

Для тех, у кого нет собственных PineBuds для тестирования этой безумной идеи, Саркисян организовал интерактивный стрим на Twitch, где пользователи могут по очереди управлять игрой в течение 45-секундных сессий через doombuds.com. Это прекрасное развлечение для перерыва, особенно для тех, кто готов поразиться тому, что наушники за 70 долларов теперь могут запускать игру, для которой несколько десятилетий назад требовался системный блок стоимостью более 1000 долларов.

Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.

Похожие новости: