Tektronix Smalltalk Workstations (4400 and 4300 Series)

Tektronix (also known as “Tek”) is very well known for their manufacturing test and measurement devices such as oscilloscopes, logic analyzers, and video and mobile test protocol equipment. Lesser known are their computer models. Today I want to dig into the Tektronix family of Unix workstations that support a special feature: the programming language Smalltalk.

I am a big fan of Smalltalk even if this language today plays hardly a significant role. Tektronix was heavily involved in the commercialisation of Smalltalk; in fact they provided the first commercial version of Smalltalk.


What is Smalltalk?

As Smalltalk is currently such an exotic language (it was quite a niche language even at its best times), we should probably have a short look on this programming language.

Smalltalk is an object-oriented, dynamically typed, reflective programming language. The typical implementation uses a small (hardware-dependent) Virtual Machine that interprets bytecode. The major part of Smalltalk is implemented as bytecode (in this sense it is very similar to Forth). The typical Smalltalk system includes the Graphical Development Environment (using its own GUI if necessary), the runtime environment, and the Smalltalk-to-bytecode compiler, all written in Smalltalk. Also, all sources exist live in the system, i.e. you can read them, and you can change them on the spot. As a result, Smalltalk is probably the easiest language if you intend to shoot yourself in your foot, e.g. by editing the compiler that compiles the compiler code 🙂 You typically save a Smalltalk system by making a copy of the entire state of the Virtual Machine, including code, variable contents, the lot. Therefore, if you shoot yourself in the foot, you simply reload the last copy of the working Smalltalk system.

screen

Picture of how Smalltalk typically looked like in the 80s

Smalltalk is also a language that takes object-orientation very literally. Conceptually, the statement “1 + 2” is interpreted by Smalltalk as: there is an object “1” that is sent a message consisting of two elements, a “+” procedure name and a parameter “2”. Lesser languages aim to translate object-oriented code into a procedural intermediary language (like C++ was originally a pre-processor for C), but that’s not the Smalltalk way (I know that people knowing modern Smalltalk will now complain and try to explain that nowadays Smalltalk is able to e.g. directly compile into objectcode, but as we will talk about Smalltalk in the 80s, my explanation comes very close to the reality back then).

Smalltalk was developed from 1969 by Xerox PARC. In 1980 Xerox PARC made an attempt to interest other companies in creating commercial versions of Smalltalk. One of the companies that answered to this call was Tektronix.


The first development generation (1980-1981) of Tektronix’ Smalltalk system was a single-board 68000 system connected first to a Tektronix 4025 raster graphics terminal, later on to a directly connected bit-mapped display. The Smalltalk base system was implemented using their own Pascal compiler (cross-compiled on DECsystem 10/20 computers).

magnolia-st

Smalltalk on the Magnolia Workstation

The second development generation (Late 1980 -1981) ran on the “Magnolia” workstation. The architecture of Magnolia was very much along the lines with what we today identify as an early workstation: 68000 CPU, bit-mapped display, Unix-like OS, C compiler, harddisk, mouse. As the performance of the first Smalltalk system (like every other Smalltalk implementation apart from the original Xerox ones) on the single-board system was dismal, Tektronix changed the execution mechanism completely and ended up in a well-performing system.

This success inspired Tektronix to come up with a Smalltalk workstation product, code named “Pegasus”. It ended up in the model 4404 which was 68010-based and was marketed as an “AI machine”, featuring both Smalltalk and Lisp (as an option). As Motorola was not shipping yet a 68k MMU, a discrete MMU had to be designed as virtual memory support was considered essential for supporting Smalltalk and Lisp.

The third generation Tektronix Smalltalk was developed in 1985-86 for the 68020-based 4405/4406 models. It first shipped with the 4405/4406 in January 1986.

The final major revision of Tektronix Smalltalk was done for the 4317 model that was sold from 1987.

Fortunately, the history of Smalltalk at Tektronix is extensively documented (as an entry I suggest the “Tektronix Smalltalk Document Archive”, see the references).

As I am such a big fan of Smalltalk, I really would like to own a Tektronix Smalltalk workstation (a currenty unfulfilled desire). So, if you know one that needs a new owner…

Later workstation models did not came with Smalltalk, and Tektronix also made other workstation families. The Tektronix 6130 workstation (from 1984) had a NS32016 32-bit CPU, the XD88 family (from 1989) a Motorola 8800 CPU.

Please find in the following a list of the technical data of all 4400 and 4300 series workstations. Because it was little additional effort, I listed also the data of some 4300 series models that did not have Smalltalk.

4400 Series Models (Smalltalk)

4404.jpg

4404
CPU: 68010@10 MHz + NS32081 FPU
RAM: 1 – 4 MB
Resolution: 640 x 480
CRT: 13″
HDD: 45 MB
FDD: 320 kB
Interfaces: RS232C, LAN, SCSI, centronics
OS: Unix-like OS
Initial date: 1984
Initial price: $14950

4405.jpg

4405
CPU: 68020@16 MHz + 68881 co-processor
RAM: 1 – 5 MB
Resolution: 640 x 480
CRT: 13″
HDD: 45 MB
FDD: 320 kB
Interfaces: RS232C, LAN, SCSI, centronics
OS: Unix-like OS
Initial date: 1985
Initial price: $14950

