home *** CD-ROM | disk | FTP | other *** search
/ The CDPD Public Domain Collection for CDTV 3 / CDPDIII.bin / pd / utilities / misc / blockmem / blockmem.doc < prev    next >
Text File  |  1993-04-09  |  4KB  |  140 lines

  1.  
  2.    BlockMem 1.0 / SmartBlock 1.0  - © Neall Verheyde / 1993 Pyxis Software
  3.  
  4.  
  5. What it is
  6. ----------
  7.  
  8. Blockmem is a small utility which takes two memory addresses, and
  9. allocates all of the memory between them, preventing the system (and OS
  10. friendly programs) from using that area of memory.
  11.  
  12. SmartBlock is a program very similar to blockmem.  It performs exactly the
  13. same operation, but is not restricted to contigious memory chunks (ie, it
  14. "looks" for unused memory within the specified address, and allocates
  15. around memory which is already used).  If the memory is already used, you
  16. can be fairly certain that it's not faulty.
  17.  
  18.  
  19. Why???
  20. ------
  21.  
  22. If you have bad memory in your computer, and can't get it fixed
  23. immediately, it's much better to simply block the memory off from the OS,
  24. rather than hoping that a program won't try and grab it for itself and
  25. cause the system to blow up.
  26.  
  27.  
  28. How to use it
  29. -------------
  30.  
  31. Simple!  Just add the hexidecimal addresses of the beginning and end of
  32. the memory you want to block off, ie:
  33.  
  34. 1> BLOCKMEM 200000 400000
  35.  
  36. Would disable two megabytes of memory from $200000 to $400000 (in my
  37. case, fast memory).  Note that if ANY memory in the specified range is
  38. already in use, the program will return an error, and not allocate
  39. anything.  Error checking is also performed to ensure that all memory
  40. addresses are legal.  A good way to determine where the bad addresses
  41. are is to use some sort of memory testing utility.  We use the program
  42. that comes with MicroBotics memory boards for this purpose.
  43.  
  44. You can disable any sort of memory you wish, anywhere in the system,
  45. providing it's free.
  46.  
  47.  
  48.  
  49. Using SmartBlock is much the same, simply type:
  50.  
  51. 1> SMARTBLOCK 0 200000
  52.  
  53. Would block all unused CHIP memory (if you happen to have a machine with
  54. 2mb chip), and leave the portions in use untouched.
  55.  
  56. A debug mode is also available in SmartBlock which can (if you so wish)
  57. see what the program is allocating and how much success it's having. 
  58. Simply run the program with a "debug" switch on the command line:
  59.  
  60. 1> SMARTBLOCK 0 200000 DEBUG
  61.  
  62.  
  63. Which will produce the following results:
  64.  
  65. -----
  66. Debug mode.
  67. 3: mc_start=341d48 mc_end=600000 mc_size=2876088 alloc_start=400000
  68.                                                          alloc_size=65536
  69. Allocated 65536 bytes.
  70. -----
  71.  
  72. Of course the main output line is all on a single line, however we don't
  73. have wide enough screens to see that do we :-).  The basic information that
  74. this gives you is fairly simple though.
  75.  
  76. mc_start        The beginning of a free memory block (within supplied
  77.                 address arguments)
  78.  
  79. mc_end          The end of the free memory block
  80.  
  81. mc_size         The size of the memory block
  82.  
  83. alloc_start     The beginning address of the block of memory which is to
  84.                 be allocated (within the free memory in the previous
  85.                 arguments)
  86.  
  87. alloc_size      The size of the memory block allocated
  88.  
  89. Note that you might get a "failed" parameter at the end of a line if the
  90. system failed to allocate a block of memory.  Also, you will get a debug
  91. line for each memory block within the addresses you specify, so if you have
  92. memory fragmented into a few thousand blocks, you might be waiting a
  93. while...
  94.  
  95.  
  96. How to get rid of it
  97. --------------------
  98.  
  99. Reboot!  Sorry, at this time there's no other way of returning the
  100. memory to the system.  It would be possible to simply deallocate the
  101. memory, but since this program was written to lock out bad memory,
  102. returning the bad memory wasn't a high priority.
  103.  
  104.  
  105. Ye Olde Legal Disclaimer (abbreviated)
  106. -------------------------------------
  107.  
  108. We're not responsible for anything that anyone does with any of our
  109. software.  'Nuff said.  This software is fully distributable of course,
  110. enjoy!
  111.  
  112.  
  113. Pyxis Software is:
  114. ------------------
  115.  
  116. Neall Verheyde                  verheyde@sfu.ca
  117.  - Computer Science
  118.    Simon Fraser University
  119.    British Columbia, Canada
  120.  
  121. David Griffiths                 dgriff@unixg.ubc.ca
  122.  - Television Broadcasting
  123.    British Columbia Institute of Technology
  124.    British Columbia, Canada
  125.  
  126.  
  127. Other Pyxis Utilities:
  128. ----------------------
  129.  
  130.   ClockTweek - Helps correct periodic errors in the system clock.
  131.  
  132.     Purge2.0 - Deletes files in a way that they are "unrecoverable".
  133.  
  134.     MemWatch - Helps find program memory loss.
  135.  
  136.     NetUtils - ParNet/SerNet chat, and remote reboot.
  137.  
  138.     ReqInter - Reqtools.library interface for HiSoft BASIC.
  139.  
  140.