AVReAl Описание Адаптеры History FAQ English Russian

Изменения в программе

Обозначения.

!!
not fixed bug :-(
!
bug fix
+
new feature
*
changed feature
-
removed feature
?
непонятки

Подробнее о внесенных изменениях смотрите в описании программы.

Это страница архива и истории изменений старых версий программы.
Более новые версии avreal можно скачать с основной страницы загрузки программы.


v1.27r4 (Tue 2009-10-05) WIN32, Linux - i386, Linux - x86_64 FreeBSD

+
Поиск конфигурационных файлов для адаптеров, допускающих переназначение выводов (-am и -aft2232), производится также в каталогах из переменной окружения AVREAL_CONFIG_PATH и в каталоге программы
+
Возможность задания конфигурации выводов в командной строке

v1.27r3 (Mon 2009-09-21)

!
Исправлена ошибка, приводившая к невозможности программирования при тактировании контроллера от адаптера (-o0) в сочетании с командой программирования без поллинга (-w). flash/eeprom при -o0 -wp программировались нормально, на работу с fuses ошибка не влияла.
!
Исправлена ошибка в описании fuse-битов BODLEVEL и BOOTSIZ/BOOTRST для at90usb82, at90usb162, atmega16u2, atmega32u2, atmega328P
!
Исправлено значение сигнатуры mega325P, mega3250P, mega329P, mega3290P
!
Исправлено количество байтов OSCCAL tiny25/45/85 в соответствии со свежей документацией
+
Добавлены mega16HVB, atmega8U2
*
Изменён формат выдачи информации о fuses
*
Имена контроллеров с одинаковой сигнатурой сгруппированы и выдаются вместе по -h и при определении сигнатуры подключенного контроллера.

v1.27r2 (Tue 2009-07-21)

!
Подправлено отсечение времён в Windows
!
Исправлено имя для микроконтроллера 90USB82 (было 90USB81)
+
Добавлены: attiny43U, attiny87, atmega16U2, atmega32U2, atmega32U6, atmega164PA (ничем не отличается от atmega164P, просто за компанию с atmega324PA), atmega324PA, atmega16M1, atmega64C1, atmega64M1

v1.27r1 (Fri 2009-01-02)

!
При запуске программы версии 1.27r0 без ключа -a происходило аварийное завершение.
*
Открытие устройства FTDI выполняется без вызова функции построения списка устройств из библиотеки ftd2xx, приводившего под linux к сбросу всех подключенных FTDI-устройств. Cписок можно получить комбинацией ключей -aft2232 -p? +mega8 Из-за существующего на данный момент порядка анализа ключей необходимо всё же указать произвольный микроконтроллер.

v1.27r0 (Sat 2008-11-15)

+
Добaвлена экспериментальная поддержка FT2232 (Linux, WIN32)

v1.26rev3 (Fri 2008-10-31) WIN32, Linux - i386, Linux - x86_64, FreeBSD

!
Исправлена ошибка (появилась в 1.25r5) записи hex-файлов с адресами выше 64К

v1.26rev2 (Fri 2008-10-03)

!
Исправлена ошибка в определении наличия Altera Byte-Blaster-II
+
Добавлено использование таймеров ОС и измерение времени цикла обращения к LPT для всех поддерживаемых ОС
+
добавлены atmega16U4, atmega8HVD, attiny48, attiny88

v1.26rev0 (Thu 2008-07-10)

-
DOS-версия больше не поддерживается
*
WIN32-версия динамически загружает DLportIO.dll при запуске под NT-линейкой и использует прямой доступ к портам под WIN98 (т.е. под WIN98 можно не устанавливать пакет DLportIO).
+
добавлены attiny167, atmega32U4, atmega32M1, atmega32C1, atmega1284P, atmega8HVA, atmega16HVA, atmega32HVB

v1.25rev6 (Sun 2007-12-30) DOS, WIN32, Linux, FreeBSD

!
Dev ID для ATmega640 приведён в соответствие новой документации от Атмел
!
Исправлена ошибка в размерах FLASH и EEPROM для mega644, mega324p, mega644p (шилось не более 16 килобайт)
+
добавлены at90usb646/647, at90usb82/162, at90pwm216/316, atmega48P/88P/168P/328P

v1.25rev5 (Tue 2007-01-15)

!
Исправлена ошибка обработки счётчика стираний для кристаллов с более 128К памяти программ.
!
Исправлена ошибка в таблице кодов DevID для mega325..mega6450
!
WIN32-версия - исправлена выдача на консоль имён файлов в кириллице
+
Добавлены atmega165P/325P/3250P, atmega169P/329P/3290P, attiny261/461/861, at90pwm1, atmega644/164P/324P/644P, at90usb1286/1287

v1.25rev4 (Fri 2006-03-24)

!
Исправлена ошибка верификации и проверки на чистоту для кристаллов с более 128К памяти программ.
!
Исправлена ошибка в определении границ перекрытия записей в HEX-файле.
*
При совпадении данных в перекрытых записях выдаётся предупреждение и программа продолжает работу.
+
Добавлен at86rf401

v1.25rev3 (Thu 2006-02-09)

!
Исправлена ошибка в реализации mapped adpter для случая, когда сигнал[ы] enable находятся в регистре данных LPT (касается также адаптеров STK, так как они внутри были переведены на работу через mapped adapter), приводившая в некоторых случаях к невозможности входа в программирование.
!
Исправлены ошибки в описании кристаллов at90pwm2/pwm3 и attiny25..85, приводившие к невозможности работы с этими кристаллами.
*
Работа с ByteBlaster/ByteBlasterMV/ByteBlaster-II также переведена внутри на mapped adapter, теперь все адаптеры используют единый код.
+
Добавлены at90pwm2B/3B, attiny24/44/84, at90can32/64

v1.25rev2 (Thu 2005-04-26)

+
Добавлены at90pwm2/3, attiny25/45/85, atmega329/3290/649/6490, atmega640/1280/1281/2560/2561
+
Добавлены формы ключа -b: -bc для проверки на чистоту только кода, -bd для проверки только данных.
+
Добавлен анализ lock-битов и отказ выполнять операции, заблокированные на данном уровне защиты.
+
Добавлены синонимы для имён fuses - параллельно работают как "традиционные для avreal" имена, так и указанные в документации на кристалл. Как обычно, все имена можно посмотреть по avreal +chip_name -h

v1.25rev1 (Sat 2005-01-01)

!
Исправлена ошибка в реализации произвольного адаптера.

v1.25rev0 (Wen 2004-12-02)

+
возможность почти произвольно задавать распайку адаптера (линии mosi, sck, xtal, reset должны быть в регистре данных LPT).
+
Оптимизирована реализация программного SPI, до 30% ускорение обмена при выскоих тактовых частотах процессоров.
+
добавлены atmega165, atmega325/3250, atmega645/6450

v1.24rev0 (2004-06-20) av124r0.zip (~126KB)

!
Исправлена ошибка работы поллинга со страничными кристаллами при наличии страниц, полностью заполненных FF и без команды стирания.
!
При изменении процедуры входа в программирование (1.23rev3) было забыто про "особенности" кристалла at90s1200. Исправлено.
+
добавлены mega48, mega88, mega168, 90can128
+
добавлен дополнительный делитель на SCK при генерации XTAL для работы ключа -o0 с кристаллами с зашитым CKDIV.
+
добавлена форма ключей -c -d для записи последовательности байтов

v1.23rev4 (2004-01-18)

!
Исправлен формат вывода в сообщениях об ошибке при верификации fuses (с десятичного на шестндцатеричный)
!
При добавлении сериализации кристаллов была сделана ошибка в обработке ключа -с? (запись под команду LDI). Исправлено.
!
Убрана ошибка чтения при совместной работе ключей -! -n на нераспознанном кристалле (ну когда уже перестанут применять 90s1200!!!)
*
При наличии ключа -! и ключа -e- EEPROM сохраняется/восстанавливается даже если кристалл не нераспознан.
+
Добавлена поддержка Altera BYTEBLASTER-II, Xilinx Parallel Download Cable
+
Добавлен tiny2313
+
добавлена выдача на экран нового значения serno если запись в кристалл прошла успешно, а запись нового значения в файл закончилась неудачей

v1.23rev3 (2003-09-07)

!
исправлена обработка кода и данных в одном файле (для кристаллов с < 4K флеша происходил аварийный выход из программы)
+
Добавлен tiny13
+
Добавлена специальная процедура стирания для tiny12 (описанный в документации обход ошибки кристалла)
*
Изменены процедуры входа в программирование и пересинхронизации (для кристаллов mega8..mega128, tiny26, tiny13)
*
Изменено программное формирование XTAL - теперь SCK и MOSI меняются в момент спада XTAL, так как при изменении по фронту в зависимости от характеристик порта LPT мог сбоить обмен.
*
Убран поллинг для 90s1200, так как с ней он реально не работает.
*
При наличии ключа -! и ключа -n счётчик стирания считывается из кристалла, даже если он нераспознан.

v1.23rev2 (2003-05-15)

!
подправлена обработка ключа -p - задание времени обращения к порту игнорировалось при указании адреса (а не номера) порта
!
Исправлен со 128 на 256 байт размер страницы для mega128, mega64 (шилось нормально и с неправильным, но дольше)
+
Добавлен поллинг при записи, модификатор p ключа -w

v1.23rev1 (2003-04-13)

!
При комбинации -e- и файла для записи в EEPROM - не записывались байты FF в EEPROM
!
При комбинации -e- -b сначала производилось восстановление EEPROM, после чего не проходила проверка на чистоту.
!
При наличии формы ключей -c -d для записи OSCCAL, но без ключей -w или -v (т.е. при отсутствии файлов, в данные из которых надо было бы добавить OSCCAL) происходил выход из программы по assert(). Теперь расширенные формы -c -d без -w -v просто игнорируются.
+
Введена сериализация прошивок. Сериализация производится аналогично зашивке байта OSCCAL - при помощи расширений ключей и -d.
+
Перед записью OSCCAL можно подкорректировать, увеличив или уменьшив его значение на заданное в командной строке число.
*
Игнорируются записи стартового адреса программы из hex-файла.

v1.23rev0 (2002-12-18)

+
добавлены новые кристаллы: mega16, mega32, mega64, mega8515, mega8535, mega162, mega169, tiny26
+
введена поддержка нескольких байтов OSCCAL
+
в синтаксис ключа -o добавлен модификатор частоты (Hz, kHz, MHz), частоту можно задавать с плавающей точкой.
+
добавлено прямое задание байтов fuses, например, -f_low=C4,_high=F8
*
ВНИМАНИЕ! УБРАНЫ aliases для fuse! Т.е. теперь нельзя сказать -fb, надо говорить -fboden=0 или -fboden=on А для короткой записи можно воспользоваться и прямым заданием байтов :-)
*
fuses для кристалла mega161 приведены в соответствие с новой документацией (BODEN отсутствует, BLEVEL влияет только на start-up timer и называется SUT).

v1.22rev9 (2002-09-02) av122r9.zip (~115KB)

!
Для mega8 был неправильно составлен список fuses и указан размер страницы флеш-памяти.
!
На всех кристаллах со страничной записью при наличии во входном файле страниц, заполненных одними только FF, avreal посылал очень много лишних команд записи страницы.
!
В конце справки по -h, перед выдачей ссылок на сайты, не производилась проверка устройства вывода - экран или нет. В результате при перенаправлении вывода в файл программа тоже останавливалась до нажатия клавиши.
*
Собственно, это уже довольно давно - для зашивки fuses необходимо дать не только ключ -f, но и -w (ну а для проверки -v). В описании это было отражено сразу, а вот в history тогда не попало. Поскольку описания читаются реже перечня изменений, была масса жалоб :-)

v1.22rev8 (2002-04-15)

!
Исправлена еще одна ошибка, внесенная на этапе rev5->rev6, не писалась нормально EEPROM данных
!
В rev7 был выключен кусок кода, отвечающий за запись fuse в свежедобавленные меги.

v1.22rev7 (Wen 13-Feb-2002)

!
Исправлена ошибка в работе с "обычными" кристаллами, которая была внесена при обходе особенности записи слова кода для кристаллов со страничной организацией флеша.
+
Добавлены mega8, mega16, mega128, mega323
+
Введена форма ключа -L+# для зашивки lock-битов до зашивки fuses (необходимо для включения BODEN и залочки 90s4433 в одном цикле подачи питания).

