Computer history: Xerox Alto - personal computer





Byte 1981. Xerox Alto.



1973 . , . ZX Spectrum 9 . Commodore Amiga 1000 1985-. , -, . , Xerox . . , . , โ€” , , : .






Cover of Byte Magazine, September 1981



There are many interesting articles written about the Xerox Alto. However, today's material is particularly interesting. It was written by a journalist for Byte magazine in 1981, in fact, in the years of the relevance of Alto, and gives us the opportunity to see it through the eyes of contemporaries.

The material is published with some minor abbreviations. At the end we will provide links to Alto emulators and better illustrations than those published in the magazine.




Nowadays, a rare computer enthusiast or professional, looking at modern machines, does not ask the question: what will happen next?



Alto: personal computer



In 1972, the Xerox Corporation decided to release a personal computer for scientific research. As a result, Alto was created, on which Ed McCraith, Chuck Tucker, Butler Lampson, Bob Sproull and Dave Boggs worked. Their task was to make a compact device that would fit in a regular office without any problems. At the same time, it must be powerful enough to ensure high-quality and reliable operation of the operating system and graphic display. The goal of the developers was to equip each user with their own computing machine, which would cover all their needs, as well as a communication device for the rapid exchange of information.



In 1978, Xerox donated 50 Alto computers to Stanford and MIT Universities. These machines instantly blended into scientists' workflows and quickly became the standard for all other PCs.



It is doubtful that anyone outside of the scientific community will ever be able to afford the purchase of an Alto. These computers are not intended for the general consumer, but for Xerox internal research, so they will not be sold in large quantities. But it's worth talking about them, if only for the reason that many PCs of tomorrow will be designed with the knowledge and experience gained in the process of creating and working with the Alto.







Photo 1: Two Xerox Alto. Each Alto processor is rack mounted directly underneath two 3MB hard drives. Please note that computer video displays, unlike standard television screens, are stretched vertically, like a sheet of paper.



Equipment



The Alto consists of four main parts: a graphic display, a keyboard, a graphic mouse, and a box containing the disk drive and processor. Each Alto is housed in an elegant cream-colored embossed metal case, which already hints at its $ 32,000 price tag. With the exception of the system unit on the floor, the computer is placed on the desktop.



Graphic display



The graphic display is the most striking component of the Alto. It looks like a television screen rotated 90 degrees. Raster display. Its physical dimensions are 8 inches horizontally and 10 inches vertically. The black and white screen allows you to operate with 808 pixels vertically and 606 pixels horizontally. The final resolution is approximately 80 dpi.



The image is output by bit-by-bit raster scanning. This means that each point in the display corresponds to a specific bit in memory.



With regard to displaying text, the screen can accommodate up to 60 lines of 90 characters each (assuming that each character is 7x9 pixels, as in most video terminals). Alto does not have a hardware character generator. The character set can be created by the user and then displayed. Mixed fonts are also allowed, so texts of different sizes and shapes can be displayed on the screen at the same time.







Photo 2: Program for testing the keyboard. Each key on the Alto keyboard has its own signal wire, so multiple keys can be pressed at once. In the image above, pressed buttons are marked in black. The small square above the keyboard represents the mouse. As you can see, one of its buttons is pressed.



Since screen pixels correspond to only one bit of memory, the computer does not support color and intensity gradations. However, the high pixel density and various combinations of these create a "texture" that gives the impression of a shade of gray. Photos in newspapers are printed in the same way.



Keyboard







Photo 3: Pinball game. Flippers are controlled with two Shift keys. The Alto port can be connected to a speaker for playing game sounds.



Without going into details, the Alto keyboard is exactly like a regular typewriter, with the exception of a few special keys. It is very convenient to print and can be detached at any time. In addition, each key has its own signal wire to match the keyboard interface. This allows programs to take full advantage of the so-called "chord commands" where the user holds down one or more keys. For example, the "chord" Shift + Control + E Alto recognizes as easily as A + B + C. Another plus is the ability to determine the duration of a key press. For example, "Pinball" determines the force of a blow by how long the user holds the button. There are, of course, other software that allows you to use your keyboard in a more conservative manner.



Graphic mouse







Photo 4: mouse input device. The operator uses the mouse to control the position of the cursor on the screen. It detects a change in its own position, and the operator "rolls" it on a soft plastic mat.



The mouse is a small box with three buttons on the top edge. It connects to the Alto keyboard using a thin flexible wire. The buttons are called โ€œred,โ€ โ€œyellow,โ€ and โ€œgreen,โ€ even though they are all black. The mouse is placed in the user's right hand and rolls on a soft plastic mat that rotates the balls on its bottom.



The change in the position of the mouse is tracked by the state of one of these balls, and then sent to the computer. The cursor moves accordingly on the display. The physical position of the mouse on the table does not matter, since only the very fact of its movement is tracked. The graphical interface of the mouse is much more convenient than the bit pad, joystick or trackball. Many Alto programs can only be operated with the mouse, without keyboard input.



System unit



The Alto processor and disk storage are housed in a small, waist-high rack cabinet. Each Alto is supplied with a 3 MB disk drive. Hard drives are often compared to pizza boxes due to their shape and size.



