image of READY prompt

Wang2200.org

Listing of file='SLD.RDEF' on disk='vmedia/701-2721C.wvd.zip'

# Sector 771, program filename = 'SLD.RDEF'
0010   %   LINPUT STR(G$(),1,255)
0050 DIM D$(14)6,M$(620)1,S$(150)2,B$(4,3)1,P$(3)3,P$1
   : PRINT HEX(06);AT(0,39,);"Review Definition";
   : G1=1
   : IF STR(G8$(),269,2)=HEX(0000)THEN P=1
   : ELSE P=VAL(STR(G8$(),271))
   : STR(G8$(),269)=ALL(00)
   : GOSUB '94
   : IF STR(G8$(),252,8)="SLD.LOPR"THEN P$="S"
   : IF P$="S"THEN P=Z
0210 PRINT AT(23,37);"   CANCEL/EDIT - Return to definition";AT(22,40,39);
   : IF P$<>"S"THEN PRINT AT(21,45);"    '1 - Delete condition line(s)";AT(22,
     45);"    '2 - Add condition line to box ";
0240 G0=G1
   : GOSUB '96(P)
   : IF S$(2)<>HEX(FFFF)THEN PRINT AT(18,49);"'5 - Previous conditions";AT(19,
     49);"'6 - Next conditions";
0290 KEYIN A$,,320
   : GOTO 290
0320 IF S$(2)=HEX(FFFF)THEN 390
   : IF A$=HEX(05)OR A$=HEX(42)THEN P=MOD(P+Z-2,Z)+1
   : IF A$=HEX(06)OR A$=HEX(43)THEN P=MOD(P,Z)+1
   : IF POS(HEX(05064342)=A$)>0THEN 240
0390 IF A$=HEX(F0)THEN 460
   : IF P$="S"THEN 290
   : IF A$=HEX(01)THEN 490
   : IF A$=HEX(02)THEN 1250
   : GOTO 290
0460 IF B$()<>" "THEN GOSUB '93
0470 LOAD TSTR(G8$(),252,8)
0490 FOR I=1TO Q
   : PRINT AT(VAL(D$(I)),0);".";
   : NEXT I
   : PRINT AT(18,0,5*80);AT(17,0);HEX(0E);"Please Select the Condition Lines Y
     ou Wish to Delete";HEX(0F);
0530 PRINT AT(23,54);"Terminate operation      ";AT(22,43);"EXEC/RUN - Execute
      operation";AT(20,45);"INSERT - Select condition line";AT(21,45);"DELETE
     - Deselect condition line ";
   : I=1
0550 PRINT AT(VAL(D$(I)),0);HEX(05);
0570 KEYIN A$,,610
   : IF POS(HEX(2082)=A$)>0THEN 610
   : IF A$=HEX(08)THEN 840
   : GOTO 570
0610 PRINT HEX(06);
   : IF A$=HEX(08)THEN 550
   : IF A$<>HEX(4A)AND A$<>HEX(0A)THEN 700
   : PRINT AT(VAL(D$(I)),0);HEX(0202020E960202000F);
   : STR(D$(I),6,1)="T"
   : GOTO 810
0700 IF A$<>HEX(49)AND A$<>HEX(09)THEN 750
   : PRINT AT(VAL(D$(I)),0);".";
   : STR(D$(I),6,1)=HEX(00)
   : GOTO 810
0750 IF A$<>HEX(F0)THEN 800
0760 PRINT AT(17,0,);
   : G1=G0
   : GOTO 210
0800 IF POS(HEX(4520)=A$)=0THEN 840
0810 I=MOD(I,Q)+1
   : GOTO 550
0840 IF POS(HEX(4608)=A$)=0THEN 880
   : I=MOD(I+Q-2,Q)+1
   : GOTO 550
0880 IF A$<>HEX(82)THEN 550
   : FOR I=1TO 14
   : IF STR(D$(I),6,1)="T"THEN PRINT AT(VAL(D$(I)),2,77);
   : NEXT I
   : PRINT AT(17,0,80);HEX(0E);"Are you sure?";HEX(0F);AT(23,0,30);AT(21,40,39
     );AT(20,40,39);
0930 KEYIN A$
   : IF A$=HEX(F0)THEN 760
   : IF A$<>HEX(82)THEN 930
   : I=15
0980 I=I-1
   : IF I=0THEN 1100
   : IF STR(D$(I),6,1)<>"T"THEN 980
   : G7=VAL(STR(D$(I),2),2)
   : G8=VAL(STR(D$(I),4),2)
   : IF G7=1THEN 1070
   : IF G$(G8)="\C1"AND G8<LEN(G$())THEN 1070
   : G7=G7-1
   : GOTO 1080
1070 G8=G8+1
1080 STR(G$(),G7)=STR(G$(),G8)
   : GOTO 980
