Listing of file='DSM200BA' on disk='vmedia/701-2048D.wvd.zip'
# Sector 731, program filename = 'DSM200BA'
0010 REM DSM200BA,00-00(02/18/76),12003A - COPYRIGHT WANG LABS. INC., 1976
0105 COM C3,S3,R3
: DIM X1$2,Y$1,V$2,B$1
: DIM R0$3,V0$1
: DIM D$(4)64
: DIM V1$(56)2,V2$56,V3$56,V5$64,V6$64,V8$64,V9$10,U1$2,U2$(2)2
: DIM D9$2,K$2,B1$3,B2$3,B3$2,Z$8,X$40
: IF T1$="K"THEN 500
0340 LOAD DC T#0,"DSM200CA"4000,6999
0500 DATA LOAD DA T#2,(D0$,X1$)V2$,V3$,V6$,V8$,V9$,U,V,L3,K0
: CONVERT D2TO B2$,(###)
: CONVERT R0TO R0$,(###)
: U1$="SR"
: CONVERT KTO U2$(1),(##)
: CONVERT L3-KTO U2$(2),(##)
: C3=(D6+1)*2
: S3=K*D2
: R3=(L3-K)*D2
: V$="A4"
: FOR P=1TO V
0640 V1$(P)=V$
: ADD(STR(V$,1,1),01)
: IF STR(V$,1,1)<="Z"THEN 690
: STR(V$,1,1)="A"
: ADD(STR(V$,2,1),01)
0690 NEXT P
: FOR V1=1TO K0
: STR(V5$,V1,1)="S"
: NEXT V1
: IF U=1THEN 880
: IF T1$="K"THEN 880
: B$=HEX(01)
: FOR P=1TO V
: IF STR(V2$,P,1)=HEX(02)THEN 850
: V1=V1+1
: STR(V5$,V1,1)="R"
: STR(V6$,V1,1)=B$
: ADDC(B$,STR(V3$,P,1))
: BIN(STR(V8$,V1,1))=P
0850 NEXT P
0880 P1=1
: D9$=D1$
: GOSUB '5
: Y=500
: Y$=" "
: GOSUB '4
: V0$=HEX(00)
: GOSUB '15(D9,D3)
: X$="X3$(000)2,"
: STR(X$,5,3)=B1$
: GOSUB '1(10)
: IF T2$="S"THEN 1010
: GOSUB '18(D3)
1010 GOSUB '14
: GOSUB '9
: IF T2$="L"THEN 1100
: GOSUB '10(1000,11)
: X$="P=0:"
: GOSUB '1(4)
: GOSUB '9
1100 GOSUB '10(1220,45)
: IF T1$="R"THEN 1160
: X$=HEX(DED352242C3329293D423A)
: GOSUB '1(11)
1160 FOR F=1TO K0
: X=VAL(STR(V8$,F,1))
: IF STR(V9$,F,1)=HEX(00)THEN 1210
: X$=HEX(8C280000242842292C4646293A)
: STR(X$,3,2)=V1$(X)
: IF R0>1THEN 1200
: IF STR(V2$,X,1)=HEX(03)THEN 1200
: STR(X$,6,5)=STR(X$,9)
: GOSUB '1(10)
: GOTO 1210
1200 GOSUB '1(13)
1210 NEXT F
: FOR F=1TO V1
: X=VAL(STR(V8$,F,1))
: P=VAL(STR(V6$,F,1))
: CONVERT PTO K$,(##)
: IF STR(V2$,X,1)=HEX(03)THEN 1550
: IF STR(V2$,X,1)=HEX(01)THEN 1570
1310 IF P=1THEN 1380
: X$=HEX(D300242C0000293D)
: A=9
: STR(X$,2,1)=STR(V5$,F,1)
: STR(X$,5,2)=K$
: GOTO 1420
1380 X$="A$="
: A=4
: STR(X$,1,1)=STR(V5$,F,1)
1420 STR(X$,A,2)=V1$(X)
: STR(X$,A+2,1)="$"
: A=A+3
1460 IF STR(V2$,X,1)=HEX(03)THEN 1480
: IF R0=1THEN 1500
1480 STR(X$,A,3)="(B)"
: A=A+3
1500 STR(X$,A,1)=HEX(3A)
: GOSUB '1(A)
: NEXT F
: GOTO 1700
1550 IF STR(V5$,F,1)="S"THEN 1310
1570 IF STR(V6$,F,1)>HEX(01)THEN 1630
: X$=HEX(00243D2220223A)
: STR(X$,1,1)=STR(V5$,F,1)
: GOSUB '1(7)
1630 X$=HEX(E2282B232E2323232323232323232323235E5E5E5E29D300242C00002946524F4D
0000)
: STR(X$,24,1)=STR(V5$,F,1)
: STR(X$,27,2)=K$
: STR(X$,34,2)=V1$(X)
: A=36
: GOTO 1460
1700 GOSUB '9
: GOSUB '10(1240,15)
: X$="A0$(C)=A$:"
: FOR F=1TO U
: STR(X$,1,1),STR(X$,8,1)=STR(U1$,F,1)
: GOSUB '1(10)
: NEXT F
: GOSUB '9
: Y=1500
: IF T1$="R"THEN 1890
: GOSUB '10(Y,14)
: X$="R$=I2$:"
: GOSUB '1(7)
: GOSUB '9
: Y=1501
1890 X=4
: P=K0
: IF R0=1THEN 1940
: X=6
: P=0
1940 R=22+V*X+P
: GOSUB '10(Y,R)
: X$=HEX(97A1BD5423312C284932242C49322429)
: GOSUB '1(16)
: V0$=HEX(00)
: GOSUB '11
: GOSUB '9
: P=0
: FOR F=1TO K0
: X=VAL(STR(V8$,F,1))
: IF STR(V2$,X,1)<>HEX(03)THEN 2130
: IF P=1THEN 2100
: P=1
: GOSUB '10(1520,20)
2100 X$=HEX(A8AE00002829B200002428293A)
: STR(X$,3,2),STR(X$,8,2)=V1$(X)
: GOSUB '1(13)
2130 NEXT F
: IF P=0THEN 2160
: GOSUB '9
2160 IF T2$="L"THEN 2320
: GOSUB '10(2030,12)
: X$=HEX(9CFF20803A)
: GOSUB '1(5)
: GOSUB '9
: GOSUB '10(2060,12)
: X$=HEX(9CFF22603A)
: GOSUB '1(5)
: GOSUB '9
: B1$="S0$"
: GOTO 2410
2320 GOSUB '10(2010,30)
: X$=HEX(A8AD00302428292C423324283129B2002428502C31293A)
: FOR F=1TO U
: STR(X$,3,1),STR(X$,16,1)=STR(U1$,F,1)
: GOSUB '1(23)
: NEXT F
: GOSUB '9
: B1$="S$"
2410 GOSUB '17(2100)
: GOSUB '10(2180,28+6*U)
: X$=HEX(9785BD542423322C284D32242C4D3224294E32242C)
: GOSUB '1(21)
: GOSUB '22("1")
: GOSUB '9
: GOSUB '21
: P1=2
: D9$=D2$
: GOSUB '5
: Y=500
: Y$=" "
: GOSUB '4
: V0$=HEX(03)
: GOSUB '15(D2,D6)
: GOSUB '18(D6)
2690 X$="A3$(00)2,P3$(00)3,C3$(00)2,"
: STR(X$,5,2),STR(X$,14,2)=B3$
: CONVERT D6+2TO STR(X$,23,2),(##)
: GOSUB '1(27)
: IF T1$="R"THEN 4100
: GOSUB '9
4000 GOSUB '21
: P1=3
: GOSUB '5
: Y=500
: Y$=" "
: GOSUB '4
4100 X=0
: X$="S1$(000)00,R1$(000)3,"
: STR(X$,5,3)=B2$
: STR(X$,9,2)=U2$(1)
: STR(X$,16,3)=B2$
: GOSUB '1(21)
: V0$=HEX(00)
: GOSUB '14
: V0$=HEX(03)
: GOSUB '14
: GOSUB '20
: GOSUB '9
: X=4
: IF R0=1THEN 4380
: X=6
4380 R=21+V*X+P
: GOSUB '10(840,R)
: X$=HEX(97A1BD5423312C2852242C58312429)
: GOSUB '1(15)
: V0$=HEX(00)
: GOSUB '11
: GOSUB '9
: GOSUB '10(860,25)
: IF R0=1THEN 4570
: X$=HEX(583DDCD3523124284B33292C3329293A)
: GOSUB '1(16)
4570 FOR X=1TO V
: B$="$"
: IF STR(V2$,X,1)=HEX(00)THEN 4620
: IF STR(V2$,X,1)=HEX(02)THEN 4620
: B$=" "
4620 IF R0=1THEN 4730
: X$="A7$(O)=A4$(X):"
: STR(X$,3,1)=B$
: STR(X$,1,2)=V1$(X)
: STR(X$,8,3)=STR(X$,1,3)
: ADD(STR(X$,2,1),03)
: GOSUB '1(14)
: NEXT X
: GOTO 4800
4730 X$="A7$=A4$:"
: STR(X$,1,2)=V1$(X)
: STR(X$,3,1)=B$
: STR(X$,5,3)=STR(X$,1,3)
: ADD(STR(X$,2,1),03)
: GOSUB '1(8)
: NEXT X
4800 GOSUB '9
: GOSUB '19(6140)
: X=4
: IF R0=1THEN 4890
: X=6
4890 R=15+V*X
: GOSUB '10(6520,R)
: X$=HEX(9785BF2423332C)
: GOSUB '1(7)
: V0$=HEX(03)
: GOSUB '11
: GOSUB '9
: GOSUB '21
7010 LOAD DC T#0,"DSM201AA"
7140 DEFFN'1(X1)
: IF T+X1<252THEN 7260
: Y=Y+1
: T=T-1
: GOSUB '2
: Y$=STR(D$(B),C,1)
: STR(D$(B),C,4)=HEX(0D0000FD)
: GOSUB '3
: GOSUB '4
7260 STR(D$(B),C)=STR(X$,1,X1)
: X2=65-C
: IF X2>=X1THEN 7310
: D$(B+1)=STR(X$,X2+1)
7310 T=T+X1
: GOSUB '2
: RETURN
7350 DEFFN'4
: D$(1)=HEX(00FF)
: PACK(####)STR(D$(1),3,2)FROMY
: T=5
: IF Y$=HEX(3A)THEN 7430
: STR(D$(1),5,1)=HEX(93)
: T=6
7430 GOSUB '2
: RETURN
7460 DEFFN'2
: B=INT((T-1)/64)+1
: C=T-(B-1)*64
: RETURN
7510 DEFFN'3
: DATA SAVE BA T$#2,(D9$,D9$)D$()
: RETURN
7550 DEFFN'5
: D$(1)=HEX(40FFFFFFFFFFFFFFFFFD)
: GOSUB '3
: RETURN
7600 DEFFN'8
: IF R0=1THEN 7650
7620 STR(X$,A,5)="(000)"
: STR(X$,A+1,3)=R0$
: A=A+5
7650 RETURN
7670 DEFFN'9
: T=T-1
: GOSUB '2
: X$=HEX(0D0000)
: IF T>240THEN 7740
: GOSUB '1(3)
: RETURN
7740 STR(D$(B),C,3)=X$
: T=T+3
: GOSUB '2
: RETURN
7820 DEFFN'10(Y,R)
: IF T+R<250THEN 7890
: STR(D$(B),C,1)=HEX(FD)
: GOSUB '3
: STR(D$(1),1,1)=HEX(00)
: T=2
: GOSUB '2
7890 X$=HEX(FF)
: PACK(####)STR(X$,2,2)FROMY
: GOSUB '1(3)
: RETURN
7940 DEFFN'11
: FOR X=1TO V
: X$=V1$(X)
: ADD(STR(X$,2,1),V0$)
: A=3
: IF STR(V2$,X,1)=HEX(01)THEN 8050
: IF STR(V2$,X,1)<>HEX(03)THEN 8030
: IF P1=1THEN 8060
: GOTO 8050
8030 STR(X$,3,1)="$"
: A=4
8050 IF R0=1THEN 8080
8060 STR(X$,A,2)=HEX(2829)
: A=A+2
8080 STR(X$,A,1)=HEX(2C)
: GOSUB '1(A)
: NEXT X
: RETURN
8140 DEFFN'14
: FOR X=1TO V
: X$=V1$(X)
: A=3
: IF STR(V2$,X,1)=HEX(01)THEN 8300
: IF STR(V2$,X,1)<>HEX(03)THEN 8220
: IF P1=1THEN 8310
: GOTO 8300
8220 STR(X$,3,1)="$"
: A=4
: GOSUB '8
: F=VAL(STR(V3$,X,1))
: CONVERT FTO STR(X$,A,2),(##)
: A=A+2
: GOTO 8320
8300 IF R0=1THEN 8420
8310 GOSUB 7620
8320 STR(X$,A,1)=HEX(2C)
: ADD(STR(X$,2,1),V0$)
: GOSUB '1(A)
: IF STR(V2$,X,1)<>HEX(03)THEN 8420
: IF P1>1THEN 8420
: X$="A4$(000)8,"
: STR(X$,1,2)=V1$(X)
: STR(X$,5,3)=R0$
: GOSUB '1(10)
8420 NEXT X
: RETURN
8460 DEFFN'15(P,X)
: CONVERT XTO B3$,(##)
: CONVERT PTO B1$,(###)
: X$="A0$(000)00,A1$(000)00,A$00,A$(00,000)00,"
: STR(X$,5,3)=B1$
: STR(X$,16,3)=B2$
: STR(X$,31,2)=B3$
: STR(X$,34,3)=B2$
: FOR A=UTO 1STEP -1
8550 STR(X$,1,1),STR(X$,12,1),STR(X$,23,1),STR(X$,28,1)=STR(U1$,A,1)
: STR(X$,9,2),STR(X$,20,2),STR(X$,25,2),STR(X$,38,2)=U2$(A)
: IF P1>1THEN 8620
: IF T2$="L"THEN 8620
: GOSUB '1(27)
: GOTO 8630
8620 GOSUB '1(40)
8630 NEXT A
: RETURN
8710 DEFFN'17(X)
: GOSUB '10(X,41)
: X$=HEX(463D44322D4F2B313AA8AD20202028292C4233242847292C46B2003124284F293A
)
: STR(X$,12,3)=B1$
: FOR F=1TO U
: STR(X$,12,1),STR(X$,27,1)=STR(U1$,F,1)
: GOSUB '1(33)
: NEXT F
: GOSUB '9
: RETURN
8830 DEFFN'18(X)
: X$="E3$(00)2,D3$(00)1,"
: CONVERT XTO STR(X$,5,2),(##)
: CONVERT X+1TO STR(X$,14,2),(##)
: GOSUB '1(18)
: RETURN
8920 DEFFN'19(Y)
: IF R0=1THEN 9170
: GOSUB '10(Y,32)
: FOR X=1TO K0
: P=VAL(STR(V8$,X,1))
: IF STR(V2$,P,1)=HEX(03)THEN 9080
: X$=HEX(E428464629000024284F293A)
: STR(X$,6,2)=V1$(P)
: ADD(STR(X$,7,1),03)
: IF STR(V9$,X,1)=HEX(00)THEN 9050
: STR(X$,3,2)="00"
9050 GOSUB '1(12)
: GOTO 9150
9080 X$="A7(O)=+9.999999999999E99:"
: STR(X$,1,2)=V1$(P)
: ADD(STR(X$,2,1),03)
: IF STR(V9$,X,1)=HEX(00)THEN 9140
: STR(X$,7,1)="-"
9140 GOSUB '1(25)
9150 NEXT X
: GOSUB '9
9170 RETURN
9200 DEFFN'20
: X$="S0$00,"
: STR(X$,4,2)=U2$(1)
: GOSUB '1(6)
: RETURN
9270 DEFFN'21
: STR(D$(B),C,1)=HEX(FE)
: STR(D$(1),1,1)=HEX(20)
: GOSUB '3
: RETURN
9350 DEFFN'22(B1$)
: X$="S0$(),"
: STR(X$,2,1)=B1$
: FOR F=1TO U
: STR(X$,1,1)=STR(U1$,F,1)
: GOSUB '1(6)
: NEXT F
: RETURN