• Please review our updated Terms and Rules here

Tek 405x web-browser emulator

Monty:

Thanks, that was what I needed.

In effect, I am "building" a tape in the storage popup window by importing individual program files, assigning them a unique file number, and saving the bundle to the emulator's "tape drive."

At that point, on exiting the storage popup, I can load the individual program file using the sequence you provided above.

What interested me here was your 4051 Memory Dump program since you are writing to the emulated 4051 screen from an assembly language program.

Thanks again -

Nelson
Be sure to put the 124 LAST file into your folder bundle. This file is used by the Flash Drive code to stop searching for a file in the FIND command. The FAT file system does not keep the files in sequential file number order as they are added or deleted - so multiple passes through the files in a folder may be required to find each of the sequential files in my TLIST program for example.

I typically also copy in the 119 TLIST program and run it to make sure my file headers have the correct format including the length of the comment field.

If I need a data file I save any of the files in emulator storage changing the file number in the lower left corner of the storage popup and changing the format to ASCII or BINARY and PROGRAM or DATA and then saving that file regardless of the current contents. Then when your program prints to an ASCII DATA file the previous data is replaced by the new data. Same thing for writes to a BINARY DATA file.

I wrote that memory dump assembler program on a Tektronix 8002 Microprocessor Development Lab for a 4051 in the late 1970's and did screen dumps to hard copy for all the BASIC ROMs. I still have the hard copy of those ROMs and all the programs I created in the 70's including the hard copy of that memory dump assembly program that I used to recreate the memory dump program I posted on github using the 4051 Assembler.

You can save or load the entire 'folder' of files in the emulator storage popup by changing the file pulldown from Single File to 4050 Tape Emulator Files and using Export to save a zip of all the files currently in storage. The Import button can be used after unzipping the exported files and selecting one or more of them (include LAST if you have used DelFile to delete all the current files from storage).
 
Be sure to put the 124 LAST file into your folder bundle. This file is used by the Flash Drive code to stop searching for a file in the FIND command. The FAT file system does not keep the files in sequential file number order as they are added or deleted - so multiple passes through the files in a folder may be required to find each of the sequential files in my TLIST program for example.

I typically also copy in the 119 TLIST program and run it to make sure my file headers have the correct filename (which emulates the 4050 file header block) format including the length of the comment field.

If I need a data file I save any of the files in emulator storage changing the file number in the lower left corner of the storage popup and changing the format to ASCII or BINARY and PROGRAM or DATA and then saving that file regardless of the current contents. Then when your program prints to an ASCII DATA file the previous data is replaced by the new data. Same thing for writes to a BINARY DATA file.

I wrote that memory dump assembler program on a Tektronix 8002 Microprocessor Development Lab for a 4051 in the late 1970's and did screen dumps to hard copy for all the BASIC ROMs. I still have the hard copy of those ROMs and all the programs I created in the 70's including the hard copy of that memory dump assembly program that I used to recreate the memory dump program I posted on github using the 4051 Assembler.

You can save or load the entire 'folder' of files in the emulator storage popup by changing the file pulldown from Single File to 4050 Tape Emulator Files and using Export to save a zip of all the files currently in storage. The Import button can be used after unzipping the exported files and selecting one or more of them (include LAST if you have used DelFile to delete all the current files from storage).
 
@WaveyDipole has improved the 405x web-browser emulator again!
  1. It now handles HUGE files like the Mandelorian and Grogu BMP file of 558KB!
  2. It also handles READ/WRITE changes to the Flash Drive file header - so it can run Main Menu first time setup!
Here is a screenshot of the emulator displaying the Mandelorian and Grogu BMP picture I created:

Mandelorian - latest experimental emulator06.png

Here is how to load and run the emulator to view my Flash Drive BMP picture files:

  1. Download this version of the emulator: https://github.com/Twilight-Logic/Tek405xEmulator/blob/master/experimental/JonStanley-Mod-Storage-Class2-06.zip unzip and navigate into the directory and double-click (on windows) this file jsTEKTRONIX4051storage_universal.html
  2. This should open the emulator in your default browser. Click the mute button and then click the start button to start the emulator. The emulator is now running and you can type programs manually by clicking in the black display window.
  3. Click the storage button to open the storage window and change the pulldown to the right of the Import button to 4050 Flash Drive files
  4. Download my latest Flash Drive program files: https://github.com/mmcgraw74/Tektronix-4051-4052-4054-Program-Files/blob/master/Flash_Drive/FlashDrive-5Oct2023.zip unzip and navigate to the BMP directory
  5. In the emulator Storage window - click the Import button and navigate the file explorer window that pops up to the Flash Drive BMP directory and select all the files in that directory from 1 to 124 and click the Open button to import them into emulator file storage. After the files are imported click the Done button to close that popup. Now click the Cancel button to close the Storage window.
  6. Click the emulator black display and type:
  7. Code:
    FIND@5:1
    OLD@5:
    RUN

screen - 2023-10-20T143254.191.png

You should now see my BMP Menu program. Type 8 and press the Enter key (It is labeled RETURN on the 4050 keyboard)

This program runs on the emulator at the original speed of the Tektronix 4051 introduced in 1975 with a Motorola 6800 CPU clocked at 800KHz!

I takes 4 minutes and 52 seconds to display the Mandelorian 558KB file (almost two full DC300 tapes for this single image file) dithered dot image at the state-of-the-art (in 1975) 1024x780 vector resolution!

Emulator Speed - since I use this experimental emulator to develop and test most of my new Tektronix 4050 programs - I increase the emulator speed by editing the mc6800.js file and changing the 6800 emulator "InstructionsPerInterval" on line 64 from 368 to 36.8 for a 10x speedup or 3.68 for a 100x speedup. 10x speedup puts the emulator close to the speed of the 4052 or 4054 and 100x speedup is about 10x faster than the 4052 or 4054.

The GAMES will be too fast doing this as several of them have timers based on detecting whether it is running on a 4051 (like the emulator) or 4052 or 4054.

Emulator Notes
  1. This version of the emulator will lose all the storage if you refresh the browser window. But you can quickly use the storage feature to import any of the Flash Drive folders into the emulator
  2. The emulator can only handle one Flash Drive folder at a time - so the Main Menu program in the ROOT folder will only be able to launch programs that are in the root folder, or individually copied into the emulator storage.
  3. Some of the Flash Drive programs will NOT run on the Emulator such as the programs in these Flash Drive directories:
  4. Code:
    4052Asmblr
    ADV4052
    Adventure
    Asteroids
    OldOpt30
    Opt30Demo
    Opt30Games
  5. Emulator storage supports Flash Drive ASCII and BINARY program and data files with the Flash Drive file header format described in the Flash Drive User Guide.
  6. The emulator runs the MDC Fast Graphics ROM Pack which was productized as the Tektronix 4050R12 ROM Pack with versions for the 4051 and 4052/4054 computers. The 4050R12 ROM Pack uses a CALL "MUSIC" command - but the original Fast Graphics ROM used CALL "MUZAKT". My Flash Drive programs are compatible with the emulator - except programs that use CALL "MUSIC" like my port of MDC's Invader I game. Simply change the ASCII program statements that have CALL "MUSIC" to CALL "MUZAKT" and now they run without error on the emulator BUT the emulator does not (YET?--hint hint Dave) support those commands with PC sounds.

ENJOY!
 
Last edited:
This is great news! --- of course it arrives about a month after I was using the emulator to develop a 405x game that uses R12 if you've got it :)
I had to test the R12 functionality on the real machine.

My game is a two-player game where users of two 405x machines (connected via serial cable) take turns trying to force their opponent to drop Tetris pieces that overflow the "well". It's good fun, and while there's probably a good strategy to it, I haven't figured out what it is yet.

If you'd like to match wits with me (or one of your friends) on my 4051s, come to the Retro Computer Festival in Cambridge, UK on November 4th and 5th. I'll be there with the machines below and with a 4006-1 terminal that's drawing pictures all day long (if it holds up). There'll be lots of other great exhibits there, too!

(Note: I've fixed the space bar for the right-hand 4051 since this photo was taken.)

IMG_20231003_005923.jpg
 
Hi Tom! Thanks for the link to your Pascal to Tek transpiler!
I looked for your game on your repo - but didn't see it.

You commented in my thread about adding a Vectrex gamepad to the unused pins on my Flash Drive.
The Vectrex gamepad includes an analog joystick - without the issues of interrupting graphics to digitize the joystick.

This gamepad made a lot of difference on my Battlestar Galactica - Vipers on Patrol game - that I also created both Option 30 and R12 versions.

I would expect it could help your game - but then you would need two Flash Drives - one for each of the 4051 computers and two Vectrex gamepads :)

Some video game console gamepads (Atari 2600) plug directly into the Vectrex, and there are adapters to connect some of the other video game console gamepads to the Vectrex - most are just connecting the buttons.
 
I haven't released the game yet since I like to clear the rights for my projects with my kind employer. I'll do it in time...

The game you see on the screens doesn't really need keypad control: it's a very simple, static game where you use A, B, C keys to choose a piece to drop and then 1, 2, 3, 4 keys to say where to drop it.

And I think we have different tastes in some respects --- I don't usually adapt out-of-context hardware except by some necessity (like the Flash Drive) and tend to try to stick close to the strengths and constraints of what's to hand. There's absolutely nothing wrong with blending in other devices --- it's pretty cool, it's just not how I do my hobby. I like to imagine that you could have turned up at a lab of 4051s with a tape that had my code on it and load it up and go. Still, I bet if you showed Tek engineers in 1982 the joystick and game, they probably would have got a kick out of it! Maybe some of the 405x engineers are reading now and getting a kick out of it today.

In a related way, displaying raster image files isn't my thing. Those bitmaps look absolutely gorgeous, but I'm most excited about 405x graphics made out of lines --- to me the 405x series is all about lines: vectors! I want to draw images with lines. I've been interested in string art pictures like this one and have been trying to write some software that converts images to combinations of lines that go from one edge of the screen to another, preparing files for display on the 4051s, the 4054A, or the 4006-1. I want to see the lines pile up on the screen like random pick-up sticks as the image slowly starts to reveal itself. Unfortunately I decided I had a better algorithm than existing greedy methods and am now in a deep mess of Fourier transforms, line integrals, and Metropolis-Hastings code that does not work at all! This is typical for me.

I'll keep trying for a little while longer. If you want to find out if I've succeeded, the first place to learn will be Cambridge on November 4th :biggrin:
 
I haven't released the game yet since I like to clear the rights for my projects with my kind employer. I'll do it in time...
And now I have done it. You can find the Pascal-like source code here:


I've also got my cooperative line-bounce screensaver for a pair of 405x machines connected over a serial port:


If you want to find out if I've succeeded, the first place to learn will be Cambridge on November 4th
I did not succeed! Oh well.
 
Great work Tom! I will have to try your muPas transpiler and foursprite and perplex programs!

Good luck with your graphics images.

I'm still working on my Tek BASIC SVG creator program - trying to have it convert all the SVG images and finding out new ways to get R12 images created.
 
@WaveyDipole has improved the 405x web-browser emulator again!
  1. It now handles HUGE files like the Mandelorian and Grogu BMP file of 558KB!
  2. It also handles READ/WRITE changes to the Flash Drive file header - so it can run Main Menu first time setup!
Here is a screenshot of the emulator displaying the Mandelorian and Grogu BMP picture I created:

View attachment 1266436

Here is how to load and run the emulator to view my Flash Drive BMP picture files:

  1. Download this version of the emulator: https://github.com/Twilight-Logic/Tek405xEmulator/blob/master/experimental/JonStanley-Mod-Storage-Class2-06.zip unzip and navigate into the directory and double-click (on windows) this file jsTEKTRONIX4051storage_universal.html
  2. This should open the emulator in your default browser. Click the mute button and then click the start button to start the emulator. The emulator is now running and you can type programs manually by clicking in the black display window.
  3. Click the storage button to open the storage window and change the pulldown to the right of the Import button to 4050 Flash Drive files
  4. Download my latest Flash Drive program files: https://github.com/mmcgraw74/Tektronix-4051-4052-4054-Program-Files/blob/master/Flash_Drive/FlashDrive-5Oct2023.zip unzip and navigate to the BMP directory
  5. In the emulator Storage window - click the Import button and navigate the file explorer window that pops up to the Flash Drive BMP directory and select all the files in that directory from 1 to 124 and click the Open button to import them into emulator file storage. After the files are imported click the Done button to close that popup. Now click the Cancel button to close the Storage window.
  6. Click the emulator black display and type:
  7. Code:
    FIND@5:1
    OLD@5:
    RUN

View attachment 1266437

You should now see my BMP Menu program. Type 8 and press the Enter key (It is labeled RETURN on the 4050 keyboard)

This program runs on the emulator at the original speed of the Tektronix 4051 introduced in 1975 with a Motorola 6800 CPU clocked at 800KHz!

