В этой статье я хочу рассказать об архитектуре советских программируемых микрокалькуляторов на примере калькулятора «Электроника МК-52» и как можно внедриться в его архитектуру.

Советские калькуляторы семейства "Электроника Б3-34" («Электроника МК-56», «Электроника МК-61» и «Электроника МК-52») были особенно популярны в СССР. Причиной этому была не только доступная цена в 65 рублей за МК-54, 85 рублей за МК-61 или 115 рублей за МК-52, но и развитой язык программирования. Это семейство калькуляторов стало де-факто стандартным для многочисленных пользователей. Огромное количество книг было посвящено программированию на этих машинках и публикацией готовых алгоритмов. Электроника МК-52 даже летала в космос на корабле Союз ТМ-7, где предполагалось его использование в качестве резервного на случай неисправности спускаемого навигационного оборудования. Даже в военно-морском флоте СССР калькулятор «Электроника МК-52» с блоком расширения памяти БРП «Астро» какое-то время был стандартным средством для навигационных расчетов.



Микрокалькулятор МК-52 относится ко второму поколению советских программируемых микрокалькуляторов.

Первым поколением было семейство Б3-21 (включая МК-46, МК-64 и МС 1103). Базовая модель Б3-21 разработана в 1975-м и массово производилась с 1977 года. У нее был рабочий стек на два числа (Б3-21, как и семейство Б3-34 — калькуляторы с RPN — обратной польской (или бесскобочной) записью — где сначала в стек вводятся числа, а потом нажимается кнопка операции).



В дополнение к рабочему стеку имелся дополнительный кольцевой стек на 6 чисел. В этот стек можно записать по кругу число, а потом извлекать. И еще семь регистров памяти с номерами 2-8 (в МК-46, МК-64 и МС 1103 — восемь) — обычные регистры памяти для хранения чисел. Количество шагов программы у Б3-21 — 60. В моделях МК-46, МК-64 и МС 1103 — 66. Последние модели — настольные калькуляторы с блоками для контроля параметров от внешних устройств. В МК-46 имелась только возможность получать цифровые коды, а в МК-64 и МС 1103 устанавливалась кассета с аналогово-цифровым преобразователем, и дополнительная микросхема К145ИК1801, которая организовывала взаимодействие. За счет установки этой микросхемы появлялся дополнительный регистр памяти с номером 9 и еще шесть шагов программы. Управление считыванием происходило через регистр номер 9 путем ввода кода команды. Аналогично, кстати, в МК-61 и МК-52 ставилась микросхема К745ИК1306, которая кроме дополнительных функций добавляла еще один регистр и еще семь шагов программы, но об этом дальше.

Где-то в 1980-м году появляется второе поколение программируемых микрокалькуляторов в лице «Электроники Б3-34». Первые экземпляры стоили 120 рублей, но завод довольно быстро снизил цену до 85 рублей и так и продавал модель где-то до 1985 года. Вообще ценообразование калькуляторов — предмет разговоров для отдельной статьи: где-то цены снижались по мере выпуска, где-то повышались. Если интересно, то можно посмотреть на моём сайте изменение цен по годам — я стараюсь собирать такую информацию по мере возможности. Калькулятор Б3-34 сменили аналогичные по функциям, но более компактный МК-54, настольный МК-56. Через несколько лет появилась микросхема К745ИК1306 с дополнительными функциями, и выпустили новые модели МК-61 в корпусе, аналогичному МК-54, и горизонтальный МК-52 с внутренней EEPROM К1601РР1 на 512 шагов (уникальная вещь, других в мире калькуляторов с EEPROM я не встречал: у них либо низкопотребляющее CMOS ОЗУ, либо более современные Flash) и двумя разъемами для подключения устройств: первый использовался для подключения внешних модулей памяти «Блоков расширения памяти БРП», а второй был технологическим и туда ничего не подключалось (завод объяснял как технологический разъем для тестирования во время производства).

Вид сзади:





По сравнению с микрокалькуляторами первого поколения, усовершенствование было существенным. Количество регистров для хранения чисел увеличилось с 8/9 до 14/15.
Операционный стек с двух регистров увеличился еще на два регистра — X, Y, Z, T. Появился регистр последнего значения регистра X перед выполнением последней арифметической операции — BX (операционные регистры X, Y, Z, T с регистром Last X наши подсмотрели, скорее всего, у калькуляторов Hewlett Packard с аналогичными регистрами, впрочем, на этом тождественность с HP и заканчивается). Область программы с 60/66 шагов увеличилась с 98 шагов (у Б3-34, МК-54, МК-56, МС 1104) до 105 шагов (у МК-61 и МК-52).

В программе можно использовать автоматические циклы по регистрам L0-L3, тогда идет уменьшение соответствующего регистра на 1, сравнение с нулем и ветвление по адресу.
Очень сильно улучшило калькуляторы второго поколения внедрение косвенной адресации. Любой регистр памяти может использоваться в качестве индексного как для сохранения/извлечения чисел, так и косвенных переходов на программы и подпрограммы, в том числе с условием. При этом значение регистра косвенного перехода будет автоматически уменьшено (регистры 0-3), увеличено (регистры 4-6) или оставлено без изменений.

Все эти автоматические действия с регистрами очень экономят программную область и позволяют упростить программирование.

Говорить о работе с МК-52 можно долго. Я только вкратце рассказал о возможностях этих машинок для тех, кто не работал с ними.

Разговор об архитектуре я бы хотел начать с истории. Семейство калькуляторов Б3-21 и Б3-34 — разработка Киевского НИИ Микроприборов (НИИМП). Первые калькуляторы под названием "Электроника 4-71" у них появились в 1971 году. Двум предприятиям было поставлено задание — сделать к 24-му съезду КПСС в 1971 году калькуляторы на больших интегральных схемах — киевскому НИИМП и ленинградской «Светлане». В итоге у нас примерно в одно и то же время появились две модели калькуляторов — упомянутая «Электроника 4-71» и "Электроника 24-71" (улавливаете название моделей?). Модель 4-71 была сделана на микропрограммном управлении, как первые калькуляторы семейства «Искра», с логикой на автоматах Мура в сотрудничестве с ленинградским ГСКТБ. То есть при нажатии кнопки происходит защелкивание нужных триггеров (в зависимости от назначения кнопки), которые формируют прохождение соответствующих микрокоманд. Автоматы — это конечно хорошо, но на них далеко не уедешь в плане совершенствования. Даже калькуляторы Искра-114 от ГСКТБ в 1974 году уже имели ПЗУ К5ЯП011001 (предположительно, первые в СССР микросхемы масочного ПЗУ) с «прошивкой».

И вот, в 1973 году у НИИМП появляется микроконтроллерное ядро собственной разработки. Сохраните себе тот сайт по ссылке, пока он живой — там очень много интересного рассказано о НИИМП. Первый микрокалькулятор "Электроника Б3-09" на микросхеме К145ИК2А вышел «первым блином» и не прижился, зато его модификации "Электроника Б3-09М", Б3-14М и Б3-14 пошли «на ура», выпускались сотнями тысяч штук в год и решили проблему калькуляторного дефицита. Калькуляторов нашего производства в те годы не хватало, и их завозили из-за рубежа, как с соцстран, так и с капстран. Помните фильм «Служебный роман» 1977-го года? Можно посмотреть, начиная с 9:15, какие калькуляторы стоят на столах — в основном, транзисторные ГДРовские «Soemron 220» и болгарские «Элка 50» первой модификации.



Более крупные фотографии можно видеть на сайте «Радиокартинки»: К145ИК2, К145ИК501, К145ИК502П.

Это кристаллы микросхем К145ИК2, ИК501 и ИК502. Как можно заметить, чипы простого калькулятора с четырьмя арифметическими операциями К145ИК2 практически совпадают с чипами программируемого калькулятора «Б3-21» (К145ИК501, 502 и 503). Последние отличаются только «прошивкой». Номер прошивки показан на отдельном слое после названия.





А это уже более совершенный кристалл микросхемы К145ИК1302, который стоит в программируемых калькуляторах семейства «Электроника Б3-34», в том числе и «Электроника МК-52», о котором эта статья.

В центре чипа видны три области (помечены зеленым). Это память микрокоманд, память синхропрограмм и память программ. Желтым помечены кольцевые сдвиговые регистры.
Процессор калькулятора работает на частоте 75-100 кГц. В процессоре есть однобитное АЛУ (арифметическо-логическое устройство) с несколькими источниками и приемниками.

За четыре микротакта процессор выполняет одну микрокоманду (над одной тетрадой). Каждая микрокоманда говорит — какой набор источников взять для сумматора и куда положить результат.
Всего в микросхеме 68 микрокоманд длиной 27 бит каждая, 128 различных синхропрограмм и 256 ячеек для команд.

Микропроцессор калькулятора (точнее было бы сказать микроконтроллер, потому что внутри него находится и ПЗУ, и ОЗУ, и порты ввода-вывода) работает по последовательному принципу. Все регистры представляют собой регистры сдвига.



Внутри процессора всё закольцовано и напоминает парк аттракционов с каруселями, колесом обозрения и идеальным автобусом с посетителями, у которого одна дверь работает на вход, другая на выход, и посетители постепенно перемещаются от начала в конец.
Работник парка (микрокоманда), сверяясь с тетрадочкой (полем микрокоманды), на каждом микротакте извлекает (или нет) из подошедшей ячейки карусели, колеса обозрения или очередного пассажира автобуса (то есть очередного регистра) бит, направляет их на аттракцион «сумматор», где с ними происходят какие-то действия и результат отправляет обратно, так же в зависимости от полей микрокоманды. Этот распорядок действует на 4 бита, после чего номер такта увеличивается.

Поскольку регистры кольцевые, разработчикам было нужно правильно задать их размер. В итоге базовым числом для калькуляторов семейства К145ИК13 стало число 42.

Эту длину (42 тетрады) имеют последовательные регистры — регистры М, R и ST. Чтобы не ждать, пока нужные числа продвинутся по всему кольцу, дополнительно есть несколько 4-х битных и однобитных регистров вроде регистра переноса, доступных в каждом такте. Одно число с 8-разрядной мантиссой и 2-х разрядным порядком занимает 14 тетрад (одна треть от 42). В кольцевой регистр влезает ровно три числа, что позволяет, например, реализовать регистр памяти и хранение двух чисел при вычислении со скобками, как это реализовано в калькуляторе «Электроника Б3-32» на К145ИК1301.

С числом 42 также жестко работает так называемая «память синхропрограмм», в которых находятся адреса микрокоманд, которые надо выполнять.

