home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / hensa / disk / archive / compfs_1 / !CompFS / !Help < prev    next >
Text File  |  1996-09-19  |  10KB  |  113 lines

  1. !Help file for !CompFS version 0.01 (beta)
  2. ——————————————————————————————————————————
  3.  
  4. 28th Jul 1996
  5. —————————————
  6.  
  7. Introduction:
  8. —————————————
  9.  
  10. CompFS provides a read/write archive file system (similar to arcfs), which provides compression similar to that of pkzip/gzip etc. It uses a VERY tight archive format and generaly compares well against pkzip. If you want to find all the little useful options Read ALL this file (even though it is boring).
  11.  
  12. Disclaimer:
  13. ———————————
  14.  
  15. Basicaly this software comes with no guarentee of fitness for any purpose (doesn't mean it's crap), and I can't be help responsible for any damage caused by this or any other piece of software.
  16.  
  17. Basic usage:
  18. ————————————
  19.  
  20. It should be very straightforward to use (I hope). When run from the desktop the filer for CompFS will appear on the left hand side of the icon bar. This provides a simple means of controlling the FS from the desktop (well, it's better than the command line).
  21.  
  22. Clicking menu over the icon bar icon will bring up a small menu with a number of options:
  23.  
  24.     1.) Info: Provides a pretty standard and very boring info box. Don't spend too long looking at this.
  25.  
  26.     2.) Options: Clicking select on this will bring up the main options box. Here you can configure the following things:
  27.  
  28.         1.) Compression: You've only got a choice of finite window or no compression, but there are likely to be more in later versions (if I have time to write later versions). CompFS actualy uses a version of finite window compression of my own invention (it is still similar to LZ77 though), with secondary dynamic huffman encoding and also a little bit of runlength encoding. I've generaly found the overall compression and archiving is similar to pkzip (which doesn't store as much dir info.)
  29.  
  30.         3.) Misc: There are 3 options here.
  31.  
  32.             1.) The first - application sprites when selected will cause all archives with an ! at the beginning to be treated as a normal app instead of as a normal directory.
  33.  
  34.             2.) Write buffering is a highly useful but dangerous option. When selected it means that directories will not be written to disc when they are modified but only when they expire from the directory cache (which uses a Least Recently Used algo.). Needless to say this provides HUGE speed increases (especialy for disc users), and helps speed up directory re-location even more (since directories aren't getting written back to disc). I advise you use this option when performing large copies but leave it off under normal circumstances, because if something goes wrong you will probably loose a lot (or all) of you're recently written archive(s). It is also worth remembering that filecore has a bug which prevents all of an open file being flushed to disc (even when it's told too), and so you tend to loose bits of archives if something goes wrong anyway - even if you're not using this option :).
  35.                 NOTE: If you use write buffering - you must always kill compfs before resetting in order to ensure all bufferd data is written to the disc (a shutdown from the desktop works too).
  36.  
  37.             3.) Finaly there is the display hourglass option. When selected an hourglass will be displayed during compression/decompression and you will also get a percentage compressed when compressing. This slows performance by about 4% but is worth it since you can tell if something has gone wrong when the disc light hasn't flickerd for ages (it also gives you something to look at, which is a big improvement).
  38.  
  39.     3.) New Arc: following the arrow gives you the standard save box which allows you to create new archives.
  40.  
  41.     4.) Kill: This kills the filing system completly and removes both the filer and compfs modules from memory.
  42.  
  43.     5.) Quit: This just quits the filer and leaves the fs there.
  44.  
  45. Archive specific operations:
  46. ————————————————————————————
  47.  
  48. That's not all, it is also possible to perform archive specific operations by dragging an archive to the filer icon. This will open up a box indicating the archive and allowing you to set the archives individual attributes and to compact the free space map.
  49.  
  50. The individual attributes are an incredibly useful idea (Thanks to whoever suggested it - I've forgotten, sorry). These allow you to provide that finishing touch to you're archives. The 3 options are discussed below:
  51.  
  52.     Read Only: Pretty self-explanatory this. If selected you cannot write to archives (great for making them un-corruptable). You can however still compact the free space map. NOTE: for some bizare reason I can't seem to get this facility by setting the archives file attributes - dunno why.
  53.  
  54.     Close on write: This allows you to overcome the problem created by the filecore bug (in which not all of an archive is written back and you loose bits). What happens is that after each operation the archive is closed thus properly writting everything back (but dramaticaly slowing write access). This is VERY VERY useful for archives which are not going to be modified much more , but may have a preferences or data file which will be updated.
  55.  
  56.     Finished: Provides a similar service to close on write, but when the archive is modified and free space is created it is automaticaly compacted out thus keeping the archive as small as possible forever more (or until you switch this facility off).
  57.  
  58. Memory handling:
  59. ————————————————
  60.  
  61. As you probably well know archivers often tend to do horrible things to your memory, but hopefuly CompFS will not. If you are a pre-RISC OS 3.5 user then I'm afraid you're stuck with compfs vandalising you're RMA and you'll just have to live with it (sorry), but if you've got RISC OS 3.5 or greater then CompFS will use dynamic areas. CompFS has a full on shifting heap memory manager which keeps things nice and tidy (and I could of cheated and used 2 areas, one for workspace and one for dir cache, but it's not perfect especialy with compfs's directory re-sizing techniques).
  62.  
  63. You may also be interested to know that compfs and the filer take exactly 35936 bytes of RMA (35k and a bit) when loaded as well as ~8k of default workspace (in RMA or dynamic area). This can be reduced further by not having the filer.
  64.  
  65. NOTE FOR RISC OS 3.5+: If you don't boot onto the desktop and you load CompFS then CompFS will have problems getting memory since there will be none in the free slot. You can deal with this (obviously) by using OS_ChangeDynamicArea in you're boot up.
  66.  
  67. Errors:
  68. ———————
  69.  
  70. Unfortunatly I've a blind spot when it comes to coding error handlers and although I'm quite happy about the bug-freeness of CompFS (that's NOT a guarentee) the error handlers are not really fully tested. I'm only really sure that memory generated errors won't be a problem (a check is run at the beginning of each memory claiming routine to make sure there is enough memory). If you do get any problems caused by errors (i.e. you have an error and it corrupts you're archive), tell me and I'll try and fix the error handler. Also the error numbers are a bit bizzare - I'll fix them later. Remember this is a BETA release, and as such is probably going to be a little unstable - if you're worried don't put heavy demands on it. Also the very small number of address exception type horrible errors I've ever generated were mostly the error handler dying, so if you get one kill and re-start compfs immediatly and everything will be o.k.
  71.  
  72. In this version there is still one slight error that I know of - in the archive compaction routines. CompFS sometimes mis-judges the amount of memory needed to cache the whole directory structure, and it is possible you will corrupt the archive if it gets it wrong. This will ONLY ever happen with HUGE archives with very large directories, or if you compact with only about 10k in the RMA. So my advise is to drag out you're RMA by at least 200/300k when compacting.
  73.  
  74. Known errors:
  75. —————————————
  76.  
  77. There's only one error I definatly know of and that is a problem with the disc running out of space when you're saving a file. If this occurs you will get a proper error report, but the memory won't get released. Don't worry the archive will be okay and you should kill compfs if this occurs (and then re-load).
  78.  
  79. Also there are a few errors in filecore concerning image filing systems. The first as previously mentioned is the fact that bits of data get left off the end of an image if it isn't closed properly before shutting down. The second is that you may get errors such as "file not found" when the file exists, and this is filecore passing the wrong pathnames around (they're harmless errors and quite rare).
  80.  
  81. Finaly:
  82. ———————
  83.  
  84. Well, that's all. I hope you get some use out of this and that it doesn't have too many bugs. If you have any suggestions or bugs then mail me and I'll get on the case. (the address is at the end of this help file).
  85.  
  86. Dan.
  87.  
  88. End-User Licence Conditions:
  89. ————————————————————————————
  90.  
  91. Copyright:
  92.  
  93. !CompFS version 0.01 is copyright 1996 (c) Daniel Oram and is not public domain, but is freeware. This means the software included may be copied and distributed freely provided the following conditions are met:
  94.  
  95.     a.) NO charge is made for the distribution, excepting a small charge to cover the costs (i.e. a p.d. library may charge for the disc but NOT the software). I think it is truly disgusting if somebody makes money out of this software and I don't get any of it.
  96.  
  97.     b.) If anybody wishes to use some or all of this software in a project which is to be sold for profit then they should give me some money too. You are perfectly welcome to use any bits of this software free of charge in projects that are not intended for sale provided I am credited for it.
  98.  
  99. © Daniel Oram 1996
  100.  
  101. The author:
  102. ———————————
  103.  
  104. Feel free to contact me with any bug reports or suggestions:
  105.  
  106. e-mail:
  107. (Term times): oramd@cs.man.ac.uk
  108. If you mail me at any other times you will get an automatic reply, but I will reply to any mail that hasn't been eaten by the mail server when I get back.
  109.  
  110. snail-mail:
  111. Daniel Oram,
  112. Fairlawn, Imperial R.D., Malvern, Worcs. WR14 3AT, ENGLAND.
  113.