The Alto Computer

Thomas A Wadlow 5157 Norma Way Apt 226 Livermore CA 94550

In the mid-, the personal­ makes them worthy of mention is the computer market blossomed with the fact that a large number of the per­ introduction of the Altair 8800. Each sonal computers of tomorrow will be year since has brought us personal designed with knowledge gained from computers with more power, faster the development of the Alto. execution, larger memory, and better mass storage. Few computer en­ The Hardware thusiasts or professionals can look at The Alto consists of four major the machines of today without parts: the graphics display, the wondering: What's next? keyboard, the graphics mouse, and the disk storage/processor box. Each The Alto: a Photo 1: Two of the personal Alto is housed in a beautifully I In 1972, Xerox Corporation de- computers. Each Alto processor is made formed, textured beige metal cabinet of medium- and small-scale TTL in­ cided to produce a personal computer that hints at its $32,000 price tag. tegrated circuits, and is mounted in a rack With the exception of the disk to be used for research. The result beneath two 3-megabyte hard-disk drives. was the Alto computer, whose name Note that the video displays are taller storage/ processor box, everything is comes from the Xerox Palo Alto than they are wide and are similar to a designed to sit on a desk or tabletop. Research Center where it was page of paper, rather than a standard developed. The Alto was the result of television screen . The Graphics Display a joint effort by Ed McCreight, The graphics display is the most Chuck Thacker, , striking feature of the Alto. It looks , and Dave Boggs, who munications facility that would allow somewhat like a television screen that were attempting to make a device users to share information easily. has been turned sideways (see photo that was small enough to fit in an of­ In 1978, Xerox donated a total of 1). It is a raster-scan display, and the fice comfortably, but powerful fifty Altos to Stanford, Carnegie­ physical dimensions of the screen are enough to support a reliable, high­ Mellon, and MIT (Massachusetts In­ 8 inches (horizontal) by 10 inches quality and stitute of Technology) . These (vertical). The black-and-white graphics display. Their goal was to machines were quickly assimilated display allows the user to address an provide each user with a personal into the research community and area 808 pixels (picture elements) ver­ computing facility capable of meeting rapidly became the standard against tically by 606 pixels horizontally. all individual needs and a com- which other personal computers were This results in resolution of about 80 judged. points per inch. It is unlikely that a person outside The method of display used is Acknowledgments of the computer-science research called -mapped raster scan. This I would like to thank Dr Brian Reid and community will ever be able to buy means that every point on the display Mark Roberts of for their an Alto. They are not intended for is addressable as a bit in memory. time and helpful comments; also Sandy Lan­ commercial sale, but rather as Although this method can take up a zarotta of Xerox and Cindy Pavlinac for their development tools for Xerox, and so great deal of memory, it has the ad­ help and support. will not be mass-produced. What vantage of making the display very

