Sitenotice: 11/29/2018: The wiki is back. It turns out, some anti-virus product on my web server had an issue with the latest version of PHP. My server techs have resolved this issue, and things should be working again. During the investigation, I did restore to a backup from September. There is a chance that any changes done since then were lost, but I do not recall any edits. --OS-9 Al

8/30/2016: Massive re-work is being done on the InfoBox Templates. Read that page to keep up with the plan for that, and adding better keyword tags (categories) to all the pages. --OS-9 Al (talk) 15:28, 31 August 2016 (CDT)

WORDSMC

From CoCopedia - The Tandy/Radio Shack Color Computer Wiki
Jump to navigation Jump to search
100 DIM A(480*5): A(480*5)=0
110 CLS: R=0: C=0
120 CC=PEEK(16384+R*32+C)
130 A$=INKEY$: IF A$<>"" THEN 160
140 IF K=0 THEN POKE 16384+R*32+C,128: K=1: GOTO 130
130 POKE 16384+R*32+C,255: K=0: GOTO 130
160 POKE 16384+R*32+C,CC:A=ASC(A$)
170 IF A=94 THEN 330
180 IF A=142 THEN 400
190 IF (A<32) OR (A>127) THEN 250
200 IF A=64 THEN POKE 16384+R*32+C,96; GOTO 270
210 IF (A>31) AND (A<65) THEN A=A+64
220 POKE 16384+R*32+C,A
230 C=C+1: IF C=32 THEN C=0: R=R+1: IF R=15 THEN R=0
240 GOTO 120
250 IF (A<8) OR (A>13) THEN 120
260 ON A-7 GOTO 270,290,310,120,120,350
270 C=C-1: IF C=-1 THEN C=31: R=R-1: IF R=-1 THEN R=14
280 GOTO 120
290 C=C+1: IF C=32 THEN C=0: R=R+1: IF R=15 THEN R=0
300 GOTO 120
310 R=R+1: IF R=15 THEN R=0
320 GOTO 120
330 R=R-1: IF R=-1 THEN R=14
340 GOTO 120
350 FOR J=1 TO 32-C
360 POKE 16384+R*32+C,223
370 C=C+1: NEXT J
380 R=R+1: C=0: IF R=15 THEN R=0
390 GOTO 120
400 PRINT@48O,"FUNCTION?";
410 A$=INKEY$: IF A$="" THEN 410
420 PRINT @490,A$;
430 IF A$="W" THEN 720
440 IF A$="L" THEN 760
450 IF A$="P" THEN 650
460 IF A$="S" THEN 560
470 IF A$<>"G" THEN 800
480 A$=INKEY$: IF A$="" THEN 480
490 PRINT @491,A$;:IF (A$<"1") OR (A$>"5") THEN 800
500 B=(VAL(A$)-1)*480
510 J=0
520 FOR I=B TO B+479
530 POKE 16384+J,A(I)
540 J=J+1: NEXT I
550 GOTO 800
560 A$=INKEY$: IF A$="" THEN 560
570 PRINT @491,A$;:IF (A$<"1") OR (A$>"5") THEN 800
580 B=(VAL(A$)-1)*480
590 J=0
600 FOR I=B TO B+479
610 A(I)=PEEK(16384+J)
620 J=J+1: NEXT I
630 A(480*5)=I-1
640 GOTO 800
650 FOR I=0 TO A(480*S)
660 IF A(I)=223 THEN LRINT: I=INT(I/32)*32+31: GOTO 690
670 B=A(I): IF B>90 THEN B=A(I)-64
680 LPRINT CHR$(B);
690 A$=INKEY$: IF A$<>"" THEN 800
700 NEXT I
710 GOTO 800
720 REM CASSETTE OUTPUT
730 CLS
740 CSAVE*A,"SCREEN"
750 A$="1": GOTO 500
760 REM CASSETTE INPUT
770 CLS
780 CLOAD*A,"SCREEN"
790 A$="1": GOTO 500
800 PRINT @480,"              ";:GOTO 120