💾 Archived View for gemini.spam.works › mirrors › textfiles › music › FORMATS › binhex4.inf captured on 2022-06-12 at 16:06:14.

View Raw

More Information

-=-=-=-=-=-=-

Macintosh 7 & 8 bit File Transfer Format - Protocol Independent



Here is a description of the Hqx7 (7 bit format as implemented in BinHex

4.0) and Hqx8 (8 bit format) formats for Macintosh Application and File

transfers. The main features of the formats are:

1) Error checking even using ASCII download (Hqx7 & Hqx8)

2) Compression of repetitive characters     (Hqx7 & Hqx8)

3) 7 bit encoding for ASCII download        (Hqx7)



HQX Format Description (This is not intended to be a programmer's reference).



The format is processed at three different levels:



1) 8 bit encoding of the file:



     Byte:      Length of FileName (1->63)

     Bytes:     FileName ("Length" bytes)

     Byte:      Version

     Long:      Type

     Long:      Creator

     Word:      Flags (And $F800)

     Long:      Length of Data Fork

     Long:      Length of Resource Fork

     Word:      CRC

     Bytes:     Data Fork ("Data Length" bytes)

     Word:      CRC

     Bytes:     Resource Fork ("Rsrc Length" bytes)

     Word:      CRC



2) Compression of repetitive characters.



     ($90 is the marker, encoding is made for 3->255 characters)

     

     00 11 22 33 44 55 66 77      ->      00 11 22 33 44 55 66 77

     11 22 22 22 22 22 22 33      ->      11 22 90 06 33

     11 22 90 33 44               ->      11 22 90 00 33 44



3) 7 bit encoding (Hqx7 only).



   The whole file is considered as a stream of bits. This stream will

   be divided in blocks of 6 bits and then converted to one of 64

   characters contained in a table. The characters in this table have

   been chosen for maximum noise protection.

   The format will start with a ":" (first character on a line) and

   end with a ":". There will be a maximum of 64 characters on a line.

   It can be preceeded by comments for novice users.



   Table:

   !"#$%&'()*+,-012345689@ABCDEFGHIJKLMNPQRSTUVXYZ[`abcdefhijklmpqr



   Comment:

   (This file must be converted with BinHex 4.0)



                                       Yves Lempereur [YVES]