Welcome to U.A.C.
login / register 
Status: Guest
Архивы форума | iddqd.ru
Wolf 3D
ПравилаПравила ПоискПоиск
18+
Doom на микроконтроллерах
   Список разделов - Портативный / приставочный Doom - Doom на микроконтроллерахОтветить
АвторСообщение
raspad
Marine 1st class
Next rank: - UAC Gunner - after 4 points
36

Doom Rate: 2

Posts quality: +21
Ссылка на пост №1 Отправлено: 25.10.26 07:58:35
Разработчик Artur Bieniek портировал Doom на токо-измерительные клещи FNIRSI DMC-100 с микроконтроллером Artery AT32F415 (Cortex-M4, 150 МГц) имеющий 32 КБ оперативной памяти, графика выводится на дисплей с разрешением 320x240 px. На таком железе Doom выдает 29 фпс, для прохождения доступны уровни E1M1 - E1M9.
[git проекта]
[видео]
(Видео не самое информативное, на гите есть гифка достаточная для оценки)

Этот же порт запустили на вейпе с микроконтроллером Puya PY32F403xC (Cortex-M4F, 144 МГц), RAM 64 КБ при разрешении дисплея 173x323 px.
[git проекта]
[видео]

Не смотря на то что этот порт в большей степени техническая демонстрация, он может стать основой для выпуска брелоков с Doom'ом.

Рейтинг сообщения: +4, отметил(и): klerk, VladGuardian, JSO x, BKRItal
klerk
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 40 points
1400

Doom Rate: 1.12

Posts quality: +1127
Ссылка на пост №2 Отправлено: 25.10.26 22:03:02
Ребятам, которые продолжают портирование, конечно респект. Но для брелоков, по крайней мере в нашем регионе, куда доступнее ESP32, он и мощнее, и содержит в себе уже почти всё что надо. И такие проекты были ещё до портирования на клещи с мультиметрами.

https://habr.com/ru/articles/1042888/

Вообще портативки на ESP32 - это уже классика, народ на ней всё подряд пилит. Это не то чтобы универсальная основа для всего что можно сделать, но так скажем, наиболее компромиссный выбор. И в этой линейке достаточно много вариантов, тот что в статье - на отладочной плате Wrover, вроде бы с версией на 240 МГц (мощнее многих других контроллеров). Я таким пока не занимаюсь, но в продаже есть куча вариантов уже распаянных плат с ESP32 в пределах 1000 р., кроме того есть уже и с экраном - в пределах 1500-1800 р. Главное не лохануться и взять именно полную версию, а не урезанную какую-нибудь пико, ибо вариантов чипа уже десятки.

Помочь с проектом и прошивкой может любая адекватная нейросеть. А ещё есть программа FreeDC, которая поддерживает кучу периферии и может собрать прошивку в визуальном режиме (хоть Doom под контроллер собрать и не сможет, но для более простых поделок может быть лучшим выбором, вдруг кто-то хочет стилизованные под Doom часы с термометром или панель управления поливом, или что-то ещё в этом роде)
https://vk.ru/club217159242
https://github.com/anthonyalekseev17-dev/FreeDC/

Рейтинг сообщения: +2, отметил(и): VladGuardian, raspad
1 11
raspad
Marine 1st class
Next rank: - UAC Gunner - after 4 points
36

Doom Rate: 2

Posts quality: +21
Ссылка на пост №3 Отправлено: 26.10.26 19:24:51
klerk пишет:
Но для брелоков, по крайней мере в нашем регионе, куда доступнее ESP32, он и мощнее, и содержит в себе уже почти всё что надо.

Есть вполне распространенный raspberry pi pico 2040 || 2350. Да и stm32, gd32 не такая уж редкость. Но это все равно больше технической курьёз, интересный тем как заставить работать Doom на 32 КБ ОЗУ и организовать вывод графики без фреймбуфера.

klerk пишет:
Вообще портативки на ESP32 - это уже классика, народ на ней всё подряд пилит.

ESP32 действительно ультимативный выбор - недорогая, мощная и с приличным объёмом ОЗУ, ПЗУ.

У меня есть самосборная консоль на esp32-wrover-e N16R8 и могу сказать, что сложнее всего сделать удобную и компактную клавиатуру. Моя консоль пылиться уже несколько лет в ожидании музы, которая навеет, как лучше оформить сборку клавиатуры, корпуса. К тому же не смотря на мощность, Doom отрисовывается с явным чересстрочным эффектом (т.е. каждый кадр отрисовываются то четные, то нечетные столбцы). Возможно, это проблема старой прошивки или недостаточно быстрого дисплея. Так же как понимаю это только классический Doom 1/2, без каких либо даже простых модов (кроме возможно дехака).
Как итог консоль на ESP32 это больше об играх c NES и SEGA, а Doom присутствует по остаточному признаку.

Рейтинг сообщения: +1, отметил(и): klerk
klerk
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 40 points
1400

Doom Rate: 1.12

Posts quality: +1127
Ссылка на пост №4 Отправлено: 30.10.26 03:52:07
raspad пишет:
Но это все равно больше технической курьёз, интересный тем как заставить работать Doom на 32 КБ ОЗУ


В наше время делают рейкастеры и для Спектрума с Коммодором, хоть там и не полноценный Doom. Но память там как раз измеряется тоже килобайтами, а учитывая, что частоты контроллеров и их памяти превосходят исторические компы минимум в десятки раз, магия становится понятна даже человеку далёкому от подобного. Это если вообще не вдаваться в подробности. Но плавность работы конечно топ, это я тоже не ожидал. Хорошо идёт, думал хуже будет.

Рейтинг сообщения: +1, отметил(и): raspad
1 11
raspad
Marine 1st class
Next rank: - UAC Gunner - after 4 points
36

Doom Rate: 2

Posts quality: +21
Ссылка на пост №5 Отправлено: 31.10.26 19:38:50
klerk пишет:
В наше время делают рейкастеры и для Спектрума с Коммодором, хоть там и не полноценный Doom.

Это не мудрено рейкастинг быстрый и нетребовательный к вычислительным ресурсам алгоритм. Его можно запустить на ATmega328P с 2КБ оперативы (doom-nano)
Меня больше впечатляет, что для спектрума есть игра BORSCH на полигональном движке.
Вот видео ее цветной версия, на разогнанном спектруме: Borsch - Quake for ZX Spectrum (2023)

klerk пишет:
Но память там как раз измеряется тоже килобайтами, а учитывая, что частоты контроллеров и их памяти превосходят исторические компы минимум в десятки раз, магия становится понятна даже человеку далёкому от подобного. Это если вообще не вдаваться в подробности.

По моему мнению, магия, в том, что научились жонглировать данными (подгружая их с флэшки) успевая при этом обрабатывать нажатие кнопок, события в игре и быстро отрисовывать кадр - ограничиваясь парой десятков КБ оперативы, там где раньше требовалось пару МБ. Конечно, в этом помогает высокая тактовая частота, скорость работы с экраном и флэшкой, но и без хитрых алгоритмов которые всем этим оперируют - явно не обойтись.
Страница 1 из 1Перейти наверх
   Список разделов - Портативный / приставочный Doom - Doom на микроконтроллерах