Jump to content

Photo

Ensuring roms are dumped correctly.


6 replies to this topic

#1 Keatah OFFLINE  

Keatah

    Missile Commander

  • 22,188 posts

Posted Mon Apr 15, 2019 4:04 AM

While I was dumping EPROMS from my 486 there were instances where I got different checksums from the same chip. Reseating the chips in the programmer's zif socket didn't fix the issue. Are these chips going bad? And what's the right image/checksum? Repositioning the chip in the zif didn't do much except yield yet another different checkum.

Turns out that dual-wipe sockets read from 2 surfaces of the pins. That's fine. And these surfaces are the ones you'd typically clean. But most all programmers read from the 2 sides NOT EVER touched by the socket contacts. The edges are 90 degrees apart. Perfect "hiding place" for long-term oxide buildup. Especially over 25+ years. These edges never see and friction/cleaning action from insertion and removal.

So. Solution is simple, you must clean the sides of the pins which are never touched by the socket contacts. After doing that each BIOS chip I was dumping read reliably 10x in a row, with or without a little wiggling and jiggling and repositioning.

Summary:
IC sockets contact one area of the chip's pins, but 'prommers contact a different area.
Therefore ALL 4 sides of each pin must be clean in order for your system to work and for your 'prommer to grab data.

I'm willing to bet that many bad dumps over the years happened because this issue wasn't addressed. Not so much with soldered-in chips, those are clean on all 4 sides after removal usually. But I'd imagine arcade cabs are ripe for letting muck and dirt build up. If just pulling the chip and ripping it with the 'prommer, you're reading through decades of oxide accumulation, and dust. Unless you clean all 4 sides of each pin.

 

 

TRIVIA: Reading an EPROM with a bright light shining into the window will result in a massively bad read.


Edited by Keatah, Mon Apr 15, 2019 4:08 AM.

  • JB likes this

#2 ChildOfCv OFFLINE  

ChildOfCv

    Moonsweeper

  • 400 posts

Posted Mon Apr 15, 2019 11:26 AM

Just to "prove that I could", I dumped my Colecovision cartridges that I could still find. Baseball had some issues in its final few bytes, same thing: Inconsistent data.  So it's not necessarily pin contact that's the issue--I read my cartridges back without unseating the ROMs.



#3 Keatah OFFLINE  

Keatah

    Missile Commander

  • Topic Starter
  • 22,188 posts

Posted Mon Apr 15, 2019 2:42 PM

Unseating them? You mean their socketed or soldered in the cartridge? And you read them without taking them out of the cart?


Edited by Keatah, Mon Apr 15, 2019 2:43 PM.


#4 ChildOfCv OFFLINE  

ChildOfCv

    Moonsweeper

  • 400 posts

Posted Mon Apr 15, 2019 3:51 PM

Right.  I just bought a card edge connector and wired it up to my reader.  Then I plugged each cartridge in and read each address.  For Baseball I downloaded a known good dump to check what was off.

 

In this case, everything up to about the last 16 bytes was the same, but those final bytes had a couple of unstable values.  The end result of a bad read was a screwed up ball field.



#5 OLD CS1 OFFLINE  

OLD CS1

    >OLD CS1█

  • 6,164 posts
  • Technology Samurai
  • Location:Tallahassee, FL

Posted Thu Apr 18, 2019 12:45 PM

Right.  I just bought a card edge connector and wired it up to my reader.  Then I plugged each cartridge in and read each address.  For Baseball I downloaded a known good dump to check what was off.

 

In this case, everything up to about the last 16 bytes was the same, but those final bytes had a couple of unstable values.  The end result of a bad read was a screwed up ball field.

 

Interesting. Does the cartridge play properly on the console?



#6 ChildOfCv OFFLINE  

ChildOfCv

    Moonsweeper

  • 400 posts

Posted Thu Apr 18, 2019 9:45 PM

 

Interesting. Does the cartridge play properly on the console?

 

Heh, well I kept intending to test that out, but since you asked, I just did.  I plugged it in and turned the system on.  After the pause screen with the Baseball title, it reset and said "Please insert cartridge before turning the system on".  Then I tried resetting, and it just stayed with the no cartridge screen.  So I tried plugging in DKJR again and got the same thing.  Uh oh....

 

Well, after cleaning the plug, it at least started playing Slither and DKJR again, but Baseball still gave me the "no cartridge" screen.  Then I brushed it with IPA, and now it works (at least so far).

 

You might be tempted to say "So the contacts were dirty then", but remember it only affected 2 or 3 memory addresses out of the whole 24K or whatever, before.  Well anyway, if I tried to dump it again, perhaps I'd actually get a good dump for the moment.



#7 Keatah OFFLINE  

Keatah

    Missile Commander

  • Topic Starter
  • 22,188 posts

Posted Thu Apr 18, 2019 10:43 PM

Dirty contacts or cross-contaminated contacts can cause 1 bit or 1 address to read wrong. But if the ROM chip is really failing, a different prommer might work as might slight adjustment of the voltages and temperatures. There's a lot that can be done to get good dumps.






0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users