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?
Retrocomputing Stack Exchange is a question and answer site for vintage-computer hobbyists interested in restoring, preserving, and using the classic computer and gaming systems of yesteryear. It only takes a minute to sign up.Sign up to join this community
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
All are just switches.
c.2) Atari 2600
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
... well, I could go on, but I guess you get the picture.
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).
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.
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:
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!
Those joystick ports are not quite so standard as they might look at first glance.
#) 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:
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.
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.