██████████████████████████████████████████████████████████████████████████
█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█
█▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓█
█▓▒░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒▓█
█▓▒░                ▄▄▄▄▄▄  ▄▄▄▄ ▄▄▄▄▄▄ ▄▄▄▄   ▄▄▄▄                   ░▒▓█
█▓▒░                 ▄▄  ▄▄  ▄▄   ▄▄  ▄  ▄▄     ▄▄                    ░▒▓█
█▓▒░                 ▄▄  ▄▄  ▄▄   ▄▄     ▄▄     ▄▄                    ░▒▓█
█▓▒░                 ▄▄▄▄▄   ▄▄   ▄▄▄    ▄▄     ▄▄                    ░▒▓█
█▓▒░                 ▄▄  ▄▄  ▄▄   ▄▄     ▄▄  ▄  ▄▄                    ░▒▓█
█▓▒░                 ▄▄  ▄▄  ▄▄   ▄▄  ▄   ▄ ▄ ▄ ▄                     ░▒▓█
█▓▒░                ▄▄▄▄▄▄  ▄▄▄▄ ▄▄▄▄▄▄    ▄   ▄                      ░▒▓█
█▓▒░                                                                  ░▒▓█
█▓▒░                           Ver 5.6.0                              ░▒▓█
█▓▒░                          29 mar 2004.                            ░▒▓█
█▓▒░                                                                  ░▒▓█
█▓▒░    Made in Kazan.Tatarstan.Russia. Written By Nick Kurshev.      ░▒▓█
█▓▒░                                                                  ░▒▓█
█▓▒░ WWW:   http://biew.sourceforge.net                               ░▒▓█
█▓▒░ FTP:   ftp://biew.sourceforge.net/pub/biew/                      ░▒▓█
█▓▒░ FIDO:  BIEW.SUPPORT                                              ░▒▓█
█▓▒░ E-mail:biew-general@lists.sourceforge.net                        ░▒▓█
█▓▒░        To (un)subscribe:                                         ░▒▓█
█▓▒░        http://lists.sourceforge.net/mailman/listinfo/biew-general░▒▓█
█▓▒░ CVS:   http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/biew/      ░▒▓█
█▓▒░                                                                  ░▒▓█
█▓▒░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒▓█
█▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓█
█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█
██████████████████████████████████████████████████████████████████████████
THIS DOCUMENT IS IN DOS-866 CODEPAGE. IT CAN BE VIEWED WITH BIEW.
FOR VIEWING JUST TYPE:

biew biew_ru.txt

THEN SELECT "Text Mode" BY PRESSING [F2] KEY. THEN SELECT CODEPAGE  BY
PRESSING [CTRL-F2] (IN UNIXWARE PRESS [CTRL-C] THEN  PRESS  [F2])  AND
SELECT "CP 866 (DOS)". HAVE A NICE READING!!!



                                Читателям документаций, посвящается!!!

   Это руководство описывает как установить, настроить и  использовать
BIEW. Оно также содержит  историю  программы  со  списком  исправленых
ошибок в каждой версии программы.

Содержание
==========
0.-      Введение
1.-      Великая история создания BIEW !!!
2.-      Установка и настройка программы.
2.1.-      Для нормальной работы программы под DOS, OS2, Win32 необходимы
2.2.-      Для *NIX систем
2.3.-      Для всех систем
3.-      Запуск программы
4.-      Краткая справка по использованию клавиатуры
4.1.-      Базовые кнопки
4.2.-      SHIFT - общие утилиты и настройки
4.3.-      ALT - клавиша привязанная к NEW-exe
4.4.-      CTRL - клавиша привязанная к режиму просмотра
4.5.-      Функциональные клавиши не отображаемые в строке подсказки
5.-      CodeGuider.
6.-      Невидимые возможности ( темные секреты )
7.-      Недокументированные возможности
8.-      Версии программы
9.-      История развития
9.1.-      Старая история
9.2.-      Новая история

0.- Введение.
=============

    Biew это Binary vIEWer  файлов  со  встроенным  модификатором  для
бинарного, шестнадцатиричного и дизассемблерного режимов. В  программе
также имеется  просмотрщик  текста  с  различными  конверторами  (  из
Windows русской кодовой страницы  -  CP1251  в  MSDOS  русскую  OEM866
кодовую страницу, ...). Запустите программу с -?  или  без  параметров
для получения справки о ключах.
    Данная  программа  является  GNUWare   то  есть   может   свободно
распространяться на любых компьютерах без ограничения.  Подробнее  см.
лицензию на программу через [F1]-[F3].

1.- Великая история создания BIEW !!!
=====================================
   Почему я написал  BIEW?  Не  знаю  как  другие,  но  мне  постоянно
нехватало какого нибудь крутого  просмоторщика  двоичных  файлов.  Все
просмоторщики, которые у меня были под  рукой  в  1995  году  явно  не
удовлетворяли моих потребностей. Ни известный по всей стране HIEW,  ни
QVIEW, ни какие бы то нибыло другие, не содержали в заложенных  в  них
возможностях и 50% того что мне было нужно.
   И вот, устав ждать,  когда  же  их  авторы  разродятся  на  вьювер,
который  может  без  проблем  выдавать  любую  информацию   о   любом,
сколь-нибудь исполнимом файле, я написал BIEW. Хотя  он  и  напоминает
чем-то  те  просмоторщики  которые  у  меня  были  (не  отрицаю  :   я
позаимствовал кое-какие идеи), но все же он, как  мне  кажется,  более
легок и  менее  режимен,  к  тому  же  я  попытался  как  можно  более
облегчить доступ к различной  информации,  которую  можно  извлечь  из
файла. Сегодняшний BIEW обьединяет  в  одном  целом  возможности  PIII
дизассемблера, TDUMP'а (без возможности просматривать .obj  как  OMF),
EXEHDR'а, DUMPEXE,  NewExe  Disasm,  а  также  не  плохого  текстового
вьювера с кодовыми страницами, да все и не перечислить.
    Впрочем я не хочу  вступать  ни  в  какую  конкурентную  борьбу  с
авторами других вьюверов. Более того, я даже им  признателен,  что  их
программы все таки подтолкнули меня на этот героический шаг -  создать
то, что хочу именно я. Я писал BIEW в основном для себя и для  друзей,
и если он кому-то понравился еще - пользуйтесь на здоровье.

2.- Установка и настройка программы.
====================================

   Сегодня BIEW  перенесен  под  несколько  операционных  систем.  Для
каждой операционной системы  есть  свои  нюансы  настройки  программы.
Если,  установленная  у  Вас,  операционная  система  не  поддерживает
security или Вы всегда работаете как администратор,  то,  в  принципе,
размещение файлов на диске - дело Вашего  вкуса.  В  противном  случае
программу можно разместить в Вашем  личном  подкаталоге  (куда  у  Вас
есть права записи). В общем случае там же можно расположить все  файлы
дистрибутива.

2.1.- Для нормальной работы программы под DOS, OS2, Win32 необходимы:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   biew.exe - собственно исполнимый модуль ;-)
   biew.ini - файл инициализации проекта и хранения переменных проекта
              между запусками. (При первом запуске программы создается
              автоматически).
   biew.hlp - файл содержащий справочную систему.
standard.skn- файл содержащий описание цветовой "кожи" BIEW.
BIEW будет искать эти файлы в том каталоге откуда он был запущен.

2.2.- Для *NIX систем:
~~~~~~~~~~~~~~~~~~~~~~
   biew     - собственно исполнимый модуль ;-)
   .biewrc  - файл инициализации проекта и хранения переменных проекта
              между запусками. (При первом запуске программы создается
              автоматически). BIEW будет искать (или пытаться
              создать его) в каталоге  определенном  переменной  среды
              HOME при неудачной попытке  в  /tmp  и  если  у  Вас  не
              хватает прав записи даже в /tmp будет работать без него.
   biew.hlp - файл содержащий справочную систему. BIEW будет пытаться
              открыть  его  как  /usr/lib/biew/biew.hlp  и  в   случае
              неудачи будет работать без него.
