21

The Commodore 64 and the Atari 2600 had compatible joystick ports. Commodore, Atari, and third-party companies like Wico made joysticks supporting that standard.

Did this standard have a name? Where did it originate?

9
  • 9
    I'm pretty sure the PC used a DB15, didn't it? Only the Amstrad Spectrums managed to get the DB9 port 'wrong' as far as I'm aware, but no doubt it was to save a couple of pence.
    – Tommy
    Aug 8, 2017 at 10:53
  • 4
    I think this is one of those 'standards' that are standard only in retrospect. Someone put it on their device, others followed and worked out the connections by examining whatever they were copying. There's no standards body for this kind of thing. Aug 8, 2017 at 15:53
  • 1
    Sega Genesis original 3-button game pads work well on Amiga, but I have heard rumors that they can damage a C64,
    – Brian H
    Aug 10, 2017 at 2:45
  • 1
    @tofro The Apple II and Tandy Color Computer, in addition to the IBM PC, also had analog joysticks. The later Apple II's used the DE-9 connector while the CoCo's used the 6-pin DIN and the IBM PC used the DA-15.
    – Tim Locke
    Aug 10, 2017 at 23:37
  • 1
    @tofro While each company using the Atari's DE-9 controller port tweaked it a bit, most systems were 100% compatible for the use of joysticks such as all Atari and Commodore 8-bit and Amiga systems, the Sega Genesis, the ZX Spectrum's Kempston system, and the Amstrad CPC. Normally pin 7 was +5V, except on the Sega Genesis and Amstrad CPC. Pin 5 was normally not used for joysticks but some used it for another fire button. Pin 9 was not used by Atari or Commodore on their 8-bit systems, but the Commodore Amiga, Sega Genesis and ZX Spectrum (Kempston) used it as a second fire button.
    – Tim Locke
    Aug 10, 2017 at 23:50

5 Answers 5

17

Two questions, three plus answers.

Did this standard have a name?

a.1) There is no neutral standard for joystick ports, hence no standard name. When speaking manufacturer/machine needs to be named.

a.2) There is a standard for the connector used by most 8 Bit machines, as their DE9 is part of the series Cannon developed in the 50s. Here D is the general series denominator (said to be due the shape, but I doubt that, as it perfectly fits Cannons order number scheme), E defines the shell size and is just a counting (A, B, C, ...), as it's been the 5th defined size. Last, there's the number of pins. For the most basic pinouts there's a fixed relation. A DA is always 15, a DB always 25 and a DE always 9. Except when there are special layouts, either combining various connector types, like analogue - a DB13W3 used in workstations had 13 standard pins and 3 coax connections. Then there is the high density series. A DE-15, the well beloved VGA connector is an E shell with 3 rows of 5 pins each. So the combination of shell and pin count is usually enough to describe most connectors.

Last but not least a P for plug or S for socket could be added. In the case of joysticks it's important to remember that the console side houses the plug variant. Mnemonic: Plug == Pins. Later on, some used M(ale) and F(emale).

So the original canon order number for the connector used at the end of a joystick cable is a DE9S and DE9P for the console (Well, plus a bunch of suffixes for the cable/board mounting variations and housings :))

Where did it originate?

b) Most likely with the Fairchild Channel F. The Channel F was not only one of the first successful multi game console (Magnavox Odyssey beeing the first), it also came, unlike others, with detachable controllers (Odyssey again being there before), but unlike the Odyssey, the Channel F used DE9 standard connectors. The Channel F debuted about a year before the VCS, so it's safe to assume that Atari had a peek here. Fairchild also introduced the habit of using the socket (female) part on the mobile. Then again, Atari used a different pinout.

With the home computers (400/800) introduced two years later, Atari kept the pinout. By now the add-on industry had joined and it was just natural for Commodore to use the DE9 for their upcoming home computer, the VIC-20, another two years later. While there where other formats, even open ones, the mainstream was settled for the Atari based standard. It did not make any sense to derive something different, as no-one could beat the supply already offered. TI did use a different pinout to support two joysticks over only one connector, just to make the Atari-TI adaptor one of the most sold items for this machine :))

