Board would boot with some corrupt text, then reset. The tilemap RAM for text tested ok, but it was just re-seating and cleaning the tilemap custom 85 that fixed the text which now read CPU A OK. At this point CPU B is meant to kick in and run it’s own self test and report, but the board kept resetting. A logic probe on CPU B reset line showed it pulsed very briefly then went back to being held in reset, so it didn’t have a chance to run the self test.
Things got a bit trickier at this point – the reset is controlled by a LS138 and LS259 that the main CPU can write to. These components were removed and replaced with no change, so I fired up MAME to debug what exactly happens during the boot sequence. It turns out both CPUs can write to the LS259 latch – CPU A performs it’s self test, enables CPU B and then sits in a tight loop until CPU B finishes and enables interrupts on CPU A at which point they both run in parallel.
This raises the possibility that CPU B was actually resetting itself with a rogue write to the latch and causing a deadlock… And indeed that was the problem, a corrupt program that had tested fine first time around but on a re-read showed some random bad bits.
The game now played with some bad sprites – other sprites were fine though, so the sprite custom chip and RAM were likely good. Again, this was just failed eproms that needed replaced.
Finally, lack of sound was a failed Z80 CPU on the top board – a logic probe showed it had a valid clock, reset and so on but all data and address lines were stuck high. Putting in a fresh CPU fixed everything.
Did not boot at all with garbage on screen and the CPU stuck in a watchdog reset. This turned out to be straightforward as the CPU A boot eprom had completely failed. Replacing it enabled the game to run, with some bad sprites, but like the first board this was just more failed eproms.
Game played and passed all self tests (including mask ROM tests) but some background elements had incorrect colors or appeared completely black. Colors ultimately come from the palette RAM but that was most likely good as the self test had passed. A group of 3 LS157 chips arbitrate access to the palette RAM address lines – these can be controlled either by the main CPU, or by the 053251 priority mixer which combines all of the layers (sprites and tilemaps) to send a final output pixel to the palette lookup.
All address lines seemed good with a logic probe so the problem was most likely the 053251 itself or the tilemap custom that fed it. As other tilemap elements were fine, the 053251 was replaced with one from a scrap board and this fixed the problem.
The game logic seemed to be running but graphics were totally corrupted. Tilemaps are usually easier to fix than sprite problems so I started there, but the relevant custom chips and RAM checked out fine. The breakthrough came when I noticed one of the RAM chips never had the write (/W) line enabled at any point. The write lines should almost always be pulsing on this game as the CPU writes tile data into RAM.
The V1DIR and V2DIR signals actually start on the top CPU board, but they travel to the bottom and are buffered by an LS241 before reaching the RAM chips. This chip was removed and tested bad before being replaced.
Which improved things somewhat – definitely recognisable now but still broken.
I kept on debugging the tilemap RAM and found a couple of data lines were always high – I knew the RAM was good so I started to search for ways in which the data could be corrupted before getting to the RAM. This traced back to the LS245 on the top CPU board that sends CPU data to the video board – it had failed on multiple lines so literally every byte the video board received was corrupt in some way. Replacing this fixed everything 100%.
Game just booted to a solid white screen with the CPU in a watchdog reset loop. This game, like Bubble Bobble, uses custom package RGB DAC’s that are known to fail (and also need +12V and -5V connected to work) but it seemed the palette RAM was actually passing full white to the DACs so the initial problem wasn’t there.
Usual test first is to check the program ROMs – and one wouldn’t read at all due to some kind of internal short. When replaced the game ran, but without any sprites or tilemaps but at least it proved the RGB customs were working.
RAM on the video board all tested fine, but what looked like some dirt on the board actually turned out to be a massive gouge that had broken 10-12 traces. When patched back up the game was fine.
Game played but without sound. Diagnosing sound problems on these boards is pretty easy as all of the sound generators have test points on the top board – PSG1-4, DAOUT. Attaching power speakers here lets you hear the individual sound outputs before they are mixed. If they are all silent then there is most likely a sound CPU problem, but for this board everything sounded great at the test points. The sound is then mixed and sent to the two volume controls – powered speakers can also be attached directly to the right-most and center pins of the volume pots to check audio post mix. From there it’s almost straight to the power amp, and if you can hear audio over powered speakers attached to the power amp input (pin 1) then almost certainly the power amp is dead (or is missing +12V). In this case the MB3730 amp was replaced to fix sound.
Game booted, but the red & blue color channels were clearly stuck on. I went hunting for palette RAM and found it on the top board, it’s a slightly unusual type – AAA16K4P-35 with one chip per RGB color. Swapping in replacements from a Ninja Gaiden parts board restored correct colors, and I could see the video board problems in more detail.
One tilemap layer had corruption – the game has 3 tilemap layers and each layer comes from a combination of the Tecmo 3 & 4 custom chips, graphics ROM plus a pair of RAM chips. One of the RAM chips tested bad straight away, but with that replaced there were still problems. A logic probe on the ROM showed one of the address lines was floating – but it had continuity back to the Tecmo-4 custom. Unfortunately this suggested the line had died inside the custom chip. Replacing this improved things but there was still a fault with tiles being ‘doubled up’.
A logic probe on the RAM chip showed the D0 data line was stuck low, and this traced back to the Tecmo-3 custom – so the doubling was because only even (0,2,4,6,etc) tiles could be selected. This custom was also replaced with one from the Ninja Gaiden parts board and everything was fixed.
Game didn’t boot and immediately shut down the power supply. Indeed, a meter confirmed only 2 or 3 ohms of resistance between GND and +5V at the edge connector, so something was shorted on the board. There’s really no easy way to find a short on a board like this. Removing all the socketed chips to eliminate them is a good first step as well as looking for physical damage, especially to capacitors that may bridge GND and +5V.
Luckily I found the fault fairly quickly – when I lifted one of the legs of the ZD1 component the short was gone and the board played correctly. I believe the design of the board is ZD1 provides some overvoltage protection by bleeding the +5V line to GND if required, however in this case it had simply failed and shorted +5V to GND.
Game ran but sprites were garbage – bad positions and lots of corruption.
I ran the self test before doing much more – and it came back with bad custom IC30. This is actually a math coprocessor, and the main CPU uses it for maths to position all the sprites in screen space – so if it fails sprites will be corrupt.
Luckily I had a spare for this chip from a Thunderblade parts board. Game was perfect after I swapped it in.
Game didn’t boot – and physical damage was the obvious problem – the PST518A reset controller was missing from the board. A replacement was taken from a scrap board and the game ran again.
No sound – again some obvious physical damage – the power amp had been ripped from the board. A brand new MB3730A was bought on Ebay and installed and the game was perfect again.
Board showed missing graphics on the title screen and blocks in game were often wrong.
After some diagnosis it became clear the scroll position on the tilemap was wrong – rather than actually anything wrong with the tilemap itself. The missing title screen graphics were instead horizontally scrolled off screen by 256 pixels.
The scroll position is controlled by the 137419-104 custom chip and this seems to have failed with the 256H line stuck high. Fortunately this chip is also on a few other Atari games, including Pit Fighter, so I pulled a chip from a corroded parts board to fix the Gauntlet.
The board had another fault I recognised immediately from another repair – sprites with ‘sparkly’ vertical lines down the screen. This is a failure of the resistor packs used to pull the sprite data lines high when erasing a scanline. These packs are at the corner of the board, so any flexing of the board can lead to hairline fractures. 470ohm resistors can be used as a replacement.