--- title: "Hackers Note Book: Atari Keypad on 2068" type: "article" slug: "hackers-note-book-atari-keypad-on-2068" url: "http://localhost/article/hackers-note-book-atari-keypad-on-2068/" markdown_url: "http://localhost/article/hackers-note-book-atari-keypad-on-2068.md" published_at: "2022-09-14T02:42:52+00:00" modified_at: "2026-07-19T01:44:36+00:00" featured_image: url: "http://localhost/wp-content/uploads/2022/04/20230809-041332.jpg" excerpt: "The attached page one gives the schematic for the ATARI Key pad and 2068 joystick (a fairly standard joystick configuration). Note that line 8, STB 1s the one key pin missing from the key pads plug. This makes the pad useless as a simple input device. Still, there are several inexpensive ways around this problem.…" category: - name: "LISTing Newsletter" slug: "listing-newsletter" taxonomy: "category" url: "http://localhost/category/periodicals/listing-newsletter/" post_tag: - name: "Best of Timex/Sinclair 2068 Articles and Documents" slug: "ts2068best" taxonomy: "post_tag" url: "http://localhost/tag/ts2068best/" - name: "Hardware project" slug: "hardware-project" taxonomy: "post_tag" url: "http://localhost/tag/hardware-project/" - name: "TS 2068" slug: "ts2068" taxonomy: "post_tag" url: "http://localhost/tag/ts2068/" - name: "Type-in program" slug: "type-in-program" taxonomy: "post_tag" url: "http://localhost/tag/type-in-program/" model: - name: "Timex/Sinclair 2068" slug: "ts-2068" taxonomy: "model" url: "http://localhost/model/ts-2068/" indiv: - name: "Paul Donnelly" slug: "paul-donnelly" taxonomy: "indiv" url: "http://localhost/indiv/paul-donnelly/" publication_r: id: 38992 title: "LISTing Newsletter" type: "periodical" url: "http://localhost/periodical/listing-newsletter/" authors: "Paul Donnelly" authors_r: - name: "Paul Donnelly" slug: "paul-donnelly" taxonomy: "indiv" url: "http://localhost/indiv/paul-donnelly/" issues_articles: - id: 40116 title: "LISTing Newsletter April 1986" type: "issue" url: "http://localhost/issue/listing-newsletter-april-1986/" pages: "15-17" pubdate: "April 1986" archive_link: false gallery: - url: "http://localhost/wp-content/uploads/2022/09/atari-keypad-2.jpg" - url: "http://localhost/wp-content/uploads/2022/09/atari-keypad-1.jpg" --- # Hackers Note Book: Atari Keypad on 2068 The attached page one gives the schematic for the ATARI Key pad and 2068 joystick (a fairly standard joystick configuration). Note that line 8, STB 1s the one key pin missing from the key pads plug. This makes the pad useless as a simple input device. Still, there are several inexpensive ways around this problem. Some of these will be Illustrated here and others, requiring somewhat more advanced skills, will be suggested. A glance at page 1 of 2 shows that the standard ATARI or TS 2068 joystick uses 5 data lines and one strobe to send data into the computer. The strobe line on some machines is simply ground or +5V on many machines, the Important thing to remember is that it is the “common” connector. Crossing any one of the 5 data lines (up , down, left, right, fire) with the common, or strobe, line pulls that line low (on our machines, STB is an active low line). The Input/Output (I/0) port in the 2068 reads the 5 data lines and latches the bit pattern of D0 D1 D2 D3 (directions) and D7 (fire) into the Programmable Sound Generator (PSG) chip. The STICK command reads the I/0 ports in the chip. manipulate the data slightly, and returns a value (2,4,8 or 12 for the 4 compass points) to the BASIC for your program to use. STB is actually a different line on each joystick. The left is A8 (address line #8), the right, A9. Since STB isn’t connected on the ATARI key pad, we need some other way to read which switches are closed. A look through the 2068 tech manual tells us that all the data lines are latched high on start up. When register 14 of the PSC is read (for STICK, or certain IN addresses) the appropriate STB line is brought low. If the joystick is activated, a data line contact is made with STB, and the appropriate data (DN) line is brought low. The ROM software reads this and passes a parameter to BASIC, which is then used by your program. We can make a data line go low just as easily by grounding it. Again, however, there are trade-offs and problems. By using ground we’ve lost our ability to tell which (left or right) joystick is responding. (E.g., if A8 is low and the right fire button 1s pushed a normal STICK command will not read it). Still, if we only need to monitor one joystick (5 data mputs), this will suffice. We tried this and nothing happened. It appears that In most 2068’s, the joystick port ground line is not connected. In order to use the ATARI key pad, we had to connect the ground line on our joystick port. This is a fairly simple procedure, Involving soldering a short piece of wire from pin 9 to a nearby ground. For the left joystick, the negative side of the nearby electrolytic capacitor works fine. Be very careful when soldering to the joyports legs, however. These are two unconnected pins in the inner row of four, you want the one closest to they front of the machine. We found it easier to remove the whole circuit board to do this job, as you must work around the outer row of 5 pin. Be careful not to short any lines together. The ATARI pad, as can be seen from page l of 2, uses uses a 3×4 (3 columns by 4 rows) matrix to read the twelve touch pads. Our simple ground – STB setup gives us a potential 1×5 array. If we don’t modify the circuit traces of the key pad (see Pg. 2 of 2), the least we can do is read the 4 row inputs in one column or the 3 columns for 1 row. The later is practical for many platform games; where left, right and jump are the only moves required. Page 2 of 2 shows how the internal clip-on bugs of the ATARI keypad were changed In order for us to read row 3’s 3 buttons as left, fire and right (reading from L to R). Depending on the software, this setup should work with commercial programs which use one joystick, as well as it does in our BASIC test program. The new configuration of the port, of course, ignores whatever the software is trying to do with A8 and A9 and simply reads that the data line is grounded. We’ve lost port selection and some more esoteric features like software debounce, but these may not be a problem in your application. Note that this modified pad will only work on a port with pin 9 grounded. Do not try to use the modified pad on an ATARI or Spectrum joystick interface. At best, it will not respond, at worst it could short out the machine. Finally note that the keypad has 2 – 4700 ohm pullup (down ?) resistors crossing two of the column lines. One end of each of these must be unsoldered or cut. The keypad modification are shown on page 2 of 2. ### Advanced Topics Since there are two X 5 lines, or 10 data lines, on the PSG, it is possible to rewire the 2068 and keypad to scan 10 of the buttons. This would provide a handy number keypad (using STICK), for the digits 0 through 9. We need, of course to hook up strobe and this where the incomplete wiring of the 2068 may actually help us. On the left joystick port we connected ground where it should be to use a single row of the keypad. We could modify the right side port, which is use less frequently, to read all 5 data lines on either Joystick. This can be accomplished as follows: (not tested) Connect a jumper from A8 on the left port to pin 5 of the right port. Connect a jumper from A9 on the right port to pin 9 on the right port. This should not effect operation of a normal 6 wire Joystick (U,D,L,R, Fire and ground wire only-check the plug). It does, however, provide both the A8 and A9 strobes to pins which the ATARI key pad can read. You must also modify the foil pattern of the key pad circuit board to match a 2 X 5 matrix. This involves cutting some traces and adding a few jumpers. Write interrupt drivers software, following the example in the tech manual, which scans your new key pad automatically. Spray paint the pad silver it you have a 2068, and add bigger rubber feet to match the 2068’s slope and you’ve got a sophisticated “dedicated numeric keypad”. There are other ways to make this unit more useable with your 2068 and other computers and we’ll take a look at those next month.