I takes 4 minutes and 52 seconds to display the Mandelorian 558KB file (almost two full DC300 tapes for this single image file) dithered dot image at the state-of-the-art (in 1975) 1024x780 vector resolution!

Emulator Speed - since I use this experimental emulator to develop and test most of my new Tektronix 4050 programs - I increase the emulator speed by editing the mc6800.js file and changing the 6800 emulator "InstructionsPerInterval" on line 64 from 368 to 36.8 for a 10x speedup or 3.68 for a 100x speedup. 10x speedup puts the emulator close to the speed of the 4052 or 4054 and 100x speedup is about 10x faster than the 4052 or 4054.

The GAMES will be too fast doing this as several of them have timers based on detecting whether it is running on a 4051 (like the emulator) or 4052 or 4054.

Emulator Notes
  1. This version of the emulator will lose all the storage if you refresh the browser window. But you can quickly use the storage feature to import any of the Flash Drive folders into the emulator
  2. The emulator can only handle one Flash Drive folder at a time - so the Main Menu program in the ROOT folder will only be able to launch programs that are in the root folder, or individually copied into the emulator storage.
  3. Some of the Flash Drive programs will NOT run on the Emulator such as the programs in these Flash Drive directories:
  4. Code:
    4052Asmblr
    ADV4052
    Adventure
    Asteroids
    OldOpt30
    Opt30Demo
    Opt30Games
  5. Emulator storage supports Flash Drive ASCII and BINARY program and data files with the Flash Drive file header format described in the Flash Drive User Guide.
  6. The emulator runs the MDC Fast Graphics ROM Pack which was productized as the Tektronix 4050R12 ROM Pack with versions for the 4051 and 4052/4054 computers. The 4050R12 ROM Pack uses a CALL "MUSIC" command - but the original Fast Graphics ROM used CALL "MUZAKT". My Flash Drive programs are compatible with the emulator - except programs that use CALL "MUSIC" like my port of MDC's Invader I game. Simply change the ASCII program statements that have CALL "MUSIC" to CALL "MUZAKT" and now they run without error on the emulator BUT the emulator does not (YET?--hint hint Dave) support those commands with PC sounds.

ENJOY!
The links in Step 1 and Step 4 have changed as both the experimental 405x emulator and my Flash Drive zip files have been updated.

I recommend you find the latest version of both by navigating to those folders and selecting the latest versions:

1 - https://github.com/Twilight-Logic/Tek405xEmulator/tree/master/experimental
2 - https://github.com/mmcgraw74/Tektronix-4051-4052-4054-Program-Files/tree/master/Flash_Drive

The latest emulator version now supports two (or more) Flash Drives - which I used one as the input file and the second for the output file to create my latest SVG images posted in my latest release of the Flash Drive. I also typically change the emulator speed as described in the post to 100x faster than the Tektronix 4051 800KHz Motorola 6800 CPU - during development - which makes the emulator about 10x faster than my 4054A computer!
 
I use an emulator at home for a machine we use at work. It is not as fast as my native iMac, but still reasonably fast.

I went to one of our sites the other month and had cause to reboot one of the 'real' offline test and development machines.

Boy, was that s-l-o-w...

I had forgotten just how slow these machines really were - and these machines were fast in their day!

Dave
 
I use an emulator at home for a machine we use at work. It is not as fast as my native iMac, but still reasonably fast.

I went to one of our sites the other month and had cause to reboot one of the 'real' offline test and development machines.

Boy, was that s-l-o-w...

I had forgotten just how slow these machines really were - and these machines were fast in their day!

Dave
I think we were just more patient with these early micro-computers back in the day.

I had only previously experienced using the university IBM 360 mainframe - punching cards for the program and waiting minutes for the printed output :biggrin:
 
Dave,

Here is the link to bitsavers Tek 4051 GPIB manual which actually has 6800 assembly code listing for the GPIB interface of the 4924 tape drive - but not the whole program. I guess we could dump the 4924 tape drive ROMs that I have.

http://bitsavers.trailing-edge.com/pdf/tektronix/405x/070-2270-00_4051_GPIB_HW_Supp_Jul81.pdf

Monty
Monty:

This may be a bit of a "blast from the past," but another Tektronix engineer published 6800 source code, schematics and a text explanation of operation for the 4924 tape drive in DR Dobbs Journal June/July 1977 titled "An Example of a 6800-Based GPIB Interface."

