О мобильных приложениях в советском союзе. Симуляторы и эмуляторы ПМК

Для справки:
"МК-61" - самый популярный представитель ряда советских программируемых калькуляторов (Б3-34, МК-54, МК-56, МК-61, МК-52), давших поколению 1980-х возможность иметь собственный мини-компьютер и запускать на нём игры, популяризованные журналами "Техника-молодёжи" и "Наука и жизнь".

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

Для удобства приложение предоставляет возможность сохранения и загрузки состояний эмуляции, что приближает эмулятор по возможностям к калькулятору МК-52.

Механизм эмуляции реализован на основе исходного кода Феликса Лазарева (проект emu145) и портирован с C++ на Java.
Скорость эмуляции значительно улучшена по сравнению с оригинальной, что позволяет эмулировать МК-61 в реальном времени на любом смартфоне.
Это расширенная версия эмулятора МК 61/54 от Станислава Боруцкого
(https://play.google.com/store/apps/details?id=com.cax.pmk).
Данная версия позволяет осуществлять экспорт/импорт в/из внешних файлов, а также содержит ряд исправлений интерфейса.

Подсказка 0: полный список подсказок приведен в диалоге "О программе"

Подсказка 1: прикоснитесь к индикатору для переключения из режима быстрой эмуляции в медленный режим и наоборот.
Мерцание индикатора лучше всего работает в медленном режиме.

Подсказка 2: для переключения между МК-61 и МК-54 используйте пункт меню, который появляется после выключения калькулятора.

Подсказка 3: с помощью меню "Импорт" можно загружать программы из внешних файлов. С помощью меню "Экспорт" можно записывать состояние эмулятора во внешние файлы. Примеры программ можно скачать с https://github.com/xvadim/pmk61-programms

Подсказка 4: Меню можно также вызвать, например на устройствах с аппаратными кнопками, долгим нажатием на надпись "вкл".

Подсказка 5: обсудить программу можно на форуме: http://4pda.ru/forum/index.php?showtopic=748847 Желательно вопросы и пожелания оставлять там, Google некоторые отзывы убирает.

  • Игры и игровые приставки
  • Некоторое время назад нашел у себя в сарае старые носители информации с программами для советского мобильного девайса. Пустив скупую мужскую слезу по старым-добрым временам я решил рассказать читателям о моих первых шагах в области ИТ.

    ТТХ

    Девайс, о котором я писал - это программируемый микрокалькулятор (ПМК) "Электроника МК-61" . Этот калькулятор использовал обратную польскую запись (привет, Forth!), поэтому почти все, кто его первый раз видел, спрашивал: "А где здесь равно". Также у калькулятора было 15 регистров для хранения данных и 105 байт оперативной памяти.



    Так что в моем детстве игрушки были даже не килобайтными.


    После выключения питания ОЗУ очищалось и при следующем включении программу приходилось вводить заново. Позже появилась "Электроника МК-52" , у которой была не только энергонезависимая память, но и возможность подключать блоки расширения памяти (БРП) с дополнительными программами.

    ПМК Store/Play

    В СССР было выпущено несколько десятков книг о ПМК и программах для них. Например, первой моей книжкой-учебником была Калькулятор - твой помощник и соперник в играх . Она у меня появилась даже раньше, чем сам калькулятор. Также было выпущено несколько БРП для МК-52.


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


    В 1988 г. возник Клуб любителей игровых программ (КЛИП) своеобразная социальная сеть (а точнее BBS) по переписке. Клуб
    объединил до 600 пользователей ПМК со всего СССР. С историей КЛИПа можно ознакомиться и .

    Классификация игр

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

    Симуляторы

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



    (к сожалению, в станцию попал метеорит)

    Стратегии

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


    Также были военные стратегии. Например, можно было повторить битву под Фермопилами или Невскую битву.

    Настольные

    Очевидно, что научить ПМК играть в шашки, а тем более в шахматы невозможно. Однако разыграть некоторые эндшпили вполне реально.
    Фото шахматной доски, размеченной для игры с ПМК:



    Самой интересной для меня игрой была Волк и овцы . Быстро выяснилось, что на обычной шахматной доске 8x8 играть не интересно: четыре овцы всегда выигрывают, а три - проигрывают. Поэтому был разработан вариант игры на поле 9x9. И хотя реализовать минимаксный алгоритм было нельзя, итоговая программа получилась довольно сильной. Эта игра меня на столько впечатлила, что позже я сделал вариант для MS-DOS, а пару лет назад и для Android.

    Динамические видеоигры

    Две особенности ПМК позволяли реализовать даже динамические видеоигры. Во-первых, во время вычислений на индикаторе отображались какие-то текущие значения. Таким образом можно было демонстрировать динамическую "картинку". Во-вторых, в первых моделях калькуляторов был забавный аппаратный баг. ПМК имели переключатель "Р-Г" для вычислений тригонометрических функций в градусах и радианах соответственно. Вскоре выяснилось, что если не устанавливать переключатель в крайние положения, а зафиксировать по центру, то он будет выполнять вычисления в градах (100 градов - это 90 градусов). Вскоре этот баг превратили в фичу: у переключателя появилось третье состояние "ГРД". Если вычислить значение cos100 , то можно определить положение переключателя: для градусов получим значение -0,17 , т.е. отрицательное значение, для градов - естественно, 0 , для радиан 0,19 - положительное число. Все игры данного жанра строились по одному принципу: ПМК какое-то время показывал на экране текущую ситуацию, давая игроку возможность принять решение. Затем определял положение переключателя "Р-ГРД-Г" и выполнял вычисления. Со стороны это выглядело довольно забавно: игрок всматривался в мигающий экран и судорожно теребил переключатель.

    Еггогология

    Как всякий уважающий себя компьютер, ПМК мог отображать шестнадцатеричный числа. Но из-за ограничений индикатора выглядели они немного странно. Например, "A " обозначалась как "- ", "B " - "L ". При возникновении ошибок калькуляторвыводил слово "Error ", но выглядело оно как "ЕГГОГ ", что и дало название процессу изучения недокументированных возможностей ПМК. Выполняя хитрые операции над очень большими числами (которые калькулятор теоретически не мог отображать) или обращаясь к большим адресам программной памяти можно было получать разнообразные надписи.


    Например, в игре "Лунолет-3" из повести "Путь к Земле" положение лунолета относительно Земли и Луны отображалось следующим образом:



    "E " - Земля, "O " - Луна, "- " - лунолет.


    Калькуляторы МК-61/52 поддерживали операции булевой алгебры. Но их обычно использовали лишь для формирования ряда сообщений: "8CE " - игра окончена, "8-L8EC " - человек проиграл. Также было несколько игр, использовавших эти операции для кодирования лабиринтов.


    Более подробно история ПМК изложена , а большой набор игр.

    Симуляторы и эмуляторы ПМК

    Существует несколько симуляторов ПМК, например "Калькуляторы-3000". Существует также реальный эмулятор (https://code.google.com/archive/p/emu145/). Автор эмулятора - Феликс Лазарев - даже покупал профессиональный
    микроскоп для фотографирования микроконтроллеров серии 145/745. На этом форуме можно проследить историю разработки.


    На основе emu145 Станислав Боруцкий создал эмулятор для Android.

    Мой путь

    У меня калькулятор МК-61 появился в 1989г. Получилось так, что о существовании КЛИПа я не знал. Основную массу программ черпал из "ТМ" - либо переписывал в библиотеке (ксероксов тогда еще не было), либо брал у товарищей (как правило, потом уже обратно не отдавал). У нас были журналы "Наука и жизнь" за несколько лет. Но в нем печатались в основном прикладные программы, что меня мало интересовало. Однако больше чем играть мне нравилось писать программы. Я кстати никогда не понимал прелестей приставок типа Dendy - ведь их нельзя было программировать в домашних условиях. Первой моей игрушкой был космический симулятор, написанный под влиянием "Лунолетов". Это было в 6 классе, на уроках физики мы к этому времени изучили только равномерное прямолинейное движение. Поэтому играть в него было не очень интересно. На программирование я потратил времени больше, чем на саму игру. Потом был еще ряд программ. Наиболее серьезной моей программой была реализация калаха (манкалы). Не смотря на ограниченные ресурсы ПМК, он выигрывал у меня довольно часто. Я даже не знаю, когда я больше радовался: когда выигрывал сам или когда проигрывал своей программе.

    MK-61 was the best seller of all USSR programmable calculators of 1980-s (B3-34, MK-54, MK-56, MK-61, MK-52).
    Calculators are emulated on microcode level so they behave exactly like the original devices, including all non-documented features and inaccurate calculations. For ease of use application features saving and loading emulation states.
    This app\’s emulation engine Java code is based on C++ source of Felix Lazarev\’s emu145 project.
    Emulation was highly optimized for speed and should run in real time on any phone.
    Hint 1: touch calculator\’s indicator to toggle slow/fast mode. Indicator\’s blinking looks better in slow mode.
    Hint 2: you can choose between MK-61 and MK-54 using menu option that becomes visible when calculator is switched off.

    To Download Extended emulator of MK 61/54 For PC,users need to install an Android Emulator like Xeplayer.With Xeplayer,you can Download Extended emulator of MK 61/54 for PC version on your Windows 7,8,10 and Laptop.

    How to Play Extended emulator of MK 61/54 on PC,Windows 7,8,10.

    1.Download and Install XePlayer Android Emulator.Click “Download XePlayer” to download.

    2.Run XePlayer Android Emulator and login Google Play Store.

    3.Open Google Play Store and search Extended emulator of MK 61/54 and download,

    4.Install Extended emulator of MK 61/54 and start it.Now you can play Extended emulator of MK 61/54 on PC.Have Fun!

    Система - Эмулятор калькулятора МК-61.

    → →
    ╔════──── ║ │ Система │ ║ ────════╝ Более подроб- но о нас читайте во втором номере информа- ционной газеты "Sinclair DiamonD". Данные материалы являются перепечаткой из первого номера "Sinclair DiamonD" и предоставлены редакции на правах свободно- го их распространения. Наши координаты: Internet E-mail: [email protected], [email protected]. Телефон: (0322) 22-56-54 ──══ Эмулятор МК-61 ══── (C) Сергей Грицюк Немного истории. В конце 80-х годов были очень популярны ПМК, совместимые с БЗ-38. Они позволяли (впрочем, позволяют и сей- час) рядовому пользователю решать основные математические задачи на инженерном уров- не и даже увлекательно провести досуг. В своё время многие журналы ("Техника Мо- лодёжи", "Наука и Жизнь", "Вычислительная техника и её применение" и др.) издали много статей об МК, и до недавних пор всё богатство их ПО было недоступно рядовым пользователям домашних ПК. В начале 90-х годов сумбурно начали появляться эмуляторы ПМК для различных моделей компьютеров. По- этому логичным стало появление подобного (точнее бесподобного) эмулятора и для Speccy. Эмулятор состоит из 4-х файлов: МК(В), 61(B), power(C) и diamond(C). Запускаемым является первый файл. Если же вы попытае- тесь запустить файл 61(B), то скорее всего компьютер зависнет. После загрузки вы увидите слева сам ПМК, а справа специальный монитор. Управление осуществляется клавишами QAOPM(Space) или Kempston джойстиком, а также некоторыми горячими клавишами. Целью данной статьи не является обучение программированию на ПМК. Для этого су- ществует масса специальной литературы. Я остановлюсь только на особенностях эмуля- тора. ──══ "Горячие" клавиши и монитор ══── Клавишами 1,2,3 можно переключать режим градусных величин (радианы - грады - гра- дусы). Текущий режим отображается справа вверху на ПМК. Остальные клавиши имеют непосредственную связь с монитором. Клавиша S позволяет сохранить текущее состояние ПМК на диске. Клавиша L загружает с диска ранее отгру- женное состояние. Клавиша X позволяет очистить память ПМК (как если бы вы выключили питание у насто- ящего микрокалькулятора). Клавиша C очищает экран монитора. В момент нажатия этих клавиш на монитор соответственно выводятся сообщения: Save, Load, Clear, CLS. На мониторе индицируется также режим работы ПМК (автоматический или программный). ──══ Особенности эмулятора ══── Основное отличие от настоящего ПМК - это работа с логическими операторами /\, \/, (+), ИНВ. Первые три операции проводятся побитно. Например: ┌─┐┌──┐┌─┐┌─┐┌──┐ │5││Bў││4││K││/\│ -> результат └─┘└──┘└─┘└─┘└──┘ 4 Операция ИНВ проводится по маске: ┌─┐┌──┐┌───┐ │5││Bў││255│ -> 224 └─┘└──┘└───┘ В режиме программирования вместо симво- лов -, L, пробел, Г, В, С выводятся соот- ветственно A, B, C, D, E, F. И последнее: в автоматическом режиме выводятся только десятичные числа. ──══ Описание демонстрационной ══── программы Вместе с эмулятором поставляется де- монстрационная программа KVADRIV, предназ- наченная для нахождения корней квадратного уравнения. На её примере я продемонстрирую сеанс работы с ПМК в виде инструкции для пользователя. Вот как она может выглядеть. 1. Ввести или загрузить программу (кла- виша L). 2. Установить режим вычислений (F АВТ). 3. Ввести цифры (если программа подгру- жена с диска, то это делать не обяза- тельно): 100 X->П 0 101 X->П 3 102 X->П 4 200 X->П 5 4. Очистить программный указатель (В/О). 5. Ввести исходные данные: a С/П; b С/П; c С/П (для уравнения 2 ax + bx+c=0 6. Вывод: после первого останова на ин- дикаторе появляется сообщение: 100 - корней нет; 101 - уравнение линейное, корень только один; 102 - два действительных корня; 200 - корни комплексные. 7. Если корней нет, то для продолжения расчётов перейти к п.5. Если корни есть, то нажать С/П. После останова на индикато- ре - значение первого корня (если корни действительные) или мнимой части комплексных. Для чтения другого корня или действительной части нажать. 8. Для продолжения расчётов перейти к п.5. Контрольный пример: Ввод: a=2; b=5; c=3 a=1; b=-4; c=5 a=0; b=8; c=3 a=0; b=0; c=1 Вывод: 102; -1; -1.5 200; 1; 2 101; -3.75E10-1 100 П Р И Я Т Н О Г О П Р О Г Р А М М И Р О В А Н И Я! ! !