РЕ-мулятор - внутрисхемный эмулятор микросхем ПЗУ 1801РЕ2/1801РР1
Техническое описание

Версия 0.5 (предварительная)

1.	Назначение и возможности
РЕ-мулятор представляет собой печатную плату в габаритах корпуса DIP-24 и предназначен для непосредственной замены микросхем типа 1801РЕ2 и 1801РР1 в различных устройствах.
 С использованием дополнительных внешних входов один РЕ-мулятор теоретически способен одновременно заменить до тридцати двух отдельных независимых микросхем типа 1801РЕ2/РР1 - поддерживается до четырех независимых входов разрешения (chip select) и до восьми кодов декодирования адреса (три старших разряда адреса - chip code)  на каждом из них. Практические примеры скромнее - возможна одновременная замена одним РЕ-мулятором четырех микросхем 1801РЕ2 на основной плате БК-0010 плюс дополнительно две микросхемы 1801РЕ2 на плате модуля МСТД/Фокал. Для БК-0011М один эмулятор способен также заменить до шести микросхем (две на основной плате, три дополнительно на плате Бейсика и одна микросхема на модуле МСТД).
РЕ-мулятор построен на основе недорогого и распространенного микроконтроллера STM32F205, работающего на частоте 120МГц. Допускается замена программного обеспечения микроконтроллера ("перепрошивка") без отключения РЕ-мулятора от платы для которой осуществляется эмуляция. Таким образом можно быстро изменять "прошивку" эмулируемой микросхемы без извлечения  РЕ-мулятора из панельки.
Питание РЕ-мулятора осуществляется непосредственно от соответствующих выводов панельки, предназначенной для заменяемой микросхемы 1801РЕ2/РР1.
На плате РЕ-мулятора имеется поле конфигурации, реализованное на перемычках ("джамперах"), которое позволяет управлять режимом работы программного обеспечения РЕ-мулятора без частой замены прошивки микроконтроллера.
 По мере разработки и усовершенствования программного обеспечения функционал РЕ-мулятора может быть значительно расширен, выходя за рамки простой эмуляции ПЗУ. Например, возможно использование одного из дополнительных выводов для генерации сигнала DOUT, РЕ-мулятор сможет осуществлять циклы записи на шине МПИ и выполнять самостоятельное тестирование устройства, без участия центрального процессора схемы (разумеется, сам ЦП следует отключить сигналами захвата шины).
2.	
Описание конструкции
На рисунке показаны внешние разъемы и соединители платы РЕ-мулятора:

Вход CS3

Выход сброса
внешнего
устройства

Соединитель панельки

Разъем UART/JTAG

Соединитель панельки

Вход CS1

Активация
загрузчика

Перемычки
поля
конфигурации

Вход CS2

