home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 570.lha / Update_v1.0 / Update.doc.pp / Update.doc
Encoding:
Text File  |  1991-11-08  |  3.5 KB  |  87 lines

  1.  
  2.                   Anarchy Road Software presents:
  3.  
  4.                      Update v1.00  (21 Mar 91)
  5.  
  6.       Copyright © 1991 by Brian Fehdrau.  All rights reserved.
  7.  
  8.  
  9. This is a little I-needed-it program.  How useful it will be to other
  10. authors, I don't know.  Its purpose is to take a rather large file (in
  11. my case, an executable) that is mostly similar to another (as is often
  12. the case with program updates), and create a difference/update file 
  13. which can be run through Update again along with the original to create
  14. the new version of the file.
  15.  
  16. This program is not buggy, but it isn't really the most elegant 
  17. contraption ever.  For instance, in the archive stage, one needs two
  18. blocks of continuous memory, of sizeof(old_file)+4096 and of
  19. sizeof(new_file)+4096.  This isn't so bad, except in cases like mine,
  20. where that means two ~230K blocks.  I have plenty of memory, so that's
  21. not a problem for me.  Unarchiving only requires one block, of
  22. sizeof(old_file)+4096.  The users that are meant to be applying the 
  23. updates should be able to handle that, or they couldn't run the original
  24. program in the first place.
  25.  
  26. Archiving speed depends very much on how different the files are.  Two
  27. 200K files, exactly alike, should take only a few seconds, once read off
  28. the disk.  Two completely dissimilar 200K files would probably take about 
  29. fifteen minutes (I'm not in any mood to actually try it, though... it 
  30. may take longer).
  31.  
  32. Unarchiving should be pretty fast.  It'll be a little slower for similar
  33. files, but not a lot.
  34.  
  35. Usage is simple:
  36.  
  37.     update a|e <update_file>[.up] <old_file> <new_file>
  38.  
  39. Where 'a' means archive and 'e' mean extract.  For example:
  40.  
  41.     Me:     update a falcon.up last_version/falcon this_version/falcon
  42.             (archive it, upload it)
  43.     Them:   (download it, unarchive it)
  44.             update e falcon.up falcon falcon
  45.  
  46. They may have written the updated file to a temporary file for safety,
  47. but you get the idea.  Easy, huh?
  48.  
  49. Files are verified like this:  The sizes and CRCs of the old and new 
  50. files are saved in the update.  These are checked against the files when
  51. the update is applied, to be sure it is applied to the correct file and
  52. to be sure it worked.  The update file itself is also be checked to see
  53. it it is indeed an update and if it's possible to apply it with the 
  54. version of the program you have.
  55.  
  56. For more theoretical information on the process, see Update_Techie.doc.
  57.  
  58. Final note:  I strongly suggest you try out any update files you make.
  59. The program seems to work, but you never know...
  60.  
  61.  
  62.                               Distribution
  63.  
  64.     This is ShareWare.  You aren't allowed to make money off of it, but 
  65.     it's otherwise freely distributable, ie. you may give it to Fred 
  66.     Fish, upload it, give it to a friend, eat it for lunch, etc., but 
  67.     not sell it for profit.  Talk to me if you want to include it with
  68.     other software.  If you like Update, you could try sending $15 to 
  69.     the snail mail address below.
  70.  
  71.  
  72.                                         Brian Fehdrau
  73.                                         21 Mar 91
  74.  
  75.                                  Snail: P.O. Box 7635
  76.                                         Saskatoon, SK
  77.                                         Canada
  78.                                         S7K 4R4
  79.  
  80.                                  UUCP:  bf@weyr.fidonet.org
  81.                                  Fido:  1:140/22.2 or 1:140/22
  82.  
  83.  
  84. Plug:  For a look at my Amiga Fido-compatible Opus clone, Falcon CBCS,
  85.        call Falcon's Point, 1 306 382-3757 (in Saskatoon, SK, Canada).
  86.        It's running a 9600 HST.
  87.