10 " " WAIT 0: ON ERROR GOTO 90 20 Z=PEEK &7865*256+PEEK &7866-2010 30 U=Z+32: GOSUB 80: POKE Z+1,X,74,Y 60 CALL Z:Z=Z+880 70 GOTO 100 80 X=INT (U/256):Y=U-256*X: RETURN 90 CALL &7750: PAUSE "INVALID INPUT" 100 GOSUB 750:U=&790C: GOSUB 690: GOTO U+800 110 PRINT "DELETE PRESENT FILE? (Y/N)": GOSUB 740 120 IF U<>89 GOTO 100 130 INPUT "NAME OF NEW FILE? ";A$ 140 GOSUB 750 150 GOSUB 880 160 U=256*V+W+1: IF PEEK U>&7E POKE U,32 170 CALL Z+5: GOTO 300 180 GOSUB 760: IF PEEK U<>254 CALL &7750: GOTO 100 190 CALL Z+253: GOTO 300 200 U=&7926: GOSUB 690: IF U=20 GOTO 260 210 IF U<>22 GOTO 90 230 GOSUB 720:V=W-X:U=INT (V/256):V=V-256*U 240 POKE X,U: POKE X+2,V: GOSUB 790 250 CSAVE MA$;X,W: POKE X,254: POKE X+2,253: GOTO 100 260 INPUT "NAME OF FILE TO LOAD? ";A$ 270 GOSUB 750: GOSUB 880: GOSUB 790: CLOAD MA$;U 280 X=PEEK U*256:Y=PEEK (U+2): POKE U,254: POKE U+2,253: POKE &765D,PEEK (U+1) 290 V=U+X+Y:U=INT (V/256):V=V-256*U: POKE &765B,U,V: GOTO 100 300 U=PEEK &765F: IF U=0 GOTO 100 310 GOTO 310+10*U 320 BEEP 3: PRINT "FILE MEMORY FULL!": GOSUB 740: GOTO 100 330 GOTO 934 340 GOTO 949 350 BEEP 3: CLS : PAUSE "INPUT SEARCH STRING": PRINT "?": CALL Z-136: GOTO 300 360 PRINT "PRESENT LEVEL=";PEEK &765D: GOTO 700 370 GOTO 941 400 GOSUB 760: IF (PEEK U<>254)+(PEEK (U+2)<>253) CALL &7750: GOTO 100 402 POKE &765E,0,0:U=PEEK &7650*256+PEEK &7651: CALL &7780,U 405 U=&7940: GOSUB 690: IF U=20 GOTO 530 410 IF U<>22 GOTO 90 420 PRINT "IS INTERFACE SET UP? (Y/N)" 430 POKE &765F,240 440 GOSUB 740: IF U=89 GOTO 460 450 END 460 "Z" IF PEEK &765F<>240 GOTO 90 480 INPUT "LINE LENGTH? ";X: IF X<35 OR X>250 CALL &7750: GOTO 480 490 Y=0: GOSUB 850 500 GOSUB 670: LPRINT CHR$ 10 510 LPRINT CHR$ 10: IF PEEK &76EC=2 GOTO 100 520 GOSUB 680: GOTO 510 530 TEXT : CLS : PRINT "FORMAT:";: GCURSOR 84: GPRINT "7F7F7F7F": GCURSOR 128: GPRINT "3C3C3C3C3C3C3C3C3C3C3C" 540 GOSUB 740: IF U=22 GOTO 630 550 IF U<>20 GOTO 100 560 INPUT "CSIZE? ";Y:Y=INT Y: IF Y<1 OR Y>2 GOTO 560 570 X=INT (35/Y) 590 GOSUB 850: CSIZE Y 600 GOSUB 670: LF 1 610 GOSUB 680: LPRINT CHR$ 13: IF PEEK &76EC=2 LF 6: GOTO 100 620 GOTO 610 630 X=68:Y=0: GOSUB 850 635 GRAPH : ROTATE 1: CSIZE 2 640 GOSUB 860 643 Y=120: GOSUB 870: GOSUB 670:W=3: GOTO 646 645 GOSUB 860 646 GOSUB 870: GOSUB 680: IF PEEK &76EC=2 LET W=0: GOTO 660 650 W=W+1: IF W>10 GOTO 660 653 Y=600: GOSUB 870: POKE &79E4,0,1 654 Y=300: GOSUB 870: POKE &79E4,0,1 657 Y=120: GOTO 646 660 GLCURSOR (-216,-1036): IF W GOTO 645 663 GOSUB 860 666 GLCURSOR (0,-99): GOTO 100 670 FOR U=1 TO (X-LEN A$)/2: LPRINT " ";: NEXT U: LPRINT A$: RETURN 680 CALL Z-317:V=STATUS 3-258: FOR U=0 TO PEEK &765E: LPRINT CHR$ (PEEK (V+U));: NEXT U: RETURN 690 CALL &798E,U:U=PEEK &76FF: RETURN 700 CALL &E243: IF PEEK &765F CALL Z: GOTO 300 710 GOTO 100 720 W=PEEK &765B*256+PEEK &765C:X=PEEK &7657*256+PEEK &7658 730 Y=PEEK &7659*256+PEEK &765A: RETURN 740 CALL &E243:U=ASC INKEY$ : RETURN 750 POKE &77FD,0,0,0 760 U=STATUS 2 770 X=INT (U/256):Y=U-256*X: IF Y>250 LET U=U+6: GOTO 770 780 V=INT ((STATUS 3-259)/256):W=STATUS 3-259-256*V: RETURN 790 BEEP 3: PRINT "TURN ON TAPE RECORDER!": RETURN 818 GOTO 110 819 GOTO 180 820 GOTO 200 821 GOTO 400 822 END 850 POKE &76EA,X,Y,0: RETURN 860 SORGN : LINE -(216,0),2: SORGN :W=1: RETURN 870 GLCURSOR (-21*W,-Y): RETURN 880 POKE &7650,X,Y+3,254,1,253,39,254,X,Y,V,W,X,Y+4,1,0,0: RETURN 928 GOTO 10 934 CLS : PRINT "FILENAME: ";A$: GOTO 700 936 U=&7974: GOSUB 690: GOTO 100 941 GOSUB 720: PRINT Y-W;" CHARACTERS REMAIN": GOTO 700 942 INPUT "NEW FILE NAME? ";A$ 943 GOTO 100 949 GOSUB 720: PRINT W-X;" CHARACTERS USED": GOTO 700