Запускаем DOOM на лампочке +30



image

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

Пришло время для лампочек.

imageВнутри лампочки TRADFRI 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.


image

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

image

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

image

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

image

Принципиальная схема

image

Блок питания

image

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

image

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

image

Клавиатура

image

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

image

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

image

Фичи проекта:

  • Основан на прекрасном 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



Паяльник



P.S.


Как тебе такое, AlexeyNadezhin?

zhovner, ждём DOOM на FlipperZero.

image




Комментарии (26):

  1. C_21
    /#23148098 / -1

    Эх бы так игры современные оптимизировали, что бы на встройке веговской гонять!

    удивлен
    Процессор и память в лампочке, а потом мы удивляемся дефициту чипов.

    • agat000
      /#23149340

      Даже в одноразовой электронной сигарете есть проц. ДООМ на нем не пойдет конечно… Наверное.

  2. AntonSor
    /#23148212

    Интересно, а эта микруха как по сравнению с известной ESP8266?

    • VioletGiraffe
      /#23148614

      Ну частота у 8266 повыше, памяти 80 КБ.
      Проще всего на ESP32, там что-то около 320 КБ ОЗУ и аппаратный FPU. У запроса «ESP32 Doom» много результатов, для 8266 почти нет. Выглядит как челлендж для фанатов 8266 :)

    • wigneddoom
      /#23149632

      Так документация есть. Там Zigbee, Thread и Bluetooth + очень энергоэффективный MCU.

    • mrbaranovskyi
      /#23151702

      Я не знаю всех фишек этой лампочки, но М4, мне кажется, немного перебор. Вероятно там еще есть вебсервер, который ведет инстаграм это лампочки.

  3. SDKiller
    /#23148266

    Как тебе такое, AlexeyNadezhin?

    Видимо, ему придется в обзоры ламп добавить еще один пункт "возможность играть в дум"

  4. paulstrong
    /#23148410

    вот это да! респект!

  5. DmitryLTL
    /#23148448

    Пора уже сделать аттракцион doom в реальной жизне.

    Очередь туда будет гарантированна.

    • DmitriyYurin
      /#23148802

      Вспомните или почитайте (если не читали) "Лабиринт отражений" Лукьяненко - там как раз по подобию Дума были устроены соревнования по прохождению на скорость.

  6. Andy_Big
    /#23148468

    Найдите готовое устройство, не предназначенное для игры в Doom или в другие игры.

    … выдерните из него контроллер, припаяйте к нему память, дисплей, клавиатуру. Правда, непонятно тогда почему надо найти именно готовое устройство :)

  7. Gaikotsu
    /#23148692

    В случае с тестом на беременность же писали что можно с большой натяжкой считать что именно на железе теста дум запустили, т.к. для запуска использовался сторонний контроллер.

    habr.com/ru/company/pixonic/blog/518142

  8. axe_chita
    /#23149416

    Doom на калькуляторе больше похож на Wolf3d, чем на Doom :)

    • dlinyj
      /#23150122 / +3

      Потому, что это не DOOM.

      • axe_chita
        /#23152432

        так это и видно
        Кстати забыли о Doom на Pico-8

  9. /#23149948 / +2

    Стахановец переводов снова на Хабре.

    Скажите, пожалуйста, а копипаст разрешен разве? Этот пост был на dtf опубликован раньше, чем на Хабре. Вы сразу на два фронта работаете?

    dtf.ru/hard/765107-zapuskaem-doom-na-lampochke — похоже, вы и там и тут.

    Кроме того, этот пост — не перевод, оригинальный пост — это не скопище фоточек, а солиднейшая статья с техническим наполнением.

    Скажите, пожалуйста, сколько еще вы будете свою халтуру публиковать, нарушая множество правил Хабра одновременно?

    Кстати, в позорном посте, который вы скрыли в прошлый раз, вы обещали «скрыть всю ветку комментариев». Оказалось, никакого отношения к администрации вы не имеете. Это пустое бахвальство было? Похвально.

    • dlinyj
      /#23150088 / +5

      Boomburum, на хабре разрешён откровенный плагиат и репост? Это уже прям совсем какой-то бардак.

      • /#23150160 / +5

        Это не плагиат, а прямой копипаст. Этот халтурщик сначала запостил свою новость на дтф (посмотрите на ник там, на иконку), а потом — сюда. Ну а что, деньги не пахнут.

        В прошлой такой же халтуре он обещал удалить всю ветку обсуждения, когда подняли вопрос о качестве материала. Вот эту ветку я уже заскринил, поскольку совсем ни в какие ворота.

        Ну а если решит с дтф удалить — не получится, уже заскринил и тот пост, с датой публикации, и этот.



        • pragmatik
          /#23151092

          Запрет на репосты собственных материалов с других ресурсов был исключен из правил Хабра еще в начале 2019 года.
          Пожалуйста, не забывайте соблюдать правило запрещающее публикацию громоздких изображений. Их следует прятать под спойлер.

    • Boomburum
      /#23151754

      Как уже написал мой коллега, кросс-посты на Хабре допустимы — в данном случае, пост был сначала опубликован на dtf этим же автором (но ссылка на оригинал статьи не работает, кстати). Что, в прочем, не отменяет остальных претензий к политике ведения блога…

  10. dlinyj
    /#23150120 / +4

    Важно отметить, что на калькуляторе в этой статье не DOOM, это какой-то экшен, похожий на него.

    image

    И на тесте на беременность — это фейк.

  11. bolk
    /#23150138

    del

  12. daniemilk
    /#23152702 / +1

    Хаха, я сначала пролистал и подумал что на флиппере уже тоже запустили Doom, а оказалось шутка((