home *** CD-ROM | disk | FTP | other *** search
-
-
-
- RAMTEST Page 1
-
-
- WARNING
- -------
-
- Executing this program WILL destroy the contents of memory, in-
- cluding RAM disks!
-
-
- Now that you've been warned, I think you will find this program
- useful, not only in identifying an existing fault, but also as
- part of a periodic maintainence program. This program has been
- developed as an exhaustive test of an IBM PC's system RAM. It is
- much more comprehensive than the PC Power On Self Test (POST) and
- delivers diagnostic messages which are much easier to understand.
-
-
- There are two different versions of the test. RAMTEST.COM is the
- test which should be used with the IBM PC and compatibles. Note
- that it requires a fair amount of hardware compatibility to work
- properly. Users of computers which do not make use of parity
- checked memory (such as the Eagle PC) or who experience dif-
- ficulty during PASS 2 of the test should install the patch given
- in the Hardware Requirements section.
-
- RAMTESTA.COM is the version to be used on the IBM PCAT. The
- documentation for both versions is identical. For more informa-
- tion on the required hardware compatibility, see page 3 of this
- document.
-
- To start the test, just type RAMTEST at the DOS prompt. There are
- no additional parameters.
-
- This test is best run from a floppy disk which has been formatted
- using the /S option and contains no other RAM-based utilities.
- Some of the commonly available memory-resident utilities (for ex-
- ample, SideKick from BORLAND) 'take command' of the system and
- will cause RAMTEST to crash.
-
- RAMTEST functions in several distinct phases. After signing-on,
- RAMTEST starts searching for the top of contiguous memory. This
- search is performed by examining RAM and not by consulting the
- system configuration switches. Once the top of memory is found,
- the actual testing portion of the program is relocated and test-
- ing begins.
-
- RAM is tested beginning with address 0:500 and continues up to
- but not including the top 32k of the contiguous RAM below screen
- memory. These limits were chosen for the following reasons. 1)
- BIOS uses RAM below 0:500 for scratch area and RAMTEST uses BIOS
- exclusively for screen I/O. 2) The testing program needs a place
- to live undisturbed.
-
- RAM is tested in 32k blocks. The pattern for the test is taken
- from the BIOS ROMs. Randomness is added by use of iteration count
- to modify the data. During PASS 1, each RAM location is modified
- and then verified. This insures that each location can be ac-
- curately written to and read from. During PASS 2, each location
-
-
- Copyright (c) 1986 Digital Mechanics, Inc.
-
-
-
-
- RAMTEST Page 2
-
-
- is re-read and compared to it's reference byte in ROM and the
- parity bit is checked. This part of the test insures that the
- parity generating and checking circuitry is functioning cor-
- rectly, that the address decoding is working properly and that
- there are no locations in RAM shorted to other locations.
-
- Should no errors occur during the two passes, RAMTEST announces
- the successful completion of the test and prompts you to turn off
- the computer to stop the test. If not stopped, however, RAMTEST
- will start over, using a different set of patterns each time.
- Since some memory errors do not show up until after hours of
- operating time, if you're trying to track down a failure, it is
- suggested that you let RAMTEST run awhile, perhaps overnight.
-
- Should an error occur, RAMTEST stops immediately, displays a mes-
- sage identifying the error, and halts. Note that the only way to
- exit this condition is to turn the computer off. A typical error
- message is:
-
-
- Memory contents failure.
- Address = 5000:0000
- Data is: 1B Data should be: 1F
-
- Turn power off, wait 5 seconds, and turn power back on.
-
-
- The above example shows that the failure occured on an expansion
- board (System memory extends to 0:FFFF on 64k motherboards, and
- to 3000:FFFF on 256k motherboards. The presence of 4116 RAM chips
- indicates a 64k motherboard.). It also shows that bit 1 was 0
- when it should have been 1. In cases like this, the RAM chip in
- the bit 1 position is frequently at fault. The RAM chips are the
- most delicate components in the memory system, and the easiest to
- test for defects. This is because the RAM chips are socketed (ex-
- cept for the first 16k or 64k) and the rest of the chips such as
- address decoding and data buffers are rarely, if ever, socketed.
-
- The last two pages of this document diagram the location of the
- RAM chips on the motherboard for both 64k systems and the 256k
- systems. Refer to the documentation that came with your add-in
- memory board for instructions on locating and replacing RAM chips
- that make up the memory above 1000:0 (64k motherboard) or 4000:0
- (256k motherboard).
-
- The failure codes which are analyzed at the top of each page
- refer to the code which the PC prints when an error is encoun-
- tered during POST. If this occurs, the code will be printed, the
- speaker will beep, the screen will go blank, and the computer
- will have to be turned off. This will all happen in the span of
- about one second, so watch carefully to see the error code.
-
-
-
-
-
-
-
- Copyright (c) 1986 Digital Mechanics, Inc.
-
-
-
-
- RAMTEST Page 3
-
-
- RAMTEST is provided at no charge to the user. Feel free to share
- it with your friends, but please do not give away altered ver-
- sions or versions which have had the copyright notice removed.
- The essence of 'user-supported' software is to provide personal
- computer users with quality software without high prices, and yet
- to provide incentive for programmers to continue to develop new
- products. If you find this program useful, a contribution ($10
- suggested) would be greatly appreciated. Any suggestions or com-
- ments you may have are also welcome.
-
-
- Jim Weisz
- Digital Mechanics, Inc.
- P.O. Box 1356
- Lombard, Il. 60148
-
-
-
-
-
-
-
-
-
-
- HARDWARE REQUIREMENTS
-
-
- PC NMI Enable/Disable port = 0A0H
- RAM parity check control port = 61H (bits 4 & 5 00xx0000)
- Parity status port = 62H (bits 7 & 8 xx000000)
-
- Note: Users of the Eagle PC and other compatible computers which do not
- use parity memory need to make the following patch using DEBUG.
- The patch disables parity checking which causes problems on the
- Eagle. (Maybe the Sperry PC also)
-
- A>DEBUG RAMTEST.COM
- -F 1F2 1F9 90
- -F 21A 222 90
- -W
- Writing 06A4 bytes
- -Q
-
- A>
-
-
-
- PCAT NMI Enable/Disable port = 70H
- RAM parity check control port = 61H (bits 2 & 3 0000xx00)
- Parity status port = 61H (bits 7 & 8 xx000000)
-
-
-
-
-
-
-
- Copyright (c) 1986 Digital Mechanics, Inc.
-
-
-
-
- RAMTEST Page 4
-
-
-
-
-
-
-
-
-
-
-
-
- MEMORY FAILURE CODE ANALYSIS: 64k motherboard
-
-
-
- SAMPLE FAILURE CODE: 4402 201
- |||| |||
- |||| +++---- SYSTEM CODE - INDICATES MEMORY FAILURE
- ||++-------- FAILED BIT - 00 INDICATES PARITY
- |+---------- FAILED 16K BLOCK - 0, 4, 8, OR C
- +----------- FAILED 64K SEGMENT
-
-
- SYSTEM BOARD (Lower left corner when viewed from the front)
-
- SEGMENT = 0000
- BIT FIRST 2 DIGITS OF
- ADDR P 0 1 2 3 4 5 6 7 ERROR CODE
-
- 0000 - 3FFF * * * * * * * * * 00 (This row is
- soldered in.)
- 4000 - 7FFF * * * * * * * * * 00
-
- 8000 - BFFF * * * * * * * * * 00
-
- C000 - FFFF * * * * * * * * * 00
-
- SECOND 2
- DIGITS OF 00 01 02 04 08 10 20 40 80
- ERROR CODE
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Copyright (c) 1986 Digital Mechanics, Inc.
-
-
-
-
- RAMTEST Page 5
-
-
-
-
-
-
-
-
-
-
-
-
- MEMORY FAILURE CODE ANALYSIS: 256k motherboard
-
-
-
- SAMPLE FAILURE CODE: 4402 201
- |||| |||
- |||| +++---- SYSTEM CODE - INDICATES MEMORY FAILURE
- ||++-------- FAILED BIT - 00 INDICATES PARITY
- |+---------- FAILED 16K BLOCK - 0, 4, 8, OR C
- +----------- FAILED 64K SEGMENT
-
-
- SYSTEM BOARD (Lower left corner when viewed from the front)
-
- BIT FIRST 2 DIGITS OF
- SEGMENT P 0 1 2 3 4 5 6 7 ERROR CODE
-
- 0000 * * * * * * * * * 0x (This row is
- soldered in.)
- 1000 * * * * * * * * * 1x
-
- 2000 * * * * * * * * * 2x
-
- 3000 * * * * * * * * * 3x
-
- SECOND 2
- DIGITS OF 00 01 02 04 08 10 20 40 80
- ERROR CODE
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Copyright (c) 1986 Digital Mechanics, Inc.
-
-
-
-
- Version 2 addendum
-
-
- Version 2 of RAMTEST corrects an error which occurs when the test is
- run on a compatible machine. Briefly, the pattern which was written
- to memory came from the top 32k of the IBM PC ROMs. Compatibles
- almost invariably do not have that much ROM, so the pattern was being
- generated from non-existant memory. On the second pass, a different
- value was obtained and resulted in a memory contents error. This has
- been corrected by using a random number generator instead.
-
- The memory contents error message has been changed slightly so as to
- be more understandable. The new format is:
-
-
- Memory contents failure.
- Address = 5000:0000
-
- 76543210 Bit #
- Data is: 00011011
- Data should be: 00011111
-
- Turn power off, wait 5 seconds, and turn power back on.
-
-
- As you can see, the offending bit is more easily recognized by
- comparing the two data patterns. In this example, the RAM chip
- occupying the bit 2 position is probably bad. As a note, if more
- than one bit is different, the RAM chips are probably not at fault,
- although it is possible.
-
- To further explain the failure address, the following chart contains
- the addresses contained in the first 4 rows of memory on 64k, 256k,
- and popular 640k motherboards.
-
- 64k 256k 640k
- 0000:0000 - 0000:3FFF 0000:0000 - 0000:FFFF 0000:0000 - 3000:FFFF
- 0000:4000 - 0000:7FFF 1000:0000 - 1000:FFFF 4000:0000 - 7000:FFFF
- 0000:8000 - 0000:BFFF 2000:0000 - 2000:FFFF 8000:0000 - 8000:FFFF
- 0000:C000 - 0000:FFFF 3000:0000 - 3000:FFFF 9000:0000 - 9000:FFFF
-
-
-
- I hope this additional information is helpful. With any luck,
- 'Version 3' of this program will have much better diagnostics and may
- even be published. Thanks for your support.