Files
dlm/README.md
T

4.3 KiB
Raw Blame History

ДЛМ — «Детская логическая машина» в браузере

Эмулятор советской программируемой игрушки «Детская логическая машина» (ВНИИ «Электронстандарт», Гатчина) и оцифрованное руководство к ней 1987 года.

Попробовать: https://www.lexium.ru/dlm/

Статья на Хабре: «Компьютер из пластмассы и пружинок: оцифровал руководство к „Детской логической машине“ 1987 года и нашёл в нём ошибки» — история машины, как устроена оцифровка и разбор двух ошибок руководства.

В машине нет ни транзистора, ни реле, ни микросхемы: три планки со штеккерами, пружинные контакты, перемычки, четыре лампочки и батарейки. Говоря современным языком, это программируемая логическая матрица: три входа, семь столбцов «И», четыре выхода «ИЛИ».

Что здесь есть

Файл Что это
index.html эмулятор: одна страница, без библиотек и сборки
cards/ карточки к игре 8 «Зоологические карточки»
DLM_rukovodstvo_1987.pdf руководство: сканы всех страниц, набранный текст и расшифровка рисунков программ
check.mjs проверка всех программ эмулятора по правилам игр из руководства
post.md, BACKLOG.md черновик статьи и идеи на будущее

В эмуляторе:

  • пульт, на котором можно ставить штеккеры и перемычки, крутить переключатели и держать кнопку;
  • вид изнутри: как едет планка, какой контакт замыкается и где течёт ток (механизм реконструирован по руководству и по памяти владельца);
  • таблица ответов на все восемь входов и разбор столбцов в логические выражения;
  • все 11 игр из руководства и логические элементы из статьи «Криптография и другие вычисления на детских логических машинах»;
  • кубик, спички, фишки и карточки «на столе» для игр, где они нужны;
  • сохранение своих программ в браузере.

Проверка

node check.mjs

Скрипт моделирует машину независимо от кода страницы и сверяет каждую программу с правилами игры из текста руководства: на всех восьми входах, а игры 4, 7 и 8 — полным перебором партий и раскладок. Две найденные ошибки самого руководства (игры 4 и 8) скрипт выводит отдельно; остальное должно совпасть. Нужен Node.js 18 или новее.

Запуск локально

Откройте index.html в браузере. Сервер не нужен.

Источники

  • Руководство — экземпляр автора, проданный вместе с машиной № 005957 23 февраля 1988 года.
  • Карточки вырезаны с фотографии полного набора, найденной в объявлении о продаже.

Лицензия

Код (index.html, check.mjs) — MIT. На руководство 1987 года и картинки карточек лицензия не распространяется.

Основной репозиторий: https://git.08h.ru/alex/dlm, здесь зеркало.