The Tektronix 4052 System

Return to Home
Return to Resources


               



Emulator

There is an online emulator for the Tektronix 4051 that has a Javascript emulation of a 6800 processor executing instructions from genuine 4051 ROM dumps. The 4051 is the predecessor to the 4052 but both machines share very similar behavior. You can also find programs written in a TXT file in the GitHub project page that can be loaded via the emulator's "GPIB" port.



The Story

A friend of mine who used to work for Tektronix from 1973 to 1983 was cleaning out his garage and told me to come by to check out a pile of stuff that he was going to throw out. I went over and saw that the stuff was largely Tektronix branded devices and that was when I found a 4052 computer. At the time I had not heard of Tektronix manufacturing anything but high quality oscilloscopes and other test equipment, so I was impressed to find that they even made an attempt in the computer market back then. My friend told me that the stuff was good for parts, but I decided to keep the 4052 along with a few other peripherals. Sadly, the 4052 I took home did not work correctly when I fired it up. Although it appeared to execute the correct power up sequence as indicated by the lights on the front panel, nothing appeared on the screen. I readjusted the brightness and bias controls on the display board but managed to get nothing more than a non-moving dot on the screen. I just left the computer sitting in the house for about a year until my friend cleaned out more things and gave me yet another 4052. The second 4052 was barely working; it would power up and if you were lucky a cursor would appear sporadically. Now that I had two 4052s to swap around boards, I isolated the problem in the first one to be the I/O board that controls the display and both computers had problems with their memories. Fortunately, my friend also gave me two sets of preprogrammed ROMs that included the Tektronix BASIC interpreter to replace in one of the 4052s and finally got one to fully function.



The Tektronix 4050-series Systems

When I searched on the Internet for "Tektronix 4052" there was not much information about its history and specifications. However, searching for a 4051, the earlier and low-cost brother of the 4052, would return slightly better results but hardly any useful information. I gathered some information from a few contacts about the 4050-series graphic computer systems produced by Tektronix in the late seventies:

The 4051 was a 8-bit 6800 processor-based system introduced in 1975 for the base price of $5,995 with 8K RAM. The RAM was expandable to 32K for extra cost. The 6800 processor had a top speed of 1MHz at the time. The 4051 was mainly intended for graphics design because of its smooth and high resolution vector display drawing capabilities.

The 4052 was a vastly improved version of the 4051 using four bit-slice AMD 2901 processors operating on 16-bit wide data and was engineered by Tektronix to run 6800 programs significantly faster than the 6800 could so the 4052 could mostly run the original 6800-based programs developed for the 4051. Tektronix inserted custom instructions to the 6800 instruction set so the 4052 could do floating point computations faster than the 4051. The 4052 was introduced to the market no sooner than 1978. The cost for the base unit with 32K RAM was $9,800, and the RAM could be expanded to 64KB for an additional $2,000.

The 4054 is a larger version of the 4052 with much more features. The 4054 used the same bit-slice processor design as the 4052, but introduced a larger screen with high-resolution 4096x3125 pixel graphics. This was unheard of in the late 1970s and the reason these systems were used for high resolution graphics work. The base unit cost $16,500 with 32K RAM, expandable to 64K for an extra $2,000.



The Tektronix 4052

Overview

The 4052 is unique compared to other computers of the late seventies because of its vector-based display and the DVST (Direct View Storage Tube). In the 1970s, Tektronix was in the unique position of being a leader in oscilloscope technology and the DVST was their method of capturing oscilloscope single-sweep waveforms on a screen for examination. The DVST was developed by Tektronix in the late fifties and contains a special plate over the CRT face that continuously glows when the electrons emit off the phosphor of the CRT face. At the time most computers had to implement video memory to store pixels and characters to display information. RAM was very expensive at the time so video memory was limited and consequently display resolutions were low. Tektronix likely saw the DVST as a competitive advantage in the fledging computer market because it eliminated the need for video memory and unburdened the processor from performing video related operations. The DVST itself was literally the "analog" video memory for displaying information. The 405x series uses what is called a vector-based display in which the processor simply moves the CRT beam from a specified point to another on the screen in a manner very much like an Etch-a-Sketch. Vector displays do not require pixel information to be written to video memory and then rasterized out like what the majority of computers did. When the 4052 starts up, it uses the Cartesian plane coordinate system with the X axis at 0 to 130 and the Y axis at 0 to 100 for defining the coordinates for which all BASIC commands can position the cursor and draw lines. This window actually could be changed with a simple command in BASIC. One other distinction with the DVST screen is that the computer only has to draw its graphics once and the screen stores the line. The Vectrex game system is another example of a vector-based display, however, it uses a conventional CRT and has to repeatedly draw out the graphics for the same reason a raster display has to repeatedly scan the screen because the CRT phosphor illuminates temporarily. The repetitive refresh rate causes flicker, but the DVST does not have flicker.

However, there is a downside to the DVST. Whatever is drawn literally remains including text! If you made a mistake in your typing, backspace only goes back one space, but it doesn't actually clear anything on the screen. Your option was either to press RUBOUT to blotch out that bad character and then resume typing, or hit the HOME/PAGE key to trigger the DVST to flash bright green to completely wipe the screen and then have the computer start over redrawing all the text. The blinking cursor is not stored on the DVST because it uses "write-through mode" that lowered the brightness of the beam low enough to activate the screen phosophor to be visible, the secondary electron emissions off the CRT face was insufficient to activate the DVST. The biggest limitation of the DVST is that it greatly limited the type of interactivity and animated graphics that we have come to expect on any computer because it doesn't have the rapid refresh capability of raster based displays. The HOME/PAGE erase takes about 1 second to complete. The only kind of animations that could be possible would have to take in consideration that whatever is drawn remains and games that have been developed for these machines include things like Lunar Lander. These computers were aimed towards higher end markets that needed high resolution graphics and were not catering to those who wanted higher levels of graphics interactivity and games.

The Hardware

The 4052 has a large motherboard that consists of four individual boards: ALU (Arithmetic Logic Unit), MCP (Memory Control Processor), MAS (Memory Access Sequencer), and the I/O (Input/Output) boards. Below are pictures of the motherboard top and bottom views.

For the top view, the top of the motherboard is the ALU which contains the four bit-slice 2901 processors and the MCP board below it. The 5V power supply feeds into the MCP board on the left of the ribbon cable. For the bottom view, at the bottom is the MAS board, which contains the BASIC interpreter ROMs, the 4116 dynamic RAMs (DRAMs) and the GPIB port. Above it is the I/O board, which contains several D/A (Digital/Analog) converters to convert the digital signals into analog X and Y signals for the display. The I/O board also receives the keyboard input, tape drive signals, and other power sources besides 5V.

The BASIC Interpreter

There are some nice and unique things about the BASIC interpreter on this computer. When entering a multiple-line program, each line is sent to the processor and checked for syntax before being sent to memory. Many other computers would simply allow one to type in a program directly to memory and only check for syntax in the end when the program is run. The 4052 would check each line as you went along, and if it found an error then it would print SYNTAX ERROR with an arrow pointing to the exact location of the reprinted line where the error was found and allow you to edit it.

Also, unlike many other low-cost personal computers, the 4052 can execute mathematical operations like a calculator without requiring something like PRINT "5+4" because 5+4 alone would work. There are certain BASIC commands that can set up the 4052 to graph like WINDOW -X,X,-Y,Y and AXIS X,Y. Tektronix BASIC supports the MOVE (similar to LOCATE on some other computer systems) and DRAW command. MOVE X,Y would move the cursor to a point on the Cartesian coordinate plane and this sets the initial point of a line that would be drawn with the DRAW X,Y command. The system, however, does not support PLOT, but the same concept can be done by using MOVE and DRAW at the same point, which results in a dot being drawn. By using a simple BASIC loop, one could graph a function by incrementing X and calculating the function of X (ie. X^2) then plot using the DRAW X,Y command.

Advertisement

Below is an advertisement on the 4050-series taken from a 1980 Tektronix catalog that includes the 4052 (thanks to Bob at www.dvq.com for the scan).



4052 Programs

I made some relatively simple BASIC programs for the 4052 that will also work on the 4051, 4054 and perhaps other computer systems that supports a similar type of Tektronix BASIC. They are BASIC programs provided in text form for manual entry on the computer or the emulator at the link above.

  • Lines! - This program draws a line and moves it around in a random manner, the DVST stores all the previous positions of the line, which gives an interesting effect. I set up a line counter that would store the number of lines drawn in X, and after 150 lines have been drawn the computer would erase the screen then continue drawing. The picture of the 4052 computer system at the top right of this page was taken using this program. Below are some other pictures of the computer using this program:

              


  • Draw - This program uses the 4952 joystick for the 4052 and a POINTER statement to draw lines. The graphic pointer is moved to a point then one presses any key but Z then that sets the initial point, then the pointer is moved to another location and by pressing any key but Z will draw a line from the initial point to that point. This program can be used to draw images using the pointer. Now about the Z key, when you press Z at a new point, then it will move the initial point to the new position without drawing a line. Basically when you draw lines using other keys, the final point becomes the new initial point for the next line to be drawn. Z simply moves the initial point without drawing a line. I managed to draw a picture of TEK using this program and a picture of this can be found at the top of this page on the left.


  • Spirograph - This program demonstrates the power of the floating point and trigonometric operations on the 4052 drawing a neat spirograph.


  • Clock - This program uses the 4052RO9 Real Time Clock ROM Pack that attaches to the "backpack" on the 4052. The ROM pack extends the BASIC commands to include CALL "SETIME" and CALL "RDTIME" to set and read the time respectively. When the ROM clock has to be set, it requires the information this string format: DD-MON-YY HH:MM (i.e. 01-JAN-06 12:00), so the program simply prompts for the time then injects that into a string with some random date and sets the ROM clock. Afterwards, the program calls a subroutine to draw the face for the clock, then reads the time and stores it in string A$ that follows the DD-MON-YY HH:MM format. A$ is then disassembled to three strings for hours, minutes, and seconds. All of these strings are converted into a mathematical value for arithmetic and logic operations. After the digits have been obtained, the program draws the hour and minute hands. The displayed minute is stored in P, and the seconds are stored in I. Then the minute value is obtained again and is compared with the value in P, and if it is greater (a minute has passed) then the program goes to the subroutine to erase the screen and redraw the clock face, then when it returns it goes to line 130 and from that point on obtains the new hour and minute and redraws the hands and so on. If a minute has not passed, then the program goes to the seconds section to draw the seconds dot for every second (when S becomes greater than the current second stored in I). In short, the clock draws an analog clock and the DVST stores everything so the only processes that takes up most of the computer's time is drawing the seconds and checking for the minutes. When a minute passes, the screen is cleared and redrawn so the hands can be repositioned. Below is a picture of the clock on the screen: the time displayed is 9:37:54. Notice that there is no seconds dot for the 0 and 1 because it takes up a little over a second for the DVST to completely erase when a minute has passed and have the whole clock redrawn.


    Back to Top