1 'xmodem 1/23/85 by rick perry mod sxm 2 've 3.1 5/7/86 by rich young & rick mendosa [71676,725] 3 'modified for use with com:'by Dieter F. Barth [71246,313] 4 'rev 10/12/86 5 GOTO83 6 T=0 7 CALLVARPTR(M(16)),0,VARPTR(X(0)):IFX(0)THENRETURNELSET=T+1:IFT<66*STHEN7ELSERETURN 8 CALLVARPTR(M(21)),0,VARPTR(X):PRINTCHR$(X);:IFQTHENLPRINTCHR$(X); 9 IFD>0THENPRINT#3,CHR$(X);:RETURN 10 IFDTHENN=N+1:Z(N)=X:IFN>255THEN15 11 RETURN 12 A$="7I1E"+N$:R=6118:GOSUB73:RETURN 13 B$=INPUT$(1,3):IFB$=S$THENCOMOFF 14 RETURN 15 S=0:GOSUB78:IFP=4THENGOSUB43 16 FORJ=0TON:PRINT#(P),CHR$(Z(J));:NEXT:N=-1:IFP=4THENGOSUB44:POKE-190,175 17 GOTO78 18 A$="8n1d"+N$:R=6118:GOSUB73 19 A=256:B=1:GOSUB71:ONERRORGOTO45:IFETHEN32 20 PRINT#2,CHR$(13); 21 S=1:GOSUB6:IFX(0)THEN21 22 IFINKEY$=G$THEN46ELSEPRINT#2,CHR$(21);:S=10:GOSUB6:IFX(0)THENGOTO24ELSE22 23 IFINKEY$=G$THEN46ELSEPRINT#2,CHR$(6);:S=10:GOSUB6:IFX(0)=0THEN22 24 IFX(1)=1THEN25ELSEIFX(1)=4THENPRINT#2,CHR$(6);:GOTO42ELSEIFX(1)=24THEN46ELSE21 25 CALLVARPTR(M(24)),0,VARPTR(Z(0)):IFZ(0)=0THEN21ELSEIFZ(2)<>(255ANDNOTZ(1))THEN21ELSEIFZ(1)=ATHEN23ELSEIFZ(1)<>BTHEN46 26 X=0:FORN=3TO130:X=X+Z(N):NEXT:X=XAND255:IFX<>Z(131)THEN21 27 IFP=4THENGOSUB43 28 FORN=3TO130:PRINT#(P),CHR$(Z(N));:PRINTCHR$(Z(N)); 29 IFZ(N)=26THENN=130 30 NEXT:IFP=4THENGOSUB44 31 A=B:B=B+1AND255:GOTO23 32 GOSUB39 33 PRINT"?"; 34 IFINKEY$=G$THEN46ELSES=10:GOSUB6:IFX(0)=0THEN33ELSEIFX(1)=6THEN38ELSEIFX(1)=21THEN35ELSEIFX(1)=24THEN46ELSE33 35 PRINT"X"; 36 IFN=0THENPRINT#2,CHR$(4);ELSEPRINT#2,CHR$(1)CHR$(A)CHR$(255ANDNOTA);:X=0:FORJ=1TO128:X=X+Z(J):PRINT#2,CHR$(Z(J));:NEXT:X=XAND255:PRINT#2,CHR$(X); 37 S=0:GOSUB6:IFX(0)THEN37ELSE34 38 IFN=0THEN42ELSEPRINT".";:GOSUB39:GOTO36 39 A=A+1AND255:N=0:IFNOTETHENRETURN 40 FORN=1TO128:IFETHENIFNOTEOF(3)THENZ(N)=ASC(INPUT$(1,3))ELSEE=0:Z(N)=26ELSEZ(N)=0 41 NEXT:RETURN 42 CLOSE3:PRINT:PRINTU$" End":BEEP:GOSUB12:GOTO50 43 FORH=0TO2:A(H)=PEEK(H-122):NEXT:OUT186,64ORINP(186):CALL28277,0,2304:POKE-190,0:OUT186,247ANDINP(186):RETURN 44 CALL28277,0,768:OUT186,8ORINP(186):FORH=0TO2:POKEH-122,A(H):NEXT:RETURN 45 PRINTERL;ERR:RESUME46 46 IFP=4THENGOSUB43:PRINT#4,CHR$(26);:GOSUB44:P=0 47 SCREEN,0:PRINT:PRINTU$" ABORT":SOUND1200,50:CLOSE3 48 S=1:GOSUB6:IFX(0)THEN48ELSEPRINT#2,CHR$(24); 49 GOSUB12 50 POKE-86,0:D=0:P=0:ONERRORGOTO64:POKE63056,64:D$="Down Up":GOSUB70 51 CALL16969:ONMDMGOSUB8:S=-1:GOSUB78:K=0 52 ONKGOTO57,65,74,61:A$=INKEY$:IFINSTR(N$,A$)=0THENA=INSTR(F$,A$):IFATHENONAGOSUB77,54,55,74,82,80,81,56ELSEPRINT#2,A$; 53 GOTO52 54 IFDTHENK=4:RETURNELSEK=1:RETURN 55 IFDTHENRETURNELSEK=2:RETURN 56 K=3:RETURN 57 GOSUB102:PRINTU$;:LINEINPUT" Save to: ";Y$:IFLEFT$(Y$,4)="dsk:"THENP=4:GOSUB43:PRINT#4,MID$(Y$,5)+".txt=con:[vb]"+CHR$(10);:GOSUB44:POKE-190,175ELSEP=3:OPENY$FOROUTPUTAS3 58 GOSUB104:IFA$="Y"THENE=0:GOTO18ELSED$="@@@@ ":GOSUB70:N=-1:D=-1 59 IFMID$(Y$,4,1)<>":"THEND=1 60 GOTO51 61 SCREEN,0:D=0:IFN>-1THENGOSUB15 62 S=0:GOSUB78:IFP=4THENGOSUB43:PRINT#4,CHR$(26);:GOSUB44ELSECLOSE3 63 GOTO50 64 PRINTU$" Abort, line"ERL"code"ERR:IFERR=22THENSCREEN,1:RESUME51ELSECLOSE3:IFERR=18ANDQTHENGOSUB82:RESUME50ELSEIFERL=235ANDERR=7THENRESUME51ELSERESUME50 65 GOSUB102:PRINTU$;:LINEINPUT" Upload: ";Y$:OPENY$FORINPUTAS3:GOSUB104:IFA$="Y"THENE=-1:GOTO18ELSEW=1:PRINTU$;:INPUT" Width";W:W=W-1:T=W-9:C=0:GOSUB71:S=-1:GOSUB78 66 IFINKEY$=G$THENERROR7ELSEIFEOF(3)THENBEEP:CLOSE3:GOTO50ELSEJ=ASC(INPUT$(1,3)):IFJ=10THEN215ELSEC=C+1:IFC=1ANDJ=13THENPRINT#2," ";ELSEIFJ=9THENJ=32 67 IFWTHENIFTWANDJ<>13THENPRINT#2,CHR$(J);:J=13 68 PRINT#2,CHR$(J);:IFJ=13THENX=0:C=0:FORZ=1TO255:IFX<>62THENNEXT 69 GOTO66 70 A$="Prev"+D$+" TermPrO"+MID$("nf",Q+2,1)+"DirFBrk Bye ":FORJ=4TO32STEP4:MID$(A$,J,1)=CHR$(ASC(MID$(A$,J))OR128):NEXT:GOTO72 71 A$=STRING$(7,128)+"Abr"+CHR$(244) 72 R=17061 73 V=VARPTR(A$):CALLR,60,PEEK(V+1)+256*PEEK(V+2):RETURN 74 GOSUB102:CLOSE4:OPEN"year"FORINPUTAS4:XD$=INPUT$(2,4):DATE$=LEFT$(DATE$,6)+XD$:CLOSE4:OPEN"cislog"FORAPPENDAS4:PRINT#4,TIME$;" ";DATE$:IFK=3THENPRINTU$" Disconnect? ";ELSEPRINTU$" Telcom? "; 75 GOSUB105:IFA$<>"Y"THENERROR 76 IFK=3THENMAXFILES=1:MENUELSECALL21608 77 S=0:GOSUB78:CALL21795 78 S=NOTS:IFSTHENMDMSTOP:PRINT#2,CHR$(19);:CALLVARPTR(M(59)),100ELSEPRINT#2,CHR$(17);:MDMON 79 RETURN 80 PRINT:FILES:PRINTFRE(0)"Bytes Free":RETURN 81 STOP:RETURN 82 Q=NOTQ:GOSUB70:RETURN 83 CLEAR500:MAXFILES=4:DEFINTA-Z:DIMX,X(1),M(60),Z(300):SCREEN,0:CLS:Q$="mdm:7i1e":Q1$="com:98n1e":FORN=0TO60:READM(N):NEXT:K=3:ONERRORGOTO103: 84 U$=CHR$(154):N$=CHR$(0):V$=CHR$(22):G$=CHR$(255):F$="":FORN=248TO255:F$=F$+CHR$(N):NEXT:POKE63056,64:CALL17875:POKE63056,0:CALL27804:OPENQ1$FOROUTPUTAS4: 85 SCREEN,1:CLOSE1:OPEN"adrs"FORINPUTAS1:PRINTU$;:LINEINPUT" Find: ";A$:CALLVARPTR(M(3)),0,VARPTR(A$):IFA$="MENU"THEN76 86 IFEOF(1)THEN85ELSELINEINPUT#1,Y$:I=INSTR(Y$,":"):B$=LEFT$(Y$,I):CALLVARPTR(M(3)),0,VARPTR(B$):IFINSTR(B$,A$)=0THEN86ELSEJ=INSTR(I,Y$,"<"):IFJ=0THEN86 87 PRINTU$" "LEFT$(Y$,J)">";:Z$=INPUT$(1):CALLVARPTR(M(3)),0,VARPTR(Z$):PRINT:IFZ$=CHR$(27)THEN85ELSEIFZ$=CHR$(13)THEN86 88 CLOSE1:PRINT"hit any key to start" 89 PRINT@240,TIME$;:B$=INKEY$:IFB$=""THEN89 90 OPENQ1$FORINPUTAS3:S$=">":ONCOMGOSUB13:COMON:PRINT#4,CHR$(3); 91 FORF=0TO800:IFB$=S$THEN93 92 NEXT:SOUND900,30:PRINT"-logon w/o disk ? [y/n]":A$=INPUT$(1):IFA$="y"THEN95ELSE91 93 S$="*":COMON:PRINT#4," "+CHR$(24)+"pip"+CHR$(10); 94 IFB$<>S$THEN94 95 COMOFF:CLOSE3:GOSUB12:A$=MID$(Y$,I+1,J-I-1)+N$ 96 CALL21179:CALL21264:PRINTU$" "+TIME$+" "+LEFT$(Y$,I);:R=21293:GOSUB73:CALL21172:PRINT:N=0 97 N=N+1:CALLVARPTR(M(0)),0,VARPTR(X):IFX=0THEN100ELSEB$=INKEY$:IFB$=""ANDN<1500THEN97 98 CALL21179:CLOSE1:IFB$>""THEN85ELSEPRINTU$" Wait":N=0 99 N=N+1:CALL21264:IFINKEY$>""THEN85ELSEIFN<1THEN99ELSE96 100 PRINTU$" Auto logon":BEEP:A$=MID$(Y$,J)+N$:R=21392:GOSUB73 101 PRINT:PRINTU$" On line":OPEN"cislog"FORAPPENDAS1:PRINT#1,TIME$;" - ";:CLOSE1:OPENQ$FORINPUTAS1:OPENQ$FOROUTPUTAS2:GOTO50 102 MDMSTOP:SCREEN,0:PRINT:RETURN 103 PRINTU$" Error, line"ERL"code"ERR:END 104 PRINTU$" Xmodem protocol? "; 105 A$=INPUT$(1):CALLVARPTR(M(3)),0,VARPTR(A$):IFINSTR("YN",A$)THENPRINTA$:RETURNELSE105 106 DATA-4147,30574,201,-18562,20424,32291,26147,4463,2,-5683,6449,6865,-5683,4623,3347,-5688,54,28109,-14227,9012,35,32461,30573,201 107 DATA54,23892,-5683,1585,-14973,8677,7282,28109,-16019,-14907,483,39,-7415,-15936,31787,-15947,-14907,483,7,-7415,-15936,-15935,-13887,32461,4973,4627,-15903,-15099,485,4,-6903,-7744,-7711,13537,201,-15537,21276