Forum Rules and Etiquette

Our mission ...

This forum is part of our mission to promote the preservation of vintage computers through education and outreach. (In real life we also run events and have a museum.) We encourage you to join us, participate, share your knowledge, and enjoy.

This forum has been around in this format for over 15 years. These rules and guidelines help us maintain a healthy and active community, and we moderate the forum to keep things on track. Please familiarize yourself with these rules and guidelines.

Rule 1: Remain civil and respectful

There are several hundred people who actively participate here. People come from all different backgrounds and will have different ways of seeing things. You will not agree with everything you read here. Back-and-forth discussions are fine but do not cross the line into rude or disrespectful behavior.

Conduct yourself as you would at any other place where people come together in person to discuss their hobby. If you wouldn't say something to somebody in person, then you probably should not be writing it here.

This should be obvious but, just in case: profanity, threats, slurs against any group (sexual, racial, gender, etc.) will not be tolerated.

Rule 2: Stay close to the original topic being discussed
  • If you are starting a new thread choose a reasonable sub-forum to start your thread. (If you choose incorrectly don't worry, we can fix that.)
  • If you are responding to a thread, stay on topic - the original poster was trying to achieve something. You can always start a new thread instead of potentially "hijacking" an existing thread.

Rule 3: Contribute something meaningful

To put things in engineering terms, we value a high signal to noise ratio. Coming here should not be a waste of time.
  • This is not a chat room. If you are taking less than 30 seconds to make a post then you are probably doing something wrong. A post should be on topic, clear, and contribute something meaningful to the discussion. If people read your posts and feel that their time as been wasted, they will stop reading your posts. Worse yet, they will stop visiting and we'll lose their experience and contributions.
  • Do not bump threads.
  • Do not "necro-post" unless you are following up to a specific person on a specific thread. And even then, that person may have moved on. Just start a new thread for your related topic.
  • Use the Private Message system for posts that are targeted at a specific person.

Rule 4: "PM Sent!" messages (or, how to use the Private Message system)

This forum has a private message feature that we want people to use for messages that are not of general interest to other members.

In short, if you are going to reply to a thread and that reply is targeted to a specific individual and not of interest to anybody else (either now or in the future) then send a private message instead.

Here are some obvious examples of when you should not reply to a thread and use the PM system instead:
  • "PM Sent!": Do not tell the rest of us that you sent a PM ... the forum software will tell the other person that they have a PM waiting.
  • "How much is shipping to ....": This is a very specific and directed question that is not of interest to anybody else.

Why do we have this policy? Sending a "PM Sent!" type message basically wastes everybody else's time by making them having to scroll past a post in a thread that looks to be updated, when the update is not meaningful. And the person you are sending the PM to will be notified by the forum software that they have a message waiting for them. Look up at the top near the right edge where it says 'Notifications' ... if you have a PM waiting, it will tell you there.

Rule 5: Copyright and other legal issues

We are here to discuss vintage computing, so discussing software, books, and other intellectual property that is on-topic is fine. We don't want people using these forums to discuss or enable copyright violations or other things that are against the law; whether you agree with the law or not is irrelevant. Do not use our resources for something that is legally or morally questionable.

Our discussions here generally fall under "fair use." Telling people how to pirate a software title is an example of something that is not allowable here.

Reporting problematic posts

If you see spam, a wildly off-topic post, or something abusive or illegal please report the thread by clicking on the "Report Post" icon. (It looks like an exclamation point in a triangle and it is available under every post.) This send a notification to all of the moderators, so somebody will see it and deal with it.

If you are unsure you may consider sending a private message to a moderator instead.

New user moderation

New users are directly moderated so that we can weed spammers out early. This means that for your first 10 posts you will have some delay before they are seen. We understand this can be disruptive to the flow of conversation and we try to keep up with our new user moderation duties to avoid undue inconvenience. Please do not make duplicate posts, extra posts to bump your post count, or ask the moderators to expedite this process; 10 moderated posts will go by quickly.

New users also have a smaller personal message inbox limit and are rate limited when sending PMs to other users.

Other suggestions
  • Use Google, books, or other definitive sources. There is a lot of information out there.
  • Don't make people guess at what you are trying to say; we are not mind readers. Be clear and concise.
  • Spelling and grammar are not rated, but they do make a post easier to read.
See more
See less

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

  • Filter
  • Time
  • Show
Clear All
new posts

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

    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:
    and my Tektronix 405x Program Files Archive site:
    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:

    130 PRINT "~J~~J~~J~1-------ALL PICTURES"
    134 PRINT "1.4-----CONVERT PRINT @0: TO STRING"
    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.


    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 by nikola-wan; July 15, 2018, 01:52 PM. Reason: corrected typo

    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:

    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.

    Last edited by nikola-wan; July 16, 2018, 06:07 PM. Reason: added link to program archive site


      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

      Last edited by nikola-wan; July 18, 2018, 07:27 PM. Reason: added TSTRIN instructions


        Thanks for uploading the games, Monty.

        But, um, what's this HARDON thing? Did characters get jumbled over serial?
        "END OF LINE" [MCP, 1982]
        "An admin that isn't a bit hackerish is just the guy mopping up the keyboard" [PhrackV0b I3f P12]
        "Calculating machines cannot express free will [...] as long as they function correctly" [W. Knödel, Programmieren von Ziffernrechenanlagen, 1961]


          Originally posted by GanjaTron View Post
          Thanks for uploading the games, Monty.

          But, um, what's this HARDON thing? Did characters get jumbled over serial?
          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



            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.

            "END OF LINE" [MCP, 1982]
            "An admin that isn't a bit hackerish is just the guy mopping up the keyboard" [PhrackV0b I3f P12]
            "Calculating machines cannot express free will [...] as long as they function correctly" [W. Knödel, Programmieren von Ziffernrechenanlagen, 1961]


              Originally posted by GanjaTron View Post
              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.

              I posted it



                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 by nikola-wan; July 25, 2018, 04:40 AM.


                  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)

                  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

                  Last edited by nikola-wan; August 5, 2018, 05:35 AM.


                    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:
           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:


                    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.



                      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.

                        Last edited by nikola-wan; August 11, 2018, 06:20 PM.


                          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



                            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!

                              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:




                              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.


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

                              Tektronix 4051 Emulator

                              Last edited by nikola-wan; September 3, 2018, 06:46 PM.