The "brain" of the Alto is a 16-bit custom processor. It consists of many medium to small size TTL ICs (Transistor Logic Integrated Circuits). The processor is capable of executing about 400 thousand instructions per second. Each Alto has an address space of 64 thousand 16-bit words, including the screen area. Using a technology called "bank selection" expands it to 256 thousand words. Computers with increased memory are known as wide-bodied alto.



Most of the "magic" in Alto happens at the microcode level. Alto is capable of running up to 16 tasks simultaneously, and scheduling and I / O is done in microcode. However, the user can only manage one task. It has the lowest priority and must "give" resources to other processes as needed, such as programs that control the display, disks, keyboard, mouse, and Ethernet connection. The user has direct access to the microcode and, if necessary, can rewrite them in accordance with their own needs.





Alto ad, 1979



Software



Alto uses software for many of the most common hardware tasks (such as character generation). The result is a very cumbersome but flexible architecture.



Each Alto is provided with a read-only memory (ROM), which contains enough software content to "load" the Alto from the local network. Thanks to this, the user always has the opportunity to "safely" boot over Ethernet if some system program is not working. Any software for Alto can be obtained over the network.



The Alto Operation System is a program that provides a basic set of tools for computer management. It is written in BCPL, a language that is very similar to C. Most programs run directly from Alto OS. Because Alto's address space is small, a special technique called "Junta" allows BCPL programs to get rid of unnecessary Alto OS partitions at runtime. If these fragments are needed later, they can be restored by running "Counterjunta".







Photo 5: Demonstration of the Executive program on the Alto.



One of the BCPL programs that run on top of the operating system is called Alto Executive. It communicates directly with the user and allows you to manipulate files and launch other programs. An interesting feature of Executive is the ability to complete the file name.



If you enter only the beginning of the file name and the escape code, Executive can add it himself. Programmers can name files descriptively (for example, GatewayInformation.press), but not enter a long name each time they access them. The executing program recognizes the file as soon as it has received enough characters to uniquely identify it. By typing a question mark instead of an escape code, you get from Executive all the filenames that match the text you entered.



Alto has a very flexible and reliable file system. Unlike many file systems (like Digital Research's CP / M or Radio Shack's TRSDOS), which limit names to 6-8 characters plus a 3-character extension, Alto's file system allows file names up to 31 characters. When you enter a file name, it is saved exactly as it was printed, even with upper and lower case letters. Since filenames can be very long, this allows the programmer to use uppercase and lowercase letters to improve readability. Agree, LongFileName.BigExtension is much nicer to the eye than LONGFILENAME.BIGEXTENSION. When a user requests a file from a computer, case is ignored. Any of the two names in the previous examples are valid, as well as longfilename.bigextension.



Files in Alto are divided into pages. Each contains a small heading that describes the page, identifies which file it belongs to, and also points to the disk locations that contain the next and previous pages of the same file. This makes the file system virtually indestructible. And a program called Scavenger can automatically repair a damaged file system.







Photo 5b: NetExecutive (similar to Executive, but allows data over Ethernet)



Of course, Alto doesn't exist in a vacuum. Software is required to work with Ethernet. Some of this software appears in the form of NetExecutive (see Photo 5b) and FTP (file-transfer program). NetExec is a program very similar to Alto Executive, but it downloads the software over the network, not from the hard drive. The user does not need to store rarely used or large programs locally. They can be downloaded over the network (at about 800,000 bits per second) only when needed. FTP performs much the same task, but is much more flexible.







Photo 5c: Mesa program edited in Bravo. Note that the listing uses different fonts.



Although most of the Alto software is written in BCPL, a new development tool has recently emerged: Mesa. It is a Pascal-like programming language. It is not compatible with BCPL due to a number of microcode differences. It is likely that Mesa will become the primary programming language for Alto's successors.



BCPL and Mesa are the Alto system languages, the main utilities and many application programs are written in them. However, there are others available on the Alto. Much of the research software is written in SmallTalk. It is a very powerful and easy to learn programming language. In addition, the computer supports LISP, which is popular with the AI โ€‹โ€‹research community.



Using the screen







Photo 5d: directory view in the Neptune directory editor. The marked file names are selected for further operations (print or delete). The cursor looks like a cross in a circle.



Alto has excellent graphics capabilities. The screen can be divided into windows. Many Alto programs are controlled only with the mouse and these windows. For example, Neptune is used to work with the contents of a local disk. You can delete a file by clicking on it with the mouse and then pressing the Delete on-screen button. As soon as the cursor moves to a new window, it can change its shape: in one window it looks like an "arrow", and in another it looks like a "brush".







Photo 5e: Bravo can use a variety of fonts (Alto has hundreds of fonts, from Gothic to Elvish runes. The center paragraph on the display is in Greek).



Since Alto is widely used for office automation research, it needs a good text editor. Bravo is a text editor and formatter. In the tradition of screen editors, the current state of a user file is always displayed on the screen. Bravo is controlled by keyboard and mouse commands. The user can open several files in windows at once. Text is added and removed using the mouse cursor and keyboard commands. Bravo supports many different fonts and allows the user to easily switch between them. In addition, Bravo remembers the changes made to the document and allows the user to undo them.



