home *** CD-ROM | disk | FTP | other *** search
/ Super Games / visualcdgame.iso / dosgames / contintl / fm.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1992-06-30  |  30.3 KB  |  517 lines

  1. 10  REM ***************************************
  2. 20  REM *                                     *
  3. 30  REM * F M   B R O A D C A S T   P O W E R *
  4. 40  REM *                                     *
  5. 50  REM *      by Steve Schott - 1987         *
  6. 60  REM *      CONTINENTAL ELECTRONICS        *
  7. 70  REM *                                     *
  8. 80  REM ***************************************
  9. 90  REM
  10. 100  ON ERROR GOTO 5110
  11. 110  GOSUB 150: GOTO 3350  'Goto Menu
  12. 120  REM --------------
  13. 130  REM INITIALIZATION
  14. 140  REM --------------
  15. 150  FORMFEED$ = CHR$(12)
  16. 160  Q$ = CHR$(34) 'Quotation Mark
  17. 170  CS$ = "                                                                               " 'Clear Line
  18. 180  CHL$ = "                                    ": REM Clear Half Line
  19. 190  RETURN
  20. 200  REM -----------------------------------------------------------------------
  21. 210  REM PRINTER CODES FOR 10 PITCH, BOLD PRINT, NORMAL PRINT, & BACK ONE LINE
  22. 220  REM FOR BROTHER/DYNEX (DIABLO), IBM QUIETWRITER, EPSON, TANDY & LASERJET
  23. 230  REM -----------------------------------------------------------------------
  24. 240  PITCH$ = CHR$(27) + CHR$(31) + CHR$(13): BOLD$ = CHR$(27) + CHR$(87): NORMAL$ = CHR$(27) + CHR$(38): BACKLINE$ = CHR$(27) + CHR$(68) + CHR$(27) + CHR$(68): RETURN     'Printer Codes for Brother/Dynex (Diablo)
  25. 250  PITCH$ = CHR$(27) + CHR$(18): BOLD$ = CHR$(27) + CHR$(71): NORMAL$ = CHR$(27) + CHR$(72): BACKLINE$ = CHR$(27) + CHR$(93): RETURN     'Printer Codes for IBM QuietWriter
  26. 260  PITCH$ = CHR$(27) + CHR$(77) + CHR$(27) + CHR$(120) + CHR$(1) + CHR$(27) + CHR$(107) + CHR$(1) : BOLD$ = CHR$(27) + CHR$(69): NORMAL$ = CHR$(27) + CHR$(70): BACKLINE$ = "": RETURN 'Printer Codes for Epson (No Code for Vertical Backline)
  27. 270  PITCH$ = CHR$(27) + CHR$(14): BOLD$ = CHR$(15): NORMAL$ = CHR$(14): BACKLINE$ = CHR$(27) + CHR$(30) + CHR$(27) + CHR$(30): RETURN     'Printer Codes for Tandy Daisy Wheel Printer II (BOLD$ is Underlining for Tandy)
  28. 280  BACKLINE$ = CHR$(27) + CHR$(38) + CHR$(97) + CHR$(45) + CHR$(49) + CHR$(82): FORMFEED$ = CHR$(27) + CHR$(38) + CHR$(108) + CHR$(48) + CHR$(72): RETURN     'Lines 280, 290, 300, & 310 Are Codes for HP LaserJet II Printer
  29. 290  BOLD$ = CHR$(27) + CHR$(40) + CHR$(115) + CHR$(51) + CHR$(66) : NORMAL$ = CHR$(27) + CHR$(40) + CHR$(115) + CHR$(48) + CHR$(66) : RETURN
  30. 310  BACKLINE$ = CHR$(27) + CHR$(38) + CHR$(97) + CHR$(45) + CHR$(49) + CHR$(82): FORMFEED$ = CHR$(12): RETURN     'Lines 280, 290, 300, & 310 Are Codes for HP LaserJet II Printer
  31. 320  REM --------------
  32. 330  REM CLEAR VARIBLES
  33. 340  REM --------------
  34. 350  ERP = 0: FREQ = 0: BAYS% = 0: GAIN = 0: FGAIN = 0: APWR = 0: FEED$ = "": ALGTH = 0: HEIGHT = 0: CR = 0: HAAT = 0: DTT% = 0: LENGTH% = 0
  35. 360  LS$ = "": LA = 0: LB = 0: ATTEN = 0: OTHER = 0: OTHER$ = "": EFF = 0: LOSS = 0: TPO = 0: HS% = 0: HANGER% = 0: HOIST% = 0: NULL1 = 0: DIST1 = 0: NULL2 = 0: DIST2 = 0: RETURN
  36. 370  STATION$ = "": LOCATION$ = "": ATTENTION$ = "": FACILITY$ = "": TTYPE$ = "": TRATING$ = "": ATYPE$ = "": ARATING$ = "": LINETYPE$ = "": RETURN
  37. 380  CLS : COLOR 7, 0: KEY OFF
  38. 390  PRINT "KEYTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENCLOSE"
  39. 400  PRINT "OPEN "; : COLOR 0, 7: PRINT "               F M   O P E R A T I N G   P A R A M E T E R S               "; : COLOR 7, 0: PRINT " OPEN"
  40. 410  PRINT "SCREENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENLOAD"
  41. 420  RETURN
  42. 430  CLS : COLOR 7, 0: KEY OFF
  43. 440  PRINT "KEYTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENCLOSE"
  44. 450  PRINT "OPEN                 F M   S T A T I O N   I N F O R M A T I O N                 OPEN"
  45. 460  PRINT "SCREENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENLOAD"
  46. 470  RETURN
  47. 480  CLS : COLOR 7, 0: KEY OFF
  48. 490  PRINT "KEYTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENCLOSE"
  49. 500  PRINT "OPEN                      P R I N T E R   S E T U P                              OPEN"
  50. 510  PRINT "SCREENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENLOAD"
  51. 520  RETURN
  52. 530  CLS : COLOR 7, 0: KEY OFF
  53. 540  PRINT "KEYTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENCLOSE"
  54. 550  PRINT "OPEN                D I R E C T O R Y   O F   D A T A   F I L E S                OPEN"
  55. 560  PRINT "SCREENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENLOAD"
  56. 570  RETURN
  57. 580  REM ----------------------
  58. 590  REM TRANSMISSION LINE DATA
  59. 600  REM ----------------------
  60. 610  HS% = 3: LA = 0.66: LB = 0.72: LS$ = "1/2" + Q$ + " Foam": RETURN
  61. 620  HS% = 3: LA = 0.36: LB = 0.4: LS$ = "7/8" + Q$ + " Foam": RETURN
  62. 630  HS% = 3: LA = 0.35: LB = 0.39: LS$ = "7/8" + Q$ + " Air": RETURN
  63. 640  HS% = 3: LA = 0.355: LB = 0.396: LS$ = "7/8" + Q$ + " Air": RETURN
  64. 650  HS% = 3: LA = 0.257: LB = 0.286: LS$ = "1-1/4" + Q$ + " Foam": RETURN
  65. 660  HS% = 3: LA = 0.192: LB = 0.212: LS$ = "1-5/8" + Q$ + " Foam": RETURN
  66. 670  HS% = 3: LA = 0.192: LB = 0.212: LS$ = "1-5/8" + Q$ + " Air": RETURN
  67. 680  HS% = 3: LA = 0.187: LB = 0.208: LS$ = "1-5/8" + Q$ + " Air": RETURN
  68. 690  HS% = 3: LA = 0.158: LB = 0.176: LS$ = "2-1/4" + Q$ + " Air": RETURN
  69. 700  HS% = 5: LA = 0.133: LB = 0.15: LS$ = "3" + Q$ + " Air": RETURN
  70. 710  HS% = 3: LA = 0.122: LB = 0.135: LS$ = "3" + Q$ + " Air": RETURN
  71. 720  HS% = 3: LA = 0.103: LB = 0.114: LS$ = "3-1/2" + Q$ + " Air": RETURN
  72. 730  HS% = 5: LA = 0.1081: LB = 0.1206: LS$ = "4" + Q$ + " Air": RETURN
  73. 740  HS% = 3: LA = 0.076: LB = 0.089: LS$ = "4-1/2" + Q$ + " Air": RETURN
  74. 750  HS% = 5: LA = 0.073: LB = 0.082: LS$ = "5" + Q$ + " Air": RETURN
  75. 760  HS% = 10: LA = 0.195: LB = 0.195: LS$ = "1-5/8" + Q$ + " Rigid": RETURN
  76. 770  HS% = 10: LA = 0.089: LB = 0.12: LS$ = "3-1/8" + Q$ + " Rigid": RETURN
  77. 780  HS% = 10: LA = 0.068: LB = 0.074: LS$ = "4-1/8" + Q$ + " Rigid": RETURN
  78. 790  HS% = 10: LA = 0.05: LB = 0.059: LS$ = "6-1/8" + Q$ + " Rigid": RETURN
  79. 800  REM ------------
  80. 810  REM ANTENNA DATA
  81. 820  REM ------------
  82. 830  IF BAYS% = 1 THEN GAIN = 0.4611: NULL1 = 90: NULL2 = 0
  83. 840  IF BAYS% = 2 THEN GAIN = 0.9971: NULL1 = 30: NULL2 = 90
  84. 850  IF BAYS% = 3 THEN GAIN = 1.5588: NULL1 = 19.6: NULL2 = 42
  85. 860  IF BAYS% = 4 THEN GAIN = 2.1332: NULL1 = 14.5: NULL2 = 30.1
  86. 870  IF BAYS% = 5 THEN GAIN = 2.7154: NULL1 = 11.6: NULL2 = 23.7
  87. 880  IF BAYS% = 6 THEN GAIN = 3.3025: NULL1 = 9.6: NULL2 = 19.5
  88. 890  IF BAYS% = 7 THEN GAIN = 3.8935: NULL1 = 8.3: NULL2 = 16.7
  89. 900  IF BAYS% = 8 THEN GAIN = 4.4872: NULL1 = 7.2: NULL2 = 14.5
  90. 910  IF BAYS% = 9 THEN GAIN = 5.0826: NULL1 = 6.4: NULL2 = 12.9
  91. 920  IF BAYS% = 10 THEN GAIN = 5.68: NULL1 = 5.8: NULL2 = 11.6
  92. 930  IF BAYS% = 11 THEN GAIN = 6.2783: NULL1 = 5.2: NULL2 = 10.5
  93. 940  IF BAYS% = 12 THEN GAIN = 6.8781: NULL1 = 4.8: NULL2 = 9.6
  94. 950  IF BAYS% = 13 THEN GAIN = 7.4785: NULL1 = 4.4: NULL2 = 8.9
  95. 960  IF BAYS% = 14 THEN GAIN = 8.08: NULL1 = 4.1: NULL2 = 8.2
  96. 970  RETURN
  97. 980  REM -------------------
  98. 990  REM CALULATE FIELD GAIN
  99. 1000  REM -------------------
  100. 1010  FGAIN = INT(SQR(GAIN) * 100 + 0.5) / 100: RETURN
  101. 1020  REM -------------------
  102. 1030  REM ANTENNA INPUT POWER
  103. 1040  REM -------------------
  104. 1050  APWR = INT((ERP / GAIN) * 1000 + 0.5) / 1000: RETURN
  105. 1060  REM -------------------------
  106. 1070  REM FIELD INTENSITY AT 1 MILE
  107. 1080  REM -------------------------
  108. 1090  FI = INT((FGAIN * 137.6) * 10 + 0.5) / 10: RETURN
  109. 1100  REM --------------
  110. 1110  REM ANTENNA LENGTH
  111. 1120  REM --------------
  112. 1130  ALGTH = INT(((984 / FREQ) * (BAYS% - 1)) * 100 + 0.5) / 100: RETURN
  113. 1140  REM -----------------------------------
  114. 1150  REM CALCULATE CENTER OF RADIATION (AGL)
  115. 1160  REM -----------------------------------
  116. 1170  CR = INT(HEIGHT - (ALGTH / 2) + 0.5): RETURN
  117. 1180  REM --------------
  118. 1190  REM LENGTH OF LINE
  119. 1200  REM --------------
  120. 1210  IF LEFT$(FEED$, 1) = "C" THEN LENGTH% = INT(HEIGHT - (ALGTH / 2) - 6 + DTT% + 0.5)
  121. 1220  IF LEFT$(FEED$, 1) = "C" AND OFFSET = 1 THEN LENGTH% = INT(HEIGHT - (ALGTH / 2) - 6 + DTT% - ((984 / FREQ) / 2) + 0.5)
  122. 1230  IF LEFT$(FEED$, 1) = "E" THEN LENGTH% = INT(HEIGHT - (ALGTH) - 6 + DTT% + 0.5)
  123. 1240  RETURN
  124. 1250  REM --------------
  125. 1260  REM LINE SIZE MENU
  126. 1270  REM --------------
  127. 1280  LOCATE 18, 1: COLOR 7: PRINT "------------------------------------------------------------------------------"
  128. 1290  COLOR 15: PRINT "1."; : COLOR 7: PRINT "   1/2 FOAM       "; : COLOR 15: PRINT "6."; : COLOR 7: PRINT " 1-5/8 FOAM       ";
  129. 1300  COLOR 15: PRINT "11."; : COLOR 7: PRINT " 3     AIR (C)     "; : COLOR 15: PRINT "16."; : COLOR 7: PRINT " 1-5/8 RIGID"
  130. 1310  COLOR 15: PRINT "2."; : COLOR 7: PRINT "   7/8 FOAM       "; : COLOR 15: PRINT "7."; : COLOR 7: PRINT " 1-5/8 AIR (A)    ";
  131. 1320  COLOR 15: PRINT "12."; : COLOR 7: PRINT " 3-1/2 AIR (C)     "; : COLOR 15: PRINT "17."; : COLOR 7: PRINT " 3-1/8 RIGID"
  132. 1330  COLOR 15: PRINT "3."; : COLOR 7: PRINT "   7/8 AIR (A)    "; : COLOR 15: PRINT "8."; : COLOR 7: PRINT " 1-5/8 AIR (C)    ";
  133. 1340  COLOR 15: PRINT "13."; : COLOR 7: PRINT " 4     AIR (A)     "; : COLOR 15: PRINT "18."; : COLOR 7: PRINT " 4-1/8 RIGID"
  134. 1350  COLOR 15: PRINT "4."; : COLOR 7: PRINT "   7/8 AIR (C)    "; : COLOR 15: PRINT "9."; : COLOR 7: PRINT " 2-1/4 AIR (A)    ";
  135. 1360  COLOR 15: PRINT "14."; : COLOR 7: PRINT " 4-1/2 AIR (C)     "; : COLOR 15: PRINT "19."; : COLOR 7: PRINT " 6-1/8 RIGID"
  136. 1370  COLOR 15: PRINT "5."; : COLOR 7: PRINT " 1-1/4 FOAM (A)  "; : COLOR 15: PRINT "10."; : COLOR 7: PRINT " 3     AIR (A)    ";
  137. 1380  COLOR 15: PRINT "15."; : COLOR 7: PRINT " 5     AIR (A) "; : COLOR 15: PRINT "(A)ndrew (C)ablewave"
  138. 1390  LOCATE 6, 47: COLOR 15: INPUT "", A$: COLOR 7: A = VAL(A$): IF A < 1 OR A > 19 THEN 1390 ELSE ON A GOSUB 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, 710, 720, 730, 740, 750, 760, 770, 780, 790
  139. 1400  IF A = 10 OR A = 13 THEN HA% = 2 ELSE HA% = 1 : REM HANGER ADAPTOR FLAG - 2 ADPATORS FOR ANDREW 3" & 4" HELIAX
  140. 1410  FOR I = 18 TO 23: LOCATE I, 1: PRINT CS$: NEXT I
  141. 1420  GOTO 2050
  142. 1430  REM ---------------------
  143. 1440  REM FIND LINE ATTENUATION
  144. 1450  REM ---------------------
  145. 1460  ATTEN = INT(((((LB - LA) / (108 - 88)) * (FREQ - 88)) + LA) * 10000 + 0.5) / 10000: RETURN
  146. 1470  REM -------------------------
  147. 1480  REM CALCULATE LINE EFFICIENCY
  148. 1490  REM -------------------------
  149. 1500  DB = ((ATTEN / 100) * LENGTH%) + OTHER: EFF = 100 / (10 ^ (DB / 10))
  150. 1510  EFF = INT(EFF * 100 + 0.5) / 100: RETURN
  151. 1520  REM ----------------------------------
  152. 1530  REM CALCULATE TRANSMITTER POWER OUTPUT
  153. 1540  REM ----------------------------------
  154. 1550  TPO = INT((APWR / (EFF / 100)) * 1000 + 0.5) / 1000
  155. 1560  REM -------------------
  156. 1570  REM CALCULATE LINE LOSS
  157. 1580  REM -------------------
  158. 1590  LOSS = INT((TPO - APWR) * 1000 + 0.5) / 1000: RETURN
  159. 1600  REM ---------------------------
  160. 1610  REM CALCULATE NUMBER OF HANGERS
  161. 1620  REM ---------------------------
  162. 1630  HANGER% = (LENGTH% - DTT%) / HS%: RETURN
  163. 1640  REM -------------------------------
  164. 1650  REM CALCULATE NUMBER OF HOIST GRIPS
  165. 1660  REM -------------------------------
  166. 1670  HOIST% = INT(((LENGTH% - DTT%)) / 200) + 1: RETURN
  167. 1680  REM --------------------------------
  168. 1690  REM CALCULATE DISTANCE TO FIRST NULL
  169. 1700  REM --------------------------------
  170. 1710  DIST1 = ABS(CR / (5280 * TAN(NULL1 * 0.0175)))
  171. 1720  IF HAAT THEN DIST1 = ABS(HAAT / (5280 * TAN(NULL1 * 0.0175)))
  172. 1730  DIST1 = INT(DIST1 * 100 + 0.5) / 100: RETURN
  173. 1740  REM ---------------------------------
  174. 1750  REM CALCULATE DISTANCE TO SECOND NULL
  175. 1760  REM ---------------------------------
  176. 1770  DIST2 = ABS(CR / (5280 * TAN(NULL2 * 0.0175)))
  177. 1780  IF HAAT THEN DIST2 = ABS(HAAT / (5280 * TAN(NULL2 * 0.0175)))
  178. 1790  DIST2 = INT(DIST2 * 100 + 0.5) / 100: RETURN
  179. 1800  REM ---------------------
  180. 1810  REM TECHNICAL DATA SCREEN
  181. 1820  REM ---------------------
  182. 1830  GOSUB 380: COLOR 5
  183. 1840  LOCATE 5, 2: COLOR 15: PRINT "1."; : COLOR 7: PRINT TAB(17); "Eff. Radiated Pwr in kW": COLOR 15: IF ERP THEN LOCATE 5, 5: PRINT ""; ERP; "kW" ELSE LOCATE 5, 6: INPUT "", A$: ERP = VAL(A$): IF ERP <= 0 OR ERP > 500 THEN ERP = 0: BEEP: GOTO 1840 ELSE
  184. 1850  LOCATE 6, 2: COLOR 15: PRINT "2."; : COLOR 7: PRINT TAB(17); "Frequency in MHz": COLOR 15: IF FREQ THEN LOCATE 6, 5: PRINT ""; FREQ; "MHz" ELSE LOCATE 6, 6: INPUT "", A$: FREQ = VAL(A$): IF FREQ < 88 OR FREQ > 108 THEN BEEP: FREQ = 0: GOTO 1850 ELSE
  185. 1860  LOCATE 7, 2: COLOR 15: PRINT "3."; : COLOR 7: PRINT TAB(17); "Number of Bays": COLOR 15: IF BAYS% THEN LOCATE 7, 5: PRINT ""; BAYS% ELSE LOCATE 7, 6: INPUT "", A$: BAYS% = VAL(A$): IF BAYS% <= 0 OR BAYS% > 14 THEN BEEP: BAYS% = 0: GOTO 1860 ELSE 1860
  186. 1870  IF (BAYS% / 2) - INT(BAYS% / 2) = 0.5 THEN OFFSET = 1 ELSE OFFSET = 0
  187. 1880  LOCATE 8, 2: COLOR 15: PRINT "4."; : COLOR 7: PRINT TAB(17); "Antenna Power Gain": COLOR 15: IF GAIN THEN LOCATE 8, 5: PRINT ""; GAIN ELSE GOSUB 800: COLOR 7: GOTO 1880
  188. 1890  GOSUB 1010: LOCATE 9, 2: COLOR 15: PRINT "5."; : COLOR 7: PRINT TAB(17); "Antenna Field Gain": COLOR 15: LOCATE 9, 5: PRINT ""; FGAIN: COLOR 7
  189. 1900  GOSUB 1050: LOCATE 10, 2: COLOR 15: PRINT "6."; : COLOR 7: PRINT TAB(17); "Antenna Input Power": COLOR 15: LOCATE 10, 6: PRINT USING "##.### kW"; APWR: COLOR 7
  190. 1910  GOSUB 1090: LOCATE 11, 2: COLOR 15: PRINT "7."; : COLOR 7: PRINT TAB(17); "Ant. FI @ 1 mi./1kw": COLOR 15: LOCATE 11, 5: PRINT FI; "mV/m": COLOR 7
  191. 1920  IF BAYS% = 1 THEN FEED$ = "End"
  192. 1930  IF BAYS% > 8 THEN FEED$ = "Center"
  193. 1940  LOCATE 12, 2: COLOR 15: PRINT "8."; : PRINT TAB(17); "C"; : COLOR 7: PRINT "enter or "; : COLOR 15: PRINT "E"; : COLOR 7: PRINT "nd Feed": COLOR 15: IF FEED$ <> "" THEN LOCATE 12, 6: PRINT FEED$: COLOR 7: GOTO 1980
  194. 1950  IF FEED$ = "" THEN LOCATE 12, 6: INPUT "", A$: A$ = LEFT$(A$, 1): IF A$ <> "C" AND A$ <> "c" AND A$ <> "E" AND A$ <> "e" THEN 1940
  195. 1960  IF A$ = "E" AND BAYS% > 8 OR A$ = "e" AND BAYS% > 8 THEN LOCATE 12, 6: COLOR 15: INPUT "Cannot End Feed - PRESS ENTER", A$: COLOR 7: GOTO 1940
  196. 1970  IF A$ = "C" OR A$ = "c" THEN FEED$ = "Center": GOTO 1940 ELSE IF A$ = "E" OR A$ = "e" THEN FEED$ = "End": GOTO 1940
  197. 1980  GOSUB 1130: LOCATE 13, 2: COLOR 15: PRINT "9."; : COLOR 7: PRINT TAB(17); "Length of Antenna": COLOR 15: LOCATE 13, 5: PRINT USING "###.## ft."; ALGTH: COLOR 7
  198. 1990  LOCATE 14, 1: COLOR 15: PRINT "10."; : COLOR 7: PRINT TAB(17); "Height of Top Bay": COLOR 15: IF HEIGHT THEN LOCATE 14, 5: PRINT HEIGHT; "ft." ELSE LOCATE 14, 6: INPUT "", A$: COLOR 7: HEIGHT = VAL(A$): GOTO 1990
  199. 2000  IF HEIGHT < ALGTH THEN HEIGHT = 0: LOCATE 14, 6: COLOR 15: PRINT "Too Short - - -  PRESS ENTER": LINE INPUT "", A$: COLOR 7: GOTO 1990
  200. 2010  GOSUB 1170: LOCATE 15, 1: COLOR 15: PRINT "11."; : COLOR 7: PRINT TAB(17); "Cntr of Rad (AGL)": COLOR 15: LOCATE 15, 5: PRINT CR; "ft.": COLOR 7
  201. 2020  LOCATE 16, 1: COLOR 15: PRINT "12."; : COLOR 7: PRINT TAB(17); "Cntr of Rad (HAAT)": COLOR 15: IF HAAT THEN LOCATE 16, 5: PRINT HAAT; "ft.": COLOR 7 ELSE LOCATE 16, 6: PRINT "NO DATA": COLOR 7
  202. 2030  LOCATE 17, 1: COLOR 15: PRINT "13."; : COLOR 7: PRINT TAB(17); "Distance to Tower": COLOR 15: IF DTT% THEN LOCATE 17, 5: PRINT DTT%; "ft.": COLOR 7 ELSE LOCATE 17, 6: INPUT "", A$: COLOR 7: DTT% = VAL(A$): GOTO 2030
  203. 2040  LOCATE 5, 42: COLOR 15: PRINT "14."; : COLOR 7: PRINT TAB(60); "Length of Line": COLOR 15: IF LENGTH% THEN LOCATE 5, 46: PRINT LENGTH%; "ft.": COLOR 7 ELSE GOSUB 1190: GOTO 2040
  204. 2050  LOCATE 6, 42: COLOR 15: PRINT "15."; : COLOR 7: PRINT TAB(60); "Type of Line": COLOR 15: IF LS$ <> "" THEN LOCATE 6, 47: PRINT LS$: COLOR 7 ELSE GOTO 1260
  205. 2060  GOSUB 1440: LOCATE 7, 42: COLOR 15: PRINT "16."; : COLOR 7: PRINT TAB(60); "Attenuation Per 100'": COLOR 15: LOCATE 7, 47: PRINT USING "#.#### dB"; ATTEN: COLOR 7
  206. 2070  IF OTHER$ = "NONE" THEN LOCATE 8, 42: COLOR 15: PRINT "17."; : COLOR 7: PRINT TAB(60); "Other Losses in dB": COLOR 15: LOCATE 8, 47: PRINT OTHER$: COLOR 7: GOTO 2110
  207. 2080  LOCATE 8, 42: COLOR 15: PRINT "17."; : COLOR 7: PRINT TAB(60); "Other Losses in dB": COLOR 15: IF OTHER THEN LOCATE 8, 47: PRINT USING "#.#### dB"; OTHER: COLOR 7: GOTO 2110:    ELSE LOCATE 8, 47: PRINT "(Y/N)": A$ = INPUT$(1)
  208. 2090  IF A$ <> "y" AND A$ <> "Y" THEN LOCATE 8, 47: OTHER$ = "NONE": PRINT "          ": LOCATE 8, 47: PRINT OTHER$
  209. 2100  IF A$ = "y" OR A$ = "Y" THEN LOCATE 8, 47: PRINT "          ": LOCATE 8, 47: INPUT "", OTHER$: OTHER = VAL(OTHER$): GOTO 2080
  210. 2110  GOSUB 1480: LOCATE 9, 42: COLOR 15: PRINT "18."; : COLOR 7: PRINT TAB(60); "Line Efficiency": COLOR 15: LOCATE 9, 47: PRINT USING "##.## %"; EFF: COLOR 7
  211. 2120  GOSUB 1530: LOCATE 10, 42: COLOR 15: PRINT "19."; : COLOR 7: PRINT TAB(60); "Power Loss in Line": COLOR 15: LOCATE 10, 46: PRINT USING "##.### kW"; LOSS: COLOR 7
  212. 2130  LOCATE 11, 42: COLOR 15: PRINT "20."; : COLOR 7: PRINT TAB(60); "Transmitter Pwr Out": COLOR 15: IF TPO THEN LOCATE 11, 47: PRINT USING "##.### kW"; TPO: COLOR 7
  213. 2140  GOSUB 1610: LOCATE 12, 42: COLOR 15: PRINT "21."; : COLOR 7: PRINT TAB(60); "Hangers Required": COLOR 15: IF HANGER% THEN LOCATE 12, 46: PRINT HANGER%: COLOR 7
  214. 2150  GOSUB 1650: LOCATE 13, 42: COLOR 15: PRINT "22."; : COLOR 7: PRINT TAB(60); "Hoist Grips": COLOR 15: IF HS% = 10 THEN HOIST% = 0: LOCATE 13, 46: PRINT HOIST% ELSE LOCATE 13, 46: PRINT HOIST%: COLOR 7
  215. 2160  LOCATE 14, 42: COLOR 15: PRINT "23."; : COLOR 7: PRINT TAB(60); "Angle to 1st Null": COLOR 15: IF NULL1 THEN LOCATE 14, 47: PRINT USING "##.# Deg."; NULL1: COLOR 7
  216. 2170  GOSUB 1690: LOCATE 15, 42: COLOR 15: PRINT "24."; : COLOR 7: PRINT TAB(60); "Dist. to 1st Null": COLOR 15: LOCATE 15, 47: PRINT USING "#.### Miles"; DIST1: COLOR 7
  217. 2180  IF BAYS% = 1 THEN LOCATE 16, 42: PRINT CHL$: LOCATE 17, 42: PRINT CHL$: GOTO 2210
  218. 2190  LOCATE 16, 42: COLOR 15: PRINT "25."; : COLOR 7: PRINT TAB(60); "Angle to 2nd Null": COLOR 15: IF NULL2 THEN LOCATE 16, 47: PRINT USING "##.# Deg."; NULL2: COLOR 7
  219. 2200  GOSUB 1750: LOCATE 17, 42: COLOR 15: PRINT "26."; : COLOR 7: PRINT TAB(60); "Dist. to 2nd Null": COLOR 15: LOCATE 17, 47: PRINT USING "#.### Miles"; DIST2: COLOR 7
  220. 2210  LOCATE 23, 1: PRINT CS$: LOCATE 23, 28: COLOR 15: PRINT "MAKE CHANGES? (Y/N)": COLOR 7: A$ = INPUT$(1)
  221. 2220  IF A$ = "Y" OR A$ = "y" THEN LOCATE 23, 1: PRINT CS$: LOCATE 23, 25: COLOR 15: INPUT "CHANGE WHICH NUMBER? ", A$: COLOR 7: LOCATE 23, 1: PRINT CS$: A = VAL(A$) ELSE GOTO 3360
  222. 2230  ON A GOTO 2280, 2290, 2300, 2310, 2240, 2240, 2240, 2320, 2240, 2330, 2240, 2340, 2350, 2360, 2370, 2240, 2380
  223. 2240  LOCATE 23, 1: PRINT CS$: LOCATE 23, 15: INPUT "CANNOT CHANGE THIS DATA - PRESS ENTER TO CONTINUE", A$: GOTO 2210
  224. 2250  REM ------------------------------
  225. 2260  REM MAKE CHANGES TO TECHNICAL DATA
  226. 2270  REM ------------------------------
  227. 2280  ERP = 0: GOTO 1840:   'CHANGE ERP
  228. 2290  FREQ = 0: LENGTH% = 0: GOTO 1850:    'CHANGE FREQUENCY
  229. 2300  BAYS% = 0: GAIN = 0: FEED$ = "": LENGTH% = 0: GOTO 1860:      'CHANGE BAYS
  230. 2310  LOCATE 8, 5: PRINT "          ": LOCATE 8, 6: INPUT "", A$: GAIN = VAL(A$): IF GAIN < 0.4 OR GAIN > 12 THEN 2310 ELSE GOTO 1880:     'CHANGE GAIN
  231. 2320  FEED$ = "": LENGTH% = 0: GOTO 1940:    'CHANGE ANTENNA FEED
  232. 2330  HEIGHT = 0: LENGTH% = 0: GOTO 1990:    'CHANGE ANTENNA HEIGHT
  233. 2340  LOCATE 16, 5: COLOR 7: PRINT "          ": LOCATE 16, 6: COLOR 15: INPUT "", HAAT: COLOR 7: IF HAAT < 1 OR HAAT > 5000 THEN 2340 ELSE GOTO 2020:       'INPUT OR CHANGE HAAT
  234. 2350  DTT% = 0: LENGTH% = 0: GOTO 2030:    'CHANGE DISTANCE TRANSMITTER TO TOWER
  235. 2360  LOCATE 5, 47: PRINT "          ": LOCATE 5, 47: INPUT "", A$: LENGTH% = VAL(A$): IF LENGTH% < 1 THEN 2360 ELSE GOTO 2040:     'CHANGE TOTAL LINE LENGTH
  236. 2370  LOCATE 6, 42: PRINT "          ": LS$ = "": GOTO 2050:    'CHANGE LINE TYPE
  237. 2380  OTHER = 0: OTHER$ = "": GOTO 2080:    'CHANGE OTHER SYSTEM LOSSES
  238. 2390  REM -----------------------------------
  239. 2400  REM MAKE CHANGES TO STATION INFORMATION
  240. 2410  REM -----------------------------------
  241. 2420  GOSUB 430
  242. 2430  LOCATE 5, 1: COLOR 15: PRINT "1."; : LOCATE 5, 4: COLOR 7: PRINT "      STATION NAME:"
  243. 2440  LOCATE 7, 1: COLOR 15: PRINT "2."; : LOCATE 7, 4: COLOR 7: PRINT "          LOCATION:"
  244. 2450  LOCATE 9, 1: COLOR 15: PRINT "3."; : LOCATE 9, 4: COLOR 7: PRINT "      ATTENTION TO:"
  245. 2460  LOCATE 11, 1: COLOR 15: PRINT "4."; : LOCATE 11, 4: COLOR 7: PRINT "     TYPE FACILITY:"
  246. 2470  LOCATE 13, 1: COLOR 15: PRINT "5."; : LOCATE 13, 4: COLOR 7: PRINT "  TYPE TRANSMITTER:"
  247. 2480  LOCATE 15, 1: COLOR 15: PRINT "6."; : LOCATE 15, 4: COLOR 7: PRINT "TRANSMITTER RATING:"
  248. 2490  LOCATE 17, 1: COLOR 15: PRINT "7."; : LOCATE 17, 4: COLOR 7: PRINT "      TYPE ANTENNA:"
  249. 2500  LOCATE 19, 1: COLOR 15: PRINT "8."; : LOCATE 19, 4: COLOR 7: PRINT "    ANTENNA RATING:"
  250. 2510  LOCATE 21, 1: COLOR 15: PRINT "9."; : LOCATE 21, 4: COLOR 7: PRINT " TRANSMISSION LINE:"
  251. 2520  REM -------------------------
  252. 2530  REM ENTER STATION INFORMATION
  253. 2540  REM -------------------------
  254. 2550  COLOR 15: LOCATE 5, 26: IF STATION$ <> "" THEN PRINT STATION$: COLOR 7:        ELSE PRINT "                                         ": LOCATE 5, 26: LINE INPUT ""; STATION$: GOTO 2550
  255. 2560  COLOR 15: LOCATE 7, 26: IF LOCATION$ <> "" THEN PRINT LOCATION$: COLOR 7 ELSE PRINT "                                         ": LOCATE 7, 26: LINE INPUT ""; LOCATION$: GOTO 2560
  256. 2570  COLOR 15: LOCATE 9, 26: IF ATTENTION$ <> "" THEN PRINT ATTENTION$: COLOR 7 ELSE PRINT "                                         ": LOCATE 9, 26: LINE INPUT ""; ATTENTION$: GOTO 2570
  257. 2580  COLOR 15: LOCATE 11, 26: IF FACILITY$ <> "" THEN PRINT FACILITY$: COLOR 7 ELSE PRINT "                                         ": LOCATE 11, 26: LINE INPUT ""; FACILITY$: GOTO 2580
  258. 2590  COLOR 15: LOCATE 13, 26: IF TTYPE$ <> "" THEN PRINT TTYPE$: COLOR 7 ELSE PRINT "                                         ": LOCATE 13, 26: LINE INPUT ""; TTYPE$: GOTO 2590
  259. 2600  COLOR 15: LOCATE 15, 26: IF TRATING$ <> "" THEN PRINT TRATING$: COLOR 7:    ELSE PRINT "                                         ": LOCATE 15, 26: LINE INPUT ""; TRATING$: GOTO 2600
  260. 2610  COLOR 15: LOCATE 17, 26: IF ATYPE$ <> "" THEN PRINT ATYPE$: COLOR 7 ELSE PRINT "                                         ": LOCATE 17, 26: LINE INPUT ""; ATYPE$: GOTO 2610
  261. 2620  COLOR 15: LOCATE 19, 26: IF ARATING$ <> "" THEN PRINT ARATING$: COLOR 7 ELSE PRINT "                                         ": LOCATE 19, 26: LINE INPUT ""; ARATING$: GOTO 2620
  262. 2630  COLOR 15: LOCATE 21, 26: IF LINETYPE$ <> "" THEN PRINT LINETYPE$: COLOR 7 ELSE PRINT "                                         ": LOCATE 21, 26: LINE INPUT ""; LINETYPE$: GOTO 2630
  263. 2640  LOCATE 23, 1: PRINT CS$: LOCATE 23, 30: COLOR 15: PRINT "MAKE CHANGES? (Y/N)": COLOR 7: A$ = INPUT$(1)
  264. 2650  IF A$ = "Y" OR A$ = "y" THEN LOCATE 23, 1: PRINT CS$: LOCATE 23, 25: COLOR 15: INPUT "CHANGE WHICH NUMBER? ", A$: COLOR 7: LOCATE 23, 1: PRINT CS$: A = VAL(A$) ELSE GOTO 3360
  265. 2660  IF A < 1 OR A > 9 THEN 2650
  266. 2670  ON A GOTO 2710, 2720, 2730, 2740, 2750, 2760, 2770, 2780, 2790
  267. 2680  REM --------------------------
  268. 2690  REM CHANGE STATION INFORMATION
  269. 2700  REM --------------------------
  270. 2710  STATION$ = "": GOTO 2550:   'CHANGE STATION INFO
  271. 2720  LOCATION$ = "": GOTO 2560:   'CHANGE LOCATION INFO
  272. 2730  ATTENTION$ = "": GOTO 2570:   'CHANGE ATTENTION TO INFO
  273. 2740  FACILITY$ = "": GOTO 2580:   'CHANGE FACILITIES
  274. 2750  TTYPE$ = "": GOTO 2590:   ' CHANGE TRANSMITTER TYPE
  275. 2760  TRATING$ = "": GOTO 2600:   ' CHANGE TRANSMITTER RATING
  276. 2770  ATYPE$ = "": GOTO 2610:   ' CHANGE ANTENNA TYPE
  277. 2780  ARATING$ = "": GOTO 2620:   ' CHANGE ANTENNA RATING
  278. 2790  LINETYPE$ = "": GOTO 2630:   ' CHANGE TRANSMISSION LINE TYPE
  279. 2800  REM -----------------
  280. 2810  REM SAVE DATA TO DISK
  281. 2820  REM -----------------
  282. 2830  GOSUB 380 'Print Screen Title
  283. 2840  LOCATE 5, 2: COLOR 15: PRINT "The file name can be 8 characters or less.  DO NOT USE EXTENSIONS or SPACES!": COLOR 7
  284. 2850  LOCATE 7, 20: INPUT "Enter Name of File: ", F$
  285. 2860  IF F$ = "" THEN GOTO 3350
  286. 2870  FLAG$ = "SAVE": NAME F$ AS F$
  287. 2880  LOCATE 9, 20: PRINT "Press ENTER to Save"
  288. 2890  LOCATE 11, 20: PRINT "Press ESC to Cancel"
  289. 2900  A$ = INPUT$(1)
  290. 2910  IF A$ = CHR$(27) THEN GOTO 3350
  291. 2920  IF A$ = CHR$(13) THEN GOTO 2940
  292. 2930  GOTO 2900
  293. 2940  LOCATE 13, 20: PRINT "Saving File: "; F$
  294. 2950  OPEN "O", #1, F$
  295. 2960  WRITE #1, ERP, FREQ, BAYS%, GAIN, FGAIN, APWR, FI, FEED$, ALGTH, HEIGHT, CR, HAAT, DTT%, LENGTH%, LA, LB, ATTEN, OTHER, OTHER$, EFF, LOSS, TPO, HS%
  296. 2970  WRITE #1, HANGER%, HOIST%, NULL1, DIST1, NULL2, DIST2, STATION$, LOCATION$, ATTENTION$, FACILITY$, TTYPE$, TRATING$, ATYPE$, ARATING$, LINETYPE$, DT$
  297. 2980  PRINT #1, LS$
  298. 2990  CLOSE
  299. 3000  GOTO 3350
  300. 3010  REM -------------------
  301. 3020  REM LOAD DATA FROM DISK
  302. 3030  REM -------------------
  303. 3040  GOSUB 380 'Print Screen Title
  304. 3050  LOCATE 5, 20: INPUT "Enter Name of File: ", F$
  305. 3060  IF F$ = "" THEN GOTO 3350
  306. 3070  LOCATE 7, 20: PRINT "Press ENTER to Load"
  307. 3080  LOCATE 9, 20: PRINT "Press ESC to Cancel"
  308. 3090  A$ = INPUT$(1)
  309. 3100  IF A$ = CHR$(27) THEN GOTO 3350
  310. 3110  IF A$ = CHR$(13) THEN GOTO 3130
  311. 3120  GOTO 3090
  312. 3130  LOCATE 11, 20: PRINT "Loading File: "; F$
  313. 3140  OPEN "I", #1, F$
  314. 3150  INPUT #1, ERP, FREQ, BAYS%, GAIN, FGAIN, APWR, FI, FEED$, ALGTH, HEIGHT, CR, HAAT, DTT%, LENGTH%, LA, LB, ATTEN, OTHER, OTHER$, EFF, LOSS, TPO, HS%
  315. 3160  INPUT #1, HANGER%, HOIST%, NULL1, DIST1, NULL2, DIST2, STATION$, LOCATION$, ATTENTION$, FACILITY$, TTYPE$, TRATING$, ATYPE$, ARATING$, LINETYPE$, DT$
  316. 3170  LINE INPUT #1, LS$
  317. 3180  CLOSE
  318. 3190  GOTO 3350
  319. 3200  REM ---------------------
  320. 3210  REM DELETE FILE FROM DISK
  321. 3220  REM ---------------------
  322. 3230  GOSUB 380 'Print Screen Title
  323. 3240  LOCATE 5, 7: INPUT "Enter Name of File to be Deleted: ", F$
  324. 3250  IF F$ = "" THEN GOTO 3350
  325. 3260  LOCATE 7, 18: PRINT "Press ENTER to Delete"
  326. 3270  LOCATE 9, 20: PRINT "Press ESC to Cancel"
  327. 3280  A$ = INPUT$(1)
  328. 3290  IF A$ = CHR$(27) THEN GOTO 3350
  329. 3300  IF A$ = CHR$(13) THEN GOTO 3320
  330. 3310  GOTO 3280
  331. 3320  LOCATE 11, 19: PRINT "Deleting File: "; F$
  332. 3330  KILL F$
  333. 3340  GOTO 3350
  334. 3350  REM ---------
  335. 3360  REM MAIN MENU
  336. 3370  REM ---------
  337. 3380  B$ = ""
  338. 3390  GOSUB 380 'Print Screen Title
  339. 3400  LOCATE 5, 20: COLOR 15: PRINT "E"; : COLOR 7: PRINT " - Enter New Data"
  340. 3410  LOCATE 7, 20: COLOR 15: PRINT "L"; : COLOR 7: PRINT " - Load Data from Disk"
  341. 3420  LOCATE 9, 20: COLOR 15: PRINT "S"; : COLOR 7: PRINT " - Save Data to Disk"
  342. 3430  LOCATE 11, 20: COLOR 15: PRINT "D"; : COLOR 7: PRINT " - Directory of Data Files to Screen"
  343. 3440  LOCATE 13, 20: COLOR 15: PRINT "R"; : COLOR 7: PRINT " - Review Data"
  344. 3450  LOCATE 15, 20: COLOR 15: PRINT "P"; : COLOR 7: PRINT " - Print Data"
  345. 3460  LOCATE 17, 20: COLOR 15: PRINT "C"; : COLOR 7: PRINT " - Change Data"
  346. 3470  LOCATE 19, 20: COLOR 15: PRINT "X"; : COLOR 7: PRINT " - Erase Data from Disk"
  347. 3480  LOCATE 21, 20: COLOR 15: PRINT "Q"; : COLOR 7: PRINT " - Quit Program and Return to System Menu"
  348. 3490  LOCATE 23, 1: PRINT CS$: LOCATE 23, 35: COLOR 15: PRINT "Select One": COLOR 7: A$ = INPUT$(1)
  349. 3500  IF A$ = "q" OR A$ = "Q" THEN RUN "TECHMENU"
  350. 3510  IF A$ = "x" OR A$ = "X" THEN GOTO 3200
  351. 3520  IF A$ = "d" OR A$ = "D" THEN CLS : GOSUB 530 : GOSUB 3700 : DIR$ = DIR$ + "*. " : CLS : GOSUB 530 : LOCATE 5, 1 : FILES DIR$ : PRINT : PRINT "Press Any Key to Continue ..... ": A$ = INPUT$(1): GOTO 3350
  352. 3530  IF A$ = "e" OR A$ = "E" THEN GOSUB 3690: B$ = INPUT$(1): IF B$ <> "1" AND B$ <> "2" THEN BEEP: GOTO 3530
  353. 3540  IF B$ = "1" AND TPO THEN LOCATE 23, 1: PRINT CS$: LOCATE 23, 17: COLOR 15: PRINT "THIS WILL DESTROY ENTERED DATA - CONTINUE (Y/N)?"; : COLOR 7: A$ = INPUT$(1): IF A$ = "y" OR A$ = "Y" THEN GOSUB 350: GOTO 1800 ELSE GOTO 3350
  354. 3550  IF B$ = "1" AND NOT TPO THEN GOSUB 350: GOTO 1800
  355. 3560  IF B$ = "2" AND STATION$ <> "" THEN LOCATE 23, 1: PRINT CS$: COLOR 15: LOCATE 23, 17: PRINT "THIS WILL DESTROY ENTERED DATA - CONTINUE? (Y/N)"; : A$ = INPUT$(1): COLOR 7: IF A$ = "y" OR A$ = "Y" THEN GOSUB 370: GOTO 2390 ELSE GOTO 3350
  356. 3570  IF B$ = "2" THEN 2390
  357. 3580  IF A$ = "l" OR A$ = "L" THEN 3010
  358. 3590  IF TPO = 0 THEN BEEP: LOCATE 23, 1: PRINT CS$: LOCATE 23, 15: COLOR 15: PRINT "No Data Entered or Loaded - Press ANY KEY to Continue": COLOR 7: A$ = INPUT$(1): GOTO 3490
  359. 3600  IF A$ = "s" OR A$ = "S" THEN 2800
  360. 3610  IF A$ = "r" OR A$ = "R" THEN GOSUB 3690: A$ = INPUT$(1): IF A$ <> "1" AND A$ <> "2" THEN BEEP: A$ = "E": GOTO 3610
  361. 3620  IF A$ = "1" THEN 1800
  362. 3630  IF A$ = "2" THEN 2390
  363. 3640  IF A$ = "c" OR A$ = "C" THEN GOSUB 3690: A$ = INPUT$(1): IF A$ <> "1" AND A$ <> "2" THEN BEEP: A$ = "E": GOTO 3640
  364. 3650  IF A$ = "1" THEN 1800
  365. 3660  IF A$ = "2" THEN 2390
  366. 3670  IF A$ = "p" OR A$ = "P" THEN 3770
  367. 3680  BEEP: GOTO 3490
  368. 3690  LOCATE 23, 1: PRINT CS$: LOCATE 23, 15: COLOR 15: PRINT "(1) Review TECHNICAL Data"; : COLOR 7: PRINT "  or  "; : COLOR 15: PRINT "(2) Review STATION Info": COLOR 7: RETURN
  369. 3700  REM -----------------------
  370. 3710  REM MAKE DIRECTORY OF FILES
  371. 3720  REM -----------------------
  372. 3730  LOCATE 5,1 : PRINT "Enter the Drive and Directory Path Name (i.e. A:\TECHDATA)." : PRINT : PRINT "OR" : PRINT : PRINT "Press ENTER for a Listing of Files in the Default Drive and Directory."
  373. 3740  LOCATE 11,1 : INPUT "", DIR$
  374. 3750  IF DIR$ = "" THEN RETURN
  375. 3760  DIR$ = DIR$ + "\" : RETURN
  376. 3770  REM ------------------------
  377. 3780  REM START OF PRINTER ROUTINE
  378. 3790  REM ------------------------
  379. 3800  GOSUB 480
  380. 3810  REM ----------------
  381. 3820  REM SET PRINT FORMAT
  382. 3830  REM ----------------
  383. 3840  LOCATE 5, 1: COLOR 7: PRINT "Number of Characters for Lefthand Margin of 3/4 Inch (10 Characters/Inch): "; : COLOR 7: INPUT "", TB$: TB = VAL(TB$): IF TB < 1 THEN BEEP: GOTO 3840
  384. 3850  LOCATE 7, 1: COLOR 7: PRINT "Number of Lines for Top Margin of 1 Inch (6 Lines/Inch): "; : COLOR 7: INPUT "", TM$: TM = VAL(TM$): IF TM < 0 THEN BEEP: GOTO 3850
  385. 3860  LOCATE 11, 12: PRINT "1.  Brother/Dynex (Diablo)": LOCATE 12, 12: PRINT "2.  IBM QuietWriter": LOCATE 13, 12: PRINT "3.  Epson": LOCATE 14, 12: PRINT "4.  Tandy Daisy Wheel II": LOCATE 15,12: PRINT "5.  HP LaserJet II"
  386. 3870  LOCATE 9, 9: COLOR 7: PRINT "Enter Type of Printer Codes: "; : COLOR 7: INPUT "", PC$: PC = VAL(PC$): IF PC < 1 OR PC > 5 THEN BEEP: GOTO 3870
  387. 3880  ON PC GOSUB 240, 250, 260, 270, 280
  388. 3890  LOCATE 17, 9: COLOR 7: PRINT "Enter Salesman's Name: "; : COLOR 7: LINE INPUT "", SALESMAN$
  389. 3900  LOCATE 19, 9: COLOR 7: PRINT "Enter Date: (Month Day, Year): "; : COLOR 7: LINE INPUT "", DT$
  390. 3910  LOCATE 21, 4: COLOR 7: PRINT "PREPARE PRINTER - PRESS <ESC> TO ABORT or ANY OTHER KEY TO START PRINTING"; : A$ = INPUT$(1): IF A$ = CHR$(27) THEN GOTO 3350
  391. 3920  LOCATE 22, 29: COLOR 0, 7: PRINT "** PRINTING DATA **": COLOR 7, 0
  392. 3930  REM -------------
  393. 3940  REM PRINT ROUTINE
  394. 3950  REM -------------
  395. 3960  WIDTH "LPT1:", 80 + TB
  396. 3970  IF TM < 1 THEN 3980 ELSE FOR I = 1 TO TM: LPRINT : NEXT I
  397. 3980  LPRINT TAB(36 - (LEN(STATION$) / 2) + TB); PITCH$; BOLD$; STATION$; NORMAL$
  398. 3985  LPRINT TAB(36 - (LEN(LOCATION$) / 2) + TB); PITCH$; BOLD$; LOCATION$; NORMAL$
  399. 3990  FREQ$ = STR$(FREQ) + " MHz": LPRINT TAB(TB); DT$; TAB(71 + TB - LEN(FREQ$)); NORMAL$; FREQ$
  400. 4000  LPRINT TAB(TB); ATTENTION$; TAB(71 + TB - LEN(FACILITY$)); FACILITY$
  401. 4010  LPRINT TAB(TB); "_________________________________________    __________________________"
  402. 4020  LPRINT TAB(TB); " S U G G E S T E D   P A R A M E T E R S         E Q U I P M E N T";
  403. 4030  LPRINT BACKLINE$
  404. 4040  LPRINT TAB(TB); "_________________________________________    __________________________"
  405. 4050  LPRINT
  406. 4060  A$ = "": E$ = "TRANSMITTER TYPE": GOSUB 4980
  407. 4070  A$ = "": E$ = BACKLINE$ + "_________________________": GOSUB 4980
  408. 4080  A$ = "Effective Radiated Power ": P$ = STR$(ERP) + " kW": E$ = TTYPE$: GOSUB 4940
  409. 4090  A$ = "Transmitter Power Output ": P$ = STR$(TPO) + " kW": E$ = TRATING$ + " Max. Rated Power": GOSUB 4940
  410. 4100  LPRINT
  411. 4110  A$ = "": E$ = "ANTENNA TYPE": GOSUB 4980
  412. 4120  A$ = "": E$ = BACKLINE$ + "_________________________": GOSUB 4980
  413. 4130  A$ = "Antenna Power Gain (H & V) ": P$ = STR$(GAIN): E$ = " " + ATYPE$: GOSUB 4940
  414. 4140  A$ = "Antenna Field Gain (H & V) ": P$ = STR$(FGAIN): E$ = STR$(BAYS%) + "-Bay " + FEED$ + " Fed Antenna": GOSUB 4940
  415. 4150  A$ = "Antenna Input Power ": P$ = STR$(APWR) + " kW": E$ = ARATING$ + " Max. Rated Power": GOSUB 4940
  416. 4160  A$ = "Field Intensity (1kW @ 1mi) ": P$ = STR$(FI) + " mV/m": E$ = STR$(ALGTH) + " ft. Antenna Length": GOSUB 4940
  417. 4170  LPRINT
  418. 4180  A$ = "": E$ = "TRANSMISSION LINE TYPE": GOSUB 4980
  419. 4190  A$ = "": E$ = BACKLINE$ + "_________________________": GOSUB 4980
  420. 4200  A$ = "Line Loss at" + STR$(FREQ) + " MHz ": ATTEN$ = STR$(ATTEN): P$ = " 0" + RIGHT$(ATTEN$, LEN(ATTEN$) - 1) + " dB/100'": E$ = LINETYPE$: GOSUB 4940
  421. 4210  A$ = "Other Losses ": O$ = STR$(OTHER): P$ = " 0" + RIGHT$(O$, LEN(O$) - 1) + " dB": IF OTHER = 0 THEN P$ = " NONE"
  422. 4220  IF LEFT$(LS$, 3) = "Air" THEN E$ = LS$ + " Dielectric": GOSUB 4940 ELSE E$ = LS$ + " Coax": GOSUB 4940
  423. 4230  A$ = "System Efficiency ": P$ = STR$(EFF) + "%": E$ = STR$(LENGTH%) + " ft. Estimated Length": GOSUB 4940
  424. 4240  A$ = "Power Lost in System ": P$ = STR$(LOSS) + " kW": GOSUB 5000
  425. 4250  LPRINT
  426. 4260  A$ = "Height (AGL) of Top Bay ": P$ = STR$(HEIGHT) + " ft.": GOSUB 5000
  427. 4270  A$ = "Center of Radiation (AGL) ": P$ = STR$(CR) + " ft.": GOSUB 5000
  428. 4280  A$ = "Center of Radiation (HAAT) ": IF HAAT = 0 THEN P$ = " NO DATA": GOSUB 5000 ELSE P$ = STR$(HAAT) + " ft.": GOSUB 5000
  429. 4290  IF FEED$ = "Center" THEN X = 2 ELSE X = 1
  430. 4300  A$ = "Length of Line on Tower ": P$ = STR$(CINT(HEIGHT - (ALGTH / X) - 6)) + " ft.": GOSUB 5000
  431. 4310  A$ = "Distance from Twr to Xmtr ": P$ = STR$(DTT%) + " ft.": GOSUB 5000
  432. 4320  LPRINT
  433. 4330  REM -------------------
  434. 4340  REM TEXT WITH FLEX LINE
  435. 4350  REM -------------------
  436. 4360  IF RIGHT$(LS$, 5) = "Rigid" THEN GOTO 4480
  437. 4370  P$ = "This transmission line should be attached": GOSUB 5050
  438. 4380  P$ = "to the tower every" + STR$(HS%) + " feet.  To prevent": GOSUB 5050
  439. 4390  P$ = "excessive strain and resulting damage to": GOSUB 5050
  440. 4400  P$ = "the line during installation, hoist grips": GOSUB 5050
  441. 4410  P$ = "must be used every 200 feet.": GOSUB 5050
  442. 4420  LPRINT
  443. 4430  A$ = "Number of Hangers ": P$ = STR$(HANGER%): GOSUB 5000
  444. 4440  IF LA = 0.133 OR LA = 0.1081 THEN HA% = 2 ELSE HA% = 1 : REM HANGER ADAPTOR FLAG ... 2 ADPATORS PER HANGER FOR ANDREW 3" & 4" HELIAX
  445. 4450  A$ = "Number of Hanger Adapters ": P$ = STR$(HANGER% * HA%): GOSUB 5000
  446. 4460  A$ = "Number of Hoist Grips": P$ = STR$(HOIST%): GOSUB 5000
  447. 4470  GOTO 4620
  448. 4480  REM --------------------
  449. 4490  REM TEXT WITH RIGID LINE
  450. 4500  REM --------------------
  451. 4510  P$ = "This rigid coax line should be attached": GOSUB 5050
  452. 4520  P$ = "to the tower with spring hangers every": GOSUB 5050
  453. 4530  P$ = "10 feet.  A fixed hanger is required at": GOSUB 5050
  454. 4540  P$ = "the top and at 300 foot intervals.  A": GOSUB 5050
  455. 4550  P$ = "lateral brace may be required at bottom.": GOSUB 5050
  456. 4560  LPRINT
  457. 4570  RH% = 1 + INT((LENGTH% - (ALGTH / X) - 6) / 300)
  458. 4580  A$ = "Number of Spring Hangers ": P$ = STR$(HANGER% - RH%): GOSUB 5000
  459. 4590  A$ = "Number of Rigid Hangers ": P$ = STR$(RH%): GOSUB 5000
  460. 4600  A$ = "Number of Hanger Adapters ": P$ = STR$(HANGER%): GOSUB 5000
  461. 4610  REM ----------------
  462. 4620  REM TEXT ABOUT NULLS
  463. 4630  REM ----------------
  464. 4640  LPRINT
  465. 4650  P$ = "This" + STR$(BAYS%) + "-bay antenna without beam tilt": GOSUB 5050
  466. 4660  P$ = "has nulls based on a center of radiation": GOSUB 5050
  467. 4670  P$ = "at" + STR$(CR) + " feet Above Ground Level as shown:"
  468. 4680  IF HAAT > 0 THEN P$ = "at" + STR$(HAAT) + " feet Above Average Terrain as shown:"
  469. 4690  GOSUB 5050
  470. 4700  LPRINT
  471. 4710  LPRINT TAB(TB); "1st Null"; TAB(TB + 11); : LPRINT USING "##.# Degrees"; NULL1; : LPRINT TAB(TB + 25); : LPRINT USING "##.### miles"; DIST1
  472. 4720  LPRINT TAB(TB); "2nd Null"; TAB(TB + 11); : LPRINT USING "##.# Degrees"; NULL2; : LPRINT TAB(TB + 25); : LPRINT USING "##.### miles"; DIST2
  473. 4730  LPRINT
  474. 4740  P$ = "Null Fill, Beam Tilt, Pattern Studies,": GOSUB 5050
  475. 4750  P$ = "and Optimization are available.  Null": GOSUB 5050
  476. 4760  P$ = "fill & beam tilt will reduce power gain.": GOSUB 5050
  477. 4770  P$ = "Seek the advice of your consultant to": GOSUB 5050
  478. 4780  P$ = "help you determine if any of these are": GOSUB 5050
  479. 4790  P$ = "required for " + STATION$ + ".": GOSUB 5050
  480. 4800  REM ----------------
  481. 4810  REM PRINT DISCLAIMER
  482. 4820  REM ----------------
  483. 4830  LPRINT TAB(TB); "_____________________________________________________________________"
  484. 4840  LPRINT TAB(TB); "PLEASE CONFIRM ALL DATA WITH YOUR TECHNICAL CONSULTANT.   SUGGESTIONS"
  485. 4850  LPRINT TAB(TB); "PROVIDED ONLY TO AID YOU AND CONSULTANT PREPARE APPROPRIATE FCC FORMS"
  486. 4860  LPRINT TAB(TB); BACKLINE$; "_____________________________________________________________________"
  487. 4870  LPRINT
  488. 4880  IF SALESMAN$ = "" THEN SALESMAN$ = "Broadcast Marketing"
  489. 4890  P$ = "Provided by " + SALESMAN$: LPRINT TAB(36 - (LEN(P$) / 2) + TB); P$
  490. 4900  P$ = "C O N T I N E N T A L   E L E C T R O N I C S": LPRINT TAB(36 - (LEN(P$) / 2) + TB); P$
  491. 4920  LPRINT FORMFEED$
  492. 4930  GOTO 3360
  493. 4940  REM -----------------
  494. 4950  REM PRINT TWO COLUMNS
  495. 4960  REM -----------------
  496. 4970  LPRINT TAB(TB); A$; : FOR I = LEN(A$) + TB TO 40 + TB - LEN(P$): LPRINT "."; : NEXT I: LPRINT TAB(41 + TB - LEN(P$)); P$;
  497. 4980  IF LEFT$(E$, 1) = " " THEN LPRINT TAB(44 + TB); E$ ELSE LPRINT TAB(45 + TB); E$: REM Print Data in Column 2
  498. 4990  RETURN
  499. 5000  REM ----------------
  500. 5010  REM PRINT ONE COLUMN
  501. 5020  REM ----------------
  502. 5030  LPRINT TAB(TB); A$; : FOR I = LEN(A$) + TB TO 40 + TB - LEN(P$): LPRINT "."; : NEXT I: LPRINT TAB(41 + TB - LEN(P$)); P$
  503. 5040  RETURN
  504. 5050  REM ------------------
  505. 5060  REM PRINT LINE OF TEXT
  506. 5070  REM ------------------
  507. 5080  LPRINT TAB(TB); P$
  508. 5090  RETURN
  509. 5100  END
  510. 5110  REM -----------------------------------------
  511. 5120  REM ERROR HANDLING ROUTINE IF WRONG FILE NAME
  512. 5130  REM -----------------------------------------
  513. 5140  IF ERR = 58 THEN LOCATE 23, 1: COLOR 15: FLAG$ = "": PRINT "File '"; F$; "' already exists.  Do you wish to record over it? (Y/N)": COLOR 7: A$ = INPUT$(1): LOCATE 23, 1: PRINT CS$: IF A$ = "y" OR A$ = "Y" THEN : RESUME 2880 ELSE RESUME 3350
  514. 5150  IF FLAG$ <> "SAVE" AND ERR = 53 THEN LOCATE 13, 20: PRINT "Cannot Find File: "; F$; " ..... Press Any Key to Continue "
  515. 5160  IF FLAG$ = "SAVE" AND ERR = 53 THEN FLAG$ = "": RESUME 2880
  516. 5170  A$ = INPUT$(1): FLAG$ = "": RESUME 3350
  517.