v1.22rev6 (Mon 21-Jan-2002)

!
фича "Если есть только имена файлов, то выполняется чтение" забывала смотреть на наличие ключа -e. В результате при командной строке -e foo.hex чип успешно стирался после чего foo.hex радостно переписывался поверх содержимым стретого кристалла, все FF, а это уже баг. Теперь чтение производится только при явном наличии -r.
!
Это скорее фича кристалла, нигде не описанная в документации. Если для какого-то слова кода выдать одну команду записи байта, то в другой байт этого слова будет записан предыдущий засылавшийся в чип байт (похоже, это справедливо только для чипов с секторной организацией флеша). Ситуация проявлялась только при наличии в HEX-файле только одного байта для слова, например, в конце текстовой строки и при верификации по -v+. Теперь ситуация проверяется, и во второй байт слова принудительно прописывается FF.
!
При hex-файле, содержащем только концевую запись :00000001FF avreal вываливался по assert. Теперь считает, что никакого файла и не было.
!
После добавления возможности задавать содержимое flash и eeprom в одном файле была по недосмотру оставлена отладочная запись списков кода и данных в файлы hcode.hex и hdata.hex.
*
имена кристаллов для ключа +name могут задаваться как в виде, выводимом по -h (например, 90s8515), так и с дополнительным префиксом 'at' (например, at90s8515).

