Maker Pro
Maker Pro

how to read unreliable eprom...

F

Frank Bemelman

Jan 1, 1970
0
I have an old 2716 eprom, with some bits that are balancing
between 0-1. Everytime I read it, there are a handful of
addresses that have a different content.

What is the best way to figure out what the bits probably are?
Reading the eprom at 4.5V, or at 5.5V? Should I cool it as much
as possible, or heat it up?

Any other ideas?
 
J

Jan Panteltje

Jan 1, 1970
0
**** Post for FREE via your newsreader at post.usenet.com ****

I have an old 2716 eprom, with some bits that are balancing
between 0-1. Everytime I read it, there are a handful of
addresses that have a different content.

What is the best way to figure out what the bits probably are?
Reading the eprom at 4.5V, or at 5.5V? Should I cool it as much
as possible, or heat it up?

Any other ideas?
After disasembly of the code (see if it makes sense), what happens
if you apply a fixed address for a suspect location and slowly change Vdd?
If you can figure out what the value has to be from the code, then you
can adjust voltage etc until it is in the right range?



-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
*** Usenet.com - The #1 Usenet Newsgroup Service on The Planet! ***
http://www.usenet.com
Unlimited Download - 19 Seperate Servers - 90,000 groups - Uncensored
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 
J

John Larkin

Jan 1, 1970
0
I have an old 2716 eprom, with some bits that are balancing
between 0-1. Everytime I read it, there are a handful of
addresses that have a different content.

What is the best way to figure out what the bits probably are?
Reading the eprom at 4.5V, or at 5.5V? Should I cool it as much
as possible, or heat it up?

Any other ideas?

If a bit is undecided between 1 and 0, it's most likely 0, since 1 is
the charge-lost (erased) state. Maybe.

If it's a hard 1, it may already be lost!

What's it do? Is there any way to evaluate functionality?

John
 
F

Frank Bemelman

Jan 1, 1970
0
John Larkin said:
If a bit is undecided between 1 and 0, it's most likely 0, since 1 is
the charge-lost (erased) state. Maybe.

The ones I see flipping are probably meant to be zeros.
If it's a hard 1, it may already be lost!

Yes, since I see a only handful of random bits, there are
certainly also some bits that lost too much charge already
and thus '1'. I assume all cells are on the edge, let's
say at 50%, so I hoped there was a method to move them
a bit more in the good direction, for instance reading the
thing at 6 volt or at a low temperature, or at a high
altitude, whatever it takes to change the physics in my
favour.
What's it do? Is there any way to evaluate functionality?

It's an eprom for an old PM3310 oscilloscope. The scope is
crashing, doing lots of funny things, resetting itself etc.
8085 code. When I disassemble it, I see quite a few 'undefined'
opcodes in the middle of what looks normal.
 
F

Frank Bemelman

Jan 1, 1970
0
Jan Panteltje said:
**** Post for FREE via your newsreader at post.usenet.com ****

On a sunny day (Mon, 21 Jun 2004 00:19:11 +0200) it happened "Frank Bemelman"

After disasembly of the code (see if it makes sense), what happens
if you apply a fixed address for a suspect location and slowly change Vdd?
If you can figure out what the value has to be from the code, then you
can adjust voltage etc until it is in the right range?

I disassembled it, and it looks bad. A dozen or so undefined opcodes,
and probably also a number that are plain wrong. It's 8085 code,
but it would require a lot of study to figure out what it is supposed
to do.

Perhaps I should make a small test circuit, and see if known bad
address contents change with the applied Vcc.
 
K

Ken Taylor

Jan 1, 1970
0
Frank Bemelman said:
I disassembled it, and it looks bad. A dozen or so undefined opcodes,
and probably also a number that are plain wrong. It's 8085 code,
but it would require a lot of study to figure out what it is supposed
to do.

Perhaps I should make a small test circuit, and see if known bad
address contents change with the applied Vcc.
Would it be worth finding another and doing a dump on its EPROM? There's
several surplus places advertising these. You may even strike it lucky with
getting code out of Philips.

Ken
 
R

Rich Grise

Jan 1, 1970
0
Frank Bemelman said:
It's an eprom for an old PM3310 oscilloscope. The scope is
crashing, doing lots of funny things, resetting itself etc.
8085 code. When I disassemble it, I see quite a few 'undefined'
opcodes in the middle of what looks normal.

Your best bet would be to find another scope like it, and
dump its PROM, as someone else (Ken Taylor?) said, if not,
of course, write it again from scratch. Wouldn't that be
a fun project?

See if you can get 8085 Linux, and make it do whatever
you want it to do!

(and you can get bigger EPROMs than 2716s these days. :) )

Cheers!
Rich
 
M

mike

Jan 1, 1970
0
Frank said:
I have an old 2716 eprom, with some bits that are balancing
between 0-1. Everytime I read it, there are a handful of
addresses that have a different content.

What is the best way to figure out what the bits probably are?
Reading the eprom at 4.5V, or at 5.5V? Should I cool it as much
as possible, or heat it up?

Any other ideas?

Not sure about 2716s, but I've had good luck with the flashable
kind by lowering the temperature. Read speed seems to make a
difference. Bios Proms that wouldn't read at all in the computer
read perfectly in the prom programmer. Putting the same data back
in fixed it.
mike

--
Return address is VALID.
Bunch of stuff For Sale and Wanted at the link below.
Toshiba & Compaq LiIon Batteries, Test Equipment
Yaesu FTV901R Transverter, 30pS pulser
Tektronix Concept Books, spot welding head...
http://www.geocities.com/SiliconValley/Monitor/4710/
 
P

Paul Hovnanian P.E.

Jan 1, 1970
0
Frank said:
The ones I see flipping are probably meant to be zeros.

I'd guess that a lower input voltage would cause the comparator window
which decides the bit value to match a partially discharged bit with a
higher probability.

This might be the key to making the decision. Scan the eprom a number of
times while slowly stepping up the voltage. For those bits that vary,
look at the correlation between voltage and the bit state variability.
If the bit is variable across all voltages, its probably just bad. If
there is a change, it is probably because the comparator window is a
better fit for the cell voltage at some points than others.
 
J

Jan Panteltje

Jan 1, 1970
0
**** Post for FREE via your newsreader at post.usenet.com ****

I disassembled it, and it looks bad. A dozen or so undefined opcodes,
and probably also a number that are plain wrong. It's 8085 code,
but it would require a lot of study to figure out what it is supposed
to do.

Perhaps I should make a small test circuit, and see if known bad
address contents change with the applied Vcc.
Hi,
I think John Larkin's idea that 'erased' is a '1' so changing Vdd for
minimal ones is a good one.
You could make dumps at different Vdd and temp (cold spay?) to different files.
Then write a short program to combine files and make any zero rule.
It should not be very difficulty to find *one part* of the asm where you can
figure out *one* instruction, and than look if temp and voltgae changes can get
that one point right.
Actually you mention an important point with this, I also have something here with
a 10 year old 2732, maybe best practice is IF these things are on a socket
to dump all y'r EPROMS to file, and save on CD?
Frightening idea, do the latest scopes all use FLASH? Old scopes from the sixties
still work fine, but considering to cost, how long will a todays one last?
Can we demand 20 years? Interesting.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
*** Usenet.com - The #1 Usenet Newsgroup Service on The Planet! ***
http://www.usenet.com
Unlimited Download - 19 Seperate Servers - 90,000 groups - Uncensored
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 
F

Frank Bemelman

Jan 1, 1970
0
Jan Panteltje said:
**** Post for FREE via your newsreader at post.usenet.com ****

On a sunny day (Mon, 21 Jun 2004 01:23:03 +0200) it happened "Frank Bemelman"

Hi,
I think John Larkin's idea that 'erased' is a '1' so changing Vdd for
minimal ones is a good one.
You could make dumps at different Vdd and temp (cold spay?) to different files.
Then write a short program to combine files and make any zero rule.
It should not be very difficulty to find *one part* of the asm where you can
figure out *one* instruction, and than look if temp and voltgae changes can get
that one point right.
Actually you mention an important point with this, I also have something here with
a 10 year old 2732, maybe best practice is IF these things are on a socket
to dump all y'r EPROMS to file, and save on CD?
Frightening idea, do the latest scopes all use FLASH? Old scopes from the sixties
still work fine, but considering to cost, how long will a todays one last?
Can we demand 20 years? Interesting.

I'll give it a shot. Philips didn't bother to put labels on the windows,
okay, the enclosure cover keeps out the light, but still. I labelled them
now. There are three 2716's and one 2732. It's only one that spits out
some random data, the others seem to be fine.

Yes, perhaps you should make backups of your eproms. If you have a Philips
PM3310 I *highly* recommend it (and please email me a copy as well ;-))
 
J

James Arthur

Jan 1, 1970
0
Frank said:
Yes, since I see a only handful of random bits, there are
certainly also some bits that lost too much charge already
and thus '1'. I assume all cells are on the edge, let's
say at 50%, so I hoped there was a method to move them
a bit more in the good direction, for instance reading the
thing at 6 volt or at a low temperature, or at a high
altitude, whatever it takes to change the physics in my
favour.


It's an eprom for an old PM3310 oscilloscope. The scope is
crashing, doing lots of funny things, resetting itself etc.
8085 code. When I disassemble it, I see quite a few 'undefined'
opcodes in the middle of what looks normal.

You've gotten a number of good suggestions: changing the sense-amp threshold by
heating/cooling/modulating Vdd, and analysing the op codes of the changeable
bytes to see what they *should* be.

Another possibility: you can get a DESTRUCTIVE analog readout of the individual
bits by counting the number of programming pulses needed to convert "1" bits to
"0", or by the number of UV "pulses" needed to discharge "0" bits to "1".
Small excursions, such as adding 5% of the charge needed to yield a "0", might
even be enough to turn those reluctant "0"s solid without disturbing the "1"
bits.
Obviously not to be undertaken lightly, but a possibility if other options
fail.

ymmv.

Personally, I copied the eproms in my 7D20 to disk years ago.

--James Arthur
 
F

Frank Bemelman

Jan 1, 1970
0
James Arthur said:
You've gotten a number of good suggestions: changing the sense-amp threshold by
heating/cooling/modulating Vdd, and analysing the op codes of the changeable
bytes to see what they *should* be.

Another possibility: you can get a DESTRUCTIVE analog readout of the individual
bits by counting the number of programming pulses needed to convert "1" bits to
"0", or by the number of UV "pulses" needed to discharge "0" bits to "1".
Small excursions, such as adding 5% of the charge needed to yield a "0", might
even be enough to turn those reluctant "0"s solid without disturbing the "1"
bits.
Obviously not to be undertaken lightly, but a possibility if other options
fail.

ymmv.

That's not a bad idea at all! I could program all bits to '1' but
only give them a very short pulse. The real zero's won't be affected,
but the half-baked ones would rejuvenate! Repeat if need be. Very
clever. I'll keep that in mind, if all other methods fail.

[snip]
 
J

James Arthur

Jan 1, 1970
0
"Frank Bemelman" [email protected] wrote in


To move the threshold in your favor the EPROM should
be read at *low* Vcc. Lowering Vcc lowers the detection
threshold. Parts are verified at higher Vcc[1] to raise
their bit thresholds, ensuring a programming safety margin.

Since '1' == erased & '0' == programmed,
o any bit that reads '0' is most definitely a '0'.
o intermittent bits today were also originally '0's.



[1] Vcc=6.25V for Intel's 2764A, which is as far back as my
library goes.
That's not a bad idea at all! I could program all bits to '1' but
only give them a very short pulse. The real zero's won't be affected,
but the half-baked ones would rejuvenate! Repeat if need be. Very
clever. I'll keep that in mind, if all other methods fail.

Yes, as you wrote, except vice-versa: program to '0', real '1's
wouldn't be affected, etc. :)

By analog readout of the bits I meant exactly that -- by
counting/tracking the number of, say, 1uS programming pulses
needed to convert each and every '1' bit to a '0', then erasing
with UV and repeating with an empty part, you'd know with decent
resolution how close to threshold each and every cell was before
you started. YLODMV (your level of desperation may vary)

Obviously the preferred route would be to read at low Vcc then
program a 2nd part with this data. If it works, voila!, done,
if not, you'll still have the original for further analysis.

Even better--maybe someone with the same 'scope will send you
an EPROM image...

Best,

James
"et.net" -- delete it. (incoming e-mail is *filtered*)
 
F

Frank Bemelman

Jan 1, 1970
0
James Arthur said:
"Frank Bemelman" [email protected] wrote in


Yes, as you wrote, except vice-versa: program to '0', real '1's
wouldn't be affected, etc. :)

Eh, yes, no, yes! ;)
By analog readout of the bits I meant exactly that -- by
counting/tracking the number of, say, 1uS programming pulses
needed to convert each and every '1' bit to a '0', then erasing
with UV and repeating with an empty part, you'd know with decent
resolution how close to threshold each and every cell was before
you started. YLODMV (your level of desperation may vary)

What we need are programmers with manufacturers' approved rejuvenate
algorithms installed, now that eproms start to die slowly, of old age.
Obviously the preferred route would be to read at low Vcc then
program a 2nd part with this data. If it works, voila!, done,
if not, you'll still have the original for further analysis.

Even better--maybe someone with the same 'scope will send you
an EPROM image...

A friendly person emailed me and send me some hexfiles. But he has
four 2732's, where I have three 2716's and one 2732. Still, I could
see some large, more or less identical, parts in the disassembled
listings. Good enough to repair some of the bits. I could modify
my board a little to get to the same revision level and fit his
software, but I don't know if his software also requires other
hardware changes, so I'll try to fix what I have first.
 
J

James Arthur

Jan 1, 1970
0
Frank said:
A friendly person emailed me and send me some hexfiles. But he has
four 2732's, where I have three 2716's and one 2732. Still, I could
see some large, more or less identical, parts in the disassembled
listings. Good enough to repair some of the bits. I could modify
my board a little to get to the same revision level and fit his
software, but I don't know if his software also requires other
hardware changes, so I'll try to fix what I have first.

Excellent! The internet -- it can be a wonderful thing, can't it?

Best of luck,
--James

"et.net" -- delete it. (incoming e-mail is *filtered*)
 
Top