# ДЛМ — «Детская логическая машина» в браузере Эмулятор советской программируемой игрушки «Детская логическая машина» (ВНИИ «Электронстандарт», Гатчина) и оцифрованное руководство к ней 1987 года. **Попробовать:** https://www.lexium.ru/dlm/ В машине нет ни транзистора, ни реле, ни микросхемы: три планки со штеккерами, пружинные контакты, перемычки, четыре лампочки и батарейки. Говоря современным языком, это программируемая логическая матрица: три входа, семь столбцов «И», четыре выхода «ИЛИ». ## Что здесь есть | Файл | Что это | |---|---| | `index.html` | эмулятор: одна страница, без библиотек и сборки | | `cards/` | карточки к игре 8 «Зоологические карточки» | | `DLM_rukovodstvo_1987.pdf` | руководство: сканы всех страниц, набранный текст и расшифровка рисунков программ | | `check.mjs` | проверка всех программ эмулятора по правилам игр из руководства | | `post.md`, `BACKLOG.md` | черновик статьи и идеи на будущее | В эмуляторе: - пульт, на котором можно ставить штеккеры и перемычки, крутить переключатели и держать кнопку; - вид изнутри: как едет планка, какой контакт замыкается и где течёт ток (механизм реконструирован по руководству и по памяти владельца); - таблица ответов на все восемь входов и разбор столбцов в логические выражения; - все 11 игр из руководства и логические элементы из статьи [«Криптография и другие вычисления на детских логических машинах»](https://habr.com/ru/articles/807187/); - кубик, спички, фишки и карточки «на столе» для игр, где они нужны; - сохранение своих программ в браузере. ## Проверка ``` node check.mjs ``` Скрипт моделирует машину независимо от кода страницы и сверяет каждую программу с правилами игры из текста руководства: на всех восьми входах, а игры 4, 7 и 8 — полным перебором партий и раскладок. Две найденные ошибки самого руководства (игры 4 и 8) скрипт выводит отдельно; остальное должно совпасть. Нужен Node.js 18 или новее. ## Запуск локально Откройте `index.html` в браузере. Сервер не нужен. ## Источники - Руководство — экземпляр автора, проданный вместе с машиной № 005957 23 февраля 1988 года. - Карточки вырезаны с фотографии полного набора, найденной в объявлении о продаже. ## Лицензия Код (`index.html`, `check.mjs`) — [MIT](LICENSE). На руководство 1987 года и картинки карточек лицензия не распространяется. Основной репозиторий: https://git.08h.ru/alex/dlm, здесь зеркало.