4406.jpg

4406
CPU: 68020@16 MHz + 68881 co-processor
RAM: 2 – 6 MB
Resolution: 1280 x 1024
CRT: 19″
HDD: 90 MB
FDD: 320 kB
Interfaces: RS232C, LAN, SCSI, centronics
OS: Unix-like OS
Initial date: 1985
Initial price: $23950

4300 Series Models

2D Terminals (no Smalltalk)

4224

This family was the workstation variant of the 4320 workstation family. The models differ only in the grahics resolution.
4224: Resolution: 1024 x 768
4225: Resolution: 1280 x 1024
Graphics Processor: 68020@16.0 MHz
Colors: 256
Graphics RAM: 4 – 8 MB
CRT: 16 or 19″, 60 Hz
Interfaces: 3 * RS232C, LAN (IEEE 802.3), 2 * RGB, SCSI, color printer
Initial date: 1987
Initial price: $12950-$37500

3D Terminals (no Smalltalk)

This family was the terminal variant of the 4230 workstation family. The models differ only in number of colors.
4235: colors: 16/256
4236: colors: 256
4237: colors: 4096/16.7M
Graphics Processor: 68020@16.7 MHz
Resolution: 1280 x 1024
Graphics RAM: 4 – 52 MB
CRT: 16 or 19″, 60 Hz
Interfaces: 3 * RS232C, LAN (IEEE 802.3), 2 * RGB, color printer
Initial date: 1987
Initial price: $23500-$37500

2D Workstations, entry level (Smalltalk)

4317.jpg

The family is the entry line of 4300 series workstations. Apart from not having too much dedicated graphics hardware (it seems), they have a built-in Smalltalk environment.
CPU: 68020@16.7 MHz + 68881 co-processor
HDD: 86 MB
FDD: 1.2 MB
Interfaces: RS232C, LAN, SCSI, centronics
OS: UTek (Tektronix Unix with X Windows)
Initial date: 1987
Initial price: $9995-$18950
4315
RAM: 5 – 13 MB
Resolution: 640 x 480
Colors: monochrome
CRT: 13″
4316
RAM: 4 – 12 MB
Resolution: 1376 x 1024
Colors: 16 grayscale levels
CRT: 19″
4317
RAM: 4 – 12 MB
Resolution: 1376 x 1024
Colors: 16/4096
CRT: 19″

2D Workstations, medium level (no Smalltalk)

This family was the workstation variant of the 4220 terminal family. The models differ only in the grahics resolution.
4324: Resolution: 1024 x 768
4325: Resolution: 1280 x 1024
CPU: 68020@20 MHz + 68881 co-processor
RAM: 4 – 12 MB
Graphics Processor: 68020@16.0 MHz
Colors: 256
Graphics RAM: 4 – 8 MB
CRT: 16 or 19″, 60 Hz
HDD: 86 MB
FDD: 1.2 MB
Interfaces: 2 * RS232C, LAN (IEEE 802.3), 2 * RGB, SCSI, color printer
OS: UTek (Tektronix Unix with X Windows)
Initial date: 1987
Initial price: $23500-$37500

3D Workstations (no Smalltalk)

4330

This family was the workstation variant of the 4230 terminal family. The models differ only in number of colors.
4335: colors: 16/256
4336: colors: 256
4337: colors: 4096/16.7M
CPU: 68020@20 MHz + 68881 co-processor
RAM: 4 – 12 MB
Graphics Processor: 68020@16.7 MHz
Resolution: 1280 x 1024
Graphics RAM: 4 – 52 MB
CRT: 16 or 19″, 60 Hz
HDD: 86 MB
FDD: 1.2 MB
Interfaces: 2 * RS232C, LAN (IEEE 802.3), 2 * RGB, SCSI, color printer
OS: UTek (Tektronix Unix with X Windows)
Initial date: 1987
Initial price: $37500-$51500

Applications Processor (no Smalltalk)

4301

4301
This device completed the terminals to their workstation variant. It therefore included the CPU and co-processor, the CPU RAM, the HDD, and the operating system.
Initial date: 1987
Initial price: $14950

References

Tektronix 4300 Series Catalog (1988)
http://www.bitsavers.org/pdf/tektronix/44xx/brochures/4300_Series_1988_Catalog.pdf

Tektronix Smalltalk Document Archive
http://www.wirfs-brock.com/allen/things/smalltalk-things/tektronix-smalltalk-document-archive

Roger D. Bates: MAGNOLIA – A Single User System. Design and Implementation Plan. September 1980.
http://www.wirfs-brock.com/allen/files/tek/1980-9-16-magnolia-plan.pdf

Paul McCullough, “Implementing the Smalltalk-80 System: The Tektronix Experience,” in Smalltalk.80: Bits of History, Words of Advice, Glenn Krasner, ed., pp. 59-78, Addison-Wesley, 1983.
http://sdmeta.gforge.inria.fr/FreeBooks/BitsOfHistory/BitsOfHistory.pdf

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s


%d bloggers like this: