home *** CD-ROM | disk | FTP | other *** search
/ ftp.whtech.com / ftp.whtech.com.tar / ftp.whtech.com / club100 / bus / minivc.ba < prev    next >
Text File  |  2006-10-19  |  12KB  |  198 lines

  1. 0 'MINIVC.BA- by Woods Martin  01/15/84    CLUB 100 LIBRARY - 415/939-1246 BBS,    937-5039 NEWSLETTER, 932-8856 VOICE
  2. 1 REM EXTF.BA 1,4810-4818,7080
  3. 2 REM XFER.BA 2,5212,22,32,5332
  4. 3 REM REPL.BA 3,5600-5695
  5. 4 REM INDE.BA 4,5110-5198 (5600-5695 reqd)
  6. 5 REM SIZE.BA 5,7010-7030
  7. 6 REM EDIT.BA 6,5020-5042 idea Joel Hassel
  8. 9 REM Orig by Terry Dettman - mods by Don Hergert, Gary Bender, Chris Young
  9. 10 MAXFILES=1:CLEAR3209:DEFINTA-Z:DEFSTRS:DIMI,J,C1,R1,C,R,F,P:CM=19:RM=20:SU="S":GOSUB7000:GOSUB5870:GOTO200
  10. 20 PRINT@83+40*(R-R1)+9*(C-C1),"";:GOSUB28
  11. 25 GOSUB30:IFP<0THENPRINTSR(X)USINGSF;S(I,J),SM;:RETURNELSEPRINTSR(X);USINGSE(F);V(I,J),SM;:RETURN
  12. 28 I=R:J=C:RETURN
  13. 30 P=ABS(T(I,J))-1:IFP<0THENRETURN
  14. 31 F=-(ABS(V(I,J))>99999999/(10^(P+1+(P=0))))OR-(P=8):IFF=0THENMID$(SE(0),1)=SE:IFPTHENMID$(SE(0),9-P,1)="."
  15. 32 RETURN
  16. 35 IFHTHENGOSUB5030:RETURNELSEPRINTSI;S;:ST=S:GOTO40
  17. 38 ST=""
  18. 40 GOSUB75:IFKTHENRETURNELSEIFS=SDTHENST="":GOTO1350
  19. 45 IFA=8THENIFLEN(ST)>0THENPRINTS" "S;:ST=MID$(ST,1,LEN(ST)-1):GOTO40ELSE1350
  20. 50 IFA=127ORA<32THEN40ELSEST=ST+S:PRINTS;:GOTO40
  21. 60 CL=CL-(J-CL)*(CL<J):RL=RL-(I-RL)*(RL<I):RETURN
  22. 65 T(R,C)=0:S(R,C)="":V(R,C)=0:RETURN
  23. 75 S=INPUT$(1):A=ASC(S):K=INSTR(SA,S):IFKORU=0THENRETURNELSEIFA>=97ANDA<=122THENS=CHR$(A-32):RETURNELSERETURN
  24. 100 PRINT@40,CHR$(J+65)MID$(STR$(I),2)SPACE$(-(I<10));:RETURN
  25. 200 U=0:H=0:GOSUB75:IFK>1THEN400ELSEIFKTHENGOSUB28:IFT(I,J)=0THEN200ELSEGOSUB4300:GOSUB2400:GOTO200
  26. 210 ONINSTR("/>!#",S)+1GOSUB220,5000,5100,5400,5450:IFK>1THEN400ELSE200
  27. 220 IFINSTR("1234567890.+-(@",S)THEN4000ELSEIFA>31ANDA<>127THEN3000ELSERETURN
  28. 400 X=0:GOSUB20
  29. 401 C=C-(K=2)+(K=3)-(K=6)*((C=C1)*4+(C<>C1)*(C-C1))+(K=7)*((C=C1+3)*4-(C<>C1+3)*(C-C1-3))+(K=10)*C-(K=11)*(CL-C)
  30. 402 R=R+(K=4)-(K=5)-(K=8)*((R=R1)*6+(R<>R1)*(R-R1))+(K=9)*((R=R1+5)*6-(R<>R1+5)*(R-R1-5))+(K=12)*R-(K=13)*(RL-R)
  31. 405 GOSUB2400:GOTO200
  32. 1000 CLS:PRINT:PRINT"mvc";:FORI=C1TOC1+3:PRINTUSINGSY;CHR$(65+I);:NEXT:PRINT
  33. 1040 X=0:FORI=R1TOR1+5:PRINTUSINGSR+"###"+SM;I;:FORJ=C1TOC1+3:GOSUB25:NEXT:IFI<R1+5THENPRINT
  34. 1060 NEXT:RETURN
  35. 1300 X=1:GOSUB20
  36. 1350 GOSUB28:GOSUB100:PRINTSI;S(R,C)SJ;:RETURN
  37. 2400 B=0
  38. 2420 IFR<0ORR>RMORC<0ORC>CMTHENBEEP:R=-R*(R>=0ANDR<=RM)-RM*(R>RM):C=-C*(C>=0ANDC<=CM)-CM*(C>CM)
  39. 2430 GOSUB28:GOSUB60
  40. 2460 IFR-R1>5THENR1=R-5:B=1ELSEIFR-R1<0THENR1=R:B=1
  41. 2470 IFC-C1>3THENC1=C-3:B=1ELSEIFC-C1<0THENC1=C:B=1
  42. 2500 IFBTHENGOSUB1000
  43. 2510 GOSUB1300:S="":RETURN
  44. 3000 U=0:IFA=34THENS=""
  45. 3010 GOSUB35:IFST=""THENS=ST:RETURNELSEGOSUB65:S(R,C)=ST
  46. 3030 GOSUB2400:RETURN
  47. 4000 U=1:GOSUB35:IFST=""THENS=ST:RETURNELSEGOSUB28:S(I,J)=ST:T=ABS(T(I,J)):IFT=0THENT=G
  48. 4010 FORX=1TOLEN(ST):A=ASC(MID$(ST,X)):IF(A<48+6*(X=1)ORA>57)ANDA<>46THENT=-T:X=256
  49. 4020 NEXT:T(I,J)=T:GOSUB4300:PRINTSI;:GOSUB2400:RETURN
  50. 4300 IFT(I,J)>0THENVI=VAL(S(I,J))ELSEST=S(I,J):VI=0:IFT(I,J)<0THENSC="+":L=1:N=0:GOSUB4320
  51. 4310 V(I,J)=VI:RETURN
  52. 4320 GOSUB4500:IFQ=1THENRETURNELSEIFSL="("THENW=0:GOSUB4900:GOTO4350ELSEIFINSTR(SN,SL)<>0THENSC=SL:GOTO4320ELSE4340
  53. 4340 A=ASC(SL):IFA>=65ANDA<=90THENVX=V(VAL(MID$(SL,2)),ASC(SL)-65)ELSEIFA=64THENGOSUB4800ELSEVX=VAL(SL)
  54. 4350 A=INSTR(SN,SC):IFA<2ORA=6THENVI=VI+VXELSEIFA=2THENVI=VI-VXELSEIFA=3THENVI=VI*VXELSEIFA=4THENVI=VI/VX
  55. 4360 IFA=5THENVI=VI^VXELSEIFA=7THENVY=VI:VZ=VX
  56. 4370 GOTO 4320
  57. 4500 IFL>LEN(ST)THENQ=1:RETURNELSEQ=0:SL=MID$(ST,L,1):L=L+1:IFINSTR(SN,SL)<>0THENRETURNELSEIFSL=")"THENQ=1:RETURN
  58. 4540 IFL>LEN(ST)THENRETURNELSES=MID$(ST,L,1):IFINSTR(SN,S)<>0ORS=")"THENRETURNELSEL=L+1:IFS=","THENRETURN
  59. 4541 SL=SL+S:GOTO4540
  60. 4800 W=INSTR(SG,SL+" "):IFW=0THENGOSUB9040:RETURNELSEW=W/7+1
  61. 4802 GOSUB4900:IFW=5ORW=6THENRETURNELSEIFW=1THENVX=ABS(VX)ELSEIFW=2THENVX=INT(VX)ELSEIFW=3THENVX=SQR(VX)
  62. 4804 IFW=4THENVI=SGN(VI)*(INT(ABS(VI)*10^VX+.5))/10^VX:VX=1
  63. 4810 IFW=7THENVX=EXP(VX)ELSEIFW=8THENVX=LOG(VX)ELSEIFW=9THENVX=SIN(VX)ELSEIFW=10THENVX=COS(VX)ELSEIFW=11THENVX=TAN(VX)
  64. 4812 IFW=12THENVX=ATN(VX)ELSEIFW=13THENVX=FIX(VX)ELSEIFW=14THENIFVY<VZTHENVX=VYELSEVX=VZ
  65. 4814 IFW=15THENIFVY>VZTHENVX=VYELSEVX=VZ
  66. 4816 IFW=16THENVX=VYMODVZELSEIFW=17THENVX=-(VY<VZ)ELSEIFW=18THENVX=-(VY<=VZ)ELSEIFW=19THENVX=-(VY>VZ)
  67. 4818 IFW=20THENVX=-(VY>=VZ)ELSEIFW=21THENVX=-(VY=VZ)ELSEIFW=22THENVX=-(VY<>VZ)ELSEIFW=23THENVX=3.1415926536
  68. 4840 RETURN
  69. 4870 GOSUB4890:CA=CB:RA=RB:GOSUB4890:L=L+1
  70. 4872 VI=0:X=0:IFCA=CBTHEN4874ELSEIFRA=RBTHEN4876ELSEGOSUB9045:GOTO4878
  71. 4874 FORRI=RATORB:VI=VI+V(RI,CA):X=X-(T(RI,CA)<>0):NEXT:GOTO4878
  72. 4876 FORCI=CATOCB:VI=VI+V(RA,CI):X=X-(T(RA,CI)<>0):NEXT
  73. 4878 IFW=6THENVI=VI/X:RETURNELSERETURN
  74. 4890 L=L+1:GOSUB4500
  75. 4895 CB=ASC(SL)-65:RB=VAL(MID$(SL,2)):RETURN
  76. 4900 SO(N)=SC:SC=SL:VS(N)=VI:W(N)=W:N=N+1:VI=0:IFW=5ORW=6THENGOSUB4870ELSEL=L-(W>0):GOSUB4320
  77. 4910 N=N-1:VX=VI:W=W(N):VI=VS(N):SC=SO(N):RETURN
  78. 5000 CLOSE:PRINTSI"cmd: Ed In De Re Bl Fm Gl Pr St Cl Me ";:U=1:E=0:GOSUB75
  79. 5010 ONINSTR("EIDRBFGPSCM",S)+1GOSUB5880,5020,5110,5150,5600,5050,5500,5550,5700,5200,5850,5870:RETURN
  80. 5020 H=1:ST=S(R,C):IFT(R,C)THENGOSUB4000ELSEGOSUB3000
  81. 5022 GOTO5890
  82. 5030 SX=ST:PRINT@40,"edt";:H=LEN(SX)
  83. 5032 H=H-(H<0)+(H>LEN(SX)):PRINTSI;SX;:PRINT@H,"";:GOSUB75:IFK=1THENST=SX:RETURN
  84. 5034 IFKTHENH=H+(K=3)-(K=2)+H*(K=10)-(LEN(SX)-H)*(K=11):GOTO5032
  85. 5036 IFA>31ANDA<>127THENSX=LEFT$(SX,H)+S+MID$(SX,H+1):H=H+1:GOTO5032
  86. 5038 IFA=27THENST="":RETURN
  87. 5040 IFA=8THENSX=LEFT$(SX,H-1-(H=0))+MID$(SX,H+1):H=H-1ELSEIFA=127THENSX=LEFT$(SX,H)+MID$(SX,H+2)
  88. 5042 GOTO5032
  89. 5050 PRINTSI;"Blank ";:GOSUB75:IFKTHENGOSUB65:GOTO3030ELSE5880
  90. 5070 PRINTSIUSING"wm3 CM=! RM=### P=!";CHR$(CM+65),RM,SU;:RETURN
  91. 5100 PRINTSI"GOTO: ";:U=1:GOSUB38:IFLEN(ST)<2THEN5880
  92. 5101 X=0:GOSUB20:C=ASC(ST)-65:R=VAL(MID$(ST,2)):GOSUB2400:GOTO5890
  93. 5110 ST="Insert":GOSUB5190:IFCA=0THEN5880ELSE:IFCA=82THEN5130
  94. 5120 IFCL=CMTHEN5180ELSEZ=1:FORY=CL+1TOC+1STEP-1:CW=Y-1:GOSUB5192:NEXT:Y=R:GOSUB5168:R=Y:GOTO5198
  95. 5130 IFRL=RMTHEN5180ELSEZ=2:FORY=RL+1TOR+1STEP-1:RW=Y-1:GOSUB5194:NEXT:Y=C:GOSUB5178:C=Y:GOTO5198
  96. 5150 ST="Delete":GOSUB5190:IFCA=0THEN5880ELSEIFCA=82THEN5170
  97. 5160 Z=1:IFC<CLTHENFORY=CTOCL-1:CW=Y+1:GOSUB5192:NEXT
  98. 5165 CE=C:RE=R:C=CL:GOSUB5168:CL=CL-1:C=CE+(CE>0):R=RE:GOTO5198
  99. 5168 FORR=0TORL:GOSUB65:NEXT:RETURN
  100. 5170 Z=2:IFR<RLTHENFORY=RTORL-1:RW=Y+1:GOSUB5194:NEXT
  101. 5175 CE=C:RE=R:R=RL:GOSUB5178:RL=RL-1:C=CE:R=RE+(RE>0):GOTO5198
  102. 5178 FORC=0TOCL:GOSUB65:NEXT:RETURN
  103. 5180 E=9:GOSUB5280:GOTO5880
  104. 5190 PRINTSI;ST" Col Row ";:GOSUB75:CA=ASC(S):IFCA=67ORCA=82THENRETURNELSECA=0:RETURN
  105. 5192 RW=0:RX=RL:RY=0:CX=CW:CY=Y:GOTO5196
  106. 5194 CW=0:CX=CL:CY=0:RX=RW:RY=Y
  107. 5196 CZ=CY:RZ=RY:GOSUB5606:RETURN
  108. 5198 Z=0:GOTO5400
  109. 5200 D=0:PRINTSI"Store: # L S Q ";:GOSUB75:ONINSTR("#LSQ",S)+1GOTO5880,5212,5300,5220,5800
  110. 5212 D=1:PRINTSI"Data: L S ";:GOSUB75:IFS="L"THEN5300ELSEIFS<>"S"THEN5880
  111. 5220 CLOSE:PRINTSI"Save File:";:GOSUB38:IFST=""THEN5880ELSESC=ST:IFD=0THENRA=0:RB=RL:CA=0:CB=CL:GOTO5230
  112. 5222 GOSUB5790:IFST=""ORCB<CORRB<RTHEN5880ELSECA=C:RA=R
  113. 5230 OPENSCFOROUTPUTAS1:IFD=0THENPRINT#1,RL;CL;G;O:RO=0:CO=0:GOTO5235
  114. 5232 PRINT#1,"-1 -1 0 0":RO=R:CO=C
  115. 5235 FORI=RATORB:FORJ=CATOCB:IFLEN(S(I,J))=0THEN5260
  116. 5240 T=T(I,J):V=V(I,J):IFDTHENT=ABS(T)
  117. 5250 PRINT#1,MID$(STR$(I-RO),2);J-CO;MID$(STR$(T),1-(T>=0))" ";
  118. 5255 IFDANDT>0THENPRINT#1,MID$(STR$(V),1-(V>=0))ELSEPRINT#1,SP;S(I,J);SP
  119. 5260 GOSUB100:NEXT:NEXT:PRINT#1,"-1 -1 0 END"SZ:CLOSE:GOSUB1350:GOTO5890
  120. 5270 GOSUB5280:GOTO5220
  121. 5280 IFE=9THENS="model too big"ELSES="invalid file"
  122. 5290 GOSUB9060:RETURN
  123. 5300 CLOSE:CLS:PRINT@80,"";:FILES:PRINTSJ"Load File:";:GOSUB38:IFST="" THEN5865
  124. 5330 OPENSTFORINPUTAS1:INPUT#1,RA,CA,RB,CB
  125. 5332 IFDTHENIFRA=-1THENRO=R:CO=C:GOTO5350ELSE5340
  126. 5334 IFRA<0ORRB<1ORRB>9ORCB<0ORCB>1THEN5340ELSERL=RA:CL=CA:G=RB:O=CB:IFRL<=RMANDCL<=CMTHENR=0:RO=0:C=0:CO=0:GOTO5350
  127. 5335 E=9
  128. 5340 GOSUB5280:GOTO5300
  129. 5350 IFEOF(1)THEN5370ELSEINPUT#1,I,J,T,ST:IFI>=0THENI=I+RO:J=J+CO:T(I,J)=T:S(I,J)=ST:GOSUB60:GOSUB100:GOTO5350
  130. 5370 CLOSE:IFD=0THENR=0:C=0:R1=0:C1=0
  131. 5400 PRINTSI"Recalc by "SQ(O);:IFOTHEN5420
  132. 5410 FORJ=0TOCL:FORI=0TORL:GOTO5425
  133. 5420 FORI=0TORL:FORJ=0TOCL
  134. 5425 GOSUB5430:NEXT:NEXT:GOTO5865
  135. 5430 GOSUB100:IFT(I,J)THENGOSUB4300:RETURNELSERETURN
  136. 5450 IFT(R,C)=0THEN5880ELSES(R,C)=MID$(STR$(V(R,C)),1-(V(R,C)>=0)):T(R,C)=ABS(T(R,C)):GOTO5890
  137. 5500 IFT(R,C)=0THENPRINTSI"not val";:GOTO5875ELSEGOSUB5510:T(R,C)=SGN(T(R,C))*(VAL(S)+1):GOTO5890
  138. 5510 PRINTSI"Format: Decimal 0-7 or S ";:GOSUB75:IFS="S"THENS="8"
  139. 5520 IFS<"0"ORS>"8"THENBEEP:GOTO5510ELSERETURN
  140. 5550 PRINTSI"Global: O F ";:GOSUB75:IFS="O"THENGOSUB5565ELSEIFS<>"F"THEN5880ELSEGOSUB5510:G=VAL(S)+1
  141. 5560 GOTO5890
  142. 5565 PRINTSI"Recalc Order: R C ";:GOSUB75:O=-(S="R"):RETURN
  143. 5600 Z=0:SL=CHR$(C+65)+MID$(STR$(R),2):CO=C:RO=R:PRINTSI"Source: ";:GOSUB5692:CW=CO:RW=RO
  144. 5602 GOSUB5690:CX=CO:RX=RO:IFEOR(CW<>CXANDRW<>RX)ORRW>RX ORCW>CXTHEN5608
  145. 5604 SL="":PRINT" Target: ";:GOSUB5692:IFST=""THEN5608ELSECY=CO:RY=RO:GOSUB5690:CZ=CO:RZ=RO
  146. 5606 IFEOR(CY<>CZANDRY<>RZ)ORCZ>CMORRZ>RMORCY>CZORRY>RZORCZ>CMORRZ>RMTHEN5608ELSERT=RY:CT=CY:GOTO5610
  147. 5608 S=SC+"..."+SL+"<illegal":GOSUB9060:GOTO5890
  148. 5610 IFRW=RXTHENFORCW=CWTOCX:IFCT=CZTHEN5620ELSE5625
  149. 5615 FORRW=RWTORX:IFRT=RZTHEN5625
  150. 5620 FORRY=RTTORZ:GOSUB5640:IFETHEN5695ELSENEXT:CY=CY+1:NEXT:GOTO5695
  151. 5625 FORCY=CTTOCZ:GOSUB5640:IFETHEN5695ELSENEXT:RY=RY+1:NEXT:GOTO5695
  152. 5640 E=0:J=CY:I=RY:GOSUB100:IFT(RW,CW)<0THENGOSUB5650:S(I,J)=STELSES(I,J)=S(RW,CW)
  153. 5645 T(I,J)=T(RW,CW):V(I,J)=0:GOSUB60:IFZTHENRETURNELSEGOSUB4300:RETURN
  154. 5650 ST=S(RW,CW):L=1:SK=""
  155. 5655 CO=CY-CW:RO=RY-RW:GOSUB4500:CI=ASC(SL):IFCI<65ORCI>90THEN5670ELSERI=VAL(MID$(SL,2))
  156. 5657 IF(Z=1AND(CI-65)<C)THENCO=0ELSEIF(Z=2ANDRI<R)THENRO=0
  157. 5660 IFZ=0THENPRINTSILEFT$(ST,L-1)"<rep R N";:GOSUB75:IFS<>"R"THEN5670
  158. 5665 CI=CI+CO:RI=RI+RO:IFCI<65ORRI<0THENSL="err"ELSESL=CHR$(CI)+MID$(STR$(RI),2)
  159. 5670 SK=SK+SL:IFL<=LEN(ST)THEN5655ELSEST=SK:RETURN
  160. 5690 PRINT"...";
  161. 5692 SC=SL:PRINTSL;STRING$(LEN(SL),8);:GOSUB38:IFST=""THENPRINTSL;ELSECO=ASC(ST)-65:RO=VAL(MID$(ST,2)):SL=ST
  162. 5694 E=((CO>CM)+(RO>RM)):RETURN
  163. 5695 IFZTHENRETURNELSE5865
  164. 5700 PRINTSI"Print: Printer, Device ";:GOSUB75:IFS="P"THENSV="LPT:":GOTO5710ELSEIFS<>"D"THEN5880
  165. 5705 PRINT"Spec: ";:GOSUB38:IFINSTR(ST,":")=0ORLEFT$(ST,4)="RAM:"THEN5880ELSESV=ST
  166. 5710 GOSUB5790:IFST=""THEN5880
  167. 5720 OPENSVFOROUTPUTAS1:FORI=RTORB:FORJ=CTOCB:GOSUB30:IFP<0THENPRINT#1,USINGSF;S(I,J);ELSEPRINT#1,USINGSE(F);V(I,J);
  168. 5740 NEXT:PRINT#1,"":NEXT:PRINT#1,SZ;:CLOSE:GOTO5890
  169. 5790 PRINT SI"Lower right ";:GOSUB38:IFST=""THENRETURNELSESL=ST:GOSUB4895:RETURN
  170. 5800 S="Quit: ":GOSUB5860:IFS="Y"THENMENUELSE5880
  171. 5850 S="Clear: ":GOSUB5860:IFS="Y"THENRUNELSE5880
  172. 5860 S=S+" Confirm=Y Abort=":GOSUB9060:RETURN
  173. 5865 GOSUB1000:GOTO5890
  174. 5870 GOSUB1000:GOSUB5070:PRINTUSING" G# \ \ #####M ####S";G-1,SQ(O),FRE(0),FRE("");
  175. 5875 BEEP:FORX=1TO4000:NEXT
  176. 5880 BEEP
  177. 5890 GOSUB1300
  178. 5895 S="":RETURN
  179. 7000 SA=CHR$(13)+CHR$(28)+CHR$(29)+CHR$(30)+CHR$(31)+CHR$(1)+CHR$(6)+CHR$(20)+CHR$(2)+CHR$(17)+CHR$(18)+CHR$(23)+CHR$(26)
  180. 7010 U=1:M=(CM+1)*RM
  181. 7020 CLS:RM=M/(CM+1):GOSUB5070:PRINT" <OK=ENT or NEW CM?";:GOSUB75:IFKTHEN7040ELSEIFS<"D"ORS>"Z"THENBEEP:GOTO7020
  182. 7030 CM=ASC(S)-65:PRINT:PRINT"  Precision:S or D ";:GOSUB75:SU=CHR$(83+15*(S="D")):GOTO7020
  183. 7040 IFSU="S"THENDEFSNGVELSEDEFDBLV
  184. 7050 DIML,ST,Q,SL,SC,CA,RA,VX,W,N,VI,CB,RB,X,T(RM,CM),S(RM,CM),V(RM,CM),VS(10),SO(10),W(10),SR(1),SE(1),SQ(1)
  185. 7070 SP=CHR$(34):SN="+-*/^(,":SD=CHR$(27):SZ=CHR$(26):SG="@ABS   @INT   @SQRT  @ROUND @SUM   @AVG   "
  186. 7080 SG=SG+"@EXP   @LN    @SIN   @COS   @TAN   @ATAN  @FIX   @MIN   @MAX   @MOD   @<     @<=    @>     @>=    @=     @<>    @PI "
  187. 8100 SR=SD+CHR$(112):SM=SD+CHR$(113):SY=SR+".    !  ."+SM:SB=SD+"K":SJ=SD+"Y  ":SI=SJ+SB:SQ(1)="row":SQ(0)="col":G=1
  188. 8110 SE="#########\\":SE(0)=SE:SE(1)="#####^^^^\\":SF="\       \\\":SR(0)="":SR(1)=SR:ONERRORGOTO9000:RETURN
  189. 9000 E=ERR:IFERL<5000THEN9020ELSEIFERL=5230THENRESUME5270ELSEIFERL=5330ORERL=5350THENRESUME5340
  190. 9010 IFERL=5010ORERL=5200THENS="Cmd NA":GOSUB9060ELSEGOSUB9050
  191. 9015 RESUME5890
  192. 9020 IFERL<4300THENGOSUB9050ELSEGOSUB9040
  193. 9030 PRINTSI;ST;SJ;:RESUME200
  194. 9040 ST=LEFT$(ST,L-1):R=I:C=J:V(I,J)=0:VX=0:GOSUB2400
  195. 9045 S=ST+"<calc error":GOTO9060
  196. 9050 S="Error"+STR$(ERR)+" at line"+STR$(ERL)
  197. 9060 BEEP:PRINTSI;S" <ENT>";:GOSUB75:RETURN
  198.