This is actually a followup to a previous repair log I did on a previously repaired Donkey Kong boardset. Reason being is that last night I decided to run the game overnight to verify that the game will be reliable. Unfortunately when I ran the game this morning, the thumping sound that Donkey Kong was very high pitched, almost like a beep. When I power cycled the game, it was no longer a higher pitched tone, but rather a low distorted tone (closer to the actual thumping noise).
First thing I did since it was distorted, was I probed around on the area in which a couple transistors mix in this audio. It was only two transistors and a few passive components, so it was quite easy to verify that everything there was working properly. One interesting thing I learned with this, is that if you short the base and emitter of the transistor Q2, it will actually trigger the thumping noise (in this case a very distorted one) to output on the speaker.
With the mixing circuit verified, it was time to trace the issue back. The way DK generates the thump, is with a series of shift registers that are oscillating amongst themselves. From there the shift register feed into a xor (exclusive or) gate, making a clock that feeds into a counter, whose carry out is the waveform that makes the thump.
Thump Noise Circuit Snippet
The first logical step in this circuit is to verify 3J. 3J was giving an output, so potentially it was functioning fine. I went ahead and checked all the clock and all the outputs to verify it, everything looked good here, so the problem had to be farther upstream. This is where I began to question whether or not the clock signal was good. Probing the clock input, it seemed very odd that it was a perfectly consistent square wave. The way you make noise is by providing some sort of variations in the frequency in a square wave. So what I did was double check how it was supposed to be on another DK board. On the good one, the waveform was completely different, which confirmed that the clock input was incorrect.
Bad Clock at 3J
Good Clock at 3J
With the clock being incorrect, it was now time to probe around further upstream. Being that the signal was generated by the xor gate a 3K, it was a good idea to probe the inputs. Checking the inputs, I noticed that one input at pin 12 was stuck low. That is a problem as this means that this side will never effect the xor gate. The next step was to set up the logic analyzer to verify 74LS164 serial-in-parallel-out shift registers. With it set up, I noticed that although the shift register at 4K was getting a clock signal that looked correct, it was getting no data as it was pegged low. This makes sense, if the data is constantly low, then it will always output low. So the attention shifted to 5K as the data for 4K was generated by the eighth bit in the register at 5K. Hooking up the logic analyzer, I could see that the shift register was doing its job properly up until bit 6, from there it screws up its own signal and does not shift it as it should, rather it seems it almost imitates the clock.
Bad 5K Output
With the issue identified, it was really easy to come to the conclusion that this part was causing the issue and needed to be replaced. With it replaced, I checked it again on the logic analyzer to see if it was indeed the problem. Being that it was now shifting correctly, I could verify that this issue had been fixed.
Good 5K Output
After verifying it good with the logic analyzer, I hooked back up the sound amplifier back up to my test harness, and the thump sound was back and sounded exactly as it should. Now all that's left is to run the game for a while to make sure the game runs well. Crazy what one bad chip can do to a circuit like this.
Edited by SNESNESCUBE64