Jump to content

Atari 800XL Controller Port Repair

From RetroTechCollection
Atari 800XL PAL board controller ports J5 J6 and filters (72RHA AT8489594)
The two controller ports J5 and J6 at the right-hand end of a PAL 800XL board, with the row of filter inductors L19-L30 along the board edge

The Atari 800XL has two 9-pin controller ports, J5 and J6.[1] Each joystick direction goes to a pin of the PIA (U23), each fire button to a trigger input of the GTIA (U17), and each pair of paddle controls to two of POKEY's pot inputs (U22). Every line reaches the chip through a small series resistor and a 10 µH inductor, with a capacitor to ground, and the ports' +5 V comes through a filter as well.[1] Sams' service data gives BASIC test programs and a chart of the chip pin for every function, and Atari's checklist names the filter parts to check for each kind of failure.[2][1]

Symptoms

[edit | edit source]
  • A joystick direction, or all directions, do nothing in one port. Sams points at the PIA (U23).[2]
  • The fire button does nothing. Sams points at the GTIA (U17).[2]
  • A paddle control or a paddle button does nothing. Sams points at POKEY (U22) for the control and the PIA for the button.[2]
  • No +5 V at a port, so powered controllers do not work.[1]

Try a second, known-good controller in both ports first: a worn controller gives the same symptoms.

Safety

[edit | edit source]

The ports carry the computer's +5 V on pin 7.[1] Do not short pin 7 to pin 8 while probing.

Tools and parts

