OK, so I'm putting this here primarily to demonstrate how different repairing PCBs can be when you have a Fluke Troubleshooter (9010 or 9100 in this case).
Symptom: Board resets constantly in play mode with fast flashing coin lamps. In test mode it displays 3 FF & 5 FF (or maybe some other numbers, I don't remember).
First thing I did as routine really was to replace the ROM sockets as they're crap, and also I noticed that while it was still working, the crystal was broken internally and physically flopping about all over the place so I fitted a new low profile one which should never get snapped off again. I knew the crystal would make no difference to the problem, and I felt it unlikely the sockets would but I did it anyway.
So. This is where things differ hugely if you have a Fluke. If you don't, you now need to start prodding about with a logic probe to see what you can spot in terms of stuck bits, dead bits and so on, all the while not really sure what's going on with the PCB. If this thing is constantly watchdogging for instance, are you 100% sure that the pulsing activity you're seeing on inputs is for sure not a result of the very tightly looping reset on the board? No, thought not!
So, we plug the Fluke in. I've got some scripts that I wrote years ago that I run but they essentially just automate what you can do on the front panel directly. I don't do much fancy with the 9100. The main difference at this point with the 9100 over the 9010 is that the 9010 can test against a bit mask when doing tests, the 9010 cannot. This means that with a 9010 2114 RAMs need to be tested in pairs as they're 4 bit RAMs. With a 9100 you can do them individually.
Anyway, so I ran the RAM tests and as expected all was well there. I ran the ROM tests and as expected, all was NOT well here. I would get:
Before I checked the ROMs however, I recalled that ROMs had already been swapped in from another board so it couldn't be the ROMs themselves. I swapped them over again just to remind myself and be sure. I also did a ROM test with no ROMs at all and got a similar error message so it didn't make sense for it to be a ROM at fault.
So, really, before we get as far as bad tracks or crap like that, there are only a couple of things this could be. From most likely to least likely:
That then leaves us with the address decoding. The upper address lines on boards don't tend to be buffered. On Asteroids they go to one half of a 74LS139 at L3 (position may vary depending on PCB revision) and so quite frankly, this is immediately our suspect.
And this is where I always initially cheat. Some ICs, and particularly ones with simple two-state pins (as opposed to tri-state outputs) can be "piggy-backed" onto the suspect chips. It's by no means a scientific test, and indeed, if the IC you suspect has a short, it could damage the good IC, but I always think it's worth a try. If you can categorically go "fixed", "not fixed", "fixed", "not fixed" as you add and remove the good IC on top of the bad one then it's a pretty safe bet that's your culprit. If you get inconclusive results then you have no choice but to go into things properly.
In my case, I piggy-backed a good LS139 @ L3 and guess what? Game fixed. And this was 100% repeatable so I cut the old chip out and soldered a new one in and the board was fixed.
Apart from an issue in the analog output section, but then it was dinner time
So as you can see, a VERY, very difference repair experience due in no small part to the test kit available...
Maybe people can see now why I find it so hard to speculate as to what may or may not be wrong with peoples boards unless they're on the bench in front of me.
Also note, it has taken me 2 or 3 times as long to write this as it did to find and fix the fault - which is why I rarely write repair logs any more
Symptom: Board resets constantly in play mode with fast flashing coin lamps. In test mode it displays 3 FF & 5 FF (or maybe some other numbers, I don't remember).
First thing I did as routine really was to replace the ROM sockets as they're crap, and also I noticed that while it was still working, the crystal was broken internally and physically flopping about all over the place so I fitted a new low profile one which should never get snapped off again. I knew the crystal would make no difference to the problem, and I felt it unlikely the sockets would but I did it anyway.
So. This is where things differ hugely if you have a Fluke. If you don't, you now need to start prodding about with a logic probe to see what you can spot in terms of stuck bits, dead bits and so on, all the while not really sure what's going on with the PCB. If this thing is constantly watchdogging for instance, are you 100% sure that the pulsing activity you're seeing on inputs is for sure not a result of the very tightly looping reset on the board? No, thought not!
So, we plug the Fluke in. I've got some scripts that I wrote years ago that I run but they essentially just automate what you can do on the front panel directly. I don't do much fancy with the 9100. The main difference at this point with the 9100 over the 9010 is that the 9010 can test against a bit mask when doing tests, the 9010 cannot. This means that with a 9010 2114 RAMs need to be tested in pairs as they're 4 bit RAMs. With a 9100 you can do them individually.
Anyway, so I ran the RAM tests and as expected all was well there. I ran the ROM tests and as expected, all was NOT well here. I would get:
- Vector ROM: Pass
- Program ROM 1: Pass
- Program ROM 2: Fail - all bits stuck high
- Program ROM 3: Pass
- Vector ROM: Pass
- Program ROM 1: Pass
- Program ROM 2: Fail - incorrect signature
- Program ROM 3: Fail - all bits stuck high
Before I checked the ROMs however, I recalled that ROMs had already been swapped in from another board so it couldn't be the ROMs themselves. I swapped them over again just to remind myself and be sure. I also did a ROM test with no ROMs at all and got a similar error message so it didn't make sense for it to be a ROM at fault.
So, really, before we get as far as bad tracks or crap like that, there are only a couple of things this could be. From most likely to least likely:
- ROM fault - can't be, we've proved that.
- Addressing decoding fault - could be
- Buffer fault - can't be, the data goes through the same buffers as the RAM and those tests pass.
That then leaves us with the address decoding. The upper address lines on boards don't tend to be buffered. On Asteroids they go to one half of a 74LS139 at L3 (position may vary depending on PCB revision) and so quite frankly, this is immediately our suspect.
And this is where I always initially cheat. Some ICs, and particularly ones with simple two-state pins (as opposed to tri-state outputs) can be "piggy-backed" onto the suspect chips. It's by no means a scientific test, and indeed, if the IC you suspect has a short, it could damage the good IC, but I always think it's worth a try. If you can categorically go "fixed", "not fixed", "fixed", "not fixed" as you add and remove the good IC on top of the bad one then it's a pretty safe bet that's your culprit. If you get inconclusive results then you have no choice but to go into things properly.
In my case, I piggy-backed a good LS139 @ L3 and guess what? Game fixed. And this was 100% repeatable so I cut the old chip out and soldered a new one in and the board was fixed.
Apart from an issue in the analog output section, but then it was dinner time
So as you can see, a VERY, very difference repair experience due in no small part to the test kit available...
Maybe people can see now why I find it so hard to speculate as to what may or may not be wrong with peoples boards unless they're on the bench in front of me.
Also note, it has taken me 2 or 3 times as long to write this as it did to find and fix the fault - which is why I rarely write repair logs any more