home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / tech / ee3 / ms-ibm.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1989-01-22  |  6.2 KB  |  196 lines

  1. 10  CLS: PRINT "PROGRAM FOR CALCULATING MICROSTRIP CHARACTERISTICS V2.6M 9/9/87"
  2. 20  PRINT
  3. 30  PRINT "      *********************************************
  4. 40  PRINT "      *                                           *
  5. 50  PRINT "      *  BY DR. ALLEN KATZ, CHAIRMAN              *
  6. 60  PRINT "      *  DEPT ELECTRONICS ENGINEERING TECHNOLOGY  *
  7. 70  PRINT "      *  TRENTON STATE COLLEGE, CN550             *
  8. 80  PRINT "      *  TRENTON, NEW JERSEY 08650-4700           *
  9. 90  PRINT "      *                                           *
  10. 100  PRINT "      *  THE AUTHOR RESERVES RIGHTS TO THIS       *
  11. 110  PRINT "      *  PROGRAM; HOWEVER, COPYING AND USE FOR    *
  12. 120  PRINT "      *  EDUCATIONAL PURPOSES IS ENCOURAGED.      *
  13. 130  PRINT "      *                                           *
  14. 140  PRINT "      *  PLEASE REPORTS ANY ERRORS OR PROBLEMS    *
  15. 150  PRINT "      *  WITH THIS PROGRAM TO THE AUTHOR.         *
  16. 160  PRINT "      *  TEL (609) 771 2487                       *
  17. 170  PRINT "      *                                           *
  18. 180  PRINT "      *********************************************
  19. 185  PRINT "                 USE ONLY CAPITALS!
  20. 190  PRINT
  21. 200  PI=4*ATN(1): HP=PI/2
  22. 210  PRINT: INPUT "SINGLE (S) OR COUPLED (C) MICROSTRIP"; Q1$
  23. 220  IF Q1$="C" THEN 700 ELSE IF Q1$<>"S" THEN 210
  24. 230  PRINT:INPUT "WANT TO CALC Z0, WIDTH (W) OR HIGHT (H)"; A$
  25. 240  PRINT: IF A$="Z0" THEN 610 ELSE IF A$="W" THEN 260 
  26. 250  INPUT "WHAT IS LINE WIDTH IN INCHES"; W: GOTO 270
  27. 260  INPUT "WHAT IS BOARD HIGHT IN INCHES"; H
  28. 270  INPUT "WHAT IS BOARD DIELECTRIC CONSTANT"; ER
  29. 280  INPUT "WHAT IS DESIRED Z0"; Z0
  30. 290  INPUT "WANT TO CONSIDER STRIP THICKNESS (Y OR N)"; Q$
  31. 300  IF Q$="Y"THEN INPUT"STRIP THICKNESS IN INCHES";T
  32. 310  GOSUB 450
  33. 320  IF DV=0 THEN PRINT: PRINT "WIDTH ="; W; "  HIGHT ="; H; "  Z0 ="; ZT
  34. 322  IF DV=2 THEN LPRINT: LPRINT "WIDTH ="; W; "  HIGHT ="; H; "  Z0 ="; ZT
  35. 330  IF DV=2 AND W$="Y" THEN LPRINT: LPRINT, "FREQ= "F; TAB(18) "V.F.=" VF; TAB(34) "WAVELENGTH INCHES=" WL; TAB(54) "OPEN CORR=" DL: GOTO 420
  36. 340  IF DV=2 THEN 420
  37. 350  PRINT: INPUT "DO YOU WANT TO CALC WAVELENGTH (Y OR N)"; W$
  38. 360  PRINT: IF W$<>"Y" THEN 390 ELSE INPUT "FREQ IN MHZ"; F
  39. 370  VF=1/SQR(EF): WL=VF*11808/F: PRINT 
  40. 380  PRINT "V.F. ="; VF, "WAVELENGTH INCHES ="; WL
  41. 381  DL=0.412*H*(EF+0.3)*(W/H+0.262)/(EF-0.258)/(W/H+0.813)
  42. 384  PRINT "OPEN END CORRECTION = "; DL
  43. 390  PRINT: INPUT "WANT HARD COPY (Y/N)"; H$
  44. 400  IF H$<>"Y"THEN 420 ELSE DV=2
  45. 410  LPRINT: LPRINT, "MICROSTRIP CHARACTERISTICS": GOTO 320
  46. 420  DV=0:PRINT:INPUT"DO YOU WANT TO CONTINUE (Y OR N)";Q$:PRINT
  47. 430  IF Q$<>"Y" THEN END ELSE 230
  48. 440  REM **************** SUB #1 ***************
  49. 450  A=Z0/60*SQR((ER+1)/2)+(ER-1)/(ER+1)*(0.23+0.11/ER)
  50. 460  B=377*PI/(2*Z0*SQR(ER))
  51. 470  R=2*(B-1-LOG(2*B-1)+(ER-1)*(LOG(B-1)+0.39-0.61/ER)/(2*ER))/PI
  52. 480  IF R>2 THEN 490 ELSE R=8*EXP(A)/(EXP(2*A)-2)
  53. 490  IF A$="H" THEN H=W/R ELSE W=R*H
  54. 500  X=1/R: GOSUB 560: IF Q$<>"Y" THEN RETURN
  55. 510  IF R>0.16 THEN Q=2*H/T ELSE Q=4*PI*W/T
  56. 520  DR=1.25*T*(1+LOG(Q))/(PI*H): R=R-DR
  57. 530  IF A$="H" THEN H=W/R ELSE W=R*H
  58. 540  RETURN
  59. 550  REM ************** SUB #2 *******************
  60. 560  IF R<1 THEN 580 ELSE EF=(ER+1)/2+(ER-1)/(2*SQR(1+12*X))
  61. 570  ZT=120*PI/"<UNK! {00F7}>READ(EF<UNK! {0009}><CDATA<UNK! {0002}>`<UNK! {0004}><UNK! {0010}>D><UNK! {0002}>d
  62. 33987  <UNK! {0002}>`
  63. 16958  <UNK! {0001}><0xE1!>BSAVEB@STEP0SIN<0xE0!>CONT<UNK! {00FC}>POKE7<UNK! {0008}>CPOKE<UNK! {0004}><UNK! {0002}>dBSAVE<UNK! {0001}><0xE4!><UNK! {0002}>CPOKE<UNK! {0004}>
  64. 58369  
  65. 1  8C<0xE4!><UNK! {0002}>pq
  66. 24578  p
  67. 17152  <0xE4!>
  68. 25600  B<UNK! {007F}>9<0xE0!>STOP<UNK! {00FC}><UNK! {0080}>END<UNK! {0008}>pA
  69. 58051  
  70. 260  <0xE0!>B<UNK! {0001}>
  71. 6296  BSAVE@STEP0<UNK! {FF00}>`NEXT<UNK! {00FC}>0OCLSCLSCLSCLSCLSCLSCLSCLSCLSCLSCLSCLSCLSCLSCLSCLSCLSSTEP<UNK! {0080}>PRESETSTEPLLIST<UNK! {0010}>LLIST0FOR<UNK! {0004}>1<UNK! {0004}>OCLSCLSCLSCLSCLSCLSCLSCLSCLSCLSCLSCLSCLSCLSCLSCLSCLSCLSCLSCLS<UNK! {FF00}>`RESTORE<UNK! {00FC}>8OTO<UNK! {0080}>2LLIST<UNK! {0001}>STEPCLEAR<UNK! {0004}>OPRINTCLEAR<UNK! {0010}>POKEO<UNK! {0080}>18ENDLISTTOCLSO<UNK! {0080}><UNK! {007F}><UNK! {00F9}><0xE0!><UNK! {0001}><UNK! {00FC}>8OTO<UNK! {0080}>2LLIST<UNK! {0001}>STEPCLEAR<UNK! {0004}>OOUTSTOP<UNK! {001E}><UNK! {0004}>CONTSTEPLISTCLEAR72ENDSTEPCLEAR<UNK! {0010}>STEPCLEAR<UNK! {0010}>OUT2POKE<UNK! {0004}>LCLSOLIST<UNK! {FFC2}>`
  72. 52303  <UNK! {0080}>2LLIST<UNK! {0001}>STEPCLEAR<UNK! {0004}>OOUTSTOP<UNK! {001E}><UNK! {00F7}><0xE2!>IF<UNK! {00F8}>SOUNDINPUTw<UNK! {0001}>RESTOREBSAVETROFF`<UNK! {0006}>GOTO5b<UNK! {0006}>IFF<UNK! {000A}>TROFF<0xB6!><UNK! {0006}>IFF<UNK! {0008}>TROFFOPTION<UNK! {0006}>IFF<UNK! {0006}>TROFFOPEN<UNK! {0006}><UNK! {FF76}><UNK! {000A}><UNK! {FF76}><UNK! {0008}><UNK! {FF76}><UNK! {0006}>10728<UNK! {0006}>GOTO/]LOCATE<UNK! {0006}>
  73. 33253  /<UNK! {0002}><UNK! {0001}>SOUND~<UNK! {0006}><UNK! {0006}>WGOSUBSAVE<UNK! {FEFE}>5WOPTION<UNK! {FF00}>P<0x9A!>N<UNK! {0006}>X0GOTOFCOMMONFGET/]LOCATE<UNK! {0004}>
  74. 12773  CLSTROFFB<UNK! {0006}>PRESET<UNK! {0006}>OPTION<UNK! {0004}>
  75. 57350  <UNK! {0005}>
  76. 49384  <UNK! {0002}><OUTXOROPTION!<UNK! {0005}>OPENPOINT4TROFF/<UNK! {0004}>GOTO5AND<UNK! {0004}>OPTION7<UNK! {0005}>OPENPOINT4TROFFXOR<UNK! {0004}>GOTO5IMP<UNK! {0004}>PSET<UNK! {0006}>v<UNK! {0005}>
  77. 1408  
  78. 1506  <UNK! {0006}>
  79. 1508  <UNK! {000A}>
  80. 1658  <UNK! {0001}>
  81. 1652  <UNK! {0001}>
  82. 1654  <UNK! {0001}>
  83. 52061  <UNK! {0006}>S<0xCB!><UNK! {0080}>>THEN<UNK! {0006}><UNK! {FF75}>7<UNK! {0080}>>z<UNK! {0006}>ERASEu<UNK! {0006}>PSET<UNK! {0006}>THEN<UNK! {0006}>
  84. 52495  <UNK! {0010}>TRONTHEN<UNK! {0006}>OPTION@
  85. 4283  
  86. 41479  TAB(<UNK! {0006}><UNK! {0080}>>PSET<UNK! {0006}><UNK! {0005}>t16000PSET<UNK! {0006}><UNK! {0007}>t<UNK! {0007}>$STEP&H2620LET<UNK! {0007}>BLOADUIF/SAVE<UNK! {0006}>
  87. 1610  ]<0xCB!>PSET<UNK! {0006}>THEN<UNK! {0006}><UNK! {FF55}>IF/3CLSRUN.PRESET<UNK! {0006}><UNK! {0080}>>PSET<UNK! {0006}><UNK! {0005}>u<UNK! {0002}><0xB5!><UNK! {0003}>RUN1733SOUND^<UNK! {0006}><0xB4!><UNK! {0001}>&<UNK! {0080}><UNK! {007F}>5
  88. 58418  SOUND<UNK! {001E}>\<UNK! {0006}>SAVE
  89. 18974  <UNK! {0006}>GOTO<UNK! {001E}>d<UNK! {0006}>RESTORE<UNK! {0006}>f<UNK! {0006}>]LOCATE<UNK! {0004}>
  90. 35820  F24203&H4E8B<UNK! {000A}>IFV<UNK! {0008}><UNK! {0080}>~<UNK! {0006}>
  91. 52352  <UNK! {0080}>SAVE8
  92. 1610  ]LOCATE<UNK! {000A}>
  93. 59628  LLOGF<UNK! {0006}><<UNK! {000A}>s<UNK! {0010}>TRONBEEP<UNK! {0006}><UNK! {FF36}><0xCB!><UNK! {0006}><UNK! {FF36}>KEY<UNK! {0006}><0x9A!>47POINT4SOUND<UNK! {001E}>KEY<UNK! {0006}>SAVE<UNK! {0002}>
  94. 1610  ]LOCATE<UNK! {0002}>
  95. 33004  >THEN<UNK! {0006}><UNK! {FF74}>#SAVE<UNK! {0006}>
  96. 1610  <UNK! {0080}>>z<UNK! {0006}>ERASEt4OPTION@
  97. 4283  
  98. 9734  LET<UNK! {0007}>2<0xE4!>WIDTHTHEN<UNK! {0006}>THEN<UNK! {0010}>PSET<UNK! {0006}>THEN<UNK! {0006}><UNK! {FF5D}><0xCB!>UIF/RUNF<UNK! {0006}>2<0xE4!>PSAVE2
  99. 1610  &IF_&H18EB]LOCATE<UNK! {0002}>
  100. 35564  F<UNK! {0006}>2<0xE4!>PSAVE2
  101. 1610  &IF_<UNK! {000A}>X<0x9A!>BSAVE6POINT4]LOCATE<UNK! {0002}>
  102. 35564  F<UNK! {0006}>2<0xE4!>PSAVE2
  103. 1610  &IF_57579]LOCATE<UNK! {0002}>
  104. 35564  f<UNK! {0006}>LET&i<UNK! {0006}>WIDTHh<UNK! {0006}>SAVE<UNK! {001E}>
  105. 1610  PSET<UNK! {0006}>l<UNK! {0006}>&H5EC4<UNK! {0008}>OPTION<UNK! {FFFF}>SAVE 
  106. 1610  ]LOCATE<UNK! {0006}>
  107. 35564  f<UNK! {0008}>RUNF<UNK! {0006}>SAVE*
  108. 1610  ]LOCATE<UNK! {0004}>
  109. 35820  F<UNK! {0008}>+F&H279<UNK! {00F7}>INSTR@<UNK! {0005}><UNK! {0007}>
  110. 59601  FN<PSAVE2
  111. 1610  &IF_<UNK! {0008}><0x9A!>BSAVE6POINT4[<UNK! {00F7}><0xE3!>IFN<UNK! {0006}>+N<UNK! {000A}>y<UNK! {0002}><UNK! {00F7}>'A<UNK! {00F7}><0xE1!><UNK! {0005}><UNK! {0006}>
  112. 53795  t<UNK! {0005}>OPTION<UNK! {FFFF}>IFUSR]LOCATE<UNK! {0008}>
  113. 50924  <UNK! {0006}>SOUND<UNK! {0006}><UNK! {FFC6}><UNK! {0006}>BEEP<UNK! {0006}>
  114. 1735  <UNK! {000A}>SOUND~<UNK! {000A}>&RUN<UNK! {0005}>TRONPSET<UNK! {0006}>"CLSu<UNK! {0008}><H
  115. 60166  %SOUND~<UNK! {0006}>&RUN<UNK! {0005}>TRONBEEP<UNK! {0006}>SOUND~<UNK! {000A}>&RUN02<UNK! {FF2E}>RUNREADLET<UNK! {001E}>TRONPRESET<UNK! {0006}>.RUNREADl<UNK! {001E}>TRONSOUND<UNK! {0006}>SOUND~58418&GOTO<UNK! {0005}>]LOCATE&H5500IF/<UNK! {FF36}>SOUND<UNK! {0006}><<UNK! {0008}>
  116. 1732  ]LOCATE<UNK! {0008}>
  117. 1147  ]SOUND~<UNK! {000A}>WIDTHPSET<UNK! {0006}>2<0xE4!><<UNK! {FF75}><UNK! {0002}>RUN<0xE0!>&GOTO<UNK! {0005}>2<0xE4!>WIDTHBEEP<UNK! {0006}>SOUND~<UNK! {0006}>&GOTO<UNK! {0005}>BLOAD3CLSPSET<UNK! {0006}>SOUND<UNK! {0006}>STRIGBEEP<UNK! {0006}>TRONPSET<UNK! {0006}>TRONPRESET<UNK! {0006}>TRONSCREEN<UNK! {0006}>TROFFKEY<UNK! {0006}>TROFF<0xCB!><UNK! {0006}>PSET<UNK! {0006}>THEN<UNK! {0006}>STRIGTAB(<UNK! {0006}><0xCB!>UIF/<d<UNK! {FDC4}>^<UNK! {0006}>GOTO<UNK! {001E}>KEY<UNK! {0006}>RESTORE<UNK! {0006}><0xCB!><UNK! {0006}>SAVE<UNK! {0002}>
  118. 1610  ]LOCATE<UNK! {0004}>
  119. 48876  <UNK! {0004}>
  120. 1610  ]<0xCB!>UIF/IFF<UNK! {0008}>IF^<UNK! {0006}>SAVE<UNK! {0008}>
  121. 1610  ]LOCATE<UNK! {0004}>
  122. 35820  F<UNK! {0008}>IF^<UNK! {0006}>SAVE<UNK! {000A}>
  123. 1610  ]LOCATE<UNK! {0004}>
  124. 35820  F&H5E8B<UNK! {000A}>IFN<UNK! {0008}>IFV<UNK! {0006}>SAVE&HFF00<UNK! {001E}>J<UNK! {0006}>]LOCATE<UNK! {0008}>
  125. 35820  N<UNK! {000A}>SOUND^<UNK! {0006}>OPTION<UNK! {0006}>
  126. 65280  <UNK! {001E}>J<UNK! {0006}>]LOCATE<UNK! {0006}>
  127. 35820  N<UNK! {000A}>SOUND^<UNK! {0006}>OPTION<UNK! {0007}>
  128. 65280  <UNK! {001E}>J<UNK! {0006}>]LOCATE<UNK! {0006}>
  129. 35820  F&H5E8B<UNK! {000A}>IFN<UNK! {0008}>IFV<UNK! {0006}>SAVE1
  130. 1610  ]LOCATE<UNK! {0008}>
  131. 35820  F<UNK! {0010}>IF^20107&H568B<UNK! {000A}>;MOTORr<UNK! {0001}>PRINT;VARPTRs<UNK! {0002}>READVARPTRQRSAVE<UNK! {0008}>
  132. 1610  [XIFN<UNK! {0008}>IFV<UNK! {0006}>SAVE<UNK! {0010}>
  133. 1610  ]LOCATE&H5500IF/IFF<UNK! {0010}>IF^2238
  134. 1610  IFF&H5E8B<UNK! {000A}>IFN<UNK! {0008}>IFV<UNK! {0006}>SAVE3
  135. 1610  ]LOCATE&H5500IF/IFF&H5E8B<UNK! {000A}>SAVE<UNK! {0008}>
  136. 1610  IFF<UNK! {0008}>IF^<UNK! {0006}>SAVE7
  137. 1610  OPTION
  138. 360  IFN<UNK! {0008}>IFV<UNK! {0006}>SAVE3
  139. 1610  ]LOCATE<UNK! {0008}>
  140. 35820  F<UNK! {0010}>IF^2238
  141. 1610  IFF&H5E8B<UNK! {000A}>IFN<UNK! {0008}>IFV<UNK! {0006}>SAVE5
  142. 1610  ]LOCATE&H5500IF/<UNK! {001E}>OPTION<UNK! {FFFF}>SAVE3
  143. 1610  IFMOD<UNK! {0006}>2.07735E+34ERASE-946.177F<UNK! {0006}>TRONh<UNK! {0006}>RUN&i<UNK! {0006}>SAVE<UNK! {001E}>
  144. 1610  ]LOCATE<UNK! {0002}>
  145. 13036  CLSSAVE:
  146. 1610  IFMOTOR]<0xCB!>UIF/2CLSSAVE:
  147. 1610  IFBLOAD]<0xCB!>UIF/LINE<UNK! {0001}>SAVE:
  148. 1610  RESTOREBSAVEIFBLOAD]<0xCB!>UIF/LINE<UNK! {0002}>IFN<UNK! {0006}>SAVE
  149. 18974  <UNK! {0006}>RESTOREBSAVEIFBLOAD]LOCATE<UNK! {0002}>
  150. 45292  <UNK! {0001}>SAVE
  151. 18974  <UNK! {0006}>IFMOTORH]<0xCB!>UIF/RUN^<UNK! {0006}>2<UNK! {FFB8}><UNK! {FFFF}>SAVE9
  152. 1610  ]LOCATE<UNK! {0002}>
  153. 35820  F&HCC80<UNK! {0080}>IF^<UNK! {000A}>IFN<UNK! {0008}>IFV<UNK! {0006}>SAVE9
  154. 1610  ]LOCATE<UNK! {0008}>
  155. 35820  F<UNK! {0008}>2<0xE4!>IF^<UNK! {0006}>SAVE9
  156. 1610  ]LOCATE<UNK! {0004}>
  157. 50412  ^<UNK! {0006}>CSAVE-256<UNK! {001E}>J<UNK! {0006}>]LOCATE<UNK! {0004}>
  158. 35820  F<UNK! {000A}>TRONk<UNK! {0006}>IF^<UNK! {0008}>RUNN<UNK! {0006}>LET17362^SAVE"
  159. 1610  ]LOCATE<UNK! {0006}>
  160. 35820  F<UNK! {000A}>IF^<UNK! {0008}>IFN<UNK! {0006}>SOUND6KEY<UNK! {0006}>&IF|&H8B26T806|<UNK! {0010}>NEXTOR<UNK! {0002}><UNK! {00FA}>READ=RESTOREERRRETURNSPC(<UNK! {00FB}>WUSAVE,
  161. 59461  -0.01 AND DO>0.01 THEN S1=S1+S1*(DO-DE): GOTO 920
  162. 1000  IF ABS(DE)<=0.01 AND ABS(DO)>0.01 THEN S1=S1+S1*DO: GOTO 920
  163. 1010  IF ABS(DO)<=0.01 AND ABS(DE)>0.01 THEN S1=S1-S1*DO: GOTO 920
  164. 1020  REM ************** FOUND *************************
  165. 1030  R=WE:GOSUB 490:TE=ZT*2:VT=EF:R=WO:GOSUB 490:OO=ZT*2:OT=EF
  166. 1040  R=W1: GOSUB 490: EF=SQR(VT*OT): S=S1*H
  167. 1050  IF DV=0 THEN PRINT:PRINT"WIDTH="W"  HIGHT="H"  SPACE="S"  Z0="ZT"  Zoe="TE"  Zoo="OO
  168. 1052  IF DV=2 THEN LPRINT:LPRINT"WIDTH="W"  HIGHT="H"  SPACE="S"  Z0="ZT"  Zoe="TE"  Zoo="OO
  169. 1060  IF DV=2 AND W$="Y" THEN LPRINT: LPRINT, "FREQ= "F; TAB(18) "V.F.=" VF; TAB(34) "WAVELENGTH INCHES=" WL; TAB(54) "OPEN CORR=" DL: GOTO 1150
  170. 1070  IF DV=2 THEN 1150
  171. 1080  PRINT: INPUT "DO YOU WANT TO CALC WAVELENGTH (Y OR N)"; W$
  172. 1090  PRINT: IF W$<>"Y" THEN 1120 ELSE INPUT "FREQ IN MHZ"; F
  173. 1100  VF=1/SQR(EF): WL=VF*11808/F: PRINT 
  174. 1110  PRINT "V.F. ="; VF, "WAVELENGTH INCHES ="; WL
  175. 1111  DL=0.412*H*(EF+0.3)*(W/H+0.262)/(EF-0.258)/(W/H+0.813)
  176. 1114  PRINT "OPEN END CORRECTION = "; DL
  177. 1120  PRINT: INPUT "WANT HARD COPY (Y/N)"; H$
  178. 1130  IF H$<>"Y"THEN 1150 ELSE DV=2
  179. 1140  LPRINT:LPRINT,"COUPLED MICROSTRIP CHARACTERISTICS":GOTO 1050
  180. 1150  DV=0:PRINT:INPUT"DO YOU WANT TO CONTINUE (Y OR N)";Q$:PRINT
  181. 1160  IF Q$<>"Y" THEN END ELSE 210
  182. 1170  REM ************** COUPLED ANALYSIS *****************
  183. 1180  INPUT "WHAT IS LINE WIDTH"; W
  184. 1190  INPUT "WHAT IS LINE SPACING"; S
  185. 1200  INPUT "WHAT IS BOARD HIGHT IN INCHES"; H: RS=S/H
  186. 1210  INPUT "WHAT IS BOARD DIELECTRIC CONSTANT"; ER: RW=W/H
  187. 1220  IF ER<=6 THEN K=4/(PI*(1+ER/2)) ELSE K=1/PI
  188. 1230  INPUT "WANT TO CONSIDER STRIP THICKNESS (Y OR N)"; Q$
  189. 1240  IF Q$<>"Y" THEN 1270 ELSE INPUT "STRIP THICKNESS IN IN."; T
  190. 1250  IF RW>0.16 THEN Q=2*H/T ELSE Q=4*PI*W/T
  191. 1260  DR=T*(1+LOG(Q))/(PI*H): RW=RW-DR
  192. 1270  G=FNG(RS): HC=FNH(RW,RS):WE=FNAC((2*HC-G+1)/(G+1))/HP
  193. 1280  WO=FNAC((2*HC-G-1)/(G-1))/HP+K*FNAC(1+2*(RW/RS))
  194. 1290  R=WE:GOSUB 490:TE=ZT*2:VT=EF:R=WO:GOSUB 490:OO=ZT*2:OT=EF
  195. 1300  R=RW:GOSUB 490:EF=SQR(VT*OT):PRINT"Z0="ZT"  Zoe="TE"  Zoo="OO:GOTO 1080
  196.