     This is  an excerpt  from the  BINTEL  1.0  manual  (by  Ron  Baldwin)
     explaining Intel Hex format:

     In Intel  Hex format,  binary data  are encoded  in groups  of records
     called 'paragraphs', typically 16 bytes per paragraph.  Each paragraph
     is begun  with a  colon (':')  and ended  with a carriage return.  For
     example:

     Binary data (in hex):

       31 80 08 3E 89 D3 03 AF D3 00 D3 01 06 07 11 FF
       FF 21 FF FF 19 DA 14 00 10 F7 3E 10 D3

     Intel Hex Representation (in ASCII):

      :100000003180083E89D303AFD300D301060711FF27 (1st paragraph; 16 bytes)
      :0D001000FF21FFFF19DA140010F73E10D396       (2nd paragraph; 13 bytes)
      :00000001FF                                 (last paragraph; 0 bytes)

     Meaning of each field:

     Colon  Data    Address of  Paragr  Data (pairs of nibbles)    CRC
            Count    1st data   Type     in ASCII form          (check sum)
                       byte

       :     10       0000       00      31 80 08 3E ...    FF     27
       :     0D       0010       00      FF 21 FF FF ... D3        96
       :     00       0000       01      {none}                    FF

     All numbers are in upper-case Ascii hexadecimal representation.

     Data count: # data bytes in the paragraph.
     Address:    Address (offset) where 1st data byte goes.
     Para type:  00 = not the end yet, 01 = last paragraph.
     CRC:         Check sum  = 2's  complement of the 8-bit addition of the
                 binary values  of all  the other bytes. (ie the sum of the
                 CRC plus all the other bytes = 0).
     Delimiter:  Each "paragraph" is ended with a carriage return.

     The last  paragraph is  a null  paragraph, with  zero data  bytes; its
     paragraph attribute is '01'.

     [Reference:  Bill Curlew, Circuit Cellar BBS msg #4221 (10/27/86)]

     (I couldn't have said it better myself!)
















