


                     INTEL MCS-86 HEXADECIMAL OBJECT                      
                           File Format Code 88                            
                                                                          
     The Intel 16-bit Hexadecimal Object record format has a 9-character  
     (4 field) prefix that defines the start of the record, byte count,   
     load address, and record type, as well as a 2-character checksum     
     suffix.  The four record types are:                                  
                  00 = data record                                        
                  01 = end record(signals end of file)                    
                  02 = extended address record(provides the offset to     
                       determine the absolute destination address)        
                  03 = start record(ignored during input and not sent     
                       during output by Data I/O translator firmware)     
                                                                          
     Input data record(type 00)                                           
        ----------------------------------------------------------        
        \  :   |  BC  |   AAAA   |   00  |  HHHHHHHH..HH |   CC  \        
         ---------------------------------------------------------        
          start  byte    hex       record     HH =          checksum      
          char   count   address    type      1 data byte   (2 chars)     
              (2 chars) (4 chars) (2 chars) (up to 32 chars)              
                                                                          
     End of File record(type 01)                                          
        ----------------------------------------                          
        \  :   |  00  |   0000   |   01  |  FF  \                         
         ----------------------------------------                         
          start  BC      address   record   checksum                      
          char   = 00    = 0000     type     = FF                         
                                                                          
     Extended address record(type 02)                                     
        -----------------------------------------------------             
        \  :   |  02  |   0000   |   02  |    HHHH   |   CC  \            
         -----------------------------------------------------            
          start  BC      address   record   2 bytes    checksum           
          char   = 02    = 0000     type    (offset)  (2 chars)           
                                           (4 chars)                      
                                                                          
     Start Address record(type 03) not used by Data I/O firmware.         
                                                                          
     The Checksum is the two's complement of the binary summation         
     of the preceding bytes in the record(including the bytecount,        
     address, and any data bytes) in hexadecimal notation.                
                                                                          
     The extended address record(type 02) defines bits 4 to 19 of the     
     20 bit segment base address.  This address will be added to          
     subsequent data record addresses to provide the absolute address.    
     This record can appear randomly in the file, but for this application
     it will be the initial record.                                       
                                                                          
     NOTE:  Always specify the address offset when using this format,     
            even when the offset is zero.                                 
                                                                          
     The Data I/O firmware will force the record size to 16(decimal)      
     if the record size is specified greater than 16.  
                                                                          
        * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *       
                           MOTOROLA EXORMAX                               
                          File Format Code 87                             
                                                                           
     Motorola data file may begin with a sign-on record, but for this     
     application it will be ignored.  Data records have an 8 or 9         
     character prefix and a two character checksum suffix.                
                                                                           
     Data record (if address field has 4 chars)                           
        -------------------------------------------------                 
        \  S1  |  BC  |   AAAA   |  HHHHHHHH..HH |   CC  \                
         ---------------------------------------------------------        
          start  byte    hex         HH =           checksum              
          char   count   address      1 data byte   (2 chars)             
              (2 chars) (4 chars)   (up to 32 chars)                      
                                                                           
     Data record (if address field has 6 chars)                           
        ---------------------------------------------------               
        \  S2  |  BC  |   AAAAAA   |  HHHHHHHH..HH |   CC  \              
         ----------------------------------------------------             
          start  byte    hex         HH =           checksum              
          char   count   address      1 data byte   (2 chars)             
              (2 chars) (6 chars)   (up to 32 chars)                      
                                                                           
     End-of-file record                                                   
        -------------------------------------     *NOTE:  Start chars     
        \  S*  |  03    |   0000   |     CC  \     must be S9 if previous 
         --------------------------------------    record began with S1.  
          start  byte       hex         checksum   May be S9 or S8 if     
          char   count     address      (2 chars)  previous record began  
              (always 03) (always 0000)            with S2.               
                                                                           
     Byte Count is the number of data bytes in the record plus 3(if       
     four hex char address) or plus 4(if 6 hex char address) for          
     checksum and address.                                                
                                                                           
     Checksum is one's complement of binary summation of preceding bytes  
     in the record (including byte count, address, and data bytes) in     
     hexadecimal notation.                                                
                                                                           
                                                                          
        * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *       
                         TEKTRONIX HEXADECIMAL                            
                          File Format Code 86                             
                                                                           
     The Tektronix Hexadecimal format for a data file consists of a       
     9-character prefix (start char, address, bytecount, and checksum     
     of the prefix) followed by data bytes and ended by a 2-char          
     checksum of the data characters.  The end-of-file record consists    
     only of control characters used to signal the end of transmission    
     and a byte count and sum-check for verification.                     
                                                                           
     Data record                                                          
        ----------------------------------------------------------        
        \   /  |  AAAA  |   BC   |   CC   | HHHHHHHH..HH |    CC  \       
         -----------------------------------------------------------      
          start   hex      byte    prefix    HH =             data        
          char  address    count  checksum   1 data byte     checksum     
              (4 chars) (2 chars) (2 chars) (up to 32 chars) (2 chars)    
                                                                           
     End-Of-File record                                                   
        ----------------------------------                                
        \   /  |  AAAA  |   00   |   CC    \                              
         -----------------------------------                              
          start  transfer  byte    checksum                               
          char   address   count   (2 chars)                              
               (4 chars)   = 00                                           
                                                                          
     The prefix checksum is the eight-bit sum of the four-bit hexadecimal 
     value of the six digits that make up the address and byte count.     
     The data checksum is the eight-bit sum, modulo 256, of the four-bit  
     hexadecimal values of the digits that make up the data bytes.        
                                                                          
 *************************************************************************

Tektronix maximum address: 65536 (x10000)
Motorola Exormax maximum address: 16777216 (x1000000)
Intel MCS-86 Hexadecimal maximum address: 1048576 (x100000)

