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

    #91
    I also found a Tekniques Vol 2 No 6 second article on using the Electrical Engineering Volume 1 tape.

    This article goes into more detail on entering the Example amplifier schematic into the program.

    full scan in my github repo folder for this tape:



    Pretty amazing that this capability was available from Tektronix for the 4051 that ran in only 32KB of RAM in 1975!!

    Last night I was looking through a box of 4051 tapes I got from Stan Griffiths in 2000 for the cost of shipping - 50 tapes from engineers working on satellite (including microwave) design with the 4051 (from the titles on those tapes).

    I'm baking ten of the most interesting tapes and hope I can recover and post some of the files.
    Last edited by nikola-wan; December 7, 2020, 06:14 AM.

    Comment


      #92
      My careful search of the Vol1 and Vol2 Tekniques turned up CM201-011-00 and CM201-012-00 ROMPACK parallel output and input interfaces (respectively) to communicate with parallel devices that don't have GPIB!



      I guess I will check with vintagetek.org to see if they have the manuals and schematics for these two interfaces.

      Reading that Tekniques issue further - the cover story on the Forest Service in Six Rivers used the CM201 to interface a paper tape reader to the 4051 to collect the data to send to their UNIVAC computer in Ft. Collins, Colorado.

      Last edited by nikola-wan; December 7, 2020, 06:59 AM.

      Comment


        #93
        Tektronix 4054 Active Filter program

        I recovered an interesting DC300 tape yesterday - tape was titled Active Filter.

        This tape was in a collection of over 50 tapes I received from Stan Griffiths in 2000 - for the cost of shipping! Most of these tapes contain user programs written by programmers in a company working on satellite design in the early 1980's using Tektronix 4050 Graphics computers.

        The Tektronix 4051 (1975), 4052 and 4054 (1979) had unique storage tube vector graphics screens with very high resolution. The 4051 and 4052 had 12" flat screen storage tube CRTs with addressable vector resolution of 1024 by 780.

        The 4054 had a 19" curved screen storage tube CRT with 4096 by 3072 addressable vector resolution! This program illustrates both the high resolution, vector fonts and fast drawing speed of the 4054 computer.

        Since the 4050 series graphics computers were limited to a maximum of 64K bytes of memory - the programs made heavy use of the tape drive or external GPIB floppy or hard disk storage for many programs like this one.

        I posted a one minute video on YouTube of running this program on my 4054A:

        Tektronix 4054A Active Filter

        You can hear the tape drive being accessed to get the curves drawn for each of the three graphs on the right of the screen. The DC300 tape drive in the Tektronix computers provided about 300K bytes of storage, with a file system that numbered each file and provided error checking to protect the information in each file.

        The tape I recovered contained programs developed 40 years ago by a company using the 4054 computer to design satellites. This program was apparently part of a internal presentation on using a particular active filter in their satellite design - and showed graphs of the performance of this filter.

        Tektronix 4050 series computers had BASIC in ROM that included support not only for the internal screen, tape and keyboard, but also GPIB devices like external graphics printers, plotters, tape drives, floppy drives, hard drives, digitizers, and joysticks.

        This program can be changed to plot this image by changing one BASIC statement from Q=32 (internal screen) to Q=1 (external plotter)!

        Here is a photo of my 4054A computer running the Active Filter program on the 40 year old tape - with the broken drive belt replaced with a drive belt from an NOS DC6250 tape (I also baked this tape for 2 days at 135F):



        And here is a closeup photo of the screen showing better detail:



        The tape was marked 4054 and takes advantage of the scalable fonts of the 4054 - so the 4052 dot matrix text doesn't scale, but the graphs work on my 4052 (although I got a tape read error on this run that didn't complete the graphs):



        All tape files were recovered and posted on my github repository:

        4054_Active_Filter
        Last edited by nikola-wan; December 10, 2020, 07:08 AM.

        Comment


          #94
          NICE UTILITIES tape recovered and posted on github

          I recovered and posted another interesting Tektronix 4050 tape titled: "NICE UTILITIES"

          https://github.com/mmcgraw74/Tektron...NICE_UTILITIES

          Code:
           1      ASCII   PROG /LABELLER /   2048   
           2      ASCII   PROG    ROOTER     9216   
           3      ASCII   PROG    INTEREST   3328   
           4      ASCII   PROG   CYBERJUNK   1792   
           5      ASCII   PROG   OLDTITLER   3072   
           6      ASCII   PROG   TAPE COPY   8192   
           7      ASCII   PROG /FLOWCHART/   9216   
           8      ASCII   PROG /AVERAGING/   768    
           9      ASCII   PROG  PLOT LABEL   768    
           10     ASCII   PROG    TAPETEST   2560   
           11     ASCII   PROG PRINT TFILE   2048   
           12     ASCII   PROG CY TERMINAL   1024   
           13     ASCII   PROG F GRAF PLT    3072   
           14     ASCII   DATA     EXAMPLE   2048   
           15     LAST                       768
          Labeler (for tape header info), Tape Copy to 4924 tape, and Flowchart are previously posted programs from Tektronix.

          The rest of the programs appear to be unique.

          Most interesting to me was TAPETEST - it is a 4051 program to verify tapes that contains CALL "EXEC" assembly language code!

          In addition, the short assembly language program includes new CALL's not in the 4051 BASIC: MTPACK, MTREAD, MTFWD, MTBACK.

          I hope someone (hint, hint) disassembles the short 6800 assembly programs and determines how they created the new CALL's in assembly code (daver2 or Jos)

          The Loader code is in ASCII HEX ('normal' 4051 EXEC format) using the 16 ASCII characters 0 to ?
          The Tape Verification program appears to be in HEX characters 0-9 and A-F and is passed in as a string variable.
          I assume the Loader then converts the string variable into assembly code.
          Note - there are two entry points into the Tape Verification program: the 0000 entry point runs the tape verification program and the 00A3 entry continues the program after an error.
          UDK keys perform individual operations, but the new CALL's do not work until you first run the tape verification program.

          The 4051 Assembler documentation I found (ftp://ftp.informatik.uni-stuttgart.d...ckram/exec.txt) describes each of the parameters passed into the CALL "EXEC" command:

          Code:
          : (I) 				The 'CALL "exec"' command
               : 					==========================
               :
               : The CALL "exec" command calls the 4051 machine language
               : level. This command is not documented by TEKTRONIX. That has
               : its good reason: a wrong application can cause considerable damage
               : to the hardware.
               :
               : 		The syntax of CALL "exec":
               : 		----------------------------
               :
               : 				CALL "exec" [, {Var1} [, {Var2} {, ...]]], {Loaderstring}
               :
               : The loader string is a string variable with a maximum length of 512.
               : It contains a machine program in a kind of hexadecimal writing
               : style.  Namely, the hex 'A' to 'F' are replaced by the ASCII codes ':'
               : to '?'. The hex numbers are replaced by the ASCII codes '0' to '9'.
               : No spaces are added between bytes in the loader string.
               :
               : When calling CALL "exec" the translation of the loader
               : strings in bytes, which are stored in memory from the address $02B5.
               : The machine program must not exceed the length of 256 bytes
               : otherwise they would overwrite other important memory locations.
               : Finally, the operating system calls the transmitted program
               : by JSR $02B5, and the return should be done by the command RTS.
               :
               : EXAMPLE: Making visible again a SECRET
               : (BASIC) program. All you have to do is clear memory 80h. The
               : Program is very simple:
               :
               : 				02B5 7F 0080 	  CLR	 $80
               : 				02B8 39 		  RTS
               :
               : The loader string is: L$ = "7?008039". 
          	 : Executing 'CALL "EXEC",L$'
               : the BASIC program is again 'unsecret'.
               :
               : The CALL EXEC Loader string program can access memory and ROM.
               : accessing these variables requires a minimum of knowledge
               : of the memory structure of the 4051.
               :
          Here is the very short TAPETEST program:

          Code:
          1 REM MAG-TAPE READ/WRITE VERIFICATION PROGRAM
          2 PAGE 
          3 GO TO 100
          4 REM BEGIN TAPE VERIFICATION
          5 CALL "MTPACK"
          6 CALL "EXEC",V$,M$,L$
          7 RETURN 
          8 REM BEGIN TAPE VERIFICATION
          9 CALL "EXEC",V$,M$,L$
          10 RETURN 
          24 REM PROCEED WITH TEST IN PROGRESS
          25 CALL "EXEC",P$,M$,L$
          26 RETURN 
          32 CALL "MTBACK"
          33 RETURN 
          36 CALL "MTREAD"
          37 RETURN 
          40 CALL "MTFWD"
          41 RETURN 
          100 DIM P$(800),V$(800),M$(500),L$(500)
          110 REM  L$ IS THE LOADER PROGRAM
          120 L$="30<6448608:107266;:10<2667>>0=<624:6042;5?:607970<:608970=>>"
          130 L$=L$&"0;:6028540264?;=::3>=?0830>>08:6042;43=?0:>>0;:6028540263"
          140 L$=L$&"9=>0:>>072736<61;8<0004262<=>0:>>0;;=::3>8=0:970:8=06970;"
          150 L$=L$&"=>0:20338=0;48484848168=04840?1;39:6000880308109230280073"
          160 L$=L$&"9=74;39=>0:>60658:60549=00=920<2404<61520>;>>0;;=::3>=?04"
          170 L$=L$&"=?06=>088=<5=?08=>0<0909=?0<=>06:70008=?065?4?=00=920<2<2"
          180 L$=L$&"2=>08:600815226==08=?08=>060909=6059604>;01:900>701:700=>"
          190 L$=L$&"0<09=?0<26<3=>060909>>006>00"
          200 REM  P$ IS THE TAPE VERIFICATION PROGRAM
          210 P$="010F8D76266FB68798851027068638974B20628D358620B7879A97BABDFF"
          220 P$=P$&"B5CE01F48D4B8655B7878E8660B7879A97BAB6879AB687AA85082639B"
          230 P$=P$&"6879B85C027F2CE00688D298D452063BDFBD7964B26248D19B6879984"
          240 P$=P$&"FEB78799B6878F84F6B7878FB6878D84FEB7878D39CE28B00926FD398"
          250 P$=P$&"D18BDCBBF0E39B687988802B787988802B78798BDE00C964B398629B7"
          260 P$=P$&"879A8D05BDFC248DD3B68798B6878EB6878C39010F8DD326CC8DA8200"
          270 P$=P$&"28D9BBDFFDBB6879ABDFFB5B6878C5FB687AA850826B0B6878D2A09B6"
          280 P$=P$&"878CC609815526175A2714B6879B85C027E18DB08D0F8D992692BDFBD"
          290 P$=P$&"7208D8DA38D17208A8D5F2604860120658D3C8D257061737365640020"
          300 P$=P$&"128D4A26034F20518D288D116661696C6564008D0820202A2A2A0D003"
          310 P$=P$&"930EE00A600270ADF00BDF22EDE000820F231316E018DE907070D2A2A"
          320 P$=P$&"2A204D61672D7461706520766572696679200039BDCBBF0E30A60BEE0"
          330 P$=P$&"C810A39DF00364F3636BDB1FBDE00A604847FA704BDAA3EBDB70F39"
          340 REM  DEFINE THE PROGRAM ENTRY POINTS
          350 V$=P$&"0000R"
          360 P$=P$&"00A3R"
          370 M$=""
          380 PRINT "    USER KEY #1 CALLS <MTPACK> AND BEGINS TAPE VERIFICATION"
          400 PRINT "    USER KEY #2 BEGINS TAPE VERIFICATION PROGRAM ONLY"
          405 PRINT "    USER KEY #6 PROCEEDS WITH TEST AFTER AN ERROR IS FOUND"
          410 PRINT "    USER KEY #8 CALLS <MTBACK>"
          420 PRINT "    USER KEY #9 CALLS <MTREAD>"
          430 PRINT "    USER KEY #10 CALLS <MTFWD>"
          440 RETURN 
          1000 FOR I=1 TO 10
          1010 CALL "MTPACK"
          1020 NEXT I
          1030 GO TO 8
          Remember, I have posted the Tektronix submitted 4051 Assembler program which includes 4051 BASIC ROM entry points, and I just uploaded a couple of more text files on CALL "EXEC".

          https://github.com/mmcgraw74/Tektron...4051-Assembler

          Comment


            #95
            Tektronix 4051 ROM Checksum program

            My internet search for Tektronix 4050 programs with CALL "EXEC" which provided 6800 assembly language programs to be called from Tektronix 4050 BASIC turned up a very interesting program titled Checksum gen.txt at http://www.archerservices.com/Histor...ksum%20gen.txt

            Actually Checksum gen.txt is a document file that contains a short 4051 program with CALL "EXEC" at the end of the document.
            The document mentions a MAXIPACK and RAMPACK and line 1 of the program indicates the authors initials: MDC
            This leads me to believe the author is Michael Cranford - one of the 4051 engineers and designer of the MAXIPACK and RAMPACK, both of which are installed in a working 4051 in the vintagetek.org museum!
            https://vintagetek.org/4051-graphic-desktop-system/

            I reworked the document into a program I named 4051 ROM Checksums and uploaded it in my Universal format which only uses CR for line delimiters and includes all Tektronix control characters in printable strings.

            Checksum gen as written only allowed one ROM address and Bankswitch as needed to be input and printed the checksum.

            I added the ability to request a complete dump of all 4051 ROM Checksums including the optional ROM Packs, so it is very easy to compare your 4051 ROM checksums against the MDC listed checksums.

            In the screenshot from running 4051 ROM Checksums program on the 405x (actually only 4051) javascript emulator
            https://github.com/jonbstanley/Tek405xEmulator

            You can see in the second screenshot below that the emulator is using the same ROMs as in MDC's 4051, with the exceptions of no option ROMs including no Comm backpack ROMs in the emulator screenshot below.

            I run the jsTEKTRONIX4051_universal.html file with Chrome web browser. The emulator is configured to run at a similar speed to the original 4051. I edit the mc6800.js file line 64 and replace "408" with "40" to speed up the emulator to approximately the speed of the 4052 and 4054, and then launch the emulator. All of the older programs (.txt or .BAS) in my Tektronix 4050 Program repository should be run with the regular html file, which has modified control characters and line delimiters unless the readme in that folder indicates a program requires the universal format emulator.

            All 4051 Checksum files have been uploaded to:
            https://github.com/mmcgraw74/Tektron..._ROM_Checksums



            This screenshot includes the list of MDC ROM checksums to the left of the emulator screen for comparison with the emulator ROMs:



            Another interesting note about this program - I found that B$ returns not only the checksum, but the entire block of ROM contents in HEX characters! That is why I saved B$ in R$ before the CALL "EXEC" so I could print the input parameters after the CALL returned to BASIC.

            Comment


              #96
              I really like to play with that filter software in the future!
              WTB: Case for Altair 8800 ...... Rolands Github projects

              Comment


                #97
                Tektronix 4051 Serial Transfer Tips

                4051 serial transfer NEWS FLASH:

                I just got an email from a 4051 user who was having trouble downloading 4051 programs from my archive.

                He had been in touch with vcfed.org about getting a MAXIPACK and ROMPACK shown in their 4051, and told them about his issues in transferring programs to the 4051 over serial.

                They gave him some tips - and now he is using 2400 baud (max rate with 4051 serial backpack) with hyperterminal to transfer the programs successfully to his 4051 over serial!

                They recommended he add 500 msec time delay after each line was transmitted, so the 4051 had time to process the ASCII into tokenized BASIC.
                He also added a 10 msec delay after each character was transmitted (although I question the need for the character delay as the Serial ROM should have a buffer to hold at least one line of characters).

                These workarounds are not needed for 4052/4054 computers with v5.1 firmware or 4052A/4054A computers as they can use XON/XOFF protocol (software flagging in Tektronix terminology).

                I only type the following four commands on my 4052 with v5.1 firmware or 4054A:

                Code:
                CALL "RATE", 9600,2,0    !BAUD RATE: 9600 7E1
                CALL "TSTRIN","","",""   !PREVENT 4050 FROM MODIFYING TRANSMITTED CONTROL CHARACTERS
                CALL "RSTRIN","","",""   !PREVENT 4050 FROM MODIFYING RECEIVED CONTROL CHARACTERS
                CALL "CMFLAG",3          !ENABLE XON/XOFF ON TX AND RX
                Then I use Realterm to SEND or CAPTURE text to or from my 4052 or 4054A computer to my laptop using a USB to RS-232 converter from Tripp-Lite which has Windows 10 drivers.

                I just updated the README file on my github repository with these instructions.

                Enjoy!
                Last edited by nikola-wan; December 12, 2020, 06:09 PM.

                Comment


                  #98
                  I rewrote the README file on my github repository to include background info on the Tektronix 4050 computers and a family photo of my 4054, 4052 and 4631 from 2000.

                  My collection is on a custom cart designed for the 4052 that I got with my 4052 and 4631 printer purchase in 1999 from a medical university auction.

                  Comment


                    #99
                    It is spring cleaning time, and I did some work on my Tektronix 4051/4052/4054 Program archives, and edited and updated over 500 programs to my github site:
                    https://github.com/mmcgraw74/Tektron...-Program-Files

                    I went through all the program files and edited them into my new Universal (UNI) format which can load into any Tektronix 4051/4052/4054 computer or the Tektronix 405x emulator (running the universal.js file).

                    I put the *.UNI program files into separate folders for each of the main folders with programs - so the original uploads are not disturbed.

                    I will be using the *.UNI program files when I make a little more progress on my Tektronix 4924 GPIB Tape Emulator project.

                    Enjoy!

                    Comment


                      I wanted to post the script I used to partially automate the changes I made to hundreds of files in only hours - as opposed to days if I used a program like Notepad++ to do each edit.

                      First some background on the edits required:

                      Tektronix 4050 BASIC makes heavy use of multiple control characters for text formatting in PRINT statements:



                      My original approach to capturing files on my PC from Tektronix programs on tape was written around 2000, and my program would read a file from tape and convert each of the control characters above into ~<Letter>~ where Letter is the character typed with the Ctrl key held down.

                      When I began archiving my captured programs in 2018, I found that others had captured their 4050 programs by loading them into memory and performing a LIST command to the serial interface. The LIST command converts all control characters in the program to <Letter><Backspace><underscore>, which underlines the Letter, similar to the 4050 display of a program with control characters.

                      Since Ctrl-G,H,I,J,K,L,^, and _ have to be converted from two different capture techniques, that would take quite a while on each program if done one at a time manually using Notepad++, which is the reason I have procrastinated so long

                      Mattis Lind developed a c program to convert the LIST format control characters, but instead of trying to add to his program, I searched for a way to do all the conversions with a linux script and came up with the following single command:



                      One note on the script above, the ^G and other control character replacements are not two separate characters, they are typed as Ctrl-V-G as an example which is the Ctrl-G character.

                      Before running the script, I would copy all the program files from a master folder into a folder named "Originals", and after the script was run, I would check each file in the "uni" folder and do any final edits like remove the last linefeed character.
                      Then I would create a new uni folder, copy all the uni files, and then upload the uni folders to the correct folder in the github repository.

                      If the original files had the .txt extension I would edit the script near the end to replace .bas with .txt.

                      I was not successful in running this command saved to a script file, so I want to describe what this script does in case I need to recreate it:

                      Code:
                             's/x0//g'           Delete all NULL characters                     works
                      	':a;N;$!ba;s/\n//g' Delete all linefeed characters                 works (except for last linefeed)
                      	's/G^H_/^G/g'       Replace G<backspace>_ with Ctrl-G   (BEL)      works
                      	's/H^H_/^H/g'       Replace H<backspace>_ with Ctrl-H   (BS)       works
                      	's/I^H_/^I/g'       Replace I<backspace>_ with Ctrl-I   (HT)       works
                      	's/J^H_/\n/g'       Replace J<backspace>_ with linefeed (Ctrl-J)   works
                      	's/K^H_/^K/g'       Replace K<backspace>_ with Ctrl-K   (VT)       works
                      	's/L^H_/^L/g'       Replace L<backspace>_ with Ctrl-L   (FF)       works
                      	's/_^H_/\x1f/g'     Replace _<backspace>_ with Ctrl-_   (US)       works
                      	's/~G~/^G/g'        Replace ~G~ with Ctrl-G             (BEL)      works
                      	's/~H~/^H/g'        Replace ~H~ with Ctrl-H             (BS)       works
                      	's/~I~/^I/g'        Replace ~I~ with Ctrl-I             (HT)       works
                      	's/~J~/\n/g'        Replace ~J~ with linefeed           (Ctrl-J)   works
                      	's/~K~/^K/g'        Replace ~K~ with Ctrl-K             (VT)       works
                      	's/~L~/^L/g'        Replace ~L~ with Ctrl-L             (FF)       works
                      	's/~_~/\x1f/g'      Replace ~_~ with Ctrl-_             (US)       works
                      
                      	output file is written to uni folder with basename /w .uni         works if i$ extension is .bas - I would prefer to always replace any extension with .uni, so I have to do this separately
                      Last edited by nikola-wan; April 6, 2021, 11:29 AM.

                      Comment


                        Tektronix 4051 owners - vintagetek.org now has their new, redesigned 4051 MaxiROM pack available!

                        https://www.ebay.com/itm/114755997680



                        This ROM Pack will allow 4051 owners to run lots more programs in my github repository, including the R12 Enhanced Graphics programs which also include MUSIC!
                        Last edited by nikola-wan; April 7, 2021, 06:12 AM.

                        Comment


                          New program - Fractals in Focus

                          I received a new program for the Tektronix 4050 computers from Jack Miller called Fractals in Focus.

                          Jack ported this program from an 80-Micro May 1985 article titled Fractals in Focus.

                          The program in the article was designed for the Tandy Model III computer with the high resolution (640x240) graphics adapter installed.

                          Jack's program takes full advantage of the 1024x780 vector resolution of the 4050 series computers, and their ability to scale the display to different data ranges with a WINDOW command.

                          I have posted Jack's original program which runs on a 4052A or 4054A computer, and my modified version which restricts the variable naming to one character and one number, on my github site, along with several screenshots.

                          https://github.com/mmcgraw74/Tektron...ctals_in_Focus


                          Here is an example screenshot taken from running the 4050 version of the program on the 405x Emulator:



                          The actual Fractal data pattern is displayed at the bottom of the screen, based on your input of # Sides, # Levels and Fractal, Inverse or Both.

                          Very educational!

                          Comment


                            NEW Tektronix BLACKJACK Game!

                            I was going through my USB flash key looking at old captured files and found a Blackjack game that I had on a games tape, that I believe was a Tektronix demo tape with demo programs and games.

                            I did a couple of fixes on the graphics and added a BLACKJACK title. The game supports 1 to 5 Players against the computer (Dealer).



                            When it is your turn, you press the User Definable Key 1 (UDK 1) if you want a HIT of another card from the dealer. Or press UDK 6 to PASS, or UDK 10 if you were dealt two 10 point cards and want to double-down your bet and take one more card which is dealt down and turned up when all players complete their turns.

                            After everyone quits the game, the computer displays a graph of the Balances for each player.



                            I also tested Blackjack on my 4052, and the "HIT?" text is continuously refreshed for the current player, making the text brighter - which is an effect you don't get on the emulator.

                            Universal version of the Blackjack program and the screenshots have been uploaded to my repository:

                            Tektronix 4050 Blackjack Game

                            Comment


                              I'm continuing to clean up old captures and found another Tektronix 4051 game that has not been posted before: SUB HUNT

                              This file was on the same tape from a 4051 owner around 2000. He couldn't read the tape, so I managed to read the tape and make a copy. My latest capture of my copy of this tape had an incomplete image of the Sub Hunt program.

                              I went back and used my latest tape dump utility the the original tape and got several more lines of code, but still incomplete as line 2000 is obviously not the end of the program. It looked like line 2000 was accessed on a KILL and I saw line 1050 in the program was a PRINT statement for a KILL, so I added 2010 GO TO 1050.

                              I fixed the random number generator (the reference manual indicates -1 parameter should only be used once to set an initial random number and 1 or higher is used on subsequent RND calls to get the random sequence from that starting point.

                              I also added instructions - as this program requires use of the User Definable Keys.

                              Here are a couple of screenshots: a sub KILL, sub Escaped, and my new instructions.

                              BTW - the lines on the "sub escaped" screenshot are the actual movement of the submarine during this game.

                              Sub KILL.png

                              Sub Escaped Detection.png

                              Sub Hunt Instructions.png


                              Universal format program and screenshots added to my games/uni format github folder.

                              https://github.com/mmcgraw74/Tektronix-4051-4052-4054-Program-Files/blob/master/Games/Games%20in%20uni%20format/Sub_Hunt.uni
                              Attached Files
                              Last edited by nikola-wan; April 12, 2021, 02:49 PM.

                              Comment


                                Very interesting! I like that CALL statement in BASIC listings that is used similar technique in TI-99/4A BASIC programming.

                                In 1980s, I took computer graphics course at Gallaudet University in Washington DC and learned how to write Pascal programs to send graphics commands to 4027A color terminal from DEC VAX 8650 computer.

                                I was looking for Tek 4027A emulator but can't find any emulator but found only Tek 405x emulators. I found Tek 4027A technical manual that provides complete specification for implementing Tek 4027A color terminal emulator but I do not have ROM 4027A dumps yet.

                                Tim

                                Comment

                                Working...
                                X