Source Code
018055,000001: # Copyright: Public domain.
018056,000002: # Filename: KALCMANU_STEERING.agc
018057,000003: # Purpose: Part of the source code for Comanche, build 055.
018058,000004: # It is part of the source code for the Command Module's (CM)
018059,000005: # Apollo Guidance Computer (AGC), Apollo 11.
018060,000006: # Assembler: yaYUL
018061,000007: # Reference: pp. 414-419
018062,000008: # Contact: Onno Hommes <ohommes@cmu.edu>.
018063,000009: # Website: www.ibiblio.org/apollo.
018064,000010: # Mod history: 05/07/09 OH Transcription Batch 1 Assignment
018065,000011:
018066,000012: # The contents of the "Comanche055" files, in general, are transcribed
018067,000013: # from scanned documents.
018068,000014:
018069,000015: # Assemble revision 055 of AGC program Comanche by NASA
018070,000016: # 2021113-051. April 1, 1969.
018071,000017:
018072,000018: # This AGC program shall also be referred to as Colossus 2A
018073,000019:
018074,000020: # Prepared by
018075,000021: # Massachussets Institute of Technology
018076,000022: # 75 Cambridge Parkway
018077,000023: # Cambridge, Massachusetts
018078,000024:
018079,000025: # under NASA contract NAS 9-4065.
018080,000026:
018081,000027: # Refer directly to the online document mentioned above for further information.
018082,000028: # Please report any errors to info@sandroid.org.
018083,000029:
018084,000030: # Page 414
018085,000031: # GENERATION OF STEERING COMMANDS FOR DIGITAL AUTOPILOT FREE FALL MANEUVERS
018086,000032:
018087,000033: # NEW COMMANDS WILL BE GENERATED EVERY ONE SECOND DURING THE MANEUVER
018088,000034:
018089,000035: 15,2000 BANK 15
018090,000036:
018091,000037: 22,2000 SETLOC KALCMON1
018092,000038: 22,2000 BANK
018093,000039:
018094,000040: 22,3026 E6,1661 EBANK= BCDU
018095,000041:
018096,000042: 22,3026 COUNT 22/KALC
018097,000043:
018098,000044: 22,3026 41332 NEWDELHI CS HOLDFLAG # SEE IF MANEUVER HAS BEEN INTERRUPTED
018099,000045: 22,3027 00006 EXTEND # BY ASTRONAUT.
018100,000046: 22,3030 62726 BZMF NOGO -2 # IF SO, TERMINATE KALCMANU
018101,000047: 22,3031 06006 NEWANGL TC INTPRET
018102,000048: 22,3032 75160 AXC,1 AXC,2
018103,000049: 22,3033 03320 MIS # COMPUTE THE NEW MATRIX FROM S/C TO
018104,000050: 22,3034 03425 DEL # STABLE MEMBER AXES
018105,000051: 22,3035 77624 CALL
018106,000052: 22,3036 44304 MXM3
018107,000053: 22,3037 45575 VLOAD STADR
018108,000054: 22,3040 50442 STOVL MIS +12D # CALCULATE NEW DESIRED CDU ANGLES
018109,000055: 22,3041 77626 STADR
018110,000056: 22,3042 50450 STOVL MIS +6D
018111,000057: 22,3043 77626 STADR
018112,000058: 22,3044 74456 STORE MIS
018113,000059: 22,3045 45160 AXC,1 CALL
018114,000060: 22,3046 03320 MIS
018115,000061: 22,3047 44655 DCMTOCDU # PICK UP THE NEW CDU ANGLES FROM MATRIX
018116,000062: 22,3050 77634 RTB
018117,000063: 22,3051 45552 V1STO2S
018118,000064: 22,3052 03267 STORE NCDU # NEW CDU ANGLES
018119,000065: 22,3053 77414 BONCLR EXIT
018120,000066: 22,3054 01215 CALCMAN2
018121,000067: 22,3055 40065 MANUSTAT # TO START MANEUVER
018122,000068: 22,3056 35016 CAF TWO # +0 OTHERWISE
018123,000069: 22,3057 55664 INCRDCDU TS KSPNDX
018124,000070: 22,3060 60000 DOUBLE
018125,000071: 22,3061 55665 TS KDPNDX
018126,000072: 22,3062 51664 INDEX KSPNDX
018127,000073: 22,3063 31666 CA NCDU # NEW DESIRED CDU ANGLES
018128,000074: 22,3064 00006 EXTEND
018129,000075: 22,3065 51664 INDEX KSPNDX
018130,000076: 22,3066 21661 MSU BCDU # INITIAL S/C ANGLE OR PREVIOUS DESIRED
018131,000077: 22,3067 00006 EXTEND # CDU ANGLES
018132,000078: 22,3070 73002 MP QUADROT
018133,000079: 22,3071 51665 INDEX KDPNDX
018134,000080: 22,3072 53576 DXCH DELCDUX # ANGEL INCREMENTS TO BE ADDED TO
018135,000081: # Page 415
018136,000082: 22,3073 51664 INDEX KSPNDX # DCDU EVERY TENTH SEC
018137,000083: 22,3074 31666 CA NCDU # BY LEM DAP
018138,000084: 22,3075 51664 INDEX KSPNDX
018139,000085: 22,3076 57661 XCH BCDU
018140,000086: 22,3077 51665 INDEX KDPNDX
018141,000087: 22,3100 55646 TS CDUXD
018142,000088: 22,3101 11664 CCS KSPNDX
018143,000089: 22,3102 13057 TCF INCRDCDU # LOOP FOR THREE AXES
018144,000090:
018145,000091: 22,3103 00003 RELINT
018146,000092: # COMPARE PRESENT TIME WTIH TIME TO TERMINATE MANEUVER
018147,000093:
018148,000094: 22,3104 03115 TMANUCHK TC TIMECHK
018149,000095: 22,3105 04701 TC POSTJUMP
018150,000096: 22,3106 40131 CADR CONTMANU
018151,000097:
018152,000098: 22,3107 35017 CAF ONE
018153,000099: 22,3110 05245 MANUSTAL TC WAITLIST
018154,000100: 22,3111 E6,1661 EBANK= BCDU
018155,000101: 22,3111 02000 42066 2CADR MANUSTOP
018156,000102:
018157,000103: 22,3113 00003 RELINT
018158,000104: 22,3114 15217 TCF ENDOFJOB
018159,000105:
018160,000106:
018161,000107: 22,3115 00006 TIMECHK EXTEND
018162,000108: 22,3116 40025 DCS TIME2
018163,000109: 22,3117 53673 DXCH TTEMP
018164,000110: 22,3120 00006 EXTEND
018165,000111: 22,3121 31717 DCA TM
018166,000112: 22,3122 21673 DAS TTEMP
018167,000113: 22,3123 11672 CCS TTEMP
018168,000114: 22,3124 00002 TC Q
018169,000115: 22,3125 13127 TCF +2
018170,000116: 22,3126 13137 TCF 2NDRETRN
018171,000117: 22,3127 11673 CCS TTEMP +1
018172,000118: 22,3130 00002 TC Q
018173,000119: 22,3131 13133 TCF MANUOFF
018174,000120: 22,3132 40000 COM
018175,000121: 22,3133 65041 MANUOFF AD 1SEC
018176,000122: 22,3134 00006 EXTEND
018177,000123: 22,3135 63137 BZMF 2NDRETRN
018178,000124: 22,3136 24002 INCR Q
018179,000125: 22,3137 24002 2NDRETRN INCR Q
018180,000126: 22,3140 24002 INCR Q
018181,000127: 22,3141 00002 TC Q
018182,000128:
018183,000129: 20,2000 SETLOC MANUSTUF
018184,000130: 20,2000 BANK
018185,000131: # Page 416
018186,000132: 20,2065 77776 MANUSTAT EXIT # INITIALIZATION ROUTINE
018187,000133: 20,2066 00006 EXTEND # FOR AUTOMATIC MANEUVERS
018188,000134: 20,2067 30025 DCA TIME2
018189,000135: 20,2070 21717 DAS TM # TM+T0 MANEUVER COMPLETION TIME
018190,000136: 20,2071 45041 CS 1SEC
018191,000137: 20,2072 54001 TS L
018192,000138: 20,2073 45021 CS ZERO
018193,000139: 20,2074 21717 DAS TM # (TM+T0)-1
018194,000140: 20,2075 00004 INHINT
018195,000141: 20,2076 45017 CS ONE # ENABLE AUTOPILOT TO PERFORM
018196,000142: 20,2077 55332 TS HOLDFLAG # AUTOMATIC MANEUVERS
018197,000143: 20,2100 41130 CS RATEINDX # SEE IF MANEUVERING AT HIGH RATE
018198,000144: 20,2101 66211 AD SIX
018199,000145: 20,2102 00006 EXTEND
018200,000146: 20,2103 62105 BZMF HIGHGAIN
018201,000147: 20,2104 12110 TCF +4
018202,000148: 20,2105 41501 HIGHGAIN CS RCSFLAGS # IF SO, SET HIGH RATE FLAG (BIT 15 OF
018203,000149: 20,2106 75001 MASK BIT15 # RCSFLAGS)
018204,000150: 20,2107 27501 ADS RCSFLAGS
018205,000151: 20,2110 53711 DXCH BRATE # X-AXIS MANEUVER RATE
018206,000152: 20,2111 53526 DXCH WBODY
018207,000153: 20,2112 53713 DXCH BRATE +2 # Y-AXIS MANEUVER RATE
018208,000154: 20,2113 53530 DXCH WBODY1
018209,000155: 20,2114 53715 DXCH BRATE +4 # Z-AXIS MANEUVER RATE
018210,000156: 20,2115 53532 DXCH WBODY2
018211,000157: 20,2116 31675 CA BIASTEMP +1 # INSERT ATTITUDE ERROR BIASES
018212,000158: 20,2117 55564 TS BIAS # INTO AUTOPILOT
018213,000159: 20,2120 31677 CA BIASTEMP +3
018214,000160: 20,2121 55565 TS BIAS1
018215,000161: 20,2122 31701 CA BIASTEMP +5
018216,000162: 20,2123 55566 TS BIAS2
018217,000163: 20,2124 30025 CA TIME1
018218,000164: 20,2125 65041 AD 1SEC
018219,000165: 20,2126 57671 XCH NEXTIME
018220,000166: 20,2127 04701 TC POSTJUMP
018221,000167: 20,2130 45056 CADR INCRDCDU -1
018222,000168:
018223,000169: 20,2131 00004 CONTMANU INHINT # CONTINUE WITH UPDATE PROCESS
018224,000170: 20,2132 40025 CS TIME1
018225,000171: 20,2133 61671 AD NEXTIME
018226,000172: 20,2134 10000 CCS A
018227,000173: 20,2135 65017 AD ONE
018228,000174: 20,2136 12141 TCF MANUCALL
018229,000175: 20,2137 65001 AD NEGMAX
018230,000176: 20,2140 40000 COM
018231,000177: 20,2141 05245 MANUCALL TC WAITLIST
018232,000178: 20,2142 E6,1661 EBANK= BCDU
018233,000179: 20,2142 02150 40066 2CADR UPDTCALL
018234,000180:
018235,000181: 20,2144 00003 RELINT
018236,000182: # Page 417
018237,000183: 20,2145 35041 CAF 1SEC # INCREMENT TIME FOR NEXT UPDATE
018238,000184: 20,2146 27671 ADS NEXTIME
018239,000185: 20,2147 15217 TCF ENDOFJOB
018240,000186:
018241,000187:
018242,000188: 20,2150 37663 UPDTCALL CAF PRIO26 # CALL FOR UPDATE
018243,000189: 20,2151 05147 TC FINDVAC # OF STEERING COMMANDS
018244,000190: 20,2152 E6,1661 EBANK= BCDU
018245,000191: 20,2152 03026 44066 2CADR NEWDELHI
018246,000192:
018247,000193: 20,2154 05324 TC TASKOVER
018248,000194:
018249,000195: # Page 418
018250,000196: # ROUTINE FOR TERMINATING AUTOMATIC MANEUVERS
018251,000197:
018252,000198: 21,2000 SETLOC KALCMON3
018253,000199: 21,2000 BANK
018254,000200:
018255,000201: 21,2000 04537 MANUSTOP TC STOPYZ
018256,000202: 21,2001 04740 TC IBNKCALL
018257,000203: 21,2002 45144 CADR LOADYZ
018258,000204:
018259,000205: 21,2003 31155 ENDROLL CA CPHI
018260,000206: 21,2004 55646 TS CDUXD # SET CDUXD TO THE COMMANDED OUTER GIMBAL
018261,000207: 21,2005 04526 TC STOPRATE
018262,000208: 21,2006 31327 ENDMANU CA ATTPRIO # RESTORE USERS PRIO
018263,000209: 21,2007 54063 TS NEWPRIO
018264,000210:
018265,000211: 21,2010 35021 CA ZERO # ZERO ATTCADR
018266,000212: 21,2011 53326 DXCH ATTCADR
018267,000213:
018268,000214: 21,2012 05160 TC SPVAC # RETURN TO USER OF GOMANUR
018269,000215:
018270,000216: 21,2013 05324 TC TASKOVER
018271,000217:
018272,000218: 4000 SETLOC STOPRAT
018273,000219: 4000 BANK
018274,000220: 4526 35021 STOPRATE CAF ZERO
018275,000221: 4527 55575 TS DELCDUX
018276,000222: 4530 55576 TS DELCDUX +1 # ZERO ROLL INCREMENTAL ANGLES
018277,000223: 4531 55525 TS WBODY # RATE
018278,000224: 4532 55526 TS WBODY +1
018279,000225: 4533 55564 TS BIAS # BIAS
018280,000226:
018281,000227: 4534 45001 CS BIT15 # MAKE SURE HIGH RATE FLAG (BIT 15 OF
018282,000228: 4535 71501 MASK RCSFLAGS # RCSFLAGS) IS RESET.
018283,000229: 4536 55501 TS RCSFLAGS
018284,000230:
018285,000231: 4537 35021 STOPYZ CAF ZERO
018286,000232: 4540 55577 TS DELCDUY # ZERO PITCH, YAW
018287,000233: 4541 55600 TS DELCDUY +1 # INCREMENTAL ANGLES
018288,000234: 4542 55601 TS DELCDUZ
018289,000235: 4543 55602 TS DELCDUZ +1
018290,000236: 4544 55527 TS WBODY1 # RATES
018291,000237: 4545 55530 TS WBODY1 +1
018292,000238: 4546 55531 TS WBODY2
018293,000239: 4547 55532 TS WBODY2 +1
018294,000240: 4550 55565 TS BIAS1 # BIASES
018295,000241: 4551 55566 TS BIAS2
018296,000242: 4552 00002 TC Q
018297,000243:
018298,000244: 20,2000 SETLOC MANUSTUF
018299,000245: 20,2000 BANK
018300,000246:
018301,000247: # Page 419
018302,000248: 20,2155 30032 ZEROERROR CA CDUX # PICK UP CDU ANGLES AND STORE IN
018303,000249: 20,2156 55646 TS CDUXD # CDU DESIRED
018304,000250: 20,2157 30033 CA CDUY
018305,000251: 20,2160 55650 TS CDUYD
018306,000252: 20,2161 30034 CA CDUZ
018307,000253: 20,2162 55652 TS CDUZD
018308,000254: 20,2163 00002 TC Q
018309,000255:
018310,000256: 22,2000 SETLOC KALCMON1
018311,000257: 22,2000 BANK
018312,000258:
018313,000259: 22,3142 31155 LOADCDUD CA CPHI # STORE TERMINAL ANGLES INTO
018314,000260: 22,3143 55646 TS CDUXD # COMMAND ANGLES
018315,000261: 22,3144 31156 LOADYZ CA CTHETA
018316,000262: 22,3145 55650 TS CDUYD
018317,000263: 22,3146 31157 CA CPSI
018318,000264: 22,3147 55652 TS CDUZD
018319,000265: 22,3150 00002 TC Q
End of include-file KALCMANU_STEERING.agc. Parent file is MAIN.agc