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