• Please review our updated Terms and Rules here

Tektronix 4051 / 4052 / 4052A / 4054 / 4054A Program Archives

nikola-wan

Veteran Member
Joined
Mar 7, 2018
Messages
1,286
Location
Texas, USA
I have begun the process of re-reading the dozens of Tektronix 4050 series program tapes I collected 18 years ago, and another huge collection of 36 tapes from Al Kossow.

Somehow - I failed to find the files I downloaded to my PC while making copies of the tapes in 2000 :(

As I began to use my serial program on a laptop connected to my now operational and upgraded 4054A, I have re-encountered the issues with using RS-232 serial for program and data transfer, and have begun to learn how to deal with 40 year old data tape cartridges with disintegrated drive belts.

My serial transfer program uploaded to the Tektronix 4051 web emulator github site:
Tek405xEmulator
and my Tektronix 405x Program Files Archive site:
Tektronix-4051-4052-4054-Program-Files
is able to recover programs from a readable tape with an Option 1 Serial Interface on your working Tek 405x computer by substituting a printable character string ~X~ where X is the fundamental character typed for each of the control characters heavily used in Tektronix PLOT50 PRINT statements.

However - the emulator above uses a different scheme to form a control character as X<BS>_ where <BS> is the backspace control character. I have successfully manually edited some of my recovered programs with Notepad++ to change my control character scheme to the emulator scheme, but that is still a lot of manual effort that I haven't done for the programs I have recovered so far. Yes - a small program should be able to automatically accomplish that conversion - that I haven't written yet.

But I ran into two killer serial transfer program issues:
1 - Transfer from PC to Tek tape
2 - Transfer of "Fast Graphics" ASCII data files to the PC

1 - I was able to transfer Tek 4050 ASCII program files both to and from my PC in 2000 with my program with no serial hardware handshaking protocol, but the higher performance of my current PC now overruns the Tek on transfers back to tape. The 4052/4054 Serial Option ROM added a new serial command CALL "CMFLAG" that according to a Teknique article adds handshake control - but until late yesterday I could not find ANY documentation on all the parameters. The only bitsavers documentation I have found is the original 4051 Option 1 Serial operators manual. Then yesterday I found a Tektronix 4114 Host Programming guide with one page outlining the 4114 CMFLAG parameters. I am hoping the 4052/4054 CMFLAG has the same parameters. Bottom line on using serial - I don't think this method will work for the Tek 4051, and I'm not confident I have got it fully working with my 4054A.

2 - One of Al's program tapes was labeled 4051 Graphics Demos and the first demo program was titled "PICTURE TAPE INDEX" with the following files:

120 PRINT "PICTURE TAPE INDEX"
130 PRINT "~J~~J~~J~1-------ALL PICTURES"
132 PRINT "1.2-----CONVERT Z,X,Y TO STRING DATA"
134 PRINT "1.4-----CONVERT PRINT @0: TO STRING"
136 PRINT "1.6-----FAST GRAPHICS TO PLOTTER"
140 PRINT "2-------INTRO TO FAST GRAPHICS"
150 PRINT "3-------TEK LOGO OLD"
160 PRINT "4-------GARGOYLE"
170 PRINT "5-------MICKEY MOUSE"
180 PRINT "6-------SNOOPY"
190 PRINT "7-------WIZARD"
200 PRINT "8-------R2-D2"
210 PRINT "9-------FLAKEY FUNT"
220 PRINT "10------R2 TALK"

I got excited as I am a huge R2-D2 Star Wars fan - and have built my own aluminum full-size remote controlled R2-D2.

Then the bad news - this tape is apparently an ancestor to Zetopans 4051 Fast Graphics ROM Pack, and the first program uses a 4051 CALL "EXEC" program to draw the vectors on the screen after the program FINDs a selected data file.

The program comments outline the structure of the fast graphics data as three ASCII characters per vector - with MOVE and DRAW as one bit of the first character and the 10-bits of X and 10-bits of Y across all three 7-bit ASCII characters.

I knew (from trying) that my 4054A would not run the CALL "EXEC" code (which jumps to 6800 assembly code and uses the 4051 ROM entry points and 4051 X&Y D/A converter I/O addresses - totally different than for the 4052 and even different for the larger X&Y 4054).

That didn't stop me from trying to transfer the ASCII data files from the tape and attempt to create BASIC PRINT statements to draw them.

Now I ran into a new issue with my serial transfer to the PC - the data is really packed 7-bit binary, and NOT intended to be accessed from a BASIC program, just accessed by the CALL "EXEC" assembly language program.

1 - INPUTing the data file from BASIC into a string variable: the string variable must be dimensioned as large as the entire data file, as the Tek is looking for a carriage return control character to terminate each string. And the Tek BASIC strips the trailing carriage return character and passes the remaining data to your program

2 - My original serial transfer program used software handshaking during the transfer - as XON/XOFF control characters are NOT found in Tek BASIC programs. That is not true for the Fast Graphics Data files :(

3 - Tektronix 4000 series graphics terminals already used a packed ASCII file format for host computers to send graphics data to the terminals, but the 19" terminals had more resolution so there are two different formats. Later, they added dot intensity and even later color values in these formats. This was 60's and 70's bleeding edge DVST graphics technology innovation before memory prices allowed true bitmap displays. For the 4050 series computers - displaying vector drawings from a program file can easily exceed the 16KB of memory in the original 4051.

Tekniques Vol 7 No 3 Tekniques_Vol_7_No_03.pdf page 5 outlines the huge performance advantage and memory space advantages of the R12 Graphics Enhancement ROM Pack available in a version for 4051 and a different pack for 4052 and 4054. This ROM Pack also added MUSIC commands to the computers!

I need one of these R12 ROM Packs for my 4052/4054 :)

In the meantime I have downloaded and converted to a BASIC program (that runs on all 4051/4052/4054 computers and even the Tek 4051 Emulator) the SNOOPY picture. I added a PAGE command to clear the screen and the SNOOPY title. I also shortened the BASIC program by putting multiple draw commands on a single PRINT statement.

SNOOPY program file

Here is a screenshot of SNOOPY from the emulator:

SNOOPY screenshot from Tek 4051 emulator

and another screenshot from my 4054A:

SNOOPY on my 4054 upgraded to 4054A

I made two changes to my posted serial transfer program - change 190 to CALL "CMFLAG",4 and change 192 to 2400 baud.
I also stopped using PUTTY for the PC serial transfer program and have been experimenting and learning how to use RealTerm. I have even tried having RealTerm capture to a file without displaying, and also writing two HEX characters for every incoming byte. I also changed line 570 to E$=B$&M$ to add a carriage return to the incoming FAST GRAPHICs data file string to replace the one dropped by Tek BASIC.

I have not gotten any of the other graphics files transferred and converted yet - and I also found a set of 4014 graphics files posted by Jos Dreesen that I would like to try to convert to display on Tek 4050 computers - possibly changing the format to floating point ASCII data statements to read from tape. This technique would not work with the emulator until it supports programs accessing another file.

Monty

PS - I managed to mangle the R2-D2 file where I can't read it anymore. I have one transfer to the PC before that - but there is a lot of missing data and therefore lots of bad vectors :( It will take some major surgery to try to recover this file. Does anyone have the R2-D2 file from the Tektronix 4014 demo?
 
Last edited:
4 Tapes just uploaded

4 Tapes just uploaded

I recovered almost all the files from four more 40 year old Tektronix 4050 tapes - and uploaded them in separate folders on my github archive site:
Tektronix-4051-4052-4054-Program-Files

Graphing T1 062-5964-01. I misnamed the folder -00, but I don't know how to rename it on github.

Interfacing T1 062-5984-00

4050 GPIB Support Software for 4662 - 020-0256-00. I haven't found any document on the web referencing this tape.

4027A - 4052 Compliment Color Graphics Demo. This tape had a hand written label. Looks like each program sends graphics commands over serial interface to an attached 4027A color monitor


More tape uploads coming.

Monty
 
Last edited:
I found a new - simpler way to use the Option 1 Serial Interface to save tapes without needing a program.

Tekniques Vol 1 No 5 March 1977 - page 5 shows how to use the serial interface to get the 4051 to act like a 4010 series terminal!

just type:

CALL "RATE",9600,2 //Only on 4052/54 - use 2400 max on 4051)
CALL "TSTRIN","","","D" //Removes NULL and DC3 from the transfer and adds EOT at end of transfer
FIND x //Find the file on the tape you want to transfer
CALL "TERMIN" //This puts in the 4050 in terminal mode
press User Definable Key 16 (shift UDK 6) //Turns off local echo

get your PC program ready to capture an ASCII file

press UDK 4 // Data Send

if the transfer completes without error - the tape stops
error messages like READ errors will be displayed if they occur

After the tape stops - close the file on the PC transfer program.
I like to then open the transferred file with Notepad++. Scroll to the end of the file - if no EOT character, the file transfer was incomplete. Delete the EOT character and save the changed file.

****
I really like RealTerm (free download) - which can capture and send files or act as a terminal. To use it with the Tek - configure the port for the same speed as in the RATE command. I use 9600 7E1 with no handshake. Then click the capture screen - create a filename - click Direct Capture (no echo on the pc) - Start Overwrite.
Now Press UDK 4

after the transfer stops - click Stop on RealTerm

Press UDK 5 to return to Tek BASIC

Now you can FIND another file, type CALL "TERMIN", and you are ready to repeat the above steps to capture that file.

I am going to change the github README to the instructions above

Monty
 
Last edited:
Thanks for uploading the games, Monty.

But, um, what's this HARDON thing? Did characters get jumbled over serial? :D
 
Thanks for uploading the games, Monty.

But, um, what's this HARDON thing? Did characters get jumbled over serial? :D

It works loaded into the emulator - I haven't tried it on my 4054.

Looks like it could be a timing issue - that only works on the 4051. I'll mark that file 4051 only

Monty
 
Well, glad it works. Was just a bit amused by the name; HADRON woulda been less risqué. Or maybe it's just me. ;)

Btw, the Gumowski thing published in Creative Computing (linked in one of the other Tek threads) is pretty interesting to watch. Kinda psychedelic even. Forgot to dump my tape tho. Give it a try, it's a quick type-in.

--Roland
 
Well, glad it works. Was just a bit amused by the name; HADRON woulda been less risqué. Or maybe it's just me. ;)

Btw, the Gumowski thing published in Creative Computing (linked in one of the other Tek threads) is pretty interesting to watch. Kinda psychedelic even. Forgot to dump my tape tho. Give it a try, it's a quick type-in.

--Roland

I posted it :)

