Калькулятор МК-61
2014-01-03 21:29![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Сделал себе подарок на новый год: купил на ебее оригинальный советский программируемый калькулятор МК-61. Практически новый непользованый 1994 года выпуска. Инструкция, блок питания, заводская коробка, все дела. Когда-то такой девайс стоил целое состояние, 85 рублей.

Предыдущий калькулятор из этой серии, МК-54, был первым компьютером, для которого я писал программы - вместе с
_kalle_. Это была отработка наблюдений переменных звезд с усреднением по методу наименьших квадратов.
Вообще-то я озадачился построить реплику в железе, с современным светодиодным иникатором, нормальнами кнопками и интерфейсом USB. На макете уже кое-как работает. Исходники здесь: https://code.google.com/p/vak-opensource/source/browse/trunk/microcontrollers/mk-54/

Предыдущий калькулятор из этой серии, МК-54, был первым компьютером, для которого я писал программы - вместе с
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
Вообще-то я озадачился построить реплику в железе, с современным светодиодным иникатором, нормальнами кнопками и интерфейсом USB. На макете уже кое-как работает. Исходники здесь: https://code.google.com/p/vak-opensource/source/browse/trunk/microcontrollers/mk-54/
no subject
Date: 2014-01-04 06:01 (UTC)no subject
Date: 2014-01-04 08:51 (UTC)no subject
Date: 2014-01-04 06:35 (UTC)потратил рублей 20, чтобы туда-сюда ездить в Куйбышев
no subject
Date: 2014-01-04 08:53 (UTC)no subject
Date: 2014-01-04 10:24 (UTC)2 (два) раза меняли! - на мой взгляд, это самая красноречивания характеристика всей электронной промышленности СССР
(ну а на третий раз котенок издох целиком)
no subject
Date: 2014-01-04 11:54 (UTC)no subject
Date: 2014-01-04 21:27 (UTC)no subject
Date: 2014-01-04 21:33 (UTC)no subject
Date: 2014-01-04 12:13 (UTC)no subject
Date: 2014-01-04 06:37 (UTC)no subject
Date: 2014-01-04 08:54 (UTC)no subject
Date: 2014-01-04 12:23 (UTC)no subject
Date: 2014-01-04 19:28 (UTC)no subject
Date: 2014-01-04 21:29 (UTC)no subject
Date: 2014-01-04 11:54 (UTC)no subject
Date: 2014-01-04 08:30 (UTC)у меня тоже такой в столе лежит
no subject
Date: 2014-01-04 08:55 (UTC)Полезно иметь под рукой.
no subject
Date: 2014-01-04 08:41 (UTC)no subject
Date: 2014-01-04 08:59 (UTC)no subject
Date: 2014-01-04 09:00 (UTC)no subject
Date: 2014-01-04 09:35 (UTC)no subject
Date: 2014-01-04 12:27 (UTC)http://archaicos.livejournal.com/194083.html
:)
no subject
Date: 2014-01-06 07:51 (UTC)no subject
Date: 2014-01-06 18:43 (UTC)no subject
Date: 2014-01-06 18:42 (UTC)no subject
Date: 2014-01-04 09:34 (UTC)Кстати, я использовал фрагменты текстов из симулятора МК-54 на Javascript: http://mk-61.moy.su/mk-54.html
Вам случайно неизвестно, чье это хозяйство?
Сильно отличается от лазаревской версии в лучшую сторону.
no subject
Date: 2014-01-04 09:27 (UTC)no subject
Date: 2014-01-04 09:30 (UTC)no subject
Date: 2014-01-04 11:57 (UTC)no subject
Date: 2014-01-06 06:41 (UTC)no subject
Date: 2014-01-06 07:00 (UTC)no subject
Date: 2014-01-14 09:09 (UTC)Главная ветвь — это то, что в характеристиках калькулятора указывается как «Количество шагов программы». В семействе Б3-34 главная ветвь занимает 98 шагов — адреса с «00» по «97», в МК-61 и МК-52 105 шагов — с «00» по «104» (на экране отображается как «-4»). Если калькулятор в конце главной ветви не встретил команд В/О, С/П или БП, то счётчик шагов продолжает увеличиваться и калькулятор переходит в диапазон короткой побочной
http://ru.wikipedia.org/wiki/Главная_и_побочные_ветви
Короткая побочная ветвь занимает 14 шагов программы — с адреса «98» по «L1» (МК-61 и МК-52: 7 шагов с адреса «-5» по «L1»). Эти адреса соответствуют реальным адресам «00» — «13» (МК-61 и МК-52: «00» — «06»). Если в этих адресах калькулятор не встретил команд В/О, С/П или БП, то счётчик шагов продолжает увеличиваться и калькулятор переходит в диапазон длинной побочной ветви.
Длинная побочная ветвь занимает 48 шагов программы — с адреса «L2» по «F9». Эти адреса соответствуют реальным адресам «00» — «47»). Если в этих адресах калькулятор не встретил команд В/О, С/П или БП, то счётчик шагов продолжает увеличиваться и калькулятор переходит в главную ветвь. В длинной побочной ветви с адреса «C1» начинается «тёмная зона»: коды команд, записанные в соответствующие адреса главной ветви, при переходе в режим ПРГ на индикатор не выводятся, однако в режиме счета исправно выполняются.
Графически этот процесс выглядит так (на примере МК-52):
Ветви программной памяти калькулятора МК-52
Данная недокументированная особенность не позволяла писать программы длиннее документированного объема, зато позволяла дважды избежать команд безусловного перехода на нулевой адрес (иногда по нулевому адресу ставилась команда В/О).
160-шаговый цикл перестал поддерживаться в МК-152. Чтобы программы для советских ПМК пошли на современной ЭКВМ, их придётся переделывать. Программ, использовавших эту особенность, не так много, а память программ МК-152 значительно расширена[3] по сравнению с ПМК, выпущенными в Советском Союзе.
no subject
Date: 2014-01-19 05:34 (UTC)Сделал специальный тестик: https://code.google.com/p/mk-61/source/browse/trunk/programs/%D0%B2%D0%B5%D1%82%D0%B2%D0%B8.pmk
Вкратце суть следующая.
На участке 0-5 прибавляем 10000.
На участке 14-17 прибавляем 100.
На участке 48-49 прибавляем 1.
Запускаем: Cx, В/0, С/П. При первом останове на дисплее получаем число 10101. Это означает, что программа прошла все участки по одному разу, то есть просто выполнила главную ветвь. Нажимаем С/П и продолжаем.
После второго останова дисплей будет содержать число 40302. То есть один раз пройдена короткая ветвь (+10000), один раз длинная ветвь (+10100) и один раз главная ветвь (+10101). Снова нажимаем С/П чтобы продолжить.
После третьего останова получим число 70503 и так далее. Вроде сходится с описанием.
no subject
Date: 2014-01-04 20:40 (UTC)no subject
Date: 2014-01-06 06:41 (UTC)no subject
Date: 2014-01-04 21:56 (UTC)Для андроида есть полноценный эмулятор, включающий все недокументированные особенности. Называется MK 61/54. Есть режим Б3-34.
no subject
Date: 2014-01-06 06:38 (UTC)no subject
Date: 2014-01-05 15:50 (UTC)no subject
Date: 2014-01-06 06:34 (UTC)no subject
Date: 2014-01-06 09:02 (UTC)Всячина
Date: 2014-01-11 10:57 (UTC)