home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 8 / FreshFishVol8-CD2.bin / bbs / util / mayflower.lha / MayFlower / Memory / Memory.doc < prev    next >
Text File  |  1994-06-10  |  11KB  |  250 lines

  1.  
  2.                         Memory 2.0 (19940214)
  3.  
  4.                         by Stephen D. Childers
  5.  
  6. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  7. I was inspired to write this program after using another program call
  8. "addmem" (version 1.1.0 21-Jan-85) that is packaged with the Insider II
  9. (which is produced by the DKB Software company); it is a memory board
  10. which can be put inside the ancient A1000.
  11.                                                --- ---
  12. Their addmem program was lacking               (o) (o)
  13. the options and warnings I desired.               ^
  14. SOOoooo, I wrote me own.                       \_____/
  15.  
  16. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  17. Program Description:
  18.  
  19.    1) This program can perform several functions, one of which is to
  20.       link expansion board ram to the system MemList List (henceforth
  21.       refered to as "system memlist"), and will perform safety checks
  22.       upon the input argument values which should {*smile*} keep system
  23.       from crashing.
  24.  
  25.           Insider II - by DKB Software company
  26.           8UP!       - by Microbotics
  27.  
  28.       Some memory boards automatically link themselves to the system
  29.       memlist upon initial power on. The -l option can not be used with
  30.       boards that auto link, but other options can be used.
  31.  
  32.    2) This program has the following options:
  33.  
  34.       Option d = will display the memory nodes that are currently linked
  35.       to your system memlist, and will show them in the order that they
  36.       are found within the system memlist.
  37.  
  38.       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  39.       Option l = link memory board into the system memlist, without
  40.       altering contents of memory (unless used with option z).
  41.  
  42.       When the -l option is used without a numeric follower then,
  43.       by default, the memory will be linked to the beginning of the
  44.       system memlist.
  45.  
  46.       If a number follows the l option then the new memory region (node)
  47.       will be linked into that position within the system memlist. If
  48.       the position argument is above the actual number in memlist then
  49.       new memory region will be linked to end of memlist.
  50.  
  51.       The following example assumes that a fully populated 8UP! memory
  52.       board is being linked to your system.
  53.  
  54.       Example #1:
  55.  
  56.         Step 1) Get a display of the memory list by typing
  57.                   >Memory -d
  58.  
  59.         Step 2) Determine the position number you want the memory
  60.                 placed into, and then type
  61.                   >Memory -l2 h200000 ha00000  ; 2nd position in memlist
  62.  
  63.       Example #2:
  64.  
  65.         To place memory region (node) at the end of the list then type
  66.           >Memory -le h200000 ha00000  ; e = link at end of memlist
  67.  
  68.       NOTE: Program will detect and report if address arguments collide
  69.             or overlap any portion of the system memlist, and will set
  70.             the return value to FAIL upon exit, and print the message:
  71.             "memory linked already"
  72.  
  73.       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  74.       Option s = will sort the memory nodes within the system memlist
  75.       and put them in ascending (sequential) order according to memory
  76.       location, lower memory will be put at the front of the list.
  77.       This version of the Memory program will assume that CHIP memory is
  78.       assigned to only one memory node, and that node will be placed at
  79.       the end of system memlist after all FAST memory nodes are sorted.
  80.  
  81.       I discovered the need for sorting the system memlist after
  82.       discovering that the memory sections of the 8UP! memory board can
  83.       be linked in a random order within the memlist. The "Mergemem"
  84.       program (V2.1 by Carolyn Scheppner) will only merge memory nodes
  85.       that are sequentially ordered within the memlist. The following
  86.       lines can be used in a script file to insure memory nodes are in
  87.       sequential order just before using the particular MergeMem program
  88.       just mentioned:
  89.                       >Memory -s
  90.                       >MergeMem
  91.  
  92.       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  93.       Option t = will transfer a memory node within the system memlist
  94.       to another place within the system memlist.
  95.  
  96.       Example #1:
  97.  
  98.         Use option -d to get a display of the system memlist then type
  99.         the following
  100.           >Memory -t4:2
  101.         This will transfer the memory node in the 4th position of the
  102.         memlist to the 2nd position, and the memory node that ocupied
  103.         the 2nd position will now be pushed to the 3rd position, and
  104.         memory node in the 3rd position will be pushed into the 4th
  105.         position in the memlist.
  106.  
  107.       Example #2:
  108.  
  109.           >Memory -t2:4
  110.         This will transfer the memory node in the 3rd position of the
  111.         memlist to the 4th position, and the memory node that ocupied
  112.         the 4th position will now be pushed back to the 3rd position, and
  113.         memory node in the 3rd position will be pushed back into the
  114.         2nd position in the memlist.
  115.  
  116.         If 4th node position in this example did not exist then 2nd
  117.         position would be transfered to end of list position.
  118.  
  119.       Example #3:
  120.  
  121.           >Memory -t1:e
  122.         This will transfer the memory node in the 1st position of the
  123.         memlist to the end of memlist.
  124.  
  125.       Example #4:
  126.  
  127.           >Memory -te:1
  128.         This will transfer the memory node at the end of memlist to
  129.         the first position of memlist.
  130.  
  131.       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  132.       Option z = fill memory with zeros and test if any cells appear
  133.       bad, and abort if so. When used with option l it will zero memory
  134.       before linking memory to system memlist. If memory is already
  135.       linked then program will set the return value to FAIL (20) upon
  136.       exit.
  137.  
  138.       NOTE: Do not use option 'z' if you are attempting to use a
  139.             particular ram board as a recoverable ram drive during
  140.             warm reboots (ie ASDG-RAM:, VD0:, RAD:, etc: ).
  141.  
  142.       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  143.       The internal precedence of options will be performed in the
  144.       following sequence regardless of the position in which they
  145.       appear within the option argument.
  146.  
  147.       1) perform option s (sort memory nodes)
  148.       2) perform option z (zero new memory range)
  149.       3) perform option l (link new memory range)
  150.       4) perform option t (transfer memory node)
  151.       5) perform option d (display memory nodes)
  152.  
  153.       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  154.    3) Can only be used from CLI. Can be made resident.
  155.  
  156.    4) Program (when run from CLI) will interact with the 'c:Why' command
  157.       after program failures; this command may provide a more detailed
  158.       explanation of why the program failed.
  159.  
  160.       The 'Why' command should be used immediately after a program
  161.       failure to extract the last program's result code, because
  162.       that result code is changed upon the execution of the next CLI
  163.       command.
  164.  
  165.    5) Certain error reports will contain the name of the argument, file,
  166.       device, (etc) that is associated with failure when it occurs.
  167.  
  168. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  169. CLI Usage:
  170.  
  171.    1 > Memory [!|?] [[-options] start_address end_address]
  172.  
  173.       ! = Show author info
  174.       ? = Show some help
  175.  
  176.       options:  d = display memory list
  177.                ln = link new memory into memory list
  178.                       n is the link position number, (default = 1)
  179.                       and can be a decimal number or e for (e)nd of list
  180.                 s = sort memory list
  181.              tn-n = transfer a memory node# to another place in list
  182.                       n must be decimal numbers, or e for (e)nd of list
  183.                 z = fill the memory with zeros (and test)
  184.  
  185.       start_address = The start address of memory board.
  186.       end_address   = The end address of memory board.
  187.       Address values can be hex or decimal.
  188.       Hex values must be preceded with the 'h' character.
  189.  
  190. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~