Калькулятор eMKatic


Главная / ЭКВМ / ПО

Графический кроссплатформенный калькулятор eMKatic (GPL3) поддерживает систему команд, набор функций и формат файлов ЭКВМ. Может использоваться в качестве эмулятора ЭКВМ для отладки программ пользователя.

Автор: Павел Петров

Информация о eMKatic:
- сайт проекта: http://sourceforge.net/projects/emkatic/
- исходные файлы: http://sourceforge.net/p/emkatic/code/HEAD/tree/trunk/emkatic/

В текущей версии эмулятора поддерживаются скины передних панелей следующих моделей ЭКВМ:

  • "Электроника МК-161" (черный корпус);
  • "Электроника МК-161" (серый корпус);
  • "Электроника МК-152" (серый корпус);
  • "Электроника МК-152М" (серый корпус);
  • "Электроника МК-1152" (серый корпус).

"Включение" калькулятора во всех скинах, кроме МК-161, выполняется при помощи переключателя из закладки с настройками. Для автоматического включения калькулятора после запуска программы следует использовать ключ "-p".




Файл README.txt из дистрибутива eMKatic v0.25

Начиная с версии 0.13 введена поддержка РСМ-звука через библиотеку
PortAudio. Для этого в системе должна быть установлена PortAudio2 версии 19
или выше (http://portaudio.com/docs/v19-doxydocs/tutorial_start.html).
Возможна работа с библиотекой, поставляемой вместе с эмулятором ЭКВМ.
Для Unix-подобных систем приоритет отдаётся установленной библиотеке.
Наличие библиотеки необязательно (необходимо только для PCM-звука). 

В версии 0.16 появилась возможность экспорта и импорта изображений в
распространённых графических форматах. Для сохранения копии экрана нужно
выбрать пункт "Сохранить изображение" контекстного меню (вызывается правой
кнопкой мыши), затем указать папку назначения и имя файла. Если имя файла
будет иметь расширение .mki, то изображение сразу сохранится в формате
ЭКВМ, а при указании расширения какого-либо стандартного графического
формата появится диалоговое окно экспорта изображения.

Импорт изображений осуществляется загрузкой (или перетаскиванием в главное
окно эмулятора) графических файлов аналогично загрузке файлов в форматах
ЭКВМ. Размеры изображений не должны превышать 128x64 пикселов. Пикселы
считаются установленными (чёрными), если уровень всех трёх цветовых
компонент ниже 50%.

В автоматическом режиме работы калькулятора изображение загружается в буфер
графического экрана. В режиме программирования или ввода байтов в память
программ изображение записывается в память программ с адреса, на который
указывает счётчик команд, после чего значение счётчика команд увеличивается
на количество байт, занимаемое изображением в памяти. При загрузке
нескольких изображений они будут последовательно записываться в память.

Загрузку изображений в память программ также можно производить в режиме
просмотра и очистки памяти программ. При этом изображение будет загружаться
с адреса, отображаемого в верхней строке экрана. Аналогично в режиме
просмотра и очистки двоичных данных изображения загружаются в область
двоичных данных. Изображения записываются в память в формате, определённом
для функций R9015 и R9016.

Начиная с версии 0.21 реализована поддержка перевода интерфейса приложения
на другие языки. Переводы текстовых сообщений содержатся в файлах
emkatic.xx.po (для сообщений приложения) и lclstrconsts.xx.po (для LCL),
где xx - это идентификатор языка. Нужные файлы необходимо открыть
в эмуляторе или указать в командной строке. Также можно перетащить их
в основное окно. В результате языковые файлы будут скопированы в папку,
где хранится состояние эмулятора, и при повторном запуске будут применены
к интерфейсу приложения (командная строка действует сразу же).
Редактировать языковые файлы можно в обычном текстовом редакторе,
но лучше в специальных редакторах (например, Poedit).

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

С версии 0.24 введены средства отладки. Можно управлять исполнением при
помощи стандартных средств трассировки, при этом останов программы является
специальным режимом "остановленного времени". В этом режиме калькулятор
находится в состоянии исполнения программы, но исполнение не производится.
Таймеры также останавливаются. Как во время останова, так при исполнении
программы можно наблюдать состояние регистров, стека возвратов и положение
счётчика команд. Можно открыть несколько окон для работы с различными
областями памяти, отображаемых в виде таблиц. Кроме содержимого памяти
в них отображаются счётчики обращений к ячейкам. Каждая клетка имеет
контекстное меню, отражающее возможные операции. Можно устанавливать точки
останова для разных клеток, при этом останов будет происходить при
изменении содержимого клетки. Например, при чтении ячейки, если останов
поставлен на счётчик чтений. Точки останова на ячейках памяти программ
вызывают останов при исполнении, при этом останов происходит до выполнения
команды. Остановы по операциям чтения/записи происходят после выполнения
команды. Содержимое ячеек памяти, а также регистров стека вычислений, можно
изменять (даже во время исполнения программы).


Параметры командной строки:

-p		включить ЭКВМ
-r		включить ЭКВМ и запустить программу
-c адрес	установить счётчик команд (должен располагаться после
                ключей -p и -r, которые обнуляют счётчик команд)
-b страница	установить номер начальной страницы для последующей
                загрузки программы
-f		установить использование номера начальной страницы из файла
-d папка        задать директорию для хранения настроек и состояния
-s мнемоника    задать способ генерации звука (none,util,kioc,ioc,beep,pcm)
-m мнемоника    установить внешний вид под определённую модель ЭКВМ (152,
                152m,1152,161,161b)
-l файл/-       загрузить/снять накладку на клавиатуру
-n номер        установить сетевой номер
-t              не сохранять последующие параметры при закрытии приложения
                (также действует на языковые файлы, указанные в командной
                строке после него)
-i ид. языка    установить язык интерфейса (ru,en)

Могут быть указаны несколько файлов, которые будут загружены. Если в пути
или имени файла содержатся пробелы, то следует использовать кавычки.
При загрузке программы счётчик команд устанавливается на её начало.


Реализованы регистры-функции, описанные в следующих разделах документации
по ЭКВМ:

- Графический экран
- Строка комментариев
- Буфер клавиатуры
- Универсальный байтовый буфер
- Дополнительные функции (кроме 9110 и 9119)
- Функции реального времени
- Электронный блокнот
- Универсальный параллельный порт
  (сигналы отображаются, и можно управлять сигналом BUSY колесом мыши)
- Работа с двоичными числами
- Работа с файлами из программы пользователя
- Прерывания
- Аналого-цифровой преобразователь
- Графический интерфейс пользователя
- Работа с таблицами


Не реализованы регистры-функции по разделам:

- Универсальный последовательный порт
- Порт последовательного периферийного интерфейса


Состояние эмулятора хранится в папке пользователя. Конкретное место зависит
от операционной системы. Существует режим хранения состояния в той же
папке, где находится исполняемый файл. Для его активации нужно создать
в этой папке пустой файл "emkatic.ini".

НПП "СЕМИКО" (383) 271-01-25 (многоканальный)