Программируемые калькуляторы и баги

Самое интересное в советских программируемых калькуляторах — исследовать их недокументированные возможности, или, иначе говоря, баги. Я сейчас говорю про «Электронику МК-61», с эмуляторами которой я вожусь уже которую неделю, но, в принципе, в любой модели их было навалом. И что мне сейчас кажется странным — эти модели выпускались годами, но баги никто не исправлял.

Например, «МК-61» выпускали с 1984 до 1991 года, но ни один баг, насколько я знаю, не исправили. В принципе, с частью багов жилось даже веселее — бо́льшая часть из них позволяла, при известной фантазии, уменьшать размер программ, что, конечно, при объёме памяти в 105 ячеек очень даже полезно. Но непонятно, почему нельзя было исправить хотя бы те, которые влияли на вычисления.

Таких багов я знаю два: функция вычисления максимума считает ноль самым большим числом (можно попробовать ввести 500 В↑ 0 max, чтобы убедиться), а второй — генератор случайных чисел начинает зацикливаться, если попробовать взять целую часть случайного числа.

Сравнение раскладок калькулятора ЭЛЕКТРОНИКА МК 61: слева латиница, справа кириллица с кнопками F, K и цветными функциями.
Разворот из брошюры «Elektronika MK-61 Calculator Operating Instructions»

Если к первой ошибке можно было привыкнуть — и я даже видел игры, где это свойство использовалось, — то ломающийся генератор, во-первых, никаким полезным свойством не обладал, а во-вторых, увеличивал размер программы, потому что целую часть приходилось получать другими способами, вместо функции F [x], которая для этого предназначена.

Почему эту проблему нельзя было решить, выпустив условную «Электронику МК-61М», для меня загадка. С одной стороны, страна гордилась своей инженерной школой — и отголоски этой гордости до сих пор хорошо заметны. С другой — такое вот безразличие к багам в массовых моделях.

Читайте также

Комментарии 16

SiMMmr E16/NR04δ13 № 1
как вариант — ресурсы
ещё застал времена, когда надо было вычисление квадратного корня из байта вместить в несколько байт ассемблера )
Евгений Степанищев автор № 4
Имеется ввиду, что баг, к примеру, с зацикливанием генератора не баг, а ограничение?
SiMMmr E16/NR04δ13 № 6
не смогли поправить так, чтобы уложиться в ограниченные ресурсы
Евгений Степанищев автор № 9
Там есть какое-то количество недописанного мусора, вместо которого можно было что-то полезное уместить.
1
SiMMmr E16/NR04δ13 № 3
Alex Tesanov № 10
Потому что «качество продукта» не входило в список KPI, по которым оценивалась деятельность советских предприятий.
Анекдот «про знак качества» помните?
Alex Tesanov № 12
В вестибюле ООН кто-то наложил кучу. В этом начали обвинять СССР. По этому поводу вызвали Министра иностранных дел А.А. Громыко. Тот тщательно с лупой обследовал кучу и заявил:
– Это не наша куча.
– Почему? — возмутились все.
– Потому, что мы на всякое дерьмо ставим знак качества. А здесь я его не обнаружил.
KiriLL № 13
Точно такое же встретилось в контроллере ОВЕН ТРМ-133 отопления и ГВС (ИТП) — много явных глюков и ошибок вскрылось, когда программировал с нуля и забивал все переменные и константы.
Однако, никто не собирается ничего исправлять!
Хотя думаю он до сих пор выпускается и продаётся.
Советская школа — и так сойдёт.
На заводе был, в ремонт отвозил контроллер.
Хотя они много и современного делают сейчас. И многое хорошо работает.
Евгений Степанищев автор № 14
Кстати, в 2000-е выходили МК-161 и МК-152. Можно формально считать, что там всё исправили, на деле это совсем другие устройства, конечно.
KiriLL № 15
А МК 52 же как-то получше? Память энергонезависимая. У меня и тот и тот есть но 61 поэтому и не нравится
Евгений Степанищев автор № 16
Я читал, что в МК-52 энергонезависимая память сделана так плохо, что ей очень сложно пользоваться. Но не разбирался в чём там дело.