![](https://habrastorage.org/webt/wu/ft/tn/wufttncel7gmkba7tqplysrete0.jpeg)
Энтузиасты сделали на базе микроконтроллера Arduino Nano ESP32 (частота ЦП до 240 МГц, 512 КБ SRAM, 384 КБ ROM и 16 КБ RTC SRAM) портативную игровую приставку с 2,8" экраном (TFT-дисплей Adafruit), кнопками (двойная кнопка Seeed Grove) и стиком (M5Stack), на которой запускается оригинальная версия DOOM 1993 года выпуска.
![](https://habrastorage.org/webt/ls/n2/u3/lsn2u3akzrbckd9vfxkwbq7r0kw.jpeg)
Основная цель этого проекта — продемонстрировать возможность запуска DOOM на микроконтроллере с ограниченными ресурсами и возможностями, а также показать хороший уровень производительности в игре.
В проекте использовался открытый фреймворк разработки IoT ESP-IDF (Espressif IoT Development Framework).
Оригинальная игра DOOM требовала как минимум 4 МБ ОЗУ и 20 МБ дискового пространства, что намного больше, чем типичные характеристики микроконтроллера. Для портирования игры необходимы некоторые методы сжатия и оптимизации, чтобы поместить игровые данные и код во флэш-память и ОЗУ микроконтроллера, а также некоторые модификации и адаптации, чтобы игровой движок работал на другой платформе и архитектуре, например на ESP32.
Исследователи пояснили, что для запуска DOOM на ESP32 они решили использовать Retro-Go, прошивку с открытым исходным кодом, которая позволяет играть в ретро-игры на MCU на базе ESP32. Хотя эта прошивка не поддерживает напрямую Arduino Nano ESP32, её гибкость и настраиваемость позволили портировать проект на другие микроконтроллеры на базе ESP32.
![](https://habrastorage.org/webt/c6/1i/p9/c61ip96n0vjtnrzmkejmeib8az8.png)
Элементы консоли.
![](https://habrastorage.org/webt/il/8m/af/il8mafhpcxj6bikjhm5j2h7rppc.jpeg)
Схема устройства.
![](https://habrastorage.org/webt/n-/lu/qa/n-luqa4mf532kyamrp2evpevso0.jpeg)
![](https://habrastorage.org/webt/nq/kn/o1/nqkno1hhlewwo0-_c7algy3vjg4.jpeg)
![](https://habrastorage.org/webt/la/sg/gz/lasggz1rkh0bpyswpgwhkf3v9dk.jpeg)
В итоге получилось, что на этом необычном гаджете можно комфортно играть в DOOM со средним FPS 34 кадра в секунду и разрешением 320x240 пикселей.
«У нас получилось компактное, лёгкое и удобное в использовании устройство. Оно также имеет ретро-ностальгическую привлекательность, поскольку воссоздаёт оригинальный DOOM на современном оборудовании», — пояснили разработчики проекта.
![](https://habrastorage.org/webt/qc/bl/4v/qcbl4v89hli962hqoe0ucfmjnio.gif)