home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / sigm / vols000 / vol073 / memrs.doc < prev    next >
Text File  |  1984-04-29  |  7KB  |  176 lines

  1.                    DOCUMENTATION FOR MEMRS.COM
  2.  
  3. Introduction
  4. ------------
  5.  
  6.      MEMRS   is  an  exhaustive  memory  test  program  for  CP/M 
  7. environments.  It  tests from the top of itself to the bottom  of 
  8. the CP/M BIOS or alternatively, the BDOS.
  9.  
  10. Usage
  11. -----
  12.  
  13.      MEMRS  [-R][-B]
  14.  
  15. Where
  16.  
  17.      [-R]           is  an optional "Random  number  only"  test 
  18.                     specifier
  19.  
  20.      [-B]           is an optional "Test to BDOS" specifier
  21.  
  22.  
  23. Examples
  24. --------
  25.  
  26.      MEMRS
  27.  
  28.           This will invoke the program with no special options.
  29.  
  30.      MEMRS -R
  31.  
  32.           This will invoke the program for the random number test 
  33.           only.
  34.  
  35.      MEMRS -B
  36.  
  37.           This will invoke the program for default testing to the 
  38.           bottom of the BDOS and use the BDOS for I/O rather than 
  39.           default test to the bottom of the BIOS and use the BIOS 
  40.           for I/O.
  41.  
  42.      MEMRS -BR  or  MEMRS -RB  or  MEMRS -B -R  or  MEMRS -R -B
  43.  
  44.           This will invoke the program for default testing to the 
  45.           bottom  of  the  BDOS as above AND random  number  only 
  46.           test.
  47.  
  48. Error Messages
  49. --------------
  50.  
  51.      If  any memory location fails any of the component parts  of 
  52. the memory test an error message will be displayed as follows:-
  53.  
  54. LOCATION  SHOULD BE           WAS
  55. 6000    00  0000 0000     FF  1111 1111     
  56.  
  57.      If there are multiple bad memory locations up to 18 will  be 
  58. displayed  before the display halts and prompts for a keypress to 
  59. display further errors.
  60.  
  61. LOCATION  SHOULD BE           WAS
  62. 7000    00  0000 0000     FF  1111 1111     
  63. 7001    00  0000 0000     FF  1111 1111     
  64. 7002    00  0000 0000     FF  1111 1111     
  65. 7003    00  0000 0000     FF  1111 1111     
  66. 7004    00  0000 0000     FF  1111 1111     
  67. 7005    00  0000 0000     FF  1111 1111     
  68. 7006    00  0000 0000     FF  1111 1111     
  69. 7007    00  0000 0000     FF  1111 1111     
  70. 7008    00  0000 0000     FF  1111 1111     
  71. 7009    00  0000 0000     FF  1111 1111     
  72. 700A    00  0000 0000     FF  1111 1111     
  73. 700B    00  0000 0000     FF  1111 1111     
  74. 700C    00  0000 0000     FF  1111 1111     
  75. 700D    00  0000 0000     FF  1111 1111     
  76. 700E    00  0000 0000     FF  1111 1111     
  77. 700F    00  0000 0000     FF  1111 1111     
  78. 7010    00  0000 0000     FF  1111 1111     
  79. 7011    00  0000 0000     FF  1111 1111     
  80. "CR" to continue test - "SP", "^C" to quit, "^X" to restart.
  81.  
  82.  
  83. Internal Prompts
  84. ----------------
  85.  
  86.      The program prompts for the starting and ending addresses of 
  87. the block of memory to be tested and offers default values  which 
  88. will  test the largest possible block of memory.  The default top 
  89. of  the block to be tested depends on whether the -B  option  was 
  90. specified.  If  the default values are chosen,  the actual  value 
  91. determined  by the program is displayed next to the prompt as  if 
  92. the user had entered the value.
  93.  
  94.      When specific values are entered by the user a valid 4 digit 
  95. hexadecimal  address  must be given or an error message  will  be 
  96. displayed and the prompt issued again.
  97.  
  98.      The program may be aborted at any time by hitting any of the 
  99. keys specified in the abort prompt.
  100.  
  101.      The program prompts as follows:-
  102.  
  103. MEMRS Memory Test - Version 1.9
  104.  
  105. BDOS located at D300     Top of memory at FFFF    
  106. Press "SP" or "^C" to warm boot at any time
  107. or "^X" to restart test from beginning. 
  108. Response of "CR" gives default test range
  109. which starts above this program and ends at BDOS
  110.  
  111. Starting address (Hex or "CR") 08F7    
  112. Ending address   (Hex or "CR") D3F9    
  113. "CR" to continue test - "SP", "^C" to quit, "^X" to restart.
  114.  
  115.  
  116. Tutorial on Memory Testing
  117. --------------------------
  118.  
  119.      There  is no practical way to do a thorough test on all of a 
  120. computers memory in one pass. The memory test program itself will 
  121. occupy  some  memory  which it  cannot  thoroughly  test.  It  is 
  122. possible  to write simple memory tests which are able to test the 
  123. memory  that the reside in but these tests will not  detect  many 
  124. types of memory errors.
  125.  
  126.      Memory  faults can be fairly simple gross errors where a bit 
  127. is permanently stuck (high or low) or they may be  timing/pattern 
  128. sensitive  where  the  fault  is  only  evident  with  a  certain 
  129. combination  of  data  in surrounding bits.  To attempt  to  test 
  130. memory as thoroughly as possible several different types of tests 
  131. need to be performed.  MEMRS has a wide variety of tests and  has 
  132. proven   particularly   effective  in  locating  bad  memory   in 
  133. comparison  to  large number of other memory test  programs  with 
  134. which  it has been compared.  It does not perform any  long  term 
  135. memory retention testing or any "burn in" testing,  however these 
  136. types  of tests are best performed over long periods of time  and 
  137. require  highly  optimised programs to execute in realistic  time 
  138. spans.
  139.  
  140.      MEMRS  is intended as a relatively fast but thorough test to 
  141. quickly  establish whether any of the more common  memory  errors 
  142. has  occured.   In  practical terms,  the whole of  a  computer's 
  143. memory  rarely  fails simultaneously.  Memory failures  generally 
  144. occur in individual memory chips which usually cover no more than 
  145. 16K of memory space (though this will change as 64K chips  become 
  146. readily available).  In this case it is usually possible in  CP/M 
  147. systems  to readdress memory so that the suspected bad memory  is 
  148. located  in  an area that can be tested with MEMRS.  If  the  bad 
  149. memory  is  located in any of the CP/M system areas it is  highly 
  150. unlikely  that you will be able to reliably load any programs  at 
  151. all from disk so there is not a great deal of point in  designing 
  152. memory tests for these addresses.
  153.  
  154.      If  an error is suspected in the CP/M BIOS memory  area  the 
  155. best  move  is to build a smaller size CP/M system that does  not 
  156. use  the  suspected bad memory and the load MEMRS  and  test  the 
  157. suspect  memory.  MEMRS will test any address explicitly given to 
  158. it. It does not test to see if you will kill CP/M or itself.
  159.  
  160.      The  random  number  only test is  useful  for  longer  term 
  161. testing of memory.  If an intermittent fault is suspected and the 
  162. memory  has  passed  several "full" test cycles  it  is  probably 
  163. worthwhile stopping the test and restarting it as a random number 
  164. only test which will cycle much faster.
  165.  
  166.      The  normal default ending address of the bottom of the BIOS 
  167. gives the largest possible block of memory to test. It also means 
  168. that all console input and output from the program goes  directly 
  169. to the BIOS jump table so it is not possible to log the output on 
  170. the  printer  using  Control P.  Specifying the  BDOS  option  at 
  171. invokation  directs all console output via the BDOS  which  means 
  172. that  it  is  possible to log the test output on the  printer  by 
  173. typing Control P before the program is invoked.
  174.  
  175. END OF MEMRS.DOC
  176.