Калькуляторы, симуляторы и эмуляторы

В ноябре-декабре 2013 года я вспоминал программируемые калькуляторы в период их максимального расцвета - 1985-1990 гг. Как же давно это было... Последний текст цикла заканчивался так: "После нового года я собираюсь ещё немного порассуждать на некоторые отдельные темы, надеюсь, это будет интересно." Слово "давно" я употребил не просто так. Именно из-за этого фактора я элементарно не нашёл, о чём же я могу порассуждать после ТАКОГО перерыва, да ещё так, чтобы это было интересно аудитории, занимающейся вопросом до сих пор. КЛИП - история отдельная, к тому же, это воспоминания о событиях, в которых я принимал непосредственное участие. Но воспоминания - это одно, здесь достаточно памяти (к счастью, здесь у меня проблем нет), а вот для более-менее серьёзной аналитики (а несерьёзная вообще имеет право на существование?) надо хотя бы регулярно следить за темой. Не буду лукавить - не следил не по причине недостатка времени или ещё чего-то подобного "уважительного". Просто не было в этом потребности, да и самого интереса даже. Имеющиеся у меня инженерные калькуляторы использую крайне редко, простейший в телефоне - не так уж намного чаще. Вот я и употребил ещё одно ключевое слово, намного более важное, чем первое. ТЕЛЕФОН.

Тридцать лет назад в СССР далеко не в каждой квартире был стационарный телефон (или фиксированный, но это какое-то дурацкое слово, даже при том, что это вполне официальный термин; явно придумал мальчик-"манагер"), потёмкинские Москва и Ленинград не в счёт. Что изменилось за эти 30 лет - описывать подробно нет никакого смысла, похвалюсь только, что и мне посчастливилось с 1998 по 2007 годы поучаствовать в процессе мобилизации, чем я очень горжусь. Ведь изменение произошло очень радикальное, пусть не равное изобретению колеса, но соразмерное замене гужевого транспорта на автомобильный или винтовых самолётов на реактивные. Очень многие уже взрослые люди не понимают, как раньше обходились без мобильных телефонов (иногда называемых сотовыми), а само слово "телефон" уже давно обозначает именно мобильный, а не стационарный телефон.

Кстати, сами терминалы (или аппараты) изменились не менее радикально. Даже если не вспоминать "чемоданы", начав с увесистой огромной "лопаты" с минимальным объёмом функций (например, "Nokia-2110", помимо стандартных звонков и коротких сообщений, имела только таймер, а современный ей "Ericsson-GH388" с заметно меньшими габаритами содержал ещё полноценный будильник и редчайший тогда калькулятор; в том числе и это повлияло на мой выбор именно второй марки, которой пользуюсь до сих пор) и простейшим ЖКИ, устройство постепенно эволюционировало в лёгкий и тонкий практически компьютер с широчайшими возможностями и цветным (всё чаще сенсорным) экраном. Замечу, что тенденция возвращения к габаритам лопаты уже не первая (были и раньше не раз), но массовой я бы её не назвал.

Есть и ещё одно новоприобретение - появились так называемые смартфоны. Лично я считаю это деление очень условным, критерии смутны и запутанны. Причина появления нового термина - явно маркетинговая, говоря просто - притянута за уши для более простого и эффективного "отъёма денег у населения". Даже не всегда "сравнительно честного", как у автора термина, О. И. Бендера... Чтобы не было сомнений в моей компетенции по этому вопросу - кроме проектирования сетей мобильной связи я ещё и достаточно активно занимался торговлей самими терминалами, читал большой объём литературы, следил за рынком, "вращался в кругах" (строго в тот же период 1998...2007 гг. ежегодно ездил на выставки в Москву и ещё на некоторые бизнес-форумы)... К сожалению, с приходом "Евросети" прибыльность стала заметно падать и постепенно бизнес сошёл на нет.

После обширной вводной части можно переходить и к основной теме. Совсем недавно я ознакомился с обсуждением нового ПМК, в котором не раз упоминалась и перспектива выпуска "нового МК61". Не могу спорить - это было бы огромное событие, правда, вряд ли очень массовое, даже с поддержкой если не журналов, то заменившего их интернета. Изменилось слишком многое, и полного возврата к прежней ситуации быть не может. Самое главное - созданный, как ИНСТРУМЕНТ, ПМК превратился в предмет увлечения (или, по-русофобски, "хобби"). Такое явление не слишком частое, но и не удивительное.

Из близкой мне тематики могу вспомнить автомобиль "Трабант". Маленький, тесный, с внешними панелями из "дуропласта" и нещадно чадящим двухтактным (почти мотоциклетным) двигателем, бывший ранее объектом анекдотов и насмешек, но практически безальтернативный в уже не существующей стране ГДР, он сейчас один из самых культовых В мире! Из средства передвижения он переквалифицировался в объект увлечения и даже поклонения, как бы странно это ни выглядело. Но есть и существенные отличия. Если у меня "завалялся" старый "Трабант", я могу его отремонтировать или вообще восстановить (причём, вариантов много - от полной аутентичности до не менее полной хот-родской переделки), потом поставить в музей или просто в гараж, а могу ездить с разной степени активности. С калькулятором так не выйдет. Когда-то я тоже немного доработал свой МК52, но спустя некоторое время он перестал включаться (подробнее я писал в своём цикле материалов о КЛИПе). Насколько я знаю, восстановление возможно. Но даже в этом случае он уже явно не будет объектом обычного пользования. Хотя бы просто потому, что пользоваться неудобно, ибо есть более современные и уместные альтернативы. И я пока сомневаюсь, сможет ли войти в их число "перезапуск" ПМК...

Вопросов достаточно много.

Первый и самый главный - кому? Я сейчас НЕ имею в виду достаточно немногочисленную группу знатоков и просто интересующихся (статистики не имею, это моё логическое предположение по аналогии с ситуациями в других сферах, если ошибаюсь - прошу аргументированно поправить), как и другой "ограниченный контингент", которому из всех увлечений хватает баб, выпивки и футбола. Я очень сильно сомневаюсь, что "новый ПМК" даже при грамотной рекламе будет пользоваться даже средненьким спросом. Это автоматически подразумевает малый тираж, если не штучную сборку.

Второй, не менее важный для конкретного человека - почём? С учётом предыдущего пункта - крайне дорого. Возможно, дороже известного "Уй-Фона", на мой взгляд, абсолютно неудачного технически, но гениально раскрученного маркетингово. Не собираюсь подробно обсуждать это явление здесь, ограничусь только тем, что к подобному коммерческому (но не более) успеху эта фирма шла не одно десятилетие, выпустив до этого минимум три заметных устройства - стационарный компьютер, лаптоп и аудиоплейер. Да и тиражи очень ограниченными я бы не назвал... Я, конечно, не экономист, но элементарные здравый смысл и логика (плюс некоторый опыт) подсказывают мне, что ни один производитель на таком продукте не заработает. Что делает перспективу выпуска очень и очень призрачной.

Третий, но уже менее однозначный - зачем? Практическое применение ПМК сейчас достаточно сомнительно. Сразу по двум критериям. Один я уже упоминал - это просто неудобно. Даже если некоторая часть огромного количества программ переведена в некоторый электронный формат, то далеко не факт, что этот протокол будет поддерживаться новым устройством. Ну, а ручной ввод сейчас обсуждать даже как-то странно... Другой момент тоже важен. В своё время возник (ни одно событие не происходит само по себе, а только и исключительно при наличии определённых предпосылок и условий, как внешних, так и внутренних) именно КЛИП, а не КЛАП, не КЛЕП и даже не КЛОП. Потребность в играх есть всегда, тогда она была почти полностью неудовлетворённой, одним из доступных способов тогда оказался именно ПМК. Как только доступными стали более-менее персональные компьютеры, о ПМК достаточно быстро забыли... И совсем не секрет, что значительную часть своего "машинного" времени почти все пользователи компьютеров занимают именно играми. Кстати, далеко не только дети и подростки. К тому же, игры - это не всегда баловство и безделье. Конечно, есть и разные очень вредные игры, типа известной "Контры" ("Counter Strike") и ей подобных (замечу, что на ПМК ничего подобного не было). Но это ещё спорный вопрос, кто виноват. Лично я считаю, что всегда виноват человек, а не используемый им инструмент... И вообще - игр теперь везде полно. В том числе и всё в тех же ТЕЛЕФОНАХ в виде Ява-приложений.

И именно такой вариант я считаю решением проблем. В первую очередь - виртуальный, технические проблемы вторичны. Например, лично я бы вот не отказался ещё и от версий для Windows Mobile 5 и Windows XP, кому-то пригодятся другие, на том же Андроиде, например. Но базовым я бы всё-таки назвал приложение Java для обычных телефонов с разрешением ЖКИ 240х320. Вопреки распространённому мнению (намеренно не пишу - "заблуждению", потому что часть параметров нельзя назвать объективными), такой экран вполне пригоден для очень многих целей. Не могу говорить за всех, но сам я давно уже использую подобный с диагональю 2 3/8 " (60 мм) для всего, включая электронные книги, безо всяких проблем. В режиме почты одна строка вмещает 21 очень хорошо видимых символа (включая интервалы между ними). Дополнительный параметр - у меня зрение -8.5... Думаю, что с воспроизведением индикатора ПМК и его клавиатуры трудностей возникнуть не должно. Причём, индикацию можно реализовать в двух (если не больше) вариантах - как полностью аутентичными 7-сегментными символами, так и нормальным шрифтом (тоже, кстати, можно предусмотреть его изменение) цифр и 16-ричных букв А...F (а не палочек и "пустот"). Ещё одной важнейшей функцией хотелось бы получить возможность сохранения введённой вручную программы в виде файла, который можно было бы передать на другое аналогичное устройство. Само собой, должна быть и функция как приёма таких файлов, так и полноценной работы с ними.

В принципе, я готов составить небольшое словесное "техзадание", на постановку задачи, конечно, это не потянет, но очень надеюсь, что это хотя бы пригодится. Естественно, что алгоритм может быть реализован на самых разных платформах. Возможно, кто-то сможет разработать и сам алгоритм, и все конкретные программы приложения. Вопрос ещё и в том, каким будет распространение. Компетенция решения этого будет у правообладателя, но бесплатное распространение вполне способно по-настоящему возродить ПМК, да ещё на качественно новом уровне.

В заключение - фантазия. Виртуальный ПМК можно не только элементарно переключать из режима "МК54" в режим "МК61" и обратно, но и в режим "расширенный МК61". Поэтому можно будет закрыть ещё одну "пустоту". Логическое продолжение (точнее, завершение) линии 54-61 так и не увидело свет. Я оставляю за скобками вопрос о том, возможен ли он был физически, но пробелы в кодах команд остались, как и 16-й регистр памяти. Как я думаю, было бы очень интересно попробовать реализовать всё это программно, возможно - не в одном варианте. В общем, продолжений, возможно, много. Но будет ли начало?

Undefined

Comments

МК-61 уже несколько лет есть в приложениях как на Андройде, так и на Айфоне. В разных версиях, от педантичного эмулятора до расширенной системы команд. Есть МК-61 на JavaScript, даже на страничке этого сайта выложен.

Идею поддерживаю в том смысле, что для ПМК XXI века должна быть и аппаратная реализация, и программная. Кто серьёзно интересуется, приобретает железку. Пусть по цене айфона, главное чтобы надёжность и долговечность соответствовала. Кому «не шашечки, а ехать», скачивает недорогое приложение на то железо, которое имеется.

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

Не вводи Михаила в заблуждение, МК-161 никуда не идёт, устройство находится в том же положении, что и 7 лет назад с сотней пользователей. Производителю это бесприбыльное дело тоже не особенно интересно, Семико давно переключился на встраиваемые варианты и продвижение своих решений по управлению периферией. МК-161 задумывалась как средство собрать сообщество. Если бы оно реально собралось, то сейчас прекрасно жило бы на этом сайте.

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

Осторожней, Сергей! Не надо скатываться в тоталитаризм «есть лишь два мнения — моё и неправильное».

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

Этой ночью я тестирую новую версию Каллисто — действительно удобная и дружелюбная к пользователю машинка получается! Как закончу проверку и выложу новую версию, сам сможешь убедиться. Ровно то, что мне хотелось от HP 50g или МК-85. Вот только Бейсик в МК-85 был недостаточно гибким (это проблемы самого языка, слишком уж он фортрановский), а HP 50g хотя действительно мощный трактор, но уж слишком иностранный.

Каллисто очень гибкая и быстро превращает входной язык в то, что тебе нужно. Полноценный доступ к клавиатуре и экрану позволяет делать на МК-161 то, что МК-85 и не снилось. Как только мы научимся обращаться к индикатору, клавиатуре и прочим УВВ прямо из W77LE516P, проблемы с быстродействием также решатся.

вариант странички с JavaScript по понятным причинам не годится

К страничке с эмулятором МК-61, кстати, есть претензии и под Айфоном, и под Андройдом. Если её кто-нибудь возьмётся доработать, также получится неплохой инструмент. Интересно, сможет ли эта страничка работать локально на смартфоне, если броузер позволит её сохранить?

На айфоне до сих пор нет точного эмулятора МК-61 на уровне микрокоманд, страничка с JavaScript это state of art.

У меня нет мнения, есть только изложенные факты:

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

Я не собираюсь по этому поводу спорить, мне тема неинтересна.

Факты никто не отрицает. Последняя фраза же напомнила: «Я гналась за вами весь день, чтобы сказать, как вы мне безразличны».

Примите, как факт, что ваше негативное отношение и позиционирование ЭКВМ, как исключительно для промышленности, не единственное. Насколько я понимаю, на сегодняшний день вы даже не являетесь владельцем МК-161. Так не портите жизнь и настроение тем, кто владеет ЭКВМ и использует эти машинки так, как считает нужным.

По поводу же «не удалось»… сообщество оказалось не таким большим и управляемым, как ожидал Новосибирск. И сейчас поддержка сообщества производителем действительно уменьшилась. У кого-то в само-задурманенной голове действительно «не удалась» попытка пасти котов. Зато у тех, кто не дружит с дезинформацией и представлял ситуацию верно с самого начала, всё удалось.

Сбор даже нескольких человек, воспитанных на исследованиях недокументированного в «Технике-Молодёжи», делает разницу для России и будущего человечества. Хотя не обязательно приносит сверхдоход тем, кто встраивает в загрузчики криптографию и требует убирать ссылки на техническую документацию. :-) В конце-концов, НПП «СЕМИКО» это лишь один кусочек большой картины, куда входит и гений обратной инженерии эмигрант Феликс Лазарев, и ненавидящий Википедию националист Русский, и много других, самых разнообразных и независящих от производителя факторов.

Сколько людей - столько мнений.
Для меня, например, программируемый калькулятор - это во-первых RPN, во-вторых keystroke. И не важно, какой там диалект - классический HP, наш МК-54/61/52, или, например, собственный как в MIDP Calc. RPN он и есть RPN, в программах для ПМК главное алгоритм, а не несущественные отличия в записи - RCL0 там ИП0.
Но вот RPL, а тем более бейсик , паскаль и т.п. - это я на калькуляторе точно использовать не буду.

Надеюсь, после релиза Каллисто вы измените своё мнение.

Keystroke хорош на совсем мелких задачках, вроде расчёта по [одной] формуле. МК-61 это предел развития keystroke programming, и даже для него писать программы приходилось, сидя за столом с листочком бумаги. МК-52 с его адресами ППЗУ и алгоритмом его стирания было перебором.

Основные проблемы keystroke:

  1. необходимость держать в голове номера и назначения регистров (больше 3 регистров уже приходится использовать бумагу)
  2. ограниченность «кирпичиков» — неизменных инструкций, из которых мы составляем программу (для построения в 100 раз более высокого здания приходится использовать в 100 раз больше кирпичей)
  3. необходимость следить за адресами переходов (метки на порядок улучшают ситуацию, но не более того)

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

Но базовым я бы всё-таки назвал приложение Java для обычных телефонов с разрешением ЖКИ 240х320

Такие телефоны по-немногу отмирают.
Для них, кстати, есть великолепное приложение MIDP Calc Мощный программируемый графический RPN калькулятор, не уступающий тем, что доступны для андроида/айфона. Последние - это в основном эмуляторы, что в каком-то смысле не позволяет им полностью раскрыть функционал "среды обитания" - смартфона. В отличии от них MIDP Calc явно разрабатывался для телефонов, взяв лучшее от своих "железных" предков, но не забыв при этом и о цветном ЖКИ мобильников.

Ajaja wrote: Мощный программируемый графический RPN калькулятор, не уступающий тем, что доступны для андроида/айфона. Последние - это в основном эмуляторы, что в каком-то смысле не позволяет им полностью раскрыть функционал "среды обитания" - смартфона.

Я же давал здесь ссылку на MathStudio. Любой желающий может убедиться прямо в браузере, насколько это мощный математический пакет:
http://mathstud.io

Этот матпакет разрабатывался специально для тач-интерфейса, на айфонах работает даже удобней. Есть встроенный скриптовый язык программирования, есть и версия-калькулятор. Недостатки — цена и закрытый код.

Если нужно на iOS (карманном устройстве) проводить именно вычисления, то MathStudio это лучший вариант. А вот полностью функционал «среды обитания» раскрывает SmartBASIC. Там прямо из программы можно обращаться и к такчскрину, и к гироскопу, и ко всему остальному, что есть в Айфоне.

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