•	X1 - разъем для программирования (записи "прошивки") микроконтроллера. Программирование возможно по интерфейсам SWD, JTAG и UART. При необходимости данный разъем можно не устанавливать или установить с другой стороны платы с целью снизить общую высоту РЕ-мулятора
•	X2, X3, X3 - дополнительные входы chip select, используются если требуется эмуляция более чем одной микросхемы и одного входа выборки приходящего из панельки недостаточно
•	перемычки поля конфигурации SA1-SA6 используются для задания режима работы программного обеспечения РЕ-мулятора. Перемычка SA6 имеет специальное назначение - при ее установке активируется первичный загрузчик и становится возможна запись программного обеспечение РЕ-мулятора через интерфейс UART. Перемычка SA5 в штатной прошивке не используется (зарезервирована).
•	X5, X6 - штыри, устанавливаемые с обратной стороны платы, служат для установки платы РЕ-мулятора в панельку на внешнем устройстве, вместо эмулируемой микросхемы 1801РЕ2/РР1
•	X7 - выход сброса внешнего устройства, на данном выход при старте РЕ-мулятора формируется низкий уровень. При достижении РЕ-мулятором готовности к работе данный выход переходит в высокоимпедансное состояние. Выход реализован на отдельном транзисторе по схеме "открытый коллектор", поэтому может подключаться на емкостную нагрузку (в схемах часто используются времязадающие конденсаторы относительно большой емкости для формирования импульсов сброса устройства).
3.	Начальный загрузчик и утилита записи программы
В РЕ-муляторе может быть применен любой микроконтроллер STM32F205/207/215/217 в корпусе LQFP-64 с количеством встроенной флэш-памяти от 128 килобайт. Возможно применение любого из указанных микроконтроллеров с количеством флэш-памяти до 1 мегабайта.
При разработке РЕ-мулятора ставилась задача обеспечить возможность внутрисхемного программирования микроконтроллера без отсоединения от внешнего устройства (без вынимания из панельки. Поскольку для подключения внешней шины AD подходит только порт GPIOB  микроконтроллера (GPIOC имеет в своем составе некоторые слаботочные выходы, а GPIOA имеет некоторые 5V-нетолерантные входы), то внутрисхемное программирование с использованием полного интерфейса JTAG невозможно без отключения от внешнего устройства (так как часть выводов интерфейса JTAG находится на GPIOB). Также, ввиду того что вход BOOT1 совмещен с портом GPIOB, невозможно программирование с использованием внутреннего масочного заводского загрузчика по UART. Поэтому для внутрисхемного программирования микроконтроллера без отключения от внешнего устройства был разработан специальный первичный загрузчик, обеспечивающий программирование по UART со скоростью до 921600 Бод.
 В первый физический 16-килобайтный сектор флэш-памяти  (диапазон адресов 0x08000000-0x080003FFF) должен быть записан специальный первичный загрузчик. Остальная флэш-память (область, начинающаяся с адреса 0x08004000) используется для хранения кода и константных данных приложения. Запись первичного загрузчика может осуществляться один единственный раз перед первым подключением к внешнему устройству (вставке в панельку) по интерфейсу JTAG или SWD с использование стандартных адаптеров для отладки/программирования микроконтроллеров Cortex-M3 типа ST-Link, JLink, Wieggler, Altera ByteBlaster и других. Описание стандартных методов программирования внутренней флеш-памяти микроконтроллера выходит за рамки данного документа.
После записи первичного загрузчика дальнейшее программирование микроконтроллера уже может осуществлять под его управлением. Стирание и новая запись первичного загрузчика могут потребоваться только при обновлении его версии.
Первичный загрузчик получает управление при аппаратном сбросе микроконтроллера и начинает свою работу только низком уровне на выводе 15 (PA1), что достигается при установленной перемычке SA6. Если перемычка SA6 установлена, то первичный загрузчик программирует UART1 на скорость 115200 Бод и начинает ожидать поступления команд чтения-записи флэш-памяти по данному последовательному интерфейсу. Если же на входе 15 (PA1) высокий уровень, что соответствует не установленной  перемычке SA6, то управление немедленно передается основному приложению в области флэш-памяти начиная с адреса 0x08004000.
Первичный загрузчик использует UART1 микроконтроллера, выводы TxD (PA9) и RxD (PA10) которого выведены на  разъем внутрисхемного программирования X1.
0x08000000
0x08003FFF	Первичный загрузчик
Программируется однократно через интерфейс JTAG или SWD, внешнее устройство при программировании должно быть отключено	
0x08004000
0x08007FFF	Основная программа
Может программироваться многократно через интерфейс UART с использованием первичного загрузчика и утилиты wcload, допускается программирование без отключения от внешнего устройства (т.е. без извлечения из панельки эмулируемой микросхемы)	Код программы	
0x08008000
0x08xxxxxx
(верхняя граница)		Данные для эмуляции ПЗУ и определение конфигураций	
 Для  осуществления операций программирования и/или считывания прошивки плата РЕ-мулятора подключается к персональному компьютеру по интерфейсу RS-232 с использованием внешнего (внешнего относительно платы, интеграция микросхемы физического уровня RS-232 на миниатюрную плату РЕ-мулятора представляется нецелесообразной) адаптера-преобразователя физических уровней RS-232 в CMOS (3.3V предпочтительны, но также допускаются уровни 5.0V). Также возможно использование различных адаптеров USB2COM, имеющих непосредственно логические  выходы в уровнях CMOS.  Подключать плату РЕ-мулятора непосредственно (без адаптера согласователя уровней) к физическому интерфейсу RS-232 нельзя.
Для работы первичного загрузчика достаточно подключение только цепей TxD и RxD. Поскольку запуск первичного загрузчика осуществляется после аппаратного сброса микроконтроллера и наличии установленной перемычки SA6,  утилита программирования wcload при начале работы генерирует импульсы низкого уровня на выходах DTR и RTS COM-порта. Любой из данных выходов (после согласования уровней) может быть подключен к цепи ~RESET, также выходящей на разъем внутрисхемного программирования X1. При этом будет достигнут автоматический вход в первичный загрузчик при запуске утилиты и не будет требоваться выполнение сброса микроконтроллера другими методами (например циклов выключения и включения питания).
Для взаимодействия с первичным загрузчиком по COM-порту разработана соответствующая утилита wcload, представляющая собой приложение Win32. Данная утилита позволяет записать программное обеспечение во флэш-память микроконтроллера из файла, или прочитать программное обеспечение из флэш-памяти микроконтроллера в файл.
Команда для вызова утилиты wcload имеет следующий вид:
wcload [[-|/]ключ(и) ...] имя-файла
Утилита поддерживает следующие значения ключей:
-#	При указании этого ключа утилита будет выводить на экран дополнительную информацию - общий ход выполнения, прогресс выполнения длительных операций и прочее. При отсутствии ключа будет осуществляться только вывод сообщений об ошибках	
-с_	Этот ключ указывает номер коммуникационного порта (COM-порта) который следует использовать для взаимодействия с первичным загрузчиком. Допускаются значения в диапазоне от 1 до 99. Например, при указании -с18 утилита будет использовать COM18.	
-b_	Этот ключ указывает на начальную скорость обмена, которую нужно использовать для установления связи с загрузчиком. Если ключ не указан то используется скорость по умолчанию 115200. Первичный загрузчик РЕ-мулятора по умолчанию работает на такой скорости, поэтому указание данного ключа не требуется. Пример использования ключа: -b230400	
-x_	После начального установления соединения с загрузчиком выполнить кратное увеличение скорости. Например  -x8  - скорость будет увеличена в 8 раз. Если начальная скорость установления соединения составляла 115200 Бод, то рабочая скорость обмена будет согласована с загрузчиком и увеличена до 921600 Бод (в восемь раз). С данным ключом допускается указывать значения от 1 до 8. Также следует заметить что не все COM-порты поддерживают скорости обмена более 115200. Кроме того, многие преобразователи физических уровней  RS-232 также не поддерживают повышенные скорости, это следует учитывать при использовании данного ключа.	
-z_	Количество используемых стоп битов, допускается использовать значения 1 или 2. Используемое по умолчанию значение равно 2 (если не указан данный ключ). Однако существуют такие адаптеры USB2COM (в частности построенные на микросхемах Prolific) которые требуют использования одного стоп-бита. Для таких адаптеров следует явно указывать ключ -z1.	
-w	Осуществить операцию записи флэш-памяти микроконтроллера из указанного файла. Данный ключ нельзя указывать одновременно с ключом -r, также данный ключ требует обязательного указания имени файла. Запись осуществляется только в область приложения, область первичного загрузчика остается неизменной. Будет произведена запись только тех данных, которые содержаться в файле. Также следует помнить что запись возможна только если флэш-память находится в стертом состоянии. Для приведения флэш-памяти в данное состояние следует использовать ключ -e.	
-r	Осуществить операцию считывания флэш-памяти микроконтроллера в указанный файл. Будет прочитана вся область приложения (то  есть исключая область первичного загрузчика) и записана в указанный файл. Данный ключ нельзя указывать одновременно с ключом -w, также данный ключ требует обязательного указания имени файла.	
-v	Сравнить содержимое флэш-памяти микроконтроллера с указанным файлом. Обычно операция верификации производится после выполнения записи. С учетом того загрузчик автоматически верифицирует флэш-память в пределах записанной страницы использования ключа -v после записи необязательно. Допускается указывать данный ключ одновременно с ключом -w.	
-j	После выполнения всех операций осуществить автоматический запуск приложения (выход из режима загрузчика)	
-y_	После выполнения всех операций осуществить запуск отладочного терминала на указанной скорости. При запуске терминала также осуществляется автоматический запуск приложения (аналог указания ключа -j). Пример - -y115200.	
Имя-файла	Имя файла с данными. При выполнении операции записи флэш-памяти должен содержать исходные данные, при операции чтения в этот файл будут записаны прочитанные данные. Используемое расширение имени файла по умолчанию - .hex (то есть для файлов с таким расширением можно указывать только имя). Поддерживаемый формат файла - intel-hex.	
Пример командной строки для записи файла a205_rom.hex вj флэш-память микроконтроллера с использованием COM16 и предварительным стиранием флэш-памяти:
wcload -# -c16 -e -w a205_rom
То же самое, но с верификацией и автоматическим запуском новой записанной прошивки, на повышенной скорости (при условии что COM-порт и преобразователи уровней поддерживают):
wcload -# -c16 -x8 -e -w -v -j a205_rom
Считывание содержимого флэш-памяти в файл read.rom по COM3 на повышенной до 230400 скорости:
wcload -# -c3 -x2 -r read.rom
Таким образом процесс сборки, настройки и последующей эксплуатации РЕ-мулятора выглядит следующим образом:
•	монтаж платы согласно электрической схемы
•	подключение питания +5V к плате (или обеспечение питанием +3.3V от адаптера JTAG, если он предоставляет такую возможность)
•	программирование первичного загрузчика с использованием JTAG-адаптера типа ST-Link
•	подключение РЕ-мулятора к внешнему устройству (установка в панельку вместо эмулируемой микросхемы)
•	присоединение выходов сброса и дополнительных сигналов chip select если необходимо. Подключение выхода управления сбросом очень желательно, но в ряде случаев, если РЕ-мулятор гарантировано стартует раньше внешнего устройства можно обойтись и без него
•	подключение РЕ-мулятора с использованием адаптеров-согласователей к COM-порту, установка перемычки SA6
•	подготовка основной программы с нужными данными и конфигурацией для эмуляции
•	подача питания на внешнее устройство (значит и на установленный РЕ-мулятор)
•	программирование основной программы во флэш-память контроллера при помощи утилиты wcload
•	повторение предыдущих трех шагов при необходимости (например замена данных эмуляции - это может быть компилируемая прошивка для отлаживаемого устройства)
4.	Структура программного обеспечения
Основное программное обеспечение состоит из двух отдельных частей:
•	управляющий код, реализует начальную инициализацию и собственно алгоритмы эмуляции микросхем 1801РЕ2/РР1. Для размещения управляющего кода выделена область размером 16 килобайт начиная с адреса 0x08004000.  В результирующем файле, предназначенном для дальнейшей обработки утилитой wcload управляющий код должен размещаться начиная с адреса 0x0000000. Первичный загрузчик автоматически выполнит нужную коррекцию при записи данных во флэш-память.
•	данные для эмуляции. Размещаются во флэш-памяти начиная с адреса 0x08008000 и до верхней границы (зависит от объема конкретно примененного микроконтроллера). В результирующем файле, предназначенном для дальнейшей обработки утилитой wcload данные для эмуляции должны размещаться начиная с адреса 0x00004000.
Для того чтобы пользователи могли легко менять данные для эмуляции без полной перекомпиляции проекта эти две основные части вынесены в два отдельных файла. Сборка результирующего файла может осуществляться при помощи единственной операции объединения, выполняемой при помощи соответствующей утилиты, например srec_cat (http://srecord.sourceforge.net).
Файл управляющего получается в результате компиляции исходных текстов, написанных на языках С и Ассемблер. Предоставленные исходные тексты могут быть скомпилированы компиляторами GCC или IAR. Ввиду того что размер кода не превышает 32К, компилятор IAR может быть использован в рамках бесплатной лицензии KickStarter. В зависимости от использованного компилятора на выходе получается файл a205_gcc.hex или a205_iar.hex. Функционально данные прошивки полностью равнозначны, различие только в использованном компиляторе.
Данные эмуляции (данные которые РЕ-мулятор будет выдавать на шину внешнего устройства) вынесены в отдельную часть. Эти данные представлены в виде непрерывного массива элементов, описываемых структурой типа ROM_DESC. Один элемент соответствует одной эмулируемой микросхеме типа 1801РЕ2/РР1. Несколько элементов массива могут описывать несколько одновременно эмулируемых микросхем.
 В целях обеспечения большей гибкости РЕ-мулятор может поддерживать несколько рабочих конфигураций. Под конфигурацией понимается некоторая заданная комбинация одновременно эмулируемых микросхем, описываемых некоторыми заданными элементами из массива описания данных эмуляции. Например, в массиве находятся элементы с данными для микросхем типа: 
•	1801РЕ2-017 (основной монитор БК-0010)
•	1801РЕ2-106  (Бейсик БК-0010, первая микросхема)
•	1801РЕ2-107 ((Бейсик БК-0010, вторая микросхема)
•	1801РЕ2-108 (Бейсик БК-0010, третья микросхема)
•	1801РЕ2-018 (Фокал БК-0010)
•	1801РЕ2-019 (МСТД БК-0010)
На данных микросхемах возможно поддержать две конфигурации:
•	Конфигурация 0: эмуляция четырех штатных ПЗУ материнской платы БК-0010, в этом случае будут использованы элементы описывающие микросхемы -017, -106, -107, -108
•	Конфигурация 1: эмуляция ПЗУ основного монитора и подключенного внешнего модуля МСТД БК-0010, в этом случае будут использованы элементы описывающие микросхемы -017, -18, -19
Все конфигурации помещаются в единую прошивку. Выбор номера активной конфигурации осуществляется перемычками SA4-SA1. Всего может быть поддержано до 14 конфигураций.
Конфигурация	SA4	SA3	SA2	SA1	
0	отсутствует	отсутствует	отсутствует	отсутствует	
1	отсутствует	отсутствует	отсутствует	установлена	
2	отсутствует	отсутствует	установлена	отсутствует	
3	отсутствует	отсутствует	установлена	установлена	
4	отсутствует	установлена	отсутствует	отсутствует	
5	отсутствует	установлена	отсутствует	установлена	
6	отсутствует	установлена	установлена	отсутствует	
7	отсутствует	установлена	установлена	установлена	
8	установлена	отсутствует	отсутствует	отсутствует	
9	установлена	отсутствует	отсутствует	установлена	
10	установлена	отсутствует	установлена	отсутствует	
11	установлена	отсутствует	установлена	установлена	
12	установлена	установлена	отсутствует	отсутствует	
13	установлена	установлена	отсутствует	установлена	
Поле перемычек SA6-SA1 считывается управляющей программой однократно при старте, дальнейшие изменения поля конфигурации в процессе эмуляции игнорируются и вступят в силу только после следующего аппаратного сброса микроконтроллера.
Массив описателей данных эмуляции должен располагаться в памяти микроконтроллера, начиная с адреса 0x08008000 и может простираться до верхней границы флэш-памяти. Соответственно чем больше флэш память примененного микроконтроллера тем больше образов эмулируемых микросхем можно разместить. В микроконтроллер STM32F205RB со 128 килобайтами флэш-памяти можно поместить до 11 образов эмулируемых микросхем, в STM32F205RG с 1 мегабайтом - до 123.
Управляющий код при старте считывает номер конфигурации, задаваемой полем перемычек SA4-SA1 и затем сканирует массив описателей данных эмуляции, начиная с адреса 0x08008000. Найденные элементы соответствующие выбранной конфигурации далее будут участвовать в процессе эмуляции. Сканирование прекращается при обнаружении первого недостоверного элемента описания.
Каждый элемент описания имеет размер 8208 байт (8К+16) и содержит следующие поля:
•	собственно поле данных, 8192 байта, эти данные будут выдаваться в неизменном виде на шину внешнего устройства. РЕ-мулятор не производит инвертирование адреса и данных в процессе эмуляции (это ускоряет работу - не выполняются данные операции), поэтому в этом поле данные должны быть представлены в формате "программатора" -  то есть данные и адреса должны быть инвертированы относительно того как их будет видеть процессор внешнего устройства
•	один байт кода эмулируемой микросхемы - значение от 0 до 7:
0x00	160000..177777	
0x01	140000..157777	
0x02	120000..137777	
0x03	100000..117777	
0x04	060000..077777	
0x05	040000..057777	
0x06	020000..037777	
0x07	000000..017777	
•	сигнатура - байт со значением 0x03
•	14 байтов, описывающий используемый вход chip select в зависимости от  номера выбранной конфигурации. Байт со смещением 0 описывает использование данного элемента в конфигурации 0, байт со смещением 1 описывает использование для конфигурации 1 и так далее. Байты в данном поле могут принимать следующие значения:
0x00	Активировать при низком уровне на входе chip select 0 (панелька)	
0x11	Активировать при низком уровне на входе chip select 1 (дополнительный разъем)	
0x22	Активировать при низком уровне на входе chip select 2 (дополнительный разъем)	
0x33	Активировать при низком уровне на входе chip select 3 (дополнительный разъем)	
0xFF	Данный элемент не используется в выбранной конфигурации	
В комплекте поставляются примеры двух готовых файлов данных эмуляции - bk0010.hex и bk0011m.hex.
При использовании bk0010.hex поддерживаются следующие конфигурации (РЕ-мулятор устанавливается вместо DS17):
	Микросхема	Код	Подключение входов сhip select к схеме внешнего устройства (БК-0010)	
0	1801РЕ2-017	0x03	Chip select 0  - цепь 101 (вывод 23 колодки DS17)	
	1801РЕ2-106	0x02	Chip select 1 - цепь 53 (вывод 23 DS18 или DS20)	
	1801РЕ2-107	0x01		
	1801РЕ2-108	0x00	Chip select 2 - цепь 46 (вывод 1 DS19)	
1	1801РЕ2-017	0x03	Chip select 0  - цепь 101 (вывод 23 колодки DS17)	
	1801РЕ2-018	0x02	Chip select 1 - цепь 53 (вывод 23 DS18 или DS20)	
	1801РЕ2-019	0x00	Chip select 2 - цепь 46 (вывод 1 D19 1801ВП1-037)	
При использовании bk0011.hex поддерживаются следующие конфигурации (РЕ-мулятор устанавливается вместо DS17):
	Микросхема	Код	Подключение входов сhip select к схеме внешнего устройства (БК-0011)	
0	1801РЕ2-201	0x01	Chip select 0  - цепь NOROM201 (вывод 23 колодки DS17)	
	1801РЕ2-202	0x02	Chip select 1 - цепь NOROM202 (вывод 23 колодки DS18 или DS20)	
1	1801РЕ2-201	0x01	Chip select 0  - цепь NOROM201 (вывод 23 колодки DS17)	
	1801РЕ2-202	0x02	Chip select 1 - цепь NOROM202 (вывод 23 колодки DS18 или DS20)	
	1801РЕ2-198	0x03	Chip select 1 - цепь NOROM202 (вывод 23 колодки DS18 или DS20)	
	1801РЕ2-199	0x03	Chip select 2 - цепь S1-58 (вывод 21 колодки XT8)	
	1801РЕ2-200	0x02	Chip select 2 - цепь S1-58 (вывод 21 колодки XT8)	
2	1801РЕ2-201	0x01	Chip select 0  - цепь NOROM201 (вывод 23 колодки DS17)	
	1801РЕ2-202	0x02	Chip select 1 - цепь NOROM202 (вывод 23 колодки DS18 или DS20)	
	1801РЕ2-203	0x00	Chip select 3 - S1-46 (вывод 37 D19 1801ВП1-037)	
3	1801РЕ2-201	0x01	Chip select 0  - цепь NOROM201 (вывод 23 колодки DS17)	
	1801РЕ2-202	0x02	Chip select 1 - цепь NOROM202 (вывод 23 колодки DS18 или DS20)	
	1801РЕ2-198	0x03	Chip select 1 - цепь NOROM202 (вывод 23 колодки DS18 или DS20)	
	1801РЕ2-199	0x03	Chip select 2 - цепь S1-58 (вывод 21 колодки XT8)	
	1801РЕ2-200	0x02	Chip select 2 - цепь S1-58 (вывод 21 колодки XT8)	
	1801РЕ2-203	0x00	Chip select 3 - S1-46 (вывод 37 D19 1801ВП1-037)	
	ПРИМЕЧАНИЕ: подключение модулей расширения к разъему МПИ в данной конфигурации не допускается - так как возможен конфликт с дополнительными регистрами. Конфликт можно разрешить подключением входа CS3 РЕ-мулятора к сигналу запрета (если таковой есть на установленном модуле расширения)	
4	1801РЕ2-201	0x01	Chip select 0  - цепь NOROM201 (вывод 23 колодки DS17)	
	1801РЕ2-202	0x02	Chip select 1 - цепь NOROM202 (вывод 23 колодки DS18 или DS20)	
	1801РЕ2-253	0x00	Chip select 3 - D9.3 вывод 11 на плате 	
	ПРИМЕЧАНИЕ: подключенный модуль КНГМД не должен иметь установленную микросхему ПЗУ 1801РЕ2-253/326	
5	1801РЕ2-201	0x01	Chip select 0  - цепь NOROM201 (вывод 23 колодки DS17)	
	1801РЕ2-202	0x02	Chip select 1 - цепь NOROM202 (вывод 23 колодки DS18 или DS20)	
	1801РЕ2-198	0x03	Chip select 1 - цепь NOROM202 (вывод 23 колодки DS18 или DS20)	
	1801РЕ2-199	0x03	Chip select 2 - цепь S1-58 (вывод 21 колодки XT8)	
	1801РЕ2-200	0x02	Chip select 2 - цепь S1-58 (вывод 21 колодки XT8)	
	1801РЕ2-253	0x00	Chip select 3 - D9.3 вывод 11 на плате КНГМД	
	ПРИМЕЧАНИЕ: подключенный модуль КНГМД не должен иметь установленную микросхему ПЗУ 1801РЕ2-253/326	
6	1801РЕ2-198	0x03	Chip select 0  - цепь NOROM202 (вывод 22 колодки XT8)	
	1801РЕ2-199	0x03	Chip select 2 - цепь S1-58 (вывод 21 колодки XT8)	
	1801РЕ2-200	0x02	Chip select 2 - цепь S1-58 (вывод 21 колодки XT8)	
	ПРИМЕЧАНИЕ: эмуляция только платы Бейсика, РЕ-мулятор устанавливается на место XT8	
7	1801РЕ2-203	0x03	Полнофункциональная  имитация отдельной микросхемы 1801РЕ2-203	
8	1801РЕ2-253	0x03	Полнофункциональная  имитация отдельной микросхемы 1801РЕ2-253	
9	Эквивалентна конфигурации 4, но используется версия 1801РЕ2-326v12	
10	Эквивалентна конфигурации 5, но используется версия 1801РЕ2-326v12	
11	Эквивалентна конфигурации 8, но используется версия 1801РЕ2-326v12	
12	1801РЕ2-201	0x01	Chip select 0  - цепь NOROM201 (вывод 23 колодки DS17)	
	1801РЕ2-202	0x02	Chip select 1 - цепь NOROM202 (вывод 23 колодки DS18 или DS20)	
	1801РЕ2-198	0x03	Chip select 1 - цепь NOROM202 (вывод 23 колодки DS18 или DS20)	
	1801РЕ2-199	0x03	Chip select 2 - цепь S1-58 (вывод 21 колодки XT8)	
	1801РЕ2-200	0x02	Chip select 2 - цепь S1-58 (вывод 21 колодки XT8)	
	1801РЕ2-017	0x03	Chip select 3 - цепь S1-65 (вывод 23 колодки XT8)	
	1801РЕ2-018	0x02	Chip select 3 - цепь S1-65 (вывод 23 колодки XT8)	
	ПРИМЕЧАНИЕ: эквивалентна конфигурации 1, добавлен монитор 0010 и Фокал как опциональное ПЗУ, устанавливаемое в плату Бейсика	
При использовании bk0011m.hex поддерживаются следующие конфигурации (РЕ-мулятор устанавливается вместо DS17):
	Микросхема	Код	Подключение входов сhip select к схеме внешнего устройства (БК-0011M)	
0	1801РЕ2-324	0x01	Chip select 0  - цепь NOROM324 (вывод 23 колодки DS17)	
	1801РЕ2-325	0x02	Chip select 1 - цепь NOROM325 (вывод 23 колодки DS18 или DS20)	
1	1801РЕ2-324	0x01	Chip select 0  - цепь NOROM324 (вывод 23 колодки DS17)	
	1801РЕ2-325	0x02	Chip select 1 - цепь NOROM325 (вывод 23 колодки DS18 или DS20)	
	1801РЕ2-327	0x03	Chip select 1 - цепь NOROM325 (вывод 23 колодки DS18 или DS20)	
	1801РЕ2-328	0x03	Chip select 2 - цепь S1-58 (вывод 21 колодки XT8)	
	1801РЕ2-329	0x02	Chip select 2 - цепь S1-58 (вывод 21 колодки XT8)	
2	1801РЕ2-324	0x01	Chip select 0  - цепь NOROM324 (вывод 23 колодки DS17)	
	1801РЕ2-325	0x02	Chip select 1 - цепь NOROM325 (вывод 23 колодки DS18 или DS20)	
	1801РЕ2-330	0x00	Chip select 3 - S1-46 (вывод 37 D19 1801ВП1-037)	
3	1801РЕ2-324	0x01	Chip select 0  - цепь NOROM324 (вывод 23 колодки DS17)	
	1801РЕ2-325	0x02	Chip select 1 - цепь NOROM325 (вывод 23 колодки DS18 или DS20)	
	1801РЕ2-327	0x03	Chip select 1 - цепь NOROM325 (вывод 23 колодки DS18 или DS20)	
	1801РЕ2-328	0x03	Chip select 2 - цепь S1-58 (вывод 21 колодки XT8)	
	1801РЕ2-329	0x02	Chip select 2 - цепь S1-58 (вывод 21 колодки XT8)	
	1801РЕ2-330	0x00	Chip select 3 - S1-46 (вывод 37 D19 1801ВП1-037)	
	ПРИМЕЧАНИЕ: подключение модулей расширения к разъему МПИ в данной конфигурации не допускается - так как возможен конфликт с дополнительными регистрами. Конфликт можно разрешить подключением входа CS3 РЕ-мулятора к сигналу запрета (если таковой есть на установленном модуле расширения)	
4	1801РЕ2-324	0x01	Chip select 0  - цепь NOROM324 (вывод 23 колодки DS17)	
	1801РЕ2-325	0x02	Chip select 1 - цепь NOROM325 (вывод 23 колодки DS18 или DS20)	
	1801РЕ2-326	0x00	Chip select 3 - D9.3 вывод 11 на плате КНГМД	
	ПРИМЕЧАНИЕ: подключенный модуль КНГМД не должен иметь установленную микросхему ПЗУ 1801РЕ2-253/326	
5	1801РЕ2-324	0x01	Chip select 0  - цепь NOROM324 (вывод 23 колодки DS17)	
	1801РЕ2-325	0x02	Chip select 1 - цепь NOROM325 (вывод 23 колодки DS18 или DS20)	
	1801РЕ2-327	0x03	Chip select 1 - цепь NOROM325 (вывод 23 колодки DS18 или DS20)	
	1801РЕ2-328	0x03	Chip select 2 - цепь S1-58 (вывод 21 колодки XT8)	
	1801РЕ2-329	0x02	Chip select 2 - цепь S1-58 (вывод 21 колодки XT8)	
	1801РЕ2-326	0x00	Chip select 3 - D9.3 вывод 11 на плате КНГМД	
	ПРИМЕЧАНИЕ: подключенный модуль КНГМД не должен иметь установленную микросхему ПЗУ 1801РЕ2-253/326	
6	1801РЕ2-327	0x03	Chip select 1  - цепь NOROM325 (вывод 22 колодки XT8)	
	1801РЕ2-328	0x03	Chip select 2 - цепь S1-58 (вывод 21 колодки XT8)	
	1801РЕ2-329	0x02	Chip select 2 - цепь S1-58 (вывод 21 колодки XT8)	
	ПРИМЕЧАНИЕ: эмуляция только платы Бейсика, РЕ-мулятор устанавливается на место XT8	
7	1801РЕ2-330	0x03	Полнофункциональная  имитация отдельной микросхемы 1801РЕ2-330	
8	1801РЕ2-326	0x03	Полнофункциональная  имитация отдельной микросхемы 1801РЕ2-326	
9	Эквивалентна конфигурации 4, но используется версия 1801РЕ2-326v12	
10	Эквивалентна конфигурации 5, но используется версия 1801РЕ2-326v12	
11	Эквивалентна конфигурации 8, но используется версия 1801РЕ2-326v12	
12	1801РЕ2-324	0x01	Chip select 0  - цепь NOROM324 (вывод 23 колодки DS17)	
	1801РЕ2-325	0x02	Chip select 1 - цепь NOROM325 (вывод 23 колодки DS18 или DS20)	
	1801РЕ2-327	0x03	Chip select 1 - цепь NOROM325 (вывод 23 колодки DS18 или DS20)	
	1801РЕ2-328	0x03	Chip select 2 - цепь S1-58 (вывод 21 колодки XT8)	
	1801РЕ2-329	0x02	Chip select 2 - цепь S1-58 (вывод 21 колодки XT8)	
	1801РЕ2-017	0x03	Chip select 3 - цепь S1-65 (вывод 23 колодки XT8)	
	1801РЕ2-018	0x02	Chip select 3 - цепь S1-65 (вывод 23 колодки XT8)	
	ПРИМЕЧАНИЕ: эквивалентна конфигурации 1, добавлен монитор 0010 и Фокал как опциональное ПЗУ, устанавливаемое в плату Бейсика	
Файлы управляющего кода и данных эмуляции могут быть объединены в единый файл для программирования микроконтроллера при помощи утилиты srec_cat. Например:
srec_cat a205_gcc.hex -Intel rom\bk0011m.hex -Intel -offset -0x4000 -o a205_gcc11.hex -Intel
srec_cat a205_gcc.hex -Intel rom\bk0010.hex -Intel -offset -0x4000 -o a205_gcc10.hex -Intel
Таким образом, процесс построения файла для программирования микроконтроллера включает в себя следующие этапы:
•	компиляция исходных кодов для получения файла управляющего кода. Можно не компилировать, а взять готовый a205_gcc.hex или a205_iar.hex из комплекта поставки
•	собрать файл описания данных эмуляции. В комплект входят примеры сборок файлов bk0010.hex (сборка описывается файлом bk0010.cat) и bk0011m.hex (описывается файлом bk0011m.cat) при помощи утилиты srec_cat из отдельных файлов, прочитанных при помощи программатора "Стерх".
•	Выполнить объединение файла управляющего кода и файла данных эмуляции в единый файл
•	Запрограммировать микроконтроллер получившимся файлом при помощи утилиты wcload