Энтузиасты сделали на базе микроконтроллера Arduino Nano ESP32 (частота ЦП до 240 МГц, 512 КБ SRAM, 384 КБ ROM и 16 КБ RTC SRAM) портативную игровую приставку с 2,8" экраном (TFT-дисплей Adafruit), кнопками (двойная кнопка Seeed Grove) и стиком (M5Stack), на которой запускается оригинальная версия DOOM 1993 года выпуска.
Основная цель этого проекта — продемонстрировать возможность запуска DOOM на микроконтроллере с ограниченными ресурсами и возможностями, а также показать хороший уровень производительности в игре.
В проекте использовался открытый фреймворк разработки IoT ESP-IDF (Espressif IoT Development Framework).
Оригинальная игра DOOM требовала как минимум 4 МБ ОЗУ и 20 МБ дискового пространства, что намного больше, чем типичные характеристики микроконтроллера. Для портирования игры необходимы некоторые методы сжатия и оптимизации, чтобы поместить игровые данные и код во флэш-память и ОЗУ микроконтроллера, а также необходимы некоторые модификации и адаптации, чтобы игровой движок работал на другой платформе и архитектуре, например на ESP32.
Исследователи пояснили, что для запуска DOOM на ESP32 они решили использовать Retro-Go, прошивку с открытым исходным кодом, которая позволяет играть в ретро-игры на MCU на базе ESP32. Хотя эта прошивка не поддерживает напрямую Arduino Nano ESP32, её гибкость и настраиваемость позволили портировать проект на другие микроконтроллеры на базе ESP32.
Элементы консоли.
Схема устройства.
В итоге получилось, что на этом необычном гаджете можно комфортно играть в DOOM со средним FPS 34 кадра в секунду и разрешением 320x240 пикселей.
«У нас получилось компактное, лёгкое и удобное в использовании устройство. Оно также имеет ретро-ностальгическую привлекательность, поскольку воссоздаёт оригинальный DOOM на современном оборудовании», — пояснили разработчики проекта.
Источник новости: habr.com