10 REM *** NEW PROTOCOL *** 20 REM RELEASE 1: JUL 31 1984 30 REM BY STEVE PUNTER 40 REM CONVERTED TO THE VIC-20 50 REM BY DAVID TINGLER & DAVE CARUANA 60 REM REQUIRES AT LEAST 8K EXPANSION 70 IFPEEK(12288)<>169THENLOAD"TERM/VIC.C1",8,1 80 POKE56,48:POKE644,48:CLR:OPEN5,2,0,CHR$(6):POKE665,75:GET#5,A$:BS=255 90 OPEN1,8,15,"UI-":DIMT$(3):ML=12288:BF=ML+2048:PRINTCHR$(14); 100 TY$="PSP":T$(1)="[208]ROGRAM":T$(2)="[211][197][209]":T$(3)="[215]ORD[208]RO" 110 PRINT"[147][194]LOCK [211]IZE ="BS 120 PRINT"[207]PTIONS:" 130 PRINT" 1 - [212]ERMINAL [205]ODE" 140 PRINT" 2 - [212]RANSMIT A [198]ILE" 150 PRINT" 3 - [210]ECEIVE A [198]ILE" 160 PRINT" 4 - [195]HANGE [194]LOCK [211]IZE" 170 GETA$:IFA$=""THEN170 180 IFA$="2"THEN1000 190 IFA$="3"THEN2000 200 IFA$="4"THEN3000 210 IFA$="1"THENPRINT"[212]ERMINAL [205]ODE:":GOTO4000 220 GOTO170 1000 PRINT"[208]ROGRAM [206]AME? ";:GOSUB5000:IFI$=""ORFL=1THEN110 1010 PRINT"[198]ILE [212]YPE ([208],[211],[215])?":PRINT">  [146][157]"; 1020 GETA$:IFA$=""THEN1020 1030 IFA$="[133]"THEN110 1040 IFA$="P"THENSA=0:T=1:GOTO1080 1050 IFA$="S"THENSA=2:T=2:GOTO1080 1060 IFA$="W"THENSA=0:T=3:GOTO1080 1070 GOTO1020 1080 PRINTT$(T)"":OPEN2,8,SA,I$:INPUT#1,E$,EM$,T$,S$ 1090 IFVAL(E$)>0THENPRINT""E$","EM$","T$","S$:CLOSE2:GOTO1000 1120 SYSML+21:POKEBF+27,T:SYSML+12:IFPEEK(512)=1THENCLOSE2:GOTO4000 1130 SYSML+21:POKEBF+24,BS:SYSML+6:CLOSE2:GOTO4000 2000 PRINT"[211]AVE [193]S? ";:GOSUB5000:IFI$=""ORFL=1THEN110 2010 SYSML+21:SYSML+9:IFPEEK(512)=1THEN4000 2020 T$=","+MID$(TY$,PEEK(BF+27),1)+",W" 2025 PRINT"[198]ILE [212]YPE: "T$(PEEK(BF+27)) 2030 OPEN2,8,2,"0:"+I$+T$:FORX=1TO1300:NEXTX:PRINT:SYS61531 2040 SYSML+21:SYSML+3:CLOSE2:FORX=1TO1500:NEXTX:POKE668,PEEK(667):GOTO4000 3000 PRINT"[194]LOCK [211]IZE? ";:GOSUB5000:IFI$=""THEN110 3010 BS=VAL(I$):IFBS<40THENBS=40 3020 IFBS>255THENBS=255 3030 GOTO110 4000 PRINT 4010 SYSML+21:SYSML+15:GOTO110 5000 I$="":FL=0 5010 PRINT" [146][157]"; 5020 GETA$:IFA$=""THEN5020 5030 IFA$=CHR$(13)THEN5100 5040 IFA$=CHR$(20)THEN5080 5045 IFA$="[133]"THENFL=1:GOTO5100 5050 IFLEN(A$)>20THEN5020 5060 IF(ASC(A$)AND127)<32THEN5020 5070 PRINTA$;:I$=I$+A$:GOTO5010 5080 IFLEN(I$)=0THEN5020 5090 PRINT" [157][157]";:I$=LEFT$(I$,LEN(I$)-1):GOTO5010 5100 PRINT" ":RETURN