Monty
 
Added new Tektronix 4050 picture files with screenshots

Added new Tektronix 4050 picture files with screenshots

Finally created a format that will play the Fast Graphics compressed binary ASCII format pictures on any Tek 4050 computer and the web-based emulator.

I transferred the pictures to my PC over serial by changing the output format to two Hex ASCII bytes per binary vector 3 character point.
Then converted each Hex picture file into BASIC DATA strings and added my player program to the front of each file.

The files use the PRINT @32,21 (MOVE) or PRINT @32,20 (DRAW) commands to speed up the drawing - but it is still a LOT slower than the FAST GRAPHICS ROM Pack or Graphics Enhancement ROM Pack.

The other formats I tried either required a separate file to be read into the Tek - which doesn't work on the web-emulator, OR were too big to add as inline program statements.

You could modify my player program to change the size of the vector picture or its location by modifying the scaling in the PRINT @32,M: line in the program.

Remember that this print command works on Graphics Display Units for X and Y - 0-130 for X and 0-100 for Y, and the input data file is designed to write directly to the 4050 D to A converters - with 10-bit binary data for X and Y - without any scaling capability for the FAST GRAPHICS ROM.

The Graphics Enhancement ROM R12 is a little slower than the Fast Graphics ROM - but considerably faster than DRAW or PRINT statements, as it does allow scaling and other modifiers for the data - but does this with integer math. I still haven't found a way to use serial to directly save and restore the binary ASCII data files without missing characters in the process.

Each PRINT command in my program is doing floating point math to compute the GDU coordinates from the 10-bit input data statements.

One advantage of my picture file format is - no issue with transfer over serial - as all the characters are plain ASCII HEX values.

Here are screenshots of the new pictures (also on the github site from post #1):

IntroToFastGraphics.jpg OldTekLogo.jpg Gargoyle.jpg MickeyMouse.jpg Wizard.jpg
 
Last edited:
Added Tektronix 4050R12 Graphics Enhancement ROM Pack program folder to the archive

Added Tektronix 4050R12 Graphics Enhancement ROM Pack program folder to the archive

I have uploaded a tutorial program that I created from the 4050R12 Graphics Enhancement ROM Pack instruction manual examples I posted in that thread.

Tektronix-4051-and-4052-R12-Enhanced-Graphics-ROM-Pack post 7

I also uploaded files that contain strings to directly input for testing several commands including MUSIC and SOUNDS.

To use the strings command - I set up my PC serial port as follows:
CALL "RATE",300,2,0
CALL "TSTRIN","","","D"
CALL "RSTRIN","","","D"

then setup the RealTerm PC program port speed to 300E71 - no handshaking
selected the string file I wanted to transfer

Then on the 4054 typed:
DIM L$(1000)
INPUT@40:L$

At this time you can type on the 4050 your Graphics Enhancement command to run the string - example for MUSIC:
CALL "MUSIC",L$

4050R12-Graphics-Enhancement-ROM program archive folder

Monty
 
Last edited:
Aswan Dendera Lights

Aswan Dendera Lights

And now for something different.

I have been experimenting with Tektronix 4114 plot files - from Jos Dreesen's ftp save of Chuck Forsberg site:
omen.com Tektronix Terminals plot files

The 4114 Terminal was a 19" storage terminal with same resolution as my restored 4054A computer.

I used Cygwin on my PC to run the linux plotutils library - which contains a tek2plot routine that can convert these old files to bitmaps or HPGL or SVG, etc

The Tektronix terminals displayed text with vectors, vector graphics and even pictures with dot patterns.

The vector picture files I have posted on my program archive site for the 4050 series were converted from SVG translations of the tektronix plot files.

However, some of the files are simply dots not vectors - so I've been working to develop a Tek 4050 BASIC program to display them.

The file format is called Marker Mode in the 4114 Host Programming Guide and consists of one to five 7-bit ASCII bytes per point.

I based my Tek BASIC program on the C-language source code to tek2plot, embedded one of the picture plot files called aswan.plt and got everything working last night on the web-based 4051 emulator - and then ran it on my 4054A.

I used Notepad++ to reformat the aswan.plt file into BASIC DATA statements and copied that to the end of my program.
Long term - I plan to have the program directly read the plt files from tape (or my to-be-finished GPIB flash drive), but that won't work for the web-based emulator (until it allows more than just "OLD" command to load a program).

Here is a screenshot of running my program on the web emulator:

Aswan4x-2047.jpg

Since the Tek 4050 series does not directly allow you to use the 10-bit DACs - I have a window command in the program that I hoped would automatically convert the output to 4050 GDUs (graphics display units). However - I had to adjust the X and Y computations on lines 1072 and 1074 for scaling and position before I could see the picture.

If you have the web-emulator or a 4051,4052 or 4054 - the 4054 needed different scaling - I found scaling by 8 and subtracting 6400 worked on my 4054.

I do warn you that the MOVE/DRAW are slow - so you will be waiting a couple of minutes for the picture to be complete.

I did some googling today on that picture - it is in the Dendera Temple in Egypt - and is also called Dendera "Lights", although the scholars debunk the websites that imagine they are high technology.

I posted the BASIC program in a new folder - 4114-Plot-Files.

Monty
 
I just added 14 more 4114 plot files converted to Tek 4050 BASIC programs for display - plus screenshots
 
I just added over 100 files to the Tek 4050 Program archive github site! See the archive site link in post #1 in this thread.

- PLOT 50: General Utility Programs Vol1 Tape1 PN 020-0206-01. I couldn't download the SECRET programs including BASIC EDITOR.
- PLOT 50: MATH Vol1 Tape 1 PN 020-0158-00 All files recovered
- PLOT 50: MATH Vol2 Tape 1 PN 020-0159-00 All files recovered
- PLOT 50: MATH Vol2 Tape 2 PN 020-0159-00 All files recovered

I also uploaded the TLIST results for each of the above tapes. The TLIST output shows the file names for a tape in the file headers.

I have added LF to all the CR in the files for easier readability. Those LF must be removed from the files before loading into 4052 or 4054 computers.

I also changed the J control characters to JBS_ for readability. This works with the 4051 web emulator which converts that back to the control J while loading.

Sadly, the web emulator does not support programs accessing other files - you will need to load the individual programs, and for some - remark out the lines trying to do file access.

For my GPIB flash emulator of the tape drive - I will change the programs to work in different directories - supporting the FIND # commands directly.

Until we can crack the 4052/4054 microcode, I won't be able to do anything with the SECRET programs on the PLOT 50 tapes.

Notepad++ makes editing the files very easy - highly recommended.
Post any of your questions about making the control character changes - and I'll explain how to make them in seconds - in all the files.

Monty
 
Last edited:
I just updated the Tek 4050 archive README to include simple instructions on how to download any of the programs on the archive to your 4051/4052/4054 if you have Option 1 Serial port.

To use the 4051 web emulator -
- click the emulator "Start button
- then click "Choose File" and select the program file that you have downloaded
- now type OLD @1: and press Enter (use the Tek keyboard in the emulator the @ and : - or use the PC keys `1')
- type RUN to run the program

Monty
 
I just added a folder to my archive (post #1) for a couple of demos from the 4050R12 Graphics Enhancement Demo tape - that I converted to basic programs which will run on all 4050 computers and the emulators.
 
Three Tekniques 4050 program tapes and a Fast Graphics tape uploaded to my archive!

Three Tekniques 4050 program tapes and a Fast Graphics tape uploaded to my archive!

After extensive internet searching - I found a treasure trove collection of 187 Tektronix 4050 program documents - most in original Tektronix binders with tapes and some with floppy disks. This collection was in 34 book boxes, with another 20 or so boxes - each containing 70 to 100 tapes!

This collection was donated by Bob Rosenbloom to the Living Computers Museum+Labs in Seattle - thank you Bob!!

I flew to Seattle last week with museum permission to make an inventory Bob's collection. I worked from 8AM to 5:30PM and made notes of the contents of each of the 34 documentation boxes, and managed to quickly peek at about half the boxes of tapes. I am still working on a spreadsheet of the collection inventory.

I left many binders and documents in front of the boxes - that I felt needed to be scanned and posted on bitsavers including service manuals.

The museum had all the documentation boxes on tables in the basement ready for my arrival. The tape boxes are to the right of the orange crates in my panorama photo below.

Bob's Tektronix docs and tape collection

There were several items that I had been searching for - including a Tekniques Vol 6 No 4 T1 tape containing a 4052A/4054A assembler program.

The museum archivist found that tape and a couple more Tekniques tapes - but encouraged me to visit the museum as they had no inventory of Bob's extensive donation.

I just finished replacing the broken drive belts and posting the recovered files from four tapes that I have on loan from the museum on my github archive in the following folders:

Tektronix-4051-4052-4054-Program-Files/TekniquesVol6No1-T1

Tektronix-4051-4052-4054-Program-Files/TekniquesVol6No4-T1

Tektronix-4051-4052-4054-Program-Files/TekniquesVol7No4-T2


I also found a Fast Graphics tape - which had the original R2D2 picture file - and several others (Darth Vader, Death Star, Laser Gun, Grinch, Cheshire Cat, Bump and Nurd) that I posted with my conversion to a Tek BASIC program that does not require the Fast Graphics ROM Pack or the Graphics Enhancement ROM Pack to view.

Tektronix-4051-4052-4054-Program-Files/Pictures

These pictures and many of the programs can be run on the 4051 web-browser based emulator at:

Tektronix 4051 Emulator

Monty
 
Last edited:
QUEST game for Tektronix 4050 Computers

QUEST game for Tektronix 4050 Computers

I ported the 1979 Byte Magazine Vol7 No4 Roger Chaffee QUEST to Tektronix 4050 Basic in 1979.

I still have the 3M silver paper printout from the Tektronix 4631 Hard Copy printer of that game and many others.

I retyped the program with my 1979 changes (Roger coded the program for the Commodore PET computer) - and uploaded it to the Games folder of my Tek program archive:

Tektronix-4051-4052-4054-Program-Files/Games

The Byte article indicates that Roger wanted to create an 'Adventure' style program that fit in the limited memory available of the PET computer (7123 bytes), since the original Adventure program required 200KB of memory in the IBM 370 mainframe computer.

Here is a screenshot of my port of QUEST for the Tek 4050 computers - captured from the github free download Tek 405x Emulator that runs on a web-browser like Chrome or Firefox:

QUEST.jpg

Monty
 
New Tektronix 4050 Games uploaded

New Tektronix 4050 Games uploaded

I have uploaded ten new games to my github archive in the Games folder:

Tektronix 4050 Games Folder

I have also uploaded the screenshots below to the screenshots folder inside the games folder.

All these files were recovered from old Tektronix tapes.

Bomber is a simple graphical game where you press user definable key 1 to drop a bomb on a house from a plane flying over at various speed and altitude.

BomberInstructions.jpg Bomber1.jpg Bomber2.jpg

Chase is a game where you (*) have to avoid being caught by robots (+) and avoid touching the electric fence (X)

Chase1.jpg

MasterMind is a game where you guess the colors

MasterMindInstructions.jpg

SeaDog is a game of hitting a moving target (drawn in refresh mode) from one of five guns fired using the bottom row of five user definable keys.

SeaDogInstructions.jpg SeaDog1.jpg

SpaceWar is a two player or one player against a robot battle in space. The program uses assembly language routines for faster gameplay.

SpaceWar1.jpg

Spiral is a simple spiral vector drawing application - you supply the angle in degrees. After drawing once, you get to draw again with fast vectors.

Spiral1.jpg

SuperArtillery adds user selectable variable wind, shells drawn in refresh mode with no tracks, casualties, multiple guns, and impact craters to the Artillery game!

SuperArtilleryInstructions.jpg SuperArtillery.jpg

SuperTankWar I found a newer version of my Tank War with wraparound all four sides of the screen and labeled tanks!

SuperTankWar.jpg

SwordsAndSorcery This is a very simple adventure game with oracles and dwarves

SwordsAndSorcery.jpg

Download and enjoy!

Monty
 
Tektronix 4050 Star Trek - User Definable Key version

Tektronix 4050 Star Trek - User Definable Key version

One of the files I recovered from a tape labeled: 4907 Backup was this version of Star Trek.

It uses Tek 4050 graphics and requires you use the User Definable Keys for the ten commands.

Here are some screenshots:

StarTrek-UDK instructions.jpg StarTrekUDKorders.jpg StarTrekUDKGalaxyChart.jpg StarTrek-UDK1.jpg

Monty
 
Back
Top