What's new in IDA Pro 3.77
==========================

- Now it is possible to change the video mode at fly.
  This feature is accessible through Windows|Set video mode menu item.
  At the very first run IDA shows the video mode selection menu
  automatically.
  For MS DOS you need to edit IDA.CFG and specify the correct video
  mode numbers (they depend of your video card). After this modification
  IDA will be able to change the video mode for MS DOS.

- Now it is possible to specify a whole instruction manually,
  completely hide an instruction or a specific border between
  code and data. See Edit|Others... submenu.

- IDA can load a.out files from NetBSD.

- IDA can load ELF executables for ARM processor.

- QNX files can be loaded

- MakeAlign() IDC function is added

- A small bug in PE loader is fixed

- Now it is possible to change the processor type from the load file dialog.

- Fixed a bug with the display of the unicode strings

- New processors: Hitachi SH3, Intel 80196, Zilog Z8

- Now IDA tries to determine the required processor automatically and
  loads it if the user have not specified the processor explicitly.

- A new processor type: armb, it is used to explicitly specify 
  the big endian mode of the ARM processor

- IDA displays an information dialog box suggesting to press 'C' to start
  the autoanalysis if a binary file is loaded.

- Fixed a bug which appeared when too many structures were defined

- IDA will not disassemble "int 3" instruction if two such instructions
  appear in a row.

- a new IDC function: GenerateFile(). It replaces Write...() functions which
  generated the output files. The GenerateFile() is more powerful and can
  generate the following output files: map, idc, lst, asm, dif, exe.

- IBM PC: Floating point emulation instructions are disassembled now.

- PE files: Some virus infected programs are handled in a better way

- Microsoft Visual C++ v6.0 functions are recongized by FLIRT.

- IDA can load ELF executables for PowerPC processor.
  Shared object files and PIC mode are not supported yet.

- Now IDA supports complex references like

        offset label1 + somedelta - offset label2

  The user can specify such references using Ctrl-R combination.
  Here is an exerpt from the online help:

  [================================= BEGIN =================================]
        Complex Offset Expression 
         

        A complex offset expression looks like

                offset target + delta - offset base

        It is specified by:

                - type
                - base
                - optional target
                - optional delta from target

        The relationship between these parameters is
        (the formula is given for full offsets):

                operand_value == target + tdelta - base

        or (the same relationship in a difference form):

                target = operand_value - delta + base

        You always have to specify the offset type and base.
        Usually the delta is equal to zero.
        For the full offset type you may omit (and it is recommended to omit)
        the offset target. In this case IDA will calculate it automatically.
        However, if you specify the offset target, make sure that the relationship
        between the parameters still holds.
        For the half offset types you have to specify the target because
        there is no way to calculate it.

        The offset types:

        8-bit full offset            : 
        16-bit full offset           :
        32-bit full offset           :

        The full offsets are regular offset expressions like

                offset label

        They can occupy 8, 16, or 32 bits.
        You have to specify the offset base for these offsets.

        low 8 bits of 16-bit offset  :

        Only the low 8 bits of the offset. IDA will represent them as

                (offset label) & 0xFF

        low 16 bits of 32-bit offset :

        Only the low 16 bits of the offset. IDA will represent them as

                (offset label) & 0xFFFF

        high 8 bits of 16-bit offset :

        Only the high 8 bits of the offset. IDA will represent them as

                offset label >> 8

        high 16 bits of 32-bit offset:

        Only the high 17 bits of the offset. IDA will represent them as

                offset label >> 16

  [================================= END =================================]

- View|Edit file can create new files now.

- In the notepad (a small dialog box which is used to enter multiline texts)
  the input should be finished with Ctrl-Enter now.
  The Enter key will just start a new line of text.

- Now it is possible to use all the macro definitions from IDC.IDC file
  in the calculator (hotkey '?') and in the instant IDC statements
  (hotkey Shift-F2).

- The "Shell" menu item is removed from the MS DOS version.

- The enumeration window had some bugs, they are fixed:
        - the text search works correctly
        - the cursor doesn't jump to another line after each command

- Some mangled names produced by Borland were not demangled. Fixed.

- Fixed a bug: now IDA can save its database in the packed form under MS DOS.

- Wide Pascal ASCII strings are represented correctly

