home *** CD-ROM | disk | FTP | other *** search
/ Archive Magazine 1995 / ARCHIVE95.iso / discs / pipeline / 6_10 / JBrown / !Memphis / !Help < prev    next >
Text File  |  1992-08-29  |  4KB  |  104 lines

  1. Memphis: Early capital of ancient Egypt, on W. bank of Nile S. of Cairo.
  2.  
  3. About MemFS 1.08
  4. ================
  5.  
  6. * 1.08 fixes openout and dir not empty problems with riscos 3.
  7.  
  8. Provides a dynamically resizeable ramdisc by using the system sprite area
  9. for storage. (In sprites so its compatible with other users, but sadly not
  10. those who *SNew)
  11.  
  12. Up to 30 character file names (beware old filer 10-char bug).
  13.  
  14. Automatic creation of directories in path of a created file.
  15.  
  16. Automatically grows and shrinks sprite area, but this can only happen when
  17. the system allows. It never goes smaller than the configured spritesize, and
  18. only shrinks when deleting, so you can drag it large to make space before
  19. operations during which it cannot grow. This means *COPY, principally, since
  20. that claims all free memory during its operation.
  21.  
  22. Transparently uses links created by !Links>=0.52 within MemFS.
  23.  
  24. Ideal for use as a scrap device - NB in fact !Run sets Wimp$Scrap onto it.
  25.  
  26. Pretty minimal memory overhead:
  27. 64 bytes sprite and file header per object
  28. name length + 4 rounded up to word per directory entry.
  29.  
  30. Start by running the memfs application, then use it like the ramdisc, except
  31. it can be resized with stuff in.
  32.  
  33. I am pretty sure that this works, but there may well still be bugs, so
  34. please don't commit irreplaceable data to it!
  35.  
  36.  
  37.  
  38. Technical
  39.  
  40. A nearly full riscos file system, supports everything except (I think): 
  41. * Wildcarded: *access, *info, *fileinfo, Open
  42. * options, disc names. 
  43. * URD(&) - easy to do if demand, but I morally disapprove.
  44. * Does not sort *CAT/*EX output
  45.  
  46. The error message "Lost inode" means that MemFS was unable to find a sprite
  47. it expected to. It will use any file structure that it finds already present
  48. when it is loaded, so if you want you can save the entire contents with
  49. *ssave, and load it again with *sload.      
  50.  
  51. The memfs and memfsfiler modules should work ok when loaded outside the
  52. Wimp, and behave as a standard fs/filer pair. The filer needs a sprite
  53. called memfs in the wimp sprite pool. Of course, it will be difficult to
  54. extend the sprite area when anything is running in single tasking mode.
  55.  
  56. Massively suboptimal algorithms. Entire sprite area is moved down when files
  57. are deleted, unsorted directories are searched linearly :-(
  58.  
  59.  
  60.  
  61.  
  62.  
  63. Dedications
  64.  
  65. This project was written in C and produced using the FSinC stuff from Jon
  66. Roach of Acorn, as heavily hacked by me.
  67.  
  68. The idea of using the sprite area as a dynamic method of allocating space
  69. came to Nicko Van Someren, in a flash of insight during a conversation we
  70. had. This was several months after I had given up on an attempt at this
  71. using the ramfs dynamic area due to the evil that riscos perpetrates when
  72. one calls ChangeDynamic area on that, and settled for the horrible solution
  73. of the RMA, which would never shrink.
  74.  
  75. It is dedicated to debugging via printf :-(
  76.  
  77. Distribution:
  78.  
  79. This software may be freely redistributed, so long as only a reasonable
  80. copying or media charge is made, and all files I distribute are included. I
  81. retain copyright to the code. Commercial (including magazine) distribution,
  82. or distributing modified versions of this please contact me - I am normally
  83. happy for it to be reused in other free software, but like to avoid deviant
  84. versions of mine causing trouble.
  85.  
  86. I am not asking for money, but if you like and use it I would be surprised
  87. and amazed by any contributions, and you will receive a disc with latest
  88. versions on. (>ú5, say)
  89.  
  90. Me:
  91.  
  92. Brian.Brunswick@cl.cam.ac.uk
  93.  
  94. or
  95.  
  96. Brian Brunswick
  97. Fairview
  98. Avenue des Hirondelles
  99. Pool-in-WharfeDale
  100. Leeds
  101. LS21 1EY
  102. UK
  103. 0532 843737
  104.