PCB Repair: Donkey Kong Jr.

Problem

Displays garbage, watchdog resetting:

Diagnosis

I agreed to look at a friend’s Donkey Kong Jr. boardset:

I’ve never worked on any Nintendo boardsets before but my friend kindly supplied a power supply and JAMMA adaptor so I wouldn’t end up spending more time wiring it up than actually diagnosing and repairing it.

I attached the logic analyzer to the main CPU (a Z80) to see whereabouts code execution was reaching at the point where the watchdog was triggering. I noticed that for a long period up until the reset, there were no vertical blank NMIs occuring. From reading a partial disassembly of the game code, the watchdog is kicked during the NMI routine. The game masks NMIs by writing to location 0x7D84 (which corresponds to a bit in the 74LS259 addressable latch at 5H) but I found that certain writes to video RAM (0x7400-0x77FF) were also disabling NMIs. According to the address decoding logic at 1C and 2A, this should not be possible. I added probes to the 74LS139 at 2A to see what was happening:

DKNMI2.PNG

Here the access to address 0x75F4 is disabling NMIs (the preset input of the 74LS74 at 8F is asserted). We can see that there is a problem with the ‘B’ decoder of 2A. The input selected (SELB) is 1 but output 3 (/OB3) is active. Replacing 2A brought the game back to life, albeit with a couple of sound issues:

In determining what was causing the incorrect music to play, an examination of the schematics indicated that the 74LS174 at 3D was responsible for passing sound commands from the Z80 to the 8035 sound MCU. It appeared to have several stuck outputs and probing with the logic analyzer showed that its outputs did not correctly follow the inputs on the rising edge of a clock transition:

DKFF.PNG

As for the quiet music, the music and some of the sound effects are produced by an 8-bit DAC driven by the 8035, the output of which is fed through two stages of an MB3614 quad op-amp:

DKSchem.png

I admittedly have little skill or patience when it comes to diagnosing faults in the analog domain. When I touched pin 14 of the MB3614 with a moist finger, the volume level of the music would increase (as heard in the above video). From experience, op-amps are a common point of failure so I opted to desolder and socket it. I replaced the MB3614 with an LM324 and lo and behold, the music was now at the correct level.

Fix

Replace 74LS139 at 2A.

Replace 74LS174 at 3D.

Replace MB3614 at 7K.

%d bloggers like this: