home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 1 / crawlyvol1.bin / utility / disk / maxid_22 / maxidisk.doc < prev    next >
Text File  |  1992-06-04  |  18KB  |  343 lines

  1. NB: File name:    MAXIDISK.DOC        Revised:    1992.06.05
  2. NB: Created by:    Ulf Ronald Andersson    Created:    1992.02.07
  3. NB:
  4. NB: File purpose: to document the release of 'Revised MaxiDisk 2.2'
  5. NB:
  6. NB: Copyright:    Original released as PD FREEWARE by author:  Max Böhm  1987.
  7. NB: Revisions released as PD FREEWARE by author: Ulf Ronald Andersson  1992.
  8. NB:        
  9. NB:
  10. NB:    This is not the original documentation, which seems lost to mankind.
  11. NB:    At least I have not yet found any complete archive for this utility.
  12. NB:    So I have had to take the liberty of creating this DOC file,
  13. NB:    since I have made some long-needed revisions to MaxiDisk.
  14. NB:    As follows:
  15. NB:
  16. NB:    Revision 2.0 updates of February 1992:
  17. NB:
  18. NB:    1. I have implemented the XBRA protocol for all 3 vectors used.
  19. NB:       This was one of the two reasons I made this revision.
  20. NB:
  21. NB:    2. I have modified the memory protection method, so that MaxiDisk
  22. NB:       now is compatible with OVERSCAN.PRG and other programs that
  23. NB:       previously could crash MaxiDisk (especially when nearly full).
  24. NB:       (OVERSCAN.PRG must be started after MaxiDisk to function well)
  25. NB:       The need to use it with OverScan etc., was of course my other
  26. NB:       main reason to make this revision (by now practically rewrite).
  27. NB:
  28. NB:    3. I have patched the BPB handling to ensure better efficiency
  29. NB:       when using huge ramdisks, which old MaxiDisk hardly packed.
  30. NB:       BPB is still non_standard, of course, in that it has as many
  31. NB:       logical clusters as there are physical sectors, but that is
  32. NB:       how packing was made transparent to the OS.
  33. NB:
  34. NB:    4. I have completely rewritten the data block allocation code.
  35. NB:       The original seemed to be compiler-generated rubbish.
  36. NB:
  37. NB:    5. I have completely rewritten the pack/unpack routines, and have
  38. NB:       changed the packing algorithm a bit. This makes packing a bit
  39. NB:       tighter and faster, although no packing ramdisk can be FAST.
  40. NB:       At present the new MaxiDisk seems to run at one eigth the speed
  41. NB:       of QWIKDISK, as measured by QINDEX, which will do for me.
  42. NB:
  43. NB:    6. I have eliminated a lot of compiler-generated garbage-code, and
  44. NB:       unneeded huge file arrays (that have NEVER been used !!!).
  45. NB:       Also the insane program startup sequence, which turned the data
  46. NB:       and BSS sections upside-down.  (Really...!)
  47. NB:
  48. NB:    7. I have also patched and streamlined each and every routine that
  49. NB:       remains in the program to get rid of that silly compiler stuff.
  50. NB:       eg:    "LEA    (A0),A0"  and such-like ridiculous nonsense.
  51. NB:
  52. NB:    For more technical details, read the file MAXITECH.DOC .
  53. NB:
  54. NB:
  55. NB:    Revision 2.1 updates of March 1992:
  56. NB:
  57. NB:    Several routines were trimmed for higher efficiency, and one byte
  58. NB:    in the simulated 'boot' sector was adjusted.
  59. NB:
  60. NB:
  61. NB:    Revision 2.2 updates of May 1992:
  62. NB:
  63. NB:    1. The routine that searches for the MPB pointers of TOS has been
  64. NB:       improved, and now functions on all known TOS versions.
  65. NB:
  66. NB:    2. Some sector handling routines have been improved, though this
  67. NB:       may be masked by the delays caused by packing.
  68. NB:
  69. NB:    3. MaxiDisk 2.2 has been tested error-free on several TOS versions
  70. NB:       ranging from TOS 1.0 through TOS 1.4 to KAOS 1.4.2.
  71. NB:       Since no TOS-dependent features are used it should always work.
  72. NB:       Unfortunately the present release of TOS 2.6 has a bug in the
  73. NB:       code for 'warm' reset, such that no reset-proof ramdisk seems
  74. NB:       to be possible under this TOS !!!  (I will investigate this)
  75. NB:
  76. NB:
  77. NB:    I will surely improve the program even further, but at present I
  78. NB:    think I have achieved what I set out to do.  Which was to revive
  79. NB:    this great idea of a packing ramdisk, in a version acceptable by
  80. NB:    modern standards and compatible with other modern programs.
  81. NB:
  82. NB:    The remainder of this file is the best near-original DOC's I have.
  83. NB:    Where I have discovered errors in it, or made important revisions,
  84. NB:    I have inserted notes like the one immediately below.
  85. NB:URA:  This line shows how my notes will appear below.
  86. ---------------------- Here follows older text -------------------------------
  87.  
  88. Cologne , West Germany , July 4 , 1988
  89.  
  90. ---- This file is a translation of the original German README file, written 
  91.      by Max Böhm, the author of this exceptional public domain program.  
  92.      Translated by COLONIUS.  Comments made by the translator are within 
  93.      brackets.
  94.  
  95. MAXIDISK.PRG installs a resetproof ramdisk, which compresses the files 
  96. stored in it.  It is usually possible, to store about 750 kB in a 500 kB 
  97. ramdisk!  This version works with all versions of ROM based TOS, including 
  98. the new Blitter TOS of the MEGA STs.  Any memory size, up to 4 megabyte, is 
  99. supported.  (Although it makes little sense to use a ramdisk on a 512 kB 
  100. system.)
  101.  
  102. MAXIDISK.PRG should reside in the AUTO folder on your boot disk, although 
  103. you may also install the ramdisk from the desktop after booting your ST.  
  104. (In this case you should rename the program to MAXIDISK.TOS, since it is not 
  105. a GEM application and will cause trouble if started as one.  It must, 
  106. however, carry the .PRG extender to autoboot from the AUTO folder.)
  107.  
  108. The first thing MAXIDISK.PRG does, is to check if there is already a 
  109. MAXIDISK installed.  In this case, you are informed about the size and the 
  110. assigned partition name and the installation terminates.
  111.  
  112. After this, MAXIDISK checks for MAXIDISK.INF on drive A and B (if started 
  113. from floppy) or on the logical drive (partition) it was started from.
  114. {Paul Varn note:  If MAXIDISK.INF is not found, you are requested to enter
  115. a size and partition letter.}
  116.  
  117.  If you would rather abort the installation of the ramdisk after starting
  118. MAXIDISK.PRG, simply hit return without entering a numeric value when 
  119. prompted to enter the desired ramdisk size.  A message will inform you
  120. that the ramdisk was not installed.
  121.  
  122. Once the MAXIDISK is installed, it is resetproof.  This means that the 
  123. contents of the ramdisk will survive the reset, not the driver program 
  124. itself.  You must start MAXIDISK.PRG after a reset, to be able to access the 
  125. data in the ramdisk.  If you fail to do so, the ramdisk will still remain 
  126. intact over any number of "warm" resets, but it will seem to be empty (0 
  127. bytes in 0 files) until the MAXIDISK driver is reinstalled.
  128. {Paul Varn note:  Actually, you must use a re-named version of Maxidisk
  129. called: MAXIDISK.TOS.  When you do this, the screen will just blink and
  130. return to the desktop.  A symptom of a re-set fault is that when you access the 
  131. drive, the bytes are ZERO with NO FILES SHOWN.  Don't worry.  After running 
  132. MAXIDISK.TTP, everything will return to normal.  However, it IS possible to 
  133. get such a severe system crash, that Maxidisk won't servive.  This has been 
  134. rare for me.  If you re-boot from the same disk or drive that Maxidisk was 
  135. started from, it will take care of itself and all will be normal without the 
  136. need to re-run Maxidisk.}
  137.  
  138. MAXIDISK.INF is an ASCII file which you may use to install the maxidisk 
  139. automatically after MAXIDISK.PRG has been invoked.
  140.  
  141. MAXIDISK.INF contains the size of the ramdisk, the drive letter which shall 
  142. be assigned to the ramdisk (C through P) and the names of programs that 
  143. should be started after the ramdisk has been installed.  (You may edit this 
  144. file with any text editor or word processor that allows you to save plain 
  145. ASCII files.  If you should use 1st Word (any version), be sure to switch off 
  146. the word processor mode.  You may also delete MAXIDISK.INF entirely, if you 
  147. prefer to enter size and drive number manually.)  The example MAXIDISK.INF 
  148. file installs a 500 kB ramdisk as drive D, copies the contents of the folder 
  149. COPY_IT to the ramdisk and finally starts SET_TIME.TOS.  (see also COPY.TTP 
  150. and SET_TIME.TOS)
  151. {Paul Varn note:  Unfortunately, the person who uploaded to version of this 
  152. ARC that I found, corrupted the .INF file so that the suggested use of the 
  153. auto-run feature was not shown.  I've tried several ways to do this and have 
  154. not found it.  I prefere to use HEADST by CODEHEAD anyway.}
  155.  
  156. NB:URA:  Better instructions are found further on in the text.
  157.  
  158. The following files are not required for the operation of the Maxidisk, but 
  159. are utilities that are nice to have.
  160.  
  161. COPY.TTP is used to copy files into the ramdisk on a coldstart bootup.  The 
  162. required parameters are the names of the source and destination folders.  
  163. (Example: A:\COPY_IT D:\ will copy all files within the folder "COPY_IT" on 
  164. drive A to the main directory of drive B.  It is a good idea to include the 
  165. line COPY.TTP A:\COPY_IT D:\ in MAXIDISK.INF to automate the procedure.)
  166.  
  167. SET_TIME.TOS allows you to set the ST's internal clock.
  168. {Paul Varn note:  I see no reason to keep this program around.  The clock 
  169. setter that came with my internal battery clock works fine.  This is a manual 
  170. setter.  You might do away with it.}
  171.  
  172. NB:URA: Here I agree with Paul.  My bbu-clock (patched keyboard) is always
  173. NB:URA: initialized by AUTOTIME.PRG, so a manual setter that boots up
  174. NB:URA: and won't let me exit without entry (or it resets my clock),
  175. NB:URA: can really be a pain in the you-know-where.
  176.  
  177. COPY.C and SET_TIME.C contain the C source code of COPY.TTP and SET_TIME.TOS.  
  178. These files are contained in a seperate .ARC file which you may download or 
  179. not.  {Paul Varn note:  Again the uploader didn't bless us with these files.  
  180. It's not my fault they are not there.}
  181.  
  182. NB:URA:  I have managed to find some copies of these source files,
  183. NB:URA:  so I have included SET_TIME.C in my MaxiDisk archive.
  184. NB:URA:  But since I have ported COPY.C to Devpac 2 assembler
  185. NB:URA:  to create an improved COPY.TTP, COPY.S replaces COPY.C !
  186. NB:URA:  Nor do I see any reason to supply the older COPY.TTP.
  187. NB:URA:  The new one copies identically, is faster, smaller, and
  188. NB:URA:  has more useful screen displays.
  189.  
  190.  
  191.                                         {MUST}
  192. MAXIDISK.INF, COPY.TTP and SET_TIME.TOS should reside in the root directory 
  193. of the same drive (either floppy or hard disk) as MAXIDISK.PRG.  If you have 
  194. two disk drives and MAXIDISK.PRG is not started from hard disk, both drives 
  195. will be checked for the MAXIDISK.INF file.
  196.  
  197. NB:URA:  Actually only MAXIDISK.INF must be in the root directory.
  198. NB:URA:  More on this subject below:
  199.  
  200.  
  201. Known Problems: none, so far -- at least if you rename MAXIDISK.PRG to 
  202.                 MAXIDISK.TOS if you start it from the desktop.  If you boot 
  203.                 in 40 column mode, the display will be somewhat garbled, but 
  204.                 the program works fine nonetheless, so this is not assumed 
  205.                 to be a problem.
  206.  
  207. NB:URA:  There were indeed some serious problems with the old MaxiDisk.
  208. NB:URA:  The garbled display mentioned here, was NOT one of them though.
  209. NB:URA:  In fact I have never seen it. (some other version? German?)
  210. NB:URA:  But if you are using OverScan (Isn't everyone (why not?))
  211. NB:URA:  then you can NOT start MaxiDisk after booting OverScan.PRG.
  212. NB:URA:  It will seem to work, but probably end in a 'bomb'-raid.
  213. NB:URA:  The new MaxiDisk (unlike the old) works very well with OverScan,
  214. NB:URA:  but must precede OverScan.PRG in the boot process.
  215.  
  216.  
  217. Disclaimer:     This software and its documentation are in the public 
  218.                 domain.  You may copy them freely for non comercial purposes 
  219.                 only.  No warranty whatsoever is made regarding the 
  220.                 performance of this program and the accuracy of its 
  221.                 documentation. In other words: use it at your own risk!
  222.  
  223.  
  224. Problems , Suggestions etc : EMAIL to username COLONIUS on DELPHI.
  225.  
  226.  
  227. Original Program and all coding by:     Max Boehm
  228.                                         Im Engelbrauck 5
  229.                                         4670 Luenen
  230.                                         West Germany
  231.  
  232.  
  233. Conversion to the English language by:  Stephan Muhs
  234.                                         Wilhelmstr. 51
  235.                                         5000 Koeln 60
  236.                                         West Germany
  237.                                         (Username Colonius on Delphi)
  238.  
  239. Maxidisk addendum by Paul Varn updated 12/19/90
  240.  
  241. I found a couple of problems using the auto-copy TTP program while running
  242. Maxidisk from the auto folder mainly due to a poor explanation on the part
  243. of the translator as concerns the .inf text file syntax.  Some
  244. experimenting provided the following guideline for very flexable usage:
  245.  
  246. The example above---COPY.TTP A:\COPY_IT D:\  ---will copy the named
  247. directory (folder) to the D drive creating the COPY_IT folder there in 
  248. the process, AND any files contained within the directory to the D drive.
  249. When I use the program ALLADIN for the ST to call GEnie, I set up the 
  250. boot with this MAXIDISK.INF file in the boot directory;
  251.  
  252. 400k C
  253. COPY.TTP A:\D C:\
  254.  
  255. The folder "D" on my boot disk contains all the message and working files
  256. Alladin normally expects to see in a folder named DATA. (I've modified the
  257. Alladin program to allow this).  Now all these files will be in the folder
  258. named "D" in the C ram disk.
  259.  
  260. Here are some COPY.TTP command lines that will do some other copying
  261. tricks;
  262.  
  263. COPY.TTP A: C:    (This will copy ALL the files including INTACT FOLDERS
  264. to the ram disk C.)
  265.  
  266. COPY.TTP A:\COPY_IT C:    (This will copy all the files in the COPY_IT
  267. folder to the ROOT of ramdisk C. with no folder created.)
  268.  
  269. COPY.TTP A:COPY_IT C:\COPYALL    (Will create a folder COPYALL in the C
  270. ram disk and copy all the files from COPY_IT to there.)
  271.  
  272. I have not found a way to copy individual root files.  Easy to solve the 
  273. problem by putting them in a folder to be copied.
  274.  
  275. Note that the author stated that COPY.TTP SHOULD be in the boot root
  276. directory.  SHOULD is really a MUST or COPY.TTP will not be found!
  277.  
  278. NB:URA:  No, that is incorrect, MaxiDisk has always been able to find the
  279. NB:URA:  programs in folders, PROVIDED that the full path is specified
  280. NB:URA:  with each filename in MAXIDISK.INF !
  281. NB:URA:  In case of doubt I should also add here that the examples given
  282. NB:URA:  above are equally valid for the new version of COPY.TTP
  283.  
  284. To figure a rule of thumb for the size ram disk to make, calculate a ram
  285. disk about 20% smaller than the total number of files for a rough start.
  286. After copying, see how much room you have left and then make adjustments.
  287. Some of the size you create is used by the program.
  288.  
  289. NB:URA:  Well, the overhead costs of FATs packing maps etc. are a bit hard
  290. NB:URA:  to figure since they vary with disk size in different ways.
  291. NB:URA:  But as he says... Try it!, see what happens, then adapt.
  292. NB:URA:  If you do need specifics you should study MAXITECH.DOC instead.
  293.  
  294.  
  295. A hint to MAXIMIZE ram disk space.  Set your file selector (or desktop) to
  296. display files by SIZE so the largest files are sorted to the top.  This
  297. way, the largest files are copied first down to the smallest files.  As
  298. the files get smaller, Maxidisk optimizes more.  You might get two 250k
  299. files into a 400k ram disk.  If you had one 250k file, and 8 25k files,
  300. you'll get them all in there with room to spare (up to 40% compression).
  301. I've seen situations where I've put in a 10k file when there was 20k left
  302. in the the ram disk, and saw afterwards that there was 18k left.  To get this 
  303. results during boot-up, copy these files to the folder to be copied with your 
  304. system set to display size.  COPY.TTP will copy the largest first.
  305.  
  306. NB:URA:  Sorry, but Paul has confused things!  The reason small files SEEM
  307. NB:URA:  to be packed better is because on disk they eat space in 1Kbyte
  308. NB:URA:  chunks, even if the file is only a hundred bytes or less.
  309. NB:URA:  MaxiDisk, however, only pretends to use the normal clusters, so as
  310. NB:URA:  to be accepted by the OS.  Internally MaxiDisk uses custom-built
  311. NB:URA:  linked chains of packed data-blocks, with the same packing method
  312. NB:URA:  for all sectors, regardless of whether its file was small or large.
  313. NB:URA:  Also, OS checks available clusters before starting to write data.
  314. NB:URA:  There may be plenty of RAM for the packed file, but if the free FATs
  315. NB:URA:  seem insufficient for the file, OS won't even try to store it.
  316. NB:URA:  So it is true that storing it earlier might solve problems,
  317. NB:URA:  but because OS demands this sequence, whereas MaxiDisk doesn't.
  318. NB:URA:  Another way to solve it is by using a copier with a smaller buffer.
  319. NB:URA:  Then OS will grant access as long as there are FATs left for one
  320. NB:URA:  more buffer-load, and this may be enough for the file since each
  321. NB:URA:  load will consume less FATs than OS can expect. 
  322.  
  323.  
  324. Final note:  This wonderful program has been around for a couple of years.
  325. Although I've distributed it widely in my area, it hasn't caught on for
  326. some mysterious reason.  I've seen every PD and commercial ST ram disk,
  327. and in my opinion nothing compares to this.
  328.  
  329. NB:URA:  Well, the reasons were not all that mysterious, since the protection
  330. NB:URA:  of RAM ignored "_memtop", and treated "phystop" inappropriately.
  331. NB:URA:  This made it prone to crash with OverScan.prg, and other programs
  332. NB:URA:  that need these pointers to be correctly balanced aginst MPB's.
  333. NB:URA:  Also the lack of XBRA protocol made for poor program cooperation.
  334. NB:URA:  But all this has now been fixed, so go ahead and use it.
  335.  
  336. NB:URA:  One last warning: If you use disk cache, make sure it boots up
  337. NB:URA:  BEFORE MaxiDisk, so it can not include it in the cache'd drives.
  338. NB:URA:  Cache could hide the space released by packing, so that the OS
  339. NB:URA:  could never use it.
  340. NB:URA:  I always boot CACHEnnn.PRG before MaxiDisk, without any problems.
  341.  
  342.        -------------------- End of file MAXIDISK.DOC --------------------
  343.