Listing of file='TTT*020B' on disk='vmedia/731-0110A.wvd.zip'
# Sector 213, program filename = 'TTT*020B'
0010 REM TTT*020B, (03/29/83), 2741 HOST, COPYRIGHT WANG LABS INC.,1978
0100 GOTO 9900
: ON AGOTO 150,4500,5000,5154
0150 COM M1$(1)1,C$(7)1,A1$(5)2,A2$(5)2,P2,I$(255)1,O$(4)64,J,I,P,A3$(10)1,M$(
3)53,I$1
0180 M=5
: $GIO#6(4408,Z$)
: RETURN
0200 $IF ON /001,100
: $GIO#6(4403C620,Z$)C$()
: IF C$(1)=HEX(01)THEN 180
: $GIO#6(4409C620,A3$())I$()<I>
: IF A3$(10)=HEX(00)THEN 100
: ON MGOTO 212,225,100
: RETURN
0212 M=2
: IF I$(1)<>"9"THEN 225
: MAT COPY I$()<2,254>TO I$()<1,254>
: J=VAL(A3$(10))-1
: IF J=0THEN 100
: GOTO 235
0225 J=VAL(A3$(10))
: IF I$(I+J-1)<>HEX(09)THEN 235
: J=J-1
0235 IF P+J>LTHEN 360
0240 $GIO#4(A000,Z$)I$()<I,J>
: IF I$(I+J)=HEX(09)THEN 500
: IF I$(I+J-1)<>HEX(0D)THEN 315
: PRINT HEX(0A);
0255 ON P2GOTO 297,275
0265 I,P=1
: INIT(20)I$()
: GOTO 200
0275 IF I+J-2<1THEN 265
: INIT(00)A1$()
: BIN(STR(A1$(5),2))=I+J-2
: GOSUB 3000
: GOTO 265
0297 IF I+J-2<1THEN 311
: $TRAN(I$()<1,I+J-2>,G1$)R
: $GIO#5(A000400D,Z$)I$()<1,I+J-2>
: GOTO 265
0311 $GIO#5(400D,Z$)
: GOTO 265
0315 P=P+J
: I=I+J
: IF I$(I-1)=HEX(08)THEN 435
: IF I$(I-1)<>HEX(04)THEN 200
: $GIO#6(440B40024003440C,Z$)
: M=1
: GOTO 255
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
: P=1
: IF J=0THEN 200
: GOTO 235
0435 P=P-1
: IF P>0THEN 100
: P=L
: $GIO#4(400C,Z$)
: RETURN
0500 B$="T"
: I=I+J
: P=P+J
: IF I>159THEN 100
: MAT SEARCHM$()<I,160-I>,=B$TO A1$()
: IF A1$(1)=HEX(0000)THEN 100
: I=I+VAL(STR(A1$(1),2))
: IF P<>1THEN 560
: P=P-1
0560 P=P+VAL(STR(A1$(1),2))
0570 IF P<=LTHEN 600
: PRINT HEX(0D0A);
: P=P-L
: GOTO 570
0600 INIT(09)O$()
: $GIO#4(400DA000,Z$)O$()<1,P-1>
: INIT(20)O$()
: RETURN
3000 RETURN
4000 RETURN
4100 RETURN
4500 DEFFN'80
: RETURN
5000 IF I$="1"THEN 5010
: DATA LOAD DC OPEN T#0,"TTT*010H"
: DATA LOAD DC #0,M$()
: DATA SAVE DC CLOSE
: I$="1"
5010 SELECT PRINT 005,#4005,#5215
: P,I,P1=1
: $GIO#6(4408,Z$)
5016 DEFFN'0
: GOSUB 5454
5024 KEYIN B$,5038,5140
: GOSUB 200
: IF M<5THEN 5024
: GOSUB 5606
: GOTO 5024
5028 IF P2<>1THEN 100
: $GIO#5(A000,Z$)I$()<1,I-1>
: RETURN
5038 IF M<3THEN 5024
: IF I=1THEN 5054
: GOSUB 5028
: I=1
5054 ON VAL(B$)-7GOTO 5104,5024,5024,5024,5024,5120
: $TRAN(B$,G3$)R
: IF B$>HEX(7F)THEN 5024
: $GIO#4(A000,Z$)B$
: P=P+1
: P1=P1+1
: IF P<L+1THEN 5088
: PRINT HEX(0D0A);
: P=1
5088 $GIO#6(440AA000440C,Z$)B$
5092 IF P2<>1THEN 5024
: $GIO#5(A000,Z$)B$
: GOTO 5024
5104 IF P=1THEN 5024
: P=P-1
: P1=P1-1
: PRINT HEX(08);
: GOTO 5088
5120 PRINT HEX(0D0A);
: P,P1=1
: $GIO#6(440A400D440C,Z$)
: GOTO 5092
5140 IF I=1THEN 5150
: GOSUB 5028
: I=1
5150 IF B$=HEX(06)THEN 5672
: ON VAL(B$)+1GOSUB 5454,5442,5348,5230,5292,5502,100,100,100,100,100,100,5
630,5582,5594,5606
5154 GOTO 5024
5230 ON P2GOTO 5268,5280
: INIT(00)A$
5236 $GIO#5(010002011212A000,Z$)A$<1,4>
: IF STR(Z$,8,1)=HEX(00)THEN 5256
: PRINT HEX(0A0D);"PRINTER NOT READY"
: P2=0
: RETURN
5256 PRINT HEX(0D0A);"PRINTER ON";HEX(0D0A);
: P2=1
: RETURN
5268 PRINT HEX(0A0D);"PRINTER OFF"
: P2=0
: RETURN
5280 PRINT HEX(0D0A);"STORAGE OFF";HEX(0A0D);
: P2=0
: GOTO 5236
5292 IF P(3)=0THEN 100
: ON P2GOTO 5328,5336
5296 PRINT HEX(0A0D);
: GOSUB '80
: IF B$(3)="0"THEN 5316
: P2=0
: RETURN
5316 PRINT HEX(0A0D);"STORAGE ON"
: P2=2
: RETURN
5328 PRINT HEX(0A0D);"PRINTER OFF";
: GOTO 5296
5336 PRINT HEX(0A0D);"STORAGE OFF"
: P2=0
: RETURN
5348 IF P(2)=0THEN 100
: PRINT HEX(03);TAB(18);"S T O R A G E S E N D"
: PRINT "'0=ABORT"
: P2=0
: INIT(00)E$,A2$()
: GOSUB 4100
: IF E$>HEX(00)THEN 5454
: P=1
: IF M=3THEN 5368
: GOSUB 5606
5368 IF E$>HEX(00)THEN 5439
: INIT(00)A2$()
: GOSUB 4000
: $GIO#6(440AA000400D440C,Z$)O$()<1,A2$(2)>
: A=VAL(STR(A2$(2),2))
: B=1
5392 IF A<=LTHEN 5412
: $GIO#4(A000400D400A,Z$)O$()<1+B,L>
: B=L+B
: A=A-L
: GOTO 5392
5412 $GIO#4(A000400D400A,Z$)O$()<B,A>
: I,P=1
5420 GOSUB 200
: IF M>3THEN 5438
: IF C$(7)=HEX(00)THEN 5368
5434 KEYIN B$,5434,5436
: GOTO 5420
5436 IF B$<>HEX(00)THEN 5420
5438 PRINT
: PRINT "TRANSMISSION ABORTED"
: GOTO 5606
5439 PRINT
: PRINT "TRANSMISSION COMPLETED"
: GOTO 5606
5442 IF P(3)=0THEN 100
: PRINT HEX(03);TAB(21);"A T T E N T I O N"
: GOSUB '83
: P2=0
5454 PRINT HEX(03)
: PRINT " '0 = MENU for 2741 Host"
: IF P(3)=0THEN 5458
: PRINT " '1 = ATTENTION"
5458 IF P(2)=0THEN 5460
: PRINT " '2 = STORAGE SEND"
5460 PRINT " '3 = PRINTER ON/OFF KEY"
: IF P(3)=0THEN 5470
: PRINT " '4 = STORAGE RECEIVE ON/OFF KEY"
: PRINT " '5 = CLOSE STORAGE RECEIVE FILE"
5470 PRINT " '6 = DISPLAY/SET TAB STOPS"
: PRINT "'12 = TAB KEY"
: PRINT "'13 = UPSHIFT KEY"
: PRINT "'14 = DOWNSHIFT KEY"
: PRINT "'15 = BREAK KEY"
: ON P2GOTO 5236,5316
: PRINT HEX(0A0D);"ONLY CRT ACTIVE ON RECEIVE"
: IF M<>4THEN 100
5494 $GIO#6(440B4002440C,Z$)
: M=3
: RETURN
5502 IF P(3)=0THEN 100
: INIT(00)A1$()
: PRINT
: STR(A1$(1),1,1)=HEX(01)
: IF B$(3)="1"THEN 5536
: IF B$(3)<>"0"THEN 5536
: GOSUB 3000
: PRINT "FILE CLOSED -- ONLY CRT ACTIVE ON RECEIVE"
: P2=0
: RETURN
5536 PRINT "RECEIVE FILE NOT OPENED"
: RETURN
5582 B$=HEX(0E)
: GOTO 5595
5594 B$=HEX(0F)
5595 IF M<3THEN 100
: $GIO#6(440AA000440C,Z$)B$
: RETURN
5606 IF M<3THEN 5622
: $GIO#6(440B4003440C,Z$)
: M=1
: RETURN
5622 $GIO#6(4407,Z$)
: SELECT P2
: FOR C=1TO 5
: PRINT "Send Break and Bid"
: PRINT HEX(0C)
: NEXT C
: PRINT
: SELECT P
: GOTO 5494
5630 IF M<3THEN 100
: $GIO#6(440A4009440C,Z$)
: B$="T"
: MAT SEARCHM$()<P1+1,159-P1>,=B$TO A1$()
: IF A1$(1)=HEX(0000)THEN 100
: INIT(09)A$
: P=VAL(STR(A1$(1),2))+P
: P1=VAL(STR(A1$(1),2))+P1
: IF P<=64THEN 5664
5654 P=P-64
: IF P>64THEN 5654
: PRINT HEX(0D0A);
5664 $GIO#4(400DA000,Z$)A$<1,P-1>
: RETURN
5672 IF M<3THEN 5024
: PRINT HEX(03);"DISPLAY/SET TAB STOPS";HEX(0A0D);"T=TAB LINE ERASE
=DELETE TAB RETURN=END";HEX(0A0D0A);
: FOR A=1TO 3
: PRINT M$(A)
: NEXT A
: PRINT HEX(0C0C0C);
: A=1
5692 KEYIN B$,5698,5692
: GOTO 5692
5698 IF B$=HEX(0D)THEN 5724
: IF B$=HEX(08)THEN 5748
: IF B$=HEX(20)THEN 5778
: IF B$=HEX(E5)THEN 5810
: IF B$<>"T"THEN 5692
: A1$(1)=B$
: MAT COPY A1$()<1,1>TO M$()<P,1>
: $GIO#4(42104008,A1$())
: GOTO 5692
5724 PRINT HEX(010A0A0A0A0A0A0A);
: PRINT TAB(63);HEX(0D);
: INPUT "SAVE ABOVE TAB SETTINGS AS SYSTEM DEFAULT (Y/N)",B$
: IF B$="Y"THEN 5738
: IF B$="N"THEN 5000
: PRINT "RE-ENTER"
: GOTO 5724
5738 DATA LOAD DC OPEN T#0,"TTT*010H"
: DATA SAVE DC #0,M$()
: DATA SAVE DC #0,END
: GOTO 5000
5748 IF (P-1)/53<>INT((P-1)/53)THEN 5770
: IF P=1THEN 5692
: INIT(09)A$
: $GIO#4(400D400CA000,Z$)A$<1,52>
: P=P-1
: GOTO 5692
5770 P=P-1
: PRINT HEX(08);
: GOTO 5692
5778 IF P/53<>INT(P/53)THEN 5798
: IF P=159THEN 5692
: PRINT HEX(0A0D);
: P=P+1
: GOTO 5692
5798 P=P+1
: $GIO#4(4009,Z$)
: GOTO 5692
5810 MAT COPY M$()<P,1>TO M1$()
: IF M1$(1)<>"T"THEN 5692
: A=P/10
: IF A=INT(P/10)THEN 5890
: A=16
5890 Z$="123456789012345."
: STR(A1$(1),1,1),M1$(1)=STR(Z$,A,1)
: MAT COPY M1$()<1,1>TO M$()<P,1>
: $GIO#4(42104008,A1$())
: GOTO 5692