standard.skn- файл содержащий описание цветовой "кожи". BIEW будет
              пытаться открыть его в том же подкаталоге, что и biew.hlp
              и в случае неудачи будет работать без него.
За более подробной информации см. файл unix.txt

2.3.- Для всех систем:
~~~~~~~~~~~~~~~~~~~~~~
В любом случае, если Вас не устраивает  размещение  файлов  Вы  можете
создать переменную среды BIEW_INI в которой указать  где  искать  файл
инициализации  проекта,  через  который  Вы   сможете   изменить   все
остальные настройки программы.

3.-   Запуск программы.
=======================

Почему появилась эта тема в документации?
Очень многие спрашивают меня: "Как запустить программу ?-("
И я посчитал необходимым добавить этот материал, хотя  для  многих  он
может показаться примитивным (таковые могут пропустить эту тему).

Сразу  пропускаю  запуск  из  командной   строки   консоли,   как   не
нуждающийся в дополнительных комментариях.

Основные  цели  интерфейса  программы  -  при  работе   с   некоторыми
менеджерами (типа  Norton  Commander,  Far,  Midnight  и  т.д.),  быть
вызываемой как внешний просмоторщик  по  клавише  F3.  В  этом  случае
настройка программы сводиться к настройке  соответствующого  файлового
менеджера. Для большинства менеджеров настройка сводиться  к  указанию
-  какой  внешний   просмоторщик   вызывать   по   клавише   F3.   Имя
просматриваемого файла в  данном  случае  передается  программе  через
общепринятые в данном случае символы !.

Пример настройки вызова BIEW для Norton Commander:
`C:\biew\biew.exe !.!'

Пример настройки вызова BIEW для Far Commander:
`"C:\Program Files\biew\biew.exe" !.!'

Если Вы используете Volkov Commander, то лучше  всего  отредактировать
файл vcview.ext:

com: biew.exe !.!
exe: biew.exe !.!
dll: biew.exe !.!
*:   your default viewer

Если Вы не поклонник различных  командиров  и  предпочитаете  работать
только с GUI оболочками (типа explorer, PM/2 или KDE), но при этом  Вы
все-таки решили использовать BIEW, то лучшим  решением  будет  создать
иконку BIEW на Вашем "рабочем столе",  настроить  ее  свойства  (такие
как  размер  консоли,   размер   шрифта   и   т.д.)   и   пользоваться
drag-and-drop  технологией  для  запуска  программы.  (Т.е.   цепляете
"мышой" иконку любого файла и выкладываете ее поверх иконки BIEW,  при
этом "операционка" автоматически запустит BIEW с  именем  зацепленного
файла в качестве аргумента). Я думаю, сегодня  большинство  десктопов,
поддерживающих drag-and-drop технологию, имеют такую  особенность  (по
крайней мере проверено в WinNT, OS/2. Не проверял, но есть надежда  на
Unix-Gnome, KDE).


4.- Краткая справка по использованию клавиатуры.
================================================

   Начиная с версии 5.00 сложилась следующая  концепция  использования
клавиатуры:

F1-F10 - Базовые функции BIEW, служат для переключения режимов.

ShiftF1- - Вспомогательные функции BIEW, служат для вызова
ShiftF10   вспомогательных утилит.

AltF1-   - Значение функций полностью определяется фрагментом BIEW,
AltF10     который отвечает за работу с исполнимым форматом модуля.

CtrlF1-  - Значение функций полностью определяется текущим режимом
CtrlF10    просмотра (bin, text, hex, disasm).

4.1.- Базовые кнопки:
---------------------

  F1 - Показывает окно "О программе"
  F2 - Переключение между режимами:
                Binary - Бинарный режим. Все символы показываются так,
                         как они существуют в файле. ( Очень быстрый )
                Text - Текстовый режим. В этом режиме  символы  0AH  и
                       0DH  являются  ограничителями  строки.  Имеются
                       несколько режимов  просмотра,  доступных  через
                       Ctrl-F2.
                Hex  -  Шестнадцатиричный   режим.   В   этом   режиме
                        информация     отображается     в        форме
                        шестнадцатиричных чисел:
                           Byte   - по байтам.
                           Word   - по словам.
                           DWord  - по двойным словам.
                           Binary - по битам.
                Disasm  -  Дизассемблерный  режим.   В   этом   режиме
                           информация     отображается     в      виде
                           ассемблерных   инструкций   про    цессора.
                           Дизассемблер   содержит    полный     набор
                           инструкций   PentiumIII/K7  Athlon/Cyrix-M2
                           микросхем. Инструкции  требующие  различные
                           чипы показываются разными цветами.  Нажмите
                           [ShiftF1]  для  просмотра  набора   цветов.
                           [CtrlF1] для просмотра набора инструкций.
  F3 - Выбор другого файла для просмотра из списка  файлов  переданных
       через командную строку.
  F4 - Режим модификации. ( Не реализован при в  текстовом  режиме  ).
       Позволяет     модифицировать     информацию     в     бинарном,
       шестнадцатиричном  и  дизассемблерном  режимах.   Можно   также
       задать маску [F3] и выполнить логические операции  (  OR,  XOR,
       AND, PUT ) между байтом информации и маской.  Текущее  значение
       маски показывается в  правом  верхнем  уг  лу  экрана.  [F2]  -
       сохраняет сделанные изменения в файле. [F9] и  [CtrlBkSpace]  -
       восстанавливают  оригинальное  значение  измененного  байта.  В
       текстовом режиме осуществляет переключение Wrap/Unwrap.
  F5  - Переход.
       Осуществляет   переход   на   указанное   смещение:
        - относительно начала файла (ABSOLUTE mode).
        - относительно текущего смещения (RELATIVE mode).
        - по виртуальному адресу (VIRTUAL mode).
  F6 - Перечитывает информацию из файла.
  F7 - Поиск.  Позволяет  задать  последовательность  до  20  символов
       длиной   и   осуществить   ее     поиск.     Если     указанная
       последовательность   сущест   вует   программа    автоматически
       высвечивает ее на протяжении всей ра боты пока не будет  задана
       другая последовательность или перечитан файл.
  F8 - Если просматриваемый файл это DOS-driver, DOS-exe  или  NEW-exe
       по казывает старый DOS заголовок файла. [Enter]  -  переход  на
       точку входа.
  F9 - Setup.
  F10 - Выход  из  функции  или  программы.  [Escape] - альтернативная
        клавиша.

4.2.- SHIFT - общие утилиты и настройки:
----------------------------------------

  ShiftF1 - Справка по текущему режиму.
  ShiftF5 - Where - Отображает информацию о текущей просматриваемой
            позиции.
  ShiftF6 - Системная информация:
            - ASCII таблица знакогенератора.
            - Производительность CPU
            - ...
  ShiftF7 - Продолжение поиска без запроса новой последовательности.
  ShiftF8 - Вспомогательные утилиты:
            - Цифровой преобразователь. Преобразует  числа  из  одного
              основания в другое : 16, +-10, 8, 2
            - Калькулятор
            - ...
  ShiftF10-  Файловые  утилиты.  Набор  утилит  позволяющий   изменять
             содержимое и размеры просматриваемого файла.
              - ChSize.  Изменяет размер файла
              - FStore. Записывает  в  файл  с  заданным  именем  дамп
                просматриваемого  файла  в  зависимости   от   режима.
                Возможна запись дизассемблированного куска  информации
                в зависимости от режима в USE32 или  USE16.  Выход  за
                пределы файла невозможен.
              - FRestore.  Восстанавливает  записанный   ранее   дамп
                информации начиная  с  указанной  позиции  в  файле  и
                заданной длины. Выход  за  пределы  файла  невозможен.
                ( Автоусечение ).
              - Insert/delete -  Вставляет  пустой  блок  или  удаляет
                существующий  блок  информации  с  изменением  размера
                файла.
              -  Crypt/Decrypt  block  криптует.разкриптовывает   блок
                 файла  используя  пароль  пользователя.  Эта  функция
                 использует не стандартный алгоритм шифрования.

4.3.- ALT   -   клавиша привязанная к NEW-exe:
----------------------------------------------