1100 PRINT AT(22,0,20);
   : IF G$()=" "THEN 1140
   : GOTO 1200
1140 GOSUB '93
   : PRINT AT(11,10,);HEX(0E);"There are no condition lines -- Press CANCEL/ED
     IT";HEX(0F);
1160 KEYIN A$
   : IF A$<>HEX(F0)THEN 1160
   : GOTO 470
1200 GOSUB '94
   : IF S$(P)=HEX(FFFF)THEN P=P-1
   : PRINT AT(17,0,80);
   : GOTO 210
1250 J=0
   : PRINT AT(17,0,);HEX(0E);"Please position the arrow to the desired locatio
     n for the new condition line";HEX(0F);
   : PRINT AT(22,40);"EXEC/RUN - Select location for insertion";AT(23,37);"CAN
     CEL/EDIT - Return to display mode";
   : FOR I=1TO Q
   : IF I=QOR VAL(D$(I+1))>VAL(D$(I))+1THEN J=J+1
   : ELSE GOTO 1320
1300 P$(J)=BIN(VAL(D$(I))+1)&BIN(VAL(STR(D$(I),4),2),2)
   : PRINT AT(VAL(P$(J)),0);"-";
1320 NEXT I
   : I=1
1340 PRINT AT(VAL(P$(I)),0);HEX(0E840F);
   : KEYIN A$
   : PRINT HEX(06);
   : PRINT AT(VAL(P$(I)),0);"-";
   : IF POS(HEX(2046)=A$)>0THEN I=MOD(I,J)+1
   : ELSE IF POS(HEX(0845)=A$)>0THEN I=MOD(I+J-2,J)+1
   : ELSE IF A$=HEX(82)THEN 1420
   : ELSE IF A$=HEX(F0)THEN 1400
   : GOTO 1340
1400 PRINT AT(17,0,80);
   : GOTO 210
1420 STR(G8$(),269)=STR(P$(I),2,2)&BIN(P)
   : GOSUB '93
   : LOAD T"SLD.FNAM"
2010 DEFFN'94
   : S$()=ALL(FF)
   : G4=1
   : Z=0
2120 Z=Z+1
   : S$(Z)=BIN(G4,2)
   : L=0
2150 G6=POS(STR(G$(),G4)>="\C1")
   : IF G6=0THEN 2220
   : G4=G4+G6
   : IF G$(G4-1)="\EF"THEN 2150
   : IF G$(G4-1)="\C1"THEN L=L+1
   : ELSE L=L+5
   : IF L<12THEN 2150
   : IF G4<LEN(G$())THEN 2120
2220 RETURN
3020 DEFFN'96(P)
   : IF B$()<>" "THEN GOSUB '93
   : G1=VAL(S$(P),2)
   : IF G1>1THEN B$=G$(G1-1)
   : ELSE B$="\CF"
   : W=0
   : N=3
   : X=0
   : E=0
   : B$()=ALL(00)
   : D$()=ALL(00)
   : Q=0
3104 Q=Q+1
   : D$(Q)=BIN(N+X)&BIN(G1,2)
   : GOSUB '98(G1)
   : D$(Q)=D$(Q)&BIN(G2,2)
   : GOSUB '99(N+X,4)
   : X=X+1
   : W=MAX(W,G)
   : IF G$(G2)="\C1"AND G1<VAL(S$(P+1),2)AND G1<LEN(G$())THEN 3104
   : PRINT AT(N-1,2);
   : IF B$="\CF"THEN PRINT BOX(0,W);
   : PRINT BOX(X+2,0);AT(N-1,2+W);BOX(X+2,0);
   : IF G$(G2)<>"\C1"OR G2=LEN(G$())THEN PRINT AT(N+X+1,2);BOX(0,W);
3230 MAT SEARCHG$(),="\CF"TO M$()STEP 1
   : J=1
3250 IF VAL(STR(M$(),J,2),2)>=G2OR VAL(STR(M$(),J,2),2)=0THEN 3280
   : J=J+2
   : GOTO 3250
3280 B=(J-1)/2+1
   : PRINT AT(N,2);BOX(0,INT(LGT(B))+2);AT(N-1,4+INT(LGT(B)));BOX(1,0);AT(N-1,
     2);B;
   : E=E+1
   : STR(B$(),(E-1)*3+1,3)=BIN(N-1)&BIN(X+2)&BIN(W)
   : IF G1>=VAL(S$(P+1),2)OR G1>=LEN(G$())THEN RETURN
   : N=N+X+4
   : X=0
   : W=0
   : B$=G$(G2)
   : GOTO 3104
3370 %  SCRATCH T "SLD.96  ": SAVE T() "SLD.96  " 3000,3499: PRINT "'SLD.96  '
      SAVED"
