MediaWiki:Sitenotice:
2024-03-02: The wiki ran out of disk space, so things were not working. This has been resolved by adding another 5GB of quota ;-) Thanks to Tim Lindner for reporting the issues. 2020-05-17: If a page gives you an error about some revision not being found, just EDIT the page and the old page should appear in the editor. If it does, just SAVE that and the page should be restored. OS-9 Al (talk) 12:22, 17 May 2020 (CDT)

WORDS

From CoCopedia - The Tandy/Radio Shack Color Computer Wiki
Jump to navigation Jump to search
100 DIM A(480*S): A(480*S)=0
110 CLS: R=0: C=0
120 CC=PEEK(1024+K*32+C)
130 A$INKEY$: IF A$<>" THEN 160
140 IF K=0 THEN POKE 1024+R*32+C,128: K=1: GOTO 130
130 POKE 1024+R*32+C,255: K=0: GOTO 130
160 POKE 1024+R*32+C,CC:A=ASC(A$):
170 IF A=94 THEN 330
180 IF A=95 THEN 400
190 IF (A<32) OR (A>127) THEN 250
200 IF A=64 THEN POKE 1024+R*32+C,96; GOTO 270
210 IF (A>31) AND (A<65) THEN A=A+64
220 POKE 1024+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 1024+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 810
450 IF A$="P" THEN 650
460 IF A$="S" THEN 560
470 IF A$<>"G" THEN 900
480 A$=INKEY$: IF A$="" THEN 480
490 PRINT @491,A$;:IF (A$<"1") OR (A$>"5") THEN 900
500 B=(VAL(A$)-1)*480
510 J=0
520 FOR I=B TO B+479
530 POKE 1024+J,A(I)
540 J=J+1: NEXT I
550 GOTO 900
560 A$=INKEY$: IF A$="" THEN 560
570 PRINT @491,A$;:IF (A$<"L") OR (A$>"5") THEN 900
580 B=(VAL(A$)-1)*480
590 J=0
600 FOR I=B TO B+479
610 A(I)=PEEK(1O24+J)
620 J=J+1: NEXT I
630 A(480*5)=I-1
640 GOTO 900
650 FOR I=0 TO A(480*S)
660 IF A(I)=223 THEN PRINT#-2: I=INT(I/32)*32+31: GOTO 690
670 B=A(I): IF B>90 THEN B=A(I)-64
680 PRINT#-2,CHR$(B);
690 A$=INKEY$: IF A$<>"" THEN 900
700 NEXT I
710 GOTO 900
720 REM CASSETTE OUTPUT
730 CLS
740 OPEN "O",-1,"SCREEN"
750 FOR I=0 TO 480*5
760 PRINT#-1,A(I)
770 PRINT".";
780 NEXT I
790 CLOSE-1
800 A$="1": GOTO 500
810 REM CASSETTE INPUT
820 CLS
830 OPEN "I",-1,"SCREEN"
840 FOR I=0 TO 480*5
850 INPUT#-1,A(I)
860 PRINT".";
870 NEXT I
880 CLOSE-1
890 A$="1": GOTO 500
900 PRINT @48O,"                    ";:GOTO 120