Image Map Image Map
Page 7 of 9 FirstFirst ... 3456789 LastLast
Results 61 to 70 of 87

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

  1. #61

    Default

    Jos,

    I understand

    My backlog of Tektronix projects includes getting back to work on the GPIB tape drive emulator with microSD card storage.

    I've been having too much fun with the 4907 Floppy drive system - and running my port of Adventure to Tek BASIC

    Monty

  2. #62

    Default Tektronix 4052/4054 - TransEra ROM Packs - ROM images uploaded to github

    I finally uploaded my ROM captures from the TransEra ROM Packs and board photos to my github repository of Tektronix programs:

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

    I captured the ROMs from all four ROM Packs including:

    741-RTC Real Time Clock
    750-SPU Super Utilities (use General Utilities Manual)
    752-ADC 16-channel, 12-bit Analog to Digital Converter
    764-RAM Auxiliary Memory (unfortunately - I don't have that Auxiliary Memory enclosure).

    Most of the user manuals for the above ROM Packs are already posted on bitsavers at http://www.bitsavers.org/pdf/transEra/

    I uploaded my scan of the Analog to Digital Converter manual to the same folder as my ROM images for that Pack.

    Here is the Readme for my github folder with the ROM images and board photos:


  3. #63

    Default Latest Tektronix 4052 / 4054 Tape Dump Program

    I have been using the TransEra Super Utilities ROM Pack to recover all the files from a Tektronix 4050 tape including SECRET files with a single program.

    Someone may be able to decipher the Tektronix SECRET program algorithm.
    I managed to decode in the 1970's the last program on the System Tape - which was a SECRET program to test DRAM memory.
    I was able to read the BINARY blocks of the SECRET program file - and because the program is completely print statements until the last three lines - I wrote an equivalent BASIC program line by line, saved it as SECRET and compared with the System Tape file until the bytes matched.
    The last three lines in that file were FIND X - where X was the next file on the tape, READ A$, then CALL "EXEC", A$.

    Since I had the Tektronix 8002 Development System along with the 4051, I looked at the data returned on the READ - it was ASCII characters from 0 to ?, which I theorized could be ASCII HEX.
    I translated the string in to HEX and manually disassembled the suspected 6800 program.
    Yes it was HEX, and the program basically wrote and verified AA55 through the entire RAM address space - including the assembly program and then hung.
    That's why the print statements at the beginning of the program indicated you would have to power cycle the computer after the program finished.

    I then used the undocumented CALL "EXEC" command to write my own assembly programs for the Tektronix - including my own music program (PWM to the speaker), and others including dumping the Tektronix BASIC ROM to the screen and triggering the 4631 printer to print the screen, PAGE, and continue I still have those printouts. I found that putting a RTN in the assembly program would return control to the next line in the BASIC program after the CALL "EXEC".

    The program listing for my Tektronix 4050 Tape Dump program below has been uploaded to the TransEra 750 Super Utilities ROM Pack folder.

    The CALL commands in the program use the Super Utilities ROM to find and read every 256 byte block on a tape and send the data to the PC using the RS232 serial interface in the backpack.

    For performance, when the blocks are from an ASCII program or ASCII data file - the blocks read are simply transmitted directly over serial.
    If the blocks are from a BINARY or SECRET file - the 256 bytes are converted into 512 ASCII HEX characters with the routine starting at line 590, and then the 512 HEX characters are transmitted to the PC over serial.

    The Tape Dump for the Tektronix General Utilities Tape is in the Super Utilities folder:
    https://github.com/mmcgraw74/Tektron...1-originaltape

    I suggest you download the file and examine it with Notepad++.

    The first 256 byte block of any Tektronix 4050 tape file is the file header and the file type is at a specific starting location in this block. The first number in the header is the tape file number. The last number in that line is the number of 256 byte blocks that were MARKed for this file.

    You will notice that the first four files in this tape dump are SECRET programs, and there is a line of text at the beginning of the first block after the header block: "TUT TUT TUT -- THIS IS A SECRET FILE"

    This is the message printed to the screen by the BASIC ROM if you attempt to READ the file from BASIC.

    I have not written the BASIC program using the Super Utilities ROM PACK to restore one of my tape dumps to a blank tape - but it should not be very difficult:
    Code:
    Read the first character string from the file - that is the header
    Extract the file number and number of 256 byte blocks
    FIND that file number (0 if the tape is blank and you are MARKing FILE 1)
    MARK 1,SIZE where size is 256*NumberOfBlocks
    Use the Super Utilities CALL commands to write each block (including full 256 byte header block)
    If another file header is READ from the dump file - extract the file number and number of blocks and MARK 1,NewFileSize and continue
    Here is my current Tape Dump program listing:
    **** Note: I just noticed my program uses the 4052A/4054A BASIC feature with multi-character variable names like "Bin$" Change those names to single character for 4052/4054 computers ***

    Code:
    100 PRINT "CAPTURE COMPLETE TAPE - Monty McGraw SEP 2019"
    110 PRINT "INPUT STARTING FILE NUMBER: ";
    120 INPUT B
    130 B=B-1
    140 REM *** PROGRAM REQUIRES TRANSERA SUPER UTILITY ROM PACK
    150 REM ***
    160 T$="LAST,NEW,ASC_DATA,BIN_DATA,ASC_PGM,BIN_PGM"
    170 DIM T1(6),T2(6)
    180 READ T1
    190 READ T2
    200 DATA 1,6,10,19,28,36
    210 DATA 4,3,8,8,7,7
    220 DIM A$(258)
    230 PRINT "FILE#: ";
    240 FIND B+1
    250 CALL "OPEN?",G,H
    260 CALL "TBACK"
    270 CALL "TREAD",A$
    280 CALL "FILE?",A
    290 CALL "TYPE?",D,E,F
    300 IF B=A THEN 530
    310 REM **  JUST INCREMENT FILE NUMBER
    320 A=B+1
    330 B=A
    335 PRINT @40:A$;
    340 PRINT @40:
    350 PRINT @40:
    360 PRINT A;"/";
    370 B=A
    380 FIND A
    390 CALL "OPEN?",G,H
    400 CALL "TBACK"
    410 CALL "TREAD",A$
    420 PRINT @40:A$
    430 CALL "TYPE?",D,E,F
    440 F1=F+1+(F>1)*2*E
    450 F$=SEG(T$,T1(F1),T2(F1))
    460 PRINT F$;
    470 IF D<>1 THEN 490
    480 PRINT " SECRET";
    490 PRINT "  ";
    500 CALL "TREAD",A$
    510 CALL "FILE?",A
    520 F1=F+1+(F>1)*2*E
    530 IF F1=1 THEN 570
    540 IF D=1 OR F1=4 OR F1=6 THEN 590
    550 PRINT @40:A$;
    560 IF A<>-1 THEN 270
    570 PRINT "DONE"
    580 END 
    590 FOR I=1 TO 256
    600 Bin$=SEG(A$,I,1)
    610 Bin=ASC(Bin$)
    620 High=INT(Bin/16)
    630 Low=Bin-High*16
    640 High$=CHR(High+48+7*(High>9))
    650 Low$=CHR(Low+48+7*(Low>9))
    660 PRINT @40:High$;Low$;
    670 NEXT I
    680 GO TO 270
    Last edited by nikola-wan; November 9th, 2019 at 08:12 AM.

  4. #64

    Default Tektronix 4050 CYCLE factory test tape

    I was looking at a box of Tektronix tapes in my garage and saw one had "4050 CYCLE 10/83" on the label.

    I was intrigued, and didn't remember ever trying to read that tape.



    I removed the disintegrated drive belt and replaced with a known good belt from a 3M DC6250 cartridge.

    I noticed after I put on the belt that the tape was loose on the takeup reel, so I carefully wound the tape on the other reel so I could remove the slack.

    It took a couple of attempts to read the tape - but finally got all four files: one program, two data files, and the LAST file which is always empty.

    The program really was a Tektronix factory burn in test of 4052A and 4054A computers - and the tape I recovered had last been run on a 4052A that failed!

    The CYCLE program runs 9 different display tests, checks the ROM CRCs with a factory ROMPACK containing a CALL "MEMORY" command, and then tests read/write to the tape and logs the test results.

    I tried running the CYCLE program on my 4054A computer and commented out the CALL "MEMORY" and tape read/writes to just look at the display tests.

    I got all 9 display tests to run - and posted a youtube video:

    Tektronix 4051/4052/4054 Factory Test

    The last display test - 9, was a very interesting 3D image:



    The program appears to have been used for all the Tektronix 4050 computers as all the BASIC statements are compatible - except for the CALL "MEMORY", and I imagine the factory had a ROMPACK for the 4051, as one of the tests compares the BASIC ROM CRCs against a table. In this particular version - the table is for the 4052 or 4054 with version 4.4 ROMs or the 4052A/4054A with V1.4 ROMs.

    My 4054A has version 1.5 ROMs - so it would have failed this test

    The program is full of interesting things:
    • -TIMING: program uses the published RND(-1) first value to find the model, and the DATA statements provide a parameter to obtain 1 second in FOR/NEXT loops
      -ROM CRC Table: I compared the program table to the Diagnostic ROM CRC table and there were more values(?). Also their table seemed to have start and end addresses for each ROM. The addresses had 0 or 1 as last nibble - I think for EVEN and ODD ROMs!
      -SPEED: The delay parameter indicates the relative timing of the 4052/4054 FOR/NEXT is about 8.3X and the 4052A/4054A FOR/NEXT is about 7.0X the speed of the 4051.


    I have posted the complete tape dump, the original CYCLE program, and my modifications to run on ANY 4051/4052/4054 computer on my github repository for Tektronix 4050 Programs:

    4050A_CYCLE_TEST folder

    I have run the modified program on my 4054A and the 4050 Emulator - I would like others to run it on their 4051 and 4052 computers and lets compare the timing to mine.

    Monty

  5. #65

    Default EBAY tape recovery

    I just received a set of DC300 tapes from an EBAY seller that had Tektronix labels:



    I was able to replace the drive belts on all the Tektronix labeled cartridges, although the tape oxide was removed from the tape - wherever the old belt was at

    Typically, the tapes were rewound - so only the first file was unrecoverable.

    All the tapes were from Tektronix 4051 computer(s).

    First the Bad news:
    - one tape was blank
    - Four contained Tektronix software - that I doubt anyone cares about:
    Business and Accounting, Statistics 1, 2D Drafting - only the autoload file, not any programs, 4050A CYCLE (I already recovered and posted one of these tapes recently)

    That left five tapes with interesting labels.

    1. Handwritten file listing
      Mostly user written, simple CAD application programs
      One 494 Test Program with an overlay
      "Star Trick", really simple program that drew random dots simulating stars
      "Puzzle Picture", simple program to draw the "U-shaped bar" with three circles at the end
    2. 4051 Demo Tape
      This one was mainly a collection of Tektronix demo programs copied from the System Tape
      Data Storage and Graphing, Bar Graphs, 2D Array and Sort
      Slide Maker Program (Tek user contributed, already recovered and archived)
    3. NAVY DEMO
      Bad news - this was a Verbatim tape, not 3M and none of the files were recoverable
      I have not been able to recover any Tek tape that was recorded on a Verbatim tape (you can see the tape reels are different from all the rest in the photo)
      I could find a file, but only read the first record with my 4052. I tried reading on my 4924 - couldn't find files. Same with my 4054A.
      It looked like the programs were a submarine battle simulator for the NAVY
      I even tried moving the tape from the Verbatim to a Tektronix (3M) cartridge - I believe the Verbatim tape material stretches.
    4. Machine Code (51 written in pencil on back)
      The label was intriguing but the contents were not
      Three tiny files - looked like 4051 CALL "EXEC" assembly code examples
      First file - loaded into the Tek 4051 web-browser emulator gave an error message that the EDITOR ROM Pack was missing
      Second file runs - but no output on the emulator screen
      Third file ran with no output. I found there was no CALL "EXEC" statement and added one. Then found the program needed to DIM the string variable, added the DIM statement. This program prints one HEX output byte per line starting at an address typed into the string variable. Pretty lame


    Bottom line - none of the recovered EBAY tape programs were worth posting on my archive site

    Although, the machine language programs prompted me to dust off a 4051 machine language program I wrote on my 4051 computer at work in 1979. See my next post in this thread

  6. #66

    Default My Tektronix 4051 assembly code Memory Dump program

    As hinted in my last post, I've uploaded one of the Tektronix assembly language programs I wrote in the late 1970's on my 4051 at work.

    This program has been uploaded to my Tektronix 4050 program repository on github here:

    https://github.com/mmcgraw74/Tektron...TekMemDump.txt

    To use this program, you enter a two digit HEX page that you want to dump - the example below, output from the 4051 web-browser emulator shows page FF - the last page of the 4051 BASIC ROM.

    To print a different memory page, just input the two digit HEX page - and the screen will PAGE and print the new HEX data.



    As I posted before on the Tektronix 4051 CALL "EXEC" command, this program uses BASIC print statements to print the header text and then uses my program loaded into CALL "EXEC" to print the data.

    Since I had no access to the 4051 BASIC ROM entry points - my assembly program was written to directly draw dots on the screen, and includes a dot matrix array for each of the sixteen HEX characters

    Now, with the 4051 assembler, I (or anyone else) should be able to use the BASIC ROM entry points to do this same thing, but also print the decoded ASCII characters for each set of 16 HEX bytes - like typical debug programs.
    Last edited by nikola-wan; March 29th, 2020 at 08:38 AM.

  7. #67

    Default

    Very nice image. Is it something that You can write on most computers, from some Basic/similar book? Look interesting.

  8. #68

    Default

    Quote Originally Posted by pgru2 View Post
    Very nice image. Is it something that You can write on most computers, from some Basic/similar book? Look interesting.
    I don't remember if I found this format in one of the late 1970's computer magazines or invented it

    Here is a website that discusses DEBUG for DOS, and has links to DEBUG programs for Windows 10.

    https://thestarman.pcministry.com/as...ebug.htm#INTRO

  9. #69

    Default

    Thank You for answer.

  10. #70

    Default

    BTW: - about stretched tape. I don't known if it is possible or how much it cost but some companies on the market, write on their sites that they can recover from damaged tape. E.g. https://datatechlab.com/data-recover...ry-conversion/

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •