Эмулятор программируемых калькуляторов "Электроника  МК 61" и "Электроника  МК-54"

Для справки:
"МК-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: меня также можно вызвать долгим нажатием на надпись "Вкл".

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Изменения в предыдущих версиях:

v1.1 - оптимизация скорости и интерфейса
v1.2 - Домой/Назад запоминанет состояние
v1.3 - добавлен экран "About", увеличены цифры, добавлена возможность сохранения/загрузки
v1.4
- исправлено ВП /-/
- 10-кратное ускорение - теперь работает и на старых телефонах
- переключение быстрый/медленный режим ппи прикосновении к индикатору
- исправлено несрабатывание клавиш
- исправлен размер символов индикатора
- сохранение состояний теперь совместимо с будущими версиями

v1.5
- интерфейс калькулятора полностью пересоздан с нуля:
* аутентичный внешний вид (насколько возможно)
* адаптивный интерфейс на экранах от 2 до 10 дюймов

- новая иконка запуска

- легкая вибрация по нажатию на клавишу, Р-ГРД-Г посильнее, Вкл. ещё сильнее
- экран телефона не отключается даже если долго ничего не нажимать

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

v1.7
- исправлен режим ГРД переключателя (работал как режим градусов вместо режима градов)
- сохранениям теперь можно давать названия
Подсказка: чтобы переименовать сохранение, загрузите и сохраните его, указав новое имя в процессе сохранения
- 99 ячеек для сохранений вместо 50
- добавлен русский перевод сообщений и надписей
- сделано несколько косметических исправлений на главной странице и на странице настроек
(перерисована стрелка на клавише "В↑", добавлена надпись "Электроника МК-61" и др.)

MK 61/54 v2.0
- добавлена эмуляция MK-54
- название приложения изменено на "MK 61/54" для соответствия
- когда калькулятор выключен, появляется кнопка выбора между "MK 61" и "MK-54"
- сохранения запоминают модель калькулятора, с которой были сделаны
- старые сохранения используют MK 61

- по многочисленным просьбам, добавлена экранная кнопка "Меню" на устройствах не имеющих физической кнопки
- добавлена поддержка старых телефонов (до Андроид 1.6)
- улучшен внешний вид приложения на планшетах

v2.1:
- кнопка "MK 61 ↔ MK-54" стала пунктом меню (виден когда калькулятор выключен)
- "О программе" переехало из настроек в меню, добавлены подсказки

- исправлен индикатор:
 * ввод порядка не разбивает строку (как было на некоторых устройствах)
 * ширина индикатора используется полностью

- клавиши ШГ→/ШГ←/↔ подписаны лучше

- исправлен/улучшен внешний вид на низком и среднем разрешениях экрана

v2.2:
- исправлено масштабирование интерфейса на экранах с разрешением normal-mdpi
- улучшен интерфейс на экранах с разрешением large-mdpi

- добавлена тонкая окантовка вокруг клавиш

v2.3:

- исправлена нестабильность сохранения состояния при выходе из приложения
- исправлено неконтролируемое изменение положения элементов интерфейса
- устранена задержка при выключении калькулятора и улушена скорость сохранения/загрузки состояний

- добавлены следующие настройки для пользователей:
* выбор внешнего вида Вкл и Р/ГРД/Г (кнопки или переключатели)
* выбор интенсивности тактильной отдачи
* выбор окантовки клавиш
* выбор размера текста надписей на, под и над клавишами

v2.6.3:

- импорт/экспорт из/в внешних файлов
- улучшение UI
- быстрая смена модели по долгому нажатию на надпись "Электроника МК..."

