Connect with us

how to read unreliable eprom...

Discussion in 'Electronic Design' started by Frank Bemelman, Jun 20, 2004.

Scroll to continue with content
  1. 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?
  2. **** Post for FREE via your newsreader at ****

    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?

    *** - The #1 Usenet Newsgroup Service on The Planet! ***
    Unlimited Download - 19 Seperate Servers - 90,000 groups - Uncensored
  3. John Larkin

    John Larkin Guest

    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?

  4. The ones I see flipping are probably meant to be zeros.
    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
    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.
  5. 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.
  6. Ken Taylor

    Ken Taylor Guest

    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.

  7. Rich Grise

    Rich Grise Guest

    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. :) )

  8. mike

    mike Guest

    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.

    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...
  9. 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.
  10. **** Post for FREE via your newsreader at ****

    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.

    *** - The #1 Usenet Newsgroup Service on The Planet! ***
    Unlimited Download - 19 Seperate Servers - 90,000 groups - Uncensored
  11. 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 ;-))
  12. James Arthur

    James Arthur Guest

    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"
    Obviously not to be undertaken lightly, but a possibility if other options


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

    --James Arthur
  13. 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.

  14. James Arthur

    James Arthur Guest

    "Frank Bemelman" 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.
    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...


    "" -- delete it. (incoming e-mail is *filtered*)
  15. Eh, yes, no, yes! ;)
    What we need are programmers with manufacturers' approved rejuvenate
    algorithms installed, now that eproms start to die slowly, of old age.
    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.
  16. James Arthur

    James Arthur Guest

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

    Best of luck,

    "" -- delete it. (incoming e-mail is *filtered*)
Ask a Question
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.
Electronics Point Logo
Continue to site
Quote of the day