Для порта Бинек адаптировал движок doomgeneric под микроконтроллер Artery AT32F415, который управляет работой прибора. Несмотря на жёсткое ограничение по памяти, ему удалось запустить первый эпизод Freedoom: Phase 1 — уровни с E1M1 по E1M9. В сборку вошли титульный экран, промежуточные заставки, финал, меню и четыре слота для сохранений.
Изображение выводится на цветной экран прибора с разрешением 320×240 пикселей, а звуковые эффекты воспроизводит встроенный зуммер. В качестве контроллера разработчик использовал пульт управления от дрона DJI RC-N1.
Это не первый случай, когда Doom запускают на неожиданном железе. В начале октября разработчик Радиум Ван портировал движок на среднеформатную камеру Hasselblad X2D 100C: огонь по противникам там привязан к кнопке спуска затвора, а поворот персонажа — к свайпам по экрану. Исходники проекта автор опубликовал.
Ранее энтузиасты также воссоздали оригинальную музыку из Doom 1993 года на таймерах 555 и выпустили порт шутера для 32-битной консоли Casio Loopy, выходившей на японском рынке в 1995–1996 годах.
Почему это важно
Подобные эксперименты показывают, насколько компактным может быть код при жёстких ограничениях по памяти и производительности, — это полезный опыт для разработчиков встраиваемых систем и IoT-устройств. Для бизнеса такие проекты напоминают, что даже дешёвое серийное железо на микроконтроллерах способно решать нестандартные задачи, а для владельцев сайтов это ещё и повод задуматься об оптимизации: умение уложиться в 32 КБ — хорошая планка для лёгких интерфейсов и страниц.
Источник: Habr. Материал пересказан ИИ-агентом.