The source is dated 11-Jan-1977, which may be a print date rather than a version date, but its another view of the source code plus an explanation of how it works.

The pdf of the article is a bit too large to attach here, but it is in the Volume 2 compilation for 1977 of the magazine, and starts on page 277:

https://archive.org/download/dr_dobbs_journal_vol_02_201803/dr_dobbs_journal_vol_02.pdf

Nelson
 
Monty:

This may be a bit of a "blast from the past," but another Tektronix engineer published 6800 source code, schematics and a text explanation of operation for the 4924 tape drive in DR Dobbs Journal June/July 1977 titled "An Example of a 6800-Based GPIB Interface."

The source is dated 11-Jan-1977, which may be a print date rather than a version date, but its another view of the source code plus an explanation of how it works.

The pdf of the article is a bit too large to attach here, but it is in the Volume 2 compilation for 1977 of the magazine, and starts on page 277:

https://archive.org/download/dr_dobbs_journal_vol_02_201803/dr_dobbs_journal_vol_02.pdf

Nelson
Great article! Thanks for posting the link!

I particularly like the Fig 1 and Fig 2 timing diagrams - I don't think these were the same as in the 4924 Tape Drive service manual that @WaveyDipole and I used to create the Tektronix 4050 GPIB Flash Drive.

In particular the use of the UNL (Unlisten) to terminate the command.

1722265076417.png
1722265139071.png

Looking at the 4924 Service Manual I found this note at the bottom of Table 1-1

1722265656200.png

The next page in the 4924 Service Manual then summarizes 4050 controller to 4924 tape drive GPIB:

1722267419219.png

@WaveyDipole can confirm the Flash Drive listens to PRIMARY address 31 from the 4050 to terminate commands to/from the 4050 computer from/to the Flash Drive.

Here is one of my logic analyzer pictures from Dec 2020 of the 4054 to 4924 Tape Drive transactions - shows UNTALK/UNLISTEN at the end of the transaction. Also note the GPIB is inverted data.

Capture of FIND @4 file 2.jpeg
 
Last edited:
Dave, Monty:

Lately, I have been processing some of the 4051 program files found on Monty's GitHub site to translate them from EXEC loader files to something that the f9 disassembler can take as input. That much is working fairly well.

I have been intrigued by the inner workings of the "EXEC" utility found in the 4051 firmware to see how text variables are passed.

I have become more comfortable using the @WaveyDipole emulator including the storage emulation, and programs saved to tape appear to respond to device @5 when using FIND@5:1 and OLD@5: to load programs into memory.

When trying to load the tape version of 4051 DDT 51.7, File 1 includes these statements:

160 FIND 2
170 INPUT @33:L$

Running the program will result in this error:

MAG TAPE CARTRIDGE REQUIRED IN LINE 160 - MESSAGE NUMBER 57

Suspecting that the program is trying to use a different device than the load device (@5:) I changed the lines to:

160 FIND @5:2
170 INPUT @5:L$

No luck, same message.

I note that device @33: is the 4051 tape drive; device @5: is an external GPIB device supported by the emulator.

What should these lines read to run the 4051 DDT 51.7 debugger on this particular emulator?

Regards,


Nelson
 
Hi Nelson,
I suspect the DDT debugger from the tape file - only works if the file is loaded from tape.

But good news - DDT is included in one of the 4051 ROM packs in the latest 405x Emulator!

See my post on how to access it from a BASIC program (tip from Micheal Cranford):
https://forum.vcfed.org/index.php?threads/tektronix-4051-basic-compiler-concept2.1248495/post-1389500

4051 DDT instructions are in the 4051 Assembler document located in this folder on my repository:
https://github.com/mmcgraw74/Tektronix-4051-4052-4054-Program-Files/tree/master/4051-Assembler

I assume you already found my translation of a German file I found on CALL "EXEC" with details on how to pass variables:
https://github.com/mmcgraw74/Tektronix-4051-4052-4054-Program-Files/blob/master/4051-Assembler/Call%20Exec_my_English_translation.txt
 
Last edited:
My emulator was the "proof of concept" that kick-started this small group of Tektronix emulators off.

It has been turned into a more "user friendly" experience by others.

I keep "pecking" at he 4052/4054 variant. We will get there someday...

 Dave
 
Hi Nelson,
I suspect the DDT debugger from the tape file - only works if the file is loaded from tape.

