home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 5 / DATAFILE_PDCD5.iso / utilities / c / cruncher / !Cruncher / !Help < prev    next >
Encoding:
Text File  |  1991-05-25  |  8.5 KB  |  173 lines

  1. ================================ !Cruncher =================================
  2.  
  3. !Cruncher is written by ACE (Arc Angels).
  4. The compression modules are written by John Kortink.
  5.  
  6. ============================================================================
  7. ===== !Cruncher 1.22 =====
  8. ==========================
  9.  
  10. !Cruncher is a simple program to crunch/decrunch a file. It is different to
  11. (eg) !Spark in the way that !Cruncher only crunches one file and !Spark
  12. collects files into an archive.
  13.  
  14. ===== Iconbar =====
  15. !Cruncher can be installed by double clicking on its icon in the filer
  16. window. It will appear on the Iconbar. When clicking with the menu button on
  17. the icon at the Iconbar you have 3 options:
  18.  - Info, for more information about !Cruncher
  19.  - Action, to tell the application what to do with a file
  20.  - Quit, to leave the !Cruncher application
  21.  
  22. ====== The action option =====
  23. You can choose between 3 options:
  24.  - Crunch, for crunching files (only if they are not crunched yet)
  25.  - Decrunch, for decrunching files (only if they are already crunched)
  26.  - Reverse, for crunching uncrunched files and decrunching crunched files
  27.  
  28. A crunched file is recognized by its filetype, currently &000. When
  29. crunching a file all file types -except the crunched one and non-filetype
  30. files (ie with load/execution address)- are crunched. If the destination
  31. file (the crunched version) is bigger than or equal to the original file,
  32. then the original file is maintained. When a file is crunched successfully,
  33. the datestamp is altered slightly, because the original filetype has to be
  34. saved within it. This is acceptable because the difference with the original
  35. datestamp will be at most 41 seconds. When a file is decrunched its
  36. datestamp doesn't change. When a directory/application is dragged to the
  37. !Cruncher application, all files inside that directory will be
  38. crunched/decrunched. All directories inside the directory/application
  39. dragged are also scanned. Since version 1.21 the way of crunching is decided
  40. as follows:
  41.  - When there is enough memory, both source and destination are held in
  42.    memory.
  43.  - If there is enough memory for 1 copy of the file, only the destination
  44.    is held in memory (crunching is done from disk to memory).
  45.  - If there isn't enough memory at all, the file is crunched from the source
  46.    file to <Wimp$Scrap> and after that copied to the source file.
  47.  
  48. Decrunching will always be from memory to file. If there isn't enough memory
  49. then the file is first decrunched to <Wimp$Scrap> and then moved to
  50. <filename>. To prevent losing the source file (this seems to happen during
  51. decrunching, when the disk becomes full before the whole file is decrunched)
  52. copy it to the RAM-disk or hard-disc, or make sure that there is enough room
  53. on the floppy. As a way of prevention, the file is first copied to
  54. <Wimp$Scrap>. Unfortunately this (losing the source) cannot be changed
  55. easily, because there is no way how to retrieve the original (decrunched)
  56. length of the file. The bug seems to be in the LZW module.
  57.  
  58. When you double-click on a crunched file, !Cruncher will decompress the file
  59. to <Wimp$Scrap> and a message will be send to all tasks that the user has
  60. double clicked on file <Wimp$Scrap>. This will have the same effect as used
  61. in !Spark. <Wimp$Scrap> however won't be deleted.
  62.  
  63. =====WARNING=====
  64. The files !Boot, !Sprites and !Run files inside an application directory are
  65. not allowed to be crunched. The reason is that the command *IconSprites
  66. doesn't check if it's a sprite file or not. For example: If you crunched the
  67. file $.Help.!Test.!Sprites you get the following situation: when you click
  68. on the Help directory, the Filer searches for all applications inside the
  69. Help directory. In this case he founds the application !Test. If the file
  70. !Test.!Boot exists, the Filer will *Run that file. One of the commands in
  71. the !Boot file will be *IconSprites <Obey$Dir>.!Sprites. When that command
  72. is performed an 'Abort on data transfer' will occur (of course only when the
  73. !Sprites file isn't a sprite file, but a crunched file for example).
  74. Actually nothing happens and you will be able to view the contents of the
  75. !Test directory as usual. But if the !Boot file doesn't exist, the Filer
  76. will issue the command *IconSprites !Sprites (with full pathname of course)
  77. at its own. You will also get the error 'Abort on data transfer'. The main
  78. difference is, that the Filer is a task and will be shutdown by the
  79. WindowManager whereas the Obey module (in case the !Boot file is an Obey
  80. file) is not so cannot be shutdown. The result is that if the Filer is
  81. shutdown, you won't be able to view any directory anymore until you quit
  82. from the desktop.
  83.  
  84. ============================================================================
  85. ===== Updates from !Cruncher =====
  86. ==================================
  87.  
  88. ===== 1.00 (30-Jan-1991) =====
  89. Original release.
  90.  
  91. ===== 1.02 (31-Jan-1991) =====
  92. Adapted the cruncher application to the Window Library. Also added the
  93. option of decrunching a file. Filetype of decrunched file will become &FFD.
  94. Fixed a bug which prevents from crunching large files. Also added the
  95. hourglass.
  96.  
  97. ===== 1.04 (01-Feb-1991) =====
  98. Added the option to reverse the file (a crunched file will be decrunched and
  99. a uncrunched file will be crunched). When a file is decrunched, the filetype
  100. will become the lower 12 bits of the date stamp. When a file is crunched the
  101. lower 12 bits of the datestamp will be set according to the original
  102. filetype. The result is that the datestamp isn't correct anymore, although
  103. the difference with the original datestamp will be +/- 41 seconds, which is
  104. acceptable.
  105.  
  106. ===== 1.07 (02-Feb-1991) =====
  107. It's now possible to drag directories/applications to the cruncher. All
  108. files (or other directories) inside the directory dragged, will be
  109. crunched/decrunched/reversed. If a file after crunching is bigger than the
  110. original, then the original file will be restored. Fixed a bug which caused
  111. the wrong datestamp written back to the crunched file.
  112.  
  113. ===== 1.08 (02-Feb-1991) =====
  114. You won't be able to crunch !Boot, !Sprites and !Run files inside an
  115. application directory. This is because a RISC OS bug. See notes above.
  116.  
  117. ===== 1.09 (19-Feb-1991) =====
  118. When crunching an empty file (ie length is 0 bytes) the Cruncher would
  119. report the following FileSwitch error: 'No writeable memory at this
  120. address'. Now it ignores empty files (they cannot be crunched anyway).
  121.  
  122. ===== 1.12 (20-Feb-1991) =====
  123. Now it's possible to double-click on a crunched file. !Cruncher will
  124. decrunch it and will broadcast a Message_DataOpen call, so the specific
  125. application can load the decrunched file.
  126.  
  127. ===== 1.13 (24-Feb-1991) =====
  128. Fixed a bug which caused non date-stamped files to be crunched. This occured
  129. when a directory/application is dragged to the iconbar, and a non
  130. date-stamped file resides inside that directory/application.
  131.  
  132. ===== 1.21 (22-May-1991) =====
  133. Better memory management when crunching/decrunching (also when
  134. double-clicked on a crunched file). Uses <Wimp$Scrap> if not enough memory.
  135. Much faster when destination>=source. Source file is better protected when
  136. (de)crunching. File attributes will also be retained now. Cannot decrunch an
  137. empty file (had some problems with Impression).
  138.  
  139. ===== 1.22 (25-May-1991) =====
  140. Fixed a bug which caused to bypass the 'Message_DataOpen call' code.
  141.  
  142. ============================================================================
  143. ===== Ideas to implement =====
  144. ==============================
  145.  
  146.  - Deleting <Wimp$Scrap> after double-clicking on file. I have no idea how
  147.    to implement because the user has to acknowledge the message BEFORE
  148.    reading the file.
  149.  - Better protection when decrunching a file (partly implemented by copying
  150.    the file to <Wimp$Scrap>). If there isn't enough room on disk for the
  151.    crunched file, the LZW module will crash, and the source file is lost.
  152.    This is a bug in the LZW module.
  153.  - Possibility to save a (de)crunched file as another file instead of as the
  154.    same file.
  155.  
  156. ----------------------------------------------------------------------------
  157.  
  158. All versions were written on a 4Meg Archie with a HardDisc. It could be
  159. possible that users with only 1Meg or users with only 1 disk-drive have some
  160. problems with using !Cruncher, eg because <Wimp$Scrap> is used frequently.
  161. If this is the case for you then say it to me. (One of) the reason(s) why I
  162. implemented the better memory management was because one user had problems
  163. with large files using !Cruncher on his 1Meg Archie. So don't hesitate to
  164. contact me for any reason!
  165.  
  166. ----------------------------------------------------------------------------
  167.  
  168. For comments/bugs/the latest version or whatever, you can contact me at:
  169.  
  170. Michel Fasen
  171. Hertoglaan 47
  172. 5262 JM  VUGHT
  173. Holland