image of READY prompt

Wang2200.org

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