МК-61 на Андроиде

Написал аппликацию-эмулятор МК-61 для Андроида, на основе проекта emu145 Феликса Лазарева.
Пока он не может тягаться с "Онлайн-версией" из соседней темы по функционалу, но зато умеет мерцать экраном :)
Сохранение/загрузку и более близкий к оригиналу внешний вид собираюсь добавить позже.

Качать здесь:
https://play.google.com/store/apps/details?id=com.cax.pmk

МК-61 на андроиде. Отлично, первая ласточка появилась :)
Работает. Но медленновато. По сравнению с оригиналом - медленнее раза в 3. Пропускаются нажатия кнопок.
Если есть возможность ускорить - будет здорово, пусть даже с отказом от мигания экрана и других малосущественных деталей.
Кроме того, на мой взгляд, кнопка "Вкл" не нужна. Если программа вызвана - она должна быть готова к работе сразу.
У меня ZTE BLADE 600MHz

Большое спасибо за труд.

Спасибо за отзыв !

600 MHz ? Ну, настолько ускорить я, наверное, не смогу. Впрочем, обещаю постараться.

Что касается кнопки "Вкл" - она нужна, сейчас объясню зачем.
В версии 1.2, которую я только что выложил (ждите обновления в течение суток, оно не сразу в Google Play появляется)
калькулятор "не выключается" никогда, даже если нажать Home или Back.
"Не выключается" в кавычках, потому что на самом деле он просто запоминает своё состояние.
Но иногда бывает нужно начать сначала - вот тут и придёт на помощь "Вкл".

1.2Скачал 1.2. Идея понятна. В общем, если закрыть глаза на медленность, то очень даже. Если будет возможность ускорить - буду благодарен.

Ув. NPP,Решилась . Ув. NPP,
Решилась ли проблема со скоростью в версии 1.4 ? Как я и обещал, я очень старался.
По моим оценкам, скорость выросла раз в 10 и теперь эмулятор сможет шустро работать не только на 600MHz, но и на более медленных телефонах.

Теперь его надо не ускорять, а замедлять, особенно если нужно разглядеть мерцание (например, в т.н. "динамических" играх Клуба Электронных Игр "Техники-молодёжи"). Для этого я предусмотрел переключатель: касаемся индикатора, и скорость меняется с быстрой на медленную и обратно.
Для понятности вместе со скоростью эмуляции меняется и фон индикатора.

Спасибо. Скорость кардинально увеличилась. Теперь можно его использовать по прямому назначению вместо RealCalc.
P.S. скорость даже в медленном режиме примерно соответствует(может быть чуть выше) скорости реального МК-61

P.P.S. Измерил скорость исполнения по тесту http://www.thimet.de/CalcCollection/CalcPerformance.html

Получилось 18 секунд на цикл, Perfomance index=1.9/ Быстрее МК-61 в 4,75 раз в быстром режиме.
В медленном - 60 секунд/цикл, Index=0.57, скорость примерно сопоставима с оригинальным МК-61

Ещё, если это не трудно, сделать блокировку гашения экрана и виброотклик на нажатие клавиш.

Большое спасибо.

Благодарю за тестирование ! Добавил не-гашение экрана и виброотклик в свой TODO list.

Я был бы рад версии под iOS. У меня есть ПМК для iPhone, даже несколько, но они работают без микрокода МК-61 — а попытки симулировать EГГ0Г'ологию без полной эмуляции убоги.

Кстати, нет ли желания портировать мой ВК-6, совместимый с МК-161 и написанный на GCC, хотя бы на Андройд?

Прогресс неотвратим! Прогресс неотвратим, на устройстве с тактовой частотой процессора в 6000 раз (шесть тысяч, три порядка) выше, чем у оригинала 30-летней давности (у МК-61 около 100 КГц, если не ошибаюсь), программа работает медленнее.

Виртуализация... Да, это плата за то, что в андроиде исполняются программы на Яве. Хотя удивительно, что _настолько_ медленнее.

Сравните. Ради интереса, сравните на том же устройстве скорость эмулятора на яваскрипте с вышеупомянутой странички.

JAVA версия. Нажатие кнопки обрабатывается 10 секунд. Дальше терпения не хватило.

Попрошу воздержаться от скоропалительных выводов.

Во-первых, Java не настолько медленная как кажется - в некоторых случаях её быстродействие приближается к C/C++.
Во-вторых, вышеупомянутая страничка написана не на Java, а на JavaScript.
В-третьих, код можно переписать более оптимально. Самая первая версия у меня ползала как черепаха, но после серии оптимизаций стала работь в несколько раз быстрее. Буду работать над этим дальше.

Тем временем я добавил в эмулятор возможность сохраняться и загружать сохранённые состояния.
Версия 1.3. Буду рад критике и пожеланиям.

Попрошу не обижать птичку, то есть яваскрипт :)

Во-первых, есть быстродействующий набор команд (http://asmjs.org). Во-вторых, с прямыми руками даже векторная графика на страничке отрисовывается на уровне исполняемых бинарных модулей (см. пример http://codepen.io/stuffit/pen/KrAwx)

Без обид. Я и против яваскрипта ничего не имею, это один из самых быстрых языков (особенно среди скриптовых) и на нём даже эмулятор PC написали.

Пользуясь случаем, хочу напомнить, что сохранения в версии 1.3 эмулятора МК 61 будут несовместимы со следующими версиями (зато потом обещаю больше их не ломать и сохранять совместимость). Другими словами, сохранения в данной версии добавлены для проверки и тестирования.
Заранее благодарю за отзывы, если таковые будут.

Я сделал форк этого замечательного эмулятора и продолжаю его развитие.
Основные отличия от оригинального эмулятора:
- возможность экспорта/импорта во внешние файлы, а не только внутренние слоты
- инструкция к калькулятору

В планах:
- импорт программ из текстовых файлов
- более информативный вид на планшетах
- некоторые улучшения в UI

Google Play: Расширенный эмулятор MK 61/54

Репозитарий с несколькими программами: Программы для эмулятора МК-61

Можно двоичный экспорт/импорт эмулятора сделать совместимым с МК-161. Описание формата mkp здесь:

http://mk.semico.ru/progmk.htm

Да, в будущем попробую и такой импорт сделать.