But good news - DDT is included in one of the 4051 ROM packs in the latest 405x Emulator!

See my post on how to access it from a BASIC program (tip from Micheal Cranford):
https://forum.vcfed.org/index.php?threads/tektronix-4051-basic-compiler-concept2.1248495/post-1389500

4051 DDT instructions are in the 4051 Assembler document located in this folder on my repository:
https://github.com/mmcgraw74/Tektronix-4051-4052-4054-Program-Files/tree/master/4051-Assembler

I assume you already found my translation of a German file I found on CALL "EXEC" with details on how to pass variables:
https://github.com/mmcgraw74/Tektronix-4051-4052-4054-Program-Files/blob/master/4051-Assembler/Call%20Exec_my_English_translation.txt
Hi Monty:

Well, there is that. Both versions appear to be 51.8. I may have to take another look at the mag tape calls in the loader strings to see if they are throwing the errors.

I have gone through the version of DDT included in the 4051 ROM pack included in the emulator, it uses an interesting method to relocate itself into the target text variable provided in the BASIC calling program: a relocatable version in the ROM image and an accompanying relocation table of address pointers to adjust to make it run in its new home. There is a bit of address witchcraft going on during the load process.

The tape version of DDT uses a complementary method, it too starts with a relocatable version of DDT, and after the loader scripts are run, the program locations that need to be relocated are identified in the text string in File 2 by a trailing "R." When the "R" is scanned, the loader backs up, adjusts the preceeding address, and saves it to memory. That's why the program can be run if you scrub out all the "R" characters - but only if you load it to memory address $0000.

The RT-11 Assembler used to generate the assembly listings was *very* capable in creating relocatable modules.

All three of the references are "well thumbed" here, plus one more:

The SYSROM.TXT file in the same location as the CALL "EXEC" translation has a great list of firmware calls in the 4051 ROMs, plus some additional insights on how the BANKSWITCH functions work.

Thanks for all the work keeping these machines alive!

Regards,


Nelson
 
Hi Monty:

Well, there is that. Both versions appear to be 51.8. I may have to take another look at the mag tape calls in the loader strings to see if they are throwing the errors.

I have gone through the version of DDT included in the 4051 ROM pack included in the emulator, it uses an interesting method to relocate itself into the target text variable provided in the BASIC calling program: a relocatable version in the ROM image and an accompanying relocation table of address pointers to adjust to make it run in its new home. There is a bit of address witchcraft going on during the load process.

The tape version of DDT uses a complementary method, it too starts with a relocatable version of DDT, and after the loader scripts are run, the program locations that need to be relocated are identified in the text string in File 2 by a trailing "R." When the "R" is scanned, the loader backs up, adjusts the preceeding address, and saves it to memory. That's why the program can be run if you scrub out all the "R" characters - but only if you load it to memory address $0000.

The RT-11 Assembler used to generate the assembly listings was *very* capable in creating relocatable modules.

All three of the references are "well thumbed" here, plus one more:

The SYSROM.TXT file in the same location as the CALL "EXEC" translation has a great list of firmware calls in the 4051 ROMs, plus some additional insights on how the BANKSWITCH functions work.

Thanks for all the work keeping these machines alive!

Regards,


Nelson
Also check out the 4051 assembly code documentation I received from Micheal Cranford - Tektronix developer of the 4051 Fast Graphics ROM pack and 4051 RAMPACK:

https://github.com/mmcgraw74/Tektronix-4051-4052-4054-Program-Files/blob/master/4051-Assembler/4051%20assembly%20code%20documentation.pdf
 
Dave, or John (@daver2, @WaveyDipole) would it be easy to hack the 405x Emulator (now 4051 Emulator) to output characters from COM 1 ACIA to a text file?
I would be satisfied with that file being a hardcoded single fixed name text file located in the directory with the emulator javascript code.

The 4051 DDT assembler has a "K" HOST LINK/DOWNLOADER command on pdf page 23 of the 4051 Assembler document.
https://github.com/mmcgraw74/Tektronix-4051-4052-4054-Program-Files/blob/master/4051-Assembler/4051%20assembly%20code%20documentation.pdf

The paragraph discusses setting the baud rate in BASIC before using serial in DDT but that should be unnecessary for what I need. I do see DDT using LDAA and STAA instructions to 87C6 and 87C7 the I/O registers of the ACIA in the COMM backpack.
 
Back
Top