Over the years some variations occurred, either to create system lock in, or for new features (mouse etc), creating different pinouts and/or protocols. For example Amstrad dropped the paddles to add a scheme to support two joysticks with two fire buttons via a single DE9, much like the TI, but of course, different.

Now, IBMs DA15 is a different story.

Bonus: Early Pinouts

c.1) Fairchild Channel F

  1. Twist left
  2. Twist right
  3. Pull up
  4. Push down
  5. East
  6. North
  7. South
  8. West
  9. Common

All are just switches.

c.2) Atari 2600

  1. North (Up)
  2. South (Down)
  3. West (Left)
  4. East (Right)
  5. Paddle B
  6. Trigger
  7. +5V
  8. Ground
  9. Paddle A

Directions are switches connecting to ground when pressed. Paddles are 470k connected to +5V. Lightpen/Gun used Trigger as signal and North as Button.

c.3) TI 99/4

  1. -
  2. Select Joystick 2
  3. North (Up)
  4. Trigger
  5. West (Left)
  6. -
  7. Select Joystick 1
  8. South (Down)
  9. East (Right)

... well, I could go on, but I guess you get the picture.

14
  • Welcome to Retrocomputing Stack Exchange. This answer is brilliant. Did you get those pinouts from an external resource or do you just know them?
    – wizzwizz4
    Aug 11, 2017 at 15:12
  • 1
    How many of these do you have? Some of these are quite poorly documented and it would be good if you shared what you knew.
    – wizzwizz4
    Aug 11, 2017 at 17:25
  • 1
    My storage consits of about 200 crates each about 1m3 of dense packed machines and documentations on three different warehouses. Plus a few meters of bookshelfs in my office. Feel free to come an scan :)) <BR />Put up a real question, and I see if I got some answer.
    – Raffzahn
    Aug 11, 2017 at 20:25
  • 1
    @traal No, not realy, as most is just stored away, Brian took some pics some years ago, see here
    – Raffzahn
    Aug 11, 2017 at 23:43
  • 1
    Power failure and subsequent loss of memory. Both are still ongoing. May 24, 2022 at 17:24
15

The DE-9 joystick port is close to a standard D-sub connector (note that it uses the "E" shell and not the much larger "B" shell from the DB-25 serial or parallel port connectors).

D-sub shells

For joysticks, it was first used an the Atari 2600 VCS, went on to their early 8-bit machines and was then adopted by Commodore.

5
  • 2
    Except they're not quite the same as a shielded DE-9. An Atari joystick plug is slightly longer and smaller than a DE-9
    – scruss
    Aug 9, 2017 at 2:54
  • 1
    the contacts are compatible with DE-9, but yeah the female connector on the joystick don't have the flange, metal shield, or any locking hardware.
    – Jasen
    Aug 9, 2017 at 9:21
  • Thx guys, I've slightly changed the answer to reflect that.
    – Zac67
    Aug 9, 2017 at 11:22
  • OK, did this modified DE-9 connector exist before they designed these things? Was there an intention of creating a trip-safe connection, or just saving cost? Aug 9, 2017 at 14:35
  • The Atari ST continued the use of compatible 9-pin joysticks.
    – Brian H
    Aug 10, 2017 at 2:47
8

From what I can see on the Wikipedia page about the Atari Joystick Port, it seems that the whole "cross platform" standard of the DE-9 joystick started with the VIC-20 (1980) and was followed by the C64 (1982) and Amiga (1985) computers as full implementations. There were others which were mostly compatible such as the ColecoVision (1982) and Sega Master System (1986?), but perhaps didn't work with every kind of peripheral.