Синхропрограммой она называется оттого, что жестко засинхронизирована с размером кольцевого регистра и номером такта 0-41 — одного кольцевого цикла.

В каждой синхропрограмме содержится девять номеров микрокоманд, которые нужно выполнить.
Синхрокоманды устроены довольно интересно. Разработчики проанализировали алгоритмы и посчитали, что с учетом переносов одна типовая операция с АЛУ над тетрадой требует три такта, а производимые действия довольно однотипны. И они сделали так, что микрокоманды в зависимости от номера такта (0-41) аппаратно всегда выполняются в такой последовательности:
0, 1, 2, 3, 4, 5, 3, 4, 5, 3, 4, 5, 3, 4, 5, 3, 4, 5, 3, 4, 5, 3, 4, 5, 6, 7, 8, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 1, 2, 3, 4, 5



Желтым цветом я отметил одинаковые участки (микрокоманды 3, 4, 5), которые выполняются семь раз подряд. Этого хватает, чтобы обработать одно восьмиразрядное число. По сути это готовые микроалгоритмы. С одной стороны такие встроенные циклы сокращают емкость необходимого для программы ПЗУ, но с другой стороны представьте, что такая последовательность выполняется всегда и на каждой строке программы.

Поскольку одна тетрада обрабатывается за три такта, данные за это время успевают уехать по кольцу. Из-за этой особенности числа в кольцевых регистрах хранятся не в последовательных ячейках, а в каждой третьей, чтобы они как раз подоспели к окончанию циклов 3, 4, 5.

Снизу на рисунке показана область памяти программ. В памяти программ в каждом ее поле содержится информация о трех синхропрограммах, которые надо выполнить за один кольцевой цикл. Там есть еще нюанс, заключаемый в том, что третья синхропрограмма обычно используется для всяких ветвлений. В регистре R ячейки 36 и 39 закреплены за адресом текущей выполняемой программы, они как раз появляются на соответствующих тактах, когда выполнились первые две синхропрограммы, и третья синхропрограмма занимается обработкой этого адреса.

Конечно, внутри микропроцессор работает еще более сложно. Только описание его со всеми нюансами занимает не один десяток страниц книги Трохименко Я.К. «Программируемые микрокалькуляторы. Устройство и пользование» (книга гуглится).

Вот эта архитектура с тремя уровнями обработки — памятью программ с адресами синхропрограмм, памятью синхропрограмм с номерами микрокоманд и памятью микрокоманд с набором источников и приемников является базовой для целого семейства микросхем К145ИК2, К145ИК13xx, К145ИК18xx и К145ИК19xx, только у них разный размер регистров, по-другому сделана адресация и ветвления и сделаны другие доработки и изменения.

А самое интересное, что сделали разработчики еще в 1973-м году — вывели мозги процессора наружу для возможности расширения. Я имею ввиду кольцевые регистры. В первом массовом калькуляторе Б3-09М емкости регистра хватало, и расширение не требовалось. Но что делать, если возможностей аттракциона не хватает? Можно увеличить его размер или поставить рядом еще один. Чтобы не увеличивать размер ПЗУ, а следовательно размер кристалла, уменьшать выход годных кристаллов в процессе производства и прочие сложности, разработчики взяли несколько одинаковых процессоров и сделали общий кольцевой регистр.



Здесь на фотографии слева часть кристалла К145ИК2, а справа К145ИК5. Можно обратить внимание на левый верхний угол. Там уже в процессе производства стоит небольшая перемычка, замыкающая две контактные площадки (кольцевой регистр). А в К145ИК5 этой перемычки нет, и кольцевой регистр не замыкается.

В 1975-м году появились первые образцы программируемого калькулятора "Электроника Б3-21". Там можно видеть аж три процессора типа К145ИК5 — К145ИК501, К145ИК502 и К145ИК503. Они отличаются только прошивкой.

Первый процессор К145ИК502 занимается вводом с клавиатуры и выводом на индикатор, обработкой действий в автоматическом режиме и режиме ввода и выполнения программы.
К145ИК501 занимается арифметическими операциями, а К145ИК503 — тригонометрическими. А поскольку требовалась еще ёмкость для хранения программы пользователя и регистров памяти, дополнительно в разрыв того же регистра поставили микросхему К145ИР1, представляющий собой один большой регистр сдвига. В итоге появилось три аттракциона с тремя последовательно соединенными автобусами и одной электричкой. И все данные постоянно перемещаются по общему кольцу со скоростью тактового генератора.

Благодаря Феликсу Лазареву, который смог считать прошивки с этих микроконтроллеров и разобраться в архитектуре, у нас появился эмулятор калькуляторов типа МК-61 и Б3-34, где можно более детально изучить его работу и поиграться с включением и отключением микросхем от общего кольца.

В первом микрокалькуляторе второго поколения "Электроника Б3-34" использовались микросхемы К145ИК1302 (ввод/вывод, режимы работы), К145ИК1303 (математические функции) и два регистра К145ИР2 по 1008 бит каждый.



Суммарно два регистра M и два регистра по 1008 бит образуют кольцо размером в 42*4 + 42*4 + 1008 + 1008 = 2352 бита.

Всё поле данных разработчики разбили на три одинаковые области по 784 бита (196 тетрад или 98 байт). В первой области хранится программа пользователя (98 шагов), во второй области — регистры данных (14 регистров с номерами 0-9, a, b, c, d по 14 тетрад каждый), а третья область — служебная.

Через несколько лет после появления Б3-34 появились две новые модели — МК-61 и МК-52. У них добавился еще один чип К145ИК1306, где вычисляются операции с градусами и логические операции. Кольцо стало выглядеть так:



Обратите внимание, что в К145ИК1306 есть такой же регистр М, как и в К145ИК1302 и К145ИК1303. Появление этого чипа добавило в кольцо один регистр памяти (14 тетрад), еще семь шагов программы (14 тетрад) и на 14 тетрад увеличилась служебная область.

В МК-52 есть еще микросхема К745ИК1801, которая осуществляет передачу данных из микросхемы EEPROM или сменного блока расширения памяти. Но в нем кольцо регистра не используется.

Разбиение всего кольца данных в калькуляторах типа МК-61 и МК-52 показано на рисунке ниже:



Как я говорил, всё кольцо разбивается на три области: М1, М2 и М3.

В области М1 находятся регистры памяти 0-9, a, b, c, d, e. В них интересно то, что для хранения чисел надо 12 тетрад (1 — знак мантиссы, 8 — мантисса, 3 — порядок), а на один регистр выделяется 14 тетрад (чтобы делилось на 42 в процессоре). В итоге две тетрады на каждый регистр не используются.

В области М3 располагается память программ. Там всё просто — 98 шагов для Б3-34 и 105 шагов (на 14 тетрад больше) для МК-61 и МК-52.

Область М2 самая интересная. В нем кроме регистров X, Y, Z, T, BX, располагается область Ms, канал связи КС и Метка.

Показанные области не идут друг за другом. Помните, я говорил, что в синхропрограмме есть несколько повторяющихся операций, которые отнимают три такта и приводят к тому, что числа в регистрах хранятся на каждой третьей ячейке? В данных кольца это и реализовано. Сначала передается первая тетрада области М1, затем первая тетрада области М2 и затем первая тетрада области М3. Потом идут вторые тетрады и так далее. И пока за три такта отрабатываются микрокоманды 3, 4, 5 в синхропрограмме, ненужные области пропускаются.

Когда я разбирался с распределением данных в общем кольце, меня очень удручила область, обозначенная как Ms. Она довольно большая, занимает одну шестую часть области данных кольца. И эта область не используется в калькуляторе. При разработке архитектуры разработчики предусматривали возможность сделать «область программ-данных». Это — такая область, в которую можно записывать или программу, или регистры с данными. Причем довольно большая область — 56 программных шагов. В калькуляторах предполагались включить специальные функции в комбинации с кнопкой [К] для обмена (над кнопками 1 и 2, сейчас там пустое место). Но, повторюсь, в серийных моделях эта область пропала, а так у нас могло бы быть больше регистров памяти или программа длиннее на 56 шагов. Об этой области вскользь упоминалось в журнале «Техника-молодежи», № 7 за 1986 год.

image

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

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

Внутренняя адресация относительна относительно кода Метка. При появлении чип К745ИК1306 с дополнительным регистром М, количество ячеек увеличилось, и они условно добавились в конец, потому что в архитектуре вся область данных в кольце непрерывна. В этой архитектуре можно добавить еще один процессор типа К145ИК13, тогда станет больше еще на один регистр памяти, и добавится еще 7 шагов программы (максимально — 112).

Скорее всего аналогичным образом работает внутреннее представление данных и в непрограммируемом калькуляторе "Электроника МК-44", сделанном на том же микропроцессоре К145ИК1305. Это был один из самых массовых настольных калькуляторов в нашей стране. В нем есть три регистра памяти. Я подумал, а что будет, если разорвать выведенное наружу кольцо регистра М и добавить туда памяти? Эксперимент удался. Процессор «подхватил» появившуюся память, и в калькуляторе стало десять регистров памяти.

А как процессоры взаимодействуют между собой? Они «общаются» специальному полю, называемому «канал связи» (КС). Как в калькуляторах семейства «Б3-21», так и в калькуляторах семейства «Б3-34» есть один главный процессор. В нашем случае это К145ИК502 для Б3-21 и К145ИК1302 для Б3-34. Они инициализируют кольцо при включении, формируют код «метка» и взаимодействуют с оператором, организуя ввод с клавиатуры и вывод на индикатор. Другие процессоры находятся в режиме ожидания и ждут команд.

«Канал связи» — это две тетрады, в которые главный процессор может поместить число — байт с кодом операции.

Если при работе по программе или в ручном режиме головной процессор не может обработать операцию с каким-то кодом своими силами, то он кладет код операции в регистр КС кольца и начинает ждать.

Ведомые процессоры все время следят за регистром КС в кольце данных. Как только появляется код операции, который может обработать ведомый процессор, он начинает его обрабатывать, например, выполнять функцию сложения, вычисление синуса и т. д. Ведомый процессор самостоятельно извлекает из кольца нужные регистры, когда они приходят к нему по кольцу, производит с ними операции, и результат помещает обратно. После выполнения процессором своих действий, он очищает регистр канала связи, затерев младшую тетраду числом «F». То есть если в канале связи появилось число 10 (код сложения), то по окончанию счета в регистре КС будет записано число 1F.

