home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Phoenix CD 2.0
/
Phoenix_CD.cdr
/
24b
/
mem_help.zip
/
MEMORY1.DOC
next >
Wrap
Text File
|
1988-05-03
|
5KB
|
116 lines
This is a discussion on memory errors and fixes I participated in on
the Midwest's best BBS, EXEC-PC, (414)964-6330.
t: ALL
s: PARITY ERROR SCHTUFF
cc: TOM PETERS
cc: ROBERT SCRIP
I would like to know if there is a way to determine which ram chip is bad
based on the error message that is displayed when a NMI error occurs.
I have read a specific example of calculating this, but am not quite sure
how to apply that specific example to a more general case. Any help?
At least two people (including me) would really like to know a GENERAL
FORMULA. Also, how does one tell which is the B0 chip, which is the parity
chip, which is the B7 chip and so on?
---------------
c: HARDWARE #975 05-03-88 11:17
f: TOM PETERS (LEADER)
t: JIM NICKEL
s: R: PARITY ERROR SCHTUFF Reply to #969
Well, its hard to determine generally what chip is bad, given a message
from your bios saying you have bad memory. But it can be done.
Memory is arranged in an array 9 x n. More about n later. Usually the
physical layout of the board gives good clues about which given 9 chips
form a "column" or word. If you can turn the board so you have multiple
coulumns of 9 chips, it wil be easier.
NOTE: Some memory boards have no parity bit, so substitute 8 for 9.
Now, n. Each column represents 16, 64, or 256k. Nobody uses 4116 rams
anymore, so I'll address (sorry about the pun) only 64k (4164) and 256k
(41256) chips. Run CHKDSK if you can and get the figure for BYTES TOTAL
MEMORY. Or if you know how much memory should be in there, use that figure.
To convert the BYTES TOTAL MEMORY figure to k, divide it by 1024. Example:
mine says 655360 BYTES TOTAL MEMORY, divide by 1024 gives 640k.
Now, try to look at the arrangement of chips on the board and get it to
make sense to you in terms of enough 9 chip columns to make up the ammount
of memory you think you have. I have 3 columns of 41256 chips, which would
seem to be 768k, but DOS ignores anything above 640k. You could also have
10 columns of 64k chips (4164's) altho I doubt it.
Often you will find (in a 640k setup) 2 columns of 256k chips (that's 512)
plus two columns of 64k chips (total: 640k). You can mix them as long as
the larger chips come first.
Now, which chip went bad? Really, the most common answer is: The one with
the bent pin, or the one that's partialy popped out of its socket, or the
one with a staple draped over its connections. Or the one I just installed
backwards. When we get chips installed right and no physical damage occurs
to them, they tend to work right for quite a while. So look for the
obvious first.
To find a chip that's gone bad, you need two pieces of information:
1. At what address was the failure?
2. What bit pattern was written and what was read back? (and what is the
XOR of the two?)
The address is nearly always given by error messages. Its usually a hex
number, e.g. 40000h. Convert it to decimal, 262144, and divide by 1024, to
get a value in k: 256. So, somewhere between the 256k mark and the end of
the size of that column of chips, there is a bad one.
If you had 64k chips at that address, you'd be in row 4 (numbering from 1).
Right? 256k/64k=4 rows. Since they are 64k chips, any error from 40000h to
50000h is in row 4.
If they were 256k chips, an error at the 256k mark would have to be in the
second column.
Hex addresses and conversions:
64k 10000h
128k 20000h
192k 30000h
256k 40000h
320k 50000h
384k 60000h
448k 70000h
512 80000h
576k 90000h
640k A0000h
704k B0000h
768k C0000h
Now, maybe your bios gives paragraph:offset form of the address. It would
look like 4000:0000 or something. That's easy to convert to a linear
address, just take the paragraph part, add a zero, and add the offset in.
You have to know how to add in hexadecimal. E.g. 4030:0020
40300
0020 +
-----
40320 < --- Linear address. Convert it to k with the table above.
Another example:
2020:0C80, 2020 plus a zero is 20200:
20200
0C80 +
-----
20E80 < -- linear address. If you have to do a lot of this, go out
right now and get a casio calculator that does hex/dec conversions and
arithmetic. Or easier to use is the TI LCD programmer II calculator. We sel
a lot of them to programmers.
I'll continue in another message with help in pinpointing the chip that's
bad. Good luck,
Thomas M. Peters,
Stevenson's Office Equipment
4517 N. Oakland Ave
Milwaukee, WI 53211 414-964-6330 (voice)