Жестких требований на использования этих клавиш не  накладывалось,  но
сложилась примерно следующая концепция  их  использования  (Назначение
справедливо  при  том  условии,  что   текущий   формат   поддерживает
описываемую особенность):

  AltF1 - Справка по текущему формату.
  AltF2  -  Отображает  список  внешних  модулей   (динамических   или
            разделяемых  библиотек)  на  которые  имеются   ссылки   в
            текущем модуле (динамическая сборка).  Во  многих  режимах
            при  нажатии  [Enter]  будет  выводится  список  требуемых
            внешних  (импортируемых)   имен(функций)   из   выбранного
            модуля,  необходимых  для  удовлетворения   всех   внешних
            связей.
  AltF3 - Отображают список
  AltF4 - экспортируемых имен
  AltF8 - Отображает альтернативный (не MZ) заголовок модуля.
  AltF9 - Отображает список страниц из которых состоят обьекты модуля.
  AltF10 - Отображает список обьектов(сегментов)  из  которых  состоит
           модуль

Все  остальные  кнопки  имеют   назначение   определяемое   внутренней
структурой модуля.

4.4.- CTRL - клавиша привязанная к режиму просмотра:
----------------------------------------------------

  CtrlF1 - Дополнительная справка по режиму.
  CtrlF2 - Выбор "подрежима" просмотра
  CtrlF6 - Address  Resolution  (Resolving)  -  в  hex/disasm  режимах
           управляет  отображением  адреса  в  левом  столбце.   Будет
           отображаться или  абсолютное  смещение  относительно  файла
           или   локальное   относительно   блока/сегмента    текущего
           бинарного формата с указанием имени блока/сегмента.
  Все  остальные  кнопки  имеют  назначение   определяемой   выбранным
режимом.

Примечание : Черным цветом фона в таблицах или списках высвечиваются
             пункты  на  начало  которых  можно  осуществить   переход
             нажатием на клавишу [ENTER].

4.5.- Функциональные клавиши не отображаемые в строке подсказки:
----------------------------------------------------------------

Ctrl-O  -  Предоставляет  возможность   просмотра   экранного   вывода
           предыдущей программы.

5.- CodeGuider.
===============
                    (Путеводитель по коду)
          { Доступен только в режиме дизассемблера }

   Путеводитель по коду представляет  собой  механизм  перемещения  по
коду программы.

  Для перемещения по коду используются следующие клавиши :

  [0],[1],[2],...[9],[A]([a]),[B]([b]),...[Z]([z]), [BackSpace]

  Если справа в строке дизассемблера стоит указатель типа :  =>[X]  то
это означает, что при нажатии на  кнопку  [X]  произойдет  переход  по
тому адресу на который ссылается инструкция. Для возврата  на  позицию
откуда происходил переход необходимо  нажать  [BkSpace].  Стек адресов
возврата содержит 256 ячеек.

6.- Невидимые возможности ( темные секреты )
============================================

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

- Система помощи, если она существует, доступна  через  [F1]  клавишу,
  даже если в подсказке этого явно не указано. (В большей степени  это
  касается окон  диалогов).
- Переход по [F5] сохраняет в стеке CodeGuider'а текущую позицию,  как
  адрес возврата.
- Преобразование кодовой страницы:
  Преобразование кодовой страницы документа  происходит  автоматически
  при вызове функции [ShiftF10] => "Save block as...", если  программа
  находится в текстовом  режиме  просмотра  "Text  mode"  и  выбранная
  кодировка  "CodPag",  отличается  от  текущей  "Current".  При  этом
  сохраняемый блок  автоматически  преобразуется  к  кодовой  странице
  операционной системы. Это же справедливо для  всех  режимов  имеющих
  не тривиальную  реализацию  функции  convert_cp  (сегодня  она  есть
  только у TextMode).


7.- Недокументированные возможности
===================================

Почему недокументированные, если в документации?
Потому  что,  эти  возможности  специально  не   программировались   и
существуют не во всех портах проекта. Сам я их знаю не все, но  думаю,
эта тема будет развиваться.

   Для  32-х  разрядных  версий  проекта   Win32,   DOS32   существует
следующая особенность:

   Если  программу  запустить  с  шаблоном  в  качестве  имени  файла,
произойдет автоматическое расширение шаблона до полных имен. Пример:

   biew *.c

будет эквивалентен запуску biew с перечислением всех  файлов,  имеющих
расширение .c в текущем каталоге. (Т.е. все  они  появяться  в  списке
more через F3). К  сожалению,  эта  возможность  существует  только  в
DJGPP и Cygwin библиотеках, а порт для OS2 построенный на emx-glibc  и
соответственно rsxnt (на нее проект не ориентирован)  не  имеют  такой
возможности. В противоположность, такое  поведение  проекта  является,
по умолчанию, документированным для всех *NIX систем.

8.- Версии программы.
=====================

Мною выбрана следующая концепция присвоения номеров версий программе:

    V.S.E-R.T-C.O

V - VERSION. Базовая версия программы. Меняется в случае глобальных
    (стратегических) изменений  в  философии  программы  или  когда  в
    программе появляются принципиально новые возможности.
S - SUBVERSION.  Подверсия  программы.  Меняется  в  случае  серьезных
    изменений в коде или появления новых тактических возможностей  или
    особенностей.
E - EXTRAVERSION. Специальная версия программы.  Меняется  при  каждом
    новом выходе очередной стабильной версии и как правило  связана  с
    исправлением ошибок или добавлением небольших новшеств.
R - REVISION. Ревизия программы. Если версия  стабильная,  то  R.T  не
    указывается. Традиционно может содержать приблизительно  следующие
    значения:
    pre   -  PREVIEW   VERSION:    отладочная   версия   (только   для
             предварительного ознакомления)
    devel  - DEVELOPMENT:   версия,    предназначенная   только   для
             разработчиков и betta тестеров.
    hotfix - Внеочередное исправление ошибок к уже вышедшей версии.
    fp     - Пакет исправлений
T - TESTLEVEL. Уровень ревизии программы.
С - CPU. Указывает для какой платформы собрана программа.
O - OS. Указывает для какой OS собрана программа.

9.- История развития.
=====================

В каждой реализации уменьшается сумма найденных ошибок.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
9.1.- Старая история:
~~~~~~~~~~~~~~~~~~~~~
v0.01       -              Было так давно, что я не помню
v0.90       - 29 dec 1995. ( 80486/387 дизасcемблер )
v0.99       - 17 jan 1996. ( Система поиска )
v1.00 BETA  - 19 jan 1996. Окончательная редакция 1.00.
v1.01 BETA  - 21 feb 1996. DOS Drivers заголовки & системная информация
v1.50 BETA  - 27 feb 1996. RAM просмотрщик
v1.51 BETA  - 01 mar 1996. PE заголовки ( без таблиц )
v2.00 BETA  - 04 mar 1996. Текстовый просмотрщик
v2.01 BETA  - 05 mar 1996. Windows CodePage 1251 и DKOI преобразователь
v2.02 BETA  - 06 mar 1996. EBCDIC преобразователь
v3.00       - 12 mar 1996. Бинарный модификатор
v3.10       - 14 mar 1996. Шестнадцатиричный модификатор
v3.11       - 15 mar 1996. Числовой преобразователь
v3.20       - 22 mar 1996. Дизассемблерный модификатор.
v3.21       - 29 mar 1996. Определение производительностей CPU/FPU
v3.21 PRO   - 01 apr 1996. Тестирование ассемблера.
v3.22 PRO   - 02 apr 1996. Добавлена мышь.
v3.23 PRO   - 04 apr 1996. Добавлена работа с дампами. ( CtrlF2 / CtrlF3 )
v3.50 PRO   - 04 may 1996. Добавлен расчет точек входа в NE файлах.
v3.52 PRO   - 23 may 1996. LE,LX заголовки. LX таблицы имен
v3.53 PRO   - 28 may 1996. PE обьекты.
v3.60 PRO   - 11 jun 1996. 80586 дизассемблер.
v3.61 PRO   - 31 jul 1996. PE таблицы и точки входа.
v3.65 PRO   - 19 feb 1997. Утилита ImpDef.
v3.66 PRO   - 23 may 1997. Просмотр CMOS.
v3.70 PRO   - 28 may 1997. На Ctrl-F2 изменен дамп дизассемблера (появились
                           метки), добавлены разные типы комментариев.
                           ( по просьбе А. Глинкина )
