I made good progress - my other Tektronix computer is a model 4054A, I tried my minor edit to your 0.05.23 code (changed CS from 3 to 4 for my board to work) and got
CD, FIND and OLD all to work! (see first photo).
Three tests:
- CD "ROOT" (PRINT @5,19:"ROOT"), FIND @5:1, OLD @5: then I listed a couple of lines of the program that was loaded
- CD "GAMES" (PRINT @5,19:"GAMES"), FIND @5:1, OLD @5: then I listed a couple of lines of the program that was loaded
- CD "ROOT" (PRINT @5,19:"UTILITIES"), FIND @5:1, OLD @5: then I listed a couple of lines of the program that was loaded
All three successful.
Next two photos show that if a complete program (/ROOT/1/) is loaded - it runs:
FIND and CD also worked on my 4052 computer, but OLD resulted in a hang that required cycling power on the 4052 to clear.
As a possible explanation to the difference - the 4052 has a different ROM version AND discrete GPIB hardware compared to my 4054A which has a TI 9914 GPIB controller and therefore different GPIB code in its ROM.
One more difference - on my 4052 I had to disconnect power to the Emulator or the 4052 locked up and had to be power cycled with power to the Emulator disconnected, then I could power on the Emulator for testing. I didn't have that problem on my 4054A - I powered the Emulator from a 5V iPhone charge cube, then turned on the 4054A without issue.
The original 4051 computer has completely different ROM code than either the 4052 or 4054 - so I think it is a good idea to check out the Emulator with all three Tektronix computers. I don't have a 4051, but there are a couple of people in the facebook group that do.
I thought the READ code worked - because of the serial debug messages, but READ hung on both the 4052 and 4054A and it is my mistake. The READ command ONLY supports BINARY data, not ASCII data - and I was trying to READ ASCII data and program files with the Emulator.
I tried to edit your READ_one code to use it with the INPUT command 13 (6D hex) instead of READ 14 (6E hex), but you said the READ command was not sending data on GPIB yet.
Can you have the INPUT command 6D hex use the READ_one code (it can be renamed from READ_one to INPUT)?
After I test the INPUT command for getting ASCII data to the Emulator from ASCII PROGRAM or ASCII non-program (DATA, TXT or LOG) files, we can divide that section of code into INPUT (ASCII files only) and READ (BINARY DATA files only).
I haven't repaired my 4924 tape drive yet, but will work on that now.
I'm excited by the progress: CD, FIND and OLD make LOTS of programs work on the Emulator.
INPUT will be needed to support ASCII data files and READ will be needed to support BINARY data files.
My port of Adventure to the 4052/4054 requires INPUT of ASCII data files - there are 55 DATA files!.
It also requires PRINT to save the Adventure game to a file.
Here is my 4054A running Adventure from a 4907 floppy disk (8-inch disk):