v1.22rev4 (Thu 09-Aug-2001)

+
Добавлена возможность задавать содержимое кода и данных в одном файле, информация для EEPROM должна находится в HEX-файле начиная с адреса, равного размеру кода для специфицированного в командной строке кристалла. Для записи flash и EEPROM из одного файла необходимо задать имя этого файла без ключей -с -d. Если хотя бы один из этих ключей задан или задано два имени файла - информация для данных берется из своего файла (либо не берется вовсе)
+
Добавлена возможность программировать fuse RSTDISBL и SPIEN для tiny12, tiny15. Кому это не надо - будьте осторожны и помните, что если сделать SPIEN=1 (стереть SPIEN) или RSTDISBL=0 (зашить), то кристалл через байт-бластер уже не зашить. Для осторожных добавлены мнемоники ON (0) и OFF (1) для однобитовых fuse, например -fspien=ON,rstdisbl=OFF - нормальное состояние для tiny15. "Во избежание" залочки через fuses чипа, у которого неудачно зашились код или дата, несколько изменен порядок записи/верификации. Если заданы и запись, и верификация в несколько мест, то
   Было:                            Стало:
     запись FLASH                     запись FLASH
     запись EEPROM                    верификация FLASH
     запись FUSES                     запись EEPROM
     верификация FLASH                верификация EEPROM
     верификация EEPROM               запись FUSES
     верификация FUSES                верификация FUSES
Естественно, прекращение дальнейшей работы при первой неверификации.

v1.22rev3 (Sun 17-06-2001)

+
Добавлена расширенная поддержка osccal для tiny15

v1.22rev2 (Wed 23-05-2001)
Особое спасибо Ignat Olenchuk за обнаружение глюка в 1.22rev0 и тестирование на своих многострадальных кристаллах.

!
Убрана ошибка, приводившая к стиранию "несуществующих" fuses, а SPIEN и RSTDSBL для tiny12, tiny15 не были прописаны в таблицах и как бы "не существовали".
Работа с tiny12, tiny15 разрешена.

v1.22rev1 (Thu 03-05-2001)

