PCB Repair: Gradius III

Problem

Reboots after POST.

Diagnosis

Another Gradius III on the table…

Probing CPU 1 with a logic analyzer showed program execution spinning in a loop waiting for shared RAM location 0x003956 to change, before the CPU is eventually reset by the watchdog circuit:

GRAD3_NOIRQ.PNG
I only had probes on 16 address lines and addresses shown are word-based but you get the idea…

Shortly before entering the loop, CPU 1 is meant to trigger a level 4 interrupt on CPU 2 by writing to 0xd8000. We can check if this is actually happening by setting the logic analyzer to trigger around an access to 0xd8000:

g3_subipl2.PNG
We should be seeing activity on SUB_#IPL2. We are not…

The CPU1->CPU2 interrupt generation logic appeared to be broken. I traced the source of /IPL2 back to a 74LS174 at R2, which looked very corroded:

G3_R2.jpg
Mmmm, oxides…

One fresh 74LS174 later and we were back to partying like it was 1989 while failing to get beyond stage one…

Fix

Replace 74LS174 at R2.

One thought on “PCB Repair: Gradius III”

Leave a Reply

%d bloggers like this: