MEMORY PLUS Manual By Lee Davison
RAM Memory Test You should test the MEMORY PLUS RAM when you initially set up your system. You may also want to test it from time-to-time to make sure it is all still working properly. And, of course, you will want to test it whenever you have any reason to suspect that it may not be working right. The following memory test is based on the work cited under "NOTES" on page 24. "Testing RAM isn't just a question or storing a value and then checking it. It's important to test for interference between locations. Such tests often involve writing to one location and then checking all other locations to see they haven't been disturbed; this can be time consuming. This program checks memory thoroughly and runs exceptionally fast. It is adapted from an algorithm by Knaizuk and Hartmann published in "IEEE Transactions on Computers", April 1977. The program first puts value FF in every location under test. Then it puts 00 in every third location, after which it tests all locations for correctness. The test is repeated twice more with the positions of the 00's changed each time. Finally, the whole thing is repeated with the FF and 00 values inter- changed. To Run: Set the addresses of the first and last memory pages you wish to test into locations 0000 and 0001 respectively. Start the program at address 0002; it will halt with a memory address on the display. If no faults were found, the address will be one location past the last address tested. If a fault is found, its address will be displayed." The MEMORY PLUS version of the memory test is set up to test from page 20 (2000 hex) through page 3F (3FFF hex). After loading the program from the cassette tape (or by hand), set address 0002 and press GO. If the memory checks out completely, then after a few seconds the display will show the address 4000 in the address portion of the display. If an error is detected, then the address containing the error will be displayed. Since the program will halt at the first detected error, there is no way to test for additional errors within a page beyond the first error. You can test other pages by changing the starting and ending page addresses in locations 0000 and 0001. The program may be re-run any number of times by restarting it at location 0002. Once a bad location has been detected, you can examine the location via the MICRO Monitor and perhaps determine the problem. For example, if the location has a data value of 7F, it would indicate that the most significant bit was not working. Refering to the Memory organization drawing you could determine which 2102 chip was responsible for this bit. Since the RAM chips are all socketted, it is a simple matter to remove the suspect chip and replace it with another chip. Even if you do not have any spare 2102 chips handy, you can swap the suspect chip with another chip and see if the problem moves with the chip or stays in the same location. IMPORTANT NOTE: Turn the power off when removing any chips, otherwise you may destroy the memory chips. If the problem moves with the chip, then the solution is to get a replacement chip. If the problem does not move with the chip, then you must look elsewhere for the solution. The next test would be to swap the 74LS367 chips and see if the problem shifted. Then the 74LS138 chips could be swapped. Finally you could replace the 74LS00, 74LS32, or 74LS04 chips. Note that the replacements do not have to be "LS" type. One of the above chip replacements should solve 99% of the problems which occur in the field.