Listing of file='REC.FREE' on disk='vmedia/731-0071G.wvd.zip'
# Sector 954, program filename = 'REC.FREE' 4902 DEFFN'242(U0$(),V8,U5(8)) : U5(10)=1 : IF V9>1THEN 4908 : V9(1)=VAL(U0$(1),2) : GOSUB 4986 : IF U5(7)<>0THEN 4904 : U5(7)=V9(1) : STR(V7$(),2*MOD(U5(8)-1,V5)+1,2)=BIN(0,2) : GOTO 4906 4904 STR(V7$(),2*MOD(V9(1)-1,V5)+1,2)=BIN(U5(8),2) 4906 U5(8)=V9(1) : V9$=U0$(1) : U0$()=STR(U0$(),3) : STR(U0$(),2*V8+1)=ALL(00) : V8=V8-1 4908 IF V8<1THEN 4922 : U0(6)=0 : FOR U=1TO V8+1 : GOSUB 4986 : V9(7)=1+2*MOD(V9(1)-1,V5) : IF U>1THEN 4912 : IF VAL(STR(V7$(),V9(7),2),2)=0THEN 4910 : U5(9)=VAL(STR(V7$(),V9(7),2),2) : STR(V7$(),V9(7),2)=U0$(1) : GOTO 4918 4910 U0(6)=1 : STR(V7$(),V9(7),2)=U0$(U) : GOTO 4918 4912 IF U<V8+1THEN 4916 : IF U0(6)=1THEN 4914 : IF V0=0THEN 4920 : STR(V7$(),V9(7),2)=BIN(U5(9),2) : GOTO 4920 4914 STR(V7$(),V9(7),2)=BIN(0,2) : U5(7)=V9(1) : GOTO 4920 4916 STR(V7$(),V9(7),2)=U0$(U) 4918 V9(1)=VAL(U0$(U),2) 4920 NEXT U 4922 IF V9<>1THEN 4926 : IF V8=0THEN 4924 : FOR U=0TO V8-1 : STR(U0$(),2*(V8-U+1)-1,2)=STR(U0$(),2*(V8-U)-1,2) : NEXT U 4924 V8=V8+1 : STR(U0$(),,2)=V9$ : IF U5(8)<>V6(2)THEN V6(3)=V6(3)+V8 4926 RETURN 4946 DEFFN'244(V9(1),V8) : U0(14)=V9(1) : U0$()=ALL(00) : GOSUB 4986 : GOSUB 5118 : IF V5(1)<>0THEN GOSUB 4972 : V9(1)=U0(14) : IF V5(1)<V8THEN 4962 : RETURN 4958 MAT SEARCHU0$(),=HEX(0000)TO V9$STEP 2 : V6(5)=(VAL(V9$,2)-1)/2 : IF V6(5)-V5(1)=0THEN RETURN : FOR I=V5(1)+1TO V6(5) : U0$(I)=BIN(V5*(V6(4)-U5(1))+(VAL(U0$(I),2)+1)/2,2) : NEXT I : V5(1)=V6(5) : RETURN 4962 V9(4)=U8/V2 : U0(17)=V5 : U0(22)=2*(MAX(INT(ABS(V9(1)-1)/V5),INT(ABS(V9(1)-V9(4))/V5))+1) : FOR U=1TO U0(22) : IF V5(1)>=V8THEN 4970 : V9(1)=V9(1)+V5*U*(-1)^U : IF INT((V9(1)-1)/V5)>INT((V9(4)-1)/V5)OR V9(1)<2THEN 4968 : IF V9(1)<V9(4)THEN 4966 : V9(1)=V9(4) : U0(17)=MOD(V9(1)-1,V5) 4966 GOSUB 4986 : MAT SEARCHV7$(),=HEX(FFFF)TO STR(U0$(),2*V5(1)+1,2*MIN((V8-V5(1)),U0(17)) )STEP 2 : GOSUB 4958 4968 NEXT U : IF U=U0(22)AND V5(1)<>V8THEN R1$=HEX(01) : ELSE R1$=HEX(00) 4970 V9(1)=U0(14) : RETURN 4972 U0(16)=1 : IF V5(1)<=V8THEN 4978 : U0(10)=66000 : FOR U=1TO V5(1)-V8+1 : U0(9)=ABS(MOD(V9(1),V5)-VAL(U0$(U),2)) : IF V8<=1THEN 4974 : U0(9)=U0(9)+VAL(U0$(U+V8-1),2)-VAL(U0$(U),2) 4974 IF U0(9)>=U0(10)THEN 4976 : U0(10)=U0(9) : U0(16)=U 4976 NEXT U : V5(1)=V8 4978 FOR U=1TO V5(1) : U0$(U)=BIN((V6(4)-U5(1))*V5+VAL(U0$(U+U0(16)-1),2),2) : NEXT U : STR(U0$(),2*V5(1)+1)=ALL(00) : RETURN 5118 MAT SEARCHV7$(),=HEX(FFFF)TO U0$()STEP 2 : MAT SEARCHU0$(),=HEX(0000)TO V9$STEP 2 : V5(1)=(VAL(V9$,2)-1)/2 : IF V5(1)<0THEN V5(1)=V5 : IF V5(1)<=2*V8THEN 5126 : V9$=BIN(2*MOD(U0(14)-1,V5)+1,2) : MAT SEARCHU0$(),>V9$TO V1$STEP 2 : V6(5)=MAX((VAL(V1$,2)-1)/2,0) : IF V6(5)>=V8THEN 5122 : V5(1)=V8+V6(5) : GOTO 5124 5122 V5(1)=MIN(2*V8,V8+V5(1)-V6(5)) : U0$()=STR(U0$(),2*(V6(5)-V8)+1) 5124 STR(U0$(),2*V5(1)+1)=ALL(00) 5126 FOR U=1TO V5(1) : U0$(U)=BIN((VAL(U0$(U),2)+1)/2,2) : NEXT U : RETURN