[Разработка игр, Компьютерное железо, Научно-популярное, DIY или Сделай сам] Запускаем DOOM на лампочке (перевод)

Автор Сообщение
news_bot ®

Стаж: 6 лет 2 месяца
Сообщений: 27286

Создавать темы news_bot ® написал(а)
14-Июн-2021 19:31

В DOOM уже поиграли на пианино и на клавиатуре, на тесте на беременность (кстати, это был фейк) и на паяльнике, на самолёте, банкомате, принтере и осциллографе.
Пришло время для лампочек.

Внутри лампочки TRÅDFRI RGB GU10 (IKEA model: LED1923R5) хакеры из Next-Hack нашли модуль Silicon lab's MGM210L RF module с 108кб оперативки и запустили на нем DOOM. Исследователям-хакерам пришлось попотеть над оптимизацией использования оперативки, потому что оригинальный DOOM требует 4мб, но они смогли.
Модуль имеет только 1 МБ внутренней флэш-памяти, поэтому умельцы добавили внешнюю флэш-память SPI для хранения файла WAD, который можно загрузить с помощью YMODEM. Процессор у лампочки 40-MHz Cortex M4.
Извините, данный ресурс не поддреживается. :(

Лампочка в разборе

Дисплей: 1.8” TFT 160×128 SPI

Блок-схема железа

Схема токов

Блок питания

Прототип платы

Несущая плата

Клавиатура

Микроконтроллер, усановленный на несущую плату.

Система в сборе.

Фичи проекта:
  • Основан на прекрасном Doomhack's GBA Doom Port с некоторыми дополнениями Kippykip.
  • Поддерживает полную версию Doom Shareware WADS.
  • Полный движок Vanilla Render, включая Z-depth lighting. Однако составные текстуры имеют MIP-карту.
  • Реализовано поведение монстров и распространение звука.
  • Поддержка Sound FX.

Ограничения проекта:
  • Музыка.
  • Воспроизведение демо из-за несовместимости.
  • Полный WAD DOOM Не тестировал.
  • Требуется отладка.
  • Мультиплеер не реализован.
  • Оптимизация производительности.
  • Читы не проверяли, наверно с багами.

Инженеры недавно сделали обновление в репозитории Github и удалили mip-отображение на составных текстурах без потери производительности, поэтому графика будет более детальной, чем то, что показано в демонстрационном видео.
Условия DOOM-challenge:
  • Найдите готовое устройство, не предназначенное для игры в Doom или в другие игры.
  • Выбранное устройство должно иметь микроконтроллер с разумно ограниченной вычислительной мощностью и/или памятью в соответствии с минимальными требованиями DOOM (DOOM работает с приемлемой частотой кадров даже на 486 @ 33MHz [1], оборудованном 4MB RAM). В качестве примера мы должны исключить современные цифровые камеры, которые имеют систему на несколько сотен МГц на кристалле, с несколькими десятками мегабайт оперативной памяти.
  • Мы должны использовать именно тот микроконтроллер, который встроен в выбранное устройство. Замена невозможна. Никакого дополнительного микроконтроллера добавить нельзя. Тем не менее, разгон (например, даже если он ограничен только некоторыми периферийными устройствами или шинами) возможен при условии, что нам не нужны какие-либо методы охлаждения.
  • Для хранения файлов WAD можно добавить дополнительную флеш-память или карту памяти.
  • Можно добавить цветной дисплей, если на выбранном стандартном устройстве его нет. Разрешение должно быть достаточно высоким, чтобы можно было прилично играть в Doom. Например, экран 32×16 пикселей слишком мал, но 128x64 может быть достаточно. С другой стороны, слишком большие разрешения, безусловно, потребуют очень мощного микроконтроллера, вопреки правилу 2.
  • Устройство ввода может быть любым, поэтому для этой цели можно добавить дополнительную электронику.
  • При необходимости блок питания можно заменить.
  • Мы хотели, чтобы движок был максимально приближен к исходному (ванильному) условно-бесплатному ПО Doom. Возможность играть в эпизоде ​​1 на карте 1 условно-бесплатной игры Doom (E1M1) — это минимальная цель, даже если мы не скрываем, что мы мечтали иметь возможность сыграть полную условно-бесплатную версию без ограничений на всех картах.
  • К звуку требований нет, но звуковые эффекты были бы действительно плюсом. Если реализовано, то на аудиоподсистему ограничений нет.
  • Мультиплеер не обязателен

Тест на беременность
Извините, данный ресурс не поддреживается. :(
Принтер Canon Proxima
Извините, данный ресурс не поддреживается. :(
Осциллограф
Извините, данный ресурс не поддреживается. :(
Банкомат
Извините, данный ресурс не поддреживается. :(
DOOM в DOOM
Извините, данный ресурс не поддреживается. :(
Пианино
Извините, данный ресурс не поддреживается. :(
Minecraft
Извините, данный ресурс не поддреживается. :(
Валидатор билетов
Извините, данный ресурс не поддреживается. :(
iPod Mini
Извините, данный ресурс не поддреживается. :(
Калькулятор
Извините, данный ресурс не поддреживается. :(
Apple Watch
Извините, данный ресурс не поддреживается. :(
MacBook Pro Touch Bar
Извините, данный ресурс не поддреживается. :(
Kodak DC260 Digital Camera from 1998
Извините, данный ресурс не поддреживается. :(
На клавиатуре
Извините, данный ресурс не поддреживается. :(
На билборде
Извините, данный ресурс не поддреживается. :(
На электронной книге
Извините, данный ресурс не поддреживается. :(
На самолёте
Извините, данный ресурс не поддреживается. :(
Porsche 911
Извините, данный ресурс не поддреживается. :(
Vectrex
Извините, данный ресурс не поддреживается. :(
Паяльник
Извините, данный ресурс не поддреживается. :(
PS
Как тебе такое, AlexeyNadezhin?
zhovner, ждём DOOM на FlipperZero.

===========
Источник:
habr.com
===========

===========
Автор оригинала: next-hack
===========
Похожие новости: Теги для поиска: #_razrabotka_igr (Разработка игр), #_kompjuternoe_zhelezo (Компьютерное железо), #_nauchnopopuljarnoe (Научно-популярное), #_diy_ili_sdelaj_sam (DIY или Сделай сам), #_doom, #_lampochka (лампочка), #_blog_kompanii_maklaud (
Блог компании Маклауд
)
, #_razrabotka_igr (
Разработка игр
)
, #_kompjuternoe_zhelezo (
Компьютерное железо
)
, #_nauchnopopuljarnoe (
Научно-популярное
)
, #_diy_ili_sdelaj_sam (
DIY или Сделай сам
)
Профиль  ЛС 
Показать сообщения:     

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

Текущее время: 20-Апр 11:14
Часовой пояс: UTC + 5