Joystick Tester

Robert Rochon

This short routine permits you to easily test your joysticks and pinpoint potential problems.

The Atari joysticks are mass-produced and tend to malfunction. I have seven joysticks and only three are working properly. The problems are in the contacts which are held together with tape which loosens much too easily. What a pity; the general design of the joysticks is very good.

This program quickly reveals any flaws in a joystick. You should be able to make the screen red when the fire button is pressed. You should also be able to make nine blue dots for the nine different joystick positions. To clear the screen, press any key.

You can also find out how sensitive a joystick is by controlling it with one finger only. With this test a sticky joystick will show up like a sore thumb. For easy identification, number your best joystick. I always use my most sensitive joystick for Star Raiders. Hint: Jamming a ¾ inch plastic, T-shaped pipe connector onto the stick of the joystick will make it twice as sensitive.

Program Design

2 turns on GR. 3, turns off cursor (POKE 752).
5-15 records joystick position.
200 erases old line and draws new line.
230 plots center and outside dot.
300 colors the screen red when fire button is pressed.
500-520 writes the value of STICK(0) AND STRIG(0); PEEKs 656 & 657 keeps the writing in one place.
540 Keep the screen when any key is pressed.
999 C & D last joystick position
(C & D are used to minimize blinking on the screen.)
A & B new joystick position creates continuous loop.

PROGRAM. Joystick Tester.

2 GRAPHICS 3 : POKE 752, 1 : GOTO 999
5 A = 24 : B = 14 : GOTO 200
6 A = 24 : B = 6 : GOTO 200
7 A = 25 : B = 10 : GOTO 200
9 A = 16 : B = 14 : GOTO 200
10 A = 16 : B = 6 : GOTO 200
11 A = 15 : B = 10 : GOTO 200
13 A = 20 : B = 15 : GOTO 200
14 A = 20 : B = 5 : GOTO 200
15 A = 20 : B = 10
200 IF C< >A OR D< >B THEN COLOR 4 : DRAWTO 20, 10 : COLOR 2 : DRAWTO A, B
230 COLOR 3 : PLOT 20, 10 : PLOT A, B
300 POKE 712, 66 - STRIG(0) * 66
500 POKE 656, 1 : POKE 657, 5
510 ? "STICK(0) = "; STICK(0),
520 ? "STRIG(0) = "; STRIG(0)
540 IF PEEK(764)< >255 THEN POKE 764, 255 : RUN
999 C = A : D = B : GOTO STICK(0)

Return to Table of Contents | Previous Section | Next Section