Одновременно с выставлением кода операции в канал связи в головном чипе включается специальный счетчик ожидания по типу сторожевого таймера. Если ни один ведомый процессор не сможет обработать команду по каналу связи, то через определенное время головной процессор сам очистит канал связи и выдаст на индикаторе сообщение об ошибке «ЕГГОГ».

Этим таймаутом пользуются ведомые чипы, если в процессе вычисления произошла ошибка с числом. Например, пользователь попытался извлечь корень из отрицательного числа. В этом случае ведомый чип ничего не выставляет в канал связи, а головной процессор через несколько секунд сам выводит сообщение об ошибке. Оттого в калькуляторах вывод надписи «ЕГГОГ» при подобного рода ошибках занимал так много времени.

Главный процессор может не знать, какие есть в кольце другие процессоры. Он всего лишь выставляет код в канал связи, а его обрабатывают другие процессоры. Можно, например, заменить микросхему К745ИК1306 на другую или сделать свою разработку на основе микроконтроллера, как сделали еще в советские времена в калькуляторе "Электроника МС-1104".

Кроме последовательной шины данных в калькуляторах типа «Электроника МК-52» есть интерфейс с EEPROM и внешними модулями расширения памяти. Как я писал выше, в МК-52 есть микросхема электрически стираемой памяти К1601РР1, в которую можно записать до 512 шагов программы. Вместо программной памяти можно сохранить числовые регистры памяти. Что записывать — программную памяти или регистры, определяется переключателем «Д-П» на передней панели. Одни и те же области в EEPROM могут использоваться как для хранения программы, так и для хранения регистров. Можно записать в EEPROM регистры, а записанные данные извлечь в программную область, и наоборот.

Вид калькулятора со стороны микросхем:



Микросхемы крупно:



Кроме внутренней EEPROM выпускались также сменные модули памяти «БРП» (блоки расширения памяти). Они представляют собой микросхему ПЗУ, где записаны программы.
Всего известны модули:

  • БРП «Астро», он же БРП-2 — навигационные программы. Модуль использовался на кораблях, о чем я писал в начале статьи.
  • БРП-3 содержал математические программы
  • БРП-4 — математические программы и программы бытового назначения, в том числе игры.

ПЗУ были довольно большого объема, и в один БРП на самом деле влезали программы от двух модулей. То есть обладатели модуля БРП-3 могли открыть корпус, перепаять перемычку и получить модуль БРП-2 «Астро».

Когда я считывал дампы, то в модуле БРП-4 обнаружил дамп от модуля неизвестного назначения. Пока нет информации, как использовать эти дампы.

Микросхема связи с EEPROM или БРП К745ИК1801 довольно самостоятельная. Она так же сидит на калькуляторном кольце, но не отслеживает команды. Она только запоминает содержимое регистра X как адрес и длину обращения к ПЗУ или EEPROM по кнопке [А^], и по кнопке [^v] запускает стирание, считывание или запись из, или в область программы или данных.

Применительно к ПЗУ БРП на шину всегда выставляется адрес в параллельном коде, и БРП всегда выдает содержимое ячейки.

Модуль БРП вставляется в соответствующий разъем сзади калькулятора МК-52.

Наверняка каждый пользователь МК-52, купив калькулятор, видел сзади корпуса два разъема — большой для БРП и маленький, непонятно для чего. В инструкции и в журналах разработчики поясняли, что этот разъем используется только в технологических целях на этапе производства.
Может быть выпускались какие-нибудь несерийные модификации калькулятора МК-52, но я о них не слышал. Всё время хотелось разработать какое-нибудь устройство, которое могло сидеть на том разъеме и использовать его в работе.

Если обратиться к принципиальной схеме калькулятора, то можно видеть, что на разъем выведены кроме напряжений питания и тактовых сигналов, сигналы с кольца, снятые со входа и выхода микросхемы К745ИК1801. Чтобы внедриться и что-то записывать в кольцо необходимо было его разорвать. Конечно, что-то менять в схеме МК-52 — самый последний вариант. Но оказалось, что выходной сигнал кольца микросхемы К745ИК1801 слабый. Скорее всего он незначительно подтянут на одно из напряжений питания, и его можно довольно свободно перегружать своим сигналом. Так я и сделал. Микроконтроллер мониторит кольцо МК-52, анализирует его, и может считывать и записывать данные.

В итоге получилось устройство — модуль «FRS-BRP». Вот принципиальная схема:

image

Ядро модуля — микроконтроллер STM32F205. Он на прерываниях от внутреннего генератора частоты калькулятора считывает бит за битом данные, передаваемые по кольцу. Одновременно следит за параллельной шиной для эмуляции блока расширения памяти. Большое количество компараторов необходимо для правильного детектирования логических уровней. Дело в том, что в калькуляторе используется отрицательное напряжение от 0 до -15 вольт. Это напряжение вырабатывается от источника питания в 5 вольт. Плате так же необходимо было использовать эти напряжения, но только не до -15 вольт, а до -5 и до -3.3. В итоге то напряжение, которое в калькуляторе 0 вольт, в плате FRS-SRP стало +5 вольтами, а то, которое -5 вольт стало нулем. На компараторах всё можно хорошо отфильтровать, их много, но они сейчас очень дешево стоят. В основном, компараторы задействованы для декодирования сигналов параллельной шины эмулятора БРП. Конечно, сам БРП можно эмулировать через засылку данных сразу в кольцо. Но для аутентичности, чтобы пользователь нажимал «те самые» кнопки, которые описаны в инструкции к БРП, решил сделать полноценный эмулятор.



Сейчас мало кто будет использовать калькулятор МК-52 по прямому назначению. Есть более эффективные средства вычислений. Но для энтузиастов, для тех, кто хочет разобраться с его внутренним устройством, кто хочет использовать наработанные программы или тех, кто хочет поиграть в те игры, которые сводили с ума пользователей середины 1980-х годов, этот модуль может пригодиться.

Что умеет этот модуль:

  1. Выводит на OLED экранчик содержимого на выбор двух регистров оперативной памяти калькулятора (0-9, A, B, C, D, E) одновременно. В режиме счета по программе, когда основной экран калькулятора моргает, можно нажимая кнопки на модуле просматривать регистры.
  2. Эмулирует (заменяет) модули БРП-АСТРО, БРП-3, БРП-4, БРП-5 в полном соответствии с их инструкцией по эксплуатации (название БРП-5 дано условно, поскольку для найденных данных не был найден соответствующий модуль).
  3. Позволяет сохранить блок программы (105 шагов) во внутреннюю память модуля с номерами ячеек от 1 до 130.
  4. Позволяет извлекать и записывать в калькулятор один из 130 записанных блоков программы (105 шагов).
  5. Аналогично с пп. 3, 4 сохраняет и извлекает блоки данных (0-9, A, B, C, D, E) до 130 ячеек.
  6. Сохраняет и извлекает полную информацию, находящемся в кольце данных (программа, данные и служебная информация) до 50 ячеек.
  7. Имеет библиотеку популярных программ («ЛУНОЛЕТ-1», «ЛУНОЛЕТ-2», «ЛУНОЛЕТ-3», «ОС-1», «ОС-2», «АТМОСФЕРА»).
  8. Позволяет по желанию заблокировать математический процессор К745ИК1303 и эмулировать за него математические функции, которые тот вычисляет, для увеличения быстродействия и точности вычислений. Оказалось, что микросхему К745ИК1303 можно ввести в ступор недокументированной командой, он «уходит в себя», не реагирует на команды в канале связи, и модуль за него обрабатывает математические команды.
  9. Дополняет функционирование калькулятора путем обработки неиспользуемых в калькуляторе функций с кодами 0x28 (K *) и 0x29 (К /).

Как я выше писал, по каналу связи передается код операции. Сейчас почти все коды заняты, и с пульта можно ввести только три незадействованные команды — коды 27, 28 и 29. В принципе, их вполне хватает для каких-нибудь задач. Хотя я не знаю, какие команды можно реализовать по причине, что калькулятор по прямому назначению уже не торт, но сам факт обработки увлекает.

Ну, и конечно — общение с компьютером по USB. В модуле реализованы простые команды диалога, можно считать и записывать содержимое данных, программы, служебных областей или кольца целиком. Его можно сохранить на диск, извлечь, проанализировать, изменить и записать в калькулятор. Вот скриншот:

image

Можно например, в канал связи положить какое-нибудь число и посмотреть, как оно будет обрабатываться другими чипами. Или узнать, что произойдет, если какую-нибудь служебную ячейку записать по-другому. Или проверить, возможно ли вывести калькулятор из состояния «тьма», если в регистре X через модуль исправить порядок, скажем с 500 на 0, не выведет ли он его из ступора?

К сожалению, наружу калькулятора выходит только кольцо с данными. А другие состояния вроде программного счетчика, признака — считает ли калькулятор по программе или выводит на индикатор, и прочее, — эта информация сидит во внутреннем регистре R.

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

Такие выведенные регистры есть, наверно, во всех микросхемах семейства К145ИК5, К145ИК13, К145ИК18 и даже К145ИК19. Знаменитая микросхема часов «К145ИК1901» так же имеет выведенные наружу регистры M и R. Можете убедиться, взглянув на принципиальную схему.



Я даже в порядке эксперимента подключился к регистрам в часах на К145ИК1901 и снял, где у него находятся данные.

В заключение статьи скажу, что упомянутое семейство микроконтроллеров было очень популярным в CCСР, на его базе было выпущено большое количество калькуляторов — модели:

  • К145ИК2 — Б3-09, Б3-09М, Б3-14, Б3-14М;
  • К145ИК5xx — Б3-05М, Б3-21, МК-46, МК-64, МС-1103, МК-59, Elwro 330;
  • К145ИК13xx — Б3-32, МК-44, Б3-34, МК-54, МК-56, МК-52, МК-61, МС-1104.

На микросхемах серии К145ИК18xx и К145ИК19xx — бытовые приборы, из известных — таймеры для микроволновок, часы, реле времени для фотографии, контроллеры лентопротяжек в магнитофонах и прочее.

Вот и всё, что я хотел сказать. Надеюсь, было интересно. Спасибо за внимание.