!!
:-( непонятки с SPIEN для tiny12, tiny15. Вроде бы должно писаться назад в кристал прочитанное значение ('0' - SPI enabled), но этого не происходит. SPIEN снимается со всеми вытекающими. Пока эти два кристалла просто заблокированы.

v1.22rev0 (Mon 30-04-2001)
Мои благодарности за тестирование avreal на новых чипах
Gavrilenko Igor, Titov Alexey, Alexey Voroshen
(а Игорю еще и за полезные обсуждения :-)

+
добавлены tiny12, tiny15, mega161, mega163
+
OSCCAL рассматривается как Read-Only fuse и сообщается при обращении к чипу
+
расширен формат задания fuses в командной строке (оставлена совместимость со старым). Также изменена логика работы с fuse, не упомянутые в ключе -f теперь ОСТАЮТСЯ НЕИЗМЕНЕННЫМИ, их верификация не производится.
+
Несколько расширен синтаксис ключей и -d, позволяющий в процессе программирования записать прочитанное из чипа значение OSCCAL в память данных или кода (в последнем случае возможна запись как части команды LDI процессора)
*
+name теперь обязательно, использование 90s1200 "по умолчанию" не производится.
*
В силу обязательности +name ключ '--' потерял смысл (если задан только чип, то уже будет произведен его сброс, а если чип не был задан, то и сбрасывать некого) и ИСКЛЮЧЕН.

v1.21rev0 (Thu 15-02-2001)

+
Добавлена возможность генерировать XTAL для микроконтроллера (ключ -o0) при использовании буферизованных адаптеров STK (XTAL генерируется по линии LED) и ByteBalster (байт-бластер должен быть модифицирован, XTAL берется с вывода 8, помеченного у меня ранее как "пока не используется").
!
При нераспознанном чипе даже при наличии -! не производилась запись счетчика стираний по -n

v1.20rev7 (Mon 05-02-2001)

*
Действие ключа -! расширено также и на тип адаптера. Т.е. если задан конкретно ByteBlaster или STK*00 (а не автовыбор между ними), то даже при нераспознанном адаптере используется указанный в командной строке.

v1.20rev6 (Fri 02-02-2001)

!
Правка мелких, но очень тупых и обидных :-( описок при в форматных строках при выдаче типа адаптера.

v1.20rev5 (Fri 26-01-2001)

!
Наконец-то исправлена старая плюха - при наличии счетчика стираний даже при указании -n не удавалось проверить чип на чистоту (имеются ввиду остальные ячейки кода) так как проверялся весь диапазон адресов, включая две верхние ячейки.
+
Добавлена проверка записей HEX-файла на перекрытие. При нахождении первого перекрытия производится выход из программы с указанием диапазона адресов перекрывающихся данных.

v1.20rev4 (Thu 19-10-2000)

!
В процессе модификации исходников таким образом, чтобы они компилировались и под LINUX добавились ошибки. Убрана одна из них - в случае несовпадения при верификации программатор не отключался от чипа. Остальные пока не обнаружены...

v1.20rev3 (Mon 09-10-2000)

!
убрана ошибка в обработке ключа -p с базовым адресом порта
*
DOS-версия теперь также компилируется в BC5.02 (а не в BC3.1, как раньше).
+
Добавился третий вариант программы - под LINUX.

v1.20rev2 (Tue 15-08-2000)

!
исправлена некорректная обработка ключей -c -d при отсутствии имени файла

v1.20rev1 (Sun 09-04-2000)

!
убрана ошибка в обработке ключа -ap

v1.20rev0 (Sun 26-03-2000)

+
Теперь параллельно ведутся две версии, отличающиеся только процедурами работы с LPT/отработкой задержек: avreal.exe - DOS (80286+) avreal32.exe - win32 (80486+) Подробности работы с win32 версией см. в описании программы.
+
Появилась поддержка адаптера Atmel STK (ключ -as), а также автоматическое определение адаптера из STK/ByteBlaster (ключ -aa).
+
Проверяется наличие запрошенного адаптера (кроме "fbprg"), проверка начинается с установки LPT-порта в состояние, при котором запрещены формирователи как в STK*00, так и в ABB.
*
У ключа -p появился второй параметр - скорость обращения к LPT порту (подробнее см. описание программы).
*
Изменена процедура разрешения работы адаптера.
Было:
Ставим на выходы SCK=0, RESET=active
Разрешаем формирователи
Стало:
Ставим на выходы SCK=0, RESET=NOT active
Разрешаем формирователи
Ставим на выходы SCK=0, RESET=active
В результате вход в синхронизм с первой попытки, но возможен конфликт на линиях SCK, MOSI.
*
Мне надоело манипулировать операциями /,% (div, mod) для вывода чисел в виде с плавающей запятой, но используя только целочисленную арифметику. Я стал пользоваться числами с плавающей запятой и их вводом-выводом, но, поскольку дос-версия поддерживает 80286+, а "двоечки" чаще всего были без сопроцессора - для этой версии подлинковал эмулятор. Размер avreal.exe сильно вырос именно поэтому :-).

v1.14rev6 (Mon 03-01-2000) av114r6.zip(~27KB)

*
В порту управления LPT изменяются только те биты, которые нужны при работе (бит hi-Z состояния выходов и при ключе -ab разрешение работы ByteBlaster через AutoLF). В 1.14rev5 это было недоделано - оставалось обнуление порта управления при калибровке скорости обращения.
*
Отредактирована таблица чипов, заменен ID для 90s2323 с 1E9104 на 1E9102 (в соответствии с изменением генеральной линии, отраженном в doc1004 версии B по сравнению с версией A)
*
Частота генератора по умолчанию измененя на 800kHz (частота внутреннего RC-генератора при 5V с некоторым запасом)

v1.14rev5 (Mon 03-01-2000)

!
при наличии одного из ключей (-1..-5) и одного из ключей (-n, -e-) времена умножались на соответствующий множитель дважды.
*
Изменена обработка прочитанного из чипа DevID и запрошенного по +name имени для корректной работы в ситуациях "один чип - два ID" (mega103 разных версий кристалла) и "два чипа - один ID" (90s4434 по даташиту 1041C(11/98) имеет такой же ID, как 90s4433, по 1041E(04/99) уже не такой, но мало ли)

v1.14rev3 (Tue 23-11-99)

+
Добавлен в таблицу tiny22
+
Добавлен ключ времени неактивного Reset после стирания -ai
*
Запятые в ключе -f игнорируются, допустимо -f0,e. Позже будет что-то типа -fCKSEL=0,EESAVE=ON а нынешние буквы для -f будут назначены как aliases на конкретные значения.
*
Увеличены времена "отстоя" при питании от LPT
*
Переделана процедура сброса - не делается попытка гарантирования SCK=0 путем короткого нективного reset уже после сброса чипа. Для имеющих resync чипов это несущественно, но иногда мешает из-за негарантированности длительности. Для не имеющих resync (90s1200) возможно возникнут трудности.

v1.14rev2 (Sun 07-11-99)

+
90s2333,90s4433 - добавлены входы в таблицу чипов для megaX03 добавлены "новые" сигнатуры

v1.14rev1 (Sun 17-10-99)

?
Не хочет нормально работать под W98 при отсчете задержек через TIMER0 - попытка исправить отработкой времен только через LPT

v1.14rev0 (Mon 21-06-99)

!
(значок не совсем подходит :-(, но отдельный не заведен). Теперь сначала в память "оглашается весь список", только потом производится его сортировка. Поначалу я крепко ламернул ("списки короткие, машины быстрые") и каждую новую запись из HEX-файла помещал на нужное место в список, еще и не оптимальным образом. Для больших файлов с перемешанными записями тормоза оказались жуткие, нет - ЖУТКИЕ!, прошу прощения у мучившихся.
!
:-) убрано число 13 из номера версии, как многие советовали. И дело тут вовсе не в суеверии, а в том, что 13 - число несчастливое :-) (C) оперетта "Белая акация"
+
добавлен модификатор '+' для ключа -w
+
добавлен "laZyBlaster" (-az)