v3.79.99 PRO- 29 may 1997. 80686/80687 дизассемблер.
v3.80 PRO   -  2 jun  1997. К. Болдышев сделал нормальный перевод
                           текстов на английский. Улучшена мышка.
                           Автоматическое распознавание текстовых файлов.
v3.81 PRO   -  4 jun 1997. Устранены некоторые глюки.
v3.85 PRO   - 11 jun 1997. Добавлено отображение relocation references
                           в режиме просмотра типов MZ и NE.
v3.86 PRO   - 13 jun 1997. Добавлен CodeGuider.
v3.87 PRO   - 23 jun 1997. В PE формате для ImportDirRVA введена коррекция
                           для MajVer,MinVer <> 0.
                           Появилась сортировка списков на F2,F3.
v3.90 PRO   - 17 jul 1997. LX,LE таблицы и точки входа.
v3.95 PRO   - 28 aug 1997. Наконец-то ускорена привязка NE файлов,
                           и устранены некоторые опечатки появившиеся
                           в версии 3.90. Изменен способ отображения
                           префиксов в дизассемблере. Добавлена возможность
                           скрытия объектного кода. ( CrtlF7 )
                           Переписан Help по ассемблеру.
v3.96 PRO   -  3 sep 1997. Ускорена MZ привязка, устранены некоторые
                           ошибки дизассемблера и оболочки.
v3.97 PRO   -  5 sep 1997. Псевдо привязка PE файлов. ( Псевдо - потому
                           что искусственно анализируется адрес
                           косвенного вызова, а не анализируется требуется ли
                           привязка конкретного места как в NE формате).
                           Исправлен call/jmp far для MZ файлов!
                           Исправлен 66h/67h для Use16/Use32 после изменения
                           способа представления префиксов.
v4.00 PRO   - 26 sep 1997. P5MMX дизассемблер.
                           Оптимизирован дизассемблер.
                           Изменена стратегия перемещения по дизассемблеру :
                             1. дизассемблирование назад
                             2. стрелки <-,-> перемещают на -+ 1 байт
                             3. стрелки ,  перемещают на -+ 1 инструкцию
                           Отдельно помнит Bin/Txt/Hex/Asm для памяти и файла.
                           Улучшен Help дизассемблера; расширен сервис в
                           редакторе дизассемблера. Исправлены мелкие ошибки.
v4.01 PRO   - 20 dec 1998. Переход в защищенный режим.

9.2.- Новая история:
~~~~~~~~~~~~~~~~~~~~

v5.0.0-beta.0 ! Изменился интерфейс, внутренняя архитектура кода. Код стал более
16 may 1999.    обьектно-ориентированным. Переписано около 80% программы. (Можно
                сказать для программы началась новая жизнь. Программа стала
                легко расширяема и сделаны первые шаги в направлении
                переносимости - multiplatform). Что-то пропало (RAM, CMOS view),
                появилась alpha поддержка Unix форматов - ELF, a.out, coff32, arch
v5.0.0-pre.1  ! Вырезано:
24 may 1999.    - работа с памятью
                - SysInfo (Первый шаг по переносу на любые платформы и
                  операционки)
                Добавлено:
                + горячие кнопки в списки.
v5.0.0-pre.2  ! Вернулись ассемблерные функции
26 may 1999.    + (HiLight, PanelMode, Reference resolving)
v5.0.0-pre.3  ! Исправлена ошибки:
10 jun 1999.    * работа с мышью.
                * преобразование long int -> string
                * мелкие ошибки дизассемблера
                Появилось:
                + Добавлена доп. информация по MZ файлам (такая как: кем
                  упакован, ...)
                + alpha поддержка PharLap формата.
                + быстрый вызов режима по нажатию Enter
                + License (F9)
v5.0.0-pre.4  ! Исправлены ошибки:
18 jun 1999.    * hex редактирование
                * ошибки дизассемблера
                Появилось:
                + Pentium III инструкции
                + K6 3dNow! инструкции
                + Идентификатор семейства инструкций в 10 позиции в режиме
                  дизассемблера
v5.0.0-pre.5  ! Появилось:
23 jun 1999.    + Cyrix 686 инструкции
                * Переписан help по ассемблеру
                + Поиск в списках
v5.0.0-pre.6  ! Изменения:
30 jun 1999.    * Ошибка поиска в списках с возможностью выбора
                + ShiftF10 - File utilities
                * ShiftF2/ShiftF3 переместились в ShiftF10 меню
                + Insert/delete block in File Utilities
