≡ Menu

Tektronix Smalltalk Document Archive

smalltalk-boxes3This page contains annotated links to primary documents related to the development of Smalltalk products at  Tektronix in the 1980’s. Most of these documents are PDFs of scanned documents with OCR searchable meta-data.

Video of History of Smalltalk at Tektronix talk by Allen Wirfs-Brock at STIC13 Conference.  June 10, 2013.  (Slides) .

Demo video of Tek Smalltalk on a Tektronix 4404

Articles and Marketing Collateral:

Early correspondence and memos.  The first official involvement with Smalltalk-80 by Tektronix was to review chapter drafts of what ultimately became the Smalltalk “Blue Book”.  The reviewers were: Larry Katz, Paul McCullough, Bob Reed, Rick Samco, and Allen Wirfs-Brock.

Xerox distributed virtual images on quarter inch mag tapes that required a mainframe computer or large mini to read. Each tape was accompanied by printed release notes. There were a total of 5 VI release during the project plus a  ST-80 V2 release in 1983.  Here are the release notes for two of the tapes

The first VI release was sent out in February 1981.  It was essentially a Smalltalk-78 image that was in the process of being upgraded to Smalltalk-80 syntax and classes. The release included a partial print out of the the Smalltalk-78 source code from that proto-Smalltalk-80 image.

The first generation Tek Smalltalk virtual machine was implemented using our Pascal compiler and ran on an experimental single-board 68000 computer based on a variant of the Tek Board Bucket. At first all we had was a RS-232 link to a Tek 4025 raster graphics terminal. A few months later a bit-mapped display board designed by Joe Eckardt replaced the 4025. Here is a hard copy of the first display output we generated running a Xerox provided virtual image. These are scans of the hard copies produced on thermo-imaging paper directly from the 4025. The background color is an aging artifact of the paper. Each of these images took over an hour to render.

Plans and status reports on the first implementation

Paul McCullough wrote a detailed description of the initial Tektronix experience as a chapter of the Smalltalk “GreenBook”.

Building a relationship with Xerox LRG/SCG

  • On May 6, 1981 Paul McCullough participate on a Xerox organized panel on “The Public Release of Smalltalk-80” at the National Computer Conference.  Paul’s Trip Report
  • At NCC Paul talked to Adele Goldberg about organizing a visit of Tek people to Xerox PARC. June 30, 1981 letter to Adele with visit attendees and list of issues to discuss.
  • The visit was on July 10, 1981.  There is a trip  report, and follow up letter from Tek and from Xerox.

The “First international Conference of Smalltalk-80 Implementors” was held September 24-25, 1981 at Xerox PARC in Palo Alto. The meeting was primarily for people in the organizations trying to building Smalltalk-80 virtual machines based upon the blue book draft and the Xerox provide images.

The Tek Labs Magnolia Workstation was the host hardware for the second generation Tek virtual machine implementation

Second Generation Tek Smalltalk Virtual Machine.  The relatively poor performance of not just the first Tek implementation but of all non-Xerox implementations was very disappointing and cast a significant shadow over the Smalltalk technology.  However, Allen Wirfs-Brock was convinced that there wasn’t any fundamental reason that a usably fast implementation couldn’t be built for a conventional processor, such as a 68000. However achieving this would require a different approach than just following the blue book recipe. Allen transferred to Tek Labs to work on a completely new virtual machine implementation. Some of Allen’s thoughts from this period about Smalltalk virtual machine design trade-offs were documented in his contribution to the Smalltalk “GreenBook”.

The success of Smalltalk on the Magnolia inspired an effort code named Pegasus to create a 68010 based Smalltalk machine as a Tektronix product.  By the time the first Pegasus derived produce shipped in January 1985 it was positioned in the market as an “AI Machine” (here’s the story about how that came about ).

  • Magnolia’s running Smalltalk were impressively demonstrated at the annual Tek Labs Technology Forum (i.e. “science fair”) in late 2002.  Several senior executive made comments such as “we really need to do something with this”.  In response, this white paper was produced in February 2003. “Smalltalk Opportunities At Tektronix“, Tom Merrow and Allen Wirfs-Brock, February 1983.
  • This was followed a few weeks later by “Smalltalk Desktop Computer Proposal“, Tom Merrow and Allen Wirfs-Brock, March 15, 1983.
  • By early 1984 the project was well underway and the hardware has being prototype.  The Pegasus hardware was defined by the Roger Bates and Chip Schnarel who had been the primary designers of the Magnolia. Product feature summary. Hardware block diagrams. Note that Motorola was not yet shipping a 68K family MMU so a discrete MMU had to be design as virtual memory support of considered essential for supporting Smalltalk and LISP.
  • Video demo of Tek Smalltalk on a 4404
  • Photos of the internals of Allen’s 4404.  This is one of a number of  beta units that were eventually given to team members. The actual computer was inside the display unit; the side board is the cpu with 1MB RAM, the back board is I/O, the small board is an additional 1MB of RAM. The separate box housed a 40MB HD and a both 5 inch floppy, both interfaced to the CPU using SCSI.  The keyboard was “borrowed” from the Tek 4105 terminals but we were able to change a keycap to support Smalltalk-80 arrow keys.

The third generation Tektronix virtual machine was developed in 1985-86 for the 68020-based 4405/4406.  Its primary goals were improved performance and  support for a large object space (>32K objects) including large binary objects.  It used a direct object pointers (no object table) and a multi-generational garbage collector.  It first shipped with the 4405/4406 in January 1986. This may have been the first shipping commercial product, running on a off-the-self processor, to use a generational GC. Actual implementation work started in October 1985 and the the first release shipped at the end of January 1986.  This was a major over-commitment and the entire team worked straight through the Thanksgiving and Christmas holidays. In mid 1986 we released a reliability and performance update.

  • September 1985.  “Storage Management in the Tektronix 32-Bit Smalltalk”, This is the preliminary design (pre-implementation) of the memory management subsystem including the generational GC as written-up by Pat Caudill.  The actual code was implemented in 68020 assembly language.
  • September 1986.  These are the slides used when presenting the paper on this VM at OOPSLA’86. Note that the slides refer to the GC as a “Generation Scavenging” collector. While Dave Ungar helped convince me to use a generational collector the actual design wasn’t  based upon Ungar’s. Instead it was a multi-generational collector whose  design was more directly influenced by Lieberman and Hewitt’s paper.
  • The OOPSLA’86 paper: “A third generation Smalltalk-80 Implementation”,
  • May 1987. The source code listing of the memory management subsystem after a year and a half of use and maintenance. In the summer of 1986 we performed major tuning and  redesigned the working of the remembered sets.  Memory structures, memory management routines, Generational GC routines.

The final major revision of 68020 Smalltalk evolved it into Tek Color Smalltalk for the 4317.  Tektronix extended the semantics of BitBLT to perform various pixel combinations in a manner that preserved the masking model provided by classic single bit per pixel Smalltalk BitBLT.

An implementation of Tek Smalltalk was also implemented for 386 based PCs, but never released outside of Tektronix. It was an interpreter based upon the 68020 design modifed for the 386 processor architecture.  It was written, primarily in assembly language, by Pat Caudill and Tom Almy in 1987-1988.