In TS-Horizons #5 it was mistakenly reported that Johnson’s and Swartz’s graphics program for the TS1000/ZX81 would run on the TS 2068. Below is a version of the original program which will run on the TS 2068. Provided by John Marion.
10 POKE 23658,8: GO SUB 200
20 LET X=110: LET Y=80
30 LET MODE=1
40 LET X=X+(INKEY$="8")-(INKEY$="5")
50 LET Y=Y+(INKEY$="7")-(INKEY$="6")
60 IF Y>175 THEN LET Y=175
70 IF Y<0 THEN LET Y=0
80 IF X>255 THEN LET X=255
90 IF X<0 THEN LET X=0
100 IF INKEY$="M" THEN LET MODE=0
110 IF INKEY$="D" THEN LET MODE=1
120 IF INKEY$="Z" THEN COPY
125 IF INKEY$="V" THEN CLS
130 IF INKEY$="I" THEN GO TO 500
135 IF INKEY$="Q" THEN GO TO 1000
140 IF INKEY$="S" THEN GO TO 700
145 IF INKEY$="L" THEN GO TO 750
150 IF MODE=0 THEN GO TO 180
160 OVER 1: PLOT X,Y: OVER 0: PLOT X,Y
170 GO TO 40
180 OVER 0: PLOT X,Y: OVER 1: PLOT X,Y
190 GO TO 40
200 CLS
210 PRINT AT 1,10;"*PLOTTER*"
220 PRINT ,,"[illegible] HARRY J. JOHNSON [illegible]"
230 PRINT ,,"[illegible] GARY L. SWARTZ [illegible]"
240 PRINT ,,"[illegible]"
250 PRINT ,,,,"REVISED FOR 2068 [illegible]"
260 PRINT ,,"KEY ""M"" TO MOVE WITH OUT"
270 PRINT "PLOTTING OR TO ERASE."
280 PRINT ,,"KEY ""D"" TO DRAW."
290 PRINT ,,"KEY ""Z"" TO COPY TO 2040 PRINTER."
300 PRINT ,,"MOVE USING THE ARROW KEYS."
310 PRINT ,,"[illegible] PRESS AN[illegible] KE[illegible] TO CON[illegible]"
320 PAUSE 4E4
330 CLS
340 PRINT AT 1,10;"*PLOTTER*"
350 PRINT ,,"KEY ""I"" TO ENTER TEXT."
360 PRINT ,,"POSITION CURSOR THEN KEY ""P"""
370 PRINT "ENTER YOUR TEXT, IT WILL APPEAR"
380 PRINT "AT CURSOR POINT."
390 PRINT ,,"KEY ""S"" TO SAVE SCREEN"
400 PRINT ,,"KEY ""L"" TO LOAD SCREEN"
405 PRINT ,,"KEY ""V"" TO CLEAR SCREEN"
410 PRINT ,,"KEY ""Q"" TO QUIT PROGRAM"
420 PRINT ,,"[illegible] PRESS AN[illegible] KE[illegible] TO CON[illegible]"
430 PAUSE 4E4
440 CLS
450 RETURN
500 OVER 0: LET L=21: LET C=0
510 IF L>21 THEN LET L=21
520 IF L<0 THEN LET L=0
530 IF C>31 THEN LET C=31
540 IF C<0 THEN LET C=0
550 PRINT AT L,C;"█"
555 FOR V=1 TO 10: NEXT V
560 PRINT AT L,C;" "
570 LET L=L+(INKEY$="6")-(INKEY$="7")
580 LET C=C+(INKEY$="8")-(INKEY$="5")
590 IF INKEY$="P" THEN GO TO 610
600 GO TO 510
610 PRINT AT L,C;"█"
620 INPUT H$
630 PRINT AT L,C;" ";H$
640 GO TO 40
700 INPUT "SAVE NAME ";A$
710 IF A$="" THEN GO TO 40
720 SAVE A$SCREEN$
730 GO TO 40
750 INPUT "LOAD NAME ";A$
760 LOAD A$SCREEN$
770 GO TO 40
800 SAVE "PLOTTER" LINE 10
810 RUN
Some readers had questions about the program as it originally appeared in T-S Horizons #5. These questions are answered below.
1. Line 55 in the original program says “GOTO 16.” Of course there is no line 16 in the program, but it is an acceptable instruction. The program merely looks for the next line number after 16 (20 in this case) and jumps ahead. No problem.
2. Line 251. “PAUSE 4E4” is a simple way to tell your computer to stop what it’s doing and wait. In this case pressing any key on the keyboard cases the program to restart.
3. Line 125. For those of you who had trouble reading this line in your copy here it is:”125 IF Y>43 THEN LET Y=43.”
Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.