Комментарии (139)


  1. Nomad1
    28.11.2019 23:17
    +2

    Спасибо за ностальгический пост! Начал путь программиста как раз с БЗ-21, а потом мне купили МК-52. Чуть больше четверти века прошло с тех пор, а все еще жалею, что нигде не достал БРП для него.


    1. kuza2000
      29.11.2019 10:59

      О, да, ностальгия… У меня МК-61 был. Ведь даже игры делали на нем! Помню симулятор посадки космического корабля. Ставишь угол атаки на крыльях, считает шаг, выдает координаты, перегрузку. Интересно было отскакивать от атмосферы :)


      1. Sly_tom_cat
        29.11.2019 19:18
        +2

        Аналогично. Лунолет — наше все!

        У однокласника нашелся дома БЗ-34 я ему лунолет принес в журнале — он обалдел что на этом калькуляторе играть можно… Ему папа из загранки (флот) потом какую-то ямаху привез (к телевизору подключалась) и кассеты с видео-играми и он так на играх и остановился.

        А мне папа купил МК-61 (но его через некоторое время украли), а к окончанию школы я уже спаял Специалист и забацал себе на нем змейку на ассемблере :)… так из «программирования и около» и не могу вылезти по сей день.


      1. geher
        29.11.2019 21:25
        +1

        Если не путаю, на этих калькуляторах были и игры "реального времени".
        В качестве "джойстика" использовался переключатель единиц измерения углов (радианы-градусы).


      1. Iwanowsky
        30.11.2019 01:33

        У меня до сих пор сохранились МК-61 и МК-52 (совместимы между собой по программам), приобретенные мной и братом в 1990г. В студенческие времена очень интенсивно использовал для расчетов. Программируемый калькулятор казался мне в то время сверхудобным инструментом для расчетов (особенно когда нужно было проводить множественные вычисления по одной большой формуле, в т.ч. для построения графиков), программирования, ну и для игр конечно. Наряду с программированием прикладных задач на лету (никогда заранее не сочинял программ, а вбивал их с ходу), также использовал и готовые программы из журналов и книг (прикладные, игровые и пр.) А после приобретения ПК в 1995г. калькулятор был положен на полку и использовался уже очень редко. В старших классах школы на УПК изучали программирование на калькуляторах МК-46 и др.


    1. tvr
      29.11.2019 11:36
      +2

      /Встаёт/
      Привет, меня зовут Андрей, мне сорок восемь лет, и я алкоголик тоже в своё время плотно сидел на МК-52.
      Игры, ЕГГОГ`и и прочие трипы. Доигрался до того, что был изгнан с пар по информатике со словами: «Иди, гуляй. В конце семестра зайдёшь за зачётом».
      Спасибо за внимание.
      /Садится/


      1. Sly_tom_cat
        29.11.2019 19:25

        У нас информатика в школе была интересная — в 87-88 уч. году (9-й класс) нам сказали: новый предмет и пришел мужик, который нам про PL1 рассказывать начал. Из всего класса что-то понимали пару человек (один из них я).
        В 88-89 уч. году нам начали рассказывать бейсик и пару раз возили в компьютерный класс. У меня дома в то время уже Специалист был спаян и запущен. Я на ассемблере там… а они мне этот глупый бейсик… После пары моих заявлений, что на ассемблере это все проще сделать и работать будет быстрее, меня преподавательница информатики попросила к ней на уроки больше не ходить. :)

        В институте уже было интереснее — Pascal, Fortran, LISP, Prolog,…


        1. geher
          29.11.2019 21:26

          Мы в школе на Fortran программировали.


          1. Sly_tom_cat
            30.11.2019 12:05

            В конце 80х Информатика в школах появлялась как нечто стихийное. Хоть какой-то порядок в школьной программе навели ИМХО только к середине 90-х.

            И кому «повезло» жить во времена перемен — те умудрились в школе всякой экзотики нахвататься.

            Мне, допустим, программирование на бумажке на PL1 довольно сильно помогло в ВУЗе Pascal освоить.


            1. Ankoroid
              30.11.2019 13:56

              Только не в конце, а в середине, когда начали программу компьютеризации школ.


            1. geher
              30.11.2019 14:25

              И кому «повезло» жить во времена перемен — те умудрились в школе всякой экзотики нахвататься.

              Это да. Над нами как только не издевались. Программу по некоторым предметам именно на наш год меняли.
              А информатика — это было в некоторых крупных городах одно время: школы распределили между организациями, имеющим собственные ВЦ. Соответственно и обучали школьников на имеющейся базе.
              Нам досталась ЕС-1025 в одном НИИ. На ней мы фортран и изучали.
              Все по взрослому — от написания программы в тетрадке, далее через перфораторы и до распечатки результата прогона на строкосинтезирующем АЦПУ. Там-то я и научился перфокарты свободно читать по пробитым отверстиям (навык благополучно утрачен за прошедшие с тех времен десятилетия).


  1. AlexanderS
    28.11.2019 23:26
    +1

    В свободной продаже были блоки БРП-3 и БРП-4. БРП-2 «Астро» являлся специализированным и просто так не продавался. Однако, конструктивно, в каждом модуле БРП на самом деле калькулятору доступна только половина микросхемы ПЗУ. И перепаяв перемычку можно «переключить» БРП-3 в БРП-2. Вот такие хитрости)


    1. VT100
      29.11.2019 09:04

      Касательно "Астро" предположу, что все программы были в книге "Средства навигации малых судов" (вторая половина 80-х). А может — и в "Катера и яхты".


      1. sfrolov Автор
        29.11.2019 10:50

        Модуль «Электроника-астро» описывается в книге «Практическое кораблевождение для командиров кораблей, штурманов и вахтенных офицеров» № 9035.1


  1. Sergani
    28.11.2019 23:30
    +2

    Мк-52 мое первое вычислительное устройство.
    Именно благодаря ему я теперь разработчик.
    Потом были мк85 и бк-0010


  1. emmibox
    28.11.2019 23:57
    +1

    Не логичнее было бы землей внешней платы взять -15в устройства а + запустить 0в устройства через стабилизатор. По идее убираются как минимум 2 элемента (если у процессора есть pull up — три) с выхода каждого компаратора. А то схема какая то переусложненная…


    1. sfrolov Автор
      29.11.2019 08:00

      Логичнее, но преобразователь калькулятора очень слабый, рассчитан только на свои цепи и лучше на него дополнительно ничего не нагружать. А с батареи бери что хочешь.


  1. tuxi
    29.11.2019 00:51
    +2

    Вспомнил как в ср.школе, наша математичка выбила через директора деньги на изготовление и установку большого макета 34-го калькулятора, чтобы повесить его в классе.
    Размеры получилось где-то метр шириной и полтора высотой. Внутри обычный 34-й, кнопки и индикатор были продублированы большими кнопками и большими газоразрядными индикаторами. Вроде как сделали этот макет наши шефы на заводе.

    У меня к тому времени уже полгода как был МК-61 и я несколько высокомерно отнесся к ее попыткам научить нас этим основам вычислительной техники и программирования. Ей было тогда 50 с лишним лет.
    Я только сейчас начинаю понимать, какой же я был дурак тогда, какие трудности она преодолела в попытках донести до нас эти знания в середине 80-х годов. Удивительный все же человек она была. Низкий поклон ей.


    1. salnicoff
      29.11.2019 10:43

      А чертежи были в «Моделисте-Конструкторе»…


    1. Ilyato
      29.11.2019 10:56

      Вспомнил как в ср.школе, наша математичка выбила через директора деньги на изготовление и установку большого макета 34-го калькулятора, чтобы повесить его в классе.
      Размеры получилось где-то метр шириной и полтора высотой. Внутри обычный 34-й, кнопки и индикатор были продублированы большими кнопками и большими газоразрядными индикаторами. Вроде как сделали этот макет наши шефы на заводе.

      У нас висело чудо поменьше, и основой кажется был мк-54 или даже мк-61, но я почему-то думал, что это серийное изделие.


      1. sfrolov Автор
        29.11.2019 11:00
        +1

        Они вполне себе серийно производились
        www.leningrad.su/museum/surf.php?start=420


    1. drWhy
      29.11.2019 11:32

      Удивительный все же человек она была. Низкий поклон ей.
      Наша выбила ПМК на весь класс + сейф для хранения и зарядки. А в классе информатики шефы установили штук пять Д3-28.


      1. sfrolov Автор
        29.11.2019 11:34

        В нашей школе учительнице вручили премию, и она на эти деньги купила целый компьютерный класс.
        sfrolov.livejournal.com/66588.html


        1. firegurafiku
          29.11.2019 17:36
          +2

          (Цитата из поста по ссылке:) У нас была очень хорошая школа — школа № 344 города Ленинграда. Еще у нас была классная учительница по химии — Людмила Васильевна Махова. За заслуги в области преподавания ей вручили премию в размере 70000 (!) рублей, которую она передала школе, и на эти деньги приобрели компьютерный класс.

          Эта тема поднималась у вас в ЖЖ в комментариях, но неужели вы правда верите, что бывают премии в размере нескольких тысяч месячных окладов? Пусть даже и in Soviet Russia.


          1. sfrolov Автор
            29.11.2019 17:43

            1. firegurafiku
              29.11.2019 18:20

              history344.blogspot.com/2011/05

              Не совсем понял, что вы хотели этим сказать. Поэтому позвольте пояснить свой вопрос: вы правда верите, что у вашей учительницы была реальная возможность распорядиться этими деньгами в пользу себя — построить дом, купить машину, съездить зарубеж?


              1. sfrolov Автор
                29.11.2019 20:29

                Ну конечно предполагалось, что хорошо бы чем-то поделиться с родной школой.


                1. emmibox
                  01.12.2019 14:23

                  Не путайте премию и персональную премию. 84к безналичных советских рублей — это не предполагалось, что она поделиться. Это значит что она без вариантов не получала вообще ни копейки из этой суммы. Хотя почетную грамоту наверно дали ради такого случая.


              1. geher
                29.11.2019 21:33

                Не знаю, как у той конкретной учительницы, но были реальные случаи премирования на столь серьезные суммы. Обычно премия прилагалась к серьезным государственным наградам, но бывало и просто отдельно за особые заслуги.
                Также были государственная и ленинская премии (поменьше, 5000 и 10000 р на момент учреждения в 1957), которые вручались на регулярной основе.
                И распоряжались получившие такими премиями по разному. Кто машину или дачу покупал. А кто вкладывался во что-то общественно полезное (от покупки нового трактора для родного колхоза до перечисления всего в фонд мира).


            1. DrPass
              29.11.2019 19:04
              +2

              Зная те реалии, я склоняюсь к тому, что премию ей как раз и выписали с тем условием, что она тут же её перечислит на нужды школы.


              1. timoteo_cirkla
                30.11.2019 18:49

                Такой премии быть не могло. Поменьше размером в несколько раз, но тоже большие, были. Но никак не 70 тысяч советских рублей.


                1. geher
                  01.12.2019 21:00

                  Учитывая, что премия была от ВХО, а не от правительства, то вполне возможно, что на самом деле это всего лишь доля учительницы за изданные обществом книги ее авторства и, может быть, еще плюс от щедрот (или наоборот, не все выплатили).


        1. fougasse
          29.11.2019 19:02

          а сколько Волг купили чиновники?


    1. engine9
      29.11.2019 19:28

      Классная история.


  1. KanuTaH
    29.11.2019 01:29
    +1

    Был у меня такой классе в пятом, написал на нем кучу программ разного рода и игр типа "посадки на Марс" (правда, к тому времени я уже имел опыт написания программ для ЕС ЭВМ, но это был мой первый опыт написания программ непосредственно в машинных кодах, было очень здорово). К сожалению, носить его с собой было неудобно во-первых из-за габаритов, а во-вторых из-за того, что автономное питание у него было сделано на батарейках, а не на аккумуляторах, а достать аккумуляторы в форм-факторе пальчиковых батареек тогда было нетривиальной задачей, поэтому заниматься хакингом в школе не получалось, только дома. До сих пор вспоминаю его с удовольствием.


  1. 200sx_Pilot
    29.11.2019 03:50

    1987 год
    МК-61, четыре Д-006 вместо пальчиков (или Д-015? не помню точно).
    Подзаряжался от штатного БП. Мне — хватало.

    А в армии — артиллерийские таблицы на МК-52.


    1. Serge78rus
      29.11.2019 10:29
      +2

      Д-006, Д-01, Д-055 — это дисковые аккумуляторы в форме таблетки. Вместо «пальчиковых» батареек (AA, советское обозначение «элемент 316») вставали советские аккумуляторы ЦНК-045, но они были редкостью.


      1. Kobzar_habr
        29.11.2019 16:54
        -1

        После первого 0 ставится запятая.


      1. vdshat
        29.11.2019 19:43

        Честно говоря, без особых проблем купил аккумуляторы на 52й.


      1. 200sx_Pilot
        01.12.2019 01:59
        +1

        Не было у меня пальчиковых, 316 были дефицитом и стоили 15 коп/штука, а дисковые — были.
        И в батарейный отсек — помещались. И крышка закрывалась.
        Паяльник у меня тоже был. И аспирин был.

        нелёгкое выдалось детство, ежли с нонешних времён глядеть ;)

        ЦНК были 1,1В, а 3,3 — для 61-го маловато было.
        Я ж говорил — четыре ставил.


        1. Serge78rus
          01.12.2019 11:02

          нелёгкое выдалось детство, ежли с нонешних времён глядеть ;)
          Мое детство застало еще более тяжелые времена — даже самые доступные 373 элементы приходилось запасать с зимы, т.к. летом невозможно было купить никаких батарей. Но это было задолго до эпохи калькуляторов, потом с батареями стало немного полегче. И Вы правы — по тем временам купить комплект батарей при регулярном использовании было очень чуствительно для семейного бюджета.


  1. YouHim
    29.11.2019 09:40

    Ностальгии пост… До сих пор помню, чего мне стоило выпросить у родителей МК52…


  1. oq0po
    29.11.2019 10:19

    … доступная цена в 65 рублей за МК-54, 85 рублей за МК-61 или 115 рублей за МК-52…

    1) при зарплатах МНС в 90- 120 руб в месяц… и люди мечтали о прибавке к зарплате в 5 рублей.

    Инженер в шараге получал до вычета налогов и бездетности 140- 200 руб в месяц (с квартальными премиями) т.о. — это примерно от половины до двух третей зарплаты.

    В «домашнем хозяйстве» такие вычислители были совершенно бесполезны, выдавали их почти исключительно на работе.


    1. BiosUefi
      29.11.2019 12:48
      -1

      >>ри зарплатах МНС в 90- 120 руб в месяц

      Какая убойная критика, но расскажите про зарплаты и цены на подобную продукцию в ФРГ 70-80хх?
      Если в 90хх директор(!!) гимназии, после ВСЕХ обязательных платежей, мог отложить от зарплаты ежемесячено 100 марок(!!).


      1. tvr
        29.11.2019 13:10

        А МНС в 90хх, после ВСЕХ обязательных платежей, НЕ мог отложить от зарплаты ежемесячно 100 марок(!!) — у него и на эти обязательные платежи не особо хватало
        Шах и мат.


        1. sfrolov Автор
          29.11.2019 13:20

          В 90-х все уже повально увлекались синклерами — упомянутые МНС, студенты и прочее. По деталям выходило в районе 400-500 рублей в ценах до 1991 года, и ничего, где-то находили деньги.


          1. tvr
            29.11.2019 13:23

            где-то находили деньги.

            Ключевое слово здесь — «где-то находили», а не «зарплата».
            Так-то да, полдня на разгрузке вагонов на товарной станции — от 20… 50 рублей при стипендии в 20-30р.(?) 1986-87 годы, РнД.


            1. sfrolov Автор
              29.11.2019 13:25

              Во-во. Было бы желание. Как сейчас все с дорогими айфонами, которые в пересчете на количество зарплат тоже стоят порядочно.


          1. VolCh
            30.11.2019 07:11
            +1

            Необязательно деньги находили, детали тоже находили.


      1. oq0po
        29.11.2019 14:43

        А не был в ФРГ в те времена, поэтому вы уж сами всё расскажите, раз в курсе. Для меня и для всех советских людей ФРГ тогда был вероятным противником.


    1. DrPass
      29.11.2019 14:57

      1) при зарплатах МНС в 90- 120 руб в месяц… и люди мечтали о прибавке к зарплате в 5 рублей.

      Ну это смотря кому доступная. Инженеры в СССР были двух типов — которые ездили в отпуск на Домбай с гитаркой и играли в настольный теннис, и которые активно шабашили. Вторая категория могла себе позволить и калькуляторы, и компьютеры, если удавалось их купить (или спереть микросхемы и спаять)


      1. Ankoroid
        29.11.2019 15:18
        -10

        Если мы говорим о времени выхода МК-52 в более-менее широкую продажу — т.е. про 86-87 года, то в это время калькуляторы представляли особый интерес только для студентов и нищих МНС, остальные уже думали про компьютеры :)


        1. DrPass
          29.11.2019 15:23
          +7

          Ой, да ладно, с ними до начала 90-х взрослые бородатые дядьки игрались. Компьютеров в СССР было во много раз меньше, чем желающих их иметь, даже включая самосбор.


          1. Ankoroid
            29.11.2019 15:34
            -7

            Это были какие-то очень ленивые дядьки, либо очень далекие от IT :)
            Копить ради МК-52, когда уже был РК-86 — все таки странно.


            1. DrPass
              29.11.2019 15:46
              +6

              Ну во-первых, РК-86 хрен было где купить/собрать. У него там пачка редких и дорогущих по тем временам БИС была. Да даже одна ПЗУшка РФ2 в 1986-м стоила как треть того МК-52.
              Во-вторых, РК-86 — это была домашняя игрушка для гиков. А калькуляторы покупались всё-таки для инженерной работы. Посмотрел бы я, как вы на РК-86 посчитаете какое-нибудь уравнение, да или банально любую тригонометрическую функцию. На 8-битном процессоре, в котором отсутствует даже команда умножения.


              1. Ankoroid
                29.11.2019 21:56
                -2

                С ума сойти, а как же я тогда считал? :) Там же был Basic, в котором все было.


                1. DrPass
                  29.11.2019 23:25
                  +2

                  Бейсик? Это же не Спектрум. Бейсика там не было, только примитивный монитор. Бейсик там только с магнитофона грузился. Вы себе представляете инженера, который в здравом уме будет минут пять грузить с магнитофона интерпретатор (это ещё если с первого раза загрузится), потом набирать там программу, вместо того, чтобы просто нажать несколько кнопок на калькуляторе?


                  1. Ankoroid
                    29.11.2019 23:31

                    Я в 80е и на логарифмической линейке мог быстро посчитать что-то мелкое :)
                    А что касается рассчетов — если мы говорим о программируемом калькуляторе, то напомнить, как туда вбивали программы (на б3-21/34) каждый раз с нуля? И не 5 минут это занимало…
                    А бейсик на РК-86 грузился быстрее (там килобайт 8 всего было).

                    Ну и для условных синусов и корней были калькуляторы попроще и подешевле.


                    1. DrPass
                      30.11.2019 01:01

                      Вопрос риторический. Программировать МК-52 было, скажем так, несложно. И не каждый раз с нуля, ибо энергонезависимая память. И для инженеров были наборы картриджей с программами. И к тому же набор встроенных функций у него был заметно поширше, чем даже у Бейсика Микро-80, который потом стал Бейсиком РК-86, который потом стал Бейсиком Специалиста, который потом… Поэтому нет, РК-86 — так себе замена МК-52. У них реально разные задачи.


                      1. Ankoroid
                        30.11.2019 01:28

                        Ну помилуйте, вот у нас ВУЗ горный — никаких картриджей для МК-52 на эту тему не было, поищите картриджи с расчетом по тому же сопромату для МК-52 ;)

                        Бейсик на РК-86 был от Microsoft, он вполне качественный.

                        Понимаете, есть разница — хороший инженерный калькулятор, с ним все понятно. И есть — программируемый калькулятор.
                        Он ни в коем случае не может заменить компьютер, ну вот прямо совсем.
                        Тем более с таким суровым подходом, как на МК-52.

                        Не удивительно, что МК-85 был мечтой, а МК-52 — нет :)


                        1. DrPass
                          30.11.2019 01:43

                          Он ни в коем случае не может заменить компьютер, ну вот прямо совсем.

                          Компьютер компьютеру рознь. Полноценный компьютер, наверное, не заменит. Игрушку вроде РК-86 заменит легко в подавляющем большинстве задач «настольных» расчётов. Какие-то табличные вычисления, где надо многократно считать по одной и той же сложной формуле (а лучше по нескольким) продуктивнее будет на компьютере. А если же считать надо разные формулы, то МК-52 по продуктивности уест РКшку по самые небалуй. Особенно если учесть, что возможность использовать РКшку вообще закончится на первой же формуле, где надо посчитать десятичный логарифм или возведение в дробную степень.
                          Понимаете, есть разница — хороший инженерный калькулятор, с ним все понятно. И есть — программируемый калькулятор.

                          В линейке калькуляторов, выпускаемых СССР, программируемый калькулятор а-ля МК-61 и МК-52 были надмножеством хороших инженерных калькуляторов, а не их альтернативой. Ничего более инженерного, с бОльшим количеством функций, вы найти бы и не смогли, разве что МК51/71, где были ещё статистические функции. Но программируемому этот момент как раз не особо принципиален.


                          1. Ankoroid
                            30.11.2019 02:34

                            1. Вам показать BASIC, где все это реализуется и считает сильно быстрее жутко тормозных МК/Б3? Вы вообще помните, как медленно они работали?

                            2. Давайте лучше вспомним МК-85, по сравнению с которым МК-52 был полным отстоем.


                            1. DrPass
                              30.11.2019 02:46

                              1. Вам показать BASIC, где все это реализуется и считает сильно быстрее жутко тормозных МК/Б3?

                              Сейчас? Нет, не надо. Я верю, что в 2019-м году для ВМ80А есть куча подпрограмм на все случаи жизни, а Бейсик уже усилиями энтузистов приобрел оконный менеджер и библиотеку параллельных вычислений. Вы лучше расскажите, где их можно было взять инженеру в условном 1986-м году.
                              Вы вообще помните, как медленно они работали?

                              Помню, три-четыре операции в секунду, тригонометрия — примерно одну в секунду. Для игрушек маловато, для использования калькулятора в качестве калькулятора, в общем-то, достаточно.
                              2. Давайте лучше вспомним МК-85, по сравнению с которым МК-52 был полным отстоем.

                              Давайте. Я жил в крупном городе-миллионнике, и МК-85 до середины 90-х видел аж один раз. По телевизору, в какой-то передаче про зеленоградские заводы. Вот что мне при таком раскладе было толку от его 2 килобайт памяти и 16-битного процессора?


                              1. Ankoroid
                                30.11.2019 02:53

                                1. А чего Вам не хватало в MS Basic в 1986 году? Вот конкретно, что нужно посчитать, что в нем невозможно сделать?

                                2. Так мы же не про калькулятор, а про программируемый калькулятор. Который считает 100 операций (условно) и выдает результат.

                                3. Странно у Вас как-то было, я его видел в 1988 году, а в середине 90х у меня уже такое было… уу…
                                Мне он, в целом, нравился, но желания все бросить и его купить — уже не было.
                                Б3-34 считал все, что нужно было инженеру, а для программирования уже хотелось компьютера.


                                1. DrPass
                                  30.11.2019 03:05

                                  1. А чего Вам не хватало в MS Basic в 1986 году? Вот конкретно, что нужно посчитать, что в нем невозможно сделать?

                                  Да 30 лет прошло, вы что, думаете, я хоть одну прикладную задачу вспомню? :)
                                  Там был синус, косинус, тангенс, квадратный корень, натуральный логарифм, экспонента. Вот, собственно, вся доступная вам математика. В калькуляторе набор доступных функций намного шире. Да, теоретически на компьютере можно реализовать любую другую функцию. Практически, в 1986-м году, без интернетов под рукой это неосуществимо.
                                  Который считает 100 операций (условно) и выдает результат.

                                  Ну 100 операций — это аж 25 секунд. И 100 операций, это, минуточку, очень неслабая формула. Такую ещё попробуй найди.


                                  1. Ankoroid
                                    30.11.2019 03:08

                                    1. Так скажите, что нужно реализовать на бейсике, попробуем! Благо эмулятор под рукой ;)

                                    2. Несколько форум, не так уж и много. У меня студенты на маткаде считали их десятками ;)


                        1. VolCh
                          30.11.2019 07:21
                          +1

                          Смотря для кого МК-52 не был мечтой. Для обладателей БЗ-34 или МК-61 — был.


                          Ну и МК-61 я успешно использовал во время учёбы для лабораторных по физике, схемотехники и т. п. и просто по вышке на первых курсах. У некоторых однокашников уже и PC были. Но с ПМК всяко лучше было чем с обычным инженерным МК (у меня и МК-51 кажется был) когда по относительно сложной формуле надо посчитать табличку.


        1. kuza2000
          29.11.2019 23:19
          +1

          Ну-ну… Что-то Вы немного запутались во времени, видимо. В то время на градообразующем предприятии, на котором я впоследствии работал, эксплуатировали СМ-1420. Была пара монохромных «Роботронов» с тактовой частотой несколько мегагерц — не удивлюсь, если это были единственные персоналки в городе. Стоили они столько, что даже представить не могу, кто мог такую технику позволить себе дома. Синклеры к нам пришли только в начале 90х. В столицах может быть чуть раньше, но точно уж они не были распространены в 86-87 г., как Вы пишете.

          И с РК-86 все было очень даже не просто, КР580ВГ75 днем с огнем было не найти. И какой процент населения умел паять? Да так, что бы спаять компьютер!? А наборы готовые тоже появились чуть позже. РК-86 у меня был позже, из набора, году в 88-89. И это было не устройство купил — и используешь.


          1. Ankoroid
            29.11.2019 23:34

            Кошмар, что это за город такой?
            В 1987 году уже начали даже ямахи MSX-2 поставлять за валюту, в нашем институте был целый класс.


            1. kuza2000
              29.11.2019 23:51

              Небольшой город 50 тыс. населения в Пензенской области. Ямахи в то время видел в одном месте в Пензе. А почему «Кошмар»? Что СМ1420? В то время персоналки не годились для серьезной работы, никакие. Та СМ1420 с 512 Кб памяти тянула 50 рабочих мест (с расстоянием до нескольких км), базу с кадрами на ~5000 чел, расчет зарплаты, производство. Ни одна персоналка того времени не могла потянуть тех задач. Локальные сети были только в зародыше.
              Чуть позже начали появляться 286, 386. Пытались заменить ими СМ1420 в той же архитектуре, для многопользовательской работы. Но без успеха, хотя они мощнее по производительности. К ним просто нечем было подключить рабочие места — порты RS232 даже в пределах нескольких кабинетов горели один за одним. Про пару километров я даже не говорю. Ну а потом начали появляться локальные сети.


              1. Ankoroid
                30.11.2019 00:01

                Ну почему же персоналки не годились для работы? Что Вы под работой подразумеваете? Yamaha MSX-2 — на ней были и текстовые редакторы и dbase и pascal и си, а ведь это 8-битный компьютер, который спихнули СССР.
                И лучше личная (на своем столе) ДВК-2, чем СМ1420 в нескольких километрах :)

                Терминалы на 286 были, под XENIX, если делать по уму, то ничего не горит ;)


                1. kuza2000
                  30.11.2019 00:27

                  Как Вы на «своей» персоналке организуете работу 50 онлайн пользователей с общей базой данных? Пользователи находятся на расстоянии нескольких км. Локальных сетей нет.

                  >Терминалы на 286 были, под XENIX, если делать по уму, то ничего не горит ;)

                  Буду рад услышать, как можно было сделать «по уму», что бы ничего не горело. Условие задачи: у пользователя есть терминал, он в 2 км. Локальных сетей нет. Модемов нет. Единственная связь с ним — телефонный медный кабель, вместе с сигналом идут обычные телефонные линии с напряжением 60 вольт. Терминал и компьютер могут питаться от разных фаз, и даже разных подстанций.


                  1. Ankoroid
                    30.11.2019 00:37
                    +1

                    Если у них 50 персоналок, то поверьте, персоналки тоже могут быть терминалами :) Но при этом пользователь не сидит всегда на 300 бод, а может комфортно работать локально, заливая подготовленные документы на центральный Unix/Mainframe компьютер.

                    порты RS232 даже в пределах нескольких кабинетов горели один за одним
                    Пардон, Вы говорите про кабинеты или про 2 км? В пределах нескольких кабинетов на мультипортовых картах с гальванической развязкой терминалы будут работать отлично, даже на 9600.
                    На 2 км ставились модемы и работали.

                    Тем более, что инженеры, которые покупали калькуляторы, вовсе не стремились сидеть за тормозным текстовым терминалом с лимитом рабочего времени, а хотели компьютер в свое полное расопряжения.
                    Не помните, разве, кайф от нарисованного графика на экране своего (!) компьютера? :)


                    1. DrPass
                      30.11.2019 00:55
                      +1

                      Не помните, разве, кайф от нарисованного графика на экране своего (!) компьютера? :)

                      Вы же вроде как РК-86 владели, вам-то кайф от нарисованного графика уж точно были неведом ;)


                      1. kuza2000
                        30.11.2019 01:07

                        На РК-86 графики рисовать было можно :)


                        1. DrPass
                          30.11.2019 01:12
                          -2

                          Разве что текстовыми закорючками. Все равно не те ощущения, графики из псевдографики — первый шаг к безалкогольному пиву.


                          1. kuza2000
                            30.11.2019 08:58

                            Не закорючками, а точками. Только эти точки были слегка квадратными :) И мало их было (100*60 псевдографическое разрешение экрана). Графики были не особо красивыми, но вполне наглядными.


                      1. Ankoroid
                        30.11.2019 02:31

                        Я не владел РК-он был у коллег. У меня была взятая из института Yamaha MSX-2 :)


                    1. kuza2000
                      30.11.2019 01:06

                      >заливая подготовленные документы на центральный Unix/Mainframe компьютер.

                      Какие документы Вы собираетесь заливать, если у центральной машины два диска по 20 МБ? Все же Вы не помните реалий тех времен :) Да и не нужно никаких документов было хранить, документы тогда были только бумажные. Нужна база с онлайн доступом.

                      >В пределах нескольких кабинетов на мультипортовых картах с гальванической развязкой терминалы будут работать отлично, даже на 9600.

                      Вот это верно. Ключевое тут «с гальванической развязкой». Терминалы могли работать по RS-232. Или по ИРПС-М, у которого с развязкой все в порядке. Мультипортовую карту можно было найти (в Москве) на RS-232. На ИРПС таких карт, естественно, не было.

                      >Тем более, что инженеры, которые покупали калькуляторы, вовсе не стремились сидеть за тормозным текстовым терминалом с лимитом рабочего времени, а хотели компьютер в свое полное расопряжения.

                      1. О каком лимите речь? Терминал все время включен.
                      2. О каких инженерах речь? Необходимо вести кадровый, табельный, зарплатный и подобный учет.

                      Если честно, не понимаю о чем спор. Я привел конкретные условия задачи — общая база на 50 онлайн пользователей. Кадровая база, расчет зарплаты на 5000 чел и другие задачи. Терминалы уже есть. Каналы связи написал. В этих условиях в то время на персоналках это сделать было либо невозможно, либо безумно дорого. Только менять всю инфраструктуру — рабочие места, каналы связи, программное обеспечение. (А еще работники завода не получали зарплату полгода, так как рухнула вся экономика в стране и завод стоит. Денег даже на зарплату нет. Но ее по прежнему рассчитывать надо.)


                      1. Ankoroid
                        30.11.2019 02:30

                        Обычные документы, например — форматированные статьи или результаты рассчетов.
                        На локальных компьютерах вообще могли быть диски по 160 килобайт, это нисколько не мешало.

                        База с «онлайн доступом» — это Вы так называете тупые терминалы на 300 бод, работать на них было совершенно не в кайф, а даже наоборот — очень неприятно.

                        Терминальные концентраторы и сейчас в строю, с подключениями RS-232, стоит такая на 32 порта в серверной, порты забиты целиком :) Diji зовется. Ведь законы физики с тех пор не изменились?

                        То, что терминал всегда включен вовсе не означает, что твой рассчет будет считаться весь день.
                        Ваши рассказы про рассчет зарплаты о многом говорят — это была вообще какая-то особая каста программистов, которая для каждого предприятия писала свой аналог современной 1С. То, что они там делали, зачастую, было просто страшно видеть.

                        Расскажите мне, зачем менять каналы связи для терминального подключения IBM PC к ЕС? Какое ПО нужно было менять, если XENIX — это обычный Unix?
                        Или Вы про то, что нужно 50 терминалов цеплять к одному компьютеру для рассчета зарплаты?
                        Да меня этот рассчет зарплаты вообще не интересовал, а вот возможность нарисовать собственную визуализацию рассчетов — интересовала. Вы же не будете рассказывать, что на ваших терминалах была графика? :)

                        Когда работники завода перестали получать зарплату — я как раз начал ее получать и в долларах, так что времена были разные ;)
                        Напомните, куда делся весь тот софт для СМ? И расскажите, почему все переписали?


                        1. DrPass
                          30.11.2019 02:35
                          +1

                          Обычные документы, например — форматированные статьи или результаты рассчетов.

                          Допустим, статьи никто на СМках не редактировал и не хранил, а результаты обычно шли сразу на телетайп, а не в файлы.
                          База с «онлайн доступом» — это Вы так называете тупые терминалы на 300 бод, работать на них было совершенно не в кайф, а даже наоборот — очень неприятно.

                          Вы прямо сейчас пишете свои комментарии на девайсе с временем отклика хуже, чем у того терминала :)
                          Расскажите мне, зачем менять каналы связи для терминального подключения IBM PC к ЕС

                          Потому что IBM PC имеет RS-232 с управлением по напряжению, а ЕСки — токовую петлю ИРПС.


                          1. Ankoroid
                            30.11.2019 02:39

                            1. А почему не хранили? У нас вполне готовили статьи на персональных компьютерах, что мешает это делать на терминале? Тем более, какой телетайп, если нужно, допустим, отправить научную статью по электронной почте (Вы в курсе, что у нас была глобальная научная компьютерная сеть с электронной почтоой во времена СССР? :)

                            2. Вы бы лучше не шутили так жестоко, а вспомнили, что такое 300 бод и с какой скоростью на экране выводилась информация.


                            1. DrPass
                              30.11.2019 02:58
                              +1

                              1. А почему не хранили? У нас вполне готовили статьи на персональных компьютерах, что мешает это делать на терминале?

                              Потому что на терминале вы делаете то, что вам разрешили и что позволяет софт. Если ваша ЭВМ используется для табельного учёта и расчета зарплат, вы там ведёте табельный учёт и считает зарплаты. Это было слишком дорогое удовольствие, использовать машинное время ЭВМ для того, что можно набрать на печатной машинке.
                              (Вы в курсе, что у нас была глобальная научная компьютерная сеть с электронной почтоой во времена СССР? :)

                              Не в курсе. Я знаю, что некоторые советские ВУЗы были включены в европейскую EARN, но а что ещё было? Расскажите.
                              2. Вы бы лучше не шутили так жестоко, а вспомнили, что такое 300 бод и с какой скоростью на экране выводилась информация.

                              300 бод — это секунд пять на полное обновление экрана. Учитывая, что всякие там Videoton'ы умели в протокол IBM 5250 и соответственно гоняли туда-сюда не весь экран, а только те поля, которые надо изменить, вполне нормально оно работало.


                              1. Ankoroid
                                30.11.2019 03:06

                                1. Так она же не 24x7 читает зарплату. У вас там какая OS была?

                                2. Была АкадемСеть — советская научная сеть, X.25, в Риге сидели программисты и было даже свое железо (ну, относительно «свое»). Был выход за границу, но ОЧЕНЬ лимитированный (у нас не было).

                                3. 300 бод — это 30 символов в секунду, как же весь экран так быстро обновить? У вас была CM, а не ЕС, так что 5250 там и близко не было.


                                1. DrPass
                                  30.11.2019 03:15

                                  У нас СМок не было, была ЕС 1036. Про СМки kuza2000 упоминал.


                                  1. Ankoroid
                                    30.11.2019 03:22

                                    Пардон, тогда мы сравниваем несравнимое. 1036 по содержанию золота стоила столько, что можно было купить много писишек и даже сервер для них.


                  1. 200sx_Pilot
                    01.12.2019 02:08

                    Гальваническая развязка интерфейсов.
                    Сигнализация «2 из 6».
                    Даже модемы тогда были, 300 бод — скоростные…


      1. Ark_V
        29.11.2019 18:07
        +4

        Инженеры в СССР были двух типов

        Так то да, но вот по личным ощущениям от воспоминаний того времени, те которые шабашили, в основном деньги зашибали на жигули/москвичи и их содержание, импортную мебель и бытовую электронику, ну и на сдачу в кабаке посидеть, прагматиками были одним словом. Калькуляторы не входили в круг их жизненных интересов. Калькуляторами больше интересовались как раз те, что с «гитарами и в тенис», романтики в общем. Так как-то.


    1. VolCh
      30.11.2019 07:10

      Доступная по сравнению с 500+ рублей за ПЭВМ различные. Или порядка 700 рублей за телевизор.


      Ну а польза могла быть в виде "ребёнок займётся, может пригодится в жизни"


  1. Doomland
    29.11.2019 10:25

    Только что достал из ящика тумбочки мой МК-52, купленный в 1989-м и до сих пор живой. Вставляем дюраселки — и вперёд. Надписи правда подстёрлись и блок питания куда-то делся, но ведь работает, блин. Если поднести к уху — слышен писк, на пределе слышимости. До появления у меня в 1994-м моего первого Поиск-2 — это было моё первое окно в программирование.


  1. justhabrauser
    29.11.2019 10:34
    +1

    В итоге базовым числом… стало число 42

    Так вот где собачка порылась...


  1. Ankoroid
    29.11.2019 10:40

    Стоит еще упомянуть, что они были адски тормозные :(
    Мк-52 был быстрее Б3-34, но не очень.


    1. sfrolov Автор
      29.11.2019 10:53

      При одинаковой тактовой частоте МК-52 должен работать немного медленнее Б3-34 из-за дополнительного чипа и сделовательно большей цепочки битов в кольце.
      Конечно, быстродействие было не очень, но для большинства вычислений вполне хватало.


      1. Ankoroid
        29.11.2019 14:07

        МК-52 был быстрее (уверен, что можно найти результаты бенчмарков в интернет).
        У меня был Б3-34, я сравнивал.
        Хотя к моменту, когда МК-52 реально добрался до прилавков нашего города — мы уже знали про японские «чудеса» от Casio и вот именно Casio на тот момент нужно было сравнивать с айфоном :)


        1. sfrolov Автор
          29.11.2019 14:10
          +1

          Отдельные экземпляры вполне могут отличаться скоростью — там генератор собран на RC-цепочке, как я писал, частота гуляла от 80 до 100 кГц.


          1. drWhy
            29.11.2019 14:39

            Тест на разгон под азотом?


          1. akun
            29.11.2019 16:35

            Причем очень серьезно отличались. Когда у меня еще в те времена (начало 90-х) появился МК-52 сразу бросилась в глаза разница по быстродействию с МК-61. Программы выполнялись раза в полтора медленнее. Полез в схему, нашел резистор, задающий частоту. Поигрался с номиналом на том и другом калькуляторе. Выяснилось, что при увеличении частоты этот МК-52 начинал сбоить гораздо раньше, чем МК-61. Так что резисторы вполне могли подбирать на заводе, для обеспечения надежной работы.
            Может микросхемы попались не совсем кондиционные — не знаю. Диагностический разъем этом калькуляторе также не был впаян. Тем не менее, он жив до сих пор.


          1. KonstantinSoloviov
            29.11.2019 18:28

            … и я свой МК-52 через так разгонял подпаивая резистор, получалось чуть быстрее, по ощущениям, где-то на четверть, но по мере разрядки батареек начинались глюки вплоть до невключения, так что эта затея была быстро отставлена


  1. pae174
    29.11.2019 10:52

    Фотка «Микросхемы крупно:» выглядит так, как будто микрухи перепаивали вручную.
    Это действительно перепаивали или же с завода изначально такое поступило?


    1. sfrolov Автор
      29.11.2019 11:19

      Мелкие придирки. Они припаяны, а сверху вся область лаком покрыта.
      Вот крупное фото. i.ibb.co/82qp7d7/IMG-9530.jpg


  1. Serge_V
    29.11.2019 12:06
    +1

    В дополнение темы эмулятора Феликса Лазарева: вот здесь можно найти схему и исходники реплики МК-61 на микроконтроллере pic32.

    github.com/sergev/mk-61

    Имеется возможность обновлять программу калькулятора через интерфейс USB. Внешний вид примерно такой:

    image


  1. eugenk
    29.11.2019 13:48

    Огромный респект автору! Для меня это студенческие годы. Лабораторные в институте на этом считал.


  1. XVadim
    29.11.2019 14:36
    +3

    На основе кода Феликса Лазарева был разработан эмулятор для Android. Я добавил в этот эмулятор возможность экспорта и импорта программ во внешние файлы. Скачать эмулятор можно с Google Play: play.google.com/store/apps/details?id=com.cax.pmk.ext&hl=ru
    И набор подготовленный программ: xvadim.github.io/xbasoft//pmk/pmk.html


  1. vp1000
    29.11.2019 14:44

    Запомнился МС 1103. Мне отец его принес из института. Для него писал первые программы в школе. А еще прикручивал к нему измерение напряжения и управление по цифровым выходам. Наверное именно это толкнуло меня в сторону программирования. А мк-61 до сих пор лежит в ящике. Рука не поднимается выкинуть.


  1. SignallerK
    29.11.2019 14:52

    Эх ностальгия, познакомился с МК-61 в школе, но уже в середине 90х.
    Даже в игры были какие-то. Но самое главное что сей калькулятор требовал серьезного подхода. Потому что с обратной польской записью мало кто знаком, так что у среднестатистического школьника тогда был шок, что на калькуляторе 2+2 сложить нельзя.
    P.S. Вот сейчас зашел на эмулятор, и блин тоже уже не вспомню без инструкции как с ним работать :).


    1. gatoazul
      29.11.2019 23:43
      +1

      Я свой МК-61 специально приносил в школу и как бы невзначай просил одноклассников что-нибудь на нем посчитать.

      Такой техноснобизм.


  1. Vitaliy_dzen
    29.11.2019 15:24

    Тоже начинал «программирование» на МК-52 (начало 90-х). На станции юных техников (куда я ходил (школоте не понять) был даже кружек программирования на микрокалькуляторах, в наличии были МК-61. Отец, помню, подарил мне МК-52, вместе с калькулятором поставлялись две небольшие книжечки разных цветов. В одной из них (как помнится в синей но могу и ошибаться) была программа решения определителя матрицы 3 на 3. У меня получилось оптимизировать предложенную программу на один шаг, меня просто «распирало» от счастья… Даже была тетрадка куда заносились коды игр, обменивались ими с друзьями… и только потом у нас появились «Поиски», Пентиум 233 с «волшебной» кнопкой турбо и гибкие дискеты 5.25". Ностальжи однако.


    1. fougasse
      29.11.2019 16:10
      -1

      Зря вы множество хороших людей «школотой» называете базируясь на посещении кружков.


      1. Vitaliy_dzen
        29.11.2019 16:49

        Я имел ввиду поколение миллениумов и выше в хорошем смысле этого слова и обидеть никого не хотел. В свое время (начало 90-х) у нас в городе, где я проживал, была и просто станция юных техников и областная станция юных техников, подросткам было куда ходить и было что выбрать, правда в 2000-х это резко стало «неэффективно» и многое что по закрывали в угоду торгашам. Сейчас такого у государства нет.


  1. akun
    29.11.2019 16:43
    +2

    Сергей, спасибо за отличную статью! Как и многие, кто начинал программировать на калькуляторах, неровно дышу к этим машинкам.
    С детства помню, что где-то в инструкции было написано про ограниченный срок хранения данных во внутренней памяти МК-52 (кажется — около 10 лет). Года 4 назад включил калькулятор после долгого простоя (с конца 90-х) и решил проверить сохранность программ, благо все тетрадки сохранились. Оказалось, что таки данные портятся. В программе из 97 шагов изменилось 2 или 3 команды.


    1. speshuric
      30.11.2019 14:36

      Там кажется около 5000 часов гарантированных только было. А это всего около 200 дней.


  1. Kobzar_habr
    29.11.2019 16:53
    +1

    Сергей, привет! Спасибо большое! Это надо осмыслить (сначала, конечно, прочитать), вопросы будут позже. Кстати, мой первый компьютер – «Электроника Б3-21», а благодаря «Электроника МК 52», я в универе делал по 3-4 лабы за пару.


  1. JerleShannara
    29.11.2019 17:09

    Я только недавно отправил на пенсию МК-61, уж больно удобный был для «быстренько прикинуть и посчитать», плюс ещё в институте у меня его никто более одного раза не просил (спасибо RPN, брали первый раз и тутже «а где кнопка равно?»), что радовало, ну и в отличии от телефонов его на экзаменах у меня отобрать не пытались почти никогда.


  1. olekl
    29.11.2019 17:15
    +1

    А участвовал кто-нибудь в Клубе Любителей Игр по Переписке? :) Когда листики с программами для МК друг другу письмами пересылали? Ностальгия :)


    1. cross_join
      29.11.2019 20:06
      +1

      Добро пожаловать в КЛИП :)
      pmk.arbinada.com


  1. Andrey_Rogovsky
    29.11.2019 17:27
    +1

    Я тоже писал программы для МК и меня пару раз печатали в журналах. Жаль, не додумался сохранить их.


  1. VolodjaT
    29.11.2019 18:26
    +1

    Начал программировать на МК-61 где то в 2002 году (12 лет мне тогда было) — компьютер появился только в 2005 году
    Тепер разработчик .net



  1. TigerClaw
    29.11.2019 23:07

    Отличная статья. У самого был МК-52. На нем начинал программировать и очень долго его мучал. К сожалению не дожил до нынешних времен.


  1. VolCh
    30.11.2019 07:34

    А есть идеи чем было обусловлено применение газоразрядного индикатора? Как по мне чуть ли не единственный недостаток глобально был. И за несколько лет постоянной работы выгорел, раньше чем машинка "морально устарела"


    1. sfrolov Автор
      30.11.2019 09:27

      Он не газоразрядный, а люминесцентный. Чтобы использовать ЖКИ нужна отдельная низковольная логика и многоуровневый драйвер. ВЛИ проще в изготовлении и напрямую подключается к ногам чипа, у него управление очень простое.


      1. drWhy
        30.11.2019 10:05

        Не обязательно так сложно. Использовал когда-то четырёхразрядный ИЖЦ как на фото ниже, подключил его к выходам четырёх последовательно включённых десятичных счётчиков 561 серии. Итого хватило одной ноги МК, на которую выгружалось текущее значение (0-100 ? с шагом 0,1). При выгрузке из-за инерционности индикатора промежуточные значения он не отображал, показания не смазывались и читались хорошо. Индикатор копеечный, счётчиков был запас на складе.

        Ваша статья про ЖКИ интересна.
        ИЖЦ


        1. sfrolov Автор
          30.11.2019 10:19

          Можно примерно прикинуть, сколько ног надо на 12-разрядный ЖКИ без мультиплексии по типу Вашего. Получится по минимуму 8 * 10 разрядов + 2 на знаки + 1 общий = 83 ноги. Можно пересчитать, сколько дополнительно корпусов 176-й серии надо для регистров.


          1. drWhy
            30.11.2019 13:02

            Четыре десятичных счётчика, выход предыдущего на вход следующего. Плата около 1 дм2. Счётчики паялись на обратной стороне платы, потом индикатор, иначе не помещались в выбранный форм-фактор.


            1. sfrolov Автор
              30.11.2019 13:34

              4 счетчика — это для 4-х цифр.


              1. drWhy
                30.11.2019 13:52

                Верно, не переключился в контекст статьи.


        1. u_235
          30.11.2019 14:40

          Для продолжительной работы ЖКИ требуют напряжения переменного тока, иначе происходит деградация индикатора. Поэтому счетчики без дополнительных элементов «исключающее ИЛИ» — это хоть и работоспособное, но плохое решение.


          1. sfrolov Автор
            30.11.2019 14:42

            Счетчики К176-й серии заточены на ЖКИ. Там есть вход инверсии выхода, куда подключается частота для ЖКИ.


            1. u_235
              01.12.2019 17:33

              Да, в 176 серии есть такие счетчики, но drWhy говорит о 561 серии.


              1. drWhy
                01.12.2019 21:09

                Дело в 96 году было, где-то всё сохранилось, знать бы где. Вполне вероятно, что действительно 176 серия. На упомянутый вход для ИЖК были подключены 50 Гц после моста с БП.


      1. vinny496
        30.11.2019 15:13

        Ранние советские ЖК индикаторы штука ненадёжная, но были же светодиодные — почему их на лампы сменили?


        1. sfrolov Автор
          30.11.2019 15:35

          Светодиодные по всем параметрам хуже. Видны в темноте плохо, угол обзора никакой, дорогие, электричество жрут.


          1. vinny496
            30.11.2019 15:56

            В темноте? Их вроде как раз на свету из-за красного светофильтра хуже видно (по крайней мере у часов так).
            Дороговизна компенсируется ресурсом и надёжностью (VFD то выгорают, то в стекле контакт отходит от выводов).
            Энергопотребление и у лампового не лучшее, зато не надо повышающий преобразователь делать.


            1. jar_ohty
              30.11.2019 22:22

              Отечественные светодиоды по надежности и долговечности были как бы это сказать. В семисегментных индикаторах на советских приборах частенько можно видеть выбитые сегменты, а от динамической индикации они еще и выгорали из-за импульсных токов как бы не быстрее, чем ВЛИ.


  1. vinny496
    30.11.2019 15:09

    Буквально на днях распечатал «5 вечеров с микрокалькулятором», и тут статья в тему :)


  1. Sap_ru
    30.11.2019 15:48
    -1

    Можно ещё добавить, что как и подавляющее большинство прочей микроэлектроники микросхема К145ИК2 была не собственной разработкой, а попыткой повторить микросхемы разработки Toshiba, но с использованием более простой технологии (поэтому достигнуть характеристик оригинала никак не получалось).


    1. sfrolov Автор
      30.11.2019 16:09

      Есть чем подтвердить сказанное?


      1. DrPass
        30.11.2019 18:33
        +1

        Насчет конкретно К145ИК2 лично я ничего не знаю, но вообще калькуляторная серия К145 в 1970-е действительно активно передиралась с тошибовских аналогов. Взять, например, Б3-04, вот посмотрите на плату его шарповского прототипа:
        upload.wikimedia.org/wikipedia/commons/e/ea/Back_side_of_Glass_Circuit_Board_in_Sharp_EL-805_Calculator_Made_in_1973.jpg
        И на плату Б3-04 (с вашего позволения, воспользуюсь вашим же фото:-)
        www.leningrad.su/museum/37/b304-6.jpg
        Разводка микросхем практически полностью совпадает. Понятное дело, что для того, чтобы убедиться наверняка, надо их вскрывать, но и так, расположение выводов один в один говорит о том, что вероятность встретить внутри кристалл оригинальной топологии, а не содранный, как обычно, исчезающе мала.


        1. sfrolov Автор
          30.11.2019 18:49
          +1

          К145 — это не калькуляторная, а микропроцессорная серия. В серию К145 разные производители сливали чипы всевозможных технологий и назначения. Вот здесь можно убедиться в разнообразии.
          Этот Б3-04 — аналог Sharp EL-805. У нас калькуляторостроение происходило тремя путями: собственная разработка, как в чипах этой статьи, копирование иностранных чипов, как в Б3-04, МК-71 и других, и покупка технологий (например, фабрики у General Instruments — завод «Искра»).