v5.0.0-pre.7  ! Изменения:
6 jul 1999.     * Ошибка в Save as/Restore процедурах
                * Собран с новой версией XDOS16 загрузчика
                Работает в:
                - DOS + QDPMI 7 (1.02)
                - Win9x
                - WinNT + SP3
                - OS2Warp.4 + FP5
                Не работает в :-((( :
                - DOS + QDPMI 9 (1.10)
                - Linux + dosemul
v5.0.0-pre.8  ! Изменения:
29 jul 1999.    ++++++ УРА!!! ПРОЕКТ СТАЛ ПЕРЕНОСИМЫМ +++++++++
                ++++++ ВПЕРВЫЕ 32-BITS ВЕРСИЯ
                ++++++ ПОРТИРОВАН ПОД:
                ++++++ DOS32 (GO32 of DJGPP)
                ++++++ OS/2 (16 & (32 bit's version for EMX))
                ++++++ WIN32 for Cygwin and RSX
                + File Information в ShiftF10
                * Восстановлена функция AddressResolv CtrlF6
                * Открываются read-only файлы
                * Переписана вся консольная часть
v5.0.0-pre.9  ! Изменения:
20 aug 1999.    * Ошибка дизассемблера:
                  в некоторых инструкциях с одним операндом неправильно
                  интерпретировалось поле mod команды
                * Ускорился видео вывод
                + Появились .ini файлы в которых biew хранит основные
                  переменные для восстановления своего состояния при повторном
                  открытии файла (В будущем будет значительно расширен)
                + Translit в русских кодировках
                * Исправлена ошибка системы поиска
v5.0.0-pre.10 ! Изменения:
5 oct 1999.     * Выявлена ошибка дизасеммблера приводящая к некорректному
                  отображению аргументов многих инструкций
                * Небыло предупреждения, если запись в файл невозможна
                * Исправлена ошибка редактирования небольших файлов приводящая
                  к segfault
                * Исправлен некорректный размер некоторых окон диалогов
                * Косметические исправления окон диалогов
                * Исправлен ряд мелких ошибок
                + Дополнительные кодовые страницы
                + Общее ускорение работы
                = Сравнение производительности 32-х и 16-ти разрядных версий
                  показало: 4/1
                + F3 - More
                + Первая версия под Linux
                + Показывает нажатую управляющую клавишу в левом нижнем углу
                  (специально для *NIX терминала)
                * Ускорен поиск с использованием алгоритма Boyer-Moore
v5.0.0(Stable)! Изменения:
20 feb 2000     ++++++ Я открыл проект под GNU GPL (Приглашаю разработчиков!)
                * Исправлены орфографические ашипки и очепятки
                + Ускорение видео вывода
                * Исправлены мелкие ошибки
                * Блок дизассемблера переписан как plugin
                + Улучшена работа с памятью - уменьшилось число статических
                  массивов. Динамические массивы распределяются в конкурирующем
                  режиме.
                * Устранена утечка памяти, появившаяся в v5.0.0-pre.9
                + User Screen - Ctrl-O
                + Недокументированные инструкции i387SL, Cyrix487
                + Система помощи
                + Инструкции AMD-K7 Athlon
                + Утилиты переписаны, как addons
                + Целочисленный калькулятор
                + В .ini фале сохраняется больше режимов
                + Crypt/Decrypt block
                * Исправлена ошибка в буферизации файла
                * Исправлена ошибка системы поиска
                * Исправлена ошибка дизассемблера в Sib блоке (существовала с
                  0.xx версий)
                + Отдает системе процессорное время во время ожидания ввода.
                + Virtual jump
                + Where. Показывает информацию о текущей позиции файла.
                + CPU performance utility (восстановлено из версий 4.x)
                * Оптимизация отдельных функций
                + 'Put structures' в Save as диалоге для режима
                  дизассемблирования. (Попытка воссоздать внутреннюю структуру
                  просматриваемого файла)
                + Поддержка RDOFF формата.
                + Восстановлено семейство кодов - 0F BA
                  Сообщено ("Patrick Alken" <wnder@underworld.net>)
v5.0.1        ! Изменения:
03 mar 2000     + Монохромный видео вывод
                + Чувствительность к нажатиям кнопок мыши
                + Ускорение работы с .ini файлами
                * Исправлены некоторые неточности в исходниках (совместимость с
                  ANSI и с gcc-2.95)
                * Исправлена ошибка шестнадцатеричного редактора
                * Исправлены несущественные ошибки дизассемблера
v5.0.2        ! Изменения:
26 mar 2000     * Исправлена ошибка, связанная с крахом программы при загрузке
                  файла нулевой длины. Сообщено Алексеем Плехановым
                  <aplehan@hoaxer.opensys.tsogu.ru>
                * Исправлена ошибка дизассемблерного редактора (проявлялась при
                  ширине экрана > 80). Исправлено Cyberman'ом (cyberman@ag.ru)
                + Добавлена полнофункциональная поддержка Unicode (en/ru зоны) и
                  исправлено множество ошибок, связанных с Unicode.
                * Исправлена ошибка при которой система поиска неправильно
                  показывала найденную строку в текстовом режиме с расширенными
                  символами табуляции, в случае если найденная строка была за
                  пределами экрана.
                + Мах. ширина экрана увеличена до 255 символов
                * Исправлены мелкие неточности
                * Оптимизация некоторых функций
                * Теперь функция twDirectWrite не меняет позицию курсора.
                + Работает под Win2000 (спасибо Евгению Рошалу
                  roshal@rarsoft.com и Cyberman'у cyberman@ag.ru)
                + Портирован под MCVS 6.0 (портирован Cyberman'ом, пока без
                  ассемблерного блока)
                + Шестнадцатеричный просмотрщик ориентируется на размер экрана
                * Полноэкранные редакторы меньше перерисовывают содержимое.
                * Если значение переменной, записываемой в .ini файл содержит
                  символ %, то такая запись обрамляется строками #nosmart #smart
5.0.3         ! Изменения:
31 mar 2000     * Исправлена ошибка, при которой в некоторых окнах терялись
                  заголовок и нижний колонтитул.
                  (twRefreshWin сейчас обновляет только внутреннюю часть окна,
                  а окно целиком обновляется через twRefreshFullWin)
                * Исправлена ошибка, при которой создавались временные файлы,
                  когда открываемый файл не мог быть открыт.
                * Преобразование OS/2 return code (rc) в UNIX errno.
                * В окнах, которые используют собственную технологию заливки,
                  символ заполнитель изменен с 0x00(zero) на TW_DEF_FILLER.
                  спасибо Paul Sokolovsky <Paul.Sokolovsky@technologist.com>
                * Все константы из файла twin.h сейчас имеют префикс TW_*.
                * Найден способ обойти проблему глюков консольного ввода
                  под Win95. Правда, пока работает с небольшой задержкой.
                  Протестировано на Win95 PE, OSR2, Win98.
                  Исправлено Александром Лоханько <alex@eunet.lt>
5.0.4         ! Изменения:
14 apr 2000     * Ликвидирована задержка консольного ввода под Win9x,
                  появившаяся после обхода проблемы глюков там же.
                  Исправлено Александром Лоханько <alex@eunet.lt>
                * Исправлена ошибка в UNICODE, при которой неправильно
                  отображался 0xFE символ из cp437/cp866 (BLACK SQUARE).
                * Исправлена ошибка текстового режима приводившая к GPF,
                  когда любой бинарный файл просматривался как UNICODE.
                * Убрано предупреждение о 'fnUnix2Dos cбрасывает const
                  аттрибуты' для DOS, OS/2, Win32 платформ.
                * Исправлена ошибка неправильных клавиатурных кодов для
                  SHIFT+key под Win9x (существует с 5.0.3)
                * Легкая оптимизация.
                * Исправлены мелкие ошибки.
                * Добавлена поддержка BEOS
5.1.0         ! Изменения:
02 jun 2000     * Некоторые изменения в структуре дерева исходников, переписаны
                  makefile'ы и kbd_code.h. (Совместим с pgcc-2.95.2)
                * Начиная с этой версии все платформо-независимые бинарные
                  файлы будут поставляться в bin_rc подкаталоге дистрибутива
                  исходников.
                * Исправлена ошибка неперерисовывания шестнадцатеричного окна
                  при обновлении текстового в шестнадцатеричном редакторе.
                  Сообщено Александром Лоханько <alex@eunet.lt>
                * Пересмотр функциональности некоторых функций и исправление
                  некоторых ошибок в библиотеке текстовых окон. Небольшое
                  ускорение проекта.
                * Пересмотр работы библиотеки .ini. Ускорение работы с файлами
                  инициализации проекта.
                + Расширена документация.
                * Исправлена ошибка в дизассемблере - неправильно показывались
                  проценты. Сообщено Barlog <barlog@mail.ru>
                * Исправлена ошибка неправильного отображения нового файла,
                  когда новый файл выбирается через F3(more).
                * Исправлена ошибка невыравнивания на четыре столбца, когда файл
                  просматривается в Byte подрежиме в шестнадцатеричном режиме.
                  Сообщено "Станислав Шенк" <live-evil@mtu-net.ru>
                + Полнофункциональная поддержка COFF386
                + Поддерджка настраиваемых цветов.
                + Поддержка цветов в системе помощи.
                * Исправлена ошибка высвечивания результатов поиска (приводившая
                  к краху программы), когда ширина экрана > 80.
                  Сообщено Алексеем Кузнецовым <flame@baltnet.ru>
                * Исправлена ошибка дизассемблера (терялся ib (2-й аргумент)
                  в инструкции 'enter')
                * Исправлена ошибка в модуле PE формата - крах при просмотре
                  таблицы импорта с очень длинными именами.
                  Сообщено Алексеем Кузнецовым <flame@baltnet.ru>
                * Исправлена ошибка в модуле LX формата - расчет точки входа
                  был блокирован. Определяет LX формат, даже если нет "старого"
                  MZ заголовка.
                + !!! СТРЕС ТЕСТИРОВАНИЕ программы и исправление кучи ошубок !!!
                * Исправлена ошибка отображения национальных символов в
                  именах файлов под Win32.
                  Сообщено Евгением Сусликовым <sen@kmr.ru>
                * Просматриваемый файл открывается в режиме "только для чтения".
                * Расширенная подержка символьной информации в ELF.
                  Автоопределение endian в ELF.
                + Реализована попытка предотвратить зависание программы при
                  просмотре разрушенных или испорченных бинарных файлов.
                  Сообщено Евгением Сусликовым <sen@kmr.ru>
                * Исправлена ошибка при которой система поиска отображала только
                  часть найденного текста в текстовом режиме с расширенными
                  символами табуляции.
                + Добавлено новое экспериментальное соглашение о вызовах:
                  __FASTCALL__ определяемое в lib/sysdep/##__MACHINE_/_inlines.h
                  Работоспособность проверялась на gcc-2.7.2.3 - pgcc-2.95.2
                  (gcc-2.7.2.3 выглядит наиболее заслуживающим доверие).
                  Модифицирована большая часть функций. Проект уменьшился на
                  ~17Kb и приобрел некоторое ускорение.
                  Замечания: использование этой технологии возможно только в
                  том случае, если C-библиотека хоста не содержит в себе
                  никаких отклонений от принятых стандартов (сохранение
                  регистров: esi, edi, ebx и т.д.). Так cdecl и fastcall версии
                  под os2-emx, linux, unix показывают одинаковый результат
                  работы, а под winnt-crtdll.dll - разный. Следовательно эту
                  технологию можно применять только при использовании библиотек
                  (внешних и собранных статически), скомпилированных
                  непосредственно gcc и только после многократного тестирования.
                  __FASTCALL__ - это часть технологии стрес тестирования
5.1.1         ! Изменения:
23 jun 2000     * Незначительные изменения, исправления и оптимизация.
                + Начальный перенос под Watcom C и DOS/4GW
                  (см. mk_files/makefile.wc)
                + Добавлен новый флаг для ia32: -fshort-enums
                  (Подробнее см. "Optimization notes" в файле release.txt)
                * Подавлено большинство экстра предупреждений при компиляции.
                + Исправлены ошибки отказа записи в FileUtils и дизассемблере,
                  которые родились после перехода на открытие просматриваемого
                  файла в режиме только для чтения.
                + Добавлена инструкция FFREEP, найденная в документации на
                  Athlon Publication # 22007 Rev: D и документированная как
                  доступная на всех 32-разрядных x86 процессорах.
                * Исправлена ошибка неинициализации lx_cache в LE формате
                  (le_cache больше не используется).
5.1.2         ! Изменения:
06 jul 2000     * Исправление компиляции под MSVC
                  Исправлено CyberMan'ом <cyberman@ag.ru>
                * Исправлена ошибка некорректного показа в binary подрежиме
                  текстового режима.
                * Исправлена ошибка сортировки в списках.
                * Несущественные изменения и исправления.
                + Расширена наваигация по coff386 формату
                * Переписана twin библиотека и vio.c в независимой от endian
                  форме. Изменен интерфейс у функций:
                  twWriteBuffer, twReadBuffer!!!
                  (Вероятно должен работать на non-little endian платформах).
                + Качественно ускорен Win32 ввод/вывод использованием
                  WaitForSingleObject.
                * lib был переименован в biewlib
                * Удалены все h-файлы, которые работали, как перенаправители.
                * Некоторые исправления и изменения в colorset.c и standard.skn
5.2.0-pre.1   ! Изменения:
22 sep 2000     * Улучшена документация исходников
                * Коментарии совместимы с Doxygen
                * __FASTCALL__ определен как __stdcall__ по умолчанию
                * В окнах, которые используют собственную технологию заливки
                  изменено использовании функции strncpy на memcpy. Функция
                  strncpy служила причиной заполнения выходного буфера 0x00
                  символами. Руководство GNU-glibc говорит:

                      If the length of FROM is less than SIZE, then `strncpy'
                      copies all of FROM, followed by enough null characters to
                      add up to SIZE characters in all.  This behavior is rarely
                      useful, but it is specified by the ISO C standard.

                  Сообщено Сергеем Ратниковым <RatnikovS@mail.ru>
                * Исправлена ошибка неправильного расчета точек входа в Symbol
                  Table elf386 формата.
                * Исправлена ошибка неправильного расчета сегментов, когда
                  они находятся в неупорядоченном состоянии в elf386 формате.
                * OS зависимая реализация всех функций связанных с файловой
                  системой.
                * P4 совместимый CPU Performance tool.
                * Исрпавлена ошибка не разрушения CurrPEChain в destroyPE
                  Исправлено Костей Носовым <k-nosov@yandex.ru>
                * Исправлена ошибка не отображения имен импорта, когда поле
                  idFlags нулевое. Описано в книге Мэтта Питрека
                  "Секреты системного программирования для Windows95".
                  Исправлено Костей Носовым <k-nosov@yandex.ru>
                + Для PE формата скрытие .dll расширения в именах импорта
                  во время разрешения ссылок.
                  Добавлено Костей Носовым <k-nosov@yandex.ru>
                + В PE формате добавлены forwarding ссылки и именование ссылок
                  на ret инструкции.
                  Добавлено Костей Носовым <k-nosov@yandex.ru>
                  Адаптировано автором для всех форматов, ввиде нового пункта
                  меню дизассемблера: предсказание ссылок.
                + Добавлено отображение виртуальных адресов в колонке адреса
                  и как аргумент инструкций перехода.
                  Для PE формата добавлено Костей Носовым <k-nosov@yandex.ru>
                  Для всех форматов адаптировано автором
                + Изменена система навигации по коду для косвенных переходов
                  при reference resolving = navigation.
                  Изменено Костей Носовым <k-nosov@yandex.ru>
                + Изменена система навигации: для одинаковых адресов перехода
                  используются одинаковые клавиши.
                  Изменено Костей Носовым <k-nosov@yandex.ru>
                + При сохранение дизассемблерного дампа в файл пишутся
                  виртуальные адреса, если это выбрано в дизассемблере.
                + Добавлена новая технология в дизассемблер: предсказание ссылок
                  Будет стремиться к поумнению в последующих версиях.
5.2.0-pre.2   ! Изменения:
29 sep 2000     + Pentium-4 дизассемблер (Willamette).
                  (+144 новые инструкции SSE2)
                * Исправлен неправильный порядок операндов некоторых MMX
                  (не SSE) инструкций. (Правильное дизассемблирование, но
                  неправильный порядок).
                * Исправлена проблема навигации по коду с BkSpace клавишей,
                  появившаяся в 5.2.0-pre.1.
5.2.0-pre.3   ! Изменения:
13 oct 2000     * Исправлен контроль границ обьекта в PE формате.
                  Исправлено Костей Носовым <k-nosov@yandex.ru>
                + Завершена документация для разработкчиков.
                + Улучшен прогноз ссылок, ссылки даются даже если обнаружен
                  внутренний fixup места или когда операнд смещение а не
                  непосредственное операнд.
                + Цветные комментарии прогноза ссылок.
                + Новый прогноз: LEAVE. Он применяется когда инструкция jump
                  не ссылаетя на RET непосредственно, но это очевидный возврат
                  из процедуры.
                  Пример:
                            jmpC YYYY ; RETURN
                            jmpC XXXX ; LEAVE
                            ...
                      XXXX:
                            pop  edx
                            mov  esp, ebp
                            pop  ebp
                      YYYY:
                            ret  NNNN
5.2.0         ! Изменения:
29 oct 2000     * Исправлены мелкие ошибки
                * Незначительная оптимизация
                * Увеличена глубина предсказания ссылок.
                * Улучшен прогноз LEAVE.
                * Исправлена интерпретация 2-х байтовых смещений ModRM и
                  непосредственнох чисел x86 дизассемблера как знаковых, для
                  тех инструкций, где это имеет смысл.
                  Сообщено Костей Носовым <k-nosov@yandex.ru>
                * Исправлена интерпретация 4-х байтовых смещений ModRM и
                  непосредственных чисел x86 дизассемблера.
                  Если ModRM содержит только смещение - оно беззнаковое,
                  в противном случае - знаковое.
                  Непосредственные операнды для add, adc, sub, sbb инструкций
                  интепретируются как знаковые. Для любых других инструкций
                  такие преобразования неоднозначны.
                * Несущественные изменения в диалогах.
                * Исправлена проблема псевдографики под *nix-терминалами.
                * В модуле twin.c: добавлен контроль за выходом за границы
                  физического буфера экрана.
                * Исправлены мелкие ошибки в плагине текстового режима.
                + Поскольку curses библиотека (используется в Unix версиях)
                  имеет 1 секундную задержку после нажатия клавиши ESCAPE,
                  для нее добавлен алиас - F10, практически во всех местах.
5.3.0-pre.1   ! Изменения:
26 nov 2000     + НОВОЕ: MMF (Memory-mapped files) технология для работы с
                  файлами. Доступно для всех ОС кроме Win32 и DOS.
                  (Оптимизация для родного CPU теперь актуальна. Сравнение
                   оптимизации для k6 против i386 для этого проекта ~10%)
                  OS/2 часть базируется на коде http://www.edm2.com/0610/memorymap.zip
                  написанным Сергеем И. Евтушенко <evsi@naverex.kiev.ua>
                = Эффект ускорения MMF против традиционного I/O от 2.5 до 5 раз.
                  (зависит от OS и тестируемого алгоритма).
                * Исправлена ошибка при которой текстовый плагин неправильно
                  показывал найденную строку в plain подрежиме с расширенными
                  символами табуляции, когда найденная последовательность
                  располагается за 255 символом от начала строки.
                * Исправлено заполнение errno в win32 части.
                * Несущественное улучшение поддержки LX формата.
                + biewlib выполнен ввиде автономной библиотеки. Как следствие,
                  были переписаны некоторые makefile'ы.
                + Добавлена возможность сохранения timestamp'а файлов, которые
                  модифицируются BIEW.
                * Небольшая ассемблерная оптимизация.
5.3.0-pre.2   ! Изменения:
08 dec 2000     * Качественное ускорение многих процессов для всех OS.
                  Появилось после продолжительной дискуссии в форуме на
                  www.os2.spb.ru
                * Некоторые исправления.
                   * некоторые указатели во время дизассемблирования
                     не инициализировались.
                   * терялся последний символ в комментариях
                   * изменение технологии распознования new-exe файлов
                  Сделаны Костей Носовым <k-nosov@yandex.ru>
                + Добавлена возможность сохранения виртуальных адресов во время
                  привязки ссылок в режиме 'Local offset'.
                  (Реализовано только для NLM и PE форматов)
                + Добавлен выход из MessageBox по SPACE и ENTER.
                * Исправлена ошибка получения карты виртуальных адресов elf386
                  формата, когда 'section headers' отсутствуют.
                  (Вероятно существует начиная с 5.2.0-pre.1)
                * Исправлены ошибки в OS/2 MMF части. (Вероятно такую же логику
                  следует использовать в Win32).
5.3.0-pre.3   ! Изменения:
24 dec 2000     * Устранены мелкие ошибки в диалогах (существуют с 5.3.0-pre.2)
                + Улучшен и расширен поисковый движок и исправлено множество
                  мелких ошибок связанных с ним.
                  Я попытался использовать Boyer-Moore оптимизацию для
                  движка шаблонов настолько, насколько это возможно
                + НОВОЕ!!! Начата работа над классами окон
                  Использование см. в bconsole.c для функции PercentWnd
                  Работа находится на начальном этапе но технология уже
                  работает!
                * Незначительные изенения в coff386 формате для лучшего
                  предсказания ссылок
5.3.0-pre.4   ! Изменения:
11 feb 2001     * Исправлена ошибка расчета виртуальных и физических карт
                  адресов elf386 формата. Для расчета этих карт сейчас
                  используются только те секции,  которые занимают
                  пространство в процессе выполнения программы.
                  Пример:
                   name             type   flg virtaddr fileoffs   size
                   .got             PRGBTS WA  0000567C 0000467C 00000010
                   .dynamic         DYNLNK WA  0000568C 0000468C 00000058
                   .bss             NOBITS WA  000056E4 000046E4 00008010
                   .stab            PRGBTS     00000000 000046E4 00004F38
                   .stabstr         STRTAB     00000000 0000961C 000027A9
                   .comment         PRGBTS     00000000 0000BDC5 000000DA
                   .note            NOTES      00000000 0000BE9F 00000064
                   .shstrtab        STRTAB     00000000 0000BF03 0000009F
                   .symtab          SYMTAB     00000000 0000C2EC 00001770
                   .strtab          STRTAB     00000000 0000DA5C 0000118C
                  Здесь последние 7 секций это мусор для расчета адресного
                  пространства.
                * Исправлена ошибка определения точки входа в таблице символов
                  elf386 формата (Надеюсь - в последний раз)
                * Исправлены мелкие ошибки в coff386 формате
                * Исправлена ошибка в twPutS (проявлялась только под *nix)
                + Добавлены новые скины: insight.skn мной
                  goled.skn Константином Болдышевым <konst@linuxassembly.org>
                  и немного изменен assembly.skn
                + Реализованы biew.man и biew.spec
                  Болдышевым Константином <konst@linuxassembly.org>
                + Добавлена поддержка elf386 relocations. Она завершила
                  гамма-состояние elf386 плагина и сделала его
                  полно-функциональным.
                + Улучшено предсказание LEAVE. Инструкции:
                   sub (e)sp, digits
                   add (e)sp, digits { add esp, -2 === sub esp, 2 }
                  также являются инструкциями LEAVE набора.
                + Немного расширена документация разработчика (добавлен
                  пункт 4.3).
                + Документация разработчика (Английская часть) была
                  подкорректирована
                  Болдышевым Константином <konst@linuxassembly.org>
                + Множество улучшений elf386 плагина. Добавлена поддержка не
                  стандартных бинарников.
                + Небольшая ассемблерная оптимизация.
                * Много изменений и улучшений в Linux/Unix частях проекта
                  от Константина Болдышева <konst@linuxassembly.org>
5.3.0-pre.5   ! Изменения:
30 mar 2001     * Исправлена ошибка потери addend в elf386 формате
                + Добавлена MMX оптимизация (только для (p)gcc компилятора)
                  (Вам нужно модифицировать makefile чтобы ее включить)
                * Исправлены мелкие ошибки в elf386, coff386 плагинах.
                * Качественное ускорение видео вывода главного окна просмотра
                  (прибл. в 2 под WinNT, под DOS32 - эффект незначителен).
                * Улучшен MZ плагин.
                * Исправлены ошибки, связанные с MMF в bbio. Это могло повлиять
                  на усточивость!
                + Улучшена помощь по ix86.
                * Win32-MMF переписан с использованием логики OS/2-MMF
                  (ChSize теперь работает в MMF режиме тоже)
                  К сожалению этот код не может использоваться с Watcom 11
                  так как его C-библиотеки используют свои обработчики
                  исключений.
                + Улучшен тест производительности процессора.
                + Улучшено предсказание ссылок. (Была немного изменена логика
                  плагинов автоуровня (plugins/bin)).
                + Добавлена первая реализация поиска по дизассемблеру и
                  исправлено несколько мелких ошибок в системе поиска.
                * Исправлены мелкие ошибки во вспомогательных программах
                  (ЗАМЕЧАНИЕ: внутренний формат файла помощи не изменился)
                * Исправлена ошибка потери выравнивания при просмотре unicode
                  файлов при достижении конца файла.
                * Решена fastcall проблема: ошибка была в gcc. Вам необходимо
                  использовать gcc-2.95.3 если Вы хотите построить проект
                  с fastcall вызовами функций.
                * Исправлена ошибка в "File information" функции.
                  Исправлено Константином Болдышевым <konst@linuxassembly.org>
5.3.0-pre.6   ! Изменения:
22 may 2001     + Добавлен QNX порт.
                  Портирован Андреем Головней <andrew_golovnia@ukr.net>
                * 3dnow опкоды prefetch и prefetchw теперь различаются.
                + Добавлена Watcom версия cpu_info.c
                  Добавлено Андреем Головней <andrew_golovnia@ukr.net>
                  Модифицировано для использования с Watcom11 мной. 
                + Быстрые операции с памятью. Поддерживают 3dNow/MMX2/SSE
                  оптимизацию. Это ускоряет memcpy в 5 раз на современных
                  (K7, P3) процессорах и около 20% на K6-2+ по сравнению
                  со стандартной из C-библиотеки.
                  Эта техника была рождена в проекте MPLAYER. Специальные
                  благодарности:
                  Arpсd GereOffy (A'rpi/ESP-team) <arpi@thot.banki.hu>
                  Felix Buenemann <Felix.Buenemann@gmx.de>
                  Zoltсn Ponekker (Pontscho/Fresh!) <pontscho@makacs.poliod.hu>
                * emmx переименован в emms ;)
                + Автоматический выбор параметров компиляции.
                * Исправлена eof ошибка ReadBuffer в mmf.
5.3.0-pre.7   ! Изменения:
11 aug 2001     * Некоторые улучшения в поддержке NLS
                + Добавлены новые псевдо опкоды для P3 и P4:
                   cmp(eq, lt, le, unord, neq, nlt, nle, ord)(ss, ps, sd, pd)
                * Незначительные улучшения в некоторых диалогах.
                + Изменение порядка байт в блоке
                * Исправлена ошибка неперерисовывания шестнадцатеричного поля
                  в шестнадцатеричном редакторе.
                + Xlat блок (преобразует блок с использованием внешних таблиц).
                * Исправлены мелкие ошибки в операциях с блоками.
                + Добавлена начальная поддержка LMF (QNX4)
                  Андреем Головней <andrew_golovnia@ukr.net>.
                + Подсказки диалогов снесены в строку подсказок
                * Исправлена ошибка дампирования дизассемблера при которой
                  программа создавала неправильный дамп если несколько меток
                  ссылались на одинаковый физический адрес.
                * Исправлена подсветка поиска, когда ширина и высота окна
                  больше 255.
                  Исправлено Алексеем Дербеевым <2:455/2251.12>
                * Исправлен глюк работы под Win9x в нестандартных видео режимах
                  (типа 150x50) - найден способ обойти ошибку
                  Write(Read)ConsoleOutputAttribute из KERNEL32.DLL
                  Исправлено Костей Носовым <k-nosov@yandex.ru>
                * Исправлена ошибка неправильной отрисовки дизассемблера в
                  конце маленьких файлов. (Этих 3-х байт: ══Ї)
                * Исправлена ошибка привязки инструкций начинающихся с 0Fh.
                + Тип ST_LABEL включен в пространство публичных имен формата
                  coff386.
                + Улучшен расчет имен привязок в elf386.
                * Исправлена ошибка на точку входа SymTab в elf386.
5.3.0         ! Изменения:
07 nov 2001     * Исправлена ошибка, связанная с крахом программы при
                  редактировании файла нулевой длины.
                * Изменено расположение по умолчанию файла 'biew.ini' под BeOS.
                * Исправлена ошибка 3-х часов в Percent диалогах
                  (localtime->gmtime).
                  Исправлено Костей Носовым <k-nosov@yandex.ru>
                * Исправлена ошибка обнаружения кода 0xFF в течении выполнения
                  однобайтового поиска.
                * Kostya Nosov <k-nosov@yandex.ru> fixes:
                  * PE import: Вывод виртуального адреса привязки функции
                  * PE export: Вывод функций экспортируемых по порядк. номеру
                  * PE export: Вывод виртуальных адресов функций
                  * NE bug: Исправлен расчет привязок в случае неправильно
                            упорядоченных сегментов.
                + Улучшения в ListBox связанные с экспортом ординалов:
                  + Размер ListBox расчитывается динамически в зависимости от
                    размеров экрана и строк.
                  + Форматирование линий происходит внутри ListBox. Как
                    следствие - они требуют меньше памяти. 
                  (Идея Кости Носова. Реализация моя).
                * Исправлена gcc-3.x Компиляция.
                  Спасибо Neil Booth <neil@daikokuya.demon.co.uk>
                * Исправлен просмотр не регулярных и псевдо файлов под *nix
                  системами (типа /dev/mem, /proc/cpu и т.д.). 
                * Исправлена ошибка 'подсветки поиска' в шестнадцатеричном
                  просмоторщике.
                + Расширен CPUID блок.
                * Виртуальные адреса как операнды call и jmp инструкций в NE
                  плагине.
5.3.1         ! Изменения:
23 dec 2001     * Исправлен неправильный расчет адреса перехода для инструкций
                  которые начинаются с 0F
                * Исправлен макрос -DDATADIR для BEOS
                * Исправлена ошибка которая могла вызвать крах программы (disasm.c)
                * Исправлены многие ошибки связанные с шаблонным поиском.
                * Некоторые исправления сделанные Olivier Mengue <dolmen@bigfoot.com>
                  в win32 части программы:
                  + Исправлена компиляция bswap64 под MSVC 
                  + Подавлены предупреждения
                  + Добавлено сохранение/восстановление состояния консоли
                  + Улучшена non-DirectMode : в этом режиме - отображение
                    происходит относительно видимой части окна.
                  + Исправлена MSVC debug компиляция
                * Некоторые косметические изменения в unix части от К. Болдышева
5.3.2         ! Изменения:
21 apr 2002     * Многочисленные изменения связанные с *nix
                * основательная подправка опечаток (спасибо К. Болдышеву)
                + Новый тип предсказаний: PIC (position independed code)
                  Пример: .i386: jmp [ebx + name@GOT]
                  Пока поддерживается только elf386.
                + предварительная поддержка 64-bit ELF
                * Найден обход для бага Matrox BIOS'а
                  Спасибо Robert Riebisch <riebisch@bercom-berlin.de>
                * Исправлен расчет косвенного адреса в SSE(2) инструкциях
                  в SIB режиме.
5.5.0         ! Изменения: (Этот релиз стартует 64 битную поддержку в biew)
04 jun 2003     * Исправлена ошибка #566760 (крах при определении формата файла)
                * Исправлен SSE тест
                + Реализовано удаление через Delete в диалогах
                + Запрещены некоторые особенности шестнадцатеричного поиска
                + Athlon64 дизассемблер
                  (подсвечивает инструкции для разных исполнительных блоков)
                + полная поддержка ELF-64 LSBF
                * некоторые улучшения в диалогах и других окнах (от X-Fixer <x-fixer@narod.ru>)
                * исправления в поддержке PE формата (от X-Fixer <x-fixer@narod.ru>):
                  * убраны RVA из PEHEADER для правильной поддержки pe.peDirSize
                  * RVAs перемещены из окна заголовка в специальный окно списка (Alt-F9)
                  * исправления в RVA2Phys()
                  * поддержка 'forwarding' в PE-экспорте (для win2k kernel32.dll)
                  * исрпавлено отображение 8-ми символьных имен секций
                  * увеличено число флагов для секций
                  * увеличено число подсистем
                * реализовано определение поддержки mmx во время работы для
                  возможности использования mmx-оптимизированных функций даже
                  в i386 оптимизированном проекте
                * подсветка привелегированных инструкций
                * настраиваемая виртуальная ширина просмотра в шестнадцатеричном
                  и бинарном режимах (идея занята из pview)
                * поддержка PNI (Prescott new instructions aka SSE3)
                * исправлена ощибка не перерисовки нижней части окна
                  под некоторыми vt100 терминалами.
                * переработано чтение консоли под win32 чтобы разрешить
                  вставку из буфера обмена через
                  Меню окна->редактирование->вставка
                  (от Sergey Oblomov <hoopoepg@mail.ru>)
                * Исправлен 'CPU performance' в DOS32 версии
5.6.0         ! Изменения:
29 mar 2004     + Java дизассемблер
                + Новое: "Tabbed" просмотр.
                  (Сейчас Вы можете использовать F1-F10 функции через TAB клавишу)
                + Подсветка синтаксиса в Textmode
                + Новые субрежимы в binmode
                + AVR дизассемблер от Stephan Linz
                + Добавлен SSE3 для Athlon64
                  (благодаря Intel Extended Memory 64 Technology)
                + Новое: input viewer
                * Исправлен Bug#234729(debian.org):
                  Двоичный дамп вместо шестнадцатеричного (при -h в коммандной сьроке)
                * Исправлен Bug#235005(debian.org): Неотображение байт в
                  шестнадцатеричном просмотре (проявлялся при ширине окна 106 символов)
                * Исправления от Alex <latinsud@users.sourceforge.net>:
                  * Исправлена ошибка открытия блочных устройств
                  * Исправлен 'case sensitive' поиск в hexmode
                * Исправлен старый баг неотрисовки нижней части окна в некоторых
                  терминалах.
                + Добавлена поддержка русской локали в linux/unix системах
                * Исправлены множественые ошибки связанные с QNX
                + Добавлена поддержка QNX 6 Neutrino
                * Исправления и улучшения связанные с QNX6
                + Добавлена поддержка колесика мыши для Win2k+
                * Некоторые исправления связанные с MSWin
                  от Oblomov Sergey <Sergey.Oblomov@intel.com>
                * Исправлено чтение elf32 формата после добавления
                  поддержки для elf64
                * Другие исправления.
[]=========================================================================[]
[]                             Спасибо за проявленный интерес к программе. []
[]                             С уважением Николай Куршев.                 []
[]                             ( Из уездного города Казани нашей           []
[]                               необьятной России. )                      []
[]=========================================================================[]
