image of READY prompt

Wang2200.org

Listing of file='REC.PRIM' on disk='vmedia/731-0067F-disk2.wvd.zip'

# Sector 1093, program filename = 'REC.PRIM'
4508 DIM R1$1,V5$(160)1,V1$(3)82,V7$(256)1,U0(23),V9$2,V1$2,U0$3,U3$1,U7$(256)
     1,U0$(128)2,U4$4,V4$1,V6(9),V9(9),U5(10),V5(7)
4932 DEFFN'240(U5(8),V9(2),V6(2),V6(3))
   : U0(21)=V9(2)
   : V9(1),U5(9)=U5(8)
   : IF V9(2)>0THEN 4934
   : V6(3)=1
   : V6(2)=U5(8)
   : RETURN
4934 IF V9(2)<V6(3)THEN 4936
   : U0(21)=V9(2)-V6(3)+1
   : U5(9)=V6(2)
4936 FOR U=1TO U0(21)
   : V9(1)=U5(9)
   : GOSUB 4986
   : U5(9)=VAL(STR(V7$(),2*MOD(V9(1)-1,V5)+1,2),2)
   : IF V9(1)=0THEN 5004
   : NEXT U
   : R1$=HEX(00)
   : V6(3)=V9(2)
   : V6(2)=V9(1)
   : RETURN
4938 DEFFN'241(V9(1))
   : IF V9(1)<1THEN RETURN
   : GOSUB 4986
   : U5(9)=VAL(STR(V7$(),2*MOD(V9(1)-1,V5)+1,2),2)
   : RETURN
4984 GOSUB 4986
   : RETURN
4986 V9(5)=U5(1)+INT((V9(1)-1)/V5)
   : IF U5(4)=U0AND U5(6)=V5(2)THEN 4988
   : U5(4)=U0
   : U5(6)=V5(2)
   : GOTO 4992
4988 IF V9(5)=V6(4)AND U3$=HEX(FF)AND V5(7)=0THEN RETURN
   : V5(7)=0
   : IF U5(10)=0THEN 4992
   : DATA SAVE BA T#U0,(V6(4)+V5(2))V7$()
   : ERRORGOTO 4996
4990 IF U6=1THEN DATA SAVE BA T#U0,(V6(4)+V5(2)+U5(3)*V2)V7$()
   : ERRORGOTO 4996
4992 DATA LOAD BA T#U0,(V9(5)+V5(2))V7$()
   : ERRORGOTO 4996
4994 V6(4)=V9(5)
   : RETURN
4996 RETURN CLEAR
4998 RETURN CLEAR
5000 RETURN CLEAR
   : $CLOSE#U0
5002 U0(18)=-1
   : R1$=BIN(ERR)
   : RETURN
5004 RETURN CLEAR
5006 U0(18)=-1
   : $CLOSE#U0
   : RETURN CLEAR
   : RETURN
5132 U5(10)=0
   : V6(1)=V3*U0(5)
   : V5(7)=1
   : GOSUB 5140
   : STR(U0$,,1)=V4$
   : IF V3=U4THEN RETURN
   : U4=V3
   : IF V3<>4THEN U0=15-V3
5134 U5(8)=VAL(STR(V5$(),V6(1)+11,2),2)
   : U5(7)=VAL(STR(V5$(),V6(1)+17,2),2)
   : V6(2)=VAL(STR(V5$(),V6(1)+19,2),2)
   : V6(3)=VAL(STR(V5$(),V6(1)+21,2),2)
   : V2=VAL(STR(V5$(),V6(1)+29,1))
   : MAT REDIM V1$(3*V2)82
   : U5(1)=VAL(STR(V5$(),V6(1)+27,2),2)
   : U8=VAL(STR(V5$(),V6(1)+25,2),2)
5136 V0=VAL(STR(V5$(),V6(1)+2,2),2)
   : U0$=V4$&STR(V5$(),V6(1)+31,2)
   : U5(3)=VAL(STR(V5$(),V6(1)+13,2),2)
   : V9(9)=246*V2
   : U6=VAL(STR(V5$(),V6(1)+30,1))
   : RETURN
5138 IF U0(2)=-1THEN $CLOSE#U0
   : RETURN
5140 V5(2)=VAL(STR(V5$(),V6(1)+23,2),2)-1
   : U0(4)=VAL(STR(V5$(),V6(1)+15,2),2)
   : U3$=STR(V5$(),V6(1)+4,1)
   : IF U3$=HEX(FF)OR U0(18)=1THEN RETURN
   : IF V3<>4THEN U0=15-V3
   : DATA LOAD BA T#U0,(U0(4)+V5(2)+1)U7$()
   : ERRORGOTO 5000
5142 STR(V5$(),V6(1)+1,U0(5))=STR(U7$(),4,U0(5))
   : U4=-1
   : RETURN
5144 DATA SAVE BA T#U0,(V6(4)+V5(2))V7$()
   : ERRORGOTO 4998
5146 IF U6=1THEN DATA SAVE BA T#U0,(V6(4)+V5(2)+U5(3)*V2)V7$()
   : ERRORGOTO 4998
5148 STR(V5$(),V6(1)+11,4)=BIN(U5(8),2)&BIN(U5(3),2)
   : STR(V5$(),V6(1)+17,6)=BIN(U5(7),2)&BIN(V6(2),2)&BIN(V6(3),2)
   : STR(V5$(),V6(1)+2,2)=BIN(V0,2)
   : IF U3$=HEX(FF)AND MOD(V9,U0(23))<>0OR U0(23)=-1THEN RETURN
   : IF U3$=HEX(FF)THEN DATA LOAD BA T#U0,(U0(4)+V5(2)+1)U7$()
   : ERRORGOTO 4998
5152 STR(U7$(),4,U0(5))=STR(V5$(),V6(1)+1,U0(5))
   : DATA SAVE BA T#U0,(U0(4)+V5(2)+1)U7$()
   : ERRORGOTO 4998
5154 RETURN
5158 IF U7+V8<V0+2AND U7=INT(U7)AND U7>0THEN 5166
   : ELSE GOTO 5162
5160 IF U7+V8<V0+2AND U7=INT(U7)AND U7>0THEN 5168
5162 R1$=HEX(25)
   : GOTO 5004
5164 IF V0=0THEN V9=1
5166 IF V3=4THEN 5170
   : IF U5(2)=1THEN U0(1)=LEN(STR(V1$()))
   : ELSE U0(1)=LEN(STR(V0$()))
   : IF V8*V2*246<=U0(1)-V6+1+245-MOD(U0(1)-1,246)AND V6=INT(V6)AND V6>0THEN 5
     170
   : R1$=HEX(23)
   : GOTO 5004
5168 IF V0<>0THEN 5170
   : R1$=HEX(24)
   : GOTO 5004
5170 IF V9<=V0AND V9=INT(V9)AND V9>0THEN 5174
   : IF V9<>V0+1THEN 5172
   : R1$=HEX(28)
   : GOTO 5176
5172 R1$=HEX(22)
   : GOTO 5004
5174 IF V3<5AND V3>=0AND V3=INT(V3)THEN 5176
   : R1$=HEX(08)
   : GOTO 5004
5176 IF VAL(U3$)>0THEN 5178
   : R1$=HEX(07)
   : GOTO 5004
5178 IF V8<>INT(V8)OR V8<1THEN 5162
   : IF V8<129THEN 5180
   : R1$=HEX(29)
   : GOTO 5004
5180 R1$=HEX(00)
   : IF V3<>4THEN U0=15-V3
   : $OPEN #U0
   : RETURN