I seem to recall from reading over the years that Commodore intentionally made the VIC-20 joystick port compatible to ride some of the popularity of the Atari 2600. Evidence of this can be seen in that original VIC-20 joysticks produced by Commodore even looked like the CX40: VIC-20 CX40 clone

As to why it was skipped by other companies later on (most notably Nintendo's NES) isn't clear, but I would suspect it had to do with the fact that since most CX40-compatible hardware on the market only had 1 trigger/fire button. Nintendo's NES had 2 triggers (A/B) on its first controllers in addition to dedicated Start/Pause buttons, which obviously wouldn't work if someone wanted to use their CX40 on the NES. Though you could make a controller that combined combinations of the digital inputs for additional functions (e.g. the Atari Keyboard controller), I suspect platform and revenue control/protection was a strong driver as well!

3
  • 3
    The Atari 2600 used that connector in 1977, and the Atari 400/800 computers shortly thereafter. I don't know of anyone outside Atari using that pin-out before the VIC-20, but I'd say it was "multi-platform" as soon as the 400/800 started using it.
    – supercat
    Nov 14, 2017 at 17:18
  • Out of curiosity, were the functional parts of the pictured joystick made by Commodore, or did Commodore simply use a custom top while buying the rest of the joystick from Atari?
    – supercat
    May 26, 2022 at 18:00
  • 1
    @supercat according to a New York Times article, Atari sued Commodore for making an unlicensed clone of the CX40, so that suggests Commodore built it themselves: nytimes.com/1982/11/09/business/atari-gains-in-patent-case.html
    – bjb
    May 26, 2022 at 18:08
4

Those joystick ports are not quite so standard as they might look at first glance.

The original ports, on the Atari 2600, are better referred to as "controller" ports since a joystick was not the only officially supported controller. Atari also manufactured and sold:

  • Paddle controllers. These had pushbutton and a rotating knob with a stop at each end that encoded a position across a 270° or so arc via a potentiometer. Two were attached to a single controller port, thus up to four paddles were supported on a 2600. A pair of these were included with the system.
  • Driving controller. This looked similar to a paddle (including the pushbutton) but was an infinite-turn knob using a rotary encoder (2-bit gray code) that signaled left and right steps of rotation. Just one attached to a controller port and I don't know of any games that supported more than one.
  • Keyboard controller. 12-button telephone-style keypad (1-9, *, 0, #) that was matrix-decoded via the joystick direction inputs (rows) and button and paddle inputs (columns). This required both the Atari's internal pull-up on the button input and +5V from pin 7 to power two more pull-ups in the controller, as well as the paddle A input's ability to pull down a line. Sold in pairs (I believe); one plugged into each controller port. (The one shown in the link is the CX50; there were actually two others as well, though the internal workings were the same. See mnem's comment below for more details.)

All of these controllers (joystick, paddle, driving and keyboard) were used in various games that Atari released for the 2600.

The first question that arises when looking at something like the joystick and the Atari 2600 interface to it is, what part of that system defines the standard? The joystick itself was just five switches that each shorted its own individual pin (1,2,3,4,6) to pin 8. That interface offers several different ways of sensing that a switch has been closed.

Atari chose to do this via +5V pull-ups on the individual switch pins that were pulled low by a connection to ground on pin 8. (The 6532 RIOT to which some of the pins were connected had internal pull-ups; other pins used discrete pull-up resistors.) In modern times, it seems to be pretty much accepted that this technique of sensing is the standard (as opposed to the closing of switches being the standard), probably in part because it makes it easier to make electronic devices that emulate joysticks. (Such devices generally don't use switches; instead they connect a pin from an appropriate chip to the 2600's pin for an individual switch and electronically pull that pin low. This would not work with some of the other methods one could use to do switch sensing.)

Atari's design as knock-on implications for how their other controllers work. For example, the keyboard controllers use the fire button pin (pin 6), but not as a sensor. Instead it's source of current for one of the matrix columns and the controller relies on that pin having a pull-up resistor between the current source and the keyboard controller. There's a similar trick related to the paddle B and A pins (5 and 9) and the other two matrix columns. (The keyboard controller also relies on +5V being supplied by pin 7, which is not used by the joysticks at all.)

Various changes made by other manufacturers kept basic joystick functionality while breaking compatibility with other controllers.

The Commodore VIC-20 (1980) and C64 (1982) should be fully compatible with all of the above controllers. The later TED models (C16, C116, Plus/4) switched to a MiniDIN-8 connector, which can be dealt with by using a simple adapter cable for joysticks and the driving controller, but they no longer support paddles. Also, they no longer supply +5V on pin 7, instead supplying it on pin 6 (with no current limiting), which will break anything that depended on pin 7 as a source of current (including the keypads above).

MSX machines (1983) can use Atari joysticks, but their native joysticks have two buttons. Unfortunately, they chose to use pin 7 (+5V on Atari) as the sense line for the second button, so plugging an MSX joystick into an Atari or C64 and pushing button 2 will short +5V to ground and probably damage the machine. They also no longer support Atari paddles, instead using their own paddle scheme that works quite differently: when strobed by a signal on pin 8 (which is no longer always ground!) it sends back pulses on pins 1-4, 6 and 7 the length of which indicates the paddle position.

Adding more buttons in various ways was popular:

  • The Amiga (1985) turned the paddle pins into buttons sense pins (thereby not being compatible with the MSX's additional button wiring).
  • The Atari 7800 (1986) had a two-button joystick with resistors and didodes that fed +5V to both paddle inputs. Pressing either button would ground pin 6, and each button separately would ground one of the paddle inputs. This made either button work on 2600 and 7800 single-button games, but properly programmed games could distinguish the two buttons.
  • Sega went further on the Mega Drive/Genesis (1988) with pin 7 becoming an output from the console indicating to the controller which set of buttons it should be sensing; this eventually turned from a two-value signal (A or B buttons) into a timing-based system that could select from more than two sets of buttons.

This covers most of the systems I'm aware of into which you could plug a traditional Atari joystick. (I have, however, left out some Japanese home computers.) If you know of other major systems I've missed, let me know in the comments.

If you're interested in investigating any of this further, I keep some notes summarising the pinouts and linking to references.

3
  • The keypad rows are the four joystick directions which are driven by the RIOT. The paddle and fire button pins are then used as inputs by the TIA. The Atari 7800 joystick and joypad include diodes and resistors so that pressing either fire button will ground the TIA input, but having any button unpressed will feed 5 volts to one of the paddle inputs, allowing code that looks at the paddle inputs to read the buttons individually.
    – supercat
    May 22, 2022 at 16:32
  • 1
    Minor note: There were actually three different 12 button keyboards sold for the 2600, the one you mentioned (CX50) used with a handful of Atari produced games and BASIC, the "Kid's Controller" used with Sesame Street / Children's Television Network titles, and the "Video Touch Pad" included with the Star Raider's game. All three are functionally identical albeit not completely interchangeable because they all used different sized instruction overlays.
    – mnem
    May 22, 2022 at 16:39
  • @supercat Oh, that's a clever way of doing it! Thanks to both you and mnem; I've updated the answer with your additional information.
    – cjs
    May 23, 2022 at 1:53
1

Did this standard have a name? Where did it originate?

It is simply the "Atari joystick port". Literally everyone called it this, although of course, in printed documentation they normally left out the "Atari" part.

It originated on the Atari VCS, later known as the 2600. It was adopted by their own 400/800 machines, and after that, practically everyone else.

The main reason for this was that the VCS sold millions of copies, so there were millions of CX40s out there. Using those on your new home computer was far simpler than starting their own stick production and the margin on these things was so tiny there was little incentive to do so.

1
  • This answer doesn't seem to add anything beyond what the other answers do. May 23, 2022 at 18:10

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .