Xerox Alto
The
Xerox Alto, developed at
Xerox PARC in
1973, was the first
personal computer and the first computer to use the desktop metaphor and
graphical user interface (GUI).
|
The Xerox Alto monitor has a portrait orientation. |
The Alto was first conceptualized in
1972 in an all points memo written by
Butler Lampson, and designed primarily by
Chuck Thacker. It had 128 (expandable to 512)
Kbytes of
main memory and a
hard disk with a removable 2.5
Mbyte cartridge, all housed in a cabinet about as big as a small
refrigerator. The Alto's
CPU was a very innovative
microcoded processor which used microcode for most of the IO functions rather than hardware. The microcode machine had 16 tasks, one of which executed the normal instruction set (which was rather like a
Data General Nova), with the others used for the display, memory refresh, disk, network, and other I/O functions. As an example, the bit map display controller was little more than a 16 bit shift register; microcode was used to fetch display refresh data from main memory and put it in the shift register.
Apart from an
Ethernet connection, the Alto's only common output device was a bi-level (black and white)
CRT display, mounted in a vertical, "portrait" orientation. Its input devices were a custom
keyboard, a three-button
mouse, and an optional 5-key
chord keyset. The last two items were borrowed from
SRI's
On-Line System; while the mouse was an instant success among Alto users, the chord keyset never became popular.
All Alto mice had three buttons. The earliest were mechanical and used two wheels perpendicular to each other. These were soon replaced with ball-type mice, which were invented by
Bill English. Later, optical mice were introduced, first using white light and then using IR. The buttons on the early mice were narrow bars arranged top to bottom rather than side to side.
The keyboard was interesting in that each key was represented as a separate bit in a set of registers. This characteristic was used to alter where the Alto would boot from. The keyboard registers were used as the address on the disk to boot from, and by holding specific keys down while pressing the boot button, different microcode and operating systems could be loaded. This gave rise to the expression "nose boot" where the keys needed to boot for a test OS release required more fingers than you could come up with. Nose boots were obsoleted by the "move2keys" program that shifted files on the disk so that a specified key sequence could be used.
A number of other I/O devices were available for the Alto, including a TV camera, the Hy-Type daisywheel printer and a parallel port, although these were quite rare. The Alto could also control external disk drives to act as a file server. This was a common application for the machine.
Early software for the Alto was written in the
BCPL programming language, and later in the
Mesa programming language, which was not widely used outside PARC but influenced several later languages, such as
Modula. The Alto keyboard was lacking the
underscore key, which had been appropriated for the left-arrow character used in Mesa for the
assignment operator. This feature of the Alto keyboard may have been the source for the
CamelCase style for compound
identifiers. Another feature of the Alto was that it was microcode-programmable by the user.
The Alto helped popularize the use of
raster graphics model for all output, including text and graphics. It also introduced the concept of the
bit block transfer operation, or
BitBLT, as the fundamental programming interface to the display. In spite of its small memory size, quite a number of innovative programs were written for the Alto, including the first
WYSIWYG document preparation systems
Bravo and
Gypsy, editors for graphical data (
bitmaps,
printed circuit boards,
integrated circuits, etc.), the first versions of the
Smalltalk environment, and one of the first network-based multi-person
computer games (Alto Trek by Gene Ball).
Technically, the Alto was a small minicomputer, but it was a
personal computer in the sense of being a single user computer sitting at your desk as compared to the
mainframes and
minicomputers of the era. It was never a commercial product, although several thousand were built. Universities, including MIT, Stanford, CMU, and the University of Rochester received donations of Altos including
IFS file servers and
Dover laser printers. These machines were the inspiration for the ETH Zürich
Lilith and Three Rivers Company
PERQ workstations, and the
Stanford University Network (SUN) workstation, which was eventually marketed by a spinoff company,
Sun Microsystems. The
Apollo/Domain workstation, and
Apple Lisa also were heavily influenced by the Alto.
The Xerox Alto was used to design the next influential
"D" series of workstations: the
Dolphin,
Dorado and
Dandelion. A
network router called
Dicentra was also based on this design. Dolphin was a mid-line
TTL design originally intended to be the Star workstation while Dorado had a very fast
ECL based design. The original architecture for the Dandelion, based on the AMD
Am2900 bitslice microprocessor technology, was presented as a paper design called
Wildflower and was the low cost design that became the actual Star workstation.
Xerox created a product division (SDD) to commercialize the work of
PARC, initially attempting to use the Dolphin as the basis for a
workstation product. The Dandelion design became the
Xerox 8010, which ran the
Xerox Star workstation software. The Star inspired
Apple's
Lisa and
Macintosh personal computers, and helped popularize the
graphical user interface on later PCs and workstations.
These Xerox machines, and especially the Alto, are now very rare and highly valuable collector items.
The Alto is also visible in the background of American TV and Film productions in the late 1970's and early 1980's most often in the office sets, where the Alto's portrait screen and
WYSIWYG format finding a natural niche in the page- and typestting of newspapers.
*
Alan Kay*
BitBLT*
Ethernet*
Apple Macintosh* Michael A. Hiltzik,
Dealers of Lightning: Xerox PARC and the Dawn of the Computer Age (HarperCollins, New York, 1999)
* Douglas K. Smith, Robert C. Alexander,
Fumbling the Future: How Xerox Invented, Then Ignored, the First Personal Computer (William Morrow, New York, 1988)
*
Alto User's Handbook, Xerox PARC, September 1979
*
Xerox Alto documents at bitsavers.org*
At the DigiBarn museum*
Xerox PARC History page*
An article on the Xerox Alto in Byte magazine*
A microcode-level Xerox Alto simulator