Quoted from GLSP3022:Having a "duh" moment with the RAM. So if this chip is suspect, it's possible that wherever this "bad image" falls on the chip storage, that area may be trouble?
I'm trying to gather the logic behind this and hopefully help others that run into this.
On a side note...played a R&B on location that was doing the exact same thing but with a different image. DMD Froze up on me.
Pin_guy provided a pretty good explanation above. One point of confusion might be clarified...
Quoted from Pin_Guy:When you turn on your pinball machine, the program contained on the ROM is loaded into RAM, once loaded into RAM the computer will perform a checksum against the data stored in RAM to verify it's integrity.
The ROM image might be copied into RAM, one byte or word (2 bytes) at a time for the checksum operation but the whole image is never copied into RAM at one time. Some computing systems use "off line" storage to store the program, and at boot time, copy the program into RAM to speed execution, but pinball processing systems don't need to do this.
During normal program execution in a pinball machine, RAM is used as a "scratchpad". Every piece of information that changes over the course of program execution (i.e. variables) are stored in RAM. The amount of RAM used varies over time as the memory "stack" or "heap" expands and contracts. It is possible for a RAM with a failed memory location or two to not impact correct program execution, if those locations are never used. But if the executing program needs to store or recall a variable from RAM, and that RAM location has failed, at best the program will act on compromised data. At worst the data represents the next instruction pointer location at which time the processor can begin to execute an area of code it was not intended to at that moment. Side affects are unpredictable but sometimes repeatable.
I can't say with 100% confidence that the problem is the RAM. It's just something to suspect. What we know with certainty is that the running program is encountering a situation that it wasn't designed to deal with. Perhaps bad data or a bad execution pointer or a bad index into a table. Without the original source code and a debug platform, we'll never know.
--
Chris Hibler - CARGPB #31
http://ChrisHiblerPinball.com/contact/
http://webpages.charter.net/chibler/Pinball/index.htm
http://www.PinWiki.com - The Place to go for Pinball Repair Info