Classic Computer Magazine Archive ANTIC VOL. 4, NO. 11 / MARCH 1986


Joystick-controlled word processor


A simple and reprogrammable word processor that's operated entirely by joystick-for the disabled who can't operate a keyboard. The BASIC program works on all Atari computers of any memory configuration, disk or cassette.

Computers are a boon to the deaf or speechless because they allow communication with the world via the keyboard. But what of those who are physically unable to type? Victims of stroke or muscular dystrophy may be left with mind intact but little motor control.
   This problem struck home when my father faced delicate brain surgery and was warned that the operation could potentially cause problems exactly like those just described. I knew this possibility had to frighten him, so I set out to see what the Atari and I could do to help.
   Luckily, my father didn't have to use the program, but I present it here in the hope that it will be useful to others.
   Stickwriter is a joystick-controlled method of creating text by linking together words and letters chosen from a screen menu. If necessary, a head harness or similar apparatus could be designed to emulate a joystick.

Type in Listing 1, STIKWRIT.BAS, check it with TYPO II, and SAVE a copy before RUNning it. Note that in line 920 the sixth "word" in the DATA statement is actually a blank space.
   When you RUN Stickwriter, after a brief title screen, you will be presented with the menu screen. The top part contains a vocabulary of words and letters and the lower half is the text window. Sandwiched between these are the Stickwriter commands which can be identified by their inverse letters.
   To create text, position the cursor on the first letter of the word you have chosen, and press the joystick button. The selected word will appear in the text window and the cursor will return to its home position.
   Words not in the vocabulary may be spelled by using the alphabet portion of the menu. Stickwriter automatically adds a blank space to the end of each word but not after each letter, so when you spell a word you'll have to add a blank space by pressing the button while the cursor is in the home position.
   If the cursor is placed in the middle of the chosen vocabulary word, Stickwriter will print a partial word. This can be used to create words not evident in the vocabulary list. For example, to print "here", place the cursor on the "h" "there".

Choose commands the same way you chose words. Be sure the cursor is on the inverse letter of the command.

   PRINT-Every word put in the text window is stored in memory. When you choose PRINT, everything you entered since the last ERASE MEMORY command will be printed to your printer. Printing text will not affect memory.

   CLEAR SCREEN-As the text window becomes full, it scrolls up one line. This command will clear the text window, if desired, but will not clear the text in memory.

   ERASE MEMORY-This is the only command which will clear text from memory and allow you to start anew. Be careful here: once it's gone, it's gone.

   BACKSPACE-This will erase the last character from the text window and memory.

   DELETE WORD-The same as BACKSPACE, but deletes the last word entered.

   RING BELL-Activates a ten-second warbler-siren to summon help. (Make sure the TV volume is turned up.)

   VOICE-This option will work with the "S.A.M. Handler" program printed in Antic, February 1985. (Naturally it's also required that you own the S.A.M. speech generator disk. Install "S.A.M. Handler" before loading Stickwriter and be sure to remove the word "REM" from line 840.)

You can create your own vocabulary by changing the DATA statements in lines 870 to 940. Just make sure that you have exactly 12 words in each one and that you readjust line 880 as necessary to prevent overlapping words. The numbers in line 880 control the position of the columns in which the words are printed. As presently programmed, the first column of words begins two spaces in from the left border of the screen, the second column begins eight spaces from the left border, etc.

For maximum speed, frequently used subroutines are at the start of the program.
70        Turn off the cursor.
80        Turn on the cursor.
90        Disable break key.
170       Disable keyboard.
180       Turn off screen while drawing menu.
190-220   Gets info from data and prints it.
330       Turn screen back on.
370-550   Cursor movement routine.
520-530   Slow down the cursor.
560-670   Read screen input if button pressed.
560       LOCATE command used to read a character from screen; has side effect of erasing character, so...
600       Reprints character to screen.
680-840   Input commands processed here.
950-1020  Catch errors and prevent program crash.

Bill Lukeroth is a technical writer from the San Francisco Bay Area whose work has often appeared in Antic.

Listing  1   STIKWRIT.BAS Download