Source Code
These source-code files are part of a reconstructed copy of Sunrise 45, the
penultimate release of the Block I Command Module (CM) Apollo Guidance Computer
(AGC) system test software.
They have been created via disassembly of binary dumps of original core rope memory modules, part numbers 1003133-18, 1003133-19, and 1003133-20. Corresponding portions of code have been copied from Solarium 55 where applicable. Extensive use was also made of the AGC Information Series documents, which were specifically written about the Sunrise software. Since only binary dumps (rather than listings) of Sunrise are available as source material, all comments and labels are approximate. They have been taken from other AGC programs where possible, or, in some places, written from scratch to match what we believe would have been in the original listing. |
010170,000002: ## Copyright: Public domain.
010171,000003: ## Filename: INFLIGHT_ALIGNMENT_SUBROUTINES.agc
010172,000004: ## Purpose: A section of Sunrise 45.
010173,000005: ## It is part of the reconstructed source code for the penultimate
010174,000006: ## release of the Block I Command Module system test software. No
010175,000007: ## original listings of this program are available; instead, this
010176,000008: ## file was created via disassembly of dumps of Sunrise core rope
010177,000009: ## memory modules and comparison with the later Block I program
010178,000010: ## Solarium 55.
010179,000011: ## Assembler: yaYUL --block1
010180,000012: ## Contact: Ron Burkey <info@sandroid.org>.
010181,000013: ## Website: www.ibiblio.org/apollo/index.html
010182,000014: ## Mod history: 2022-12-09 MAS Initial reconstructed source.
010183,000015:
010184,000016:
010185,000017: # CALGTA GIVEN THE DESIRED XD,YD AND ZD UNIT VECTORS REFERED TO
010186,000018: # -------- PRESENT STABLE MEMBER ORIENTATION, THIS SUBROUTINE FINDS
010187,000019: # THETAY, THETAZ, AND THETAX, THE REQUIRED GYRO TORQUE
010188,000020: # ANGLES IN THE ORDER TO BE APPLIED TO BRING THE STABLE
010189,000021: # MEMBER INTO THE DESIRED ORIENTATION.
010190,000022:
010191,000023:
010192,000024:
010193,000025: 25,6000 BANK 25
010194,000026: 25,6000 45575 CALCGTA ITA 1 # DEFINE THE VECTOR ZPRIME WHICH IS THE
010195,000027: 25,6001 45176 DMOVE
010196,000028: 25,6002 00052 S2 # IMAGE OF Z UNDER THE ROTATION ABOUT Y
010197,000029: 25,6003 01035 XDSMPR
010198,000030:
010199,000031: 25,6004 45176 DMOVE 0 # ZPRIME =(-XD ,0 , XD )
010200,000032: 25,6005 12620 ZERODP # 2 0
010201,000033:
010202,000034: 25,6006 47175 COMP 1
010203,000035: 25,6007 41153 VDEF UNIT
010204,000036: 25,6010 01041 XDSMPR +4
010205,000037: 25,6011 32027 STORE ZPRIME
010206,000038:
010207,000039: 25,6012 56776 TSRT 0 # SET UP COSTH AND SINTH TO ENTER
010208,000040: 25,6013 00027 ZPRIME # ARCTRIG FOR COMPUTATION OF THETA-Y
010209,000041: 25,6014 00002 1
010210,000042: 25,6015 32023 STORE SINTH
010211,000043:
010212,000044: 25,6016 56776 TSRT 0
010213,000045: 25,6017 01035 XDSMPR
010214,000046: 25,6020 00002 1
010215,000047: 25,6021 32021 STORE COSTH
010216,000048:
010217,000049: 25,6022 76776 ITC 0
010218,000050: 25,6023 12067 ARCTRIG
010219,000051:
010220,000052: 25,6024 47576 NOLOD 0
010221,000053: 25,6025 33061 STORE IGC
010222,000054:
010223,000055: 25,6026 56776 TSRT 0
010224,000056: 25,6027 01037 XDSMPR +2
010225,000057: 25,6030 00002 1
010226,000058: 25,6031 32023 STORE SINTH
010227,000059:
010228,000060: 25,6032 64776 DMP 0
010229,000061: 25,6033 00027 ZPRIME
010230,000062: 25,6034 01041 XDSMPR +4
010231,000063:
010232,000064: 25,6035 64775 DMP 1
010233,000065: 25,6036 66776 DSU
010234,000066: 25,6037 00033 ZPRIME +4
010235,000067: 25,6040 01035 XDSMPR
010236,000068: 25,6041 32021 STORE COSTH
010237,000069:
010238,000070: 25,6042 76776 ITC 0
010239,000071: 25,6043 12067 ARCTRIG
010240,000072:
010241,000073: 25,6044 47576 NOLOD 0
010242,000074: 25,6045 33063 STORE MGC
010243,000075:
010244,000076: 25,6046 42775 DOT 1
010245,000077: 25,6047 63776 TSLT
010246,000078: 25,6050 00027 ZPRIME
010247,000079: 25,6051 01051 ZDSMPR
010248,000080: 25,6052 00002 1
010249,000081: 25,6053 32021 STORE COSTH
010250,000082:
010251,000083: 25,6054 42776 DOT 0
010252,000084: 25,6055 00027 ZPRIME
010253,000085: 25,6056 01043 YDSMPR
010254,000086: 25,6057 32023 STORE SINTH
010255,000087:
010256,000088: 25,6060 76776 ITC 0
010257,000089: 25,6061 12067 ARCTRIG
010258,000090:
010259,000091: 25,6062 47576 NOLOD 0
010260,000092: 25,6063 33057 STORE OGC
010261,000093:
010262,000094: 25,6064 44576 ITCI 0
010263,000095: 25,6065 00052 S2
010264,000096:
010265,000097:
010266,000098: 25,6066 65175 ARCTRIG ABS 1 # GIVEN SINTH AND COSTH SCALED X1/4 FIND
010267,000099: 25,6067 66756 DSU BMN # THETA IN THE RANGE -PI TO +PI SCALED-
010268,000100: 25,6070 00023 SINTH # TEMPORARY FOR SINTH XPI/2
010269,000101: 25,6071 12614 QTSN45 # CONSTANT=0.1768
010270,000102: 25,6072 12103 TRIG1
010271,000103:
010272,000104: 25,6073 63775 TSLT 1
010273,000105: 25,6074 61056 ACOS SIGN
010274,000106: 25,6075 00021 COSTH # TEMPORARY FOR COSTH
010275,000107: 25,6076 00002 1
010276,000108: 25,6077 00023 SINTH # TEMPORARY FOR SINTH
010277,000109: 25,6100 32025 STORE THETA
010278,000110:
010279,000111: 25,6101 40576 ITCQ 0 # RETURN TO MAIN PROGRAM
010280,000112:
010281,000113: 25,6102 63775 TRIG1 TSLT 1 # SINTH LESS THAN QTSN45
010282,000114: 25,6103 63176 ASIN
010283,000115: 25,6104 00023 SINTH # TEMPORARY FOR SINTH
010284,000116: 25,6105 00002 1
010285,000117: 25,6106 32025 STORE THETA
010286,000118:
010287,000119: 25,6107 73776 BMN 0
010288,000120: 25,6110 00021 COSTH
010289,000121: 25,6111 12116 TRIG2
010290,000122:
010291,000123: 25,6112 45175 DMOVE 1
010292,000124: 25,6113 40576 ITCQ
010293,000125: 25,6114 00025 THETA
010294,000126: 25,6115 53775 TRIG2 SIGN 1 # COSTH NEGATIVE
010295,000127: 25,6116 66776 DSU
010296,000128: 25,6117 12624 HALFDP
010297,000129: 25,6120 00023 SINTH # WITH ASIN
010298,000130: 25,6121 00025 THETA
010299,000131: 25,6122 32025 STORE THETA
010300,000132:
010301,000133: 25,6123 40576 ITCQ 0 # RETURN
010302,000134:
010303,000135:
010304,000136: # THIS PROGRAM COMPUTES SXT ANGLES SAC AND
010305,000137: # PAC IN HALF AND EIGHT REVOLUTIONS RESPEC
010306,000138: # GO IN WITH S1=BASE ADDRESS OF CDU;S
010307,000139:
010308,000140: 25,6124 45575 SMNB ITA 1 # CHECK THAT NBSMBIT IS OFF,IF IT ISGO TO
010309,000141: 25,6125 43411 TEST SWITCH # NBSM1,OTHERWISE SWITCH IT OFF
010310,000142: 25,6126 00052 S2
010311,000143: 25,6127 00006 NBSMBIT
010312,000144: 25,6130 12133 SMNB1
010313,000145: 25,6131 00006 NBSMBIT
010314,000146:
010315,000147: 25,6132 75575 SMNB1 AXT,1 1 # NBSMBIT IS OFF
010316,000148: 25,6133 74572 AXT,2 ITC # SET INDECES TO ROTATE X,Z ABOUT Y
010317,000149: 25,6134 00005 4
010318,000150: 25,6135 00001 0
010319,000151: 25,6136 12206 AXISROT # DO AXIS ROTATION
010320,000152:
010321,000153: 25,6137 75575 AXT,1 1 # SET INDECES TO ROTATE Y,X ABOUT Z
010322,000154: 25,6140 74572 AXT,2 ITC
010323,000155: 25,6141 00003 2
010324,000156: 25,6142 00005 4
010325,000157: 25,6143 12206 AXISROT # DO AXIS ROTATION
010326,000158:
010327,000159: 25,6144 75575 AXT,1 1 # SET INDECES TO ROTATE Z,Y ABOUT X
010328,000160: 25,6145 74572 AXT,2 ITC
010329,000161: 25,6146 00001 0
010330,000162: 25,6147 00003 2
010331,000163: 25,6150 12206 AXISROT # DO AXIS ROTATION
010332,000164:
010333,000165: 25,6151 44576 ITCI 0 # RETURN
010334,000166: 25,6152 00052 S2
010335,000167:
010336,000168:
010337,000169: 25,6153 45575 NBSM ITA 1 # CHECK THAT NBSMBIT IS ON,IF IT IS NOT GO
010338,000170: 25,6154 43576 TEST # TO NBSM1 AND SWITCH IT ON
010339,000171: 25,6155 00052 S2
010340,000172: 25,6156 00006 NBSMBIT
010341,000173: 25,6157 12202 NBSM1
010342,000174:
010343,000175: 25,6160 75575 NBSM2 AXT,1 1 # ROTATE Z,Y ABOUT X
010344,000176: 25,6161 74572 AXT,2 ITC
010345,000177: 25,6162 00001 0
010346,000178: 25,6163 00003 2
010347,000179: 25,6164 12206 AXISROT
010348,000180:
010349,000181: 25,6165 75575 AXT,1 1 # ROTATE Y,X ABOUT Z
010350,000182: 25,6166 74572 AXT,2 ITC
010351,000183: 25,6167 00003 2
010352,000184: 25,6170 00005 4
010353,000185: 25,6171 12206 AXISROT
010354,000186:
010355,000187: 25,6172 75575 AXT,1 1 # ROTATE X,Z ABOUT Y
010356,000188: 25,6173 74572 AXT,2 ITC
010357,000189: 25,6174 00005 4
010358,000190: 25,6175 00001 0
010359,000191: 25,6176 12206 AXISROT
010360,000192:
010361,000193: 25,6177 44576 ITCI 0 # RETURN
010362,000194: 25,6200 00052 S2
010363,000195:
010364,000196: 25,6201 42575 NBSM1 SWITCH 1
010365,000197: 25,6202 76776 ITC
010366,000198: 25,6203 00006 NBSMBIT
010367,000199: 25,6204 12161 NBSM2
010368,000200:
010369,000201:
010370,000202: 25,6205 57574 AXISROT XSU,1 2 # ROUTINE FOR SINGLE AXIS ROTATIONS
010371,000203: 25,6206 42171 SMOVE* RTB
010372,000204: 25,6207 61576 XAD,1 # REMARKS ARE FOR ROTATING Z,Y ABOUT X
010373,000205: 25,6210 00051 S1
010374,000206: 25,6211 00011 4,1 # INDEX1=0,INDEX2=2
010375,000207: 25,6212 07053 CDULOGIC # ANGLES ARE STORED IN THE ORDER IGA,MGA,
010376,000208: 25,6213 00051 S1
010377,000209: 25,6214 32037 STORE 30D # OGA,SO WE PICK UP OGZ
010378,000210:
010379,000211: 25,6215 55176 ACCUROT COS 0
010380,000212: 25,6216 00037 30D
010381,000213: 25,6217 34021 STORE 8D,1 # STORE COS(OGA) IN 8
010382,000214:
010383,000215: 25,6220 57176 SIN 0
010384,000216: 25,6221 00037 30D
010385,000217: 25,6222 34025 STORE 10D,1 # STORE SIN(OGA) IN 10D
010386,000218:
010387,000219: 25,6223 64375 DMP* 1
010388,000220: 25,6224 63776 TSLT
010389,000221: 25,6225 00025 10D,1
010390,000222: 25,6226 00112 VAC +4,2 # PUSH DOWN (VAC +2)SIN(OGA)
010391,000223: 25,6227 00002 1
010392,000224:
010393,000225: 25,6230 64375 DMP* 1
010394,000226: 25,6231 63776 TSLT
010395,000227: 25,6232 00021 8D,1
010396,000228: 25,6233 00112 VAC +4,2 # PUSH DOWN (VAC +2)COS(OGA)
010397,000229: 25,6234 00002 1
010398,000230:
010399,000231: 25,6235 64374 DMP* 2
010400,000232: 25,6236 63615 TSLT TEST
010401,000233: 25,6237 65776 BDSU
010402,000234: 25,6240 00025 10D,1
010403,000235: 25,6241 00111 VAC +4,1
010404,000236: 25,6242 00002 1
010405,000237: 25,6243 00006 NBSMBIT
010406,000238: 25,6244 12260 AXISROT1
010407,000239: 25,6245 34112 STORE VAC +4,2 # VAC+2=(VAC+2)COS(OGA)-(VAC+4)SIN(OGA)
010408,000240:
010409,000241: 25,6246 64375 DMP* 1
010410,000242: 25,6247 63742 TSLT DAD
010411,000243: 25,6250 00021 8D,1
010412,000244: 25,6251 00111 VAC +4,1
010413,000245: 25,6252 00002 1
010414,000246: 25,6253 34111 STORE VAC +4,1 # VAC+4=(VAC+2)SIN(OGA)+(VAC+4)COS(OGA)
010415,000247:
010416,000248: 25,6254 75175 VMOVE 1
010417,000249: 25,6255 40576 ITCQ
010418,000250: 25,6256 00041 VAC
010419,000251:
010420,000252: 25,6257 47575 AXISROT1 NOLOD 1 # TEST WAS 0 FOR SMNB
010421,000253: 25,6260 70776 DAD
010422,000254: 25,6261 34112 STORE VAC +4,2 # VAC+2=(VAC+2)COS(OGA)+(VAC+4)SIN(OGA)
010423,000255:
010424,000256: 25,6262 64375 DMP* 1
010425,000257: 25,6263 63732 TSLT DSU
010426,000258: 25,6264 00021 8D,1
010427,000259: 25,6265 00111 VAC +4,1
010428,000260: 25,6266 00002 1
010429,000261: 25,6267 34111 STORE VAC +4,1 # VAC+4=-(VAC+2)SIN(OGA)+(VAC+4)COS(OGA)
010430,000262:
010431,000263: 25,6270 75175 VMOVE 1
010432,000264: 25,6271 40576 ITCQ
010433,000265: 25,6272 00041 VAC
010434,000266:
010435,000267:
010436,000268: 25,6273 41775 CALCGA VXV 1 # CALCULATE GIMBAL ANGLES GIVEN THE X,Y,Z-
010437,000269: 25,6274 73176 UNIT
010438,000270: 25,6275 00771 XNB
010439,000271: 25,6276 01021 YSM
010440,000272:
010441,000273: 25,6277 47575 NOLOD 1
010442,000274: 25,6300 42625 DOT ITA
010443,000275: 25,6301 01005 ZNB
010444,000276: 25,6302 00052 S2
010445,000277: 25,6303 32021 STORE COSTH # TEMPORARY FOR COSTH
010446,000278:
010447,000279: 25,6304 47575 NOLOD 1
010448,000280: 25,6305 42776 DOT
010449,000281: 25,6306 00777 YNB
010450,000282: 25,6307 32023 STORE SINTH
010451,000283:
010452,000284: 25,6310 76776 ITC 0
010453,000285: 25,6311 12067 ARCTRIG
010454,000286:
010455,000287: 25,6312 47575 NOLOD 1
010456,000288: 25,6313 76576 RTB
010457,000289: 25,6314 07074 1STO2S
010458,000290: 25,6315 33057 STORE OGC
010459,000291:
010460,000292: 25,6316 42773 DOT 3
010461,000293: 25,6317 63746 TSLT BOV
010462,000294: 25,6320 56713 TSRT ASIN
010463,000295: 25,6321 76576 RTB
010464,000296: 25,6322 01021 YSM
010465,000297: 25,6323 00771 XNB
010466,000298: 25,6324 00003 2
010467,000299: 25,6325 12356 GIMLOCK1 # LOOK FOR EXCESSIVE MGC
010468,000300: 25,6326 00002 1
010469,000301: 25,6327 07074 1STO2S
010470,000302: 25,6330 33063 STORE MGC
010471,000303:
010472,000304: 25,6331 65175 ABS 1
010473,000305: 25,6332 66616 DSU BPL
010474,000306: 25,6333 01063 MGC
010475,000307: 25,6334 12626 .333...
010476,000308: 25,6335 12356 GIMLOCK1
010477,000309:
010478,000310: 25,6336 42776 CALCGA1 DOT 0
010479,000311: 25,6337 01027 ZSM
010480,000312: 25,6340 00001 0 # CONTAINS AMG
010481,000313: 25,6341 32021 STORE COSTH
010482,000314:
010483,000315: 25,6342 42776 DOT 0
010484,000316: 25,6343 01013 XSM
010485,000317: 25,6344 32023 STORE SINTH
010486,000318:
010487,000319: 25,6345 76776 ITC 0
010488,000320: 25,6346 12067 ARCTRIG
010489,000321: 25,6347 47575 NOLOD 1
010490,000322: 25,6350 76576 RTB
010491,000323: 25,6351 07074 1STO2S
010492,000324: 25,6352 33061 STORE IGC
010493,000325:
010494,000326: 25,6353 44576 ITCI 0
010495,000327: 25,6354 00052 S2
010496,000328:
010497,000329: 25,6355 77576 GIMLOCK1 EXIT 0
010498,000330:
010499,000331: 25,6356 02605 TC ALARM
010500,000332: 25,6357 00401 OCT 00401
010501,000333: 25,6360 04000 TC INTPRET # RESUME ROUTINE.
010502,000334:
010503,000335: 25,6361 76776 ITC 0
010504,000336: 25,6362 12337 CALCGA1
010505,000337:
010506,000338:
010507,000339: 25,6363 42175 SXTNB SMOVE* 1 # THIS PROGRAM COMPUTES COMPONENTS OF
010508,000340: 25,6364 76571 RTB RTB # THE STAR HALF UNIT VECTOR,STARM, GIVEN
010509,000341: 25,6365 00013 5,1 # THE MEASURED SXT ANGLES PAM AND SAM.
010510,000342: 25,6366 07053 CDULOGIC
010511,000343: 25,6367 07152 TRUNLOG
010512,000344:
010513,000345: 25,6370 47575 NOLOD 1
010514,000346: 25,6371 57116 SIN TSLT
010515,000347: 25,6372 00002 1 # STORE A=SIN(PAM.PI/4)
010516,000348:
010517,000349: 25,6373 42175 SMOVE* 1
010518,000350: 25,6374 76576 RTB
010519,000351: 25,6375 00007 3,1
010520,000352: 25,6376 07053 CDULOGIC # STORE SAM/2 IN PD 4,RESOLVES +/- ZERO
010521,000353:
010522,000354: 25,6377 47575 NOLOD 1
010523,000355: 25,6400 55122 COS DMP
010524,000356: 25,6401 00003 2
010525,000357: 25,6402 32041 STORE STARM # STARM +0=(A.COS(PI.SAM))/2
010526,000358:
010527,000359: 25,6403 57175 SIN 1 # SIN(2PI.PD4).PD2
010528,000360: 25,6404 64776 DMP
010529,000361: 25,6405 32043 STORE STARM +2 # STARM +2=(A.SIN(PI.SAM))/2
010530,000362:
010531,000363: 25,6406 55176 COS 0
010532,000364: 25,6407 32045 STORE STARM +4 # STARM +4=0.5.COS(PAM.PI/4)
010533,000365:
010534,000366: 25,6410 40576 ITCQ 0
010535,000367:
010536,000368:
010537,000369: # AXISGEN GIVEN TWO STAR VECTORS - -
010538,000370: # ------- STARA AND STARB WRITTEN IN TWO
010539,000371: # COORDINATE SYSTEMS, THE D AND C SYSTEMS SO THAT WE
010540,000372: # HAVE - - - -
010541,000373: # STARA STARB AND STARB , STARA
010542,000374: # D D C C
010543,000375: # THIS PROGRAM COMPUTES THE HALF UNIT AXES
010544,000376: # - - -
010545,000377: # XD YD ZD
010546,000378: # C C C
010547,000379: # THAT IS THE D COORDINATE SYSTEM AXES REFERRED TO THE C
010548,000380: # COORDINATE SYSTEM
010549,000381: # THE INPUTS ARE STORED AS FOLLOWS
010550,000382: # -
010551,000383: # C(STARAD) - C(STARAD +5) = STARA
010552,000384: # D
010553,000385: # -
010554,000386: # C(STARAD+6)-C(STARAD+11D)= STARB
010555,000387: # D
010556,000388: # -
010557,000389: # C(6D) - C(11D) = STARA
010558,000390: # C
010559,000391: # -
010560,000392: # C(12D) - C(17D) = STARB
010561,000393: # C
010562,000394: # RESULTS ARE LEFT IN XDC TO XDC +17D
010563,000395: # THE RETUTINE DESTROYS THE INPUTS AND USES LOCATIONS
010564,000396: # STARAD+12D TO STARAD+17D AND 18D - 23D +30D
010565,000397: 25,6411 75575 AXISGEN AXT,1 1
010566,000398: 25,6412 55576 AST,1
010567,000399: 25,6413 00777 STARAD +6
010568,000400: 25,6414 00763 STARAD -6
010569,000401: 25,6415 41375 AXISGEN1 VXV* 1
010570,000402: 25,6416 73176 UNIT
010571,000403: 25,6417 02011 STARAD +12D,1
010572,000404: 25,6420 02025 STARAD +18D,1
010573,000405: 25,6421 36025 STORE STARAD +18D,1
010574,000406:
010575,000407: 25,6422 41375 VXV* 1
010576,000408: 25,6423 44776 VSLT
010577,000409: 25,6424 02011 STARAD +12D,1
010578,000410: 25,6425 02025 STARAD +18D,1
010579,000411: 25,6426 00002 1
010580,000412: 25,6427 36041 STORE STARAD +24D,1
010581,000413:
010582,000414: 25,6430 51576 TIX,1 0
010583,000415: 25,6431 12416 AXISGEN1
010584,000416:
010585,000417: 25,6432 53573 AXC,1 3
010586,000418: 25,6433 67565 SXA,1 AXT,1
010587,000419: 25,6434 55561 AST,1 AXT,2
010588,000420: 25,6435 54576 AST,2
010589,000421: 25,6436 00007 6
010590,000422: 25,6437 00037 30D
010591,000423: 25,6440 00023 18D
010592,000424: 25,6441 00007 6
010593,000425: 25,6442 00007 6
010594,000426: 25,6443 00003 2
010595,000427:
010596,000428: 25,6444 65576 AXISGEN2 XCHX,1 0
010597,000429: 25,6445 00037 30D
010598,000430:
010599,000431: 25,6446 75376 VXSC* 0
010600,000432: 25,6447 00001 0,1
010601,000433: 25,6450 01776 STARAD +6,2
010602,000434:
010603,000435: 25,6451 75376 VXSC* 0
010604,000436: 25,6452 00015 6,1
010605,000437: 25,6453 02012 STARAD +12D,2
010606,000438: 25,6454 32031 STORE 24D
010607,000439:
010608,000440: 25,6455 75374 VXSC* 2
010609,000441: 25,6456 50642 VAD VAD
010610,000442: 25,6457 44725 VSLT XCHX,1
010611,000443: 25,6460 00031 12D,1
010612,000444: 25,6461 02026 STARAD +18D,2
010613,000445: 25,6462 77777 -
010614,000446: 25,6463 00031 24D
010615,000447: 25,6464 00002 1
010616,000448: 25,6465 00037 30D
010617,000449: 25,6466 36135 STORE XDC +18D,1
010618,000450:
010619,000451: 25,6467 51576 TIX,1 0
010620,000452: 25,6470 12472 AXISGEN3
010621,000453:
010622,000454: 25,6471 50576 AXISGEN3 TIX,2 0
010623,000455: 25,6472 12445 AXISGEN2
010624,000456:
010625,000457: 25,6473 40576 ITCQ 0
010626,000458:
010627,000459:
010628,000460: 25,6474 75175 CALCSXA VMOVE 1 # THIS PROGRAM COMPUTES THE SXT ANGLES SAC
010629,000461: 25,6475 45572 ITA ITC # AND PAC GIVEN THE STAR VECTOR IN SM AXES
010630,000462: 25,6476 01005 STAR
010631,000463: 25,6477 00052 S2 # HALF UNIT VECTOR
010632,000464: 25,6500 12125 SMNB
010633,000465:
010634,000466: 25,6501 47576 NOLOD 0
010635,000467: 25,6502 32007 STORE 6 # STORE (STARM0,STARM1,STARM2)
010636,000468:
010637,000469: 25,6503 45176 DMOVE 0
010638,000470: 25,6504 12620 ZERODP
010639,000471: 25,6505 32045 STORE VAC +4 # SET VAC TO (STARM0,STARM1,0)
010640,000472:
010641,000473: 25,6506 47575 NOLOD 1 # UNIT VAC TO (S0,S1,0)
010642,000474: 25,6507 73072 UNIT TSRT
010643,000475: 25,6510 00003 2
010644,000476: 25,6511 32001 STORE 0 # STORE COS/4 =S0/4 , SIN/4 = S1/4 ,0
010645,000477:
010646,000478: 25,6512 45176 DMOVE 0
010647,000479: 25,6513 00001 0
010648,000480: 25,6514 00021 COSTH
010649,000481:
010650,000482: 25,6515 45176 DMOVE 0
010651,000483: 25,6516 00003 2
010652,000484: 25,6517 00023 SINTH
010653,000485:
010654,000486: 25,6520 76776 ITC 0
010655,000487: 25,6521 12067 ARCTRIG # USES THE COS/SIN STORED ABOVE
010656,000488:
010657,000489: 25,6522 47576 NOLOD 0
010658,000490: 25,6523 33057 STORE SAC
010659,000491:
010660,000492: 25,6524 42773 DOT 3
010661,000493: 25,6525 63713 TSLT ASIN
010662,000494: 25,6526 63746 TSLT BOV
010663,000495: 25,6527 73776 BMN
010664,000496: 25,6530 00001 0 # 1/4 UNIT (STARM0,STARM1,0)
010665,000497: 25,6531 00007 6 # STARM-1/2 UNIT VECTOR
010666,000498: 25,6532 00004 3
010667,000499: 25,6533 00004 3
010668,000500: 25,6534 12542 CALCSXA1
010669,000501: 25,6535 12542 CALCSXA1
010670,000502: 25,6536 33061 STORE PAC
010671,000503:
010672,000504: 25,6537 44576 ITCI 0
010673,000505: 25,6540 00052 S2
010674,000506:
010675,000507: 25,6541 77576 CALCSXA1 EXIT 0 # PROGRAM ERROR,STAR OUT OF FIELD OF VIEW
010676,000508: 25,6542 02605 TC ALARM
010677,000509: 25,6543 00402 OCT 00402
010678,000510: 25,6544 02115 TC ENDOFJOB
010679,000511:
010680,000512:
010681,000513: 25,6545 41775 SXTANG VXV 1 # TIVELY FROM INPUTS STAR AND XDC,YDC,ZDC
010682,000514: 25,6546 73072 UNIT TSRT # THE HALF UNIT STAR VECTOR AND THE NAV
010683,000515: 25,6547 01051 ZDC # BASE HALF AXES.
010684,000516: 25,6550 01005 STAR
010685,000517: 25,6551 00002 1
010686,000518: 25,6552 32027 STORE PDA # DEFINES PROJECTION OF STAR IN XY PLANE
010687,000519:
010688,000520: 25,6553 42775 DOT 1
010689,000521: 25,6554 47025 COMP ITA # COMPUTE SIN(PI.SAC)/4
010690,000522: 25,6555 00027 PDA
010691,000523: 25,6556 01035 XDC
010692,000524: 25,6557 00052 S2
010693,000525: 25,6560 32023 STORE SINTH
010694,000526:
010695,000527: 25,6561 42776 DOT 0 # COMPUTE COS(PI.SAC)/4
010696,000528: 25,6562 00027 PDA
010697,000529: 25,6563 01043 YDC
010698,000530: 25,6564 32021 STORE COSTH
010699,000531:
010700,000532: 25,6565 76776 ITC 0 # COMPUTE SAC
010701,000533: 25,6566 12067 ARCTRIG
010702,000534:
010703,000535: 25,6567 47576 NOLOD 0
010704,000536: 25,6570 33057 STORE SAC
010705,000537:
010706,000538: 25,6571 41773 VXV 3
010707,000539: 25,6572 42716 DOT TSLT
010708,000540: 25,6573 63116 ASIN TSLT # COMPUTE PAC
010709,000541: 25,6574 71756 BOV BMN
010710,000542: 25,6575 00027 PDA
010711,000543: 25,6576 01051 ZDC
010712,000544: 25,6577 01005 STAR
010713,000545: 25,6600 00003 2
010714,000546: 25,6601 00004 3
010715,000547: 25,6602 12610 SXTALARM
010716,000548: 25,6603 12610 SXTALARM # WE NOW HAVE PRECISION ANGLE
010717,000549: 25,6604 33061 STORE PAC
010718,000550:
010719,000551: 25,6605 44576 ITCI 0 # JOB IS DONE
010720,000552: 25,6606 00052 S2
010721,000553:
010722,000554: 25,6607 77576 SXTALARM EXIT 0 # BRANCH TO RESTART SEQUENCE
010723,000555:
010724,000556: 25,6610 02605 TC ALARM
010725,000557: 25,6611 00402 OCT 00402
010726,000558: 25,6612 02115 TC ENDOFJOB
010727,000559:
010728,000560:
010729,000561: 25,6613 05520 26075 QTSN45 2DEC .1768
010730,000562: 25,6615 05260 04061 THIRD 2DEC .167
010731,000563: 25,6617 ZPRIME = 22D
010732,000564: 25,6617 PDA = 22D
010733,000565: 25,6617 COSTH = 16D
010734,000566: 25,6617 SINTH = 18D
010735,000567: 25,6617 THETA = 20D
010736,000568: 25,6617 0000040 STARM = VAC
010737,000569: 25,6617 00000 00000 ZERODP 2DEC 0 B-28
010738,000570: 25,6621 37777 POSMAXDP OCT 37777
010739,000571: 25,6622 37777 OCT 37777
010740,000572: 25,6623 20000 00000 HALFDP 2DEC .5
010741,000573: 25,6625 12525 12525 .333... 2DEC .3333333333
End of include-file INFLIGHT_ALIGNMENT_SUBROUTINES.agc. Parent file is MAIN.agc