Компьютер из пластмассы и пружинок: оцифровал руководство к «Детской логической машине» 1987 года и нашёл в нём ошибки

В феврале 1988 года мне, десятилетнему, купили «Детскую логическую машину». Хотя на коробке указан возраст: от 13 до 15 лет. В ней нет ни транзисторов, ни реле, ни микросхем, а только пластмассовые планки, штеккеры, пружинные контакты и четыре лампочки. И конечно батарейки.
При этом её можно программировать. Времена были такие, и мы кодили на чём могли.
Машина до нашего времени не дожила, поскольку в те годы я не только программировал, но и тестировал. Причём тестировал не всегда именно код. Да все так делали. А вот брошюра сохранилась в пыльных закромах антресолей, как напоминание о моих первых экспериментах в машинную логику.
Полного текста этого руководства на просторах интернета (где по определению есть вообще всё) не обнаружилось ни мною, ни помощниками, ни шибко умными нейросетями. Видимо, день такой. Ищутся фото коробок, пара страниц инструкции в разных статьях, но не сам документ. Возможно, ДЛМ не снискала популярности или мало кто успел подержать её в руках и поклацать переключателями, любуясь на лампочки за цветными стёклышками, или это какой-то неизвестный мне заговор?
В общем, дело было вечером, делать было нечего. Так что коробку вытащил, пыль сдул, поднял старенький сканер обрядом некромантии, да и занялся оцифровкой. Это было долго, но вайбово. Не рекомендую. Текст набрал заново, а по рисункам программ сделал эмулятор в браузере и проверил все программы перебором.
Ну а что? Эмуляторы японских консолей в ассортименте, а вот чтобы наше советское, из пластика и лампочек - нету. Непорадок!
Если читать некоторые вещи вдумчиво, а не глотать словно так и надо, то можно обнаружить забавные вещи. Например, лопатя инструкцию и гоняя тесты увидел, что в одной игре программа из инструкции сделана с ошибкой. В другой - машину можно легко обыграть, и перебор показывает, где именно.
Это, к слову, не первый случай, когда информация из советской технической литературы для любителей оказывалась, мягко говоря, несколько недоработанной. Говорю за любительскую, поскольку не имел возможности потестить профессиональную или не дай Бог секретную. Да что там я? Сравнительно недавно Даня Крастер в ролике «Как такие самоделки делали в СССР?!» собрал по инструкции из советского журнала дрель-газонокосилку и обнаружил, что в тексте и схемах нет ни размеров, ни последовательности сборки, а детали в конечном продукте вообще не сошлись. Наверное, нужно было как в том анекдоте про секретные схемы истребителя, из которых получался паровоз, внимательнее читать и не пропускать пометку "после сборки хорошенько доработать напильником".
Что это за логическая машина, да ещё и детская?
ДЛМ выпускал ВНИИ «Электронстандарт» что в славном городе Гатчине. По паспорту коробка весит 0,7 кг, само устройство питается от трёх элементов А-332 (кто застал - ставьте лайк), потребляет 200 мА, и одного комплекта батареек хватает не меньше чем на 80 часов. В комплект входили 30 пластиковых штеккеров-штырей, 7 перемычек-проволочек, кубик игральный, три круглые фишки и 12 карточек: птицы (голубь, гусь, дятел, филин), звери (олень, лиса, белка, кабан) и насекомые (кузнечик, бабочка, стрекоза, жук-олень).
Найти эти карточки было отдельным квестом. Похоже, большинство их теряло почти сразу после покупки. А были бы карты, да по мастям, да членами политбюро, глядишь и дожили бы до наших дней в альбомах коллекционеров. Но не сложилось.

На панели:
четыре лампы V, X, Y, Z с «весами» 8, 4, 2, 1 — это устройство вывода, где ответ читается как двоичное число от 0 до 15;
три красные планки по 14 гнёзд, или семь столбцов по два гнезда;
три поворотных переключателя А, Б, В с «весами» 4, 2, 1 — это ввод, число от 0 до 7;
пружинные контакты у ламп и у столбцов, их соединяют проволочными перемычками;
кнопка: пока её держишь, лампы показывают ответ.
Как она считает
В 2024 году на Хабре уже выходила отличная статья «Криптография и другие вычисления на детских логических машинах». Там автор разобрался в логике машины и собрал на ней НЕ, И-НЕ, исключающее ИЛИ, сумматор и даже RS-триггер из двух машин. Пройдусь коротко, для тех, кто не читал.
Переключатель сдвигает свою планку: в положении «1» вправо, в «0» влево. В среднем положении все цепи разомкнуты, и инструкция требует ставить штеккеры только в нём, иначе можно сломать контакты. Никакой защиты от дурака. Под каждым столбцом, под каждой планкой, стоит гибкий упругий контакт. Штеккер в левом гнезде сдвигает его и замыкает цепь при «1», в правом — при «0», если оба - в любом положении, пустые гнёзда не замыкают цепь никогда.
Три контакта каждого столбца в цепи идут подряд, это И. Перемычки собирают несколько столбцов на одну лампу, это ИЛИ. Получается, что машина одновременно вычисляет семь выражений вида А·¬Б·В и складывает их по ИЛИ на четыре выхода. По сути это программируемая логическая матрица 3×7×4, собранная из пластика и контактов.
Программа — это расстановка штеккеров и перемычек. В руководстве к каждой игре есть рисунок, где показано, что и куда расставлять. Чёрный кружочек — штеккер, белый — пустое гнездо, волнистая линия — перемычка.

Руководство
Брошюра с инструкцией на 32 страницы, сдана в набор 17 февраля 1987 года и распространялась в комплекте с игрушкой. Ответственный редактор — Г. С. Стерин (если кому интересно). Самое интересное - на последней странице, где свидетельство о приёмке. Мой экземпляр сопровождал машину № 005957, которую ОТК принял в декабре 1987 года.
Кроме описания устройства, в брошюре есть вводный курс двоичной системы и одиннадцать игр:
Какое число задумано? Три вопроса, и машина называет число от 0 до 7. Вопросы хитрые: «К задуманному числу прибавьте 10 и разделите на 6. Остаток 4 или 5?»
Честные и лгуны. Классическая задача про жителей, которые всегда говорят правду или всегда лгут.
Сумма трёх чисел. Фокус с кубиком, который держится на том, что противоположные грани в сумме дают 7.
Двенадцать — выигрыш! Игра против машины с кубиком.
Какой предмет выбран? Машина по числу оставшихся спичек угадывает, кому какая фишка досталась.
ДЛМ превосходит себя! То же самое, но число спичек машине не сообщают.
Семь спичек. Выигрышная стратегия в игре на спичках.
Зоологические карточки. Предсказание, как разложатся карточки.
ДЛМ — экзаменатор. Вопросы по вычислительной технике. Один из неверных ответов звучит в духе эпохи: основные блоки вычислительной машины — «пульт управления, устройство считывания с перфокарт, магнитофон, печатающее устройство».
Ваш характер. Психологический тест из двенадцати вопросов. Машину перепрограммируют прямо по ходу теста.
Автоматическое управление лифтом. Дверь, мотор и направление движения.
PDF, который я собрал из сканов, состоит из двух частей: сканы всех страниц (для олдов) и набранный текст (для их нейронок). Отдельным приложением идёт расшифровка всех рисунков программ, чтобы эту древнюю машину можно было запрограммировать современной, не разглядывая мелкие кружочки робозрением.
Эмулятор

Эмулятор работает в браузере. Из себя представляет одну HTML-страницу без библиотек. На пульте (постарался показать, как выглядела ДЛМ сверху) можно ставить и снимать штеккеры, соединять пружинные контакты перемычками, поворачивать переключатели и клацать кнопку, для полной аутентичности. Справа нарисована схема машины. Там видно, как едет планка, какой штеккер какой контакт замыкает, по каким столбцам и перемычкам течёт ток. Ниже таблица ответов на все восемь входов, разбор каждого столбца в логическое выражение и сама глава из руководства для выбранной игры. Все одиннадцать игр и логические элементы из статьи на Хабре от 2024 года набираются одной кнопкой. Свою программу можно сохранить в браузере, если вдруг захотите поэкспериментировать и вам понравится результат.
Ограничения оригинальной машины соблюдены: штеккеров 30, перемычек 7, а если поставить штеккер при сдвинутой планке, эмулятор напишет, что так можно сломать машину. А нечего нарушать инструкцию!
Эмулятор делал совместно с Claude Opus 5.5: модель читала сканы, включая рисунки расстановки штеккеров (т.е. программы), и писала код, а я руководил, тестировал работу, искал недостающие материалы. В общем, контролировал и всячески помогал.
Кстати, тестирование "игр" оказалось самой забавной частью, но о ней ниже.
Оговорка про вид изнутри. Механизма в брошюре нет. Вот даже к телевизорам (на минуточку ламповым) принципиальную схему прилагали, а тут видимо решили, что всё и так нормально. А может бумагу экономили? Так что схему мы с нейросетью восстановили по брошюре и крохам моей памяти (признаюсь, моя версия ДЛМ сломалась вовсе не сама собой, а в ходе тестов на прочность и разбирабельность). Потом, правда, удалось найти снимок от одного продавца, где у ДЛМ было разломано дно и торчала часть контактов. Середину там закрывал батарейный отсек, но то, что видно, совпадает с реконструкцией: лампы сверху, вертикальные пластины между гнёздами. Хорошо! Будем считать, что деменции у меня нет. Если у вас есть ДЛМ и отвёртка, пришлите фото внутренностей. Но пожалуйста, очень аккуратно! Хочется посмотреть, как она устроена в подробностях.
Проверка: эмулятор против книги
Чтобы убедиться, что ни я, ни модель не накосячили, разглядывая кружочки на пожелтевших страницах инструкции, я сравнил эмулятор с книгой автоматически. Скрипт check.mjs загружает программы из эмулятора и прогоняет каждую на всех восьми входах. Машину он моделирует независимо от расположения штеккеров на рисунках. Правильный ответ подбирался исходя из правил игры в тексте:
Игра | Чем проверяется |
|---|---|
1, 9 | три вопроса игры 1 для каждого числа от 0 до 7; таблица комментариев экзаменатора |
2 | логика: все называют себя честными, значит, ответ y однозначно говорит, честен ли он сам |
3 | число на кубике + 7 |
5, 6 | все шесть способов раздать фишки и сколько спичек остаётся в каждом случае |
11 | дверь, мотор и направление лифта по условию |
4 | полный перебор партий с учётом ничьих |
7 | все партии против любого противника: машина должна выигрывать всегда, как обещает книга |
8 | все 34 650 раскладок карточек |
НЕ, И-НЕ, ИЛИ-НЕ, XOR, сумматор, шифр | таблицы истинности |
К сожалению, игру 10 нельзя проверить таким образом: в тексте нет полной таблицы ответов. Все "программы" совпали с инструкцией, включая все примеры, сказал бы я. Но нет, в двух местах обнаружились баги.
Рисунки программ я сверял дополнительно и особенно тщательно. Но нет, никакой ошибки. В инструкции штеккеры расположены так, как расположены. Есть и независимая проверка: на фотографии настоящей машины из статьи 2024 года набран сумматор, все три переключателя стоят на «1» и горят V и Z, то есть 1 + 1 + 1 = 11₂. Эмулятор на той же программе зажигает те же лампы.
Баг 1: «Зоологические карточки» ошибаются
Двенадцать карточек раскладывают рубашкой вверх в три стопки по четыре карты, возле стопок в случайном порядке кладут надписи «Птицы», «Звери», «Насекомые». Затем берут верхнюю карточку стопки у «Птиц», кладут к надписи, которая ей соответствует, берут верхнюю карточку той стопки, куда положили, и так далее. По сути это пасьянс «Часы» в миниатюре.

До начала игры смотрят две нижние карточки и отвечают машине на три вопроса:
А: нижняя карточка у «Насекомых» — насекомое?
Б: нижняя карточка у «Зверей» — зверь?
В: среди этих двух карточек есть птица?
Машина отвечает лампами: V, X и Y — полный успех; только X — сойдутся птицы и насекомые; только Y — птицы и звери; только Z — птицы и, вероятно, остальные; ничего — только птицы.
Я разложил все 34 650 возможных раскладок (с помощью автотеста, разумеется), доиграл каждую и сравнил исход с ответом логической машины:

Ответы А Б В | Чем кончается игра | Машина | |
|---|---|---|---|
Нет Нет Нет | только птицы | Z | ✗ |
Нет Нет Да | полный успех | V X Y | ✓ |
Нет Да Нет | птицы, иногда и насекомые | Z | ✓ |
Нет Да Да | птицы и насекомые | X | ✓ |
Да Нет Нет | птицы, иногда и звери | Z | ✓ |
Да Нет Да | птицы и звери | ничего | ✗ |
Да Да Нет | только птицы | ничего | ✓ |
Да Да Да | не бывает | — |
Ответ «Да, Да, Да» невозможен: если внизу у «Насекомых» насекомое, а у «Зверей» зверь, то птицы среди этих двух карточек быть не может. Но в двух случаях из семи машина ошибается. При «Да, Нет, Да» должна загораться Y, а не горит ничего. При «Нет, Нет, Нет» машина обещает, что, «вероятно», сойдутся и остальные, хотя сойдутся только птицы. Видна и асимметрия: зеркальный случай «Нет, Да, Да» программа обрабатывает верно, а «Да, Нет, Да» вообще забыт.
Рисунок 10 в эмуляторе совпадает со сканом, так что ошибка именно в самой брошюре.
Баг 2: где ДЛМ можно обыграть в «Двенадцать»
Противник бросает кубик, число сверху — начальная сумма. Дальше игроки по очереди поворачивают кубик на одну из боковых граней и прибавляют её к сумме, превышать 12 нельзя. Кто первым наберёт ровно 12, тот выиграл; если не может никто, ничья. Машине вводят сумму (больше 7 — минус 8), она показывает, какую грань поставить наверх. Если такой грани сбоку нет, правило велит взять «меньшее число, наиболее близкое к указанному».
Авторы честно предупреждают: «при достаточной практике Вы можете обыграть ДЛМ». Перебор всех партий показал, где именно. В целом таблица ходов продумана. Например, ход «1» при вводе 3 кажется странным для суммы 3, но он нужен для суммы 11, которая тоже вводится как 3, а сумму 3 всё равно не выиграть. Позиций, где машина получает меньше, чем могла бы, четыре. В трёх виновато правило про ближайшую меньшую грань, в одной — сам совет:
Сумма | Сверху | Совет | Поставят | Было возможно | Вышло |
|---|---|---|---|---|---|
6 | 2 | 3 | 3 | выигрыш | ничья |
6 | 3 | 3 | 2 | выигрыш | проигрыш |
7 | 2 | 5 | 4 | ничья | проигрыш |
9 | 4 | 3 | 2 | ничья | проигрыш |
Самая обидная — вторая строка. Тройка сверху, сбоку её нет, правило велит поставить двойку, и противник выигрывает. А ведь сбоку лежит шестёрка, и 6 + 6 сразу дают 12.
Мелочи
На рисунке панели третий переключатель подписан «Б-1» вместо «В-1».
В примере к игре 5 третья фишка «досталась игроку № 8», хотя игроков трое.
Как там говорили? Медаль нашла героя? Ну а я нашёл несколько багов тихим осенним вечером, с помощью современных автотестов, тестируя древнее мёртвое устройство (без электроники), даже не имея его физически. До чего дошёл прогресс...
Ссылки
Руководство в PDF, 18 МБ: сканы, набранный текст, расшифровка рисунков
Криптография и другие вычисления на детских логических машинах — статья, без которой эмулятор был бы беднее
Если у вас сохранилась ДЛМ или есть фото её внутренностей, напишите. И интересно, кто ещё в 1988 году замечал, что «Зоологические карточки» иногда врут.
KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.