Source Code
![]() |
These source-code files were obtained by digitally photographing
an Artemis 72 program listing from a private collection and then
modifying pre-existing Comanche 55 (Apollo 11) source files to
incorporate changes. Note that the page images
presented online are of reduced quality, and that additional images
may be available. Report any conversion errors or legibility
problems in page images to info@sandroid.org.
Notations on the program listing read, in part:GAP: ASSEMBLE REVISION 072 OF AGC PROGRAM ARTEMIS BY NASA 2021114-011 11:40 FEB. 26, 1971 THIS AGC PROGRAM SHALL ALSO BE REFERRED TO AS COLOSSUS 3 THIS PROGRAM IS INTENDED FOR USE IN THE CM AS SPECIFIED IN REPORT R-577. THIS PROGRAM WAS PREPARED UNDER OSR PROJECT 55-23890, SPONSORED BY THE MANNED SPACECRAFT CENTER OF THE NATIONAL AERONAUTICS AND SPACE ADMINISTRATION THROUGH CONTRACT NAS 9-4065 WITH THE CHARLES STARK DRAPER LABORATORY, MASSACHUSETTS INSTITUTE OF TECHNOLOGY, CAMBRIDGE, MASS. |
018472,000002: # Copyright: Public domain.
018473,000003: # Filename: KALCMANU_STEERING.agc
018474,000004: # Purpose: Part of the source code for Artemis (i.e., Colossus 3),
018475,000005: # build 072. This is for the Command Module's (CM)
018476,000006: # Apollo Guidance Computer (AGC), we believe for
018477,000007: # Apollo 15-17.
018478,000008: # Assembler: yaYUL
018479,000009: # Contact: Sergio Navarro <sergionavarrog@gmail.com>
018480,000010: # Website: www.ibiblio.org/apollo/index.html
018481,000011: # Page scans: www.ibiblio.org/apollo/ScansForConversion/Artemis072/
018482,000012: # Mod history: 2009-08-19 SN Adapted from corresponding Comanche 055 file.
018483,000013: # 2009-09-04 JL Fix typos.
018484,000014: # 2010-01-31 JL Fixed build errors.
018485,000015: # 2010-02-20 RSB Un-##'d this header.
018486,000016:
018487,000017: # # Page 418
018488,000018:
018489,000019: # GENERATION OF STEERING COMMANDS FOR DIGITAL AUTOPILOT FREE FALL MANEUVERS
018490,000020:
018491,000021: # NEW COMMANDS WILL BE GENERATED EVERY ONE SECOND DURING THE MANEUVER
018492,000022:
018493,000023: 22,2000 SETLOC KALCMON1
018494,000024: 22,2000 BANK
018495,000025:
018496,000026: 22,3037 E6,1661 EBANK= BCDU
018497,000027:
018498,000028: 22,3037 COUNT* $$/KALC
018499,000029: 22,3037 34767 NEWDELHI CAF R67BIT
018500,000030: 22,3040 70104 MASK FLAGWRD8
018501,000031: 22,3041 00006 EXTEND
018502,000032: 22,3042 13047 BZF NEWANGL -3 # NON-R67 SEQUENCE
018503,000033:
018504,000034: 22,3043 34764 CAF TRACKBIT
018505,000035: 22,3044 70075 MASK FLAGWRD1
018506,000036: 22,3045 00006 EXTEND # CHECK TRACKFLAG
018507,000037: 22,3046 13161 BZF MYSTEND # IF OFF DO MYSTEND
018508,000038:
018509,000039: 22,3047 41340 -3 CS HOLDFLAG
018510,000040: 22,3050 00006 EXTEND # CHECK HOLDFLAG
018511,000041: 22,3051 62720 BZMF NOGOM2 # IF POS, DO STOPRATE
018512,000042:
018513,000043: 22,3052 06006 NEWANGL TC INTPRET
018514,000044: 22,3053 75160 +1 AXC,1 AXC,2
018515,000045: 22,3054 03320 MIS # COMPUTE THE NEW MATRIX FROM S/C TO
018516,000046: 22,3055 03425 DEL # STABLE MEMBER AXES
018517,000047: 22,3056 77624 CALL
018518,000048: 22,3057 44304 MXM3
018519,000049: 22,3060 45575 VLOAD STADR
018520,000050: 22,3061 50442 STOVL MIS +12D # CALCULATE NEW DESIRED CDU ANGLES
018521,000051: 22,3062 77626 STADR
018522,000052: 22,3063 50450 STOVL MIS +6D
018523,000053: 22,3064 77626 STADR
018524,000054: 22,3065 74456 STORE MIS
018525,000055: 22,3066 45160 AXC,1 CALL
018526,000056: 22,3067 03320 MIS
018527,000057: 22,3070 44647 DCMTOCDU # PICK UP THE NEW CDU ANGLES FROM MATRIX
018528,000058: 22,3071 77634 RTB
018529,000059: 22,3072 45644 V1STO2S
018530,000060: 22,3073 03267 NWNGL17D STORE NCDU # NEW CDU ANGLES (TAG IS USED BY EDIT)
018531,000061: 22,3074 77414 BONCLR EXIT
018532,000062: 22,3075 01215 CALCMAN2
018533,000063: 22,3076 40064 MANUSTAT # TO START MANEUVER
018534,000064: 22,3077 34767 -1 CAF TWO # +0 OTHERWISE
018535,000065: 22,3100 55664 INCRDCDU TS KSPNDX
018536,000066: 22,3101 60000 DOUBLE
018537,000067: 22,3102 55665 TS KDPNDX
018538,000068: 22,3103 51664 INDEX KSPNDX
018539,000069: # # Page 419
018540,000070: 22,3104 31666 CA NCDU # NEW DESIRED CDU ANGLES
018541,000071: 22,3105 00006 EXTEND
018542,000072: 22,3106 51664 INDEX KSPNDX
018543,000073: 22,3107 21661 MSU BCDU # INITIAL S/C ANGLE OR PREVIOUS DESIRED
018544,000074: 22,3110 00006 EXTEND # CDU ANGLES
018545,000075: 22,3111 73013 MP QUADROT
018546,000076: 22,3112 51665 INDEX KDPNDX
018547,000077: 22,3113 53576 DXCH DELCDUX # ANGEL INCREMENTS TO BE ADDED TO
018548,000078: 22,3114 51664 INDEX KSPNDX # DCDU EVERY TENTH SEC
018549,000079: 22,3115 31666 CA NCDU # BY LEM DAP
018550,000080: 22,3116 51664 INDEX KSPNDX
018551,000081: 22,3117 57661 XCH BCDU
018552,000082: 22,3120 51665 INDEX KDPNDX
018553,000083: 22,3121 55646 TS CDUXD
018554,000084: 22,3122 11664 CCS KSPNDX
018555,000085: 22,3123 13100 TCF INCRDCDU # LOOP FOR THREE AXES
018556,000086:
018557,000087: 22,3124 00003 RELINT
018558,000088:
018559,000089: # COMPARE PRESENT TIME WITH TIME TO TERMINATE MANEUVER
018560,000090:
018561,000091: 22,3125 03135 TMANUCHK TC TIMECHK
018562,000092: 22,3126 04655 TC POSTJUMP
018563,000093: 22,3127 40143 CADR CONTMANU
018564,000094:
018565,000095: 22,3130 34770 CAF ONE
018566,000096: 22,3131 05233 MANUSTAL TC WAITLIST
018567,000097: 22,3132 E6,1661 EBANK= BCDU
018568,000098: 22,3132 02303 20066 2CADR MANUSTOP
018569,000099:
018570,000100: 22,3134 15205 TCF ENDOFJOB
018571,000101:
018572,000102:
018573,000103: 22,3135 00006 TIMECHK EXTEND
018574,000104: 22,3136 40025 DCS TIME2
018575,000105: 22,3137 53673 DXCH TTEMP
018576,000106: 22,3140 00006 EXTEND
018577,000107: 22,3141 31717 DCA TM
018578,000108: 22,3142 21673 DAS TTEMP
018579,000109: 22,3143 11672 CCS TTEMP
018580,000110: 22,3144 00002 TC Q
018581,000111: 22,3145 13147 TCF +2
018582,000112: 22,3146 13157 TCF 2NDRETRN
018583,000113: 22,3147 11673 CCS TTEMP +1
018584,000114: 22,3150 00002 TC Q
018585,000115: 22,3151 13153 TCF MANUOFF
018586,000116: 22,3152 40000 COM
018587,000117: 22,3153 65016 MANUOFF AD 1SEC
018588,000118: 22,3154 00006 EXTEND
018589,000119: 22,3155 63157 BZMF 2NDRETRN
018590,000120: 22,3156 24002 INCR Q
018591,000121: # # Page 420
018592,000122: 22,3157 24002 2NDRETRN INCR Q
018593,000123: 22,3160 16706 TCF Q+1
018594,000124: 22,3161 04655 MYSTEND TC POSTJUMP
018595,000125: 22,3162 74416 CADR FIXDB
018596,000126:
018597,000127: 20,2000 SETLOC MANUSTUF
018598,000128: 20,2000 BANK
018599,000129:
018600,000130: 20,2064 COUNT* $$/KALC
018601,000131: 20,2064 77776 MANUSTAT EXIT # INITIALIZATION ROUTINE FOR AUTO
018602,000132: 20,2065 34767 CAF R67BIT # MANEUVERS
018603,000133: 20,2066 70104 MASK FLAGWRD8
018604,000134: 20,2067 00006 EXTEND
018605,000135: 20,2070 12075 BZF +5
018606,000136: 20,2071 00006 EXTEND # R67 RUNNING
018607,000137: 20,2072 34750 DCA DPOSMAX
018608,000138: 20,2073 53717 DXCH TM
018609,000139: 20,2074 12104 TCF TMDON
018610,000140: 20,2075 00006 EXTEND # NON-R67 PROGRAM
018611,000141: 20,2076 30025 DCA TIME2
018612,000142: 20,2077 21717 DAS TM # TM+T0 MANEUVER COMPLETION TIME
018613,000143: 20,2100 45016 CS 1SEC
018614,000144: 20,2101 54001 TS L
018615,000145: 20,2102 44772 CS ZERO
018616,000146: 20,2103 21717 DAS TM # (TM+T0)-1
018617,000147: 20,2104 00004 TMDON INHINT
018618,000148: 20,2105 44770 CS ONE # ENABLE AUTOPILOT TO PERFORM
018619,000149: 20,2106 55340 TS HOLDFLAG # AUTOMATIC MANEUVERS
018620,000150: 20,2107 40774 CS RATEINDX # SEE IF MANEUVERING AT HIGH RATE
018621,000151: 20,2110 66211 AD SIX
018622,000152: 20,2111 00006 EXTEND
018623,000153: 20,2112 62114 BZMF HIGHGAIN
018624,000154: 20,2113 12117 TCF +4
018625,000155: 20,2114 41501 HIGHGAIN CS RCSFLAGS # IF SO, SET HIGH RATE FLAG (BIT 15 OF
018626,000156: 20,2115 74752 MASK BIT15 # RCSFLAGS)
018627,000157: 20,2116 27501 ADS RCSFLAGS
018628,000158: 20,2117 00006 EXTEND
018629,000159: 20,2120 31711 DCA BRATE # X-AXIS MANEUVER RATE
018630,000160: 20,2121 53526 DXCH WBODY
018631,000161: 20,2122 00006 EXTEND
018632,000162: 20,2123 31713 DCA BRATE +2 # Y-AXIS MANEUVER RATE
018633,000163: 20,2124 53530 DXCH WBODY1
018634,000164: 20,2125 00006 EXTEND
018635,000165: 20,2126 31715 DCA BRATE +4 # Z-AXIS MANEUVER RATE
018636,000166: 20,2127 53532 DXCH WBODY2
018637,000167: 20,2130 31675 CA BIASTEMP +1 # INSERT ATTITUDE ERROR BIASES
018638,000168: 20,2131 55564 TS BIAS # INTO AUTOPILOT
018639,000169: 20,2132 31677 CA BIASTEMP +3
018640,000170: 20,2133 55565 TS BIAS1
018641,000171: 20,2134 31701 CA BIASTEMP +5
018642,000172: # # Page 421
018643,000173: 20,2135 55566 TS BIAS2
018644,000174: 20,2136 30025 CA TIME1
018645,000175: 20,2137 65016 AD 1SEC
018646,000176: 20,2140 57671 XCH NEXTIME
018647,000177: 20,2141 04655 TC POSTJUMP
018648,000178: 20,2142 45077 CADR INCRDCDU -1
018649,000179:
018650,000180: 20,2143 00004 CONTMANU INHINT # CONTINUE WITH UPDATE PROCESS
018651,000181: 20,2144 40025 CS TIME1
018652,000182: 20,2145 61671 AD NEXTIME
018653,000183: 20,2146 10000 CCS A
018654,000184: 20,2147 64770 AD ONE
018655,000185: 20,2150 12153 TCF MANUCALL
018656,000186: 20,2151 64752 AD NEGMAX
018657,000187: 20,2152 40000 COM
018658,000188: 20,2153 05223 MANUCALL TC TWIDDLE
018659,000189: 20,2154 02161 ADRES UPDTCALL
018660,000190: 20,2155 00003 RELINT
018661,000191: 20,2156 35016 CAF 1SEC # INCREMENT TIME FOR NEXT UPDATE
018662,000192: 20,2157 27671 ADS NEXTIME
018663,000193: 20,2160 15205 TCF ENDOFJOB
018664,000194:
018665,000195: 20,2161 34767 UPDTCALL CAF R67BIT
018666,000196: 20,2162 70104 MASK FLAGWRD8
018667,000197: 20,2163 00006 EXTEND
018668,000198: 20,2164 12171 BZF +5
018669,000199:
018670,000200: 20,2165 11774 CCS R61CNTR
018671,000201: 20,2166 12170 TCF +2
018672,000202: 20,2167 12176 TCF DOREMIS
018673,000203: 20,2170 55774 TS R61CNTR
018674,000204:
018675,000205: 20,2171 37650 CAF PRIO26
018676,000206: 20,2172 05135 TC FINDVAC # OF STEERING COMMANDS
018677,000207: 20,2173 E6,1661 EBANK= BCDU
018678,000208: 20,2173 03037 44066 2CADR NEWDELHI
018679,000209:
018680,000210: 20,2175 05314 TC TASKOVER
018681,000211:
018682,000212: 20,2176 37650 DOREMIS CAF PRIO26
018683,000213: 20,2177 05135 TC FINDVAC
018684,000214: 20,2200 E6,1661 EBANK= BCDU
018685,000215: 20,2200 02374 74066 2CADR R67RSTRT # MAKE SURE MIS DOES DEGRADE
018686,000216:
018687,000217: 20,2202 05314 TC TASKOVER
018688,000218:
018689,000219: # # Page 422
018690,000220: # ROUTINE FOR TERMINATING AUTOMATIC MANEUVERS
018691,000221:
018692,000222: 10,2000 SETLOC KALCMON3
018693,000223: 10,2000 BANK
018694,000224:
018695,000225: 10,2303 COUNT* $$/KALC
018696,000226: 10,2303 04474 MANUSTOP TC STOPYZ
018697,000227: 10,2304 04714 TC IBNKCALL
018698,000228: 10,2305 45165 CADR LOADYZ
018699,000229:
018700,000230: 10,2306 31307 ENDROLL CA CPHI
018701,000231: 10,2307 55646 TS CDUXD # SET CDUXD TO THE COMMANDED OUTER GIMBAL
018702,000232: 10,2310 04463 TC STOPRATE
018703,000233: 10,2311 35053 ENDMANU CAF PRIO14
018704,000234: 10,2312 05135 TC FINDVAC
018705,000235: 10,2313 E6,1774 EBANK= R61CNTR
018706,000236: 10,2313 02141 56066 2CADR ENDMANUV
018707,000237:
018708,000238: 10,2315 05314 TC TASKOVER
018709,000239:
018710,000240: 4000 SETLOC STOPRAT
018711,000241: 4000 BANK
018712,000242: 4463 COUNT* $$/KALC
018713,000243: 4463 34772 STOPRATE CAF ZERO
018714,000244: 4464 55575 TS DELCDUX
018715,000245: 4465 55576 TS DELCDUX +1 # ZERO ROLL INCREMENTAL ANGLES
018716,000246: 4466 55525 TS WBODY # RATE
018717,000247: 4467 55526 TS WBODY +1
018718,000248: 4470 55564 TS BIAS # BIAS
018719,000249:
018720,000250: 4471 44752 CS BIT15 # MAKE SURE HIGH RATE FLAG (BIT 15 OF
018721,000251: 4472 71501 MASK RCSFLAGS # RCSFLAGS) IS RESET.
018722,000252: 4473 55501 TS RCSFLAGS
018723,000253:
018724,000254: 4474 34772 STOPYZ CAF ZERO
018725,000255: 4475 55577 TS DELCDUY # ZERO PITCH, YAW
018726,000256: 4476 55600 TS DELCDUY +1 # INCREMENTAL ANGLES
018727,000257: 4477 55601 TS DELCDUZ
018728,000258: 4500 55602 TS DELCDUZ +1
018729,000259: 4501 55527 TS WBODY1 # RATES
018730,000260: 4502 55530 TS WBODY1 +1
018731,000261: 4503 55531 TS WBODY2
018732,000262: 4504 55532 TS WBODY2 +1
018733,000263: 4505 55565 TS BIAS1 # BIASES
018734,000264: 4506 55566 TS BIAS2
018735,000265: 4507 00002 TC Q
018736,000266:
018737,000267: 20,2000 SETLOC MANUSTUF
018738,000268: 20,2000 BANK
018739,000269:
018740,000270: # # Page 423
018741,000271: 20,2203 COUNT* $$/KALC
018742,000272: 20,2203 30032 ZEROEROR CA CDUX # PICK UP CDU ANGLES AND STORE IN
018743,000273: 20,2204 55646 TS CDUXD # CDU DESIRED
018744,000274: 20,2205 30033 CA CDUY
018745,000275: 20,2206 55650 TS CDUYD
018746,000276: 20,2207 30034 CA CDUZ
018747,000277: 20,2210 55652 TS CDUZD
018748,000278: 20,2211 00002 TC Q
018749,000279:
018750,000280: 22,2000 SETLOC KALCMON1
018751,000281: 22,2000 BANK
018752,000282:
018753,000283: 22,3163 COUNT* $$/KALC
018754,000284: 22,3163 31307 LOADCDUD CA CPHI # STORE TERMINAL ANGLES INTO
018755,000285: 22,3164 55646 TS CDUXD # COMMAND ANGLES
018756,000286: 22,3165 31310 LOADYZ CA CTHETA
018757,000287: 22,3166 55650 TS CDUYD
018758,000288: 22,3167 31311 CA CPSI
018759,000289: 22,3170 55652 TS CDUZD
018760,000290: 22,3171 00002 TC Q
End of include-file KALCMANU_STEERING.agc. Parent file is MAIN.agc