3510 DEFFN'93
   : PRINT AT(2,0,14*80);
   : FOR I=1TO E
   : PRINT AT(VAL(B$(I,1)),2);BOX(-1,-2);BOX(-1,-3);BOX(-1,-4);BOX(-VAL(B$(I,2
     )),-VAL(B$(I,3)));
   : NEXT I
   : RETURN
4120 DEFFN'98(G1)
   : DIM F$20,O$28,O$(7)28,I$(3)64,T$(3)1,L(3),L$1
   : G2=POS(STR(G$(),G1)=HEX(00))
   : IF G2>0THEN 4180
   : RETURN
4180 F$=STR(G$(),G1,G2-1)
   : G1=G1+G2
   : MAT SEARCH"=#<>\BC\BE@",=STR(G$(),G1,1)TO O$STEP 1
   : O$(1)="IS EQUAL TO"
   : O$(2)="IS NOT EQUAL TO"
   : O$(3)="IS LESS THAN"
   : O$(4)="IS GREATER THAN"
   : O$(5)="IS LESS THAN OR EQUAL TO"
   : O$(6)="IS GREATER THAN OR EQUAL TO"
   : O$(7)="IS BETWEEN"
   : O=VAL(O$,2)
4240 O$=O$(O)
   : G1=G1+1
   : G9=0
   : MAT L=ZER
   : T$(),I$()=" "
4280 G9=G9+1
   : T$(G9)=STR(G$(),G1,1)
   : G1=G1+1
   : IF T$(G9)="F"THEN G2=POS(STR(G$(),G1)=HEX(00))
   : ELSE G2=POS(STR(G$(),G1)>="\C1")
   : IF G2=0THEN G2=LEN(G$())-G1+2
   : I$(G9)=STR(G$(),G1,G2-1)
   : G2=G1+G2-1
   : L(G9)=LEN(I$(G9))
   : IF T$(G9)="F"THEN G2=G2+1
   : G1=G2+1
   : IF STR(G$(),G2,1)="\EF"THEN 4280
   : L$=G$(G2)
   : RETURN
4410 %     SCRATCH T "SLD.98  ": SAVE T() "SLD.98  " 4000,4500   : PRINT "'SLD
     .98  ' SAVED"
5010 DEFFN'99(R,C)
   : DIM G2(3)
   : MAT G2=ZER
   : PRINT AT(R,C);F$;"  ";O$;"  ";
   : A=0
   : D=0
   : IF L(3)>0THEN L=3
   : ELSE IF L(2)>0THEN L=2
   : ELSE L=1
   : FOR I=1TO L
   : IF T$(I)="C"THEN D=D+1
   : NEXT I
   : M=INT((69-LEN(F$)-LEN(O$)-2*D-6*(L-1)-INT(O/7))/L)
   : FOR I=1TO L
   : IF L(I)>MTHEN A=A+1
   : NEXT I
   : M=INT((69-LEN(F$)-LEN(O$)-2*D-6*(L-1)-A-INT(O/7))/L)
   : G=0
5350 FOR I=1TO L
   : IF L(I)<MTHEN G=G+M-L(I)
   : NEXT I
   : IF A>0THEN M=M+INT(G/A)
   : A=0
   : FOR I=1TO L
   : IF L(I)>MTHEN A=A+1
   : NEXT I
   : FOR I=1TO L
   : IF L(I)>MTHEN G2(I)=M
   : ELSE G2(I)=L(I)
   : PRINT HEX(020402000E0202020F);
   : IF T$(I)="C"THEN PRINT HEX(22);STR(I$(I),1,G2(I));HEX(22);
   : ELSE PRINT STR(I$(I),1,G2(I));
   : IF G2(I)<>L(I)THEN PRINT "*";
   : PRINT HEX(0F);
   : IF I<LAND O<>7THEN PRINT "  OR  ";
5510 IF I<LAND O=7THEN PRINT "  AND  ";
   : NEXT I
   : G=6+LEN(F$)+LEN(O$)+6*(L-1)+INT(O/7)+2*D+G2(1)+G2(2)+G2(3)+A+1
   : PRINT HEX(0202000F020402000F);
   : RETURN
5570 %     SCRATCH T "SLD.99  ": SAVE T() "SLD.99  " 5000,5999 : PRINT "'SLD.9
     9  ' SAVED"
9997 DEFFN'2"DIM A$,A,B,C,D";HEX(0D);
9998 DEFFN'16"RENUMBER 0-1999";HEX(0D);
9999 DEFFN'3
   : A$="SLD.RDEF"
   : SCRATCH TA$
   : SAVE T()A$
   : PRINT HEX(03060E22);A$;HEX(22);" saved      ";HEX(0F);
   : LIMITS TA$,A,B,C,D
   : PRINT C;" Sectors used, ";B-A-C+1;" available"
   : LIST DT
   : PRINT AT(2,0,3*80);AT(5,0);"On device:";AT(6,0,1);AT(6,4,)
   : RETURN