home *** CD-ROM | disk | FTP | other *** search
/ GEMini Atari / GEMini_Atari_CD-ROM_Walnut_Creek_December_1993.iso / files / archiver / bapack.doc < prev    next >
Text File  |  1990-01-19  |  11KB  |  237 lines

  1.  
  2. Branch Always Packer 1.00
  3. =========================
  4.  
  5. (C) Branch Always Software, 1990. All rights reserved.
  6.  
  7. released: January 19, 1990
  8.  
  9.  
  10. The file BAPACK.ACC and this text file make up the BA Pack 1.00 release.
  11. This is a freeware release, and may be used by all Atari ST users. The
  12. software may be copied freely. It may not be modified, disassembled, or
  13. used for commercial purposes.
  14.  
  15.  
  16. What is BA Pack?
  17. ================
  18.  
  19. BA Pack is an executable program packer. It takes an existing program,
  20. which may have a .PRG, .TOS, .TTP, or .ACC extender, and creates a file
  21. which is smaller but still remains executable. This frees up disk space,
  22. and allows more programs to fit on a floppy disk or hard disk. Desk
  23. accessories as well as normal applications can be packed.
  24.  
  25. For example, the size of Flash 1.6 drops from 135K to 97K, a savings of
  26. about 38K of disk space. Calamus drops in size by about 80K. The larger
  27. the program, the more the savings. Typical programs will compress to
  28. about 50% to 80% of their original size. BAPACK.ACC itself is packed.
  29. On a standard 360K single sided floppy disk, it is usually possible to
  30. free up about 100K of disk space, simply by packing the programs on the
  31. disk.
  32.  
  33. We tested BA Pack on dozens of different programs, like Flash, Calamus,
  34. Word Writer, ST Writer, Tempus, Laser C, ARC, ARC Shell, Quick ST, etc,
  35. and all the programs worked perfectly when packed.
  36.  
  37. The reason that BA Pack was written in the first place was to allow
  38. us to put more files on our upcoming software releases. We looked at
  39. several alternatives:
  40.  
  41.     - use a double sided 720K disk - 520ST users would kick and scream
  42.     - self extracting ARCs - this requires more disk space for extraction
  43.     - ARC the files - this requires ARC.TTP (which eats more disk space)
  44.                       and some people may not be familiar with ARC.
  45.     - use two disks - this raises the price of the software
  46.  
  47. All 4 of the above alternatives were unacceptable, so BA Pack was written.
  48.  
  49.  
  50. Differences between PACKing and ARCing
  51. ======================================
  52.  
  53. A program packer is slightly different than a normal ARCing program.
  54. The two main characteristics of a file compression program are the
  55. efficiency of compression, and the speed of decompression (or unpacking).
  56.  
  57. Programs like LHARC offer very good compression of files, but they take
  58. a long time to do the decompression. A program like ARC is slightly
  59. faster but doesn't compress as well. BA Pack is even faster than ARC,
  60. but does not compress as efficiently. The reason is simple. A packed
  61. program must unpack very quickly, otherwise it will annoy users if they
  62. have to wait a minute or two each time they double click on a program.
  63.  
  64. So there is a tradeoff between compression efficiency and pack/unpack time.
  65. BA Pack performs the packing and unpacking operations entierly in memory,
  66. so it is extremely fast, but as a result, the packed programs are larger
  67. than what could be obtained by using ARC or LHARC.
  68.  
  69. The algorithm that BA Pack uses is also different than what ARC might use.
  70. There is a compression scheme known as Huffmann encoding, which is widely
  71. used for compressing files. Unfortunately, Huffmann encoding and decoding
  72. is not terribly fast. The compression scheme used by BA Pack, although 
  73. quite "brain dead", is effective nevertheless. It works on the fact that
  74. a program will tend to have a lot of repeating 68000 instructions, since
  75. there are just a limited number of instructions in common use. But you
  76. don't have to worry about how BA Pack works!
  77.  
  78. In future releases we will experiment with other methods of compression
  79. which may be slower or faster, smaller or larger. The current method
  80. was chosen as the best compromise between speed and packed size.
  81.  
  82. There is another consideration that makes BA Pack slightly different.
  83. If you try to pack a program that is smaller than 1K, BA Pack won't let
  84. you do it. The reason is that the ST allocates disk space 1K at a time. So
  85. it doesn't matter if a file is 5 bytes long or 995 bytes long, it still 
  86. uses up 1K (1024 bytes) of disk space. Therefore, since our main goal is
  87. to save disk space, it is unnecessary to try performing packs that save
  88. less than 1K of disk space.
  89.  
  90. BA Pack also displays all file sizes in terms of kilobytes rather than
  91. bytes, since the actual number of bytes is somewhat unimportant.
  92.  
  93. When a packed program is run, it performs all the unpacking in memory, at
  94. a rate of about 30K per second. On a floppy disk system, this will usually
  95. mean that a packed program loads faster than the unpacked program, because
  96. the time spent unpacking is less than the time it would take to load the
  97. larger unpacked program.
  98.  
  99. When running a packed program from a hard disk or RAM disk, the load time
  100. will usually be too fast to make a difference. There will be a slight
  101. delay on large files as the program unpacks. This may take up to 5 seconds
  102. on very large files.
  103.  
  104.  
  105. Using BA Pack
  106. =============
  107.  
  108. BA Pack uses an intuitive GEM based interface. There is currently only
  109. one operation supported: packing. For our purposes it was not necessary
  110. to have an unpack feature. We also recommend that whenever you pack a file,
  111. you should always keep a backup of the original unpacked version. This is
  112. so that the original file can be used for such purposes as ARCing, or
  113. patching (a method of updating programs). There are programs out there,
  114. such as ARC Shell, which store configuration information right in the
  115. program file itself, so when changing the configuration, you must have
  116. the unpacked version handy.
  117.  
  118. BA Pack runs as a desk accessory or an application. To install is as a
  119. desk accessory, simply rename it to BAPACK.ACC and copy it to the root
  120. directory of your boot disk. To run it as an application, rename the
  121. file to BAPACK.PRG and run it from the desktop.
  122.  
  123. Programs that are already packed should not be packed again, since this
  124. will not reduce the size of the program further. BA Pack is already 
  125. packed.
  126.  
  127. In addition to the memory required to load the unpacked file into memory,
  128. BAPACK uses about 300K of memory for the packing process. Therefore it
  129. is almost a must to have at least a megabyte of memory. The memory is
  130. required for the fast packing process we regret if this causes an
  131. inconvenience to 520ST users. The unpacking of a packed file does not
  132. require any additional memory.
  133.  
  134. To go and pack, run BA Pack and click on the button marked "Pack a program".
  135. Two file selectors will pop up in succession. The first one is for
  136. specifying the file to pack, i.e. the original unpacked program. When
  137. that is done, the second file selector will come up and you must type
  138. in the name of the packed file. The packed file does not exist yet, but
  139. in case you do select an already existing file, it will prompt you to make
  140. sure. Once both the packed and unpacked files are selected, BA Pack will
  141. go and pack. This will take from a few seconds to a minute, depending on
  142. the size and complexity of the unpacked file.
  143.  
  144. You can also click on "Packed file statistics" to check the compression
  145. of a packed file, or to check whether a file is already packed or not.
  146.  
  147. To avoid confusion, we recommend the use of the .APP extender on packed
  148. files. For example, if you pack Flash 1.6, the unpacked file name is
  149. FLASH.PRG, and the packed file name is FLASH.APP. Although APP stands for
  150. APPlication, it is so seldom used that it could just as well mean
  151. A Packed Program.
  152.  
  153. Make sure that when packing, there is enough room on the disk for the
  154. packed file that will be created.
  155.  
  156. Under no circumstances should the packed and unpacked files be the same
  157. file! If you do not want the unpacked file, copy it to a floppy disk for
  158. future use.
  159.  
  160.  
  161. The future of BA Pack
  162. =====================
  163.  
  164. BA Pack was written for a very specific purpose, and was not intended to
  165. be yet another ARC program. However, even using the current brain dead
  166. compression scheme, it is possible to compress non-program files, such as
  167. text files, quite well. For example, typical text compresses by about 40%.
  168.  
  169. The main advantage of BA Pack on non-program files as we see it would be
  170. its speed of packing and unpacking. If users demand it, BA Pack will be
  171. expanded into a full blown ARC-like program, with compression, decompression,
  172. archive listings, multiple file support, and other features.
  173.  
  174. So, please vote on the future of BA Pack. Send us your responses by email or
  175. regular mail. Please answer as many of the following questions as possible.
  176.  
  177. Q1: Do you find BA Pack useful for packing programs?
  178.  
  179. Q2: Will you continue to use it in its current state?
  180.  
  181. Q3: Would you like the ability to pack non-program files (such as text
  182.     files, graphics files, etc) given the current speed of compression and
  183.     efficiency of compression?
  184.  
  185. Q4: If the answer to Q3 was Yes, would you like to see BA Pack use its own
  186.     built-in GEM based shell, or should it be made comptible with ARC.TTP so
  187.     that it can be used with ARC Shell?
  188.    
  189. BA Pack will remain freeware, although we reserve the right to make
  190. non-freeware versions for distribution with future Branch Always products.
  191.  
  192.  Branch Always Software
  193.  Box 2624, Station B
  194.  Kitchener, Ontario  N2H 6N2
  195.  Canada
  196.  
  197.  phone: (519)-570-4340 or (519)-747-0386
  198.  
  199.  Compuserve: 73657,2714
  200.  GEnie: DAREKM
  201.  
  202.  
  203. Current versions
  204. ================
  205.  
  206. These are the current versions of current Branch Always products:
  207.  
  208. Quick ST 1.8, available at Atari dealers for $19.95.
  209.  
  210. Quick Find 1.7, Quick Inf 1.7, Quick Label 1.7, Quick View 1.61 -
  211. these programs were part of the Quick Utilities shareware package, which
  212. is being replaced by a new cheaper package very soon now!
  213.  
  214. To update to the latest versions, mail in your original Quick ST or
  215. Quick Utilities disk and $3 and you will receive the updated disk.
  216.  
  217. Well, that's about all our products for now! Please check your local
  218. bulletin board or online service on March 2, 1990 for the announcement
  219. of our new commercial software products.
  220.  
  221. We also have Compilation Disks available for $9.95. See the "About" boxes
  222. in BA Pack for more information.
  223.  
  224. Also be on the lookout for our upcoming "STe Demos", which will be
  225. uploaded to the bulletin boards and online services. These will include
  226. 4096 color graphics demos, digital stereo sound demos, and more! You will
  227. of course need an Atari STe computer, but these are readily available now
  228. everywhere but in the United States. They're really cheap here in Canada.
  229.  
  230. Note: to date, we have found that the following popular programs do not
  231.       run on the Atari STe: Neodesk 2, Hotwire, UIS II, Vkiller. If you
  232.       try to pack them using BA Pack, they will still not work!
  233.  
  234. Don't forget to vote on the future of BA Pack!
  235.  
  236.  
  237.