The Chipmunk story

The Chipmunk tools reflect many aspects of the original hardware platform for the programs, the Hewlett-Packard computers that were in use at Caltech in the 80's. There were three basic machine types, known by their internal code-names at HP during their development.

The first computer type shipped to Caltech, the Gerbil (HP 9826) is a 68000-based computer that integrates the keyboard, a black-and-white 3-inch monitor, and all electronics into a single monolithic unit.
The majority of the machines in the Caltech clusters were Chipmunks (HP 9836s and 9836Cs). Chipmunks and Gerbils have the same keyboard, processor, and monolithic design, but Chipmunks have larger (12-inch diagonal) monitors, and the 9836C displays are color.
Bobcats are 68020 and 68030-based computers, which are software compatible with Chipmunks and Gerbils. Physically, Bobcats are very different from Chipmunks: keyboard, monitor, and CPU are separate units. Although a version of HPUX runs on Chipmunks with upgraded motherboards, Bobcats are the first machines of the series that were designed to support Unix from the ground up.

The basic hardware.

CRT displays on Chipmunks consists of two different types of displays that are overlaid in registration on the monitor. The alpha display is an 8-color, single-font, 80x24 text display, and the graphics display is a 512 x 390 bit-mapped display. Color Chipmunks have a 4-bit frame buffer, indexed into a 12-bit color map. The separate roles of the newcrt and mylib windows in the Unix versions of the Chipmunk tools directly descend from the dual displays in the original hardware.

The keyboard for Chipmunks and Gerbils has a unique feature: a rotatable disk located in the upper-left-hand corner. Disk rotation is uniformly used as left-arrow and right-arrow commands in Caltech software, and shift-rotate is used for up-arrow and down-arrow commands. The assumed ease of issuing multiple cursor commands is obvious in the Unix versions of the Chipmunk tools, especially in the attribute screens of Log and Until.

Chipmunks and Gerbils predated the popularity of mice as pointing devices; each machine at Caltech was attached to a stand-alone graphics tablet that served as a pointing device. The graphics tablets include a tethered pen; in addition to the X-Y position of the pen, the tablet can sense if the pen was in proximity of the tablet surface, and whether or not the pen is depressed. These four values (X, Y, depression, proximity) are continously streamed to the main machine.

The unique usage of the mouse buttons in the current Unix versions of Chipmunk software directly descends from the four parameters generated by the graphics tablet. The left button maps directly to "pen currently depressed", while a right button click maps to "pen just moved from the proximity of the tablet".

Shared peripherals.

Chipmunks, Gerbils, and Bobcats typically didn't have dedicated hard disks at Caltech. Each cluster of machines accesed a disk array attached to fileserver machine (called an SRM, or Shared Resource Manager); a star network connected each machine to the SRM. SRM network speed is about as fast as a floppy disk. The three clusters were networked to each other using an Ethernet physical layer running the SRM protocol (at SRM speeds).

Artifacts of the slow network speed can be seen in the Unix versions of Chipmunk software -- most notably, the binary file formats for character fonts, and in the binary gate file format in Log. These binary formats (along with non-portable methods for reading and writing binary files) are major challenges during ports to new CPU architectures: problems associated with the 64-bit natural wordlength of the DEC Alpha CPU has stalled the Chipmunk port to new DEC machines for several years.

Other common peripherals in the lab included HP pen plotters and Apple Laserwriters. These devices resulted in the support of both HPGL and Postscript in many of the Chipmunk tools. The pen plotters were wheeled around the lab, and connected to the Chipmunk or Gerbil that a user was sitting at; this approach to plotting explains the obscure "Plot" commands in Log, Wol, and View, which were written to be tolerant of transient plotters. Printers, in contrast, were always served via the local SRM.


Several HP-supplied software packages were used at Caltech without modification or replacement: the Pascal compiler, the 68000 assembler, and the SRM networking software (client and host). Most of the other original software for the machine was replaced by Caltech-written alternatives.

The libraries that are now the Psys package are all Caltech-written replacements for the major OS functions; most of these packages were written by Dave Gillespie or Glenn Gribble. In addition, the HP-supplied menu-based OS user interface was replaced by a Unix-like shell environment (Pete Alfke), and new applications were written for text editing (Glenn Gribble and Chris Stassen), file browsing (Peter Alfke), and source-level debugging (Dave Gillespie). These applications, as well as a hypertext-based help system (Dave Gillespie), were not ported to Unix. The other major applications written for the Chimpunk cluster at Caltech were ported to Unix, and are a part of the Chipmunk software distribution.

john [dot] lazzaro [at] gmail [dot] com