Case Studies in Retro Computer Repair #14: Diagnosing and Fixing a Faulty Non-Maskable Interrupt (NMI) Signal on an Atari 800XL

Introduction

I recently received an Atari 800XL from a friend that was booting to a black screen. This required breaking out the oscilloscope to track down the problem.

Case Study

I started troubleshooting this computer by probing the pins of the 6502 with an oscilloscope after making sure all the chips were getting 5 volts of electricity, and none were hot to the touch. I noticed that pin #6 of the 6502 Sally CPU (the NMI) was held high and never dipped low which it does as part of normal activity (see photo below). A Non-Maskable Interrupt (NMI) signal is one in which the computer cannot ignore or mask. Several custom ICs in the Atari 8-bit computers have NMI pins for these signals including the 6502 CPU. 

This observation led me to test the resistors in that circuit which were all fine (see NMI circuit diagram below). I followed the NMI circuit to chips U18 (74LS08N), U19 (74LS14N), and U29 (CO64072) that I started probing with the oscilloscope (see U29 circuit diagram below). I compared the signals I was getting on the faulty board with those from the same chips on a working system. I first desoldered, socketed, and replaced U19 as it had some bad signals. This did not fix the system. I also found that U29 had some bad signals. I desoldered, socketed, and replaced that one which brough the system back to life. U29 is a delay line for the crystal clock signal and, indeed, it was some of the clock signals that were not oscillating. This is a nice example of repairing an Atari computer by looking for clues using an oscilloscope and following the related circuits on a circuit diagram.

A Stable Repeating Waveform for Pin #6 (NMI) of the 6502 CPU
A Normal Repeating Waveform for Pin #6 (NMI) of the 6502 CPU
6502 CPU and NMI Circuit
6502 CPU and NMI Circuit
U29 CO60472 Delay Line Circuit
U29 CO60472 Delay Line Circuit
The 6502 CPU (Bottom) and the Failed U29 CO60247 (Middle Left)
The 6502 CPU (Bottom) and the Failed U29 CO60247 (Middle Left) with Newly Installed Socket

Comments

This was a bit of a difficult diagnosis because none of the main ICs were bad. This meant that I had to do the more tedious work of identifying key clues with the oscilloscope (the bad NMI signal) and reading the circuit diagram to track down the components connected to it. Once I was able to isolate an area on the board I could then systematically start probing with the oscilloscope. Key was having a working system to compare signals with.

Note added April 2026: I recently received two Atari 800XLs booting to a black screen. Probing the 6502 with an oscilloscope revealed that the NMI signal on pin 6 was held high at 5V. I was able to fix both by replacing the U29 delay line chips.

Here is a DIY replacement for the U29 delay line chip. Here are some for sale on eBay.

Here is an AtariAge thread about this chip and how it works.

Here is an AtariAge post from someone who had a back screen that was fixed by replacing the delay line chip.

This is reposted from my Atari Projects blog.