Listing of file='TTY*010M' on disk='vmedia/731-0110A.wvd.zip'
# Sector 77, program filename = 'TTY*010M' 0010 REM TTY*010M, 04/01/83, TTY Mainline for MVP Rel. 6.0, Copyright Wang Lab oratories, 1981 0100 GOTO 9900 : ON AGOTO 150,205,4500,5000 0150 COM C$(7)1,O$(3)50,A1$(5)2,A2$(5)2,P2,I$(255)1,J,I,P,A3$(10)1,E3 0200 $IF ON /001,100 0205 $BREAK : $GIOLOOKFORTCDATA#6(4409102002FF03FF1223C620,A3$())I$()<I> : IF A3$(10)>HEX(00)THEN 210 : ELSE RETURN 0210 IF I$(I)<>HEX(0A)THEN 225 : IF I9=1THEN 225 : I9=1 : $GIODISPLAYLF#4(400A,Z$) : $BREAK : $GIORCVTCDATA#6(4409102002FF03FF1223C620,A3$())I$()<I> : IF A3$(10)>HEX(00)THEN 225 : ELSE RETURN 0225 J=VAL(A3$(10)) 0235 IF P+J>LTHEN 360 0240 $GIO#4(A000,Z$)I$()<I,J> : I=I+J : IF I$(I-1)=HEX(0D)THEN 260 : P=P+J : IF I$(I-1)<>HEX(08)THEN 200 : P=P-1 : IF P>0THEN 200 : PRINT HEX(0C); : P=L : GOTO 200 0260 I9=0 : ON P2GOSUB 600,500 : I,P=1 : IF E3<>1THEN 200 : B$=HEX(0A) : $GIOSENDDATA#6(A1$,Z$)B$ : GOTO 200 0360 IF I$(I+L-P)<HEX(0E)THEN 240 : IF I$(I+L-P+1)<HEX(0E)THEN 240 : $GIO#4(A000400A,Z$)I$()<I,L-P+1> : I=I+L-P+1 : J=J-L+P-1 : IF I>240THEN 370 : P=1 : IF J=0THEN 200 : GOTO 235 0370 I9=0 : ON P2GOSUB 600,500 : I,P=1 : GOTO 200 0500 IF I<2THEN 100 : INIT(00)A1$() : BIN(STR(A1$(5),2))=I-2 : GOSUB 3000 : RETURN 0600 A=I-1 : $TRAN(I$()<1,A>,G1$)R : $GIO#5(A000,Z$)I$()<1,A> : RETURN 3000 RETURN 4000 RETURN 4100 RETURN 4500 DEFFN'80 : RETURN 5000 SELECT #5215,#4005,PRINT 005 : P,I=1 : $GIOSTARTRCV#6(4408,Z$) : GOTO 5535 5010 IF P2<>1THEN 100 : GOTO 600 5024 KEYIN B$,5034,5160 : GOSUB 200 : GOTO 5024 5034 IF I=1THEN 5046 : GOSUB 5010 : I=1 5046 ON VAL(B$)-7GOTO 5102,5024,5024,5024,5024,5144 : $TRAN(B$,G3$)R : IF B$>HEX(7F)THEN 5024 : IF E=1THEN 5150 : $GIO#4(A000,Z$)B$ : P=P+1 : IF P<L+1THEN 5082 : PRINT HEX(0D0A); : P=1 5082 $GIOSENDCHARKEYED#6(A1$,Z$)B$ 5086 IF P2<>1THEN 5024 : $GIO#5(A000,Z$)B$ : GOTO 5024 5102 IF P=1THEN 5024 : IF E=1THEN 5150 : P=P-1 : PRINT HEX(08); : GOTO 5082 5144 IF E=1THEN 5150 : PRINT HEX(0D); : P=1 : $GIOSENDTHENRCV#6(A2$,Z$)E9$<1,LEN(E9$)> : GOTO 5086 5150 $GIOSENDDATA#6(A1$,Z$)B$ : GOTO 5024 5160 IF I=1THEN 5172 : GOSUB 5010 : I=1 5172 IF B$=HEX(0F)THEN 5184 : ON VAL(B$)+1GOSUB 5540,5528,5402,5284,5346,5576,100,100,100,100,100,100,1 00,5174,5176 : $BREAK : GOTO 5024 5174 $GIOSENDESCAPE#6(440B401B440C,Z$) : RETURN 5176 $GIO#6(4407,Z$) : $GIO#6(4408,Z$) : RETURN 5184 KEYIN B$,5192,5024 : GOTO 5184 5192 $TRAN(B$,G3$)R : ADD(B$,C0) : IF B$>HEX(1F)THEN 5024 : IF E=1THEN 5150 : $GIOSENDTHENRCV#6(A2$,Z$)B$ : ON VAL(B$)-7GOSUB 5216,5240,5232,100,5264,5272 : GOTO 5024 5216 IF P=1THEN 100 : PRINT HEX(08); : P=P-1 : RETURN 5232 PRINT HEX(0A); : RETURN 5240 PRINT HEX(09); : P=P+1 : IF P<>L+1THEN 100 : P=1 : PRINT HEX(0D0A); : RETURN 5264 PRINT HEX(0C); : RETURN 5272 P=1 : PRINT HEX(0D); : RETURN 5284 ON P2GOTO 5322,5334 5290 $GIO#5(A5$,Z$) : IF STR(Z$,8,1)=HEX(00)THEN 5310 : PRINT HEX(0A0D);"PRINTER NOT READY" : P2=0 : RETURN 5310 S$="PRINTER ON" : PRINT HEX(0D0A);S$;HEX(0D0A); : P2=1 : RETURN 5322 S$="PRINTER OFF" : PRINT HEX(0A0D);S$ : P2=0 : RETURN 5334 S$="STORAGE OFF" : PRINT HEX(0D0A);S$;HEX(0A0D); : P2=0 : GOTO 5290 5346 IF P(3)=0THEN 100 : ON P2GOTO 5382,5390 5350 PRINT HEX(0A0D); : GOSUB '80 : IF B$(3)="0"THEN 5370 : P2=0 : RETURN 5370 S$="STORAGE ON" : PRINT HEX(0A0D);S$ : P2=2 : RETURN 5382 S$="PRINTER OFF" : PRINT HEX(0A0D);S$; : GOTO 5350 5390 S$="STORAGE OFF" : PRINT HEX(0A0D);S$ : P2=0 : RETURN 5402 IF P(2)=0THEN 100 : PRINT HEX(03);TAB(18);"S T O R A G E S E N D" : PRINT "'0=ABORT" : INIT(00)E$,A2$() : P2=0 : GOSUB 4100 : IF E$>HEX(00)THEN 5535 : P=1 5422 IF E$>HEX(00)THEN 5525 : INIT(00)A2$() : GOSUB 4000 : $GIOSENDDATA#6(A1$,Z$)O$()<1,A2$(2)> : IF E=1THEN 5480 : $GIO#6(A2$,Z$)E9$<1,LEN(E9$)> : A=VAL(STR(A2$(2),2)) : B=1 5448 IF A<=LTHEN 5468 : $GIO#4(A000400D400A,Z$)O$()<B,L> : B=L+B : A=A-L : GOTO 5448 5468 $GIO#4(A000400D,Z$)O$()<B,A> : I,P,M=1 : IF E1<>0THEN 5484 : PRINT HEX(0A0D); : KEYIN B$,5422,5515 : GOTO 5422 5480 $GIOSENDEXEC#6(A1$,Z$)E9$<1,LEN(E9$)> 5484 $BREAK : $GIOREADCSV#6(4403102002FF03FF1223C620,Z$)C$() : IF M=1THEN 5496 : IF C$(6)=HEX(00)THEN 5422 5496 KEYIN B$,5514,5516 : IF C$(4)=HEX(00)THEN 5484 : GOSUB 200 : IF P<>1THEN 5512 : IF E1=2THEN 5484 5512 M=2 : GOTO 5484 5514 IF B$<>HEX(0D)THEN 5484 : $GIOSENDTHENRCV#6(A2$,Z$)E9$<1,LEN(E9$)> : M=1 : GOTO 5484 5515 IF B$<>HEX(00)THEN 5422 5516 IF B$<>HEX(00)THEN 5484 : PRINT : PRINT "TRANSMISSION ABORTED" : RETURN 5525 PRINT : PRINT "TRANSMISSION COMPLETED" : RETURN 5528 IF P(3)=0THEN 100 : PRINT HEX(03);TAB(21);"A T T E N T I O N" : GOSUB '83 : P2=0 5535 DEFFN'0 : GOSUB 5540 : GOTO 5024 5540 PRINT HEX(03) : PRINT " '0 = MENU FOR TTY"; : IF E3=0THEN 5542 : PRINT " Host"; 5542 PRINT : IF P(3)=0THEN 5544 : PRINT " '1 = ATTENTION" 5544 IF P(2)=0THEN 5546 : PRINT " '2 = STORAGE SEND" 5546 PRINT " '3 = PRINTER ON/OFF KEY" : IF P(3)=0THEN 5556 : PRINT " '4 = STORAGE RECEIVE ON/OFF KEY" : PRINT " '5 = CLOSE STORAGE RECEIVE FILE" 5556 PRINT "'13 = ESCAPE KEY" : PRINT "'14 = BREAK KEY" : PRINT "'15 = CONTROL KEY" : PRINT HEX(0A0D);"STORAGE STATUS = "; : ON P2GOTO 5290,5370 : PRINT "ONLY CRT ACTIVE ON RECEIVE" : RETURN 5576 IF P(3)=0THEN 100 : INIT(00)A1$() : PRINT : STR(A1$(1),1,1)=HEX(01) : IF B$(3)="1"THEN 5610 : IF B$(3)<>"0"THEN 5610 : GOSUB 3000 : PRINT "FILE CLOSED -- ONLY CRT ACTIVE ON RECEIVE" : P2=0 : RETURN 5610 PRINT "RECEIVE FILE NOT OPENED" : RETURN 6000 DEFFN'83 : RETURN