Source Code
These source-code files were obtained by digitally photographing
a Solarium 55 (Apollo 6) program listing from the American Computer Museum in
Bozeman, Montana. Photography was by Ron Burkey, with assistance from
museum curator George Keremedjiev and Montana
State University curator Kim Scott. The listing originally belonged to Eldon C. Hall,
who donated it to the museum. Volunteers then manually typed in the
source code or else modified similar pre-existing Colossus 249
(Apollo 9) source files to incorporate changes, although this transcription was
principally done by Jim Lawton and corrected by Ron Burkey.
Notations on the program listing read, in part:YUL SYSTEM FOR AGC4: REVISION 0 OF PROGRAM SOLRUM55 BY NASA 1021108-021 DEC. 4, 1966Note that the date is the date of the printout, not the date of the program revision. Due to statements by Jay Sampson, the original contractor from AC Electronics who created Solarium 54 (Apollo 4) from the earlier Corona (AS-202 mission) program, it is believed that Solarium 54 and Solarium 55 (Apollo 6) are actually identical programs. The change in numbering, from 54 to 55, is believed to be for some administrative purpose. Thus, it is believed that the source-code represented here is equally appropriate for both Apollo 4 and Apollo 6 missions. |
027020,000002: ## Copyright: Public domain.
027021,000003: ## Filename: TIME_OF_FREE-FALL_CALCULATIONS.agc
027022,000004: ## Purpose: Part of the source code for Solarium build 55. This
027023,000005: ## is for the Command Module's (CM) Apollo Guidance
027024,000006: ## Computer (AGC), for Apollo 6.
027025,000007: ## Assembler: yaYUL --block1
027026,000008: ## Contact: Jim Lawton <jim DOT lawton AT gmail DOT com>
027027,000009: ## Website: www.ibiblio.org/apollo/index.html
027028,000010: ## Page Scans: www.ibiblio.org/apollo/ScansForConversion/Solarium055/
027029,000011: ## Mod history: 2009-10-04 JL Created.
027030,000012: ## 2016-08-20 RSB Typos.
027031,000013: ## 2016-12-28 RSB Proofed comment text using octopus/ProoferComments,
027032,000014: ## and fixed errors found.
027033,000015:
Page 682 (empty page) |
027036,000018:
Page 683 |
027038,000020:
027039,000021: # CONIC TIME OF FLIGHT CALCULATION. PROGRAM CALCULATES THE FREE-FALL TIME OF FLIGHT FROM PRESENT POSITION RN
027040,000022: # AND VELOCITY VN TO A RADIUS SPECIFIED BY RTERM, CORRESPONDING TO 280K OR400K FEET ALTITUDE.
027041,000023: # THE POSITION RN MAY BE ON EITHER SIDE OF THE ELLIPSE, BUT RTERM IS CONSIDERED ON THE INBOUND SIDE.
027042,000024:
027043,000025: # THE EQUATION IS TFF = ( DEL E - (Q2-Q1) ) / (ALFA SQRT( ALFA MUE) )
027044,000026:
027045,000027: # AND Q2 = -SQRT( RTERM ALFA (2-RTERM ALFA) -LCP ALFA ) (INBOUND SIDE) LEQ +/- LCE
027046,000028: # - -
027047,000029: # Q1 = RN.VN SQRT(ALFA/MUE) LEQ +/- LCE
027048,000030:
027049,000031: # PROGRAM REQUIREMENTS ON ENTERING.
027050,000032: # 1. PUSHDOWN LIST IS ZEROED
027051,000033: # 2. INPUTS: POSITION RN 2(-24) M, VELOCITY VN 2(-7) M/CS
027052,000034:
027053,000035: # THE PROGRAM EXITS WITH ONE OF THE FOLLOWING IN TFF.
027054,000036: # A. TFF = FLIGHT TIME. NORMAL CASE FOR POSITIVE FLIGHT TIME LESS THAN ONE ORBITAL PERIOD.
027055,000037: # B. TFF=+0. THIS INDICATES THAT THE TRAJECTORY HAS GONE PAST RTERM AND THE PRESENT ALTITUDE IS
027056,000038: # LESS THAN THE SPECIFIED TERMINAL ALTITUDE.
027057,000039: # C. TFF = POSMAX. THIS INDICATES THAT THE ELLIPTICAL CONIC FROM THE PRESENT POSITION WILL NOT
027058,000040: # RETURN TO THE SPECIFIED ALTITUDE.
027059,000041: # THE FOLLOWING QUANTITIES REMAIN IN THE PUSHLIST
027060,000042: # ALFA 2(+21) IN PDL 10D
027061,000043: # (2-RTERM ALFA) 2(-3) IN PDL 6
027062,000044: # RTERM ALFA 2(-3) IN PDL 4
027063,000045: # LCP ALFA 2(-6) IN PDL 2
027064,000046:
027065,000047: # THUS THE CALLING PROGRAM CAN CALCULATE TERMINAL VELOCITY, VTERM, AND COS GAMMA OR SIN GAMMA USING RESIDUE FROM
027066,000048: # CALCTFF.
027067,000049:
027068,000050: # 2
027069,000051: # VTERM (RTERM/MUE) = (2-RTERM ALFA)
027070,000052:
027071,000053: # 2
027072,000054: # SIN GAMMA = 1 - (LCP ALFA / RTERM ALFA(2-RTERM ALFA) )
027073,000055:
027074,000056: # 2
027075,000057: # COS GAMMA = LCP ALFA /(RTERM ALFA (2-RTERM ALFA) )
027076,000058:
027077,000059: # QUANTITIES ARE NORMALIZED BY LCE TO OBTAIN BEST ACCURACY IN COMPUTING, ESPACIALLY FOR SPARCTAN. PROGRAM
027078,000060: # ACCEPTS LCE LEQ 1.0. THE SMALLEST LCE WHICH IS NORMALIZED IS 2(-4), ALTHOUGH THIS MAY BE EXTENDED IF
027079,000061: # DESIRED. (LCE L 2(-3) ALL HAVE SAME SCALING)
027080,000062:
Page 684 |
027082,000064:
027083,000065: # TEMPORARY ERASABLE ASSIGNMENTS FOR TFF COMPUTATIONS PUSHLIST 00 - 19D, X1
027084,000066:
027085,000067: 26,7711 RTERM = 14D
027086,000068:
027087,000069: 31,6000 BANK 31
027088,000070: 31,6000 77576 CALCTFF EXIT 0
027089,000071:
027090,000072: 31,6001 11723 CCS REFSWTCH # SEE IF GROUND DESIRES 280K FF REFERENCE
027091,000073: 31,6002 06006 TC +4 # NO
027092,000074: 31,6003 06006 TC +3
027093,000075: 31,6004 35501 CAF ZERO
027094,000076: 31,6005 06012 TC +5
027095,000077:
027096,000078: 31,6006 36320 CAF NOMBURN # TEST IF ANY NOMINAL BURN (SPS1,SPS2,
027097,000079: 31,6007 70647 MASK FLAGWRD2 # SPS3, SPS4, ARRST) FLAG SET
027098,000080: 31,6010 10000 CCS A
027099,000081: 31,6011 45503 CS TWO
027100,000082: 31,6012 20067 INDEX FIXLOC # X1=-2 FOR 400K FT. AND 0 FOR 280K FT.
027101,000083: 31,6013 50046 TS X1
027102,000084: 31,6014 04000 TC INTPRET
027103,000085: 31,6015 44175 DMOVE* 1
027104,000086: 31,6016 76576 RTB
027105,000087: 31,6017 33607 R280K,1
027106,000088: 31,6020 20265 FRESHPD
027107,000089: 31,6021 32017 STORE RTERM # 2(-24)
027108,000090:
027109,000091: 31,6022 67174 VSQ 2
027110,000092: 31,6023 64722 DMP DMP
027111,000093: 31,6024 63726 TSLT BDSU
027112,000094: 31,6025 00774 VN # VEL 2 (-7)
027113,000095: 31,6026 22307 1/MUE # 2 (+35)
027114,000096: 31,6027 01024 RMAG # 2(-25)
027115,000097: 31,6030 00002 1
027116,000098: 31,6031 06304 DP1/4 # RMAG ALFA 2 (-3) TO PDL 0,1
027117,000099:
027118,000100: 31,6032 47575 NOLOD 1
027119,000101: 31,6033 56712 TSRT DDV
027120,000102: 31,6034 00002 1
027121,000103: 31,6035 01024 RMAG
027122,000104: 31,6036 32013 STORE 10D
027123,000105:
027124,000106: 31,6037 47575 NOLOD 1
027125,000107: 31,6040 73776 BMN
027126,000108: 31,6041 22465 HIECC
027127,000109:
027128,000110: 31,6042 64774 DMP 2
027129,000111: 31,6043 53122 SQRT DMP
027130,000112: 31,6044 57706 TSLC BDDV
027131,000113: 31,6045 00013 10D # ALFA 2(+21)
027132,000114: 31,6046 22311 MUE(37)
Page 685 |
027134,000116: 31,6047 00013 10D # ALFA
027135,000117: 31,6050 00024 19D # -N. SAVE FOR GETTFF1
027136,000118: 31,6051 22313 DP2PI/16
027137,000119: 31,6052 32015 STORE 12D # ORB PERIOD 2PI/ALFA SQRT(ALFA MUE)
027138,000120: # 2(-17-N)
027139,000121: 31,6053 41773 VXV 3
027140,000122: 31,6054 44733 VSLT VSQ
027141,000123: 31,6055 64722 DMP DMP
027142,000124: 31,6056 76576 RTB
027143,000125: 31,6057 00766 RN
027144,000126: 31,6060 00774 VN # MTRS/CS 2(-7)
027145,000127: 31,6061 00002 1
027146,000128: 31,6062 22307 1/MUE # 2(+35)
027147,000129: 31,6063 00013 10D # ALFA 2(+21)
027148,000130: 31,6064 22255 NORMBYE # GET NORM COUNT BASED ON LCE SQ.
027149,000131: # LCP ALFA 2(-6) TO PDL 2,3
027150,000132:
027151,000133: 31,6065 47575 NOLOD 1
027152,000134: 31,6066 66616 DSU BPL
027153,000135: 31,6067 15710 DP.36
027154,000136: 31,6070 22077 LOECC
027155,000137:
027156,000138: 31,6071 66775 DSU 1
027157,000139: 31,6072 73776 BMN
027158,000140: 31,6073 00013 10D
027159,000141: 31,6074 22322 ALFALIM
027160,000142: 31,6075 22465 HIECC
027161,000143:
027162,000144: 31,6076 64776 LOECC DMP 0
027163,000145: 31,6077 00017 RTERM # 2(-24)
027164,000146: 31,6100 00013 10D # ALFA 2(+21)
027165,000147: # RTERM ALFA 2(-3) TO PDL 4,5
027166,000148:
027167,000149: 31,6101 66776 DSU 0
027168,000150: 31,6102 06304 DP1/4
027169,000151: 31,6103 00005 4 # RTERM ALFA 2(-3)
027170,000152: # (2-RTERM ALFA) 2(-3) TO PDL 6,7
027171,000153:
027172,000154: 31,6104 64775 DMP 1
027173,000155: 31,6105 53176 SQRT
027174,000156: 31,6106 00013 10D # ALFA 2(+21)
027175,000157: 31,6107 22307 1/MUE # 2(+35) TO PDL 8,9
027176,000158:
027177,000159: 31,6110 42774 DOT 2
027178,000160: 31,6111 63722 TSLT DMP
027179,000161: 31,6112 76576 RTB
027180,000162: 31,6113 00766 RN
027181,000163: 31,6114 00774 VN # 2(-7)
027182,000164: 31,6115 00002 1
027183,000165: 31,6116 77777 - # LEAVE Q1 2(-3) IN MPAC
Page 686 |
027185,000167: 31,6117 22143 ARGQ1 # SAVE MPAC FOR GONE PAST TEST. , NORMLZE
027186,000168: 31,6120 32011 STORE 8D # Q1 (OR Q1/2 OR 2Q1 OR 4Q1)
027187,000169:
027188,000170: 31,6121 64774 DMP 2 # CALCULATE Q2
027189,000171: 31,6122 66771 DSU RTB
027190,000172: 31,6123 70776 DAD
027191,000173: 31,6124 77777 - # (2-RTERM ALFA) 2(-3) FROM PDL 6,7
027192,000174: 31,6125 77777 - # RTERM ALFA 2(-3) FROM PDL 4,5
027193,000175: 31,6126 77777 - # LCP ALFA 2(-6) FROM PDL 2,3
027194,000176: 31,6127 22155 ARGQ2 # TEST SGN, TAKE ROOT (RT DOT NEG)
027195,000177: # RETURN -Q2 (OR -Q2/2 OR -2Q2 OR -4Q2)
027196,000178: 31,6130 00011 8D # Q1 (AT SIMILAR SCALE)
027197,000179: 31,6131 32011 STORE 8D # Q1-Q2 ( OR /2 OR2 OR4)
027198,000180: # LEQ +/- 2LCE (OR 1 OR 4 OR 8)
027199,000181:
027200,000182: 31,6132 66775 DSU 1
027201,000183: 31,6133 76522 RTB DMP
027202,000184: 31,6134 00007 6 # 2-RTERM ALFA 2(-3)
027203,000185: 31,6135 77777 - # 2-RTERM ALFA-RMAG ALFA 2(-3) IN MPAC
027204,000186: 31,6136 22213 GETTFF # C(MPAC) = DEN 2(-3)
027205,000187: 31,6137 00015 12D # ORB PERIOD 2(-17-N)
027206,000188: 31,6140 33457 STORE TFF
027207,000189: 31,6141 40576 ITCQ 0
027208,000190: 31,6142 20067 ARGQ1 INDEX FIXLOC
027209,000191: 31,6143 20020 INDEX 16D # COUNT BY ONES
027210,000192: 31,6144 34513 CAF BIT4 # EFFECTIVE SH L 3 ( 2 OR 4 OR 5)
027211,000193: 31,6145 05416 TC SHORTMP
027212,000194: 31,6146 30117 XCH MPAC +2 # MOVE UP
027213,000195: 31,6147 30116 XCH MPAC +1
027214,000196: 31,6150 50115 TS MPAC # MPAC IS L .5 AS REQD BY TEST LATER.
027215,000197: 31,6151 20067 INDEX FIXLOC
027216,000198: 31,6152 50022 TS 18D # SAVE FOR GONE PAST TEST.
027217,000199: 31,6153 04024 TC DANZIG
027218,000200:
027219,000201: 31,6154 20067 ARGQ2 INDEX FIXLOC
027220,000202: 31,6155 20021 INDEX 17D # SH L BY 2,S
027221,000203: 31,6156 34510 CAF BIT7 # DO EFFECTIVE SHL 6 (4 OR 8 OR 10)
027222,000204: 31,6157 05416 TC SHORTMP # TP ENTRY , C(MPAC+2) VALID.
027223,000205: 31,6160 35501 CAF ZERO
027224,000206: 31,6161 30117 XCH MPAC +2
027225,000207: 31,6162 30116 XCH MPAC +1
027226,000208: 31,6163 50115 TS MPAC
027227,000209:
027228,000210: 31,6164 10115 CCS MPAC
027229,000211: 31,6165 06177 TC Q2ROOT
027230,000212: 31,6166 06170 TC +2
027231,000213: 31,6167 06202 TC NEGQ2 # NO FREEFALL CONIC TO RTERM FROM HERE.
027232,000214:
027233,000215: 31,6170 10116 CCS MPAC +1 # CK LO WORD. IF NEG, ASSUME ROUNDOFF.
027234,000216: 31,6171 06177 TC Q2ROOT
Page 687 |
027236,000218: 31,6172 04024 TC DANZIG
027237,000219: 31,6173 35501 NOROOT CAF ZERO # NEG ARG FROM ROUNDOFF. SET =0.
027238,000220: 31,6174 50115 TS MPAC
027239,000221: 31,6175 50116 TS MPAC +1
027240,000222: 31,6176 04024 TC DANZIG
027241,000223:
027242,000224: 31,6177 05654 Q2ROOT TC BANKCALL # GO TAKE DP SQRT
027243,000225: 31,6200 07322 CADR SQRT3 # C(MPAC +2) =0
027244,000226: 31,6201 04024 TC DANZIG
027245,000227:
027246,000228: 31,6202 34476 NEGQ2 CAF POSMAX # THIS WILL LEAVE PUSHLOC AT PDL2
027247,000229: 31,6203 51456 TS TFF
027248,000230: 31,6204 51457 TS TFF +1
027249,000231: 31,6205 40067 CS FIXLOC # BUT RESET IT.
027250,000232: 31,6206 40000 COM
027251,000233: 31,6207 50123 TS PUSHLOC
027252,000234:
027253,000235: 31,6210 04000 TC INTPRET
027254,000236:
027255,000237: 31,6211 40576 ITCQ 0 # AND RETURN TO CALLING PROGRAM.
027256,000238:
027257,000239: # ENTER WITH (2-RTERM ALFA-RMAG ALFA) 2(-3) IN MPAC,+1. Q1-Q2 IN PDL 8,9
027258,000240:
027259,000241: 31,6212 20067 GETTFF INDEX FIXLOC
027260,000242: 31,6213 20020 INDEX 16D # COUNT BY 1,5
027261,000243: 31,6214 34513 CAF BIT4 # EFFECTIVE SL 3 (2 OR 4 OR 5 )
027262,000244: 31,6215 05416 TC SHORTMP # C(MPAC +1,+2) = DEN ON RETURN.
027263,000245: 31,6216 20067 INDEX FIXLOC # (UNSCALD NUM AND DEN LEQ +/- 2 LCE)
027264,000246: 31,6217 40010 CS 8D
027265,000247: 31,6220 30116 XCH MPAC +1 # SAVE Q2-Q1, GET DEN
027266,000248: 31,6221 50115 TS MPAC # AND SAVE.
027267,000249: 31,6222 20067 INDEX FIXLOC
027268,000250: 31,6223 20020 INDEX 16D # COUNT BY 1,5
027269,000251: 31,6224 36316 CAF -1/2PI
027270,000252: 31,6225 25777 EXTEND
027271,000253: 31,6226 40116 MP MPAC +1
027272,000254: 31,6227 50117 TS MPAC +2 # -(Q2-Q1) /2PI SAVED
027273,000255:
027274,000256: 31,6230 06323 TC SPARCTAN # NUM=C(MPAC+1),DEN=C(MPAC)
027275,000257: # RETURN WITH DEL ECC. ANOM/2PI IN A
027276,000258: # RANGE (0,1)
027277,000259: 31,6231 60117 AD MPAC +2
027278,000260: 31,6232 30115 XCH MPAC # TFF NORM=(DEL E:(Q2:Q1))/2PI
027279,000261: # FOLLOWING TEST VALID WHEN SPTEM3 L .5
027280,000262: 31,6233 20067 INDEX FIXLOC
027281,000263: 31,6234 30022 XCH 18D # IF BOTH SGN Q1 AND SGN ATAN ARE
027282,000264: 31,6235 66237 AD +2 # NEG, THEN SET TFF, +1 =+0. (-3/4+1 )
027283,000265: 31,6236 60072 AD SGNATAN # LEFT BY SPARCTAN
027284,000266: 31,6237 50000 TS A # (=50K =-3/4 +1 FOR OVFL TEST)
027285,000267: 31,6240 06243 TC GETTFF3 # OK, GO ON
Page 688 |
027287,000269: 31,6241 35501 CAF ZERO
027288,000270: 31,6242 06203 TC NEGQ2 +1 # GONE PAST. SET TFF=0.
027289,000271:
027290,000272: 31,6243 20067 GETTFF3 INDEX FIXLOC
027291,000273: 31,6244 20023 INDEX 19D # -N. BIT4 BELOW VALID FOR N LEQ 10D.
027292,000274: 31,6245 34513 CAF BIT4 # SCALE FACTOR, 2(-11+N)
027293,000275: 31,6246 25777 EXTEND
027294,000276: 31,6247 40115 MP MPAC
027295,000277: 31,6250 50115 TS MPAC
027296,000278: 31,6251 30003 XCH LP
027297,000279: 31,6252 50116 TS MPAC +1 # NOW READY TO MULT BY ORB PERIOD
027298,000280: 31,6253 04024 TC DANZIG
027299,000281:
027300,000282: # TO IMPROVE PRECISION OF SPARCTAN AT SMALLER LCE, COME HERE TO GET NORMALIZATION FACTOR
027301,000283: # BASED ON SIZE OF LCE SQ. SHIFT BY 2,S. SCALING RESULTING FROM BELOW YIELDS AT LEAST ONE LEAD ZERO IN
027302,000284: # NUM AND DEN USED IN SPARCTAN.
027303,000285:
027304,000286: 31,6254 36303 NORMBYE CAF OCT37440 # BRACKET SIZE BY OVFL TESTS
027305,000287: 31,6255 60115 AD MPAC # C(MPAC) = (1-LCE SQ) 2(-6)
027306,000288: 31,6256 50000 TS A
027307,000289: 31,6257 06275 TC ENORM0 # HERE IF LCE GEQ 2(-1)
027308,000290: 31,6260 66304 AD OCTNEG30 # (EFFECTIVE CONST 37410)
027309,000291: 31,6261 50000 TS A
027310,000292: 31,6262 06277 TC ENORM1 # HERE IF LCE GEQ 2(-2)
027311,000293: 31,6263 66305 AD OCTNEG6 # (EFFECTIVE CONST 37402)
027312,000294: 31,6264 50000 TS A
027313,000295: 31,6265 06301 TC ENORM2 # HERE IF LCE GEQ 2(-3)
027314,000296: 31,6266 44515 CS BIT2 # HERE IF LCE L 2(-3)
027315,000297: 31,6267 20067 ENORM3 INDEX FIXLOC
027316,000298: 31,6270 50020 TS 16D # COUNT FOR SL BY 1,S ALSO NEEDED
027317,000299: 31,6271 60000 AD A
027318,000300: 31,6272 20067 INDEX FIXLOC
027319,000301: 31,6273 50021 TS 17D # COUNT FOR SL BY 2,S.
027320,000302: 31,6274 04024 TC DANZIG
027321,000303:
027322,000304: 31,6275 34516 ENORM0 CAF BIT1
027323,000305: 31,6276 06267 TC ENORM3
027324,000306: 31,6277 35501 ENORM1 CAF ZERO
027325,000307: 31,6300 06267 TC ENORM3
027326,000308: 31,6301 44516 ENORM2 CS BIT1
027327,000309: 31,6302 06267 TC ENORM3
027328,000310:
027329,000311: 31,6303 37440 OCT37440 OCT 37440
027330,000312: 31,6304 77747 OCTNEG30 OCT -00030
027331,000313: 31,6305 77771 OCTNEG6 OCT -00006
027332,000314:
027333,000315: 31,6306 33453 02065 1/MUE 2DEC* .250876044 E-10 B35* # CS SQ/M CUBE
027334,000316: 31,6310 11217 27040 MUE(37) 2DEC* 3.986032233 E10 B-37* # CS SQ/M CUBE
Page 689 |
027336,000318: 31,6312 14441 37327 DP2PI/16 2DEC .39269909
027337,000319: 31,6314 76563 DEC -.15915494 B-2
027338,000320: 31,6315 75347 DEC -.15915494 B-1
027339,000321: 31,6316 72717 -1/2PI DEC -.15915494
027340,000322: 31,6317 65640 DEC -.15915494 B1
027341,000323: 31,6320 00171 NOMBURN OCT 00171
027342,000324: 31,6321 04316 25750 ALFALIM 2DEC 6.562 E-8 B21
027343,000325:
Page 690 |
027345,000327:
027346,000328: # INVERSE TANGENT. THE SINGLE PRECISION ARCTAN IS BASED ON A HASTINGS 3 TERM POLYNOMIAL. THE PROGRAM
027347,000329: # ACCEPTS NUM AND DEN , WHERE TAN(THETA) = NUM/DEN, AND GIVES THETA/PI IN THE RANGE (0,1)
027348,000330: # ENTER WITH C(MPAC +1) = NUM, AND C(MPAC) = DEN. NOTE THAT FOR CALCTFF, THETA = DEL E/2.
027349,000331: # SPARCTAN USES 3 SP TEMPORARIES: SPTEMQ, SPTEM1, SPTEM2
027350,000332:
027351,000333: # TEMPORARY ERASABLE ASSIGNMENTS FOR SPARCTAN ROUTINE
027352,000334:
027353,000335: 31,6323 0071 SPTEMQ = VBUF
027354,000336: 31,6323 0072 SPTEM1 = VBUF +1
027355,000337: 31,6323 0073 SPTEM2 = VBUF +2
027356,000338: 31,6323 0071 SPATANQ EQUALS SPTEMQ
027357,000339: 31,6323 0072 SGNATAN EQUALS SPTEM1
027358,000340:
027359,000341: 31,6323 30001 SPARCTAN XCH Q
027360,000342: 31,6324 50071 TS SPATANQ
027361,000343:
027362,000344: 31,6325 34502 CAF BIT13 # 1/4 = PI/4
027363,000345: 31,6326 50073 TS SPTEM2
027364,000346: 31,6327 50072 TS SGNATAN # IF NUM=0, THETA=0
027365,000347: 31,6330 10116 CCS MPAC +1 # NUM
027366,000348: 31,6331 06341 TC TESTDEN # IF DEN =0, THETA=90 DEG SGN(NUM)
027367,000349: 31,6332 06341 TC TESTDEN # MUST STILL TEST DEN.
027368,000350: 31,6333 06335 TC +2 # INDETERMINATE CASE 0/0 CONSIDERED AS 90D
027369,000351: 31,6334 06340 TC TESTDEN -1
027370,000352: 31,6335 40072 CS SGNATAN
027371,000353: 31,6336 50072 TS SGNATAN
027372,000354: 31,6337 40116 CS MPAC +1
027373,000355: 31,6340 50116 TS MPAC +1 # ABVAL OF NUM.
027374,000356:
027375,000357: 31,6341 10115 TESTDEN CCS MPAC # DEN
027376,000358: 31,6342 06355 TC SPATAN1
027377,000359: 31,6343 06434 TC SPATAN4 # 90 DEG CASE
027378,000360: 31,6344 06346 TC +2
027379,000361: 31,6345 06434 TC SPATAN4 # 90 DEG CASE
027380,000362: 31,6346 40072 CS SGNATAN
027381,000363: 31,6347 50072 TS SGNATAN
027382,000364: 31,6350 40115 CS MPAC
027383,000365: 31,6351 50115 TS MPAC # ABVAL OF DEN.
027384,000366:
027385,000367: 31,6352 10116 CCS MPAC +1 # EITHER POS OR +0. WAS NUM ZERO
027386,000368: 31,6353 06341 TC TESTDEN # NO, GO ON
027387,000369: 31,6354 00071 TC SPATANQ # YES, THETA =0 RETURN
027388,000370:
027389,000371: 31,6355 25777 SPATAN1 EXTEND # HERE NEGLECT 1 BIT OF CCS. LOST IN MP.
027390,000372: 31,6356 46362 MP ITANC0 # POLY TRANSITION TEST.
027391,000373: 31,6357 60116 AD MPAC +1 # NUM (PNZ, SO +0 IN CCS IMPOSS)
027392,000374: 31,6360 10000 CCS A # IF NEG, USE Z=N/D FOR POLY.
027393,000375: 31,6361 06367 TC SPATAN2 # IF POS, USE Z=(N-D)/(N+D) FOR POLY.
027394,000376: 31,6362 67237 ITANC0 DEC -.2714558 # =-(1-K)/(1+K), AND K=.573
027395,000377: 31,6363 35501 CAF ZERO # THIS FORM OF POLY HAS BETTER BEHAVIOR
Page 691 |
027397,000379: 31,6364 50073 TS SPTEM2 # NEAR ORIGIN. REPLACE PI/4 BY ZERO.
027398,000380: 31,6365 30116 XCH MPAC +1 # SET +0 TO FIT IN WITH CALC BELOW.
027399,000381: 31,6366 06371 TC SPATAN3
027400,000382:
027401,000383: 31,6367 40115 SPATAN2 CS MPAC # N-D AND N+D WILL NOT OVFL IN AD IF LCE
027402,000384: # L 1.0 DUE TO NORMALIZATION BY LCE.
027403,000385: 31,6370 60116 AD MPAC +1 # NUM
027404,000386: 31,6371 50021 SPATAN3 TS SR
027405,000387: 31,6372 30115 XCH MPAC
027406,000388: 31,6373 60116 AD MPAC +1
027407,000389: 31,6374 50000 TS A # DID IT OVFL..
027408,000390: 31,6375 06401 TC SPATAN5 # NO, GO DO DV.
027409,000391: 31,6376 30021 XCH SR # YES, SHIFT BOTH NUM AND DEN R1.
027410,000392: 31,6377 30021 XCH SR # (NUM-DEN)/4 IN SR
027411,000393: 31,6400 64522 AD HALF # (NUM+DEN)/2 IN A.
027412,000394:
027413,000395: 31,6401 50115 SPATAN5 TS MPAC # NORMALLY, (NUM+DEN)
027414,000396: 31,6402 30021 XCH SR # NORMALLY, (NUM-DEN) /2
027415,000397: 31,6403 25777 EXTEND
027416,000398: 31,6404 50115 DV MPAC # NO OVFL PROB.
027417,000399: 31,6405 50115 TS MPAC # Z/2= (NUM-DEN)/2(NUM+DEN)
027418,000400: # Z/2 = NUM/2DEN NEAR ORIGIN
027419,000401:
027420,000402: 31,6406 25777 EXTEND
027421,000403: 31,6407 40000 SQUARE
027422,000404: 31,6410 50116 TS MPAC +1 # Z Z/4
027423,000405: 31,6411 25777 EXTEND
027424,000406: 31,6412 46441 MP ITANC7
027425,000407: 31,6413 66440 AD ITANC5
027426,000408: 31,6414 25777 EXTEND
027427,000409: 31,6415 40116 MP MPAC +1
027428,000410: 31,6416 66437 AD ITANC3
027429,000411: 31,6417 25777 EXTEND
027430,000412: 31,6420 40116 MP MPAC +1
027431,000413: 31,6421 66436 AD ITANC1
027432,000414: 31,6422 60000 DOUBLE
027433,000415: 31,6423 25777 EXTEND
027434,000416: 31,6424 40115 MP MPAC
027435,000417: 31,6425 60073 AD SPTEM2 # EITHER 1/4=PI/4 OR 0
027436,000418: 31,6426 50001 TS Q # C(A)=THETA/PI ,RANGE( 0 ,.5) SEE NOTE
027437,000419: 31,6427 10072 CCS SGNATAN
027438,000420: 31,6430 30001 XCH Q # AFFIX SGN FOR POLY TO HAVE RANGE (-.5,.5
027439,000421: 31,6431 00071 TC SPATANQ
027440,000422: 31,6432 40001 CS Q
027441,000423: 31,6433 64522 AD HALF
027442,000424: 31,6434 64522 SPATAN4 AD HALF # 90 DEG CASE COME HERE
027443,000425: 31,6435 00071 TC SPATANQ # RETURN WITH THETA/ PI IN A. RANGE(0,1)
027444,000426: # POLY GIVES THETA/ PI RANGE(-.5,+.5)
027445,000427:
027446,000428: # NOTE *** RETURN TO CALCTFF WITH DEL E/2 PI IN A, RANGE (0,1). SINCE THE OUTPUT OF SPARCTAN ,
Page 692 |
027448,000430: # IS IN THE RANGE (0,1), THE +/- 90 DEG CASES ARE IDENTICAL. FURTHER SINCE FOR CALCTFF, THE ANGLE THETA/PI
027449,000431: # EQUALS DEL E/2 PI, SPARCTAN CONSIDERS BOTH 0 DEG AND 180 DEG AS 0 DEG. SHOULD PROGRAMS OTHER THAN CALCTFF
027450,000432: # DESIRE ARC TANGENTS, THEN SPARCTAN CAN BE MADE GENERAL.
027451,000433:
027452,000434: 31,6436 12133 ITANC1 DEC .318060008 # =C1 /PI
027453,000435: 31,6437 62723 ITANC3 DEC -.40894149 # = 4 C3/PI
027454,000436: 31,6440 27656 ITANC5 DEC .7449806 # = 16 C5/PI
027455,000437: 31,6441 46450 ITANC7 DEC -.79435682 # = 64 C5 /PI 74W
027456,000438:
Page 693 |
027458,000440:
027459,000441: 31,6442 73773 HIECC1 BMN 3
027460,000442: 31,6443 71405 LXC,1 LODON
027461,000443: 31,6444 45070 DMOVE TSRT*
027462,000444: 31,6445 76576 RTB
027463,000445: 31,6446 00017 14D
027464,000446: 31,6447 22457 TFFMAX
027465,000447: 31,6450 00024 19D
027466,000448: 31,6451 00015 12D
027467,000449: 31,6452 00027 11D,1
027468,000450: 31,6453 20265 FRESHPD
027469,000451: 31,6454 33457 STORE TFF
027470,000452:
027471,000453: 31,6455 40576 ITCQ 0
027472,000454:
027473,000455: 31,6456 45175 TFFMAX DMOVE 1
027474,000456: 31,6457 76576 RTB
027475,000457: 31,6460 21043 NEARONE
027476,000458: 31,6461 20265 FRESHPD
027477,000459: 31,6462 33457 STORE TFF
027478,000460:
027479,000461: 31,6463 40576 ITCQ 0
027480,000462:
027481,000463: 31,6464 45175 HIECC DMOVE 1
027482,000464: 31,6465 76576 RTB
027483,000465: 31,6466 00013 10D
027484,000466: 31,6467 20265 FRESHPD
027485,000467: 31,6470 32017 STORE 14D
027486,000468:
027487,000469: 31,6471 41775 VXV 1
027488,000470: 31,6472 71116 ABVAL TSLT
027489,000471: 31,6473 00766 RN
027490,000472: 31,6474 00774 VN
027491,000473: 31,6475 00003 2
027492,000474:
027493,000475: 31,6476 47575 NOLOD 1
027494,000476: 31,6477 64716 DMP TSLT
027495,000477: 31,6500 22307 1/MUE
027496,000478: 31,6501 00002 1 # H/MUE B5 PD2,3
027497,000479:
027498,000480: 31,6502 47575 NOLOD 1
027499,000481: 31,6503 64776 DMP
027500,000482: 31,6504 00001 0 # H H/MUE B-26 PD4,5
027501,000483: 31,6505 73174 UNIT 2
027502,000484: 31,6506 42722 DOT DMP
027503,000485: 31,6507 63643 TSLT DSQ
027504,000486: 31,6510 00766 RN
027505,000487: 31,6511 00774 VN
027506,000488: 31,6512 00003 2
027507,000489: 31,6513 00003 2
027508,000490: 31,6514 62774 DDV 2
Page 694 |
027510,000492: 31,6515 66643 DSU DSQ
027511,000493: 31,6516 70653 DAD SQRT
027512,000494: 31,6517 00005 4D
027513,000495: 31,6520 01024 RMAG
027514,000496: 31,6521 22674 TWO(-2) # E B-1 PD6,7
027515,000497:
027516,000498: 31,6522 47576 NOLOD 0
027517,000499: 31,6523 33726 STORE ECC
027518,000500:
027519,000501: 31,6524 47575 NOLOD 1
027520,000502: 31,6525 65672 BDSU TSRT
027521,000503: 31,6526 22674 TWO(-2)
027522,000504: 31,6527 00002 1 # B-2 DEL PD8,9
027523,000505:
027524,000506: 31,6530 56776 TSRT 0
027525,000507: 31,6531 00005 4
027526,000508: 31,6532 00002 1 # PD10,11 B-27
027527,000509:
027528,000510: 31,6533 66775 DSU 1
027529,000511: 31,6534 61776 BDDV
027530,000512: 31,6535 22674 TWO(-2)
027531,000513: 31,6536 00011 8D # H H/MUE(2-DEL) B-25 =RPAR PD10,11
027532,000514:
027533,000515: 31,6537 56775 TSRT 1
027534,000516: 31,6540 65616 BDSU BPL
027535,000517: 31,6541 15706 R400K
027536,000518: 31,6542 00002 1
027537,000519: 31,6543 00013 10D
027538,000520: 31,6544 22457 TFFMAX
027539,000521:
027540,000522: 31,6545 42775 DOT 1
027541,000523: 31,6546 43776 BPL
027542,000524: 31,6547 00766 RN
027543,000525: 31,6550 00774 VN
027544,000526: 31,6551 22443 HIECC1
027545,000527:
027546,000528: 31,6552 62774 DDV 2
027547,000529: 31,6553 66672 DSU TSRT
027548,000530: 31,6554 62776 DDV
027549,000531: 31,6555 00005 4D
027550,000532: 31,6556 01024 RMAG
027551,000533: 31,6557 22674 TWO(-2)
027552,000534: 31,6560 00002 1
027553,000535: 31,6561 00007 6D # COSTH PD12,13 B-1
027554,000536:
027555,000537: 31,6562 47575 NOLOD 1
027556,000538: 31,6563 73726 BMN BDSU
027557,000539: 31,6564 22457 TFFMAX
027558,000540: 31,6565 22674 TWO(-2)
Page 695 |
027560,000542: 31,6566 70774 DAD 2
027561,000543: 31,6567 61653 BDDV SQRT
027562,000544: 31,6570 47176 COMP
027563,000545: 31,6571 22674 TWO(-2)
027564,000546: 31,6572 00015 12D # PD14,15 B0 TAN(TH/2)
027565,000547:
027566,000548: 31,6573 56774 TSRT 2
027567,000549: 31,6574 61732 BDDV DSU
027568,000550: 31,6575 56712 TSRT DDV
027569,000551: 31,6576 15706 R400K
027570,000552: 31,6577 00002 1
027571,000553: 31,6600 00005 4D
027572,000554: 31,6601 22674 TWO(-2)
027573,000555: 31,6602 00002 1
027574,000556: 31,6603 00007 6D
027575,000557:
027576,000558: 31,6604 47575 NOLOD 1
027577,000559: 31,6605 73726 BMN BDSU
027578,000560: 31,6606 22457 TFFMAX
027579,000561: 31,6607 22674 TWO(-2)
027580,000562:
027581,000563: 31,6610 70774 DAD 2
027582,000564: 31,6611 61653 BDDV SQRT
027583,000565: 31,6612 47176 COMP
027584,000566: 31,6613 22674 TWO(-2)
027585,000567: 31,6614 00021 16D # TAN(TH1/2) PD18,19
027586,000568:
027587,000569: 31,6615 56775 TSRT 1
027588,000570: 31,6616 70776 DAD
027589,000571: 31,6617 00011 8D
027590,000572: 31,6620 00002 1
027591,000573: 31,6621 22674 TWO(-2)
027592,000574:
027593,000575: 31,6622 66775 DSU 1
027594,000576: 31,6623 73722 BMN DMP
027595,000577: 31,6624 00023 18D
027596,000578: 31,6625 00017 14D
027597,000579: 31,6626 22665 TFF0 # (1+DEL/4)(TANTH1/2)-TAN(TH/2))
027598,000580:
027599,000581: 31,6627 51175 DSQ 1
027600,000582: 31,6630 64776 DMP
027601,000583: 31,6631 00023 18D
027602,000584: 31,6632 00023 18D # (TAN(TH1/2))CUBED PD22,23
027603,000585:
027604,000586: 31,6633 51175 DSQ 1
027605,000587: 31,6634 64726 DMP BDSU
027606,000588: 31,6635 00017 14D
027607,000589: 31,6636 00017 14D # PD22,23 B0
027608,000590:
027609,000591: 31,6637 56774 TSRT 2
Page 696 |
027611,000593: 31,6640 65722 BDSU DMP
027612,000594: 31,6641 70776 DAD
027613,000595: 31,6642 00011 8D
027614,000596: 31,6643 00002 1
027615,000597: 31,6644 22676 DP1/3S
027616,000598: 31,6645 77777 -
027617,000599: 31,6646 00025 20D # B-2 PD22,23
027618,000600:
027619,000601: 31,6647 64773 DMP 3
027620,000602: 31,6650 63653 TSLT SQRT
027621,000603: 31,6651 64722 DMP DMP
027622,000604: 31,6652 56771 TSRT RTB
027623,000605: 31,6653 00013 10D
027624,000606: 31,6654 22307 1/MUE
027625,000607: 31,6655 00002 1
027626,000608: 31,6656 00013 10D
027627,000609: 31,6657 00027 22D
027628,000610: 31,6660 00010 7D
027629,000611: 31,6661 20265 FRESHPD
027630,000612: 31,6662 33457 STORE TFF
027631,000613:
027632,000614: 31,6663 40576 ITCQ 0
027633,000615:
027634,000616: 31,6664 45175 TFF0 DMOVE 1
027635,000617: 31,6665 76576 RTB
027636,000618: 31,6666 05174 ZERODP
027637,000619: 31,6667 20265 FRESHPD
027638,000620: 31,6670 33457 STORE TFF
027639,000621:
027640,000622: 31,6671 40576 ITCQ 0
027641,000623:
027642,000624: 31,6672 40576 ITCQ 0
027643,000625:
027644,000626: 31,6673 20000 00000 TWO(-2) 2DEC .5
027645,000627: 31,6675 05252 25253 DP1/3S 2DEC .3333333333 B-1
End of include-file TIME_OF_FREE-FALL_CALCULATIONS.agc. Parent file is MAIN.agc