5 DEFDBL A-Z 10 '=>A combination of programs; POWLEY COMPUTER portion written by Walter F. Auch, 133 Platts Mill Road, Naugatuck CT 06770 with the kind help of Mr. H. S. Powley; Ballistics portion by Mr. William C. Davis, American Rifleman Staff. <= 20 CLS : PRINT "This program will allow you to design and/or optimize a rifle cartridge." 30 PRINT : PRINT "In the 'POWLEY COMPUTER', an IMR series powder is selected for a given case and bullet weight. H.S. Powley's equations are used for this selection process." 40 PRINT : PRINT "A load/powder combination marked with a `*' has been adjusted for the use of an available powder as the calculated powder does not exist at this time." 50 PRINT : PRINT : PRINT "All calculations are based on approximately 45000 PSI of pressure."; : PRINT "Although you may be able to exceed predicted results (using HIGHER PRESSURES), the relative results should be consistant." 60 PRINT : PRINT "==>NOTE: THE RESULTS OF THIS PROGRAM ARE THEORETICAL AND AS SUCH SHOULD BE CHECKED AGAINST A RELIABLE RELOADING MANUAL!!<==" 70 PRINT : PRINT : PRINT : PRINT "Hit any key to continue" 80 A$ = INKEY$: IF A$ = "" THEN 80 90 N3$ = "#.####": N2$ = "###.#": N1$ = "####": N$ = ".###": A = .86: B = 45000!: EE = .618: FF = 7000: HH = .6: I = 198.6: J = 74442384#: M = 3: P = 10: AA = 1: AB = 2: AC = -.25: AG = 32.2: AI = .8: AH = 0: CLS 100 AH = 0: A$ = "": B$ = "": CLS 110 PRINT "Run Exterior Ballistics (B),": PRINT " or": PRINT "Powley Calculator (Enter)": PRINT : PRINT : INPUT A$: IF LEFT$(A$, 1) = "b" OR LEFT$(A$, 1) = "B" THEN CLS : GOSUB 160: GOTO 510 120 GOSUB 140: GOSUB 150: GOSUB 160: GOSUB 170: GOSUB 180: GOTO 190 130 GOTO 80 140 CLS : INPUT "Bore diameter in inches"; DD: RETURN 150 INPUT "Case capacity in grains of water"; C: RETURN 160 INPUT "Weight of bullet in grains"; G: RETURN 170 INPUT "Ballistic coefficient"; C1: RETURN 180 INPUT "Effective barrel length"; BL: RETURN 190 ZWH = A * C: AH = 0 200 AH = AH + 1 210 D = ZWH / C 220 W = G / FF 230 GOSUB 470 240 RR = AA + (I * (DD ^ AB) * BL / C) 250 IF K < 9700 THEN GOSUB 430: PRINT " A (Slowest) powder ": GOSUB 2340: GOTO 480 260 IF K < 10700 THEN GOSUB 430: PRINT "IMR 5010 powder ": GOSUB 2340: GOTO 480 270 IF K < 118000! THEN ZWH = (.05 * ZWH): GOSUB 430: PRINT "IMR 5010 powder* ": GOSUB 2340: GOTO 480 280 IF K < 130000! THEN ZWH = (ZWH - (.05 * ZWH)): GOSUB 430: PRINT "IMR 4831 powder* ": GOSUB 300: GOTO 480 290 IF K < 142000! THEN GOSUB 430: PRINT "IMR 4831 powder ": GOSUB 2340: GOTO 480 300 IF K < 156000! THEN GOSUB 430: PRINT "IMR 4350 powder ": GOSUB 2340: GOTO 480 310 IF K < 167000! THEN ZWH = ZWH + (.05 * ZWH): GOSUB 430: PRINT "IMR 4350 powder* ": GOSUB 2340: GOTO 480 320 IF K < 185000! THEN GOSUB 430: PRINT "IMR 4320 powder ": GOSUB 2340: GOTO 480 330 IF K = 185000! THEN GOSUB 430: PRINT "IMR 4895 powder ": GOSUB 2340: GOTO 480 340 IF K < 205000! THEN GOSUB 430: PRINT "IMR 4064 powder ": GOSUB 2340: GOTO 480 350 IF K < 217000! THEN ZWH = ZWH + (.04 * ZWH): GOSUB 430: PRINT "IMR 4064 powder* ": GOSUB 2340: GOTO 480 360 IF K < 237000! THEN GOSUB 430: PRINT "IMR 3031 powder ": GOSUB 2340: GOTO 480 370 IF K < 256000! THEN ZWH = ZWH + (.05 * ZWH): GOSUB 430: PRINT "IMR 3031 powder* ": GOSUB 2340: GOTO 480 380 IF K < 282000! AND AH = 1 THEN ZWH = AI * C: GOTO 200 390 IF K < 282000! THEN GOSUB 430: PRINT "IMR 4198 powder": GOSUB 2340: GOTO 480 400 IF K <= 310000! AND AH = 1 THEN ZWH = AI * C: GOTO 200 410 IF K <= 310000! THEN GOSUB 430: PRINT "IMR 4227 powder": GOSUB 2340: GOTO 480 420 IF K > 310000! THEN GOSUB 430: PRINT "G (fastest) powder; Consult a Reloading Manual. ": GOSUB 2340: GOTO 480 430 PRINT "Caliber"; : PRINT TAB(38); : PRINT USING N$; DD: PRINT "Bullet Weight (Grains)"; : PRINT TAB(34); : PRINT USING N1$; G 440 PRINT "Ballistic Coefficient (C1) "; : PRINT USING N$; C1: PRINT "Case Capacity = "; C: PRINT "Barrel Length = "; BL: PRINT "Sectional Density = "; : PRINT USING N$; W / DD ^ 2!: PRINT "Sectional Density = "; : PRINT USING N$; W / DD ^ 2 450 PRINT : PRINT "Powley Calculator suggests "; : PRINT USING "##.#"; ZWH; : PRINT " grains "; 460 PRINT : PRINT "Powley Calculator suggests "; : PRINT USING "##.#"; ZWH; : PRINT " grains "; : RETURN 470 K = B * (1! - EE * D) / ((W / DD ^ 2!) * (ZWH / G) ^ HH): RETURN 480 VV = J * (AA - (RR ^ AC)) * D * ZWH / (G + (M * ZWH) / P) 490 V = INT(SQR(VV) + .49): GOTO 540 500 RETURN 510 INPUT "Ballistic Coefficient (C1)"; C1 520 INPUT "Muzzle velocity (FPS)"; V 530 IF V < 300 OR V > 4500 THEN PRINT "Velocity is out of range of program.": GOTO 60 540 PRINT : INPUT "Standard metro (Yes or No)"; Q7$: IF LEFT$(Q7$, 1) = "Y" OR LEFT$(Q7$, 1) = "y" THEN Q7 = 1 ELSE Q7 = 2 550 IF Q7 = 1 THEN RO = 1: AL = 0: TF = 59: GOTO 570 560 IF Q7 <> 1 THEN GOSUB 2280 570 INPUT "Height of sight above bore (Inches)"; H 580 IF V >= 300 AND V < 400 THEN GOSUB 1280 590 IF V >= 400 AND V < 500 THEN GOSUB 1290 600 IF V >= 500 AND V < 600 THEN GOSUB 1300 610 IF V >= 600 AND V < 700 THEN GOSUB 1310 620 IF V >= 700 AND V < 800 THEN GOSUB 1320 630 IF V >= 800 AND V < 900 THEN GOSUB 1330 640 IF V >= 900 AND V < 1000 THEN GOSUB 1340 650 IF V >= 1000 AND V < 1050 THEN GOSUB 1350 660 IF V >= 1050 AND V < 1075 THEN GOSUB 1360 670 IF V >= 1075 AND V < 1100 THEN GOSUB 1370 680 IF V >= 1100 AND V < 1110 THEN GOSUB 1380 690 IF V >= 1110 AND V < 1120 THEN GOSUB 1390 700 IF V >= 1120 AND V < 1130 THEN GOSUB 1400 710 IF V >= 1130 AND V < 1150 THEN GOSUB 1410 720 IF V >= 1150 AND V < 1250 THEN GOSUB 1420 730 IF V >= 1250 AND V < 1500 THEN GOSUB 1430 740 IF V >= 1500 AND V < 2000 THEN GOSUB 1440 750 IF V >= 2000 AND V < 2500 THEN GOSUB 1450 760 IF V >= 2500 AND V < 3000 THEN GOSUB 1460 770 IF V >= 3000 AND V < 3500 THEN GOSUB 1470 780 IF V >= 3500 AND V < 4000 THEN GOSUB 1480 790 IF V >= 4000 AND V <= 4500 THEN GOSUB 1490 800 SV = AX + BS * (V - VB) + CS * (V - VB) ^ 2 810 TV = AT + BT * (V - VB) + CT * (V - VB) ^ 2 820 SU = SV + X / (C1 / RO) 830 IF SU > 43041! THEN PRINT "Remaining velocity is out of range of program.": FOR NO = 0 TO 2500: NEXT: NO = 0: GOTO 1910 840 IF SU <= 43041! AND SU > 36664.2 THEN GOSUB 1280 850 IF SU <= 36664.2 AND SU > 31488.6 THEN GOSUB 1290 860 IF SU <= 31488.6 AND SU > 27124.6 THEN GOSUB 1300 870 IF SU <= 27124.6 AND SU > 23415.1 THEN GOSUB 1310 880 IF SU <= 23415.1 AND SU > 20325.5 THEN GOSUB 1320 890 IF SU <= 20325.5 AND SU > 17879.9 THEN GOSUB 1330 900 IF SU <= 17879.9 AND SU > 16095.6 THEN GOSUB 1340 910 IF SU <= 16095.6 AND SU > 15433.3 THEN GOSUB 1350 920 IF SU <= 15433.3 AND SU > 15150.3 THEN GOSUB 1360 930 IF SU <= 15150.3 AND SU > 14894.3 THEN GOSUB 1370 940 IF SU <= 14894.3 AND SU > 14798.5 THEN GOSUB 1380 950 IF SU <= 14798.5 AND SU > 14706.2 THEN GOSUB 1390 960 IF SU <= 14706.2 AND SU > 14616.9 THEN GOSUB 1400 970 IF SU <= 14616.9 AND SU > 14447! THEN GOSUB 1410 980 IF SU <= 14447! AND SU > 13720.5 THEN GOSUB 1420 990 IF SU <= 13720.5 AND SU > 12330.3 THEN GOSUB 1430 1000 IF SU <= 12330.3 AND SU > 10168.1 THEN GOSUB 1440 1010 IF SU <= 10168.1 AND SU > 8332.83 THEN GOSUB 1450 1020 IF SU <= 8332.83 AND SU > 6699.05 THEN GOSUB 1460 1030 IF SU <= 6699.05 AND SU > 5245.45 THEN GOSUB 1470 1040 IF SU <= 5245.45 AND SU > 3958.11 THEN GOSUB 1480 1050 IF SU <= 3958.11 AND SU > 2812.29 THEN GOSUB 1490 1060 U = VB + (-BS - SQR(BS ^ 2 - 4 * CS * (AX - SU))) / (2 * CS) 1070 EN = U ^ 2 * G / 450400! 1080 F = 14.0069 + 6.59285 * ((U / V) - .65) - 1.94051 * ((U / V) - .65) ^ 2 1090 TU = AT + BT * (U - VB) + CT * (U - VB) ^ 2 1100 T = (C1 / RO) * (TU - TV) 1110 D = 12 * F * T ^ 2 1120 YM = 12 * 4.05 * T ^ 2 1130 DF = 176 * (T - X / V) 1140 IF X = 0 THEN E = H ELSE E = (D + H) / (X / 300) 1150 IF Q1 = 2 AND Q3 = 1 THEN E2 = E: GOTO 2070 1160 HM = YM - .4 * H 1170 IF HM < 0 THEN HM = 0 1180 IF X = 0 THEN T = 0: D = 0: YM = 0: HM = -H 1190 IF Q1 = 2 THEN GOTO 1770 1200 IF Q1 = 1 THEN GOTO 1650 1210 CLS : PRINT "What is your choice?" 1220 PRINT "1 = Range table in yards" 1230 PRINT "2 = Detailed trajectory data at one range in yards" 1240 INPUT Q1 1250 IF Q1 = 1 THEN GOTO 1500 1260 IF Q1 = 2 THEN GOTO 1750 1270 GOTO 1210 1280 VB = 350: AX = 39663!: BS = -63.768: CS = .0758391: AT = 49.669: BT = -.1845: CT = 4.82396E-04: RETURN 1290 VB = 450: AX = 33958.1: BS = -51.756: CS = .0473157: AT = 35.269: BT = -.115879: CT = 2.34824E-04: RETURN 1300 VB = 550: AX = 29218.7: BS = -43.64: CS = .035161: AT = 25.7322: BT = -.079629: CT = 1.36695E-04: RETURN 1310 VB = 650: AX = 25192: BS = -37.095: CS = .0311391: AT = 18.9904: BT = -.057305: CT = 9.20586E-05: RETURN 1320 VB = 750: AX = 21792: BS = -30.896: CS = .0313196: AT = 14.1144: BT = -.041349: CT = 6.9381E-05: RETURN 1330 VB = 850: AX = 19020.1: BS = -24.4588: CS = .0330303: AT = 10.6366: BT = -.0288527: CT = 5.58719E-05: RETURN 1340 VB = 950: AX = 16906.5: BS = -17.8388: CS = .0325134: AT = 8.27886: BT = -.01884: CT = 4.41677E-05: RETURN 1350 VB = 1025: AX = 15747.2: BS = -13.2423: CS = .0276581: AT = 7.10211: BT = -.0129298: CT = 3.32035E-05: RETURN 1360 VB = 1062.5: AX = 15288.1: BS = -11.3183: CS = .023346: AT = 6.66207: BT = -.0106524: CT = 2.68757E-05: RETURN 1370 VB = 1087.5: AX = 15019.2: BS = -10.2383: CS = .0199585: AT = 6.41183: BT = -9.41688E-03: CT = 2.2611E-05: RETURN 1380 VB = 1105: AX = 14846: BS = -9.58136: CS = .0164795: AT = 6.25378: BT = -8.66849E-03: CT = 2.0396E-05: RETURN 1390 VB = 1115: AX = 14751.9: BS = -9.231361: CS = .0165939: AT = 6.16907: BT = -8.28369E-03: CT = 1.83284E-05: RETURN 1400 VB = 1125: AX = 14661.2: BS = -8.930021: CS = .0147629: AT = 6.08802: BT = -7.93184E-03: CT = 1.70991E-05: RETURN 1410 VB = 1140: AX = 14530.6: BS = -8.482001: CS = .0116909: AT = 5.97274: BT = -7.45342E-03: CT = 1.50953E-05: RETURN 1420 VB = 1200: AX = 14062.5: BS = -7.2568: CS = 8.500010000000001D-03: AT = 5.57228: BT = -.006058: CT = 9.6174E-06: RETURN 1430 VB = 1375: AX = 12977.5: BS = -5.5464: CS = .00306207#: AT = 4.72557: BT = -4.05656E-03: CT = 3.72586E-06: RETURN 1440 VB = 1750: AX = 11189.1: BS = -4.31589: CS = .000960342#: AT = 3.56969: BT = -2.49074E-03: CT = 1.27366E-06: RETURN 1450 VB = 2250: AX = 9222.059: BS = -3.66916: CS = .00045401#: AT = 2.57801: BT = -.0016391: CT = 5.68494E-07: RETURN 1460 VB = 2750: AX = 7492.73: BS = -3.26733: CS = .000371407#: AT = 1.88267: BT = -.0011924: CT = 3.52828E-07: RETURN 1470 VB = 3250: AX = 5950.45: BS = -2.90704: CS = .000348885#: AT = 1.36656: BT = -8.97071E-04: CT = 2.45908E-07: RETURN 1480 VB = 3750: AX = 4582.38: BS = -2.57414: CS = .000310524#: AT = .974457: BT = -6.880031E-04: CT = 1.74925E-07: RETURN 1490 VB = 4250: AX = 3369.09: BS = -2.29123: CS = .000257709#: AT = .670381: BT = -5.40083E-04: CT = 1.24357E-07: RETURN 1500 INPUT "Maximum range for table (Yards)"; MR: MX = 3 * MR 1510 INPUT "Range increment for table (Yards)"; IR: IX = 3 * IR 1520 INPUT "Do you want hardcopy (Yes or No)"; Q6$: IF LEFT$(Q6$, 1) = "Y" OR LEFT$(Q6$, 1) = "y" THEN Q6 = 1 ELSE Q6 = 2 1530 IF Q6 = 1 THEN PRINT "Ballistic Coefficient (C1):"; : PRINT USING N$; C1; : PRINT " Bullet weight (Grains):"; G 1540 IF Q6 = 1 AND Q7 = 2 THEN PRINT "Gun altitude (FT):"; AL; " Temperature (Deg-F):"; TF: PRINT 1550 IF Q6 = 1 AND Q7 <> 2 THEN PRINT TAB(20); "Standard Metro": PRINT 1560 CLS 1570 PRINT "Ballistic Coefficient (C1):"; C1; " Bullet Weight (Grs):"; G 1580 IF Q7 = 2 THEN PRINT "Gun altitude (FT):"; AL; " Temperature (Deg-F):"; TF: PRINT 1590 IF Q7 <> 2 THEN PRINT TAB(20); "Standard Metro": PRINT 1600 PRINT "Range"; TAB(8); "Rem"; TAB(16); "Rem"; TAB(24); "Total"; TAB(32); "Elev-"; TAB(40); "Max"; TAB(48); "Defl. in" 1610 IF Q6 = 1 THEN PRINT "Range"; TAB(8); "Rem"; TAB(16); "Rem"; TAB(24); "Total"; TAB(32); "Elev-"; TAB(40); "Max"; TAB(48); "Defl. in" 1620 PRINT "Yards"; TAB(8); "Vel"; TAB(16); "Energy"; TAB(24); "Drop"; TAB(32); " ation"; TAB(40); "Height"; TAB(48); "10 MPH wind" 1630 IF Q6 = 1 THEN PRINT "Yards"; TAB(8); "Vel"; TAB(16); "Energy"; TAB(24); "Drop"; TAB(32); " ation"; TAB(40); "Height"; TAB(48); "10 MPH wind" 1640 X = 0: GOTO 820 1650 IF X = 0 THEN T = 0: D = 0: E = 0: HM = -H 1660 PRINT X / 3; : PRINT TAB(8); : PRINT USING N1$; U; : PRINT TAB(16); : PRINT USING N1$; EN; : PRINT TAB(24); : PRINT USING N2$; D; : PRINT TAB(32); : PRINT USING N2$; E; : PRINT TAB(40); : PRINT USING N2$; HM; : PRINT TAB(48); : PRINT USING N2$; DF 1670 IF Q6 = 1 THEN PRINT X / 3; : PRINT TAB(8); : PRINT USING N1$; U; : PRINT TAB(16); : PRINT USING N1$; EN; : PRINT TAB(24); : PRINT USING N2$; D; : PRINT TAB(32); : PRINT USING N2$; E; : PRINT TAB(40); : PRINT USING N2$; HM; : PRINT TAB(48); : PRINT USING N2$; DF 1680 X = X + IX 1690 IF X > MX THEN GOTO 1710 1700 GOTO 820 1710 PRINT 1720 IF Q6 = 1 THEN PRINT 1730 INPUT "Continue (Yes or No)"; Q2$: IF LEFT$(Q2$, 1) = "Y" OR LEFT$(Q2$, 1) = "y" THEN Q2 = 1: X = 0: GOTO 1210 1740 PRINT CHR$(140): END 1750 INPUT "Enter the range (Yards)"; R: X = 3 * R: CLS 1760 GOTO 820 1770 PRINT "Bullet weight (GRS):"; G; TAB(30); "Std. Ballistic Coeff. (C1):"; C1 1780 IF Q7 = 2 THEN PRINT "Gun altitude (Ft):"; AL; TAB(30); "Temperature (Deg-F):"; TF: PRINT 1790 IF Q7 <> 2 THEN PRINT TAB(20); "Standard Metro": PRINT 1800 PRINT "Muzzle Velocity (FPS):"; TAB(49); : PRINT USING N1$; V 1810 PRINT "Range (Yards):"; TAB(49); : PRINT USING N1$; R 1820 PRINT "Remaining velocity (FPS)"; TAB(49); : PRINT USING N1$; U 1830 PRINT "Remaining Energy (FT-LBS):"; TAB(49); : PRINT USING N1$; EN 1840 PRINT "Time of flight (Sec):"; TAB(52); : PRINT USING N3$; T 1850 PRINT "Total drop (Inches):"; TAB(50); : PRINT USING N2$; D 1860 PRINT "Max height above sight line (Inches):"; TAB(50); : PRINT USING N2$; HM 1870 PRINT "Elevation required (MOA):"; TAB(50); : PRINT USING N2$; E 1880 PRINT "Deflection for 10-MPH crosswind (Inches):"; TAB(50); : PRINT USING N2$; DF: PRINT 1890 INPUT "Copy this (Yes or No)"; Q6$: IF LEFT$(Q6$, 1) = "Y" OR LEFT$(Q6$, 1) = "y" THEN Q6 = 1 ELSE Q6 = 2 1900 IF Q6 = 1 THEN GOSUB 2150 1910 CLS : PRINT "What next?": PRINT "1. Bullet path at other ranges with this zeroing range": PRINT "2. New muzzle velocity": PRINT "3. New range": PRINT "4. More options": PRINT "5. END program": PRINT "6. New bore or case": INPUT Q3 1920 IF Q3 = 4 THEN X = 0: GOTO 1210 1930 IF Q3 = 1 THEN GOTO 1980 1940 IF Q3 = 2 THEN GOTO 520 1950 IF Q3 = 3 THEN GOTO 1750 1960 IF Q3 = 6 THEN RUN 90 1970 IF Q3 = 5 THEN CLS : END ELSE 1910 1980 E1 = E: R1 = X / 3 1990 INPUT "Do you want hard copy (Yes or No)"; Q6$: IF LEFT$(Q6$, 1) = "Y" OR LEFT$(Q6$, 1) = "y" THEN Q6 = 1 ELSE Q6 = 2 2000 IF Q1 = 2 AND Q3 = 1 THEN INPUT "Enter the maximum range for the table in yards"; MR: MX = 3 * MR 2010 IF Q1 = 2 AND Q3 = 1 THEN INPUT "Enter the range increment in yards"; DR: DX = 3 * DR: CLS 2020 IF Q1 = 2 AND Q3 = 1 THEN PRINT ; "Range"; TAB(10); "Velocity"; TAB(22); "Bullet path from sight line"; TAB(52); "10-MPH wind" 2030 IF Q6 = 1 AND Q1 = 2 AND Q3 = 1 THEN PRINT ; "Range"; TAB(10); "Velocity"; TAB(22); "Bullet path from sight line"; TAB(52); "10-MPH wind" 2040 IF Q1 = 2 AND Q3 = 1 THEN PRINT ; "Yards"; TAB(10); "FPS"; TAB(25); "MOA"; TAB(40); "Inches"; TAB(55); "Inches" 2050 IF Q6 = 1 AND Q1 = 2 AND Q3 = 1 THEN PRINT ; "Yards"; TAB(12); "FPS"; TAB(27); "MOA"; TAB(40); "Inches"; TAB(53); "Inches" 2060 X = DX: R2 = X / 3: GOTO 820 2070 PRINT ; R2; TAB(11); : PRINT USING N1$; U; : PRINT TAB(25); : PRINT USING N2$; INT(10 * (E1 - E2) + .49) / 10; : PRINT TAB(40); : PRINT USING N2$; INT(10 * (E1 - E2) * (R2 / 100) + .49) / 10; : PRINT TAB(53); : PRINT USING N2$; DF 2080 IF Q6 = 1 THEN PRINT ; R2; TAB(11); : PRINT USING N1$; U; : PRINT TAB(25); : PRINT USING N2$; INT(10 * (E1 - E2) + .49) / 10; : PRINT TAB(40); : PRINT USING N2$; INT(10 * (E1 - E2) * (R2 / 100) + .49) / 10; : PRINT TAB(53); : PRINT USING N2$; DF 2090 IF X >= MX THEN GOTO 2110 2100 X = X + DX: R2 = X / 3: GOTO 820 2110 IF Q6 = 1 THEN PRINT 2120 INPUT "Continue (Yes or No)"; Q6$: IF LEFT$(Q6$, 1) = "N" OR LEFT$(Q6$, 1) = "n" THEN PRINT CHR$(140): END 2130 IF QC = 2 THEN PRINT CHR$(140): END 2140 CLS : X = 0: Q1 = 0: Q2 = 0: Q3 = 0: R1 = 0: R2 = 0: GOTO 1210 2150 PRINT "Bullet weight (GRS):"; G; TAB(30); "Std. Ballistic Coeff. (C1):"; : PRINT USING N$; C1 2160 IF Q7 = 2 THEN PRINT "Gun altitude (Ft):"; AL; TAB(32); "Temperature (Deg-F):"; TF: PRINT 2170 IF Q7 <> 2 THEN PRINT TAB(20); "Standard Metro": PRINT 2180 PRINT "Muzzle Velocity (FPS):"; TAB(49); : PRINT USING N1$; V 2190 PRINT "Range (Yards):"; TAB(49); : PRINT USING N1$; R 2200 PRINT "Remaining velocity (FPS)"; TAB(49); : PRINT USING N1$; U 2210 PRINT "Remaining Energy (FT-LBS):"; TAB(49); : PRINT USING N1$; EN 2220 PRINT "Time of flight (Sec):"; TAB(52); : PRINT USING N3$; T 2230 PRINT "Total drop (Inches):"; TAB(50); : PRINT USING N2$; D 2240 PRINT "Max height above sight line (Inches):"; TAB(50); : PRINT USING N2$; HM 2250 PRINT "Elevation required (MOA):"; TAB(50); : PRINT USING N2$; E 2260 PRINT "Deflection for 10-MPH crosswind (Inches):"; TAB(50); : PRINT USING N2$; DF: PRINT 2270 RETURN 2280 INPUT "Enter altitude at gun (Ft)"; AL 2290 INPUT "Enter temperature (Deg-F)"; TF 2300 AF = 1! - 3.59596E-05 * AL + 4.7741E-10 * AL ^ 2 2310 RF = 518.67 / (459.67 + TF) 2320 RO = AF * RF 2330 RETURN 2340 IF K < 9700 THEN PRINT " A (Slowest) powder ": RETURN 2350 IF K < 10700 THEN PRINT "IMR 5010 powder ": RETURN 2360 IF K < 118000! THEN ZWH = (.05 * ZWH): PRINT "IMR 5010 powder* ": RETURN 2370 IF K < 130000! THEN ZWH = (ZWH - (.05 * ZWH)): PRINT "IMR 4831 powder* ": RETURN 2380 IF K < 142000! THEN PRINT "IMR 4831 powder ": RETURN 2390 IF K < 156000! THEN PRINT "IMR 4350 powder ": RETURN 2400 IF K < 167000! THEN ZWH = ZWH + (.05 * ZWH): PRINT "IMR 4350 powder* ": RETURN 2410 IF K < 185000! THEN PRINT "IMR 4320 powder ": RETURN 2420 IF K = 185000! THEN PRINT "IMR 4895 powder ": RETURN 2430 IF K < 205000! THEN PRINT "IMR 4064 powder ": RETURN 2440 IF K < 217000! THEN ZWH = ZWH + (.04 * ZWH): PRINT "IMR 4064 powder* ": RETURN 2450 IF K < 237000! THEN PRINT "IMR 3031 powder ": RETURN 2460 IF K < 256000! THEN ZWH = ZWH + (.05 * ZWH): PRINT "IMR 3031 powder* ": RETURN 2470 IF K < 282000! THEN PRINT "IMR 4198 powder": RETURN 2480 IF K <= 310000! THEN PRINT "IMR 4227 powder": RETURN 2490 IF K > 310000! THEN PRINT "G (fastest) powder; Consult a Reloading Manual. ": RETURN