[edit | edit source]
  • A known-good joystick and a pair of paddles.
  • A meter, a logic probe and an oscilloscope.[2]
  • Replacement parts as found: 220 Ω resistors, 10 µH inductors, 0.001 µF capacitors, the PIA (6520, Atari C014795), the GTIA (C014805) or POKEY (C012294), and the 9-pin ports (C010448 in Atari's parts list).[1]
Controller port pins (Atari figure 1-10)
Pin Signal Pin Signal
1 Joystick forward 6 Trigger (fire button)
2 Joystick back 7 +5 V
3 Joystick left 8 Ground
4 Joystick right 9 A potentiometer
5 B potentiometer

[1]

Procedure

[edit | edit source]

Test the joysticks from BASIC

[edit | edit source]

Plug a joystick into the port under test and run Sams' program:[2]

10 PRINT ,"JOYSTICK","BUTTON"
20 FOR P=0 TO 1
30 PRINT "PORT";P+1,STICK(P),STRIG(P)
40 NEXT P
50 FOR T=1 TO 200:NEXT T
60 GOTO 10
Atari joystick STICK values (Atari BASIC Reference Manual figure 10-3)
The values STICK returns for each joystick position, from the Atari BASIC Reference Manual
  1. With the stick centred, STICK shows 15 and STRIG 1.[2]
  2. Push the stick up, down, left and right. Atari's BASIC manual gives 14, 13, 11 and 7, and 10, 6, 9 and 5 for the diagonals.[3] Sams prints the value for right as 17; Atari's manual gives 7.[2][3]
  3. Press the button: STRIG should change from 1 to 0.[2]
  4. Note which port and which function fail.

Check the supply at the port

[edit | edit source]
  1. With the computer on, measure from pin 7 to pin 8 of each port: +5 V.[1]
  2. If it is missing, check the filter L25 and the ports themselves; Atari's instruction is to inspect J5 and J6 for damaged pins and replace them as necessary.[1] On the schematic the ports' +5 V comes from +5A through L12, with C98 (10 µF) across it.[1]

Trace a failed direction or button

[edit | edit source]
Chip pin for each joystick function (Sams CC11)
Function Port 1 Port 2
Up U23 pin 2 U23 pin 6
Down U23 pin 3 U23 pin 7
Left U23 pin 4 U23 pin 8
Right U23 pin 5 U23 pin 9
Button U17 pin 8 U17 pin 9

[2]

  1. Put the logic probe on the chip pin for the failed function and work the joystick. The reading should go from high to low each time.[2]
  2. If the reading changes correctly, the chip is not seeing it: suspect U17 for a button and U23 for a direction.[2]
  3. If the reading does not change, check the parts connected to that pin and the connections at J5 or J6.[2] On Atari's schematic each direction line has a 220 Ω resistor (R120-R127) and a 10 µH inductor, with a 0.001 µF capacitor to ground, and each trigger line a 220 Ω resistor (R132, R133) and a 10 µH inductor (L23, L30) with C96 and C97.[1] For a failed PIA line Atari's checklist lists U23, C26-C29, C82-C92 and L19-L22; for a failed trigger line U17, L23, L30, C96 and C97.[1]
  4. With the power off, measure each part in the failed line: the series resistor and inductor for continuity and the capacitor for a short to ground.

Trace a failed paddle

[edit | edit source]

Run Sams' paddle program with the paddles in the port under test:[2]

10 PRINT ,"PADDLE","BUTTON"
20 FOR P=0 TO 3
30 PRINT "PADDLE";P,PADDLE(P),PTRIG(P)
40 NEXT P
50 FOR T=1 TO 200:NEXT T
60 PRINT :GOTO 10
  1. The PADDLE value should vary from 228 to 1 as the paddle is turned from minimum to maximum, and PTRIG should change from 1 to 0 when the button is pressed.[2]
  2. For a failed paddle control, look at its POKEY pin from the table below with the oscilloscope. The waveform should change from a sawtooth to a pulse as the paddle is turned. If it is missing, check the port connector, the paddle itself and then U22 by substitution.[2]
  3. For a failed paddle button, put the logic probe on its PIA pin: it should go from high to low when the button is pressed. If it does not, check the button and the port connector; if it does, check U23 by substitution.[2]
  4. For pot-line faults Atari's checklist lists U22, L15-L18, C71-C74 and C63-C66. On the schematic the pot lines run through 1.8 kΩ resistors R76-R79, with 0.047 µF capacitors C63-C66 at POKEY.[1]
Paddle test points (Sams CC11)
Port Paddle Control: U22 pin Button: U23 pin
1 0 14 4
1 1 15 5
2 2 12 8
2 3 13 9

[2]

Opening the machine

[edit | edit source]
  1. Remove the six screws from the bottom cover, tip the top cover up from the left and disconnect the keyboard ground strap and the keyboard cable.[1]
  2. Remove the four board screws and lift the front of the board while pushing out the right side of the bottom housing until the controller ports clear it.[1] The shield is held together by ten screws.[2]

Testing

[edit | edit source]

Run both BASIC programs again with known-good controllers in each port and check every direction, button and paddle.[2]

[edit | edit source]

References

[edit | edit source]
  1. ↑ 1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.10 1.11 1.12 1.13 1.14 Atari, Inc., 800XL Computer Field Service Manual, FD100740 Rev. 01, February 1984: controller jack interfaces and figure 1-10 p. 1-13, symptom checklist p. 3-3 (I/O port test failures: voltages at P1 and P2, PIA ports, trigger lines, pot lines), disassembly p. 4-1, schematic (PIA, GTIA and POKEY port lines, R76-R79, R120-R127, R132, R133, L12, L23, L25, L30, C63-C66, C96-C98, J5, J6), parts list pp. 5-3 to 5-6. Hosted here as File:Atari 800XL Computer Field Service Manual FD100740 Rev 01.pdf.
  2. ↑ 2.00 2.01 2.02 2.03 2.04 2.05 2.06 2.07 2.08 2.09 2.10 2.11 2.12 2.13 2.14 2.15 2.16 2.17 2.18 2.19 Howard W. Sams & Co., Sams Computerfacts CC11, Atari Model 800XL (July 1985): troubleshooting pp. 7-8 ("Paddles" and "Joystick Port", with the BASIC programs, the pin charts and figures 2 and 3), preliminary service checks ("Joysticks", "Paddles"), disassembly p. 26. Hosted here as Sams Computerfacts Atari 800XL.
  3. ↑ 3.0 3.1 Atari, Inc., Atari BASIC Reference Manual, section 10, "Sounds and Game Controllers", p. 60, figure 10-3 "Joystick Controller Movement". Internet Archive.