Apple Desktop Bus

Last updated

Apple Desktop Bus
Apple Desktop Bus (icon).svg
Apple ADB Keyboard.jpg
The Apple Desktop Bus icon and an early Apple Desktop Bus keyboard
Type Human input device interface
Production history
Designer Apple Computer
Designed 1986;38 years ago (1986)
Manufacturer Apple Computer Inc.
Produced 1986 to 1999
Superseded RS-422/6522 keyboard and mouse
Superseded by USB and FireWire (1998–1999)
General specifications
Hot pluggable occasional support
External yes
Pins 4
Connector Mini-DIN
Data
Data signal Bi-directional serial command stream
Bitrate 125 kbit/s maximum
(~10 kbit/s actual)
Max. devices 16 maximum
(~5 actual, 3 supported)
Protocol Serial
Pinout
MiniDIN-4 Connector Pinout.svg
Female socket from the front
Pin 1 Apple Device Bus Data
Pin 2 PSW Power on
Pin 3 +5 V +5 volts power
Pin 4 GND Ground
Same connector as S-Video

Apple Desktop Bus (ADB) is a proprietary [1] bit-serial peripheral bus connecting low-speed devices to computers. It was introduced on the Apple IIGS in 1986 as a way to support low-cost devices like keyboards and mice, enabling them to be connected together in a daisy chain without the need for hubs or other devices. Apple Desktop Bus was quickly introduced on later Macintosh models, on later models of NeXT computers, and saw some other third-party use as well. Like the similar PS/2 connector used in many PC-compatibles at the time, Apple Desktop Bus was rapidly replaced by USB as that system became popular in the late 1990s; the last external Apple Desktop Bus port on an Apple product was in 1999, though it remained as an internal-only bus on some Mac models into the 2000s.

Contents

History

AppleBus

Early during the creation of the Macintosh computer, the engineering team had selected the fairly sophisticated Zilog 8530 to supply serial communications. This was initially done to allow multiple devices to be plugged into a single port, using simple communication protocols implemented inside the 8530 to allow them to send and receive data with the host computer. The idea was to allow multiple devices to be connected to a port, eliminating the need for many different types of ports or the use of expansion slots. [2]

During development of this AppleBus system, computer networking became a vitally important feature of any computer system. With no card slots, the Macintosh was unable to easily add support for Ethernet or similar local area networking standards. Work on AppleBus was re-directed to networking purposes, and was released in 1985 as the AppleTalk system. This left the Mac with the original single-purpose mouse and keyboard ports, and no general-purpose system for low-speed devices to use. [2]

Apple Desktop Bus

The first system to use Apple Desktop Bus was the Apple IIGS of 1986. It was used on all Apple Macintosh machines starting with the Macintosh II and Macintosh SE. Apple Desktop Bus was also used on later models of NeXT computers. [3] The vast majority of Apple Desktop Bus devices are for input, including trackballs, joysticks, graphics tablets and similar devices. Special-purpose uses included software protection dongles and even the TelePort modem.

Move to USB

The first Macintosh to move on from Apple Desktop Bus was the iMac in 1998, which uses USB in its place. The last Apple computer to have an Apple Desktop Bus port is the Power Macintosh G3 (Blue and White) in 1999. PowerPC-based PowerBooks and iBooks still used the Apple Desktop Bus protocol in the internal interface with the built-in keyboard and touchpad. Subsequent models use a USB-based trackpad.

Design

Physical

In keeping with Apple's general philosophy of industrial design, Apple Desktop Bus was intended to be as simple to use as possible, [ citation needed ] while still being inexpensive to implement. A suitable connector was found in the 4-pin mini-DIN, which is also used for (but incompatible with) S-Video. The connectors are small, widely available, and can only be inserted the "correct way". They do not lock into position, but even with a friction fit, they are firm enough for light duties like ADB.

ADB protocol requires only a single pin for data, labeled Apple Desktop Bus. The data signal is self-clocking by sending a 0 as low for 65 microseconds and high for 35 μs, while sending a 1 uses the opposite timing. [4] It is a multi-drop open collector design with pull-ups to 5 V and uses collision detection to avoid device ID conflicts as well as clock stretching on the stop bit to indicate that a device requires a service request. [4] Two of the other pins are used for +5 V power and ground. The +5 V pin guarantees at least 500 mA, and requires devices to use only 100 mA each. ADB also includes the PSW (Power Switch) pin which is attached directly to the power supply of the host computer. This is included to allow a keypress on the keyboard to start the machine without needing the ADB software to interpret the signal. In more modern designs, an auxiliary microcontroller is always kept running, so it is economical to use a power-up command over the standard USB channel.

The decoding transceiver ASIC as well as associated patents were controlled by Apple; this required vendors to work with Apple. In the Macintosh SE, the Apple Desktop Bus is implemented in an Apple-branded Microchip PIC16CR54 microcontroller.

ADB is implemented in an early Microchip PIC microcontroller in the Macintosh SE. Apple Desktop Bus Microchip.jpg
ADB is implemented in an early Microchip PIC microcontroller in the Macintosh SE.

Communication

The Apple Desktop Bus system is based around the devices having the ability to decode a single number (the address) and being able to hold several small bits of data (their registers). All traffic on the bus is driven by the host computer, which sends out commands to read or write data: devices are not allowed to use the bus unless the computer first requests it.

These requests take the form of single-byte strings. The upper four bits contain the address, the ID of one of the devices on the chain. The four bits allow for up to 16 devices on a single bus. The next two bits specify one of four commands, and the final two bits indicate one of four registers. The commands are:

For instance, if the mouse is known to be at address $D, the computer will periodically send out a 1-byte message on the bus that looks something like:

1101 11 00

This says that device $D (1101) should talk (11) and return the contents of register zero (00). To a mouse this means "tell me the latest position changes". Registers can contain between two and eight bytes. Register zero is generally the primary communications channel. Registers one and two are undefined, and are generally intended to allow 3rd party developers to store configuration information. Register three always contains device identification information.

Enumeration and identification

The addresses and enumeration of the devices are set to default values when reset. For instance, all keyboards are set to $2, and all mice to $3. When the machine is first powered on, the ADB device driver will send out talk commands asking each of these known default addresses, in turn, for the contents of register three. If no response comes from a particular address, the computer marks it dead and doesn't bother polling it later.

If a device does respond, it does so by saying it is moving to a new randomly selected higher address. The computer then responds by sending another command to that new address, asking the device to move to yet another new address. Once this completes, that device is marked live, and the system continues polling it in the future. Once all of the devices are enumerated in this fashion, the bus is ready to be used.

Although it was not common, it is possible for the Apple Desktop Bus to have more than one device of the same sort plugged in — two graphics tablets or software copy protection dongles, for instance. In this case when it asks for devices on that default address, both will respond and a collision could occur. The devices include a small bit of timing that allows them to avoid this problem. After receiving a message from the host, the devices wait a short random time before responding, and then only do so after "snooping" the bus to make sure it was not busy.

With two dongles plugged in, for instance, when the bus is first setting up and queries that address, one of them will be the first to respond due to the random wait timer. The other will notice the bus was busy and not respond. The host will then send out another message to that original address, but since one device has moved to a new address, only the other will then respond. This process continues until no one responds to the request on the original address, meaning there are no more devices of that type to enumerate.

Data rates on the bus are theoretically as high as 125 kbit/s. However, the actual speed is at best half that, due to there being only one pin being shared between the computer and devices, and in practice, throughput is even less, as the entire system was driven by how fast the computer polls the bus. The classic Mac OS is not particularly well suited to this task, and the bus often gets bogged down at about 10 kbit/s. Early Teleport modems running at 2400 bit/s have no problems using Apple Desktop Bus, but later models were forced to move to the more expensive RS-422 ports as speeds moved to 14.4 kbit/s and higher.

Problems

While Mini-DIN connectors cannot be plugged in the "wrong way", it is possible to have trouble finding the right way without looking inside the circular connector's shroud. Apple attempted to help by using U-shaped soft plastic grips around the connectors to key both plugs and sockets so the flat side has a specific relation to the shell keyway, but this feature was ignored by some third-party manufacturers. Additionally, there are four ways to orient the receiving socket on a device such as a keyboard; various Apple keyboards use at least three of these possible orientations.

The mini-DIN connector is only rated for 400 insertions and it is easy to bend a pin if not inserted with caution; in addition, the socket can become loose, resulting in intermittent function.

Some Apple Desktop Bus devices lack a pass-through connector, making it impossible to daisy-chain more than one such device at a time without obscure splitter units. Few mice or trackballs have them.

In spite of being electrically unsafe for hot-swapping on all but a few machines, ADB has all the basic capabilities needed for hot-swapping (like modern buses) implemented in its software and hardware. On practically all original Apple Desktop Bus systems, it is not safe to plug a device once the system is powered on. This can cause the opening of a soldered-in fuse on the motherboard. If brought to an authorised dealer, this can result in a motherboard swap at a significant expense. The simpler alternative is to obtain a fuse at a nominal cost and wire it in parallel across the open motherboard fuse (not necessarily requiring soldering).

Patents

See also

Related Research Articles

<span class="mw-page-title-main">Power Macintosh</span> Family of personal computers released by Apple Computer

The Power Macintosh, later Power Mac, is a family of personal computers designed, manufactured, and sold by Apple Computer, Inc as the core of the Macintosh brand from March 1994 until August 2006.

<span class="mw-page-title-main">SCSI</span> Set of computer and peripheral connection standards

Small Computer System Interface is a set of standards for physically connecting and transferring data between computers and peripheral devices, best known for its use with storage devices such as hard disk drives. SCSI was introduced in the 1980s and has seen widespread use on servers and high-end workstations, with new SCSI standards being published as recently as SAS-4 in 2017.

<span class="mw-page-title-main">USB</span> Standard for computer data connections

Universal Serial Bus (USB) is an industry standard that allows data exchange and delivery of power between many types of electronics. It specifies its architecture, in particular its physical interface, and communication protocols for data transfer and power delivery to and from hosts, such as personal computers, to and from peripheral devices, e.g. displays, keyboards, and mass storage devices, and to and from intermediate hubs, which multiply the number of a host's ports.

<span class="mw-page-title-main">PC Card</span> Expansion card standard for laptop computers

PC Card is a parallel peripheral interface for laptop computers and PDAs. The PCMCIA originally introduced the 16-bit ISA-based PCMCIA Card in 1990, but renamed it to PC Card in March 1995 to avoid confusion with the name of the organization. The CardBus PC Card was introduced as a 32-bit version of the original PC Card, based on the PCI specification. The card slots are backward compatible for the original 16-bit card, older slots are not forward compatible with newer cards.

<span class="mw-page-title-main">Expansion card</span> Circuit board for connecting to a computer system to add functionality

In computing, an expansion card is a printed circuit board that can be inserted into an electrical connector, or expansion slot on a computer's motherboard to add functionality to a computer system. Sometimes the design of the computer's case and motherboard involves placing most of these slots onto a separate, removable card. Typically such cards are referred to as a riser card in part because they project upward from the board and allow expansion cards to be placed above and parallel to the motherboard.

ACCESS.bus, or A.b for short, is a peripheral-interconnect computer bus developed by Philips and DEC in the early 1990s, based on Philips' I²C system. It is similar in purpose to USB, in that it allows low-speed devices to be added or removed from a computer on the fly. While it was made available earlier than USB, it never became popular as USB gained in popularity.

<span class="mw-page-title-main">Serial communication</span> Type of data transfer

In telecommunication and data transmission, serial communication is the process of sending data one bit at a time, sequentially, over a communication channel or computer bus. This is in contrast to parallel communication, where several bits are sent as a whole, on a link with several parallel channels.

GeoPort is a serial data system used on some models of the Apple Macintosh that could be externally clocked to run at a 2 megabit per second data rate. GeoPort slightly modified the existing Mac serial port pins to allow the computer's internal DSP hardware or software to send data that, when passed to a digital-to-analog converter, emulated various devices such as modems and fax machines. GeoPort could be found on late-model 68K-based machines as well as many pre-USB Power Macintosh models and PiPPiN. Some later Macintosh models also included an internal GeoPort via an internal connector on the Communications Slot. Apple GeoPort technology is now obsolete, and modem support is typically offered through USB.

<span class="mw-page-title-main">Power Macintosh G3</span> Series of personal computers by Apple

The Power Macintosh G3 is a series of personal computers designed, manufactured, and sold by Apple Computer from November 1997 to August 1999. It represented Apple's first step towards eliminating redundancy and complexity in the product line by replacing eight Power Macintosh models with three: Desktop and Mini Tower models for professional and home use, and an all-in-one model for education. The introduction of the Desktop and Mini Tower models coincided with Apple starting to sell build-to-order Macs directly from its web site in an online store, which was unusual for the time as Dell was the only major computer manufacturer doing this. Apple's move to build-to-order sales of the Power Macintosh G3 also coincided with the acquisition of Power Computing Corporation, which had been providing telephone sales of Macintosh clones for more than two years.

Apple Inc. has sold a variety of LCD and CRT computer displays since introducing their first display in 1980. Apple paused production of their own standalone displays in 2016 and partnered with LG to design displays for Macs. In June 2019, the Pro Display XDR was introduced, however it was expensive and targeted for professionals. In March 2022, the Studio Display was launched as a consumer-targeted counterpart. These are currently the only Apple-branded displays available.

<span class="mw-page-title-main">PowerBook Duo</span> Line of subnotebooks manufactured and sold by Apple Computer

The PowerBook Duo is a line of subnotebooks manufactured and sold by Apple Computer from 1992 until 1997 as a more compact companion to the PowerBook line. Improving upon the PowerBook 100's portability, the Duo came in seven different models. They were the Duo 210, 230, 250, 270c, 280, 280c, and 2300c, with the 210 and 230 being the earliest, and the 2300c being the final version before the entire line was dropped in early 1997.

<span class="mw-page-title-main">Macintosh TV</span> Computer/Television designed by Apple Inc.

The Macintosh TV is a personal computer with integrated television capabilities released by Apple Computer in 1993. It was Apple's first attempt at computer-television integration. It shares the external appearance of the Macintosh LC 500 series, but in black. The Macintosh TV is essentially a Performa 520 that can switch its built-in 14" Sony Trinitron CRT from being a computer display to a cable-ready television. It is incapable of showing television in a desktop window, although it can capture still frames to PICT files.

<span class="mw-page-title-main">Macintosh Classic II</span> Personal computer by Apple

The Macintosh Classic II is a personal computer designed and manufactured by Apple Computer, Inc. from October 1991 to September 1993. The system has a compact, appliance design with an integrated 9" monitor, typical of the earliest of the Macintosh range. A carrying handle moulded into the case added a degree of portability at a time when laptops were still relatively uncommon.

<span class="mw-page-title-main">Apple keyboards</span> External computer keyboards developed by Apple Inc.

Apple Inc. has designed and developed many external keyboard models for use with families of Apple computers, such as the Apple II, Mac, and iPad. The Magic Keyboard and Magic Keyboard with Numeric Keypad designed to be used via either Bluetooth and USB connectivity, and have integrated rechargeable batteries; The Smart Keyboard and Magic Keyboard accessories for iPads are designed to be directly attached to and powered by a host iPad. All current Apple keyboards utilize low-profile key designs, and common modifier keys.

<span class="mw-page-title-main">Apple Adjustable Keyboard</span> Keyboard by Apple Inc.

The Apple Adjustable Keyboard is an ergonomic keyboard introduced by Apple Computer, Inc. in 1993 for the Macintosh family of personal computers. The keyboard attaches to the computer via the Apple Desktop Bus port. The last Apple computer released compatible with this keyboard without using a USB to ADB adapter was the Power Macintosh G3, as it was the last one with the Apple Desktop Bus.

<span class="mw-page-title-main">PS/2 port</span> 6-pin mini-DIN connector for connecting keyboards and mice to a PC compatible computer

The PS/2 port is a 6-pin mini-DIN connector used for connecting keyboards and mice to a PC compatible computer system. Its name comes from the IBM Personal System/2 series of personal computers, with which it was introduced in 1987. The PS/2 mouse connector generally replaced the older DE-9 RS-232 "serial mouse" connector, while the PS/2 keyboard connector replaced the larger 5-pin/180° DIN connector used in the IBM PC/AT design. The PS/2 keyboard port is electrically and logically identical to the IBM AT keyboard port, differing only in the type of electrical connector used. The PS/2 platform introduced a second port with the same design as the keyboard port for use to connect a mouse; thus the PS/2-style keyboard and mouse interfaces are electrically similar and employ the same communication protocol. However, unlike the otherwise similar Apple Desktop Bus connector used by Apple, a given system's keyboard and mouse port may not be interchangeable since the two devices use different sets of commands and the device drivers generally are hard-coded to communicate with each device at the address of the port that is conventionally assigned to that device.

<span class="mw-page-title-main">Macintosh Quadra 605</span> Personal computer by Apple Computer

The Macintosh Quadra 605 is a personal computer designed, manufactured, and sold by Apple Computer from October 1993 to July 1996. The model names reflect a decision made at Apple in 1993 to follow an emerging industry trend of naming product families for their target customers – Quadra for business, LC for education, and Performa for home. Accordingly, the Performa 475 and 476 was sold in department stores and electronics stores such as Circuit City, whereas the Quadra was purchased through an authorized Apple reseller.

<span class="mw-page-title-main">Computer port (hardware)</span> Computer hardware

A computer port is a hardware piece on a computer where an electrical connector can be plugged to link the device to external devices, such as another computer, a peripheral device or network equipment.

<span class="mw-page-title-main">Apple pointing devices</span> Computer pointing devices made by Apple

Apple Inc. has designed and manufactured several models of mice, trackpads, and other pointing devices, primarily for use with Macintosh computers. Over the years, Apple has maintained a distinct form and function with its mice that reflect their design languages of that time. Apple's current external pointing devices are the Magic Mouse 2 and Magic Trackpad 2.

<span class="mw-page-title-main">Power key</span> Computer key

The power key, or power button, is a key found on many computer keyboards during the 1980s and into the early 2000s. They were introduced on the first Apple Desktop Bus keyboards in the 1980s and have been a standard feature of many Macintosh keyboards since then. They are also found on an increasing number of Microsoft Windows keyboards, sometimes supplanted with additional keys for sleep. The power key is becoming increasingly rare.

References

  1. "ADB - The Untold Story: Space Aliens Ate My Mouse", "Licensing" section Archived December 27, 2016, at the Wayback Machine ; see also this page's Patent section.
  2. 1 2 Oppenheimer, Alan (January 2004). "A History of Macintosh Networking". MacWorld Expo. Archived from the original on October 16, 2006.
  3. ""NetBSD/next68k: Frequently Asked Questions "". Archived from the original on October 29, 2013. Retrieved October 25, 2013.
  4. 1 2 Apple Computer, Inc (1990). "Guide to Macintosh Family Hardware, second edition". p. 317-320. ISBN   0-201-52405-8.