Don’t ask me how to pronounce that word. Don’t ask what it means, either. If you know how my mind works, you won’t have to ask. If you don’t–well, you remember what Louie Armstrong said about jazz: “If you have to ask what it is, you wouldn’t understand the answer.”
Be that as it may, this is the simplest word processor of all. Don’t be afraid to use it, if you have an article that is just begging to be written but you don’t have MEMOTEXT or MSCRIPT.
The program is simplicity itself. Figure 1 LISTs the 2068 program, with an abridged version of this article in it. Figure 2 is the “empty” TS1000 version.
As you can see, the text is stored as successive lines of string variable, designated as a$. The operation of the SAVE, PRINTOUT, and DISPLAY sections should be apparent. The DISPLAY routine lists the line numbers, as well as the text, to make it easy to locate any errors that are detected.
Line 9160 determines which lines will be printed or displayed.
Just a word about the machine code section. This is a simple line renumbering sequence, established by DATA/READ statements in the 2068, and residing in the first REM line in the TS1000 version. It serves the two functions of POKEing zero as the number of the first line, to protect it from inadvertent erasure, (actually, this is done by Line 9510 of the TS1000 version) and of letting you tidy things up if you want to insert or DELETE lines as your article takes shape. Just RUN the program after you make the insertion or deletion, and everything “neatens up” as pretty as my granddaughter in her Sunday clothes.
If you use this processor to prepare an article for SyncWare News, remember that our format is 52 characters per line. For your information, a 52-character line looks like this in the LISTing:
xxxx LET a$="1234567890123456789012345678901234567890123456789012"
The program does not renumber Line 2 (Line 5 in the TS1000 version). Also it leaves lines numbered higher than 8959 (=256*35-1) unchanged.
1 REM ▒▒ 5▒RNDY?W7▒4 UNPLOT 7▒COS YS▒ SAVE ?7? FAST 5▒ ▒?? LPRINT ?▒RND
5 GOTO 9000
10 LET A$="THE WORLD KNOWS THAT"
15 RETURN
20 LET A$="BASIL"
25 RETURN
30 LET A$="LOVES"
35 RETURN
40 LET A$="JOCELYN"
45 RETURN
8999 STOP
9010 RAND USR 16514
9020 CLS
9030 PRINT ,,,"DO YOU WANT"
9040 PRINT ,," DISPLAY?"
9050 PRINT ,," PRINTOUT?"
9070 PRINT ,,,,,,"(PRESS INITIAL LETTER)"
9080 SLOW
9100 IF INKEY$="" THEN GOTO 9100
9110 FAST
9120 LET C=CODE INKEY$
9130 IF C<>41 AND C<>53 THEN GOTO 9080
9135 CLS
9140 FOR F=10 TO 50 STEP 10
9150 GOSUB F
9160 IF C=41 THEN GOTO 9200
9170 LPRINT A$
9180 GOTO 9210
9200 PRINT F;" ";A$
9210 NEXT F
9300 STOP
9500 SAVE "ETAMITL▒"
9510 POKE 16510,0
9520 LIST
TS1000 ETAMITLU LISTING
16514 1 16515 5 16516 0 16517 33 16518 129 16519 64 16520 62 16521 117 16522 60 16523 35 16524 190 16525 32 16526 252 16527 35 16528 190 16529 200 16530 62 16531 33 16532 190 16533 248 16534 112 16535 35 16536 113 16537 229 16538 33 16539 5 16540 0 16541 9 16542 68 16543 77 16544 225 16545 195 16546 136 16547 64
MACHINE CODE FOR TS1000 ETAMITLU
(SEE BASIL/S COMPENDIUM CHAPT. 2 IN SYNCWARE NEWS, VOL. 2, NO.2
1 GO TO 9000
2 LET a$="": RETURN
10 LET a$="": RETURN
20 LET a$="": RETURN
30 LET a$="": RETURN
40 REM lines 40 to....
620 REM ...620
630 LET a$="": RETURN
640 LET a$="The program does not renumber Line 2 (Line 5 in the ": RETURN
650 LET a$="TS1000 version). Also it leaves lines numbered higher": RETURN
660 LET a$="than 8959 (=256*35-1) unchanged.": RETURN
670 LET a$=CHR$ 12: RETURN
680 LET a$="": RETURN
8998 RETURN
8999 STOP
9000 REM LPRINT and PROOFREAD
9010 RANDOMIZE USR 65000
9020 CLS
9030 PRINT ''"Do you want"
9040 PRINT ''" Display?"
9050 PRINT '" Printout?"
9060 PRINT '" Edit or Enter text?"
9070 PRINT ''"(Press initial letter)"
9080 IF INKEY$<>"" THEN GO TO 9080
9090 IF INKEY$="" THEN GO TO 9090
9100 LET C=CODE INKEY$
9110 LET C=C*((C=68)+(C=69)+(C=80)+(C=100)+(C=101)+(C=112))
9120 IF C=0 THEN GO TO 9080
9130 CLS
9140 LET C=C-32*(C>80)
9150 IF C=69 THEN LIST
9160 LET P=(C=80)
9170 FOR F=20 TO 670 STEP 10
9180 GO SUB F
9190 IF P THEN LPRINT a$: GO TO 9210
9200 PRINT F;" ";a$
9210 NEXT F
9550 BEEP .3,12: BEEP 1,12
9799 STOP
9800 REM SAVE
9805 POKE 23636,104
9810 SAVE "ETAMITLU" LINE 9860
9820 BEEP .3,12: BEEP 1,12
9830 VERIFY ""
9840 BEEP .3,16: BEEP 1,16
9850 STOP
9860 CLEAR 65000: REM if varied, change lines 9010 and 9875 accordingly
9865 POKE 23636,105: POKE 26802,251: RANDOMIZE USR 26921
9870 RESTORE
9875 FOR f=65000 TO 65036
9880 READ a
9890 POKE f,a
9900 NEXT f
9910 BEEP .3,12: BEEP 1,12
9920 DATA 42,83,92,35,54,0,1,25,0
9930 DATA 9,17,10,0,1,10,0,62,13
9940 DATA 35,190,32,252,35,62,35
9950 DATA 190,200,190,216,114,35,115,235,9
9960 DATA 235,24,235
2068 LISTing for ETAMITLU
Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.