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

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

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

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

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

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

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

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

В версии 0.28 добавлена поддержка последовательного порта, включая режим
внешнего доступа. Для активации реального порта компьютера нужно на закладке
«ВУ» сервисного окна указать системное имя устройства (порта) и поставить
галочку перед заголовком «Универсальный последовательный порт». Управление
параметрами порта осуществляется через регистры-функции. В сервисном окне
можно установить режим работы девятого бита для девятибитного режима. При
передаче девятый бит формируется по основному байту. Буфер передачи девятого
бита игнорируется. При приёме корректность девятого бита проверяется
физическим портом компьютера, а буфер приёма девятого бита заполняется
согласно принятым байтам.

Начиная с версии 0.30 возможна загрузка файлов с исходным текстом программы
(MKL-файлов). В контекстное меню главного окна добавлен пункт «Подключить
компилятор», вызывающий диалоговое окно открытия файла для выбора
исполняемого файла внешнего компилятора. Если компилятор не подключен, то
это будет предложено при попытке загрузить MKL-файл. Компилятор можно
скачать с сайта НПП «СЕМИКО» (http://mk.semico.ru/mkl2mkp.htm).

С версии 0.31 существует редактор исходного кода программы. Его описание
содержится в файле EDITOR.xx.txt, где xx - это идентификатор языка.

В версии 0.32 добавлена возможность использовать клавиатуру реальной ЭКВМ.
Для этого нужно поставить отметку возле слова «Клавиатура» в разделе
«Универсальный последовательный порт» закладки «ВУ» сервисного окна.
Реальная ЭКВМ должна быть подключена к компьютеру через последовательный
порт и на ней должна быть запущена программа, которая посылает код клавиши
ЭКВМ при её нажатии и код 255 при отпускании. При приёме любого байта
программа должна завершать свою работу (остановка программы осуществляется
при отключении режима внешней клавиатуры). Обмен производится на скорости
9600 бод в формате 8N1.

Начиная с версии 0.34 регистры стека имеют 14 разрядов (как в оригинале).
Усовершенствована арифметика. Также введена поддержка отображения всех
разрядов для регистров Y, Z и T (функция R9110).


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

-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)
-x файл         Установить путь к внешнему компилятору MKL-файлов
-a модификаторы Задать альтернативное поведение при помощи модификаторов
                (перечисляются через запятую без пробелов; см. ниже)
-g              Указывается перед файлом, имя которого следует использовать
                по умолчанию в диалоге сохранения (основной файл).

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


В версии 0.37 введён ключ командной строки -a, который позволяет изменить
поведение приложения. В параметре этого ключа указывается перечень 
слов-модификаторов, разделяемых запятыми без пробелов. Модификаторы могут
быть написаны в любом регистре, то есть нет разницы между SHOW и show.
В командной строке ключ -a может располагаться в любом месте, и его
положение не играет роли. Порядок указания модификаторов также неважен.
Некоторые модификаторы могут иметь опцию, указываемую через двоеточие.
Для опции допускается сокращение, однозначно её идентифицирующее. Например,
вместо Delete может быть указано Del или D.
Версия 0.37 поддерживает следующие модификаторы:

Default         Предписывает использовать состояние по умолчанию с чистой
                памятью. Если не указаны модификатор NoSave или опция Set,
                то при закрытии приложения это состояние (с изменениями,
                если таковые были сделаны) будет сохранено, как основное.
                Указание опции Set приводит к изменению самого состояния
                по умолчанию (кроме содержимого памяти), которое сохраняется
                в файле «default.ini». Если указана опция Delete, то файл
                «default.ini» удаляется, и используется изначальная
                конфигурация.

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

NoSave          Запрещает сохранение состояния эмулятора при закрытии
                приложения. Также запрещает сохранение изменений на
                электронных дисках. Если указан модификатор Temporary, то
                модификатор NoSave считается указанным и не требуется.

Temporary       Включает режим работы с временными файлами. В этом режиме
                ВСЕ файлы, указанные в командной строке, удаляются после их
                загрузки (за исключением тех, которые указаны в параметрах
                ключей). БУДЬТЕ ОСТОРОЖНЫ!

Show            Вызывает отображение содержимого файлов, указанных в
                командной строке. MKI- и MKF-файлы отображаются средствами
                эмулятора, а остальные — при помощи окон отладки.

SP              Активирует универсальный последовательный порт. Если опция
                не указана или указана опция Slave, то будет произведено
                подключение через межпроцессное взаимодействие в качестве
                подчинённого устройства. При указании опции Master
                запускаемый экземпляр приложения будет ведущим устройством.
                Опции Real и Keyboard активируют работу с реальным портом
                компьютера для использования его программой пользователя или
                для подключения клавиатуры реальной ЭКВМ соответственно.

PP              Активирует работу универсального параллельного порта через
                межпроцессное взаимодействие.

SPI             Активирует работу порта последовательного периферийного
                интерфейса через межпроцессное взаимодействие.

ADC             Активирует получение входных напряжений для АЦП через
                межпроцессное взаимодействие. В качестве опции может быть
                указан номер канала (от 0 до 3), который будет выбран в
                сервисном окне.


Примеры использования модификаторов:

emkatic -a temporary,show /tmp/wumpus.mkp

    (загрузить файл wumpus.mkp из папки для временных файлов, отобразить
     его содержимое, и удалить исходный файл)

emkatic -a sp,pp,spi,adc

    (активировать межпроцессное взаимодействие по всем интерфейсам)

emkatic -a sp:real

    (использовать реальный последовательный порт компьютера)

emkatic -a default

    (запустить эмулятор в исходном состоянии; новое состояние будет
     сохранено, как основное рабочее)

emkatic -a default:set

    (запустить эмулятор в исходном состоянии, чтобы изменить само исходное
     состояние; например, задать внешний вид и положение окна на экране)

emkatic -a default,nosave

    (запустить эмулятор в исходном состоянии без сохранения)

emkatic -a default:delete,nosave

    (очистить исходное состояние без изменения основного)


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