58 September 1981 © BYTE Publications Inc fast. Bit mapping also provides the The buttons on top of the mouse user with a convenient method of are also unencoded, for flexibility. screen access and the ability to easily Many programs distinguish between look at the current contents of the holding a on or clicking screen. it on and off. This allows a program In terms of displaying text, the to receive input by moving the cursor screen can hold 60 lines of 90 to some designated spot on the screen characters (assuming the characters and then touching a mouse button to are equivalent to the typical 7 by 9 make something happen. dot character commonly found on most video terminals). Character Photo 3: The Pinball game. Flippers are Disk Storage/Processor Box generation is not done in hardware on actuated by the two shift keys; an Alto The processor and disk storage for port can be connected to a speaker to pro­ the Alto. A character set may be the Alto are contained in a rack about vide bells and buzzer sounds. created by a user and displayed on the size of a waist-high filing cabinet. the screen. Mixed fonts are allowed Each Alto has two 3-megabyte disk so that text of various sizes and keyboard interface, which allows a drives. The drives themselves resem­ shapes may be simultaneously program to take advantage of the ble small pizza ovens and are often displayed on the screen. possibility of "chord" commands, referred to in this manner. Since each dot on the display cor­ where the user holds down one or The ''brain'' of the Alto is a 16-bit responds to only one bit in memory, more keys. For example, Shift­ custom-made processor intended to there is no facility for grays or inter­ Control-E is as easy for the Alto to resemble the Nova mediate intensities. Due to the large read as A-B-C (see photo 2) . Another 1220. The processor is made entirely number of points per inch, however, advantage is the ability to determine of small- to medium-scale TTL various combinations of points can how long a key has been held down. (transistor-transistor logic) ICs (in­ be displayed to form a "texture" that For example, the pinball game pro­ tegrated circuits). The processor gives the impression of varying gram in photo 3 determines the force operates at a speed of approximately shades of gray. This is exactly the of a shot by measuring how long a 400,000 instructions per second. Each same method used to reproduce pic­ key is held down on the keyboard. Alto has an address space of 64 K tures in a newspaper. There is, of course, software to allow 16-bit words, including the graphics a program to read the keyboard in the bitmap. By using a technique called The Keyboard typical manner. bank selection, the Alto may expand Superficially, the Alto keyboard its available memory. in 64 K-word resembles a typical typewriter The Graphics Mouse increments up to 256 K words. An keyboard with the addition of a few The mouse is a small box with three Alto with 256 K words is known as a special keys. The keyboard is buttons on the top and several ball wide-bodied Alto. detachable, and quite comfortable for bearings on the bottom. A slender Quite a bit of the magic of the Alto typing. It has the unique property of cable connects the mouse to the Alto is performed at the level. being entirely unencoded. Each key keyboard (see photo 4). The buttons The Alto can run up to sixteen tasks has its own signal line in the are named red, yellow, and blue, concurrently, and all of the schedul- although the physical buttons are all black. The mouse is typically held in the user's right hand and rolled along the table on a soft piece of plastic that provides traction for the ball bearings. Movement is detected by the mo­ tion of one of the ball bearings. The mouse reports changes in position to the Alto. From this, a cursor on the Alto display can be positioned. The physical position of the mouse on the Photo 2: Display from the keyboarcl-test table is unimportant, since only the program. The Alto keyboard has a Photo 4: The mouse input device . The change in position is reported. The separate signal line for each key and can operator uses the mouse to control cursor thus tell when any number of keys are mouse graphics interface is con­ placement on the screen; it detects its own being pressed simultaneously. In the siderably more flexible and comfor­ change in position (a joystick relies on ab­ display, the black keys are being held table than a bit pad, joystick, or solute position) as the operator rolls it down. The small square above the trackball. Many Alto programs can around on a piece of soft plastic. The keyboard represents the mouse (see photo be controlled with the mouse alone, mouse also has three buttons, called red, 4); one mouse key is also pressed. independent of a keyboard. yellow, and blue.

