The Computer Tutor: TS-2068 Full Screen Use

Author(s): Gene G. Buza
Publication: Synchro-Sette
Pub Details: Synchro-Sette v3 n5 (Volume 3, Issue 5)
Date: May 1984
Pages: 14-16
The Computer Tutor heading art, tutor in mortarboard pointing at a computer
The Computer Tutor heading art, tutor in mortarboard pointing at a computer

Good morning, Class! Many of us were told that we couldn’t directly address the bottom 2 lines of the screen on the TS-1000 type computers. A command such as < PRINT AT 22,0;”HELLO” > or < PRINT AT 23,0;”GOODBYE > would result in an error message.

We later found out that if we were to PEEK 16418 (page 135 of the TS-1000 manual), we would find that the number 2 resided in that location. This 2 represented the number of lines at the bottom of the screen unavailable to normal basic programming commands. This number could be changed to a 1 or 0 with a POKE and now the bottom two lines could be accessed with carry-over PRINT commands or PRINT AT commands.

A program incorporating these techniques would work OK until an INPUT command was encountered. The program would then bomb. Re-POKEing a 2 into the location before the INPUT occurred would solve the problem. If you wanted to keep a 0 in the location and only a single character had to be entered from the keyboard, then the INKEY$ function could be used.

On page 263 of the TS-2068 manual, we find the corresponding memory location is 23659 on the TS-2068.

Everything should then operate the same, right? Not so! A program such as the following will cause the TS-2068 to bomb.

Version #1

10 POKE 23659,0
20 PRINT AT 22,0;"HELLO"
30 PRINT AT 22,0;"GOODBYE"
40 PAUSE 40000
50 CLS

The same thing will happen if program line #40 is changed to <40 GOTO 40> or if it is eliminated. Also if CLS is used after the POKE, the program will bomb.

However, fhe bottom two screen lines can be used if certain rules are adhered to. The following program will accomplish all the things the above program wouldn’t.

Version #2

10 POKE 23659,0
20 PRINT AT 22,0;"HELLO"
30 PRINT "GOODBYE"
40 PAUSE 40000
50 POKE 23659,2
60 CLS

The reason Version #1 wouldn’t work is because program line #30 or #50 will cause the program to bomb. Asking the computer to print at screen line #22 is OK but at line #23, the crash occurs. If only screen line #23 is to be printed at, then program line #20 is changed to read < 20 PRINT AT 22,0 >.

Before the CLS command can be used a < POKE 23659,2 > has to occur.

So, the basic rule of using the bottom two lines of the screen are:

1. POKE location 23659 with a <2>

2. Do not use < PRINT AT 23,0 >

3. Use < PRINT AT 22,0 > to set up screen line #23

4. Do not print at a location beyond the last character position of the 23rd screen line

5. Do not use < CLS > if PEEK 23659 = 0 or 1 (change to 2 first and back to 0 after CLS)

6. Do not use INPUT command if PEEK 23659 = 0 or 1

7. Do not end program while PEEK 23659 = 0 or 1. This will cause program to crash – POKE 23659,2 first.

There may be some other weird effects not covered here so make sure to SAVE the program on cassette periodically while it is being written – Class dismissed.

Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.