10 DN=PEEK(186) 11 : 12 PRINT"OPEN CMD CHANNEL" 13 OPEN15,DN,15 14 GOSUB87:PRINTDS$:IFNOT(DS=0ORDS=73)THEN82 15 : 16 PRINT"SCRATCH FILE1" 17 PRINT#15,"S0:FILE1" 18 GOSUB87:PRINTDS$:PRINT:IFNOT(DS=1ORDS=62)THEN82 19 : 20 PRINT"SCRATCH FILE2" 21 PRINT#15,"S0:FILE2" 22 GOSUB87:PRINTDS$:PRINT:IFNOT(DS=1ORDS=62)THEN82 23 : 24 PRINT"OPEN FILE1 FOR WRITE" 25 OPEN2,DN,2,"FILE1,S,W" 26 GOSUB87:PRINTDS$:PRINT:IFDS<>0THENCLOSE2:GOTO82 27 : 28 PRINT"WRITE FILE1" 29 FORT=1TO10:PRINT#2,"FILE1 LINE"+STR$(T):NEXT 30 GOSUB87:PRINTDS$:PRINT:IFDS<>0THENCLOSE2:GOTO82 31 : 32 PRINT"CLOSE FILE1" 33 CLOSE2 34 GOSUB87:PRINTDS$:PRINT:IFDS<>0THEN82 35 : 36 PRINT"OPEN FILE2 FOR WRITE" 37 OPEN2,DN,2,"FILE2,S,W" 38 GOSUB87:PRINTDS$:PRINT:IFDS<>0THENCLOSE2:GOTO82 39 : 40 PRINT"WRITE FILE2" 41 FORT=1TO10:PRINT#2,"FILE2 LINE"+STR$(T):NEXT 42 GOSUB87:PRINTDS$:PRINT:IFDS<>0THENCLOSE2:GOTO82 43 : 44 PRINT"CLOSE FILE2" 45 CLOSE2 46 GOSUB87:PRINTDS$:PRINT:IFDS<>0THEN82 47 : 48 PRINT"REN. FILE2 INTO FILE1" 49 REM ** THIS SHOULD UNDER NORMAL 50 REM CIRCUMSTANCES BE REJECTED 51 REM BY THE DOS, AS FILE1 52 REM ALREADY EXISTS! 53 PRINT#15,"R0:FILE1=FILE2" 54 GOSUB87:PRINTDS$:PRINT:IFNOT(DS=0ORDS=63)THEN82 55 : 56 PRINT"OPEN FILE1 FOR READ" 57 OPEN2,DN,2,"FILE1,S,R" 58 GOSUB87:PRINTDS$:PRINT:IFDS<>0THENCLOSE2:GOTO82 59 : 60 PRINT"FILE1 CONTENTS:" 61 INPUT#2,A$:PRINTA$:Q=ST 62 GOSUB87:IFDS<>0THENPRINTDS$:PRINT:CLOSE2:GOTO82 63 IFQ=0THEN61 64 : 65 PRINT"CLOSE FILE1" 66 CLOSE2 67 GOSUB87:PRINTDS$:PRINT:IFDS<>0THEN82 68 : 69 PRINT"OPEN FILE2 FOR READ" 70 OPEN2,DN,2,"FILE2,S,R" 71 GOSUB87:PRINTDS$:PRINT:IFDS<>0THENCLOSE2:GOTO82 72 : 73 PRINT"FILE2 CONTENTS:" 74 INPUT#2,A$:PRINTA$:Q=ST 75 GOSUB87:IFDS<>0THENPRINTDS$:PRINT:CLOSE2:GOTO82 76 IFQ=0THEN74 77 : 78 PRINT"CLOSE FILE2" 79 CLOSE2 80 GOSUB87:PRINTDS$:PRINT:IFDS<>0THEN82 81 : 82 PRINT"CLOSE CMD CHANNEL" 83 CLOSE15 84 END 85 : 86 : 87 DS$="":FORP=-1TO0:GET#15,A$:DS$=DS$+A$:P=ST=0:NEXT:DS=VAL(DS$):RETURN