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