Действительно, в МК61 имеется много неиспользованных кодов команд и незадействованный регистр памяти F. Имея в распоряжении микрокод прошивки, становится возможным осуществить эти задумки если не в железе, то, как минимум, в софте, сохранив при этом совместимость с МК61.

Вопрос реализации не так важен, дизассемблировать ли микрокод с последующим его изменением или эмулировать поверх него.

Я обратил внимание, но не разделяю ни ненависти, ни зависти к расширению системы команд, предложенной Новосибирском.

Регистр F используется, как тэг для обращения к 256 регистрам — или сотни, при использованной bcd-адресации. Решение хорошее и продуманное. Лучше 85 новых регистров, чем один.

Альтернативных решений я насмотрелся в App Store. Они не так впечатлили, да и в железе реализаций нет.

По поводу микрокода. Это решение действительно устарело. Речь идёт о том, что элементная база 8052 и та практически исчерпана. На микрокод с временной адресацией на однобитной шине возвращаться смысла нет, не от хорошей жизни так в СССР делали.

Расширение МК61, предложенное в том виде, что приведено в тексте, не имеет никакого отношения к изделиям Семико. Ни концептуально, но по исполнению.

Сергей, мы словно на разных языках говорим.

Для меня очевидно (да и для каждого очевидно), что автор исследует другие пути расширения системы команд МК-61. Я утверждаю, что расширение МК-161 достаточно хорошее, чтобы его принять и не плодить сущностей сверх необходимого.

Повторюсь, 85 дополнительных регистров лучше, чем один шестнадцатый.

Не на разных языках, а о разных вещах. Высказанная идея касается существующей прошивки МК61. Которую можно расширить, не ломая существующий микрокод, получив на эмуляторе или в железном устройстве кроме переключателя подлинных режимов МК54-МК61 еще и дополнительный МК61-2, полностью совместимый с МК-61.

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

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

Никаких технических проблем сделать МК61 в "железе" нет.

Понял. Тогда дорабатывать микрокод действительно имеет смысл.

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

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

Не нужен "более мощный" с тысячами шагов и сотнями регистров. Все калькуляторные задачи умещаются в диапазон возможностей МК61 - HP35. Дальше нужны ЯВУ и матпакеты. Все это уже сто раз обсуждалось.

Так работаем же над ЯВУ — ровно над таким, чтобы можно было писать матпакеты, например адаптировать научное наследство профессора Дьяконова.

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

Каллисто можно зашить в предложенную выше модель МК-61, если заменить дисплей на графический и добавить немножко клавиш.

Всё, регистры - это для хобби-железяк. Типа мк61. Даже 30 КБ в hp35s это перебор. Ковыряю "Счастливые билеты" для hp35s и понимаю, что эти RCL, GTO - это вчерашний век.

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Кстати, при кустарном и мелкосерийном производстве калькуляторов вполне можно использовать 3D принтеры для изготовления вменяемого корпуса с подходящим количеством клавиш. То, что сейчас таких принтеров у нас мало - это со временем пройдёт, зато не надо втискиваться в Прокрустово ложе существующих корпусов или заказ пресс-форм, который имеет смысл при тиражах в десятки тысяч экземпляров...
По поводу возможностей калькулятора - мне для решения повседневных задач вполне подошёл casio fx-9750G+ / G2 который в памяти содержит несколько десятков нужных мне в повседневной работе программ. Вполне приемлемым выглядит и fx-5800P. Поэтому 32к ОЗУ выглядят вполне оптимальным объёмом с границами разумного от 10к до 64к. Базовых возможностей МК-161 или HP-35s мне оказалось явно не достаточно прежде всего из-за неудобства программирования задач средней сложности на их языке.
Преклоняюсь перед автором Каллисто и надеюсь, что его труд вдохнёт новую жизнь в развитие калькулятора в России. В принципе, разработав кустарно удачную модель можно и повторить успех DM-15C.

Мои программируемые калькуляторы:
Б3-21, Б3-34, МК-61, МК-52, МК-85
CASIO: cfx-9850GB+, fx-9750G+, fx-9750GII, fx-9860G, Algebra fx-2.0, fx-5800P, fx-7400G+
HP: 50G, 48G, 35s
TI: Nspire-CAS, Voyage-200, 89Titanium
SHARP EL-9600G