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