This 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.
Demo video of Tek Smalltalk on a Tektronix 4404
Articles and Marketing Collateral:
- A Pascal Computer for Motorola 68000 Firmware This is the project Paul McCullough and I were working on when Xerox invited Tek to participate in the Smalltalk-80 release process.
- 1984 4404 Flyer
- Sony-Tektronix 4404 Flyer (Japanese)
- 1985 4405 Flyer, 4406 Flyer, 4400 CommonLISP Flyer
- 1985 , Niki Electronics article
- 4400 Series Catalog pages from 1986 Tek catalog
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 reviewer were: Larry Katz, Paul McCullough, Bob Reed, Rick Samco, and Allen Wirfs-Brock.
- July 1980 Letter: Xerox Invitation to Participate in Smalltalk-80 Project
- August 1980 Memo: 1st GCS Smalltalk project proposal
- October 1980 Memo: 1st book review meeting notice
- October 1980 Memo: Explaining project to GCS managers
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.
- Not Quite There, A Virtual Machine bug encountered before start-up screen fully rendered
- Congratulation Screen
- First attempt to browse
Plans and status reports on the first implementation
- Smalltalk Intro and Initial Implementation Plan, February, 1981
- Progress Report, late May or early June 1981
- Progress Report, September 1981
- Smalltalk Intro and Progress Report, November 1981
- Comparative Performance, Mid-1982
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.
- August 27, 1981 The invitation for Tektronix to participate.
- September 24, 1981, The Attendee Sheet from the first day of the meeting. I think it is safe to assume that none of the phone numbers and address are still valid. Also note that there was no provision for email addresses.
- November 20, 1981, Implementors Conference meeting notes distributed as part of the November VI Release Notes.
The Tek Labs Magnolia Workstation was the host hardware for the second generation Tek virtual machine implementation
- Magnolia: A Single User System, Design and Implementation Plan, Roger Bates, September 16, 1980
- Magnolia: Project Status Report, Roger Bates, May 22, 1981
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”.
- November 18, 1981 Allen transfers to Tek Labs memo.
- Analysis: trace analysis, bytecode dispatch, cycle counting alternative code sequences
- Design Notes and Alternatives, Allen Wirfs-Brock, February 1982
- Comparative Performance, 4th Quarter 1982
- Comparative Performance, middle 1983
- “A High Performance Smalltalk Interpreter“, Colloquium talk by Allen Wirfs-Brock at University of Washington CS Department, January 1983. This talk gives an overview of the major design decisions make for Magnolia Smalltalk including its use of deferred reference counting and optimized context allocation. By the time of this talk, this Smalltalk implementation was being widely used within Tek Labs and was ready for adoption by the Pegasus project.
- Smalltalk on a Magnolia (from the orange book)
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” (there is a story to be told 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
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”, This paper can be freely accessed from the ACM Digital Library using the link on this page.
- 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.
- Preprint of Rebecca Wirfs-Brock’s OOPSLA-88 paper: An Integrated Color Smalltalk System.
- 1988 Tektronix Color Smalltalk article by Rebecca Wirfs-Brock from Tekniques Magazine
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.