Philcogrump
Experienced Member
I recently repaired my Tektronix 4052 a few weeks ago, a few of you might remember my question about its hardware problems over a year ago. Now it comes alive with a wonderful blinking cursor and runs TekBASIC right out of the ROM.
I've been playing with this computer in the past two weeks experimenting with TekBASIC; its version of BASIC is noticeably different from many other versions of BASIC. Some differences are noteworthy: it does not seem to allow multiple commands on one line, ie. 100 PRINT "HELLO" : END. Its vector drawing capability allows it to draw a line with a very simple command, DRAW X,Y (which is the final point of the line, the initial point would be the next line after the user presses return, unless a MOVE X,Y command is used to move the cursor to the initial point before drawing the line). Additionally, it has a statement called POINTER X,Y,Z$ which activates the pointer (looks like a upside down mouse pointer) and that command ends when the user presses any key (which is stored in Z$, and X,Y values of the pointer position are stored). The POINTER is useful for GUI-like programs or so.
I'll say, this is one neat computer and unique because of its vector-based display and the DVST screen, which stores the picture instead of storing the video data in RAM. If one made a loop program to print a message repeatedly, the effect of the computer drawing every letter very quickly from left to right, top to bottom is noticeable - like a neat looking comet across every line.
The downfalls of the DVST and this form of TekBASIC is that it is very limiting when it comes to programming games. If anyone knows otherwise, I have not found a command in the manuals for the 4052 that will read directly from the keyboard without requiring the RETURN key to be pressed. INPUT S$ requires the RETURN key to be pressed, I've tried a variety of commands like READ $31, S$ (which theorically means read from device 31, aka. the computer's built-in keyboard and store that into S$). This only gave me a syntax error, and I've tried INKEY$, which didn't work either.
Also, despite not being able to read from the keyboard, the 4052 cannot do animated graphics because of the DVST. It cannot simply make a line then move that line over, the previous position of the line will still remain on the DVST. The only way to erase is to use the PAGE command, and that makes a green flash that lasts just under a second. Thus, it is limits the graphics of certain games, especially those that contain moving objects. I was told that to make moving objects without the DVST storing, the computer has to be programmed in write-through mode, which is the same concept as the POINTER and cursor, the intensity is just right under the point where the DVST starts to store, thus the pointer and cursor can blink and move around without leaving trails. I think this only worked on the 4054, the bigger and higher-ended version of the 4052 and even had high-res graphics. If anyone knows how to make the 4052 do a custom write-through then I'd love to know.
The only games I've thought of that would work just fine and not be limited by these shortfalls is BlackJack, and I'm currently working on a version of that game for TekBASIC. Did anyone already make a BlackJack program for another version of BASIC, that would be a useful reference.
I've been playing with this computer in the past two weeks experimenting with TekBASIC; its version of BASIC is noticeably different from many other versions of BASIC. Some differences are noteworthy: it does not seem to allow multiple commands on one line, ie. 100 PRINT "HELLO" : END. Its vector drawing capability allows it to draw a line with a very simple command, DRAW X,Y (which is the final point of the line, the initial point would be the next line after the user presses return, unless a MOVE X,Y command is used to move the cursor to the initial point before drawing the line). Additionally, it has a statement called POINTER X,Y,Z$ which activates the pointer (looks like a upside down mouse pointer) and that command ends when the user presses any key (which is stored in Z$, and X,Y values of the pointer position are stored). The POINTER is useful for GUI-like programs or so.
I'll say, this is one neat computer and unique because of its vector-based display and the DVST screen, which stores the picture instead of storing the video data in RAM. If one made a loop program to print a message repeatedly, the effect of the computer drawing every letter very quickly from left to right, top to bottom is noticeable - like a neat looking comet across every line.
The downfalls of the DVST and this form of TekBASIC is that it is very limiting when it comes to programming games. If anyone knows otherwise, I have not found a command in the manuals for the 4052 that will read directly from the keyboard without requiring the RETURN key to be pressed. INPUT S$ requires the RETURN key to be pressed, I've tried a variety of commands like READ $31, S$ (which theorically means read from device 31, aka. the computer's built-in keyboard and store that into S$). This only gave me a syntax error, and I've tried INKEY$, which didn't work either.
Also, despite not being able to read from the keyboard, the 4052 cannot do animated graphics because of the DVST. It cannot simply make a line then move that line over, the previous position of the line will still remain on the DVST. The only way to erase is to use the PAGE command, and that makes a green flash that lasts just under a second. Thus, it is limits the graphics of certain games, especially those that contain moving objects. I was told that to make moving objects without the DVST storing, the computer has to be programmed in write-through mode, which is the same concept as the POINTER and cursor, the intensity is just right under the point where the DVST starts to store, thus the pointer and cursor can blink and move around without leaving trails. I think this only worked on the 4054, the bigger and higher-ended version of the 4052 and even had high-res graphics. If anyone knows how to make the 4052 do a custom write-through then I'd love to know.
The only games I've thought of that would work just fine and not be limited by these shortfalls is BlackJack, and I'm currently working on a version of that game for TekBASIC. Did anyone already make a BlackJack program for another version of BASIC, that would be a useful reference.