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. |
041760,000002: # Copyright: Public domain.
041761,000003: # Filename: TVCEXECUTIVE.agc
041762,000004: # Purpose: Part of the source code for Artemis (i.e., Colossus 3),
041763,000005: # build 072. This is for the Command Module's (CM)
041764,000006: # Apollo Guidance Computer (AGC), we believe for
041765,000007: # Apollo 15-17.
041766,000008: # Assembler: yaYUL
041767,000009: # Contact: Steve Case <case1780@adelphia.net>
041768,000010: # Website: www.ibiblio.org/apollo/index.html
041769,000011: # Page scans: www.ibiblio.org/apollo/ScansForConversion/Artemis072/
041770,000012: # Mod history: 2009-09-13 SMC Adapted from Comanche055 files.
041771,000013: # 2009-09-14 JL Fix typos. Fix page numbers. Remove change comments. Restore hard tabs.
041772,000014: # 2010-02-20 RSB Un-##'d this header.
041773,000015:
![]() |
Page 950 |
041775,000017: # PROGRAM NAME.... TVCEXECUTIVE, CONSISTING OF TVCEXEC, NEEDLEUP, VARGAINS
041776,000018: # 1SHOTCHK, REPCHEK, CG.CORR, COPYCYCLES, ETC.
041777,000019: # LOG SECTION...TVCEXECUTIVE SUBROUTINE...DAPCSM
041778,000020: # MODIFIED BY SCHLUNDT 21 OCTOBER 1968
041779,000021: # MODIFIED BY BEALS TO ELIMINATE CSMMASS UPDATE LOGIC (NOW DONE IN S40.8)
041780,000022: # FUNCTIONAL DESCRIPTION....
041781,000023:
041782,000024: # *A SELF-PERPETUATING WAITLIST TASK AT 1/2 SECOND INTERVALS WHICH:
041783,000025: # PREPARES THE ROLL WITH OGA (CDUX)
041784,000026: # PREPARES THE ROLL FDAI NEEDLE (FLY-TO OGA ERROR)
041785,000027: # PREPARES THE ROLL PHASE PLANE OGAERR (FLY-FROM OGA ERROR)
041786,000028: # PREPARES THE TVC ROLLDAP TASK WAITLIST CALL (3 CS DELAY)
041787,000029: # UPDATES THE NEEDLES DISPLAY
041788,000030: # CALLS MASSPROP TO UPDATE INERTIA DATA
041789,000031: # UPDATES PITCH, YAW, AND ROLL DAP GAINS FROM MASSPROP DATA
041790,000032: # PERFORMS ONE-SHOT CORRECTION FOR TMC LOOP 0-3 SEC AFTER IGNITION
041791,000033: # PERFORMS REPETITIVE UPDATES FOR THE TMC LOOP AFTER THE ONE-SHOT CORR.
041792,000034:
041793,000035: # CALLING SEQUENCE....
041794,000036:
041795,000037: # *TVCEXEC CALLED AS A WAITLIST TASK, IN PARTICULAR BY TVCINIT4 AND BY
041796,000038: # ITSELF, BOTH AT 1/2 SECOND INTERVALS
041797,000039:
041798,000040: # NORMAL EXIT MODE.... TASKOVER
041799,000041:
041800,000042: # ALARM OR ABORT EXIT MODES.... NONE
041801,000043:
041802,000044: # SUBROUTINES CALLED....NEEDLER, S40.15, MASSPROP, TASKOVER, IBNKCALL
041803,000045:
041804,000046: # OTHER INTERFACES....
041805,000047:
041806,000048: # *TVCRESTART PACKAGE FOR RESTARTS
041807,000049: # *PITCHDAP, YAWDAP FOR VARIABLE GAINS AND ENGINE TRIM ANGLES
041808,000050: # ERASABLE INITIALIZATION REQUIRED....
041809,000051:
041810,000052: # *SEE TVCDAPON....TVCINIT4
041811,000053: # *VARK AND 1/CONACC (S40.15 OF TVCINITIALIZE)
041812,000054: # *PAD LOAD EREPFRAC
041813,000055: # *BITS 15,14 OF FLAGWRD6 (T5 BITS)
041814,000056: # *TVCEXPHS FOR RESTARTS
041815,000057: # *ENGINE-ON BIT (11.13) FOR RESTARTS
041816,000058: # *CDUX, OGAD
041817,000059:
041818,000060: # OUTPUT....
041819,000061:
041820,000062: # *ROLL DAP OGANOW, FDAI NEEDLE= (AK). AND PHASE PLANE OGAERR
041821,000063: # *VARIABLE GAINS FOR PITCH/YAW AND ROLL TVC DAPS
041822,000064: # *SINGLE-SHOT AND REPETITIVE CORRECTIONS TO ENGINE TRIM ANGLES
041823,000065: # PACTOFF AND YACTOFF
041824,000066: # DEBRIS.... MUCH, BUT SHAREABLE WITH RCS/ENTRY, ALL IN EBANK6
041825,000067:
![]() |
Page 951 |
041827,000069: 16,2000 SETLOC DAPROLL
041828,000070: 16,2000 BANK
041829,000071: 16,3037 E6,1446 EBANK= CNTR
041830,000072: 16,3037 COUNT* $$/TVCX
041831,000073:
041832,000074:
041833,000075: 16,3037 40102 TVCEXEC CS FLAGWRD6 # CHECK FOR TERMINATION (BITS 15,14 READ
041834,000076: 16,3040 74076 MASK DPCONFIG # 10 FROM TVCDAPON TO RCSDAPON)
041835,000077: 16,3041 00006 EXTEND
041836,000078: 16,3042 63217 BZMF TVCEXFIN # TERMINATE
041837,000079:
041838,000080: 16,3043 35011 CAF .5SEC # W.L. CALL TO PERPETUATE TVCEXEC
041839,000081: 16,3044 05223 TC TWIDDLE
041840,000082: 16,3045 03037 ADRES TVCEXEC
041841,000083: 16,3046 30032 ROLLPREP CAE CDUX # UPDATE ROLL LADDERS (NO NEED TO RESTART-
041842,000084: 16,3047 57645 XCH OGANOW # PROTECT, SINCE ROLL DAPS RE-START)
041843,000085: 16,3050 57646 XCH OGAPAST
041844,000086:
041845,000087: 16,3051 31447 CAE OGAD # PREPARE ROLL FDAI NEEDLE WTIH FLY-TO
041846,000088: 16,3052 00006 EXTEND # ERROR (COMMAND - MEASURED)
041847,000089: 16,3053 21645 MSU OGANOW
041848,000090: 16,3054 55476 TS AK # FLY-TO OGA ERROR, SC.AT B-1 REVS
041849,000091:
041850,000092: 16,3055 00006 EXTEND # PREPARE ROLL DAP PHASE PLANE OGAERR
041851,000093: 16,3056 74751 MP -BIT14
041852,000094: 16,3057 55647 TS OGAERR # PHASE-PLANE (FLY-FROM) OGAERROR,
041853,000095: # SC.AT B+0 REVS
041854,000096:
041855,000097: 16,3060 36214 CAF THREE # SET UP ROLL DAP TASK (ALLOW SOME TIME)
041856,000098: 16,3061 05223 TC TWIDDLE
041857,000099: 16,3062 03342 ADRES ROLLDAP
041858,000100: 16,3063 04714 NEEDLEUP TC IBNKCALL # DO A NEEDLES UPDATE (RETURNS AFTER CADR)
041859,000101: 16,3064 42425 CADR NEEDLER # (NEEDLES RESTARTS ITSELF)
041860,000102:
041861,000103: 16,3065 11634 VARGAINS CCS VCNTR # TEST FOR GAIN UPDATE TIME
041862,000104: 16,3066 13074 TCF EXECCOPY # NOT YET
041863,000105: 16,3067 04714 GAINCHNG TC IBNKCALL # UPDATE IXX, IAVG, IAVG/TLX
041864,000106: 16,3070 13347 CADR FIXCW # MASSPROP ENTRY (ALREADY INITIALIZED)
041865,000107: 16,3071 04714 TC IBNKCALL # UPDATE 1/CONACC, VARK
041866,000108: 16,3072 36452 CADR S40.15 # (S40.15 IS IN TVCINITIALIZE)
041867,000109: 16,3073 34351 CAF NINETEEN # RESET THE VARIABLE-GAIN UPDATE COUNTER
041868,000110: 16,3074 55634 EXECCOPY TS VCNTR
041869,000111: 16,3075 11446 1SHOTCHK CCS CNTR # CHECK FOR ONE-SHOT OR REPCORR
041870,000112: 16,3076 13102 TCF +4 # NOT YET
041871,000113: 16,3077 13115 TCF 1SHOTOK # NOW
041872,000114: 16,3100 13106 TCF REPCHEK # ONE-SHOT OVER, ON TO REPCORR
041873,000115: 16,3101 13115 TCF 1SHOTOK # NOW (ONE-SHOT ONLY, NO REPCORR)
041874,000116:
041875,000117: 16,3102 55661 +4 TS CNTRTMP # COUNT DOWN
041876,000118: 16,3103 34766 CAF FOUR # SET UP TVCEXPHS FOR ENTRY AT CNTRCOPY
![]() |
Page 952 |
041878,000120: 16,3104 55644 TS TVCEXPHS
041879,000121: 16,3105 13215 TCF CNTRCOPY
041880,000122:
041881,000123: 16,3106 31633 REPCHEK CAE REPFRAC # CHECK FOR REPETITIVE UPDATES
041882,000124: 16,3107 00006 EXTEND
041883,000125: 16,3110 63217 BZMF TVCEXFIN # NO, OVER-AND-OUT
041884,000126: 16,3111 55445 TS TEMPDAP +1 # YES, SET UP CORRECTION FRACTION
041885,000127: 16,3112 34767 CAF TWO # SET UP TVCEXPHS FOR ENTRY AT CORSETUP
041886,000128: 16,3113 55644 TS TVCEXPHS
041887,000129: 16,3114 13126 TCF CORSETUP
041888,000130:
041889,000131: 16,3115 34762 1SHOTOK CAF ENGONBIT
041890,000132: 16,3116 70101 MASK FLAGWRD5
041891,000133: 16,3117 10000 CCS A
041892,000134: 16,3120 13122 TCF +2 # ONE-SHOT OK
041893,000135: 16,3121 13217 TCF TVCEXFIN # NO, TERMINATE
041894,000136:
041895,000137: 16,3122 25644 INCR TVCEXPHS # (1)
041896,000138: 16,3123 34754 TEMPSET CAF FCORFRAC # SET UP CORRECTION FRACTION
041897,000139: 16,3124 55445 TS TEMPDAP +1
041898,000140:
041899,000141: 16,3125 25644 INCR TVCEXPHS # ENTRY FROM REPCHECK AT NEXT LOCATION (2)
041900,000142: 16,3126 31465 CORSETUP CAE DAPDATR1 # CHECK FOR LEM-OFF/ON
041901,000143: 16,3127 74754 MASK BIT13 # (NOTE, SHOWS LEM-OFF)
041902,000144: 16,3130 00006 EXTEND
041903,000145: 16,3131 13133 BZF +2 # LEM IS ON, PICK UP TEMPDAP+1
041904,000146: 16,3132 31445 CAE TEMPDAP +1 # LEM IS OFF, PICK UP 2(TEMPDAP+1)
041905,000147: 16,3133 61445 AD TEMPDAP +1
041906,000148: 16,3134 55444 TS TEMPDAP # CG.CORR USES TEMPDAP
041907,000149:
041908,000150: 16,3135 37702 CAF NEGONE # SET UP FOR CNTR = -1 (ONE-SHOT DONE)
041909,000151: 16,3136 55661 TS CNTRTMP # (COPYCYCLE AT 'CNTRCOPY')
041910,000152:
041911,000153: 16,3137 00006 CG.CORR EXTEND # PITCH TMC LOOP
041912,000154: 16,3140 31606 DCA PDELOFF
041913,000155: 16,3141 53656 DXCH PACTTMP
041914,000156: 16,3142 00006 EXTEND
041915,000157: 16,3143 41606 DCS PDELOFF
041916,000158: 16,3144 20001 DDOUBL
041917,000159: 16,3145 20001 DDOUBL
041918,000160: 16,3146 53612 DXCH TTMP1
041919,000161: 16,3147 00006 EXTEND
041920,000162: 16,3150 31602 DCA DELPBAR
041921,000163: 16,3151 20001 DDOUBL
041922,000164: 16,3152 20001 DDOUBL
041923,000165: 16,3153 21612 DAS TTMP1
041924,000166: 16,3154 00006 EXTEND
041925,000167: 16,3155 31612 DCA TTMP1
041926,000168: 16,3156 00006 EXTEND
041927,000169: 16,3157 71444 MP TEMPDAP
![]() |
Page 953 |
041929,000171: 16,3160 21656 DAS PACTTMP
041930,000172:
041931,000173: 16,3161 00006 EXTEND # YAW TMC LOOP
041932,000174: 16,3162 31610 DCA YDELOFF
041933,000175: 16,3163 53660 DXCH YACTTMP
041934,000176: 16,3164 00006 EXTEND
041935,000177: 16,3165 41610 DCS YDELOFF
041936,000178: 16,3166 20001 DDOUBL
041937,000179: 16,3167 20001 DDOUBL
041938,000180: 16,3170 53612 DXCH TTMP1
041939,000181: 16,3171 00006 EXTEND
041940,000182: 16,3172 31604 DCA DELYBAR
041941,000183: 16,3173 20001 DDOUBL
041942,000184: 16,3174 20001 DDOUBL
041943,000185: 16,3175 21612 DAS TTMP1
041944,000186: 16,3176 00006 EXTEND
041945,000187: 16,3177 31612 DCA TTMP1
041946,000188: 16,3200 00006 EXTEND
041947,000189: 16,3201 71444 MP TEMPDAP
041948,000190: 16,3202 21660 DAS YACTTMP
041949,000191:
041950,000192: 16,3203 25644 CORCOPY INCR TVCEXPHS # RESTART-PROTECT THE COPYCYCLE (3)
041951,000193: 16,3204 00006 EXTEND # TRIM-ESTIMATES, AND
041952,000194: 16,3205 31656 DCA PACTTMP
041953,000195: 16,3206 55423 TS PACTOFF # TRIMS
041954,000196: 16,3207 53606 DXCH PDELOFF
041955,000197:
041956,000198: 16,3210 00006 EXTEND
041957,000199: 16,3211 31660 DCA YACTTMP
041958,000200: 16,3212 55424 TS YACTOFF
041959,000201: 16,3213 53610 DXCH YDELOFF
041960,000202:
041961,000203: 16,3214 25644 INCR TVCEXPHS # ENTRY FROM 1SHOTCHK AT NEXT LOCATION (4)
041962,000204: 16,3215 31661 CNTRCOPY CAE CNTRTMP # UPDATE CNTR (RESTARTS OK, FOLLOWS CPYCY)
041963,000205: 16,3216 55446 TS CNTR
041964,000206:
041965,000207: 16,3217 34772 TVCEXFIN CAF ZERO # RESET TVCEXPHS
041966,000208: 16,3220 55644 TS TVCEXPHS
041967,000209: 16,3221 15314 TCF TASKOVER # TVCEXECUTIVE FINISHED
041968,000210:
041969,000211:
041970,000212: 16,3222 4754 FCORFRAC = BIT13 # ONE-SHOT CORRECTION FRACTION
End of include-file TVCEXECUTIVE.agc. Parent file is MAIN.agc