home *** CD-ROM | disk | FTP | other *** search
/ Super Games / visualcdgame.iso / dosgames / contintl / vert-pat.bas (.txt) < prev   
Encoding:
GW-BASIC  |  1992-06-30  |  11.7 KB  |  244 lines

  1. 10  REM ==================================================
  2. 20  REM FM VERTICAL PATTERN - by Steve Schott - April 1987
  3. 30  REM ==================================================
  4. 40  REM
  5. 50  REM CHANGE LINES 2380 - 2430 FOR OTHER PRINTER CODES
  6. 60  REM
  7. 70  REM PITCH$ = 15 Pitch Printer Command
  8. 80  REM LPI$ = 8 Lines per Inch Printer Command
  9. 90  REM NORMAL$ Return Printer Pitch & LPI Control Settings to Normal
  10. 100  FORMFEED$ = CHR$(12) : REM Form Feed - Advance New Sheet in Printer
  11. 110  CLS : COLOR 7,0 : KEY OFF
  12. 120  PI = 3.14159
  13. 130  RADIAN = 180 / PI
  14. 140  DIM E(101) : DIM EE(101) : DIM D(101)
  15. 150  REM ----
  16. 160  REM MENU
  17. 170  REM ----
  18. 180  CLS : COLOR 7,0 : KEY OFF
  19. 190  CL$ = "                                                                                " : REM  String of Blanks to Clear Line
  20. 200  PRINT "KEYTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENCLOSE"
  21. 210  PRINT "OPEN "; : COLOR 0,7 : PRINT "    V E R T I C A L    P A T T E R N S   F O R   F M   A N T E N N A S     "; : COLOR 7,0 : PRINT " OPEN"
  22. 220  PRINT "SCREENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENLOAD"
  23. 230  LOCATE 5,1 : COLOR 7 : PRINT "This program compares the "; : COLOR 15 : PRINT "VERTICAL PATTERN"; : COLOR 7 : PRINT " of two multiple bay FM antennas and"
  24. 240   PRINT "prints the relative fields in either "; : COLOR 15 : PRINT "graphic"; : COLOR 7 : PRINT " format or in "; : COLOR 15 : PRINT "tablature"; : COLOR 7 : PRINT " format."
  25. 250  PRINT "The printer should be capable of printing at least "; : COLOR 15: PRINT "121 Characters"; : COLOR 7 : PRINT " per line (15"
  26. 260  PRINT "pitch on impact printer, compressed print on dot matrix) and "; : COLOR 15 : PRINT "8 lines "; : COLOR 7 : PRINT "per inch."
  27. 270  PRINT "Change program lines 2380 - 2430 to change to other printers than those listed."
  28. 280  LOCATE 10,1 : PRINT "For "; : COLOR 15 : PRINT "Hercules Graphics"; : COLOR 7 : PRINT ", CTRL-BREAK and restart programs with "; : COLOR 15 : PRINT "TECH-H <ENTER>." : COLOR 7
  29. 290  LOCATE 12,17 : COLOR 15 : PRINT "E"; : COLOR 7 : PRINT "  -  Enter Data and Display Results on Screen"
  30. 300  LOCATE 14,17 : COLOR 15 : PRINT "D"; : COLOR 7 : PRINT "  -  Display Results on Screen"
  31. 310  LOCATE 16,17 : COLOR 15 : PRINT "G"; : COLOR 7 : PRINT "  -  Send Graphics to Printer"
  32. 320  LOCATE 18,17 : COLOR 15 : PRINT "T"; : COLOR 7 : PRINT "  -  Send Table to Printer"
  33. 330  LOCATE 20,17 : COLOR 15 : PRINT "P"; : COLOR 7 : PRINT "  -  Polar Display Comparison (Screen Only)"
  34. 340  LOCATE 22,17 : COLOR 15 : PRINT "Q"; : COLOR 7 : PRINT "  -  Quit"
  35. 350  LOCATE 24,31 : COLOR 15 : PRINT "Select One"; : COLOR 7
  36. 360  A$ = INPUT$(1)
  37. 370  IF A$ = "e" OR A$ = "E" THEN GOTO 470
  38. 380  IF A$ = "d" OR A$ = "D" THEN IF N = 0 THEN BEEP : GOTO 360 ELSE GOTO 540
  39. 390  IF A$ = "g" OR A$ = "G" THEN IF N = 0 THEN BEEP : GOTO 360 ELSE GOTO 940
  40. 400  IF A$ = "t" OR A$ = "T" THEN IF N = 0 THEN BEEP : GOTO 360 ELSE GOTO 1950
  41. 410  IF A$ = "p" OR A$ = "P" THEN 1600
  42. 420  IF A$ = "q" OR A$ = "Q" THEN RUN "techmenu"
  43. 430  BEEP : GOTO 360
  44. 440  REM ----------
  45. 450  REM INPUT DATA
  46. 460  REM ----------
  47. 470  FOR I = 12 TO 24 STEP 2 : LOCATE I,1 : PRINT STRING$(79,32); : NEXT I
  48. 480  LOCATE 12,20 : PRINT "Number of Bays (Antenna 1): "; : COLOR 15 : INPUT "", N$ : COLOR 7 : N = VAL(N$) : IF N < 1 OR N > 16 THEN BEEP : GOTO 480
  49. 490  LOCATE 14,20 : PRINT "Number of Bays (Antenna 2): "; : COLOR 15 : INPUT "", NN$ : COLOR 7 : NN = VAL(NN$) : IF NN < 1 OR NN > 16 THEN BEEP : GOTO 490
  50. 500  LOCATE 16,20 : PRINT "Center of Radiation (in feet): "; : COLOR 15 : INPUT "", CR$ : COLOR 7 : CR = VAL(CR$) : IF CR < 1 THEN BEEP : GOTO 500
  51. 510  REM ---------------
  52. 520  REM CALCULATE FIELD
  53. 530  REM ---------------
  54. 540  I = 0
  55. 550  SCREEN 2,0
  56. 560  LOCATE 1,3 : PRINT "100%" : LOCATE 11,3 : PRINT " 50%" : LOCATE 21,3 : PRINT "  0%"
  57. 570  LOCATE 7,1 : PRINT "F" : PRINT : PRINT "I" : PRINT : PRINT "E" : PRINT : PRINT "L" : PRINT : PRINT "D"
  58. 580  LOCATE 24,11 : PRINT "Miles ->               D  I  S  T  A  N  C  E";
  59. 590  LOCATE 18,11 : PRINT "0 to 19"
  60. 600  LOCATE 19,11 : PRINT "Degrees ->"
  61. 610  LINE (69,1)-(69,161)
  62. 620  FOR G = 1 TO 161 STEP 16 : LINE (63,G)-(69,G) : NEXT G
  63. 630  LINE (69,161)-(639,161)
  64. 640  FOR G = 69 TO 639 STEP 30 : LINE (G,158)-(G,161) : NEXT G
  65. 650  FOR G = 69 TO 639 STEP 60 : LINE (G,161)-(G,164) : NEXT G
  66. 660  FOR I = 1 TO 9 : ANGLE = I * 2 : THETA = ANGLE / RADIAN : D(I) = CR / (5280 * TAN (THETA)) : NEXT I
  67. 670  LOCATE 22,9 : PRINT "0"
  68. 680  LOCATE 22,14 : PRINT USING "##.##"; D(1)
  69. 690  LOCATE 22,23 : PRINT USING "#.##"; D(2)
  70. 700  LOCATE 22,30 : PRINT USING "#.##"; D(3)
  71. 710  LOCATE 22,38 : PRINT USING "#.##"; D(4)
  72. 720  LOCATE 22,45 : PRINT USING "#.##"; D(5)
  73. 730  LOCATE 22,53 : PRINT USING "#.##"; D(6)
  74. 740  LOCATE 22,60 : PRINT USING "#.##"; D(7)
  75. 750  LOCATE 22,68 : PRINT USING "#.##"; D(8)
  76. 760  LOCATE 22,75 : PRINT USING "#.##"; D(9)
  77. 770  LOCATE 2,58 : PRINT N; "Bays vs."; NN; "Bays"
  78. 780  LOCATE 3,59 : PRINT "Height ="; CR; "ft."
  79. 790  I = 0 : FOR ANGLE = 0.25 TO 19 STEP 0.25 : I = I + 1
  80. 800  THETA = ANGLE / RADIAN
  81. 810  B = SIN (THETA)
  82. 820  E(I) = (SIN (N * PI * B)) / (N * SIN (PI * B))
  83. 830  EE(I) = (SIN (NN * PI * B)) / (NN * SIN (PI * B))
  84. 840  D(I) = CR / (5280 * TAN (THETA))
  85. 850  X = CINT((ANGLE * 30) + 69)
  86. 860  Y = 161 - ABS(CINT(E(I) * 160))
  87. 870  YY = 161 - ABS(CINT(EE(I) * 160))
  88. 880  PSET (X,Y) : PSET (X,YY)
  89. 890  NEXT ANGLE
  90. 900  LOCATE 4,59 : PRINT "Press Any Key for Menu"
  91. 910  A$ = INPUT$(1)
  92. 920  SCREEN 0
  93. 930  GOTO 150
  94. 940  REM ------------
  95. 950  REM PRINT HEADER
  96. 960  REM ------------
  97. 970  GOSUB 2230
  98. 980  WIDTH "LPT1:",150
  99. 990  LPRINT PITCH$; LPI$; TAB(25 + TB) "R  E  L  A  T  I  V  E     F  I  E  L  D     S  T  R  E  N  G  T  H"
  100. 1000  LPRINT TAB(TB) "DEPRESSION"
  101. 1010  LPRINT TAB(TB) "  ANGLE  0%       10%       20%       30%       40%       50%       60%       70%       80%       90%      100%"
  102. 1020  LPRINT TAB(TB) "    0`   +----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----* MILES"
  103. 1030  FOR I = 1 TO 75
  104. 1040  E = ABS(CINT(E(I) * 100))
  105. 1050  EE = ABS(CINT(EE(I) * 100))
  106. 1060  DEGREE = I / 4
  107. 1070  IF E < EE THEN GOSUB 1170
  108. 1080  IF E > EE THEN GOSUB 1280
  109. 1090  IF E = EE THEN GOSUB 1390
  110. 1100  NEXT I
  111. 1110  LPRINT TAB(3 + TB); : LPRINT USING "##`"; DEGREE; : LPRINT TAB(9 + TB) "+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+"; : LPRINT USING " ##.##";D(76)
  112. 1120  LPRINT TAB(TB) "  ANGLE  0%       10%       20%       30%       40%       50%       60%       70%       80%       90%      100%"
  113. 1130  LPRINT FORMFEED$
  114. 1140  LPRINT NORMAL$
  115. 1150  GOTO 150
  116. 1160  REM ------------------------------------------------------------
  117. 1170  REM PRINT DATA LINE IF FIELD OF ANTENNA 2 GREATER THAN ANTENNA 1
  118. 1180  REM ------------------------------------------------------------
  119. 1190  IF DEGREE - INT (DEGREE) = 0 THEN LPRINT TAB(3 + TB); : LPRINT USING "##`"; DEGREE; : LPRINT TAB(9 + TB) "+"; : GOTO 1220
  120. 1200  IF E = 0 OR EE = 0 THEN GOTO 1230
  121. 1210  LPRINT TAB(9 + TB) "!";
  122. 1220  IF I < 13 THEN GOSUB 1520
  123. 1230  LPRINT TAB(9 + E + TB) "*"; TAB(9 + EE + TB) "+";
  124. 1240  IF E = 100 OR EE = 100 THEN RETURN
  125. 1250  IF DEGREE - INT(DEGREE) = 0 THEN LPRINT TAB(109 + TB); : LPRINT USING "+ ##.##";D(I) : RETURN
  126. 1260  LPRINT TAB(109 + TB) "!" : RETURN
  127. 1270  REM ------------------------------------------------------------
  128. 1280  REM PRINT DATA LINE IF FIELD OF ANTENNA 1 GREATER THAN ANTENNA 2
  129. 1290  REM ------------------------------------------------------------
  130. 1300  IF DEGREE - INT (DEGREE) = 0 THEN LPRINT TAB(3 + TB); : LPRINT USING "##`"; DEGREE; : LPRINT TAB(9 + TB) "+"; : GOTO 1330
  131. 1310  IF E = 0 OR EE = 0 THEN GOTO 1340
  132. 1320  LPRINT TAB(9 + TB) "!";
  133. 1330  IF I < 13 THEN GOSUB 1520
  134. 1340  LPRINT TAB(9 + EE + TB) "+"; TAB(9 + E + TB) "*";
  135. 1350  IF E = 100 OR EE = 100 THEN RETURN
  136. 1360  IF DEGREE - INT(DEGREE) = 0 THEN LPRINT TAB(109 + TB); : LPRINT USING "+ ##.##";D(I) : RETURN
  137. 1370  LPRINT TAB(109 + TB) "!" : RETURN
  138. 1380  REM --------------------------------------------------------------
  139. 1390  REM PRINT DATA LINE IF FIELD OF ANTENNA 1 IS THE SAME AS ANTENNA 2
  140. 1400  REM --------------------------------------------------------------
  141. 1410  IF DEGREE - INT (DEGREE) = 0 THEN LPRINT TAB(3 + TB); : LPRINT USING "##`"; DEGREE; : LPRINT TAB(9 + TB) "+"; : GOTO 1440
  142. 1420  IF E = 0 THEN GOTO 1450
  143. 1430  LPRINT TAB(9 +TB) "!";
  144. 1440  IF I < 13 THEN GOSUB 1520
  145. 1450  LPRINT TAB(9 + E + TB) "*";
  146. 1460  IF E = 100 THEN LPRINT : RETURN
  147. 1470  IF DEGREE - INT(DEGREE) = 0 THEN LPRINT TAB(109 + TB); : LPRINT USING "+ ##.##";D(I) : RETURN
  148. 1480  LPRINT TAB(109 + TB) "!" : RETURN
  149. 1490  REM ------------
  150. 1500  REM PRINT TITLES
  151. 1510  REM ------------
  152. 1520  IF I = 3 THEN LPRINT TAB(13 + TB) "VERTICAL RADIATION PATTERN OF FM ANTENNAS";
  153. 1530  IF I = 4 THEN LPRINT TAB(13 + TB) "-----------------------------------------";
  154. 1540  IF I = 5 THEN LPRINT TAB(13 + TB) "(*) = "; STR$(N); "-Bay FM Antenna";
  155. 1550  IF I = 6 THEN LPRINT TAB(13 + TB) "(+) = "; STR$(NN); "-Bay FM Antenna";
  156. 1560  IF I = 8 THEN LPRINT TAB(13 + TB) "Center of Radiation = "; STR$(CR); " feet";
  157. 1570  IF I = 11 THEN LPRINT TAB(13 + TB) "NO NULL FILL";
  158. 1580  IF I = 12 THEN LPRINT TAB(13 + TB) "NO BEAM TILT";
  159. 1590  RETURN
  160. 1600  REM ----------------
  161. 1610  REM CONVERT TO POLAR
  162. 1620  REM ----------------
  163. 1630  FOR I = 12 TO 24 STEP 2 : LOCATE I,1 : PRINT STRING$(79,32); : NEXT I
  164. 1640  LOCATE 12,20 : PRINT "Number of Bays (Antenna 1): "; : COLOR 15 : INPUT "", N$ : COLOR 7 : N = VAL(N$) : IF N < 1 OR N > 16 THEN BEEP : GOTO 1640
  165. 1650  LOCATE 14,20 : PRINT "Number of Bays (Antenna 2): "; : COLOR 15 : INPUT "", NN$ : COLOR 7 : NN = VAL(NN$) : IF NN < 1 OR NN > 16 THEN BEEP : GOTO 1650
  166. 1660  SCREEN 2,0
  167. 1670  LINE (0,0)-(3,199),,B
  168. 1680  LINE (9,5)-(9,23)
  169. 1690  LOCATE 21,23 : PRINT USING "__________ Pattern for ## Bay Antenna";N
  170. 1700  LOCATE 2,15 : PRINT "- - - - - - - - -   HORIZONTAL   - - - - - - - - - - >"
  171. 1710  PSET (612,14)
  172. 1720  FOR ANGLE = 0.25 TO 30 STEP 0.25
  173. 1730  THETA = ANGLE / RADIAN
  174. 1740  B = SIN(THETA)
  175. 1750  R = (SIN (N * PI * B)) / (N * SIN (PI * B))
  176. 1760  XAXIS = ABS(600 * R * COS(THETA)) + 12
  177. 1770  YAXIS = ABS(1000 * R * SIN(THETA)) + 14
  178. 1780  LINE -(XAXIS,YAXIS)
  179. 1790  NEXT ANGLE
  180. 1800  IF NN = N THEN GOTO 1900
  181. 1810  LOCATE 22,23 : PRINT USING "..... Pattern for ## Bay Antenna";NN
  182. 1820  FOR ANGLE = 0.25 TO 30 STEP 0.25
  183. 1830  THETA = ANGLE / RADIAN
  184. 1840  B = SIN(THETA)
  185. 1850  R = (SIN (NN * PI * B)) / (NN * SIN (PI * B))
  186. 1860  XAXIS = ABS(600 * R * COS(THETA)) + 12
  187. 1870  YAXIS = ABS(1000 * R * SIN(THETA)) + 14
  188. 1880  PSET (XAXIS,YAXIS)
  189. 1890  NEXT ANGLE
  190. 1900  LOCATE 24,34 : PRINT "PRESS ANY KEY";
  191. 1910  A$ = INPUT$(1)
  192. 1920  SCREEN 0,0
  193. 1930  N = 0 : NN = 0
  194. 1940  GOTO 160
  195. 1950  REM -----------
  196. 1960  REM PRINT TABLE
  197. 1970  REM -----------
  198. 1980  GOSUB 2230
  199. 1990  WIDTH "LPT1:",150
  200. 2000  LPRINT PITCH$; LPI$;
  201. 2010  LPRINT TAB(TB) "RELATIVE FIELD STRENGTH OF"; N; "BAY AND"; NN; "BAY FM ANTENNAS AT HEIGHT OF"; CR; "FEET."
  202. 2020  LPRINT TAB(TB) "------------------------------------------------------------------------------------"
  203. 2030  LPRINT TAB(TB) "Relative Field is 100% at 0.0` (Horizontal from Antenna).
  204. 2040  LPRINT
  205. 2050  LPRINT TAB(TB + 19) "Relative Field                                   Relative Field"
  206. 2060  LPRINT TAB(TB) "                  -----------------                                -----------------"
  207. 2070  LPRINT TAB(TB) " ANGLE   MILES   "; N; "BAYS   "; NN; "BAYS               ANGLE   MILES   "; N; "BAYS  "; NN; "BAYS"
  208. 2080  LPRINT TAB(TB) "------   -----    -------   -------              ------   -----    -------   -------"
  209. 2090  FOR I = 1 TO 38
  210. 2100  LPRINT TAB(TB); : LPRINT USING "##.##`"; I/4;
  211. 2110  LPRINT TAB(TB + 9); : LPRINT USING "##.##"; D(I);
  212. 2120  LPRINT TAB(TB + 17); : LPRINT USING "###.##"; ABS(E(I) * 100);
  213. 2130  LPRINT TAB(TB + 28); : LPRINT USING "###.##"; ABS(EE(I) * 100);
  214. 2140  LPRINT TAB(TB + 49); : LPRINT USING "##.##`"; (I+38) / 4;
  215. 2150  LPRINT TAB(TB + 58); : LPRINT USING "##.##"; D(I + 38);
  216. 2160  LPRINT TAB(TB + 66); : LPRINT USING "###.##"; ABS(E(I + 38) * 100);
  217. 2170  LPRINT TAB(TB + 76); : LPRINT USING "###.##"; ABS(EE(I + 38) * 100)
  218. 2180  NEXT I
  219. 2190  LPRINT TAB(TB) "------------------------------------------------------------------------------------"
  220. 2200  LPRINT FORMFEED$
  221. 2210  LPRINT NORMAL$
  222. 2220  GOTO 150
  223. 2230  REM ---------------------------
  224. 2240  REM PRINTER INTITIALIZE ROUTINE
  225. 2250  REM ---------------------------
  226. 2260  FOR I = 12 TO 24 STEP 2 : LOCATE I,1 : PRINT STRING$(79,32); : NEXT I
  227. 2270  LOCATE 12,1 : PRINT "Enter Number of Characters for Left Margin of 3/8 Inch (15/inch): "; : INPUT "", TB$ : TB = VAL(TB$) : IF TB < 1 OR TB > 30 THEN BEEP : GOTO 2270
  228. 2280  LOCATE 12,1 : PRINT CL$ : LOCATE 12,1 : PRINT "Enter Number of Lines for Top Margin of 1/4 Inch (8 Lines/Inch): "; : INPUT "", TM$ : TM = VAL (TM$)
  229. 2290  LOCATE 12,1 : PRINT CL$ : LOCATE 12,1 :  PRINT "Printer: (1)-Brother/Diablo (2)-QuietWriter (3)-Epson (4)-Tandy (5)-LaserJet "; : INPUT "", PT$ : PT = VAL (PT$) : IF PT < 1 OR PT > 5 THEN BEEP : GOTO 2290
  230. 2300  ON PT GOSUB 2380, 2390, 2400, 2410, 2420
  231. 2310  LOCATE 12,1 : PRINT CL$ : LOCATE 12,4 : PRINT "PREPARE PRINTER - PRESS <ESC> ABORT or ANY OTHER KEY TO START PRINTING"; : A$ = INPUT$(1) : IF A$ = CHR$(27) THEN LOCATE 12,1 : PRINT CL$ : GOTO 150
  232. 2320  IF TM < 1 THEN GOTO 2330 ELSE FOR I = 1 TO TM : LPRINT : NEXT I
  233. 2330  RETURN
  234. 2340  REM --------------------------------------------------------------------
  235. 2350  REM PRINTER CODES FOR BROTHER (DIABLO) - IBM QUIETWRITER - EPSON - TANDY
  236. 2360  REM PITCH$ = 15-17 PITCH    LPI$ = 8 LINES/INCH   NORMAL$ = NORMAL SPACING
  237. 2370  REM --------------------------------------------------------------------
  238. 2380  PITCH$ = CHR$(27) + CHR$(31) + CHR$(9) : NORMAL$ = CHR$(27) + CHR$(83) : LPI$ = CHR$(27) + CHR$(30) + CHR$(7) : RETURN 'Printer Codes for Brother/Dynex (Diablo)
  239. 2390  PITCH$ = CHR$(27) + CHR$(15) : NORMAL$ = CHR$(18) + CHR$(27) + CHR$(49) : LPI$ = CHR$(27) + CHR$(48) : RETURN 'Printer Codes for IBM QuietWriter
  240. 2400  PITCH$ = CHR$(15) : NORMAL$ = CHR$(64) : LPI$ = CHR$(27) + CHR$(48) : RETURN 'Printer Codes for Epson
  241. 2410  PITCH$ = CHR$(27) + CHR$(4) : NORMAL$ = CHR$(27) + CHR$(33) + CHR$(6) : LPI$ = "" : RETURN 'Printer Codes for Tandy Daisy Wheel Printer II (BOLD$ is Underlining for Tandy - No Code for 8 Lines per Inch)
  242. 2420  PITCH$ = CHR$(27) + CHR$(40) + CHR$(115) + CHR$(49) + CHR$(53) + CHR$(72): BOLD$ = CHR$(27) + CHR$(40) + CHR$(115) + CHR$(51) + CHR$(66) :LPI$ = CHR$(27) + CHR$(38) + CHR$(108) + CHR$(56) + CHR$(68)
  243. 2430  NORMAL$ = CHR$(27) + CHR$(40) + CHR$(115) + CHR$(49) + CHR$(48) + CHR$(72) + CHR$(27) + CHR$(40) + CHR$(115) + CHR$(48) + CHR$(66) + CHR$(27) + CHR$(38) + CHR$(108) + CHR$(54) + CHR$(68): RETURN 'Printer Codes for LaserJet
  244.