Appears on
Assembled by Tim Ward from many sources. Contains programs 10051 – 10121.
Source Code
1 REM ::::::::::::::: 2 REM ::WORD WIZARD:: 3 REM :: BY :: 4 REM :: RYAN GRAY :: 5 REM :: 3/3/83 :: 6 REM ::::::::::::::: 7 LET C=0 8 DIM A$(5,672) 9 LET C$="" 10 LET E$="" 11 LET F$="" 19 CLS 20 PRINT AT 10,0;" ENTER FILE NAME. ----------" 21 FOR A=1 TO 10 22 LET B$=INKEY$ 23 IF B$="" THEN GOTO 22 24 IF B$=CHR$ 118 THEN LET B$=" " 25 PRINT AT 10,A+17;B$ 26 LET C$=C$+B$ 27 NEXT A 28 LET D$=C$ 29 IF C=1 THEN GOTO 38 30 PRINT ,,,," SAVING:";C$ 31 PAUSE 200 32 SAVE C$ 38 SLOW 39 LET C=0 40 CLS 41 PRINT "CURRENT FILE:";D$ 42 PRINT ,," WORD WIZARD BY RYAN GRAY " 43 PRINT "\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\.." 44 PRINT ,," MENU:" 45 PRINT ,," 1:SAVE FILE" 46 PRINT ,," 2:SEND PAGE TO PRINTER" 47 PRINT ,," 3:CLEAR PAGE" 48 PRINT ,," 4:CLEAR FILE" 49 PRINT ,," 5:WRITE PAGE" 51 PRINT AT 21,0;"OPTION? " 52 PRINT AT 21,6;"?" 53 LET B$=INKEY$ 54 IF B$<>"" THEN GOTO 60 55 PRINT AT 21,6;"%?" 56 GOTO 52 60 IF B$<"1" OR B$>"6" THEN GOTO 55 70 IF B$="1" THEN GOTO 100 71 IF B$="2" THEN GOTO 200 72 IF B$="3" THEN GOTO 300 73 IF B$="4" THEN GOTO 400 74 IF B$="5" THEN GOTO 500 100 CLS 110 GOTO 9 200 PRINT AT 21,0;"WHICH PAGE?" 210 INPUT A 211 IF A<1 OR A>5 THEN GOTO 9000 212 LPRINT "PAGE:";A 213 LPRINT 220 LPRINT A$(A) 230 GOTO 51 300 PRINT AT 21,0;"WHICH PAGE?" 310 INPUT A 311 IF A<1 OR A>5 THEN GOTO 9000 312 LET A$(A)="" 317 GOTO 51 400 PRINT AT 21,0;"CONFIRM.Y/N" 401 IF INKEY$="" THEN GOTO 401 402 IF INKEY$="Y" THEN GOTO 409 403 GOTO 51 409 LET C=1 410 GOTO 8 500 PRINT AT 21,0;"WHICH PAGE?" 505 INPUT A 510 IF A<1 OR A>5 THEN GOTO 9000 511 CLS 512 LET POS=1 513 LET B$=CHR$ (CODE (STR$ A)+128) 514 PRINT AT 21,0;"% %W%O%R%D% %W%I%Z%A%R%D% % % % % % % % % % % % % %P%A%G%E%:";B$;"% " 515 PRINT AT 0,0;A$(A) 520 LET WL=INT (POS/32) 530 LET WC=POS-WL*32-1 535 IF POS/32=INT (POS/32) THEN GOSUB 8000 536 SLOW 537 PRINT AT WL,WC;CHR$ (CODE A$(A,POS)+128) 538 LET X$=INKEY$ 539 IF X$<>"" THEN GOTO 560 540 PRINT AT WL,WC;A$(A,POS) 550 LET X$=INKEY$ 551 IF X$="" THEN GOTO 537 560 REM 565 IF X$=CHR$ 118 THEN LET X$=" " 567 IF X$=CHR$ 229 THEN LET X$="£" 568 IF CODE X$<64 THEN GOTO 595 569 IF CODE X$>111 AND CODE X$<116 THEN GOTO 660 570 IF X$=CHR$ 116 THEN GOTO 38 571 IF X$=CHR$ 192 THEN GOTO 1700 572 IF X$=CHR$ 217 THEN GOTO 1400 573 IF X$=CHR$ 224 THEN GOTO 1300 574 IF X$=CHR$ 219 THEN GOTO 2000 575 IF X$=CHR$ 117 THEN GOTO 1500 576 IF X$=CHR$ 221 THEN GOTO 7020 577 IF X$=CHR$ 216 THEN GOTO 7000 578 IF X$=CHR$ 225 THEN GOTO 1100 579 IF X$=CHR$ 228 THEN GOTO 2200 580 IF X$=CHR$ 121 THEN GOTO 631 581 IF X$=CHR$ 220 THEN GOTO 1200 586 IF X$=CHR$ 119 THEN GOTO 3000 588 IF X$=CHR$ 218 THEN GOTO 1600 589 IF X$=CHR$ 222 THEN GOTO 1800 590 IF X$=CHR$ 223 THEN GOTO 1900 595 LET A$(A,POS)=X$ 600 PRINT AT WL,WC;A$(A,POS) 610 LET POS=POS+1 620 IF POS>672 OR POS<1 THEN GOTO 3800 630 GOTO 520 631 LET UU=(WL+1)*32-POS 632 LET POS=POS+UU+1 633 PRINT AT WL,WC;A$(A,POS-UU-1) 634 GOTO 620 661 PRINT AT WL,WC;A$(A,POS) 665 LET POS=POS+(X$=CHR$ 115)-(X$=CHR$ 114)+32*(X$=CHR$ 113)-32*(X$=CHR$ 112) 670 GOTO 620 785 IF POS/32=INT (POS/32) THEN GOSUB 8000 1100 LET E$=A$(A,672)+E$ 1120 LET A$(A)=A$(A,1 TO POS-1)+" "+A$(A,POS TO 672) 1130 LET POS=POS+1 1135 IF LEN E$>200 THEN GOTO 9090 1140 GOTO 515 1210 LET E$=A$(A,672-32 TO 672)+E$ 1220 LET A$(A)=A$(A,1 TO POS-1)+" "+A$(A,POS TO 672) 1240 GOTO 515 1300 PRINT AT 21,13;"ENTER TEXT" 1320 INPUT X$ 1330 LET X=LEN X$ 1340 LET E$=A$(A,672-X TO 672)+E$ 1350 LET A$(A)=A$(A,1 TO POS-1)+X$+A$(A,POS TO 672) 1360 IF LEN E$>200 THEN GOTO 9200 1365 PRINT AT 21,13;"% % % % % % % % % % " 1370 GOTO 515 1400 LET A$(A,POS)=" " 1410 PRINT AT WL,WC;A$(A,POS) 1420 GOTO 520 1500 GOSUB 2500 1510 IF A=5 THEN LET A=0 1520 LET A=A+1 1530 GOTO 511 1600 GOSUB 2500 1610 IF A=1 THEN LET A=6 1620 LET A=A-1 1630 GOTO 511 1710 PAUSE 100 1720 IF INKEY$="" THEN GOTO 1720 1740 LET A$(A,POS)=INKEY$ 1750 GOTO 536 1800 PRINT AT 21,13;"AMOUNT?" 1810 INPUT X 1820 LET F$=A$(A,POS-X TO POS-1) 1830 LET A$(A)=A$(A,1 TO POS-X-1)+A$(A,POS TO 672) 1840 PRINT AT 21,13;"% % % % % % % " 1850 GOTO 515 1910 LET A$(A)=A$(A,1 TO POS-1)+F$+A$(A,POS TO 672) 1920 LET F$="" 1930 GOTO 515 2010 GOSUB 2500 2020 GOTO 515 2200 IF E$="" THEN LET A$(A)=A$(A,1 TO POS-2)+A$(A,POS TO 672) 2210 IF E$<>"" THEN LET A$(A)=A$(A,1 TO POS-2)+A$(A,POS TO 672)+E$(1) 2220 IF E$<>"" THEN LET E$=E$(2 TO ) 2230 LET POS=POS-1 2240 GOTO 515 2500 IF E$="" THEN RETURN 2510 LET X=LEN E$ 2520 FOR B=A+1 TO 4 2530 LET G$=A$(B,672-X TO 672) 2540 LET A$(B)=E$+A$(B,1 TO 672-X-1) 2550 LET E$=G$ 2560 NEXT B 2570 LET E$="" 2580 RETURN 3000 LET POS=POS-1 3005 LET A$(A,POS)=" " 3006 PRINT AT WL,WC;A$(A,POS+1) 3010 GOTO 520 3800 LET A=A+1 3810 IF A>5 THEN GOTO 9100 3820 GOTO 511 7000 PRINT AT WL,WC;A$(A,POS) 7005 LET POS=1 7010 GOTO 520 7020 LET E$="" 7030 GOTO 520 8000 LET WC=31 8010 LET WL=WL-1 8020 RETURN 9000 PRINT AT 21,0;"%E%R%R%O%R:NO SUCH PAGE" 9010 FOR B=0 TO 30 9020 NEXT B 9030 PRINT AT 21,0;" " 9040 GOTO 51 9070 PRINT AT 21,13;"END OF PAGE" 9071 FOR B=0 TO 30 9072 NEXT B 9073 GOTO 38 9090 PRINT AT 21,13;"BUFFER FULL" 9091 FOR B=0 TO 30 9092 NEXT B 9093 GOTO 38 9100 PRINT AT 21,13;"ALL FILES USED" 9110 FOR B=0 TO 30 9120 NEXT B 9130 GOTO 38 9200 PRINT AT 21,13;"TOO MUCH% % " 9210 FOR B=0 TO 30 9220 NEXT B 9230 GOTO 38 9240 CLEAR 9250 SAVE "1008%7" 9260 RUN