v1.13rev0b (Fri 23-04-99)

!
Убран завис программы для чипов, в принципе имеющих доступные по SPI на запись FUSES.
?
В 90s8535 FASTSTART fuse вроде бы как прописывается, но действий вроде бы как не производит. Что глючит (avreal, чип, луна со своей фазой) - непонятно. Сам не пробовал.

v1.13rev0 (Sat 27-03-99)

!!
при наборе ключей -ebn говорит, что чип не стерт, т.е. не может выполнить проверку на чистоту [S.Budakow]
+
добавлена работа с FUSES.
+
Пустые строки и строки, начинающиеся с '#' игнорируются во входных HEX-файлах (облегчение патчей по HEX и вспоминаний, что это за файл; более естественный для комментариев символ ';' был отброшен как слишком похожий на ':')

v1.12

!
исправлены ошибки в обработке ситуации с нераспознанным чипом, приводившие к вываливанию по assert вместо объяснения причины и корректного выхода из программы [Serge Budakow]
*
При пустой командной строке никаких действий не производится Добавлен ключ '--', просто делающий командную строку непустой для сброса чипа.
*
Удлиннение времен программирования при пониженном напряжении питания: Изменен множитель для -3 (стало *3), добавлены -1, -2, -4, -5 ( *1.5, *2, *4, *5 соответственно) [Alexey Boyko]
+
Сделан вывод help на дисплей фрагментами меньше 25 строк [Andy Chernyshenko]. При выдаче help в файл ( avreal -? >somefile ) ожидание нажатия любой клавиши не производится.
+
В таблицу чипов введены все известные мне на момент компиляции чипы. При выводе списка звездочкой помечены те, работа с которыми не тестировались (мной либо кем-то другим).
+
Компилируется для 80286 процессора [Vyacheslav Ovsienko]

до v1.12

много всяких фиксов, спасибо всем, кто проверял и ругался.