10 GOTO370:REM DSKTRM, Version 2.8 for the Mod-100, by Richard Logan, CIS-75715,100. Thanks to Rick Perry for his routines in TERM.100 20 CALLVARPTR(M(0)),0,VARPTR(X):PRINTCHR$(X);:IFDTHENN=N+1:Z(N)=X:IFN>255THENGOSUB120:GOSUB130 30 RETURN 40 A$=STRING$(7,128)+"Abr"+CHR$(244):GOSUB270:ONKEYGOSUB,,,,,,,140:ONERRORGOTO160:K=0:N=-1:KEYON:IFETHEN60ELSED=-1:GOSUB130 50 IFKTHEN170ELSEA$=INKEY$:IFINSTR(N$,A$)THEN50ELSEPRINT#2,A$;:GOTO50 60 GOSUB90 70 IFKTHEN170ELSEGOSUB80:GOTO70 80 J=J+1:IFJ>MTHEN90ELSEPRINT#2,CHR$(Z(J));:RETURN 90 J=-1:M=-1:IFEOF(3)THENK=-1:RETURNELSEGOSUB150 100 M=M+1:Z(M)=ASC(INPUT$(1,3)):IFZ(M)=10THENM=M-1 110 IFM>255OREOF(3)THEN130ELSE100 120 IFN<0THENRETURNELSEGOSUB150:FORJ=0TON:PRINT#3,CHR$(Z(J));:NEXT:N=-1:RETURN 130 MDMON:COMON:PRINT#2,CHR$(17);:RETURN 140 KEYOFF:K=-1:SCREEN,0:RETURN 150 COMSTOP:MDMSTOP:PRINT#2,CHR$(19);:CALL21274:RETURN 160 RESUME170 170 SCREEN,0:GOSUB150:GOSUB120:PRINT#3,CHR$(26);:CLOSE3:IFE=0THENGOSUB590 180 ONERRORGOTO250:KEYOFF:A$="Pau"+CHR$(243)+"Dow"+CHR$(238)+" U"+CHR$(240)+"Tlc"+CHR$(237)+"LFi"+CHR$(236)+"Fre"+CHR$(229)+"Di"+CHR$(242)+"By"+CHR$(229):GOSUB270 190 CALL16969:ONKEYGOSUB320,210,220,280,550,360,340,230:ONCOMGOSUB20:ONMDMGOSUB20:S=0:K=0:D=0:KEYON:GOSUB130 200 ONKGOTO240,260,280:A$=INKEY$:IFINSTR(N$,A$)THEN200ELSEPRINT#2,A$;:GOTO200 210 K=1:RETURN 220 K=2:RETURN 230 K=3:RETURN 240 KEYOFF:GOSUB150:SCREEN,0:PRINT:LINEINPUT"File to Download? ";Y$:OPENY$FOROUTPUTAS3:E=0:FF$=Y$:GOTO40 250 PRINT" aborted":RESUME180 260 KEYOFF:GOSUB150:SCREEN,0:PRINT:LINEINPUT"File to Upload? ";Y$:OPENY$FORINPUTAS3:E=-1:GOTO40 270 V=VARPTR(A$):CALL17061,0,PEEK(V+1)+256*PEEK(V+2):RETURN 280 KEYOFF:GOSUB150:SCREEN,0:PRINT:IFK=3THENPRINT"Disconnect? ";ELSEPRINT"Telcom? "; 290 LINEINPUTA$:A$=LEFT$(A$,1):IFA$<>"Y"ANDA$<>"y"THENERROR 300 IFK=3THENMAXFILES=1:MENUELSEGOSUB130:IFLTHENMAXFILES=1:CLEAR0 310 CALL21608 320 S=NOTS:IFSTHENPRINT#2,CHR$(19);ELSEPRINT#2,CHR$(17); 330 RETURN 340 PRINT:FILES:RETURN 350 PRINT#2,CHR$(3);:RETURN 360 PRINT:PRINTFRE(0)"Bytes Free":RETURN 370 MAXFILES=3:CLEAR500:DEFINTA-O,R-Z:DIMX,M(2),Z(300):SCREEN,0:CLS:FORN=0TO2:READM(N):NEXT:K=3:N$=CHR$(0) 380 CLS:INPUT"Find";NN$ 390 NM$=NN$+":":GOTO460 400 L=0:Y$="MDM:7I1E":GOTO420 410 ' 420 CLS:OPENY$FORINPUTAS1:OPENY$FOROUTPUTAS2:GOTO180 430 DATA32461,30573,201 440 KEY1,"Files"+CHR$(13):KEY2,"Load "+CHR$(34):KEY3,"Save "+CHR$(34):KEY4,"Run"+CHR$(13) 450 KEY5,"List"+CHR$(13):KEY6,"Kill "+CHR$(34):KEY7,"Cls"+CHR$(13):KEY8,"Menu"+CHR$(13):RETURN 460 OPEN "ADRS"FOR INPUT AS3 470 IFEOF(3)THENPRINTNM$+CHR$(128)+" not in ADRS":STOP 480 LINEINPUT#3,LG$:IF LEFT$(LG$,4)<>NM$THEN470ELSEGOSUB210 490 LG$=MID$(LG$,5,(LEN(LG$)-4)) 500 Q=VARPTR(LG$):P=PEEK(Q+1)+(PEEK(Q+2)*256):CLOSE3 510 CLS 520 CALL21200:CALL21293,0,P:ONERRORGOTO530:GOTO400 530 PRINT"Error ";ERR 540 CLOSE:STOP 550 PRINT#2,CHR$(19);:MOTORON:CLOSE1,2,3 560 SCREEN,0:LFILES 570 CLOSE:OPEN"MDM:7I1E"FORINPUTAS1:OPEN"MDM:7I1E"FOROUTPUTAS2 580 MOTOROFF:PRINT#2,CHR$(17);:ERR 590 PRINT#2,CHR$(19);:MOTORON:CLOSE1,2,3 600 CALLMAXRAM+12 610 OPENFF$FORINPUTAS3 620 OPEN"0:"+FF$FOROUTPUTAS2 630 IFEOF(3)GOTO670 640 LINEINPUT#3,LI$ 650 PRINT#2,LI$ 660 GOTO630 670 KILLFF$+".DO" 680 CLOSE:OPEN"MDM:7I1E"FORINPUTAS1:OPEN"MDM:7I1E"FOROUTPUTAS2 690 MOTOROFF:PRINT#2,CHR$(17);:RETURN 700 REM, See "DSKTRM.DOC" for info on program and hardware needed.