Announcement

Collapse

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

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Originally posted by nikola-wan View Post
    STARGATE art - from Creative Computing magazine article

    During my searches for Tektronix 4050 series computer programs on the internet, I found this program in Creative Computing magazine, May-June 1978 issue.
    Joe Jacobson was the author and used a 4051 computer to develop the program.



    I typed in his program and posted it in a new "Computer Art" folder on my repository, along with a higher res screenshot of the article:
    Computer-Art

    Here is my screenshot of running this program on the 405x javascript emulator of the 4051 - the pixelation is due to the emulator, the lines are perfectly straight on the 4050 computers



    I added one line of code to the authors program to move the blinking cursor to the center of the Stargate.
    Yeah. I read some creative computing magazines at my university library and learned a lot about many interesting graphics outputs. I did not know which computers that users use for until now. I now know that they use Tek 4050 computer series to produce wire-frame graphics outputs. I will download Tek 4050 emulator and software libraries to try that.

    Does anyone know any Tek 4050 user manuals to learn how to use it and write BASIC programs?

    Thanks,
    Tim

    Comment


      Originally posted by fsword007 View Post

      Yeah. I read some creative computing magazines at my university library and learned a lot about many interesting graphics outputs. I did not know which computers that users use for until now. I now know that they use Tek 4050 computer series to produce wire-frame graphics outputs. I will download Tek 4050 emulator and software libraries to try that.

      Does anyone know any Tek 4050 user manuals to learn how to use it and write BASIC programs?

      Thanks,
      Tim
      Tim,

      You are in luck - we have a wealth of Tektronix 4051/4052/4054 manuals available on bitsavers.org:

      http://www.bitsavers.org/pdf/tektronix/405x/

      To get started, I recommend these manuals from that link:

      Code:
       [TABLE]
       	 		[TR]
       		[/TR]
       		[TR]
       		[/TR]
       		[TR]
       			[TD] [/TD]
       			[TD] [/TD]
       			[TD="align: right"] [/TD]
       		[/TR]
       		[TR]
       			[TD] [/TD]
       			[TD="align: right"] [/TD]
       			[TD="align: right"] [/TD]
       		[/TR]
       		[TR]
       			[TD] [/TD]
       			[TD="align: right"] [/TD]
       			[TD="align: right"] [/TD]
       		[/TR]
       		[TR]
       			[TD] [/TD]
       			[TD="align: right"] [/TD]
       			[TD="align: right"] [/TD]
       		[/TR]
       		[TR]
       			[TD][U][B][URL="http://www.bitsavers.org/pdf/tektronix/405x/070-1940-01_4050_oper_Mar80.pdf"]070-1940-01_4050_oper_Mar80.pdf[/URL][/B][/U][/TD]
       			[TD="align: right"]2004-01-17 23:32[/TD]
       			[TD="align: right"]15M[/TD]
       		[/TR]
       		[TR]
       			[TD][U][B][URL="http://www.bitsavers.org/pdf/tektronix/405x/070-2056-01_4050_ref_Jul79.pdf"]070-2056-01_4050_ref_Jul79.pdf[/URL][/B][/U][/TD]
       			[TD="align: right"]2004-01-18 01:36[/TD]
       			[TD="align: right"]22M[/TD]
       		[/TR]
       		[TR]
       			[TD][U][B][URL="http://www.bitsavers.org/pdf/tektronix/405x/070-2058-01_PLOT_50_Introduction_to_Programming_in_BASIC_Sep1978.pdf"]070-2058-01_PLOT_50_Introduction_to_Programming_in_BASIC_Se p1978.pdf[/URL][/B][/U][/TD]
       			[TD="align: right"]2012-02-21 09:17[/TD]
       			[TD="align: right"]24M[/TD]
       		[/TR]
       		[TR]
       			[TD][U][B][URL="http://www.bitsavers.org/pdf/tektronix/405x/070-2059-01_PLOT50_IntroGfxBASIC_Jul81.pdf"]070-2059-01_PLOT50_IntroGfxBASIC_Jul81.pdf[/URL][/B][/U][/TD]
       			[TD="align: right"]2006-04-07 14:34[/TD]
       			[TD="align: right"]9.0M[/TD]
       		[/TR]
       	 [/TABLE]
      You should be able to manually enter and run their example programs in the 405x emulator.

      Currently the 405x emulator only supports loading one file - and does not understand accessing another file (I hope someone can fix that issue )

      I don't know why I haven't uploaded the 4050 System Tape, which includes 4050 BASIC tutorial programs.

      I'll work on posting the files from that tape right now!
      Last edited by nikola-wan; April 17, 2021, 04:44 PM.

      Comment


        It took longer than I thought to recover a Tektronix Plot50: System Software Tape for the 4050 computers.

        I searched several piles of Tektronix DC300 tapes inside the house and located seven of these tapes.

        I found two in the back of Tektronix manual binder, and tried to simply replace the broken, moldy drive belt with my favorite DC6250 drive belt and had no luck recovering any of the files.

        At that point, I decided to dehydrate all seven tapes (48 hours at 135F in a food dehydrator with multiple shelves).

        I let them cool overnight and picked Tape#7 in the photo below (Tape#1 and Tape#2 on the top right were the two tapes I tried before dehydrating and may now be damaged).

        Seven SysVer Tapes ready to bake.jpg

        Tape#7 was my lucky first pick - I recovered 103 of the 104 files in my first attempt with my TapeDump8 program, which reads EVERY block on the tape including the header block, and encodes BINARY PROGRAM or BINARY DATA files into two HEX characters per byte and transmits the result to a PC serial terminal program like RealTerm. Tapedump also captures SECRET programs (ASCII or BINARY) as HEX characters.

        Since Tape#7 could not read file#2, I picked tape#4 (bottom of the middle row of tapes in the photo), as it appeared to NOT have been rewound to the beginning.
        I was able to get a second tapedump file with file#2 successfully recovered! Now I had all 104 files in tapedump format after trying four different tapes.

        My process to recover each of the files in the resulting tapedump is to use Notepad++ (be sure to turn on View | Show Symbol | Show All Characters)
        1. Start by editing the tapedump file, find every line in the file with " ASC" - which is typically the header line if all the files are ASCII Programs or DATA.
        2. Find the beginning of the file to edit by double-clicking the line in the resulting search which navigates to that line in the tapedump file
        3. Find the first line or beginning of DATA (skip the 256 byte block including the header)
        4. Select all the lines up to the end of the program (typically a carriage return at the beginning of a line - with exceptions for CRs inside PRINT statements)
        5. Copy the selected lines to a new file in Notepad++
        6. Look for CRs inside PRINT statements and replace each of them with Ctrl-Underscore (insert Ctrl-Underscore by holding down the ALT key and typing 031)
        7. Save this file with the filenumber as a .uni (universal) file
        8. Repeat steps 2 through 7 for each file in the tape dump
        All seven of the tapes had the same label, although a couple were labeled BACKUP, as Tektronix put two tapes in the back of the 4050 Operators Manual binder.
        Since I had some tapes from Stan Griffiths who worked at Tektronix, two of the tapes (including Tape#1 and Tape#7) had a MASTER COPY stamp on top of the label.

        MASTER COPY.jpg

        All seven tapes had the same version: Version 2 Level 2, Modification No 020-0160-03, Identification 939

        Since file 104 on the recovered tape demonstrated a couple of 4054 features, this is likely the newest PLOT 50: System Software Tape.

        What is the PLOT50: System Software Tape? Here is the screenshot of running file 1 on the 405x Emulator:

        Programs 1-4 plot functions: Y-only Data, X vs Y Data, Function Plot and Histogram data.

        Program 5 begins the tutorial of many of the new BASIC commands in PLOT50 BASIC including graphics commands (includes most of the programs on this tape).

        Program 6 (files 98-100) allow the user to verify that all Keyboard keys, Graphics, and Tape are working (I would call this hardware verification).

        Program 7 (file 101 and 102) only runs on the 4051 as it uses the CALL "EXEC" command to run an assembly program to test RAM (not the ROM, so I would call this a RAM test, not FIRMWARE).

        Program 8 (file 103 and 104) uses the RND(0) to detect one of the two 4054 models, and if detected it runs program 104 to demonstrate the unique features of the 4054 including the higher resolution, the graphic pointer with X and Y thumbwheels on the right side of the keyboard, four character sizes of 9 fonts with vector characters instead of dot matrix characters, and dashed line drawing capabilities using an 8-bit mask to define the on/off dash sequence.


        PLOT50_System_Software_Tape_Menu.png

        Here are the RND(0) values for each of the different 4050 computers from my scan of the quick reference guide which is posted on bitsavers.

        Notice there are four different 4054 models: 4054, 4054A and those two with Option 30 Refresh Graphics.

        RND(0) detects which 4050 computer model.jpg

        All files have been uploaded to the github repository:

        https://github.com/mmcgraw74/Tektronix-4051-4052-4054-Program-Files/tree/master/4050_PLOT50_System_Software_Tape
        Last edited by nikola-wan; April 26, 2021, 07:18 AM. Reason: Corrected typo

        Comment


          I just created a Hilbert curves folder of programs on my repository:
          https://github.com/mmcgraw74/Tektronix-4051-4052-4054-Program-Files/tree/master/Hilbert_Curves

          I received a request about the 4052/4054A-Series BASIC recursive SUB function - and mentioned the Hilbert space-filling curve example program in Tekniques Vol 6 No 3 Page 30.

          Hilbert curve Tekniques V6N3.jpg

          Also see more info on Hilbert curves in this wikipedia article: https://en.wikipedia.org/wiki/Hilbert_curve...

          I entered the program from the article by hand into my 4054A and found it very interesting.

          I extended the program to create Order 3 to 6 and used Jos Dreesen's 4052/4054 Multi-function ROM Pack Real-Time Clock to time each plot.

          Here is my hand-held iphone video from my Tektronix 4054A showing the program drawing Hilbert curvers of Order 3 to 6 with timing information:
          https://share.icloud.com/photos/0aLyBOfTC46APse_V82YIjh-Q

          I captured the DRAW X,Y output data from that program over serial interface to my PC and used that data to create Hilbert curve programs that will run on any 4051/4052/4054 computer with 32KB of RAM.

          I also posted screenshots of the Order 3,4,5 and 6 Hilbert curves running on the 405x emulator.

          HilbertOrder5.png HilbertOrder6.png

          It will be easy to modify the programs to plot the curves - simply add @x: to the MOVE and DRAW commands - where x=GPIB or Option 1 Serial address of your 4662 or 4663 plotter.
          BTW - the Order 6 program barely fits in 32KB of RAM. The Order 3, 4, and 5 may work in 4051 computers with less than 32KB.

          Comment


            Serpinski space-filling curves are fun too

            Comment


              Hi, Al!

              Sierpenski triangles - need filled in triangles to look right.

              I'm investigating how to do that for the Tektronix.

              Monty

              Comment


                I wanted to add the 4051 ROM Checksum program to my Tape Emulator micro SD Card image and found it did not show checksums for ROMs plugged into the 4051 or 4050 ROM Expander, so it will not show checksums for the MAXIROM ROM PACK which emulates a ROM Expander.

                I updated my checksum program to include ROM Expanders - which involved a substantial rewrite - as I wanted all the results on one screen.

                Can someone with a working 4051 and MAXIROM Pack test my new version? Please test this program with your MAXIROM PACK (or any 4051 ROM PACK) in both backpack slots and post a photo of your checksum results.

                *** Safety tip *** Don't remove the ROM PACKs with 4051 powered on. Turn off the power first - wait until the fan stops (gives power supplies a chance to bleed off the voltages) then plug in or remove a ROM PACK.

                I'm not aware of any Tektronix post with 4051 16-bit checksums except for the System ROMS and Option 1 COMM ROMs - which were captured in Michael D. Cranford's notes for his original 4051 Checksum program (posted in the same folder as my latest version).

                Tektronix 4051 Service Manual Vol1 pages 5-20 and 5-21 list 8-bit checksums for 5 different 4051 System ROM versions and two versions of the Option 1 COMM ROMs, but you have to have the Tektronix System Test Fixture to read those 8-bit checksums.

                I posted my updated version on my repository:
                https://github.com/mmcgraw74/Tektronix-4051-4052-4054-Program-Files/blob/master/4051_ROM_Checksums/4051%20ROM%20plus%20Expander%20Checksums.UNI

                Here is the screenshot running this program on the 405x Emulator:

                screen (15).png

                Comment


                  While I hope someone will be showing us their 4051 running my Checksum program, I took a look at my 4052/4054 Checksum program and found - I wrote that program when both computers had the same firmware version. Now that 'old' program says my 4054A ROMs have the wrong checksums.

                  Of course they do - it is completely different firmware for the A-Series. Not to worry - I modified that program to support my 4054A and added auto-detection of all six different computers:
                  • 4052
                  • 4052A
                  • 4054
                  • 4054 with Option 30 Dynamic Graphics
                  • 4054A
                  • 4054A with Option 30 Dynamic Graphics
                  When you indicate you want to report both the System ROM Checksums AND the ROM Slots - Including 4050 ROM Expanders or Jos Dreesen's 4052/4054 Multi-Function Module which emulates a 4050 ROM Expander - you get all the checksums.

                  Next I found my 'old' program did not include ALL the 4052/4054 ROM Packs I had - so I added the other ROM Packs to get my new version.

                  One issue I found - you cannot run my program with the Diagnostic ROMs inside the MFM and report ROM Slot checksums. The issue is - that CRC code gets swapped out of the system when the ROM being measured is swapped in

                  I need to port Michael D. Cranford's 6800 assembly language Checksum program to the 4052/4054 - so that program runs from RAM like the rest of the BASIC program. Since I don't have the source code, I'll disassemble it and try to figure it out. The "I/O" addresses for the bank switch are different than the 4051, and I have to deal with the RAM versus ROM bank switch to access a ROM while the program is running from RAM. Fortunately, I should be able to use most of the 6800 assembly program since the 4052/4054 microcode emulates all the 6800 opcodes and extends the instruction set with unused 6800 opcodes.

                  Here is a photo running the latest Checksum version on my 4054A with the 4050 ROM Expander sitting on top of the 4054A. The ROM Expander has eight ROM Slots and you could plug two ROM Expanders into the computer to get 16 option ROMs!

                  My 4054A with 4050 ROM Expander-sm.jpg

                  Here is a photo of the top of the ROM Expander showing all eight ROM slots are filled!

                  4050 ROM Expander top view-sm.jpg

                  The front left ROM slot has a TransEra A/D Converter for the 4052/4054. The edge connector on top is cabled to a separate box with the analog inputs on banana posts.

                  Comment

                  Working...
                  X