In addition to text editing functions, the user may need illustrations. There is a special program for this, Draw.



Draw is an interactive drawing program. It has many different tools for creating and editing images "assembled" from lines, curves and text. Draw divides the screen into multiple windows (see Photo 6 below). On the left side of the screen is a command menu and various brushes. At the top is the notification area and text command input. The middle of the screen is the working area. Curves can be drawn either by hand or by marking a few points and letting Draw mathematically complete the lines. Once the shape is ready, you can work with it with brushes. It is similar to the work of artists and calligraphers: the user has room for self-expression. Using the mouse and keyboard, you can duplicate an object, rotate it, stretch or compress it.







Photo 6a. Using the Draw program: points are placed with the cursor, and curves and lines are drawn by the program.







Photo 6b. Using the Draw program. Lines can be โ€œpaintedโ€ with different โ€œbrushesโ€ (the cursor has changed to a small brush).







Photo 6c: Using the Draw program, the dotted lines are created using the scissor cursor.







Photo 6d. Using Draw: You can manipulate the image mathematically. You can create a new shape by flipping, skewing, or stretching a copy of the original.



Net



Each Alto is assigned an Ethernet address that uniquely identifies it on the network. A standard address, for example 50 # 100, doesn't tell most people anything. Therefore, each Alto is assigned its own, memorable name. For example, the Alto computers at Stanford are named after the rivers and mountains of California. Alto at CMU is named after gems, and Alto at Xerox itself is named after prominent people. The result is interesting names like Cypress, Turquoise or Machiavelli. They are much easier to remember than the conventional 50 # 100.



Alto networks are not all about personal computers. Other types of devices, such as servers, can also be connected to the Ethernet network.



Servers are Alto computers "without a user", which have their own narrow task. For example, a server might be connected to a printer, and printing a file would consist of sending appropriate messages to the print server. Another common type of server is the file server. These machines support very large disks and are repositories for programs and files that are too large or too infrequently used to be stored on regular machines. The Stanford file server is called Lassen.



A completely clean Alto with empty drives from the factory can be connected to the network with a coaxial cable, and it will acquire a full set of software in a matter of minutes. The Alto can also be disconnected, moved to a different port, and reconnected. This will not affect network performance or the computer itself.





Photo 7: Trek multiplayer program. This game is completely mouse controlled. At the bottom of the screen is a short-range radar; higher - more powerful radar, navigation and weapon control windows.



There are several programs that use Ethernet capabilities. The most interesting of them are games. Trek is a multiplayer space game primarily controlled by the mouse (see Photo 7).



Mazewar is another multiplayer maze game (see Photo 8). A unique feature of these games is that multiple users can join or leave the game as they please, without affecting other players. Since all Alto can simultaneously listen to the same packet (block of information in Ethernet), the game program runs not on one coordinating machine, but on all participating machines independently.





Photo 8: Multiplayer Mazewar. Any Alto on the network can join or log out at any time.



A look into the future



The Alto can also be used stand-alone, but the most efficient configuration is a group of Alto connected over Ethernet. Since Ethernet is a local area network, a special device, a gateway, has been developed that allows local area networks to communicate with other Ethernet networks or other types of packet networks. Many companies are now developing network schemes that would allow packets to be transmitted over cable TV lines. These cables are now installed in many homes and offices, so it is easy to imagine a city of the future with a "information grid" similar to the electrical grid. Combined with an email system (the Alto today uses a Laurel prototype), the possibilities are staggering.



Alto has been around for several years. However, research does not stand still, and old technologies are gradually covered with dust. The new products will build on the invaluable experience gained in the creation and operation of the Alto.



In the near future, we should expect a sharp improvement in the quality of personal computers and the emergence of new ways to connect them together.

But without a doubt: Alto is one of the first personal computers that meets the needs of programmers, secretaries and businessmen alike.






Afterword



In total, several thousand Alto computers were produced. They were used both internally by Xerox itself and at several major universities. The computer never made it to the mass market. Now it is difficult to overestimate the degree of innovation Xerox: network capabilities, unusual software solutions, a form factor similar to the modern one. It may seem that in 1973, someone discovered the secret of a time machine and "stole" the computer of the future.



The Xerox Alto has left a significant mark on world computer history. Its interface was imitated by market leaders. His technologies and findings were applied in many newer computer devices (in 1979, Steve Jobs got on a tour of Xerox PARC , after which he immediately decided to translate what he saw in the Apple II).



You can touch Alto right nowon this site using a browser emulator. Here are some of our own screenshots from Alto games and programs. Be warned, the emulator is pretty slow.



There is also a "stationary" Alto emulator, ContrAlto, written in C #. Its source code can be found on GitHub .



At the end of the article, we will share a few screenshots.





Analogue of "Sea Battle"





Game Turkey. The picture shuffles when you press any key on the keyboard. Mouse operated.





Directory Manager Neptune





Draw Interface





Alas, none of our designers could handle Alto Draw. But it was very interesting!





1974 Alto Demo Video in Japanese



All Articles