Энтузиаст воссоздал оригинальную музыку из DOOM 1993 года, используя только таймеры 555. Он смог проиграть вступительный трек.
Схема начинается с таймера 555, который действует как системный тактовый генератор с частотой чуть более 7 Гц. Он генерирует новый тактовый импульс примерно каждые 136 миллисекунд. Подстроечный потенциометр в цепи синхронизации позволяет точно настроить тактовую частоту. Тактовый выход поступает непосредственно на 74LS161N, четырёхразрядный синхронный двоичный счётчик. Каждый тактовый импульс увеличивает счётчик на единицу.
Счётчик, который, в свою очередь, подаёт сигнал на декодер, обеспечивая схеме 15 позиций. Каждый выход декодера поступает на матрицу диодов, которая хранит информацию о том, какую высоту звука должна воспроизводить схема. Схеме следует воспроизводить только шесть высот звука, поэтому диоды эффективно связывают каждый момент времени с одной из этих шести нот. Затем она подаёт сигнал на набор переключателей, которые выбирают различные резисторные цепи другого микроконтроллера 555, отвечающего за воспроизведение звука. Резисторные цепи имеют разные значения для регулировки синхронизации 555 и получения разных высот тона.
В целом, практически любой микроконтроллер можно легко запрограммировать на воспроизведение этой мелодии, однако данный проект даёт представление о цифровой логике.
Между тем разработчик Нильс Ленхеер представил открытый проект под названием cssDoom. Это реализация игры, использующая для отрисовки графики только CSS, без применения элемента canvas и технологии WebGL. Игровая логика написана на языке JavaScript. В проекте используется в качестве эталона оригинальный код игры Doom, открытый компанией id Software.
ссылка на оригинал статьи https://habr.com/ru/articles/1076506/