60 September 1981 © BYTE Publications Inc ing and 110 (input! output) fo~ this by an escape, in the same fashion that allows a programmer to name a file in multiprocessing is done in microcode. an ESC (escape) or ALT (alternate a descriptive manner (such as The user has direct control over only mode) might be sent from an ASCII GatewayInformation.press), rather one task, however. The user task is (American Standard Code for Infor­ than typing in a long name. The Ex­ the lowest priority and must, if mation Interchange) terminal, causes ecutive program will recognize it as necessary, relinquish processing the Executive to complete the typing soon as it has read enough characters cycles to the other tasks that control of the name on the screen. This to determine the file uniquely. By the display, disks, keyboard and mouse 110, and connec­ tions. The user has direct control over The Ethernet Network: Interconnecting Personal Computers the microcode and may rewrite it according to individual taste. The Ethernet network, developed at network bandwidth to report the Xerox Palo Alto j(esearch Center by statistics. A "silent observer" can The Software Bob Metcalfe and Dave Boggs, is a watch the network without ever affec­ The Alto has the interesting prop­ medium for the transmission of infor­ ting the performance of that network. erty of using software (often mation. It is a multiaccess broadcast At first glance, the "cocktail party" microcode) to perform many tasks, system used to link many computer approach to multiple access might such as keyboard encoding and systems that are physically within seem awkward. A second look, character generation, that are typi­ several hundred meters of each other. however, reveals that the maximum cally done in hardware. This ap­ Each machine in the network is con­ packet length is only 554 bytes, and the nected by means of a single, passive, proach leaves the Alto with an occa­ speed of Ethernet transmissions is ap­ coaxial cable. proximately three million per se­ sionally cumbersome but highly flexi­ The Ethernet network is a packet cond. This leads to a maximum ble architecture. network. Information to be trans­ transmission time of about 1.5 ms Each Alto has a ROM (read-only mitted from one node to another is en­ (milliseconds), which means that even memory) that contains just enough closed in an "envelope" of data that on a highly loaded network, the software to "bootstrap" an Alto into describes the information (ie: its overall efficiency remains very high. the local network (see textbox on this length, a checksum for error contro/) An interesting aspect is that the page). By keeping a bootstrap pro­ and describes the destination of the Ethernet network itself is entirely gram in ROM, the user will always resulting datagram or packet. passive. Regulation is done by each in­ have a "safety net" to fall back on in Regulation of access to the Ethernet dividual node. This decentralization cable is performed by a system case some other portion of the system means that the failure of any single designated CSMAI CD (Carrier Sense software is not working. All of the node will not significantly affect the Multiple Access with Collision Detec­ network as a whole. Thus, the mean Alto software can be retrieved from tion). This technique works in exactly time between failures of the whole net­ across the network. the same way that conversation among work is very high, making it a good The Alto Operating System (OS), a a group of people at a party is choice for industrial or business ap­ program which provides a set of basic regulated. A node with something to plications where downtime means lost facilities for control and communica­ say waits until no one else is speaking. revenue. tion with the Alto, is written in When everyone else is quiet, that node The high speed of the Ethernet net­ BCPL, a language very similar to C. begins to broadcast. If another node work rivals that of disk 110. A file Most programs, BCPL or otherwise, also starts broadcasting, this is called a may be loaded from across the net­ run under the direction of the Alto collision. When a collision occurs, all work almost as easily as from a local of the nodes that are broadcasting OS. Since the address space of an disk. In a distributed information pro­ cease to do so. Each node waits a ran­ Alto is small, a technique called a cessing system, it is highly desirable to dom amount of time and then listens allow a file to be easily accessed "Junta" is used to permit BCPL pro­ for another lull, thus starting the whole anywhere on the network. A high­ grams to shed unwanted sections of process again . speed file transfer capability also per­ the Alto OS during execution. If Each node on the network listens to mits a new machine to be integrated in­ those portions are needed later, they the beginning of each packet. Once a to the network in just a few minutes. may be restored by performing a node has determined that a packet is The competition in local networking "Counterjunta. " not addressed to itself, it stops paying is hot and heavy. DEC (Digital Equip­ One BePL program that runs on attention to that packet and waits only ment Corporation), Intel, and Xerox top of the operating system is called for the end of the packet to allow it to Corporation have recently joined the Alto Executive (see photo Sa). prepare to listen to the next one. An forces to promote an Ethernet-based Ethernet node may become "pro­ This program speaks to the user industry standard network. Wang miscuous" and listen to all packets be­ directly and makes facilities available Corporation, IBM, and Zilog have also ing broadcast. This allows a very proposed networking standards. for file manipulation and program ex­ precise monitoring of statistics on the Whatever the outcome, industry seems ecution. An interesting feature of the Ethernet system, since nodes to have decided that the future is in Executive is that of escape expansion generating traffic need not perform local networks. and file-name completion. Typing a any statistical processing or use any partial file or program name followed

62 September 1981 © BYTE Publications Inc Circle 157 on inquiry card. --+ typing a question mark instead of an of a file, case is ignored when the user is a program that appears to be very escape, the Executive will list all file is speaking about the file, so either of similar to the Alto Executive, but it names that are valid matches for the the two names in the previous ex­ loads programs from across the net­ string typed thus far. amples, as well as longfile work rather than from the local disk. The Alto has a highly flexible and name.bigextension, would be valid. This means that a user need not keep rugged file system. Unlike many file Alto files are divided into pages. infrequently used or large programs systems (eg: Digital Research's CP 1M Each page contains a small header locally. Instead, these programs can or Radio Shack's TRSDOS) that limit that describes the current page, tells be loaded through the network (at an names to six or eight characters with what file the page belongs to, and apparent speed of approximately a three-character extension, the Alto points to the places on the disk that 800,000 bits per second) only when file system permits file names of up to contain the next and previous pages needed. FIP performs similar feats of thirty-one characters in length. When for the same file. This makes the file file manipulation, but in a con­ a file name is entered for the first system almost indestructible. A pro­ siderably more flexible manner. time, the file name is stored exactly as gram called Scavenger can auto­ Although a great deal of software typed, even with regard to upper- and matically rebuild a broken file written for the Alto is in BCPL, there lowercase. Since the file names may system. is a new contender for software be very long, this permits a program­ Of course, no Alto is an island, so development called Mesa. Mesa is a mer to use upper- and lowercase to software is needed to deal with the Pascal-like language that is incom­ improve readability. LongFile­ Ethernet network. Some of this soft­ patible with BCPL because of dif­ Name.BigExtension is much easier on ware appears in the form of the ferences in their respective the eyes than LONGFILENAME. NetExecutive (see photo Sb) and FIP microcodes. Mesa is expected to be BIGEXTENSION. After the creation (file-transfer program). The NetExec the for the successors of the Alto (see photo Sc). (Sa) (Sb) BCPL and Mesa are the system languages for the Alto, which means that the system utilities and many ap­ plications programs are written in them. Other languages are available on the Alto, however. Much of the research work done on the Alto at Xerox is written in Small talk, an object-oriented language that is both easy to learn and highly powerful (see the special August 1981 BYTE issue (Sc) (Sd) (Se)

Photo 5: Examples of Alto software. Photo Sa shows a display of the Alto Executive, with an example of star and question-mark notation. Photo Sb shows the NetExecutive (similar to the Alto Executive, but it allows access to resources on the Ethernet). Photo Sc is a typical Mesa program being edited by ; note the different typefonts used in the program listing. Photo Sd is a directory from the Neptune directory editor. The file names in black have been selected for further operations such as printing or erasure. The cursor is displayed as a cross in a circle. Photo Se illustrates Bravo's ability to change fonts (there are hundreds of fonts for the Alto, from Gothic to Elvish Runes; the central paragraph in this display has been changed to Greek) . The document in the bottom window has been converted to the form shown in the top window.

64 September 1981 © BYTE Publications Inc Circle 233 on inquiry card. --. Since the Alto is used extensively for research in the office automation field, a good text editor is an obvious requirement. Bravo is a text editor and formatter widely used on the Alto. In the tradition of screen­ oriented editors, the current state of the user's file is always shown on the screen. Bravo is controlled partly by keyboard commands and partly by mouse commands. It allows a user to open windows into one or more files. Text may be added or deleted by pointing at the desired location on the screen (see photo Se) with the mouse cursor, and giving a command via the keyboard or mouse. Bravo supports many different fonts and allows the (6a) (6b) user to change easily from one font to the next. In addition, Bravo remembers the changes that have been made to a document and allows the user to reverse any or all changes. Bravo allows the user to edit and format text, but often a person may wish to include illustrations in a document. To do this, a program called Draw is used. Draw is an in­ teractive sketch-pad program that provides a variety of tools for creating and manipulating pictures made from lines, curves, and text. Draw divides the screen into a number of windows (see photo 6). The left side of the screen contains a menu of commands and a variety of brushstrokes that can be selected. The top of the screen contains an area (6c) (6d) for text commands and messages Photo 6: Use of the Draw program. In photo 6a, points are placed with the cursor, and from the program. The middle of the curoes and lines are filled in by the program. Photo 6b shows that lines may be screen is the picture workspace. "painted" with a variety of "brushstrokes" (the cursor has changed to a small paint­ Curves can be drawn by moving the brush). In photo 6c, texture is given to the lines; dotted lines are created with the cursor directly, or by selecting several scissors cursor. Photo 6d shows that the picture may be mathematically manipulated; a points and allowing Draw to new figure may be created by reversing, tilting, or stretching a copy of the original. . mathematically fit a curve to those points. Once an object is defined, it on the Small talk language). Another desired. Many Alto programs use can be repainted using a number of supported language is LISP, a list­ only the mouse and screen windows brushstrokes. Since this is very processing language that is very for program control. For instance, the similar to the techniques used by ar­ popular in the artificial intelligence Neptune program is used for man­ tists and calligraphers, quite a bit of research community. aging the contents of the Alto's local artistic expression is possible. An disks (see photo Sd) . A file may be object can be duplicated, rotated, Using the Screen deleted simply by touching the file stretched, or shrunk, by means of a A system with the advanced name with the cursor, then touching small set of commands and mouse graphics capability of the Alto will the Delete spot on the screen with the gestures. make extensive use of those facilities. cursor. As the cursor enters a new The screen may be broken up into window, it may change shape, The Network windows, and each window may be perhaps appearing as an arrow in one Each Alto is assigned an Ethernet accessed in a different manner, if window and a paintbrush in another. address that identifies it uniquely on

66 September 1981 © BYTE Publications Inc Circle 104 on Inquiry card. -+ dependently on every participating Alto.

The Future A stand-alone Alto is usable, but the best configuration is a group of Altos connected by an Ethernet system. Since the Ethernet system is a local network, a special device called a gateway was developed to allow local Ethernet networks to speak to other Ethernet networks or packet networks of other types. Many com­ panies are researching network schemes that would allow packet transmission across cable-television lines. Since these cables are currently installed in many homes and buildings, it is not difficult to imagine a city with an "information grid," Photo 7: The multiplayer Trek program. Photo 8: The multiplayer Mazewar analogous to the electric-power grid This game is played e;.rtirely under mouse game. The eye represents the persona of that exists today. Combined with an control. The lower portion of the screen an opponent. Any Alto on the net can electronic mail system (a prototype shows a short-range sensor scan; above is join or leave the game at any time. called Laurel is used on Altos today) the long-range display, and navigation the possibilities are staggering. and weapons controls. The Alto has been around for several years. As research tools go, it the network. A typical Ethernet ad­ Due to the design of the network is covered with moss and gathering dress might be 50#100, which is and the Altos, a new Alto can be dust. But new products will be ap­ meaningless to most people. To per­ wheeled in, plugged into the network pearing on the market based on the mit an easily remembered distinction medium (standard coaxial cable), expertise gained in producing and between Altos, each is assigned a and, with a blank disk pack fresh using the Alto. The next few years name. For instance, the Altos at Stan­ from the factory, become entirely should show a dramatic increase in ford are named after rivers and functional with a full set of software the quality of personal computing mountains in California State parks; in a matter of minutes. An Alto can and the ability to interconnect per­ Altos at CMU are named after jewels, also be disconnected, moved to sonal computers. And the Alto is one and Altos at Xerox are named after another port in the coaxial cable, and of the first personal computers that people. This leads to such interesting reconnected without affecting either satisfies the needs of the computer names as Cypress, Turquoise, or the performance of the network or scientist as well as the secretary or Machiavelli, which are considerably the Alto. businessman .• easier to remember than 50#100. Several programs exist that take Alto networks do not consist en­ advantage of the distributed process­ tirely of Altos. Several other devices ing capabilities inherent in the References are connected to the Ethernet net­ Ethernet network. Of all of them, the 1. Lampson , B Wand E Taft. Alto User's Handbook, 1979. work. One type is called a server. most enjoyable are the games. Trek is 2. Metcalfe, R M and D R Boggs. " Ethernet: Servers are userless Altos that are a multiplayer "spacewar" game that is Distributed Packet Switch ing For Local dedicated to some specific function. controlled primarily by the mouse Computer Networks." Communications of A server might be connected to a (see photo 7) . Mazewar is a multi­ the ACM 19,7, July 1976, pages 395 printer. Thus, printing a file would player romp through a realistic through 404 . 3. Shoch, J F and J A Hupp. "Measured Per­ actually consist of sending the proper labyrinth (see photo 8) . The unique formance of an Ethernet Local Network." messages to a Printing Server. One feature of these games is that large Communications of the ACM 23,12, common type of server is a File numbers of users can join or leave the December 1980, pages 711 through 72 1. Server. These machines support game as they please without affecting 4. Thacker, C P, E M McCreight, B W Lamp­ extra-large disks and are repositories the play of the others. Since all the son, R F Sproull, and D R Boggs . Alto: A Personal Computer. Tech Rep CSL-79-11 . for programs and files that are too Altos can listen to the same packet Palo Alto CA: Xerox Palo Alto Research large or too infrequently accessed to (block information on the Ethernet) Center, August 1979. (To appear in Com ­ make storage on individual machines at once, the game program is never puter Structures: Readings and Examples, worthwhile. The Stanford File Server running on any single coordinating Second Edition. Siewiorek, Bell , and is named Lassen. machine. Instead, it is running in- Newell, editors.)

68 September 1981 © BYI'E Publications Inc