PCB Repair: Primal Rage

Problem

No motion objects (sprites):

Diagnosis

I was given a Primal Rage boardset to look at, which I was not especially looking forward to given its size and complexity:

Image from iOS (62).jpg
Junk in my trunk

Unfortunately I had put my own Primal Rage boardset into storage, so I would not be able to resort to swapping parts over (there are quite a few GALs and as we know, GALs can’t be trusted).

The motion object hardware of the Atari GT hardware is a continuation of the growth/shrink motion object hardware used by games such as Pit Fighter and Space Lords, where run-length encoded graphics data is written into a framebuffer. The MOB processor is built around an Am29C101 16-bit Microprocessor Slice, with microcode provided by bipolar PROMs.

All of the motion object data is stored in the ROMs on the ROM board, with the exception of two ROMs which store properties for each motion object (e.g. width, height and format). The game provides a MOB test which checksums each ROM:

MOB_CHECKSUMS.JPG

I didn’t think anything of the 0-0 failure as this checksum fails on a working boardset (the data changed between game revisions and Atari forgot to update the checksum).

I pondered upon how exactly I would be able to debug the issue further, as the ROM board obscures a large portion of the PCB, limiting probing of the MOB hardware. I took a closer look at the two MOB ROMs on the main board and noticed a slight problem with one of them:

Primal ROM
Where did the VCC pin go?

Removing the EPROM from the socket revealed five broken pins!

broken_legs.jpg
Take. These broken legs. And… oh forget it.

I programmed a new 27C040-100 with the correct data for revision 2.3 and breathed a deep sigh of relief when I saw that all the MOBs had now returned:

2019-11-07_003719_A.JPG

2019-11-07_003736_A.JPG

Fix

Replace 27C040 at 2V.

%d bloggers like this: